学校内部工资管理系统软件工程导论实验报告(编辑修改稿)内容摘要:

用户登录 财务管理 登录 输入教职职工的信息银行账号及员工工资 结束 输出职工工资表、工资发放账单表 用户登录 职工登录 输入职工 ID及登录密码 结束 输出职工出勤情况 ,工资计算标准 ,工资金额 14 登录用户管理模块 图 45 用户登录管理 人事管理模块 图 45 人事管理模块图 员工出勤管理模块 图 45 员工出勤管理模块图 用户登录 输入用户角色 用户 ID 及密码 结束 输出登陆结果 用户登录 输 入 人事 调动 信 息以 及员 工 基本 信息 结束 用户登录 输入员工 ID及出勤信息 结束 15 五、数据字典 定义的变量的汇总如下: 数据字典 变量 描述 类型 长度 取值 Personnel 职工类 类 —— —— boo 在职判断标志 bool 1 true/false bh 职工编号 int 2 见需求规格说明 书 t 出勤次数 int 2 031 m 基本工资 int 2 见需求规格说明 书 d 奖金额 int 2 见需求规格说明 书 k 扣款金额 int 2 见需求规格说明 书 money 净工资 int 2 —— Huiz[][] 存储汇总表 int 1000*6*2 account 用户名 char —— —— password 密码 char —— —— 其它有些变量没有出现在这里,是因为它们过于复杂,不能这样分类。 16 六、概要设计 根据前面得到的数据流程图,用面向数据流的设计方法(《软件工程导论》P95)导出系统结构图如下: 图 61 系统结构图 主模块 判断用户登陆 进入系统 退出系统 用户输入账户、密码 人事部 财务部 返回出错信息 出勤统计 奖 金扣款计算 人员异动 工资计算 表格派送 人员异动 普通用户登录 工资细节查询 17 七、详细设计说明书 编写目的 在使用程序语言编制程序之前,需要对所采用算法的逻辑关系进行进行分析,设计出全部必要的过程细节,并给予清晰的表达,使之成为编码的依据,也作为软件测试人员及软件维护人员进行测试及维护时的参照。 背景 项目的提出:工资管理是学校管理的重要组成部分,它与学校的人事管理、财务管理有着密切的联系。 对于劳资关系相对复杂的学校,手工进行工资的发放工作往往需要耗费大量的人力与时间。 由于工资发放在时间和操作上存在着一定的重复性、规律性 ,这使得工资管理的计算机化成为可能,该项目的提出正是为了在此基础上进一步实现企业员工工资管理的规范化和自动化。 系统的结构 工 资管理系统是学校管理系统的一个有机组成部分,它并非一个独立的系统,需要和员工人事管理、财务管理等系统连接,能够从这些系统中正确的取得员工基本信息、基本工资、奖金、出勤状况等信息。 本系统与其他系统联系紧密,那么就得通过相应的接口相联系。 本工资管理系统分为四大模块,它们分别是登录模块、普通用户、人事管理员用户、财务管理用户模块。 普通用户的权限非常小,所以享受的服务也非常少,只能 查询自己的一些简单信息,不能修改任何信息。 管理员模块最为复杂,它是工资管理系统的核心部分,所有的设置、修改、计算和对数据库的修改都在这个模块。 系统帮助为普通用户和管理员用户所共有。 由前面的数据流图和系统结构图进行进一步的分析和设计,得到了后面的一些程序流程图。 18 程序流程图 用户注册 图 71 顶层图 图 72 用户注册的详细层图 点击新用户注册 填写相应的信息注册 P1 D 添加用户信息 返回用户信息 P2 注册成功 填写信息 获得确认 点击新用户注册 注册成功可登录 填写相应的信息注册 P 填写信息 获得确认 19 图 73 用户注册的详细流程图 N Y 注册系统 选择注册类型 人事管理用户注册 财务管理用户注册 普通用户注册 注册界面 输入注册信息 信息是否有效 注册成功 20 用户登录 图 74 用户登录流程图 N Y N N 输入账号和密码 用户类型 普通用户登录 财务管理用户登录 输入账号和密码 人事管理用 户登录 输入账号和密码 账 号 和 密码 是 否 正确 账 号 和 密码 是 否 正确 普通用户界面 财务管理用户界面 查看基本信息 查看工资、奖金、加班时间等信息 人事管理用户界面 Y Y N 账 号 和 密码 是 否 正确 登陆系统 21 人事管理 图 75 人事管理流程图 员工工资查询 图 76 员工工资查询流程图 员工出勤管理 图 77 员工出勤管理流程图 Y N Y N 选择操作功能 输入职工编号 显示职工的基 本信息 判断是否退休 修改职工为退休人员 填写职工调动情况 输入职工信息 输出职工本月工资情况 输入职工编号 输入职工出勤情况 根据赏罚规定计算职工的工资 输入职工工资情况 22 财务部管理 图 78 财务部管理流程图 读取人事部传来的数据 是否是有离退休人员 用户输入信息 银行发放表发给银行、工资表 发 给 部 门(系) 判断是否是做工资计算 N Y 计算员工的工资 (工资 +奖金 扣款 ) 统计并生成工资表、部门汇总表、扣税款表、银行发放表,然后保存 判断是否是表格派送 Y N 清除该职工的账号,转移关系 结束 Y N 23 程序 部分代码 然后根据这些程序流程图进行实现,得到了如下的主要代码: 用户注册 用户注册的代码如下: void wele1() { printf(\n=================================================\n)。 printf( | | 请输入序号 | |\n)。 printf( | |。 | |\n)。 printf( | |。 | |\n)。 printf( | |。 | |\n)。 printf( | |。 | |\n)。 printf( | | | |\n)。 printf(===================================================\n)。 } /* 注册界面 */ void wele2() { printf(\n=================================================\n)。 printf( | | 请输入序号 | |\n)。 printf( | |。 | |\n)。 printf( | |。 | |\n)。 printf( | |。 | |\n)。 printf(\n=================================================\n)。 } void wele3(){ printf(\n\n\t\t注册须知 \n\n)。 printf(**************************************************\n)。 printf(* ! *\n)。 printf(**************************************************\n)。 } void zhuce() { Registered *reg= new Registered。 char chose。 regwele2()。 if(chose =39。 039。 || chose=39。 439。 ) { 24 while(chose =39。 039。 || chose=39。 439。 ) { printf(您的输入有误,请重新输入: )。 fflush(stdin)。 scanf(%c,amp。 chose)。 fflush(stdin)。 } } else if(chose==39。 139。 ) { system(cls)。 regpzhuce()。 /*普通职工注册 */ } else if(chose==39。 239。 ) { system(cls)。 regrzhuce()。 /*人事管理人员注册 */ } else (chose==39。 339。 )。 { system(cls)。 regczhuce()。 /*财务管理人员注册 */ } } /* 帐户判断 */ 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。 } 25 } 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)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。