| 课题名称: | 学生排课选课管理系统 | |
| 学生姓名: | 111 | 2011111 |
| 学 院: | 11院 | |
| 专业年级: | 11级信管1班 | |
| 指导教师: | 刘昭 | 老师 |
| 完成日期: | 2014/1/4 | |
学生:骆天阳
指导教师:刘昭
[摘 要]选排课系统功能的设计上,学生选排课系统可以分为登录、排课和选课3个子系统。登录子系统区分排课者(也即系统的管理者)、教师和学生这三者的不同身份,给出不同的权限,在页面中根据身份判断其相应具有的功能来使用这套系统。排课子系统主要供排课者使用,排课者可以在这里进行一切与排课有关的活动。选课系统主要供学生选课使用,在这里可以进行与选课有关的活动;教师可在教师反馈系统中对排课者提出反馈意见,供排课者在排课时可参考使用。学生选排课系统使用Delphi 7平台开发。在数据库上考虑到快捷、有效,同时考虑到多台服务器共同使用同一个数据库的情况,这里选择SQL Server 2008作为数据库服务器。
[关键词] Delphi 7 学生排课 学生选课 SQL Server
目 录
第一章 任务书 4
1.1 题目及要求 4
1.2 设计时间 4
1.3 其他相关内容 4
1.4 设计资料 4
1.5 工作内容 5
1.5.1 系统可行性分析和需求分析 5
1.5.2 系统数据库设计 5
1.5.3 系统总体设计与详细设计 5
1.5.4 系统测试 5
第二章 系统开发可行性分析 6
2.1技术可行性 6
2.2经济可行性 6
2.3操作可行性 6
第三章 开发运行环境 7
3.1系统开发和运行环境 7
3.1.1系统开发环境 7
3.1.2系统运行环境 7
3.2开发工具介绍 7
3.2.1 Delphi 7 7
3.2.2 Microsoft SQL Server 2008 8
第四章 需求分析 9
4.1引言 9
4.2编写目的 9
4.3研究背景 9
4.4系统描述 10
4.5系统需求分析 10
第五章 数据库分析与设计 11
5.1编写目的 11
5.2逻辑模型的建立 11
5.2.1 数据流图 11
5.3数据字典 12
5.3.1系统数据表及其用途 12
5.4概念设计 13
5.4.1系统实体关系图 13
5.5数据库设计 13
5.6局部 E-R图 16
第六章 系统设计 20
6.1系统功能 20
6.1.1系统功能结构 20
6.2 模块分析 20
6.2.1学生信息模块分析 21
6.2.2 教师信息模块分析 22
6.2.3系统管理模块分析 23
6.3系统总体设计 24
6.3.1总体功能流程图 24
6.3.2结构图 24
6.4 系统逻辑设计 25
6.4.1将E―R模型转换为等价的关系模式 25
第七章 系统实现 26
7.1系统主窗口实现 26
7.1.1 系统主窗口界面实现 26
7.1.2系统界面 27
7.1.3 学生信息管理界面 27
7.1.4 教师信息管理界面 28
7.1.5 教师课程管理界面 29
7.1.6 学生成绩查询界面 30
7.1.7 学生成绩打印界面 31
7.2 SQL数据库访问实现 32
7.2.1 查询学生课程信息视图 32
7.2.2 学生课程表查询存储过程 32
7.2.3 教师课程表查询存储过程 32
7.2.4 班级课程查询存储过程 33
7.2.5 成绩查询存储过程 33
7.2.6 学生表插入触发器 34
第八章 系统的维护和设计 35
8.1系统维护测试目的 35
8.2安全性要求 35
8.3使用方式要求 35
8.4可扩充性要求 35
8.5对软件功能的评价 35
8.6数据库备份与恢复 36
第九章 开发总结 37
9.1系统需求分析与系统框架设计认识 37
9.2数据库分析与设计认识 37
9.3自我学习与提高 37
9.4团队合作精神 38
9.5不足和提高 38
参考文献 39
第一章 任务书
1.1 题目及要求
学生排课选课管理系统
要求:某中学的排课管理系统。实现班级、课程等基本信息的管理;实现学生、教师信息的管理;实现班级课程及课程的任课教师和排课管理;创建存储过程检测指定教师、指定节次是否有课;创建存储过程生成指定班级的课程表;创建存储过程生成指定老师的课程表;建立数据库相关表之间的参照完整性约束
1.2 设计时间
(1)第14-15周 搜集、整理、分析相关文献、资料
(2)第16周 对用户进行需求分析
(3)第17周 系统功能模块分析及其划分
(4)第18周 数据库设计、系统设计及撰写文档
(7)第19周 准备答辩
总计6周
1.3 其他相关内容
项目提出者:石河子大学信息科学与技术学院
软件内容:详见第六章系统设计
指导老师:刘昭老师
开发人员:信息科学与技术学院信管11级1班 骆天阳(2011508096)
软件用户:学生、教师
1.4 设计资料
指导老师提供题目要求。
国家标准:
《项目开发计划规范》 (GB8567——88)
《软件需求说明书规范》 (GB8567——88)
《数据库设计说明书规范》 (GB8567——88)
《数据要求说明书规范》 (GB8567——88)
《详细设计说明书规范》 (GB8567——88)
《操作手册规范》 (GB8567——88)
《用户手册规范》 (GB8567——88)
《测试计划、测试分析报告规范》 (GB8567——88)
《详细设计说明书规范》 (GB8567——88)
1.5 工作内容
1.5.1 系统可行性分析和需求分析
分析系统的可行性,说明该软件开发项目的实现在技术上、经济上和操作上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。并且对系统需求做出较为全面的规定;给出系统的约束条件以及某些数据格式。对所开发软件的功能、用户界面及运行环境等作出详细的说明。它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。
1.5.2 系统数据库设计
数据库设计的好坏很大程度上影响着软件的质量以及软件开发的成败。该部分内容对数据库做出定义,依照数据库设计的规范步骤进行设计数据库,使数据库达到较高的规范化要求,以指导下一阶段的系统设计工作。
1.5.3 系统总体设计与详细设计
该部分内容是概要实际阶段的工作成果,它应进行系统功能分配、模块划分、系统框架构建、运行设计等,为详细设计提供基础。详细设计着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。照已经分析出的系统模块进行编码设计,生成学生排课选课系统的源代码。
1.5.4 系统测试
为了更好的对本软件的正确性做出客观公正的评价,进一步的对本软件进行验证,给用户一个满意的软件,让用户更好的使用本软件,从而提高用户的工作效率。为此,我们要制定一个测试计划并对已完成系统进行测试。测试计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。
第二章 系统开发可行性分析
分析系统的可行性,说明该软件开发项目的实现在技术上、经济上和操作上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。
2.1技术可行性
技术可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。本课题是以Delphi 7平台和Microsoft Visual Studio 2010作为开发工具,运用Pascal等语言进行开发,所使用的数据库是Microsoft SQL Server 2008。Microsoft SQL Server 2008数据库小巧、速度快,而且功能也十分完善,非常适合软件的开发。而且,平台降低开发和管理他们的数据基础设施的时间和成本,使得系统可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。综上所述,本系统所使用的技术完全可以满足该系统的开发。
2.2经济可行性
本课题开发所涉及的操作平台、开发工具基本上都是实验室机房已具备的软件,都是免费使用的,而且如今的市场情况是:其他都在涨价,就电子类产品在降价。而且我们可以免费参阅图书馆的书籍、期刊,免费下载相关文献资料,所以在经济上不存在很大的负担。
2.3操作可行性
由于本系统是以数据、图表作为人机交互载体的,在整个系统的使用过程中,从来需要用户输入相关信息,根据相应提示进行选择即可,操作简单,人机交互界面友好,系统具有较强的亲和性和易用性,用户只需要阅读用户手册,或者观看别人演示,即可熟练掌握本系统的使用。因此从操作可行性方面来说,本系统也是完全可行的。
第三章 开发运行环境
3.1系统开发和运行环境
3.1.1系统开发环境
操作系统:Windows 7
数据库:Microsoft SQL Server 2008
集成开发环境:Microsoft Visual Studio平台、Delphi 7
设计工具:Microsoft SQL Server 2008数据库、Delphi 7
3.1.2系统运行环境
1.服务器:
CPU:P4 2.0G以上
内存:512M
硬盘:60G以上
网络:100M /1000M Ethenet
2.客户机:
CPU:500Mz
内存:M以上
硬盘:1G以上
网络:10M Ethenet
3.2开发工具介绍
本系统使用Pascal语言开发,使用的开发工具基本都是Windows平台下的工具。
Delphi 7、Microsoft SQL Server 2008等
3.2.1 Delphi 7
Delphi,是Windows平台下著名的快速应用程序开发工具(Rapid Application Development,简称RAD)。它的前身,即是DOS时代盛行一时的“BorlandTurbo Pascal”,最早的版本由美国Borland(宝兰)公司于1995年开发。主创者为Anders Hejlsberg。经过数年的发展,此产品也转移至Embarcadero公司旗下。Delphi是一个集成开发环境(IDE),使用的核心是由传统Pascal语言发展而来的Object Pascal,以图形用户界面为开发环境,透过IDE、VCL工具与编译器,配合连结数据库的功能,构成一个以面向对象程序设计为中心的应用程序开发工具。
3.2.2 Microsoft SQL Server 2008
Microsoft SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。在现今数据的世界里,公司要获得成功和不断发展,他们需要定位主要的数据趋势的愿景。微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能。
第四章 需求分析
4.1引言
为了规范、有条理的进行本系统的设计以及合理的满足使用者的需求,为使后续的开发维护工作变得可靠而轻松,编写本系统需求分析说明书,旨在开发过程中进行参考,使系统在需求的范围之内进行开发,避免重复劳动,加快开发进度以及提高开发效率,同时也是为以后系统维护服务提供指南。
4.2编写目的
本软件需求说明旨在分析、确定本系统的任务,以及明确系统在功能、性能、操作使用上、运行环境、与外界的数据接口、输入/输出等各相关方面的要求,用来给本系统的开发人员和用户阅读,同时也作为开发过程中的开发标准,当双方确认之后,以供开发参考。
预期读者是系统设计人员、数据库设计人员。
4.3研究背景
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,就需要有学生教务信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。
学校为方便学生管理,需开发一个学生管理系统。为便于学生,老师,教务管理人员信息查询,注册以及信息修改,学校把学生的信息,包括姓名、性别、年龄,成绩等信息输入教务管理系统的数据库,然后在管理终端可以对数据进行查询和修改操作。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求系统界面要简单明了,易于操作,程序利于维护。
要对学生进行素质教育,首先要改变陈旧的教育教学方式。很多大学生都有这样的体验:同样专业的学生在4年中,教学计划一样,课程设置一样,所完成的课时数也一样。在这样的环境中谈什么素质,谈什么创新?因此,大学探索完全学分制的改革,目的就是为学生提供一个更加自由广阔的学习空间。大学的学习时间可以变长也可以缩短,学生可以根据学校提供的课程服务来规划未来的人生。但是,要实现这个宏伟的目标首先要解决的就是学生选课问题,本课程设计的开发就是解决教学管理系统中存在的这个问题,它为大学实现完全学分制的改革提供了一个基本的平台。
4.4系统描述
教师任课管理信息系统和计算机排课子系统的关键技术是形成采用框架式可维护的排课策略库。这个策略库要具有学生、教师、教室、课程等多因素自动综合的求优排课算法,课程时间分布的自动平衡和时间段限定,由计算机生成课程安排表。
在教室管理子系统中则要求该系统与自动排课系统联动,可以对排课后的教室用计算机进行借用管理、查询、分析统计,可生成全校教室使用情况汇总表。网上选课及包含自动排课、学籍管理、教室资源管理、任课教师管理等系统融为一体。
4.5系统需求分析
新系统查询方便、存储量大、保密性好、成本低、可靠性高。系统需求提供以下功能:
A. 要提供学生基本信息的维护功能 ,管理者能够通过此项功能及时添加、修改和删除学生的基本信息及时掌握学生的第一手资料 ,便于动态管理学生。
B.系统分三个模块端:学生端模块,教师端模块,管理员管理模块。信息从这三大模块分类,有序完整地进行管理。
C.每一个模块都以不同的身份进行登录。学生模块需要登录以及注册;师端模块分两个身份登录,不同的教师进入的界面有所不同;而管理员则是管理这个系统的所以信息,以管理员的身份进入,则其界面功能不同。
D. 系统可以根据选课信息提供每位学生的各学期的成绩 ,使得辅导员能迅速地询到任意一位学生的成绩 ,及时准确地了解学生学习情况发现问题尽早解决 ,同时为资料保存以备后用。
E.系统提供学生的选课的信息 ,包括任课教师、开课地点等有关信息便于辅导员主动管理 ,及时了解学生学习动态,以及学生在校期间的各学期学籍信息的管理。
第五章 数据库分析与设计
5.1编写目的
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,是管理信息系统的一个核心部分。 为了便于程序与数据库的连接以及对数据库的管理维护,特编写本章,意在作为编程人员的参考以及数据库管理员维护数据的参考。
5.2逻辑模型的建立
5.2.1 数据流图
(1)顶层图
分析学生信息管理系统的数据来源和去向,确定外部项,绘制出数据流图的顶层图,如图2-1所示。
图5.2.1 学生信息管理系统的顶层图
(2)顶层数据流图从总体上反映了学生信息管理系统的信息联系。按自顶向下、逐层分解的方法对顶层图进一步细化,划分出几个主要的功能模块,并明确各功能之间的联系,绘制出数据流图的0层图,如图2-2所示。
图5.2.2 学生信息管理系统的0层图
5.3数据字典
5.3.1系统数据表及其用途
表5-1系统数据及其用途表
数据表名称 数据表用途
teacher 用于存储教师基本信息
class 用于存储教室信息及状态
student 用于存储学生基本信息
course 用于存储课程信息
sc 学生选课检索表,主要存储学生选课信息
tc 教师任课检索表,用于存储教师任课信息
5.4概念设计
概念设计是对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中信息的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。
5.4.1系统实体关系图
图 5-4-1 系统表关系图
5.5数据库设计
根据实际需要,将部分数据表详细字段设计描述如下:
诊断类型表详细字段如下:
① teacher表:
| 列 名 | 数据类型 | 约束 |
| tno | Char(10) | 主键 |
| tn | Char(10) | 唯一 |
| sex | Char(2) | 男或女、默认男 |
| Age | smallint | |
| dept | Char(10) |
| 列 名 | 数据类型 | 约束 |
| bno | Char(10) | 主键 |
| bn | Char(10) | 唯一 |
| finish | int | |
| time | int |
| 列 名 | 数据类型 | 约束 |
| sno | Char(10) | 不为空、唯一 |
| sn | Char(10) | 不为空 |
| sex | Char(2) | 男或女、默认男 |
| age | Smallint | ---- |
| dept | Char(7) | ---- |
| 列 名 | 数据类型 | 约束 |
| cno | Char(10) | 不为空、唯一 |
| cn | Char(10) | 不为空 |
| ct | Integer | ---- |
| 列 名 | 数据类型 | 约束 |
| sno | Char(10) | 与课程号联合做主键、参照其它表 |
| cno | Char(10) | 与学号联合做主键、参照其它表 |
| score | smallint | >=0 and <=100 |
| 列 名 | 数据类型 | 约束 |
| tno | Char(10) | 联合主键、参照其它表 |
| cno | Char(10) | 联合主键、参照其它表 |
5.6.1学生E-R图:
学生
系别
学号
年龄
姓名
性别
5.6.2教师E-R图:
教师
系别
教师号
性别
年龄
姓名
5.6.3课程E-R图:
课程
课程名
课时
课程号
5.6.4班级E-R图:
班级
节数
班级号
状态
班级名
5.6.5学生课程E-R图:
学生课程
分数
课程号
学号
5.6.6学生班级E-R图:
学生班级
班级号
学号
5.6.7教师班级E-R图:
教师班级
班级号
教师号
5.6.8教师课程E-R图:
教师课程
课程号
教师号
5.6.9全局E-R图:
班级名
职工资
本工资
班级号
职称
状态
学生
从属
选修
课程
授课
班级
老师
从属
系别
1 n
节数
年龄
状态
姓名
1
时间
师号
n
状态
时间
成绩
1 n
课程号
n
n
课程名
学号
系别
姓名
性别
年龄
课时
第六章 系统设计
本章主要介绍系统的模块划分、总体设计及详细设计。
6.1系统功能
6.1.1系统功能结构
本系统主要实现了以下功能:
1、学生信息录入
2、教师信息录入
3、学生成绩录入
4、课程信息录入
5、课程信息查询
6、学生成绩排行
7、学生信息查询
8、学生成绩查询、打印
6.2 模块分析
根据前面的需求分析,可以将系统功能模块图描述如下:
学生排课选课管理系统
学
生
成
绩
排
行
学
生
信
息
查
询
学
生
成
绩
查
询印
课
程
信息
查
询
教师信息录入
学生成绩录入
课
程
信息
录入
学
生
信
息
录
入
学
生
成绩
学
生
信
息
学生
信息
模块
教师
信
息
学生排课选课管理系统
程序设置
用户管理
系统
管理
模块
教师
信息
模块
学
生
课程
教师
课程
图 6-2 系统功能模块图
下面逐个对各个功能模块进行分析。
6.2.1学生信息模块分析
此模块为学生和管理员(老师)的登录界面。学生登录成功后进入学生信息查询界面模块;管理员(老师)登录成功后进入管理员(老师)管理界面模块。学生点击相应按钮便可进人详细基本信息查询模块:学生档案信息查询模块、课程信息查询模块、成绩信息查询模块以及奖惩信息查询模块;学生还可以进入帮助模块,查看关于此系统相关信息。
图 6-2-1 学生信息模块图
6.2.2 教师信息模块分析
此模块为学生和管理员(老师)的登录界面。学生登录成功后进入学生信息查询界面模块;管理员(老师)登录成功后进入管理员(老师)管理界面模块。老师点击相应按钮便可进人详细基本信息查询模块:课程信息查询模块、成绩信息查询模块以及奖惩信息查询模块;老师还可以进入帮助模块,查看关于此系统相关信息。
图 6-2-2 教师信息模块图
6.2.3系统管理模块分析
此模块为学生和管理员(老师)的登录界面。学生登录成功后进入学生信息查询界面模块;管理员(老师)登录成功后进入管理员(老师)管理界面模块。管理员(老师)点击相应按钮除了能进入学生信息查询界面模块还可进入详细信息管理与维护模块:用户信息管理与维护模块、学生档案信息管理与维护模块、课程信息管理与维护模块、成绩管理与维护模块以及奖惩信息查询模块;还可以进入帮助模块,查看关于此系统相关信息。
图 6-2-3系统管理模块图
6.3系统总体设计
6.3.1总体功能流程图
打印成绩单
6.3.2结构图
6.4 系统逻辑设计
6.4.1将E―R模型转换为等价的关系模式
教师(教师编号,教师姓名,教师性别,教师年龄,教师所属系);
学生(姓名,学号,性别,年龄,所属系编号);
班级(班级号,班级名称,状态,节数);
课程(课程号,课程名,课时);
学生上课(学号,课程号);
学生课程(学号,课程号,分数);
教师授课(教师编号,课程号)。
第七章 系统实现
本章主要介绍系统的具体实现。本系统采用Pascal等语言作为其开发语言,主要以Delphi 7和Microsoft Visual Studio 2010平台作为其集成开发工具。在开发过程中,我们首先设计和实现系统的界面,然后实现SQL数据库的连接,最后实现系统的核心业务逻辑。这样可以让用户最早的看见系统的界面,以便用户对系统有初步的了解并使开发人员明确系统的用户需求。
此系统主要包括“学生信息模块”、 “教师信息模块”、“ 系统管理模块”三个模块。
7.1系统主窗口实现
7.1.1 系统主窗口界面实现
图7-1系统功能主菜单
7.1.2系统界面
7.1.3 学生信息管理界面
7.1.4 教师信息管理界面
7.1.5 教师课程管理界面
7.1.6 学生成绩查询界面
7.1.7 学生成绩打印界面
7.2 SQL数据库访问实现
7.2.1 查询学生课程信息视图
SELECT dbo.student.sno, dbo.student.sn, dbo.course.cn, dbo.sc.score
FROM dbo.student INNER JOIN
dbo.sc ON dbo.student.sno = dbo.sc.sno INNER JOIN
dbo.course ON dbo.sc.cno = dbo.course.cno
7.2.2 学生课程表查询存储过程
use paike
if OBJECT_ID('pro_stuclass','p') is not null
drop procedure pro_stuclass
go
CREATE PROCEDURE pro_stuclass
@sno char(10)
AS
BEGIN
select sn,class.bno,bn,sc.cno,cn,time,finish from student,sb,sc,course,class
where student.sno=sc.sno and student.sno=sb.sno and sc.sno=sb.sno and sb.bno=class.bno
and sc.cno=course.cno and sc.sno=@sno
END
GO
7.2.3 教师课程表查询存储过程
use paike
if OBJECT_ID('pro_teaclass','p') is not null
drop procedure pro_teaclass
go
CREATE PROCEDURE pro_teaclass
@tno char(10)
AS
BEGIN
select tn,tb.bno,bn,tc.cno,cn,time,finish from teacher,tb,tc,course,class
where teacher.tno=tc.tno and teacher.tno=tb.tno and tc.tno=tb.tno and tb.bno=class.bno
and tc.cno=course.cno and teacher.tno=@tno
END
GO
7.2.4 班级课程查询存储过程
use paike
if OBJECT_ID('pro_class','p') is not null
drop procedure pro_class
go
CREATE PROCEDURE pro_class
@bno char(10)
AS
BEGIN
select bn,time,finish,tn from class,course,tb,tc,teacher
where class.bno=tb.bno and tc.cno=course.cno and teacher.tno=tb.tno and teacher.tno=tc.tno and tb.tno=tc.tno
and .class.bno=@bno
END
GO
7.2.5 成绩查询存储过程
use paike
if OBJECT_ID('pro_stuscore','p') is not null
drop procedure pro_stuscore
go
CREATE PROCEDURE pro_stuscore
@sno char(10),@cno char(10)
AS
BEGIN
select distinct student.sno 学号,sn 姓名,bn 班级,cn 课程名,score 分数 from student,sc,course,sb,class
where student.sno=sc.sno and sb.bno=class.bno and sc.cno=course.cno and student.sno=sb.sno and sc.sno=@sno and sc.cno=@cno
END
GO
7.2.6 学生表插入触发器
USE [paike]
GO
Create TRIGGER [dbo].[tri_s_insert] ON [dbo].[student] for insert
AS
declare
@sno char(10),@sn char(10),@sex char(2),@age smallint,@dept char(10)
select @sno=sno,@sn=sn,@sex=sex,@age=age,@dept=dept from inserted
第八章 系统的维护和设计
8.1系统维护测试目的
为了对本软件的安全可靠性进行验证,让用户更好的使用本软件,进而提高用户的工作效率以及能更好的对本软件做出客观公正的评价,为此本测试组对此软件做了详细的测试。本报告最终的用户是此软件的开发者以及此软件的最终维护者,为软件以后升级和修改提供参考。
注:本测试报告在系统经过较为严格测试的基础上编写。
8.2安全性要求
在这个系统中应该有三种用户:第一种是学生,这部分用户对系统中的数据只有查询的权限,没有任何修改的权限;第二种是教师。这部分用户对系统中的数据不仅有查询的权限,对有关其所涉及的课程的学生成绩还具有添加、修改、删除的功能;第三种用户是系统的管理员。他具有最高权限,可以对系统中的任何数据作任何操作。一般由学院的特定的人专门承担此任务。
8.3使用方式要求
用户在可视化的环境中使用该系统,通过用户名和口令对用户的访问(及权限)进行。此系统平均应该能满足500人同时访问系统中的数据库,最高峰应能达到平均访问量得两倍。查询响应时间不应该对于3秒。
8.4可扩充性要求
系统中的数据库可以随学院规模的变化进行动态的扩充或缩减。功能根据学院不同时期的不同要求做出适当的增删。
8.5对软件功能的评价
通过对本系统的测试,本系统完成了预定的所有功能,软件可以交付使用,但系统还需不断扩展,使之更加完善。
8.6数据库备份与恢复
为了保证数据库的正常运行要时常进行备份数据,最开始要进行一次完全备份,随着以后的使用在进行差异备份。养成经常备份的习惯,对重要数据要格外注意。注意在数据库备份时要注意,先分离数据库,在进行复制数据库,否则无法复制数据库,然后再附加数据库。
第九章 开发总结
在刘昭老师的指导下,本次的课程设计的画上了句号。通过此次《学生排课选课管理系统》的开发,使我在软件开发这一块有了质的提高,不但锻炼了自己的动手编程能力,学习了新的知识,新的技术,对系统开发的过程有了很深的了解,提高了我的自学能力还使我意识到在软件开发中与队友相互交流沟通的重要性,并更深层次的理解了面向对象的思想——简单就是美。对于此次的开发总结大致描述如下面几个方面:
9.1系统需求分析与系统框架设计认识
开发系统离不开相应的开发工具,开发工具使用的再熟练,不一定就可以开发出相当优秀的软件系统,只有做好系统需求分析,明白了客户需求的来龙去脉,才能在开发系统时有章可循,否则只是凭空想象。所以,只有与客户进行多次交流,完全了解了客户需求后才能做好需求分析,只有在此基础之上,才能大致的建立系统框架模型,并按此模型来开发相应的系统,否则在以后的软件开发过程中既影响了工作进度也会影响与客户的合作。
9.2数据库分析与设计认识
数据库设计的好坏很大程度上影响着软件的质量以及软件开发的成败。在没有真正的开发系统前,总认为数据库不是很重要,真正介入系统开发时,才发现数据库给编程带来了很多方便,它具有很多文件管理不具备的优点,例如分类查询,统计相应类型数据等,并在数据的安全性、保密性等方面更胜文件管理一筹。另外数据库设计不是随心所欲,而是同系统需求分析一样,需要做个需求分析,之后才可以具体的设计数据库。一个按照特定需求设计合理的数据库可以大大简化编程的复杂程度,反之则会增加编程的复杂程度。一个设计合理的数据库可以方便日后的维护工作,反之则会增加维护成本。
9.3自我学习与提高
由于我们在系统开发中所使用的技术是以前从来没有接触过的,我们需要从头开始一点一滴的学习、积累,然后将所学的新知识学以致用。在开发系统过程中,我们通过网络论坛、图书馆的书刊、电子期刊以及与老师的交流逐一解决掉各种各样的问题。在这个过程中,一方面不断发现自己不足,另一方面不断去学习,弥补自己错误的,或者疏漏的知识,不断提高自己。
9.4团队合作精神
在此次系统开发过程中,印象最深的就是和队友的合作了,软件开发这个东西光靠个人力量是做不好的,需要的是团队合作,如果没有相互间的协作,仅靠个人的单打独斗,这个系统的开发效率将会大大降低,每遇到困难时,相互鼓励并齐心协力共同解决。不仅增进了相互间的友谊,还在彼此的身上都学到了不少新的知识,大大提高了学习新知识的效率。由此也显示出了团队精神在软件开发中的重要性。
9.5不足和提高
从此课程设计的过程中,使我充分认识到了一个道理:“好事多磨”,就是说做任何事之前一定要把要做的事规划好,对可能出现的问题预先作好解决的方案。
在做设计之前,我对学生排课系统的认识只是停留在表面,缺乏本质和深入地研究调查,以至与在着手设计的过程中,各种意想不到的困难接踵而至。面对种种困难而又不知道怎样解决,无从下手的我后来重新对此次的设计做了认真细致的规划和调查,重新做了全面的分析,不断完善系统说明书。这使我在以后的设计之中作到了事半功倍的效果,整个设计流程清晰明了。
当然,在此次的设计中最大的困难就是经常由于一些小错误而花费大量时间。人们常说:“办法总比困难多”,通过查阅大量相关资料,与老师和同学的不断交流使我对数据库有了较详细的认识,并能进行一些工作量不是很大的开发。
其实,这次设计的收获不仅仅是学会了设计数据库,我觉得这样的过程相当重要,相当有意义,最大的收获就是对我这些年大学学习的总结和培养了解决困难的信心和能力,使我对这些年所学知识能够融会贯通,又不断丰富了新知识。正像老师说的一样,设计使得我们对几年来所学的专业课有了更为深刻的认识,使得知识得到了巩固和提高,得到了比以往学习任何一门课程都大的提高和进步。这里也要特别感谢指导老师的帮助和支持,以及在这过程中给予帮助的同学和朋友。此次设计是一次难得的锻炼机会。
这些是我对这次设计的最终感想。由于本人水平有限,错误在所难免,设计过程中有许多不敬如人意的地方。我想,这也是在以后的学习和工作中激励我不断学习,不断前进的动力。老师认真负责的工作态度、严谨的治学风格,使我深受启发;和同学们之间的相互探讨也使我获益匪浅。我除基本学会开发数据库外,更重要的是学到了兢兢业业,奋发向上的精神,这种精神是我今后人生前进道路上的一种力量。
参考文献
[1] 王珊. 数据库系统概论[D] 高等教育出版社,2007,35(6):1961-1962.
[2]梁锦秀 SQL Server 2005 上机实验指导[D]. 清华大学出版社,2009(7):155-157.
[3]闫飞燕 Delphi数据库工程实验指导[D].广西农业科学,2006(4):337-41.
[4]乔建 管理信息系统[D].山西农业科学,2010,38(7):104-107.
[5]明博 系统的设计与实现.玉米科学[J].2009,17(6):132-135
[6]王庆雷 系统的建立与应用[J].世界农业,2003(7) :47-48.
[7]刘书华,曹克强,邝朴生 系统开发实例[J].河北农业大学学报,1999(1):71-72
[8]刘大有,唐海鹰 .系统的研制与应用[J].江西农业大学学报 ,2003,25(4):498- 500.
[9]高灵旺,沈佐锐,李志红.计算机软件技术的发展与植保应用软件开发[J].农业工程学报,2000,16(2):32-35.下载本文