系统分析师-案例分析-UML

系统分析师-案例分析-UML

文章目录

结构

  1. 构造块:事务、关系、图。事务是UML的重要组成部分,关系是把事务紧密的联系在一起,图是多个相互关联的事务的集合。
  2. 公共机制: 达到特定目的的特定目标的公共UML方法,包括规格说明、修饰、公共分类、扩展机制4种
  3. 规则:构造快如何放在一起的规定。范围、可见性、完整性、执行。

4+1视图

  1. 逻辑视图:设计视图,表示了设计模型在结构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。
  2. 进程视图: 可执行的线程或进程作为活动类的建模,是逻辑视图的一次执行实力,描述了并发与同步结构。
  3. 实现视图:对组成系统的物理代码的文件和结构进行建模。
  4. 部署视图:把构建部署到一组物理节点上,表示软件到硬件的映射和分布结构。
  5. 用例视图:需求分析模型。

用例图

  • 从现有的用例中抽取公共信息的那部分,作为一个单独的用例,然后采用不同的方法来重用这个公共的用例。

1.《include》表示包含关系,含义为:当可以从两个或两个以上用例中提取公共行为的时候,应该使用包含关系来表示它们。其中这个提取出来的公共用例称之为抽象用例,而把原始用例称为基本用例。

2.《extend》表示扩展关系,含义为:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能会发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,关系图示指向为扩展用例指向基本用例。

3.《generalization》表示泛化关系,是一种继承关系。子用例将继承基用例的所有行为关系和通信关系,也就是说在任何使用基用例的地方都可以用子用例来代替。泛化关系在用例图中使用实线空心箭头表示,箭头方向从子用例指向基用例
< include> < include> < extend> 管理员 查询所有用户 基础用例 创建新用户 基础用例 修改用户密码 基础用例 登录 抽象用例 导出用户列表 扩展用例

  • 箭头的必须被执行。 泛化也是子类指向父类,可以考虑构造函数,子类构造一定要先构造父类。include 解决复用的问题,extend 解决多分支场景的问题。

类图

关系

  1. 泛化, 一般与特殊的关系,A继承B,A是B的子类,B是A的父类也叫泛化,A同时继承C,A为多重继承。 实线空心箭头。 子类 ------▷ 父类
  2. 聚合,部分和整体之间的关系,好聚好散不实诚。即部分可以脱离整体独立存在,如轮子和汽车。实线空心菱形。 部分 ---◇ 整体。
  3. 组合,整体和部分的关系,部分依赖整体,比如公司和部分,公司倒闭了,部门也不存在了。部分无法独立存活。部分 ---◆ 整体。
  4. 实现,就是虚集成、接口类。实现类 ----▷ 接口类
  5. 依赖,使用的关系,即一个类使用的实现需要另一个类的协助,B类的修改会引起A的修改。 A类 ----▶ B类
  6. 关联,拥有的关系,两个类之间存在可以相互作用的联系,即一个类知道另外一个类的属性和方法 A类 ------ B类

对比

性质 组合 继承
封装性 优点:不破坏封装,整体类与局部类之间松耦合,彼此相对独立整体类可以对局部类进行包装,封装局部类的接口,提供新的接口 缺点:整体类不能自动获得和局部类同样的接口 缺点:破坏封装,子类与父类之间紧密耦合,子类依赖于父类的实现,子类缺乏独立性,子类不能改变父类的接口。 优点:子类能自动继承父类的接口
动态性 优点:具有较好的可扩展性。支持动态组合。在运行时,整体对象可以选择不同类型的局部对象 缺点:支持扩展,以增加系统结构的复杂度为代价不支持动态继承。在运行时,子类无法选择不同的父类
易用性 缺点:创建整体类的对象时,需要创建所有局部类的对象 优点:创建子类的对象时,无须创建父类的对象

类图 VS 对象图

  • 对象图是被实例化的类的对象。

类图:用于描述系统中所包含的类以及它们之间的相互关系。

对象图:用于描述某一时刻的一组对象及它们之间的关系。

状态图 VS 活动图

状态图: 描述的是一个状态机,描述一个对象所有可能得状态,以及由于各种时间的发生而引起的状态之间的转移和变化。主要描述行为的结果,用于动态建模。

活动图: 将进程或其他计算解构展示位计算内部一步步的控制流和数据流。主要描述行为的动作,用于动态建模。 带泳道的流程图。

顺序图 VS 通信图

顺序图: 时序图,序列图,强调时序,重点是以时间为参照,各个对象发送

、接收消息、处理消息、返回消息的时间流程顺序。

通信图: 协作图,强调对象之间的组织关系。强调空间解构。

流程图 VS 活动图

流程图:面相过程、不能表示并发,主要控制结构是顺序、分支、循环。处理关系有严格的顺序和时间关系。

活动图:面相对象,可表示并发,描述的是对象活动的顺序以及遵循的规则,着重表现的是系统的行为,而非系统的处理过程。

相关推荐
萨达大1 小时前
23种设计模式-模板方法(Template Method)设计模式
java·c++·设计模式·软考·模板方法模式·软件设计师·行为型设计模式
理论最高的吻1 小时前
98. 验证二叉搜索树【 力扣(LeetCode) 】
数据结构·c++·算法·leetcode·职场和发展·二叉树·c
沈小农学编程1 小时前
【LeetCode面试150】——202快乐数
c++·python·算法·leetcode·面试·职场和发展
清酒伴风(面试准备中......)3 小时前
操作系统基础——针对实习面试
笔记·面试·职场和发展·操作系统·实习
BigShark88811 小时前
2025蓝桥杯(单片机)备赛--扩展外设之I2C的重要应用--PCF8591(八)
单片机·职场和发展·蓝桥杯
KpLn_HJL16 小时前
leetcode - 2461. Maximum Sum of Distinct Subarrays With Length K
算法·leetcode·职场和发展
迪小莫学AI16 小时前
LeetCode 1652: 拆炸弹 (Defuse the Bomb)超详细解释
算法·leetcode·职场和发展
架构师Wu老七17 小时前
【软考】系统架构设计师-信息安全技术基础
网络·安全·web安全·软考·系统架构设计师
BigShark88819 小时前
2025蓝桥杯(单片机)备赛--扩展外设之NE555的使用及定时器1的详细讲解(十)
单片机·职场和发展·蓝桥杯
无限大.20 小时前
力扣题解3243 新增道路查询后的最短距离 I
算法·leetcode·职场和发展