面向对象分析,设计,开发(ooaoodoop)

avrilliu avrilliu     2023-01-03     203

关键词:

一、OOA

1.1 首先我们来讲述一下什么是OOA

Object-Oriented Analysis:面向对象分析法
指的是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类花分析和整理,而不是对管理业务现状和方法的分析。
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)和5个活动(标识对象类、标识结构、定义主题、定义属性和定义服务)组成。在这种方法中定义了两种对象类之间的结构,一种称为分类结构,一种称为组装结构。分类结构就是所谓的一般与特殊的关系。组装结构则反映了对象之间的整体与部分的关系。
OOA在定义属性的同时,要识别实例连接。实例连接是一个示例与另一个实例的映射关系。
OOA在定义服务的同时要识别消息连接。当一个对象需要向另一个对象发送消息时,它们之间就存在消息连接。
OOA中的5个层次和5个活动继续贯穿在OOD(面向对象设计)过程中。OOD模型由4各部分组成。它们分别是设计问题域部分、设计人机交互部分、设计任务管理部分、和设计数据管理部分。

1.3 OOA的主要原则。

(1)抽象:从许多食物中舍弃个别的、非本质的特征,抽取共同的、本质性的特征,就叫做抽象。愁乡石形成概念的必须手段。
抽象原则有两个方面的意义:第一,尽管问题域中的事物是很复杂的,但是分析员并不需要了解和描述它们的一切,只需要分析其中与系统目标有关的事物及其本质性特征。第二,通过舍弃个体事物在细节上的差异,抽取其共同特性而得到一批事物的抽象概念。
抽象是面向对象方法中使用最为广泛的原则。抽象原则包括过程抽象和数据抽象两个方面。
过程抽象是指,任何一个完成确定功能的操作序列,其使用者都可以把它看做一个单一的实体,尽管实际上它可能是由一系列更低级的操作完成的。
数据抽象是根据施加于数据之上的操作来定义数据类型,并限定数据的值只能由这些操作来修改和观察。数据抽象是OOA的核心原则。它强调把数据(属性)和操作(服务)结合为一个不可分的系统单位(即对象),对象的外部只需要知道它做什么,而不必知道它如何做。
(2)封装就是把对象的属性和服务结合为一个不可分的系统单位,并尽可能隐蔽对象的内部细节。
(3)继承:特殊类的对象拥有的其一般类的全部属性与服务,称作特殊类对一般类的继承。
在OOA中运用继承原则,就是在每个由一般类和特殊类形成的一半----特殊结构总,把一般类的对象实例和所有特殊类的对象实例都共同具有的属性和服务,一次性的在一般类中进行显式的定义。在特殊类中不在重复的定义一般类中已定义的东西,但是在语义上,特殊类却自动的、隐含地拥有它的一般类(以及所有更上层的一般类)中定义的全部属性和服务。继承原则的好处是:是系统模型比较简练也比较清晰。
(4)分类:就是把具有相同属性和服务的对象划分为一类,用类作为这些对象的抽象描述。分类原则实际上是抽象原则运用于对象描述时的一种表现形式。
(5)聚合:又称组装,其原则是:把一个复杂的事物看成若干比较简单的事物组装体,从而简化对复杂事物的描述。
(6)关联:是人类思考问题时经常运用的思想方法:通过一个事物联想到另外的事物。能使人发生联想的原因是事物之间确实存在着某些联系。
(7)消息通信:这一原则要求对象之间只能通过消息进行通信,而不允许在对象之外直接地存取对象内部的属性。通过消息进行通信是由于封装原则而引起的。在OOA中要求消息连接表示出对象之间的动态联系。
(8)粒度控制:一般来讲,人在面对一个复杂的问题域时,不可能在同一时刻既能纵观全局,又能洞察秋毫。因此需要控制自己的视野:考虑全局时,注意其大的组成部分,暂时不详查每一部分的具体的细节:考虑某部分的细节时则暂时撇开其余的部分。着就是粒度控制原则
(9)行为分析:显示世界中事物的行为是复杂的。由大量的事物所构成的问题域中各种行为旺旺相互依赖交织

1.4 面向对象分析产生三种模型

1.对象模型:对用例模型进行分析,把系统分解成互相协作的分析类,通过类图对象图描述对象对象的属性对象间的关系,是系统的静态模型
2,动态模型:描述系统的动态行为,通过时序图/协作图/描述对象的交互,以揭示对象间如何协作来完成每个具体的用例。单个对象的状态变化/动态行为可以通过状态图来表示、
3.功能模型(即用例模型à作为输入)

1.5 OOA的主要优点

1.加强了对问题域和系统责任的理解。
2.改进与分析有关的各类人员之间的交流
3.对需求的变化具有较强的适应性
4.支持软件复用。
5.贯穿软件声明周期全过程的一致性、
6.实用性
7.有利于用户参与

1.6 OOA方法的具体步骤

在用OOA具体分析一个事物时。大致上遵循如下5个基本步骤;
1,确定对象和类。这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界总某些事物的信息能力。。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。
2,确定结构(structure)。结构是指问题域的复杂性和连接关系。类成员结构反映了泛华—特化关系,整体-部分结构反映整体和局部之间的关系
3,确定主题(subject)。主题是指事物的总体概貌和总体分析模型
4,确定属性(attribute)。属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指定。
5,确定方法(method)。方法是在收到消息后必须进行的一些处理方法:方法要在图中定义,并在对象的存储中指定。对于每个对象和结构来说,那些用来增加、修改、删除和选择一个方法本身都是隐含的(虽然它们是要在对象的存储中定义的,但并不在图上给出),而有些则是显示的。

 
































