UML distilled series --- UML & Development Processes
UML简单定义: 一系列的图形符号,由有助于描述和设置软件系统,特别是面向对象的软件系统的单个元模型构建而成。
从实践来看,UML的定义对于不用的使用者来说,具有不同的含义。
使用UML的主要方式
将UML作为sketch(草图), blueprint(蓝图), programming(编程)
Sketch:开发人员通过UML是系统内部之间的相互交流
Blueprint: 通过UML来正向工程(从UML生成带买)和反向工程(从代码生成UML)
Programming:通过UML来直接生成可执行的代码。这个时候,UML就相当于“源代码”
Development process
Waterfall瀑布开发过程和Iterative迭代开发过程
瀑布开发过程将一个工程根据其内部行为分成几个阶段,每个阶段有明确的时间界限。
|
需求分析 |
系统设计 |
编码 |
测试 |
迭代开发过程将一个工程根据其功能划分成几个阶段,每个阶段以该功能完成为界限。在每个阶段里完成分析,设计,编码和测试。
|
功能一 |
功能二 |
||||||
|
需求分析 |
系统设计 |
编码 |
测试 |
需求分析 |
系统设计 |
编码 |
测试 |
Predictive预测计划和Adaptive调整计划
预测计划将一个项目分为两个阶段。第一个阶段从计划开始,但是计划很难预测。第二个阶段则是计划很同意预测。
调整计划,则根据需求不停的调整项目的计划。一旦项目的成不超出项目计划的时间成本或者金钱成本,则宣告项目失败。
Agile敏捷开发过程
敏捷开发成果涉及由敏捷软件开发组织定义的一套通用的价值和原则的开发过程。比如XP, Scrum, FDD, Crystal, DSDM.
敏捷开发注重团队中人员的素质及其有效的团队合作,而采用何种开发过程和开发工具则是次要的因素。
Rational Unified Process
RUP其实就是一个开发框架。根据不同的项目选择不同的开发过程案例。根据案例依葫芦画瓢。这需要一个经验很丰富的人根据当前的项目来选择开发框架,并且在开发过程对项目予以指导和管理。一般来说,RUP分为四个阶段:Inception, Elaboration, Construction and Transition.
为您的项目找到一个合适的开发过程。
没有绝对的标准,但是就目前来看,迭代开发是推荐的开发过程。
为您的项目的过程找到合适的UML
需求分析阶段:Use case, Class diagram, Activity diagram and State diagram
系统设计阶段:Class diagram, Sequence diagram, Package diagram, State diagram and Deployment diagram.
参考资料
1 UML Distilled, Addison Wesley Press
2 http://www.omg.org/ Object Management Organization
4 http://www.smartdraw.com/tutorials/software/booch/tutorial_01.htm [Booch, OOAD]
5 http://www.amazon.com/Applying-UML-Patterns-Introduction-Object-Oriented/dp/0130925691
6 http://www.amazon.com/Modeling-Language-Reference-Addison-Wesley-Technology/dp/020130998X
10 http://www.agilemanifesto.org/
11 http://hillside.net/patterns/ [pattern]
12 http://www.retrospectives.com/ [retrospective]
浙公网安备 33010602011771号