学生考勤管理系统设计文档格式.docx
《学生考勤管理系统设计文档格式.docx》由会员分享,可在线阅读,更多相关《学生考勤管理系统设计文档格式.docx(45页珍藏版)》请在冰豆网上搜索。
在一个组织里,信息已作为人力、物力、财力之外的第四种能源,占有重要的地位。
然而,信息是一种非物质的,有别于基本资源的新形式的资源。
信息也是管理的对象,必须进行管理和控制。
本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。
本系统总体上由三大功能模块:
添加学生信息、添加学生考勤系统、后查询、删除、修改、统计、保存、显示学生信息和考勤信息。
该学生考勤管理系统用本文利用 VisualC++6.0环境下,利用C++语言编写程序编写,可以方便考勤管理需要。
本系统易于操作,使用方便,交互性强,具有很高的可靠性。
关键词:
类 继承 函数调用
目 录
第一章 绪论 4
1.1课程设计的目的 4
1.2课程设计的背景和意义 4
1.2.1课程设计的背景 4
1.2.2课程设计的意义 5
1.3课程设计环境 5
第二章 需求分析 6
2.1、问题描述 6
2.2、功能要求 6
2.3、问题的解决方案 7
第三章 系统设计 8
3.1数据设计 8
3.1.1类设计 8
3.1.2类之间的关系 9
3.1.3函数设计 10
3.2结构设计 11
3.2.1系统流程图(如图3-2) 11
3.2.2界面设计 12
第四章 系统实现 13
4.1类实现 13
4.2函数实现 14
4.3主函数实现 39
第五章 系统测试 40
5.1模块测试 40
5.2课程设计过程中遇到的问题 43
总 结 44
致 谢 44
参考文献 44
第一章 绪论
1.1课程设计的目的
此次课程设计的目的是以《c++程序设计基础》为基础,针对具有一定难度的综合性题目,进行分析、编程、调试和运行,进一步掌握面向对象和面向过程程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实践相结合,提高分析问题、解决问题的能力。
要求学生达到熟练掌握c++语言的基本知识和技能。
1.2课程设计的背景和意义
1.2.1课程设计的背景
1.理论研究基础
《c++面向对象程序设计》是计算机专业的基础课程,本课程按照软件程序设计所需能力进行教学设计,提出以项目模块方式带动相关知识点、实践项目和理论并行的思路,将案例贯穿于课程始终,对原有的教学体系、教学内容进行重新编排,按照从易到难的原则,将其巧妙地融入到项目开发过程中,降低学习难度,提高学生学习的信心,有效培养学生的应用能力和学习能力。
2.技术层面的支持
本系统运用到:
类与对象在c++中的实现、静态数据成员、运算符重载、有缘函数继承与派生的基本知识、单继承和多继承、虚基类的作用与使用、虚函数的定义和使用、纯虚函数和抽象类的定义和使用、输入输出流的概念、输入输出流操作、文件的创建、打开、读写、关闭等操作。
1.2.2课程设计的意义
本课程按照软件程序设计所需能力进行教学设计,提出以项目模块方式带动相关知识点、实践项目和理论并行的思路,将案例贯穿于课程始终,对原有的教学体系、教学内容进行重新编排,按照从易到难的原则,将其巧妙地融入到项目开发过程中,降低学习难度,提高学生学习的信心,有效培养学生的应用能力和学习能力。
1.3课程设计环境
硬件平台:
CPU:
15。
2.67GHz。
RAM:
512MB以上。
软件平台:
操作系统:
Windowsxp/Windows7
编辑环境:
Visualc++6.0
第二章 需求分析
2.1、问题描述
学生信息包括:
学号、姓名、性别、年龄、班级等信息。
考勤信息包括:
缺课日期、第几节课、课程名称、学生姓名、缺课类型
(迟到、早退、请假和旷课)。
2.2、功能要求
(1)添加功能:
程序能够添加学生的记录和缺课记录,提供选择界面供用户选择所要添加的类别。
添加学生记录时,要求学号要唯一,如果添加了重复学号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:
可根据学号、姓名等信息对已添加的学生记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
还可以按课程名、学生姓名对缺课记录进行查询。
(3)显示功能:
可显示当前系统中所有学生的记录和缺课记录,每条记录占据一行。
(4)编辑功能:
可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。
(5)删除功能:
主要实现对已添加的学生记录进行删除。
如果当前系统中没有相应的记录,则提示“记录为空!
”并返回操作。
(6)统计功能:
能根据多种参数进行统计。
能按课程名统计出学生旷课的信息、还可以按姓名统计出任一学生的旷课情况。
需要排序。
(7)保存功能:
可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:
可将保存在文件中的信息读入到当前系统中,供用户进行使用。
2.3、问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
第三章 系统设计
3.1数据设计
3.1.1类设计
学生类:
数据成员:
Number-学号,Name1-姓名,Sex-性别,Class-班级成员函数:
voidSetstu()-输入学生信息
voidDisplaystu()-输出学生信息
voidInquiryS1(Student*)-以学号的形式查询学生信息voidInquiryS2(Student*)-以姓名的形式查询学生信息voidShuchuS(Student*)-显示所有信息
voidFileS(Student*)-保存学生信息voidDuquS(Student*)-读取学生信息voidShuruS()-间接输出学生信息
缺课日期类:
year-年,month-月,day-日
成员函数:
voidSetDa()-输入日期,voidDisplayDa()-输出日期
缺课类型类:
AT-缺课类型
voidSetAT()-输入缺课类型,voidDisplayAT()-输出缺课类型
考勤管理类:
intNumClass-第几节课,CName-课程名称成员函数:
voidSetAM(Student*-输入考勤信息
voidDisplayAM()-输出考勤信息
voidInquiryAM(Att_Man*)-查询学生考勤信息voidShuchuAM(Att_Man*)-显示学生考勤信息
voidTongjiAM1(Att_Man*)-以课程名统计学生考勤信息voidTongjiAM2(Att_Man*)-以姓名统计学生考勤信息voidFileAM(Att_Man*)-保存学生考勤信息
voidDuquAM(Att_Man*)-读取学生考勤信息期
3.1.2类之间的关系
基类:
Date-缺课日期类 Student-学生信息类 AFCT-缺课类型类三个基类。
派生类:
Att_Man-考勤管理类 Guanli管理信息类
包含上述3个基类的信息
管理信息类:
包括类3个基类和一个考勤管理类定义成这种关系,便于考勤信息的管理。
一个Att_Man派生
AFCT:
SetAT()
DisplayAT();
Student:
Setstu()Displaystu()FileS() DuquS()
Date:
SetDa()DisplayDa()
(如图3-1)
Guanli:
voidInquiryS1(Student*)voidInquiryS2(Student*)voidShuchuS(Student*)voidInquiryAM(Att_Man*)voidShuchuAM(Att_Man*)voidTongjiAM1(Att_Man*)voidTongjiAM2(Att_Man*)voidMain();
voidDuquAM(Att_Man*)
voidFileAM(Att_Man*)
voidDisplayAM()
Att_Man
voidSetAM(Student*)
Att_Man(){}
Public
19
图3-1
3.1.3函数设计
voidSetstu()-输入学生信息voidDisplaystu()-输出学生信息
voidFileS(Student*)-保存学生信息voidDuquS(Student*)-读取学生信息voidShuruS()-间接输出学生信息voidSetDa()-输入日期
voidDisplayDa()-输出日期voidSetAT()-输入缺课类型voidDisplayAT()-输出缺课类型
voidSetAM(Student*-输入考勤信息voidDisplayAM()-输出考勤信息
*************************************************
3.2结构设计
3.2.1系统流程图(如图3-2)
开始
添加
查看
显示
统计学生信息
统计学生考勤信息
保存学生考勤信息
保存学生信息
删除查询信息
修改查询信息
显示查询信息
读取学生信息
读取学生考勤信息
添加考勤信息
添加学生信息
读取
保存
统计
结束
显示学生考勤信息
显示学生信息
如