软件工程实践实验指导书XXXX.docx
《软件工程实践实验指导书XXXX.docx》由会员分享,可在线阅读,更多相关《软件工程实践实验指导书XXXX.docx(13页珍藏版)》请在冰点文库上搜索。
软件工程实践实验指导书XXXX
《软件工程实践》实验指导书
学院:
数学与计算机学院
专业:
计算机专业
年级:
指导教师:
汪璟玢
系主任(或教研室主任):
本课程实验教学目的和基本要求:
知识方面:
通过本课程设计,让学生进一步了解软件项目管理、需求分析、系统设计和软件测试的基本原理和方法,在软件开发的各个阶段熟悉并掌握一种表达工具,实现一个小规模的系统开发。
能力方面:
在本课程设计过程中,注重培养学生分析问题和独立解决问题的能力。
素质方面:
通过本课程设计,着重培养学生具备以下两方面的良好素质:
一是针对实际系统中存在的问题,能够善于运用所学基本理论知识分析问题;二是规范地表达分析和设计方案。
本课程设计要求学生3-6人一组完成一个系统,并按照软件工程的规范形成相关文档资料。
参考资料:
1.《软件工程实践者的研究方法》(第六版)(美)RogerS.Pressman著,郑人杰马素霞白晓颖译,机械工业出版社
2.《软件工程实践者的研究方法》(第五版)(美)RogerS.Pressman著,梅宏译,机械工业出版社
3.《软件工程》(第六版)(英)IanSommerville著,程一剑陈霞译,机械工业出版社
4.《软件工程》郑人杰主编,清华大学出版社
5.《软件工程—理论、方法与实践》孙家广主编,刘强编著,高等教育出版社
实验一:
项目选择与用例图表达
目的:
结合具体的项目,要求学生结合用例图和用例文本的方法将系统功能表达清楚。
内容:
项目选择、参与者确定、用例识别、用例间的关系表达,用例文本的表达
要求:
能够发现任务与用例的关系、用例间的关系并准确表达、用规范的用例文本描述用例。
开发环境和工具要求掌握:
Windows200AdvancedServer、RationalRose2003、MSvisio2003
实验二:
系统需求分析报告—类图
目的:
通过本次实验掌握对具体项目进行类的识别和分析,并完成系统类图。
内容:
识别类、确定类的属性和操作、分析类间的关系完成类图
要求:
调查工作要深入,对系统的业务流程要充分了解;结合系统的功能进行类的分析。
开发环境和工具要求掌握:
Windows200AdvancedServer、MSvisio2003、RationalRose2003
实验三:
系统需求分析报告—数据流图
目的:
结合具体项目,训练学生的抽象分析及分层描述问题的能力,联系数据和功能,分层次表达系统的功能。
内容:
任务分解;识别外部实体、加工、数据存储和数据流;分层次表达的方法。
要求:
调查工作要深入,对系统的业务流程要充分了解;结合系统的功能分解进行数据流图的绘制。
开发环境和工具要求掌握:
Windows200AdvancedServer、MSvisio2003
实验四:
系统需求分析报告—状态图
目的:
结合案例,训练学生的动态分析能力,寻找系统的状态及类的状态、通过状态迁移的条件和动作表达系统的动态变化。
内容:
状态的确定和状态迁移的方向;系统状态图的绘制;类状态图的绘制;
要求:
调查工作要深入,对系统的业务流程要充分了解;结合系统的功能进行状态的分析。
开发环境和工具要求掌握:
Windows200AdvancedServer、MSvisio2003、RationalRose2003
实验五:
系统需求分析报告—小组评审
目的:
结合具体项目,要求学生掌握系统的范围、功能建模的方法、数据流图、数据字典、类图、功能的描述、系统需求分析报告的内容,通过训练提高系统分析与建模的能力。
内容:
对新系统的功能进行细致的分析,并建立一个新系统的逻辑模型:
系统数据流程图、概况表、数据字典、E-R图、处理逻辑表达式及有关说明组成;用例图、类图、状态图、序列图。
最后要完成系统分析报告。
要求:
调查工作要深入,对系统的业务流程要充分了解;系统的数据流图、数据字典、用例图、类图、状态图、序列图要详细并体现系统所要达到的功能;E-R图准确合理。
开发环境和工具要求掌握:
Windows200AdvancedServer、MSvisio2003、RationalRose2003
实验六:
系统概要设计报告—小组评审
目的:
通过实验掌握根据需求建立设计的方法,运用RationalRose2003工具对前一阶段的模型进行扩充和设计,完成相应面向实现的设计方案,掌握基本的BCED设计方法。
内容:
根据系统分析所确定的系统目标及逻辑模型,用结构化系统设计方法或面向对象设计方法,将系统划分为若干个物理单元,绘制出系统及各个物理单元的结构图,并按一定格式编写出模块说明书。
要求:
按照处理功能划分模块;遵从“模块独立性原则”;模块结构图的层次清晰合理;面向对象设计遵从BCED原则。
开发环境和工具要求掌握:
Windows200AdvancedServer、MSvisio2003、RationalRose2003
实验七:
系统详细设计报告—设计模式与交互图
目的:
结合案例,要求学生运用适合的设计模式设计类;明确完成一个功能所需的类之间的协作关系和发送消息的顺序,完成顺序图与协作图。
内容:
介绍几种常用的设计模式;结合具体案例,合理地运用设计模式;结合“高内聚、低耦合”的思路,确定协作类;完成类间协作的顺序图和协作图。
要求:
设计应围绕着重用、独立性、易于扩展等设计原则。
开发环境和工具要求掌握:
Windows200AdvancedServer、MSvisio2003、RationalRose2003
实验八:
系统数据库设计与详细设计报告—小组评审
目的:
通过实验分析特定项目中所涉及的数据,以及数据之间的关系,按照数据库系统的规范进行数据库设计;完成特定系统的面向实现的详细设计方案。
内容:
将E-R模型转换为一般的数据模型或某种数据库管理系统支持的数据库模型;设计数据库的物理结构,包括:
数据库名称、数据库的组织形式、存储介质的分配、数据存取路径的选择、数据的安全性与完整性、数据库的恢复等。
要求:
安全、有效、可靠地存取数据
开发环境和工具要求掌握:
Windows200AdvancedServer、Oracle9i、SQLServer2005
实验九:
代码编制
目的:
根据前面实验所完成的设计方案进行代码的编制,要求按照软件工程的规范进行。
(自行完成)
开发环境和工具要求掌握:
Windows200AdvancedServer、ASP、JaveScript、VBScript、Jbuilder等
实验十:
软件测试计划
目的:
按照软件测试的原理和方法,对所完成的系统进行测试,提交测试方案和测试结果,并能根据结果进行简单的分析。
内容:
根据系统概要设计所确定的系统模块设计集成测试的策略,并完成测试计划说明书。
要求:
尽量采用独立测试,尽量与系统构造并行。
开发环境和工具要求掌握:
Windows200AdvancedServer、Word
实验十一:
项目计划
目的:
通过本次实验掌握对特定项目范围的分析、描述,并能根据项目范围分解出任务网络图,定义里程碑,运用项目估算技术进行估算,借助MSProject2003工具完成项目计划。
内容:
项目范围定义、任务分解、任务估算、进度安排
要求:
能够发现关键问题,并对问题准确描述。
开发环境和工具要求掌握:
Windows200AdvancedServer、MSProject2003、MSvisio2003
附录一:
软件需求分析报告书写模式
1.引言
1.1项目名称
1.2项目背景和内容概要
项目的委托单位、开发单位、主管部门、与其它项目的关系,与其他机构的关系等。
1.3相关资料、缩略语、定义
相关项目计划、合同及上级机关批文,引用的文件、采用的标准等。
缩写词和名词定义。
2.任务概述
2.1目标
项目的开发目标和应用目标。
如果是其他系统的一部分,则说明其关系。
2.2范围
包含的业务,不包含的业务。
2.3假定条件与约束限制
尽量列出开展本项目的假定和约束,例如:
经费限制,开发期限,设备条件,用户现场环境准备等。
3.业务流程(以活动图、系统级状态迁移图描述)
4.数据描述
4.1原始数据描述
a.静态数据
b.动态数据
4.2数据流图及数据词典
4.3数据概念模型和描述(以类图、类级别的状态迁移图描述)
5.功能需求(以用例图、顺序图描述)
5.1功能描述
6.界面要求
6.1报表格式
6.2图形要求
6.3输入输出要求
7.接口要求
描述与本系统相连的系统的接口数据格式,数据交换协议,接口功能等。
8.性能需求
8.1数据精确度(例如,数据内部精度,外部显示精度)
8.2数据量
8.3时间特性要求
根据所开发系统的特点,规定系统对时间的特性的要求。
例如:
系统响应时间、界面更新处理时间、数据转换与传输时间。
9.运行环境需求
9.1网络和硬件设备平台(网络拓扑图及设备类型描述)、操作系统平台、数据库系统平台
9.2编程工具
9.3其它支撑软件
10.其它专门需求
10.1安装和操作
10.2安全保密
10.3维护服务
附录二:
系统概要设计书写模式
1.引言
1.1项目名称
1.2项目背景和内容概要
项目的委托单位、开发单位、主管部门、与其它项目的关系,与其他机构的关系等。
1.3相关资料、缩略语、定义
2.概要设计
2.1软件体系结构
用图来表示软件系统的总体结构框架,并对其进行描述。
2.2基本设计概念和处理流程
2.3软件结构
1)子系统划分(以构件图描述)
A)子系统清单
B)各子系统功能描述
C)相关项目计划、合同及上级机关批文,引用的文件、采用的标准等。
D)缩写词和名词定义
2)程序模块划分和功能分配
包括前端程序模块和后端存储过程的划分和功能分配。
A)子系统及程序模块清单
B)各程序模块功能描述
C)功能-模块对照表
D)模块-数据实体对照表
3)人工处理过程
描述不能完全自动处理,需人工处理的过程。
3.软件模块的物理分布(以部署图描述)
根据系统网络结构,描述软件模块在各个设备上的物理分布。
4.接口设计
4.1与外系统的接口
4.2内部接口
5.用户界面设计
和用户交互的最终界面在《详细设计说明书》中设计解释,在此应对系统的主界面和界面设计风格进行设计和描述。
6.数据结构和算法设计(以构件设计描述+协作图)
6.1程序中数据结构描述
描述系统中主要数据结构和模块间共享的数据结构。
6.2主要算法设计
7.出错处理设计
7.1出错信息
7.2出错处理措施
8.安全保密设计
描述安全保密方案,权限的设置,保密算法,软件的实现方法等。
附录三:
系统数据库设计书写模式
1.引言
1.1项目名称
1.2项目背景和内容概要
项目的委托单位、开发单位、主管部门、与其它项目的关系,与其他机构的关系等。
1.3相关资料、缩略语、定义
相关项目计划、合同及上级机关批文,引用的文件、采用的标准等。
缩写词和名词定义。
2.约定
数据库中各种元素的命名约定。
例如表名,字段名的命名约定。
3.数据库概念模型设计
3.1数据实体-关系图
3.2数据实体描述
数据实体中文名,数据库表名
数据实体描述
3.3实体关系描述
描述每个实体间的关系
实体1:
实体2(1:
1,1:
n,m:
n)
关系描述:
4.数据库逻辑模型设计
4.1实体-关系图(不含多-多关系)(以ER图描述)
4.2关系模型描述
数据库表名(别名)、主键、外键、索引、约束
中文名称数据属性名数据类型数据长度约束范围是否为空注解
4.3数据视图描述
用标准SQL语言中创建数据视图的语句描述。
4.4数据库一致性设计
用标准SQL语言中创建表的语句描述。
5.物理实现
5.1数据库的安排
。
说明是否采用分布式数据库,数据库表如何分布
。
每个数据库服务器上建立几个数据库,其存储空间等安排
。
数据库表的的分配方法,例如:
如何创建段,或表空间
5.2安全保密设计
用户角色划分方法,每个角色的权限
附录四:
系统详细设计书写模式
1.引言
1.1项目名称
1.2项目背景和内容概要
项目的委托单位、开发单位、主管部门、与其它项目的关系,与其他机构的关系等。
1.3相关资料、缩略语、定义
相关项目计划、合同及上级机关批文,引用的文件、采用的标准等。
缩写词和名词定义。
2.程序结构(调用返回结构)
2.1程序结构图
主要表示程序间的调用关系。
2.2程序文件清单
子系统名程序文件名运行平台编程语言简要描述
3.程序设计说明
程序文件名、子系统名、编写者、编写日期
第次修改、修改人、修改日期。
程序名称、程序功能描述
输入/输出项、主要数据结构
存取的数据库表和字段
调用的其它程序、调用的公共函数库或公共函数
算法、逻辑流程图
测试要点
4.用户界面设计说明
4.1用户界面图
可制作有关用户界面图集的附录参考。
4.2用户界面与模块关系表
用户界面名称用户界面编号隶属的子系统相关模块名称简要名称