资源描述
数据库设计报告学生选课系统
———————————————————————————————— 作者:
———————————————————————————————— 日期:
2
个人收集整理 勿做商业用途
数据库课程报告
——学生选课系统
1。 背景分析 - 3 —
2可行性分析 - 3 -
2。1 要求 — 3 -
2.2目标 — 4 —
2.3 对所建议系统的说明 - 4 -
2.4 处理流程和数据流程 - 4 —
2。6 技术可行性分析 - 5 -
2。7社会因素分析 — 5 —
3. 需求分析 — 6 —
3。1 目标 - 6 —
3。2 用户的特点 - 6 -
3。3 假定和约束 — 6 —
3。4 对功能的规定 — 6 -
3。5 输入输出的要求 - 7 —
3.6 数据管理能力要求 — 7 —
3.7 故障处理要求 - 8 -
3。8 运行环境规定 - 8 —
3.9 模块结构图 — 8 -
4。 概要设计 — 9 -
4.1需求规定 - 10 —
4。2运行环境 - 10 —
4。3基本设计概念和处理流程 — 11 -
4。4结构 - 11 —
4.5功能需求与程序的关系 - 12 -
4。6 人工处理过程 - 12 —
4。7尚未解决的问题 — 12 -
4.8概念模型(整个学生选课系统的E-R图) — 13 -
4.9接口设计 — 14 —
4.10运行设计 — 14 -
4.11系统数据结构设计 — 14 -
4。12系统出错处理设计 - 16 —
5.详细设计 — 16 —
5。1程序设计说明书: - 17 —
5.2用户手册 - 17 -
1。 背景分析
教务管理工作中的学生选课工作是高等学校教育工作的一项重要内容,是整个学校管理的核心和基础。它是学校教学工作的中枢,是保证高等教学机制正常云知道枢纽,是一项目的性、计划性、适应性、创造性和科学性很强的工作;教务管理工作关系到高等教学秩序的稳定和教学质量的提高,关系到高校发展和人才的培养,在高校中占有相当重要的地位;为了能够加深我们对所学知识的理解与提高,所以开发此系统,本系统注重与学习与交流,严禁运用与商业用途。
2可行性分析
为确定此学生选课系统的实施是否可行,对本软件开发项目的实现在技术上、经济上和社会条件上的可行性加以分析说明,为合理的达到开发目标而提供可行的方案。
2.1 要求
功能要求:同时使用数据库技术,能够打开一个数据库的数据,并将其修改后能够再保存回去。且一个用户的信息只能每次只能登陆一次,不能多人同时登陆一个用户。但是可以保证一定量的用户可以同时访问服务器.要求系统简洁,便于操作,而且快速、实用,功能健全.
性能要求:
输入:由教师或学校管理人员输入学生信息以及该学生可选的课程信息。
输出:学生选课完毕后,可输出该学生课程表。
安全与保密:系统要有一定的安全防护措施,以防止黑客或是恶意程序侵入,对于程序的以外故障要有一定的预防措施.另外,对于不同的用户要设置不同访问的权限.
同本系统相连的其他系统:学生选课子系统属于教学管理系统的一部分,与其相连的还有基础信息维护系统,主要负责管理和维护基本的信息,如学生、教师、学院等信息的输入与更新.
2.2目标
本系统的开发使用目标在于方便学校的管理,提高工作效率,也为适应新型教学模式的推出,使学生能够更好的、更自由的发展。也能够大大降低学校的工作量。
2.3 对所建议系统的说明
新系统在原有系统的基础上加入了新的数据库的支持,使用了先进的数据库技术与数据管理技术,使数据的准确性与安全性得到了很大的提高,且在用户的并行操作,用户管理以及用户的操作方面也有了极大地改善.
2.4 处理流程和数据流程
处理流程:
数据流程:
2。5影响
(1)对设备的影响
改进了原有系统的性能所以对设备要求自然更高,建议系统使用了最先进的技术使设备也必须跟着升级。
(2)对软件的影响
由于建议系统采用了先进的数据库技术以及一系列高技术含量软件,使得原来系统上的一些软件无法继续使用,不过在新系统开发过程中将尽量考虑到,对现有软件的兼容性。
(3)对用户机构的影响
使用本开发系统之后,在管理层面上,学校将会节省一定的人力资源,管理起来也更加方便,且能提高工作效率。
(4)对开发的影响
使用时需要用户配备数据源,硬件上需较大容量服务器的支持,在硬件上需加有一定的防护措施,以防止外来非法用户侵如数据
2.6 技术可行性分析
就目前使用的开发技术来说建议系统的功能目标应该能够达到;利用现有的技术在规定的期限内开发工作基本能够完成.
2。7社会因素分析
该项目为独立开发,在技术上没有使用任何现有的软件与方法。所以在法律方面不会存在侵犯专利权、侵犯版权等问题,完全按照合同规定的责任履行。
结论:
经过一系列的各个不同方面的可行性分析,分析员和用户及使用部门的负责人对需要解决的问题取得基本的一致看法,开发小组的开发方案的到批准,使用部门负责人同意开发工程继续进行下去。
3。 需求分析
本文档是建立在可行性分析报告的基础上,为了进一步描述教学管理系统之中学生选课子系统的功能,对系统提出完整、准确、清晰、具体的要求,也为以后的总体设计以及程序代码的编写打下基础。
3。1 目标
由于信息化技术的发展,也由于学校教学制度的改革,为便于学分制的更好实施,因此开发了学生选课子系统。改变了以往教学的死板,既便学校管理,提高工作效率,也便于学生有更自由的发展空间,培养学生更个性的发展。
3。2 用户的特点
使用本系统的用户只需具备基本的电脑操作能力如:浏览网页,掌握基本的计算机应用及可,无需特别的专业技能。
3。3 假定和约束
开发经费上需要限定在一定范围之内,时间的限定应满足委托人的要求,这里不做具体说明。
3.4 对功能的规定
同时使用数据库技术,能够打开一个数据库的数据,并将其修改后能够再保存回去。且一个用户的信息只能每次只能登陆一次,不能多人同时登陆一个用户.但是可以保证一定量的用户可以同时访问服务器。要求系统简洁,便于操作,而且快速、实用,功能健全。
下图为本子系统的功能层次图:
学生选课系统
查看可选课程
打印课表
选课
保存退出
图1-1 功能层次结构图
必修课程
选修课程
实验课程
体育课程
3。5 输入输出的要求
该系统为教学管理系统的一个模块,因此它的输入数据由总系统的其它模块提供,其输出数据一部分可显示给用户,另一部分作为其它子模块的输入。
3。6 数据管理能力要求
学生
选择
课程
n
m
学号
姓名
班级
课程编号
课程名
教师
所属专业
专业
图1-2 总体E-R图
学分
性别
3.7 故障处理要求
如果服务器访问人数超出限定,可能会导致用户无法登陆。为了解决这个问题,需要在制度上规定系统的最大同时访问人数,同时尽可能增大服务器容量。
3.8 运行环境规定
(1)设备 硬件上需要一定容量的数据库服务器。
(2)支持软件
本系统基于windows开发,因此适用于windows2000以上的操作系统用户。
3.9 模块结构图
整个学生选课系统,首先实现用户登陆功能,然后进入主界面,其主要模块如上所示;基础信息维护下包括班级信息维护、学生信息维护和课程信息维护;教学管理中包括学生选课;如果想退出登陆,有退出系统模块。
4. 概要设计
为了更好的描述软件结构以及系统各组成成分之间的相互关系,因此撰写概要设计说明书。本说明书主要面向系统详细设计人员,作为以后详细设计的参考文档,也可以作为专业程序设计人员设计程序之参考。
4.1需求规定
4.1.1 对功能的规定
同时使用数据库技术,能够打开一个数据库的数据,并将其修改后能够再保存回去.且一个用户的信息只能每次只能登陆一次,不能多人同时登陆一个用户。但是可以保证一定量的用户可以同时访问服务器.要求系统简洁,便于操作,而且快速、实用,功能健全.
4.1。2 对性能的规定
a 。精度
本系统所需要的数据比较简单,基本不存在精度的问题。
b. 时间特性要求
要求本系统对于事务的处理有较高的响应,如数据库的更新操作等响应时间应限定在一定范围。
4。1.3 输入输出的要求
该系统为教学管理系统的一个模块,因此它的输入数据由总系统的其它模块提供,其输出数据一部分可显示给用户,另一部分作为其它子模块的输入。
4。2运行环境
硬件环境:学校需配备数据库服务器,本系统对个人计算机无特殊硬件要求,普通个人PC均能运行。
软件环境:本系统是基于WINDOWS系统开发的,因此windows 2000 以上的个人PC都能较好的运行本系统。学校主机建议安装windows 2000 或 windows 2003 server 。
4。3基本设计概念和处理流程
学生选课系统
学生
学号、选课信息
学生信息表 T1
学号
用户合法
通知
课程信息表 T2
2
学号
课程信息
课程表T3
教师
可选课程
选课信息
课表
课表
4。4结构
下图为本子系统的结构图,反映程序中模块之间的层次调用关系和联系:
学生选课子系统
输入可选课程信息
输入学号
输入课程信息
学号
学号
课程信息
输入已选课程
已选课程
输出课表
课表信息
可选课程
输入选课信息
可选课程
选课信息
4。5功能需求与程序的关系
本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
选课模块
打印课程表模块
课表查询模块
查询可选课程模块
选课
√
打印课程表
√
课表查询
√
查询可选课程
√
4.6 人工处理过程
本系统在具体排课过程中,有时可能需要人工来调整,如在为教师安排上课时间、地点时需考虑到一些特殊因素。
4。7尚未解决的问题
由于同时运行的人数过多的时候,会导致该系统反应过慢或者无法正常工作,所以在运行本系统之前应该规定同时运行的人数;
4.8概念模型(整个学生选课系统的E—R图)
4.9接口设计
4.9.1用户接口
用户可以根据学号和姓名进行查询这学期的课程信息、选课以及查询自己的选课信息.
4。9.2外部接口
软件接口:通过ODBC与数据库之间进行连接;
硬件接口:鼠标、键盘。
4。9。3内部接口
模块间采取数据耦合方式,通过参数表传递数据,交换信息.
4.10运行设计
4。10。1运行模块组合
通过主应用程序组合,模块均可独立操作存储文件。.
4.10。2运行控制
用户只需要通过鼠标以及键盘就可以实现查询、选课等本系统所包含的一切操作;
4。10.3运行时间
查询时间〈2s; 选课时间<2s; 登陆系统时间〈30 minutes;
4。11系统数据结构设计
4。11.1逻辑结构设计要点
给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系.
学生信息的数据字典:
字段中文名称
字段名
类型
长度
说明
学号
S—number
Varchar
14
学生学号
姓名
Name
Varchar
8
学生姓名
性别
Sex
Varchar
2
班级编号
C—number
Varchar
14
学生所在班级
年级
Grade
Int
学生所在年级
政治面貌编号
Z-number
Varchar
2
民族编号
M-number
Varchar
2
籍贯编号
J-number
Varchar
2
身份证号
ID
Varchar
15
学籍编号
X—number
Varchar
2
班级信息的数据字典:
字段中文名称
字段名
类型
长度
说明
班级编号
C—number
Varchar
14
年级
Grade
Varchar
4
班级所在年级
班级名称
C-name
Varchar
30
班级简称
C—sname
Varchar
16
人数
Number
Numeric
(3,0)
班主任
Master
Varchar
8
课程信息的数据字典:
字段中文名称
字段名
类型
长度
说明
课程编号
Co—number
Int
课程名称
Co-name
Char
40
课程简称
Co—sname
Char
40
拼音码
Char
6
课程的拼音码
本学期课程
Char
2
教师
Teacher
Char
10
任课教师
开课系别
Sdept
Char
30
学分
Credit
Int
本课程的学分
选课表的数据字典:
字段中文名称
字段名
类型
长度
说明
编号
Number
Int
(1,1)
学号
S—number
Varchar
14
课序号
Varchar
14
4。11。2 物理结构设计要点
A。存取位置选择:
根据常用部分与不常用部分可以将系统数据存储在两个磁盘上面,系统中的课程信息经常需要增加、删除、修改以及查询,故应该存放在一起,而选课信息只是在选课阶段采用,所以课程表,选课信息表等应该放在另外一个磁盘上面;
B.存取路径设计
对选课信息、课程信息两个子系统的各个关系最经常的操作是查找,假设现有n个信息,如果采取顺序查找,平均查找n/2次;建立B+树索引,则平均查找次数为B+树的层数log2n+1。
4。12系统出错处理设计
4.12.1出错信息
(1)数据库被破坏;
(2)系统突然掉电;
(3)同时上线用户过多,导致无法查询;
4。12。2补救措施
(1)为防止数据库可能被破坏,故采用双主机形式,当一个坏掉的时候,自动采用另外一个主机进行工作;并且定期进行备份,比如一周;
(2)为防止系统可能出现突然掉电,数据中心等必须配备较大功率的UPS,常用的部门配备小功率的UPS,以备在停电的时候应急使用;
(3)为同时防止用户过多,应该设置系统一次运行时间为30minute,并且人工规定能同时上线的人数;
4.12。3系统维护设计
在一些与数据库连接的程序中,由于经常出现连接不成功的情况,故应该进行标记,当出现类似情况的时候方便进行维护。
5。详细设计
根据概要设计阶段对本系统的软件结构的描述,为系统的每个模块确定采用的算法和数据结构,本文档的读者主要是系统开发人员中的实际编程人员. 作为系统实现的一份参照文档。
5。1程序设计说明书:
(1)用户登陆模块(LoginForm)的开发:设计用户登陆界面,运用C#中的数据库连接方法,连接到后台数据库中的用户信息,在运用知识判断用户输入的用户号.用户名是否正确,如果正确,则正常登陆,否则,阻止登陆;
(2)主窗口的设计(MainForm):设计用户导航界面,主要有基础维护(学生信息维护、班级信息维护、课程信息维护)、教学管理(学生选课)、退出系统三个基本菜单;
(3)父窗口的设计(ParentForm):首先创建窗体,其中的所有属性全部设置尾protected,以便于继承用;在设计其中的首记录、上一记录、下一记录、未记录、删除、新增、确定、取消、提交、退出、修改、搜索等基本功能以及三个查询条件;
(4)学生信息窗口(StudentInfo)、班级信息(ClassInfo)、课程信息(CourseInfo)等窗口的设计;首先建立继承窗口,父窗口是ParentInfo;然后分别连接到学生信息表、班级信息表、课程信息表中,再设计其他的一些独特功能;
(5)学生选课窗口(CourseElect):首先设计学生选课窗口,显示能够选的课程以及某位学生已经选择的课程信息;如果连接到后台数据库中的课程信息,学生信息以及选课表和选课触发器,在不满足触发器的情况下,拒绝选课;
5.2用户手册
要能够方便地使用本系统请按照如下方式进行操作:首先进入登陆界面,系统默认用户名用户号都是1,密码是sys,正确登录后会跳到导航界面,点开任何一个都能获得一组信息,基础维护主要有学生信息,班级信息,课程信息,用户可以进行插入、删除、修改,以及设定查询条件进行精确查找。
- 19 -
展开阅读全文