学生选课成绩管理系统.docx
《学生选课成绩管理系统.docx》由会员分享,可在线阅读,更多相关《学生选课成绩管理系统.docx(21页珍藏版)》请在冰豆网上搜索。
学生选课成绩管理系统
课程设计
课程名称数据库应用课程设计
题目名称学生成绩管理系统
学生学院
专业班级
学号
学生姓名
指导教师
2007年6月30日
学生选课成绩管理系统
概述:
随着社会经济发展,社会的信息化程度越来越高,学校在信息化的过程中担任了很重要的角色,其信息化发展也较快。
本人开发的系统用来管理学生选棵成绩的各种信息数据。
学生每年都要有必修课和选修课,成绩登记,查询都比较麻烦,而每年都需要学校花费很多时间来管理学生的选课成绩,造成了很多不方便。
开发意义:
开发这个系统是为了更方便的查询,修改,添加学生选课的各种数据,便于统一管理。
同时也有利于节省时间和人力,方便学校管理!
1.需求分析
1.1用户需求:
系统现状,要解决的主要问题,达到的具体指标等。
用户需求分析阶段的首要任务就是要明确数据库应用系统的开发目的。
象一般的应用系统一样,数据库应用系统的目的一般首先由拥护提出,也可以由数据库应用系统开发者拟定。
学生选课成绩管理系统的目标是建立一个选课成绩计算机管理系统,以取代人工管理的大部分事务,开发的目的如下:
(1)能对学生选课成绩的有关数据进行输入、修改、查询;
(2)打印学生选课成绩报表;
(3)对学生选课成绩进行统计;
(4)打印学生成绩。
1.2业务流程分析:
描述系统的业务流程,画出规范的业务流程图。
1.3信息需求分析
1.3.1资料收集:
业务流程中用到的相关单据票证帐簿报表报告等资料,画出格式,最好是填有具体内容的表格等。
学生选课成绩管理的要求主要是:
能够很好地系统地知道学生选课成绩情况,包括学生基本信息、老师基本信息、课程基本信息等。
1.3.2事项分析:
分析资料中标题、表头等中各栏目名,列出所有事项,作为数据项;分析这些数据项,找出组合项、导出项、非结构化数据项,确定基本项。
检查是否有要补充的基本数据项,是否有要改进的地方,补充改进之,得出所有基本项。
从数据分析中可知,在学生选课成绩管理中,应在实际运行时有以下重要的反映成绩内容、效果、进程的参数:
(1)学生基本信息
(2)老师基本信息
(3)学生选课成绩信息
(4)对选课成绩进行统计
(5)学生与成绩
我们通过对这些数据需求的分析,应该找出需要用信息数据来表达的内容及其方式,还要找出相互之间的关系,在这种复杂的关系中进行有关主题的提炼,用这些既独立又相互关联的主题以及每一个主题所表达的,有单一信息价值内涵的数据项集合及其处理方式,来构造一个数据库系统框架结构。
通过数据需求的调研应归纳出与系统相关的数据。
对这些数据进行分析、归纳,从中找
出“规律”,提炼主题并排除冗余数据。
1.4功能需求分析:
改进完善业务流程图,分析用户需要系统完成哪些任务,逐层分解,画出功能层次图。
功能分析是要在设计过程中明确完成设计后的“学生选课成绩管理系统”所能具备的功能。
学生选课成绩管理系统的功能模块划分图为:
2.(数据库)概念(模型)设计
确定实体、联系及其属性,并确定主实体的主标识,画出ERD(不少于两个主实体,一个从实体,一个联系和24个属性);检查改正错误;对其中复杂的多元联系进行分析,必要则改进。
概念模型有以下几个主要特点:
(1)能充分反映实际应用中的实体及其相互之间的联系,是现实世界的一个真实模型。
(2)由于概念模型独立于具体的计算机系统和具体的数据库管理系统,因此,便于用户理解,有利于用户积极参与设计工作。
(3)概念模型容易修改。
当问题有变化时,反映实际问题的概念模型可以很方便地扩充和修改。
(4)便于向各种模型转换。
由于概念模型不依赖于具体的数据库管理系统,因此,容易向关系模型、网状模型和层次模型等各种模型转换。
概念结构设计要借助于某种方便又直观的描述工具,E-R(实体-联系,Entity-Relationship)图是设计概念模型的有力工具。
在E-R图中,用三种图框分别表示实体、属性和实体之间的联系,其规定如下:
⏹用矩形框表示实体,框内标明实体名;
⏹用椭圆形框表示实体的属性,框内标明属性名;
⏹用菱形框表示实体间的联系,框内标明联系名;
⏹实体与其属性之间以无向边联接,菱形框与相关实体之间也用无向边联接,并在无向边旁标明联系的类型。
3.(数据库)逻辑(模型)设计
3.1一般逻辑模型设计:
列出数据库初步构思的关系框架(二维表的表头)[与具体DBMS无关],并检查改进之。
(1)
3.2具体逻辑模型设计:
按所用的DBMS(如VFP)要求,设计表(文件)的具体结构,在关系框架下补充字段类型、长度、小数位数等行。
4.数据库物理设计与数据库保护设计
在完成了数据库的逻辑结构设计以后,则要进行物理结构的设计。
物理结构设计的任务就是为逻辑结构设计阶段所得到的逻辑数据模型选择一个最适合应用环境的物理结构。
物理结构的设计依赖于具体的计算机系统,它是一个反复进行的过程。
首先要针对具体的数据库管理系统和设备的特性,确定实现所设计的逻辑数据模型必须采取的存储结构和存取方法;然后对该存储模式进行性能评价,若评价结果满足原设计要求则进入设计实施阶段,否就要修改设计,经过多次反复,直到取得满意的结果为止。
下面对物理结构设计的内容和要求作简单介绍。
(1)物理结构设计的准备工作
为了有效地进行物理结构设计,设计人员必须对特定的数据库管理系统和设备特性有一个充分的了解。
⏹要充分了解和掌握所用的数据库管理系统的性能和特点,包括数据库管理系统的功能,提供的物理环境、存储结构、存取方法和可利用的工具等,同时对它们的优缺点要心中有数。
通常,数据库管理系统提供了一种以上的存储结构和存取方法,只有对它们的特点、适用范围等有充分的了解,才有可能针对用户的应用要求选择最合适的存储结构和存取方法。
⏹要十分熟悉存放数据的外存设备的特性。
例如,要清楚地知道物理存储区的划分原则、物理块大小、设备的I/O特性等。
⏹要了解并熟悉应用要求。
掌握系统中各个应用之间的关系,分清主次,对不同应用按照对组织的重要程度和使用方式进行分类。
了解各个应用的处理频率和响应时间要求,对时间和空间效率的平衡是非常重要的。
在物理结构设计中,要考虑数据的存取和数据的处理两个方面,必须要处理时间和空间这对矛盾,充分了解和掌握各种应用的情况,以便作出最优处理。
(2)物理结构设计的内容
⏹确定数据的存储结构
在确定数据的存储结构时,主要是在存取时间、存储空间的利用率和结构维护三个方面进行折中考虑。
通常,数据库管理系统提供了多种存储结构,因此,设计者可以根据各个应用的特点和要求从所提供的存储结构中进行选择。
⏹选择存取路径
数据库的根本特点是数据的共享,因此,对同一数据的存储要提供多种存取路径。
存取路径直接影响数据存取的效率。
在进行物理结构设计时要确定建立哪些路径,而路径的选择主要是考虑索引的选择和文件之间的联系两个问题。
例如,要对建立多少个索引、在哪些数据上建立索引、文件之间的联系如何实现等作出选择。
选择的原则是既有较高的检索效率,又使花费的代价最小。
⏹确定数据存放的位置
数据的存放位置对系统性能也有直接影响。
为了提高系统的效率,要根据应用情况对数据进行分组,按存取频率和存取速度的不同,分别存放在不同的存储设备上,以满足存取要求。
同时,对一个文件内的数据也可以进行“分解”,根据各数据的存取频率不同,可以对文件进行“垂直分解”,把经常存取的数据放在一起,可以提高存取效率。
根据各记录的存取频率不同,可以对文件进行“水平分解”,把经常使用的记录或要顺序存取的记录分为一组,并存放在一起,这样可以提高系统的存取效率。
⏹确定存储分配
根据应用和数据库管理系统所提供的存储分配参数,确定块大小、缓冲区的大小和个数、溢出空间的大小等,以便使存取时间和存储空间的分配尽量达到最优。
4.1设计索引:
在表(文件)的具体结构关系框架下补充字段索引行或在框架外补充索引说明,指出索引字段或索引表达式、索引类型。
4.2设计表间关系:
列出父表与子表的关联索引,指出要建立的表间关系的类型。
4.3完整性设计:
列出主要字段完整性的字段名、完整性约束条件;列出记录完整性约束及其约束条件;列出参照完整性表。
4.4在有多个用户操作时,考虑用户授权与安全性控制。
5.处理功能设计(注意:
此时系统未实现,设计结构都是写出或画出的,而不能是系统运行生成的)
5.1主控模块设计:
包括系统环境初始化、欢迎画面、用户身份验证、主控表单或菜单、告别画面、系统退出的环境恢复等功能。
5.2子模块设计:
按系统业务要求设计各项业务模块和系统管理模块,要能完成系统业务和系统管理功能,总体规模至少要达到5.2.1—5.2.4的要求。
5.2.1设计输入:
设计输入数据到表中的表单或窗口,注意实现用户定义的完整性约束,并具有输入校验,以确保输入数据正确,没有垃圾数据混入。
5.2.2视图设计:
设计不少于两个定式视图,并提供调用视图设计器的用户现场生成视图。
5.2.3查询设计:
设计不少于两个定式查询,并提供调用查询设计器的用户现场生成查询。
5.2.4报表设计:
设计不少于两个定式报表,并提供调用报表生成器的用户现场生成报表。
6.数据库应用系统的实现
6.1数据库及其表结构的建立:
建立数据库描述文件(.DBC)及其数据库表(.DBF),注意完整性、索引与永久关联的实现,并附打印出的作为系统命令执行结果的数据库表结构及其关联图、参照完整性表。
1、课程表
字段名
字段类型
字段长度
是否可以为空
备注
课程代码
字符型
5
否
索引
课程名称
字符型
14
否
索引
类别
字符型
4
否
教师代码
字符型
4
否
2分数表
字段名
字段类型
字段长度
是否可以为空
备注
学号
字符型
6
否
索引
课程代码
字符型
5
否
索引
成绩
数值型
4
否
3班级表
字段名
字段类型
字段长度
是否可以为空
备注
班级编号
字符型
4
否
年级
字符型
2
否
关键字
专业
字符型
10
否
系代码
字符型
1
否
学制
字符型
1
否
类型
字符型
4
否
4学生表
字段名
字段类型
字段长度
是否可以为空
备注
学号
字符型
6
否
姓名
字符型
8
否
关键字
性别
字符型
2
否
出生日期
日期型
8
否
班级编号
字符型
4
否
类型
字符型
4
否
5教师表
字段名
字段类型
字段长度
是否可以为空
备注
教师代码
字符型
4
否
姓名
字符型
8
否
关键字
性别
字符型
2
否
出生日期
日期型
8
否
籍贯
字符型
6
否
技术职务
字符型
10
否
备注
备注型
4
否
6.2数据输入:
实现5.2.1中的输入程序后,用这些输入程序或系统的追加插入命令录入数据,并打印出用VFP命令列出的各表的内容。
6.3模块实现:
用视窗菜单和/或程序编辑器实现各模块,建议参考教材[2]采用菜单与多表单技术,调试正确后打印实现的系统输出结果。
建议先实现输入模块,再实现其他子模块,然后实现主控模块。
最好建立项目,用项目管理器来管理整个系统。
打印出实现结果(表单、源程序)。
写出实现的经过与体会。
主程序
clearall
closeall
settalkoff
setstatusbaron
setsysmenuoff
_screen.autocenter=.T.
clearall
do欢迎.mpr
doform欢迎.scx
readevents
项目管理器:
登陆页面:
主页面:
经过与体会:
经过一个学期对visualfoxpro的理论知识和上机操作的学习,我从大一时学的visualbasic仅有的编程知识到现在的visualfoxpro,我开始对编程有了较为深刻的理解,虽说不上精通,但对编程方面的语言也有所提高,刚开始学的时候,觉得很难,根本无法入手,觉得很难理解,很抽象,但经过这次的综合实验后,我设计了一个学生选课成绩管理系统,从不熟悉的编程,到看着书慢慢的理解,不会就请教同学和一些朋友,有时还会展开一番讨论,都现在自己做出一个程序系统,很有满足感,也很有成功的感觉,虽然系统不是很完美,但经过自己亲手做出来后,自己认为已经很成功了。
从刚开始的不熟悉,到完成一个完整的系统,其过程有些艰辛,要知道,一个人从理论到实践的过程,先要对理论比较熟悉,有很深的理解,到了实践才不至于措手不及,经过这次的综合实验设计中,我更深的了解到理论是要回归到实践的,这样的理论在人脑中才会来得比较深刻。
从设计综合实验过程中,有时遇到一些程序出现错误,每出现一次错误,自己都要找资料看下为什么出错了,要找出错的原因,这样才可以继续往下做,否则就卡在那儿做不下。
一步一个脚印,前脚迈出去了,后脚才可以前进,做visualfoxpro程序就是这样。
visualfoxpro是个易学难精的课程,也是很考我们细心及耐心的课程,我们不但要学它,而且要利用它为我们带来方便。
7.数据库应用系统运行
7.1写出系统操作使用的简要说明。
(1)打开学生选课成绩管理系统
(2)进入主页面,输入密码123,按“确定”进入主页面
(3)在菜单中选择相应的业务
7.2运行系统并打印出运行结果(至少有两个查询结果和两个报表输出结果)。
其中两个报表:
7.3系统评价:
采用的有特色的技术与技巧;成功之处与主要特点;系统会改进完善之处和进一步工作的打算。
优势:
(1)本系统外行美观,操作简明,功能清晰
(2)本系统采用了密码的登录,能更有效的维护数据的安全性,稳定性,有效性
(3)本系统中的数据明确详细,关系明确,效用高
劣势:
(1)系统的数据源少,覆盖面窄
(2)系统的功能不够全面
(3)系统的数据浏览做的不够全面
改进:
(1)丰富数据库的信息
(2)开发更多的功能,如:
访问者身份访问,帮助等功能,完善系统
(3)增加查询的方法
(4)增加安全性的保证
总之,本系统基本可以有效运行,不过还存在一定的完善空间。