笔记——面向对象技术

面向对象的概念

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

*对象:
*1、是面向对象开发模式的基本成分,每个对象可用它本身的一组属性和它可以执行的一组操作来定义
2、属性一般只能通过执行对象的操作来改变
3、操作又称方法或服务,它描述了对象执行的功能。
4、对象是系统中用来描述客观事物的一个实体,是构成系统的基本单位,一个对象由一组属性和这组属性进行操作的一组服务构成

**消息:**对象与对象之间的联系
定义:就是向对象发出的服务请求,
1、提供服务对象的标识
2、服务的标识
3、输入信息
4、回答信息

**类:**是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的数据描述,内部包括属性和服务两个主要的部分。

**继承:**使用已存在的定义作为基础建立新定义的技术
面向对象中的定义:特殊类的对象拥有一般类的全部属性和服务,自动拥有

面向对象方法的开发过程

**问题域:**对开发系统的应用领域,开发系统的应用范围
**系统责任:**指的是所开发系统应该具备的职能

**论域分析:**找出分析开发问题论域的模型
**应用分析:**细化在论域分析阶段所开发出来的信息,把注意力集中于当前要解决的问题

动态模型

着重于系统的控制逻辑
它包括状态图和事件追踪图
**状态图:**是一个状态和事件的 络,是与时序有有关的动态

事件追踪图

对象—类层

**1、对象—类层:**表示待开发系统的基本构造块。这一层是整个OOA模型的基础。问题在于如何建立“现实世界中事物”的抽象表示,也就是如何建立基本块

**2、信息建模:**就是指从现实世界中捕捉并抽象出应用领域的基本结构的过程。这是OOA过程中最基本和最关键的活动之一

3、应用论域:
属性层:对象的属性和实例连接共同组成了OOA模型的属性层

服务层:对象的服务,加上对象实例之间的消息通信,共同组成了OOA模型的服务层,消息连接用有向箭头表示

结构层:
1、结构层的一种类型,描绘出了该系统的整理结构
2、结构层的另一种类型称为一般特殊结构或泛化特化结构

主题层:
可以将对象归类到各个主题中,把有关的对象用一个主题边框框起来

识别类和对象的原则:
1、目标系统必须记住类和对象的某些事情
2、类和对象应当提供某些服务或处理
3、多属性:属性并不单一
4、所有属性对于类中所实例都应有意义

标识结构:
1、一般和特殊化
2、整理和部分关系
如果对象A是对象B的组成部分,则称B为A的整体对象,A为B的部分对象,并把A和B的关系称作整体和部分关系

表示一般和特殊结构的方法和策略
1、看它是否在问题论域中
2、是否在系统的职责内
3、继承性是否存在
4、是否能够符合选择类和对象的标准

标识属性
1、对前面已识别的类和对象做进一步的说明,对象所保存的信息称为它的属性
2、类的属性所描述的是状态信息,每个实例的属性值表达了该实例的状态值

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

定义服务的方法和策略
1、找出每一个对象的所有状态
2、找出必要的操作
3、建立消息连接
4、描述服务:利用状态转换图、脚本和时间追踪图,描述服务的功能

找出消息连接的方法及策略
1、查询该对象需要哪些对象的服务
2、查询哪个对象需要改对象的服务

识别主题
1、主题表示此模型的整体框架
2、清晰的了解大系统

把一组具有较强联系的类组织在一起而得到类的集合

面向对象设计(OOD)

**分为两个阶段:**高层设计和类设计
高层设计:在计算机环境中进行问题解决工作所需要的概念,并增加了一批需要的类。相当于总体设计
特点:
1、可以表征为标识和定义模块的过程
2、可以使一个单个的类,也可以是由一些类组合成的子系统
3、定义过程是职责驱动的

遵循的原则:
1、通信量达到最小;
2、子系统应当把那些成组的类打包,形成高度的内聚
3、逻辑功能分组,提供一个一个单元,识别并定位问题事件

四个组成成分:
1、问题论域部分:指哪些执行基本应用功能的对象
2、人机交互部分:指定了用于系统的某个特定实现的界面技术
3、任务管理部分:指定了那些创建系统时必须建立的操作系统部分
4、数据管理部分:定义了那些与所用数据库技术接口的对象

问题论域部分:包括与应用问题直接有关的所有类和对象
设计:继续OOA的工作

**用户界面部分(人机交互)的设计:**根据需求吧交互细节加入到用户界面设计中,
1、用户分类:按技能层次分类、按组织层次分类、按职能分类
2、描述人及其任务的脚本:什么人、目的、特点、成功的关键因素、熟练程度 以及任务脚本
3、设计命令层:研究现行的人机交互活动的内容和准则、建立一个初始的命令层、细化命令层
4、设计详细的交互
1、一致性
2、操作步骤少;
3、不要“哑播放”,给出反馈信息
5、继续做原型
使用快速原型工具做出原型让用户使用,通过用户反馈、修改、演示的迭代,使界面越来越有效

6、设计人机交互类
窗口需要进一步细化,首先从窗口和部件的用户界面的设计开始

任务管理部分的设计

任务:是进程的别称
任务管理主要包括任务的选择和调整
1、识别任务驱动部分
2、识别时钟的驱动任务
3、识别优先任务
4、识别协调者
5、评审 各个任务

数据 管理部分的设计

提供了在数据管理系统中存储和检索对象的基本结构,包括对永久性数据的访问和管理
数据管理方法:文件管理、关系数据库管理和面向对象库数据管理

面向对象软件的实现与测试

1、单元测试(类测试):不能孤立的测试
2、组装测试:按类的特点进行测试
1、基于线索测试
2、基于应用的测试:着眼于系统结构,首先测试独立类,这些类只使用很少的服务器类。
3、确认测试:着眼于用户的要求和用户能够认可的系统输出
可以利用黑盒测试的方法来驱动确认测试

按不同层次进行测试
1、类的测试用例组:
每个测试用例是一系列输入值,他们讲在要求的处理中执行,以满足测试需求
2、类测试:每个类都应是可靠的,并且细节可以复用

测试类操作的测试用例组
1、首先定义测试类的各个操作的测试用例组
2、然后将测试用立足进行扩充

类测试的种类
1、基于定义的测试:可以把它当做一个黑盒对待
2、基于程序的测试(白盒测试):代码必须要测试一遍

组装测试
1、类组装:总体组装
1、把所有组成完整软件的各个部分集合在一起
2、这种测试所选择的测试用例应当瞄准待开发软件的目标,并且应当提供数据给测试者,以确定软件开发是否与它点的目标相吻合

思维导图:

笔记——面向对象技术

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年11月1日
下一篇 2018年11月1日

相关推荐