文档章节

【转】OOA方法的评价和一般步骤

abcijkxyz
 abcijkxyz
发布于 2016/07/08 16:29
字数 1059
阅读 3
收藏 0

使人们从面向过程程序设计往面向对象程序设计方法转换的原因,是因为面向对象方法更适应于解决当今的庞大、复杂和易变的系统模型。自80年代后期以来,相继出现了许多OOA和OOD方法,例如:Booch方法(OOD)、Cood-Yourdon方法(OOAD)、Jacobson方法(OOSE)、Rumbaugh方法(OMT)、Wassman-Pircher(OOSD)等。

  OOA的各种方法尽管在概念和模型上不尽相同,但都是为建立系统的面向对象模型目标而进行的探索。评价分析方法主要是看它是否具有OOA的如下优点:

OOA步骤

  面向对象分析的关键是对问题域中事物的识别和它们之间相互关系的判定。根据设计进程和分析问题的繁简程度,把系统或问题分解成为一些对象,并以消息的形式在各对象间建立联系。

  基于面向对象的方法学原则进行系统分析时,我们一般要进行下列活动,或者说是如下的步骤:

  1. 分析确定并标识构成系统的各个组成部分(即对象),并进行抽象分类;划分主题及类,是从大的单元来理解系统的方法,主题是一组类与对象。主题的大小应合适地选择。
  2. 分析确定每一组成部分(即对象)的结构。具体的分析原则:第一是按照一般-特殊结构,确定标识类间的继承关系;第二是按照整体-部分结构,确定一个对象怎样由其它对象组成,或者是如何将一些对象组合成大对象。
  3. 认识并建立每一对象及其相互之间关系;以应用为基础标识对象,定义对象的内部特征(属性、方法),建立消息连接,实例连接。
  4. 分析对象的动态行为,规划并建立各组成部分(即对象)间的通信关系和接口协议形式;
  5. 进一步协调和优化各个组成部分的性能及相互关系,精炼候选的类/对象,使系统成为由不同部分(即对象)组成的最小集合。
  6. 分析、设计每个组成部分(即对象)的功能实现细节,检查分析模型的一致性和完整性。

  在OOA中,同样要强调软件工程的事务分离原则(Principle of Separation of Concerns),即将基本需求与实现区别开来,建立分析模型时主要精力应集中于捕捉那些本质的或逻辑的系统需求,确定系统的基本行为。

  1. 是在人类思维组织的基本方法框架下定义并表达需求,直观性好。因为在分析工作中,人与人之间的交流除了“非技术因素”外,还需要一套有共同的思维方法和便于交流的共同语言,而OOA则比较好地改进了分析人员之间的交流。
  2. 集中精力于问题空间的理解和分析,有利于超越系统的复杂性困难。所建立的系统模型清晰,问题模型与程序中的类相对应,系统扩充和改造较为方便。
  3. 把属性和有关服务方法作为对象整体来看待,比较自然。特别重要的是,对象在问题论域中比较稳定,当需求变化时,可能需要增加新的对象,但原有的基本对象还可保留使用。
  4. 使用对象间的最小相关性来分析和说明。这有利于实行封装性原则,并使OOA适应开发需求的变化,也有利于制作和提取可复用的部件。
  5. 通过对共性的显式表示而提高表达能力。抽象层次与后续OOP结合,编程思路清晰,特别是有利于提高程序效率。
  6. 分析法与设计法的一致性,密切配合建造一个问题域模型。
  7. 对系统族的适用性和可扩展性强。

本文转载自:http://blog.csdn.net/yuwenruli/article/details/7063042

共有 人打赏支持
abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
私信 提问
分析模型和设计模型

面向对象分析产生三种分析模型 功能模型(即用例模型à作为输入) 对象模型:对用例模型进行分析,把系统分解成互相协作的分析类,通过类图/对象图描述对象/对象的属性/对象间的关系,是系统的...

青夜之衫
2017/12/06
0
0
SQLite设计问题

本人开发一个基于Android 4.2.2 的 Ticcit-system(demo) 用于学校学生自学计算机技术 数据库:SQLite3 平台:ADT 物理机:win7 (run ADT) ip:A 虚拟机 :ubuntu (run NFS sever) IP B OOA...

JoneWisso
2014/02/27
309
0
2、面向对象的分析与设计方法

面向对象的方法是当前应用最广的程序设计方法 在软件的模块化、可重用性、可扩展性等方面体现出强大的优势。 面向对象的要素: 对象:客观世界里的任何实体都可以称之为对象; 封装: 把对象...

把南墙撞开
2016/04/13
70
0
软考之UML图深入学习(1)

前言 软考的准备已经过去了2个月零8天,倒计时8天(11月11日)。通过近年试题的分析,面向对象技术试题在150分中占据了大约1/3的比重,足见其重要性和基础性。下午试题中的UML图面向对象设计...

m18633778874
2017/11/03
0
0
面向对象的OOA、OOD、OOP

OOA   Object-Oriented Analysis:面向对象分析方法   是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在...

ke_ry
2017/01/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

传统IDC部署网站(三)

11. 重置密码 密钥和密码都支持远程登陆, 二选一 两个都可以登陆, 密钥相对于密码来说,相对安全一点 本地登陆无法是用密钥 修改密码 root 用户 passwd root 修改普通用户 passwd usernam...

miko0089
23分钟前
2
0
日志服务与SIEM(如Splunk)集成方案实战

背景信息 目标 本文主要介绍如何让阿里云日志服务与您的SIEM方案(如Splunk)对接, 以便确保阿里云上的所有法规、审计、与其他相关日志能够导入到您的安全运维中心(SOC)中。 名词解释 LOG(S...

阿里云官方博客
26分钟前
2
0
bash特性

1.支持别名 alias 2.命令替换 $(COMMANS) 或者 `COMMAND` 3. bash支持的引号: `` :命令替换 "":弱引用,可以实现变量替换 '':强引用,不实现变量替换 4.文件名通配 globbing:(man 7 glo...

忙碌的小蜜蜂
32分钟前
2
0
以语音评测的PC端demo代码为例,讲解口语评测如何实现

本文由云+社区发表 作者:腾讯智慧教育 概述 腾讯云智聆口语评测(英文版)(Smart Oral Evaluation-English,SOE-E)是腾讯云推出的语音评测产品,是基于英语口语类教育培训场景和腾讯云的语...

腾讯云加社区
43分钟前
1
0
浅谈SpringMVC之DispatcherServlet

Spring的MVC框架是围绕一个DispatcherServlet其实就是个Servlet(它继承自HttpServlet基类)来设计的, 它支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染、文件上传等 控制器一般...

恋码之子
46分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部