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

1.1、什么是分析和设计

分析(analysis):强调的是对问题和需求的调查研究,而不是解决方案,即应该如何使用系统,系统应该具有哪些功能。

设计(design):强调的是满足需求的概念上的解决方案(在软件和硬件方面),而不是其实现。最终,分析可以实现,而实现则表达了真实和完整的设计。

分析和设计一词最好加以限制,如面向对象的设计、数据库设计。

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

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

在面向对象分析(OOA)过程中,强调的是在问题领域内发现和描述对象(或概念)。如,明确一些概念,这些概念也许对应着一些对象。

在面向对象设计(OOD)过程中,强调的是定义软件对象以及它们如何协作以实现需求。如,明确类的属性和方法。

1.3、分析和设计的大概步骤

1)、定义用例

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

2)、定义领域模型

OOA关注从对象的角度创建领域描述。OOA需要鉴别重要的概念、属性和关联。

OOA的结果可以表示为领域模型(domain model),在领域模型中展示重要的领域概念或对象。

需要注意的是:领域模型并不是对软件对象的描述,它是真实世界领域中的概念和想像可视化。因此也被称为概念对象模型。

3)分配对象职责并绘制交互图

OOD关注软件对象的定义----他们的职责和协作。常用UML顺序图来描述。

4)定义设计类图

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

1.4、什么是UML

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

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

1.5  应用UML的三种方式

1)、UML作为草图----用于探讨问题或解决方案空间的复杂部分。

2)、UML作为蓝图----相对详细的设计图,用于:逆向工程或代码生成(前向工程)。

3)、UML作为编程语言----用UML完成软件系统可执行规格说明,代码可能被自动生成。

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

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

1.5 应用UML的三种透视图

1)、概念透视图:用图来描述现实世界或关注领域中的事物。

2)、规格说明(软件)透视图:用图来描述软件抽象物或具有规格说明和接口的构建,但并不约定特定的实现。

3)、实现(软件)透视图:用图来描述特定技术(如Java)中的软件实现。

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

以上三种透视图中“类”的含义分别为:

1)、概念类----现实世界中的概念或事物。

2)、软件类----软件构建在规格说明或实现透视图中的类。

3)、实现图----特定OO语言中类。

1.7 可视化建模的优点

可视化的工作方式更容易理解和开发大脑,快速掌握符号、单元及关系。

图可以帮助我们更为遍历的观察全景,发现软件元素或分析之间的联系,同时允许我们忽略和隐藏旁枝末节。这是UML或其他图形化语言的本质价值。

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

时间: 2024-10-05 23:09:58

UML和模式应用:面向对象的分析与设计的相关文章

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

1.本书的主要内容 UML和面向对象的思想 对应用了UML和模式的面向对象分析与设计(OOA/D)的介绍 重点阐述对象设计,也会讲述在OOA/D中如何使用UML OOD的原则和模式 职责驱动设计 模式,问题解决方案公式 案例研究 贯穿全书的案例研究 用例 讲述需求分析 迭代开发 迭代开发使用统一过程(UP)的敏捷方法作为示例迭代过程来讲述迭代开发 TODO

UML和模式应用-2 迭代、进化和敏捷

1.前言 本章主要介绍 2.几个基本术语 items note OOA/D  面向对象的分析与设计 UML 描述.构造和文档化系统制品的可视化语言 模式 问题解决方案的公式 迭代开发   敏捷方法   UP 统一过程,是敏捷开发的一种代表方法 2. OOA/D.迭代开发.UP的关系 迭代开发是OOA/D称为最佳实践的核心 UP是示范性的迭代开发                             TODO

面向对象分析与设计—四色原型模式(彩色建模、领域无关模型)(概念版)

阅读目录: 1.背景介绍 2.问自己,UML对你来说有意义吗?它帮助过你对系统进行分析.建模吗? 3.一直以来其实我们被一个缝隙隔开了,使我们对OOAD遥不可及 4.四色原型模式填补这个历史缝隙,让我们真的看见OOAD的希望 5.在四色原型上运用彩色建模增强视觉冲击力 6.通过四色原型模式建模出领域无关模型 7.结束语:建模时你可以不考虑具体实现,但是建模者要懂技术实现 1.背景介绍 至今我都清楚的记得我第一次被面试官问起什么叫"建模"技术时的情景,那是好几年前的事情了,当时是胸有成竹

UML面向对象分析与设计试题2008-B卷

UML面向对象分析与设计试题2008-B卷 UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 提交APPStore流程http://www.360doc.com/content/15/0203/15/19663521_445974056.shtml

《UML和模式应用》重点之思想篇

本书是帮助开发者和学生学习面向对象分析和设计(OOA/D)的核心技能的重要工具. UML不是OOA/D,也不是方法,只是图形表示法,如果没有真正掌握如何创建优秀的面向对象设计,或者如何评估和改进现有设计,那么学习UML或者UML CASE工具是毫无意义的.对象思想才是重点和难点. 在OO开发中,至关重要的能力是熟练地为软件对象分配职责,除此之外当然还有其他很多重要的技能. 有益的分析和设计可以概括为:做正确的事(分析)和正确地做事(设计). 面向对象分析的过程中强调在问题领域内发现和描述对象(或

基于UML的毕业设计管理系统的分析与设计

基于UML的毕业设计管理系统的分析与设计 <本段与标题无关,自行略过 最近各种忙,天气不错,导师心情不错:"我们要写一个关于UNL的专著",一句话:"一个完整的系统贯穿整个UML的知识":我:"--o---k--".忙里偷闲,先回顾一下吧> 毕业设计是实现本科教学培养目标的重要环节,从选题到答辩一般需要四至六个月的时间,其间工作量很大,尤其需要保留大量的文件,以便于管理者对毕业设计工作进行监督.传统的.人工的方式管理各项事务和文件档案

UML和模式应用3-案例研究

1.前言 案例研究所包含的内容: UI元素 核心应用逻辑层 数据库访问 与外部软硬构件的协作 本章关于OOA/D主要介绍核心应用逻辑层 2. 重点探讨核心应用逻辑层的OOA/D的原因 图 OOA/D层举例及重点关注层 其它层对技术平台具有较大依赖性: 核心应用逻辑层的OO设计对各种技术来说是类似的: 应用逻辑层语境中学习到的基本OO设计技巧适用于所有其它层或构件 其它层的设计方法和模式呈现出快速变化的趋势 3. 案例研究策略 迭代开发 使用迭代策略,第一次迭代用于OOA/D核心功能,后续迭代迭代

面向对象分析与设计

面向对象基本概念 对象:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位.一个对象由一组属性和对这组属性进行操作的一组服务组成.从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用:它是一组属性和有权对这些属性进行操作的一组服务的封装体.客观世界是由对象和对象之间的联系组成的.主动对象是一组属性和一组服务的封装体,其中至少有一个服务不需要接收消息就能主动执行(称作主动服务). 类:把众多的事物归纳.划分成一些类是人类在认识

【软件工程】 文档 - 银行业务管理 - 面向对象分析与设计

软件工程 银行业务管理和现金结算系统 --- 面向对象分析与设计文档  ***原创所有,本文禁止一切形式的未授权转载,如需转载联系作者,请尊重作者权利. 以下UML建模图仅供参考. 一.面向对象分析 1.      建立用例模型 i. 开户 用例描述:开户用例图中,由管理员发起开户事务,储户提供账户信息.身份信息,管理员验证账户合法性和身份真实性后输入账户信息,储户设置密码,过程中涉及验证合法性(账户号正确.身份真实等).添加账户信息等.储户可以打印凭证. ii. 销户 用例描述:销户用例图中,