软件工程:第9章 统一软件过程(选讲)

上传人:努力****83 文档编号:187567642 上传时间:2023-02-15 格式:PPT 页数:22 大小:720KB
收藏 版权申诉 举报 下载
软件工程:第9章 统一软件过程(选讲)_第1页
第1页 / 共22页
软件工程:第9章 统一软件过程(选讲)_第2页
第2页 / 共22页
软件工程:第9章 统一软件过程(选讲)_第3页
第3页 / 共22页
资源描述:

《软件工程:第9章 统一软件过程(选讲)》由会员分享,可在线阅读,更多相关《软件工程:第9章 统一软件过程(选讲)(22页珍藏版)》请在装配图网上搜索。

1、软件工程概论软件工程概论 Software Engineering第第9章章 统一软件过程统一软件过程9.1 软件开发过程软件开发过程9.2 迭代和递增迭代和递增9.3 核心工作流核心工作流9.4 统一过程的各阶段统一过程的各阶段9.5 二维生命周期模型二维生命周期模型9.1 软件开发过程软件开发过程统一软件过程统一软件过程/统一软件开发过程(统一软件开发过程(Rational Unified Process,RUP):):面向对象面向对象且基于网络的程序开发方法论且基于网络的程序开发方法论主流的面向对象方法主流的面向对象方法权衡:技术、工具、人员、组织模式权衡:技术、工具、人员、组织模式不断

2、进化、相对稳定不断进化、相对稳定5个核心工作流个核心工作流4个阶段个阶段二维生命周期模型二维生命周期模型9.2 迭代和递增迭代和递增面向对象范型是一个迭代和递增方法面向对象范型是一个迭代和递增方法每个工作流由一系列步骤组成。为了完成该工作每个工作流由一系列步骤组成。为了完成该工作流,重复执行工作流的步骤直至开发小组成员满流,重复执行工作流的步骤直至开发小组成员满意地认为,已经有了一个软件产品的精确的意地认为,已经有了一个软件产品的精确的UML模型。模型。软件产品的特性:迭代和递增软件产品的特性:迭代和递增9.3 核心工作流核心工作流5个核心工作流:个核心工作流:1.需求流需求流2.分析流分析流

3、3.设计流设计流4.实现流实现流5.测试流测试流9.3 核心工作流核心工作流需求流需求流的目标:让开发组织确定客户的需求。的目标:让开发组织确定客户的需求。开发小组的第一个任务是对应用领域(简称为域开发小组的第一个任务是对应用领域(简称为域)获得一个基本的了解,即将要运行目标软件的)获得一个基本的了解,即将要运行目标软件的特定的环境。特定的环境。开发小组的任务是准确确定客户的需求并从客户开发小组的任务是准确确定客户的需求并从客户的角度找出存在的限制条件。的角度找出存在的限制条件。客户常常提出错误的产品需求,产生这种情况的客户常常提出错误的产品需求,产生这种情况的主要原因是软件的复杂性。主要原因

4、是软件的复杂性。9.3 核心工作流核心工作流在初始阶段,需求流的工作重点应该放在包括识别在初始阶段,需求流的工作重点应该放在包括识别和详细描述与需求相关的用例:和详细描述与需求相关的用例:1.列出作为系统特征清单候选的需求。列出作为系统特征清单候选的需求。2.理解系统语境。理解系统语境。3.以用例的形式来捕获有关的功能性需求。以用例的形式来捕获有关的功能性需求。4.捕获有关的非功能性需求。捕获有关的非功能性需求。9.3 核心工作流核心工作流分析流分析流的目标:分析、提取和细化需求,以获得正的目标:分析、提取和细化需求,以获得正确开发一个软件产品和易于维护它所必需的需求。确开发一个软件产品和易于

5、维护它所必需的需求。需求流用需求流用客户的语言客户的语言表达,分析流则用表达,分析流则用更精确的更精确的语言语言,以确保设计流和实现流正确地完成。,以确保设计流和实现流正确地完成。分析工作流的结果是分析模型。尽管分析模型本分析工作流的结果是分析模型。尽管分析模型本身就是一种模型,但还是可以将它看做设计模型身就是一种模型,但还是可以将它看做设计模型的切入点。的切入点。通过进行分析,实现了对所关心问题的分离。通通过进行分析,实现了对所关心问题的分离。通过界定在后续的设计与实现活动中应解决的问题过界定在后续的设计与实现活动中应解决的问题和应做出的决定来准备和简化这些活动。和应做出的决定来准备和简化这

