畅谈UML面向对象的分析与设计

开发 架构
UML面向对象的概念你是否熟悉,本文就向大家简单介绍一下UML面向对象的分析与设计,希望本文的介绍对你的学习有所帮助。

本文和大家重点讨论一下UML面向对象的分析与设计,在UML面向对象分析(OOA)过程中,强调的是在问题领域内发现和描述对象(或概念)。而设计强调的是定义软件对象以及它们如何协作以实现需求。

UML和模式应用 UML面向对象的分析与设计

1.1、什么是分析和设计

分析(analysis):强调的是对问题和需求的调查研究,而不是解决方案,即应该如何使用系统,系统应该具有哪些功能。
设计(design):强调的是满足需求的概念上的解决方案(在软件和硬件方面),而不是其实现。最终,分析可以实现,而实现则表达了真实和完整的设计。
分析和设计一词***加以限制,如UML面向对象的设计、数据库设计。

有益的分析和设计可以概括为:做正确的事(分析)和正确地做事(设计)。

1.2、什么是UML面向对象的分析和设计

在UML面向对象分析(OOA)过程中,强调的是在问题领域内发现和描述对象(或概念)。如,明确一些概念,这些概念也许对应着一些对象。
在UML面向对象设计(OOD)过程中,强调的是定义软件对象以及它们如何协作以实现需求。如,明确类的属性和方法。

1.3、UML面向对象分析和设计的大概步骤

1)、定义用例
需求分析可能包括人们如何使用应用的情节或场景,这些情节或场景可以被编写成用例。

2)、定义领域模型
OOA关注从对象的角度创建领域描述。OOA需要鉴别重要的概念、属性和关联。
OOA的结果可以表示为领域模型(domainmodel),在领域模型中展示重要的领域概念或对象。
需要注意的是:领域模型并不是对软件对象的描述,它是真实世界领域中的概念和想像可视化。因此也被称为概念对象模型。

3)分配对象职责并绘制交互图
OOD关注软件对象的定义----他们的职责和协作。常用UML顺序图来描述。

4)定义设计类图
除了在交互图中显示对象协作的动态视图外,还可以用设计类图来有效的表示类定义的静态视图。这样可以描述类的属性和方法。

1.4、什么是UML

统一建模语言(UML)是描述、构造和文档化系统制品的可视化语言。

UML是一个庞大的语法体系,UML定义了各种UML简档(UMLprofile),这些简档专用于某些常用主题领域的表示法子集,例如对EJB使用EJB简档。

1.5应用UML面向对象的三种方式
1)、UML作为草图----用于探讨问题或解决方案空间的复杂部分。
2)、UML作为蓝图----相对详细的设计图,用于:逆向工程或代码生成(前向工程)。
3)、UML作为编程语言----用UML完成软件系统可执行规格说明,代码可能被自动生成。

如果不具备良好的OO设计和编程技能,那么即使使用UML,也只能画出拙劣的设计。

敏捷建模(agilemodeling)强调了UML作为草图的方式,这也是使用UML的普通方式,而且通常对时间投入具有高回报。

1.5应用UML面向对象的三种透视图

1)、概念透视图:用图来描述现实世界或关注领域中的事物。
2)、规格说明(软件)透视图:用图来描述软件抽象物或具有规格说明和接口的构建,但并不约定特定的实现。
3)、实现(软件)透视图:用图来描述特定技术(如Java)中的软件实现。

1.6不同透视图中“类”的含义

以上三种透视图中“类”的含义分别为:
1)、概念类----现实世界中的概念或事物。
2)、软件类----软件构建在规格说明或实现透视图中的类。
3)、实现图----特定OO语言中类。

1.7可视化建模的优点

可视化的工作方式更容易理解和开发大脑,快速掌握符号、单元及关系。
图可以帮助我们更为遍历的观察全景,发现软件元素或分析之间的联系,同时允许我们忽略和隐藏旁枝末节。这是UML或其他图形化语言的本质价值。
 

【编辑推荐】

  1. 详解以UML面向对象建模为基础的几种开发模式
  2. UML构件图的设计步骤和应用说明
  3. UML面向对象知识入门
  4. 浅析UML面向对象的系统分析设计方法
  5. 解析UML面向对象分析与建模中交互图

 

 

 

责任编辑:佚名 来源: tzwhx.com
相关推荐

2010-06-17 17:57:10

UML面向对象分析与设

2009-06-26 13:38:46

UML面向对象

2010-06-17 11:27:11

UML构件

2010-07-08 13:35:39

UML面向对象

2010-06-18 11:28:14

2010-06-18 10:34:05

UML面向对象

2010-06-18 11:16:52

UML面向对象

2020-10-10 11:03:24

面向对象编程语言开发

2010-06-13 10:01:48

面向对象技术与UML

2010-06-17 11:12:53

UML构件

2010-06-10 10:03:42

UML面向对象

2022-08-26 08:35:59

对象设计底层

2010-06-17 09:22:48

UML面向对象分析与建

2013-03-14 11:17:46

2010-07-06 09:43:34

UML面向对象

2009-06-26 13:29:11

面向对象

2010-06-13 10:19:24

面向对象技术与UML

2010-07-09 09:51:26

UML面向对象

2010-06-17 18:17:36

UML面向对象技术

2010-06-18 17:49:34

UML面向对象技术
点赞
收藏

51CTO技术栈公众号