了解面向对象方法发展历程

本文涉及的产品
应用实时监控服务-应用监控,每月50GB免费额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 【6月更文挑战第26天】本文介绍了几个面向对象发展中出现的典型方法。**Coad/Yourdon方法** **Booch方法** **OMT** **OOSE**。这四种方法都贡献于现代面向对象软件开发的。

简介

本文主要介绍以下几个典型方法。
Coad/Yourdon方法融合了面向对象分析(OOA)和设计(OOD),以一致的概念描绘数据流图(DFD),用平行线表示数据存储,椭圆表示循环。
Booch方法始于1992年,包括静态(类图、对象图)、动态(状态图、顺序图)和物理模型,影响了统一过程(RUP)并被UML吸收。
OMT(对象建模技术)利用对象模型、动态模型和功能模型(如DFD)进行建模,分为分析到实现的阶段。
OOSE是Ivar Jacobson的方法,用用例替代DFD,关注需求到测试的全过程。这四种方法都贡献于现代面向对象软件开发的图形表示和流程。

treeoflife6.png

1 Coad/Yourdon方法:结合OOA和OOD

Yourdon/Coad方法包括用于创建数据流图和对象状态图的组件。

对应的DFD表示法的一些独特属性包括:

数据存储表示为两条平行的水平线。
进程由圆圈表示
AI 代码解读

数据流图显示系统的信息传输和处理步骤。一般概念是一种描述系统中如何发生输入、进一步进程和用完内容的方法。

image.png

DFD的目标是实现开发人员和用户之间的理解。数据流图使用其他结构化系统分析方法进行维护。

Coad/Yourdon方法:特别强调OOA和OOD采用完全一致的概念和表示法,使得分析和设计之间不需要表示的转换。

该方法使用独特的方法表示数据流的过程,比如使用两个平行线表示数据存储。

image.png

使用封闭矩形椭圆表示循环

image.png

例子:
image.png

2 Booch(布奇)方法:

Booch方法是一种1992年推出的面向对象的软件开发方法。
它由一种对象建模语言,一个迭代的面向对象开发过程和一组推荐的实践组成

其中开发模型包括静态,动态模型和物理模型用来描述系统的构成和结构。

静态分为逻辑模型类图,对象图。
动态模型包括状态图和顺序图,描述对象间状态变化和交互过程。
物理模型包括 模块图,进程图。

类图:展示对象关联和信息。
顺序图:展示对象之间的交互信息,对象的循环,选择复杂交互 使用 ? 表示。
AI 代码解读

Booch方法的方法论方面已被纳入几种方法和过程,主要是统一过程(RUP).

布奇方法的符号已经被UML逐步取代。UML具有来自Booch方法的图形元素以及来自对象建模技术(OMT)和面向对象的软件工程(OOSE)的元素。

image.png

3 OMT(伦博)方法:

Rumbaugh方法也称为OMT(对象建模技术),是一种用于开发可管理的面向对象系统和主机面向对象编程的方法。目的是允许轻松表达类属性、方法、继承和关联。OMT在现实世界中用于软件建模和设计

数据流图(DFD)表示通过系统的信息流。DFD迅速成为可视化软件系统流程中涉及的主要步骤和数据的一种流行方式。

它们用于显示软件系统中的数据流,尽管理论上它们可以应用于业务流程建模。DFD 对于记录主要数据流或探索数据流方面的新高级设计非常有用。

数据流图(DFD)是一种表示流程或系统(通常是信息系统)数据流的方法,例如:

A 数据来自何处? B 数据去哪里? C 数据如何存储?
AI 代码解读

OMT(伦博)方法使用了建模的思想,采用对象模型(对象图),动态模型(状态图)和功能模型数据流图(DFD)建立一个实际的应用模型。

OMT包括四个阶段:

分析,系统设计,对象设计,实现
AI 代码解读

此外,OMT总是分为三个独立的部分:

对象模型,动态模型,功能模型。
AI 代码解读

image.png

4 OOSE(面对对象的软件工程):

雅各布森方法,也称为面向对象的软件工程(OOSE)甚至Objectory,是一种用于规划,设计和实现面向对象软件的方法。

该方法分为五个部分:需求、分析、设计、实现和测试模型。
AI 代码解读

面向对象的软件工程(OOSE)是由Ivar Jacobson于1992年开发的对象建模语言和方法。
OOSE通常开发复杂的系统。

将用例取代DFD进行需求分析和建立功能模型。

image.png

目录
打赏
0
0
0
0
172
分享
相关文章
打破C++的神秘面纱:一步步带你走进面向未来的编程世界!
【8月更文挑战第22天】C++是一门功能强大但学习曲线陡峭的语言,提供高性能与底层控制。本文通过实例介绍C++基础语法,包括程序结构、数据类型、控制结构和函数。从简单的“Hello, C++!”程序开始,逐步探索变量声明、数据类型、循环与条件判断,以及函数定义与调用。这些核心概念为理解和编写C++程序打下坚实基础,引导你进入C++编程的世界。
60 0
技术一号位的方法论《个人篇》——人成长的本质以及如何构建个人成长路线图
不论你是职场新人还是35岁的职场“老人”,成长是每个职场人都绕不开的话题,同时也是贯穿每个人职业生涯的痛点。本文主要帮助读者建立起对个人成长的认知,然后在此认知的基础上让大家理解成长的本质,最终通过文章的引导,来帮助读者完成个人成长路线图的确定以及落地实践。
13522 3
技术一号位的方法论《个人篇》——人成长的本质以及如何构建个人成长路线图
【软件工程】揭秘需求工程的奥秘:构建成功软件的基石
【软件工程】揭秘需求工程的奥秘:构建成功软件的基石
带你读《果壳中的5G:新网络时代的技术内涵与商业思维》第一章从 0 到 5 的演化与逻辑1.5(二)
《果壳中的5G:新网络时代的技术内涵与商业思维》第一章从 0 到 5 的演化与逻辑1.5(二)
带你读《果壳中的5G:新网络时代的技术内涵与商业思维》第一章从 0 到 5 的演化与逻辑1.5(二)
带你读《果壳中的5G:新网络时代的技术内涵与商业思维》第一章从 0 到 5 的演化与逻辑1.5(一)
带你读《果壳中的5G:新网络时代的技术内涵与商业思维》第一章从 0 到 5 的演化与逻辑1.5
带你读《果壳中的5G:新网络时代的技术内涵与商业思维》第一章从 0 到 5 的演化与逻辑1.5(一)

云原生

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等