考勤管理系统软件工程需求分析_第1页
考勤管理系统软件工程需求分析_第2页
考勤管理系统软件工程需求分析_第3页
考勤管理系统软件工程需求分析_第4页
考勤管理系统软件工程需求分析_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.题目:员工考勤管理系统需求说明书姓名:专业:计算机科学与技术学院:信息工程学院学号:.一、.引言...........................................................................................................................................31.1实验目的................................................... 3 3二、设备与环境 3三、实验内容及分析 3 3 4 7 82.2.1表结构分别如下 82.2.2各表之间关系图 .4.2.1签到测试 4.2.2签离操作 4.2.3删除打操作 4..2.4查询操作 一、引言通过软件工程综合实验,使学生认识到在软件系统实际开发中运用软件工程方法的意义,加深对软件工程所学知识的理解,初步掌握进行软件系统开发的基本方法,培养学生分析问题、解决实际问题的能力,为毕业设计以及将来从事软件项目开发与管理工1.2项目背景公司原本拥有统一的学籍管理系统,但由于自考培训项目与其他培训项目存在很多区别,包含很多的特殊因素,原有系统不能满足自考培训部门的需要。由于部门不能使用原系统进行工作管理,大量学籍资料都存放在Excel表格里,给数据的查询1.3参考资料公司原有学籍管理系统二、设备与环境操作系统:WindowsXP/CE。数据库:SQLServer2000。编程工具:DEKPHI7编程环境三、实验内容及分析考勤管理是企业管理中非常重要的一环。作为公司主管考勤的人员能够通过考勤管理系统清楚的看到公司员工编号,姓名,部门以及签到时间、签离时间以及是否迟到、早退等诸多信息。还能够通过所有员工的出勤记录比较来发现企业管理和员工作业方面的诸多问题。更是员工工资及福利待遇方面重要的参考依据。具体操作流程如下:超级用户登录本系统,输入用户名和密码,系统进行验证,验证通过的话进入程序主界面,在主界面对普通用户的信息进行录入,超级用户需要输入普通用户的部门和编号进行录入,经过系统验证通过后该员工签到成功,下班签离时超级用户先输入该普通用户的部门和段时间内员工的出勤情况。本系统是一个可靠性高、可用性强的系统,能够处理基本的功能和非功能故障。关于用户信息的安全性和保密性提供了基本保障。用户的需求具体表现在对个人信息的提供、编辑、处理和查询上。这就要求数据库能够满足各种信息的输入、输出和处理。通过分析考勤管理系统的实际内容和要求,得到一下数据流图:图1顶层数据流图..2.软件设计2.1总体设计本系统的初步结构图如下所示:.关于图中的标号,分别表示为:a、登录信息b、不合格登录信息c、不合格签到信息d、签到信息e、不合格签离信息f、签离信息g、不合格删除条件h、删除条件i、查询条件k、不合格查询条件m、合格登录信息n、程序主界面信息l、删除成功信息j、合格删除条件o、查询结果p、合格查询条件q、合格签到信息r、签到成功返回结果s、签离成功返回结果t、合格签离信息优化后的结构图为:.其中编号的具体内容为:1、合格的登录信息2、程序主界面3、签到成功的返回信息4、合格的签到信息5、签离成功的返回信息6、合格的签离信息7、合格的删除条件8、删除成功信息9、合格的查询条件10、查询结果2.2数据库设计本系统设计到普通用户,也就是员工,和超级用户两类用户。超级用户可以管理员工的签到签离操作,也可以查询员工的个人情况和出勤情况。员工只需要告诉超级员工自己的部门和编号就可以完成签到和签离操作。根据实际应用的需要,最大限度的提高系统的性能,本系统涉及5张表,分别是超级用户表、普通用户表、部门表、考勤表和考勤历史表。2.2.1表结构分别如下:表1部门表结构.名称字段名称字段类型为空性备注部门编号BM_NumVarchar(1否唯一表示部门部门名称BM_NAMEVarchar(2否部门名称部门人数BM_COUNTint是表2超级用户表结构名称名称字段类型为空性备注用户名唯一标识用户身份密码每个用户都有密码姓名SName性别Char(2)SBirDate籍贯表3普通用户表结构名称字段类型为空性备注编号Num)部门AparVarchar(10)姓名性别籍贯CName.)Char(2))表4考勤表结构名称名称字段类型为空性备注序列号唯一标识记录序列,自增长编号普通用户编号签到时间签离时间Otime表5考勤历史表名称字段类型为空性备注记录号LSeqintNutnull唯一标识记录序列,自增长编号NumVarchar(1Notnull普通用户编号p.是否迟到Wlate1迟到,0未迟到是否早退Wearly是否缺勤WOut2.2.2这个表之间一定存在这某种相互制约的关系,下图为各表之间的关系图:2.3详细设计本系统是用delphi制作完成的。具体实现如下A、超级用户需要先输入自己的用户名和密码,等待系统验证通过后才能登录系统主界面。超级用户的用户名和密码是存放在数据库中的一个表中的。所以运行本程序时要先B、在系统主界面超级用户可以实现普通用户签到操作和签离操作,可以对普通用户的出勤情况进行修改和查询。超级用户对普通用户进行签到操作时,要先输入该员工的部门编号,然后输入该员工的编号。点击确认后系统将本人的签到时间插入到考勤表中。员工的部门编号以及员工的编号也是存储在数据库中的,在员工输入之后会核对员工输进行签离操作是针对已经签到的员工进行的,所以如果用户选择的员工编号没有出现在这个是通过在一个新窗体中打开数据库中的表实现的。对于比较详细的查询操作,这里D、主界面对考勤信息的删除操作。删除操作包括删除当天所有签到信息、签离信息以及删除某个人的信息。这个是通过存储过程来实现的。3.1展示屏的设计在一个窗体上放一张图片,然后在图片上加相应的文字说明,增加一个timer控件,在timer的ontime编写相应的代码。效果图为:.3.2登录界面的设计登录界面需要用户名和密码的验证,因此需要连接数据库,需要用到相应的控件,连接上数据库,在“确定”按钮的单击事件中输入相应代码:suser:=form2.Edit1.Text;password:=form2.Edit2.Tadoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add('selectfromwheresuser='+''''+suser+''''+'andmm='+''''+password+'''');adoquery1.Open;ifadoquery1.RecordCount=0thenapplication.MessageBox('用户名与密码错误,请重新输入','提示',mb_ok);edit1.SetFocus;form2.Hide;form3.Show;将该窗体的边界风格设置为bsnone,效果图为:.3.3主界面的设计控件的放置如下图所示,在“部门”组合框的ondropdown事件中获得数据库中关于部门的信息,代码为:vari,j:integer;combobox1.Clear;adoquery1.sql.Clear;adoquery1.SQL.Add('selectdistinct*fromdep');//从数据库的dep表中读取数据adoquery1.Open;j:=adoquery1.RecordCount;//recordcount为读取的记录数ifj>0thenadoquery1.first;fori:=0toj-1docombobox1.Items.Add(adoquery1.FieldList[0].asstring);//增加部门编号adoquery1.Next;application.MessageBox('没有部门的信息','提示',mb_ok);“编号”组合框的代码同上面的类似,这里就不予列列出。该界面的关键功能是“确认”按钮,单击此按钮后将数据插入到考勤表中,并且显示该员工的个人信息和其是否迟到早退的情况,代码为:adoquery1.SQL.Clear;adoquery1.SQL.Add('select*fromcuserwherenum='''+combobox2.Text+'''');adoquery1.Open;//获取输入的员工号的记录ifadoquery1.RecordCount>0thenedit1.Text:=(adoquery1.FieldList[2].asstring);//显示员工相关信息edit2.Text:=(adoquery1.FieldList[1].asstring);edit3.Text:=(adoquery1.FieldList[3].asstring);edit4.Text:=(adoquery1.FieldList[4].asstring);ifradiobutton3.Checkedthen//签到操作.withADOStoredProc1doClose;//将这条记录插入到考勤表中ProcedureName:='wat_insert';Parameters.Clear;Parameters.ParamByName('@num').Value:=combobox2.Text;Parameters.ParamByName('@gtime').Value:=time();//判断是否迟到ifformatdatetime('hh:mm:ss',time)<=('9:00:00')thenifradiobutton4.Checkedthenbegin//选择签离操作adoquery1.SQL.Clear;adoquery1.SQL.Add('select*fromworker_attendwherenum='''+combobox2.Text+'''');adoquery1.Open;ifadoquery1.RecordCount>0thenwithADOStoredProc1doProcedureName:='otime_insert';Parameters.Clear;Parameters.ParamByName('@num').Value:=combobox2.Text;Parameters.ParamByName('@otime').Value:=time();//插入签离时间//判断是否早退ifformatdatetime('hh:mm:ss',time)<=('18:00:00')thenapplication.MessageBox('该人没有签到不能签离!','出错啦!',mb_ok)application.MessageBox('请选择签到还是签离','提示',mb_ok);//没有选择签离还是签到application.MessageBox('没有该员工!','提示',mb_ok);combobox2.SetFocus;主界面的设计如下图所示,3.4查询结果显示的界面这几个界面的实现只要是通过控件实现的,所以只显示一个,为员工信息:另外系统中难免会输入有错误的地方,这时候提示很重要,这里只显示一个出错提示,如下所示:.实现这个的代码为:application.Messagebox('','',mb_ok).引号中输入相信的内容既可4、测试结果4.1登录模块测试登录模块输入的用户名和密码是要求和数据库中SUser表中的记录相同才能进入主界面的。当输入空的用户名和密码以及不正确的用户名和密码时,是不能进入主界面的。出错提示如下图所示:只有输入正确的用户名和密码才成进入主界面进行操作。测试用例:用户名用户名用户名空密码空(数据库中不存在的用户名和密码)23423423密码空(数据库中不存在的用户名和密码)上面的测试用例都不能进去主界面,可以用admin\admin进去主界面。4.2主界面模块测试4.2.1签到测试员工签到时可以自己输入部门编号和员工编号,也可以从下拉列表中进行选择。当然下拉列表中的信息是直接从数据库中的表读出的不可能有错。如果员工自己输入部门编号和员部门00001(数据库中存在)员工opopop(数据库中不存在)部门00001(数据库中存在)员工000020成功签到后,系统显示是否迟到,如下图:4.2.2签离操作员工签离时可以自己输入部门编号和员工编号,也可以从下拉列表中进行选择。输入错误的员工信息时如签到操作时的提示,这里不在截图表示。当员工输入了正确的部门和员工编号时,但是该员工还没有签到,但员工现在选择签离操作,这个不允许的,这里给出提示,如下所示:.签离成功后,系统显示是否早退,如图:4.2.3删除操作可以选择删除当日所有签到记录和所有签离记录也可以选择删除某个人的记录,删除当天某个人的记录的时候,必须保证这个人已经签到了,早考勤表中存在。如果不存在,会有如下提示:测试用例:空当删除成功时会有如下提

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论