面向对象的分析与面向对象的设计(OOA,OOD)

上一篇 / 下一篇  2007-05-23 07:26:11 / 个人分类:编程与其它

KYgY`Uy*_0面向对象的技术追求的是软件系统对现实世界的直接模拟,它把数据和对数据的操作封装成为一个整体。

Ri_;o3T}{ A-A051Testing软件测试网'?b` N6Kcu*j

对象模型技术把信息构造在三类模型中,对象模型,状态模型和功能模型,每个模型从自己的角度对系统进行描述。51Testing软件测试网b"D$Qs-t$D9Q

;i'JI,w cd+Yu5QJ4J0面向对象的分析分为论域分析和应用分析,面向对象的设计则分为高层设计和低层设计。

)LgkGz/I_ [0

B+z P\hJs0面向对象的分析主要指概念模型,按照对模型进行构造和评审的顺序分为五个层次:类和对象层,属性层,服务层,结构层和主题层。面向对象的设计,主要对系统的四个组成部分进行设计,它们是问题论域部分,用户界面部分,任务管理部分和数据管理部分。

9G@4W5jL(UNJ051Testing软件测试网 Y4Q$d.KMPw

详细内容如下:

1f$H{A3S ^+T0

OMT对象模型技术把分析时收集到的信息构造在三类模型中:

"@t6L)K0S0

对象模型:对谁做51Testing软件测试网5Xi}K:@mB8i#j

功能模型:做什么51Testing软件测试网Bay#Uv#^

动态模型:何时做51Testing软件测试网y/?.||P

一.对象模型:描述系统的静态结构,包括类和对象,它们的属性和操作,以及它们之间的关系。

)j,{oK&o@lf u0

数据词典:用以描述类,属性和关系;51Testing软件测试网!hK:|"p9p"I e

二.动态模型:着重于系统的控制逻辑,考察在任何时候对象及其关系的改变,描述这些涉及时序和改变的状态。

8bh8h[E2pE J4J0^0

状态图:是一个状态和事件的网络,侧重于描述每一类对象的动态行为

e4m\io0

事件跟踪图:侧重于说明系统执行过程中的一个特点“场景”,也叫做脚本,是完成系统某个功能的一个事件序列。51Testing软件测试网!j+o*_T*k4B

事件:对象到对象的单个消息。

LEJ lFN K!|0

场景:在系统的一个特定的环境下发生的一系列事件。51Testing软件测试网,G{~^2R

三.功能模型:着重于系统内部数据的传送和处理。数据流图51Testing软件测试网T6B,v(^1YgJnp

从输入数据能得到什么样的输出数据,不考虑参加计算的数据按什么时序执行。51Testing软件测试网-n}bg#g8T;~

OOA面向对象的分析:软件开发过程中的问题定义阶段,得到对问题论域的清晰,精确的定义。51Testing软件测试网5Z-ay2o s:U} UB

论域分析阶段:目的是使开发人员了解问题空间的组成,建立大致的系统实现环境。论域分析给出一组抽象,从高层表示论域知识,常常超出当前应用的范围,作为特定系统需求开发的参考。51Testing软件测试网v b"w |P/Xd_h

  领域专家和分析员,在分析过程中标识出系统的基本概念:对象,类,方法,关系等。识别论域的特征,把这些概念集成到论域的模型中。论域的模型中必须包含概念之间的关系,还有关于每个单独概念的全部信息。这里信息起一种胶合作用,把标识出的相关概念并入论域综合视图中去。

0s&i_)e;m7}-M0wV$P\0

应用分析阶段:依据问题论域模型,并把问题论域模型用于当前特定的应用之中。

k L7D:l:GEftR0

论域分析的视野大小直接影响到应用分析保留的信息量。

hK(J%U9p|0

论域分析阶段不需要用基于计算机系统的程序设计语言来表示,而应用分析阶段产生的影响条件则通过基于计算机系统的程序设计语言来表示。

yN myC^:C"q"\ K0

应用视图和类视图。在类视图中,必须对每个类的规格说明和操作进行详细化,并表示出类之间的相互作用。

'Z8q$|s6e{A&R0

 51Testing软件测试网:~x fb W6|4Z

OOA的任务:51Testing软件测试网G h,_2qf/DC? ? J

完个两个任务51Testing软件测试网d9Yu8^b)~"e

形式的说明所面对的应用问题,最终成为软件系统基本构成的对象,以及系统所必须亲人的,由应用环境所决定的规则和约束。51Testing软件测试网;|(_.zJ*T-b+n [ {

明确的规定构成系统的对象如何协同工作,完成指定的功能。

J\%@DC)O{4Ml2X]0

通过OOA分析建立的系统模型是以概念为中心,称为概念模型。它由一组相关的类组成。51Testing软件测试网{ p6qx;S4M.BQ

概念模型构造和评审的顺序由五个层次构成:类和对象层,属性层,服务层,结构层,主题层。这五个层次不是构成软件系统的层次,而是分析过程中的层次。

VYd4?tPi$j0

OOA的步骤:

q^w}w"b$l0

1. 标识对象和类。51Testing软件测试网N7Q}$s WdG

2. 标识结构。一般与特殊(基类与派生类),整体与部分(聚合,新类)

`$A_vG Q8l0

3. 标识属性。对象所保存的信息称为它的属性。类的属性所描述的是状态信息,还要指定属性存在哪些特殊的限制(只读,属性值限定于某个范围之内等)。51Testing软件测试网#r"?D g0VLN

4. 标识服务。对象收到消息后执行的操作称为对象提供的服务,它描述了系统需要执行的处理和功能。定义服务的目的在于定义对象的行为和对象之间的通信。

7vC\m#\(SU `0

5. 标识主题。对于包含大量类和对象的概念模型往往难以掌握,标识主题则对模型进行划分,给出模型的整体框架,划分出层次结构。在标识主题时,可以采取先识别主题,而后对主题进行改进和细化,最后将主题加入到分析模型当中的步骤进行。

-n:TMF|n)E[(a0z C0

OOD面向对象的设计:51Testing软件测试网.gK(U~+Er A4r9`\

从分析到设计是一个逐步扩充模型的过程。51Testing软件测试网$moR+qLGc1v'd]

分析主要以实际问题为中心,可以不包括任何与特定计算机有关的问题,主要考虑“做什么”

a1l K%IRh!@5k g-N0

设计则是面向计算机的实地开发活动,考虑“怎么做”的问题。

S;jy2jc9[0

高层设计和低层设计:

;dg2G^n4B*n5Ke"U0

高层设计:51Testing软件测试网jfg y4|UMp'x

窗口――人机交互界面――问题论域――系统交互界面――问题论域

0JO(M7D ?$F!X t+P)d0

     报告     数据管理   物理设备51Testing软件测试网(_7B7LD\,V

           文件,RDBMS51Testing软件测试网q8j7d6u W$E2[ t!}&z g

高层设计过程中,应当使子系统的高层部件之间的通信量达到最小,把子系统中相互之间存在高度交互的类进行逻辑分组。51Testing软件测试网JR2n5X ^"f

低层设计:51Testing软件测试网!x,s:hw~mT

集中于类的详细设计阶段。类设计的目标是形成单一概念的模型,一个独立的类表示一个概念,以及设计的部件应该是可复用的和可靠的。

bEoV O+Z0

类的设计过程中需要采用信息隐蔽,高内聚低耦合等设计原则。(即存类的复用是一个很大的优点)

6W;?4J8J5B8d0

面向对象的设计过程:

6V;k%lUOSRN0

在设计阶段中利用分析阶段中提到的五个层次(对象和类,结构,属性,服务和主题),建立系统的四个组成部分:问题论域,用户界面,任务管理和数据管理。

F)Q3g3b.i'] sd~w2v;Z0

一.问题论域部分的设计:

Eww[Q&U0

主要根据需求的变化,对面向对象的分析阶段产生的模型中的类和对象,结构,属性,操作进行组合和分解,根据面向对象的设计原则,增加必要的类,属性和关系。51Testing软件测试网?DW'|cY'Z

设计包括:复用设计;把问题论域相关的类关联起来;加入一般化的类以建立类间协议;调整继承支持级别;改进性能;加入较低层的构件。51Testing软件测试网9v|'SY#tFA"SuP5MI8a]

二.用户界面部分的设计:51Testing软件测试网9O[-y;jd,A s G`)Xt

 根据需求把交互的细节加入到用户界面的设计中,包括有效的人机交互所必须的实际显示和输入。51Testing软件测试网J YN&Ee Z

设计包括:用户分类,描述人及其任务的脚本;设计命令层;设计详细的交互;继续扩展用户界面原型;设计人机交互类(HIC);根据图形用户界面进行设计。51Testing软件测试网R0Ew u*iU U9}5T4L$t

三.任务管理部分的设计

?)e h xa;Uv6Fs;L7]0

