UML入门概念_uml静态模型-程序员宅基地

技术标签: uml  

UML(Unified Modeling Language),统一建模语言。图形化的语言表.它可以帮助我们在OOAD过程中标识元素、构建模块、分析过程并可通过文档说明系统中的重要细节

使用软件:startUml

1.面向对象是一种系统建模技术。
面向对象编程是按照oo的方法学来开发编程的过程。通过系统分析内在对象来描述或建模一个系统。

2.基本概念。
a.对象
是一个客观存在的,唯一的实体。 是面向对象编程过程中分析与解决问题的出发点与基础。
b.类
类是对象的模板。
对象通过类实例化一 个类可以创建多个对象。

OOA 分析阶段
1.建立针对业务问题域的清晰视图
2.列出系统必须要完成的核心
3.针对问题域建立公共词汇表
4.列出针对此问题域的最佳解决方案
OOD 设计阶段
1.如何解决具体的业务问题
2.引入系统工作所需的支持元素
3.定义系统的实现策略。

OOP的主要特征:
抽象(abstract):
忽略掉一个对象或实体的细节而只关注其本质特征的过程
封装(encapsulation):
隐藏数据和实现。

  • 对外(外部视图):对象能做的工作
  • 对内(内部视图):对象如何完成工作

继承(inheritance):
通过继承可实现代码重用,另外继承也是多态的基础.

多态(polymorphism):
一个名称,多种形式.

关联(association):
对象之间交互时的一种引用方式。
当一个对象通过对另一个对象的引用去使用另一个对象的服务或操作时,两个对象之间便产生了关联。如person使用computer,person与computer之间就存在了关联关系。

聚合(aggregation):
1.两个对象之间存在“has a”这样的关系.
2.如汽车与轮胎,轮胎作为汽车的一个组成部分,它和汽车可以分别生产以后装配起来使用,但汽车可以换新轮胎,轮胎也可以卸下来给其它汽车使用.

组合(composition):
如电视机与显示器。

域模型(可称为设计模型):

  • 1.具有状态和行为的域对象
  • 2.域对象之间的关系

域对象之间的关系:
关联(Association)
在这里插入图片描述
依赖(Dependency)
在这里插入图片描述
聚集(Aggregation 即 整体与部分之间的关系)
在这里插入图片描述
一般化(Generalization 即继承)
在这里插入图片描述

内聚:度量一个类独立完成某项工作的能力。
耦合:度量系统内或系统之间依赖关系的复杂度。
设计原则:高内聚,低耦合。

UML分类:
静态模型(static model):记录一个系统的静态特征

  • 用例图(use case diagrams)
  • 类图(class diagrams)
  • 对象图(object diagrams)
  • 组件图(component diagrams)
  • 部署图(deployment diagrams)

动态模型(dynamic model):展示系统的行为。

  • 时序图(sequence diagrams)
  • 协作图(collaboration diagrams)
  • 状态图(state chart diagrams)
  • 活动图(activity diagrams)

用例图:
展示系统的核心功能及与其交互的用户。
在这里插入图片描述
类图:
1.表现类的特征
2.描述了多个类、接口的特征,以及对象之间的协作与交互。
在这里插入图片描述
类与接口实现关系:
在这里插入图片描述

对象图:展现了多个对象的特征及对象之间的交互。
在这里插入图片描述

组件图:软件组件之间的依赖关系。

在这里插入图片描述注:组件2依赖组件1.

部署图:部署软件应用的物理设备信息。
在这里插入图片描述

时序图:
捉一段时间范围内多个对象之间的交互信息。
在这里插入图片描述注:guest调用对象admin的check()方法,check()方法中调用了scaner对象的verify对象,然后将对象返回值到guest对象。

协作图:
表现一定范围内对象之间协作的信息.
强调参与信息交流的对象之间的组织结构.
在这里插入图片描述

状态转换图:
强调一个对象在不同事件触发时,其内部状态的转变过程
在这里插入图片描述

活动图:
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/tangiwang/article/details/84555880

智能推荐

比最快的超级计算机快一百万亿倍!中国科学家实现“量子计算优越性”里程碑_中国科学院比马普所强-程序员宅基地

文章浏览阅读4.4k次,点赞22次,收藏12次。本文来自:中国科学技术大学公众号北京时间12月4日国际顶尖杂志《Science》刊发了中国科学技术大学潘建伟、陆朝阳等组成的研究团队的一项重磅研究成果让我们一起来看看吧!中国科学家实现“量子计算优越性”里程碑中国科学技术大学潘建伟、陆朝阳等组成的研究团队与中科院上海微系统所、国家并行计算机工程技术研究中心合作,构建了76个光子100个模式的量子计算原型机“九章”,实现了具有实用前景的“高斯玻色取样”任务的快速求解。根据现有理论该量子计算系统处理高斯玻色取样的速度比目前最快的超级计算机快一百万._中国科学院比马普所强

分析解释selenium:DeprecationWarning: executable_path has been deprecated, please pass in 和打开浏览器闪退问题-程序员宅基地

