码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象的开发方法(总结)

时间:2016-05-06 15:39:32      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

面向对象分为面向对象的分析(OOA),面向对象的设计(OOD)和面向对象的程序设计(OOP)。
OOA的是利用抽象构造问题的对象模型
OOD是设计对象和对象之间的关系,如层次和集成;对象之间的通信方式,例如消息。对OOA的结果进行细化,使其可以被OOP接收
OOP指对系统功能的编码

面向对象是当前主流的开发方法,拥有很多不同的分支体系,
如OMT(对象建模技术),OOSE(面向对象的软件工程)和booch方法所同意为的统一建模语言。除此之外,还有caod/yourdon方法
1、基本概念
对象,类。集成,封装,消息,多态。
在UML的通用机制中,包用于将元素组织承租,构件是系统中遵从一组接口规范且付诸实现的物理的,可替换的软件模块。
UML用关系把事务结合在一起,主要包括:依赖,关联,泛化, 实现

UML2.0中定义了14种图
类图
对象图
构件图:描述了一个封装的类和他的接口端口,以及有内嵌的构件和连接件组成的内部结构。构件图是类图的变体
用例图
顺序图:强调时间次序的交互图
通信图(协作图)
定时图
状态图
活动图
部署图
制品图
包图
交互概念图
(1)用例模型:
用例图用来描述系统与外部系统用户之间的交互视图
用例模型中主要有包含关系,扩展关系,和泛化关系,下图中对其分别作了示例。用例图中有三种元素,分别是参与者,用例和通信关联(图中普通黑线)
参与者可以是人,也可以是其他系统,硬件设备,时钟
对于听力的命名,最好餐区动词短语和名词短语相连
技术分享

(2)分析模型
类图用来描述系统的静态对象结构
首先应该定义概念类的选取,然后确定类和类之间的关系。
类之间的关系主要有关联关系,依赖关系,泛化关系,聚合关系,组合关系,实现关系等等
分别如下图所示:
泛化关系:
技术分享
依赖关系
技术分享
是一种比较弱的依赖关系,反映在代码中,比如说一个类向另一个类发送消息,一个类是另一个类的数据成员,一个类是另一个类中某个方法的操作参数等
关联关系
技术分享
是一种强依赖关系,反映在代码中,比如说类B的对象是类A的数据成员。或者类A中的方法中使用了作为全局变量的类B的对象
聚合关系
技术分享
聚合关系是关联关系的特例,体现整体与部分的关系
组合关系
技术分享
组合关系是关联关系的特例,是一种更强聚合关系,两者是不可分割的
实现关系
技术分享
就是类实现接口
2、面向对象的分析方法
一般在软件需求工程中完成
3、面向对象的设计
一般在系统设计中完后才能
一般包括实体类,软件类和边界类
设计原则有:
开闭原则:软件实体应该对扩展开放,对修改关闭,即尽量在不修改原有代码的情况
里氏替换原则:如果使用基类对象满足要求,那么使用子类一定也可以
依赖导致原则:抽象不应该依赖于细节,细节应该依赖于抽象,对接口编程,而不是对实现编程,当程序代码在中传递参数时,或者在使用组合或者聚合关系是,尽量使用层次更高的抽象了
组合/聚合复用原则:尽量使用组合和聚合的关系来使用一些原有的对象,使之成为新对象的一部分
接口隔离原则:使用多个专门的接口,而不是单一的总接口
最少知识原则(迪米特法则):软件尽可能的减少和其他实体的相互作用。

4、面向系统测试
OO方法将开发分为OOA,OOD,OOP,测试亦可以分为OOA测试,OOD测试,OOP测试
OOA测试:,分别测试分析模型是否满足软件的需求,以及分析模型是否满足OO方法要求
OOD测试:从设计模型本身,设计模型和分析模型的一致性,设计模型对编程的支持等方面测试。以上两种测试主要用文档审查的方式来完成
OOP测试:也分为单元测试和集成测试

单元测试:方法层次的测试,类层次的测试,类树层次的测试
集成测试:可以采用传统的大突击测试,自底向上和自顶向下集成,夹层式集成,也可以采用如下方式
协作集成:针对系统已经完成的功能,将相互协作完成特定功能的类一起测试
基于使用的集成:先测试那些基本上不依赖其他类的类,在逐步测试依赖较多的类
类之间的连接性测试:如:类的关联的多重性测试,受控异常测试,往返场景测试,模态机测试。

面向对象的开发方法(总结)

标签:

原文地址:http://blog.csdn.net/define_us/article/details/51316128

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!