人员管理系统实训报告课程设计.docx
- 文档编号:17650559
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:54
- 大小:64.03KB
人员管理系统实训报告课程设计.docx
《人员管理系统实训报告课程设计.docx》由会员分享,可在线阅读,更多相关《人员管理系统实训报告课程设计.docx(54页珍藏版)》请在冰点文库上搜索。
人员管理系统实训报告课程设计
沈阳工程学院
课程设计
设计题目:
C++程序设计课程设计
公司人员管理系统
系别xx班级xx
学生姓名XX
学号xx
指导教师xx职称讲师副教授
起止日期:
2013年12月30日起——至2014年01月03日止
沈阳工程学院
课程设计任务书
课程设计题目:
公司人员管理系统
系别信息学院班级计算本121
学生姓名
学号
指导教师职称
课程设计进行地点:
F608
任务下达时间:
2013年12月01日
起止日期:
2013年12月30日起——至2014年01月03日止
教研室主任年月日批准
一、课程设计的原始资料及依据
公司人员管理系统的总目标是:
在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,分析和设计一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的公司人员管理系统,为公司主管部门的决策者和管理者提供充足的信息、快捷的查询和有效的管理方式,减少不必要的损失和浪费,提高人员管理的效率。
二、课程设计主要内容及要求
设计名称:
公司人员管理系统
设计内容:
某小型公司,主要有四类人员:
经理,兼职技术人员,销售经理和兼职推销员.
1)人员信息包括姓名,编号,级别,当月薪水,计算月薪总额等
2)能够显示这些人员的全部信息.
3)添加删除功能:
能根据公司人事的变动情况,添加删除记录;
4)查询功能:
能根据编号和姓名进行查询;
5)保存功能:
启动程序时能读取人员信息,关闭程序时能将信息保存至硬盘文件。
6)人员编号在生成人员信息时自动生成,每输入一个人员信息编号顺序加1。
设计要求:
(1)要求在设计的过程中建立清晰的类层次,并画出类图;
(2)设计功能满足要求、易于操作的友好界面;
(3)在系统的设计中,至少要用到面向对象的一种机制:
继承、多态等;
(4)在完成该题目时,小组人员进行详细的任务分工,并要在报告中体现出来。
三、对课程设计说明书撰写内容、格式、字数的要求
1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:
设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。
一般不应少于3000字。
2.在适当位置配合相应的实验原理图、功能模块图、算法流程图等图表进行说明。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
3.设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。
4.课程设计说明书手写或打印均可。
手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。
文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。
5.课程设计说明书装订顺序为:
封面、任务书、成绩评定表、目录、正文、参考文献。
四、设计完成后应提交成果的种类、数量、质量等方面的要求
1.完成“任务书”中指定的功能,运行结果正确。
2.课程设计说明书。
五、时间进度安排
顺序
阶段日期
计划完成内容
备注
1
第1天(12月30号)
阅读资料
2
第2天(12月31号)
系统分析设计
3
第3天(01月01号)
程序编制、调试及运行
4
第4天(01月02号)
成绩评定
5
第5天(01月02号)
撰写课程设计说明书
六、参考文献
[1]刘觉夫王更生等编着《C++程序设计》.北京邮电大学出版社
[2]曾辉王更生李广丽等编着《C++程序设计实训教程》.北京邮电大学出版社
[3]谭浩强编着《C++面向对象程序设计》.北京清华大学出版社
[4]郑莉董渊何江舟等编着的《C++语言程序设计》.北京清华大学出版社
[5]李强贾云霞等编着的《Visual?
C++项目开发实践》.北京中国铁道出版社
[6]皮德常编着的《C++程序设计教程(第一版)》.北京清华大学出版社
[7]钱能编着的《C++程序设计教程(第二版)》.北京清华大学出版社
[8]郑阿奇编着《Visual?
C++教程》.北京清华大学出版社
沈阳工程学院
C++程序设计课程设计成绩评定表
系(部):
信息学院班级:
计算本121学生姓名:
指导教师评审意见
评价
内容
具体要求
权重
评分
加权分
调研
论证
能独立查阅文献,收集资料;能制定课程设计方案和日程安排。
0.1
5
4
3
2
工作能力
态度
工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作,
0.2
5
4
3
2
工作量
按期圆满完成规定的设计任务,工作量饱满,难度适宜。
0.2
5
4
3
2
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.5
5
4
3
2
指导教师评审成绩
(加权分合计乘以12)
分
加权分合计
指导教师签名:
年月日
评阅教师评审意见
评价
内容
具体要求
权重
评分
加权分
查阅
文献
查阅文献有一定广泛性;有综合归纳资料的能力
0.2
5
4
3
2
工作量
工作量饱满,难度适中。
0.5
5
4
3
2
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.3
5
4
3
2
评阅教师评审成绩
(加权分合计乘以8)
分
加权分合计
评阅教师签名:
年月日
课程设计总评成绩
分
沈阳工程学院
C++程序设计课程设计成绩评定表
系(部):
信息学院班级:
计算本121学生姓名:
指导教师评审意见
评价
内容
具体要求
权重
评分
加权分
调研
论证
能独立查阅文献,收集资料;能制定课程设计方案和日程安排。
0.1
5
4
3
2
工作能力
态度
工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作,
0.2
5
4
3
2
工作量
按期圆满完成规定的设计任务,工作量饱满,难度适宜。
0.2
5
4
3
2
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.5
5
4
3
2
指导教师评审成绩
(加权分合计乘以12)
分
加权分合计
指导教师签名:
年月日
评阅教师评审意见
评价
内容
具体要求
权重
评分
加权分
查阅
文献
查阅文献有一定广泛性;有综合归纳资料的能力
0.2
5
4
3
2
工作量
工作量饱满,难度适中。
0.5
5
4
3
2
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.3
5
4
3
2
评阅教师评审成绩
(加权分合计乘以8)
分
加权分合计
评阅教师签名:
年月日
课程设计总评成绩
分
沈阳工程学院
C++程序设计课程设计成绩评定表
系(部):
信息学院班级:
计算本121学生姓名:
指导教师评审意见
评价
内容
具体要求
权重
评分
加权分
调研
论证
能独立查阅文献,收集资料;能制定课程设计方案和日程安排。
0.1
5
4
3
2
工作能力
态度
工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作,
0.2
5
4
3
2
工作量
按期圆满完成规定的设计任务,工作量饱满,难度适宜。
0.2
5
4
3
2
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.5
5
4
3
2
指导教师评审成绩
(加权分合计乘以12)
分
加权分合计
指导教师签名:
年月日
评阅教师评审意见
评价
内容
具体要求
权重
评分
加权分
查阅
文献
查阅文献有一定广泛性;有综合归纳资料的能力
0.2
5
4
3
2
工作量
工作量饱满,难度适中。
0.5
5
4
3
2
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.3
5
4
3
2
评阅教师评审成绩
(加权分合计乘以8)
分
加权分合计
评阅教师签名:
年月日
课程设计总评成绩
分
摘要
在当前的市场经济体制下,企业要想提高市场的竞争力,取得好的经济效益,不但要有好的产品和销售服务,还必须加强对公司内部的人员管理,以提高内部人员的凝聚力和积极性、提高工作效率等。
本文利用VisualC++6.0编写程序,实现了用户对公司人员的编号、姓名、性别、部门。
级别、工资等信息的管理操作。
本系统主要有八个功能模块:
到添加信息子系统、查询信息子系统、统计子系统、显示子系统、修改子系统、删除子系统、保存子系统和读取子系统。
已经过全面的系统测试,能够很好的运行,达到了预期的效果。
本系统主要实现了对四类人员的管理:
经理管理、销售人员管理、技术人员管理、销售经理管理;主要运用了继承友元等编程方法来实现对这些人员的管理。
关键词:
系统设计人员管理信息公司
第一章问题分析
1.1引言
公司人员管理系统是公司管理中的一个重要内容,随着时代的进步,公司人员数量也不断增加、分工的不断细化、各个行业间联系的不断密切,对人事管理的要求也不断提高。
早期的人工方式的管理系统已不适合现代企业的公司的发展,实现企业人事管理的系统化、规范化、自动化,是现代公司管理的首选。
此次课程设计的目的是以《C++语言程序设计》为基础,针对具有一定难度的综合性题目,进行分析、编程、调试和运行,进一步掌握面向对象和面向过程程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实践相结合,提高分析问题、解决问题的能力。
通过设计一个简单的公司人员管理系统,进一步熟悉C++中类的概念、类的封装、继承和多态的实现方式。
了解系统开发的需要分析,类层次设计,模块分析,编码测试,模块组装与整体调试的全过程,逐步熟悉程序设计的方法,并养成良好的编程习惯。
1.2课程设计的目的
要求学生能够熟练掌握C++语言的基本知识和技能。
基本掌握面向对象程序设计的基本思路和方法。
能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
1.3设计题目(问题)描述和要求
1.3.1设计内容:
某小型公司,主要有四类人员:
经理,兼职技术人员,销售经理和兼职推销员.
人员信息包括姓名,编号,级别,当月薪水,计算月薪总额等
能够显示这些人员的全部信息.
添加删除功能:
能根据公司人事的变动情况,添加删除记录;
查询功能:
能根据编号和姓名进行查询;
保存功能:
启动程序时能读取人员信息,关闭程序时能将信息保存至硬盘文件。
人员编号在生成人员信息时自动生成,每输入一个人员信息编号顺序加1。
1.3.2设计要求:
要求在设计的过程中建立清晰的类层次,并画出类图;
设计功能满足要求、易于操作的友好界面;
在系统的设计中,至少要用到面向对象的一种机制:
继承、多态等;
在完成该题目时,小组人员进行详细的任务分工,并要在报告中体现出来。
1.4系统分析与分工
1.4.1问题分析
根据问题描述和要求,系统要求能够按姓名或者编号显示、查找、增加、删除和保存各类人员的信息。
确定程序至少应该具备如下功能:
“查询人员”、“增加人员”、“删除人员”、“数据存盘”基本模块。
系统既然具有“数据存盘”功能-人员数据可以保存到磁盘文件,那么也就意味着今后可以从磁盘文件读出人员数据,所以系统增加了“人员数据装入”模块,以方便用户使用、避免数据重复录入。
考虑到系统实现简捷,人员数据文件采用文本文件,人员数据文件名:
Person.txt。
考虑到根据编号查找人员信息功能在“删除人员”模块都使用,所以可以考虑设置为一个模块。
考虑到系统要求人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。
这样就要求人员编号在增加人员时自动生成(增加1)且不重复。
根据这个要求,可以考虑设置一个全局量:
“当前最大编号”,每增加一个人员,当前最大编号自动增1,然后新增加人员使用这个编号。
为了保证系统能记忆这个编号,可以使用一个数据文件保存当前这个编号。
系统每次开始运行前从文件读入这个编号,随着人员增加,编号自动增加,系统每次运行结束时将这个编号写入文件。
本系统将初值(没有一个用户时)设置为0。
考虑到人员的许多固定信息如:
经理、销售经理的固定月薪,销售经理、销售人员提成,技术人员小时工资等都是一些不需要每个人员都要输入的信息,所以可以将这些信息都保存在一个数据文件中,本系统为了方便起见,将这些信息与“最大编号”全部保存在一个文件中,并使用“基础数据设置”模块进行设置和管理。
基础数据文件也采用文本文件,基础数据文件名:
Base.txt。
本系统还提供“查询本月经营信息”帮助计算销售总额,工资总额,并按照公式计算本月盈亏。
综合考虑系统具有下面8项功能模块:
增加人员,删除人员,修改人员,查询本月经营信息,基础数据设置,数据存盘,数据装入。
系统使用的数据文件格式如下:
Base.txt:
(格式:
项目数据)
经理固定月薪3000
销售经理固定月薪2000
销售经理提成%1
销售人员提成%2
技术人员小时工资20
ID6
Person.txt:
(格式:
编号,姓名,人员类别,其它数据,销售员销售额,技术人员工作小时)
2shijinwan3100000
3hejinwei1
4zengying4100
5chenying2
6sunyiming3150000
注:
人员类型编号1-经理;2-销售经理;3-销售员;4-技术人员
1.4.2任务分工
小组成员
个人任务描述
Xx
我主要负责小组分工合作,编写添加函数、删除函数,以及撰写论文的设计原理及部分内容,完成最后的论文汇总。
Xxx
我主要负责编写程序的查找和修改模块及主函数等程序功能,负责链接调试程序,结合大家感受撰写论文的总结部分。
Xx
我主要负责编写程序的菜单,显示和删除模块,并负责撰写论文的摘要,引言,致谢部分。
1.5设备器材
参考书目、计算机、编译软件MicrosoftVisualStudio2010
1.6课程设计意义
通过设计此系统,熟练掌握C++语言的基本知识和技能,基本掌握面向对象程序开发的基本思路和方法,培养学生的动手操作能力,提高自主学艺能力,能够利用所学的基本知识和技能,进行简单应用程序设计。
加深理解利用程序设计思想开发一个系统的整个流程,提高分析问题、解决问题和实际动手的能力。
第二章设计原理与运行环境
2.1c++语言概述
2.1.1C++语言出现的历史背景
伟大的C++语言之父,BjarneStroustrup博士曾经说过:
“一种程序设计思想要为人所用,不仅语言的特性必须是典雅的,而且它必须在真正的程序环境中能经得起考验。
”面向对象程序设计方法的提出,以及它在编写大规模程序方面显示出的优越性,使人们开始重视面向对象程序设计语言的研究。
在面向过程的ALGoL、ADA和MoDuLA—2等语言的基础上,逐步演变形成了面向对象的程序设计语言。
20世纪60年代,美国国防部投入巨大的人力和物力,研制开发了ADA语言。
ADA语言并非面向对象的程序设计语言,但它具有的模块化、信息隐藏、数据抽和并发执行等特点对于面向对象程序设计方法和技术起到了积极的推动作用。
人们普遍认为,ADA语言是一种基于对象的程序设计语言。
1967年出现了simula67语言,它是面向对象程序设计语言的鼻祖,提出了对象的概念,并且支持类和继承。
随后出现的Smalltalk语言继续丰富和发展了面向对象程序设计的概念,并且提供了更加严格的信息隐藏机制。
1980年问世的Smalltalk—80语言是Smalltalk语言的改进版,开始向世人展现面向对象程序设计的魅力。
1982年,美国AT&T公司贝尔实验室的BjarneStroustrup博士在c语言的基础上引入并扩充了面向对象的概念,发明了—种新的程序语言。
为了表达该语言与c语言的渊源关系,它被名为c++。
此后c++语言历经了不断地完善,例如1990年c++语言引入模板和异常处理的概念,1993年引入运行时类型识别(RTTI)和名字空间(NameSpace)的概念。
1997年,c++语言成为美国国家标准(ANSI)。
1998年,c++语言又成为了国际标准(ISO)。
目前,c++语言已成为使用最广泛的面向对象程序设计语言之一。
c++语言是以c语言为基础的,支持c语言的所有语法和几乎所有的技术,因此也有人把c++语言看作是c语言的超集。
同时c++语言支持面向对象程序设计方法的所有概念,它是一种非常实用的、功能极为强大的程序语言,相对而言较难掌握。
2.1.2C++语言的主要特点
【优点】
C++设计成静态类型、和C同样高效且可移植的多用途设计语言。
C++设计成直接的和广泛的支持多种(程序化程序设计、资料抽象化、、泛型程序设计)。
C++设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。
·C++设计成尽可能与C兼容,籍此提供一个从C到C++的平滑过渡。
C++避免平台限定或没有普遍用途的特性。
C++不使用会带来额外开销的特性。
C++设计成无需复杂的程序设计环境。
出于保证语言的简洁和运行高效等方面的考虑,C++的很多特性都是以库(如STL)或其他的形式提供的,而没有直接添加到语言本身里。
C++在一定程度上可以和很好的结合,甚至大多数C语言程序是在C++的集成开发环境中完成的。
C++相对众多的面向对象的语言,具有相当高的性能。
C++引入了面向对象的概念,使得开发人机交互类型的应用程序更为简单、快捷。
很多优秀的程序框架包括MFC、QT、wxWidgets就是使用的C++。
人们一般认为,使用或的比C++低。
但是,如果充分分析C++和这些语言的差别,会发现这句话的成立是有条件的。
这个条件就是:
规模和复杂度都比较小。
如果不超过3有效代码(不包括生成器产生的代码),这句话基本上还能成立。
否则,随着代码量和复杂度的增加,C++的优势将会越来越明显。
造成这种差别的就是C++的软件工程性。
【缺点】
C++由于语言本身过度复杂,这甚至使人类难于理解其语义。
更为糟糕的是C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器也存在了大量的问题,这些问题大多难于被发现。
由于本身的复杂性,复杂的C++程序的正确性相当难于保证。
也有人提出不支持多线程的原语等缺陷。
不过有如此多的知名人士提出了如此多的缺陷,正说明C++被广泛使用和成功。
C++语言由于过度的复杂性,以及与的文化相抵触,在unix/linux领域受到很多着名人士(比如Linux之父与着名黑客)的强烈批评与抵制。
2.2基本操作
1.新建一个工程
首先鼠标左键单击“文件”菜单,选择“新建”单击鼠标左键,系统将弹出一个窗口,单击“工程”选项,将得到图2.1所示窗口。
请在“工程名称”栏填入工程名,然后鼠标左键单击左边窗口倒数第三项“Win32ConsoleApplication”,使该项变蓝,然后鼠标左键单击“确定”按钮。
得到图2.2所示窗口,选择“一个空工程”,单击“完成”得到图2.3。
再单击“确定”得到图2.4所示的窗口。
图2.4VisualC++6.0的工作环境
2.新建一个源文件
要新建一个C程序源文件可以选择“文件”菜单的“新建”选项,在弹出的窗口中选择“文件”选项单击,得到如图2.5所示的窗口,其“位置”栏中的内容是默认的,在“添加到工程”前打勾,“工程名”也是默认的。
3.编辑程序
编辑环境如图2.6所示。
把程序代码输入计算机,如图2.7所示。
图2.6编辑区域
图2.7编辑程序
4.编译、连接、运行、调试一个程序
当源文件编辑完成后,就可以编译、连接和运行程序了。
方法如下:
①单击“组建”菜单的“编译”选项,将完成编译工作得到***.cpp目标文件(文件名就是源文件的名字),编译结果将在窗口最下面的输出窗口显示。
可根据窗口的提示修改源文件以改正错误。
②单击“组建”菜单的“组建”选项,完成连接工作得到可执行文件(文件名是工程名),连接的结果也将在窗口最下面的输出窗口显示。
③单击“组建”菜单的“全部重建”选项,将完成编译和连接两项工作,编译和连接的结果将在输出窗口显示。
④单击“组建”菜单的“执行”选项,可运行程序,程序运行的结果如图2.8所示。
图2.8程序运行结果
第三章系统分析与设计
3.1系统设计
3.1.1系统总体框架
使用面向对象的程序设计思想进行分析,整个系统涉及两大类信息和操作,公司,人员。
所以系统主要涉及两个大类:
公司类Company、人员类Person。
系统的总体框架就是公司类,人员类的定义;主函数中定义一个公司对象,循环显示主菜单并根据用户选择调用公司类的相应方法(成员函数)。
(1)公司类Company:
考虑系统操作的人员信息的数量具有不确定性,所以考虑使用链表保存、处理人员信息。
公司类包含:
所有人员信息的一个不带头结点的链表(作为数据成员)及可以对人员信息进行增,删,改,查询经营信息,基础数据设置,数据存盘,数据装入等操作的相关模块(Add,Delete,Modify,Query,Set,Save,Load)作为成员函数。
(2)人员类Person:
所有人员都具有的公共信息及操作可以使用人员类进行描述。
由于系统具有4类人员且4类人员数据,操作有所不同,如销售员包含销售额,而技术人员包含工作小时数且计算工资的方法不同,所以应当为4类人员创建相应的Person类的派生类。
(3)为了使公司类可以方便处理人员信息,可以考虑将公司类确定为人员类的友元类或者人员类提供公共的方法以便公司类进行操作。
为了公司类可以用共同方法操作人员类,可以将人员类的方法确定为虚函数。
3.1.2类的层次图
类的层次图如图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人员 管理 系统 报告 课程设计