




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EASTCHINAINSTITUTEOFTECHNOLOGY课程设计报告课程设计题目:学校工资信息管理系统学生姓名:专业:计算机应用技术班级:1240301指导教师:2014年6月17日一可行性分析引言编写目的可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。本报告经审核后,交软件经理审查。二I匕日背景开发软件名称:学校内部工资管理系统。项目与其他软件,系统的关系:本项目采用客户机/服务器原理,客户端的程序是建立在Wind
2、owsNT系统上以开发软件的应用程序,服务器端采用Linux为操作系统的工作站,是采用SQL2000的为开发软件的数据库服务程序。定义(1)员工考勤统计信息。包括的数据项有缺勤时间、缺勤天数、缺勤类别等。这些信息可从考勤管理系统中获取。(2)员工工种等信息。包括的数据项有工种等级、工种基本工资等。(3)员工津贴信息。包括的数据项有加班时间、加班天数、加班类别等。(4)员工医疗保险信息。包括的数据项有医疗保险时间、医疗费用保险、社会保险费用等。5)员工基本信息。包括的数据项有员工号、员工姓名、员工工种、员工所属部门等。(6)员工月工资信息。包括的数据项有生成工资的时间、基本工资、缺勤扣除、加班费
3、用、医疗保险费、月应发工资等。(7)员工年终奖金信息。包括的数据项有年份、员工的年终奖金数额等。可行性研究的前提要求主要功能:工资管理涉及学校管理的多个方面,如员工职务工种变化、员工考勤情况、员工加班情况、员工医疗保险等等。根据这些信息,在每个月的某个固定时间,生成企业员工的月工资。对于月工资,能够实现按照员工、部门、月、年、进行统计分析,产生相应报表。性能要求:在学校范围内统一各种原始单据的格式,统一账目和报表的格式。删除不必要的管理冗余,实现管理规范化、科学化。程序代码标准化,软件统一化,确保软件的可维护性和实用性。能够连接各个关联的数据库,获取数据库中的信息。保证各个数据库表格相关的项目
4、之间有相同的属性。输入要求:数据完整,详实。输出要求:简捷,快速,实时。安全与保密要求:管理员享有对教职工工资信息的管理与修改。人事处只享有对教职工个人信息信息库的部分修改(写入与读出)。完成期限:预计2个月,即截止2013年1月。系统的分析学校内部的人事的管理,从大的方面分,主要集中在学校职员的个人情况,工资细目,调入调出及用车等。所以该系统主要是实现对数据的录入,插入,删除,网上查询,统计,更新,打印等功能。其次,为了信息的保密与安全,系统还要提供一定的安全机制。根据以上系统的功能分析,该系统决定采用MDI风格,它主要分为以下几个模块。文件模块:此模块实现本系统对数据的打开,保存,打印预览
5、,打印及用户管理等功能,并可由此推出系统。信息管理模块:此模块实现系统的信息管理,包括对职工情况一览表,职工调入调出情况表,职工工资表及其它各表的信息数据的插入,删除,修改,保存等功能。查询模块:此模块实现本系统的查询功能,能将个人的基本情况,调入调出情况,工资情况等检索出来,并可实现多条件查询和模糊查询。统计模块:此模块用于对数据库中的信息按照一定的规则进行统计。系统服务模块:此模块用来系统管理人员设置密码和对系统的功能和开发信息进行介绍等。以根据要求修改员工工资。如果系统没有检测到该员工的信息则返回上一层,管理员重新输入员工信息,直到查到该员工的信息,并进行修改位置。如果登录者不是管理员,
6、只是普通员工的帐号,则进入普通帐号界面,输入要查询的员工号,系统自动判断该员工号是否存在,如果存在则显示该员工的工资信息。如果该员工号不存在则返回上一层界面。工作负荷员工每个工种基本工资的设定。企业工资报表的生成。支持各种形式的报表,如单个员工工资报表的生成、部门员工工资报表的生成、按照月份统计工资报表的生成等。管理员可以查询、更改任何员工的工资。员工可以凭工号查询员工工资。工资管理系统的使用帮助。(6)现有工资管理系统需要根据公司的经营状况以及人员变动对工作量进行分配。当公司调入新职员时,需要对系统进行职员更新即插入操作等以及随时对数据库进行不断的更新。任务繁重,工作量大。软件设计环境C语言
7、需求分析数据流图学校内部工资管理糸统顶层DFD图人事处职工基本信息职工工资-单职工出勤.报表校内部工职工出勤资管理系统职工工资信息-曰息学校内部工资管理系统1层DFD图银行际题职工工资信息表P2职工工资信息职工基本信息P1P3:职工出、缺勤扌报表职工出勤统管理子职工出、缺勤信息事各系职工工资单职工工资管理子职工基本信息表职工基本信息管理子系统职工出、缺勤信息学校内部工资管理系统2层DFD图(1)标题P2.1出勤工资、奖金扣款清单职工工资信息息信资工准标工职2亠职工工资信息生成财务处职工信息整理发送职工基本信息表学校内部工资管理系统2层DFD(2)P3.1.建立职工出缺职工出缺勤信息勤信息P3.
8、2职工基本信息表制作职工出缺勤信息统计表职工出缺勤信息职工出缺勤信息表数据字典数据字典是软件分析过程中对数据的描述,是数据流图的必不可少的辅助资料。数据字典的定义和数据流图是同时进行的,每当完成一张数据流图时,都需要对该数据流图中的成分进行完整的定义,数据字典是需求分析阶段一个重要的工具,通过在数据字典中建立一组严密一致的数据定义可以帮助软件分析人员和用户之间交流,同时也有助于软件人员之间的交流,容易达到对数据的统一认识。外部实体的数据字典外部实体名称:各部门简述:提交职工的基本信息和出勤情况输入数据流:职工工资单输出数据流:职工基本信息外部实体名称:银行简述:对职工工资进行转账的部门输入数据
9、流:职工工资信息外部实体名称:人事处简述:对职工添加,删除进行管理的部门输入数据流:职工出勤信息输出数据流:职工出勤报表(2)数据元素的数据字典数据项名称:员工工号类型:char长度:10说明:学校分发给每个职工的编号备注:无数据项名称:姓名类型:char长度:8数据项名称:性别说明:员工的个人姓名类型:char备注:无长度:2说明:员工的所拥有的性别备注:无(3)数据流的数据字名称:职工基本信息简要说明:职工的个人信息数据来源:各系部数据流向:职工基本信息管理子系统数据流的组成:工号+姓名+性别数据项名称:基本工资类型:数字长度:8说明:员工的得到的工资数据项名称:上课工资备注:无类型:数字
10、长度:8说明:员工根据上课的课时得到工资备注:无数据项名称:其他费用类型:数字长度:8说明:员工在职期间的其他费用备注:无名称:职工工资单简要说明:职工的工资条数据来源:职工工资子系统数据流向:各系部数据流的组成:工号+姓名+工资单月份+基本工资+岗位津贴+加班工资+生活补贴+业绩奖金+上课工资+养老保险+医疗费用+失业金+公积金+缺勤扣费+房租+水电费+代扣所得税+应发工资+扣款总额+实发工资名称:基本出勤信息简要说明:每个月20号把出勤信息上报人事处数据来源:人事处数据流向:职工出勤子系统数据流的组成:工号+姓名+出勤信息名称:职工工资信息简要说明:所有职工的工资信息集合数据来源:职工工资
11、子系统数据流向:银行数据流的组成:工号+姓名+实发工资4)处理过程的数据字典名称:职工工资信息生成说明:人事处将根据出勤情况和职工的基本信息生成的职工工资信息输入:人事处输出:生成职工工资信息表处理:人事处根据出勤情况和所得奖金以及扣款情况以及职工个人的基本信息生成一个基本工资表名称:财务处处理职工信息整理发送说明:财务处根据职工工资基本信息整理后送往各系部和银行输入:职工工资基本信息表输出:将职工工资信息生成工资表和工资条送往银行和各系部处理:财务处通过工资表和职工基本信息表整理生成工资条和工资表送往各系部和银行.5)数据存储的数据字典数据存储名称:职工工资信息表说明:按职工工号给职工发的基
12、本工资数据存储组成:工号+姓名+工资单月份+基本工资+岗位津贴+加班工资+生活补贴+业绩奖金+上课工资+养老保险+医疗费用+失业金+公积金+缺勤扣费+房租+水电费+代扣所得税+应发工资+扣款总额+实发工资关键字:工号有关的数据流:无数据存储名称:职工基本信息表说明:职工的个人信息数据存储组成:工号+姓名+性别+密码关键字:工号有关的数据流:无2输入输出要求数据描述用户登录信息表字段字段名数据类型宽度(字节)1用户ID字符152用户密码字符203用户身份字符104所属部门字符205职务字符206身份证号字符187银行帐号字符20工资计算标准表字段字段名数据类型宽度(字节)1员工ID字符152部门
13、ID字符203基本工资整型84奖金比率浮点型85罚金比率浮点型86扣税总额浮点型87工资总额浮点型88统计日期日期出勤汇总表字段字段名数据类型宽度1员工ID字符15字节2应出勤时间整型4字节3实际出勤时间整型4字节4请假时间整型4字节5无故缺勤时间整型4字节银行发放工资表字段字段名数据类型宽度1银行名字符30字节2工资表单号字符30字节3发放时间日期需求规定对功能的规定(1)用户的登录及退出:用户登录后,可以查询当月及年度的工资信息并打印工资条,用户可以修改用户密码,完成一切任务后用、用户可以安全退出(2)系统用户管理:实现对用户数据的修改,删除等相关操作。(3)用户信息管理:实现对用户信息的
14、添加、修改及删除等相关操作。(4)工资标准设立:根据职工的职务、职称等其他信息设定职工的工资的标准。概要设计结构学校内部丄资管埋系统由于绘图软件的问题,无法容纳这么多表,故,用户信息管理中的六个子模块合并成了三个进行书写)功能需求与模块的关系1)用户需要登录系统才能进行工资信息的查询及打印,并修改用户密码(2)系统管理员需要对职工信息进行添加、修改、删除等操作就需要用到用户信息管理模块。(3)工资标准要根据职称,职位等的不同进行设定。就需要用到工资标准设立模块外部接口运行本软件要求处理器在奔腾III以上、内存在256MB以上的计算机。能够支持、Windows2000、WindowsXP及win
15、dows7的运行环境内部接口本系统内部元素之间主要通过数据库接口完成相应功能。登录模块:完成对用户身份的验证。初始化模块:在身份验证后,系统调用初始化操作,执行完毕后进入消息循环状态。查找模块:由相应消息驱动,完成对信息进行查看功能。删除模块:具有此权限的用户完成对信息删除功能。打印模块:实现用户从系统打印功能。退出模块:实现用户从系统退出功系统实现系统登录界面系统用户在该界面输入正确的工号、密码和验证码即可登录该系统。登录模块会自动的判断用户输入的工号的权限。如果输入的工号是admin,则系统默认转向管理员主界面;如果输入的是其他的工号,系统会检查是否有该用户的工资信息,若有,则进入该用户的
16、工资查询界面,若没有,则提示“没有您的工资单”。系统管理员管理主界面及工资汇总界面系统管理员(即人事处管理员)通过该页面可以连接到其他的页面(其他页面包括:用户管理页面、添加工资单页面、查询教职工工资、修改及删除教职工工资等),该页面分页汇总显示了所有教职工的工资详细信息,管理员可以对各教职工的工资信息进行添加、修改和删除。教职工查询工资主界面教职工用户通过输入正确的工号、密码和验证码即可登录自己的工资查询主页面,在此页面中,教职工可以查询自己近几个月的工资详细信息,也可以对自己的登录密码进行修改。同时,能打印出自己需要的工资单。用户管理界面该页面由管理员来操作,通过系统管理员主页面可以访问该
17、页面。主要是对教职工的个人信息进行汇总、添加、修改和删除等操作。添加工资单界面该页面由管理员来操作,通过系统管理员主页面可以访问该页面。主要是对教职工的工资信息进行添加,添加时可以选择所添加工资信息的月份。密码修改界面该页面主要实现的是用户密码的修改。不同的用户登录系统后,均能对自己的登录密码进行修改。工资单打印界面该页面主要实现的是工资单的打印。系统管理员登录后能打印所有教职工的工资单,教职工登录后仅能打印本人的工资单。课程设计总结程序代码因为我们小组成员编程的水平实在是很一般,无法全面系统的实现该软件的所有功能。所以,我们就选取一部分内容进行编程,我们主要对该软件的用户信息管理模块的六个子
18、模块进行了编码,编码总体上由王雪峰负责。其他小组成员主要负协助工作。插入及添加模块有王雪峰和任深圳共同完成。修改及删除模块由王雪峰完成,查找及输入模块有王雪峰和杨博仁,杨科共同完成。#include#include#include#include#include#defineTITLEn月份工号姓名应发工资各种折扣实发工资n#defineDATA%2d%4ld%-10s%n,p1-month,p1-num,p1-name,p1-should_pay,p1-rebate,p1-actual_paytypedefstructpaylongnum;shortmonth;charname20;floa
19、tgw,jn,zw,zl,jt,yj;floatshould_pay;floatfz,gj,sd,others;floatrebate;floatactual_pay;structpay*next;PAY;FILE*fp;PAY*p1=NULL,*p2=NULL,*head=NULL;voidmenu();PAY*input();voidoutput();voidsave(PAY*head);PAY*open();PAY*insert();voidsearch();PAY*del();PAY*revise();/*菜单*/voidmain(void)shortsel;domenu();scan
20、f(%d,&sel);switch(sel)case1:head二input();建职工工资信息n);printf(tttt2.添加职工工资信息n);printf(tttt3.修改职工工资信息n);printf(tttt4.删除职工工资信息n);printf(tttt5.查找职工工资信息n);printf(tttt6信息列表分类n);printf(tttt7.保存信息n);printf(ttttO.退出n);printf(nnnnnnnn);/*用户数据添加模块*/PAY*input()shortn=1;p1=(PAY*)malloc(sizeof(PAY);if(p1=NULL)printf
21、(内存不足,无法创建链表!);getch();printf(n请输入第%d位职工的信息(以工号为0结束):n,n);printf(工号:);scanf(%d,&p1-num);if(p1-num=0)printf(按任意键返回!);getch();free(p1);return0;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
22、-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(sizeo
23、f(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,
24、&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;部清单n);printf(tt2.按月输出n);printf(tt3.按工资段输出n);printf(ttO.返回n);scanf(
25、%d,&sel);while(sel!=1&sel!=2&sel!=3&sel!=0);head=open();if(head=NULL)return;elseswitch(sel)case1:printf(nttt*全部清单*n);printf(TITLE);p1=head;doprintf(DATA);p1=p1-next;while(p1!=NULL);break;case2:flag=0;printf(输入要查的月份:);scanf(%d,&month);printf(nttt*第%d月工资清单*n,month);printf(TITLE);p1=head;doif(p1-month=
26、month)printf(DATA);p1=p1-next;flag=1;elsep1=p1-next;while(p1!=NULL);if(flag=0)printf(没有该月清单n);break;case3:flag=0;printf(输入最低工资:);scanf(%f,&min);printf(输入最高工资:);scanf(%f,&max);printf(ntt*%到工资的名单*n,min,max);printf(TITLE);p1=head;doif(p1-actual_paymin&p1-actual_paynext;flag=1;elsep1=p1-next;while(p1!=N
27、ULL);if(flag=0)printf(没有该工资段的职工n);break;case0:break;while(sel!=0);/*打开文件*/PAY*open()shortn=1,read;fp=fopen(,r);if(fp=NULL)printf(无法打开档案文件!);getch();returnNULL;if(p1=p2=(PAY*)malloc(sizeof(PAY)=NULL)printf(内存不足!);getch();returnNULL;read=fread(p1,sizeof(PAY),1,fp);if(p1=(PAY*)malloc(sizeof(PAY)=NULL)i
28、f(!read)printf(文件读取出错!1);getch();returnNULL;if(p1-next=NULL)head=p1;elsedoif(n=1)head=p1;elsep2-next=p1;n+;p2=p1;printf(内存不足!);getch();returnNULL;read=fread(p1,sizeof(PAY),1,fp);if(!read)printf(文件读取出错!2);getch();returnNULL;while(p1-next!=NULL);p2-next=p1;returnhead;fclose(fp);/*用户数据插入模块*/PAY*insert(
29、)PAY*p3=NULL;printf(工资月份:);charsel;head=open();if(head=NULL)returnNULL;elsedoprintf(请输入要插入的职工信息:n);p3=(PAY*)malloc(sizeof(PAY);if(p3=NULL)printf(内存不足,无法创建链表!);getch();printf(工号:);scanf(%d,&p3-num);getchar();printf(姓名:);gets(p3-name);scanf(%d,&p3-month);printf(n任意键返回,并存盘n);printf(”基本工资,级别工资,职务津贴,工龄津贴
30、,其他津贴,绩效奖励: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
31、(p1!=NULL)p2=p1;p1=p1-next;p2-next=p3;p3-next=NULL;printf(成功插入,是否继续是(Y)否(N)n);sel=getch();while(sel=Y|sel=y);getch();returnhead;printf(tt2.按姓名查找n);/*用户数据查找模块*/voidsearch()shortsel;longnum;charname20,choose;head=open();if(head=NULL)return;elsedodoprintf(n选择查找方式:n);printf(tt1.按工号查找n);scanf(%d,&sel);ge
32、tchar();while(sel!=1&sel!=2);switch(sel)case1:printf(输入要查的工号:);scanf(%ld,&num);break;case2:printf(输入要查的姓名:);gets(name);break;p1=head;while(p1-next!二NULL)&(p1-num!二num)&(strcmp(p1-name,name)!=0)工号删除n);printf(tt2.按姓名删除n);scanf(%d,&sel);getchar();while(sel!=1&sel!=2);switch(sel)case1:printf(”输入要删除的工号:”
33、);scanf(%ld,&num);break;case2:prinTf(”输入要删除的姓名:);gets(name);break;p1=head;if(p1-num=num)|sTrcmp(p1-name,name)=0)head=p1-nexT;prinTf(”删除信息成功!);elsewhile(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删除信息成功
34、!n);elseprintf(n没有该信息!n);printf(是否继续是(Y)否(N)n);choose=getch();while(choose=Y|choose=y);printf(任意键返回,并存盘);getch();returnhead;/*用户数据修改模块*/PAY*revise()shortsel;longnum;charname20,choose;head=open();if(head=NULL)returnNULL;elsedodoprintf(n查找要修改的对象:n);printf(tt1.按工号查找n);printf(tt2.按姓名查找n);scanf(%d,&sel);getchar();while(sel!=1&sel!=2);switch(sel)case1:printf(输入要查的工号:);scanf(%ld,&num);break;ca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《改进工具》(教学设计)安徽大学版三年级下册综合实践活动
- 2024年九年级历史上册 第三单元 封建时代的欧洲 第10课《拜占庭帝国和查士丁尼法典》教学设计 新人教版
- 2024-2025学年高中生物 第二章 染色体与遗传 第一节 减数分裂中的染色体行为教学设计3 浙科版必修2
- 七年级语文上册 20 记 铭 说 志四篇《爱莲说》教学设计1 长春版
- 18《太空生活趣事多》教学设计-2023-2024学年二年级下册语文统编版
- 2024-2025学年高中语文 第三课 神奇的汉字教学设计 新人教版选修《语言文字应用》
- 《第一单元 第5课 一、“弹力球”动画简介》教学设计 2023-2024学年人教版初中信息技术八年级上册
- 七年级英语上册 Module 4 Healthy food Unit 2 Is your food and drink healthy教学设计 (新版)外研版
- 7 看谁学得好 教学设计-2023-2024学年六年级上册心理健康教育(北师大版)
- 九年级化学下册 第九单元 溶液 9.2 溶解度教学设计 (新版)新人教版
- 育婴行业前景及就业前景
- 物管物业交接验收明细表格(全)模板
- (正式版)HGT 6313-2024 化工园区智慧化评价导则
- 康复医学科髋关节Harris-、膝关节HSS评分表
- 口腔科诊断证明书模板
- 河北省衡水市安平中学2020-2021学年高一下学期第一次月考生物试题
- 项目研究助力区域教学改进
- 初中化学优质课评分表.
- LKJ-2000课件
- 五星级大酒店项目全套可行性分析报告(完整版)
- 小麦新品种‘石优20号'的选育技术与推广方法
评论
0/150
提交评论