一步一步学习UML

写在前面的话

本系列博文将以一个简单的通用权限系统的系统分析和UML图的构建,贯穿讲解UML常用功能和UML五步法构建UML图的知识。本人才疏学浅,希望大家轻喷。

第一章UML面向对象的分析和设计

1.1 对象

在UML构建中,就必须提到类和对象。类和对象提供了良好的语言机制,从而实现以下一些优点:

  • 封装:使用语言封装实现细节,从而实现更好的维护性和灵活性。
  • 松散耦合:耦合表示系统中某部分依赖其他部分的程度。耦合度紧密时,修改某一部分对系统的影响会非常大。在面向对象编程中,通过子系统中的接口可以很好的扩展子系统的功能,而不影响系统的功能。
  • 高内聚:内聚是指子系统中单一元素组成统一概念的程度。如果设计时,功能高内聚则易于理解、更为可靠。

基本概念

  • 类:对象的抽象模板,描述对象的语法封装体。
  • 属性:描述对象具体状态的语法封装体。
  • 操作:对象所具有的特定功能【方法或函数】。
  • 对象:即使用类描述的特定实例。
  • 继承:使用一个超类提供一个或多个子类所具有的属性和方法。
  • 组件:组件是相关类的集合,这些类共同提供一个大的服务集合。在.NET开发中,基本都是基于组件开发的。
  • 接口:组件或类提供的一组服务集合。

1.2 分析和设计

分析

面向对象的分析是根据对象来定义问题的过程。这些对象是系统必须与之交互的真实世界的对象,以及用于研究多种可选解决方案的候选软件对象。

注意:对象与真实世界的对象在面向对象分析过程中是一个必须付出更大精力的问题。

设计

面向对象设计是定义组件、接口、对象、类、属性和操作的具体过程,以满足各种需求。一般情况下,以在分析期间定义的候选对象作为基础,来添加更多严格的定义。然后根据细化需求来添加或改变对象。

设计通常发生在两个范围内:

  • 体系结构的设计【定义组成系统的组件】
  • 组件设计【确定构成组件的类和接口】

1.3 模型

UML中模型是UML的核心目标:构建系统模型从而了解系统。

注意:软件模型和最终产品间并没有直接的物理对应关系。

OOAD过程的核心产物即模型,在OOAD完成后可能会生成以下一些重要模型:

  • 分析模型:该模型针对已有的系统或终端用户的需求,以及这些需求的可能解决方案的高层次理解。
  • 体系结构模型:由于分析模型中可以提供多个可能的解决方案,体系模型将提供这些解决方案的体系结构,便于分析出那种解决方案是最符合当前需求的。即:解决方案的组件、结构和接口;该结构在多节点的部署;以及确定该结构的各种权衡和决策。
  • 组件设计模型:组件设计模型用于描述体系结构模型中各部分的内部结构的一系列模型【一般来书,一个组件对应一个模型】。组件模型更关注于组件类结构的细节,并允许设计人员分析和修改类的属性、操作和依赖行为。

其他模型将在后续章节中展示。

1.4 UML常见图

UML常见图概述如下所示:

  • 用例图:描述系统的外部可见行为。
  • 活动图:描述系统行为的详细情形。
  • 组件图:展示系统的体系结构。
  • 时序图【循序图】:显示系统中各部分随时间变化而产生的状态变化趋势。
  • 协作图:展示对象间的交互,并特别强调对象间的关系。
  • 类图:展示类定义和关系。
  • 状态图:展示组件或类响应事件时的状态变化。
  • 部署图:展示系统的物理体系结构。
  • 包图:展示系统中的设计层次结构。包提供了对类、接口的封转思想。
posted @ 2010-07-01 15:34  hongbo0521  阅读(327)  评论(1编辑  收藏  举报