文章目录

  • startuml
  • OOAD
    • OOP主要特征
    • 域模型
      • 关联关系
      • 依赖关系
      • 聚集关系
      • 一般化关系
  • UML(Unified Modeling Language),统一建模语言
    • 静态建模
    • UML元素
  • 通过UML生成设计模式代码

startuml

软件地址:
https://pan.baidu.com/s/1d_b-2taoNuG-Fj3gP9RmYw

OOAD

  • ooad:面向对象的分析与设计
  • ooa:分析阶段
  • ood:设计阶段

OOP主要特征

  • 封装(encapsulation)

  • 抽象(abstract)

  • 继承(inheritance)

  • 多态(polymorphism)

  • 关联 (association)

    例如:人使用计算机,人和计算机的关系。关联关系较弱。

  • 聚合(aggregation)

    例如:一个对象作为另一个对象的属性存在,轮胎和汽车的关系。关联较强

  • 组合(composition)

    例如:一个对象包含另一对象时,外部对象负责管理内部对象的生命周期的情况。关联关系最强。内部对象的创建由外部对象自己控制。外部对象不存在时,内部对象也不能存在。如电视机与显示器。

-内聚与耦合(cohesion&coupling)

域模型

域模型是面向对象的。在面向对象术语中域模型也可称为设计模型。域模型由以下内容组成:

  • 具有状态和行为的域对象

  • 域对象之间的关系

    关联、依赖、聚集、一般化(泛化)。

关联关系

依赖关系

在BusinessService类中访问Customer类的方法,并且构造Customer类的实例,也就是说一个类要需要另一个来完成它的相关任务,叫依赖关系。

聚集关系

指的是整体与部分之间的关系,如:一个两只手

一般化关系

指类之间的继承关系

UML(Unified Modeling Language),统一建模语言

Assocition/DirectedAssociation:关联关系。Aggregation:聚合。Composition:组合。Generalization:一般化。Dependency:依赖关系。Realization:实现。

静态建模

创建并记录一个系统的静态特征、反应一个软件系统基础、固定的框架结构、创建相关问题域主要元素的视图
包括:用例图、类图、对象图、组件图、部署图。

用例图

展示系统的核心功能及与其交互的用户,用户被称之为“活动者”(Actor),用例使用椭圆表示


解释:管理员可以进行增删改查,来宾用户可以进行查询,管理员和来宾被称之为活动者,而增删改查则是用例。

类图

表现类的特征,类图描述了多个类,接口的特征,以及对象之间的协作与交互。由一个或多个矩形区域构成,内容包括:类型(类名),属性(可选),操作(可选)。

对象图

表现对象的特征,对象图展现了多个对象的特征及对象之间的交互。

组件图

例如:服务层和数据层之间的依赖关心等

部署图

##动态建模

用于展示系统的行为,包括时序图、协作图、状态图、活动图。

时序图(Sequence Diagram)

捕捉一段时间范围内多个对象之间的交互信息,强调消息交互的时间顺序

协作图(Collaboration Diagram)

表现一定范围内对象之间协作的信息,强调参与信息交流的对象之间的组织结构

状态图(State chart Diagram)

强调一个对象在不同事件触发时,内部状态的转变过程

活动图(Activity Diagram)

描述活动的流程

UML元素

  • 包(package)
  • UML的扩展机制
    注释(comments)
    构造型(stereotypes)
    标记值(tagged values)
    限制(constraints)

通过UML生成设计模式代码

步骤一:

步骤二:

步骤三:
选择观察者模式

步骤四:
生成的UML图:

步骤五:
生成代码

备注:

观察者模式的组成:

具体主题角色:在具体主题内部状态改变时,给所有登记过的观察者发出通知。具体主题角色通常用一个子类实现。
具体观察者角色:改角色而实现抽象观察者角色所要求的更新接口,以便使本身的状态与主题的状态相协调。如果需要,具体观察者角色可以保存一个指向具体主题角色的引用。通常用一个子类实现。

