《职工信息管理系统课程设计.doc》由会员分享,可在线阅读,更多相关《职工信息管理系统课程设计.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除江西理工大学软件学院面向对象程技术课设计报告20112012学年第二学期课程名称 面向对象技术 设计题目 职工信息管理系统 专业班级 11机械电子(2)班 姓 名 杨锦其 学 号 11212203 指导教师 吉宝玉 2012年 6 月 日目录职工信息管理系统21前言2 1.1项目背景2 1.2问题描述2 1.3详细要求2 1.4问题分析32.概要设计3 2.1系统总体设计32.1.1功能描述32.1.2系统操作功能图4 2.2系统详细设计2.2.1数据库设计2.2.2系统主界面设计2.2.3模块流程图3.系统测试3.1测试举例3.2测试项目及方法
2、4.课程设计总结4.1该课程设计的特点及不足4.3心得体会5. 小组成员分工说明6.附件(源程序) 职工信息管理系统1. 前言1.1项目背景 职工信息管理系统是一个企业单位不可绝少的部分,它的内容对于企业的决策者和管理者来说都是至关重要的,所以职工信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来各个公司基本上都是靠传统的人工方式来管理职工信息,这种管理方式存在着许多缺点,如效率低,保密性差,另外时间一长将产生大量的文件和数据,这对于信息的查找,更新和维护都带来不少困难。 当今社会,信息迅速膨胀,随着各个公司的规模扩大,有关信息管理工作所涉及的数据量越来越大,职工信息量也大大
3、增加,利用传统的手工查询,等登记和修改等方法的处理速度远远跟不上公司的需求,有的公司不得不靠增加人力,物力来进行信息管理。 随着计算机级数的不断提高,计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识,它已进入人类社会的各个行业和领域并发挥着越来越重要的作用,成为人们工作和生活中不可缺少的一部分。 而作为计算机应用的一部分,使用计算机对职工进行信息管理,具有手工管理所无法比拟的优点。例如检查迅速,查询方便,可靠性高,存储量大,保密性好,寿命长,成本低等。这些优点能够极大地提高职工信息管理的效率,也是公司的科学化,正规化管理与世界接轨的重要条件,职工信息管理系统作为一种管理软件正在各公司
4、中得到越来越广泛的应用,且以达到良好的效果。1.2问题描述 根据题目要求,由于职工信息是存放在文件中所以应提供文件的输入,输出,查询等操作;在程序中需要浏览职工的信息,应提供显示,查找,更改,删除等功能;另外还提供键盘式选择菜单实现功能选择。1.3详细要求 (1)问题说明设计一个简单的职工信息管理系统,按照课程设计的要求,实现对职工信息的添加,查询,修改以及删除操作。 (2)输入要求 由信息管理员输入现有职工和新增职工的以下信息:姓名(可以重复),工作证号,身份证号,出生日期,家庭住址,联系电话,工资数等信息,并且注意输入时姓名为字符串形式,性别为字符,其余的为长整型数字。 (3)输出要求 系
5、统管理员根据公司的人员流动情况,选择系统提供的各项功能进行操作,并输出相应的结果。1.4问题分析 (1)具体要求简单的职工信息管理系统主要实现以下功能:新增一名职工:将新增职工对象按姓名存入职工管理文件中。删除一名职工:从职工管理文件中删除一名职工对象。查询:从职工管理文件中查询符合一些条件的职工。修改:检索某个职工对象,对其某些属性进行修改。 要求:职工信息包括:职工姓名、工作证号、身份证号、出生日期、家庭住址、联系电话、工资数等。(2) 实现提示 有键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。 对职工对象进行增,删,查询,修改等操作。2. 概要设计2.1系统总体设计 2.
6、1.1功能描述 员工信息管理 实现对员工基本信息的管理,如员工基本信息的添加,查询,修改以及删除,员工基本信息主要包括:姓名,身份证号,工作证号,电话,住址等基本信息情况,可在系统软件中快速查询得到。 工资管理 包括工资变动,分配及其查询。 系统管理主要是对用户和密码的管理。包括添加系统用户信息及密码的修改,系统启动后首先要做的就是用户登录,若不登陆系统,所有功能都无法使用。只有用户登陆系统后才可以根据用户权限进行一定的操作。2.1.2系统操作功能图 员工 管理员 查询 职工信息管理系统删除信息退出系统添加信息查询信息修改信息 员工信息 管理员信息2.2系统详细设计 2.2.1数据库设计 目前
7、设计数据库主要采用的是以逻辑数据库设计和物理数据库设计为核心的规范设计方法。其中逻辑数据库是根据用户要求和特定数据库管理系统的具体特点,以数据库设计理论为依据,设计数据库的全局逻辑结构和每个用户的局部逻辑结构。物理数据库设计是在逻辑结构确定之后,设计数据库的存储结构及其他实现细节。各种规范设计方法在设计步骤上存在差别,各有不同。对职工信息管理系统的分析是建立在UML系统模型基础上的,这里给出UML图分析及其分析。实际关系图的分析结果非常复杂,一般情况下使用从简到烦的方式进行设计,首先从大的方面设计出各个实体之间的关系,然后在这个关系的基础上进行细化。UML系统模型图 修改信息 添加信息 职工信
8、息 管理系统 删除信息 查询信息 职工管理系统的实体关系简单图 创建数据库: 列号 数据类型 长度 是否允许为空 姓名 0 身份证号 工作证号 出生日期 家庭住址 联系电话 工资2.2.2系统主界面设计 打开程序软件首先进入密码页面:输入密码,进入操作系统主页面:上图即为职工信息管理系统主页面,根据用户需要,选择操作。2.2.3模块流程图添加模块 3.系统测试 3.1测试举例 举例职工张三的信息: 姓名:张三; 身份证号:1234567890; 工作证号:0987654321; 出生日期:19931010; 家庭住址:昌北双港东大街1180号; 联系电话:18720082008; 工资:100
9、000; 3.2测试项目及方法 测试职工张三信息的添加,显示,查询,修改。 添加职工张三信息 进入系统,输入密码123456,进入系统操作页面输入A,添加信息,如下:确认添加信息,输入Y,进入页面添加信息,进行操作:输入Y,确认输入后的信息,张三信息添加成功! 显示职工张三信息 进入系统,如添加信息第一步,输入S,显示所有职工信息,因为只添加了职工张三的信息所以只显示张三的信息,如下:查找职工张三的信息进入操作页面,输入F,进入如下页面:输入职工张三的姓名,即可查询得其职工信息;删除职工张三的信息进入系统后输入D,进入修改信息页面,输入所需修改职工姓名张三,然后重新输入其要求的新信息,并保存,
10、如下4.课程设计总结 4.1该课程设计的特点及不足 此课程设计拥有密码保护,保密性高,并且背景颜色可以变换,增加美感,操作方便且简易,但是该软件所保存的信息不多,如员工的考勤情况,惩罚情况,每个月工资的提成与奖金都没有覆盖,所以该程序所存信息不足,有待改善,但该程序适合现阶段面向对象技术初学者的练习作业,能有效的反映出学生的学习情况及其动手能力,也能让学生自己检测出本学期自己所获得的知识掌握情况,是一向很好的课程设计项目。 4.2心得体会 在本系统的开封设计中,由于组是初次开发软件,在知识,经验方面都存在着不足。另外这个开发的过程比较仓促,因此留下了一些不足与缺陷,因为对职工信息管理的流程不太
11、熟悉,在分析时未能做到完善。 尽管如此,我组还是学到了很多东西。通过开发这个系统,我组掌握了项目基本开发过程,用到的知识巩固了我组对C+语言的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学习了设计系统的思维方法,以及同学们之间相互帮助的精神。这次课程设计也同时让我个人认识到了自己知识的不足,并让我对有了全新的认识,也对其产生了浓厚的兴趣,要好好学习,充实自己。为自己加油!为自己组加油!5. 小组成员分工说明 本组是11机械电子(2)班第一小组,成员有王永莎,赵晓燕,杨锦其,胡浩然,丁世成,傅旭海。分工如下: 组长:王永莎,负责分派任务,督促小组成员完成自己任务。并完成大量
12、编写任务; 赵晓燕:编写UML图; 胡浩然:编写代码,编写UML图; 杨锦其,丁世成,傅旭海:编写添加,显示,修改,查找四个模块的流程图及其任务描述。6.附件(源程序)#include#include#include#includeusing namespace std;class Crewpublic: void add(); void show(); void check(); void change();private: string name;/职工姓名string id1;/工作证号 string id2;/身份证号 string birthday;/出生日期 string addr
13、ess;/家庭住址 string telphone;/联系电话 string salary;/工资static int account;int Crew:account=0;Crew stiff256;void Crew:add() string name,id1,id2,birthday,address,telphone,salary; coutname; coutid1; coutid2; coutbirthday; coutaddress; couttelphone; coutsalary; char c; coutc; if(toupper(c)=Y) coutname的个人信息保存成
14、功!; stiffCrew:account.name=name; stiffCrew:account.id1=id1; stiffCrew:account.id2=id2; stiffCrew:account.birthday=birthday; stiffCrew:account.address=address; stiffCrew:account.telphone=telphone; stiffCrew:account.salary=salary; Crew:account+; else cout保存信息操作取消!;void Crew:show() cout姓名 身份证号 工作证号 出生日
15、期 ; cout家庭住址 联系电话 工资; coutendl;for(int i=0;i=Crew:account;i+) coutstiffi.name ; coutstiffi.id1 ; coutstiffi.id2 ; coutstiffi.birthday ; coutstiffi.address ; coutstiffi.telphone ; coutstiffi.salary ; coutendl;void Crew:check() coutname; int flag=1; for(int i=0;i=Crew:account;i+) if( stiffi.name=name)
16、 flag=0; cout姓名 身份证号 工作证号 出生日期 ; cout家庭住址 联系电话 工资; coutendl; coutstiffi.name ; coutstiffi.id1 ; coutstiffi.id2 ; coutstiffi.birthday ; coutstiffi.address ; coutstiffi.telphone ; coutstiffi.salary ; coutendl; break; if(flag) cout你输入的职工不存在!;void Crew:change() coutname1; int flag=1; for(int i=0;i=Crew:
17、account;i+) if( stiffi.name=name1) string name,id1,id2,birthday,address,telphone,salary; cout请重新输入name的信息!endl; coutname; coutid1; coutid2; coutbirthday; coutaddress; couttelphone; coutsalary; coutc; if(toupper(c)=Y) stiffi.name=name; stiffi.id1=id1; stiffi.id2=id2; stiffi.birthday=birthday; stiffi.
18、address=address; stiffi.telphone=telphone; stiffi.salary=salary; cout修改信息完成!; else cout信息修改取消!; flag=0; if(flag) cout你要修改的职工不存在!;int main(int argc, char* argv)for(int i=1;i28;i+)cout003;cout欢迎访问职工信息管理系统; for(int j=1;j28;j+)cout003; coutendl; couts2;if(s2!=s1)cout密码错误请重新输入:;else break;/密码的判断system(cl
19、s);/清屏函数system(color 5A);/改变输出窗口颜色的函数cout 请选择操作endl;cout ;for(int n=1;n25;n+) cout003; coutendl; cout 0031.添加职工信息(A) 003endl;cout 0032.显示所有职工信息(S) 003endl;cout 0033.查找职工信息(F) 003endl;cout 0034.修改职工信息(D) 003endl;cout 0035.退出系统(E) 003endl;cout ;for(int m=1;m25;m+) cout003; coutendl;/进入主菜单while(1) cout
20、ch; switch(toupper(ch) caseA: Crew g; coutc; if(toupper(c)=Y) g.add(); system(pause); system(cls);/清屏函数cout 请选择操作endl;cout ;for(int n=1;n25;n+) cout003; coutendl; cout 0031.添加职工信息(A) 003endl;cout 0032.显示所有职工信息(S) 003endl;cout 0033.查找职工信息(F) 003endl;cout 0034.修改职工信息(D) 003endl;cout 0035.退出系统(E) 003en
21、dl;cout ;for(int m=1;m25;m+) cout003; coutendl;/进入主菜单 else break; break;caseS: Crew g; coutc; if(toupper(c)=Y) g.show(); system(pause); system(cls);/清屏函数 system(color 2A);cout 请选择操作endl;cout ;for(int n=1;n25;n+) cout003; coutendl; cout 0031.添加职工信息(A) 003endl;cout 0032.显示所有职工信息(S) 003endl;cout 0033.查
22、找职工信息(F) 003endl;cout 0034.修改职工信息(D) 003endl;cout 0035.退出系统(E) 003endl;cout ;for(int m=1;m25;m+) cout003; coutendl;/进入主菜单 else break; break; caseF: Crew g; coutc; if(toupper(c)=Y) g.check(); system(pause); system(cls);/清屏函数 system(color 1A);cout 请选择操作endl;cout ;for(int n=1;n25;n+) cout003; coutendl;
23、 cout 0031.添加职工信息(A) 003endl;cout 0032.显示所有职工信息(S) 003endl;cout 0033.查找职工信息(F) 003endl;cout 0034.修改职工信息(D) 003endl;cout 0035.退出系统(E) 003endl;cout ;for(int m=1;m25;m+) cout003; coutendl;/进入主菜单 else break; break; caseD: Crew g; coutc; if(toupper(c)=Y) g.change(); system(pause); system(cls);/清屏函数 syste
24、m(color 3A);cout 请选择操作endl;cout ;for(int n=1;n25;n+) cout003; coutendl; cout 0031.添加职工信息(A) 003endl;cout 0032.显示所有职工信息(S) 003endl;cout 0033.查找职工信息(F) 003endl;cout 0034.修改职工信息(D) 003endl;cout 0035.退出系统(E) 003endl;cout ;for(int m=1;m25;m+) cout003; coutendl;/进入主菜单 else break; break; case E: coutc; if(
25、toupper(c)=N) system(pause); system(cls);/清屏函数 system(color 4A);cout 请选择操作endl;cout ;for(int n=1;n25;n+) cout003; coutendl; cout 0031.添加职工信息(A) 003endl;cout 0032.显示所有职工信息(S) 003endl;cout 0033.查找职工信息(F) 003endl;cout 0034.修改职工信息(D) 003endl;cout 0035.退出系统(E) 003endl;cout ;for(int m=1;m25;m+) cout003; c
26、outendl;/进入主菜单 else exit(0); break; default: cout您输入的操作无效请重新输入!; system(pause); system(cls);/清屏函数cout 请选择操作endl;cout ;for(int n=1;n25;n+) cout003; coutendl; cout 0031.添加职工信息(A) 003endl;cout 0032.显示所有职工信息(S) 003endl;cout 0033.查找职工信息(F) 003endl;cout 0034.修改职工信息(D) 003endl;cout 0035.退出系统(E) 003endl;cout ;for(int m=1;m25;m+) cout003; coutendl;/进入主菜单 return 0;【精品文档】第 16 页