设计报告
专业 软件工程
年级 2006
姓名 金国平
学号 0627403031
指导老师 鲁逊
同组人员 李良友 陈佳乐
实验室 理工楼4楼
使用日期 2009-11
苏州大学计算机科学与技术学院统一印制
二零零九年11月
目 录
1. 引言 2
1.1编写目的 2
1.2背景 2
1.3参考资料 2
2. 系统总体结构设计 2
3. 系统静态建模 4
4. 系统动态建模 5
4.1 时序图 5
4.1.1 登录: 5
4.1.2 发布课程: 5
4.1.3 删除课程: 6
4.1.4 修改课程信息: 7
4.1.5 选课: 8
4.1.6 退选: 9
4.1.7 调整选课结果: 10
4.1.8 查看本人已发布课程: 10
4.1.9 查看所有课程信息 11
4.1.10 查询选课情况: 12
4.2 状态转换图 12
4.3 活动图 13
4.3.1 选课 13
4.3.2 修改课程信息 14
4.3.3 调整选课结果 15
4.3.4 生成报表 16
5. 数据库系统设计 18
6. 关键技术 19
6.1 提高查询速度 19
6.2 系统安全 19
6.3 数据一致及安全 19
7. 系统配置 19
7.1 硬件和网络配置 19
7.2 数据库和软件配置 19
高校选课系统设计说明书
1.引言
1.1编写目的
选课管理是高校管理的一个重要方面。通过对需求的调查,我们在上一阶段已经完成了对此系统的需求分析工作,并编写了需求规格说明书。此设计说明书是在需求分析的基础上,经设计编写而成。通过对需求的分析和需求说明书的仔细思考,此设计说明书提供了高校管理系统的设计说明。此文档可供设计人员和开发人员参考,更加详细的设计亦可在此文档的基础上完成。
1.2背景
本项目开发的系统为高校选课系统。此系统面向高校,实现对选课的网上、便捷管理。本项目建立在对高校选课管理的市场需求分析的基础上,由李良友、金国平和陈佳乐同学合作开发。此系统的用户为高校,实现选课管理。
1.3参考资料
1、成嘉 《面向对象技术导论——系统分析与设计》机械工业出版社 2008年2月第一版
2、成嘉、奕 《UML系统建模与分析设计——课程设计》机械工业出版社2008年1月第一版
3、高校选课系统需求规格说明书
2.系统总体结构设计
系统采用B/S结构:
用户通过浏览器访问系统。系统分为三层结构:客户端、web应用服务器和数据库服务器。数据库服务器存有系统的数据,并提供一定的数据访问接口。客户端浏览器通过web应用服务器访问数据库,保证了系统的安全性。
图1 系统结构图
系统包图:
图2 系统包图
高校选课系统与依赖于教务系统提供教师和学生信息。同时此系统划分为三个子系统:课程管理子系统、选课管理子系统和参数设置子系统。选课管理子系统依赖于课程管理子系统和参数设置子系统。课程管理子系统依赖于参数设置子系统。因为符合参数时课程才可发布和选择。
3.系统静态建模
图3 系统类结构图
此系统涉及到六个类:学生类、教师类、课程类、选课类、课程管理器类和选课管理器类。学生类、教师类说明参照需求文档,其他类说明如下:
课程类:
功能:存储管理课程信息
属性:
课程名称:简单的描述了课程内容
课程编号:课程的唯一标识
教师编号:课程讲师的编号
上课时间:课程具体的上课时间
操作:
增加课程信息:将新的课程增加到系统中
删除课程信息:根据课程编号删除某一课程
修改课程信息:修改某一课程的信息
选课类:
功能:存储并管理选课信息
属性:
学生学号:选择此课程的学生学号
课程编号:此课程的课程编号
操作:
增加选课信息:将新的选课增加到系统中
删除选课信息:从系统中删除某一选课
修改选课信息:修改某一选课的信息
4.系统动态建模
4.1 时序图
时序图描述了对象间交互的过程,这些交互实现了一些系统功能。此系统包含多个用例(参照需求分析文档),现对用例功能的实现过程用时序图反映出来。
4.1.1 登录:
用户代表教师、学生和管理员。
交互:
1、用户通过界面管理器登录系统
2、系统与教务系统交互验证登录信息,取得返回消息,反馈给用户。
图4 登录时序图
4.1.2 发布课程:
交互:
1、教师通过界面管理器添加课程
2、界面管理器创建新的课程对象
3、界面管理器调用课程对象的add方法
4、课程对象通过数据库接口将新对象加入到数据库中
5、消息返回给教师
图5 发布课程时序图
4.1.3 删除课程:
交互:
1、教师通过界面管理器删除课程
2、界面管理器直接通过数据库接口将数据库中的信息删除
3、返回消息给教师
图6 删除课程时序图
4.1.4 修改课程信息:
交互:
1、教师通过界面管理器修改信息
2、界面管理器创建新的课程对象
3、课程对象从数据库中取得初始化信息
4、界面管理器调用课程对象的modify方法
5、课程对象修改数据库中的信息
6、教师取得返回消息
图7 修改课程信息时序图
4.1.5 选课:
交互:
1、学生通过面管理器选择课程
2、界面管理器创建信息的选课对象
3、界面管理器调用选课对象的add方法
4、选课对象通过数据库接口将信息添加到数据库中
5、学生取得返回信息
图8 选课时序图
4.1.6 退选:
交互:
1、学生通过界面管理器发出退选命令
2、界面管理器通过数据库接口将选课信息从数据库中删除
3、学生看到返回消息
图9 退选时序图
4.1.7 调整选课结果:
交互:
1、管理员发出调整命令
2、选课管理器创建新的选课对象
3、选课对象从数据库中取得要调整的选课原始信息
4、选课管理器命令选课对象调整信息
5、选课对象修改数据库中的信息
6、管理员看到调整结果
图10 调整选课结果时序图
4.1.8 查看本人已发布课程:
交互:
1、教师发出查看发布课程命令
2、界面管理器通过数据库接口取得课程信息
3、教师看到课程信息
图11 查看本人已发布课程时序图
4.1.9 查看所有课程信息
用户代表学生、教师和管理员
交互:
1、用户发出查看命令
2、界面管理器从数据库中取得所有课程信息
3、用户看到课程信息
图12 查看所有课程信息时序图
4.1.10 查询选课情况:
系统存在多种查询方式,只是查询条件不同,此处的时序图具有通用性。
交互:
1、用户发出查看命令
2、界面管理器从数据库中取得信息,返回给用户
3、用户看到反馈信息
图13 查询选课情况时序图
4.2 状态转换图
状态转换图描述了对象从一个状态到另一个状态的控制流。
此状态转换图描述了课程的不同状态。
图14 课程状态转换图
状态0:“起始”状态
(1)状态:伪状态
(2)发生事件:无
(3)状态迁移:状态自动迁移,进入状态1
状态1:“新建”状态
(1)状态:新课程发布
(2)发生事件:1、到达选课日期
(3)状态迁移:1、根据事件1指令,状态发生迁移,进入到状态2
2、自动迁移到状态3
状态2:“可选”状态
(1)状态:学生可以选课
(2)发生事件:选课期限到
(3)状态迁移:事件发生,迁移到状态4
状态3:“查看”状态
(1)状态:课程可被查看
(2)发生事件:1、到达选课日期;2、期限到
(3)状态迁移:事件1发生时,状态自迁移和迁移到状态2;事件2发生时,迁移到状态4
状态4:“销毁”状态
(1)状态:课程无法进行查看和选取
(2)发生事件:无
(3)状态迁移:自动迁移到状态5
状态5:“结束”状态
(1)状态:伪状态
(2)发生事件:无
(3)状态迁移:无
4.3 活动图
下面的活动图从用户的角度描述了操作的流程。其中每个活动又包含若干子活动,考虑到活动较简单,且时序图中对子活动也进行了一定的说明,此处省略。
4.3.1 选课
用户登录,如果登录失败则选课结束,允许用户重新登录。
判断是否允许选课,条件:在选课期限内,学生可以选课且未达到选课数量。
学生查看课程后,进行选课。
选择成功,则结束。否则允许学生重新选择。
图15 选课活动图
4.3.2 修改课程信息
课程信息的修改由教师完成。登录后的验证满足查看条件。在修改之前,需要进行身份验证和条件验证,教师修改课程信息后,点击保存,如果修改成功,则结束。否则允许重新修改保存。
图16 修改课程信息活动图
4.3.3 调整选课结果
管理员成功登录后,查看选课情况,选择要调整的选课,进行调整。
图17 调整选课结果活动图
4.3.4 生成报表
管理员查询到报表内容后,生成报表。
图18 生成报表活动图
4.3.5 发布课程
教师登录后,选择发布课程,填写课程信息,并发布。可继续。
5.数据库系统设计
数据库关系图:
图19 数据库关系图
其中,teacher表为教师表,参照教务系统的数据库设计;student表为学生信息表,参照教务系统的数据库设计;成绩和历史信息存放在教务系统。
数据库表定义:
course表(课程表)
名称 | 类型 | 约束 | 备注 |
NO. | nchar(10) | 主键 | 课程编号 |
name | nchar(10) | 不为空 | 课程名称 |
time | datetime | 不为空 | 上课时间 |
point | int | >0,不为空 | 课程学时 |
content | text | 不为空 | 课程内容 |
techno. | nchar(10) | 不为空,外键(teacher.NO.) | 讲师编号 |
名称 | 类型 | 约束 | 备注 |
courseNO. | nchar(10) | 主键中的属性,外键(course.NO.) | 课程编号 |
stuNO. | nchar(10) | 主键中的属性,外键(studentNO.) | 学生学号 |
time | datetime | 不为空 | 报名时间 |
6.1 提高查询速度
基于要处理的数据量,为了提高系统的查询速度,在数据库表中需要建立相应的索引,同时使用存储过程、触发器、视图等技术帮助进行有效快速方便的处理。
6.2 系统安全
为了有效地保护数据,使用此系统时需要用户登陆,进行严格的身份验证。
6.3 数据一致及安全
数据存储与数据访问相分离,同时对数据的访问加上了安全验证,有效地保护了数据的安全。通过系统备份,事务处理等技术保护数据和保证数据的一致性。
7.系统配置
7.1 硬件和网络配置
运行该软件推荐配置:
CPU:Intel Pentium3 1.2 GHz 或更高
存储空间:320GB
内存:256MB 或更高
有良好的网络环境
7.2 数据库和软件配置
操作系统:Windows XP
数据库系统:Microsoft SQL Server 2000
编译程序:Microsoft visual studio 2005
测试软件:rational suit