【软件工程】面向对象技术

本文深入探讨面向对象技术,包括对象、消息、类的概念,以及面向对象开发过程中的类设计、测试策略。介绍了OOA(面向对象分析)和OOD(面向对象设计)的原理,如类与对象的选择原则、属性和服务的定义方法,以及高层设计模型和测试策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

面向对象技术强调在软件开发过程中面向客观世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观、自然地描述客观世界中的有关事物。面向对象技术的基本特征主要有抽象性、封装性、继承性和多态性。

导图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

概念

对象: 是系统中用来描述客观事物的一个实体。组成:对象名+属性+操作。
消息: 是对象向对象发送的服务请求。分为:主动对象+被动对象。
类: 是具有相同数据结构和相同操作的对象的集合。包括:数据属性+在数据上的合法操作。
继承: 特殊类的对象拥有其一般类的全部属性与服务就称作特殊类对一般类的继承。(特殊类是子类,一般类是父类。)
类的继承层次:
在这里插入图片描述

开发过程

类的设计:
·设计的直接使用
·既存类演化
·重新开发

类的测试:
·如果类的定义提供界面狭窄,那么穷举测试邮可能实现。
·类的测试在最抽象的层次开始,沿继承关系继续向下进行。
·已经测试过的部分不需要重新测试。

求精和维护:
·最花费时间的部分。
·传统的维护活动针对应用,而求精过程针对类,针对把类集成在一起的结构。
·可以标识抽象的抽象,使得继承结构通过一般化增加新的层次,即在既存的根类之上增加新的层次。

关联的形式:
·聚合:代表整体与部分的关系,是一种特殊形式的关联。
·限定:用以对关联的含义做某种约束。
·角色:用来说明关联的一端,由于多数关联有两个端点,因而涉及到两个角色。
在这里插入图片描述

OOA

构造和评审OOA概念模型的顺序的五个层次:
在这里插入图片描述
类与对象层:
·表示如何建立基本块
·信息建模
·应用论域

选择类与对象的原则:
·目标系统必须记住类和对象的某些事情
·应用提供某些服务或处理
·多属性
·所有属性对于类中所有实例都应有意义

标识结构:
·一般化-特殊化
·整体-部分结构

如果类A中有类B的所有属性和服务,而且类A具有自己特有的属性和服务,则A叫B的特殊类,B叫A的一般类。

标识一般化-特殊化结构的方法和策略考虑的问题:
·它是否在问题论域中?
·它是否在系统的职责内?
·继承性是否存在?
·是否能符合选择类和对象的标准?

如果对象A是对象B的一个组成部分,则称B为A的整体对象,A为B的部分对象。并把AB的关系称为整体和部分关系。

标识整体-部分结构的方法和策略寻找什么:
·总体-部分
·包容-内含
·收集-成员

标识属性的方法和策略:
·找出属性
·将属性按安放到适当位置
·找出实例连接
·检查特殊情况
·描述属性
·考虑取值范围,极限值,缺省值,建立和存取权限,精确度,是否会受到其他属性值等。

属性层:
在这里插入图片描述

服务层:
在这里插入图片描述

定义服务的方法和策略:
·找出每一个对象的状态,在各种状态的工作,利用状态迁移图。
·找出必要的操作
·建立消息连接
·描述服务,利用状态转换图,脚本和事件追踪图,描述服务功能。

结构层:
·描述整体结构
·表明了类的继承

OOD

高层设计模型:
在这里插入图片描述
高层设计特点:
·可以表征为标识和定义模型的过程
·可以是一个单个的类,也可以是有一些类组合的子系统。
·定义过程是职责驱动的。

高层设计遵循的原则:
·应使得在子系统的各个高层部件之间的通信量达到最小
·子系统应把成组的类打包,形成高度的内聚
·逻辑功能分组,提供一个一个单元,识别并定位问题事件

实现与测试

面向对象环境下的测试策略:
单元测试(类测试)
·在面向对象环境下,最小的可测试单元是封装了的类或对象,而不是程序模块。
·面向对象软件的类测试等价于传统软件开发方法中的单元测试。
·完全孤立的测试类的各个操作是不行的。
组装测试
·因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大。
·对于面向对象系统的组装测试,存在两种不同的测试策略。
基于线索测试
·把为响应某一系统输入或时间所需的一组类组装在一起。每一条线索将分别测试和组装。
基于应用的测试
·着眼于系统结构,首先测试独立类,在测试独立类的相关类。
确认测试
·着重于用户的要求和用户能认可的系统输出。
·可以利用黑盒法驱动确认测试。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值