大学工资管理信息系统XYM
- 格式:doc
- 大小:198.50 KB
- 文档页数:14
某大学工资管理信息系统分析、设计与实施(一)必要性
现如今随着社会的不断发展,教育事业的前进,大学的规模日益扩大,对于大学内部的日常管理工作强度的增加,实务的发展使信息化的应用变得十分重要。
经济上的可行性:
管理上的可行性:
技术上的可行性:
(二)大学的组织结构调查
该大学的组织结构
(三)管理业务流程图
(四)数据流程图
(五)数据流字典
(一)数据流的描述
数据流编号:D-01
数据流名称:房费水电费扣款清单
简述:房地产提供的房费及水电费
数据流来源:房地产
数据流去向:财务处
数据项组成:职工证号+职工姓名+房费+水电费
数据流量:约40张/日
高峰流量:约55张/日
数据流编号:D-02
数据流名称:托儿费及交通补贴费扣款清单
简述:总务处提供的职工托儿费及交通补贴费扣款清单
数据流来源:总务处
数据项组成:职工证号+职工姓名+托儿费+交通费
数据流量:约40张/日
高峰流量:约55张/日
数据流编号:D-03
数据流名称:职工工资变动清单
简述:人事处提供的职工工资变动清单
数据流来源:人事处
数据流去向:财务处
数据项组成:职工证号+职工姓名+部门代号+部门名称+基本工资+工龄工
资+副食补贴+煤粮补贴+交通补贴+备补1+备补2+应发工
资+房费+水电费+托儿费+借支扣款+其它扣款+扣款合计+
实发工资
数据流量:约40张/日
高峰流量:约55张/日
(二)
(五)功能结构图。
工资管理信息系统一、绪论工资管理是企业管理中非常重要的一种管理模式,是体现员工劳动价值的重要手段。
工资管理信息系统是指以计算机技术作为基础,通过一系列的技术手段管理企业的工资问题。
工资管理信息系统的目的是为了管理企业内部的工资问题,提高工资管理的效率和准确性,使企业的工资发放更加稳定、安全、透明和公正。
本文将详细介绍工资管理信息系统的建设流程、功能和特点。
二、工资管理信息系统的建设流程1、需求分析工资管理信息系统建设的第一步是进行需求分析。
需求分析是指通过调查和了解企业内部的工资管理情况,确定建设工资管理信息系统的目标和方向。
需求分析主要包括以下三个方面:(1)工资管理的具体需求通过对企业内部工资管理的调查,了解各个部门的工资情况,进而确定需要建设工资管理信息系统的具体需求。
(2)现有的工资管理状况在了解具体需求的基础上,对现有的工资管理状况进行全面的分析,例如工资计算方式、工资发放流程等,以便更好地预测工资管理信息系统的建设效果。
(3)系统的开发要求在了解具体需求和现有状况的基础上,对工资管理信息系统的开发要求进行分析和调查,主要包括组织管理、技术支持、数据处理和安全等方面。
2、系统设计在需求分析的基础上,进行系统设计。
系统设计是指通过对工资管理信息系统的功能分析和技术路线的确定,建立系统的框架和模型,确定系统的各项参数。
(1)功能分析在系统设计的过程中,首先要对工资管理信息系统的功能进行分析。
① 工资数据管理:对员工的个人信息、工资信息进行管理,包括工资科目、工资标准等方面的管理。
② 工资计算管理:对工资的计算、统计、分配等工作进行管理。
③ 工资发放管理:对工资的发放、领取、核算等方面进行管理。
④ 工资统计管理:对工资统计、报表等进行管理。
⑤ 工资查询审核:对员工的工资查询、审核等方面进行管理。
⑥ 工资权限管理:对系统中的人员权限进行管理。
(2)技术路线在确定系统的功能之后,需要确定系统的技术路线。
某大学工资管理信息系统开发一、系统分析部分1、业务流程图图1-1 工资系统业务流程图2、数据流程图图1-2 工资系统数据流程图4、数据字典Ⅰ、数据流的描述数据流编号:D-01数据流名称:工资信息表数据流来源:系统管理员数据流去向:录入分类数据项组成:职工编号+职工姓名+职工所在部门代号+职工所在部门名称+工资情况数据流量:约1张/月Ⅱ、处理逻辑的描述处理逻辑编号:P-01处理逻辑名称:录入分类输入的数据流:工资信息表处理描述:根据人事部提供的信息情况,对工资信息表进行分类整理,对于该加的工资加上去,该扣的扣了,完成操作后,放入员工基本信息管理。
输出的数据流:员工基本信息管理处理频率:1次/月6、某大学工资管理信息系统流程设想图(新系统模型)图1-3 工资管理信息系统流程设想图二、系统设计部分1、功能结构图设计图2-1工资管理子系统功能结构图2、新系统信息处理流程设计图2-2 工资管理子系统的信息系统流程图3、输出设计(主要指打印输出设计)图2-3 工资表的输出设计4、存储文件格式设计(数据库结构设计)数据库的概念逻辑设计可以用ER模型来表示。
图2-4 工资系统的ER模型其中各自的属性为:教职工:部门代码、教师工号、姓名、工资人事部:部门号、个人工号、姓名财务处:部门号、个人工号、姓名图2-5 教职工个人信息的数据录入卡设计6、代码设计(职工证号和部门代号)如下是职工证号及其所在部门代码设计:字段字段名称类型宽度小数说明1 ZGZH Character 6 0 职工证号2 ZGXM Character 12 0 职工姓名3 BMDM Character4 0 部门代码4 BMMC Character 12 0 部门名称三、系统实施部分1、模拟运行数据2、源程序#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <string.h>#include <conio.h>#define TITLE "\n 月份工号姓名应发工资各种折扣实发工资\n #define DATA" %2d %4ld %-10s %6.1f %6.1f %6.1f\n",p1->month,p1->num,p1->name,p1->should_pay,p1->rebate,p1->actual_pay typedef struct pay{short month;char name[20];float gw,jn,zw,zl,jt,yj;float should_pay;float fz,gj,sd,others;float rebate;float actual_pay;struct pay *next;}PAY;FILE *fp;PAY *p1=NULL,*p2=NULL,*head=NULL;void menu();PAY *input();void output();void save(PAY *head);PAY *open();PAY *insert();void search();PAY *del();PAY *revise();/*主程序模块*/void main(void){short sel;do{menu();scanf("%d",&sel);switch(sel){case 1:head=input(); //输入模块break;case 2:head=insert(); //插入模块break;case 3:head=revise(); //修改模块break;case 4:head=del(); //删除模块break;case 5:search(); //查找模块break;case 6:output(); //输出模块case 7:save(head); //保存模块break;case 0:break;}}while(sel!=0);}/*菜单*/void menu(){printf("\n\n\n\n\n\n\n");printf("\t\t\t\t *主菜单选项*\n\n");printf("\t\t\t\t1.创建工资档案\n");printf("\t\t\t\t2.新增工资信息\n");printf("\t\t\t\t3.修改工资信息\n");printf("\t\t\t\t4.删除工资信息\n");printf("\t\t\t\t5.查找工资信息\n");printf("\t\t\t\t6.分类信息列表\n");printf("\t\t\t\t7.保存信息\n");printf("\t\t\t\t0.退出\n");printf("\n\n\n\n\n\n\n\n");}/*输入模块*/PAY *input(){short n=1;p1=(PAY*)malloc(sizeof(PAY));if(p1==NULL){printf("内存不足,无法创建链表!");getch();}printf("\n请输入第%d位职工的信息(以工号为0结束):\n",n); printf(" 工号:");scanf("%d",&p1->num);if(p1->num==0){printf("按任意键返回!");getch();free(p1);return 0;}getchar();printf(" 姓名:");gets(p1->name);printf(" 工资月份:");scanf("%d",&p1->month);printf(" 岗位工资,技能工资,职务津贴,职龄津贴,交通补贴,业绩津贴:\n"); scanf("%f,%f,%f,%f,%f,%f",&p1->gw,&p1->jn,&p1->zw,&p1->zl,&p1->jt,&p1->yj);printf(" 房租扣款,公积金,水电费,其它扣款:\n");scanf("%f,%f,%f,%f",&p1->fz,&p1->gj,&p1->sd,&p1->others);p1->should_pay=p1->gw+p1->jn+p1->zw+p1->zl+p1->jt+p1->yj;p1->rebate=p1->fz+p1->gj+p1->sd+p1->others;p1->actual_pay=p1->should_pay-p1->rebate;while(p1!=NULL){if(n==1)head=p1;elsep2->next=p1;n++;p2=p1;p1=(PAY*)malloc(sizeof(PAY));if(p1==NULL){printf("内存不足,无法创建链表!");getch();}printf("请输入第%d位职工的信息(以工号为0结束):\n",n);printf(" 工号:");scanf("%d",&p1->num);getchar();if(p1->num==0){p1=NULL;break;}printf(" 姓名:");gets(p1->name);printf(" 工资月份:");scanf("%d",&p1->month);printf(" 岗位工资,技能工资,职务津贴,职龄津贴,交通补贴,业绩津贴:\n"); scanf("%f,%f,%f,%f,%f,%f",&p1->gw,&p1->jn,&p1->zw,&p1->zl,&p1->jt,&p1->yj); printf(" 房租扣款,公积金,水电费,其它扣款:\n");scanf("%f,%f,%f,%f",&p1->fz,&p1->gj,&p1->sd,&p1->others);p1->should_pay=p1->gw+p1->jn+p1->zw+p1->zl+p1->jt+p1->yj;p1->rebate=p1->fz+p1->gj+p1->sd+p1->others;p1->actual_pay=p1->should_pay-p1->rebate;}p2->next=NULL;//edit by Yan-Xingyu Class Network-021printf("职工信息已输入,请按任意键返回,并存盘……");getch();return head;}/*输出模块*/void output(){short sel,flag,month;float min,max;do{do{printf("\n\n请选择您的列表方式:\n");printf("\t\t1.全部清单\n");printf("\t\t2.按月输出\n");printf("\t\t3.按工资段输出\n");printf("\t\t0.返回\n");scanf("%d",&sel);}while(sel!=1&&sel!=2&&sel!=3&&sel!=0);head=open();if(head==NULL)return;elseswitch(sel){case 1:printf("\n\t\t\t ******全部清单******\n");printf(TITLE);p1=head;do{printf(DATA);p1=p1->next;}while(p1!=NULL);break;case 2:flag=0;printf("输入要查的月份:");scanf("%d",&month);printf("\n\t\t\t******第%d月工资清单******\n",month); printf(TITLE);p1=head;do{if(p1->month==month){printf(DATA);p1=p1->next;flag=1;}elsep1=p1->next;}while(p1!=NULL);if(flag==0)printf("没有该月清单\n");break;case 3:flag=0;printf("输入最低工资:");scanf("%f",&min);printf("输入最高工资:");scanf("%f",&max);printf("\n\t\t ******%5.1f到%5.1f工资的名单******\n",min,max); printf(TITLE);p1=head;do{if(p1->actual_pay>min&&p1->actual_pay<max){printf(DATA);p1=p1->next;flag=1;}elsep1=p1->next;}while(p1!=NULL);if(flag==0)printf("没有该工资段的职工\n");break;case 0:break;}}while(sel!=0);}/*保存文件*/void save(PAY *head){short write;fp=fopen("pay.txt","w");if(fp==NULL){printf("创建文件失败!");getch();return;}p1=p2=head;while(p1!=NULL){write=fwrite(p1,sizeof(PAY),1,fp);if(!write){printf("无法写入文件!");getch();return;}p1=p1->next;}fclose(fp);printf("成功存盘!");getch();}/*打开文件*/PAY *open(){short n=1,read;fp=fopen("pay.txt","r");if(fp==NULL){printf("无法打开档案文件!");getch();return NULL;}if((p1=p2=(PAY*)malloc(sizeof(PAY)))==NULL) {printf("内存不足!");getch();return NULL;}read=fread(p1,sizeof(PAY),1,fp);if(!read){printf("文件读取出错!1");getch();return NULL;}if(p1->next==NULL)head=p1;else{do{if(n==1)head=p1;elsep2->next=p1;n++;p2=p1;if((p1=(PAY*)malloc(sizeof(PAY)))==NULL) {printf("内存不足!");getch();return NULL;}read=fread(p1,sizeof(PAY),1,fp);if(!read){printf("文件读取出错!2");getch();return NULL;}}while(p1->next!=NULL);p2->next=p1;}return head;fclose(fp);}/*插入模块*/PAY *insert(){PAY *p3=NULL;char sel;head=open();if(head==NULL)return NULL;elsedo{printf("请输入要插入的职工信息:\n");p3=(PAY*)malloc(sizeof(PAY));if(p3==NULL){printf("内存不足,无法创建链表!");getch();}printf(" 工号:");scanf("%d",&p3->num);getchar();printf(" 姓名:");gets(p3->name);printf(" 工资月份:");scanf("%d",&p3->month);printf(" 岗位工资,技能工资,职务津贴,职龄津贴,交通补贴,业绩津贴:\n"); scanf("%f,%f,%f,%f,%f,%f",&p3->gw,&p3->jn,&p3->zw,&p3->zl,&p3->jt,&p3->yj); printf(" 房租扣款,公积金,水电费,其它扣款:\n");scanf("%f,%f,%f,%f",&p3->fz,&p3->gj,&p3->sd,&p3->others);p3->should_pay=p3->gw+p3->jn+p3->zw+p3->zl+p3->jt+p3->yj;p3->rebate=p3->fz+p3->gj+p3->sd+p3->others;p3->actual_pay=p3->should_pay-p3->rebate;p1=head;while(p1!=NULL){p2=p1;p1=p1->next;}p2->next=p3;p3->next=NULL;printf("成功插入,是否继续?是(Y)否(N)\n");sel=getch();}while(sel=='Y'||sel=='y');printf("\n任意键返回,并存盘……\n");getch();return head;}/*查找模块*/void search(){short sel;long num;char name[20],choose;head=open();if(head==NULL)return;elsedo{do{printf("\n选择查找方式:\n");printf("\t\t1.按工号查找\n");printf("\t\t2.按姓名查找\n");scanf("%d",&sel);getchar();}while(sel!=1&&sel!=2);switch(sel){case 1:printf("输入要查的工号:");scanf("%ld",&num);break;case 2:printf("输入要查的姓名:");gets(name);break;}p1=head;while((p1->next!=NULL)&&(p1->num!=num)&&(strcmp(p1->name,name)!=0)) //用成p1!=NULL有问题?p1=p1->next;if((p1->num==num)||strcmp(p1->name,name)==0){printf("您要查找的信息如下:\n");printf(TITLE);printf(DATA);}elseprintf("没有该信息!\n");printf("是否继续?是(Y)否(N)\n");choose=getch();}while(choose=='Y'||choose=='y');printf("任意键返回");getch();}/*删除模块*/PAY *del(){short sel;long num;char name[20],choose;head=open();if(head==NULL)return NULL;elsedo{do{printf("\n选择删除方式:\n");printf("\t\t1.按工号删除\n");printf("\t\t2.按姓名删除\n");scanf("%d",&sel);getchar();}while(sel!=1&&sel!=2);switch(sel){case 1:printf("输入要删除的工号:");scanf("%ld",&num);break;case 2:printf("输入要删除的姓名:");gets(name);break;}p1=head;if((p1->num==num)||strcmp(p1->name,name)==0){head=p1->next;printf("删除信息成功!");}else{while((p1->next!=NULL)&&(p1->num!=num)&&(strcmp(p1->name,name)!=0)) {p2=p1;p1=p1->next;}if((p1->num==num)||strcmp(p1->name,name)==0){p2->next=p1->next;free(p1);printf("\n删除信息成功!\n");}elseprintf("\n没有该信息!\n");}printf("是否继续?是(Y)否(N)\n");choose=getch();}while(choose=='Y'||choose=='y');printf("任意键返回,并存盘……");getch();return head;}/*修改模块*/PAY *revise(){short sel;long num;char name[20],choose;head=open();if(head==NULL)return NULL;elsedo{do{printf("\n查找要修改的对象:\n");printf("\t\t1.按工号查找\n");printf("\t\t2.按姓名查找\n");scanf("%d",&sel);getchar();}while(sel!=1&&sel!=2);switch(sel){case 1:printf("输入要查的工号:");scanf("%ld",&num);break;case 2:printf("输入要查的姓名:");gets(name);break;}p1=head;while((p1->next!=NULL)&&(p1->num!=num)&&(strcmp(p1->name,name)!=0)) //用成p1!=NULL有问题?p1=p1->next;if((p1->num==num)||strcmp(p1->name,name)==0){printf("您要修改的原始信息如下:\n");printf(TITLE);printf(DATA);printf("\n将上述信息改为如下信息:\n");printf(" 工号:");scanf("%d",&p1->num);getchar();printf(" 姓名:");gets(p1->name);printf(" 工资月份:");scanf("%d",&p1->month);printf(" 岗位工资,技能工资,职务津贴,职龄津贴,交通补贴,业绩津贴:\n"); scanf("%f,%f,%f,%f,%f,%f",&p1->gw,&p1->jn,&p1->zw,&p1->zl,&p1->jt,&p1->yj); printf(" 房租扣款,公积金,水电费,其它扣款:\n");scanf("%f,%f,%f,%f",&p1->fz,&p1->gj,&p1->sd,&p1->others);p1->should_pay=p1->gw+p1->jn+p1->zw+p1->zl+p1->jt+p1->yj;p1->rebate=p1->fz+p1->gj+p1->sd+p1->others;p1->actual_pay=p1->should_pay-p1->rebate;}elseprintf("你要修改的信息不存在!\n");printf("是否继续?是(Y)否(N)\n");choose=getch();}while(choose=='Y'||choose=='y');printf("任意键返回,并存盘……");getch();return head;}。
工资管理信息系统目录第一章工资管理信息系统分析-------------------------- 11.1 工资管理信息系统简要分析----------------------- 11.2 工资管理信息系统业务流程分析-------------------- 41.3工资管理信息系统数据流程分析--------------------- 51.4 工资管理信息系统数据字典------------------------ 71.5工资管理信息系统分析报告------------------------ 19 第二章工资管理信息系统设计---------------------------- 202.1 系统目标设计------------------------------------ 202.2 新系统功能结构设计------------------------------ 202.3 工资管理信息系统流程设计------------------------ 212.4 代码设计---------------------------------------- 222.5 系统物理配置方案设计---------------------------- 222.6 输出设计-----------------------------------------232.7 存储文件设计------------------------------------ 232.8 输入设计---------------------------------------- 25 第三章系统开发设计-------------------------------------263.1 开发环境-----------------------------------------263.2 数据库设计---------------------------------------273.2.1 数据库概念结构设计-----------------------------273.2.2 数据库逻辑结构设计-----------------------------28前言随着计算机技术的发展以及计算机在企业管理中的普及,越来越多的企业利用计算机实现企业人事工资的管理,企业工资管理系统中使用表格,能够保存相关的工资信息,方便查询,浏览修改等操作,为个人提供工资查询服务,为企业提供工资计算,工资统计等服务,实现工资管理的系统化,规范化,自动化,因此成为现代公司管理工资的首选。
数据库课程设计高校工资管理系统该系统的设计目的是通过使用数据库技术和相关工具来优化和简化工资管理的流程。
同时,它还提供了一个可靠的平台,使高校的工资管理部门能够集中管理和跟踪员工的薪资信息、福利待遇、扣款和报销等。
该系统的设计目的是通过使用数据库技术和相关工具来优化和简化工资管理的流程。
同时,它还提供了一个可靠的平台,使高校的工资管理部门能够集中管理和跟踪员工的薪资信息、福利待遇、扣款和报销等。
通过使用数据库课程设计高校工资管理系统,高校管理人员可以实现以下目标:自动计算和生成工资单,减轻繁琐的人工操作。
提供数据存储和安全性,确保员工信息的机密性。
定制化报表和统计数据,帮助管理人员进行决策分析。
加强与财务部门的协作,确保工资发放和财务核算的准确性。
优化工资管理流程,提高工作效率和准确性。
通过数据库课程设计高校工资管理系统的引入,高校的工资管理将变得更加高效和可靠,为管理人员提供了一个科学合理的工具来管理员工的工资事务。
对高校而言,这是一个重要的发展方向,有助于提升管理水平和员工满意度。
描述工资管理系统的功能和要求工资管理系统旨在为高校提供一个有效和可靠的工资管理平台。
系统需具备以下功能和要求:用户管理:系统应支持多级用户权限管理,包括管理员、教师和财务人员等不同角色的用户。
各角色用户应具备不同的操作权限,以保证数据的安全性和管理的精确性。
工资计算:系统应能够根据教师的工龄、职称和加班情况等因素,自动计算其工资。
工资计算公式应符合高校相关政策规定,并可根据需要进行调整。
工资发放:系统应支持工资的批量发放。
财务人员应能够通过系统选择需要发放工资的教师,并进行工资发放操作。
发放的工资应自动更新到教师的个人工资账户中。
工资查询:系统应提供多种查询方式,教师和财务人员均可通过系统查询教师的工资情况。
查询结果应包括工资明细、历史记录等信息,并支持导出功能以便于打印或保存。
数据统计:系统应具备数据统计和分析的功能,能够对教师的工资情况进行汇总和分析。
齐鲁工业大学课程设计与分析-工资管理系统学院名称:工商管理学院专业:信息管理与信息系统组别:第七组指导老师:***2015年12 月齐鲁工业大学工商管理学院《信息系统分析与设计》课程设计实验报告某大学工资管理系统的分析与设计专业名称:信系管理与信息系统班级:信管12-1 班组别:第七组《信息系统分析与设计》课程设计任务书题目某大学工资管理系统的分析与设计一、课程设计目的信息系统分析与设计课程设计作为独立的教学环节,是学习完《信息系统分析与设计》课程后进行的一次全面的综合练习。
其目的在于综合运用课堂所学的信息系统分析与设计开发的原理、技术、方法和步骤,深刻理解和体会运用面向对象思想开发一个管理信息系统的过程及每个阶段的工作内容,提高学生分析与设计管理信息系统的能力。
二、现行系统描述某大学共有教职员工3758人。
学校下设教务处、财务处和房产处等二十六处室,还设有计算机系、自动控制系和管理工程系等十八个教学系,此外还附设一个机工厂、一个电子厂和一所校医院。
该校财务处负责全校教职工的工资管理工作,其工资管理业务情况如下:每月25日至28日,房产处将本月职工住房的房费和水电费扣款清单及时报送财务处。
总务处将托儿费扣款和通勤职工的交通补贴费清单也一并及时报送财务处。
财务处按期列出一份职工借支应扣款清单。
所有这些清单的格式如表SJ—1和表SJ—2所示。
表SJ—1 ()月份职工()项扣款清单制表人:日期此外,学校人事部门要及时向财务处提供下列信息:(1)若有职工在学校内部门之间调动工作情况发生,则提供这些职工的姓名、由何部门调到何部门工作、工资发放变动情况等。
(2)若有校外人员调入学校工作,则应提供调入者的职工证号、姓名、调入校内何部门、以及有关调入者工资方面的数据,还有他们的工资开始发放的月份,据此,财务处的工资管理会计建立调入者的职工工资台帐帐页。
(3)若有职工调离学校,则要提供调出人员的姓名、所在单位和终止发放本人工资的月份。
高校的工资管理系统数据库综合实验设计题目:高校工资管理系统学生姓名:陈媛媛院别:继续教育学院专业:2013级会计电算化学号:213720816目录1、开发背景。
...。
.。
..。
..。
.。
.。
..。
.。
.。
.。
.。
.。
.。
.。
11。
1、目标设计。
.。
.。
..。
..。
..。
.....。
.。
.。
.....。
..。
11。
2、开发设计思想..。
..。
..。
.。
..。
.。
.。
.。
.......。
.。
.1 2、功能描述..。
.。
...。
..。
.。
...。
..。
..。
.....。
..。
..。
.。
22.1、系统性需求分析。
...。
....。
.。
..。
.。
..。
....。
..。
22.2、功能分析图...。
..。
.。
....。
..。
.。
..。
.。
(3)3、数据分析..。
.....。
..。
.。
.。
.。
..。
.。
..。
....。
..。
.。
..33.1、数据流图 (3)3。
2、数据字典 (4)4、概念模型设计 (7)5. 逻辑模型设计和优化 (8)5.1数据关系模型..。
..。
..。
..。
.。
..。
.。
.。
.。
.. 85。
2规范化处理。
.。
.。
..。
.。
.。
......。
..。
..。
.。
.。
95。
3逻辑模型。
...。
.。
.。
.。
..。
.。
.....。
....。
.。
96。
物理设计和实施 (10)7、应用程序设计 (10)7.1模块分析。
..。
....。
...。
....。
.。
..。
..。
.。
..107.2运行效果测试截图。
.。
.。
..。
.。
..。
.。
.。
.。
...。
.108、课程设计心得体会...。
...。
..。
.。
..。
.。
..。
.。
.。
......。
..。
131.开发背景1.1、目标设计随着计算机技术的飞速发展,计算机在企业管理中的应用越来越普及,利用计算机实现企业工资的管理显得越来越重要。
对于高校来说,利用计算机支持高校高效率完成劳动人事管理的日常事务,是适应现代高校制度要求、推动高校劳动人事管理走向科学化、规范化的必要条件;而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有手工管理所无法比拟的优点。
面向对象程序设计班级:0703学号:2007115020311姓名:张娣完成时间:二00九年12 月22 日高校工资管理系统一、实验题目要求综合运用封装、继承、多态性、文件流、异常处理来设计和实现简单的信息管理系统二、实验任务设计和实现高校工资管理系统:高校中人员有:行政人员、教师、实验室人员、后勤人员、外聘人员。
通过本系统要求实现以下内容:1)添加职员的基本信息;2)校内人员调离学校删除信息;3)根据工作证号查询校内人员的工资,根据姓名查询外聘人员的工资;4)根据工资计算准则计算总工资;5)分类输出所有人员的信息;6)实现数据保存功能。
三、对象模型四、程序代表性代码#include <iostream.h>#include <string.h>#include <fstream.h>class Person { //人员基类protected:int no;char name[15];double salary;int flag; //标志人员的类型public:Person() {}virtual void setMessage() = 0; //键盘输入数据virtual void setMessage(ifstream& ifs) = 0; //文件输入数据virtual void showMessage() = 0; //输出数据virtual void showMessage(ofstream& ofs) = 0; //输出数据到文件virtual float incoming()=0; //计算收入virtual ~Person() {}virtual char *getName() = 0; // 返回名字virtual int getNo() = 0; //返回证件号码virtual int getFlag() = 0; //返回人员类型};class Teacher:virtual public Person { //教师protected:int workHour;public:Teacher() {flag=1; //标志教师类型salary = 1000; //教师的基本薪水}virtual ~Teacher() {}void setMessage() { //键盘输入教师的基本信息cout<<"工作证号: "; cin>>no;cout<<"姓名: "; cin>>name;cout<<"工作时间: "; cin>>workHour;}void setMessage(ifstream& ifs) { //文件读入教师的基本信息ifs>>flag>>no>>name>>workHour;}void showMessage() { //输出教师的信息cout<<" 工作证号:"<<no<<" 姓名:"<<name<<" 工作时间:"<<workHour<<" 薪水:"<<incoming()<<endl;}void showMessage(ofstream& ofs) {ofs<<flag<<"\t"<<no<<"\t"<<name<<"\t"<<workHour<<"\t"<<endl;}float incoming() { //计算教师的薪水return salary + workHour * 20;}char *getName() {return name;}int getNo() {return no;}int getFlag() {return flag;}};void add(); //增加一位职工void deletePerson(); //按证件号删除一位职工void inserchbyNo(); //根据证件号查询员工工资void inserchbyName(); //根据姓名查询员工工资void save(); //职工信息存盘void load(); //职工信息装入void print(); //分类输出职工信息void clearCollege(); //清除链表};void College::add() {Node *node = new Node; //在头结点head前插入新的结点作为新的头结点Person *person;int flag;cout<<"输入要添加人员的类别"<<endl;cout<<" 1-->普通教师2-->行政人员3-->实验员4-->后勤人员5-->外聘教师"<<endl;cout<<" 选择:";cin >> flag; cout << endl;switch (flag) {case 1:{Teacher *teacher = new Teacher;teacher->setMessage();person = teacher;}break;case 2:{Manager *manager = new Manager;manager->setMessage();person = manager;}break;case 3:{Assistant *assistant = new Assistant;assistant->setMessage();person = assistant;}break;case 4:{Waiter *waiter = new Waiter;waiter->setMessage();person = waiter;}break;case 5:{Employee_Teacher *employee_teacher = new Employee_Teacher;employee_teacher->setMessage();person = employee_teacher;}break;default :break;}node->data = person;if(head==0||head==NULL) {node->next = 0;}else{node->next = head;}head = node;}void College::deletePerson() {int deteleNo;Node *temp1, *temp2;temp1 = head;if(head==0||head->data==NULL) {cout<<"记录中没有员工了!"<<endl;return;}temp2 = head->next;cout <<"请输入职工的编号: ";cin>>deteleNo; cout <<endl;if(head->data->getNo()==deteleNo) {head = head->next;cout<<"删除成功!"<<endl;delete temp1;return;}while(temp2!=NULL) {if(temp2->data->getNo()==deteleNo) {temp1->next = temp2->next;cout<<"删除成功!"<<endl;delete temp2;return;}temp1 =temp2;temp2 = temp2->next;}cout<<"没有此职员!\n"<<endl;}void College::inserchbyNo() {int inserchNo;Node *temp;cout <<"请输入职工的编号: ";cin>>inserchNo; cout <<endl;temp = head;while(temp!=NULL) {if(temp->data->getNo()==inserchNo) {cout<<"职工"<<inserchNo<<"的工资为:"<<temp->data->incoming()<<endl;return;}temp = temp->next;}if(temp==NULL) {cout<<"不存在编号为:"<<inserchNo<<"的职工"<<endl;}}void College::print() {Node *temp;int i;for(i=1; i<=5; i++) { // i由1到5表示5类不同的人员temp = head;switch(i) {case 1:{cout<<"普通教师类信息:"<<endl;while(temp!=NULL) {if(temp->data->getFlag() == 1) {temp->data->showMessage();}temp = temp->next;}}break;case 2:{cout<<"行政人员信息:"<<endl;while(temp!=NULL) {if(temp->data->getFlag() == 2) {temp->data->showMessage();}temp = temp->next;}}break;case 3:{cout<<"实验员信息:"<<endl;while(temp!=NULL) {if(temp->data->getFlag() == 3) {temp->data->showMessage();}temp = temp->next;}}break;case 4:{cout<<"后勤人员信息:"<<endl;while(temp!=NULL) {if(temp->data->getFlag() == 4) {temp->data->showMessage();}temp = temp->next;}}break;case 5:{cout<<"外聘教师信息:"<<endl;while(temp!=NULL) {if(temp->data->getFlag() == 6) {temp->data->showMessage();}temp = temp->next;}}break;}}}void College::clearCollege() {Node *temp;if(head==0||head->data==NULL) {delete head;head = 0;return;}temp = head->next;while(temp!=NULL) {delete head;head = temp;temp = temp->next;}delete head;head = 0;}void College::save() {ofstream f("职工信息.dat",ios::unitbuf); //打开文件//遍历输出至文件Node *temp;temp = head;while(temp!=NULL&&temp!=0) {temp->data->showMessage(f);temp = temp->next;}f.close(); //关闭文件cout<<"职工信息成功保存在‘职工信息.dat’.\n"; }void College::load() {char buf[81]; //临时空间int flag; //人员类型Person *temp; //建立结点指针long t; //读写位置clearCollege(); //清除现有结点(保留头结点)ifstream f("职工信息.dat",ios::in); //打开文件while(true) {t=f.tellg(); //读取人员类型f>>flag;if(f) {switch(flag) {case 1:temp = new Teacher;break;case 2:temp = new Manager;break;case 3:temp = new Assistant;break;case 4:temp = new Waiter;break;case 6:temp = new Employee_Teacher;default :{f.close();cout<<"信息载入成功!"<<endl;return;}}Node *node = new Node;node->data = temp;if(head==NULL||head==0) {node->next = NULL;}else {node->next = head;}head = node;f.seekg(t);temp->setMessage(f);}else{cout<<"数据加载完毕!"<<endl;break;}}}#include <iostream.h>#include <string.h>void main(){char ch;College c; //定义大学对象//显示主菜单,接受选择,并分支调用大学类的相应功能的成员函数do{cout<<"\n**** 高校工资管理系统****\n";cout<<"** 1-增加职工**\n";cout<<"** 2-删除职工**\n";cout<<"** 3-按编号查询职工**\n";cout<<"** 4-按姓名查询职工**\n";cout<<"** 5-分类输出职工信息**\n";cout<<"** 6-数据存盘**\n";cout<<"** 7-数据装入**\n";cout<<"** 0-退出**\n";cout<<"**************************"<<endl;cout<<" 请选择(0-7): ";cin>>ch; cout<<endl;switch(ch){case '1': c.add(); break;case '2': c.deletePerson();break;case '3': c.inserchbyNo();break;case '4': c.inserchbyName();break;case '5': c.print(); break;case '6': c.save(); break;case '7': c.load(); break;default : cout<<"非正常退出!"; return;}}while(ch!='0');}五、运行部分结果六、实验心得本程序成功运用了类、继承、重载、多态以及文件流等面向对象的编程方法,对巩固面向对象编程水平的提高有很大帮助。
《软件开发方法》作业高校工资管理系统学院:信息工程学院班级:计科0601学号:061106128姓名:王银玉目录1、背景材料-----------------------------------------------------3 1.1、编写目的----------------------------------------------31.2、背景--------------------------------------------------32、问题描述-----------------------------------------------------33、功能定义-----------------------------------------------------4 3.1、功能描述----------------------------------------------4 3.2、系统目标----------------------------------------------43.3、对软件功能的结论--------------------------------------44、测试环境-----------------------------------------------------55、用例图-------------------------------------------------------56、类图---------------------------------------------------------77、合作图-------------------------------------------------------88、时序图-------------------------------------------------------99、具体实现-----------------------------------------------------10 9.1、功能分析------------------------------------------------109.2、流程分析-------------------------------------------------109.3、常量定义-------------------------------------------------11 9.4、源代码--------------------------------------------------11一、背景材料1、编写目的编写该文档是为了分析人工管理高校工资的流程,把人工模式抽象为可在计算机上处理的自动模式,对高校工资的科学管理进行分析与总结,便于大家对系统整体功能的认识,通过该文档,确定了系统的目的和功能,以及管理的流程和方法,同时也为大家提供参考。
高校工资管理系统的设计与实现高校工资管理系统的设计与实现随着社会的快速发展和人民生活水平的提高,高校作为我国教育事业的重要组成部分,教职工的工资管理显得相当重要。
为了提高工资管理的效率和准确性,高校工资管理系统的设计与实现势在必行。
一、系统设计高校工资管理系统主要由以下模块组成:(一)基础数据管理模块基础数据管理模块是高校工资管理系统最重要的组成部分。
这个系统模块需要管理教职工的基本信息,包括姓名、性别、出生日期、身份证号码、联系方式以及职位等等,同时还需要管理教职工的薪酬、绩效、奖惩等信息。
这个系统模块需要建立一个完整的教职工数据库,对教职工信息进行统一管理,为高校其他部门提供基本数据支持。
(二)工资管理模块工资管理模块主要是对教职工的工资进行管理。
这个系统模块需要可以进行工资的发放、调整、扣减等操作,同时需要对所有教职工的薪酬信息进行汇总和统计,为高校工资管理部门提供数据支持。
此外,这个系统模块还需要能够自动生成工资条和工资报表等文件,方便工资相关部门进行查找和使用。
(三)绩效管理模块绩效管理模块用于对教职工的绩效情况进行管理。
此模块不仅需要记录教职工的绩效情况,还需要对绩效情况进行统计和分析,计算并反映出每位教职工的具体绩效得分情况。
同时,该模块还需要能够根据绩效得分情况进行工资的相应调整,并对不符合绩效标准的教职工进行相应的惩罚。
(四)统计分析模块统计分析模块主要用于对教职工的工资进行数据统计和分析。
这个系统模块需要可以根据不同维度对教职工的工资进行分类汇总,如根据职位、部门、教龄等多个维度进行工资统计和分析,并反映工资的浮动情况。
二、系统实现高校工资管理系统的实现主要基于计算机技术和网络技术。
根据系统设计的构想,高校工资管理系统需要采用以下的技术:(一)数据库技术数据库是高校工资管理系统最核心的技术支持之一。
它的设计需要考虑数据的完整性、安全性和易用性。
同时,数据库的设计还需要遵循一定的规范和原则,如要采用合适的数据结构、建立适当的索引等。
1.大作业内客(1)题目某大学工资管理信息系统的分析、设计(2)某大学现行工资管理系统的简单描述某大学共有教职员工3758人。
学校下设教务处、财务处和房产处等26处室,设有计算机系、自动控制系和管理工程系等18个教学系,此外还附设一个机工厂、一个电子厂和一所校医院。
该校财务处负责全校教职工的工资管理工作,其工资管理业务情况如下:每月25日至28日,房产处将本月职工住房的房费和水电费扣款清单及时报送财务处。
总务处将托儿费扣款和通勤职工的交通补贴费清单也一并及时报送财务处。
财务处按期列出一份职工借支应扣款清单,所有这些清单的格式如表1和表2所示。
表1 ()月职工()项扣款清单制表人:日期表2 ()月职工交通补贴清单制表人:日期此外,学校人事部门要及时向财务处提供下列信息:l)若有职工在学校内部各部门之间调动工作情况发生,则提供这些职工的姓名、由何部门调至何部门工作、工资发放变动情况等。
2)若有校外人员调入学校工作,则应提供调入者的职工证号、姓名、调人校内何部门,以及有关调入者工资方面的数据与他们的工资开始发放的月份。
据此,财务处的工资管理会计建立调入者的职工工资台账账页。
3)若有职工调离学校,则要提供调出人员的姓名、所在单位和终止发放本人工资的月份。
4)若调整工资,则应提供全校教职工工资调整变动情况清单和调整后的工资从哪个月份开始发放。
当财务处收到各部门报送来的扣款单、补贴清单和其他有关职工工资变动通知单后,财务处的工资管理会计就可以依据上个月份的职工工资台账制做本月职工工资台账。
职工工资台账格式如表3所示,每名职工全年工资信息占据台账的一页。
接下来,工资管理会计再根据填制好的本月份职工工资台账,花费一个星期的时间制做出一式两份的本月份全校职工工资发放单(按部门制作)和本月份工资汇总表,它门的格式相同,如表4所示。
表3 某大学职工工资台账账页第页合计:工资管理会计依据工资汇总表上上的全校“实发工资”合计数字,从银行提取现金,并于下月的5号将本月份职工工资发至职工手中。
《软件开发方法》作业高校工资管理系统学院:信息工程学院班级:计科0601学号:061106128姓名:王银玉目录1、背景材料-----------------------------------------------------31.1、编写目的----------------------------------------------31.2、背景--------------------------------------------------32、问题描述-----------------------------------------------------33、功能定义-----------------------------------------------------43.1、功能描述----------------------------------------------43.2、系统目标----------------------------------------------43.3、对软件功能的结论--------------------------------------44、测试环境-----------------------------------------------------55、用例图-------------------------------------------------------56、类图---------------------------------------------------------77、合作图-------------------------------------------------------88、时序图-------------------------------------------------------99、具体实现-----------------------------------------------------109.1、功能分析------------------------------------------------109.2、流程分析-------------------------------------------------109.3、常量定义-------------------------------------------------119.4、源代码--------------------------------------------------11一、背景材料1、编写目的编写该文档是为了分析人工管理高校工资的流程,把人工模式抽象为可在计算机上处理的自动模式,对高校工资的科学管理进行分析与总结,便于大家对系统整体功能的认识,通过该文档,确定了系统的目的和功能,以及管理的流程和方法,同时也为大家提供参考。
软件需求说明书1 引言1.1 编写目的经过在学校各部门间长期的调查并对工作人员提出的需求进行细致的分析,提出了这份用户需求规格说明书。
该说明书主要对所开发的系统进行全面的说明,明确该系统的主要功能要求、性能要求,指出该系统所用到的数据及数据处理流程,同时提出故障处理的要求。
其次,对开发该系统的任务进行概括性叙述,对系统的运行环境进行规定。
通过该文档可使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。
该文档的预期读者为:项目提出者,项目管理者。
1.2 背景1. 项目名称:学校内部工资管理系统2. 项目提出者:青岛科技大学人事处3. 项目开发者:Rayman Studio4. 用户:青岛科技大学财会处人事处及各部门管理人员5. 运行环境:青岛科技大学计算机中心6. 开发平台:Lomboz Eclipse 、Apache tomca t 、JSP、MySQL7. 系统架构:B/S 结构8. 该系统与其他系统的关系:a. 该系统的服务器端运行在计算机中心的服务器上,用户通过网络浏览器访问服务器端。
b. 服务器上需要有防火墙软件对服务系统进行防护c. 本系统与财务处的财务管理软件有数据通信;1.3 定义Lomboz Eclipse Apache tomcat :J2EE 可视化开发平台,开发企业管理软件的工具:web 服务器,支持JSP 文件的解析处理。
JSP:即Java Server Pages简单地说,就是包含用Java语言编写的网页, 保存在服务器上。
MySQL :SQL 数据库B/S 结构:浏览器/服务器结构,即客户端使用浏览器通过网络访问服务器,向服务器提交服务请求。
1.4 参考资料a.《学校内部工资管理系统开发计划书》,青岛科技大学b.《软件工程导论》,张海藩,清华大学出版社;c.《实用软件工程》,郑人杰等,清华大学出版社;d.《lomboz Eclipse 使用教程》林峰等,东南大学出版社;e.《MySQL 使用手册》2 任务概述2.1 目标1.开发意图:在一个较大的单位中,员工的工资管理是一项要求准确而且高效的工作。
管理工资系统功能定义:(1)教职工基本信息的录入,修改,删除。
(2)教职工工资标准设定功能。
具体包括教职工基本工资,补贴工资,工龄补贴工资和扣除的工资等。
(3)教职工工资信息浏览。
(4)教职工工资表创建。
(5)教职工工资调整管理。
(6)教职工工资统计。
(7)教职工级别设定以及口令修改。
为完善系统管理功能,增加工资系统用户管理功能,包括系统用户数据的天价,修改和删除。
教职员工为系统普通用户,只能运行系统个人工资查询功能;系统管理员则能运行系统所有功能,从而有效保证系统数据的安全性。
运行环境:硬件环境:CPU型号为Pentium Ⅲ以上,内存128M以上。
系统环境:Windows98以上的系统均可。
开发工具:Delphi 7.0/ Visual Foxpro / PowerBuilder / ERWin软件的使用条件和限制:不同的管理级别有不同的操作权限系统功能的分析与设计:根据系统功能和高校工资管理的特点,经过模块化的分析得到高校工资管理系统功能模块的划分,本系统包括用户管理模块、教职工信息管理模块、工资标准设定模块、工资信息管理模块以及系统管理员模块等。
各个模块的功能描:1.用户管理模块:制定用户的管理级别,管理级别分为管理员和教职员工两类。
他们的操作权限不同,管理员是财务部门人员,可以对系统进行一切操作,而教职员工只能进行查询和打印。
另外在这个模块中也应该包含添加用户、修改用户信息、修改口令等。
2.员工信息管理模块:实现对教职员工基本信息的输入、修改、删除、查询。
在高校管理中按照学院对信息进行管理。
3.工资标准设定模块:实现对职务工资标准、职称工资标准、其他工资标准的设定、修改、删除、保存功能。
而工资标准的依据恰好与教职员工的基本信息相一致,形成对应关系。
4.工资信息管理模块:实现工资表的生成、个人工资查询、工资修改、工资结算、工资统计以及工资表打印等功能。
其中按月生成工资表,保存在数据库中。
5.教职工基本信息模块:教职工基本信息模块具有员工信息输入、教职工增删和教职工信息查询三个功能。
教职工基本信息包括教职工号、教职工姓名、教职工性别、所在系部、所在学校、工龄和工资等级等信息。
教职工增删实现了对数据库中教职工信息的增加和删除。
教职工信息查询可以通过教职工号或教职工姓名对教职工信息进行查询。
6.工资结构设置模块:根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资和工龄工资三部分。
该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。
7.工资汇总模块:用户在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇总模块会自动对员工工资进行汇总。
用户可以打印出工资汇总表,打印之前可以通过打印预览功能进行打印预览。
以下是该高校工资管理系统的功能模块示意图:高校工资管理系统功能模块结构图系统数据流程分析:◆教职工基本档案信息:在高校里,管理人员应该对员工的基本档案信息进行记录存储,这样,在确定好部门里的人员对象后,才能正确的进行进一步操作动作,如对人员进行工资计算、工资统计分析等。
管理人员应该在需要的时候能即使的查看员工的基本档案信息,对如教职工的调职、离开等要能够即使的给予信息注销。
◆管理教职工工资:根据自身职位的不同,高校里要确定好存在的工资项目和对不同工资项目的计算方法。
在对员工进行工资计算的时候,根据各自的岗位、职务的不同,需要对各自的工资组成进行分别进行统计计算。
在高校工资项目里面,如教职工的考勤工资的计算,记时工资的计算还有依照个数来进行计算的工资、教职工工龄工资的计算等,在上级领导制定计算规则后,管理人员将教职工的个人工资项目的明细数据可以直接的计算出来,对教职工的如个人所得税的计算、应扣工资计算后,形成教职工的工资信息表,管理人员再根据教职工的工资表要对整个部门的工资情况进行统计分析,如对各个工资项目总的工资支出情况的汇总,对总的教职工工资支出的汇总项目等等。
同时要按时的通知教职工领取工资,并即使的对教职工工资领取情况做好记录。
对部分员工需要进行银行转帐代发的员工,可以生成统一的银行转帐凭据,统一为员工办理银行转帐工资代发的事项业务。
◆即使查询工资信息:不管是教职工个人还是部门都需要时时的通过查询的方式对工资信息进行了解。
对教职工个人而言,需要了解个人本月的工资明细信息可以通过系统的某个终端进行查询,对个人历史工资数据也可以进行查询。
当然,员工查询时只能对个人的工资信息进行查询不能对其他员工的工资信息进行随意的查询,更不能对查询如部门主管的工资信息、部门工资统计分析结果等。
这主要是涉及到一个使用权限的问题。
管理员的权限是最大的,对员工个人档案信息、工资信息、部门统计分析数据等都可以进行查询。
◆工资报表制作:通常对教职工的工资信息进行计算、统计分析后,还要定时的形成工资报表,以便部门主管能即使的了解财务的情况。
同时,将部门的工资信息做归档处理。
◆高级管理人员决策分析:工资报表是高层领导人员进行各种部门内关于工资政策决策的依据,高层领导人员通过参阅工资报表,即使的决策如需要增加或者去掉某种工资项目类型、提高或者减低某项工资项目的金额,还有如将某些部门的员工进行调职处理等。
教职工基本档案信息管理功能描述:凡属于本学校的教职工,都需要对其基本的档案信息做好记录存储处理。
以方便高级管理人员时时的了解或查阅其员工基本信息。
对员工基本信息的操作包括添加信息、修改信息、查询信息,同时在数据库中要形成员工基本信息表。
系统信息流分析:报表生成与打印:在员工领取工资时,能为个人生成个人工资组成及相应金额的工资条。
同时形成部门月报表、季报表、年终报表。
数据流程图:维护工资项目表教职工信息系统总体目标设计经过分析把工资系统分为4个模块来设计:系统模块、工资基本设定模块、工资核算模块和工资查询(报表生成)系统主界面模块的设计要求界面友好,对各个功能模块的分块明确。
作为第一个界面,当然要简洁;员工信息管理模块是各模块设计中很重要的一个,它包括的功能多,要表达的信息很多。
例如,员工信息浏览、增加删除修改员工记录、根据查询条件查询员工记录、显示查询结果等;工资基本设定模块的设计起到一个过渡的作用,里面包括了一些重要工资的设定项;工资汇总模块的功能是实现对所有员工的工资的汇总,包括他们的基本工资、岗位工资、工资等级和一些福利基金等;个人工资查询模块的设计目的是给员工一个查询个人工资的功能,每个员工都有自己的密码,通过输入员工号和密码,就可以进入个人工资表,查询个人工资信息经过对各个模块的分析,设计软件结构如图所示:系统后台数据库设计:数据库就是指按一定组织方式存储在一起的,相互有关的若干个数据的结合,对数据库进行统一的管理和控制,其功能包括数据库定义,数据库管理,数据库建立和维护,于操作系统通信等。
该工资系统中的数据流图如下:数据词典分析:该软件的数据库由下述四张数据表组成:教职工信息表:TASI.DBF基本工资设置表:BASESAL.DBF补助工资设置表:SUBSIDYSAL.DBF工龄工资设置表:GONGLING.SAL.DBF 扣除工资设置表:KOUCHUSAL.DBF管理员注册表:ADMINER.DBF职工信息表:TASI.DBF基本工资设置表:BASESAL.DBF补助工资设置表:SUBSIDYSAL.DBF工龄工资设置表:GONGLINGSAL.DBF扣除工资设置表:KOUCHUSAL.DBF管理员注册表:ADMINER.DBF在分析高校工资管理过程的基础上,我得到了该系统所处理的数据流图:通过对企业工资管理的内容和数据流程分析,针对本实例,设计的数据项和数据结构如下:员工基本状况:包括数据库项有员工号、员工姓名。
因为本系统中只涉及到工资管理,故为了员工个人信息比较简单。
部门工资状况:每个部门根据自身情况的不同,设立不同的部门基本工资,和部门补贴,如外联部的通信补助、后勤部的交通补助等。
岗位津贴状况:在原始数据库中岗位被设置4个不同级别,根据不同的级别有相应的岗位津贴。
数据项有工作岗位名称,工资岗位工资等。
工资信息:包括的数据库项有员工号、员工姓名、员工基础工资、员工岗位工资、员工部门工资、员工个人补助、员工实得工资。
这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及他们之间的关系,为以后的逻辑结构设计打下基础.本实例根据上面的设计规划出的实体有:员工实体、员工工资实体、工资等级实体、岗位职称实体、工龄实体。
实体与实体之间的关系E-R图:教职工添加模块设计:他主要包括输入有效性检验,编号生成以及员工入库等等模块。
该模块的运行流程是:用户输入—>填写员工名等详细信息—>点击添加按钮—>用户输入有效性检验—>将检索的到字段写进数据库(修改“员工表”)。
输入有效N该模块的实现代码是:string temp="";if xm.text<>"" and bh.text<>"" and bm.text<>"" and zw.text<>"" then connect;select 编号into :temp from 员工表where 编号=:bh.text;if temp<>"" thenmessagebox("信息","该用户已经存在!");elseinsert into 员工表(编号,姓名,部门,职位)values(:bh.text,:xm.text,:bm.text,:zw.text);messagebox("信息","添加成功!");commit;end ifdisconnect;elsemessagebox("信息","每一个项目都必须填写!");end ifdw_1.settransobject(sqlca)dw_1.retrieve()教职工工资录入和查询模块以及补贴添加模块的数据流图如下所示:教职工查询模块设计:本模块是系统的核心模块之一,它是实现员工查找的模块通过输入一定的限制条件来实现查询功能。
该模块的组要流程是:查询员工—输入一定的限制条件—显示查询结果,本模块的主要实现代码为:string temp;zw.reset()declare rs cursor forselect 职位名from 职位表where 部门名=:bm.text;open rs;fetch rs into :temp;do while sqlca.sqlcode=0zw.additem(temp)fetch rs into :temp;loopdw_1.settransobject(sqlca)temp="部门= '"+bm.text+"'"dw_1.setfilter(temp)dw_1.filter()disconnect;教职工修改模块设计:本模块的执行次序是:查询教职工—输入一定的限制条件—显示查询结果—点击要修改的员工记录。