计算机综合设计报告Word格式.docx
《计算机综合设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《计算机综合设计报告Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
由于对企业工资管理系统这一类的企业财务系统进行开发已有一定的时期,有很多成功的实例,技术基础也已经非常雄厚,因而技术上的准备应该不成问题。
3.应用可行性
社会可行性有时也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性以及运行后可能一起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。
在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新使人们完全有可能也有能力采用这样先进的管理技术。
在某种意义上,信息与科技在现代化建设中显现出越来越重要的地位。
管理方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。
好的管理系统对提高人们的生活效益是极为有益的。
主要是管理人员对开发信息系统是否支持,现有管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等,企业工资管理系统比较完善的规章制度和管理方法为系统的建设提供了保障。
三、需求分析
3.1系统目标
本系统要对企业工资管理的日常的工资发放进行数据输入,并对各项工资条款进行计算。
汇总各项数据生成员工个人台帐,打印工资报表。
采用用户名,密码安全机制,分用户权限登陆访问,保证系统资源不受人为因素的干扰。
3.2系统功能结构与分析
人们在这个社会中随时都会接受到很多信息,在今天这个信息时代谁能更好的掌握这些信息谁就更容易取得胜利。
个人的能力是有限的,这个时候就需要利用帮助工具。
一个有效的系统要能储存系统中所必须的信息并能对这些信息进行各种操作例如对信息快速查找。
工资管理系统是帮助企业管理职工工资的系统,本系统是由员工基本信息管理、个人工资查询、工资管理和用户管理等几个功能模块组成。
根据以上的功能结构,将工资管理系统的数据分为:
1、数据输入部分
其中包括员工信息的输入,每个月不同工资明细的输入,管理员资料与普通员工登录信息的录入,不同岗位工资与基本工资对照表的输入等。
2、数据输出部分
数据输出部分主要是显示各种数据的查询与统计。
例如查询某个员工的个人信息,本月工资信息,统计某个部门某月工资信息的总和,统计本单位某年工资的信息等。
3、数据处理部分
此部分主要是对一些修改后的信息的处理工作。
企业中随时会出现增加新员工,员工离职,员工变换部门,员工升降职以及员工工龄等的不断变化。
当企业中的员工出现此类信息的变化时,数据库中的信息必须及时得到更新,这样才能避免一些不必要的错误出现,提高企业的工作效率。
四、系统设计
1.概要设计
根据以上分析的功能,总结出系统结构图如下:
图3.1工资管理系统结构图
2.详细设计
3.3.1用户管理模块
用户登录时有权限的设定。
查看或者修改系统只有管理员才有权限,而个人用户只能查看关于个人信息、工资等内容,无权查看其它信息。
图3.2用户管理模块
3.3.2查看信息模块
该模块主要是为了方便管理员查看数据库中的各项信息。
一个好的系统需要强大的后台数据库做支持。
当管理员对某个信息进行修改、增加、删除等操作时,数据库中的信息必须同时得到更新,这样才能保证系统的正常运行。
但是没做一个操作就在数据库中进行查看不仅浪费时间而且出错率较高,可能在查看数据库中的信息就忘记了自己刚刚作的修改。
在前台就可以看到数据库的信息无疑增加了管理员的工作效率,节省了更多的人力资源与时间。
“查看员工信息表”就是查看所有员工的信息,包括姓名,性别,部门等信息。
“查看员工工资表”就是查看每个员工的月工资。
“查看工龄工资”就是查看每一个工龄所对应工资的标准。
“查看岗位工资”就是查看每一个岗位所对应工资的标准。
图3.3查看信息模块
3.3.3员工信息修改模块
该模块主要用于员工信息的及时更新。
包括对员工信息的修改,增加与删除。
当某个职员升、降职,更换部门时,都需要对员工的信息进行修改。
当有新员工加入或者有员工离职时,都要对该员工信息进行增加和删除。
“员工信息修改”就是对某个员工的某些信息进行修改,保持最新状态。
“员工信息增加”就是增加某个新员工的信息,以确保数据库的完整性。
“员工信息删除”就是删除某个已经离职员工的信息,确保数据库中没有占
用空间的多余信息。
图3.4员工信息修改模块
3.3.4工资查询模块
该模块负责工资的查询,可选择或输入职工号,姓名,部门,输出相应的职工工资信息。
用户进入工资查询界面后,由用户选择查询条件,可以选择职工号,输入职工姓名,选择职工所在部门,确定后,系统根据查询条件进行数据库访问。
若按职工号查询,则判断职工号是否出错,出错则显示出错信息。
若按职工姓名进行查询,则先要访问人事信息表,得到符合条件的职工号,对此过程进行判断,是否出错,出错显示出错信息。
同样,若按职工部门进行查询,则也要访问人事信息表,得到符合条件的职工号,对此过程进行判断,是否出错,出错则显示出错信息。
然后根据职工号查询工资表,无错误则显示符合查询条件的职员工资信息。
除此之外,该模块还可以对某个部门的月工资、年工资进行查询,也可以对整个企业的工资发放情况进行查询。
“根据员工号查询”,这是最精确的查询方式,因为每个员工只有一个唯一员工号码。
当你知道某个员工的员工号码时,可以通过这种方式查询,可以在最短的时间内查看到该员工的信息。
“根据员工姓名查询”,这也是一个比较精确的查询方式。
若你只知道某个职员的姓名,可以通过输入姓名查询。
不过可能会出现重名现象。
这时就需要你自己去判断哪一个是你要找的人。
“根据部门查询”是一个比较粗略的查询方式。
当你只知道部门的时候,可以这样查询。
在查询的结果中,你可以在查看哪个是你要找的信息。
显然没有上面两种精确,但也是一种方法。
图3.5查看信息模块
3.3.5工资汇总模块
管理员在员工信息管理模块对所有员工的有关工资等级的所有信息(包括岗位工资,工龄,保险金等)进行输入以后,再根据不同岗位、工龄所对应的不同工资数,在工资汇总模块中自动对每个员工的工资进行汇总,生成每个员工的最后工资。
在这个模块中,可以根据自己的需求,对工资表进行打印。
图3.6工资汇总模块
3.3.6个人查询信息模块
每个员工都有权知道自己每个月工资是如何生成的。
当然,在管理员的管理过程中,有可能因为粗心等一系列原因而输入了错误的信息,或者信息没有进行及时得更新,从而导致了某个员工的工资错误。
所以,每个员工不但可以查看自己每个月的工资,而且也可以查看个人的信息,以此来保证工资的正确性,也是对管理员工作的监督。
“查看个人信息”就是用于查看自己的信息。
包括部门,职位,工龄等信息。
“个人工资详单查询”就是查看自己当月工资是如何生成的。
“打印工资单”就是可以打印出来作为凭证,或者当出错时可以打印出来去找管理员进行修改。
图3.7个人工资查询模块
3.3.7系统维护模块
系统在使用的过程中,由于使用不善,避免不了会出现一些问题。
从而导致系统数据丢失,损坏,对企业是很不利的。
因此,在日常的使用过程中,我们需要对系统进行维护,以保证即使出错也不会有问题。
图3.8系统维护模块
“数据备份与还原”就是在日常使用中,管理员要经常对系统中的数据进行备份,这样在有需要的时候,只要还原数据库就可以了。
“数据导入与导出”。
工作中,会有各种各样的不同的数据需要系统操作员进行录入,然而大量的工作量将大大耗费时间与精力。
数据的导入与导出就可以解决这一问题,只需将原有镖客导入或导出数据库就可以了,大大节省了人力资源。
3.数据库设计
在数据库应用系统的开发过程中,数据库的结构设计是其中非常重要的一个环节。
数据库结构的好坏将直接对应用系统的效率以及实现的效果产生影响。
好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,能简化基于此数据库的应用程序的实现等。
4.1数据库需求分析
数据库需求分析是数据库结构设计的第一阶段,是非常重要的一个阶段。
这个阶段主要是确定基本数据,数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后进一步设计打下基础。
在仔细调查企业工资管理过程的基础上,我们得到本系统的数据流程图如下:
外部实体数据流数据存储
考勤员工基本信息
工资固定信息
通过对企业工资管理的内容和数据流程分析,针对企业工资管理系统,我们设计的数据项和数据结构如下:
●员工基本信息
包括的数据项有员工号、员工姓名、性别、所在部门、所在岗位、工资级别等。
●员工信息查询
包括的数据项有
●工资基本设定
包括的数据项有工资级别、岗位工资、工龄工资金额
●工资计算
包括的数据项有员工号、员工姓名、员工基本工资、员工工龄工员工岗位工资、公司福利、员工实得工资
4.2数据库概念结构设计
这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
实体跟实体之间的E-R图为:
图4.2实体E-R图
4.3数据库逻辑结构设计
根据系统功能设计的要求以及功能模块的划分,各个系统的具体逻辑实现如下:
通过对企业工资管理的内容和数据流程分析,设计的数据项和数据结构如下。
●员工考勤统计信息包括的数据项有缺勤时间、缺勤天数、缺勤类别等。
这些信息可从考勤管理系统的数据库中统计获取。
●员工岗位等级信息包括的数据项有岗位等级、岗位基本工资等。
●员工津贴信息包括的数据项有加班时间、加班类别、加班天数等。
●员工医疗保险信息包括的数据项有医疗保险时间、医疗费用保险、社会保险费用等。
●员工基本信息包括的数据项有员工号、员工姓名、员工岗位、员工所属部门等。
●员工工资信息包括的数据项有生成工资的时间、基本工资、缺勤扣除、加班费用、医疗保险费、月应发工资等。
●员工年终奖金信息包括的数据项有年份、员工的年终奖金数额等。
根据数据库的需求分析,建立如下几个数据表
表4.1工龄工资表
表4.2工资信息表
表4.3职位工资表
表4.4税率表
表4.5系统用户表
表4.6员工惩罚表
表4.7员工奖励表
表4.8员工信息表
表4.9员工登陆密码表
(1)规划有效的索引
a.在组合表的列中创建索引,包括主关键字和外部关键字所在的列。
b.在列或类组合中创建唯一的索引能增强唯一性。
c.浏览索引并卸载不使用的索引。
索引需要一定硬盘空间和时间来维护。
具有较高数据插入操作频率的数据库最好不要索引。
有较高读操作频率的数据库应该有更多的索引。
d.避免在簇索引中包括不必要的列。
在可能的情况下,使用较小的数据类型,例如用varchar替代char。
e.考虑使用簇索引来支持排序和范围化查询。
在为数据检索优化表时,簇索引必须支持数据的分组索引。
为簇关键字选择列或列组,簇关键字以经常需要的顺序排序数据或以必须被一起访问的记录而分组记录。
f.创建支持一般查询的查找参数索引。
具有高选择性的列是索引的最好候选列。
具有高密度的列是索引糟糕的候选列。
(2)使用约束实现数据的完整性
PRIMARYKEY约束在表中定义了主关键字,它是行唯一的标识符,它可以强制实体完整性。
在使用PRIMARYKEY约束时考虑以下事实:
每个表只能有一个PRIMARYKEY约束。
键入的值必须是唯一的。
不允许有空值。
PRIMARYKEY约束在指定的列创建唯一的索引,可以指定簇索引和非簇索引(如果
非簇索引先前并不存在,簇索引是默认的)。
UNIQUE约束指定,在一列中的两行不能有相同的值。
该约束使用唯一的索引来强制实体的完整性。
在已有一个主关键字时UNIQUE约束很有用。
在使用UNIQUE约束时,考虑以下事实;
允许有空值。
在一个表中可以设置多个UNIQUE约束。
可以将UNIQUE约束运用于具有唯一值的单列或多列,但不能用于表的主关键字。
通过在指定的列或列组中创建唯一的索引,可以使UNIQUE索引得到强制。
五、编码
略
六、测试
在MIS开发过程中采用了多种措施保证软件质量,但是实际开发过程中还是不可避免地会产生差错,系统中通常可能隐藏着错误和缺陷,未经周密测试的系统投入运行,将会造成难以想象的后果,因此系统测试是MIS开发过程中为保证软件质量必须进行的工作。
大量统计资料表明,系统测试的工作量往往占MIS开发总工作量的40%以上。
因此,我们必须重视测试工作。
由于程序中隐藏的缺陷只在特定的环境下才有可靠显露,系统缺陷通常是由于对某些特定情况考虑不周造成的。
因此测试不是为了表明程序正确;
成功的测试也不是没有发现错误的测试。
有意义的软件测试应该是从“破坏”软件系统的角度出发,精心设计最有可以暴露程序系统缺陷的测试方案。
因此软件测试的目标应该是以尽可能少的代价和时间找出软件系统中潜在的错误和缺陷。
从产品角度看,测试计划中的测试项目包括软件结构中的分系统层、子系统层、功能模块层、程序模块层中的各类模块,从测试本身看,分为单元测试,组合测试,确认测试等。
测试对象是随阶段而异的,最基本、最初的测试是单元测试,后面的组合测试、确认测试都是以被测过的模块作为测试对象的。
(1)单元测试:
单元测试也称模块测试或程序测试,单元测试是对每个模块单独进行的,验证模块接口与设计说明书是否一致,对模块的所有主要处理路径进行测试且与预期的结构进行对照,还要对所有错误处理路径进行测试。
对源码进行审查,对照设计说明书,表态地检查源程序是否符合功能的逻辑要求,是进行单元测试前的重要工作工。
单元测试一般是由程序员完成,也称程序调试。
(2)组合测试
组合测试也称集成测试或子系统测试,通常采用自顶向下测试和自底向上测试两种测试方法。
组合测试的对象是指已经通过单元测试的模块,不是对零散模块进行单个测试,而是用系统化的方法装配和测试软件系统,是一个严格的过程,必须认真地进行,其计划的产生和单元模块测试的完成日期要协调起来,这种测试应在系统目标机上进行,造成系统应用的环境条件,除了开发部分项目负责人参加以外,还应该有相应系统的用户参加,给评审员进行演示。
(3)确认测试
确认测试是对通过组合测试的软件进行的,这些软件已经存于系统目标设备的介质上,确认测试的目的是表明软件是可以工作的,并且符合“软件需求说明书”中规定的全部功能和性能要求。
确认测试是按照这些要求定出的“确认测试计划”进行的。
测试工作是由一个独立的组织进行,而且测试要从用户的角度出发。
(4)系统测试
系统测试是对整体性能的测试,主要解决各子系统之间的数据通信和数据共享问题以及检测系统是否达到用户的实际要求,系统测试的依据是系统分析报告。
系统测试应在系统的整个范围内进行,这种测试不只对软件进行,而是对构成系统的硬、软件一起进行。
系统测试与建构同时进行或略慢。
系统测试需要确认从头到尾的功能正常才算完成,应当尽量避免系统测试延到项目末尾进行
(5)用户验收测试
在系统测试完成后,进行用户的验收测试,它是用户在实际应用环境中所进行的真实数据测试。
在具体的测试中,一般应遵循以下原则:
由程序设计者之外的人进行测试;
测试用例应由两部分组成:
输入数据和预期输出结果;
应选用不合理的输入数据与非法输入测试;
不仅要检验程序是否实现预期功能,还应检查程序是否做了不应该做的工作;
集中测试容易出错的程序模块;
对程序修改以后,必须重新进行测试。
在开发本系统时,为了使系统能够稳定运行,对本系统进行了有针对性的全面测试,采取的方式是:
1、菜单项测试:
为了保证每一项下拉菜单能够正确实现系统设计的功能,我把相关的基础数据,基本上全部输入到本系统中,并对每一个菜单项反复进行了增加、删除、修改等操作,从而保证了菜单级功能的正确实现。
2、数据跟踪:
完成菜单项测试后,我又对系统内的每一个数据进行了跟踪。
例如:
在成绩管理模块中,我首先对考试类型进行设定,然后在成绩添加模块中进行数据操作,随时观察这两个模块之间是否有冲突产生,配合得是否正确,再然后在成绩浏览模块中进行验证,说明该功能完全正常,对其它的功能模块也进行了类似的设置。
3、综合测试:
在以上测试的基础上对系统功能进行了整体的测试,依次来检验系统功能是否符合系统设计的要求。
七、小结
八、参考资料
[1]VisualBasic.NET程序设计教程(高等教育出版社)龚沛曾陆慰民杨志强编著
[2]MSDN-MicrosoftDevelopers’NetworkMicrosoft1998Microstft编著
[3]VisualBasic企业办公系统开发实例导航(人民邮电出版社)刘萌周学明郭安源编著
[4]VisualBasic程序设计教程(北方交通大学出版社)李振亭编著
[5]VisualBasic用户编程手册(人民邮电出版社)林永张乐强编著
[6]数据库系统概论(高等教育出版社)萨师煊王珊编著
[7]现代软件工程(北京希望电子出版社)孙涌编著
[8]VisualBasic数据库系统开发实例导航(人民邮电出版社)
[9]VB控件应用编程实例教程(北京希望电子出版社)张学忠王福成编著
[10]Office2000中文版(清华大学出版社)东方人华编著
[11]VB数据库程序设计高手(科学出版社)温贤发编著
[12]软件需求(电子工业出版社)SirenLausanne编著刘晓晖译
[13]VB.NET中文版教程(电子工作出版社)新智工作室
[14]VB编程技巧280例(上海科学普及出版社)源江科技
[15]数据库设计与编程实例详解——使用Access、SQL与VB[英]
JohnCarter著张淮野袁怡译
[16]VB.NET程序设计教程(青岛出版社)
九、教师评语