软工视频——面向对象技术(OOA、OOD、OOP、OOT)

简介: 面向对象的技术是当前计算机界所关心的重点,,面向对象的概念和应用已经扩展到很宽的范围,如面向对象的数据库系统、面向对象的系统分析与设计、CAD 技术、人工智能以及其他广泛的应用范围。

面向对象的技术是当前计算机界所关心的重点,,面向对象的概念和应用已经扩展到很宽的范围,如面向对象的数据库系统、面向对象的系统分析与设计、CAD 技术、人工智能以及其他广泛的应用范围。


20200607165015853.png


什么是面向对象?


面向对象=对象+类+继承+通信


什么是对象?


对象是系统中用来描述客观事物的实体,是面向对象开发模式的基本成分


每个对象可用它本身的一组属性和它可以执行的一组操作来定义


对象具有哪些特点?


  • 对象具有封装性:对象将数据及行为封装在一起,将其内部结构隐藏起来。外界不能直接修改对象的状态,只有 通过向该对象发送消息(message)来对它施加影响
  • 对象具有自治性
  • 对象具有通信性
  • 对象具有被动性
  • 对象具有暂存性
  • 对象可具有持久性


什么是消息?


就是对象向对象发送的服务请求


什么是类?


类是一组具有相同数据结构和相同操作的对象的集合(类的基本元素是对象)


方法是什么?


方法也称作行为,指定义于某一特定类上的操作与法则


面向对象的基本特征


  • 继承性


使用已存在的定义作为基础建立新定义的技术。新的类自动继承旧类的属性和行为特征,并可具备某些附加的特征或某些限制。新类称作旧类的子类,旧类称作新类的超类。


实例:


 20200607163225402.png                                                          


如果类 C 能使用类 B 中的方法及属性,称 B 是 C 的超类(superclass),C 是 B 的子类 (subclass),也称类 C 继承类 B


  • 封装性


所有信息都存储在对象中,即其数据及行为都封装在对象中。


  • 多态性


在收到消息时对象要予以响应,不同的对象收到同一消息可以产生完全不同的结果, 这一现象叫做多态。


类的继承与多态结合后,将进一步增强软件的重用性


对象模型化技术OMT


就是把分析时收集的信息构造在三类模型中,即对象模型、功能模型、动态模型


                 2020060716364697.png            


  • 对象模型


三个模型中最关键的一个模型,作用是描述系统的静态结构,包括构成系统的类和对象,他们的属性和操作,及他们之间的关系


在OMT中,类与类之间的关系叫做关联


关联有这几种形式:聚合:代表整体与部分的关系


                               限定:用以对关联的含义做某种约束


                                角色:用来说明关联的一段


  • 动态模型


涉及到事件追踪图和状态图

  • 功能模型


由多个数据流图组成,指明从外部输入,通过操作和内部存储,直到外部输出,这整个的数据流情况


面向对象的软件工程方法

                                                               

20200607164225224.png


  • 面向对象的分析:OOA


强调直接针对问题域中客观存在的各种事物建立 OOA 模型中的对象。分为了5层


  20200607164310372.png                              


  • 面向对象设计:OOD


继续做面向对象分析阶段的工作。OOA 与 OOD 采用一致的表示法,两者能够紧密衔接,大大降低了从 OOA 过渡到 OOD 的难度、工作量和出错率。


  • 面向对象的编程:OOP

用一种面向对象的编程语言把 OOD 模型的每个成分书写出来。


  • 面向对象的测试:OOT


指,对于用面向对象的技术开发的软件,在测试过程中继续运用面 向对象的技术,进行以对象概念为中心的软件测试


20200607164404392.png

相关文章
|
存储 中间件 开发工具
云计算的三个主要服务模型:IaaS、PaaS 和 SaaS
云计算的三个主要服务模型:IaaS、PaaS 和 SaaS
23202 0
|
存储 测试技术 BI
软件体系结构 - 系统分析与设计(2.面向对象方法)
【4月更文挑战第6天】软件体系结构 - 系统分析与设计(2)
373 0
|
消息中间件 存储 中间件
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
14623 1
|
10月前
|
数据采集 监控 数据管理
数据管理最容易混淆的3个概念:元数据、数据元、元模型
本文深入解析数据领域三大核心概念:“元数据”“数据元”“元模型”,从定义、用途到实际应用,清晰区分三者区别。元数据是“数据的说明书”,描述数据来源与使用方式;数据元是“最小数据单元”的标准,确保数据统一与规范;元模型是“模型的设计规则”,指导模型合理构建。三者相辅相成,是数据治理不可或缺的基础。掌握它们,助你提升数据管理效率,避免踩坑。
|
敏捷开发 数据可视化 持续交付
敏捷开发方法:理论与实践
【8月更文第22天】随着信息技术的发展,软件项目的复杂度不断提高,传统的瀑布式开发模式越来越难以适应快速变化的市场需求。为了解决这些问题,敏捷开发方法应运而生。本文将探讨敏捷开发的核心理念、敏捷宣言与原则、Scrum框架、Kanban方法以及相关的敏捷实践与工具。
2090 2
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
15762 5
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
存储 前端开发 中间件
『软件工程10』结构化系统分析:数据流图和字典案例分析
该文章通过具体案例分析了在软件工程中如何运用数据流图和数据字典来进行结构化系统分析,帮助明确系统的信息流程和数据定义。
『软件工程10』结构化系统分析:数据流图和字典案例分析
|
Linux 编译器 C语言
./build.sh:行1: g++: 未找到命令的错误问题在centos操作系统下面如何解决
通过上述步骤,您应该能够有效地解决CentOS系统中 `g++: 未找到命令`的错误。确保软件开发环境配置得当,对于顺利执行编译脚本和日常开发工作至关重要。如果问题依然存在,考虑检查脚本内的命令路径引用是否正确,或进一步排查系统配置问题。
773 0