软件工程综合实验报告学号姓名(组长):学号姓名:班级:教师:1系统需求分析开发及运行环境1.硬件要求CPU:300MHz以上的处理器。内存:128MB,推荐256MB。硬盘:150MB以上剩余空间。显示像素:最低800*600,最佳效果1024*768。2.软件要求操作系统:Windows2000/NT/XP/CE。数据库:SQLServer2000。管理信息系统(MIS)不仅是一个技术系统,而且也是一个社会系统。这从另一个方面可看出,任何企事业单位的管理信息系统都是基于自己单位的实际情况而建立,即使是同行企业建立的相同系统都会由于企业的实际情况而有所不同。工资管理是任何企事业单位都面临的问题,由于各个公司的工资处理方式总是有所区别,因此目前还没有一个通用的工资管理系统,只能针对公司情况去开发适合本公司需求的工资管理系统。早期的工资管理是人工化的,工作量大时,出现错误的机率也会随之升高,这会导致会计人员花费更多的时间去改正错误,延误工资发放的时间,或出现工资发放错误的现象。而企业工资管理系统就是使用电脑代替大量的人工统计和计算,完成企业工资信息的处理,而且还可以用电脑安全完整地保存企业工资记录。系统初步调查的内容主要是了解公司组织的整体信息,包括员工信息和员工工资信息。通过对系统特点进行调查和分析,可以得到本系统的关键部分如下:(1)员工职务工资的设定,是工资管理系统的基础,可以实现工资的基本管理。这样可以减少出错,提高效率。(2)其他工资的设置,是对员工基本工资的补充。(3)系统应该可以输出工资报表,可以通过报表侧面反映员工工作的好坏。(4)系统还应包括员工基本信息的录入、修改和删除。(5)系统还应该提供强大的数据统计、查询功能。(6)系统应有比较好的可操作性、稳定性和可扩展性。1.1数据流图(DFD)数据流图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况,比管理业务流程图具有更好的抽象性和概括性。它包括四种符号,如下图所示:通过详细调查和业务流程图,舍去物质和其他要素,绘制出工资管理数据流程图。如下图所示:1.2数据字典(DD)DFD只是对数据处理和彼此之间的联系进行了说明。为了对数据流程图中的各个元素作出详细的说明,有必要建立数据字典,将数据流图中的全部数据流及其组成部分的数据元素,数据存储,数据加工描述清楚,以便于系统设计的进行。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。因此,开发人员有必要编写详细的数据字典,来描述系统开发过程的细节。下面列出本系统中主要的数据字典,包括数据项、数据流、数据存储、加工处理。1.2.1数据项外部实体----S处理----P数据流----F数据存储----D数据流程图的符号工资管理系统数据流程图S1管理员P1P3S2员工编制工资表P2S1管理员工资表D2月度工资条D4职工信息表D1工资设置表P4输入职工信息F1员工基本信息s1计算工资F2实发工资数据项又称数据元素,是数据的最小单位,是无法再细分的数据。下面列出主要的数据元素,如下表所示主要的数据元素数据项名称数据项编号类型及宽度别名简述备注empID无varchar(12)职工编号用来标识员工的唯一编码name无varchar(10)姓名与职工编号相对应headship无varchar(10)职务表示职工现任职务base_pay无money(8)基本工资表示员工的基本工资1000(默认)Prize无money(8)奖金表示员工的奖金800(默认)1.2.2数据流数据流是由一个或一组固定的数据项组成。其体现了数据的流向,从哪里来,流向哪里。如下表所示。数据流数据流编号:F1数据流名称:员工基本信息简述:管理员可以添加、修改、删除员工基本信息数据流来源:管理员的输入数据流去向:制定员工基本信息数据流组成:empID+name+sex+borntime+region+nation+govvis+culture+marr+headship+addr+phone+email+ID+pic+resume数据流编号:F2数据流名称:月度实发工资简述:由管理员输入或修改员工工资,再由数据库自动计算员工的月度工资信息数据流来源:管理员或数据库数据流去向:员工工资信息数据流组成:empID+name+headship+base_pay+prize+salary+income_tax+income1.2.3数据存储数据存储是数据结构保存的场所,它只描述了数据的逻辑存储结构,而不涉及它的物理组织。现就以相关表来说明数据存储的定义,如下表所示。数据存储数据存储编号:D1数据存储名称:员工信息表简述:存放员工的基本信息数据存储组成:empID+name+sex+borntime+region+nation+govvis+culture+marr+headship+addr+phone+email+ID+pic+resume关键字:empID相关处理:P1,P2数据存储编号:D2数据存储名称:员工工资信息简述:存放员工的工资信息数据存储组成:empID+name+headship+base_pay+prize+salary+income_tax+income关键字:empID相关处理:P2,P31.2.4加工处理加工处理是对数据流程图中的逻辑处理进行分析及一些必要说明。如下表所示。加工处理处理逻辑编号:P2处理逻辑名称:编制基本工资简述:制定基本工资表输入的数据流:职工编号来源于数据存储员工信息表;工资来源于数据存储工资信息表处理:根据员工信息和工资信息编制基本工资输出的数据流:数据流“基本工资”写入数据存储员工工资信息表处理频率:如果员工信息无变动,处理基本上也是没变动处理逻辑编号:P3处理逻辑名称:计算工资简述:计算应发工资输入的数据流:基本工资来源于数据存储员工工资信息表处理:根据基本工资、奖金和个人所得税计算应发工资输出的数据流:数据流“工资”写入数据存储员工工资信息表处理频率:对每个员工每月处理一次处理逻辑编号:P1、P4处理逻辑名称:输入职工信息、工资设置简述:系统挂另一拥有管理职工信息和工资信息的权利输入的数据流:由管理员输入处理:管理员管理输出的数据流:员工信息表、员工工资表处理频率:对每个员工处理一次2总体设计2.1项目规划工资管理系统是由基本信息管理、工资查询、工资管理、系统管理和帮助等几个功能模块组成,规划系统功能模块如下:基本信息管理模块基本信息管理模块主要包括员工录入、员工删除2部分。工资查询模块工资查询模块主要包括基本工资查询、浮动工资查询、加班/休假查询、总体查询4个部分。工资管理模块工资管理模块主要包括工资发放管理、基本工资管理、浮动工资管理3个部分。系统管理模块系统管理模块主要包括用户管理、修改密码、退出系统3个部分。帮助模块帮助模块主要包括关于1个部分。2.2系统功能结构工资系统的功能结构如图1所示。基本信息管理工资查询工资管理系统管理帮助员工录入员工删除基本工资查询浮动工资查询加班休假查询总体查询工资发放管理基本工资管理浮动工资管理用户管理修改密码退出系统关于工资管理系统图1系统功能图2.3设计目标本系统是根据中小企业的实际需求而开发的,完全能够实现企业对客户的自动化管理,通过本系统可以达到以下目标:系统运行稳定,安全可靠。界面设计美观,人机交互界面友好。信息查询灵活、方便、快捷、准确,数据存储安全可靠。满足键盘和鼠标的双重操作,完全支持回车键。采用多种方式查询数据。操作员可以随时修改自己的口令。对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。数据保密性强,为每个用户设置相应的权限级别。3概念模型设计实体联系(E-R)图基本工资奖金应发工资个人所得税实发工资e出生日期性别籍贯民族婚姻文化程度政治面貌简历照片身份证电邮电话地址职务员工工资职工编号职务姓名工资表系统用户用户名密码权限管理职工编号职务姓名发放对数据中词典中的数据存储进行分析,得出用户、员工信息、员工工资信息等数据存储,它们都由自己的头信息另加若干细节项构成,根据实体与属性的区分准则(作为“属性”,不能再具有需要描述的性质),这些细节项应上升为实体。工资管理系统的主要实体及其属性有:·用户{[user],password,[right]}·员工信息{empID,name,sex,borntime,region,nation,govvis,culture,marr,headship,addr,phone,email,ID,pic,resume}·员工工资信息{empID,name,headship,base_pay,prize,salary,income_tax,income}4逻辑模型设计逻辑结构设计的任务就是把概念模型设计阶段设计好的基本E-R图转换为与选用的具体机器上的DBMS产品所支持的数据模型相符合的逻辑结构,现选用关系模型,E-R图向关系模型的转换结果如下所示:·用户([user],password,[right])[user]为此关系的主键。·员工信息(empID,name,sex,borntime,region,nation,govvis,culture,marr,headship,addr,phone,email,ID,pic,resume)empID此关系的主键。·员工工资信息(empID,name,headship,base_pay,prize,salary,income_tax,income)empID此关系的主键。5物理模型设计5.1数据库和表名称在本系统中数据库的名称设置为gzgl。数据库中表名称和字符标识如下所示:5.2表的结构设计·用户(yh)列名描述类型长度允许空[user]用户名varchar20NoPassword密码varchar12No[right]用户权限varchar20No·员工信息(yg)列名描述类型长度允许空序号表名称字符标识1用户yh2员工信息yg3员工工资信息yggzempID(主键)职工编号varchar12NoName姓名varchar10NoSex性别varchar4NoBorntime出生日期datetime8YesRegion籍贯varchar10YesNation民族varchar8YesGovvis政治面貌varchar10YesCulture文化程度varchar20YesMarr结婚状况varchar4YesHeadship职务varchar10NoAddr地址varchar20YesPhone电话varchar20YesEmail电子邮件varchar20YesID身份证号码varchar20YesPic个人照片image16YesResume个人简历text16Yes·员工工资信息(yggz)列名描述类型长度允许空备注empID(主键)职工编号varchar12NoName姓名varchar10NoHeadship职务varchar10Nobase_pay基本工资money8Yes默认值(1000)Prize奖金money8Yes默认值(800)Salary应发工资money8Yes公式([base_pay]+[prize])income_tax个人所得税money8YesIncome实发工资money8Yes公式([base_pay]+[prize]-[income_tax])实现员工工资信息(职工编号、姓名、职务)随着员工信息的更新、删除、插入而更新、删除、插入,实现动态更新,我使用了三个触发器,分别如下:CREATETRIGGER[Delete_Reminder]ONdbo.员工信息FORdeleteASdeclare@empvarchar(12)select@emp=empIDfromdeleteddeletefrom员工工资信息whereempID=@empCREATETRIGGER[Insert_Reminder]ONdb