一个软件工程设计示例3详细设计说明书分解.docx
《一个软件工程设计示例3详细设计说明书分解.docx》由会员分享,可在线阅读,更多相关《一个软件工程设计示例3详细设计说明书分解.docx(28页珍藏版)》请在冰点文库上搜索。
一个软件工程设计示例3详细设计说明书分解
密级:
文档编号:
第版
分册名称:
第册/共册
校级(公共课)学生成绩管理系统
详细设计说明书
1.00版
中南大学(某专业某年级某人)
总页数
正文
附录
生效日期:
编制:
审核:
批准:
详细设计说明书
4.1外部接口...........................................................................................................................22
1.引言
1.1编写目的
为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。
本文档供项目经理、设计人员、开发人员参考。
1.2项目背景
a.项目的委托单位:
中南大学
开发单位:
李明
主管部门:
中南大学信息学院
b.该软件系统与其他
1.本软件系统的名称:
校级(公共课)学生成绩管理系统
2.该软件系统同其他系统或其他机构的基本的相互来往关系:
该系统基于IE浏览器,版本为6.0及以上,支持windows系列平台。
1.3定义
定义关键词如下:
HTTP——HyperTextTransferProtocol.(超文本传输协议)
IIS——Internet信息服务.
HTML——HyperTextMarkupLanguage(超文本标记语言).
ASP——ActiveServerPages
ODBC——开放数据库连接
ADO――活动存储对象
IPO——input&process&output(输入、处理、输出)
CGI――CommonGateWayinterface(公用网关接口技术)
1.4参考资料
GB/T11457:
软件工程术语
GB/T8566—1995:
计算机软件开发规范
GB8567:
计算机软件产品开发文件编制指南
国简标准-软件
2.总体设计
2.1需求概述
校级(公共课)学生成绩管理系统分3个模块:
数据库模块、成绩录入模块和统计打印模块。
数据库模块需要实现如建库、增加、插入、删除、修改、合并、查询等基本操作。
成绩录入模块需要实现功能如下:
录入方式(顺序、非顺序)自动查错、灵活的输入(权—交互)对特殊情况的标志及处理、统计打印全校补考成绩。
统计各任课老师所教各班的考试成绩(平均、分段)。
统计打印需要实现功能如下:
统计打印一个班考试成绩(上中、中下、下中、下末)
统计打印一个班汇总成绩:
(上、下)
统计打印全校考试成绩(分段、平均),统计打印全校汇总
统计打印各班补考成绩。
2.2软件结构
系统构成图如下:
1.数据库模块:
2.成绩录入模块:
3.打印统计模块:
2.2.1登录模块:
子模块名称
子模块标识符
父模块名称
验证用户名密码
L1
登录模块
判断用户类别并跳转
L2
登录模块
2.2.2数据库模块
子模块名称
子模块标识符
父模块名称
添加操作
添加课程
M1
数据库模块
添加教师
添加学生
添加管理员
删除操作
删除学生
M2
数据库模块
删除管理员
删除教师
删除课程
修改操作
修改管理员信息
M3
数据库模块
修改教师信息
修改课程信息
查看操作
查看管理员信息
M4
数据库模块
查看教师信息
查看课程信息
2.2.3成绩录入模块
子模块名称
子模块标识
父模块名称
个人信息操作
T1
数据库端
学生成绩操作
考试成绩统计
T2
数据库端
给定平时成绩
计算总成绩
文档管理
查看学生上交的文档
T3
数据库端
2.2.4统计打印模块
子模块名称
子模块标识符
父模块名称
批改出成绩
S1
成绩录入端
对成绩进行排序
S2
成绩录入端
查看
查看平均成绩
S3
成绩录入端
查看总成绩
流程图为:
3.程序描述
【逐个模块给出以下的说明:
】
3.1数据库模块
3.1.1功能
用户在登录界面输入用户名和密码,系统验证是否正确,并根据用户名判断用户类别,并跳转到相应的子模块;
3.1.2性能
项目名称
输入
处理
输出
数据来源
权限设置
1.
管理员输入
用户名和密码
身份验证
根据用户要进行的操作判定下一步进入的模块
管理员输入
管理员操作
3.1.3全局数据变量
名称
标识符
类型
使用方式
访问方式
描述
数据库连接
conn
SqlConnection
产生数据库连接操作动作
只读
在Web.config中定义连接字符串
数据库命令
cmd
SqlCommand
产生数据库操作动作
读写
在每个页面定义
数据适配器
da
SqlDataAdapter
产生填充数据集的操作动作
读写
在每个页面定义
数据集
ds
DataSet
存放数据
读写
在每个页面定义
数据表格
dg
DataGrid
显示数据
读写
根据页面需要定义
数据读取
Dr
DataReader
读取数据
只读
在每个页面定义
3.1.4局部数据变量
名称
标识符
类型
使用方式
访问方式
描述
标识
Tag
Int
仅使用
只读
标志函数过程中的状态,根据页面需要定义
标识
Tag1
Int
仅使用
只读
标志函数过程中的状态,根据页面需要定义
数据视图
dv
DataView
仅使用
只读
为数据表格提供数据,根据页面需要定义
父结点ID
intId
String
仅使用
只读
根据页面需要定义
链接地址
urlTopic
String
仅使用
只读
根据页面需要定义
树结点对象
tmpNd
TreeNode
仅使用
只读
根据页面需要定义
DropDownList对象
mycontrol1
DropDownList
仅使用
只读
控制DataGrid中绑定的DropDownList
根据页面需要定义
DropDownList对象
mycontrol2
DropDownList
仅使用
只读
控制DataGrid中绑定的DropDownList
根据页面需要定义
DropDownList对象
mycontrol3
DropDownList
仅使用
只读
控制DataGrid中绑定的DropDownList
根据页面需要定义
用户名
uid
String
仅使用
只读
DataGrid中绑定列中用户名的值
根据页面需要定义
课程
Course
String
仅使用
只读
DataGrid中绑定的DropDownList所选取课程的值,
根据页面需要定义
年级
grade
String
仅使用
只读
DataGrid中绑定的DropDownList所选取年级的值,
根据页面需要定义
班级
Class
String
仅使用
只读
DataGrid中绑定的DropDownList所选取班级的值,
根据页面需要定义
课程号
number
String
仅使用
只读
DataGrid中绑定列中课程号的值
根据页面需要定义
3.1.5存储过程
名称
使用参数
描述
ChooseID
@uid
从索引表中读取相应用户的信息
delete_CourseTable
@number
删除课程表中相应教师的信息
delete_IndexTable
@uid
从索引表中删除相应用户的信息
insert_AdminTable
@uid@password@priority
从索引表中添加用户的信息
insert_CourseTable
@CourseNumber
@CourseName
从课程表中添加课程信息
insert_Student
@uid
@password
@name
@priority
@grade
@Class
从索引表中添加学生信息
nsert_StudentTable
@uid
@courseNO
从学生表,考试表中添加学生所学课程号
insert_Teacher
@uid
@password
@name
@priority
@course
@grade
@Class
从索引表,教师表中添加教师信息
search
@name
@uid
@priority
从索引表中查询相应的用户信息
search_AdminTable
@name
@uid
从索引表中查询相应的管理员信息
search_Course
@courseNO
@name
从课程表中查询相应的课程信息
search_Teacher
@name
@uid
从教师表,索引表中查询相应的教师信息
select_AdminTable
无
从索引表中读取管理员的信息
select_All
@uid
从索引表中读取相应用户的信息
select_Course
无
从课程表中读取课程的信息
select_Student
无
从索引表中读取学生的信息
select_Teacher
无
从索引表,教师表中读取教师的信息
update_All
@uid1
@uid2
@password
@name
@sex
@grade
@Class
更新索引表中用户的信息
update_CourseTable
@number
@name
更新课程表中课程的信息
update_Student
@uid
@grade
@Class
更新索引表中学生的信息
update_Teacher
@uid
@course
@grade
@Class
更新教师表中教师的信息
3.1.6关系图
3.1.7限制条件
只有身份为管理员的用户可以进入,不能跳过登录页面直接进入。
3.1.8测试要点
1、驱动模块和承接模块
2、前置条件
3、测试用例――输入和预期结果
3.2成绩录入模块
3.2.1功能
成绩录入模块需要实现功能如下:
录入方式(顺序、非顺序)自动查错、灵活的输入(权—交互)对特殊情况的标志及处理、统计打印全校补考成绩。
统计各任课老师所教各班的考试成绩(平均、分段)。
3.2.1性能
3.2.1.1添加操作
项目名称
输入(全部由院系输入)
处理
输出
数据来源
权限设置
1.
添加教师
姓名,性别,用户名,密码
权限
将教师信息添加到数据库
输出教师添加成功界面
管理员输入
教师能够更改自己的信息
2.
添加课程
课程号,课程名
将课程信息添加到数据库
输出课程信息添加成功界面
管理员输入
3.
添加学生
姓名,性别,年级,班级
将学生信息添加到数据库
输出学生信息添加成功界面
管理员输入
4.
添加管理员
姓名,性别,用户名,密码
权限
将管理员信息添加到数据库
输出管理员信息添加成功界面
管理员输入
管理员可以修改自己的信息
3.2.1.2删除操作
项目名称
输入(全部由院系输入)
处理
输出
数据来源
权限设置
1.
删除教师
用户名
将教师信息从数据库消除
输出教师删除成功界面
管理员输入
管理员操作
2.
删除课程
课程号
将课程信息从数据库消除
输出课程删除成功界面
管理员输入
管理员操作
3.
删除学生
学号
将学生信息删除到数据库
输出学生信息删除成功界面
管理员输入
管理员操作
4.
删除管理员
用户名,密码
将管理员信息删除到数据库
输出管理员信息删除成功界面
管理员输入
管理员操作
3.2.1.3修改操作
项目名称
修改(全部由院系输入)
处理
输出
数据来源
权限设置
1.
修改教师信息
所教课程的课程名,年级,班级
将修改后的教师信息保存到在数据库中
输出教师信息修改成功界面
管理员输入
管理员操作,教师能够更改自己的信息
1.
修改课程信息
课程号,课程名
将修改后的课程信息保存到在数据库中
输出课程信息修改成功界面
管理员输入
管理员操作
1.
修改管理员信息
姓名,性别,用户名,密码
将修改后的管理员信息保存到在数据库中
输出管理员信息修改成功界面
管理员输入
管理员能够更改自己的信息
3.2.1.4查看操作
项目名称
查看(全部由院系输入)
处理
输出
数据来源
权限设置
1.
查看教师信息
在总表中查询
按教师用户名查询教师基本信息;
查看教师在数据库中的信息
教师在数据库中的信息,除密码。
管理员输入
管理员操作
1.
查看课程信息
在课程表中查询
按课程号查询
查看课程在数据库中的信息
输出课程号,课程名,所任老师,
管理员输入
管理员操作
1.
查看管理员信息
在总表中查询
按用户名查询
查看管理员在数据库中的信息
管理员姓名,性别,用户名,
权限
管理员输入
管理员操作
3.2.3全局数据变量
名称
标识符
类型
使用方式
访问方式
描述
数据库连接
sqlConnection
SqlConnection
产生数据库连接操作动作
只读
在Web.config中定义连接字符串
数据库命令
sqlCommand
SqlCommand
产生数据库操作动作
读写
在每个页面定义
数据适配器
sqlDataAdapter
SqlDataAdapter
产生填充数据集的操作动作
读写
在每个页面定义
数据集
dataSet
DataSet
存放数据
读写
在每个页面定义
数据表格
DataGrid
DataGrid
显示数据
读写
根据页面需要定义
数据读取
sqlDatareader
DataReader
读取数据
只读
在每个页面定义
3.2.4局部数据变量
名称
标识符
类型
使用方式
访问方式
描述
考试次数DropDownList
HomeworkDropDownList
DropDownList
仅使用
只读
绑定学生考试次数
课程DropDownList
CourseDropDownList
DropDownList
仅使用
只读
绑定学生所能够选择的科目
用户名
UserID
String
仅使用
只读
DataGrid中绑定列中用户名的值
根据页面需要定义
考试次数
SelectedHomework
String
仅使用
只读
DataGrid中绑定的DropDownList所选取课程的值,
根据页面需要定义
年级
grade
String
仅使用
只读
DataGrid中绑定的DropDownList所选取年级的值,
根据页面需要定义
班级
Class
String
仅使用
只读
DataGrid中绑定的DropDownList所选取班级的值,
根据页面需要定义
课程号
SelectedCourse
String
仅使用
只读
DataGrid中绑定列中课程号的值
根据页面需要定义
平时成绩比例
DisciplinePercentage
Int
仅使用
可读写
平时成绩比例
期末成绩比例
FinalPercentage
Int
仅使用
可读写
期末成绩比例
成绩(单次)
HomeworkScore
Int
仅使用
可读写
单次成绩
3.2.5存储过程
名称
参数
使用说明
CheckCourse
@teacheridvarchar(12)
返回教师的课程
CheckRight
@useridvarchar(12)
返回教师所管辖的年级和班级
Download
@homeworkint,@teacheridvarchar(12),@CourseNumberint
更新学生考试情况
DownloadStudent
@homeworkint,@teacheridvarchar(12),@studentidvarchar(12),@CourseNumberint
检查单个学生考试情况
SelectAllCourse
返回所有课程
SelectAllStudentHomework
@homeworkint,@useridvarchar(12),@CourseNumberint
查询所有学生的某次考试成绩
SelectAllStudentScore
@useridvarchar(12),@CourseNumberint
返回所有学生的总成绩信息
SelectCourse
@gradeint
返回该年级的所有课程
SelectDownload
@teacheridvarchar(12),@homeworkint,@CourseNumberint
返回教师能够下载的所有考试的连接
SelectStudentHomework
@useridvarchar(12),@homeworkint,@teacheridvarchar(12),@CourseNumberint
返回某个学生的某次考试成绩
UpdateStudentAverage
@useridvarchar(12),@teacheridvarchar(12)
计算某个学生的平均成绩
UpdateStudentHomework
@useridvarchar(12),@homeworkint,@homeworkscoreint,@teacheridvarchar(12),@CourseNumberint
给学生的某次考试打分
UpdateStudentScore
@useridvarchar(12),@disciplinescoreint,@finalscoreint,
@teacheridvarchar(12)
给学生评定平时成绩和期末成绩
UpdateStudentTotalScore
@homeworkperint,@disciplineperint,
@finalperint,@CourseNumberint,@TeacherIDvarchar(12)
计算学生总成绩
3.2.6限制条件
只有身份为教师的用户可以进入,不能跳过登录界面直接进入
3.2.7测试要点
1、驱动模块和承接模块
2、前置条件
3、测试用例――输入和预期结果
3.3统计打印模块
3.3.1功能
统计打印需要实现功能如下:
统计打印一个班考试成绩(上中、中下、下中、下末)
统计打印一个班汇总成绩:
(上、下)
统计打印全校考试成绩(分段、平均),统计打印全校汇总
统计打印各班补考成绩。
3.3.2性能
3.3.2.1个人信息操作
项目名称
输入(全部由院系输入)
处理
输出
数据来源
权限设置
1.
修改个人信息
用户名,密码,姓名,性别,
所授课程
修改个人在数据中的信息
输出教师修改成功界面
教师输入
教师操作
3.3.2.2学生成绩批改操作
项目名称
输入(全部由院系输入)
处理
输出
数据来源
权限设置
1.
学生考试计分
考试分数
批改学生相应的考试成绩
输出考试批改成功界面
教师输入
教师操作
3.3.2.3学生成绩排序操作
项目名称
输入(全部由院系输入)
处理
输出
数据来源
权限设置
1.
考试成绩统计
考试分数
老师评改出考试成绩
输出考试成绩
教师输入
教师操作
2.
给定平均成绩
各科成绩分数
电脑计算出平均成绩=某科考试成绩*相应学分然后再算出总合,然后再除以考试科目数
输出平均考试成绩
教师输入
教师操作
3.
计算总成绩
各科考试成绩
电脑计算出总成绩=某科考试成绩*相应学分然后再算出总合
输出总成绩
系统输入
教师操作
3.3.2.4文档管理
项目名称
输入(全部由院系输入)
处理
输出
数据来源
权限设置
1.
查看学生成绩文档
查看命令
连接到相应科目的子文件夹
输出所有学生文档
教师输入
教师操作
3.3.3全局变量
名称
标识符
类型
使用方式
访问方式
描述
数据库连接
conn
SqlConnection
产生数据库连接操作动作
只读
在Web.config中定义连接字符串
数据库命令
cmd
SqlCommand
产生数据库操作动作
读写
在每个页面定义
数据适配器
da
SqlDataAdapter
产生填充数据集的操作动作
读写
在每个页面定义
数据集
ds
DataSet
存放数据
读写
在每个页面定义
数据表格
dg
DataGrid
显示数据
读写
根据页面需要定义
数据读取
Dr
DataReader
读取数据
只读
在每个页面定义
Session对象
Session["UserID"]
Session
仅使用
只读
控制页面运行顺序
3.3.4局部数据变量
名称
标识符
类型
使用方式
访问方式
描述
DirectoryInfo
对象
DirectoryOperator
DirectoryInfo
仅使用
只读
保存文件目录
FileInput对象
FileInput
FileFiled
仅使用
只读
上传文件
DropDownList对象
Dropdownlist1
DropDownList
仅使用
只读
控制DataGrid中绑定的DropDownList
根据页面需要定义
DropDownList对象
Dropdownlist1
DropDownList
仅使用
只读
控制DataGrid中绑定的DropDownList
根据页面需要定义
用户名
uid
String
仅使用
只读
DataGrid中绑定列中用户名的值
根据页面需要定义
课程
Course
String
仅使