软件工程之面向对象技术

面向对象的概念

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

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

消息
消息是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明

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

面向对象的开发过程

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

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

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

面向对象分析和模型化

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

功能模型表明,通过计算,从输入数据能得到什么样的输出数据,不考虑参加计算的数据按什么时序执行,
功能模型由多个数据流程图组成,他们指明从外部输入,通过操作和内部存储,直到外部输出,这整个的数据流情况。
功能模型中所有的数据流程图往往形成一个层次结构
在这个层次结构中,一个数据流程图中的过程可以下一层的数据流程图做进一步的说明。
数据流图中允许加入控制流,但这样做将与动态模型重复,不提倡夹带控制流。

面向对象的设计
高层设计
高层设计阶段开发系统结构,即构造应用软件的架构模型

软件工程之面向对象技术
高层设计的特点
高层设计可以表征为标识和定义模块的过程
模块可以是一个单个的类,也可以是由一些类组合成的子系统
定义过程是指责驱动的

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

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

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

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

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

面向对象的分析

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

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

类测试的种类

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

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

上一篇 2018年9月12日
下一篇 2018年9月12日

相关推荐