资源描述
网上选课系统总体设计说明书
17
2020年4月19日
文档仅供参考
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
小明
/5/9
V1.0.1
小黄
/5/13
2.总体设计
2.1总体结构设计
总体结构示意图:
图2-1 总体结构示意图
2.2运行环境设计
该软件系统的运行环境:
硬件平台:
最低配置:奔腾4处理器、512内存、60G硬盘。
建议配置:奔腾双核T4400 2.2GHZ及其以上 2G内存、320G硬盘
外设的要求:键盘、鼠标、显示器。
软件平台:
A:windows 98 以上的操作系统
B:Myeclipse 和 pl/sql
C:Microsoft office
网络平台:
通信协议、通信带宽。
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
实现对课程的修改,删除,查看某个课程的详细信息,对学生和教师信息的添加、修改,删除操作,对课程的添加,添加时为其分配任课教师,上课时间和地点
数据结构封装标准、VISUAL C++ 标准、SQL标准
M1-4
public
实现用户的身份验证,密码修改,退出系统等功能
数据结构封装标准、SQL标准
3.2公用模块功能分配
表3-2 公用模块功能分配
公用模块编号
模块英文名
模块详细功能分配
模块接口标准
G-1
authentication
对用户登入进行身份验证匹配
数据结构封装标准、SQL标准
G-2
Password change
用户自定义密码进行修改
SQL标准
G-3
Log out
注销退出并提示是否退出系统
SQL标准
4.数据结构设计
4.1数据库表名清单
表4-1 数据库表名清单
序号
中文表名
英文表名
表功能说明
1
管理员表
Users
用于定义登录系统的管理员,只有获得权限的管理员才能登录
2
用户表
Depart
用于学生、教师的登录信息,只有注册的学生才能登录系统选课
3
选课表
Elect
用于定义学生所选的课程,能够存储学生选择的所有课程
4
学生表
Student
用于存储学生的基本信息
5
教师表
Teacher
用于存储教师的基本信息
6
课程表
Cource
存储所有开设课程的基本信息
4.2数据库表之间关系说明
教师
任教
选修
学生
课程
职工号
所在系
姓名
电话
学号
级别
专业
所在系
姓名
电话
时间
课程号
课程名
类别
地点
人数
成绩
图4-1 E-R图
4.3数据库表的详细清单
表4-2 Student学生用户表
序号
字段中文名
字段英文名
类型、宽度、精度
取值约束
空否
默认值
主键/外键
索引否
1
学生学号
stuID
nvarchar(20)not null
默认值
否
关键字
2
学生密码
stuPwd
nvarchar(20)not null
默认值
否
3
学生姓名
stuName
nvarchar(20)not null
默认值
否
4
学生系院号
stuDepart
Int
默认值
否
5
学生年级
stuGrade
int
默认值
否
6
学生班级
stuClass
int
默认值
否
表4-3 Teacher教师用户表
序号
字段中文名
字段英文名
类型、宽度、精度
取值约束
空否
默认值
主键/外键
索引否
1
教师编号
teaID
nvarchar(20)not null
默认值
否
关键字
2
教师密码
teaPwd
nvarchar(20)not null
默认值
否
3
教师姓名
teaName
nvarchar(100)not null
默认值
否
4
教师系院号
teaDepart
Int(4)
默认值
否
表4-4 Cource课程信息表
序号
字段中文名
字段英文名
类型、宽度、精度
取值约束
空否
默认值
主键/外键
索引否
1
课程编号
courseID
nvarchar(20)not null
默认值
否
关键字
2
教师编号
teaID
nvarchar(20)not null
默认值
否
关键字
3
课程名称
courseName
nvarchar(100) not null
默认值
否
4
上课时间
courseTime
nvarchar(20)
默认值
否
5
上课地点
courseAddress
nvarchar(50)
默认值
否
6
课程简介
courseInfo
Text
默认值
是
表4-5 Elect选课信息表
序号
字段中文名
字段英文名
类型、宽度、精度
取值约束
空否
默认值
主键/外键
索引否
1
学生学号
stuID
nvarchar(20)not null
默认值
否
关键字
2
课程编号
courseID
nvarchar(20)not null
默认值
否
关键字
3
教师编号
teaID
nvarchar(20)not null
默认值
否
关键字
4
课程成绩
Score
int
默认值
否
表4-6 Users管理员表
序号
字段中文名
字段英文名
类型、宽度、精度
取值约束
空否
默认值
主键/外键
索引否
1
系统管理员用户名
adminName
nvarchar(20)not null
默认值
否
关键字
2
系统管理员密码
adminPwd
nvarchar(20)
默认值
否
表4-7 depart表
序号
字段中文名
字段英文名
类型、宽度、精度
取值约束
空否
默认值
主键/外键
索引否
1
系院号
departID
Int not null
默认值
否
关键字
2
系院名称
departName
nvarchar(100)
默认值
否
4.4视图设计
表4-8 学生信息视图
中文名
英文名
中文列名
英文列名
类型、宽度、精度
对应的表
学生信息
Student
学号、密码、系院号、年级、班级
stuID,stuPwd,stuName,stuDepart,stuGrade,stuClass
nvarchar(20)not null
Student
算法:USE 学生信息 GO CREATE VIEW view _Student AS SELECT stuName AS 姓名,stuPwd AS 密码,stuID AS 学号,stuDepart AS 系院号,stuGrade AS 年级,stuClass AS 班级 FROM Student
表4-9 教师信息视图
中文名
英文名
中文列名
英文列名
类型、宽度、精度
对应的表
教师信息
Teacher
编号、密码、姓名、院系号
TeaID,teaPwd,teaName,teaDepart
nvarchar(20)not null
Teacher
算法:USE 教师信息 GO CREATE VIEW view _Teacher AS SELECT teaID AS 编号,teaPwd AS 密码,teaName AS 姓名,teaDepart AS 系院号 FROM Teacher
表4-10 课程信息视图
中文名
英文名
中文列名
英文列名
类型、宽度、精度
对应的表
课程信息
Cource
课程编号,教师编号,课程名称,上课时间,上课地点,课程简介
courseID,teaID,courseName,courseTime,courseAddress,courseInfo
nvarchar(20)not null
Cource
算法:USE 课程信息 GO CREATE VIEW view _Cource AS SELECT CourceID AS 课程编号,teaID AS 教师编号,courseName AS 课程名称,courseTime AS 上课时间,courseAddress AS 上课地点,courseInfo AS 课程简介 FROM Cource
4.5其它数据结构设计
开始
输入用户名、密码
验证用户名、密码
提示用户登录失败
进入相应的用户页面
选择相关管理操作
安全退出系统
验证正确
结束
是
否
图4-2系统登入流程图
开始
输入用户旧密码、新密码
验证用户密码是否合法
输入不合法,重新输入
修改用户密码
提示修改成功
是否合法?
结束
是
否
图4-3用户密码修改流程图
开始
点击成绩提交
填写学生成绩
提示已提交,不能再提交
点击提交
提交成绩,并提示成功
检查是否已提交过
确认提交?
结束
是
否
否
是
图4-4教师提交成绩流程图
开始
退出
转到添加课程
填写课程信息
点击添加
填写编号
提示重新填写编号
添加课程
提示添加成功
课程编号是否重复?
否
是
图4-5管理员添加课程流程图
开始
结束
点击选修
选修成功
更新选、退课课表
提示时间冲突,不能选修
上课时间冲突
继续选课?
是
否
是
否
图4-6学生选修课程流程图
5.接口设计
5.1外部接口
用户界面
在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,而且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化,考虑到用户多对WINDOW 风格较熟悉,应尽量向这一方向靠拢。在设计语言上,已决定使用 MS VISUAL C++ 进行编程,在界面上可使用VISUAL C++ 所提供的可视化组件,向WINDOWS 风格靠近。 其中服务器程序界面要做到操作简单,易于管理。在设计上采用下拉式菜单方式,在出错显示上可调用VISUAL C++ 库中的错误提示函数。
总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用。
5.2软件接口
服务器程序可使用VISUAL C++ 提供的对 SQL SERVER 的接口,进行对数据库的所有访问。
服务器程序上可使用SQL SERVER 的对数据库的备分命令,以做到对数据的保存。
在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收。
5.3硬件接口
在输入方面,对于键盘、鼠标的输入,可用VISUAL C++的标准输入/输出,对输入进行处理。
在输出方面,打印机的连接及使用,也可用VISUAL C++的标准输入/输出对其进行处理。在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。
5.4内部接口
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
6.其它设计
6.1安全保密设计
由于数据的传输上需要经过网络传输,为了客户资料进行保密,需要在网络的传输过程中对数据进行加密。
这个工作主要是在准备网络包,及解开网络包这两个模块完成,它们各对数据进行加密及解密还原工作。
6.2维护设计
维护方面主要为对服务器上的数据库数据进行维护。可使用 SQL SERVER 的数据库维护功能机制。例如,定期为数据库进行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
VISUAL C++ 标准
getRequestURL
System.exit(0)
50hz
覆盖
2
软件接口
适用于Windows
SQL标准
getRequestURL
System.exit(0)
50hz
覆盖
3
内部接口
适用于Windows
数据结构封装标准
getRequestURL
System.exit(0)
50hz
覆盖
展开阅读全文