网上选课系统总体设计说明书.docx
《网上选课系统总体设计说明书.docx》由会员分享,可在线阅读,更多相关《网上选课系统总体设计说明书.docx(20页珍藏版)》请在冰豆网上搜索。
网上选课系统总体设计说明书
1.导言
1.1目的
目的旨在推动软件的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性和全面性,以利于系统的实现、测试、维护、版本升级等。
1.2范围
软件设计总体结构设计、全局数据库和数据结构设计、外部接口设计、主要部件功能分配设计、部件之间的接口设计等方面的内容。
1.3命名规则
变量对象命名规则:
申明全局变量、局部变量对象的命名规则。
数据库对象命名规则:
申明数据库表名、字段名、索引名、视图名等对象的命名规则。
1.4术语定义
表1-1术语定义或解释表
序号
术语名称
术语定义
1
总体结构
软件设计的总体逻辑结构。
按照不同的设计方法,有不同的总体逻辑结构。
2
外部接口
本软件系统与其他软件系统之间的接口,接口设施可以是中间件。
接口描述包括:
传输方式、带宽、数据结构、传输频率、传输量、传输协议。
3
数据结构
数据结构包括:
数据库表的结构、其他数据结构等
4
概念数据模型
关系数据库的逻辑设计模型,叫做概念数据模型。
主要包括一张逻辑E-R图及其相应的数据字典。
5
物理数据模型
关系数据库的物理设计模型,叫做物理数据模型。
主要内容包括一张物理表关系图及其相应的数据字典。
6
视图
在基表或其他视图之上建立的一张虚表,叫做视图,它具有物理表的许多性质,在数据处理和授权上很有用。
7
角色
数据库只能够享有某些特权操作的用户,叫做角色。
角色的权利通过授权来实现。
8
子系统
具有相对独立功能的小系统叫做子系统。
一个大的软件系统可以划分为多个子系统,每个子系统可由多个模块和多个部件组成。
9
模块
具有功能独立、能被调用的信息单元叫做模块。
模块是结构化设计中的概念。
10
内部接口
软件系统内部各子系统之间、个部件之间、各模板之间的接口,叫做内部接口。
接口描述包括:
调用方式、入口信息、出口信息等。
11
相关文件
相关文件是指当本文件内容变更后,可能引起变更的其他文件。
如需求分析报告、详细设计说明书、测试计划、用户手册。
12
参考资料
参考资料是指本文件书写时用到的其他资料,如各种相关规范、模板、标准、准则。
1.5参考资料
[1]用户需求报告
[2]软件开发合同
[3]数据库设计规范
[4]命名规范
1.6相关文档
[1]《详细设计说明书》
[2]源程序清单
[3]测试计划及报告
[4]《用户使用手册》
1.7版本更新记录
表1-2版本更新记录
版本号
创建者
创建日期
维护者
维护日期
维护记录
V1.0
小明
2016/5/9
V1.0.1
小黄
2016/5/13
2.总体设计
2.1总体结构设计
总体结构示意图:
图2-1总体结构示意图
2.2运行环境设计
该软件系统的运行环境:
硬件平台:
最低配置:
奔腾4处理器、512内存、60G硬盘。
建议配置:
奔腾双核T44002.2GHZ及其以上2G内存、320G硬盘
外设的要求:
键盘、鼠标、显示器。
软件平台:
A:
windows98以上的操作系统
B:
Myeclipse和pl/sql
C:
Microsoftoffice2000
网络平台:
通信协议、通信带宽。
2.3子系统清单
表2-1子系统清单
子系统编号
子系统英文名
子系统功能描述
子系统之间的关系
SS1
Students
查询、选择课程,查询成绩
学生与教师采用多对多关系
SS2
teacher
发布课程,查询课程所有的学生,发布成绩
教师与学生采用一对多关系
SS3
administrator
管理学生、教师、课程的信息
管理员调节学生与教师
2.4功能模块清单
表2-2功能模块清单
模块编号
模块英文名
模块功能简述
模块的接口简述
M1-1
Students
查询、选择课程,查询成绩
功能调用
M1-2
teacher
发布课程,查询课程所有的学生,发布成绩
功能调用
M1-3
administrator
管理学生、教师、课程的信息
功能调用
M1-4
public
实现用户的身份验证,密码修改,退出系统等功能
功能调用
3.模块功能分配
3.1专用模块功能分配
表3-1专用功能模块分配
专用模块编号
模块英文名
模块详细功能分配
模块接口标准
M1-1
Students
实现学生选课,查看所选课程,修改自己的选课信息
数据结构封装标准、SQL标准
M1-1
teacher
实现查看自己所教授的课程,课程有哪些学生选修,以及利用本系统提交学生的成绩
数据结构封装标准、SQL标准
M1-1
administrator
实现对课程的修改,删除,查看某个课程的详细信息,对学生和教师信息的添加、修改,删除操作,对课程的添加,添加时为其分配任课教师,上课时间和地点
数据结构封装标准、VISUALC++标准、SQL标准
M1-4
public
实现用户的身份验证,密码修改,退出系统等功能
数据结构封装标准、SQL标准
3.2公用模块功能分配
表3-2公用模块功能分配
公用模块编号
模块英文名
模块详细功能分配
模块接口标准
G-1
authentication
对用户登入进行身份验证匹配
数据结构封装标准、SQL标准
G-2
Passwordchange
用户自定义密码进行修改
SQL标准
G-3
Logout
注销退出并提示是否退出系统
SQL标准
4.数据结构设计
4.1数据库表名清单
表4-1数据库表名清单
序号
中文表名
英文表名
表功能说明
1
管理员表
Users
用于定义登录系统的管理员,只有获得权限的管理员才能登录
2
用户表
Depart
用于学生、教师的登录信息,只有注册的学生才能登录系统选课
3
选课表
Elect
用于定义学生所选的课程,可以存储学生选择的所有课程
4
学生表
Student
用于存储学生的基本信息
5
教师表
Teacher
用于存储教师的基本信息
6
课程表
Cource
存储所有开设课程的基本信息
4.2数据库表之间关系说明
教师
任教
选修
学生
课程
职工号
所在系
姓名
电话
学号
级别
专业
所在系
姓名
电话
时间
课程号
课程名
类别
地点
人数
成绩
图4-1E-R图
4.3数据库表的详细清单
表4-2Student学生用户表
序号
字段中文名
字段英文名
类型、宽度、精度
取值约束
空否
默认值
主键/外键
索引否
1
学生学号
stuID
nvarchar(20)notnull
默认值
否
关键字
2
学生密码
stuPwd
nvarchar(20)notnull
默认值
否
3
学生姓名
stuName
nvarchar(20)notnull
默认值
否
4
学生系院号
stuDepart
Int
默认值
否
5
学生年级
stuGrade
int
默认值
否
6
学生班级
stuClass
int
默认值
否
表4-3Teacher教师用户表
序号
字段中文名
字段英文名
类型、宽度、精度
取值约束
空否
默认值
主键/外键
索引否
1
教师编号
teaID
nvarchar(20)notnull
默认值
否
关键字
2
教师密码
teaPwd
nvarchar(20)notnull
默认值
否
3
教师姓名
teaName
nvarchar(100)notnull
默认值
否
4
教师系院号
teaDepart
Int(4)
默认值
否
表4-4Cource课程信息表
序号
字段中文名
字段英文名
类型、宽度、精度
取值约束
空否
默认值
主键/外键
索引否
1
课程编号
courseID
nvarchar(20)notnull
默认值
否
关键字
2
教师编号
teaID
nvarchar(20)notnull
默认值
否
关键字
3
课程名称
courseName
nvarchar(100)notnull
默认值
否
4
上课时间
courseTime
nvarchar(20)
默认值
否
5
上课地点
courseAddress
nvarchar(50)
默认值
否
6
课程简介
courseInfo
Text
默认值
是
表4-5Elect选课信息表
序号
字段中文名
字段英文名
类型、宽度、精度
取值约束
空否
默认值
主键/外键
索引否
1
学生学号
stuID
nvarchar(20)notnull
默认值
否
关键字
2
课程编号
courseID
nvarchar(20)notnull
默认值
否
关键字
3
教师编号
teaID
nvarchar(20)notnull
默认值
否
关键字
4
课程成绩
Score
int
默认值
否
表4-6Users管理员表
序号
字段中文名
字段英文名
类型、宽度、精度
取值约束
空否
默认值
主键/外键
索引否
1
系统管理员用户名
adminName
nvarchar(20)notnull
默认值
否
关键字
2
系统管理员密码
adminPwd
nvarchar(20)
默认值
否
表4-7depart表
序号
字段中文名
字段英文名
类型、宽度、精度
取值约束
空否
默认值
主键/外键
索引否
1
系院号
departID
Intnotnull
默认值
否
关键字
2
系院名称
departName
nvarchar(100)
默认值
否
4.4视图设计
表4-8学生信息视图
中文名
英文名
中文列名
英文列名
类型、宽度、精度
对应的表
学生信息
Student
学号、密码、系院号、年级、班级
stuID,stuPwd,stuName,stuDepart,stuGrade,stuClass
nvarchar(20)notnull
Student
算法:
USE学生信息GOCREATEVIEWview_StudentASSELECTstuNameAS,stuPwdAS密码,stuIDAS学号,stuDepartAS系院号,stuGradeAS年级,stuClassAS班级FROMStudent
表4-9教师信息视图
中文名
英文名
中文列名
英文列名
类型、宽度、精度
对应的表
教师信息
Teacher
编号、密码、、院系号
TeaID,teaPwd,teaName,teaDepart
nvarchar(20)notnull
Teacher
算法:
USE教师信息GOCREATEVIEWview_TeacherASSELECTteaIDAS编号,teaPwdAS密码,teaNameAS,teaDepartAS系院号FROMTeacher
表4-10课程信息视图
中文名
英文名
中文列名
英文列名
类型、宽度、精度
对应的表
课程信息
Cource
课程编号,教师编号,课程名称,上课时间,上课地点,课程简介
courseID,teaID,courseName,courseTime,courseAddress,courseInfo
nvarchar(20)notnull
Cource
算法:
USE课程信息GOCREATEVIEWview_CourceASSELECTCourceIDAS课程编号,teaIDAS教师编号,courseNameAS课程名称,courseTimeAS上课时间,courseAddressAS上课地点,courseInfoAS课程简介FROMCource
4.5其他数据结构设计
图4-2系统登入流程图
图4-3用户密码修改流程图
开始
点击成绩提交
填写学生成绩
提示已提交,不能再提交
点击提交
提交成绩,并提示成功
检查是否已提交过
确认提交?
结束
是
否
否
是
图4-4教师提交成绩流程图
图4-5管理员添加课程流程图
图4-6学生选修课程流程图
5.接口设计
5.1外部接口
用户界面
在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。
在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。
外观上也要做到合理化,考虑到用户多对WINDOW风格较熟悉,应尽量向这一方向靠拢。
在设计语言上,已决定使用MSVISUALC++进行编程,在界面上可使用VISUALC++所提供的可视化组件,向WINDOWS风格靠近。
其中服务器程序界面要做到操作简单,易于管理。
在设计上采用下拉式菜单方式,在出错显示上可调用VISUALC++库中的错误提示函数。
总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用。
5.2软件接口
服务器程序可使用VISUALC++提供的对SQLSERVER的接口,进行对数据库的所有访问。
服务器程序上可使用SQLSERVER的对数据库的备分命令,以做到对数据的保存。
在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收。
5.3硬件接口
在输入方面,对于键盘、鼠标的输入,可用VISUALC++的标准输入/输出,对输入进行处理。
在输出方面,打印机的连接及使用,也可用VISUALC++的标准输入/输出对其进行处理。
在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。
5.4内部接口
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。
具体参数的结构将在下面数据结构设计的内容中说明。
接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
6.其他设计
6.1安全保密设计
由于数据的传输上需要通过网络传输,为了客户资料进行保密,需要在网络的传输过程中对数据进行加密。
这个工作主要是在准备网络包,及解开网络包这两个模块完成,它们各对数据进行加密及解密还原工作。
6.2维护设计
维护方面主要为对服务器上的数据库数据进行维护。
可使用SQLSERVER的数据库维护功能机制。
例如,定期为数据库进行Backup,维护管理数据库死锁问题和维护数据库内数据的一致性等。
7.设计检查列表
7.1功能设计检查列表
表7-1功能设计检查列表
编号
功能名称
使用部门
使用岗位
功能描述
输入内容
系统响应
输出内容
是否覆盖
1
登入和注销
所有
学生、教师、管理员
帐号登录、注销后可以重新登录系统。
账号和密码
快
登入成功、登入失败
覆盖
2
修改密码
所有
学生、教师、管理员
修改用户的密码
新的密码
快
密码修改成功
覆盖
3
录入信息
管理
管理员
记录学生和教师的信息
学生和教师的信息
快
录入成功
覆盖
4
发布课程
管理
管理员
公布课程的时间、地点、人数
课程的时间、地点、人数
快
公布成功
覆盖
5
选课
学生
学生
选课所需的课程
课程名称
快
选课成功、选课失败
覆盖
6
查询
学生、教师
学生、教师
查询所选的课程
账号密码
快
所选的课程名称
覆盖
7
删除
管理
管理员
删除多余的信息、课程
所要删除的信息
快
删除成功
覆盖
7.2性能设计检查列表
表7-2性能设计检查列表
编号
性能名称
使用部门
使用岗位
性能描述
输入内容
系统响应
输出内容
是否覆盖
1
数据库的保存
管理
管理员
保存所需的学生、教师、课程的信息
录入学生、教师、课程的信息
快
数据库已保存
覆盖
2
选课时间
学生
学生
选择课程时间快
所选课程
快
选课成功
覆盖
3
运行控制
所有
学生、教师、管理员
根据用户的身份赋予权限
用户的账号密码
快
用户所能使用的功能
覆盖
7.3接口设计检查列表
表7-3接口设计检查列表
编号
接口名称
接口规范
接口标准
入口参数
出口参数
传输频率
是否覆盖
1
外部接口
适用于Windows
VISUALC++标准
getRequestURL
System.exit(0)
50hz
覆盖
2
软件接口
适用于Windows
SQL标准
getRequestURL
System.exit(0)
50hz
覆盖
3
内部接口
适用于Windows
数据结构封装标准
getRequestURL
System.exit(0)
50hz
覆盖