软件工程职工信息管理系统文档.docx
- 文档编号:25013566
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:40
- 大小:393.72KB
软件工程职工信息管理系统文档.docx
《软件工程职工信息管理系统文档.docx》由会员分享,可在线阅读,更多相关《软件工程职工信息管理系统文档.docx(40页珍藏版)》请在冰豆网上搜索。
软件工程职工信息管理系统文档
1可行性研究报告
本项目开发计划旨在明确规范开发过程,保证项目质量,统一小组成员对项目的理解,并对其开发工作提供指导;同时还作为项目通过评审的依据。
并说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。
1.1可行性研究分析
要求
A、功能:
1)用户:
查询
登录系统前台,系统根据输入的用户名自动查询数据库,并显示在我的资料页面中。
注册
用户进入系统可注册新用户,系统将自动将输入的数据存入数据库中。
退出系统
用户操作完成后可点击“退出”按钮退出系统。
2)管理员
管理员可登录系统后台,可查看所有职工的个人资料信息,可对职工的个人资料进行增、删、改、查,可修改管理员密码。
操作完成,可退出后台。
目标
尽量做到人力与系统使用的高效和方便,功能尽可能齐全,设备费用的减少,采用现代程序设计技术,人员利用率尽可能提高。
条件限制
本系统的条件、受到的限制有以下几方面:
A、硬件、软件、运行环境和开发环境方面的条件和限制:
由于是个人电脑,所以硬件设施可能在性能上比较差;软件全部是免费的,功能可能会受到相应的限制;对windows7比较熟悉,所以开发主要是在这个平台上进行的;
B、可利用的信息和资源:
没有相应的软件项目开发的经验,所以能力还是有限,收集的资料来源有限,故对信息的了解不够全面;
C、系统投入使用的最晚时间:
本学期第21周。
评价尺度
本系统的评价主要看开发时间是否在预期的范围里面,系统的使用是否简单,功能是否达到预期的要求,系统对数据的处理是否准确,系统的功能需求和非功能需求是否达到了用户所要求的。
1.2处理流程和业务流程
系统数据流程图如下图所示:
图1-3企业员工信息管理系统二级细化DFD
工作负荷
系统所承担的工作和工作量:
A、更新维护用户的个人资料;
B、提供用户查询;
C、提供查询功能;
D、由于现有开发的系统比较小,只涉及小量的数据,所以工作量小。
局限性
由于没有相关的制作项目的经验,而且对现有的知识信心不够,以前也没有做过一个比较正规的软件项目,资料来源也有限,以及本人对真正的人员管理系统认识欠缺,可能对本系统的实现多少有点影响。
1.3可行性分析
1)技术可行性
根据用户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标,来衡量所需的技术是否具备。
本系统主要采用数据库管理方法,服务器选用MySQLServer数据库,他是它是目前能处理所有中小型系统最方便的流行数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。
它的灵活性、安全性和易用性为数据库编程提供了良好的条件。
硬件方面,该系统短小精悍对赢家没有太大要求,只要能够运行windows操作系统就可以很好的运行该软件。
2)操作可行性
本系统采用用户界面交互方式,操作简单,用户只要具备简单的应用计算机的能力,无论学历,无论背景,均可以使用本系统,用户界面上的按钮的功能明确,用户一看就可以了解怎么使用本系统,以及本系统能够完成的功能,因此本系统在操作上是可行的。
3)经济可行性
估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。
并且,分析系统开发是否会对其它产品或利润带来一定影响。
本系统作为一个课程设计,没有必要考虑维护费用,以及本系统可获得的效益等问题。
4)法律及社会效益方面的可行性
由于本系统只是一个课程设计,在图书馆查询相关资料因此不存在侵权等法律与社会影响方面的问题,不存在侵权级相应的法律问题。
关于效益方面,本系统仅仅是一个课程设计,只是为了提高自己的分析,设计能力,而非为了社会效益而编写设计,因此社会效益方面也是可行的。
2需求分析
通过对职工信息管理系统的研究分析,根据可行性分析的方案和项目成员的讨论,编制本需求说明书。
本报告用于财职工信息管理系统的需求规格,明确系统的功能需求,业务流程和性能要求以及与有关系统的接口关系,它将是系统最终实现和审评的根据之一,是进一步设计、开发的基础。
本报告的阅读范围:
项目组的项目管理、软件开发和系统测试人员、指导老师等。
2.1需求概述
(1)目标
作为课程设计,本项目开发的人员、技术等资源非常有限,本项目开发的职工信息管理系统不能算是真正意义上的职工信息管理系统,只是简单的对职工的个人资料、工资信息进行电子系统管理,另外添加了一些公告、留言的功能以便管理者是用户沟通。
其主要为用户提供查询个人工资信息和留言等功能,针对的用户是某事业单位的职工财务管理,职工数量较少,系统功能简单,操作也要简单方便,要便于管理维护。
(2)用户特征
最终的用户是职工管理员和公司职工,管理员需要对用户资料进行增删改查和对自己密码修改等操作,要求管理员具备相应的计算机知识,如权限管理等。
公司职工是普通用户,具备一定的计算机操作即可。
2.2功能性需求
本系统相应的需求有以下几个方面。
A、能够存储一定数量的用户信息,并方便有效的进行相应的用户资料操作和管理,这主要包括以下内容。
(1)管理员对用户资料的录入、删除及修改;
(2)管理员对用户资料的查询;
(3)用户对用户资料的查询;
(4)用户密码的修改。
B、能够存储管理员信息,并方便有效的进行管理员密码修改,保证管理员信息的安全。
C、能够提供给用户方便的操作,有以下几个方面。
(1)提供给用户的工作部门、个人信息资料的查询功能;
(2)允许其他人注册。
2.3非功能性需求
(1)性能需求
职工信息管理系统的使用者是公司财务部人员和公司职工,对于系统管理员的管理工作和职工的查询、注册等功能,性能要求都不是很高,本系统是简单小型的个人信息管理系统,只适用于小规模企业单位,使用的人员数量不大,并发数小,所以性能要求不是很严格。
(2)安全性需求
对于职工的工资管理关系到个人利益及公司的整体利益,所以安全性的要求比较高。
主要是要保证数据的完整性、一致性,控制权限,防止某人恶意攻击系统,修改原始记录。
同时对数据库中的数据需要定时备份,防止系统数据丢失。
3概要设计
本文档作为职工信息管理系统的概要设计文档,是小组成员根据讨论和按照需求文档编写的。
本文档描述系统在功能上的主要设计和思想,预先估计以后系统可能达到的目标。
本阶段完成系统的大致设计并明确系统的数据结构与软件结构,将一个软件需求转化为软件表示的过程。
本文档的阅读对象是课程设计指导老师以及本软件的开发小组人员,此文档将作为本小组进行详细设计和软件开发的依据,并且可帮助以后进行系统扩展和维护的开发人员了解和维护此系统。
3.1总体设计
需求规定
系统各个模块设计见表3-1所示:
功能名称
输入项
输出项
执行权限
功能描述
用户信息管理模块
管理员的信息
添加、修改、删除、查询用户记录成功及相应的提示信息
普通管理员
完成对用户信息的管理
管理员信息管理模块
管理员的信息
修改管理员密码成功及相应的提示信息
普通管理员
完成对管理员信息的管理
注册用户管理模块
用户的信息
注册用户成功或失败及相应提示信息
职工用户
完成用户注册功能
用户功能模块
用户的信息
查询相应的提示信息
已注册用户
完成相应用户的操作请求,实现系统功能
表3-1系统各个模块设计
基本设计概念和处理流程
此系统的功能层次图如图3-1所示:
图3-1系统层次图
功能需求与程序的关系
各项功能需求的实现同各块程序的分配关系表如表3-2所示:
功能名称
添加
修改
删除
查询
用户信息管理模块
Y
Y
Y
Y
管理员信息管理模块
N
Y
N
N
注册用户管理
Y
N
Y
N
用户功能模块
N
N
N
Y
表3-2各项功能需求的实现同各块程序的分配关系
3.2接口设计
(1)用户接口
A、登录界面:
由输入用户名、密码的文本框和登录、重置按钮和管理员或普通用户身份选择复选框等组成;
B、前台主界面:
一个选项卡包含五个选项,包括首页、我的资料、公司简介、注册和安全退出;
C、注册界面:
由输入用户名、密码、确认密码的的文本框和注册、重置按钮组成;
D、我的资料界面:
欢迎语和工号、姓名、性别、工资、部门、电话等显示框组成;
E、首页:
欢迎语和图片;
F、公司简介界面:
本公司简介文本;
G、退出界面:
祝福语和退出按钮。
(2)管理员接口
A、登录界面:
由输入用户名、密码的文本框和登录、重置按钮和管理员或普通用户身份选择复选框等组成;
B、首页界面:
“欢迎管理员”文本、图片等;
C、添加职工页面:
工号、姓名、性别、工资、部门、电话和密码文本框和输入框组成;
D、删除职工界面:
工号文本框和输入框及删除职工按钮;
E、修改职工界面:
文本框及相应的输入框有“输入要修改的工号:
”、“(新)姓名”、“(新)性别”、“(新)工资”、“(新)部门”、“(新)电话”、“(新)密码”;按钮有开始修改按钮、录入修改按钮和重置按钮;一个性别复选框;一个部门下拉框。
F、修改管理员密码界面:
原密码、新密码、确认密码文本框和输入框,确定修改按钮及重置按钮;
G、查找职工界面:
文本框有“工号:
”、“姓名:
”、“性别:
”、“工资:
”、“部门:
”、“电话:
”、“密码:
”;一个工号输入框;一个查找职工按钮;显示框有姓名、性别、工资、部门、电话、密码显示框。
H、退出系统界面:
祝福语及退出按钮。
外部接口
A、硬件接口
本系统不涉及网络,不存在多大的接口问题。
B、软件接口
这里的接口问题主要就是怎么样与MySql数据库进行通信,以便对数据库进行读取和写入操作,在Java中是使用JABC-ODBC来解决这个问题的。
3.3系统出错处理设计
出错信息
系统与MySql数据库进行数据的操作时,有时会出现各种的异常,主要的异常为添加数据外键参照的异常、数据为空异常、类型匹配异常,只有有上面的情况就会出现插入异常;更新异常与插入数据异常类似,这里不详细的介绍;删除异常主要是表表数据关联删除的异常(外键参照),数据不存在时也会出现异常。
补救措施
故障出现后可能采取的变通措施,包括:
A、所有的数据库数据备份到一个安全的地方,假如当前的数据库数据出现异常,可以用备份的数据库进行恢复;
B、根据用户的操作,系统记录了其相应的日志信息,可以根据日志信息恢复;
C、假如无法启用备份程序则需要关闭系统,进行抢修。
系统维护设计
系统的维护和管理也是一个系统的问题,也包括两个层面:
A、技术层面:
包括:
1)使用较新的开发和维护技术;
2)数据库管理员管理好数据库数据;
3)专职维护人员维护硬件。
B、人员层面:
包括:
1)维护协议;
2)思想认识;
3)法律法规教育;
4)编写代码时候起名字用匈牙利法命名,以便以后维修;
4详细设计
职工信息管理系统详细设计是设计的重要阶段,这个阶段的主要任务是在职工信息管理系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括查询和详细数据结构,为编写源代码提供必要的说明。
概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。
详细设计则要解决如何实现各个模块的内部功能,即模块设计。
具体的说,模块设计就是要为已经产生的财务管理各子系统设计详细的算法。
但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为某种程序设计语言书写的程序。
JVM:
JavaVirtualMachine(Java虚拟机),它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
Java虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
4.1连接数据库设计说明
程序描述
本设计是用来说明数据库连接的模块设计的基本特征是完成面向对象的程序设计语言到关系数据库的映射。
本系统数据库的设计比较简单,并未涉及复杂的模块设计,所以本设计就是简单的说明此系统数据库的功能和使用。
功能
建立应用程序与数据库的连接,并作为一个工具类为其他类提供接口。
输入项
为了正常的连接到数据库,下面的输入是必不可少的:
A、数据库语言(sql语句);
B、所要加载的数据库表格;
C、连接数据库的登录名;
D、连接数据库的密码;
E、连接数据库的驱动。
输出项
连接好数据库后所输出的内容就是操作中所要实现的功能,如职工信息、管理员信息等。
算法流程
连接数据库的算法流程图如图4-1所示:
图4-1连接数据库的算法流程图
4.2用户登录设计说明
程序描述
本模块是用来处理用户登录系统的程序,判断用户输入密码、用户名与否,如果输入了,单击确定之后进入登录处理界面,判断用户是否存在,不存在则登录失败;如果存在该用户,则判断用户输入的密码是否与用户存在的密码一致;如果一致,登录成功,否则登录失败。
功能
完成系统登录,包括管理员后台登录和用户前台登录。
输入项
下面是用户登录的输入要求:
A、登录名称:
标识符,长度为3-10,只能是数字或者字母组成的;
B、登录密码:
组成不作要求,可以是任何字符组成;
输出项
输出项包括了两项:
A、管理员或用户登录失败:
1)用户不存在信息提示信息框;
2)登录密码输入错误信息提示框。
B、管理员或用户登录成功:
用户登录成功后提示用户登录成功消息框。
流程逻辑
登录系统的程序流程图,见图6所示:
图6登录系统的程序流程图
5系统实现
5.1主要模块的设计说明和程序代码
系统主界面如图5-1所示
图5-1系统主界面
系统主界面是用户进入系统后主要接触的界面,由它可以进入各个功能模块。
分别单击按钮“增加记录”、“修改记录”、“删除记录”、“查询”、“报表打印”可进入与之相对应的功能模块,单击“退出”按钮退出本系统。
为使界面不至于单调,可以为主界面加入背景。
在“增加记录”按钮的“Click”事件中添加代码如下:
doform增加记录
thisform.release
在“修改记录”按钮的“Click”事件中添加代码如下:
doform修改记录
thisform.release
在“删除记录”按钮的“Click”事件中添加代码如下:
doform删除记录
thisform.release
在“查询”按钮的“Click”事件中添加代码如下:
doform查询
thisform.release
在“报表打印”按钮的“Click”事件中添加代码如下:
doform报表打印
thisform.release
在“退出”按钮的“Click”事件中添加代码如下:
thisform.release
clearevents
“增加记录”模块如图5-2所示
图5-2增加记录模块
企业新进职员都要为其建立人事档案,该模块的功能就是添加新职员信息。
操作很简单,按需要输入完数据后,单击“确定”按钮即可,同时系统会弹出对话框提示输入成功。
“取消”按钮的功能是清空所有文本框。
该模块做了些限制性设计,以防用户误操作。
如:
将输入“职员号”、“进本单位年份”的文本框的Format和InputMask属性都设为“9999”,使用户只能输入四位数字,输入其它字符无效。
同样在输入“生日”的文本框的Format和InputMask
属性都设为“9999/99/99”。
单击“确定”后,如果没有输入“职员号”或输入的“职员号”已存在,系统都会弹出提示信息,以便用户改正。
在“确定”按钮的“Click”事件中添加代码如下:
*检查“职员号”是否为空
ifempty(alltrim(thisform.txtID.value))
messagebox("职员号不能为空",48,"错误")
thisform.txtID.setfocus
else
*获取各输入值
inID=alltrim(thisform.txtID.value)
inName=alltrim(thisform.txtName.value)
inSex=alltrim(thisform.txtSex.value)
inBirth=alltrim(thisform.txtBirth.value)
inLearn=alltrim(thisform.txtLearn.value)
inPolitics=alltrim(thisform.txtPolitics.value)
inPhone=alltrim(thisform.txtPhone.value)
inAddress=alltrim(thisform.txtAddress.value)
inDepartment=alltrim(thisform.txtDepartment.value)
inFunction=alltrim(thisform.txtFunction.value)
inDate=alltrim(thisform.txtDate.value)
inMemo=alltrim(thisform.edtMemo.value)
*检查输入的“职员号”是否已存在
setorderto职员号
seekinID
if!
found()
insertinto职员信息表value(inID,inName,inSex,inBirth,inLearn,inPolitics,inPhone,inAddress,inDepartment,inFunction,inDate,inMemo)
messagebox("添加成功!
",48,"信息")
*添加完毕后清空各文本框
thisform.txtID.value=''
thisform.txtName.value=''
thisform.txtSex.value=''
thisform.txtBirth.value=''
thisform.txtLearn.value=''
thisform.txtPolitics.value=''
thisform.txtPhone.value=''
thisform.txtAddress.value=''
thisform.txtDepartment.value=''
thisform.txtFunction.value=''
thisform.txtDate.value=''
thisform.edtMemo.value=''
else
messagebox("此职员号已存在,请另输一个",48,"错误")
thisform.txtID.value=''
thisform.txtID.setfocus
endif
endif
在“取消”按钮的“Click”事件中添加代码如下:
*清空各文本框
thisform.txtID.value=''
thisform.txtName.value=''
thisform.txtSex.value=''
thisform.txtBirth.value=''
thisform.txtLearn.value=''
thisform.txtPolitics.value=''
thisform.txtPhone.value=''
thisform.txtAddress.value=''
thisform.txtDepartment.value=''
thisform.txtFunction.value=''
thisform.txtDate.value=''
thisform.edtMemo.value=''
thisform.txtID.setfocus
在“退出”按钮的“Click”事件中添加代码如下:
thisform.release
doform主界面
“修改记录”模块如图5-3所示
图5-3修改记录模块
职员信息的改变,如:
部门的调动、职位的升降、搬家、换了电话,或者发现输入了错误的信息,就可以进入该模块进行修改。
你可以单击“导航条”逐条定位查找,如果知道要修改职员的职员号,可在最下面的文本框里直接输入该职员号,单击“查找”,如果找到,系统会定位到该记录,如果没有找到,系统会给出提示信息。
该模块也做了与“增加记录”模块相近的限制性设计。
在该表单的数据环境(DataEnvironment)中添加“职员信息表”,将各文本框的ControlSource属性设置为在“职员信息表”中与之相对应的字段,这样便完成了与“职员信息表”的绑定。
在“查找”按钮的“Click”事件中添加代码如下:
setorderto职员号
seekalltrim(thisform.text1.value)
if!
found()
messagebox("该职员号不存在",48,"错误")
gotop
endif
thisform.text1.value=''
thisform.refresh
在“退出”按钮的“Click”事件中添加代码如下:
thisform.release
doform主界面
“删除记录”模块如图5-4所示
图5-4删除记录模块
如果因为职员离职、退休,或其它原因要删除某条记录,就可进入该模块进行删除。
本模块的控件布局与“修改记录”模块基本相似,只是显示记录的各文本框的Enabled属性均设置为“.f.”(假)。
同“修改记录”模块一样,设置与“职员信息表”的绑定。
在“删除这条记录”按钮的“Click”事件中添加代码如下:
nAnswer=messagebox("确定要删除吗?
",36,"信息")
ifnAnswer=6
thisform.dataenvironment.closetables('职员信息表')
*以独占方式打开表,执行删除命令
use职员信息表exclusive
deletefrom职员信息表where职员号=alltrim(thisform.txtID.value)
pack
use
thisform.dataenvironment.opentables('职员信息表')
thisform.refresh
endif
在“查找”按钮的“Click”事件中添加代码如下:
setorderto职员号
seekalltrim(thisform.text1.value)
if!
found()
messagebox("该职员号不存在",48,"错误")
gotop
endif
thisform.text1.value=''
thisform.refresh
在“退出”按钮的“Click”事件中添加代码如下:
thisform.release
doform主界面
“查询”模块如图5-5所示
图5-5查询记录模块
在本模块,你可以选择查询条件,快速查找到所需的职员信息,也可以一览整个“职员信息表”。
可供选择的查询关键字有“职员号”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 职工 信息管理 系统 文档