文档章节

【转】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
粉丝 64
博文 6196
码字总数 1876
作品 0
深圳
项目经理
分析模型和设计模型

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

青夜之衫
2017/12/06
0
0
2、面向对象的分析与设计方法

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

把南墙撞开
2016/04/13
70
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
265
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

没有更多内容

加载失败,请刷新页面

加载更多

cacti监控安装

cacti是用PHP实现的一个软件,它用snmp服务获取数据,然后用rrdtool存储和更新数据,并生成图表展示。比较适合用于交换机、路由器的网络监控,插件众多,可图示化显示网络状况。 cacti官方推...

hiwill
19分钟前
1
0
shell特殊符号、cut、sort、uniq、wc、tee、tr、split命令

10月15日任务 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 cut 命令 cut作用:截取字符串 用法如下:cat /etc/passwd |head -2 |cut -d ...

hhpuppy
48分钟前
1
0
Springboot实现filter拦截token验证和跨域

背景 web验证授权合法的一般分为下面几种 1使用session作为验证合法用户访问的验证方式 使用自己实现的token 使用OCA标准 在使用API接口授权验证时,token是自定义的方式实现起来不需要引入其...

funnymin
今天
3
0
linux使用ntfs-3g操作ntfs格式硬盘

Linux内核目前只支持对微软NTFS文件系统的读取。 NTFS-3G 是微软 NTFS 文件系统的一个开源实现,同时支持读和写。NTFS-3G 开发者使用 FUSE 文件系统来辅助开发,同时对可移植性有益。 安装 ...

linuxprobe16
今天
2
0
kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部