转载自:http://www.cnblogs.com/springyangwc/archive/2012/01/16/2323723.html

软件开发为什么需要UML

(软件越来越复杂),开发人员仍然沿用25年前的方法来开发,这就是问题的根本所在 。--IvarJacobson 
掌握软件开发的方法就能不断的复制成功。 
你应该使用UML吗?一个字:是!旧的面向对象符号正在快速地消逝。它们还会残留在UML稳固前出版的书上面,但新的书、文章等等将会全部以UML作为符号。如果你正在使用旧的符号,你就应该在1998年间转换到UML。如果你正要开始使用建模符号,你就该直接学习UML。       --Martin Fowler, 1997  
用UML进行软件开发是一个可以积累的软件开发的过程。可以防止知识和信息的流失。

UML 建模的一般过程

0.业务 
  1.需求 
  2.分析:结构 
  3.分析:行为 
  4.设计

面向对象模型

面向对象方法支持三种基本的活动:识别对象和类,描述对象和类之间的关系,以及通过描述每个类的功能定义对象的行为。

为了发现对象和类,开发人员要在系统需求和系统分析的文档中查找名词和名词短语,包括可感知的事物(汽车、压力、传感器);角色(司机、教师、客户);事件(着陆、中断、请求);互相作用(借贷、开会、交叉);人员;场所;组织;设备和地点。通过浏览使用系统的脚本发现重要的对象和其责任,是面向对象分析和设计过程初期重要的技术。

当重要的对象被发现后,通过一组互相关联的模型详细表示类之间的关系和对象的行为,这些模型从四个不同的侧面表示了软件的体系结构:静态逻辑、动态逻辑、静态物理和动态物理。

静态逻辑模型描述实例化(类成员关系)、关联、聚集(整体/部分)、和一般化(继承)等关系,这被称为对象模型。一般化关系表示属性和方法的继承关系。定义对象模型的图形符号体系通常是从用于数据建模的实体关系图导出的。对设计十分重要的约束,如基数(一对一、一对多、多对多),也在对象模型中表示。

动态逻辑模型描述对象之间的互相作用。互相作用通过一组协同的对象、对象之间消息的有序序列、参与对象的可见性定义的途径来定义系统运行时的行为。Booch方法中的对象交互作用图被用来描述重要的互相作用,显示参与的对象和对象之间按时间序列的消息。可见性图用来描述互相作用中对象的可见性。对象的可见性定义了一个对象如何处于向它发送消息的方法的作用域之中。例如,它可以是方法的参数、局部变量、新的对象或当前执行方法的对象的部分。

静态物理模型通过模块描述代码布局,动态物理模型描述软件的进程和线程体系结构。

综上所述,面向对象方法用于系统开发有如下优点:

(1)强调从现实世界中客观存在的事物(对象)出发来认识问题域和构造系统,使系统能更准确地反映问题域。

(2)运用人类日常的思维方法和原则(体现于OO方法的抽象、分类、继承、封装、消息等基本原则)进行系统开发,有利于发挥人类的思维能力,有效控制系统复杂性。

(3)对象的概念贯穿于开发全过程,使各个开发阶段的系统成分具有良好的对应关系,显著提高系统的开发效率与质量,并大大降低系统维护的难度。

(4)对象概念的一致性,使参与系统开发的各类人员在开发的各所段具有共同语言,有效地改善了人员之间的交流和协作。

(5)对象的相对稳定性和对易变因素隔离,增强了系统对环境的适应能力。

(6)对象、类之间的继承关系和对象的相对独立性,对软件复用提供了强有力的支持。

作者:spring yang

出处:http://www.cnblogs.com/springyangwc/

