在OO开发中,至关重要的能力就是熟练地为软件对象分配职责。
《UML和模式应用》这本书给我们了9中基本指导原则,并将他们称之为GRASP,这些原则都有各自的名称,如信息专家和创建者等。
首先我们需要明确一点,什么是分析和设计:
分析强调的是对问题和需求的调查研究,而不是解决方案。例如,如果需要一个新的在线交易系统,那么,应该如何使用它?它应该具有哪些功能。
设计强调的是满足需求的概念上的解决方案,而不是其实现。
那么什么是面向对象分析和设计呢?
在
面向对象分析过程中,强调的是
在问题领域内发现和描述对象(或概念)。例如,在航班信息系统里包含飞机、航班和飞行员等概念。
在
面向对象设计过程中,强调的是
定义软件对象以及它们如何协作以实现需求。例如,软件对象Plane可以有tailNumber属性和getFlightHistory方法。
最后在实现或面向对象程序设计过程中,会实现设计出来的对象,如java中的Plane类。
定义用例
用例不是面向对象制品,而是对情景的记录。
但用例是需求分析中的一种常用工具。
定义领域模型
面向对象
分析关注从对象的角度创建领域描述。面向对象分析需要鉴别重要的概念、属性、和关联。
面向对象分析的
结果可以表示领域模型,在领域模型中展示重要的领域概念或对象。
需要注意的是,领域模型并不是软件对象的描述,它是真实世界领域中的概念和想象可视化。因此被称为
概念对象模型(conceptual object model)。
面向对象
设计关注软件对象的定义——它们的
职责和协作。顺序图是描述协作的常见表示法。它展示出软件对象之间的消息流,和由消息引起的方法调用。
定义设计类图
与领域模型表示的是真实世界的类,设计类图表示的是软件类。
要注意的是,尽管设计类图不同于领域模型,但是其中的某些类名和内容还是相似的。从这一方面讲,OO设计和语言能够缩小软件构件和我们所设想的领域模型之间的差距,即实现低表示差距。(这一点应该是我认为四色原型跟类图相似的原因吧)
最后列出3个概念名词:
概念类——现实世界中的概念或事物。在概念或本质透视图中使用。UP领域模型中包括概念类。
软件类——无论在过程还是方法中,都表示软件构件在规格说明或实现透视图中的类。
实现类——特定OO语言(java)中的类。
分享到:
相关推荐
由于提供的文件内容不包含实际的文本信息,而是重复的URL链接,因此无法从该部分提供有关面向对象分析与设计(OOAD)的知识点。但是,我将尽可能详细地介绍面向对象分析与设计的相关知识点,以满足您的需求。 面向...
本书旨在为读者提供一套完整的面向对象分析与设计(OOAD)的方法,并结合实际应用案例来帮助读者深入理解面向对象的核心概念和技术。 #### 面向对象分析与设计概述 面向对象分析与设计是一种软件开发方法,它强调...
详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。本书使用最常见的技术和方法,通过一个贯穿全书的案例分析,对面向对象的软件开发过程和使用面向对象技术的编程过程进行了...
面向对象分析与设计是软件开发领域中的一种重要方法论,主要应用于复杂系统的设计与实现。这一方法论由麻志毅等专家深入研究并传授,旨在提高软件开发的效率和质量。下面将详细介绍其中的关键知识点。 首先,我们来...
UML 2.0相较于之前的版本有了显著的改进,它增加了许多新的概念和表示法,更好地支持了面向对象分析与设计的实践。例如,UML 2.0对于用例图、类图、序列图、活动图等都进行了扩展和优化,使得它能够更加精准地描述...
面向对象分析与设计是软件开发领域中的核心概念,它结合了计算机科学、工程学和管理学的方法,旨在创建高效、可维护的软件系统。在这个过程中,UML(统一建模语言)扮演着至关重要的角色,它是面向对象设计的标准化...
这5份试卷的综合练习,将全面覆盖UML的主要概念和应用,对于提升面向对象分析与设计的能力大有裨益。无论是初学者还是有一定经验的开发者,都应该通过这样的实践来巩固理论知识并提高实际操作能力。
在面向对象分析与设计中,有三个重要的概念:类、对象和继承。类是对对象的抽象描述,定义了对象的属性和行为。对象是类的实例,具有具体的属性值和行为。继承是类之间的关系,子类继承父类的属性和行为,并可以添加...
在进行面向对象分析与设计时,还会涉及到一些关键概念和实践原则。例如: - 封装(Encapsulation):系统中的对象需要隐藏内部状态和实现细节,只通过公共接口与外界通信。 - 继承(Inheritance):在点菜系统中,...
面向对象分析与设计是软件开发领域中的核心概念,它涵盖了软件生命周期中两个关键阶段:分析与设计。在《面向对象分析与设计(第3版)》这本书中,作者王海鹏详细阐述了如何运用面向对象的方法来理解和构建复杂的...
面向对象分析与设计(OOAD)是软件工程领域的一个核心概念,它涉及到将现实世界的问题转化为计算机程序的过程。本主题涵盖了面向对象编程的基本原理、分析方法、设计模式以及相关工具和技术。以下是对这一主题的详细...
面向对象分析与设计是软件工程领域的一个核心概念,它是一种以对象为中心的软件开发方法,旨在提高代码的可重用性、灵活性和可维护性。本资料包包含了面向对象分析与设计的多套试题,覆盖了该领域的核心知识点,包括...
### 面向对象分析与设计概述 #### 一、面向对象的基本概念 面向对象(Object-Oriented,简称OO)是一种软件开发方法,它基于“对象”这一基本概念进行程序设计。在面向对象的世界里,对象是构成系统的基本单元,...
面向对象系统分析与设计是软件工程领域的一个重要部分,它涉及如何使用面向对象的方法来分析和设计软件系统。面向对象方法强调的是用现实世界中的概念来模拟软件系统中的实体和它们之间的交互。以下是一些在面向对象...