正文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
1 绪论 (1)
1.1课题背景 (1)
1.2课题意义 (1)
1.3开发平台简介 (2)
1.3.1 硬件环境 (2)
1.3.2 软件环境 (2)
1.4使用工具简介 (2)
1.4.1 Visual C++ 6.0 MFC介绍 (2)
1.4.2 C++介绍 (2)
2 系统分析 (3)
2.1可行性分析 (3)
2.1.1 可行性分析的目的 (3)
2.1.2 经济可行性分析 (3)
2.1.3 社会可行性分析 (3)
2.1.4 技术可行性分析 (3)
2.2需求分析 (4)
2.2.1 功能需求分析 (4)
2.2.2 性能需求分析 (5)
2.3系统数据流图 (6)
2.3.1 顶级数据流图 (6)
2.3.2 系统管理员数据流图 (6)
2.3.3 学生数据流图 (7)
2.3.4 教师数据流图 (8)
3 概要设计 (8)
3.1系统功能模块图 (8)
3.2各模块功能简介 (9)
3.2.1 用户登录模块 (9)
3.2.2 系统管理模块 (9)
3.2.3 基本信息管理模块 (10)
3.2.4 信息查询模块 (10)
4 数据库设计 (11)
4.1概念设计 (11)
4.2逻辑设计 (14)
4.3物理设计 (14)
5 详细设计 (16)
5.1数据库的连接与使用 (16)
5.2登录模块设计 (17)
5.3系统管理模块 (19)
5.3.1 修改密码界面设计 (19)
5.3.2 用户管理界面设计 (21)
5.4基本信息管理模块 (22)
5.4.1 学生管理界面设计 (22)
5.4.2 教师管理界面设计 (23)
5.4.3 课程管理界面设计 (23)
5.4.4 授课管理界面设计 (24)
5.4.5 成绩管理界面设计 (26)
5.5信息查询模块 (27)
5.5.1 成绩查询界面设计 (27)
5.5.2 授课查询界面设计 (29)
5.5.3 学生信息查询界面设计 (30)
5.5.4 教师信息查询界面设计 (30)
6 测试 (31)
6.1测试目的 (31)
6.2测试内容 (31)
6.3具体测试 (32)
6.3.1 功能测试 (32)
6.3.2 性能测试 (33)
6.4测试结果分析 (33)
结论 (34)
致谢 (35)
参考文献 (36)
1 绪论
1.1 课题背景
2、代码太多
3、检查细节
学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的信息管理系统,它是一个教育单位不可或缺的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。

能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。

在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率低,保密性差,给学校管理者以及学生都带来了很大的麻烦,严重影响了工作的效率。

随着科学技术的不断提高,计算机科学的日渐成熟,使用日趋成熟的计算机技术来代替传统的人工模式。

来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

社会教育在发展,管理系统应用也越来越多,这也是现代化教育的需要。

就拿我所在的学校来说,一个很好的学生管理系统的功能还是很强大的,学生的信息、老师的资料、课程的安排以及学校的动态,我们都能很方便的了解。

对于学校可以很好的了解学生的情况,学生能很方便的使用并查看自己的成绩,还能通过这个平台在网上报考一些证书的考试。

学生信息管理系统所起到的作用就是极大的减轻了管理远的负担,也方便老师与学生的交流互动,更促进了学生的学习。

源于这个原因,我们可以看出学生信息管理系统作为计算机应用的一部分,它具有手工管理无法比拟的优点:检索迅速、查找方便、易于操作、可靠性高、存储信息量大、成本低等。

这些优点能够极大地提高学生信息管理的效率。

也是学校的科学化、正规化管理、与世界接轨的重要条件。

用计算机制作的学生信息管理系统还可以通过普及的网络更好的带来了便利。

因此,使用这样一套管理系统是很有必要的。

1.2 课题意义
学生信息管理系统有着自己的巨大优势:解决结构化问题;以高速度低成本完成
数据的处理业务,追求系统处理问题的效率;实现一个相对稳定的、协调的工作环境;应用科学的、客观的处理方法,符合实际情况。

