UML总结(一)

UML(unified modeling language)统一建模语言。它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置(比较官方解释)。用我们自己的话来理解:就是用图形来描述软件开发过程的各个阶段:需求分析(用例图?)概要设计,详细设计等。前提这个图形是有模型和标准的。

作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。其中UML语义 描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。(不解)虽然对于UML语义不是甚解,但是自我感觉UML最重要的还是UML内容,也就是UML表示法:四类九种图:


其中,用例图是用来描述用户需求与项目功能以及二者之间关系的模型图。静态图是描述项目中所具有的对象和类,包括对象图和类图两种(对于一个项目,如何和静态图?其实找到项目功能中所有名词,然后加以分类,基本上就可以画出该项目的类图和对象图了)。 动态图:用来动态描述系统如何交互,运行,以及在某一时刻的状态。它由状态图,交互图,活动图三种图构成。最后一类是:实现图,从字面理解是如何实现系统功能。也就是系统程序的配置,安装。包括部件图和部署图两种。

实际上,对于以上四类九种图,我们可以抽象的从一般事务的角度描述来看。如果让你描述一个事务你会怎么描述:无非就是,定义一个事务(用例图用来说明程序的功能,类图和对象图用来定义系统程序),该事务时如何运行的?(这不正是动态图中:交互图,状态图,活动图三种图所具备的功能么?),如何实现该事务的功能(如何配置项目系统,构件和部署两种图来实现!)这样,抽象来看,把UML四类九种图抽象生活化,不就是我们日常生活中队一个具体事务的描述么?(待续)

### UML 图类型及其应用场合总结 | 序号 | UML图名称 | 特点描述 | 主要用途 | |------|--------------|--------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------| | 1 | 类图 | 描述系统的静态结构,展示类之间的关系以及属性和操作 | 设计阶段用于定义系统中的类、接口和其他实体的关系;帮助理解系统的架构[^3] | | 2 | 对象图 | 表现特定时刻的对象实例及其链接 | 展示具体场景下的对象状态,辅助理解和验证类图的设计合理性 | | 3 | 组件图 | 显示程序组件间的依赖关系 | 软件开发过程中用来规划和管理不同模块或子系统的交互 | | 4 | 部署图 | 描述硬件节点上运行的软件构件 | 系统部署时配置服务器或其他计算资源 | | 5 | 包图 | 将模型元素分组到逻辑单元内 | 大型项目的组织工具,有助于简化复杂性的处理 | | 6 | 用例图 | 定义外部参与者与系统功能之间的互动 | 收集并记录用户需求,作为沟通桥梁连接开发者和技术人员 | | 7 | 状态机图(状态图)| 描述个实体基于事件影响的状态变化过程 | 分析和设计有限状态自动机,特别适用于实时控制系统 | | 8 | 活动图 | 流程控制流的表现形式 | 工作流程建模,强调并发性和决策路径 | | 9 | 顺序图 (序列图) | 记录消息传递的时间顺序 | 动态行为建模,特别是对于涉及时间因素的关键算法 | | 10 | 协作图 (通信图)| 强调参与交互的对象角色 | 清晰展现各对象间的信息交换模式 | | 11 | 时间图 (定时图)| 关注于随时间推移而发生的动作 | 实时系统中精确描绘事件发生时机 | 此表格综合了多种类型的UML图表,并指出了每种图表最适合的应用环境。通过这种方式可以帮助读者更好地掌握何时应该选用哪种UML图表来进行有效的需求分析、设计文档编写等工作。 ```python # 示例代码:创建简单的Python字典模拟上述表格数据结构 uml_diagrams = { 'class': {'description': '描述系统的静态结构...', 'use_case': '设计阶段...'}, # ...其他条目... } print(uml_diagrams['class']) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值