这个理论内容源自于我阅读的UML .Net 实战一书,这本书整本都在讲五步法的开发过程,因为他是以.Net 为背景编写的所以我想学习一下他其中的一些应用思想。这本书针对的UML不是2.0
UML 五步法并不是适合于开发复杂系统的全功能的OOAD过程,他没有管理、测试、文档编制和审查功能,UML五步法适合于学习UML的框架过程。
6,7,8,9,10章是细化每一个过程的特定章节。
1.定义
找出需求中的角色和域对象,并分别以参与者为核心去画用例图,再以域对象为核心画用例图
以参与者为核心画用例图
以域对象为核心画用例图
Pen,是域对象
2.细化
为每个用例都建立一个场景(活动图)来详细地描述此用例做什么
简单活动图有8个元素:初始状态、终止状态、活动状态、分支、归并、分叉和结合(一个线程变多个线程,多个线程合并为单个线程)。
活动图中的活动可以包含子活动以对活动进一步描述。
3.分配
将活动图划分泳道,就是在前期去分析,这些状态将会在那些类和组件部分去实现。这些类之间的交互,而每个泳道代表了这个组件。
转换上的原型《》,实际其中的英文我认为完全可以用中文去说明:
《invoke》:调用原型,代表在A类中使用了B类中的方法或者属性。
《interrupt》:中断原型,表示A类中正常的运行中,来了事件中断了了A类,到B类中运行,结束后返回A类。
《UI》:界面原型:指一个用户界面的操作活动。
《return》:终止原型:代表调用终止中断结束了。
《display》:显示原型:代表这个转换是显示内容到UI。
而这个带泳道的活动图,可以用顺序图代替,不过顺序图是线性的,而活动图可以表现非线性分支和循环并包含子活动,可以向下钻取更多逻辑活动。
但是在UML2.0中顺序图同样可以解决这些问题,EA工具中似乎是这样做的。
4.设计
实际上他的这一步就是为系统定义一个组件图。但是他的根据是之前的泳道,或者是顺序图。
向类图中添加接口(圆形),并分析此接口将要实现的操作,由那个组件来实现这个接口,并将这个接口定义成类图的接口。
上面的接口类图定义
查找泳道,或者顺序图对象的方法调用,以分析依赖关系。
这个所做的是体系结构的设计
5.重复和再次重复
这个部分是为每一个组件创建类图,考虑每个类的属性和方法。
类图的关联,一般可以理解为一个类包含在另一个类之中。
类图的依赖,可以理解为using 和程序集引用。
网关类
再次细化,就是再执行5步
最后一步他是考虑的部署图
书签82页