RUP之动态结构:迭代开发

article/2025/10/4 8:36:02

迭代过程一般分为四个阶段:初始、细化、构造和移交,简称为I,E,C和T。每个阶段以一个重要的里程碑(milestone)结束。 

初始(Inception)阶段

确定最终产品的构想及其业务用例、并定义项目范围

初始阶段以生命周期目标(LCO)里程碑为结束点

细化(Elaboration)阶段

计划出必须完成的活动和需要的资源;详细说明产品特性并设计架构

细化阶段以生命周期构架(LCA)里程碑为结束点 

构造(Construction)阶段

构造整个产品,逐步完善视图、构架和计划,直到产品(完整的构想)已完全准备好交付给用户。

构造阶段以最初运作能力(IOC)里程碑为结束点。

移交(Transition)阶段

移交产品给用户,包括制造、交付、培训、支持及维护产品,直至用户满意。

移交阶段以产品发布版本里程碑为结束点,这也是整个周期的结束点。

 

I,E,C,T这四个阶段构成了开发周期,当周期结束时产生一代软件产品。

软件产品重复IECT这个过程,从而发展成为下一代产品。

周期与周期之间是可以存在时间重叠的。一个周期的初始与细化阶段与上一个周期的移交阶段可能是同时进行的。

从一个迭代过程到另一个迭代过程,从一个阶段到另一个阶段,重点关注的活动是不同的。初始阶段,焦点主要放在理解所有的需求并决定开发工作量的范围上。 细化阶段,焦点放在需求上。一些软件设计和实施的目标是开发构架原型,用来缓解特定技术风险并学习运用特定的工具和技术。此构架原型将作为下一阶段的基线。构架阶段,焦点放在产品的设计与实现上。这时,可以在最初的构架原型基础上生产出第一个可以运行的产品。 移交阶段,焦点是确保系统保持预期的质量水平;修复缺陷、培训用户、调整特性、增加遗漏掉的元素。至此,交付最终产品。

 

初始阶段:

主要任务:

令所有的项目相关人员对生命周期目标达成一致意见。

主要目标:

确定项目的软件范围和边界条件,包括一个可操作的概念、可接受的准则和什么是产品目标、以及什么不是产品目标的详尽描述

识别系统的关键用例——即主要行为情景

展示或者示范至少一个针对主要情景的候选构架

估计整个项目需要的费用和时间表,并对下一阶段给出评估

评估风险(不确定性的来源)

主要活动:

系统化地明确表述项目的范围——即捕获项目的语境、需求及限制。

计划并准备业务用例,评价风险管理、人员配备、项目计划,权衡成本、进度和利润。

合成一个候选构架,评价有关设计因素,评估制作/买进/重用的对策,以估算成本、进度和需要的资源。

成果和制品 :

一个构想文档——即关于项目核心需求、关键特性和主要限制的构想

一个关于用例模型的调查,包括所有在此阶段可以确定的用例和参与者

初期的项目术语

一个初始的业务用例,包括 业务环境 、关于是否成功的评价标准(项目收入、市场认识等) 、经济预测

一个早期的风险评估

一个可以显示阶段和迭代的项目计划

可能还会产生以下制品:

完成10%-20%的用例模型

一个比术语表更详细的领域模型

一个业务模型

一个初步的开发案例描述,用于详细说明将用到的过程

一个或几个原型

生命周期目标里程碑:

生命周期目标里程碑评价初始阶段的准则如下:

是否定义了项目范围,估计了成本和制定了进度安排。

评估用例对需求的理解是否正确

评估成本、进度安排、优先权、风险和开发过程的可信度

实际成本与计划成本的对比

 

细化阶段:

主要任务:

分析问题领域、建立合理的构架基础、确定项目计划、评价项目最有可能出现的风险因素。

主要目标:

以实际所能达到的最快速度定义、确认构架,并将其基线化

设置构想的基线

为构造阶段的高可信度计划设定基线

考虑构想的基线的合理性,即可以在合理的时间内以合理的费用来完成

主要活动:

细化构想,完成和明确大部分的关键用例,这些用例将驱动做出最终构架和决定计划。

细化过程、基础设施和开发环境,过程、工具和自动支持也都各就各位。

细化构架并选择组件。

成果和制品:

用例模型至少完成80%,包括定义了在用例模型调查中识别出的所有用例、参与者和大部分用例描述。

补充需求分析,包括非功能性需求

一个软件构架描述

一个可执行的构架原型

一个修改过的风险清单和业务用例