6、些活动。what-how9.3 核心工作流核心工作流分析模型包括以下元素:。分析模型包括以下元素:。1.分析包和服务包以及它们之间的依赖关系和内容。分析包和服务包以及它们之间的依赖关系和内容。2.分析类及其职责、属性、关系和特殊需求。分析类及其职责、属性、关系和特殊需求。3.用例实现用例实现分析描述分析描述4.分析模型的构架视图分析模型的构架视图9.3 核心工作流核心工作流设计流设计流的目标:细化分析流的制品,直至材料处于程的目标:细化分析流的制品,直至材料处于程序员可实现的形式。序员可实现的形式。结构化:设计小组确定产品的内部结构。设计人员结构化:设计小组确定产品的内部结构。设计人员将产品分

7、解成模块,它是与产品其他部分有明确定将产品分解成模块,它是与产品其他部分有明确定义的接口的独立代码段。必须详细定义每个模块的义的接口的独立代码段。必须详细定义每个模块的接口(即传递给模块的参数和从模块返回的参数)接口(即传递给模块的参数和从模块返回的参数)。设计小组完成模块化分解之后(结构化设计),。设计小组完成模块化分解之后(结构化设计),开始实施详细设计,为每个模块选择相应的算法和开始实施详细设计,为每个模块选择相应的算法和数据结构。数据结构。面向对象:在分析流期间提取类并在设计流期间设面向对象:在分析流期间提取类并在设计流期间设计它。计它。9.3 核心工作流核心工作流设计小组必须详细记录

8、他们所做的每个设计决定。设计小组必须详细记录他们所做的每个设计决定。设计流的结果是设计模型和实施模型:后续的实现和测设计流的结果是设计模型和实施模型:后续的实现和测试活动的主要输入。试活动的主要输入。9.3 核心工作流核心工作流实现流实现流的目标:用选择的实现语言实现目标软件产品。的目标:用选择的实现语言实现目标软件产品。单个程序员无法知道结构化设计是否正确。仅当开始集单个程序员无法知道结构化设计是否正确。仅当开始集成各个代码制品时,设计的缺陷才开始作为一个整体显成各个代码制品时,设计的缺陷才开始作为一个整体显现出来。现出来。实现阶段的主要结果是实现包含以下元素的实现模型:实现阶段的主要结果是

9、实现包含以下元素的实现模型:1.实现子系统及其依赖关系、接口和内容。实现子系统及其依赖关系、接口和内容。2.构件构件(包括文件构件和可执行构件包括文件构件和可执行构件)以及它们之间的依以及它们之间的依赖。构件经过了单元测试。赖。构件经过了单元测试。3.实现模型的构架视图,包括对构架有重要意义的元素。实现模型的构架视图,包括对构架有重要意义的元素。9.3 核心工作流核心工作流测试流测试流是与其他工作流并行进行的。是与其他工作流并行进行的。测试的主要特性:测试的主要特性:1.每个开发者和维护者都要负责确保他每个开发者和维护者都要负责确保他(她她)的工作的工作是正确的。是正确的。2.一旦软件人员确信

10、一个制品是正确的,就将它交给一旦软件人员确信一个制品是正确的,就将它交给软件质量保证小组进行独立测试。软件质量保证小组进行独立测试。测试流的性质:可追踪性测试流的性质:可追踪性(Traceability)。9.3 核心工作流核心工作流维护维护退役退役9.4 统一过程的各阶段统一过程的各阶段4个递增(阶段):开始阶段、细化阶段、构建阶段个递增(阶段):开始阶段、细化阶段、构建阶段、转换阶段。、转换阶段。统一过程的阶段与递增的各个阶段相对应。统一过程的阶段与递增的各个阶段相对应。9.4 统一过程的各阶段统一过程的各阶段开始阶段开始阶段的目标:决定是否值得去开发目标软件产的目标:决定是否值得去开发目

