UML-2-迭代、进化和敏捷
1、UP
UP:Unified Process,统一过程。RUP:Rational Unified Process,Rational 公司制定的UP,是对UP的精细化。
UP的过程:
| 
 初始  | 
 不是需求,而是对项目做可行性研究。  | 
| 
 细化  | 
 不是需求或设计,而是迭代实现核心架构并解决高风险问题阶段。  | 
| 
 构造  | 
 对遗留下来的风险较低和比较简单的元素迭代实现,准备部署。  | 
| 
 移交  | 
 测试、部署  | 
高风险问题:如能够处理500个并发交易,数据库单表数据量过大如何解决。
UP科目:

UP的科目和瀑布模型很类似。

2、迭代
迭代是UP的实现方法。而实现迭代的开发模型包含:快速原型模型、增量模型、螺旋模型、喷泉模型
而瀑布模型:计划《--》需求分析《--》系统设计《--》编码《--》测试《--》上线、维护
如何迭代分析和设计?
每次迭代内容:
A、高阶需求分析。
B、从高阶列表中筛选10%列表项(具有重要架构意义、产品最关心的高业务价值业务、高风险)
C、对B中列出的需求,深入分析。
D、建模、设计,画UML草图
E、开发、测试
核心思想:80%的时间完成20%的核心功能。
3、敏捷开发
敏捷开发是采用时间定量的迭代开发实践。原则是优先完成客户最需要的,其实施力求灵敏、简洁。比如:小系统可不用画uml,大系统可画,但尽量简单,可画草图或白板作图。不必追求uml专业软件。
4、总结
1)、敏捷-----》迭代-----》UP
迭代是UP的开发实践。而实现迭代的开发模型包含:快速原型模型、增量模型、螺旋模型、喷泉模型。
而敏捷开发是采用时间定量的迭代开发实践。
2)、UP关键
首先解决高业务价值、高风险问题。
然后制定核心架构。
其他都是低阶问题。
UML-2-迭代、进化和敏捷的更多相关文章
- 瀑布式开发、迭代开发、敏捷开发、XP与SCRUM的区别
		
瀑布式开发.迭代开发,区别[都属于,生命周期模型] 两者都是一种开发模式,就像设计模式一样,考虑的角度不一样,个人感觉谈不到取代一说. 传统的瀑布式开发,也就是从需求到 ...
 - UML和模式应用2: 迭代、进化和敏捷
		
1.前言 本章主要介绍迭代.敏捷开发及UP(统一过程)的基本概念 2.基本术语 Items Note 软件开发过程 描述了构造.部署及维护软件的方式 迭代开发 是一种软件开发过程的生命周期模型,依赖短 ...
 - UML和模式应用5:细化阶段(7)---从需求到设计迭代进化
		
1.前言 迭代开发中,每次迭代都会发生从以需求或分析为主要焦点到以设计和实现为主要焦点的转变 分析和面向对象的分析重点关注学习做正确的事,理解案例重要目标,规则和约束 设计工作强调正确的做事,熟练设计 ...
 - UML-从需求到设计--迭代进化
		
按照UP原则,初始阶段做10%的需求,而细化阶段开始为这10%的需求设计解决方案.后续章节介绍如何设计.
 - 《UML和模式应用(原书第3版)》目录
		
学习 <UML和模式应用(原书第3版)>目标: 理解OOA/D思想 如何使用UML建模 如何使用设计模式 如何设计分层架构 目录: 第1部分 绪论 第1章 面向对象分析和设计 第2章 迭代 ...
 - 《UML和模式应用》读书笔记(一)
		
一.绪论 1. 面向对象分析和设计 1.1 什么是分析和设计 分析(analysis)强调的是对问题和需求的调查研究,而不是解决方案. 设计(design)强调的是满足需求的概念上的解决方案,而不是其 ...
 - 敏捷软件开发vs传统软件开发
		
摘要 本文介绍了传统软件开发(着重介绍了传统软件开发中常用的瀑布模型)和敏捷软件开发,以及敏捷开发和传统开发的对比. 一.传统软件开发 比较常用的几种传统软件开发方法:瀑布式开发.迭代式开发.螺旋开发 ...
 - 敏捷开发(Agile development)
		
敏捷开发(Agile development) 敏捷开发是一种以人为核心.迭代.循序渐进的开发方法.在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征. ...
 - 项目的敏捷开发方法(转自MBAlib)
		
项目的敏捷开发方法 敏捷方法很多,包括 Scrum.极限编程.功能驱动开发以及统一过程(RUP)等多种法,这些方法本质实际上是一样的,敏捷开发小组主要的工作方式可以归纳为:作为一个整体工作: 按短迭代 ...
 
随机推荐
- XMLHttpRequest实现Ajax异步请求
			
一.XMLHttpRequest的方法 方法 描述 abort() ...
 - SpringMVC——数据转换 & 数据格式化 & 数据校验
			
一.数据绑定流程 1. Spring MVC 主框架将 ServletRequest 对象及目标方 法的入参实例传递给 WebDataBinderFactory 实例,以创 建 DataBinder ...
 - 在Global.asax文件的Application_BeginRequest中获取request请求内容
			
protected void Application_BeginRequest(object sender, EventArgs e) { try { string isLogRequest = Sy ...
 - 编写高质量代码改善C#程序的157个建议——建议31:在LINQ查询中避免不必要的迭代
			
建议31:在LINQ查询中避免不必要的迭代 无论是SQL查询还是LINQ查询,搜索到结果立刻返回总比搜索完所有的结果再将结果返回的效率要高. 示例代码: class MyList : IEnumera ...
 - 日期多选插件Kalendae.js
			
在项目中要实现日期多选的功能,于是在网上找到Kalendae.js,此文主要记录本人对于Kalendae.js的一些用法,以便以后查阅,希望对读者也有所帮助 主要内容如下: Kalendaejs一句话 ...
 - OkHttp3的简单使用(一)
			
一.导入 1)gradle方式: compile 'com.squareup.okhttp3:okhttp:3.8.0'(okhttp 最新版) compile 'com.squareup.okio: ...
 - delphi让exe开机自启动
			
procedure AutoRunOnSystemStart(Title, FileName: String);const _Software_Microsoft_Windows_CurrentVe ...
 - 命令(Command)模式
			
命令(Command)模式:命令模式是对命令的封装.命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象 /* * 客户(Client)角色:创建了一个具体命令(ConcreteComma ...
 - jQuery插件扩展extend的实现原理
			
相信每位前端的小伙伴对jQuery都不陌生吧,它最大的魅力之一就是有大量的插件,去帮助我们更轻松的实现各种功能. 前几天晚上,闲来无事,就自己动手写了个简单的jQuery插件,功能很简单,只是让选定的 ...
 - 「CF932E」 Team Work
			
题目链接 戳我 题意 有\(n\)个箱子,从中选出\(i\)个箱子,然后把\(k\)个不同的球装在这\(i\)个箱子中,求方案数. 实际上这题就是求: \[ \sum_{i=1}^nc_n^i*i^k ...