一个整个项目的开发计划,计划中显示了迭代过程和每个迭代过程的评价准则。

一个已更新的开发案例,其中详细描述了将要用到的过程。

一个初步的用户手册(可选的)。

生命周期架构里程碑:

生命周期构架里程碑检验细化的系统目标和范围、构架的选择以及主要风险的解决方案。

评价准则:

产品构想是否稳定? 构架是否稳定? 可执行的演示中,主要风险因素是否已经确实处理并解决? 构造阶段计划是否足够详细精确?估计是否建立在可信的基础上? 后继开发人员是否会认可当前的构想? 实际的资源消耗相对于计划消耗来说是否可以接受

 

构造阶段:

主要任务 :

所有保留下来的构件和应用程序特征将被开发并集成以形成产品,而后所有的特征将被彻底测试。

主要目标:

优化资源和避免不必要的浪费和返工,降低开发成本。

以实际最快的速度提高产品质量

以实际最快的速度生产一个可用的版本(beta) 

主要活动 :

资源管理、资源控制和过程优化

完成构件开发并根据已定义的评价准则进行测试

针对根据构想制定的接受准则对发布的产品进行评估

成果和制品 :

在适当的平台上集成的软件产品

用户手册

对当前版本的描述

最初运作能力里程碑:

最初运作能力里程碑要明确软件、场地、用户是否都准备好正常运行而没有将项目暴露在高风险下,这个版本通常被称为beta版本。

评价准则:

这个产品版本是否足够成熟稳定,可在用户群中实施? 是否所有项目相关人员都准备好将产品向用户群推广? 实际的资源消耗相对于计划消耗是否可以被接受?

 

移交阶段:

主要任务:

将软件产品移交给用户群,具体包括:

Beta测试,确认系统与用户的期望是否一致

平行操作项目,取代一流系统

转换运行的数据库

培训用户和维护人员

产品的首次展示

主要目标:

达到用户自我可支持的程度

完成实施基线,该基线满足构想的评价准则

以实际可能的最快速度和最高效益达到最终的产品基线

主要活动:

完成实施工作:结尾工作、商业包装和生产、销售展示以及训练专业人员

调整活动,包括修复缺陷以及为了提高性能和可使用性而作的添加

根据产品构想的接受准则评估实施基线

产品发布里程碑:

产品发布里程碑判断本周期目标是否达到,并决定是否要进入下一个新的开发周期。 有些情况下,这个里程碑会与下一个周期的初始阶段的结束点同时发生。

评价准则: 用户是否满意? 实际的资源消耗相对于计划消耗是否可以被接受?

 


http://chatgpt.dhexx.cn/article/PUSSZLM1.shtml

相关文章

开发模式(敏捷开发,瀑布式开发,螺旋型开发,迭代开发,devOps开发)

一. 敏捷开发 以人为核心、迭代、循序渐进的开发方式 简化文档,提取文档重点,主要在于人与人之间的沟通, 对开发产品进行迭代,最终完成开发。 迭代:迭代是指把一个复杂且开发周期很长的开发任务,分解为很…

敏捷开发-快速迭代