这对于任何一所高校都起到极大的作用,日趋完善的信息管理系统带来的科学化合理化的管理方式无疑是重中之重。

学生的相关信息作为一所高校的一个重要组成部分,学生信息管理系统在学校信息系统中占有重要的地位。

它的数据量大,信息共享度高,而且对学生信息的查询的实时性要求高。

该系统着重围绕学生,随着高等教育的普及度的提高,大量学子涌入大学,庞大的信息量也困扰着管理者,作为现代化的高校的学生管理,必须以人为本,从软、硬件上,上一个新的台阶,才可能提高管理效率。

1.3 开发平台简介
1.3.1 硬件环境
学生信息管理系统的特点是数据存储量大,查询检索,输入输出频繁,而且最重要的是安全性要高。

硬件配置要求如下:
1)处理器要求:Pentium IV 1.7GHZ或更高;
2)内存要求:256MB或以上;
3)显卡要求:32MB DirectX 9 compatible或以上;
4)硬盘要求:40G或以上
1.3.2 软件环境
1)操作系统:Windows XP
2)开发工具:Visual C++ 6.0 MFC
3) 数据库:Microsoft office Access
4)开发语言:C++
1.4 使用工具简介
1.4.1 Visual C++ 6.0 MFC介绍
MFC 是一个以C++类的层次形式组织面向对象的应用程序框架,程序员可以使用这一框架创建Windows应用程序。

MFC就是利用面向对象的思想,将数据类型与Windows大部分API函数封装起来的一个浩瀚的类库;利用MFC编写程序的本质就是选择类库中合适的类,并调用其下相对于的成员函数来完成某个功能。

所以,MFC 是可移植的。

1.4.2 C++介绍
C++是一种高级编程语言,它继承了C语言所以特性,同时也新增了很多新的功能,如类,容器,模板等等。

众所周知,C语言是面向过程的开发员,而我们的C++
由于引进了新的特性,所以C++是面向对象的高级编程语言。

最值得一提的是指针,如果一个程序员C++掌握的很好,那他的指针的使用一定十分熟练,可以这么说指针是C++的核心部分。

也正是因为指针的存在,C++一直沿用至今,而且还将继续作为一种重要的编程语言而存在着。

2 系统分析
2.1 可行性分析
可行性分析作为投资决策前必不可少的关键环节,针对系统的开发是否具备必要性和可能性,对系统的开发从经济、社会、技术的方面进行分析、论证和评价,选定最佳方案,依此就是否应该投资开发该系统以及如何开发,或就此终止开发还是继续投资开发等给出结论性意见,为投资决策提供科学依据,并作为进一步开展工作的基础。

2.1.1 可行性分析的目的
可行性分析的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。

而本系统为学生信息管理系统着重用于管理信息,主要涉及人员为管理员,教师,学生,且相应的数据的出并不是很难。

所以,容易采用数据库来管理。

2.1.2 经济可行性分析
每所大学都有大量学子,随之而来就要管理庞大的学生信息,如果有这样一套学生信息管理系统,便会带来极大的益处,它不仅节约了管理的成本,同时也极大的提高了信息管理的效率。

而本学生信息管理系统作为一个毕业设计,谈不上需要一些开发经费,因而是可行的。

2.1.3 社会可行性分析
社会可行性有时也称为操作可行性,主要是论证新系统在企业或单位开发和运行的可能性已经运行后可能带来的影响,即组织内外是否具备接收和使用新系统的条件。

目前的IT技术在飞速发展,各类管理软件数不胜数,就本系统—学生信息管理系统而言,它能够更好的管理大量的学生信息,就这点而言,他可以拓宽计算机在市场环境下的生存空间,另外这样一类软件可以稍加修改也能作为企业的管理系统。

