SA OOA

2008-04-09 04:04:07来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

SA OOA
何志丹
许多书刊对面向对象大加赞美,好象面向对象大有“一统天下”之势。事实上我国软件业是“群雄割据”,其中最有实力的是面向对象的分析(ooa)和结构化分析(sa).这一点可以从2001年系统分析员考试得到佐证,当时的试题是写一种分析方法,写sa和ooa大约各占一半。其实这是必然的,因为ooa和sa都有各自的优点。
1,从接受用户信息来看,sa显然比ooa优越得多。在sa中,系统分析员只需吃透用户需求,并抽象出功能,再加以处理,即可画出DFD(数据流程图),有了数据流程图,DD(数据字典)、DP(数据处理)就好完成了。在OOA中,系统分析先弄清用户的意图,再找有那些对象,再细化每个对象的属性和服务,再找联系和结构,显然用户的许多工作都没有被合理利用。
2,从让用户复杳来看,SA显然也比OOA优越。DFD、DD、DP(无论是准形式化语言,判定树,还是判定表),都是傻瓜化的,只要用户不是文盲就可能以读懂。类图虽然也可能被用户读懂,但他无法判断是否符合自己的要求。
3,从指导系统设计师的工作来看,OOA显然优于SA。用面向对象的方法,OOD的主要工作是细化OOA阶段的工作及数据库、界面等方面的考虑。显然OOD可以看成OOA的继续,他们间的交流应该说是没有障碍的。SD的模块图的根据是SA的DFD,但现在还不存在将DFD转化成模块图的工具。所以系统设计师还有许多工作要做,可以说是从零开始。
4,从检查系统设计师的工作来看,OOA也是优于SA的。因为OOA、OOD的表达方式是一致的。模块图十分容易理解,但系统分析员要看SD是否符合自己的要求,还是要下一番工夫。
5,从适应性来看,OOA是优于SA的。为了适应需求的不断变化,需求分析把最容易变化的因素隔离起来,另外要求各个单元成分之间的接口尽可能少。总之类,要把需求变化所引起的影响局部化。OOA对变化比较有弹性,主要原因是得益于封装原则。它以最稳定的成份——对象作为构成系统的基本单元,而把容易变化的成份——服务及属性封装在对象之中。属性及服务的变化主要影响到对象的内部,只通过有限的对外接口对外部发生影响,从而有效的限制了一处修改牵连的“波动效应”。
6,从复用来看,OOA也是优于SA的。分析方法中与复用有关的因素主要有两个:基本成份的完整性与独立性。完整性指完整对应问题域中的事物,独立性指与其它成份的接口尽可能的少。显然这两方面SA是非常差的。OOA的类很适合作为一个可复用的构件。主要原因有两点:第一是类的完整性——它完整地描述了问题域中的一个客观事物,包括它的数据特征和行为特征。第二是它的独立性。它是一个独立的封装体,与外部只有很少的联系。一个软件如果缺少完整性,则复用的价值很小;如果缺少独立性则很不容易适应不同的系统。
7,从冗余来看,OOA中,系统分析员采用“先松后紧”的原则,抽象了许多多余的类,不但加大了工作量,而且容易产生错误。要知道系统分析员的每一个错误都是灾难性的。
综上所述,只有将两种分析方法结合起来,先SA再OOA,可以发挥各自的优点。其实OOA和SA并不是对立的,一个系统分析员对某个问题如果能画出DFD,那么他一定能画出类图。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:用Cactus来测试J2ee应用

下一篇:[转帖]Weblogic VS Websphere(偏向Websphere)