已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程导论 实实 验验 报报 告告 学 院 计算机科学与技术学院 专业班级 指导教师 项目成员 项目课题 学校内部工资管理系统 时 间 2011 年 5 月 I 目目 录录 小组情况小组情况 1 1 一 可行性分析报告一 可行性分析报告 2 2 1 1 引言 2 1 1 1 编写目的 2 1 1 2 背景 2 1 2 可行性分析的前提 3 1 2 1 要求 3 1 2 2 开发目标 3 1 2 3 条件 假定和限制 3 1 2 4 可行性研究的方法 4 1 3 技术可行性 4 1 3 1 简要描述 4 1 3 2 与现有系统的优越性比较 4 1 4 经济可行性 5 1 4 1 成本 5 1 4 2 效益 5 1 5 社会因素可行性分析 6 1 5 1 法律方面的可行性 6 1 5 2 操作可行性 6 1 6 结论意见 6 二 软件需求规格说明书二 软件需求规格说明书 7 7 2 1 背景材料 7 2 2 功能需求分析 7 2 2 1 管理员用户设置 7 2 2 2 普通用户创建 8 2 2 3 用户登录 8 2 2 4 远程信息接收与传递 8 2 2 5 信息提醒 8 2 2 6 职工编号的判断 9 2 2 7 职工工资的计算 9 2 3 性能需求分析 10 2 3 1 运行环境 10 2 3 2 精度 10 2 3 3 响应时间 10 2 3 4 内存占用 11 2 3 5 安全与更新 11 2 3 6 故障处理 11 三 数据流程图三 数据流程图 1212 II 四 功能分析图四 功能分析图 1313 4 1 员工工资标准模块 13 4 2 工资统计模块 13 4 3 财务处理模块 13 4 4 职工工资查询模块 13 4 5 登录用户管理模块 14 4 6 人事管理模块 14 4 7 员工出勤管理模块 14 五 数据字典五 数据字典 1515 六 概要设计六 概要设计 1616 七 详细设计说明书七 详细设计说明书 1717 7 1 编写目的 17 7 2 背景 17 7 3 系统的结构 17 7 4 程序流程图 18 7 4 1 用户注册 18 7 4 2 用户登录 20 7 4 3 人事管理 21 7 4 4 员工工资查询 21 7 4 5 员工出勤管理 21 7 4 6 财务部管理 22 7 5 程序部分代码 23 7 5 1 用户注册 23 7 5 2 用户登陆 29 7 5 3 人事部管理 33 7 5 4 财务部管理 36 八 测试报告八 测试报告 3939 8 1 单元测试 39 8 1 1 用户注册登陆测试 39 8 1 2 人事部测试 41 8 1 3 财务部测试 44 8 2 黑盒测试 45 8 2 1 测试用例表 46 8 3 测试总结 48 九 参考资料九 参考资料 4949 1 小组情况小组情况 项目题目 学校内部工资管理系统 项目成员 肖远昊 闫培 马瑞良 王高明 项目负责人 王高明 任务分配表任务分配表 任务模块任务模块人员安排人员安排 可行性分析研究 需求分析 模型的建立 结构化设计 系统的编码 单元测试 黑盒测试 2 一 可行性分析报告一 可行性分析报告 1 1 引言引言 1 1 11 1 1 编写目的编写目的 可行性研究的目的是为了对问题进行研究 以最小的代价在最短的时间内 确定问题是否可解 经过对此项目进行详细调查研究 初拟系统实现报告 对软件开发中将要 面临的问题及其解决方案进行初步设计及合理安排 明确开发风险及其所带来 的经济效益 本报告经审核后 交项目经理审查 1 1 21 1 2 背景背景 工资管理是学校很重要的一个管理事项 它与学校的人事管理 财务管理 有着密切的联系 目前大多学校内部工资的管理 基本上是手工操作或是基于 excel 或 word 下的应用 对于劳资关系相对复杂的学校 手工进行工资的发放 工作往往需要耗费大量的人力与时间 对信息的管理者有诸多不便 由于工资 发放在时间和操作上存在着一定的重复性 规律性 这使得工资管理的计算机 化成为可能 因此有必要开发一个基于网络的工资管理系统 能实现数据的录 入 插入 删除 查询 统计 更新 打印等功能 同时 为了信息的保密与 安全 系统还要提供一定的安全机制 开发软件名称 学校内部工资管理系统 项目任务提出者 计算机科学与技术学院软件 0902 班 王高明 马瑞良 肖远昊 闫培 项目经理 王高明 用户 太原理工大学 3 1 2 可行性分析的前提可行性分析的前提 1 2 11 2 1 要求要求 1 功能 工资管理系统的主要功能是 月工资发放和处理 标准工资库维护 临时工资发放 查询与系统维护和系统帮助 2 性能 方便 快捷 有效地完成工资发放的各项任务 在工资数据统计 和报表打印等方面 具有准确率高 速度快等特点 3 系统的输入 输入所有职工的标识 如职工的姓名 工号 所在部门 各 项应发的金额和各项应扣的金额 4 系统的输出 输出各种报表 上报的文件等 5 安全和保密要求 本系统在使用前必须正确输入密码 否则系统将不能运 行 进入系统后 要想修改密码或对系统的一些信息进行修改 也必须输入高级 用户密码 对数据库中的关键数据应该要求保密 服务器的管理员享有对工资数 据信息库的管理与修改 用户只享有对信息的查询和部分信息修改 如个人信 息 1 2 21 2 2 开发目标开发目标 本系统开发目标应该考虑到以下几个方面的因素 人力与设备费用的相对减 少 人员利用率的改进 数据处理速度的提高 数据统计精度的和准确率的提高 管理信息服务的改进 自动决策系统的改进 人员利用率的改进 1 2 31 2 3 条件 假定和限制条件 假定和限制 项目开发中所具备的条件 假定和所受到的限制包括以下几个方面 1 所建议系统运行寿命的最小值 系统运行寿命的最小值应达三年 2 硬件 软件 运行环境 开发环境等条件 硬件环境要求如下 奔腾 II 或更高档的计算机 笔记本电脑 运行时内存的要求是 10MB 以上 4 安装所需硬盘空间是 150MB 打印机可选激光打印机 软件环境要求如下 中文 Windows98 Windows2000 Me xp 7 3 系统投入使用的最晚时间 系统投入使用的最晚时间为 2011 年的 10 月 中旬 1 2 41 2 4 可行性研究的方法可行性研究的方法 1 客户调查 通过对客户调查 了解和认知客户对软件产品的需求 按照客 户的要求不仅要实现月工资发放 而且要实现临时的工资发放 同时还要有数据 库备份 GZGL 系统的主要功能为 月工资发放和处理 标准工资库维护 临时 工资发放 查询与系统维护和系统帮助 2 同类产品调查 通过对市场中相关或同类产品的调查 笔者了解到 工资 管理系统大体上都应该实现工资的统计 汇总 报表打印等功能 1 3 技术可行性技术可行性 1 3 11 3 1 简要描述简要描述 工资管理系统是一个数据库管理和查询的系统 本系统采用常规的数据库 处理方法 根据工资信息管理的特点对数据库进行操作 如对工资发放项目的修 改 人员的增删 工资数据的添加和修改 工资的统计 工资的汇总 临时发 放工资的管理 上报文件 打印等给予了优化 1 3 21 3 2 与现有系统的优越性比较与现有系统的优越性比较 工资管理系统有利于工资发放的统一 有效管理 与传统的手工记账方式相 比 占据空间小 易于统计工资总额 易于更新 易于数据备份 与其它工资系 统相比 该系统实现了对不同类型职工的工资发放 系统功能比较全面 而且价格 5 也比较合理 工资管理系统具有高效率的系统灵活性 当修改工资库中某个职工的工资 情况或者修改某个工资发放项目时 只需在工资数据编辑状态下对该职工的工号 进行锁定 或者对某个工资项目进行锁定 即可对锁定的项目进行修改 而对其它 的人员或项目无权修改 这样可以提高系统的准确性 工资管理系统能够较好保证数据库的安全 户可以对后台数据库进行加密 同时还可以给系统设定密码 现有的技术已较为成熟 硬件 软件的性能要求 环境条件等各项条件良 好 利用现有技术条件完全可以达到该系统的功能目标 同时 考虑给予的开 发期限也较为充裕 预计系统是可以在规定期限内完成开发 1 4 经济可行性经济可行性 估算新系统的成本效益分析 其中包括估计项目开发的成本 开发费用和 今后的运行 维护费用 估计新系统将获得的效益 估算开发成本是否会高于 项目预期的全部经费 并且 分析系统开发是否会对其它产品或利润带来一定 影响 1 4 11 4 1 成本成本 1 基本投资 硬件设备 PC 机 软件 Windows98 Windows2000 xp 7 Delphi7 sql 2000 2005 Visual Basic 6 0 SQL Server 2000 Word 2005 2007 2 其他一次性支出 主要是软件设计和开发费用 软件设计开发过程当中 投 入设计和开发费用包括 购买书籍的资金 需求分析的费用 其中包含技术开发 上的花销 生活花销等 3 经常性支出 主要是软件后期维护费用 软件开发完毕后投入使用时 对 软件产品进行的后期软件维护所需要支出的费用 6 1 4 21 4 2 效益效益 系统的效益可以从经济效益和社会效益两方面考虑 本系统的应用使工资 管理实现科学化 规范化进一步实现学校员工工资管理的规范化和自动化本系 统 减少了人力投资和办公费用的开销 极大地提高办公效率 并且该系统定会 受到各学校的欢迎 拥有一定的市场 可在短时间内收回成本 并有可观的经 济效益 投入使用将获得的经济效益分为直接效益和间接效益两方面 直接效 益主要体现在 原来 4 人 周工作量将只须 1 人 周完成 间接效益体现在 减少支 付 3 人工资 1200 元 人月 共计 3600 元 月 1 5 社会因素可行性分析社会因素可行性分析 1 5 11 5 1 法律方面的可行性法律方面的可行性 系统开发所用软件均采用正版 系统的研制和开发 将不会侵犯他人 集 体和国家的利益 不会违反国家政策和法律 本小组的工资管理系统是以微软为操作平台的 但是现在在中国微软所 推出的操作系统盗版非常猖獗 作为系统的开发者 我建议用户采用正版的微 软操作系统 如果因为使用盗版操作系统所带来的任何损失 本开发小组概不 负责 1 5 21 5 2 操作可行性操作可行性 本系统定位于各高校 也可以适用于各中小型企业 运用此系统进行工资 管理 给各院校教职工带来极大的方便 只要可以熟练得使用 window 操作系统所提的各种功能 就很方便操作本 系统 而且本系统有友好的用户界面 有良好的安全性设置 有详细的操作 说明书 这样更使各类用户很快地掌握系统的使用方法 7 1 6 结论意见结论意见 由于投资效益比远大于 100 技术 经济 操作都有可行性 可以进行开 发 8 二 软件需求规格说明书二 软件需求规格说明书 2 1 背景材料背景材料 随着信息化时代的到来 社会生活的各个方面都发生着翻天覆地的变化 当然学校 这个教育的前沿阵地也发生着巨大的变化 传统的人工工资管理 存在着很大的不足 如处理量随着职工人数的增多而急剧上升 靠人工来处理 显得力不从心 而且极其容易出错 万一出错 将造成极大的麻烦 而以计算 机代替人工执行一系列的操作 将极大地提高办事效率和准确率 并减轻了办 公人员的负担 由此 学校工资管理系统就应运而生了 通过我们对学校现有的工资管理 系统的调查 并对工作人员的提出的要求进行细致地分析 我们设计了一个实 用的学校工资管理系统 下面我将介绍我们项目组所开发的一个学校工资管理 系统 本说明书对软件的功能需求 性能需求 系统的数据处理流程 用户权限 等做了详细的说明 通过阅读本说明书 开发人员能够对该系统的各个方面进 行详细的了解 进而依照本说明书对系统进行高效的开发 2 2 功能需求分析功能需求分析 本系统所应该包括的功能有 2 2 12 2 1 管理员用户设置管理员用户设置 初次使用要求用户设置至少两个管理员 分别隶属于人事部和财务部 人事部管理员的权限有 设置各个部门或系的基本工资 奖金 扣款 人 事信息管理 添加 注销等 财务部管理员的权限有 接收人事处的工资 人事等信息 对工资详情进行核对 工资单的打印 传送工资详情给银行 界面上提示输入管理员用户名和密码 9 2 2 22 2 2 普通用户创建普通用户创建 由管理员根据职工的信息创建各个普通用户 即学校的职工 普通用 户的权限仅限于查看工资 奖金 扣款细节等 2 2 32 2 3 用户登录用户登录 请用户输入用户名和密码 判断该用户是管理员还是普通用户 根据 用户类型对其所能够进行的操作进行提示和限定 若用户名不正确则输出 用户不存在的提示信息 并清空登录框 密码不正确则输出 密码错误 的提示信息并清空登录框 最多可以输入三次 三次不正确系统会自动关 闭且只能在 10 分钟后再次登录 2 2 42 2 4 远程信息接收与传递远程信息接收与传递 由人事部的管理员进行职工出勤信息的接收与处理 并将出勤工资 奖金 扣款等传送给财务部的管理员 若出现职工离退休等情况 要及时 修改职工信息 并通知财务部等部门 财务部的管理员负责接收人事部的工资详情 并在规定的时间内将职 工的工资表传送给银行 并将工资条发给各个部门 2 2 52 2 5 信息提醒信息提醒 在每个月 20 日前 2 天提醒各部门 院系的负责人各个部门 包括系和部门 将出勤情况上报人事处 23 日前一天提醒人事部管理员将出勤工资 奖金及扣 款清单送到财务处 每个月月底前三天提醒财务部管理员将教职工的工资表做 好并将数据送银行 并且在每个月 3 号提醒将工资条发给每个单位 10 2 2 62 2 6 职工编号的判断职工编号的判断 定义每个普通用户的用户名为四位数字组成的编码 前两位是部门 或院 系 的编码 后两位是个人编号 10 个部门每个部门的职工数为 20 其中个人 编号从 01 到 20 8 个系每个系的职工数为 100 其中个人编号从 00 到 99 各个部门 院系的编号定义如下 编号及工资定义编号及工资定义 部门部门编号编号月基本工资月基本工资院系院系编号编号月基本工资月基本工资 教务处103800计算机学院203500 学生处113500软件学院213500 财务部124000土木与建筑学院223000 人事部133500机械学院233000 保卫处143500电气学院243200 科技部154000信息学院253200 招生就业处163500文学院263500 后勤处173500经济管理学院273200 党政部184000 对外交流部193800 2 2 72 2 7 职工工资的计算职工工资的计算 奖金扣款细节奖金扣款细节 突出贡献等级突出贡献等级奖金额 奖金额 出勤情况 天 出勤情况 天 扣款额 扣款额 A800 210 B60020100 C30019200 D20018400 11 E100welcome2 if chose 4 26 while chose 4 printf 您的输入有误 请重新输入 fflush stdin scanf c fflush stdin else if chose 1 system cls reg pzhuce 普通职工注册 else if chose 2 system cls reg rzhuce 人事管理人员注册 else chose 3 system cls reg czhuce 财务管理人员注册 帐户判断 int psearch char user char pwd char real pwd 判断帐号是否相同 不相同返回 1 FILE file char user buff 256 pwd buff 256 file fopen cFile r if file return 0 while feof file if fscanf file s s n user buff pwd buff EOF return 0 if strcmp user buff user if real pwd strcpy real pwd pwd buff return 1 27 fclose file return 0 int rsearch char user char pwd char real pwd 判断帐号是否相同 不相同返回 1 FILE file char user buff 256 pwd buff 256 file fopen rFile r if file return 0 while feof file if fscanf file s s n user buff pwd buff EOF return 0 if strcmp user buff user if real pwd strcpy real pwd pwd buff return 1 fclose file return 0 int csearch char user char pwd char real pwd 判断帐号是否相同 不相同返回 1 FILE file char user buff 256 pwd buff 256 file fopen wFile r if file return 0 while feof file if fscanf file s s n user buff pwd buff EOF return 0 if strcmp user buff user if real pwd strcpy real pwd pwd buff return 1 fclose file 28 return 0 添加用户 int padd char user char pwd double coin n FILE file file fopen cFile a if file return 0 fprintf file s s n user pwd coin n fclose file return 0 int radd char user char pwd double coin n FILE file file fopen rFile a if file return 0 fprintf file s s n user pwd coin n fclose file return 0 int cadd char user char pwd double coin n FILE file file fopen wFile a if file return 0 fprintf file s s n user pwd coin n fclose file return 0 int pwenjian char user char pwd double coin if psearch user pwd NULL return 0 else padd user pwd coin return 1 int rwenjian char user char pwd double coin if rsearch user pwd NULL return 0 29 else radd user pwd coin return 1 int cwenjian char user char pwd double coin if csearch user pwd NULL return 0 else cadd user pwd coin return 1 void pzhuce 注册 struct Registered p r int i 0 k 0 judge1 judge2 char name 30 char pwd 30 ch char ch int n r struct Registered malloc sizeof struct Registered p struct Registered malloc sizeof struct Registered welcome2 printf 请输入您的账号 fflush stdin gets name fflush stdin printf 请输入您的密码 fflush stdin scanf s for n 0 n 0 strcpy p psw if pwenjian p id p psw 0 存入文件并输出基本信息 system cls printf 注册成功 printf 您的注册信息如下 请牢记 n printf 账号 puts p id printf 密码 puts p psw fflush stdin scanf c fflush stdin if ch 1 system cls else exit 0 else 如有相同帐号 注册失败 system cls printf 您输入的帐号已经存在 注册失败 n printf 请选择 按 1 返回主页面 按任意键退出 fflush stdin scanf c fflush stdin if ch 1 system cls else exit 0 31 7 5 27 5 2 用户登陆用户登陆 登录模块说明登录模块说明 1 程序 描述本程序是系统启动时首先运行的程序 用户通过本程序的认 证进入系统 通过本程序 操作系统在内存为用户分配一段内存 而且必须在 此用户退出之前常驻内存 以便对本系统的所有操作都是在此登陆用户下进行 2 功能 本段程序功能非常简单 提供新用户注册和响应登陆者 并根据 用户的权限打开不同的登陆界面 3 性能 该模块若要注册新用户和响应登陆者 就必须对数据库的用户表 进行查询 核对和更改 经过反复测试与优化 我们将登陆时间限制在 5 秒以 内 若超过 5 秒 就显示登陆出错信息 对新用户注册数据提交时间限制在 5 秒 若超过 5 秒 就提示注册失败 4 输人项 本程序的输入就两大类 用户名 工号 和密码 以下为这两 类输入项作以下限制 1 工号 必须是数字 字母组成 2 密码 必须是数字 字母组成 5 输出项 有四类输出结果 登陆成功显示财务管理用户界面 登陆成功 显示人事管理用户界面 登陆成功显示普通职工界面 登陆不成功显示错误信 息 6 尚未解决的问题本模块不能更好控制多次错误登录 本系统的处理方式 是退出本次登录 该用户只要再次运行程序即可继续登录 普通员工登录设计说明 普通员工登录设计说明 1 程序描述 本段程序主要为普通用户设定的 该程序所获得的内存保存 在登录一直到退出登录为止 2 功能 本段程序主要是区分普通用户和管理员用户 普通用户享有的权 限很小 所享受的服务也相应的减少 只能查看自己的基本信息和自己的工资 信息 其功能可用如下的功能模块图描述 3 性能 该模块主要是查询自己的基本信息和基本工资 由于数据处理量 32 很小 所以要求每次执行响应时间不得超过 1 5 秒 4 输人项 按界面要求输入要执行的命令的编号 5 输出项 显示我的基本信息 如姓名 工号 性别 年龄等 显示我的 工作情况 如出勤工资 奖金 扣款等 6 算法 本段程序思想简单 没有特殊的算法 只是执行对数据库的查询 7 接口 本模块在查询自己信息的时候 要与人事管理系统进行数据交换 那么就得有相应的接口来支持实现 8 存储分配 本段程序只是执行查询功能 功能结束 内存所分配的资源 也就被回收 登录的代码如下 void pdenglu 登陆 FILE fp char account 10 1 password 10 1 h int m 1 char real account 100 帐号缓存 char real password 100 密码缓存 int iFlag 0 printf 请输入您的帐号 fflush stdin gets account fflush stdin printf 请输入您的密码 fflush stdin gets password fflush stdin while m 3 fp fopen cFile r if fp printf 不能打开文件 按任意键退出 scanf c fclose fp 33 exit 0 while feof fp iFlag 0 fscanf fp s s n real account real password if strcmp real account account 0 iFlag 1 if strcmp real password password 0 iFlag 2 break fclose fp if iFlag 0 printf 您输入的帐号不存在或密码不正确 n 请重新输入 n printf 请输入您的帐号 fflush stdin gets account fflush stdin printf 请输入您的密码 fflush stdin gets password fflush stdin m m 1 else break if iFlag 0 printf 您输入帐号密码不正确已经 3 次 您被强制退出系统 按任意键退出 scanf c exit 0 else if iFlag 0 34 printf 登陆成功 scanf c void rdenglu 登陆 FILE fp char account 10 1 password 10 1 h int m 1 char real account 100 帐号缓存 char real password 100 密码缓存 int iFlag 0 printf 请输入您的帐号 fflush stdin gets account fflush stdin printf 请输入您的密码 fflush stdin gets password fflush stdin while m 3 fp fopen rFile r if fp printf 不能打开文件 按任意键退出 scanf c fclose fp exit 0 while feof fp iFlag 0 fscanf fp s s n real account real password if strcmp real account account 0 iFlag 1 if strcmp real password password 0 iFlag 2 35 break fclose fp if iFlag 0 printf 您输入的帐号不存在或密码不正确 n 请重新输入 n printf 请输入您的帐号 fflush stdin gets account fflush stdin printf 请输入您的密码 fflush stdin gets password fflush stdin m m 1 else break if iFlag 0 printf 您输入帐号密码不正确已经 3 次 您被强制退出系统 按任意键退出 scanf c exit 0 else if iFlag 0 printf 登陆成功 scanf c 7 5 37 5 3 人事部管理人事部管理 主要的代码如下 include using namespace std 36 class Personnel public Personnel t 1 boo true m 0 d F 构造函数初始化 t 1 表示没有输入出勤次数 b true 表示职工出事状态是在职的 m 0 表示初始工资为 0 d F 表示没有输入等级 void worktime 出勤情况 void ifworking int a 是否在职 void award 判断贡献等级 void pand Personnel private int t 出勤次数 bool boo 在职判断标志 int m 基本工资 int d 记录奖金额 int k 记录扣款金额 int bh 职工编号 int money void Personnel worktime int time cout time while time 30 time 0 cout time t time 根据出勤计算工资 if t 21 k 0 else switch t case 20 k 100 break case 19 k 200 break case 18 k 400 break default k 800 break cout 扣款额 k endl void Personnel ifworking int a if a 0 37 boo false if boo false cout The person retires n else cout The person keeps working n void Personnel award char award 记录奖励等级 cout input the person s level n cout A is 800 tB is 600 tC is 300 t cout award while award E cout award if award A d 800 else if award B d 600 else if award C d 300 else if award D d 200 else if award E d 100 cout 奖金额度 d endl void Personnel pand int g d do 职工编号的限制输入 cout 请输入人员的编号 bh g bh 100 d bh 100 while g27 g 10 if g 12 g 15 g 18 m 4000 else if g 10 g 19 m 3800 else if g 11 g 24 g 16 g 17 g 20 g 21 g 26 m 3500 else if g 24 g 25 g 27 m 3200 else m 3000 cout 基本工资 m endl 基本工资的判断 void Enter 登录 38 cout Welcome to the Personnel n int main int a 记录是否离职 int n 记录功能选项 Enter 功能表的列举 cout menu is n cout 0 is exit n1 is worktime n2 is ifworking n cout 3 is award n4 is salary n cout n Personnel b while 1 switch n case 0 cout Thank you for the Personnel n cout Exiting n break case 1 b worktime break case 2 cout a b ifworking a break case 3 b award break case 4 b pand break default break if a 0 n 0 break cout 0 is exit n1 is worktime n2 is ifworking n cout n system pause return 0 7 5 47 5 4 财务部管理财务部管理 主要模块的代码如下 include using namespace std bool boo 39 int huiz 1000 6 用数组表示汇总表 void f1 Personnel i money Personnel i m Personnel i d Personnel i k cout 该职工的工资为 Personnel i money endl 工资计算 void f2 huiz i 0 bh huiz i 1 boo huiz i 2 Personnel i m huiz i 3 Personnel i d huiz i 4 Personnel i k huiz i 2 Personnel i money 生成汇总表 void f3 int bh g d do 职工编号的限制输入 cout 请输入人员的编号 bh g bh 100 d bh 100 while g27 g 10 boo true cout 人员变动成功 endl 职工离退休管理 void caiwubu int a money bh g d c bool boo do cout 请选择要进行的操作 endl cout a while a 1 输出提示信息 请用户输入命令选择操作 switch a case 0 f1 break case 1 f1 break 职工工资计算 case 2 f2 break 表格派送 40 case 3 f3 break 离退休人员添加 int main caiwubu system pause return 0 41 八 测试报告八 测试报告 系统测试是工资管理系统的开发周期中的一个十分重要环节 尽管在系统 开发周期的各个阶段均采取了严格的技术审查 但依然难免会留下错误 如果 没有在投入运行前的系统测试阶段被发现并纠正 问题迟早会在运行中暴露出 来 到那时要纠正错误将会付出更大的代价 系统测试占用的时间 花费的人 力和成本占软件开发的很大比例 统计表明 开发较大规模的系统 系统测试 的工作量大约占整个软件开发工作量的 40 50 而对于一些特别重要的大 系统 测试的工作量和成本更大 甚至超过系统开发其他各阶段的总和的若干 倍 8 18 1 单元测试单元测试 8 1 18 1 1 用户注册登陆用户注册登陆测试测试 1 主页面测试主页面测试 输入期望输出实际输出 1注册界面注册界面 2普通职工登录界面普通职工登录界面 3人事管理用户登录界面人事管理用户登录界面 4财务管理用户登陆界面财务管理用户登陆界面 5退出系统退出系统 2 注册系统测试注册系统测试 普通用户 人事管理人员 财务管理人员登录测试一样 输入 输入次数 账号输入密码输入 期望输出实际输出 1tyut1234注册成功注册成功 2tyut1234账号无效输入的账号已存在 注册失败 42 图 8 1 注册界面 图 8 2 注册成功界面 图 8 3 重复注册失败界面 3 登录系统测试 登录系统测试 普通用户 人事管理人员 财务管理人员登录测试一样 输入 输入次数 账号输入密码输入 期望输出实际输出 1tyut1234登录成功登录成功 2tyut12账号或密码错误 输入的账号或密码错误 重新输入 3wer23账号不存在账号不存在 任意键退出 43 图 8 4 登陆成功界面 设计过程中感觉这里最麻烦的就是界面设计 最初是无法进行重新绘图 改用 gotoxy 之后就可以进行重绘了 如下 图 8 5 用户注册登录界面 错误 无法存取文件 最终发现是函数使用错误 应该用 fp fopen a tx w 而不是使用只读模式 r 否则会产生很多错 误 8 1 28 1 2 人事部测试人事部测试 单元测试主要分为人工静态检查和动态 自动 执行跟踪检查 由于时间 的原因 我们只进行了人工静态检查 我通过一些基本路径来进行测试 直接选择退出程序的选项 1 进入人事部后输入 0 则程序会输出欢迎使用 退出 44 这是运行结果 图 8 6 人事部界面 2 选择先输入出勤次数不输入奖励等级 超过 30 或小于 0 会报错 然后重 新输入 选择后直接进行统计工资 因为没有输入初始工资 所以这里还要进 行初始工资的输入 之后程序会输出没有进行等级的输入 不能进行工资统计 运行结果 图 8 7 人事部出勤测试界面 3 选择先输入等级不输入出勤 小于 A 或大于 E 会报错 重新输入 45 选择后直接进行工资的统计 因为没有输入初始工资 所以这里要进行初 始工资的输入 之后程序会输出没有输入出勤次数 不能进行统计 运行结果 图 8 8 人事部修改后出勤测试 4 输入初始工资 但不进行其他的输入 这里程序只会输出基本工资 提示没有输入出勤和奖励等级 运行结果 图 8 9 人事部基本工资判断测试 5 进行离职的输入 不输入 0 为还继续工作 输入 0 为退休 46 运行结果 图 8 10 离职的测试 6 进行所有的输入 查看最后的工资是否计算正确 运行结果 图 8 11 人事部完整功能测试 经过这几个途径的测试 保证了程序的正确性 清晰性 规范性 高效性 47 8 1 38 1 3 财务部测试财务部测试 A A 系统管理员模块测试系统管理员模块测试 根据系统管理员模块进行测试 比如口令设置中验证无效的用户是否能更 改登录口令 当用户名或密码出错时 都会提示其相应的错误 且用户名或密 码三次出错就自动退出系统 当登录成功后 可以添加用户 并且用户可更改 自己的密码 这些都被保存在数据库表中 均达到测
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑电气设计原理与实践课程考试题库及答案解析
- 快餐车驾驶安全常识测试题目及标准答案
- 建筑工程管理案例分析试题集答案详解
- 建筑抗震设计自测题及答案
- 2025年临床药师药品知识与临床应用备考题库及答案解析
- 社区工作者公共基础知识历年考试真题试题附答案
- 创新管理评估范本
- 2025年公司股权分配合同协议
- 小熊行为规范绘本
- 2025年公共场所安防设备安装合同协议
- 歼-15仿真纸飞机制作课件
- 汉泰语相关词的音义对应
- 李镇西《做最好的老师》
- 3分接变压器试验报告
- 现代电子材料与元器件
- 撬装加油站管理制度
- 2023年定陶县广播电视台(融媒体中心)招聘笔试模拟试题及答案解析
- 自主游戏中教师观察分析的要领
- 项目三 金属的塑性变形与再结晶
- 初中信息技术-《初识3DOne软件》教学教学课件
- 第二类医疗器械经营备案经营设施、设备目录
评论
0/150
提交评论