《软件工程实践》实验指导书学院:数学与计算机学院专业:计算机专业年级:指导教师:汪璟玢系主任(或教研室主任):本课程实验教学目的和基本要求:知识方面:通过本课程设计,让学生进一步了解软件项目管理、需求分析、系统设计和软件测试的基本原理和方法,在软件开发的各个阶段熟悉并掌握一种表达工具,实现一个小规模的系统开发。
能力方面:在本课程设计过程中,注重培养学生分析问题和独立解决问题的能力。
素质方面:通过本课程设计,着重培养学生具备以下两方面的良好素质:一是针对实际系统中存在的问题,能够善于运用所学基本理论知识分析问题;二是规范地表达分析和设计方案。
本课程设计要求学生3-6人一组完成一个系统,并按照软件工程的规范形成相关文档资料。
参考资料:1.《软件工程实践者的研究方法》(第六版)(美)Roger S.Pressman著,郑人杰马素霞白晓颖译,机械工业出版社2.《软件工程实践者的研究方法》(第五版)(美)Roger S.Pressman著,梅宏译,机械工业出版社3.《软件工程》(第六版)(英)Ian Sommerville著,程一剑陈霞译,机械工业出版社4.《软件工程》郑人杰主编, 清华大学出版社5.《软件工程—理论、方法与实践》孙家广主编,刘强编著,高等教育出版社实验一:项目选择与用例图表达目的:结合具体的项目,要求学生结合用例图和用例文本的方法将系统功能表达清楚。
内容:项目选择、参与者确定、用例识别、用例间的关系表达,用例文本的表达要求:能够发现任务与用例的关系、用例间的关系并准确表达、用规范的用例文本描述用例。
开发环境和工具要求掌握:Windows200 Advanced Server、RationalRose2003、MS visio2003实验二:系统需求分析报告—类图目的:通过本次实验掌握对具体项目进行类的识别和分析,并完成系统类图。
内容:识别类、确定类的属性和操作、分析类间的关系完成类图要求:调查工作要深入,对系统的业务流程要充分了解;结合系统的功能进行类的分析。
开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003、Rational Rose2003实验三:系统需求分析报告—数据流图目的:结合具体项目,训练学生的抽象分析及分层描述问题的能力,联系数据和功能,分层次表达系统的功能。
内容:任务分解;识别外部实体、加工、数据存储和数据流;分层次表达的方法。
要求:调查工作要深入,对系统的业务流程要充分了解;结合系统的功能分解进行数据流图的绘制。
开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003实验四:系统需求分析报告—状态图目的:结合案例,训练学生的动态分析能力,寻找系统的状态及类的状态、通过状态迁移的条件和动作表达系统的动态变化。
内容:状态的确定和状态迁移的方向;系统状态图的绘制;类状态图的绘制;要求:调查工作要深入,对系统的业务流程要充分了解;结合系统的功能进行状态的分析。
开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003、Rational Rose2003实验五:系统需求分析报告—小组评审目的:结合具体项目,要求学生掌握系统的范围、功能建模的方法、数据流图、数据字典、类图、功能的描述、系统需求分析报告的内容,通过训练提高系统分析与建模的能力。
内容:对新系统的功能进行细致的分析,并建立一个新系统的逻辑模型:系统数据流程图、概况表、数据字典、E-R图、处理逻辑表达式及有关说明组成;用例图、类图、状态图、序列图。
最后要完成系统分析报告。
要求:调查工作要深入,对系统的业务流程要充分了解;系统的数据流图、数据字典、用例图、类图、状态图、序列图要详细并体现系统所要达到的功能;E-R图准确合理。
开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003、Rational Rose2003实验六:系统概要设计报告—小组评审目的:通过实验掌握根据需求建立设计的方法,运用Rational Rose2003工具对前一阶段的模型进行扩充和设计,完成相应面向实现的设计方案,掌握基本的BCED设计方法。
内容:根据系统分析所确定的系统目标及逻辑模型,用结构化系统设计方法或面向对象设计方法,将系统划分为若干个物理单元,绘制出系统及各个物理单元的结构图,并按一定格式编写出模块说明书。
要求:按照处理功能划分模块;遵从“模块独立性原则”;模块结构图的层次清晰合理;面向对象设计遵从BCED原则。
开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003、Rational Rose2003实验七:系统详细设计报告—设计模式与交互图目的:结合案例,要求学生运用适合的设计模式设计类;明确完成一个功能所需的类之间的协作关系和发送消息的顺序,完成顺序图与协作图。
内容:介绍几种常用的设计模式;结合具体案例,合理地运用设计模式;结合“高内聚、低耦合”的思路,确定协作类;完成类间协作的顺序图和协作图。
要求:设计应围绕着重用、独立性、易于扩展等设计原则。
开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003、Rational Rose2003实验八:系统数据库设计与详细设计报告—小组评审目的:通过实验分析特定项目中所涉及的数据,以及数据之间的关系,按照数据库系统的规范进行数据库设计;完成特定系统的面向实现的详细设计方案。
内容:将E-R模型转换为一般的数据模型或某种数据库管理系统支持的数据库模型;设计数据库的物理结构,包括:数据库名称、数据库的组织形式、存储介质的分配、数据存取路径的选择、数据的安全性与完整性、数据库的恢复等。
要求:安全、有效、可靠地存取数据开发环境和工具要求掌握:Windows200 Advanced Server、Oracle 9i、SQL Server2005实验九:代码编制目的:根据前面实验所完成的设计方案进行代码的编制,要求按照软件工程的规范进行。
(自行完成)开发环境和工具要求掌握:Windows200 Advanced Server、ASP、JaveScript、VBScript、Jbuilder等实验十:软件测试计划目的:按照软件测试的原理和方法,对所完成的系统进行测试,提交测试方案和测试结果,并能根据结果进行简单的分析。
内容:根据系统概要设计所确定的系统模块设计集成测试的策略,并完成测试计划说明书。
要求:尽量采用独立测试,尽量与系统构造并行。
开发环境和工具要求掌握:Windows200 Advanced Server、Word实验十一:项目计划目的:通过本次实验掌握对特定项目范围的分析、描述,并能根据项目范围分解出任务网络图,定义里程碑,运用项目估算技术进行估算,借助MS Project 2003工具完成项目计划。
内容:项目范围定义、任务分解、任务估算、进度安排要求:能够发现关键问题,并对问题准确描述。
开发环境和工具要求掌握:Windows200 Advanced Server、MS Project 2003、MS visio2003附录一:软件需求分析报告书写模式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. 约定数据库中各种元素的命名约定。