(转自:http://blog.csdn.net/xiaoxian8023/article/details/8883791) 今天跟大家分享的是“敏捷开发、快速迭代”。我们大都采用的是“瀑布开发模式”,有了问题,就得返工,虽然最终的产品会比较齐全完善,但是…

一文搞定软件过程模型——瀑布模型、增量式开发/增量开发与迭代开发的区别

软件开发比较经典的过程模型有: 瀑布模型:该模型将基本的过程活动、描述、开发、有效性验证和进化,看成是一些界限分明的独立的过程阶段,例如,需求描述阶段、软件设计阶段、实现阶段、测试阶段等。增量式开发&#xf…

软件迭代开发流程

如果对python自动化测试、web自动化、接口自动化、移动端自动化、大型互联网架构技术、面试经验交流等等感兴趣的老铁们,可以关注我。我会在公众号(程序员阿沐)/群里(810119819)不定期的发放免费的资料链接&#xff0c…

迭代开发流程

转载于:https://www.cnblogs.com/gispathfinder/p/8747869.html

git 迭代开发分支流程规范

前言 Git 的名称太响了,相信大家都听说过,鼎鼎大名的同性交友网站 GitHub 就是基于 Git 作为唯一的版本库格式进行托管的平台。本篇不详细介绍 Git 的使用,仅介绍基于 Git 的开发分支流程规范,需要对 Git有一定的了解。 简述 G…

迭代开发和增量开发

(转自:http://blog.csdn.net/l12345678/article/details/5642851) “迭代”和“增量”是敏捷软件开发中的两个重要概念。弄清楚“迭代”和“增量”以及其依据,我们就可以在实际的操作中有章法可循。 为什么要迭代? 我们…

转」最佳方案:迭代式开发

前言 Fred Brooks 在 25 年前就曾写到:“不要指望一次成功,无论如何你都要这样。” 敏捷开发,小步快跑,持续迭代,不断改进,产品升级。 在用例需要之前,不要添加数据成员 在代码之前编写测试 …

alert意为:警告、警报。

在JavaScript代码中&#xff0c;alert的作用是弹出一个浏览器对话框&#xff0c;"JS代码"为提示对话框的内容 <body><script type"text/JavaScript"> alert("提交成功&#xff01;我会尽快与你取得联系"); </script></body…

JS中alert和alter

JS中没有alter&#xff0c;只用alert&#xff0c;alert表示输出后面的语句

js 的 alert函数问题

alert是js人非常熟悉的东西&#xff0c;可以用来调试&#xff0c;写在这里是想警醒我自己&#xff0c;以后再遇到这样的问题的时候谨记这么修改。 看一个简单例子&#xff1a; <body><div οnmοuseοveralert((function(){return"abc";}()))>abc</…

Alert 提示框的使用

1. Alert 基本的使用 1.1 实现 /// 提示框 struct AlertBootcamp: View {State var showAlert: Bool falseState var alertType: MyAlerts? nilState var alertTitle: String ""State var alertMessage: String ""State var backgroundColor: Color …

java中的alert是什么意思_javascript 中如何使用alert?

alert不行的,要变通的话还是用showModalDialog试试吧. window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框&#xff0c;由于是对话框&#xff0c;因此它并没有一般用window.open()打开的窗口的所有属性。 window.showModelessDialog()方法用来创建一个显示HTML…

Grafana面板(panel):报警功能(alerts)

文章目录 alerts(报警设置)Create a Grafana managed alerting ruleAdd Grafana managed rule alert notifications增加一个notification channel alert报警邮件中的链接地址错误如何配置alert产生的报警如何删除&#xff1f;alert设置注意事项 alerts(报警设置) 注意&#xf…

alertmanger 入门

alertmanger 安装 tags: alertmanager 文章目录 alertmanger 安装1. 简介2. 安装2.1 二进制包部署 AlertManager2.1.1 下载2.1.2 创建 alertmanager 配置文件2.1.3 启动2.1.4 查看状态 2.2 docker 安装2.3 关联 Prometheus 与 Alertmanager 2. 配置文件说明3. 配置示例&#x…

alertmanager的使用

alertmanager的使用 一、Alertanager的安装1、下载2、安装3、启动4、alertmanager和prometheus的整合 二、告警分组1、告警规则2、alertmanager.yml配置3、分组相关的alertmanager的配置4、邮件发送结果 三、告警抑制1、告警规则2、alertmanager.yml 配置抑制规则3、邮件发送结…

JavaScript window.alert

文章目录 相关背景HTML中嵌入JS的第一种方式实现代码图是结果在HTML中插入JS的第二种方式实现代码实现结果HTML中引入JS的第三种方式实现代码实现结果 相关背景 HTML中嵌入JS的第一种方式 实现代码 <!DOCTYPE html> <html lang"en"> <head><me…

Window alert() 方法

一 定义和用法 alert()方法用于显示带有一条指定消息和一个确认按钮的警告框。 二 语法 alert(message) 三 代码 <html> <head> <title>警告对话框的应用</title> <meta http-equiv"Content-Type" content"text/html; charsetgb2312…

html中js alert函数,javascript的alert是什么

alert是javascript中的一个内置函数&#xff0c;用于显示带有一条指定消息和一个“确认”按钮的警告框&#xff1b;语法“alert("文本")”。警告框经常用于确保用户可以得到某些信息&#xff1b;当警告框出现后&#xff0c;用户需要点击确定按钮才能继续进行操作。 本…

AlertManager 简介与使用

简介 之前我们学习 Prometheus 的时候就了解到 Prometheus 包含一个报警模块&#xff0c;就是我们的 AlertManager&#xff0c;Alertmanager 主要用于接收 Prometheus 发送的告警信息&#xff0c;它支持丰富的告警通知渠道&#xff0c;而且很容易做到告警信息进行去重&#xff…