面向对象技术


定义


  • 面向对象:Coad和Yourdon给出了一个定义:“面向对象=对象+类+继承+通信”

    如果一个软件系统是使用这样4个概念设计和实现的,则我们认为这个软件系统时面向对象的。

  • 对象:是面向对象开发模式的基本成分。每个对象可用它本身的一组属性和它可以执行的一组操作来定义。属性一般只能通过执行对象的操作来改变。操作又称为方法或服务,它

    描述了对象执行的功能,若通过消息传递,还可以为其他的对象使用。

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

  • 类:类是一组具有相同数据结构和相同操作的对象的集合。类的定义包括一组数据属性和在数据上的一组合法操作。类是具有相同属性和服务对象的集合,是该类的全部对象提供了统一的抽象描述,内部包含属性和服务。

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

这里写图片描述

类的实现


一旦标识了一个类,就给出了它的规格说明,其中包括类的实例可执行的操作和他们的数据表示。对每一个,无论是在哪一个阶段标识的类都是如此。类的规格说明定义了施加于对象的数据存储上的一组操作。

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


类的测试


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


求精和维护


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

对象的模型化技术OMT

对象模型化技术吧分析时收集的信息构造在三类模型中,即对象模型、功能模型和动态模型

这里写图片描述

面向对象技术

(2)操作时一个伴随状态迁移的瞬时发生的行为,与触发事件一起表示在有关的状态迁移之上。
动态模型由多个状态图组成。各个状态图并发的执行,并可以独立的改变状态。

(3)事件,一个事件发生在某一时刻,每个事件都是单独发生的,我们建立事件类,并给每个事件一个名字,以指明共同结构和行为,事件从一个对象向另一个对象传送信息。

(4)事件追踪图侧重于说明发生于系统执行过程中的一个特定“场景”。场景也叫做脚本,是完成系统某个功能的一个事件序列。

状态图与事件追踪图的关系:状态图叙述一个对象的个体行为,事件追踪图则给出多个对象所表现出来的集体行为。例如:一个事件追踪图指出某一对象在接受一个事件之后发生另一事件,同一行为在此对象的状态图中也应当有所表示。

3、功能模型

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

这里写图片描述

具体

一、对象—类层

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

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

3、应用论域是非常重要的,同一概念在不同论域中抽象出来的基本结构块是不同的

二、属性层

对象的属性和实例连接共同组成了OOA模型的属性层

这里写图片描述

四、结构层

该层负责捕捉特定应用论域中的结构关系。

1、结构层的一种类型,描绘出了该系统的整体结构

2、结构层的另一种类型称为一般——特殊结构或泛化——特化结构,泛化——特化结构表明了类的继承性。
一般——特殊化结构

这里写图片描述
五、主题层

OOA模型的结构庞大而复杂,可以将对象归类到各个主题中,把有关的对象用一个主题表框框起来。

来源:阿春一Jason

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

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

相关推荐