《工资管理系统实验报告》由会员分享,可在线阅读,更多相关《工资管理系统实验报告(9页珍藏版)》请在金锄头文库上搜索。
1、 工资管理系统实验报告工资管理系统实验报告一、一、实验目的实验目的设计一个职工工资管理系统,能够方便的对职工及工资情况进行管理,统计每个部门的员工,整个公司的员工工资,员工信息等,包括工资,奖金,纳税等等。并能够修改员工的各种信息,在需要的时候可以方便的排序。采用菜单交互方式,设计一个界面友好,操作简单方便的软件系统。二、二、实验工具实验工具运行环境:WINDOWS 98,WINDOWS 2000/xp,C+程序设计教程 c+ STL 程序员编程指南等。采用 Dos 操作界面、菜单方式Microsoft Visual C+ 6.0 软件开发Windows XP 操作系统三、三、实验内容实验内容
2、1、项目实现的功能点(1) 系统必须是菜单操作方法,进入功能必须打开菜单,并且每个菜单都有相应的帮助,菜单之间能够灵活的切换。用户分三种权限:一般的员工用户,员工工资管理员,系统管理员。(2) 根据登陆方式,选择相应的操作方式;a)如果是一般的员工用户(默认权限为 r 即只读) ,就只能按照各种方式查看数据,并且只能查看自己的信息和工资情况,并且可以网上修改自己的信息等等功能;b)如果是员工工资管理员,除了可以查看数据外还能编辑员工基本信息数据。C)如果是系统管理员,他可以拥有员工工资管理员的所有功能,并且可以创建用户,并且可以修改员工的工资体系和大小系统初始化系统管理员(用户名:root,密
3、码:123456) 。(3)能够对员工基本信息、工资的基本信息、工资的扣除费用信息进行统计。(4)员工基本信息、工资的基本信息、工资的扣除费用信息存储在相应的文件中。一切操作依赖与链表与向量。(5)登录的用户名和密码应该存储在单独的文件中,暂时无加密算法。(6)统计功能:A)统计所有公司员工信息。B)统计各部门员工信息。C)统计所有员工工资 TOP10D)统计所有员工扣除费用 TOP10。E)统计各职务工资信息。(7)查找功能A). 按员工姓名查找 B) 按工资卡号查找 C) 按身份证号查找 D) 按公司部门查找 E) 按技术职称查找 (8)排序功能A) 可以根据员工的实得工资排序。B) 可以
4、根据员工的职务工资排序。C) 可以根据员工的扣除工资排序。D) 可以根据员工的交税信息排序。E) 可以根据员工的姓名排序。F) 可以根据员工的职务排序。(8)系统的操作A) 系统在退出时自动保存、登录时自动读取磁盘文件。B) 有文件的打开和载入C) 系统在退出时,询问是否退出并保存(9) 系统界面友好,易操作。2、系统整体框架系统初始化 系统管理员添加各 类员工信息用户登陆普通员工工资管理员系统管理员查询自己信息查询所有员工资息更改员工密码拥有工资管理所有权利创建员工员工 Sahnchu 修改员工的工资体系和大小更改密码编辑员工基本信息2.1项目包含模块菜单模块:主要有登录主界面,登录界面,普
5、通员工界面,工资管理员登录界面、系统管理员登录界面.通过用户的不同选择进行交互.功能:实现不同级菜单之间的显示和相互之间的界面切换功能.用户模块:功能:集合了用户创建,查询用户信息,修改用户信息等功能。密码模块 :功能:集合了密码输入保护,密码检验等功能.查找模块功能:集合了按照可以根据员工的姓名查找、根据工资卡号查找、根据身份证号查找、根据部门查找、根据技术职称查找等一系列的查找贡功能。排序模块:功能:集合了根据员工的基本工资排序、根据员工的职务工资排序、根据员工的扣除工资排序、根据员工的交税信息排序、根据员工的姓名排序、根据员工的职务排序等一系列的排序功能。统计模块功能:集合了统计所有公司
6、员工信息、统计各部门员工信息、统计所有员工工资TOP10、统计所有员工扣除费用TOP10、统计各职务工资信息等一系列的排序功能编辑模块功能: 实现员工信息的编辑、账单编辑、工资编辑、各种费用的编辑。添加删除用户模块功能:实现普通用户和工资管理的添加。3详细设计3.1实现算法选择排序算法时间,空间复杂度:最坏情况是待排序记录关键字的逆序排列,此时每一趟选择排序需进行i次比较,3i次移动。经过n-1趟选择排序后,总的比较次数为: n(n-1)/2 ,总的移动次数为次2n(n-1)/2,因此该算法的时间复杂度为 ,空间复杂度为O(1)。另外,选择排序法是一种效率较高的排序方法。3.2主要函数及作用关
7、于文件读取:void readInfo() /进入系统时从各文件中读入数据到全局链表中void saveInfo() /退出系统前保存当前链表到文件关于用户:void initInfo( InforNode * aNewEmployee ) /初始新用户信息void creatNewUser()/创建新用户及其信息关于登录:string emplogin()/用于普通员工登录string salalogin() /用于工资管理员登录int syslogin()/用于系统管理员登录关于功能:int statInfo()/统计员工信息Int managerSearch() /管理员查找Int ma
8、nagerSort()/ 管理员排序Int smCheck()/管理员查看Int smEdit()/管理员编辑4测试分析4.1.测试环境配置1测试工具:Microsoft visual studio 6.02软件环境:操作系统window-xp3资源文件: 职工工资管理系统V1.0测试版4.2 测试步骤登陆功能 : 良好文件操作功能: 良好普通员工查询个人信息功能: 良好普通员工修改个人密码功能: 有待改善工资管理员统计员工信息:良好工资管理员查找员工信息:良好工资管理员对员工信息进行排序:良好工资管理员对员工信息进行编辑:密码修改功能需要升级系统管理员统计员工信息:良好系统管理员查找员工信息
9、:良好系统管理员对员工信息进行排序:良好系统管理员对员工信息进行编辑:密码修改功能需要升级系统管理员创建用户功能: 良好系统管理员更新工资体系功能:良好各级之间返回调用功能:良好退出并保存功能:良好4.3 问题及解决方案问题 1:密码没有进行加密存储,导致安全性能下降!解决方法:采用一定的加密算法,用加密过的信息来存储文件,读取时解密即可!问题 2:各项信息的输入没有长度和类型限制,以至于在不知情的情况下无法输入正确的信息长度和类型。解决方法:对信息输入部分做一定的限制并加以异常和容错处理,提示用户用什么样的输入增加程序的健壮性。问题 3:比较字符串属性值时,大多数采用的是 “=” ,这会导致一些不必要的逻辑错误 。解决方法:使用字符型比较函数 strcmp(str1,str2)若相等,则值为 0。问题 4:修改密码功能不够完善,用户只需输入一次即可更改,安全性差。解决方法:对该方法进行升级,作出更有效的密码更改体系。四、实验结果1 静态测试,走查代码没有太大问题。2 动态测试界面初始化状态良好;界面控件功能测试良好;业务功能测试良好;数据传递和接收一致,数据计算或处理后状态正确;组合模块整体运行稳定,未出现死机;3 确定问题属性分为四类:错误、缺陷、失效、故障