面向对象的分析与设计
引言
我们首先介绍一些名词翻译
Object-Oriented Analysis and Design面向对象分析和设计
Assignning Responsibilities分配职责
Iterative Development and the Unified Process迭代开发和统一的过程
Embracing Change拥抱变化
Feedback and Adaptation反馈和调整
Iterative and incremental development迭代和持续开发
什么是分析和设计
分析的重点在于调查问题本身和需求,而不是一个解决方案。例如:我们如果需要一个新的图书馆系统,它可以用来做什么呢?分析是一个广义的称呼,还有一些更加精准的称呼,例如:需求分析,调查、研究需求,或者是对象分析,调查研究领域对象。
设计的重点在于一个概念上的,可以满足需求的解决方案,而不是这个解决方案的具体实现。例如:数据库结构描述和软件对象描述。最终,设计可以被实现。
和分析一样,设计也还有一些更加精准的称呼,对象设计或者是数据库设计。
什么是面向对象的分析和设计
在面向对象的分析过程中,重点是找到和描述问题领域的对象或者是概念。例如:在图书馆系统中,就包含下面一些概念:图书,图书馆,顾客。
在面向对象的设计过程中,重点是定义软件对象,以及它们如何协作来满足需求。例如:在图书馆系统中,图书这个软件对象就包含Title(标题)属性和GetChapter(获取章节)方法。
最后在编程的时候,这些对象会有具体的实现,可能会变成编程语言中的类。
面向对象的分析和设计实例
这个实例中将包括四个步骤。
实例的背景是一个骰子游戏,投掷两个骰子,两个骰子点数相加,如果等于7就是赢了。否则,就是输了。
定义用例
需求分析的结果可以描述为用例。用例和面向对象没有关系,他们只是简单的描述需求,描述流程,讲故事。
玩骰子游戏:一个游戏者投掷两个骰子,如果两个骰子的点数之和等于7,就赢了;否则,就输了。
定义领域模型
面向对象分析的重点在于创建领域对象的描述。结果可以用领域模型来表达,领域模型中包含一系列领域概念和对象的图表。
模型中包含一些重要的概念:游戏者,骰子,骰子游戏,一起他们的属性和关联。
需要注意的是,领域模型不是软件对象的描述,它只是一个现实世界的可视概念。
定义交互图
面向对象设计的重点在于定义软件对象以及它们之间的协作。通常使用交互图来定义对象的协作。在图中可以看出软件对象之间的信息流向,调用方法。
需要注意的是在现实世界中骰子是由游戏者投资的,但是在软件设计中,我们使用骰子游戏来投掷骰子(意味着,发送消息给骰子对象)。软件对象设计和程序来源于现实世界,但是它们不是直接映射或者模拟现实世界。
定义类图
除了使用动态的交互图,还有必要创建静态的类图。类图中可以看到类的属性和方法。
相对于领域模型来说,类图不描述现实世界,相反,它显示的是软件的类。
声明:文中的图都是来自<<applying uml and patterns>>英文版一书,内容大部分也是翻译而来的。
分享到:
相关推荐
由于提供的文件内容不包含实际的文本信息,而是重复的URL链接,因此无法从该部分提供有关面向对象分析与设计(OOAD)的知识点。但是,我将尽可能详细地介绍面向对象分析与设计的相关知识点,以满足您的需求。 面向...
### 面向对象分析与设计(第3版) #### 知识点概览 《面向对象分析与设计(第3版)》是一本全面介绍面向对象方法论的经典著作,由Grady Booch、Robert A. Maksimchuk、Michael W. Engle、Bobbi J. Young、Jim ...
面向对象分析与设计是软件开发领域中的核心概念,它结合了计算机科学、工程学和管理学的方法,旨在创建高效、可维护的软件系统。在这个过程中,UML(统一建模语言)扮演着至关重要的角色,它是面向对象设计的标准化...
面向对象分析与设计是软件工程领域的一个重要分支,它强调以对象作为基本单元来构建软件系统,从而使得软件具有更好的模块化、复用性和可维护性。在软件开发的实践中,面向对象的思想和技术已成为主流。Grady Booch...
面向对象分析与设计是软件开发领域中的一种重要方法论,主要应用于复杂系统的设计与实现。这一方法论由麻志毅等专家深入研究并传授,旨在提高软件开发的效率和质量。下面将详细介绍其中的关键知识点。 首先,我们来...
面向对象分析与设计(Object-Oriented Analysis and Design, 简称OOAD)是软件开发过程中的关键步骤,它结合了模型驱动工程(Model-Driven Engineering)与统一建模语言(Unified Modeling Language, UML)等现代...
"面向对象分析与设计(UML)课程设计报告范文.pdf" 面向对象分析与设计(UML)是软件开发领域中的一种重要方法论,通过使用Unified Modeling Language(UML),对系统进行分析、设计和实现。下面是对面向对象分析与...
面向对象分析与设计(OOA&D)课程设计在实际应用中通常是针对具体项目来进行的,例如本案例中的餐厅点菜系统。面向对象的技术主要是以对象为基础来构建软件系统,它强调在系统开发过程中应用封装、继承和多态等面向...
面向对象分析与设计是软件开发领域中的核心概念,它涵盖了软件生命周期中两个关键阶段:分析与设计。在《面向对象分析与设计(第3版)》这本书中,作者王海鹏详细阐述了如何运用面向对象的方法来理解和构建复杂的...
面向对象分析与设计(OOAD)是软件工程领域的一个核心概念,它涉及到将现实世界的问题转化为计算机程序的过程。本主题涵盖了面向对象编程的基本原理、分析方法、设计模式以及相关工具和技术。以下是对这一主题的详细...