UML2面向对象分析与设计(第2版) 谭火彬 杂记

news2025/4/3 19:32:49

        首先,来讲讲我对泛化的理解,其实这是站在的视角的不同而表述的不同,泛化是站在父类的角度,父类给孩子的方式叫泛化,而继承是站在孩子的角度,儿子继承父类的方式叫继承。

        其实上了谭老师大概一章的课程(并且我觉得谭老师真的是对面向对象很有认识的,这门课也是精心设计的),我们可以看出 这节课最主要的是去感悟面向对象,我们是以uml为载体,去辅助以站在人的角度上,更好地理解面向对象的思维。

主要的重点还是理解oo(Object Oriented)的思想。

整体和部分 就是组合和聚合;抽象和具体 就是泛化;协助关系 就是关联。

用例概念 一套完整流程

扩展 从无到有

包含 接着用

 UML 中的事物之间主要 4 类基本关系

(1)依赖是两个事物间的弱语义关系,表明两个事物之间存在着一种使用关系,其中 一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义。

(2)关联是一种强语义联系的结构关系,表明两个事物之间存在着明确的、稳定的语义联系。

(3)泛化是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。 (4)实现是两个事物是之间的一种契约关系,其中的一个事物(箭头指向的事物)描述了另一个事物必须实现的契约。

1. 本书讨论的 UML 分析设计过程主要包括哪几个阶段?

主要包括 6 个阶段

1)业务建模:采用软件建模方法分析和理解带开发的业务,描述业务流程;其目标

是认识业务本质,该业务本质是后续用例建模的基础。

(2)用例建模: 采用 UML 用例建模技术描述软件需求,该需求模型将为后续用例分

析提供输入。

(3)用例分析: 采用 UML 用例分析技术分析软件需求,建立软件系统的分析模型。

(4)架构设计: 在系统的全局范围内,以分析模型为基础,设计系统的架构。

(5)构件设计: 根据架构设计的成果,将分析模型细化,设计系统构件的实现细节

(6)代码实现: 将系统构件映射到目标语言上。

什么是业务参与者,如何识别业务参与者?

1)业务参与者代表了与业务有关的角色,此角色由业务环境中的某个人或物扮演。

(2)识别业务参与者的关键在于明确业务边界:业务参与者是在业务边界之外的、与

业务进行交互的人或组织,它接受业务所提供的服务,并关注业务所产生的结果。

(3)在实际业务建模过程中,业务参与者可以是与业务进行交互的任何个人、组织、

公司或计算机,可以从以下类别中查找参与者:客户、供应商、合作伙伴、潜在客户、政府、

业务中为建模部分的人或组织。

用例描述了系统和用户或者其他系统如何交互

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

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

相关文章

使用WebPageTest、Lighthouse和Chrome DevTools评估网站性能

目录 一:使用WebPageTest评估网站性能 二:使用Lighthouse分析性能 1、本地npm安装Lighthouse 2、Chrome DevTools中使用 三:使用Chrome DevTools分析性能 一:使用WebPageTest评估网站性能 进入网站首页WebPageTest - Websit…

Linux下常用基本指令大全

在XShell下的复制粘贴 复制: ctrl insert (有些insert 需要配合fn 来按) 粘贴: shift insert ctrl c / ctrl v 是不行的.1. ls指令 语法:ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件&#xff0…

从App Lab就一鸣惊人的Gorilla Tag,创始人竟是个电竞选手

前不久,热门VR游戏《Gorilla Tag》登陆Quest正式商店,此前该作已经进入App Lab和SteamVR平台,一度成为App Lab最受欢迎的游戏,至此终于修成正果。截至目前,该作在全平台的下载量高达500万次,在Quest商店累计…

七、Java 14 新特性

七、Java 14 新特性 Java 14 已如期于 2020 年 3 月 17 日正式发布,此次更新是继半年前 Java 13 这大版本发布之后的又一次常规版本更新,即便在全球疫情如此严峻形势下,依然保持每六个月的版本更新频率,为大家及时带来改进和增强&…

