1、信息工程大学电子技术学院本科课程设计报告(2009-2010学年 第二学期)课程名称: 任课教员: 系队: 专业: 二0 年 月 日信息工程大学电子技术学院XXXXX课程实验报告实验项目名称: 系: 队: 专业: 指导教员: 学员姓名: 学号: 成绩: 实验地点: 实验日期: 年 月 日1.可行性研究报告 组员:张明明,杨林,王珂,薛慧娟 1.1目标设计 随着公司业务的扩展,人员的增多,传统的手工作业已经不再适合公司发展的需要所以引进计算机技术对企业内部员工进行方便的管理,这样有诸多好处,各层管理人员可以对企业众多的员工信息进行动态的管理,例如基本资料的修改,添加,删除,查询等。有利于减少错误
2、,减轻人事部门的任务,提高效率,节约人力资源,降低企业成本。本文提出了一个工资管理系统,应用动态服务器页面实现了劳资人事的多条件查询、删除、更新、打印、密码设置等功能。1.2背景 工资管理是公司企业内部很重要的一个管理事项,但目前大多公司内部劳资人事的管理,基本上是手工操作或是基于dos下的应用,这样对信息的管理者有诸多不便,有的虽然是用foxpro、visual foxpro开发,但由于开发工具本身的限制,对网络功能的支持程度不是很强,为以后软件升级到互联网带来了麻烦。因此有必要开发一个基于网络的工资管理系统,能在网络环境下实现数据的录入、插入、删除、查询、统计、更新、打印等功能。同时,为了
3、信息的保密与安全,系统还要提供一定的安全机制。Powerbuilder6.5是美国著名的Powersoft公司推出的广泛使用于客户机/服务器体系结构下的应用程序开发工具,具有完整的Web应用开发功能。它同时支持多种关系数据库系统,通过微软公司的ODBC接口和专用的大型数据库接口,能够高速读取数据库中的数据。本系统就采用Powerbuilder6.5开发,服务器端的操作系统为Windows NT 4.0,客户端操作系统为Windows 98。2.1组织目标和战略系统的目标是开发一个基于网络的工资管理系统,能在网络环境下实现数据的录入、插入、删除、查询、统计、更新、打印等功能。同时,为了信息的保密
4、与安全,系统还要提供一定的安全机制。2.2存在的主要问题 工资管理是公司企业内部很重要的一个管理事项,但目前大多公司内部劳资人事的管理,基本上是手工操作或是基于dos下的应用,这样对信息的管理者有诸多不便,有的虽然是用foxpro、visual foxpro开发,但由于开发工具本身的限制,对网络功能的支持程度不是很强,为以后软件升级带来了麻烦。3.1 系统功能分析公司内部的工资管理,从大的方面分主要集中在公司职员的个人情况、工资细目、调入调出及用车等。所以该系统主要是实现对数据的录入、插入、删除,网上查询.统计.更新.打印等功能。其次,为了信息的保密与安全,系统还要提供一定的安全机制。3.2
5、系统功能的规划 根据以上系统功能的分析,本系统决定采用MDI风格,它主要分为以下几个模块,其工资管理系统的父窗口的功能结构图。 文件模块:此模块实现本系统对数据的打开、保存、打印预览、打印及用户管理等功能,并可由此退出系统。 信息管理模块:此模块实现系统的信息管理,包括对职工情况一览表、职工调入调出情况表、职工工资表及其它各表的信息数据的插入、删除、修改、保存等功能。 查询模块:此模块实现本系统的查询功能,能将个人的基本情况、调入调出情况、工资情况等检索出来,并可实现多条件查询和模糊查询。 统计模块:此模块用于对数据库中的信息数据按照一定的规则进行统计。 系统服务模块:此模块用来系统管理人员设
6、密码和对系统的功能和开发信息进行介绍等3.3 初步建设计划项目计划于2009年5月开工建设。开发期6个月,试运行期3个月,系统计划于2009年8月1日正式投入运行。3.4 根据用户要求设计数据表 数据表的建立是应用程序开发过程中的非常重要的一个环节,必须清楚每一模块要操纵的数据是那些,以及数据间的相互关系,然后建立数据表。工资管理系统要求能对职工的个人情况、调入调出情况、工资情况等进行管理,在职工个人情况表下面,还有象维护职务表,维护学历表等等。同时还要对系统设置安全机制,为实现以上要求,下面仅以人事、工资、密码表为例介绍一下各表的结构:职工情况一览表它包括职工标号、姓名、性别、政治面貌等信息
7、。其结构如下:code char(4) not null, /职工编码name char(8) null, /姓名sex char(2) null, /性别politics char(8) null, /政治面貌birthday data null, /出生日期work_time data null, /参加工作时间post_zhw char(10) null, /职务address char(30) null, /家庭住址该表主键为职工编号(code)。职工工资表其结构主要包括职工所得的各种工资福利等。Code char(4) not null, /职工编号Name char(8) null
8、, /姓名g_pay integer null, /岗位工资j_pay integer null, /技能工资w_pay integer null, /物价补s_pay integer null, /书报费ws_pay integer null, /卫生费xh_pay integer null, /小孩补贴a_pay integer null, /工龄工资ht_pay numeric(6,2) null, /合同补贴jj_pay numeric(8,2) null, /奖金total_pay numeric(8,2) null, /工资总额该表主键为职工编号code。系统密码表user_nam
9、e char(10) not null, /用户名称user_word char(10) not null, /用户密码user_qx char(2) not null, /用户权限4.技术可行性分析 由于Powerbuilder具有完整的web应用开发功能,由它编制的软件可以方便的同服务器端的数据库协同工作,构成Client/Server工作方式,它使用的是业界熟悉的Web标准(HTML和Java),通过端对端的设计、调试和提交,可以控制Web应用的整个生命周期。本系统客户应用和服务器应用都采用Powerbuilder开发。其中服务器端的程序是实现中的重点部分,其内容主要是生成SQL语句对数
10、据库操作及对所得的数据进行处理。它主要分为监听客户连接、处理客户请求、避免死锁、向客户推送消息等。4.1 安全机制分析在进入系统之前,要进行身份确认,只有用户名和用户密码都相符的用户方可进入本系统。为了防止不合法用户对数据的察看和修改,本系统把用户分为三个级别:超级、可修改和只读用户,即一二三级用户。超级(一级)用户不仅拥有对数据的查询、修改权限,还对用户的使用权限进行控制,可以设定用户名、密码和其权限,还可以对纪录进行增加、删除、修改等操作。可修改(二级)用户对数据可以查询、打印,还可以对纪录进行增加、删除、修改等操作。只读(三级)用户只拥有对纪录的浏览、查询和打印权限。当用户要进入系统是必
11、须先输入用户名和密码,按“确认”按钮后,系统辨别用户身份,对合法用户根据用户的权限级别赋予相应的使用功能。4.2 对任一数据列进行排序的问题。熟悉Windows的用户一定对资源管理器不陌生,当目录或文件很多时,当然会想到使用排序来尽快定位目标,你只要用鼠标在资源管理器上端的name、size、type或modified中的任意一项点击,它就会将此项按升序或降序排列。同样地,在PowerBuilder中,如果数据比较多,我们也可以采用这种办法来排序以尽快查找记录。本系统以窗口w_rsh为例,要实现这样的排序功能,首先定义两个实例变量String pre_col=“”和Int click_time
12、=0,它们分别记录上次点击的列和点击同一列的奇偶数。然后在dw_1的Clicked事件中添加如下脚本:String clicked_pos,col,formatLong il_posclicked_pos = dwo.Name /取点击的对象il_pos = Pos(clicked_pos,_t) /对于列标题,/取得的对象是列名+”_t”If il_pos 0 Thencol = Left(clicked_pos,il_pos -1)If col=pre_col ThenIf click_time=0 Thenclick_time = 1format = col+ AElseclick_ti
13、me=0format = col+ DEnd IfElseclick_time = 0format = col+ A End Ifpre_col = coldw_1.SetSort(format)dw_1.Sort()End If 采用上面的方法可实现象Windows中资源管理器灵活排序的功能,从而使所要浏览的数据更加一目了然。本系统对日期型、需渐变量等数据的输入采用了编辑掩码控件editmask,这样就可以大大方便用户的操作。对于象性别这样只有男、女两个值的,则采用单选钮radiobutton形式,用户在录入时只需要鼠标点击选钮即可。在设置条件时的值段名和有固定职供用户选择的数据使用了下拉列
14、表框(droplistbox),用户只需选择所要输入的值即可5 社会可行性分析随着计算机的发展与普及,以及互联网技术的扩展,日常劳资人事管理必将实现无纸化办公,并且加入到公司内部的Intranet或者是Internet上去,实现数据的共享,这样有利于劳资人事信息在单位内部的查询,提高了数据资源的利用,并且能及时的得到更新,不需要象过去那样浪费大量的人力物力去进行抄写,提高了工作的效率6.经济可行性分析 6.1 支出/收益分析 在10年期内,系统投资和收益表1:系统总投入:180万,系统总收入:92万,2年可以收回开发投资。从经济上考虑,本系统完全有必要开发。7.可行性研究结论通过经济,技术和社
15、会等方面的可行性研究,可以确定本系统的开发完全有必要,而且是可行,可以立项开发。2.工资管理系统需求分析报告 1. 概述1.1 项目名称及背景1.1.1 项目名称工资管理系统1.1.2 开发背景随着公司业务的扩展,人员的增多,传统的手工作业已经不再适合公司发展的需要所以引进计算机技术对企业内部员工进行方便的管理,这样有诸多好处,各层管理人员可以对企业众多的员工信息进行动态的管理,例如基本资料的修改,添加,删除,查询等。有利于减少错误,减轻人事部门的任务,提高效率,节约人力资源,降低企业成本。1.2 文档说明1.2.1 员工:每个员工有个用户名和密码,能够方便的按照某种关键字对自己的工资进行查询
16、。1.2.2 系统管理员:有唯一用户名和密码,完成对员工资料的增加,删除,修改和查询。对系统的维护,数据备份,数据恢复,数据导入,数据导出1.2.3 上级主管部门:员工信息的查询,增加,修改,删除,汇总及打印,打印员工信息,工资发放报表,工资历史报表,奖惩报表设定工资年龄,岗位工资,奖金及违纪扣罚款,个人所得税1.3 功能概述在现代企业的生产和动作过程中,往往需要对企业员工的工资进行管理,企业的工资管理活动中都包含了以下几项功能:1.3.1 员工信息管理:实现对员工基本信息的管理操作,包括员工基本数据信息的添加、修改、删除和查询等功能;1.3.2 工资管理:完成对基础数据设定(如工龄工资、岗位
17、工资、所得税率等),工资统计、发放,打印工资条,及员工奖励和惩罚;1.3.3 工资查询:可根据条件查询员工历史工资数据(如按月份查询、按姓名查询、按部门查询等);1.3.4 汇总打印:提供报表打印输出功能,可以报表的形式打印员工信息、工资发放报表、工资历史报表、员工奖励和员工惩罚报表;1.3.5 系统维护:可对数据进行备份和恢复,并可实现数据导入导出功能。1.3.6 管理员设置:实现系统用户及密码的设置操作,可以增加和删除系统用户(仅系统管理员才有权限),对系统当前用户修改密码。1.4 用户环境操作系统:Windows XP平台: Visual Studio 2005数据库:SQL Serve
18、r 20001.5 其他要求绘制UML所需要的Rational ROSE或office VISIO2. 用例描述 通过对企业员工工资管理业务的分析,可知,员工工资系统主要涉及的参与者包括:员工、上级主管部门、系统管理员。系统总用例图如下: 2.1 参与者:员工 以下主要描述参与者为在线消费者时,与系统的交互情况.2.1.1 Use-Case 1:员工登陆用例名称:员工登陆用例ID:No.1说明:用户登陆时验证密码正确性(登陆后员工可以通过工资管理系统进行工资查询);输入:用户名,密码;加工:将用户名与密码与储存在系统内的信息比较(通过用户认证实现),一致则通过;输出:工资管理系统主界面;前提条
19、件:员工已注册并录入系统基本事件流:1.用户输入用户名和密码2.系统对用户认证3.结束后置条件: 员工的的状态转换为已登陆2.1.2 Use-Case 2:员工查询个人工资信息用例名称:员工个人工资查询用例ID:No.2说明:员工可以通过工资管理系统进行个人工资信息的查询;输入:查询信息;加工:根据用户输入信息,从数据库中查询到个人基本情况及工资条;输出:工资条;基本事件流:1.用户打开工资管理系统.2.键入查询信息.3.界面将查询信息传送到系统数据库.4.系统服务器根据查询信息从数据库中查找5.返回查找的具体信息2.1.3 Use-Case 3:员工退出登陆用例名称:员工退出登陆用例ID:N
20、o3说明:员工退出系统界面,结束交互基本事件流:用户关闭工资管理系统2.2 参与者:系统管理员以下主要描述参与者为系统管理员时,与系统的交互情况。2.2.1 Use-Case 4:系统管理员登陆用例名称:系统管理员登陆用例ID:No.4说明:用户登陆时验证密码正确性(登陆后管理员可以通过工资管理系统进行管理操作);输入:用户名,密码;加工:将用户名与密码与储存在系统内的信息比较(通过用户认证实现),一致则通过;输出:工资管理系统主界面;前提条件:管理员已注册并录入系统基本事件流:1. 用户输入用户名和密码2. 系统对用户认证3. 结束后置条件: 管理员的的状态转换为已登陆2.2.2 Use-C
21、ase 5:管理员对系统用户的管理用例名称:管理员对系统用户的管理用例ID:No.5说明:管理员可以通过工资管理系统进行系统用户的增删改操作;输入:系统用户数据;加工:根据管理员输入信息,从而更新数据库中系统用户信息情况;输出:修改成功提示并显示更新后的工资管理系统主界面;前提条件:管理员已登陆,有相应权限;基本事件流:1. 系统接受修改请求,弹出修改页面,管理员输入新信息并提交;2. 系统接受新信息,并更新数据库;3. 显示成功修改信息;后置条件:用户信息修改成功。2.2.3 Use-Case 6:管理员对系统的维护用例名称:管理员对系统的维护用例ID:No.6说明:管理员可以通过工资管理系
22、统对数据进行相关操作;输入:系统相关数据;加工:根据管理员输入信息,从而更新数据库中系统信息情况;输出:维护成功后的系统主界面;前提条件:管理员已登陆,有相应权限;基本事件流:1. 系统接受维护请求,弹出维护页面,管理员进行相关维护操作,数据备份,数据恢复,数据导入等.;2. 系统接受维护操作,并更新数据库;3. 显示更新后系统主界面后置条件:系统已成功维护。2.2.4 Use-Case 7:管理员退出登陆用例名称:管理员退出登陆用例ID:No.7说明:管理员退出系统界面,结束交互基本事件流:管理员关闭工资管理系统2.3 参与者:上级主管部门以下主要描述参与者为上级主管部门时,与系统的交互情况
23、。2.3.1 Use-Case 8:上级管理部门登陆Case 8:上级管理部门登陆用例名称:上级管理部门登陆用例ID:No.8说明:上级管理部门通过输入账号和密码进入工资管理系统;输入:上级管理部门账号,密码;加工:将上级管理部门帐号与密码与储存在系统内的信息比较(通过系统管理员认证实现),一致则通过;输出:上级管理界面;基本事件流:1.上级管理部门输入其账号和密码2.系统管理员认证上级管理部门账号和密码有效3.结束.2.3.2 Use-Case 9:上级管理部门对员工信息的管理Case 9:上级管理部门对员工信息的管理用例名称:上级管理部门对员工信息的管理用例ID:No.9说明:上级管理部门
24、可以通过工资管理系统对员工信息进行管理;输入:查询信息;加工:根据输入信息,从数据库中查询员工信息;输出:返回相关员工信息;前提条件:上级管理部门已登陆,有相应权限基本事件流:1.管理部门进入工资管理系统并键入查询信息.2.界面将查询信息传送到系统数据库.3.系统服务器根据查询信息从数据库中查找4.返回查找的具体员工信息2.3.3 Use-Case 10:上级管理部门对工资的设定Case 10:上级管理部门对工资的设定用例名称:上级管理部门对工资的设定用例ID:No.10说明:管理部门进入工资管理系统并对工资进行调整设定;输入:要调整的项目及调整方案;加工:对要调整的项目根据要求重新设定;输出
25、:调整后的工资计算方案;前提条件:上级管理部门已登陆,有相应权限基本事件流:1.上级管理部门进入工资管理系统.2.键入调整信息.3.系统服务器根据调整信息对工资计算方案进行重新设定4.返回调整后的工资计算方案5.返回查找的具体信息2.3.4 Use-Case 11:上级管理部门汇总打印Case 11:上级管理部门汇总打印用例名称:上级管理部门汇总打印用例ID:No.11说明:管理部门根据需要对员工的信息汇总并打印;输入:需汇总的员工;加工:根据输入信息,从数据库中查询到各个人基本情况及工资信息;输出:基本情况及工资信息;前提条件:上级管理部门已登陆,有相应权限基本事件流:1上级管理部门进入工资
26、管理系统.2.键入查询信息并提交3.系统接受查询信息,系统服务器根据查询信息从数据库中查找4.返回查找的具体信息,汇总并打印后置条件:根据需要打印出员工信息2.3.5 Use-Case 12:上级管理部门退出登陆用例名称:上级主管部门退出登陆用例ID:No.12说明:上级主管部门退出系统界面,结束交互基本事件流:上级主管部门关闭工资管理系统3. 系统交互顺序图描述3.1 员工实例顺序图:3.2 系统管理员实例顺序图:3.3 上级主管部门实例顺序图:3.工资管理系统设计报告一设计思想本系统开发设计思想:尽量利用企业现有的软硬件环境,采用先进的管理系统开发方案,从而达到充分利用企业现有的资源,提高
27、系统开发水平和应用效果的目的。系统应符合企业工资管理的规定,满足企业相关人员日常使用的需要,并达到操作过程中的直观、方便、实用、安全等要求。系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的设计维护人员进行补充、维护。系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。二 开发和运行环境选择开发工具:Visual C#.Net运行环境: Windows NT,Windows 2000以及Windows xp三 系统功能分析系统功能分析是在系统开发的总体任务的基础上完成的.该系统需要完成的功能主要有: 系统数据初始化; 员工基本信息数据的
28、输入; 员工基本信息数据的修改、删除; 企业工资的基本设定; 员工工资的浏览; 员工个人工资表的查询; 员工工资的计算; 工资报表打印;四 系统功能模块设计在系统功能分析的基础上,根据C#程序的特点,得到如图所示的系统功能模块图.工资管理系统员工基本信息工资结构设置工资汇总资料输入员工增删员工查询基础工资岗位工资工龄工资岗位工资工资工龄 系统功能模块图功能需求描述1、员工基本信息模块员工基本信息模块具有员工信息输入、员工增删、员工信息查询三个功能,员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息。员工增删实现了对数据库中员工信息的增加和删除。员工可以通过员工
29、号或员工姓名对员工信息进行查询。2、工资结构设置模块根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资、工龄工资三部分。该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。3、 工资汇总模块用户在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇总模块会自动对员工工资进行汇总。根据以上系统功能模块图及功能需求描述,可作出系统设计类图如下:employeeprintpayStructIDNameSexdepartmentPositionageJobbasicPaypositionPayagePayPay( )PaySelect( )Land( )Select
30、( )Count( )Lever( )Standard( )DeleteAdd employeeAdminerChangeemployee PrintpayStruct五 数据库设计在数据库应用系统的开发过程中,数据库的结构设计是其中非常重要的一个环节。数据库结构的好坏将直接对应用系统的效率以及实现的效果产生影响。好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,能简化基于此数据库的应用程序的实现等。1 数据库需求分析数据库需求分析是数据库结构设计的第一阶段,是非常重要的一个阶段。这个阶段主要是确定基本数据,数据结构以及数据处理的流程,组成一份详尽的数
31、据字典,为以后进一步设计打下基础。在仔细调查企业工资管理过程的基础上,我们得到本系统的数据流程图如下:基础工资设定岗位工资设定工龄工资设定工资标准设定员工信息设定员工工资汇总 系统数据流图通过对企业工资管理的内容和数据流程分析,针对企业工资管理系统,我们设计的数据项和数据结构如下: 员工基本状况 包括的数据项有员工号、员工姓名、性别、所在部门、所在岗位、工资级别等。 工资级别的工资金额 包括的数据项有工资级别、工资额。 企业部门以及工资岗位信息 包括的数据项有部门名称、工作岗位名称、工作岗位工资等。 工龄的工资金额 包括的数据项有工龄及对应的工资额。 公司福利表 包括的数据项有福利名称、福利值
32、。 工资信息 包括的数据项有员工号、员工姓名、员工基础工资、员工工龄工资、员工岗位工资、员工实得工资2. 数据库概念结构设计这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。该系统设计规划出的实体有:员工实体、员工工资实体、工资等级实体、部分岗位实体、工龄实体、公司福利实体。实体和实体之间的E-R图为: 员 工 工资等级部门岗位工 龄公司福利对 应 员 工 工 资包 括福利费用工龄工资岗位工资基础工资 对应 对应 对应 对应 工资等级工 龄 公司福利 部门岗位 实体间E-R图3. 数据库逻辑结构设计将数据库概念结构转化为Vis
33、ual FoxPro6.0数据库系统所支持的实际数据模型,也就是数据库的逻辑结构.再实体与实体关系的基础上,形成数据库中的表格以及各个表格之间的关系。每个表示数据库中的一个表,本系统中涉及到6张表。员工信息表:Personnel.dbf基础工资设置表:course.dbf岗位工资设置表:rank.dbf工龄工资设置表:age.dbf管理员注册表:adminer.dbfa.员工信息表:Personnel.dbf字段字段名类型宽度说明1员工号字符型3数字2员工姓名字符型10小于等于5个汉字3员工性别字符型2“男”或“女”4岗位名称字符型14小于等于7个汉字5工龄数值型2199之间6工资等级数值型2
34、199之间b.基础工资设置表:course.dbf字段字段名类型宽度说明1工资等级数值型2199之间2工资标准数值型419999之间c.岗位工资设置表:rank.dbf字段字段名类型宽度说明1岗位名称字符型14小于等于7个汉字2工资标准数值型419999之间d.工龄工资设置表:gongling.dbf字段字段名类型宽度说明1工资等级数值型2199之间2工资标准数值型419999之间e.管理员注册表:adminer.dbf字段字段名类型宽度说明1注册名字符型10任意字符2口令字符型10英文字母或数字 4.工资管理信息系统的功能实现报告一. 用户登陆界面及系统主界面二. 员工基本信息增删改功能员工
35、基本信息模块主要分为员工信息浏览界面和员工信息查询界面1.员工信息浏览界面如图: 2.员工信息查询功能员工信息查询界面如下图所示:三. 工资结构设置模块编码设计工资结构设置模块界面如图所示:其中,基础工资设置窗体如下:四. 其他功能设计系统还增加了税额计算功能及节点显示窗: 系统小结 虽然这个系统设计功能非常简单,而且我想,在实际运用中,还有些不足,因为工资的的内容非常丰富,这里涉及到的仅仅是工资管理的一部分简单内容,离实际的客户需求肯定还有差距。例如工资管理和人事管理,考勤管理以及财务账表的关联考虑得还不完善。最好是这几部分的数据可以相互转化利用,不需要重复录入,针对工资管理,还应该建立一个有普遍意义的模型,这样对用户来讲,就比较容易通过修改有关管理制度来适应我们开发的系统。 由于知识浅薄,经验不足及阅历颇浅,因此,在该系统的设计方面还有很多不足,比如功能过少,界面不醒目等问题,我们会在下一阶段的学习过程中,根据具体要求不断的修改、完善,争取使系统慢慢趋于完美。在本系统的设计过程和论文编写过程中,有好多老师、同学和朋友给予了我们许多无私的帮助,尤其是我们的教导员给我们的论文提出了很多宝贵意见,在此,向这些给予帮助的人表示衷心的感谢。 2009.05.09
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100