一篇搞懂OOA/OOD/OOP区别

最近在准备软考,看到第一章需求部分,一顿懵逼。

OOA什么鬼,OOD又是什么鬼,OOP我去这个又是什么鬼,都是面向对象怎么就出现了三个呢,我咋感觉对此一无所知,迷失在OO中。如果你跟曾经我一样的迷惑,请往后看。没有迷惑请移步其他文章。

一般我们我们接到产品经理的需求后,开发阶段分如何几个步骤

  1. 可行性预研阶段,此阶段评估需求是否合理,能否实现。
  2. OOA阶段,此阶段分析用例,定义领域模型。
  3. OOD阶段,此阶段定义类图,类之间的交互图(时序图等等)。
  4. OOP阶段,根据OOD设计的类图,类之间的交互图输出代码。

一篇搞懂OOA/OOD/OOP区别_第1张图片

可行性预研阶段,我们不做说明了, 接下来具体说明OOA,OOD,OOP。

OOA

OOA全拼为Object-Oriented Analysis,面向对象分析。此过程是把现实的需求转义为领域模型(Domain Model)问题,以及输出领域模型(Domain Model)。第一步是根据需求输出用例,用例为一个一个场景,用户与App交互的场景。第二步是根据用例输出领域模型(Domian Model),领域模型(Domain Model)也就是我们常说的业务逻辑。会输出概念类,概念类的交互的关系,这部分概念类一般直接反应现实的事物。

OOD

OOD全拼为Object-Oriented Design,面向对象设计。此过程是把我们的领域模型转为逻辑架构,类图,类之间的关系。 如何分层,如何分包,如何保证高内聚低耦合都是这部分要考虑的问题。这个阶段输出类图,时序图,包图等等。

OOP

OOP全程为Object-oriented programming,面向对象编程。是把我们OOD的设计结果转为代码。

总结

OOA,OOD,OOP是针对现实的需求最终输出产品过程。在现实中OOA,OOD并没有显著的区分。OOA,OOD,OOP有时是不断的交替进行。

作者:快马夜小刀
链接:https://juejin.cn/post/6890063876163911693
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

你可能感兴趣的:(软考,信息系统管理师)