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

news2024/11/5 20:29:51

系统分析师-案例分析-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.coloradmin.cn/o/2231536.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电科金仓(人大金仓)更新授权文件(致命错误: XX000: License file expired.)

问题:电科金仓(人大金仓)数据库链接异常,重启失败,查看日志如下: 致命错误: XX000: License file expired. 位置: PostmasterMain, postmaster.c:725 解决方法: 一、下载授权文件 根据安装版本在官网下载授权文件(电科金仓-成为世界卓越的数据库产品与服务提供商)…

DMFLDR数据载入使用实践

1、DMFLDR概述 1.1DMFLDR功能介绍 dmfldr&#xff08;DM Fast Loader&#xff09;是 DM 提供的快速数据装载命令行工具。用户通过使用 dmfldr 工具能够把按照一定格式 排序的文本数据以简单、快速、高效的方式载入到 DM 数据库中&#xff0c;或把 DM 数据库中的数据按照一定格…

计算机网络(Ⅵ)应用层原理

一些网络应用的例子: E-mail Internaet电话 Web 电子支付 文本信息 搜索 P2P文件共享 流媒体 即时通讯 实时电视会议 .... .... 创建一个网络应用&#xff1a; 1.编程 2.在不同的端系统上运行。 网络应用的体系架构 可能的应用架构 1.客户-服…

《使用Gin框架构建分布式应用》阅读笔记:p393-p437

《用Gin框架构建分布式应用》学习第17天&#xff0c;p393-p437总结&#xff0c;总45页。 一、技术总结 1.Prometheus Prometheus放在代码里面使用&#xff0c;还是第一次见。在本人实际的工作中未看到这种用法。 2.Grafana Grafana用于被监控数据的可视化。 3.Telegraf …

【动手学强化学习】part7-Actor-Critic算法

阐述、总结【动手学强化学习】章节内容的学习情况&#xff0c;复现并理解代码。 文章目录 一、算法背景1.1 算法目标1.2 存在问题1.3 解决方法 二、Actor-Critic算法2.1 必要说明 优势函数 2.2 伪代码 算法流程简述 2.3 算法代码2.4 运行结果 结果分析 2.5 算法流程说明 初始化…

MySQL【二】

查询列 SELECT [ALL | DISTINCT ] * | 列名1[,……列名n] FROM 表名; 查询所有选课学生的学号&#xff0c;结果去除重复值 select distinct sno from sc; 选择行 查询满足条件的数据集 SELECT 字段列表 FROM 表名 WHERE 查询条件 查询不属于数学系或外国语系的学生全部信息 …

ElasticSearch - Bucket Selector使用指南

文章目录 官方文档Bucket Selector1. 定义2. 工作原理3. 使用场景与示例使用场景官方案例示例2 4. 注意事项5. 总结 官方文档 https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html Bucket Selector https://www.elastic.co/guide/en/…

“死鱼眼”,不存在的,一个提词小技巧,拯救的眼神——将内容说给用户,而非读给用户!

视频录制时&#xff0c;死鱼眼问题常见 即便内容再好&#xff0c;眼神死板也会减分 痛点真痛&#xff1a;拍视频时容易紧张 面对镜头&#xff0c;许多人难免紧张 神情僵硬&#xff0c;眼神无光&#xff0c;甚至忘词 这不仅影响表现&#xff0c;还让人难以专注 忘我场景&#x…

PyQt5实战——多脚本集合包,UI以及工程布局(二)

个人博客&#xff1a;苏三有春的博客 系列往期&#xff1a; PyQt5实战——多脚本集合包&#xff0c;前言与环境配置&#xff08;一&#xff09; 布局 2.1 UI页面布局 整体框架分为分为三个部分&#xff0c;垂直分布。 第一个部分为功能选择按钮&#xff08;如UTF-8转换&#…

《Python网络安全项目实战》项目2 Python基础练习_总复习(1)

《Python网络安全项目实战》项目2 Python基础练习 总复习&#xff08;1&#xff09; 班级&#xff1a; 姓名&#xff1a; 实训成绩&#xff1a; 任务单成绩 &#xff1a; 输入用户名密码并将其输出打印。 userName _____________________ passWord ______________________ #输…

