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图:表示系统的物理布局和各组件的位置,所以可以给项目管理员,用户和部署人员使用。
写了这么一堆,不知道对不对,还希望大家一起来讨论,尤其是另外两个还没解决的问题!
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图:表示系统的物理布局和各组件的位置,所以可以给项目管理员,用户和部署人员使用。
写了这么一堆,不知道对不对,还希望大家一起来讨论,尤其是另外两个还没解决的问题!