软件工程详细设计说明书 1.引言
编写目的
编写详细设计说明书的目的是为了使开发人员在完成概要设计说明书的基础上,完成概要设计的各项功能规定;为程序员写出实际的程序代码提供依据。它是软件设计阶段所有任务和所有相关人员所需的参考资料。 预期的读者为系统的开发者、使用者和指导老师。
背景
1. 开发软件系统的名称:学生体质测试结果统计分析系统;
2. 任务提出者:;
3. 开发者:;
4. 用户:浙江工业大学全体师生;
5. 本系统将使用MySQL作为数据库存储系统。
参考资料
1. 本小组成员撰写的《可行性分说明书》;
1
2. 本小组成员撰写的《需求分析说明书》;
3. 本小组成员撰写的《概要设计说明书》。
2
2. 系统的结构设计
根据学生体质测试结果统计分析系统的概要设计,本系统按照功能分解,可以分解为学生登录系统、教师登录系统和管理员登录系统。三个系统又可以分为几个小系统,总的系统结构图,结构流程图如下:
图 总体系统结构图
3
图 结构流程图
3.人机交互界面设计
系统的初始界面:
图
学生系统
学生登录后界面:
4
图
密码修改界面:
图
成绩查询界面:
图
学生的重修申请界面:
5
图
学生提意见界面:图
管理员系统
管理员登陆界面:
6
图
修改密码:
图
信息导入与修改界面:
7
图
信息导入:
图
信息导入成功提示:
8
图
信息修改——插入:图
信息修改——删除:
9
图
信息修改——更新:
图
科目修改界面——插入:
10
图
科目修改界面——删除:
图
科目修改界面——插入:
图
11
重修安排界面:
图
查看学生申请重修界面:图
查看相关教师信息:
12
图
发布学生重修安排结果:
图
查看学生对权限的申请:
13
图图
14
教师系统
教师登陆界面:
图
密码修改界面:
图
密码修改界面:
15
图
查看重修情况:
图
查看学生建议界面:
16
图
图
成绩录入界面:
17
图
18
4.模块设计
.模块1(登录服务)
功能
学生、教师、管理员登录系统。
输入项
账号、密码
输出项
产生SQL语言查询权限表,结果正确登录系统,失败给出相应成功失败提示。
流程逻辑
19
图模块1(登录服务)的流程逻辑图
接口
硬件接口:主要就是TCP/IP层中的网络接口层
软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个:
1. 连接对象(Connection):用来连接数据库。
2. 记录集对象(RecordSet):用来保存查询语句的返回结果。
3. 命令对象(Command):用来执行MySQL的存储过程。
4. 参数对象(Parameter):用来为存储过程或查询提供参数。
20
存储分配
本模块用Java在Myeclipse中进行编码,直接的内存分配由Myeclipse运行时分配。
条件
1. 由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,
服务器端的语言使用java,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用MySQL。
2. 开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于
接下来的测试而后维护升级。
测试计划
多次操作测试性能。
.模块2(密码服务)
功能
学生、教师、管理员可进行本人的系统登录密码修改。
输入项
账号及新、旧密码
21
输出项
生成对应的SQL语言,发送修改数据库权限表,界面给出相应成功失败提示。
流程逻辑
图 模块2(密码服务)的流程逻辑图
接口
硬件接口:主要就是TCP/IP层中的网络接口层
软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个:
1. 连接对象(Connection):用来连接数据库。
22
2. 记录集对象(RecordSet):用来保存查询语句的返回结果。
3. 命令对象(Command):用来执行MySQL的存储过程。
4. 参数对象(Parameter):用来为存储过程或查询提供参数。
存储分配
本模块用Java在Myeclipse中进行编码,直接的内存分配由Myeclipse运行时分配。
条件
(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用java,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用MySQL。
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。
测试计划
测试要点:每次密码能否修改成功以及密码格式是否能保证
模块3(学生个人基本信息)
功能
23
提供学生个人基本信息查看功能。
性能
对性能要求在1-6秒内做出反应。
输入项
鼠标点击产生查询条件
输出项
生成标准的SQL语句,发送设置浏览区命令
流程逻辑
图模块2(学生个人基本信息)的流程逻辑图
24
接口
硬件接口:主要就是TCP/IP层中的网络接口层
软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个:
1. 连接对象(Connection):用来连接数据库。
2. 记录集对象(RecordSet):用来保存查询语句的返回结果。
3. 命令对象(Command):用来执行MySQL的存储过程。
4. 参数对象(Parameter):用来为存储过程或查询提供参数。
存储分配
本模块用Java在Myeclipse中进行编码,直接的内存分配由Myeclipse运行时分配。
条件
(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用java,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用MySQL。
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。
25
测试计划
模拟多用户查询,测试性能。
模块4(学生体侧结果分析)
功能
通过该模块,学生可对自己体质测试结果进行查询
性能
灵活性:窗口响应绝大部分的快捷菜单和控制面板操作
时间性:响应鼠标单击时间在4——5秒之间
输入项
鼠标点击界面响应位置产生查询条件
输出项
生成标准的SQL语句,将查询结果数据传送到画图软件(ECHARS/JavaScript),再将所得图片显示在界面上。
设计方法(算法)
26
项目平均成绩=Σ项目历年成绩/年数
男生:
体质评估值=1000米成绩/满分标准*100*30%+50米成绩/满分标准*100*30%+引体向上成绩/满分标准*100*30%+跳远成绩/满分标准*100*10%
女生:
体质评估值=800米成绩/满分标准*100*30%+50米成绩/满分标准*100*30%+仰卧起坐成绩/满分标准*100*30%+跳远成绩/满分标准*100*10%
流程逻辑
图模块3(学生体侧结果分析)的流程逻辑图
接口
27
硬件接口:主要就是TCP/IP层中的网络接口层
软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个:
1. 连接对象(Connection):用来连接数据库。
2. 记录集对象(RecordSet):用来保存查询语句的返回结果。
3. 命令对象(Command):用来执行MySQL的存储过程。
4. 参数对象(Parameter):用来为存储过程或查询提供参数。
存储分配
本模块用Java在Myeclipse中进行编码,直接的内存分配由Myeclipse运行时分配。
条件
(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用java,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用MySQL。
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。
测试计划
28
多次对不同学生的体质结果进行计算分析,检验分析结果是否准确。
模块5(重修申请)
功能
统计重修名单,安排课程老师
性能
灵活性:窗口响应绝大部分的快捷菜单和控制面板操作
时间性:响应鼠标单击时间在2——3秒之间
输入项
学生提出重修请求
输出项
生成SQL语言,修改数据库的重修表。(之前未申明)
流程逻辑
29
图模块4(重修申请)的流程逻辑图
接口
硬件接口:主要就是TCP/IP层中的网络接口层
软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个:
1. 连接对象(Connection):用来连接数据库。
2. 记录集对象(RecordSet):用来保存查询语句的返回结果。
3. 命令对象(Command):用来执行MySQL的存储过程。
4. 参数对象(Parameter):用来为存储过程或查询提供参数。
存储分配
本模块用Java在Myeclipse中进行编码,直接的内存分配由Myeclipse运行时分配。
30
条件
(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用java,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用MySQL。
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。
测试计划
多次模拟操作,检验结果是否准确。
模块6(提出建议)
功能
学生可以就系统或者老师,对不满意或者有待改进的地方提出建议
性能
灵活性:窗口响应绝大部分的快捷菜单和控制面板操作
时间性:响应鼠标单击时间在2——3秒之间
输入项
31
学生建议
输出项
生成SQL语言,修改数据库的建议表。
流程逻辑
图模块6(提出建议)的流程逻辑图
接口
硬件接口:主要就是TCP/IP层中的网络接口层
软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个:
1. 连接对象(Connection):用来连接数据库。
32
2. 记录集对象(RecordSet):用来保存查询语句的返回结果。
3. 命令对象(Command):用来执行SQL语句或MySQL的存储过程。
4. 参数对象(Parameter):用来为存储过程或查询提供参数。
存储分配
本模块用Java在Eclipse中进行编码,直接的内存分配由Eclipse运行时分配。
条件
(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用Java,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用MySQL。
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。
测试计划
多次测试检验性能。
.模块7( 教师个人基本信息)
功能
33
存储教师的基本信息
性能
灵活性:窗口响应绝大部分的快捷菜单和控制面板操作
时间性:响应鼠标单击时间在2——3秒之间
输入项
鼠标点击界面响应位置产生查询条件
输出项
生成标准的SQL语句,将查询结果数据显示在界面上。
流程逻辑
34
图模块7(教师信息管理)的流程逻辑图
接口
硬件接口:主要就是TCP/IP层中的网络接口层
软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个:
1. 连接对象(Connection):用来连接数据库。
2. 记录集对象(RecordSet):用来保存查询语句的返回结果。
3. 命令对象(Command):用来执行SQL语句或MySQL的存储过程。
4. 参数对象(Parameter):用来为存储过程或查询提供参数。
存储分配
本模块用Java在Eclipse中进行编码,直接的内存分配由Eclipse运行时分配。
条件
(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用Java,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用MySQL。
35
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。
测试计划
多次测试检验性能。
.模块8(成绩管理)
功能
通过成绩管理,系统管理所有进行过体测的学生的成绩
性能
灵活性:窗口响应绝大部分的快捷菜单和控制面板操作
时间性:响应鼠标单击时间在2——3秒之间
输入项
老师修改、删除等操作
输出项
经过修改以后的新成绩表
36
流程逻辑
图模块8(成绩管理)的流程逻辑图
接口
硬件接口:主要就是TCP/IP层中的网络接口层
软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个:
1. 连接对象(Connection):用来连接数据库。
2. 记录集对象(RecordSet):用来保存查询语句的返回结果。
3. 命令对象(Command):用来执行SQL语句或MySQL的存储过程。
4. 参数对象(Parameter):用来为存储过程或查询提供参数。
存储分配
37
本模块用Java在Eclipse中进行编码,直接的内存分配由Eclipse运行时分配。
注释设计
在代码部分的适当位置有中文代码注释。
条件
(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用Java,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用MySQL。
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。
.模块9(查看建议)
功能
通过查询,使老师能够了解到学生对老师提出的建议
性能
灵活性:窗口响应绝大部分的快捷菜单和控制面板操作
时间性:响应鼠标单击时间在2——3秒之间
38
输入项
鼠标点击界面响应位置产生查询条件
输出项
生成标准的SQL语句,将查询结果数据显示在界面上。
流程逻辑
图模块9(查看建议)的流程逻辑图
接口
硬件接口:主要就是TCP/IP层中的网络接口层
软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个:
39
1. 连接对象(Connection):用来连接数据库。
2. 记录集对象(RecordSet):用来保存查询语句的返回结果。
3. 命令对象(Command):用来执行SQL语句或MySQL的存储过程。
4. 参数对象(Parameter):用来为存储过程或查询提供参数。
存储分配
本模块用Java在Eclipse中进行编码,直接的内存分配由Eclipse运行时分配。
条件
(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用Java,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用MySQL。
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。
测试计划
多次操作测试性能。
.模块10(学生、教师信息数据录入)
40
功能
管理员通过此模块,可以一次性导入往年的未录进系统的数据信息
性能
灵活性:窗口响应绝大部分的快捷菜单和控制面板操作
时间性:响应鼠标单击时间在2——3秒之间
输入项
学生、教师信息
输出项
产生SQL语言,生成学生、教师信息表。
流程逻辑
41
图模块9(学生、教师信息修改)的流程逻辑图
接口
硬件接口:主要就是TCP/IP层中的网络接口层
软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个:
1. 连接对象(Connection):用来连接数据库。
2. 记录集对象(RecordSet):用来保存查询语句的返回结果。
3. 命令对象(Command):用来执行SQL语句或MySQL的存储过程。
4. 参数对象(Parameter):用来为存储过程或查询提供参数。
存储分配
42
本模块用Java在Eclipse中进行编码,直接的内存分配由Eclipse运行时分配。
条件
(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用Java,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用MySQL。
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。
测试计划
多次操作测试性能。
.模块11(科目信息修改)
功能
管理员根据历年改动科目信息对考试科目及标准进行修改。
性能
灵活性:窗口响应绝大部分的快捷菜单和控制面板操作
时间性:响应鼠标单击时间在2——3秒之间
43
输入项
管理员根据考试信息进行修改。
输出项
产生SQL语言,对数据库的科目标准表中的列进行增加删除,或是更改科目标准。
流程逻辑
图模块11(科目信息表)的流程逻辑图
接口
硬件接口:主要就是TCP/IP层中的网络接口层
软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个:
44
1. 连接对象(Connection):用来连接数据库。
2. 记录集对象(RecordSet):用来保存查询语句的返回结果。
3. 命令对象(Command):用来执行MySQL的存储过程。
4. 参数对象(Parameter):用来为存储过程或查询提供参数。
存储分配
本模块用Java在Myeclipse中进行编码,直接的内存分配由Myeclipse运行时分配。
条件
(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用java,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用MySQL。
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。
测试计划
多次操作测试性能。
模块12(重修安排)
45
功能
通过该模块,给需要重修的同学分配老师
性能
灵活性:窗口响应绝大部分的快捷菜单和控制面板操作
时间性:响应鼠标单击时间在2——3秒之间
输入项
管理员点击查看重修名单,安排课程老师.
输出项
产生SQL语言,修改数据库的重修表的教师列.
流程逻辑
46
图模块12(重修安排)的流程逻辑图
接口
硬件接口:主要就是TCP/IP层中的网络接口层
软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个:
1. 连接对象(Connection):用来连接数据库。
2. 记录集对象(RecordSet):用来保存查询语句的返回结果。
3. 命令对象(Command):用来执行MySQL的存储过程。
4. 参数对象(Parameter):用来为存储过程或查询提供参数。
存储分配
47
本模块用Java在Myeclipse中进行编码,直接的内存分配由Myeclipse运行时分配。
条件
(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用java,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用MySQL。
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。
测试计划
多次操作测试性能
.模块13(申请增加权限)
功能
学生对系统查看权限提出请求,由管理员审核
性能
灵活性:窗口响应绝大部分的快捷菜单和控制面板操作
时间性:响应鼠标单击时间在2——3秒之间
48
输入项
学生输入申请权限内容
管理员读取权限申请表,更改用户权限
输出项
1.产生SQL语言,修改数据库中的权限申请表
2.产生SQL语言,修改数据库中的权限表
流程逻辑
图模块13(申请增加权限)的流程逻辑图
接口
硬件接口:主要就是TCP/IP层中的网络接口层
49
软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个:
1. 连接对象(Connection):用来连接数据库。
2. 记录集对象(RecordSet):用来保存查询语句的返回结果。
3. 命令对象(Command):用来执行MySQL的存储过程。
4. 参数对象(Parameter):用来为存储过程或查询提供参数。
存储分配
本模块用Java在Myeclipse中进行编码,直接的内存分配由Myeclipse运行时分配。
条件
(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用java,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用MySQL。
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。
测试计划
多次操作测试性能。
50