资源描述
密级:
文档编号: 第 版
分册名称: 第 册/共 册
校级(公共课)学生成绩管理系统
详细设计说明书
1.00版
中南大学 (某专业某年级某人)
总页数
正文
附录
生效日期:
编制:
审核:
批准:
详细设计说明书
1.引言 3
1.1编写目的 3
1.2项目背景 3
1.3定义 3
1.4参考资料 3
2.总体设计 4
2.1需求概述 4
2.2软件结构 4
3.程序描述 4
3.1数据库模块 9
3.2成绩录入模块 14
3.3统计打印模块 20
4. 接口设计 22
4.1外部接口...........................................................................................................................22
4.2内部接口 23
5. 数据库设计 23
1.引言
1.1编写目的
为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。
本文档供项目经理、设计人员、开发人员参考。
1.2项目背景
a. 项目的委托单位:中南大学
开发单位:李明
主管部门:中南大学信息学院
b. 该软件系统与其他
1. 本软件系统的名称:校级(公共课)学生成绩管理系统
2. 该软件系统同其他系统或其他机构的基本的相互来往关系:该系统基于IE浏览器,版本为6.0及以上,支持windows系列平台。
1.3定义
定义关键词如下:
HTTP —— Hyper Text Transfer Protocol.(超文本传输协议)
IIS —— Internet 信息服务.
HTML —— Hyper Text Markup Language(超文本标记语言).
ASP ——Active Server Pages
ODBC ——开放数据库连接
ADO ――活动存储对象
IPO —— input & process & output(输入、处理、输出)
CGI―― Common GateWay interface (公用网关接口技术)
1.4参考资料
GB/T 11457:软件工程术语
GB/T 8566 —1995:计算机软件开发规范
GB 8567:计算机软件产品开发文件编制指南
国简标准-软件
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
成绩录入端
查看总成绩
流程图为:
系统判别用户名和密码
输入用户名和密码
显示出错信息
进入数据库模块
进入成绩录入模块
进入统计打印模块
NO
YES
根据要做的操作判断进入哪个模块
传输数据
M1
M2
M3
M4
T1
T2
T3
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
@teacherid varchar(12)
返回教师的课程
CheckRight
@userid varchar(12)
返回教师所管辖的年级和班级
Download
@homework int, @teacherid varchar(12), @CourseNumber int
更新学生考试情况
DownloadStudent
@homework int, @teacherid varchar(12), @studentid varchar(12), @CourseNumber int
检查单个学生考试情况
SelectAllCourse
返回所有课程
SelectAllStudentHomework
@homework int, @userid varchar(12), @CourseNumber int
查询所有学生的某次考试成绩
SelectAllStudentScore
@userid varchar(12), @CourseNumber int
返回所有学生的总成绩信息
SelectCourse
@grade int
返回该年级的所有课程
SelectDownload
@teacherid varchar(12), @homework int, @CourseNumber int
返回教师能够下载的所有考试的连接
SelectStudentHomework
@userid varchar(12), @homework int, @teacherid varchar(12), @CourseNumber int
返回某个学生的某次考试成绩
UpdateStudentAverage
@userid varchar(12), @teacherid varchar(12)
计算某个学生的平均成绩
UpdateStudentHomework
@userid varchar(12), @homework int, @homeworkscore int, @teacherid varchar(12), @CourseNumber int
给学生的某次考试打分
UpdateStudentScore
@userid varchar(12), @disciplinescore int, @finalscore int,
@teacherid varchar(12)
给学生评定平时成绩和期末成绩
UpdateStudentTotalScore
@homeworkper int, @disciplineper int,
@finalper int, @CourseNumber int, @TeacherID varchar(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
仅使用
只读
DataGrid中绑定的DropDownList所选取课程的值,
根据页面需要定义
3.3.5 限制条件
在硬件中必须配有打印机,在排序前必须选择好排序的要求,如:是排出平均成绩的名次还是总成绩的名次。
3.3.6 测试要点
1、驱动模块和承接模块
2、前置条件
3、测试用例 ―― 输入和预期结果
4.接口设计
4.1外部接口
软件接口:系统利用Visual C#提供与SQL Server2000连接进行访问数据库的操作。
服务器程序可利用SQL Server2000提供的对数据库备份的操作实现对数据库的备份操作。
在网络软件接口方面,采取一种无差错的传输协议进行连接。
硬件接口:输入:采用键盘鼠标以及Visual C#的标准输入/输出进行输入处理。
输出:采用Visual C#的标准输入/输出或其它输出设备对输出进行处理。在统计打印模块还需要有打印机的参与。
在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。
4.2内部接口
数据库模块的操作由管理员通过密码登陆,然后对数据库进行相应的操作。通过对数据库要进行的不同的操作来决定调用另外的哪个模块。模块间采用函数调用、参数传递、返回值的方式进行信息传递。
5.数据库设计
本系统所选用的DBMS为SQL SERVER,系统主要是维护5张数据表:
1. 学生信息表
2. 成绩表
3. 补考成绩表
4. 平均成绩表
5. 总成绩表
展开阅读全文