UML视图

转载一篇UML的介绍

UML语言纵览

视图

UML语言中的视图大致分为如下5种:

1、用例视图。用例视图强调从系统的外部参与者(主要是用户)的角度看到的或需要的系统功能。

2、逻辑视图。逻辑视图从系统的静态结构和动态行为角度显示如何实现系统的功能。

3、组件视图。组件视图显示代码组件的组织结构。

4、并发视图。并发视图显示系统的并发性,解决在并发系统中存在的通信和同步问题。

5、配置视图。配置视图显示系统的具体部署。部署是指将系统配置到由计算机和设备组成的物理结构上。

上述5种视图分别描述系统的一个方面,5种视图组合成UML语言完整的模型。下图显示了构成UML完整模型的5种视图间的关系

一、用例视图

UML语言中的用例视图描述系统应具备的功能,也就是被成为参与者的外部用户所能观察到的功能。用例是系统的一个功能单元,可以被描述为参与者与系统之间的一次交互作用。参与者可以是一个用户或者另外一个系统。客户对系统要求的功能被当作多个用例在用例视图中进行描述,一个用例就是对系统的一个用法的通用描述。用例模型的用途就是列出系统中的用例和参与者,并显示哪个参与者参与了哪个用例的执行。用例视图是其他视图的核心,它的内容直接驱动其他视图的开发。

二、逻辑视图

逻辑视图描述用例视图中提出的系统功能的实现。与用例视图相比,逻辑视图主要关注系统内部,它既描述系统的静态结构(类、对象以及他们之间的关系),也描述系统内部的动态协作关系。系统的静态结构在类图和对象图中进行描述,而动态模型则在状态图、时序图、协作图以及活动图中进行描述。逻辑视图的使用者主要是设计人员和开发人员。

三、并发视图

UML语言中的并发视图主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理。除了将系统划分为并发执行的控制以外,并发视图还需要处理线程之间的通信和同步。并发视图的使用者是开发人员和系统集成人员。并发视图由状态图、协作图、以及活动图组成。

四、组件视图

组件是不同类型的代码模块,它是构造应用的软件单元。组件视图描述系统的实现模块以及它们之间的依赖关系。组件视图中也可以添加组件的其他附加信息,例如资源分配或者其他管理信息。组件视图主要由组件图构成,它的使用者主要是开发人员。

五、配置视图

配置视图显示系统的物理部署,它描述位于节点上的运行实例的部署情况。配置视图主要由配置图表示,它的使用者是开发人员、系统集成人员和测试人员。配置视图还允许评估分配结果和资源分配。

UML语言的各种图是UML模型的重要组成部分

1、用例图(UseCaseDiagram)

用例是系统中的一个可以描述参与者与系统直接交互作用的功能单元,用例图的用途是列出系统中的用例和参与者,并显示哪个参与者参与了哪个用例的执行。

2、类图(ClassDiagram)

UML语言中的类是对应用领域或应用解决方案中概念的描述。类图以类为中心组织,类图中国的其他元素或属于某个类,或与类相关联。

3、对象图(ObjectDiagram)

对象图是类图的变体,它使用与类图相似的符号描述,不同之处在于对象图显示的是类的多个对象实例而非实际的类。可以说对象图是类图的一个例子,对象图与类图表示的不同之处在于它用带下划线的对象名称类表示对象,显示一个关系中的所有实例。

4、状态图(StateDiagram)

UML语言中的状态图是对类描述的补充,它用于显示类的对象可能具备的所有状态,以及引起状态改变的事件。实际建模时,并不需要为所有的类都绘制状态图,仅对那些具有多个明确状态并且这些状态会影响和改变其行为的类才有绘制状态图的必要。此外,还可以为系统绘制整体状态图。

5、时序图(SequenceDiagram)

时序图显示多个对象间的动作协作,重点是显示对象之间发送的消息的时间顺序。

6、协作图(CollaborationDiagram)

UML语言中的协作图是对在一次交互中有意义的对象和对象间的链建模。除了显示消息的交互以外,协作图也显示对象以及它们之间的关系。时序图和协作图都可以表示各对象间的交互关系,但它们的侧重点不同。时序图用消息的几何排列关系来表达消息的时间顺序,各角色之间的关系是隐含的。协作图用各个角色排列来表示角色之间的关系,并用消息类说明这些关系。在实际应用中可以根据需要选用这两种图:如果需要重点强调时间或顺序,那么选择时序图;如果需要重点强调上下文,那么选择协作图。

7、活动图(ActivityDiagram)

活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动。活动状态代表了一个活动,即一个工作流步骤或一个操作的执行。活动图由多个动作状态组成,当一个动作完成后,动作状态将会改变,转换为一个新的状态。

8、组件图(ComponentDiagram)

UML语言中的组件图是用代码组件来显示代码物理结构。一个组件包含它所实现的一个或多个逻辑类的相关信息。通常组件图用于实际的编程工作中。

9、配置图(DeploymentDiagram)

配置图用于显示系统中的硬件和物理结构。
### StartUML视图的使用方法 #### 描述与定义 StartUML是一种用于绘制各种统一建模语言(UML表的强大工具,支持创建用例、类、序列等多种类型的形表示。对于用例而言,其目的是描绘作为外部观察者所看到的系统行为[^2]。 #### 创建用例的具体操作指南 为了更好地理解如何利用StartUML来构建有效的用例,下面提供了一段Python风格伪代码示例,演示了怎样通过编程方式生成简单的用例关系: ```python from startuml import UseCaseDiagram, Actor, IncludeRelation # 初始化一个新的用例实例 diagram = UseCaseDiagram() # 定义参与者actor和具体usecase对象 customer = Actor('Customer') login_use_case = diagram.add_use_case('Login', actor=customer) make_purchase_use_case = diagram.add_use_case('Make Purchase') # 建立包含关系:登录是购买商品的一部分流程 include_relation = IncludeRelation(login_use_case, make_purchase_use_case) # 输出最终形成的用例结构 print(diagram.render()) ``` 这段代码展示了如何建立一个基础场景,在该场景下,“顾客”角色执行“登录”的动作,并且此过程被嵌入到了更广泛的业务逻辑——即完成一次购物之中。这体现了两个用例间的关系,其中一个是另一个不可或缺的部分[^1]。 #### 关键概念解释 - **Actor**: 表示参与交互的人或其他实体。 - **Base Use Case (基本用例)**: 是指那些独立存在的核心活动或者事件;它们可以单独发生也可以与其他辅助性的子任务相结合形成更加复杂的事务流。 - **Inclusion Case (包含用例)**: 这些通常是较为通用的任务片段,会被多个不同的主干路径调用共享。当某个特定条件满足时就会触发这些附加的操作加入进来共同作用于整个处理链条之上。 上述内容不仅适用于理论上的学习研究,同时也为实际项目中的应用提供了指导意义。借助这样的框架可以帮助开发者清晰地表达软件设计意并促进团队成员间的沟通协作效率提升。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值