SA+OOA

           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,那么他一定能画出类图。 数据挖掘实验室

[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:如何写不可维护的代码
下一篇:硅谷的故事:关于硅谷的学术研究
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 软件开发中项目需求管理简述
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 细谈软件需求分析过程
  • 商场荧屏导购展板系统软件需求说明书
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • 软件开发中项目需求管理简述
  • 面向服务架构(SOA)的原则
  • “再用式”软件开发方法
  • 细谈软件需求分析过程
  • 客户关系管理的三大纪律
  • 需求调研分析中的项目干系人概念
  • 获取用户需求的沟通技巧之一
  • 获取用户需求的十大沟通技巧
  • 新产品开发项目中的需求问题
  • 谈谈软件开发中的调研对象与被调研对象
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静