• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

软件测试面向对象方法和结构化方法[2]

发布: 2009-11-13 13:29 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网

软件测试面向对象方法和结构化方法[2]   软件测试工具

关键字:面向对象 结构化方法

  2、1:对于项目开发来说,一般的软件公司都会只做某一个或某几个行业的某些领域的应用。不会打一枪换一个阵地。对于有项目经验积累的行业,除了一些系统框架性的功能,如根据权限限制的菜单生成,和极为底层的与业务无关的功能,如读配置文件来连接数据库,其他功能很难重用。这使得即使采用面向对象分析方法,但面向对象的继承、多态等能够有力支持重用的特点根本就没有用上。倒是函数重载用得较多。

  2、2:对于开发数据库管理应用的项目来说,我觉得在使用结构化方法时以数据为中心组织模块是很自然的想法。这时再使用JAVA编程,那么使用结构化方法定义出来的接口和使用面向对象定义出来的接口基本相同。可以参考:“notes_svr52\CDMA事业部\软件工程论坛”中的一篇文档 ''CSDN:独孤木专栏:UML OOAD and RUP''。

  2、3:开发产品系列时对重用的需求应该远比开发项目要强烈。这种情况下使用面向对象方法进行系统设计应该会比使用结构化方法效果要好的多。

  以C和C++为例,C最多可以做到不完全的封装,继承和多态是无法做到的。假设有个系统,如果使用继承和多态能比较简洁地使它有良好的可扩展性的话,用C要达到同样的目的肯定要复杂得多。此时,面向对象方法和结构化方法比较——不仅仅是技术上的原因,我认为更是技术管理上的原因——使得面向对象方法更为优秀。任何将“分而治之”贯彻得更好的技术和方法,如果能达到同样的系统功能性能移植性等的要求,必然代替其他方法。纯技术上的优势,我觉得相对于技术管理的优势,并不是主要的:

  2、3、1:“在许多情况下,从继承不会获得任何实际利益。然而,在大型项目里,‘不用继承’的政策的结果将是不易理解的不够灵活的系统”[P638,《C++程序设计语言》]。

  2、3、2:“面向对象技术包含了很多方法学上的进步。……面向对象应用在整个开发周期中,但是真正的获益只有在后续开发、扩展和维护活动中才能体现出来。Coggin 说:‘面向对象技术不会加快首次或第二次的开发,产品族中第五个项目的开发才会异乎寻常的迅速。’”[P130,《人月神话》]。

  2、3、3:个人认为,公司的文档中将函数定义和说明写在文档中,确实比不上JDK那种有清晰的类层次的可以单独存在的帮助系统。

  3、我对软件过程和软件工程并不是很熟悉,最多只能说听说过概念,对于一个概念在实际工作中的意义,我总有一种模模糊糊、懵懵懂懂、感觉好像是但又抓不准的感觉。但在我以前的工作中,我自认还算一直努力地想改进我参与的项目的开发过程。在我的看法中,技术管理和开发过程管理是不同的。开发过程管理更多地和项目管理结合在一起,而技术管理更多地指研发流程、制度以及文档规范等。我知道有些公司的项目经理可以不懂技术,但我所知道的担任技术管理干部的人没有不懂技术的。任何一个分析方法,都是要应用到开发过程的每一个阶段,对开发过程的每一个阶段的每一个成员的思路都有影响。所以我认为一种分析方法如果相对另外一种分析方法而言更优秀的话,那么它必须改善技术管理。很多优秀技术一旦提供,就会发现它对开发过程的某些个或某一方面的技术管理的问题的改善提供了核心的作用。

  4、我以前对测试不太关心,觉得测试是很简单的事情。直到我工作后发现当时所在公司的测试经理的桌面上摆了一排测试方面的书,才在大惊之余觉得有必要对测试的重要性和地位重新认识。但坦白的说,我觉得我在测试方面的了解仍仅限于运行程序。我觉得一种系统分析方法或技术如果优秀的话,应该能对测试提供更多种且更有效的测试方法和规范。

  如果你没听过UML,容我在此做个解释。这三个字就是U Must Learn的缩写,指的就.是你一定得学(you must learn),如果有下一句,应该是You Must Pay。这是几个大师.级的人物,为了要把学术理论顺利转化成现金,所想出来的好点子。基本的想法是,.如果可以弄出一套理论,让全世界想要学软件开发的人都得要来学习,那他们光卖这.套理论的教育训练、认证、顾问咨询、以及难用的开发工具,就可以让公司上市,变成亿万富翁。.开玩笑的。

  这是三位对象导向软件工程界的大师(Grady Booch, James Rumbaugh, Ivar Jacobson),.为了济世救人所整合出来的一种模型语言,称为Unified Modeling Language。算是把.三个人的东西,切成小块以后煮一煮,放在碗里面用汤匙搅一搅,整合成一个大杂烩…

  嗯,不是,是把三个人的理论去芜存菁,所整理出来的结果。

  UML主要的目的,在于让所有进行系统分析设计的工程师,可以有一个共同的图形化.语言,来描述他们所想要建立的系统。至于让公司上市,以及让所有学习UML的工程.师,可以有比较显赫的履历表,则算是产品附加价值,不算是主要的目的。

  因为这个语言,现在正流行,算是当红炸子鸡,所以许多软件公司,莫不努力地往这.个方向发展,期望引进UML,可以为软件开发,带来前所未有的助益。很多人的想法,.当然还是围绕着可以做出被重复使用(reuse)的软件组件,以加速系统开发为核心。

  吉娜:布鲁斯,老板问我什么是UML?他说他到研讨会里听到,超人公司已经在采用.这个东西了,听说有非常好的成果。他觉得我们所有的工程师也应该学习这种新的skill,.这到底是什么东西?

  布鲁斯:这是几个对象导向分析设计界的大师,所共同建立的新的Modeling Language。

  吉娜:Modeling language是什么东西?算了,我不需要知道这些detail。既然老板已经.说需要引进这种新的趋势,这就是我们今年的目标。你先找一些人去上课,然后回来.我们拿几个项目开始试试这种新的方法。

  既然这只是一种语言,其实并没有好坏的问题。这就像中文是否比英文优秀一样,每个.人会有不同的看法。只要在使用的时候,它可以发挥它的用处,可以让看到文件的每个.人,都很清楚了解你想描述的模型,我觉得它就发挥了这个模型的功用。

  然而大师或是大师的徒子徒孙们,不会光把UML这三个字从头到尾念一遍就了事,他们.除了介绍这个语言,还会讲其它的理论。这些话,就跟着UML的推广,跟着被信众们奉.为圭臬,当作是神谕。例如引进UML的团队,通常会采用Use Case Driven的OOAD(对.象导向分析设计),也通常会想要采用大师建议的开发流程:RUP(Rational Unified .Process),来开发项目。

 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 结构 面向对象 软件测试


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网