步步为营UML建模系列总结相关推荐

  1. 步步为营UML建模系列二、部署图(Deployment Diagram)

    概述 部署图(deployment diagram,配置图)是用来显示系统中软件和硬件的物理架构.从部署图中,您可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况.使用部署图可以显示运行 ...

  2. UML建模系列文章总结

    一.为什么要学习UML 二.UML的历史 三.UML的特点 四.UML中的视图 五.UML建模工具 六.UML的应用领域 七.UML的构成 1.需求阶段如何书写Use Case 2.设计阶段如何画用例 ...

  3. UML建模系列文章总结 (转载)

    一.为什么要学习UML 二.UML的历史 三.UML的特点 四.UML中的视图 五.UML建模工具 六.UML的应用领域 七.UML的构成 1.需求阶段如何书写Use Case 2.设计阶段如何画用例 ...

  4. UML建模系列文章总结 [转]

    一.为什么要学习UML 二.UML的历史 三.UML的特点 四.UML中的视图 五.UML建模工具 六.UML的应用领域 七.UML的构成 1.需求阶段如何书写Use Case 2.设计阶段如何画用例 ...

  5. 【转】UML建模系列文章总结

    一.为什么要学习UML 二.UML的历史 三.UML的特点 四.UML中的视图 五.UML建模工具 六.UML的应用领域 七.UML的构成 1.需求阶段如何书写Use Case 2.设计阶段如何画用例 ...

  6. 我学UML建模系列之核心元素 -------- 参与者

    在建模中,关于参与者准确的来说就是寻找抽象角度的开始. 参与者(actor)在建模的过程中是处于核心地位的.UML官方文档对于参与者的定义为:actor 是在系统之外与系统交互的某人或某物.如下图所示 ...

  7. 我学UML建模系列之核心元素 -------- 版型(类型)

    版类概念 UML中几乎每一个元模型都有一个版型.例如:用例有 "业务用例","业务用例实现"等版型,类有"接口"."边界类&quo ...

  8. UML建模系列-类图(Class diagram)

    概述 类图(Class Diagram)是描述类.接口.协作以及它们之间关系的图,用来显示系统中各个类的静态结构.类图是定义其他图的基础,在类图基础上,可以使用状态图.协作图.组件图和配置图等进一步描 ...

  9. UML建模之数据建模

    一.数据库模简介 二.数据建模元素 1.表(Table) 2.表索引(Table Index) 3.表触发器(Table Trigger) 4.表约束(Table Constraint) 5.视图(V ...

最新文章

  1. 静茹docker容器的几种方法_Docker介绍及使用
  2. STM32使用另外两种方法使LED灯闪烁
  3. linux下各个头文件及作用总结
  4. [转]ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调
  5. 【thymeleaf】 Link (URL) expressions: 使用 Link 表达式创建 URL
  6. JBoss 4.x 5.x 6.xJBossMQ JMS 反序列化漏洞
  7. Javaweb练手项目
  8. Javascript 原型链
  9. unknow Unknown type name 'NSString'
  10. 文本转语音的接口(开放免费)
  11. python timepicker_基于react开发的时间选择组件(TimePicker)
  12. Linux 压测工具 stress 安装下载
  13. BIGEMAP中打开高清卫星影像谷歌地图
  14. LeetCode刷题笔记——(8/17 - 8/27)
  15. Failed to install metadata com.weiwen.common:weiwen-common-core/maven-metadata.xml: Could not parse
  16. ShowWindow不起作用
  17. Winsock 的初始化
  18. PHP实现生成推广海报
  19. python实现多张多格式图片转PDF并打包成exe
  20. 如何简单搭建自己的个人主页

热门文章

  1. 二分+并查集【bzoj3007】[SDOI2012]拯救小云公主
  2. luoguP4206 [NOI2005]聪聪与可可 期望概率DP
  3. Windows单机配置Kafka环境
  4. Oracle创建 表空间 用户 给用户授权命令
  5. 无法访问部署在linux上的Tomcat服务器解决方案
  6. JavaScript中的面向对象(1):对象创建模式
  7. 实验室信息管理系统(南京浩展软件)
  8. [WPF]WPF开发方法论
  9. AbsoluteLayout(绝对布局)
  10. P2577 [ZJOI2005]午餐