文章浏览阅读1.4w次,点赞37次,收藏54次。我们在解决chrom版本和驱动版本的问题后(这是因为在之前版本executable_path是我们Selenium驱动的存放路径,只有使用executable_path指定出该路径,Selenium才能正常工作,但是Selenium经过版本更新之后,在使用如上写法时,系统就会报错executable_path has been deprecated, please pass in a Service object,如下所示:所有我们需要添加一个模块并修改一下代码。_deprecationwarning: executable_path has been deprecated, please pass in a se

池化(Pooling)的种类与具体用法——基于Pytorch-程序员宅基地

文章浏览阅读1w次,点赞7次,收藏55次。池化的种类、原理与基于Pytorch的具体用法_池化

JS实现注册登录发送短信验证码动态显示60S倒计时完整案例_js实现短信验证登录-程序员宅基地

文章浏览阅读2.3w次,点赞18次,收藏120次。通常在web项目中都会遇到账户注册或者忘记密码时需要发送短信验证码的功能,虽然说这种功能很常见,但是实际开发过程中很多人还会遇到不少坑。笔者经过整理把最近项目中的用到的这个发送短信验证码动态显示60S倒计时的完整实现过程分享给广大开发者朋友。1、页面发送短信验证码的表单<div class="form-group"> <div class="col-xs-6..._js实现短信验证登录

揭开均线系统的神秘面纱_揭开极限编程的神秘面纱,重新探讨“ XP蒸馏”,第2部分...-程序员宅基地

文章浏览阅读496次。存档日期:2019年5月15日 | 首次发布:2002年9月10日 在本月的Demystifying Extreme Programming中 ,Roy Miller解释了成为XP团队的程序员意味着什么,以及六个程序员的实践如何特别适合这种情况。 虽然所有19种XP实践都很重要,但程序员实践对于团队开发软件至关重要 。 此内容不再被更新或维护。 全文以PDF格式“按原样”提供。 随着技..._解开均线系统的神秘面纱

centos7.5开启ssh服务-程序员宅基地

文章浏览阅读5k次,点赞2次,收藏15次。1,查看是否已安装openssh-server;指令:rpm -qa | grep ssh2,如果未安装,请先安装openssh-serveryum install openssh-server3,编辑ssh参数:vim /etc/ssh/sshd_config修改端口号允许root登录设置需要密码登录修改好后输入“:wqa”保存退出4,开启ss..._centos7.5开启ssh

随便推点

【边缘计算】刘阳:边缘计算发展中的若干热点问题及思考_关于边缘计算的思考问题-程序员宅基地

文章浏览阅读4.7k次。3月23日,在工业互联网产业联盟(以下简称“联盟/AII”)举办的工业互联网边缘计算研讨会上,中国信息通信研究院技术与标准所主任工程师刘阳以“边缘计算发展中的若干热点问题及思考”为题做演讲,分享了边缘计算的概念、边缘计算和雾计算的区别,并对如何推动边缘计算的产业发展提出了自己的建议。 刘阳认为“边缘计算是在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用核心能力的开放平台,就近_关于边缘计算的思考问题

WebView的应用_android webview 删除 backforwardlist-程序员宅基地

文章浏览阅读2.2k次。http://www.myexception.cn/web/1299865.htmlWebView的应用www.MyException.Cn 发布于:2013-07-09 09:50:48 浏览:68次0WebView的使用WebViewextends AbsoluteLayoutimplements ViewGr_android webview 删除 backforwardlist

软件测试笔试题_测试笔试题目-程序员宅基地

文章浏览阅读3.5k次,点赞5次,收藏78次。软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。测试用例的组成:测试用例编号,测试用例标题,测试的模块,测试的输入条件,操作步骤,测试的预期结果,其它说明等。_测试笔试题目

吃透一切整流滤波电路_高频正弦波整流纹波尖峰-程序员宅基地

文章浏览阅读3.2w次,点赞94次,收藏554次。基础电路一般直流稳压电源都使用220伏市电作为电源,经过变压、整流、滤波后输送给稳压电路进行稳压,最终成为稳定的直流电源。这个过程中的变压、整流、滤波等电路可以看作直流稳压电源的基础电路,没有这些电路对市电的前期处理,稳压电路将无法正常工作。1、变压电路通常直流稳压电源使用电源变压器来改变输入到后级电路的电压。电源变压器由初级绕组、次级绕组和铁芯组成。初级绕组用来输入电源交流电压,次级绕组输出所需..._高频正弦波整流纹波尖峰

Android性能优化工具_android 性能优化工具-程序员宅基地

文章浏览阅读1.4k次,点赞2次,收藏7次。CPU 性能分析器可以在APP运行时,实时检查应用的 CPU 使用率和线程活动,也可以检查记录的方法轨迹、函数轨迹和系统轨迹的详情。(1)Sample JAVA Methods不能采集耗时很短的方法,而Trace JAVA Methods可以采集耗时很短的方法;_android 性能优化工具

大学实训_软件毕设_Java入门实战_商场管理系统_Punrain_java为超市设计管理系统-程序员宅基地

文章浏览阅读5.2k次,点赞8次,收藏41次。需要 演示文档+数据库涉及+需求分析文档和完整源码的,可通过该链接下载https://download.csdn.net/download/Punrain/11980745_java为超市设计管理系统