UML 简单易懂 教程相关推荐

  1. Xshell下载安装,史上最简单易懂教程

    Xshell下载安装,史上最简单易懂教程 阿里云网盘提取码:46gw 阿里云网盘下载地址 百度网盘提取码:8888 百度网盘下载地址 1,下载完成后,得到这样的文件 2,XmanagerPowerSu ...

  2. 微信二次修改微信号_如何二次修改微信号?简单易懂教程

    不知道大家有没有想修改修改自己的微信号呢?许多人当年注册的时候并没有多想一下,有的直接用自己的生日啊,名字缩写啊,520,1314之类的,但是微信又限制了修改次数的,想给自己尴尬的青春来一个了结都不. ...

  3. canvas基础简单易懂教程(完结,多图)

    Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https ...

  4. 图片放大镜详细教程(简单易懂、注释清晰明了)

    一.详细介绍 (1)放大镜的基本要领如下: 1.原图宽高比例=缩略图宽高比=放大镜的宽高比 2.大放大镜与小放大镜的倍数=原图与缩略图的倍数 3.默认两个放大镜与图片都是左上角重叠 4.原图相对于小放 ...

  5. 全网最简单易懂,Python漫画教程,高清PDF版免费下载,连小学生也能看懂

    学习Python的小伙伴大部分应该都知道<看漫画学Python:有趣.有料.好玩.好用(全彩版)>这本书! <看漫画学Python>进阶版,在第1版的基础上讲解Python进阶 ...

  6. python如何安装panda数据库_在Pycharm中安装Pandas库方法(简单易懂)

    开发环境的搭建是一件入门比较头疼的事情,在上期的文稿基础上,增加一项Anaconda的安装介绍.Anaconda是Python的一个发行版本,安装好了Anaconda就相当于安装好了Python,并且 ...

  7. 【转】区块链是什么,如何简单易懂地介绍区块链?

    作者:知乎用户 链接:https://www.zhihu.com/question/37290469 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 友情提醒:比特币 ...

  8. 区块链入门:如何简单易懂地介绍区块链(图文)

    原标题:区块链是什么,如何简单易懂地介绍区块链? 区块链目前就处于一个人人都谈区块链,却无法感知其实际技术魅力的阶段,正是因为此,做出区块链的杀手级应用就至关重要,要做到这一点就需要进行各种场景的探索 ...

  9. xbox手柄接收器驱动_新手有什么PC电脑手柄推荐?简单易懂5分钟教会你做出选择...

    不知道大家入手柄坑是在什么情况?我以前也经常疑惑,用手柄玩PC游戏是什么感觉,总是在想手柄好用吗?后台因为看着身边很多同学玩游戏都是用手柄在玩游戏,我就偷偷买回来试了试,结果发现,诶真香,也特别后悔, ...

  10. LeetCode—笔记—51、N皇后——递归回溯,个人思路,简单易懂

    LeetCode-笔记-51.N皇后--递归回溯,个人思路,简单易懂 51. N 皇后 n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给你一个整数 ...

最新文章

  1. OpenGL+VS2015+WIN10 demo
  2. perl 对ENV环境变量的使用
  3. 运维自动化—ansible的使用
  4. c++中lambda表达式用法
  5. 路由器的异步和同步串行接口
  6. EntityFramework Core进行读写分离最佳实践方式,了解一下(二)?
  7. Spring IOC扫描器与注册器
  8. 嵌入式Linux系统编程学习之二十一命名管道(FIFO)
  9. Centos打开、关闭、结束tomcat,及查看tomcat运行日志
  10. MFC选择目录和多个文件
  11. enlightenment提权的工具
  12. 【Linux】CentOS 学习笔记之一(安装配制)
  13. 突破电信80端口封锁,用CDN架设公司服务器!
  14. 蜡笔小新鸿蒙系统,盘点蜡笔小新最污的四处剧情,网友:当年太纯洁现在终于看懂!...
  15. 智商情商哪个重要_你认为哪个更重要,情商还是智商?为什么?
  16. 数据库原理知识点总结一
  17. 【ResNet残差网络解析】
  18. ESD防护为何对集成电路如此重要?又该如何防护?
  19. java jacob更新目录,jacob更新word目录
  20. JVM之jstat命令

热门文章

  1. Vivado2017.4软件安装
  2. matlab实现文本内容批量替换
  3. mysql数据库java驱动下载(jdbc)
  4. 商业计划书范文3000_项目融资商业计划书模板范文PPT
  5. BP神经网络预测模型
  6. SQL替换字段中一部分字符串
  7. SQL SERVER 卸载清除步骤
  8. javplayer 使用教程_工程测绘CASS教程+视频讲解+插件大合集,小白3天学会绘图
  9. ENVI4.8下载与安装
  10. 01_LBP算法原理