数组排序简介-基数排序(Radix Sort)

基本思想 将整数按位数切割成不同的数字&#xff0c;然后从低位开始&#xff0c;依次到高位&#xff0c;逐位进行排序&#xff0c;从而达到排序的目的。 算法步骤 基数排序算法可以采用「最低位优先法&#xff08;Least Significant Digit First&#xff09;」或者「最高位优先…

LangChain学习之路

何谓 LangChain&#xff1f;释放大语言模型潜能的利器 作为一种专为开发基于语言模型的应用而设计的框架&#xff0c;通过LangChain&#xff0c;我们不仅可以通过API调用如 ChatGPT、GPT-4、Llama 2 等大型语言模型&#xff0c;还可以实现更高级的功能。 我们相信&#xff0c…

二:Linux学习笔记(第一阶段)-- Linux命令

目录 Linux注意事项&#xff1a; Linux目录 Linux系统基础命令 1. 文件和目录操作 2. 文件查看和编辑 3. 文件权限和所有权 4. 系统信息 5. 网络命令 6. 文件查找 7. 压缩和解压缩 8. 系统管理 Linux注意事项&#xff1a; 严格区分大小写一切皆文件windows下的程序不…

嵌入式硬件重点(四)常用信号处理、放大电路、运算放大器(运放)基础篇

引言&#xff1a;在嵌入式硬件设计中&#xff0c;信号处理和放大电路是至关重要的组成部分。它们不仅影响系统的性能&#xff0c;还直接关系到数据的准确性和可靠性。随着嵌入式系统的广泛应用&#xff0c;对各种传感器和外部设备的信号进行有效处理显得尤为重要。 运算放大器&…

3D Gaussian Splatting代码详解(二):模型构建

3 模型构建 gaussians GaussianModel(dataset.sh_degree) 3.1 初始化函数 __init__ 构造函数 构造函数 __init__ 的主要作用是初始化 3D 高斯模型的各项参数和激活函数&#xff0c;用于生成 3D 空间中的高斯表示。 初始化球谐函数的参数&#xff1a; self.active_sh_degre…

自由学习记录(18)

动画事件的碰撞器触发 Physics 类的常用方法 RaycastHit hit; if (Physics.Raycast(origin, direction, out hit, maxDistance)) {Debug.Log("Hit: " hit.collider.name); } Physics.Raycast&#xff1a;从指定点向某个方向发射射线&#xff0c;检测是否与碰撞体…

[FE] React 初窥门径(四):React 组件的加载过程(render 阶段)

1. 回顾 前几篇文章中&#xff0c;我们采用了 VSCode 插件 CodeTour 来记录代码的执行过程&#xff0c; 并把相关的数据 .tour/ 放到了 github: thzt/react-tour 中。 截止到本文为之&#xff0c;我们总共记录了这些 code-tour&#xff0c; .tour/ ├── 2. 构建过程.tour ├─…

java毕业设计之基于Bootstrap的常州地方旅游管理系统的设计与实现(springboot)

项目简介 基于Bootstrap的常州地方旅游管理系统的设计与实现有下功能&#xff1a; 基于Bootstrap的常州地方旅游管理系统的设计与实现的主要使用者分为用户功能模块和管理员功能模块两大部分&#xff0c;用户可查看景点信息、景点资讯等&#xff0c;注册登录后可进行景点订票…

单链表OJ题(3):合并两个有序链表、链表分割、链表的回文结构

目录 一、合并两个有序链表 二、链表分割 三、链表的回文结构 u解题的总体思路&#xff1a; 合并两个有序链表&#xff1a;首先创建新链表的头节点&#xff08;哨兵位&#xff1a;本质上是占位子&#xff09;&#xff0c;为了减少一些判断情况&#xff0c;简化操作。然后我们…

为数据集而生的 SQL 控制台

随着数据集的使用量急剧增加&#xff0c;Hugging Face 社区已经变成了众多数据集默认存放的仓库。每月&#xff0c;海量数据集被上传到社区&#xff0c;这些数据集亟需有效的查询、过滤和发现。 Dataset Monthly Creations 每个月在 Hugging Face Hub 创建的数据集 我们现在非常…