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

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

51Testing软件测试网 F2_;@(@| i/Hp

面向对象的技术追求的是软件系统对现实世界的直接模拟,它把数据和对数据的操作封装成为一个整体。51Testing软件测试网-HYF2vW#g&nV

%\+BejcXY"O0对象模型技术把信息构造在三类模型中,对象模型,状态模型和功能模型,每个模型从自己的角度对系统进行描述。51Testing软件测试网+T.H rj$\/o0E

51Testing软件测试网's#EL'r N;E

面向对象的分析分为论域分析和应用分析,面向对象的设计则分为高层设计和低层设计。51Testing软件测试网U,@/z-^3O

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

b:^ o4vb0

6Q.j5[/ZO+W^0R1w ?$@0详细内容如下:

:m:[ xy*Ud} R/h0

OMT对象模型技术把分析时收集到的信息构造在三类模型中:51Testing软件测试网p.n)Q&J-E#[:B

对象模型:对谁做

2T$~H0}&J(@[}#X j0

功能模型:做什么

9x7p&Dxtcb'b yy g0

动态模型:何时做51Testing软件测试网3g0DdR*JW.cP'g7Pu XL

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

f"Ee%Poc+H{3r0

数据词典:用以描述类,属性和关系;

8e8Do6J+p*P] yI0

二.动态模型:着重于系统的控制逻辑,考察在任何时候对象及其关系的改变,描述这些涉及时序和改变的状态。51Testing软件测试网/_$XKiY:~'j

状态图:是一个状态和事件的网络,侧重于描述每一类对象的动态行为51Testing软件测试网w&h!h Xl z5^

事件跟踪图:侧重于说明系统执行过程中的一个特点“场景”,也叫做脚本,是完成系统某个功能的一个事件序列。51Testing软件测试网-F2yD*c%J w;e!P

事件:对象到对象的单个消息。51Testing软件测试网HP4P&g%F0w"^3u

场景:在系统的一个特定的环境下发生的一系列事件。51Testing软件测试网7F)LrR*y1K

三.功能模型:着重于系统内部数据的传送和处理。数据流图51Testing软件测试网VI!K~{PU

从输入数据能得到什么样的输出数据,不考虑参加计算的数据按什么时序执行。51Testing软件测试网z2Rn"nK

OOA面向对象的分析:软件开发过程中的问题定义阶段,得到对问题论域的清晰,精确的定义。51Testing软件测试网 H'FR\6Q,KS

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

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

应用分析阶段:依据问题论域模型,并把问题论域模型用于当前特定的应用之中。51Testing软件测试网;r p5@ |p

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

@L#an GDN-N0

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

~|(a8ki;|-U)Q ~R0

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

3~H)u n&Ku}wm&]e0

 

,od8@W`4g Dv"O%a0

OOA的任务:51Testing软件测试网y[5HolmA

完个两个任务51Testing软件测试网y"y3G(`u%VI

形式的说明所面对的应用问题,最终成为软件系统基本构成的对象,以及系统所必须亲人的,由应用环境所决定的规则和约束。51Testing软件测试网\(va&\(Eib tyo

明确的规定构成系统的对象如何协同工作,完成指定的功能。51Testing软件测试网a2?;K!nc7r

通过OOA分析建立的系统模型是以概念为中心,称为概念模型。它由一组相关的类组成。

E MZ n#? M0

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

OOA的步骤:51Testing软件测试网$u Kr9x2Z T

1. 标识对象和类。

[[c)U:k r0

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

'FLJH3m^0c8Q0

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

4. 标识服务。对象收到消息后执行的操作称为对象提供的服务,它描述了系统需要执行的处理和功能。定义服务的目的在于定义对象的行为和对象之间的通信。51Testing软件测试网,Q)U7o(ov/^Q6WnQ`

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

OOD面向对象的设计:

LF}b,L IQ6{&|0

从分析到设计是一个逐步扩充模型的过程。

$\0B4O(?wl']0

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

+Qz6gm$`e \Ic0

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

/k m4mh;a0F0

高层设计和低层设计:51Testing软件测试网"{:Frm'n)j7T ]X ~.\`v

高层设计:51Testing软件测试网^BT+Y4D j(L c

窗口――人机交互界面――问题论域――系统交互界面――问题论域51Testing软件测试网Zc @? i5F`}*B

     报告     数据管理   物理设备51Testing软件测试网 Q;\(Q1u p

           文件,RDBMS51Testing软件测试网S-a%U4qxY P&o%h@B

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

_4|8X e6?{Sw0

低层设计:51Testing软件测试网!b2g$B8j S-si

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

*g_7R rjPln} T8~6D0

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

Z+]N%u | s~L_]0

面向对象的设计过程:51Testing软件测试网E!zC~X/]f@

在设计阶段中利用分析阶段中提到的五个层次(对象和类,结构,属性,服务和主题),建立系统的四个组成部分:问题论域,用户界面,任务管理和数据管理。51Testing软件测试网0B Q)E&K0D#EN

一.问题论域部分的设计:51Testing软件测试网es%E#K U

主要根据需求的变化,对面向对象的分析阶段产生的模型中的类和对象,结构,属性,操作进行组合和分解,根据面向对象的设计原则,增加必要的类,属性和关系。

"^ i Zm"KS+s{ r q0

设计包括:复用设计;把问题论域相关的类关联起来;加入一般化的类以建立类间协议;调整继承支持级别;改进性能;加入较低层的构件。

%_HL,R!UBK0

二.用户界面部分的设计:51Testing软件测试网LKw*Y^pdu}4w

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

设计包括:用户分类,描述人及其任务的脚本;设计命令层;设计详细的交互;继续扩展用户界面原型;设计人机交互类(HIC);根据图形用户界面进行设计。

r3O o*v.DZ`)Q+t0

三.任务管理部分的设计51Testing软件测试网K~o^]`;Mk}$E

任务:进程的别称,是执行一系列活动的一段程序。当系统中有许多并发行为时,需要依照各个行为的协调和通信关系,划分各种任务。以达到简化并发行为的设计和编码的目的。51Testing软件测试网/c5k.o-CU,L `5K

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

7g u_*`J(K\Q0

四.数据管理部分的设计:51Testing软件测试网+ex7uc8Is'it

提供在数据管理系统中存储和检索对象的基本结构,包括对永久性数据的访问和管理。51Testing软件测试网1N/E?w"G%Jt1X;OS

数据管理的方法有三种:文件管理,关系数据库管理以及面向对象的数据库管理。51Testing软件测试网@(bo!]$I@2N

数据管理的设计包括:51Testing软件测试网:W+mg3A5PO

1. 数据存放设计。选择数据存放的方式:

ZYzN5PpY0

2. 设计相应的操作。为每个需要存储的对象和类增加用于存储管理的属性和操作,在类和对象的定义中加以描述

*W{-nuy1SB"yE0

 

&Sl&h"P&NymR0

 

6E7W kIfuho%h0

?,wW@'X4D(S0 51Testing软件测试网p bp|usk!L


TAG:

 

评分:0

我来说两句

Open Toolbar