覆盖和覆盖D2D通信网络的传输容量分析(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 移动数据流量的日益增长与有限的频谱资源之间的矛盾催生了用以提升频谱空间利用率的设备到设备(Device-to-Device,…

Typora配置github图床踩坑记录:“success“:false,“message“:“upload error

今天在给typora配置图床的时候遇到了一丢丢问题 我是根据这位大佬的配置步骤使用GithubpicGo搭建图床,保姆级教程来了一步步来的,在处理typora验证图片上传选项时遇到问题: {“success”:false,“message”:“upload error. see C:\Users\AS…

【JavaScript】时间对象

基础知识: 获取年月日,时间: var datenew Date();console.log(date);Thu Nov 17 2022 10:15:07 GMT0800 (中国标准时间) 实际上是对象,但是自动转为字符串显示了。 // 传递参数进去 var date1new Date("2022/11/25 14:38…

录屏软件哪个好?五款免费视频录屏软件

现如今在日常生活中都可以使用得上录屏软件,比如线上会议直播、线上教程课程、网课直播、玩游戏精彩瞬间等等;在互联网众多推荐下,到底录屏软件哪个好?今天小编在这里给大家分享五款免费视频录屏软件,有需要的朋友可以…

个人的一些小创作(随便玩玩,由于技术限制,无使用价值)

tips 1. 桶排序算法的话,必须会去重,因为它的核心就是把数值与数组的下标对应起来,那如果你有多个相同的数值,那也只能对应同一个数组的下标。然后桶排序算法最后打印的是数组的下标,而不是数组下标对应元素的值。 2…

wps合并多个pdf,四个步骤轻松解决

wps这个软件相信大家都或多或少使用过。很多人日常触及到wps的功能,一般是word、Excel或者PPT这三种。其实wps也可以用来读取、编辑PDF文档。wps编辑PDF文档需要一定的技巧,比如使用wps合并多个pdf的方法,很多网友都在问。这里给大家做一个详…

10、SpringCloud 系列:Nacos - 注册中心

SpringCloud 系列列表: 文章名文章地址01、Eureka - 集群、服务发现https://blog.csdn.net/qq_46023503/article/details/12831902302、Ribbon - 负载均衡https://blog.csdn.net/qq_46023503/article/details/12833228803、OpenFeign - 远程调用https://blog.csdn.…

41. 使用块的网络(VGG)代码实现

1. VGG块 在下面的代码中,我们定义了一个名为vgg_block的函数来实现一个VGG块。 该函数有三个参数,分别对应于卷积层的数量num_convs、输入通道的数量in_channels 和输出通道的数量out_channels. import torch from torch import nn from d2l import …

【玩转c++】c++ :string类讲解(万字详解)

目录 🍁1. 为什么要学习string类 🍁2. 标准库中的string类 🍁3. string类各种接口 默认成员函数 Iterators迭代器 capacity容量 Element access:元素访问 Modifiers:修改 字符串操作 成员变量 非成员函数 🍁4. 扩展阅读 本期主题…

stm32f407VET6 系统学习 day07 通用定时器, OLED 屏幕使用 PWM 的使用

1. 通用定时器的知识 1.STM32共有14个定时器,其中12个16位定时器,2个32 位定时器 2. 通用定时器特点 1. 16/32位向上、向下、向上/向下(中心对齐)计数模式,自动装载计数器(TIMXCNT) 。 2. 16位可编程预分频器(TIMx_PSC)&…

-bash: lsof: command not found解决办法

简言 centos系统,检测端口时使用lsof命令发现lsof功能未开启,如下图 [rootiZwz9501p9hnysn92hpx27Z tnt_game]# lsof -bash: lsof: command not found 安装lsof centos系统下可以直接使用yum安装lsof功能,如下图 yum可自动完成安装lsof ls…

gitlab-ci.yml关键字(一)image、variables、include

image 这是一个全局关键字,如果流水线的执行器是使用docker来运行的话,那可以指定docker中的docker镜像。如果执行器是shell的话,那该关键字是无用的,即便机器中已近安装了docker的环境,该关键字可以在全局或者某一个…

NeurIPS2021 | ViTAE+: vision transformer中的归纳偏置探索

参考资料:NeurIPS 2021 | ViTAE: vision transformer中的归纳偏置探索 - 知乎 paper地址:https://openreview.net/pdf?id_RnHyIeu5Y5 论文标题:ViTAE: Vision Transformer Advanced by Exploring Intrinsic Inductive Bias code&#xff…

假设检验之卡方检验

之前我对卡方检验的了解都是一知半解的,即知道作用是对离散变量分布差异的比较,根据期望频数和观察频数的差异计算出来一个卡方值,之后根据自由度和显著性水平查卡方分布对应的临界值,比较大小得出有无明显差异的结论。 一般我们都…

基于FPGA平台实现 ARM Cortex-M0 SOC(一)简介

本系列笔记为基于FPGA平台实现 ARM Cortex-M0 SOC 集创赛作品复盘 Platform: ARM Cortex-M0 Design Srart AT510 XLINX FPGA ARM MDK 5 CM0-Design start 是ARM公司放出的一个免费的ARM 内核学习版本,它比M3还要简单,并且官方把整块代码模糊化…

TFN CK1840B 喇叭天线 定向 18GHz~40GHz

TFN CK1840B 喇叭天线 定向 18GHz~40GHz 产品概述 TFN CK1840B喇叭天线工作频率为 18GHz~40GHz。具有频带宽, 性能可靠, 增益高等优 点, 是理想的 EMC 测试、电子对抗等领域的定向接收、发射天线。 应用领域 ● 电子对抗领域 ● EMC 测试…