学生综合素质管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
第一章绪论 (3)
1.1课题简介 (3)
1.2开发的意义 (3)
1.4团队构成 (4)
第二章开发环境及实现技术 (5)
2.1开发环境 (5)
2.2开发工具简介 (5)
第三章系统设计 (6)
3.1概要设计 (6)
3.1.1概要设计阶段的主要任务 (6)
3.1.2概要设计的过程 (6)
3.1.3概要设计的原则 (6)
3.1.4系统功能分析 (6)
3.2详细设计 (8)
3.2.1详细设计的任务 (8)
3.2.2详细设计的方法 (9)
第四章数据库设计 (11)
4.1数据库简介 (11)
4.2数据库需求分析 (12)
4.3测试用例 (15)
第五章详细设计 (18)
5.1登录模块的设计与实现 (18)
5.2登记学生基本信息模块的设计与实现 (21)
5.3登记学生学科成绩模块的设计与实现 (26)
5.4登记学生奖罚记录模块的设计与实现 (28)
5.5查询学生基本信息模块的设计与实现 (30)
5.6查询学生学科成绩模块的设计与实现 (33)
5.7密码修改模块的设计与实现 (36)
第六章系统使用说明 (38)
6.1使用说明 (38)
6.2运行环境 (38)
6.3运行结果 (38)
第七章设计心得 (43)
参考文献 (44)
第一章绪论
1.1课题简介
学生综合素质管理系统是一个学校管理学生档案不可缺少的部分,它的内容对于学校的管理者来说是至关重要的,所以学生综合素质管理系统应该能够为学校的管理者提供充足的信息和快捷的查询手段。
一直以来人们使用传统人工的方式管理学生的基本档案,这种管理方式存在着许多缺点:效率低、保密性差,另外时间一长,将产生大量的文件和数据,对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生综合素质进行管理,具有着手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生综合素质管理的效率,也是学校的科学化、正规化管理,与先进科学技术接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情,对于我们即将计算机专业毕业的学生来说也是一件有意义的实践活动。
1.2开发的意义
计算机的价格十分低廉,性能有了长足的进步,它已经被应用于许多领域。
现在我国的大、中小学校中档案的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
我作为一个计算机应用专业的毕业生,希望可以在这方面有所贡献。
改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我所学的知识编制出一个实用的程序来帮助中小学进行更有效的学生综合素质管理。
归纳起来,好处大约有以下几点:
(1)可以存储历届的学生综合素质,安全、高效;
(2)只需一到二名档案录入员即可操作系统,节省人力;
(3)可以迅速查到所需学生综合素质信息。
1.4团队构成
指导教师: ****
成员:***
第二章开发环境及实现技术
2.1开发环境
硬件系统:奔腾100以上CPU、64M以上内存、1G以上硬盘、光驱。
软件系统:Windows 9x或更高版本、Visual Basic 6.0中文版、Access数据库。
2.2开发工具简介
微软公司(Microsoft)的Visual Foxpro 6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的关系型数据库系统的开发工具。
Visual Foxpro 6.0提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的开发效率、运行效率和可靠性。
故而,实现本系统,Visual Foxpro 6.0是一个相对较好的选择。
Visual Foxpro 6.0是较流行的关系型数据库开发工具,一直被不同层次的程序员用于设计和开发各种类型的管理信息系统或进行数据库的维护。
Visual Foxpro 6.0是美国Microsoft公司1998年推出的最新FoxPro版本,Visual Foxpro 6.0的最大特点就是易学、高效、功能强大,能汇集各种信息以供查询、存储和检索,特别适用于中小型数据库的管理。
在科学飞速发展的今天,数据信息的管理、操作与维护变得越来越重要。
数据库这个划时代的概念由此应运而生。
数据库就是关于某一特性主题或目标和数据信息集合。
Visual Foxpro 6.0的数据库是典型的关系型数据库。
关系型数据库是在不同的数据库之间、表之间存在着指定联系的数据库系统。
表是数据库系统中一个非常关键的组成部分。
表由若干行记录和若干列字段组成,一个表包含一个特定主题的数据信息。
其中每一列代表一种特定类型的信息,称为字段,每一字段都有其自身的数据类型、数据宽度、说明等属性。
每一行称为记录,每一记录都是该表的一个实例。
第三章系统设计
3.1概要设计
3.1.1概要设计阶段的主要任务
①系统分析员审查软件计划、软件需求分析提供的文档,提出最佳推荐方案,用系统流程图,组成系统物理元素清单,成本效益分析,系统的进度计划,供专家审定,审定后进入设计。
②确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。
确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。
③编写概要设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,结构图是经常使用的软件描述工具。
选择分解功能与划分模块的设计原则,例如模块划分独立性原则,信息隐蔽原则等。
3.1.2概要设计的过程
概要设计要先进行系统设计,复审系统计划与需求分析,确定系统具体的实施方案;然后进行结构设计,确定软件结构。
3.1.3概要设计的原则
①将软件划分成若干独立成分的依据。
②如何表示不同的成分内的功能细节和数据结构。
③如何统一衡量软件设计的技术质量。
3.1.4系统功能分析
根据学校的教务人员提供的学生综合素质管理的信息,预测开发的管理系统的达到的功能如下:
1、登记学生基本信息;(包括学号、姓名、性别、民族、专业、系别)
2、登记学生学科成绩;(包括学号、学科、成绩、学期)
3、登记学生奖罚记录;(包括学号、奖罚成绩、奖罚原因、奖罚日期)
4、查询学生基本信息;(可由学号、姓名、民族、专业、系别来对学生基本情况表进行筛选)
5、查询学生学科成绩;(由学号查询)
6、查询学生奖罚记录;(由学号查询)
7、修改密码;
8、密钥进入:进入该系统需要正确的密码,如果密码输入三次错误,则自动退出该系统;
9、退出系统。
根据以上分析,该系统的整个流程图为:
图3-1系统结构流程图
该系统考虑将整个系统分解成如图3-2模块结构图:
图3-2模块结构图
并且在系统的开发过程中,我尽量注意模块的高内聚、低耦合,使得系统的整体性能提高,并且也有利于投入使用后的系统维护。
3.2详细设计
3.2.1详细设计的任务
详细设计就是要在概要设计的结果的基础上,考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述。
主要任务如下:①为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;②确定每一模块使用的数据结构;③确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。
④要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。
3.2.2详细设计的方法
本系统在开发过程中所采用的详细设计方法为程序程序图和IPO 图: 程序流程图见编码部分,下面介绍各模块的IPO 图: 1、学生基本信息登记模块IPO 图:
2、学生学科成绩登记模块IPO 图:
3、学生奖罚记录登记模块IPO 图:
4、学生基本信息查询IPO 图:
5、学生学科成绩查询IPO 图:
6、学生奖罚记录查询IPO 图:
7、密码修改模块的IPO 图:
第四章数据库设计
4.1数据库简介
数据库的概念
数据库是一种存储数据并对数据进行操作的工具。
数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。
计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。
关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。
新建一个数据库
创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。
创建一个数据库结构的过程被认为是数据模型设计。
1.标识需要的数据;
2.收集被标识的字段到表中;
3.标识主关键字字段;
4.绘制一个简单的数据图表;
5.规范数据;
6.标识指定字段的信息;
7.创建物理表。
修改已建的数据库
数据库的修改分为:添加、编辑和删除记录。
这三种操作均可由Visual Basic 创建的程序来完成,下面的章节将详细描述实现的具体方法。
实现数据库之间的联系
数据库之间的关系指明两个库之间共享一个共同的关键字值。
一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。
一个更高级的连接形式称为自连接。
这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。
数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。
在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。
4.2数据库需求分析
由调查学校教务人员,分析得到如下的数据库结构。
(一)一个数据库及若干自由表:
(二)四个数据表:
1、学生基本情况表的结构:
作用:用于存放学生的基本信息。
2、课程情况表的结构
作用:用于存放学生的学科成绩。
3、奖罚目录表
作用:用于记录学生的奖罚成绩。
4、奖罚明细表
作用:用于记录学生的奖罚明细信息。
4.3测试用例
1、学生基本信息测试用例:
2、学生学科成绩测试用例:
3、学生奖罚成绩测试用例:
4、学生奖罚记录测试用例:
第五章详细设计5.1登录模块的设计与实现
1、程序流程图:
2、界面如下图:
如果密码正确,则出现主界面:Y
N
开始输入密码
判断正误3次机会
主界面
3、实现过程:
表单的load事件如下:
主要对运行后的窗口进行设置。
的代码如下:
主要是对用户密码进行判断,如果正确,则显示被隐藏的按钮,如果三次错误,则提示用户退出。
的代码为:
5.2登记学生基本信息模块的设计与实现
1、程序流程图:
2、界面如下图:
界面包括的控件有标签、文本框、组合框、命令按钮。
功能是提示用户输入学生的详细信息和备份已经输入的学生信息。
3、实现过程:
第一步将所需的控件放到表单的相应位置;方法:首先在“表单控件”工具栏先选中所需的控件图件,然后在表单的恰当位置上单击鼠标并拖动鼠标,即可N
Y 开始
登记学生信息
是否继续
结束
把由所选取的控件生成的对象添加到表单上,此时,在属性窗口里显示了该控件对象的所有属性、事件。
如下图为表单的属性设置窗口:
第二步双击相应的控件,在控件的相应过程中编写程序,如“民族组合框”的Gotfocus或Init过程如下:
其中 if this.listcount>=1
for i=1 to this.listcount
this.removelistitem(i)
endfor
endif程序段的作用是判断组合框中是否有列表项;for i=1 to this.listcount
this.removelistitem(i)
endfor的作用是将现有的列表框全部移除;涉及组合框的两个重要属性:listcount统计组合框的成员个数;removelistitem(i)移除组合框的第i个成员;
do while .not. eof()
this.additem(民族)
skip
enddo程序段的作用是将民族库(mzk.dbf)中的所有记录添加到组合框中,使用的一个重要属性是additem(字符串)。
+
按钮的作用是进行字典维护,如果在录入的过程中遇到一个少数
可以增加民族也可修改民族等。
此按钮的click过程如下:
如“添加入库并继续录入”按钮的click过程如下
if len(thisform.text1.value)<>0 .and. len(thisform.text2.value)<>0 use 学生基本情况表.dbf
locate for 学号=thisform.text1.value
if eof()
append blank
repl 学号 with thisform.text1.value
repl 姓名 with thisform.text2.value
repl 性别 with alltrim(bo2.value)
repl 民族 with alltrim(bo1.value)
repl 专业 with alltrim(bo3.value)
repl 系别 with alltrim(bo4.value)
use
thisform.text1.value=""
thisform.text2.value=""
bo1.value=""
bo2.value=""
bo3.value=""
bo4.value=""
messagebox("已入库,点<确定>继续录入学生基本情况!","继续录入") thisform.text1.setfocus
else
messagebox("该学号已经存在,请检查学号!","提示")
endif
else
messagebox("学号/姓名不能为空!","确认窗口")
endif
首先判断学号栏与姓名栏是否为空,如果不为空,则到库中寻找有没有该学号的学生,如果没有,则新增记录,如有则提示用户该学生已存在,如果学号/姓名栏为空,则提示用户学号/姓名不能为空。
其中判断学号栏与姓名栏是否为空,用的是函数len(),寻找某学号的学生,用的是locate for语句。
提示信息用的是函数messagebox()。
如“添加入库后返回”按钮的click过程如下
如“备份”按钮的click过程如下:
copy to "备份\ "+"学生基本情况表"+dtoc(date(),1)+".dbf"作用是拷贝一份放在过程备份目录下并取名为:学生基本情况表+yyyymmdd.dbf, bel30.caption="备份完毕!"的作用是提示备份完毕。
5.3登记学生学科成绩模块的设计与实现
1、程序流程图:
2、界面如下图:
如果不存在用户输入的学号,则提示:
界面包括的控件有标签、文本框、组合框、命令按钮。
功能是提示用户输入学生的学科成绩和备份已经输入学生的学科成绩。
3、实现过程: N
Y 开始
登记学生成绩
是否继续
结束
与5.1同,此处不再重述。
这里主要将关键代码给大家介绍一下,与5.1相同的代码,此处也不再重复。
检查学号是否存在,用的是text1的lostfocus事件:
“添加入库并继续录入”按钮的click过程如下
5.4登记学生奖罚记录模块的设计与实现
1、程序流程图:
2、界面如下图:
如果不存在用户输入的学号,则提示:
界面包括的控件有标签、文本框、组合框、命令按钮。
功能是提示用户输入学生的奖罚记录和备份已经输入的学生的奖罚记录。
3、实现过程: N
Y 开始
登记学生奖罚记录
是否继续
结束
与 5.1同,此处不再重述。
这里主要将关键代码给大家介绍一下,与 5.2相同的代码,此处也不再重复。
“添加入库并继续录入”按钮的click过程如下
5.5查询学生基本信息模块的设计与实现
1、程序流程图:
2、界面如下图:
界面包括的控件有单选按钮、文本框、命令按钮、表格。
功能是按不同的选项查询学生基本信息。
3、实现过程:
先将各控件放到表单上,然后对其进行属性设置。
如单选按钮的属性为:
N Y
开始
设置条件/查询
是否继续
结束
表格控件的属性为:设置单选的项数
只读
数据源
打开方式
最后设置相应的代码:
的代码为:
主要是应用set filt to 对数据进行筛选,通过判断optiongroup1.value 的值来确定用户选择的是哪一个单选按钮。
的代码为:
5.6查询学生学科成绩模块的设计与实现
1、程序流程图:
2、界面如下图:
界面包括的控件文本框、命令按钮、表格。
功能是按学号查询学生的成绩。
3、实现过程:
先将各控件放到表单上,然后对其进行属性设置。
表格控件的属性为:
N Y
开始
设置条件/查询
是否继续
结束
其中数据源由本地视图cxcj而来,如下图:
最后设置相应的代码:
的代码为:
只读
数据源
打开方式
set filt to 学号=alltrim(thisform.text1.value) go top
thisform.grid2.setfocus
主要是应用set filt to 对数据进行筛选。
查询学生奖罚记录同上,不再重复。
5.7密码修改模块的设计与实现
1、程序流程图:
2、界面如下图:
N
Y
开始
输入原密码/新密码
是否继续
结束
界面包括的控件文本框、命令按钮等。
3、实现过程:
的代码为:
先判断原密码是否正确,然后再进行修改。
第六章系统使用说明6.1使用说明
1、运行于Windows 98以上操作系统。
2、系统默认密码:11111111
6.2运行环境
1、Windows 98以上操作系统。
2、Visual Foxpro支持。
6.3运行结果
图6.1 登录界面
图6.2 系统主界面
图6.3 登记学生基本信息界面
图6.4 登记学生学科成绩界面
图6.5 登记学生奖罚记录界面
图6.6 学生基本信息查询界面
图6.7 学生学科成绩查询界面
图6.8 学生奖罚记录查询界面
图6.9 密码修改界面
第七章设计心得
经过三个多月的设计和开发,学生综合素质管理系统基本开发完毕。
该系统的功能基本符合学校管理学生档案的需求,能够完成学生基本情况、学生学科成绩、学生奖罚记录等信息的输入、查询。
并提供部分系统维护功能。
同时也考虑到了单位编码以减少数据冗余的问题,对于数据的一致性的问题也通过程序进行了有效的解决。
但是由于毕业设计时间较短、本人水平有限,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不完善等多方面问题。
这些都有待进一步改善。
参考文献
1.《数据库系统原理与应用》闪四清清华大学出版社1999年
2.《Visual Basic 6.0程序设计》刘世峰中央广播电大出版社2003年
3.《Visual Basic程序设计》陈明中央广播电大出版社2001年
4.《软件工程》杨文龙电子工业出版社2001年
5.《管理信息系统》薛华成清华大学出版社1996年。