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

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,182元/月
可观测可视化 Grafana 版,10个用户账号 1个月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 【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表示法的一些独特属性包括:

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

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

image.png

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

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

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

image.png

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

image.png

例子:
image.png

2 Booch(布奇)方法:

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

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

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

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

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

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

image.png

3 OMT(伦博)方法:

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

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

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

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

A 数据来自何处? B 数据去哪里? C 数据如何存储?

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

OMT包括四个阶段:

分析,系统设计,对象设计,实现

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

对象模型,动态模型,功能模型。

image.png

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

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

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

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

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

image.png

目录
相关文章
|
Java 开发者 Spring
深入理解 Spring Boot 中的 @EnableAutoConfiguration 注解:概念与实践
【4月更文挑战第21天】在 Spring Boot 项目中,@EnableAutoConfiguration 注解是实现自动配置的核心,它可以根据项目的依赖和配置,自动地配置 Spring 应用程序中的 Bean
405 3
|
jenkins 网络安全 持续交付
Jenkins Publish over ssh部署(学习笔记十四)
Jenkins远程部署,一开始没有任何头绪,想了很多方案. 因为两台机器都是windows系统,所以想到publish over cifs, 但是这个网上资料太少,貌似只能内网使用。
3813 0
|
Java 测试技术 数据库
Java一分钟之-Mockito:模拟对象测试
【6月更文挑战第4天】Mockito是Java单元测试中的模拟框架,用于创建和配置模拟对象以隔离测试代码。核心概念包括:模拟对象、预期行为(定义方法调用响应)、验证(检查方法调用)和捕获参数。常见问题包括过度模拟、忽略未使用的模拟调用、不恰当配置和误用Mockito注解。解决方案包括正确选择模拟对象、验证所有交互、仔细配置模拟行为及在测试类中正确使用Mockito注解。提供的代码示例展示了如何使用Mockito模拟和验证方法调用,以实现独立且准确的测试。学习和避免这些易错点可提升测试效率和代码质量。
567 0
Java一分钟之-Mockito:模拟对象测试
|
传感器 负载均衡 物联网
MQTT v5共享订阅是怎么回事?如何使用共享订阅提高消息订阅的灵活性和可伸缩性?
MQTT v5共享订阅是怎么回事?如何使用共享订阅提高消息订阅的灵活性和可伸缩性?
940 1
|
人工智能 自然语言处理 搜索推荐
10分钟构建AI客服:阿里云技术解决方案评测
在数字化转型的浪潮中,企业对客户服务的即时性和个性化需求愈发迫切。阿里云推出的“10分钟构建AI客服并应用到网站、钉钉、微信中”的技术解决方案,为企业提供了一个快速、低成本的AI客服部署方案。本文将从部署流程、用户体验、成本效益等方面对这一方案进行深入评测。
1068 3
|
分布式计算 Hadoop 大数据
大数据技术:Hadoop与Spark的对比
【6月更文挑战第15天】**Hadoop与Spark对比摘要** Hadoop是分布式系统基础架构,擅长处理大规模批处理任务,依赖HDFS和MapReduce,具有高可靠性和生态多样性。Spark是快速数据处理引擎,侧重内存计算,提供多语言接口,支持机器学习和流处理,处理速度远超Hadoop,适合实时分析和交互式查询。两者在资源占用和生态系统上有差异,适用于不同应用场景。选择时需依据具体需求。
|
物联网 PyTorch 测试技术
手把手教你捏一个自己的Agent
Modelscope AgentFabric是一个基于ModelScope-Agent的交互式智能体应用,用于方便地创建针对各种现实应用量身定制智能体,目前已经在生产级别落地。
|
开发框架 JSON .NET
|
异构计算 SoC
最详细手把手教你安装 Vivado2018.3
最详细手把手教你安装 Vivado2018.3
1701 0
|
存储 缓存 NoSQL
Redis入门到通关之Hash命令
Redis入门到通关之Hash命令
279 0