任务:进程的别称,是执行一系列活动的一段程序。当系统中有许多并发行为时,需要依照各个行为的协调和通信关系,划分各种任务。以达到简化并发行为的设计和编码的目的。

]a:baUGz0

任务管理主要包括任务的选择和调整,主要工作为:识别事件驱动任务;识别时钟驱动任务;识别优先任务和关键任务;识别任务之间的协调者;对各个任务进行评审,保证它能够满足选择任务的过程标准;定义各个任务,说明它是什么任务,任务之间如何协调工作,如何通信。

$~ a-e'H8R#sO$e ?i0

四.数据管理部分的设计:51Testing软件测试网Grn2F-^ rpN

提供在数据管理系统中存储和检索对象的基本结构,包括对永久性数据的访问和管理。

:@0k+sg v@U%^0

数据管理的方法有三种:文件管理,关系数据库管理以及面向对象的数据库管理。

t%f^2n)V(lm0

数据管理的设计包括:

{%p HuvURZ;Q)H0

1. 数据存放设计。选择数据存放的方式:51Testing软件测试网 tI#K&`H8s

2. 设计相应的操作。为每个需要存储的对象和类增加用于存储管理的属性和操作,在类和对象的定义中加以描述51Testing软件测试网D]l6u A1w

 51Testing软件测试网r ~"i~8EpJ

 51Testing软件测试网6v ?R4q,WO

6T(? C2eS6l0 51Testing软件测试网,T GBe;C0c8u


TAG:

 

评分:0

我来说两句

Open Toolbar