| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> UML简介 -> 正文阅读 |
|
[数据结构与算法]UML简介 |
建模概念??????? 模型是对现实的抽象,建模就是去粗取精,对现实系统进行抽象的过程。 建模的原因??????? 1.建模可以帮助理解用户需求。 ??????? 2.建模可以帮助进行系统的分析和设计。 ??????? 3.建模可以帮助团队交流和项目的协同开发。 ??????? 4.建模可以帮助提高开发速度和质量。 建模的需求??????? 1.需要一系列统一规范的建模符号。 ??????? 2.需要一套标准通用的建模规则。 ??????? 3.需要一些灵活高效的建模工具。 ??????? 4.需要抽象思维 面向对象思维:一切皆Object。 软件系统三个模型1.功能模式FM(Function Model) ????????描述系统能做什么,即对系统的功能、性能、接口和界面进行定义。用UML的用例图描述。 2.业务模式OM(Operation Model) ??????? 描述系统在何时、何地、由何角色、按什么业务规则去做,以及做的步骤或流程,即对系统的操作流程进行定义。在UML中,业务模型用时序图、交互图、状态图、活动图来表述。 3.数据模型DM(Data Model) ??????? 描述系统工作前的数据来自何处,工作中的数据暂存什么地方,工作后的数据放在何处,以及这些数据之间的关联,即对系统的数据结构进行定义。UML中用类图来描述。 统一建模语言(Unified Modeling Language,UML)??????? 一种为面向对象系统进行说明、可视化和编制文档的一种标准语言。 ??????? 针对面向对象设计的建模工具,独立于任何具体程序设计语言。 UML特点??????? 1.统一了各种方法对不同类型的系统、不同开发阶段以及不同内部概念的不同观点。有效消除了各种建模语言之间不必要的差异。 ??????? 2.UML建模能力比其他面向对象建模方法更强,不仅适合一般系统的开发,而且对并行、分布式系统的建模尤为适宜。 ??????? 3.UML是一种建模语言,而不是一个开发过程。 UML主要模型??????? 1.功能模型:从用户的角度展示系统的功能,包括用例图。 ??????? 2.对象模型:采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图。 ??????? 3.动态模型:展现系统的内部行为。包括序列图、活动图、状态图。 UML模型常用图????????1.用例图:从用户角度描述系统功能。 ????????2.类图:系统中类的静态结构。 ????????3.对象图:系统中的多个对象在某一时刻的状态。 ????????4.状态图:状态到状态控制流,用于动态特性建模。 ????????5.活动图:业务实现用例的工作流程。 ????????6.顺序图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互。 ????????7.协作图:对象之间的协助关系。 ??????? 8.构件图:系统的静态实现视图。 ????????9.部署图:定义系统中软硬件的物理体系结构。 模型图??????? 一组建模符号按照一定的建模规则组合在一起来表示模型关系的图形。 类图??????? 描述系统中的类(接口),以及类(接口)之间协作关系的静态模型图。能够让程序员在编写代码以前对系统有一个全面的认识。 UML类图基本元素符号继承:实线空心三角形,指向被继承类。 实现:虚线空心三角形,指向被实现的接口。 双向关联:实线表示。 单向关联:单箭头实线,指向被关联类(接口)。 聚合:实线箭头空心菱形。菱形指向为A,表示A中拥有一个B,但B脱离于A仍然可以独立存活。 组合:实线箭头实心菱形。菱形指向为A,表示A中拥有一个B,B脱离A后在系统中没有任何存活的意义。 依赖:虚线箭头,指向被依赖类(接口)。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 4:44:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |