Object-Oriented Analysis(面向对象分析方法)是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
编辑摘要
面向对象分析方法(Object-Oriented Analysis,OOA),是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)和5个活动(标识对象类、标识结构、定义主题、定义属性和定义服务)组成。在这种方法中定义了两种对象类之间的结构,一种称为分类结构,一种称为组装结构。分类结构就是所谓的一般与特殊的关系。组装结构则反映了对象之间的整体与部分的关系。
OOA在定义属性的同时,要识别实例连接。实例连接是一个实例与另一个实例的映射关系。
OOA在定义服务的同时要识别消息连接。当一个对象需要向另一对象发送消息时,它们之间就存在消息连接。
OOA 中的5个层次和5个活动继续贯穿在OOD(画向对象的设计)过程中。OOD模型由4个部分组成。它们分别是设计问题域部分、设计人机交互部分、设计任务管理部分和设计数据管理部分。
一、OOA的主要原则。
(1)抽象:从许多事物中舍弃个别的、非本质的特征,抽取共同的、本质性的特征,就叫作抽象。抽象是形成概念的必须手段。
抽象原则有两方面的意义:第一,尽管问题域中的事物是很复杂的,但是分析员并不需要了解和描述它们的一切,只需要分析研究其中与系统目标有关的事物及其本质性特征。第二,通过舍弃个体事物在细节上的差异,抽取其共同特征而得到一批事物的抽象概念。
抽象是面向对象方法中使用最为广泛的原则。抽象原则包括过程抽象和数据抽象两个方面。
过程抽象是指,任何一个完成确定功能的操作序列,其使用者都可以把它看作一个单一的实体,尽管实际上它可能是由一系列更低级的操作完成的。
数据抽象是根据施加于数据之上的操作来定义数据类型,并限定数据的值只能由这些操作来修改和观察。数据抽象是OOA的核心原则。它强调把数据(属性)和操作(服务)结合为一个不可分的系统单位(即对象),对象的外部只需要知道它做什么,而不必知道它如何做。
(2)封装就是把对象的属性和服务结合为一个不可分的系统单位,并尽可能隐蔽对象的内部细节。
(3)继承:特殊类的对象拥有的其一般类的全部属性与服务,称作特殊类对一般类的继承。
在OOA中运用继承原则,就是在每个由一般类和特殊类形成的一般—特殊结构中,把一般类的对象实例和所有特殊类的对象实例都共同具有的属性和服务,一次性地在一般类中进行显式的定义。在特殊类中不再重复地定义一般类中已定义的东西,但是在语义上,特殊类却自动地、隐含地拥有它的一般类(以及所有更上层的一般类)中定义的全部属性和服务。继承原则的好处是:使系统模型比较简练也比较清晰。
(4)分类:就是把具有相同属性和服务的对象划分为一类,用类作为这些对象的抽象描述。分类原则实际上是抽象原则运用于对象描述时的一种表现形式。
(5)聚合:又称组装,其原则是:把一个复杂的事物看成若干比较简单的事物的组装体,从而简化对复杂事物的描述。
(6)关联:是人类思考问题时经常运用的思想方法:通过一个事物联想到另外的事物。能使人发生联想的原因是事物之间确实存在着某些联系。
(7)消息通信:这一原则要求对象之间只能通过消息进行通信,而不允许在对象之外直接地存取对象内部的属性。通过消息进行通信是由于封装原则而引起的。在OOA中要求用消息连接表示出对象之间的动态联系。
(8)粒度控制:一般来讲,人在面对一个复杂的问题域时,不可能在同一时刻既能纵观全局,又能洞察秋毫。因此需要控制自己的视野:考虑全局时,注意其大的组成部分,暂时不详察每一部分的具体的细节;考虑某部分的细节时则暂时撇开其余的部分。这就是粒度控制原则。
(9)行为分析:现实世界中事物的行为是复杂的。由大量的事物所构成的问题域中各种行为往往相互依赖、相互交织。
二、面向对象分析产生三种分析模型
1、功能模型(即用例模型à作为输入)
2、对象模型:对用例模型进行分析,把系统分解成互相协作的分析类,通过类图/对象图描述对象/对象的属性/对象间的关系,是系统的静态模型
3、动态模型:描述系统的动态行为,通过时序图/协作图描述对象的交互,以揭示对象间如何协作来完成每个具体的用例,单个对象的状态变化/动态行为可以通过状态图来表达
三、OOA的主要优点
(1)加强了对问题域和系统责任的理解;
(2)改进与分析有关的各类人员之间的交流;
(3)对需求的变化具有较强的适应性;
(4)支持软件复用。
(5)贯穿软件生命周期全过程的一致性。
(6)实用性;
(7)有利于用户参与。
四、OOA方法的基本步骤
在用OOA具体地分析一个事物时,大致上遵循如下五个基本步骤:
第一步,确定对象和类。这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。
第二步,确定结构(structure)。结构是指问题域的复杂性和连接关系。类成员结构反映了泛化-特化关系,整体-部分结构反映整体和局部之间的关系。
第三步,确定主题(subject)。主题是指事物的总体概貌和总体分析模型。
第四步,确定属性(attribute)。属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指定。
第五步,确定方法(method)。方法是在收到消息后必须进行的一些处理方法:方法要在图中定义,并在对象的存储中指定。对于每个对象和结构来说,那些用来增加、修改、删除和选择一个方法本身都是隐含的(虽然它们是要在对象的存储中定义的,但并不在图上给出),而有些则是显示的。
分享到:
相关推荐
图书管理系统OOA-OOD报告 图书管理系统OOA-OOD报告是一个详细的技术报告,旨在设计和开发一个基于计算机的图书管理系统。该系统旨在帮助图书馆管理员更有效地管理图书,包括图书分类、图书信息管理、读者管理、图书...
基于OOA-BP基于鱼鹰算法优化BP神经网络的数据多输入单输出回归预测(Matlab完整源码和数据) 基于OOA-BP基于鱼鹰算法优化BP神经网络的数据多输入单输出回归预测(Matlab完整源码和数据) 基于OOA-BP基于鱼鹰算法优化BP...
面向对象分析(Object-Oriented Analysis,简称 OOA)与面向对象设计(Object-Oriented Design,简称 OOD)作为软件工程中重要的组成部分,在软件开发过程中扮演着关键角色。这两种方法学不仅帮助开发者更好地理解...
面向对象的分析方法(OOA)是软件开发过程中的一个重要阶段,它是在系统业务调查后,采用面向对象的思想来分析问题。与传统的结构化分析不同,OOA更侧重于对面向对象方法所需素材的归类和整理,而非仅仅关注业务现状...
面向对象分析(Object-Oriented Analysis,OOA)是软件开发过程中的一个关键步骤,主要任务是对问题域进行深入理解,识别出重要的对象和它们之间的关系。OOA关注于业务逻辑和需求,通过创建类和对象模型来描述系统的...
**对象导向分析(Object-Oriented Analysis,OOA)与对象导向设计(Object-Oriented Design,OOD)是软件工程中的关键步骤,特别是在复杂系统开发中。这些方法论旨在通过模拟现实世界中的实体和关系来创建高效、可...
面向对象(Object-Oriented Analysis, OOA)是软件开发中的一种方法论,它强调将现实世界中的问题域转化为计算机程序的结构。OOA是面向对象设计(Object-Oriented Design, OOD)的前驱,是整个面向对象开发过程中的关键...
在软件工程领域,面向对象分析(Object-Oriented Analysis,简称OOA)是设计系统的一种重要方法论,它强调从对象的角度出发,分析系统的需求,从而构建出清晰、灵活、可扩展的系统架构。OOA动态建模是OOA的重要组成...
《OOA&D实践之路》是一本深入探讨对象导向分析与设计(Object-Oriented Analysis & Design,简称OOA&D)的书籍,旨在帮助读者掌握如何在实际项目中有效地运用这一方法论。通过阅读这本书,我们可以了解到如何从需求...
《Grady Booch--OOA&D with App 读后》 Grady Booch是面向对象分析与设计(Object-Oriented Analysis and Design, OOA&D)领域的权威专家,他的著作深入浅出地阐述了如何有效地进行面向对象的系统开发。这篇读书...
《住院管理信息系统需求规格说明书(SA、OOA)》是一份详细阐述了住院管理信息系统的功能、性能和接口等需求的文档,它是系统开发过程中的关键环节,为后续的设计、编码和测试提供了基础。这份说明书涉及到的主要知识...
面向对象分析(OOA)和面向对象设计(OOD)是软件工程领域中两种重要的开发方法,它们在管理信息系统(MIS)的开发中扮演了关键角色。OOA和OOD方法能够帮助系统开发者以更加直观和模块化的方式构建复杂的信息系统,...
"OOA基本原则" OOA(Object-Oriented Analysis,面向对象分析)是一种软件设计方法论,它通过对问题域的分析和建模,来解决软件设计中的问题。在OOA中,存在一些基本原则,指导着软件设计的整个过程。本文将详细...
面向对象分析(Object-Oriented Analysis,简称OOA)是一种软件工程方法,旨在从问题领域出发,使用面向对象的方法来理解和分析系统需求。在教务管理系统的开发过程中,OOA被广泛采用,以确保系统的设计既符合实际...
《用例培训理论及实例:OOA/D概览》 在软件工程领域,用例(Use Case)是一种描述系统或组件如何与外部参与者交互以实现特定目标的技术。它是一种强大的需求分析工具,广泛应用于对象导向分析与设计(Object-...
面向对象分析(OOA)、面向对象设计(OOD)与UML的基础教程
OOA-SVM鱼鹰算法OOA优化支持向量机SVM的多变量输入数据分类预测(Matlab完整源码和数据)OOA-SVM鱼鹰算法OOA优化支持向量机SVM的多变量输入数据分类预测(Matlab完整源码和数据)OOA-SVM鱼鹰算法OOA优化支持向量机SVM...
面向对象软件开发技术(OOA-OOD-OOP)
基于OOA-BP鱼鹰算法优化BP神经网络多特征分类预测(matlab完整源码数据) 1.运行环境Matlab2018b及以上; 2.输入12个特征,输出分4类,可视化展示分类准确率 3.优化最优初始权值和阈值; 4.data为数据集,main为主...