面向对象课程设计报告课程名称:设计内容:高校人员信息管理系统学生姓名:学号:专业:指导教师:完成时间:年月日目录一、课设题目........................................................ 错误!未定义书签。
二、系统以及需求分析 (2)(一)系统目标 (2)(二)开发工具可行性分析 (2)三、程序功能描述以及模块结构 (3)(一)函数功能模块描述及主要类描述 (3)(二)程序流程图 (4)(三)信息结构表 ................................................ 错误!未定义书签。
四、用户使用说明与调试结果 (4)(一)使用说明.................................................... 错误!未定义书签。
(二)调试结果.................................................... 错误!未定义书签。
(三)优缺点分析 . (11)五、总结 (11)一、课设题目1、问题描述某高校,主要人员有:领导、教师和学生,共有的信息包括:编号、姓名、性别、年龄。
其中领导还应包含的信息有:任职部门(学院、各系部)、职称;教师还应包含的信息有:职称、任职时间、专业;学生还应包含的信息有:所在班级、所在宿舍等。
某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。
其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等。
2、功能要求(1)基本功能1) 添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
2) 查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
3) 显示功能:可显示当前系统中所有记录,每条记录占据一行。
4) 编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
5)删除功能:主要实现对已添加的人员记录进行删除。
如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
6) 统计功能:能根据多种参数进行人员的统计。
例如,统计四类人员数量以及总数,或者统计男、女员工的数量,或者统计某年龄段人员的数量等。
7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。
8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。
(2)扩展功能在完成以上基本功能的基础上,可自行进行扩展或完善,例如:1) 添加人员记录时,考虑各种数据的有效性。
2)组合查询功能的实现。
3)可按人员的某些信息进行排序。
4)对文件的读写使用二进制信息。
3、问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;2)分析系统中的各个实体及它们之间的关系;3)根据问题描述,设计系统的类层次;4)完成类层次中各个类的描述;5)完成类中各个成员函数的定义;6)完成系统的应用模块;7)功能调试;8)完成系统总结报告。
二、系统以及需求分析(一)系统目标除了前面所述,我们所开发的系统还应该具有以下功能:⑴原始信息修改简单方便;⑵方便的信息查询;⑶删除信息方便简单,稳定性好;⑷信息计算自动完成,尽量减少人工干预;(二)开发工具可行性分析Microsoft Visual 2008简介Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 的下一代开发工具,代号“Orcas”,是对Visual Studio 2005一次及时、全面的升级。
VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。
使用Visual Studio 2008可以高效开发Windows应用。
设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。
同时Visual Studio 2008支持项目模板、调试器和部署程序。
Visual Studio 2008可以高效开发Web应用,集成了AJAX ,包含AJAX项目模板,它还可以高效开发Office应用和Mobile应用。
三、程序功能描述以及模块结构(一)函数功能模块描述及主要类描述模块一:添加员工函数addWorkers();增加员工基本信息。
模块二:查询员工函数findWorkers();可根据员工编号等信息对已经添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息模块三:显示员工函数displayInformation();可显示当前系统中所有记录,每条记录占据一行。
模块四:编辑员工信息函数editWorkers();可根据用户要求,对指定用户信息进行修改,切保证了修改时用户编号的唯一性。
模块五:删除员工函数delWorkers();主要实现了对已经添加的人员记录进行删除,如果当前系统中没有相应的人员记录,则提示相关信息,如果找到该员工相关记录,则将该员工信息从系统中删除。
模块六:统计员工信息函数statisticWorkers();根据用户输入参数不同,按照不同统计类型,统计当前系统的员工数目。
模块七:保存员工信息函数saveInformation();将当前系统中各类人员的记录信息存入文件中。
模块八:读取员工信息函数loadInformation();将保存在文件中的员工信息读入到当前系统中,供用户进行使用。
本系统采用了面向对象的程序设计方法。
所有的方法均以类为基础。
所涉及到的类包括:Class worker基本员工类;该类是一个基类,设置了员工基本属性:编号、姓名、性别、年龄,供其他员工类型继承。
class teacher教师类;由worker类继承而来。
新增加了所在系部、专业、职称信息。
class technician实验员类;由worker类继承而来。
新增加了所在实验室、职务信息。
class manager行政人员类;由worker类继承而来。
新增加了政治面貌、职务信息。
class teachermanager教师兼行政类;由teacher类继承而来。
新增加了政治面貌、职务信息。
Class campus学校类,用来维护与管理员工信息。
(二)程序流程图四、用户使用说明与调试结果(一)使用说明这是一个关于员工信息管理系统,添加、查询、显示、编辑、删除、统计、保存、读取等多种功能,建立了一个含有编号、姓名、性别、年龄、所在院系、政治面貌、职称等成员的类的变量。
增加员工信息按“1”键;查询员工信息按“2”键;显示员工信息按“3”键;编辑员工信息按“4”键;删除员工信息按“5”键;统计员工信息按“6”键;保存员工信息按“7”键;读取员工信息按“8”键;退出系统按“0”键。
(二)调试结果代码中运用了switch 语句调用各子函数,数字1、2、3、4、5、6、7、8、0等9个数字代表不同的指令。
系统启动后,直接显示高校人员信息管理系统的主菜单,供用户选择操作,结果显示如上图所示。
根据用户输入的不同指令(即数字1,2,3,4,5,6,7,8,0),系统执行不同的操作。
当用户需要添加员工信息的时候,执行命令1,进入添加员工信息的界面,如下图所示:用户根据需求,输入需要添加的员工类型,然后按照提示可以添加员工信息。
当用户需要添加教师类的员工时,先输入1指令,然后根据提示,按照规定的格式,输入待添加员工的信息,就可以成功添加一个教师类的员工。
如下图所示,添加了一个姓名为教师张的员工信息。
当用户需要添加实验员类的员工时,需要输入2指令,然后根据提示,按照规定的格式输入待添加员工的信息,就可以成功添加一个实验员类的员工。
如下图所示,添加了一个姓名为实验员张的员工信息。
其他类型的员工信息添加方法类似。
当添加一个编号已经存在的员工信息时,系统会提示员工编号已存在,此次添加失败,添加取消。
如下图所示,因为上述已经添加过编号为101的教师张,如果此处选择添加编号为101的行政张时,系统提示员工编号已存在,此次添加被取消。
查询功能。
当用户在主菜单下输入命令2,则进入查询用户界面。
如下图所示:根据提示输入要查询的员工编号、员工姓名,系统显示查询结果。
显示功能。
当用户在主菜单下输入命令3时,则执行显示员工信息的命令。
显示结果如下图所示:编辑功能。
当需要编辑员工信息时,在主菜单下输入命令4,进入员工信息编辑界面,如下图所示:根据提示内容,输入需要编辑的员工编号,并按照提示的员工格式,输入修改后的员工信息。
删除功能。
在主菜单下输入命令5,进入删除功能的界面,按照提示,输入要删除的员工编号、员工姓名等信息,即可删除指定的员工信息,如下图所示。
当用户想要删除系统中不存在的记录时,系统提示没有找到指定的员工,记录为空。
如下图所示统计功能。
在主菜单输入命令6,则进入统计功能界面,如下图所示:当需要统计四类员工数以及总的员工人数时,用户在统计类型选择界面下输入命令1,则系统显示统计到的员工信息,如下图所示:当需要按性别统计男女员工的人数时,需要在统计类型选择界面下输入命令2,系统将会显示统计到的男女员工人数。
如下图所示:保存功能。
在主菜单下选择命令7,可以讲当前系统中各类员工的信息记录在文件内。
在系统推出前,也默认设置保存当前系统添加/编辑/删除的员工信息。
当保存成功时,系统会提示,保存成功。
读取功能。
当用户在主菜单下输入命令8时,系统将会从保存的文件中读取人员信息到当前系统中,供用户进行编辑、查看、删除等操作。
退出功能。
当用户输入命令0时,系统退出,并将当前系统的员工信息保存到文件内,以供下次读取。
(三)优缺点分析优点:★系统中包含了添加、查询、显示、编辑、删除、统计、保存、读取等多种功能,系统操作灵活性较强,功能较强大;★可以随意地选择不同的指令进行操作;★排版效果清晰明了,层次分明;★操作简单方便,可以根据提示直接输入命令数字。
缺点:★命令行式的输入不是很人性化,用户提示信息可以更加完善。
★代码还可以优化整理五、总结这次C++课程设计让我有实战的感觉,在本系统的开发过程中,由于是初次开发软件,在知识、经验方面都存在着不足。
在实践编程过程中积累了宝贵的经验。
C++在社会中的用处也随处可见,它的作用也是不会被忽视的,我们也应该重视。