2.1.4 技术可行性分析
本系统在系统结构方面采用MFC与ACCESS数据库技术,很好的出来窗口操作、后台管理和和数据库三者之间的有效连接;在程序设计方面,基于Microsoft C++的基本类库,设计相当灵活,并且效率较高,也减少了大量在建立Windows程序是必须编
写的代码;在成本方面,是可以忽略不计的,并且日后的维护也很方便,它的使用会减少学校管理者的工作量,提高了管理效率,同时方便了学生与教师。

2.2 需求分析
学生信息管理系统的主要目的是利用计算机软件实现对学生的管理,是的学校的管理更加容易,提高工作效率,降低管理成本。

学生信息管理系统分为一些基本信息的管理和信息的查询两部分,学生可以查看关于自己的一些信息以及了解老师的介绍。

而老师对学生的的信息可以管理一些,如学生的成绩,老师可以对其录入,修改等操作。

对于整个系统而言,为了便于对各个数据进行维护,还要增加管理员的权限,方便对老师和学生的信息进行维护。

另外从安全角度考虑,有必要针对不同的用户对数据的访问与编辑进行控制。

其中学生只能查询,而不能修改信息。

同样教师也是如此,但教师能够对学生的成绩进行录入,也可修改。

管理员可以对整个系统进行维护,需要管理员进行维护可能因为3中情况:一种是用户密码忘记了,这时需要管理员对密码进行重置;另一种情况是某些数据由于人为的原因造成错误,这时需要管理员强制进行修改;还有一种情况是对信息的管理。

2.2.1 功能需求分析
在本系统中,有3中用户角色,分别是学生、教师和系统管理员。

只有被授权的用户才可以使用本系统。

根据用户权限来限定用户所能进行的操作。

学生所具有的操作权限:学生可以查看课程信息、成绩、学生信息和教师信息,他只能进行查询操作,不能进行其他的操作。

在3中用户角色中,学生的权限是最小的。

教师所具有的操作权限:教师除了能够进行查询操作,还能对学生的成绩的添加、修改和删除进行操作。

系统管理员的操作权限:系统管理员具有最高的权限,可以对所有数据进行修改或删除。

对用户信息的管理,包括密码重置、用户的增加与删除。

对基本数据的管理,包括对学生管理、教师管理、课程管理、授课管理和成绩管理进行操作。

功能需求具体分析如下:
1)系统登录:用户输入用户名和密码,系统查询数据库中的信息对密码进行验证。

如果密码不正确将不能进入系统;如果密码正确,系统会自动根据该用户所具有的权限进入不同的界面。

这样一个登录窗口提高来系统的安全性。

2)系统管理:
修改密码:对于任何用户,包括学生、教师和系统管理员都可以对自己的密码进行重新设置。

用户管理:只针对管理员才能进行操作,管理员可以查看用户状态,当教师或学生忘记密码时能够找回其密码,并且能添加、删除用户,修改用户权限。

3)学生管理:能够对学生的一些基本信息进行添加、修改、删除等操作。

学生的基本信息包括学生编号、姓名、性别、年龄、电话号码和地址等。

4)教师管理:能够对教师的一些基本信息进行添加、修改、删除等操作。

教师的基本信息包括教师编号、教师姓名、性别、年龄、职称等。

5)课程管理:能够对课程的一些基本信息进行添加、修改、删除等操作。

课程的基本信息包括课程编号、课程名称、该门课的学时及学分。

6)授课管理:能够对教师授课的情况进行管理。

包括添加、修改和删除等操作。

当教师准备教授课程时要记录到数据库中进行管理,方便日后对课程、教师等有关信息的查询。

7)成绩管理:能够对成绩的情况进行管理。

当一门课的成绩结果公布时,要相应的记录到数据库中,这样,学生和教师才能够进行成绩的查询。

8)成绩查询:可以按照学生查询,查询某个学生参加所有课程的成绩,并且可以进一步查询该学生的成绩情况。

9)课程查询:可以查询某个教师所教授的所有课程情况,也可以查询某门课都有哪些教师教授过。

