《考勤管理系统软件工程需求分析.docx》由会员分享,可在线阅读,更多相关《考勤管理系统软件工程需求分析.docx(13页珍藏版)》请在课桌文档上搜索。
1、XX大学题目:员工考勤管理系统需求说明书姓名:专业:计算机科学与技术学院:信息工程学院学号:2016年06月27日目录一、.引言21.1 实验H的31.2 工程背设i1.3 参考资料3二、设备与环境3三、实验内容及分析3I需求工程31.1 功能需求31.2 数据潦图41.3 E-RM62.KftiftH72.1 总体设计72.2 数据库没计8衣结构分别如下8各表之间关系图IO2.3 详细设汁IO3,系统实现H3.1 展验屏的谀计Ii3.2 登录界面的设计Ii33主界面没计123.4查诩结果显示的界面.N4海试结果154J笠录极块渊试154.2主界面模块渊试16签到渊试16签禹探作16璃就打撵住
2、174.2.4杳沟操作17四、总结182.软件设计2.1 总体设计图5部门E-R图图6总体E-R本系统的初步结构图如下所示:彷入S询件证登录信息的入登录信息希入签到信息希人签语信息关于图中的标号,分别表示为:a、登录信刖b,不合格登录信息c、不合格签到信息d、塞到信息Cx不合格签阳信息f、签离信息8、不合格删除条件h、刷除条件i、有泡条件k、不合格查询条件m、合格登录信息n、程序主界面信息I、蒯除成功信息j、合格删除条件。、查询结果P、合格查询条件q、合格签到信息r、签到成功返回结果s、签离成功返回结果I、合格签离信息优化后的绢构图为:其他操作登录控制查词模块考勤管理系统输入合格的查滴1.J件
3、输入并检验登泉信入格册条帝台的除件入检签信和否格循笄脸S息是6入检签信和否恪输笄验到息是合其中编号的具体内容为:1、合格的登录信息2、程序主界面3、签到成功的返回信息1、合格的塞到信息5、签离成功的返回信息6,合格的签禺信息7,合格的删除条件8、刷除成功信息9、合格的杳询条件10、杳询结果2.2效Ie昨设计本系统设计到普通用户,也就是员工.和由级用户两类用户,超汲用户可以管理员工的签到处面操作,也可以杳询员工的个人情况和出勤情况。员工只需要告诉曲级级工自己的部门和编,J就可以完成器到和签离操作。根据实际应用的需要,取大限度的提而系统的性能,本系统涉及5张表,分别是超级用户表、普通用户表、部门去
4、、考勤表和考勤历史表.表结构分别如下:衣1部门表结构名称字段类型为空性符注部U编号BB1.NUmVaivhardO)否唯一表示部门部门名称BM_NAMEVarchart20)否部门名称2.2.2这个表之间一定存在这某片相互制的的关系,下列图为各表之向的关系图I2.3详蛔设计本系统是用de1.phi制作完成的。具体实现如卜A、超级用户需要先输入自己的用户名和密码,等待系统脍证通过后才能登录系统主界面。超级用户的用户名和密码是存放在数据库中的一个表中的.所以运行本程序时要先连接数据库。B、在系统主界面制拨用户可以实现普通用户签到操作和签离操作,可以对普通用户的出勤情况进行修改和变询.超级用户对普通
5、用户进行签到操作时,要先输入该员工的部门编号,然后输入该员工的编号。点击确认后系统将本人的签到时间插入到考勤表中.员工的部门编号以及员工的编号也是存储在数据库中的,在员工输入之后会核对员工输入信息的正确性,进行签离操作是针对已经签到的员工进行的,所以如果用户选择的员工编号没有出现在考勤表中那么拒绝进行操作。C、主界面时信息的查询.对信息的唐询包括员工个人信息、员工出勤信息和部门信息,这个是通过在一个新窗体中翎开数据库中的表实现的。对于比拟详细的告询操作,这里没有笆时实现该功能。Dx主界面对考勤信息的删除操作。删除操作包括JW除当天所有签到信息、签离信息以及删除某个人的信息。这个是通过存储过程来
6、实现的。3系俄实现&1展示屏的设计在一个枕体上放一张图片,然后在图片上加相应的文字说明,增加一个iier控件,在IiBertnontime编写相应的代码。效果图为:3.2登录界面的设计登录界面得要用户名利密码的验证,因此衙要连接数据库,需要用到相应的控件.连接上数据库.在一确定”按钮的单击步件中输入相应代码:varsuser,asswords1.ring;beginsuser:=form2.EdithText;password:=form2.Edit2.Text:adoquery1.C1.ose;adoquery1.SQ1.C1ear;adoquery1.SQ1.Add(,se1.ectsus
7、er.rrtnfromSUserwheresuser=,suser,*+*andmm=*,.password+,):adoquery1.Ope11;ifadoquery1.RecordCount=Othenbeginapp1.ication.MeSsageBOx(用户名与密码错误,靖屯新输入,提示,mbok):edit1.SotFocus:ende1.sebeginfor三2.Hide;for3.Show:end;end:将该窗体的边界风格设置为bsnonc效果图为:3.3主界面的设计捽件的放置如下列图所示,在“部门”组合框的ondropdown事件中获得数据库中关于部门的信息.代码为:var
8、iwj:integer;begincombobox1.C1.ear;adoqery1.sq1.C1.ear;adoquery1.SQ1.AddCse1.ectdistinctfromdep);从数据库的dep表中读取数据adoquery1.Open;j:=adoquery1.RecordCount:rccordcoun1.为读取的记录数ifj0thenbeginadoquc*ry1.first;fori:=0toj-1dobegincombobox1.!tens.Add(adoquery1.Fie1.d1.istO.asstring);增加部门编号adoquery1.Next;end;ende
9、1.seapp1.ion.MessaeBox(,没有部门的信息,提示,三b.ok);end;“编号”组合枢的代码同上面的类似这里就不予列列出。该界面的关雄功能是“确认”按钮.单击此按钮后将数据插入到考勤表中,并且显示该员工的个人信息和其是否迟到早用的怡况,代码为:adoquery1.SQ1.C1.ear;adoquery1.SQ(.Add(,se1.ectfromcuserwherenum=*,combobox2.Text,);adoquery1.Open:获取输入的员工号的记录ifadoquery1.RccordCount0thenbeginedit!.Text:(adoquery1.Fie
10、1.d1.ist2.asstring):/显示员工相关信息edit2.Text:=(adoquery1.Fie1.d1.ist1.asstring);cdi13.Tex1.:=(adoquery1.Fie1.d1.ist3.asstring):edit4.Text:=(adoquery1.Pie1.d1.ist4.asstring);ifradiobutto113,Checkedthenbegin签到操作withADOStoredProc1dobeginCIOSo;将这卷记录辅入到方勤表中ProcedureNaroe:=*wat_insert,;Parameters.C1.ear;Parame
11、ters.Refresh:Parameters.ParanByNameCnum*).Va1.ue:=combobox2.Text;Parameters.ParaeByNaine(,tic,).Va1.ue:=ti三c();ExecProc;end;判断是否迟到ifforma1.dateIiBechh:rnn:ss,time)=(9:00:00)thenedit5.Text:=电e1.seedit5.Text:=*否ende1.seifradiobutIon1.Checkedthenbegin选择笠离操作adoquery1.SQ1.C1.ear;adoquery1.SQ1.dd(,se1.ect
12、-fro11worker_attendwherenun-1*co0thenbeginwithADOStoredProc1dobeginC1.ose:ProcedureNaBe:=*otime_insert,;Paramc1.ers.C1.ear:Parameters.Refresh;Parameters.ParaaByNaine(,ftu,).Va1.ue:=cobbox2.Text:Panuneters.ParanByName(,otine).Va1.ue:=tine();辅入签商时间ExecProc;end:判断是否早退ifFormatdatetine(*hh11mzss,time)=C1
13、8:00:00)thenedit6.Text:=*是e1.seCdiI6Texi:=否ende1.seapp1.ication.McssageBoxC该人没有签到不能签离!出错4,mb.ok)ende1.seapp1.ication.MessageBoxC请选择签到还是签离,提示.nb_ok);没孑j选择卷离还是签到ende1.sebeginapp1.ication.MeSSageBOX没有该员工!J提示,mb_ok);coWZOOCo202mco?*1.J1H比*1MOooo刈OOoO3s5ioAmt2COCOXM000035Ig万531rtxMicMion.MeSSagebox(,nbk)
14、.引号中输入相信的内容既可4、蒲试结果4.1 登录模块费试笠录模块输入的用户名和诙码是要求和数据年中SUSer表中的记录相向才能进入主界面的,当输入空的用户名和密码以及不正确的用户名和密码时,是不能进入主界面的,出锚提示如卜列图所示:只有输入正确的用户名和密码才成进入主界面进行操作。测试用例:用户名空密码空(数据库中不存在的用户名和密码用户名23423423密码空(数据中不存在的用户名和密码)用户名iiin密码8787676(用户名和密码字段不K配)上面的测试用例都不能进去主界面.可以用adminadmn进去主界面.4.2 主界面模块制试4.2.1 签到流试员工签到时可以自己输入部门编号和员工
15、份号,也可以从下拉列表中进行选择。当然卜担列表中的信息是宜接从数据库中的表读出的不可能有惜.如果员工自己输入部门编号和员工娘号的话是可能出借的,测试用例:部门89898(数据库中不存在)员工9008989(数据库中不存在)部门OOOO1.(数据底中存在)员_Eopcp。P数据摩中不存在)部门OOOO1.(数据底中存在)员工0000201(数据库中存在但是不是该部门的数据),泅试结果为:成功签到后,系统显示是否迟到,如卜列图:RZttft姓名,F7s,性别,F一时生日期,1.是否早速,是否迟到,4.2.2 筌离掾作员工签陶时可以自己输入部门编号和员工编号,也可以从下拉列表中进行选择,输入错误的员
16、工信息时如签到操作时的提示.这里不在截图表示.当员工输入了正确的部门和员工编号时.但是该员工还没有签到,但员工现在选择签国操作这个不允许的,这里给出提示,如下所示;该人没有签到不能笠离?晡定I器离成功后,系统显示是否早退,如图:姓名,Sn.I性别,I出生日期,i是否迟到,是否早退,F4.2.3 除掾作可以选择删除当H所有签到记录和所有签离记录也可以选择酬除某个人的记录删除当天某个人的记录的时候,必须保证这个人已经蛤到了,早考勤衣中存在,如果不存在,会有如下提示:测试用例:空当捌除成功时会有如下提示:星作成功,痛定成功删除今天的所有签到记录I窗定测试用例:0000201(已经进行签到的员工涮号)
17、4.2.4 查询掾作进行杳血捺作时要确认连接到数据库中,所以要输入系统的用户名和密码,dba和sq1.,否加么程序会出错.这个我没有能力做处理.进行洋细连询时,需要谕入部门号和查询时间段.当用户输入了错设的时间,或者考勤历史表中没有时间的记录时给出提示:IWIiR没有时间的信息痛定四、总结通过这次实物,我的不仅熟悉了我们以前学习的数据库原理以及现在正在学习的de1.phi程序设计和Sq1.sever教程所学到的知识,而且我们还初步了解了制作一个比拟合理的软件的具体实施步骤,首先要对自己要做的这个软件进行一系列的分析,包括可行性分析,衢求分析等,在可行性分析中又包括了对软件开发的经济可行性、技术
18、可行性和法律可行性等的分析。需求分析更是对完成一个符合用户需求的软件最重要的必不可少的局部.所以在做需求分析的时候要格外的细心和耐心.保证尽量了解用户时软件的需求,这样才能保证交付用户一个涵意的软件,我相信学习软件工程对以后的工作中的工程开发一定会有很大的作用.或许现在我们还只是对软件工程一如半解,只有在具体的实践中才能其正理会软件工程这门课的重要性.但是钱过这次课程设计我已般深刻的感觉,开发一个系统最困雉的阶段不是写代码编代码,而是时系统进行详尽的分析,而且时系统的分析占用了整个软件开发的很大局部时间.到最后的编码过程中,只需要按照需求分析报告中的功能需求对软件进行编程.总之,这次实验对我们的收获还是挺大的.我们从中了解到了开发一个软件的大致过程.从而在以后开发的过程中,对那些很羽要的比拟复杂的局部就彳f一定的对待策略.而不像第一次开发时这样显得无从卜手.总是改变自己刚开始设定的软件的模式。由于这次实脸做的比拟早,许多de1.phi的知识老师还没有讲到所以自己就是在边摸索边前进的过程中实现该软件的.这对自己的自学能力也有一定的钺炼,而I1.增加了自己对SqISerVer2000的使用.对自己有很大的提高,