基于UML的面向对象软件开发过程
上一篇 / 下一篇 2010-11-09 14:44:34 / 个人分类:编程与其它
UMl是一种标准的图形化建模语言,它是面向对象分析和设计的一种标准表示。经常用的工具有Microsoft Office Visio 2007 .
3[/pKv3k#{4G0视图
6AXt5TuM|[0UML中的视图大致分为如下5种:
1、用例视图。用例视图强调从系统的外部参与者(主要是用户)的角度看到的或需要的系统功能。
,V,D)U|H7A K02、逻辑视图。逻辑视图从系统的静态结构和动态行为角度显示如何实现系统的功能。
3、组件视图。组件视图显示代码组件的组织结构。
sp Yy~Z
Y2k04、并发视图。并发视图显示系统的并发性,解决在并发系统中存在的通信和同步问题。
.M}ZZ3Z*@ Z1x05、配置视图。配置视图显示系统的具体部署。部署是指将系统配置到由计算机和设备组成的物理结构上。
.\F"Z&A X P(Mg2O0上述5种视图分别描述系统的一个方面,5种视图组合成UML完整的模型。下图显示了构成UML完整模型的5种视图间的关系
6Z9uM)g(kF+d7p051Testing软件测试网0wu2n+@d4~`h`
B `t0
,K3m6CX4q%TM$e}0一、用例视图
用例视图描述系统应具备的功能,也就是被成为参与者的外部用户所能观察到的功能。用例是系统的一个功能单元,可以被描述为参与者与系统之间的一次交互作用。参与者可以是一个用户或者另外一个系统。客户对系统要求的功能被当作多个用例在用例视图中进行描述,一个用例就是对系统的一个用法的通用描述。用例模型的用途就是列出系统中的用例和参与者,并显示哪个参与者参与了哪个用例的执行。用例视图是其他视图的核心,它的内容直接驱动其他视图的开发。
(H~VoL3l'Z ?\
R0二、逻辑视图
e/z-l#py(u0w3~4D0逻辑视图描述用例视图中提出的系统功能的实现。与用例视图相比,逻辑视图主要关注系统内部,它既描述系统的静态结构(类、对象以及他们之间的关系),也描述系统内部的动态协作关系。系统的静态结构在类图和对象图中进行描述,而动态模型则在状态图、时序图、协作图以及活动图中进行描述。逻辑视图的使用者主要是设计人员和开发人员。
三、并发视图
8L%f
g#B&Q-Ip-OtJ0并发视图主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理。除了将系统划分为并发执行的控制以外,并发视图还需要处理线程之间的通信和同步。并发视图的使用者是开发人员和系统集成人员。并发视图由状态图、协作图、以及活动图组成。
四、组件视图
组件是不同类型的代码模块,它是构造应用的软件单元。组件视图描述系统的实现模块以及它们之间的依赖关系。组件视图中也可以添加组件的其他附加信息,例如资源分配或者其他管理信息。组件视图主要由组件图构成,它的使用者主要是开发人员。
[c;dG3ld
qW,\0五、配置视图
配置视图显示系统的物理部署,它描述位于节点上的运行实例的部署情况。配置视图主要由配置图表示,它的使用者是开发人员、系统集成人员和测试人员。配置视图还允许评估分配结果和资源分配。
X,su*]j$p!f0图
r/Gqmb9V:d0UML的各种图是UML模型的重要组成部分
y
{
qBW01、 用例图(Use Case Diagram)
_*{X
R*CdR%e0用例是系统中的一个可以描述参与者与系统直接交互作用的功能单元,用例图的用途是列出系统中的用例和参与者,并显示哪个参与者参与了哪个用例的执行。
_:E*c
X HZ@0B-i3j02、 类图(Class Diagram)
类是对应用领域或应用解决方案中概念的描述。类图以类为中心组织,类图中国的其他元素或属于某个类,或与类相关联。
j1p%]QZS(\H^03、 对象图(Object Diagram)
.EF%Gt o0对象图是类图的变体,它使用与类图相似的符号描述,不同之处在于对象图显示的是类的多个对象实例而非实际的类。可以说对象图是类图的一个例子,对象图与类图表示的不同之处在于它用带下划线的对象名称类表示对象,显示一个关系中的所有实例。
y%NOTonW04、 状态图(State Diagram)
v7?~@$q'zd3l0状态图是对类描述的补充,它用于显示类的对象可能具备的所有状态,以及引起状态改变的事件。实际建模时,并不需要为所有的类都绘制状态图,仅对那些具有多个明确状态并且这些状态会影响和改变其行为的类才有绘制状态图的必要。此外,还可以为系统绘制整体状态图。
5、 时序图(Sequence Diagram)
/K*cieN0时序图显示多个对象间的动作协作,重点是显示对象之间发送的消息的时间顺序。
Pf8zy7l_06、 协作图(Collaboration Diagram)
协作图对在一次交互中有意义的对象和对象间的链建模。除了显示消息的交互以外,协作图也显示对象以及它们之间的关系。时序图和协作图都可以表示各对象间的交互关系,但它们的侧重点不同。时序图用消息的几何排列关系来表达消息的时间顺序,各角色之间的关系是隐含的。协作图用各个角色排列来表示角色之间的关系,并用消息类说明这些关系。在实际应用中可以根据需要选用这两种图:如果需要重点强调时间或顺序,那么选择时序图;如果需要重点强调上下文,那么选择协作图。
7、 活动图(Activity Diagram)
@h+Z|N0活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动。活动状态代表了一个活动,即一个工作流步骤或一个操作的执行。活动图由多个动作状态组成,当一个动作完成后,动作状态将会改变,转换为一个新的状态。
@}.p
qFR08、 组件图(Component Diagram)
组件图是用代码组件来显示代码物理结构。一个组件包含它所实现的一个或多个逻辑类的相关信息。通常组件图用于实际的编程工作中。
"o6~2S{;M-n0lr2Y09、 配置图(Deployment Diagram)
配置图用于显示系统中的硬件和物理结构。
-Op
s"r"U a%@-SlVt
P#T0模型元素
UML中的模型元素包括事物和事物之间的联系。事物是UML中重要的组成部分,它代表任何可以定义的东西。事物之间的关系能够把事物联系在一起,组成有意义的结构模型。每一个模型元素都有一个与之相对应的图形元素。
#k+r/fk#@L1t0一、 事物