实验总体要求
学生采用“项目小组”的形式,结合具体的开发项目进行设计。
具体要求如下:
1.班级按项目小组进行分组,每组4至5人;
2.每个项目小组成员要分配不同的工作角色;
3.选出项目负责人,负责召集项目组成员讨论、选定开发项目;
4.项目中的每项任务要落实到人且规定该任务的起止日期和时间。
5.题目自拟
第一阶段实验:软件工程开发计划和需求开发过程
1、实验目的
项目计划的目的是根据项目需求为项目的研发和管理工作制定合理的行动纲领,以便所有相关人员按照计划有条不紊地开展工作。
1.练习估计项目的总体规模、工作量和成本。
2.练习制定项目计划,产品生命周期中的主要关键任务。
3.练习制定项目时间表和预算。
4.练习需求获取、需求分析、需求管理
2、实验准备:
在进行实验之前,必须掌握软件开发过程的一些基础知识,准备参考资料和阅读相关的过程模型的文档。根据各组选择的课题,各组推荐一名组长,将项目开发各阶段的任务明确,统一管理整个项目的实施过程,并合理调整资源和负责项目全局;根据项目的难易合理分配组员的任务,对问题达成一致的看法;针对项目的实施,熟悉电子文档编写和管理工具,以及相应的软件开发工具的使用环境,为编写和管理好软件开发计划和系统需求变更管理做好准备。
3、实验内容:
1) 制定开发计划
2) 需求获取
3) 需求分析
建立需求模型
包括用例图、活动图;编写数据字典(是对系统用到的所有数据项和结构的定义,以确保开发人员使用统一的数据定义,在需求阶段,数据字典至少应定义客户数据项以确保客户与开发小组是使用一致的定义和术语。)
编写需求规格说明书
•为每项需求注上标号
•可跟踪性和可修改性的质量标准,必须唯一确定每个软件需求。
•为每项需求注上标号制定一种惯例来为需求规格说明书中的每项需求提供一个独立的可识别的标号或记号。
•这种惯例应当很健全,允许增加、删除和修改。
•作了标号的需求使得需求能被跟踪,记录需求变更并为需求状态和变更活动建立度量。 •需求标识方法有序列号;层次化编码;使用"待确定"(tobedetermined,TBD)符号等。
•记录业务规范。是指关于产品的操作原则,比如谁能在什么情况下采取什么动作。将这些编写成需求规格说明书中的一个独立部分,或一独立的业务规范文档。
4)需求验证
•审查需求文档
•在需求开发期间进行非正式评审。
•将合格的测试建立在使用情景描述或使用实例的基础之上。依据需求编写测试用例 •根据用户需求所要求的产品特性写出黑盒功能测试用例。
•确定合格的标准,
•确定合格的标准让用户描述什么样的产品才算满足他们的要求和适合他们使用的。
•从测试用例追溯回功能需求以确保没有需求被疏忽,并且确保所有测试结果与测试用例相一致。
•要使用测试用例来验证需求模型的正确性,如对话框图和原型等。
5)需求管理
4、实验要求
1.编制项目可行性说明、需求说明、测试用例电子文档。
2.结构化系统绘制分层数据流图,编写数据字典,绘制SC图;面向对象系统编制用例图、用例规约、用例活动图。
3.编制系统原型说明电子文档
第二阶段实验:软件工程系统分析和设计过程
一、实验目的
1.练习架构模型设计方法
2.练习面向对象的系统分析方法(结构化分析与设计的方法请参考教材第四章)
3.练习问题域模型的设计方法
4.练习PowerDesigner建模工具的使用
二、实验准备
1.实验之前学生应了解本项目的业务流程。
2.了解面向对象的系统分析方法。
3.了解面向对象的系统建模方法。
4.基本掌握至少一种建模工具软件如:PowerDesigner、RationalRose或MicrosoftVisio。
三、实验课考查内容:
(l)总体设计过程
根据开发计划和需求说明书,进行:
高层设计阶段:架构设计
架构设计内容:
确定存在哪些应用程序组件。
确定采用哪些API功能,采用哪些通信协议,以及组件需要哪些特殊的功能。
确定采用什么容器产品
确定采用什么操作系统
确定采用什么硬件体系
做出相应的包图和部署图
模型设计阶段
用户界面设计
模块设计
概要设计
详细设计
数据库设计
(2)概要设计
根据需求说明分解系统功能为各个层次和多个模块和子模块。做出层次和模块图,系统操作流程图。
从各模块的用例场景中识别抽取出候选关键词。
从候选关键词中找出关键词,生成系统关键字词典识别出UML类图中的基本元素。 给出类图中基本元素之间的关联和协作关系。
用类图构造系统问题域模型。
识别出UML对象图中的基本元素。
使用一个或多个对象图去检验构造的类图的正确性。
数据库逻辑设计
分析对象、对象间关系及对象的属性与形为。对需要转换为数据库的类转换为数据库实
体关系图,用数据库的形式表示对象及对象关系。
(3)详细设计
说明设计模型的目标元素
确定UML协作图的基本元素。
为各用例图建立设计模型。
确定UML顺序图的基本元素。 做出设计模型的顺序图。 做出设计模块的活动图,标示出对象活动的分支和循环,标示出并发执行的活动。 为复杂对象建立状态图,标示它们的初始状态、稳定状态及其生命期,标示它们的状态
变换的触发事件,状态变换时的活动接口与属性设计确定每个模块的主要接口与属性。如果采用面向对象方法(OOAD),相当于设计类的方法和属性,但不一定由一个类实现。
数据结构与算法设计
确定每个模块的数据结构与算法
数据库物理设计
根据数据库实体关系图设计存储结构,如表、视图。
根据数据库实体关系图设计实体关系,如:约束、触发器、存储过程等。
逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对
应的。对表结构进行规范化处理安全性设计。数据库系统访问安全计,密码安全设计,数据访问安全设计(角色、权限)保护性设计。防卫性设计(自动纠错),一致性设计,冗余设计
四、实验要求:
1.系统关键词抽取,建立需求模型。
2.绘制问题域模型(类图、顺序图、协作图、活动图、状态图)。
3.绘制系统架构模型(包图、组件图)。
4.编写系统详细说明书。
5.按开发计划说明书规划的内容和时间将对应设计文档归档。
第三阶段实验:软件工程系统构造和测试过程
一、实验目的
1.练习体系结构配置。
2.练习代码生成和细化。
3.练习数据库配置管理。
4.练习系统部署、测试和集成。
二、实验准备
1.在实验之前要求掌握某种面向对象编程语言。
2.掌握关系数据库设计知识。
3.掌握操作系统和网络管理知识。
4.了解系统配置、测试和集成知识。
三、实验内容
根据开发计划和详细设计说明书,进行:
(1)系统配置
根据系统架构模型和系统设计模型生成的解决方案,将软件系统的体系模型、用户界面、数据库、功能模型等用到的资源、开发和运行环境装配到一起,准备好构建系统的开发环境。
认真遵循软件详细说明书给出的体系结构,系统模型,合理分工,安排角色与任务分配,并合理划分系统的各组成模块,编制出各模块源代码。生成和测试单元模块和数据库,集成各模块,实现系统正确的运行。
(2)代码设计
根据确定的系统架构(单机、C/S、WEB…)以及使用GUI还是WebUI应用程序方式来部署开发方案。可将架构和设计模型中的模块规划为:
•边界组件(对于WebUI它又被划分为视图和控制组件):负责用户界面操作
•服务组件:负责消息通信与后台事务处理
•实体组件:实现用户功能需求
进一步细化各个类的属性、方法、关系和数据结构,实现各模块中接口和方法的算法。
将相关组件归入不同的包中,将各个包部署到计划好的架构层中。 根据设计模型自动和手工产生设计模块的源代码;
根据设计模块的源代码编译、装配出对应的可执行模块。
对各组件进行单元测试,检查是否能完成其基本功能。
将通过了单元测试的各组件装配集成到配置好的系统架构中。
(3)测试验收
•通过使用测试用例以确认是否达到了期望的要求。
•从测试用例确保没有需求被疏忽,并且确保所有测试结果与测试用例相一致。
•使用测试用例来验证系统各个功能的正确性,如对话框图和原型等。 •用测试用例测试系统的可靠性是否达到了需求说明的要求。
•用测试用例测试系统的安全性是否达到了需求说明的要求。 •用测试用例测试系统的执行效率是否达到了需求说明的要求。
四、实验要求
1.配置系统架构
2.构建数据库
3.生成源代码包
4.生成设计组件
5.单元测试
6.系统集成和验收(测试用例)
7.按开发计划规划的内容和时间将对应代码文档归档。
8.按开发计划规划的内容和时间将对应测试文档归档。
实验总体要求
学生采用“项目小组”的形式,结合具体的开发项目进行设计。
具体要求如下:
1.班级按项目小组进行分组,每组4至5人;
2.每个项目小组成员要分配不同的工作角色;
3.选出项目负责人,负责召集项目组成员讨论、选定开发项目;
4.项目中的每项任务要落实到人且规定该任务的起止日期和时间。
5.题目自拟
第一阶段实验:软件工程开发计划和需求开发过程
1、实验目的
项目计划的目的是根据项目需求为项目的研发和管理工作制定合理的行动纲领,以便所有相关人员按照计划有条不紊地开展工作。
1.练习估计项目的总体规模、工作量和成本。
2.练习制定项目计划,产品生命周期中的主要关键任务。
3.练习制定项目时间表和预算。
4.练习需求获取、需求分析、需求管理
2、实验准备:
在进行实验之前,必须掌握软件开发过程的一些基础知识,准备参考资料和阅读相关的过程模型的文档。根据各组选择的课题,各组推荐一名组长,将项目开发各阶段的任务明确,统一管理整个项目的实施过程,并合理调整资源和负责项目全局;根据项目的难易合理分配组员的任务,对问题达成一致的看法;针对项目的实施,熟悉电子文档编写和管理工具,以及相应的软件开发工具的使用环境,为编写和管理好软件开发计划和系统需求变更管理做好准备。
3、实验内容:
1) 制定开发计划
2) 需求获取
3) 需求分析
建立需求模型
包括用例图、活动图;编写数据字典(是对系统用到的所有数据项和结构的定义,以确保开发人员使用统一的数据定义,在需求阶段,数据字典至少应定义客户数据项以确保客户与开发小组是使用一致的定义和术语。)
编写需求规格说明书
•为每项需求注上标号
•可跟踪性和可修改性的质量标准,必须唯一确定每个软件需求。
•为每项需求注上标号制定一种惯例来为需求规格说明书中的每项需求提供一个独立的可识别的标号或记号。
•这种惯例应当很健全,允许增加、删除和修改。
•作了标号的需求使得需求能被跟踪,记录需求变更并为需求状态和变更活动建立度量。 •需求标识方法有序列号;层次化编码;使用"待确定"(tobedetermined,TBD)符号等。
•记录业务规范。是指关于产品的操作原则,比如谁能在什么情况下采取什么动作。将这些编写成需求规格说明书中的一个独立部分,或一独立的业务规范文档。
4)需求验证
•审查需求文档
•在需求开发期间进行非正式评审。
•将合格的测试建立在使用情景描述或使用实例的基础之上。依据需求编写测试用例 •根据用户需求所要求的产品特性写出黑盒功能测试用例。
•确定合格的标准,
•确定合格的标准让用户描述什么样的产品才算满足他们的要求和适合他们使用的。
•从测试用例追溯回功能需求以确保没有需求被疏忽,并且确保所有测试结果与测试用例相一致。
•要使用测试用例来验证需求模型的正确性,如对话框图和原型等。
5)需求管理
4、实验要求
1.编制项目可行性说明、需求说明、测试用例电子文档。
2.结构化系统绘制分层数据流图,编写数据字典,绘制SC图;面向对象系统编制用例图、用例规约、用例活动图。
3.编制系统原型说明电子文档
第二阶段实验:软件工程系统分析和设计过程
一、实验目的
1.练习架构模型设计方法
2.练习面向对象的系统分析方法(结构化分析与设计的方法请参考教材第四章)
3.练习问题域模型的设计方法
4.练习PowerDesigner建模工具的使用
二、实验准备
1.实验之前学生应了解本项目的业务流程。
2.了解面向对象的系统分析方法。
3.了解面向对象的系统建模方法。
4.基本掌握至少一种建模工具软件如:PowerDesigner、RationalRose或MicrosoftVisio。
三、实验课考查内容:
(l)总体设计过程
根据开发计划和需求说明书,进行:
高层设计阶段:架构设计
架构设计内容:
确定存在哪些应用程序组件。
确定采用哪些API功能,采用哪些通信协议,以及组件需要哪些特殊的功能。
确定采用什么容器产品
确定采用什么操作系统
确定采用什么硬件体系
做出相应的包图和部署图
模型设计阶段
用户界面设计
模块设计
概要设计
详细设计
数据库设计
(2)概要设计
根据需求说明分解系统功能为各个层次和多个模块和子模块。做出层次和模块图,系统操作流程图。
从各模块的用例场景中识别抽取出候选关键词。
从候选关键词中找出关键词,生成系统关键字词典识别出UML类图中的基本元素。 给出类图中基本元素之间的关联和协作关系。
用类图构造系统问题域模型。
识别出UML对象图中的基本元素。
使用一个或多个对象图去检验构造的类图的正确性。
数据库逻辑设计
分析对象、对象间关系及对象的属性与形为。对需要转换为数据库的类转换为数据库实
体关系图,用数据库的形式表示对象及对象关系。
(3)详细设计
说明设计模型的目标元素
确定UML协作图的基本元素。
为各用例图建立设计模型。
确定UML顺序图的基本元素。 做出设计模型的顺序图。 做出设计模块的活动图,标示出对象活动的分支和循环,标示出并发执行的活动。 为复杂对象建立状态图,标示它们的初始状态、稳定状态及其生命期,标示它们的状态
变换的触发事件,状态变换时的活动接口与属性设计确定每个模块的主要接口与属性。如果采用面向对象方法(OOAD),相当于设计类的方法和属性,但不一定由一个类实现。
数据结构与算法设计
确定每个模块的数据结构与算法
数据库物理设计
根据数据库实体关系图设计存储结构,如表、视图。
根据数据库实体关系图设计实体关系,如:约束、触发器、存储过程等。
逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对
应的。对表结构进行规范化处理安全性设计。数据库系统访问安全计,密码安全设计,数据访问安全设计(角色、权限)保护性设计。防卫性设计(自动纠错),一致性设计,冗余设计
四、实验要求:
1.系统关键词抽取,建立需求模型。
2.绘制问题域模型(类图、顺序图、协作图、活动图、状态图)。
3.绘制系统架构模型(包图、组件图)。
4.编写系统详细说明书。
5.按开发计划说明书规划的内容和时间将对应设计文档归档。
第三阶段实验:软件工程系统构造和测试过程
一、实验目的
1.练习体系结构配置。
2.练习代码生成和细化。
3.练习数据库配置管理。
4.练习系统部署、测试和集成。
二、实验准备
1.在实验之前要求掌握某种面向对象编程语言。
2.掌握关系数据库设计知识。
3.掌握操作系统和网络管理知识。
4.了解系统配置、测试和集成知识。
三、实验内容
根据开发计划和详细设计说明书,进行:
(1)系统配置
根据系统架构模型和系统设计模型生成的解决方案,将软件系统的体系模型、用户界面、数据库、功能模型等用到的资源、开发和运行环境装配到一起,准备好构建系统的开发环境。
认真遵循软件详细说明书给出的体系结构,系统模型,合理分工,安排角色与任务分配,并合理划分系统的各组成模块,编制出各模块源代码。生成和测试单元模块和数据库,集成各模块,实现系统正确的运行。
(2)代码设计
根据确定的系统架构(单机、C/S、WEB…)以及使用GUI还是WebUI应用程序方式来部署开发方案。可将架构和设计模型中的模块规划为:
•边界组件(对于WebUI它又被划分为视图和控制组件):负责用户界面操作
•服务组件:负责消息通信与后台事务处理
•实体组件:实现用户功能需求
进一步细化各个类的属性、方法、关系和数据结构,实现各模块中接口和方法的算法。
将相关组件归入不同的包中,将各个包部署到计划好的架构层中。 根据设计模型自动和手工产生设计模块的源代码;
根据设计模块的源代码编译、装配出对应的可执行模块。
对各组件进行单元测试,检查是否能完成其基本功能。
将通过了单元测试的各组件装配集成到配置好的系统架构中。
(3)测试验收
•通过使用测试用例以确认是否达到了期望的要求。
•从测试用例确保没有需求被疏忽,并且确保所有测试结果与测试用例相一致。
•使用测试用例来验证系统各个功能的正确性,如对话框图和原型等。 •用测试用例测试系统的可靠性是否达到了需求说明的要求。
•用测试用例测试系统的安全性是否达到了需求说明的要求。 •用测试用例测试系统的执行效率是否达到了需求说明的要求。
四、实验要求
1.配置系统架构
2.构建数据库
3.生成源代码包
4.生成设计组件
5.单元测试
6.系统集成和验收(测试用例)
7.按开发计划规划的内容和时间将对应代码文档归档。
8.按开发计划规划的内容和时间将对应测试文档归档。