当前位置: 首页 > article >正文

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

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

文章目录

  • 系统分析师-案例分析-UML
    • 结构
    • 4+1视图
    • 用例图
    • 类图
      • 关系
    • 对比
      • 类图 VS 对象图
      • 状态图 VS 活动图
      • 顺序图 VS 通信图
      • 流程图 VS 活动图

结构

  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 活动图

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

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


http://www.kler.cn/a/379869.html

相关文章:

  • #渗透测试#网络安全# 一文了解什么是跨域CROS!!!
  • cache原理
  • 关于地平线开发板使用nhwc格式的前向传播输出格式的理解
  • OpenBSD之安装指南
  • uniapp 微信小程序内嵌h5实时通信
  • Perl语言的循环实现
  • 切换淘宝镜像
  • Java | Leetcode Java题解之第526题优美的排列
  • SpringBoot集成Mybatis
  • Windows 系统安装 Hadoop 详细教程
  • 交换机如何实现2.5G网络传输速率和网络变压器有关吗
  • 深度学习-42-基于PyTorch对LeNet5逐层分析计算过程
  • RSI是指在5G通信技术中用于标识小区的特定参数
  • 【ACM出版,EI稳定检索】2024年人工智能、数字媒体技术与交互设计国际学术会议(ICADI 2024,11月29-12月1日)
  • 深入解析 Memcached原理、架构与最佳实践
  • 02多线程基础知识
  • 100种算法【Python版】第41篇——Chan‘s 算法
  • 介质访问控制方法
  • 一次家庭组网,耗时40分钟
  • Minio中出现Non-XML response from server异常
  • 数据迁移: 安全高效转移数据, 满足企业业务需求和技术改进
  • 使用labelme中的AI模型提升数据标注速度
  • CSS基础概念:什么是 CSS ? CSS 的组成
  • 11.Node.js API接口
  • 《双指针篇》---盛最多水的容器_Java(中等但简单)
  • 在VS中安装chatGPT