面向对象程序设计课程设计实例.doc
文本预览下载声明
课程设计报告例子:
高等院校人事信息管理系统
1、系统设计目标及意义、功能
本题目要完成一个高等院校的人事信息管理系统,能够实现学校中各类人员的信息录入、查询、修改、删除、统计、保存、显示等操作。假设高校中有三类人员:授课教师、行政人员、行政人员兼职教师(既上课又完成行政人员的工作)。系统具体实现的功能如下:
从文件中加载员工信息:系统可以实现把存储在文件person.txt中的学校人员基本信息加载到系统中,可以避免数据的重复录入。
增加学校员工信息:系统可以实现键盘录入新员工信息,员工信息包括员工编号、类型、姓名、性别、年龄、政治面貌、学历、工资等。如果目前学校无员工,则直接录入员工信息;如果有员工,则自动生成新员工的编号(增加1)。学校人员分为授课教师、行政人员、行政人员兼职教师三类,各类员工的工资计算方法如下:
授课教师工资=基本工资+课时费(30*学时数)
行政人员工资=基本工资+行政补贴
行政人员兼职教师工资=基本工资+行政补贴+课时费(20*学时数)
3)查询学校员工信息:系统可以实现按“编号”或“姓名”查询员工,并输出相关信息。
4)修改学校员工信息:系统可以实现对录入的员工信息重新进行编辑、修改,分别修改员工的姓名、性别、年龄、政治面貌、学历和工资信息。
5)删除学校员工信息:系统可以实现当员工离开学校时删除相关信息。
6)统计学校员工信息:系统可以统计学校中的党员人数和女员工人数。
7)学校员工信息存盘:系统可以实现把员工基本信息存储到磁盘文件person.txt中,方便用户以后读取数据,避免重复录入。
8)显示所有员工信息:系统可以输出学校所有员工的信息,包括员工编号、姓名、性别、年龄、政治面貌、学历、工资、人员类型等。
9)系统界面采用文本菜单方式,交互性好,系统界面如图10所示:
图10 高等院校
图10 高等院校人员管理系统界面图
系统数据存盘文件person.txt的格式如下:
编号 姓名 性别 年龄 政治面貌 学历 工资 员工类型
1000 张莉 女 32 党员 博士 7500 1
1001 白飞 女 28 群众 硕士 2500 2
1002 孟丹 男 40 党员 博士 10500 3
其中员工类型为1表示授课教师,2表示行政人员,3表示行政人员兼职教师
2、系统详细设计
系统使用类来组织管理数据,共包括五个类,分别是学校类school、员工类person、任课教师类teacher、行政人员类staff、行政人员兼职教师类staffteacher。员工类person用来描述学校内各类人员具有的公共属性及操作,由于学校里授课教师、行政人员、行政人员兼职教师这三类人员工资的计算方法不同,表现出多态性,因此以person类为基类,分别派生出授课教师类teacher、行政人员类staff,再以teacher类和staff类为基类,派生出行政人员兼职教师类staffteacher。由于学校里人员总数允许变动、不确定,因此学校类school采用链表保存所有人员信息,并用共同的方法操作所有人员,类school与类person之间是类的聚合关系,上述类关系用UML标识如图11所示:
学校类school
学校类school
员工类person
授课教师类teacher
行政人员类staff
行政人员兼职教师类staffteacher
图11 高等院校人员管理系统类关系的UML图
员工类person。
类属性包括编号(no)、姓名(name)、性别(sex)、年龄(age)、政治面貌(party)、学历(study)、工资(pay)、员工类型(type)、指向下一个员工的指针(mynext),实现对员工类的描述。
成员函数包括提取员工编号(getnum)、提取姓名(getname)、提取性别(getsex)、提取年龄(getage)、设置年龄(getagee)、提取政治面貌(getparty)、提取学历(getstudy)、提取员工类型(gettype)、提取工资(getpay)、设置工资(getpayy)、提取指向下一个员工指针(getnext)、设置指向下一个员工指针(setnext)、输出员工信息(output)等。
授课教师类teacher。
类属性包括职称(teachpos)、每小时课时费(coursefee)、课时数(coursenum) 。
成员函数包括提取工资(getpay)。
行政人员类staff。
类属性包括职务级别(pos)、行政补贴(stafffee)。
成员函数包括提取工资(getpay)。
行政人员兼职教师类staffteacher。
成员函数包括提取工资(getpay)。
显示全部