一篇搞懂OOA/OOD/OOP区别

news/2025/3/26 16:36:08/

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

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

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

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

可行性预研阶段,我们不做说明了, 接下来具体说明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
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 


http://www.ppmy.cn/news/494099.html

相关文章

【设计】OOA、OOD、OOP

这三者都是 OO(Object-Oriented)领域的思想。 一般我们我们接到产品经理的需求后,开发阶段分这样几个步骤: 可行性预研阶段,此阶段评估需求是否合理,能否实现;OOA阶段,此阶段分析用…

docker详细介绍

关于 Docker 是什么,有个著名的隐喻:集装箱。但是它却起了个“码头工人”(docker 的英文翻译)的名字。 这无疑给使用者很多暗示:“快来用吧!用了 Docker,就像世界出现了集装箱,这样你…

什么是算法

有人说程序算法数据结构,虽说这样的认为有失偏颇,一个程序决定的东西实在太多,但某些方面也说明了算法是很重要的(数据结构承上启下,最终也是要为算法服务)。 算法是用来解决问题的,要理解什么是…

三子棋小游戏【C语言】

目录 前言 一、基本实现逻辑 二、实现步骤 1.实现进入游戏后的选择菜单——》这个实现起来较为容易,我们约定为:1是玩游戏, 0 是退出游戏! 2.要玩完了一局后接着玩,很容易想到要用循环。 3.采用多文件编程---》我…

【记录】凯酷84说明书

凯酷84按键说明 键位功能FNF1我的电脑FNF2浏览器FNF3计算器FNF4音乐播放器FNF5上一曲FNF6下一曲FNF7播放 / 暂停FNF8停止FNF9静音FNF10减小音量FNF11加大音量FNF12锁WIN键FNPrtSc(截图键)切换副键盘数字区FNPauseScroll键FNDEllnsert键

用JavaScript实现网红太空人表盘(绝对详细、绝对原创),附源码下载

引言:网上最近太空人表盘很火,之前看到有个兄弟用svg写的,但是我也不会这个啊,我就琢磨着用canvas写了一个,效果感觉还不错,拿出来大家唠唠! 效果图: 思路 分两个画布来绘制&#x…

爱普生Epson打印机废墨垫清零软件适用于L3110L3118L3119L1118免费

现在,越来越多的人开始使用打印机进行办公和生活中的印刷工作。然而,随着使用时间的增加,打印机的废墨垫会逐渐填满,这会导致打印机无法正常工作。这时,我们就需要使用爱普生废墨垫清零软件来解决这一问题。 解决废墨…

docker-compose启动opengauss数据库——华为“自研”数据库

文章目录 1. 启动数据库2. 登录2.1 本地登录2.2 远程登录 1. 启动数据库 yml文件 创建opengauss目录,里边创建docker-compose.yml文件内容如下: 华为开源数据库,默认5432端口,是不是很熟悉,疑似又是个套壳子的事件。果…