UML类图的建立过程

1. 概念层类图

概念层的类图描述的是现实世界中对问题领域的概念理解,类图中表达的类与现实世界的问题领域中的实际事物有着明显的对应关系,类之间的关系也与问题领域中实际事物之间的关系有着明显的对应关系。在概念层类图阶段很少考虑或者几乎不需要考虑类的实现问题。

概念层类图中的类和类关系与最终的实现类并不一定有直接和明显的对应关系。在概念层上,类图着重于对问题领域的概念化理解,而不是实现。因此,类名通常都是问题领域中实际事物的名称,并且独立于具体的编程语言。例如,圆形类的概念层类图表示如图5.20所示。

2. 说明层类图

在说明层阶段主要考虑的是类的接口部分,而不是实现部分。这个接口可能因为实现环境、运行特性等因素有着多种不同的实现。图5.21是一个说明层类图的表示。

3. 实现层类图

真正需要考虑类的实现问题是在实现层类图阶段。因为该阶段提供了实现的细节,所以在实现层阶段的类的概念才是真正严格意义上的类,它揭示了软件实体的构成情况。说明层的类有助于人们理解软件,而实现层的类是最常用的。一个实现层类图如图5.22所示。

使用UML对系统进行建模时,最终的目标是识别出系统中所有必需的类,并分析这些类之间的关系,类的识别贯穿于整个建模过程。分析阶段主要识别问题领域相关的类,在设计阶段需要加入一些反映设计思想、方法的类以及实现问题领域所需要的类,而在编码实现阶段,因为语言的特点,可能需要加入一些其他的类。

建立类图的步骤如下:

  1. 研究分析问题领域,对系统进行需求分析,确定系统需求。
  2. 确定系统中的类,明确类的含义和职责,以及确定类的属性和操作。
  3. 确定类之间的关系。