11、标软件产品。也就是说,这个阶段最主要的目标是明确提出品。也就是说,这个阶段最主要的目标是明确提出的软件产品是否经济上是可行的。的软件产品是否经济上是可行的。第一个步骤是获得该领域的知识。第一个步骤是获得该领域的知识。第二个步骤就是建造一个商业模型。第二个步骤就是建造一个商业模型。第三个步骤是限定提出项目的范围。第三个步骤是限定提出项目的范围。9.4 统一过程的各阶段统一过程的各阶段开始阶段可交付的内容有开始阶段可交付的内容有Jacobson,Booch,and Rumbaugh,1999:1.域模型的初始版本;域模型的初始版本;2.商业模型的初始版本;商业模型的初始版本;3.需求制品的初始版本

12、;需求制品的初始版本;4.分析制品的初步版本;分析制品的初步版本;5.体系结构的初步版本;体系结构的初步版本;6.风险的初始清单;风险的初始清单;7.初始用例;初始用例;8.对细化阶段的计划;对细化阶段的计划;9.商业案例的初始版本。商业案例的初始版本。9.4 统一过程的各阶段统一过程的各阶段细化阶段细化阶段的目标:细化最初的需求、细化体系结构的目标:细化最初的需求、细化体系结构、监视风险和细化它们的属性、细化商业案例,以、监视风险和细化它们的属性、细化商业案例,以及生成软件项目管理计划。及生成软件项目管理计划。9.4 统一过程的各阶段统一过程的各阶段细化阶段的可交付内容包括细化阶段的可交付内

13、容包括Jacobson,Booch,and Rumbaugh,1999:1.完成的问题域模型;完成的问题域模型;2.完成的商业模型;完成的商业模型;3.完成的需求制品;完成的需求制品;4.完成的分析制品;完成的分析制品;5.体系结构的更新版本;体系结构的更新版本;6.风险的更新清单;风险的更新清单;7.软件项目管理计划软件项目管理计划(对于项目的余下部分对于项目的余下部分);8.完成的商业案例。完成的商业案例。9.4 统一过程的各阶段统一过程的各阶段构建阶段构建阶段的目标:产生软件产品的第一个可工作版的目标:产生软件产品的第一个可工作版本,也称为测试版。本,也称为测试版。构建阶段的可交付产品包

14、括构建阶段的可交付产品包括Jacobson,Booch,and Rumbaugh,1999:1.初始用户手册和其他相关手册;初始用户手册和其他相关手册;2.全部制品全部制品(测试版测试版);3.完成的体系结构;完成的体系结构;4.更新的风险清单;更新的风险清单;5.软件项目管理计划软件项目管理计划(用于该项目的其余部分用于该项目的其余部分);6.必要时更新商业案例。必要时更新商业案例。9.4 统一过程的各阶段统一过程的各阶段转换阶段转换阶段的目标:确保客户的需求切实得到满足。的目标:确保客户的需求切实得到满足。转换阶段可交付的产品包括转换阶段可交付的产品包括Jacobson,Booch,and

15、 Rumbaugh,1999:1.全部制品全部制品(最终版最终版);2.完成的手册。完成的手册。9.5 二维生命周期模型二维生命周期模型传统生命周期模型是一维模型,可用单轴坐标表示。传统生命周期模型是一维模型,可用单轴坐标表示。统一软件过程蕴涵的是一个二维生命周期模型。统一软件过程蕴涵的是一个二维生命周期模型。必须将任务划分为递增(阶段),在每个递增内开发者必须将任务划分为递增(阶段),在每个递增内开发者需要不断迭代,直至完成构建的任务。需要不断迭代,直至完成构建的任务。优点:优点:统一过程是迄今为止将大型问题作为一些较小的、具统一过程是迄今为止将大型问题作为一些较小的、具有较独立于问题的子集解决的最好办法。它提供了递有较独立于问题的子集解决的最好办法。它提供了递增和迭代的一个框架,这个机制用于解决大型软件产增和迭代的一个框架,这个机制用于解决大型软件产品的复杂性。品的复杂性。统一过程较好地处理的另一个挑战是无法避免的改变统一过程较好地处理的另一个挑战是无法避免的改变。这个挑战的一个方面是在产品开发过程中客户需求。这个挑战的一个方面是在产品开发过程中客户需求的改变,它被称为移动目标问题。的改变,它被称为移动目标问题。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!