OOA和OOD

OOA是什麽?

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

OOA核心是什么?

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

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

OOA做什么?

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

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

生成的文档:需求陈述。

OOD是什麽?

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

OOD的核心是什麽?

建立软件结构

OOD做什么?

一般包括三个部分。

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

ovf和ova什么区别_机房收费系统

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

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

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

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