《UML 2.5基础、建模与设计实践》(李波,姚丽丽,朱慧)【摘要 书评 试读】- 京东图书 (jd.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/43718.shtml

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

相关文章

07-7.5.1 散列表的基本概念

👋 Hi, I’m Beast Cheng 👀 I’m interested in photography, hiking, landscape… 🌱 I’m currently learning python, javascript, kotlin… 📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以…

指令v-el的作用是什么

在Vue.js的早期版本中(特别是Vue 1.x版本),v-el 指令被用来给元素注册引用信息(即DOM元素的引用)。这样,开发者就可以在Vue实例的方法中直接访问到这个DOM元素。然而,需要注意的是,从…

28.IP核理论知识(Xilinx)

(1)ip核是什么? IP(Intellectual Property)即知识产权,在半导体产业中,将IP核定义为“用于ASIC或FPGA中的预先设计好的电路功能模块”,简而言之,这里的IP即电路功能模块。…

Element轮播图组件切换太单调?手把手带你重写切换效果

前言: 最近在逛山东博物馆网站的时候,发现该网站主页淡入淡出的轮播图非常的优雅,所以就想来复刻一下,也算是对组件进行了二次的封装和修改 工具准备: Vue3Element Plus走马灯组件 注意事项: Element …

GPX文件的元素内容详解

GPX文件的来源 GPX文件(GPS eXchange Format)是一种用于存储GPS数据的开放标准格式,它可以包含航路点、轨迹和路线等信息。这些文件通常来源于GPS设备、户外活动追踪应用程序、地图服务或用户之间的数据共享。用户可以通过各种软件和硬件设备…

Python爬虫:基础爬虫架构及爬取证券之星全站行情数据!

爬虫成长之路(一)里我们介绍了如何爬取证券之星网站上所有A股数据,主要涉及网页获取和页面解析的知识。爬虫成长之路(二)里我们介绍了如何获取代理IP并验证,涉及了多线程编程和数据存储的知识。此次我们将在…

网络编程学习之tcp

按下*(星号)可以搜索当前光标下的单词。 Tcp编程的过程 打开网络设备 Bind:给服务地址把ip号和端口号连接进去 Tcp是有状态的 Listen是进入监听状态,看有没有客户端来连接服务器 Tcp比udp消耗过多资源 Upd类似于半双工&#…

D50SB100-ASEMI逆变焊机专用D50SB100

编辑:ll D50SB100-ASEMI逆变焊机专用D50SB100 型号:D50SB100 品牌:ASEMI 封装:DSB-5 批号:2024 现货:50000 正向电流(Id):50A 反向耐压(VRRM&#xf…

编程语言没落了?揭开真相的四大谜团、五大趋势、六大挑战与七大未来

编程语言没落了?揭开真相的四大谜团、五大趋势、六大挑战与七大未来 在科技飞速发展的今天,有人宣称编程语言已经没落,这一观点似乎让人困惑不已。然而,真相究竟如何?本文将从四个方面揭示编程语言的现状,…

【AIGC】二、mac本地采用GPU启动keras运算

mac本地采用GPU启动keras运算 一、问题背景二、技术背景三、实验验证本机配置安装PlaidML安装plaidml-keras配置默认显卡 运行采用 CPU运算的代码step1 先导入keras包,导入数据cifar10,这里可能涉及外网下载,有问题可以参考[keras使用基础问题…

echarts中tooltip添加点击事件代码示例

echarts中tooltip添加点击事件代码示例_javascript技巧_脚本之家 点击事件无法使用this 或者 this无法使用:

Qt图形编辑类使用总结

Qt的图形编辑通常会涉及以下三个类:QGraphicsView类、QGraphicsScene类及QGraphicsItem类。 QGraphicsView 是构建复杂图形用户界面的强大工具,尤其适用于那些需要动态更新、可交互的2D图形化应用程序,如图表绘制、流程图编辑器、游戏地图显示等等。通过结合使用 QGraphics…

13--memcache与redis

前言:数据库读取速度较慢一直是无法解决的问题,大型网站应对的方式主要是使用缓存服务器来缓解这种情况,减少数据库访问次数,以提高动态Web等应用的速度、提高可扩展性。 1、简介 Memcached/redis是高性能的分布式内存缓存服务器…

ret2csu简单总结

一个比较进阶的rop利用方式。 Why ret to csu? 当程序给的gadget不够,或者输入长度受限时,可以考虑利用csu中的众多gadget以及一个call指令来劫持控制流。 __libc_csu_init 汇编源码: .text:0000000000400790 ; void __fastcall _libc_c…

无人直播赚钱的底层逻辑是什么?一文揭晓!

当前,网络直播已经成为各类商家提高曝光和引流获客的主要渠道之一,这在为商家带来新机遇的同时,也让他们因人手不足或资金匮乏等原因而陷入无人问津窘境之中。在此背景下,无人直播软件一经出现,便引起了众多商家的关注…

多器官功能障碍综合征

多器官功能障碍综合征(Multiple Organ Dysfunction Syndrome,MODS)是指机体在遭受严重感染、创伤、休克、大手术等急性疾病过程中,同时或序贯发生两个或两个以上器官功能障碍,以致不能维持内环境稳定的临床综合征。 MO…

28V飞机库维修电源在飞机库中的作用

飞机库作为飞机停放和维护的重要场所,其设施的完善和电源系统的稳定运行是保证飞机正常运行的前提。随着我国航空事业的飞速发展,飞机维修行业面临着越来越大的挑战。在飞机维修过程中,电源系统作为关键组成部分,其稳定性和可靠性…

网络服务与应用-广域网技术(华为ip认证学习笔记)

网络服务与应用 FTP:文件传输协议 TCP 传输 20 端口发送,21 接收端口 1. 采用 C/S 结构 2. 传输模式 (1)ASCII 模式:传输文本 (2)二进制模式:传输非文本 3. 工作模式 (1&…

LeetCode题练习与总结:寻找旋转排序数组中的最小值--153

一、题目描述 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 …

【MIT 6.5840/6.824】Lab1 MapReduce

MapReduce MapReduce思想实现思路感受 6.5840/6.824 Lab与笔记汇总 本文对应的Lab版本为MIT6.5840-Spring2024的Lab1 本博客只提供思路,不会公开任何代码 本lab耗时约6h,码量约500行 MapReduce思想 MapReduce的思想属于是比较简单的,分为两…