1.什么是UML?

统一建模语言UML,英语:Unified Modeling Language)是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。http://zh.wikipedia.org/wiki/%E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80

2.为什么要有UML?

在建筑行业中,设计师设计房子。施工人员使用这个设计来建造房子。建筑越复杂,设计师和施工人员之间的交流就越重要。蓝图就成为了这个行业中的设计师和施工人员的必修课。

软件的编写就好像建造建筑物一样。系统越复杂,参与编写与配置软件的人员之间的交流也就越重要。在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”。现在它已经成为了软件行业的一部分了。UML提供了分析师,设计师和程序员之间在软件设计时的通用语言

3.模型

  • 功能模型:从用户的角度展示系统的功能,包括用例图
  • 对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类别图对象图
  • 动态模型:展现系统的内部行为。包括序列图,活动图,状态图

用例图:

用例图描述了系统提供的一个功能单元。用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的"角色"(actors,也就是与系统交互的其他实体)关系,以及系统内用例之间的关系。

类图:

类图表示不同的实体(人、事物和数据)如何彼此相关;换句话说,它显示了系统的静态结构。类图可用于表示逻辑类,逻辑类通常就是业务人员所谈及的事物种类。类图还可用于表示实现类,实现类就是程序员处理的实体。实现类图或许会与逻辑类图显示一些相同的类。然而,实现类图不会使用相同的属性来描述,因为它很可能具有对诸如Vector和HashMap这种事物的引用。

状态图:

状态图表示某个类所处的不同状态和该类的状态转换信息。有人可能会争论说每个类都有状态,但不是每个类都应该有一个状态图。只对"感兴趣的"状态的类(也就是说,在系统活动期间具有三个或更多潜在状态的类)才进行状态图描述。

 相关网址:http://www.cnblogs.com/ywqu/archive/2009/12/17/1626043.html

4.UML建模工具

Visio、Rational Rose、PowerDesign

在线制作网站:https://www.processon.com/tour

 UML相关工具:http://www.umlchina.com/Tools/Newindex1.htm

最新文章

  1. 【每日一linux命令3】参数(或称选项)顺序
  2. ASP.NET 中的 Async/Await 简介
  3. html5向左滑动删除特效
  4. 测试Tomcat
  5. (转)基于企业级证书的IOS应用打包升级功能介绍
  6. netbeans ide怎么添加yii代码提示
  7. 手机root初体验
  8. SpringBoot集成redis的key,value序列化的相关问题
  9. 查表法解决calendar中月份及星期初始值为0的情况。
  10. tomcat启动时报:IOException while loading persisted sessions: java.io.EOFException的解决方案 ZT
  11. 关于Numba开源库(Python语法代码加速处理,看过一个例子,速度可提高6倍)
  12. ros6.0的包转发图解
  13. Jenkins XVnc Plugin
  14. devexpress gridview 添加按钮
  15. oracle 定义临时变量,并使用分支判断
  16. JS实现复制到剪贴板(兼容FF/Chrome/Safari所有浏览器)
  17. SpringBoot使用Redis数据库
  18. MySQL mysqldump数据导出基本操作
  19. shell脚本执行
  20. 触摸事件【MotionEvent】简介

热门文章

  1. iOS高德地图使用-搜索,路径规划
  2. sql2008破解加密存储过程
  3. tongjiword,write / read file demo
  4. java框架篇---struts之OGNL详解
  5. bootstrapTable刷新当前页码不变和从第一页开始查询
  6. 开源一个爬取redmine数据的测试报告系统
  7. 【Unity】使用Resources类管理资源
  8. python re 库的使用
  9. python MQTT 出现TypeError: payload must be a string, bytearray, int, float or None.
  10. Vagrant (1) —— 基本安装与配置(上)