10)学生信息查询:可以查询某个学生的相关基本信息情况。

11)教师信息查询:可以查询某个教师的相关的基本信息情况。

2.2.2 性能需求分析
本系统可以实现许多性能特性,如:稳定性、安全性、实用性、实时性、可靠性等等。

1)稳定性:系统应具备长期持续工作的能力。

2)安全性:利用细分的权限管理,拒绝非法用户进入系统和合法用户的越权操作,避免系统遭到恶意破坏,防止系统数据被窃取和篡改,保护学生信息的安全。

此外,还有良好的用户身份认证体制和灵活的密码更改功能。

3)实用性:用户界面做到直观、友好;用户进入系统;本系统是对学生信息进
行详细的调查之后实现的,功能模块一目了然,具有很强的实用性。

4)实时性:对学生信息的管理的操作在各个模块中的实现达到了及时更改及时见效,使处理操作更为高效。

5)可靠性:采用良好的操作系统和数据库,确保数据的一致性和完整性,并使系统免受病毒感染。

2.3 系统数据流图
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

2.3.1 顶级数据流图
顶层数据流图主要描述学生信息管理系统的用户——系统管理员、学生、教师登录该系统时的总体数据流程,具体如图2.1顶级数据流图:
图2.1顶级数据流图
2.3.2 系统管理员数据流图
系统管理员数据流图主要是管理员对整个系统进行的一些操作。

系统管理员的权限是最大的,在整个过程中起到举足轻重的作用。

在管理员进行一系列的操作后产生的数据流程,如对用户的管理操作,不论是添加,还是删除用户都会改变用户人员的信息;在基本信息管理方面,进行学生管理会改变学生的信息,进行教师管理会改变教师的信息,进行课程管理会改变课程的信息,进行成绩管理会改变学生的成绩信息,进行授课管理会改变授课的信息;另外,管理员还可以查询信息,其中包括学生的基本信息、教师的基本信息、学生的成绩信息已经授课信息。

其具体的数据流如图 2.2系统管理员数据流图所示:
图2.2 系统管理员数据流图
2.3.3 学生数据流图
学生在登录系统后可以进行相关的查询操作,具体如图2.3学生数据流图所示:
图2.3 学生数据流图
2.3.4 教师数据流图
教师在登录系统后出来可以进行查询操作外,还能够对学生的成绩进行处理,其具体的数据流如图2.4教师数据流图所示:
图2.4 教师数据流图
3 概要设计
学生信息管理系统是为了方便管理学生信息而设计的,针对不同的用户设定不一样的访问权限,管理员的权限最大,教师的权限范围有所缩小,最后学生的权限最小,他只能查询,不能修改。

其中管理员可以设置和管理与学生相关的一些信息,如学生的基本信息包括学号,姓名,年龄,电话,家庭地址等等,另外还有学生课程的管理,教师的管理,授课的管理和学生成绩的管理。

另一方面,这些信息可被学生和教师查询到。

3.1 系统功能模块图
整个学生信息管理系统分为4个模块来设计:其中系统登录为登录模块;修改密码和用户管理为系统管理模块;学生管理、教师管理、课程管理、授课管理和成绩管理为基本信息管理模块;最后的成绩查询、授课查询,学生信息查询和教师信息查询
为信息查询模块。

功能模块图如图3.1系统功能模块图所示:
图3.1 系统功能模块图
3.2 各模块功能简介
3.2.1 用户登录模块
用户登录模块,这里有三种类型的用户:管理员、学生用户已经教师用户。

通过权限设置不同的用户的使用的系统资源是有所区别的,在登录时,通验证用户是何种权限从而决定进入系统后其所能进行何种操作。

用户登录模块如图3.2所示:
图3.2 用户登录模块
3.2.2 系统管理模块
系统管理模块又分为修改密码与用户管理两部分,其中无论哪种用户都能够对自己的密码进行修改从而定期的修改密码很方便对自己账户的保护,但对用户管理这部分只用管理员有权限进行操作,管理员可添加和删除用户,也能对遗忘密码的用户进行密码重置。

