OOA和OOD

OOA和OOD

OOA是什麽?

面向对象分析就是分析用户需求建立问题域精确模型的过程。(问题域:简单的说就是执行基本功能的对象)

OOA核心是什么?

找出问题域内的对象,并且分析他们之间的相互关系。

举例:例如我们之前的机房收费系统,在没有这个实体之前,师傅肯定说自己回去好好理理那几张表的关系,并且把自己想象成网吧的工作人员,看看大体上的功能流程是什么样的。我想这其实就是面向对象分析的过程。而那些个每个角色的功能模块大概就是问题域了。

OOA做什么?

相信现在我们回头看自己的机房收费系统,心里头会对自己说:“妈呀,这做的什么呀!这未免也太粗糙了!”原因为何?那是因为我们没有按照他的层次去做,导致它成了一个草窝。那么一般一个复杂点的对象都有哪些层次呢?

它包括五个层次:主题层,对象层,结构层,属性层,服务层。他们层层叠加,相互补充。根据这五个层次,我们就可以开始干活了。找出类和对象,识别结构,识别主题定义属性,建立动态静态模型,定义服务。往往这几个活动在实践中,我们都是穿插着进行。

生成的文档:需求陈述。

OOD是什麽?

对问题域进行分析确认并且建立问题域概念模型的过程。可以说OOD完全就是在OOA   的基础之上从软件开发的角度分析如何概念软件结构实现。

OOD的核心是什麽?

建立软件结构

OOD做什么?

一般包括三个部分。

1.系统设计举例图下图所示。

这个主要是横向的层次结构划分,当然我们还可以进行系统数据存储设计,并发性设计等。

2.对象设计主要从两方面下手:静态结构,动态行为(简单点就是从属性和联系两方面下手)

3.问题域设计  在OOA阶段其实已经得到了问题域部分,在OOD阶段则主要考虑从实现的角度对问题域进行一些补充或者修改。

联想:其实从数据库系统原理的角度来说OOA就类似我们熟悉的概念模型,OOD就类似我们的逻辑模型。

ooa(object oriented analysis)面向对象分析 ood(object oriented design)面向对象设计 如所熟知,面向对象作为一种程序设计技术最早于60年代后期提出,用于Simula的应用程 序开发。到了70年代,面向对象成为Smalltalk语言的一个重要特征。当时,面向对象技术主要 用于程序设计。进入90年代,人们的注意力逐渐从程序设计转向系统分析和设计,用对象的观 点来认识现实世界、设计问题的可行解,随之也就出现了许多OOAOOD方法。但这些方法 还不很成熟,在OOAOOD的边界划分上也存在着争议。如:有人认为面向对象软件开发 过程可以分为面向对象分析、面向对象设计和面向对象程序设计三个阶段;有人认为分析和设 计可以交叉进行不必做严格区分;还有人沿用传统方法进行分析和设计,用面向对象程序设计 语言来实现系统。O OA/OOD的一些较有代表性的工作有Gray.Booch的OOAD方法,Coad&Yourdon的 OOAOOD方法,Shlaer&Mellor的OOA方法,Rumbaugh的OOAD方法等。不同的方法 体系都分别体现了人们对OOAOOD,以及面向对象软件开发过程的不同认识。本文的主要 目的就是,试图通过对现有OOAOOD方法的共性进行纵观分析,弄清二者之间的边界问 题,评析从OOAOOD过渡的难易,并讨论实现这种过渡所涉及的主要工作。 ooa:分析阶段所做的主要工作是理解问题和需求构模,将现实世界问题映射到问题域。在该 阶段,要明确用户提出了哪些功能要求,为完成这些要求,系统应有哪些构件,采用什么样的结构,并写出详细的需求规约。OOA引入了许多面向对象的概念和原则,如,对象、属性、服务 、继承、封装等,并利用这些概念和原则来分析、认识和理解客观世界,将客观世界的实体抽 象为问题对象,即问题对象,分析客观世界问题的结构,明确为完成系统功能,对象间 应具有的联系和相互作用。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值