软件设计过程实验报告.docx
《软件设计过程实验报告.docx》由会员分享,可在线阅读,更多相关《软件设计过程实验报告.docx(15页珍藏版)》请在冰豆网上搜索。
软件设计过程实验报告
软件开发过程
实验一软件需求分析
一、目的和意义
对本书第二和三章的内容做进一步的掌握,写出软件需求规格说明书。
为下面的实习奠定基础。
二、实习内容
xx、确定软件题目(学生可自己拟定,也可在本书附录2中选择);
2、分析软件需求以及人工模式下的工作流程;
3、编写需求规格说明书(需求规格说明书的编写要求参见本节模板参考);
4、完成形式:
以文档的形式完成软件的需求规格说明书。
纸张型号为A4。
三、实习指导
xx、在磁盘上建立一个软件工程实习文件夹,以自己的姓名命名。
2、提交文档的格式如下:
第一页的格式为:
软件名称:
文档编号
版本号
文档名称:
项目名称:
项目负责人:
编写时间
审核时间
批准时间
开发单位
第二页之后的内容为:
●编写目的:
阐明编写该文档的目的,指出读者对象
●项目背景:
项目的委托单位、开发单位、该软件系统与其他系统的关系。
●参考资料
软件需求规格说明的书写原则
①任务概述:
软硬件环境、条件和限制(软件的使用条件和限制)。
②数据描述:
输入数据、输出数据、数据库设计和建立数据词典。
③功能需求:
功能划分和功能描述
④性能需求:
数据精度、时间特性、适应性(操作方式、与其他软件的接口、开发计划变化时,软件应具有的适应能力。
)。
⑤运行要求:
用户界面、硬件接口(如:
连接打印机)、软件接口(如:
是否为其他项目的子项目)、故障处理。
⑥其他需求:
可使用性、安全保密性、可维护性、可移植性等。
●模板参考
第一页:
软件名称:
教务管理软件文档编号xxxxxx
版本号Verxx.xx
文档名称:
需求规格说明书
项目名称:
课表编排系统
项目负责人:
屈艳
编写:
组
第二页之后的内容:
编写目的:
编写该文档是为了分析人工状态下课表编排的工作流程,把人工模式抽象为可在计算机上处理的自动模式。
便于开发小组成员对系统整体功能的认识。
项目背景:
高校的课表编排一直是一个烦琐的工作,为了解决这个问题,某某高校教务处委托我们开发该软件。
该软件是高校教务软件的一个子系统。
该子系统与专业规划子系统和教师管理软件有一定的关系。
参
实用软件工程(第二版)北京:
清华大学出版社,xxxxxx7
任务概述:
硬件环境:
CPU的型号为PentiumIII以上,内存25xxM,及其兼容机
软件环境:
Winxx8/2xxxxxx/xp、VB/VC/VF/DeLphi等。
软件的使用条件和限制:
教室的数量能满足排课的需求;一个教师只能代两门课;修改课表有安全级别。
数据描述:
用户提供的资料:
计划书和教师、教室情况
用户对软件的要求:
输入计划书,系统自动按班级排课表,并可查询打印课表。
静态数据:
教室信息(编号、名称、类型(普通/多媒体)、规模等)。
动态数据:
计划书(课程名称,专业年级,人数,学时,讲课(周次),实验周次,教师姓名,对教室的要求等。
)、教师信息(编号、姓名、学院、职称)
数据流图:
数据流图的图符含义为:
圆圈表示加工,矩形框表示结果,箭头表示数据流向。
课表编排系统的数据流图如下:
计划书中的数据有:
学生所在学院、专业年级、班级、人数、课程名称、总学时、周学时、周次、教师姓名、教室类型等信息。
教室数据有:
教室编号、教室类型、教室的规模(xxxx人/xxxx人)、周一到周五各个时间段的使用情况等信息
一级课表数据有:
专业年级、班级、周一至周五每天五个时间段(xx2节,34节,5xx节,78节,xxxx节)、课程名称、教室编号、教师姓名、课程起始周次或间断的周次。
注:
对计划书中的数据和教室数据的加工处理,形成一级课表所需要的数据。
计划
教室信息
约束信息
信息课表冲突
一级课表
二级课表
数据库描述及数据词典:
班级表banji
字段名称
字段类型
字段大小
字段名称
字段类型
字段大小
班级编号
文本
xx
班级
文本
2
年级
文本
4
所属学院
文本
2xx
所属专业
文本
2xx
教室表jiaoshi
字段名称
字段类型
字段大小
字段名称
字段类型
字段大小
编号
自动编号
递增
名称
文本
3xx
类型
文本
xx
规模
文本
xx
星期
文本
xx
节xx2
文本
xx
节34
文本
xx
节5xx
文本
xx
节78
文本
xx
节xxxx
文本
xx
课程表kecheng
字段名称
字段类型
字段大小
字段名称
字段类型
字段大小
课程编号
文本
8
课程名称
文本
2xx
所属学院
文本
2xx
所属专业
文本
2xx
所属年级
文本
4
计划表jihua
字段名称
字段类型
字段大小
字段名称
字段类型
字段大小
编号
自动编号
递增
课程名称
文本
2xx
所属学院
文本
2xx
所属专业
文本
2xx
所属年级
文本
4
班级
文本
4
学生人数
文本
xx
总学时
文本
4
周学时
文本
4
周次
文本
xx
教师姓名
文本
8
教室类型
文本
xx
课程类型
文本
xx
优先级
文本
xx
临时表linshi
字段名称
字段类型
字段大小
字段名称
字段类型
字段大小
课程名称
文本
2xx
教室
文本
2xx
任教老师
文本
8
周次
文本
xxxx
星期
文本
xx
节次
文本
4
所属学院
文本
2xx
所属专业
文本
2xx
所属年级
文本
4
班级
文本
xx
临时表linshi2
字段名称
字段类型
字段大小
字段名称
字段类型
字段大小
课程名称
文本
2xx
教室
文本
2xx
任教老师
文本
8
周次
文本
xxxx
星期
文本
xx
节次
文本
4
所属学院
文本
2xx
所属专业
文本
2xx
所属年级
文本
4
班级
文本
xx
输出结果表result
字段名称
字段类型
字段大小
字段名称
字段类型
字段大小
节次
文本
4
周一
文本
5xx
周二
文本
5xx
周三
文本
5xx
周四
文本
5xx
周五
文本
5xx
周六
文本
5xx
功能需求:
功能划分:
基本信息输入模块、计划书信息输入模块、课表自动生成模块、备份删除数据模块。
功能描述:
基本信息输入模块的功能:
建立良好的用户输入界面,输入基本信息(教师信息和教室信息)。
计划信息输入模块的功能:
输入计划书中的信息。
课表自动生成模块的功能:
根据输入的基本信息,自动生成一级课表。
(具体算法在详细设计中查询)。
备份删除数据模块的功能:
课表编排系统将在多学期使用,一个学期结束后,应备份数据,并将旧数据删除,产生新的课表数据。
性能需求:
数据精确度:
整数
时间特性:
无特殊要求
适应性:
有一定的适应能力,可将数据导入导出。
运行需求:
用户界面:
简单
硬件接口:
标准接口(打印机接口)
软件接口:
无,该软件暂时独立使用。
故障处理:
重新安装该软件。
其他需求:
可使用性:
良好
安全保密性:
有安全保密性。
课表编排必须由教务管理人员进行,课表修改要设定权限。
可维护性:
可以进行简单的维护,
可移植性:
适用于各种操作系统。
实习二软件详细设计
一、目的和意义
对本书第四章的内容做进一步的掌握,写出软件详细设计说明书。
为下面的实习奠定基础。
二、实习内容
确定软件的总体结构,设计每个模块的细节。
①总体设计:
画软件系统的结构图
②程序描述:
每个模块给出以下说明
功能、性能、输入项目、输出项目、算法、限制条件、测试要点(模块的主要测试要求)。
三、实习指导
提交文档的格式如下:
第一页:
软件名称:
教务管理软件文档编号xxxx2
版本号Verxx.xx
文档名称:
软件详细设计说明书
项目名称:
课表编排系统
项目负责人:
屈艳
编写:
叶艺、赵春、马燕、刘楠时间:
2xxxx5-3-xx4
审核:
屈艳时间:
2xxxx5-3-xxxx
批准:
王湘桃时间:
2xxxx5-3-2xx
开发单位:
冰雪五人组
第二页之后的内容:
编写目的:
编写详细设计是为了上程序员在写程序时有一个依据。
程序员根据详细设计写出符合设计要求的程序。
项目背景:
详细设计的设计思路由教务管理科的管理人员提供,经过设计人员的加工处理,形成可在计算机上实现的算法。
参考资料:
xx.郑人杰实用软件工程(第二版)北京:
清华大学出版社,xxxxxx7
开始
do
输入信息
保存信息
是否继续输入?
Y
N
结束
课表编排系统的总体结构图:
基本信息输入模块:
功能:
完成基本信息的输入,并将信息保存在数据库中,供自动排课模块使用。
基本信息有(教师信息,教室信息)。
输入项:
有xx项,具体项目见测试用例列表。
输出项:
有xx项,同上。
算法:
(可以用程序流程图或算法语言)见右上程序流程图
测试用例:
教师信息:
姓名
性别
年龄
职称
承担课程
研究方向
李红
女
3xx
讲师
软件工程
软件工程
教室信息:
名称
类型
规模
星期
xx2
34
5xx
78
xxxx
信Mxx
多媒体
xxxx人
xx-5
空
空
空
空
空
信M2
多媒体
xxxx人
xx-5
空
空
空
空
空
信M3
多媒体
xxxx人
xx-5
空
空
空
空
空
3xxxxxx
普通
xxxx人
xx-5
空
空
空
空
空
3xxxx7
普通
xxxx人
xx-5
空
空
空
空
空
3xxxx8
普通
xxxx人
xx-5
空
空
空
空
空
计划信息录入模块:
功能:
完成计划书的信息输入,并保存在数据库中,供自动排课模块使用。
输入项:
有xx项,具体见测试用例。
输出项:
有xx项,同上。
算法:
算法同基本信息输入模块。
测试用例:
计划书信息
学生学院
专业年级
班级
人数
课程名
总学时
周学时
教师名
教室类型
信息学院
计算机xx2
xx-3
xxxx
编译原理
xxxx
4
李长悦
普通
信息学院
计算机xx2
xx-3
xxxx
软件工程
5xx
4
王湘桃
多媒体
自动排课模块:
功能:
该模块根据计划书信息,完成各个班级的一级课表的编排。
输入项:
从计划书信息库和教室信息库中获的信息。
输出项:
班级的课表
算法:
DOxx
在计划书数据库取一条信息(某个专业年级,班级)
DO2
在教室数据库取一个教室信息
if教室类型满足then
if教室规模满足then
if教室空且时间合适then
占用教室
exitDO2
endif
endif
en