离开水的鱼

——飞来飞去!游去游来!俺的收藏夹

导航

UML中的一些疑惑!

Posted on 2004-11-09 11:28  Gavin  阅读(593)  评论(0编辑  收藏  举报
1.在什么时候需要一个业务模型?什么时候只需要用例模型就足够了?
2.对于特定的业务建模情景,我们应该使用哪一种 UML 图?例如,如何知道应该使用时序图还是使用协作图?
3.UML 业务模型是如何与其他 UML 模型(领域模型、用例模型等等)相关联的?我应该如何组织这些模型呢?

坐这又看了半天书只对第2个问题,有点感觉写在下面,其它的还需要各位帮忙研究一下先!
  对第2个问题的理解:
  从RUP的方向理解:
        RUP将软件生命周期划分为四个连续的阶段
        初始阶段
        细化阶段
        构造阶段
        交付阶段
    我的理解就是在不同的阶段,需要使用不同的的UML图:
    初始阶段:
         这个阶段是从业务模型开始的,所以可以建立Business Use Case模型,包括业务用例、业务角色等,所以用Use Case图比较合适。
   细化阶段:
         这个阶段需要细化系统需求,因此需要更新Use Case图,还需要Activity 图,用来演示事件流程,在细化处理流程时,可以利用Sequence图和Collaboration图,有助于设计系统所需要的对象。为了给系统设计做准备,可以创建 Class图和Statechart图,最后在确定了系统组件后,可以建立Component图。
   构造阶段:
         在构造阶段主要是对细化阶段所建立的Sequence 、Collaboration 、  Class 、  Statechart 、 Component图进行合理化的改进,以便于更有利与系统的开发。这时候的组件图应该已经完全成型,以便于部署工作的进行。
    交付阶段:
         这个阶段主要完成Deployment图的实现,并按软件需求规范更新Use Case 、Class 、Component 图。

   从使用对象的方向理解:
         Use Case图:主要是从用户角度对系统的要求,主要反应用户对系统的需求。
         Activity图:用于用户和分析人员的交流,主要演示系统的功能流,便于分析人员完善需求。
         Sequence图:对项目的相关人员都有用,分析人员可以看到系统的处理流程,开发人员可以抽象出所需的对象和对象的操作,测试人员可以根据它开发出测试用例。
         Collaboration图:显示信息与Sequence图类似,但是没有时序性。
         Class图:主要是开发人员用来开发类。
         Statechart图:表示系统中类与类的交互,作用不大,主要是开发人员使用。
         Component图:显示软件中组件及其相互关系,主要是由编译系统的人员使用,或者配置管理员。
         Deployment图:表示系统的物理布局和各组件的位置,所以可以给项目管理员,用户和部署人员使用。

        写了这么一堆,不知道对不对,还希望大家一起来讨论,尤其是另外两个还没解决的问题!