ooaoodoop

Object-OrientedAnalysis:面向对象分析方法  是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素... 查看详情

十面向对象分析和设计全流程概述

一个项目前期分析分为管理流程和技术流程。管理流程是软件工程范畴,属于项目管理。管理流程常见的有瀑布模型、螺旋模型、迭代开发、敏捷,RUP等。管理流程主要是指导项目经理如何管理项目用的。知道了管理流程,并不... 查看详情

面向对象设计----软件设计师

上午12分下午两大答题30分面向对象的基本概念❤❤❤❤❤采用面向对象的软件开发,通常由面向对象分析,面向对象设计,面向对象实现1面向对象分析OOA:获取对应用问题的理解,主要任务是抽取和整理用户需求并建立问题域精确模... 查看详情

这是博客

s是早期的计算机编程是基于面向过程的方法,例如实现算术运算1+1+2=4,通过设计一个算法就可以解决当时的问题。随着计算机技术的不断提高,计算机被用于解决越来越复杂的问题。一切事物皆对象,通过面向对象的方式,将... 查看详情

面向对象分析与设计面向对象设计包括哪些内容

一、总述面向对象分析的输入是用户的功能需求,输出是简单的、理性化的分析模型,此阶段的工作更多侧重于如何理解软件的功能需求;面向对象设计的输入是面向对象分析的结果,蔬菜水果最终的、细化后的设计模型,此阶... 查看详情

什么使用面向对象

.什么使用面向对象软件出现的目的:用计算机语言描述现实世界用计算机解决现实世界的问题面向对象的思想-->面向对象的世界.面向对象和程序开发的好处交流更加顺畅提高设计开发效率用于分析使用类图描述类和设计类用... 查看详情

什么使用面向对象

.什么使用面向对象软件出现的目的:用计算机语言描述现实世界用计算机解决现实世界的问题面向对象的思想-->面向对象的世界.面向对象和程序开发的好处交流更加顺畅提高设计开发效率用于分析使用类图描述类和设计类用... 查看详情

什么使用面向对象

.什么使用面向对象软件出现的目的:用计算机语言描述现实世界用计算机解决现实世界的问题面向对象的思想-->面向对象的世界.面向对象和程序开发的好处交流更加顺畅提高设计开发效率用于分析使用类图描述类和设计类用... 查看详情

面向过程分析方法与面向对象分析方法的区别

一、结构化分析(面向过程)方法   结构化分析方法(StructuredMethod,结构化方法)是面向过程的程序设计的方法,是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。结构是指系统内各个组成要素... 查看详情

软件开发工具(第14章:常用建模工具)

...统一建模语言(UnifiedModelingLanguage——UML)是一种面向对象的建模语言。UML可以实现大型复杂系统各种成分描述的可视化、说明并构造系统模型,以及建立各种所需的文档,是一种定义良好、易于表达、功能强大且普遍适... 查看详情

你的开发为何如此低效?

...但你也知道编码不是开发的全部,一个完全的开发流程用面向对象思想来概括,它分为OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)。一个好的代码结构是需要需求分析,架构设计做为辅助的,Stay尝试向你... 查看详情

面向对象分析和面向对象设计的区别

...ign/article/details/9259609一、总述      面向对象分析的输入是用户的功能需求,输出是简单的、理性化的分析模型,此阶段的工作更多侧重于如何理解软件的功能需求;      面向对象设计... 查看详情

面向对象程序设计-数据抽象和继承

  面向对象衍生  面向对象编程方法和编程语言一样在不断地演变发展。到了20世纪90年代,面向对象的方法在软件设计和分析等软件开发的上层领域中流行起来。1994年,当时主要的面向对象分析和设计方法Booth、OMT(ObjectMo... 查看详情

结构化方法与面向对象方法的分析比较

...,它极大地推动了计算机软件技术的发展。结构化方法和面向对象方法都是计算技术中常用的软件开发方法,两种开发方法目前都非常流行, 查看详情

在面向对象中,对象的基本性质是啥?

...代表了对那类事物属性的操作参考技术A基本概念:谈到面向对象,这方面的文章非常多。但是,明确地给出对象的定义或说明对象的定义的非常少——至少我现在还没有发现。起初,“面向对象”是专指在程序设计中采用封装... 查看详情

对象和类

面向对象(ObjectOriented)最初,面向对象是指在程序设计中采用封装、继承、对台等设计方法。现在,面向对象的思想已经涉及到软件开发的各个方面。如:面向对象的分析(OOA,ObjectOrientedAnalysis),面向对象的设计(OOD,Object... 查看详情

面向对象设计的6个设计原则最早谁提出的

...和封装,引入了数据抽象和类的概念,它被认为是第一个面向对象语言。20世纪70年代初,PaloAlto研究中心的AlanKay所在的研究小组开发出Smalltalk语言,之后又开发出Smalltalk-80,Smalltalk-80被认为是最纯正的面向对象语言,它对后来... 查看详情

3.4面向对象分析面向对象设计(初步)

一般原则  ?Anobject-orientedsystemiscomposedofobjectssendingmessagestootherobjects  ?Thequalityoftheoveralldesigndependsonwhichobjectisdoingwhat    ?比喻:“人尽其责、各有所长”  ?Thatis,thequalitydependsonhowweassignresponsibilitiestotheobjects  ?Pr... 查看详情