系统管理模块如图3.3所示:
图3.3 系统管理模块
3.2.3 基本信息管理模块
基本信息管理模块又分为学生管理、教师管理、课程管理、授课管理和成绩管理,在这一模块,只有管理员对所有的部分有权限,教师只能够进行成绩管理操作,而学生什么权限也没有。

基本信息管理模块如图3.4所示:
图3.4 基本信息管理模块
3.2.4 信息查询模块
信息查询模块又分为成绩查询、授课查询、学生信息查询以及教师信息查询四项,这些操作是所有用户都能进行的。

这一模块对于学生这类用户而言是其主要的操作范围,学生可以查看自己的情况包括自己的成绩,也可以了解其他同学的信息和一些教师的基本信息。

信息查询模块如图3.5所示:
图3.5 信息查询模块
4 数据库设计
数据库是长期存储在计算机内、有组织的、同样管理的相关数据的机会,它能为各种用户所共享,具有较小的数据冗余度、数据间联系紧密而又有较高的数据独立性等特点。

数据库是系统的后台,是信息管理系统的核心部分,它存储着所有的信息,将大量的数据按一定的模型组织起来,提供存储、维护和检索数据的功能。

在我所设计的学生信息管理系统中占有非常重要的地位。

数据库结构设计的好坏将直接影响应用系统的效率及实现的效果,合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。

在设计初期对数据库进行合理的逻辑设计和有效的物理设计,才能开发出完善而高效的信息系统,用户才能方便、及时和准确地从数据库中存取所需的信息。

4.1 概念设计
数据库的概念设计是根据需求设计数据库的概念结构,在数据库技术中,我们用模型—对现实世界的抽象,来描述数据库的结构与语义,从而来表现实体类型及实体间联系。

这就要说到数据模块:数据模型是数据库的核心和基础。

根据应用目的的不同,数据模型分为两类,它们分别属于不同层次。

一类是概念模型,它是按用户的观点对数据和信息建模;另一类是数据模型,如网状模型、层次模型、关系模型等。

概念模型的表示方法很多,传统的最常用的方法是实体联系方法,这种方法用E-R 图来描述概念模型,称为E-R 模型,即实体联系模型。

在这个模型中,实体定义为可标识的对用户重要的事物,具有同一类型的实体构成实体型,一个特定的实体称作实体实例。

实体有描述其特征的属性,一个或多个属性表征一个实体。

联系是指实体之间的关联,E-R 模型清楚地定义了联系,每个联系都有名字。

联系的元是参加联系的实体的数目,大多数联系是二元的,二元联系有三种类型:一对一联系、一对多联系和多对多联系。

在E-R 图中,实体用长方形表示,联系用菱形表示,属性用椭圆表示。

E-R 建模的中心思想是通过实体和它们之间的联系合理地体现一个组织的数据模型。

在之前我对所设计的学生信息管理系统进行了需求分析,根据分析的结果,可以得到的实体有学生实体、教师实体和课程实体,另外还有两个关系。

系统E-R图如图4.1所示:
图4.1 系统E-R图
学生实体属性图如图4.2所示:
图4.2 学生实体属性图教师实体属性图如图4.3所示:
图4.3 教师实体属性图课程实体属性图如图4.4所示:
图4.4 课程实体属性图
4.2 逻辑设计
按照E-R图转化成为关系模型的原则,将上图转化成为关系模型(主键用下划线标注,外键用波浪线标注):
1)实体关系模型
学生(学生编号,学生姓名,性别,年龄,地址,电话)
教师(教师编号,教师姓名,教师性别,教师年龄,职称)
课程(课程编号,课程名称,学时,学分)
2)联系关系模型
授课(授课编号,课程编号,教师编号)
成绩(成绩编号,学生编号,课程编号)
4.3 物理设计
数据库设计作为本系统设计中必不可少的一部分。

