【软工视频】——面向对象技术

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yyp0304Devin/article/details/83049767

面向对象的概念

什么时面向对象
Coad和Yourdon给出了一个定义:
面向对象=对象+类+继承+通信
如果一个软件系统时使用这样四个概念设计和实现的,则我们认为这个软件系统是面向对象的。

对象
对象是面向对象开发的模式的基本成分
每个对象可用它本身的一组属性和它可以执行的一组操作来定义
属性一般只能通过执行对象的操作来改变
操作又称为方法或服务,它描述了对象执行的功能,若通过消息传递,还可以为其他对象使用。

消息
消息是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明
在这里插入图片描述
在这里插入图片描述

类是一组具有相同数据结构和相同操作的对象的集合
类的定义包括一组数据的属性和在数据上的一组合法操作

继承(Inheritance)
继承是使用已存在的定义作为基础建立新定义的技术
新类的定义可以是即存在类所声明的数据和新类所增加的声明的组合
在这里插入图片描述

在这里插入图片描述

面向对象的开发过程

       面向对象方法改进了在生存期各个阶段之间的的接口,因为在生存期各个阶段所开发出来的“部件”都是类
       在面向对象生存期的各个阶段对各个类的信息进行细化,类成为分析,设计和实现的基本单元

在这里插入图片描述

论域分析
论语分析开发问题论域的模型
考察问题论域内的一个较宽的范围,分析覆盖的范围应用比直接要解决的问题更多。
建立大致的系统的问题更多

应用分析
应用分析则根据特定应用的需求进行论域分析
应用分析细化在论域分析阶段所开发出来的信息,把注意力集中于当前要解决的问题。
在这里插入图片描述
类的定义
一旦标识了一个类,就给出了它的规格说明,其中包括类的实例可执行的操作和它们的数据标识
对每一个,无论是哪一个阶段标识的类都如此,
类的规格说明定义了施加于对象的数据存储上的一组操作。

类的实现
通过变量的声明,操作界面的实现及支持界面操作的函数的实现,可实现一个类的预期行为和状态
对象是语言有关的。一个好的面向对象语言应当分离共有界面与其内部实现。

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

求精和维护
这是一个软件在生存期中花费时间的部分
传统的维护活动是针对应用的,而求精过程是针对类,针对把类继承在一起的结构,
我们可以标识抽象的抽象,使得继承结构通过一般化增加新的层次,即在既存的跟类之上增加新的层次

面向对象分析和模型化

在这里插入图片描述
对象模型
是三个模型中最关键的一个模型,它的作用是描述系统静态结构,包括构成系统的类和对象,他们的属性和操作,及他们时间的关系。
在OMT中类与类之间的关系叫关联

状态图(描述一个对象的型为)
状态图是一个状态和事件的网络,侧重于描述每一类对象的动态行动
在状态图中,状态是对某一时刻中属性特征的概扩。而状态迁移表示这一类对象在何时对系统内外发生的那些事情做出何种响应。
在这里插入图片描述
操作时一个伴随状态迁移瞬间时发生的行为,与出发事件一起表示在有关的状态迁移之上
状态模型由多个状态图组成
各个状态图并发地执行,可以独立地改变状态

事件
事件追踪图(描述多个对象的行为)
功能模型

功能模型表明,通过计算,从输入数据能得到什么样的输出数据,不考虑参加计算的数据按什么时序执行,
功能模型由多个数据流程图组成,他们指明从外部输入,通过操作和内部存储,直到外部输出,这整个的数据流情况。
功能模型中所有的数据流程图往往形成一个层次结构
在这个层次结构中,一个数据流程图中的过程可以下一层的数据流程图做进一步的说明。
数据流图中允许加入控制流,但这样做将与动态模型重复,不提倡夹带控制流。
在这里插入图片描述
基于三个模型的分析过程(omt)
功能模型着重于系统内部数据的传递和处理。
功能模型定义“做什么”
动态模型定义“何时做”
对象模型定义“对谁做”

构造OOA对象概念模型的层次
构造和评审OOA概念模型的顺序和由五个层次组成
这五个层次是分析过程中的层次
每个层次的工作都是为系统的规格说明增加了一个组成部分
五个层次是“类与对象,属性,服务,结构和主题
在这里插入图片描述
选择累和对象的原则
目标系统必须记住类和对象的某些事情
标识结构
标识Gen-Spec结构的方法和策略
标识Whole-Part结构的方法和策略
标识属性
标识属性的方法和策略
定义服务的方法和策略
消息连接的标识
找出消息连接的方法及策略
识别主题(类构成的集合)

面向对象的设计
高层设计
高层设计阶段开发系统结构,即构造应用软件的架构模型
在这里插入图片描述
高层设计的特点
高层设计可以表征为标识和定义模块的过程
模块可以是一个单个的类,也可以是由一些类组合成的子系统
定义过程是指责驱动的

高层设计应遵循的原则
应使得在子系统的各个高层部件之间的通信量达到最小
子系统应当把那些组成的类大包,形成搞高度的内聚
逻辑功能分组,提供一个一个单元,识别并定位问题事件
Coad与Yourdon高层设计方法
设计阶段中继续采用分析阶段中提到的五个层次
在设计阶段中,五个层次用于建立胸痛的四个组成成份

问题论语部分
人机交互部分
任务管理部分
数据管理部分

用户界面部分的设计
用户分类
按技能层次分类
按组织层次分类
按职能分类

描述人及其他任务的脚本
对以上定义的每一类用户,列出对以下问题做出的考虑:什么人,目的,特点,成功的关键因素,熟练程度以及任务脚本
设计命令层
研究现行的人机交互活动的内容和准则
建立一个初始的命令层
细化命令层
设计详细的交互
用户界面设计有若干原则,包括
一致性,采用一致的术语,一致的步骤和一致的活动。操作步骤少
不“要哑播放

继续做原型
用户界面原型是用户界面设计的重要工作
使用快速原型工具做出原型让用户使用,通过用户反馈,修改,演示的迭代,使界面越来越有效
设计HIC(人机交互)类
窗口需要进一步细化
设计HIC类,首先从组织窗口和部件的用户界界面的设计开始

面向对象的分析

面向对象程序的设计与测试

单元测试(类测试)
基于定义的测试
基于程序的测试
测试类操作的测试用例组

类测试的种类

组装测试
类组装
总体组装
基于线索测试(Thread-based Test)
基于应用的测试(Use-based -Test)
确认测试(类之间的关联)
按不同层次进行测试
类的测试用例组
类测试

猜你喜欢

转载自blog.csdn.net/yyp0304Devin/article/details/83049767