从上面的功能分析不难看出本学生信息管理系统需要建立以下几个数据表:用户信息表userinfo、学生表student、教师表teacher、课程表course、授课表teach和成绩表。

用户信息表保存了所以用户的用户名、密码、用户权限和是否在使用状态等基本信息,具体表设计如下表4-1所示:
表5-1 用户信息表
字段名称字段含义字段类型字段长度备注
user_id 用户编号自动编号主键,不允许为

user_name 用户名称文本50 主索引,非空
user_password 用户密码文本50 非空
user_level 用户权限文本 1 非空
active_status 使用状态文本 2 非空
学生表保存了所以学生用户的学生编号、学生姓名、学生性别、学生年龄、学生电话、学生地址和是否在使用状态等基本信息,具体表设计如下表4-2所示:
student_id 学生记录号自动编号主键,不允许为

student_no 学生编号文本10 主索引,非空
student_name 学生姓名文本10 非空
student_sex 学生性别文本 2 非空
student_age 学生年龄数字 2 非空
student_phone 学生电话文本20 非空
student_address 地址文本100 非空
student_status 使用状态文本 2 非空
教师表保存了所以教师用户的教师编号、教师姓名、教师性别、教师年龄、教师职称和是否在使用状态等基本信息,具体表设计如下表4-3所示:
表4-3 教师表
字段名称字段含义字段类型字段长度备注
teacher_id 教师记录号自动编号主键,不允许为

teacher_no 教师编号文本 6 主索引,非空
teacher_name 教师姓名文本10 非空
teacher_sex 教师性别文本 2 非空
teacher_age 教师年龄数字 2 非空
teacher_level 教师职称文本 6 非空
teacher_status 使用状态文本 2 非空
课程表保存了所有课程的课程编号、课程名称、课程学时、课程学分和是否在使用状态等基本信息,具体表设计如下表4-4所示:
course_id 课程记录号自动编号主键,不允许为

course_no 课程编号文本 6 主索引,非空
course_name 课程名称文本20 非空
course_hour 课程学时数字 2 非空
course_credit 课程学分数字 2 非空
course_status 使用状态文本 2 非空
授课表保存了所有授课的的课程编号、教师编号和是否在使用状态等基本信息,具体表设计如下表4-5所示:
teach_id 授课记录号自动编号主键,不允许为

course_no 课程编号文本 6 外键,非空
teacher_no 教师编号文本 6 外键,非空
active_status 成绩文本 2 非空
成绩表保存了所有学生的成绩的学生编号、课程编号、成绩和是否在使用状态等基本信息,具体表设计如下表4-6所示:
表4-6 成绩表
字段名称字段含义字段类型字段长度备注
score_id 成绩记录号自动编号主键,不允许为

student_no 学生编号文本10 外键,非空
course_no 课程编号文本 6 外键,非空
score 成绩数字 2 非空active_status 使用状态文本 2 非空
5 详细设计
5.1 数据库的连接与使用
本系统采用ODBC数据库,ODBC提供了应用程序接口,使得任何一个数据库都可以通过ODBC驱动器与指定的DBMS相联,从而可以通过调用ODBC驱动管理器中相应的驱动程序达到管理数据库的目的。

ODBC作为Windows开放式服务体系结构的主要组成部分,它一直沿用至今。

在ODBC数据管理器中创建数据源:
1)“开始”→“控制面板”→“管理工具”→“数据源(ODBC)”命令,就打开了ODBC 数据源管理器对话框,选择“用户DSN”选项卡,创建数据源。

2)“添加”按钮进入创建新数据源窗口,选择“Microsoft Access Driver”。

3)“完成”进入“ODBC Microsoft Access 安装”窗口,填写数据源名称为“Student_Information”,并选择自己所建立的数据库,点击“确定”就完成了。

在程序设计中使用数据库:
1)一种是直接继承自CRecordset类,使用它的记录对象。

在设计中部分代码如下:。

相关文档
最新文档