现代软件工程在现代软件开发中的合理应用

更新时间:2019-07-11 来源:工程论文 点击:

【www.rjdtv.com--工程论文】

    摘要:从一个角度分析了现代软件体系结构对现代软件工程方法的影响,指出由RDBMS提供数据服务的C/S结构的软件开发中,使用面向对象软件工程方法并无很大优势,使用传统软件工程方法是一种较好的选择;由RDBMS提供数据服务的三层结构的软件开发中,业务逻辑层组件的分析和设计使用面向对象软件工程方法是合适的,但是也不排斥传统软件工程方法,不宜盲目使用面向对象的软件工程方法、UML和RUP。
  关键词:传统软件工程方法;面向对象软件工程方法;软件体系结构
    1 现代软件工程的合理应用1.1 目前软件开发中存在的实际现象目前从导向看来,面向对象软件工程方法大有取代传统软件工程方法的趋势,关于面向对象软件工程方法和工具(RUP/UML等)在国内迅速成为软件工程的热点话题。现在似乎不谈UML就好像不是在谈面向对象软件工程,RUP似乎真的能成为“统一软件开发过程”,能够取代一切软件工程方法,传统软件工程方法受到冷落,被看成是守旧和落后的象征,许多软件企业贸然引进和使用UML和RUP,导致了很多意想不到的问题却不敢怀疑UML和RUP本身有什么问题。这阵RUP/UML风潮正在席卷着神州大地,随便走进一家计算机书店,关于RUP/UML的书会有几种、十几甚至几十种,风潮过后,我们也许更应该多一份思考:到底什么软件工程方法才能适合我们,RUP/UML真的是放之四海皆准的真理吗?
  风潮过后的冷静,我们会发现,传统软件工程方法仍然被大部分软件开发沿用,传统软件工程方法中的工具———数据字典、实体-关系图、数据流图等在使用数据库的应用软件(包括MIS和ERP,占据目前商业软件开发的绝大部分)的分析和设计中,特别是数据库的分析和设计中,仍然有绝对的优势,这决非OOSE能够解释的。
  1.2 软件体系结构对软件工程方法的影响这里的软件体系结构(Architecture),主要指现代软件的分层体系结构,例如C/S结构和三层(多层)结构(以下简称三层结构)等。作为解决方案的现代软件,基本上全部由数据库/DBMS提供数据服务。目前的DBMS的主流仍然是RDBMS(关系数据库管理系统),OODBMS(面向对象数据库管理系统)远未到完全投入实用的地步。RDBMS对数据存储、数据共享、数据完整性维护、故障恢复、事务处理等功能的支持是强有力的,RDBMS的SQL语言对于数据库的存储、管理、检索和维护的支持也是强有力的,SQL语言对于复杂数据查询的支持功能很强,而且不会破坏数据完整性,可以轻易地构造高效的复杂查询,这一点OODBMS目前还有一定的困难。对于数据关联复杂,数据查询(操纵)密集的系统,RDBMS要优于OODBMS,这一点使得RDBMS仍然是目前DBMS的主流。
  RDBMS的表(关系)和关联可以很容易地用数据字典和实体-关系图描述,以至于在目前的由RDBMS提供数据服务的软件开发中,数据字典和实体-关系图基本上变成了“表结构”和“表之间的关联”。在面向对象的思想中,SQL语言可以相当于一组方法,但是SQL语言并非是只针对某一个表的方法,而是针对整个DBMS的方法,相当于对于某一个表而言,数据存储和针对数据的操作是分离的,这种情况下,使用数据流图很容易描述数据存储和数据处理(业务逻辑)。如果一定要将某一个表作为事物映射成对象,SQL语言将不能轻易地构造高效的复杂查询,这种情况下会失去RDBMS的优势。
  C/S结构的软件开发中,用户界面(表示)的设计由于可视化开发的引入,使得用户界面的开发几乎不谢芳:现代软件工程在现代软件开发中的合理应用需要设计或者只需要简化的设计,使用面向对象软件工程方法并无很大优势。三层结构的软件开发中,业务逻辑层(中间层)由组件组成,往往中间层内部还有分层结构(这就形成多层结构),组件是面向对象的,组件的分析和设计使用面向对象软件工程是合适的,但是直接访问RDBMS的组件,内部业务逻辑仍然以使用数据流图描述为好。综上所述,软件体系结构对软件工程方法的影响是很大的,由RDBMS提供数据服务的C/S结构的软件开发中,使用面向对象软件工程方法并无很大优势,使用传统软件工程方法不失为较好的选择;由RDBMS提供数据服务的三层结构的软件开发中,业务逻辑层组件的分析和设计使用面向对象软件工程是合适的,但是也不排斥传统软件工程方法。
  1.3 对RUP/UML的评价UML是一种建模语言而不是一种方法,它不包含任何过程指导。UML不能起到一种建模方法的作用,它不能取代任何一种已经存在或者可能新出现的建模方法,更不能成为一种统一的建模方法。UML是独立于方法的,任何一种建模方法,都可以使用UML的概念和表示法。RUP只是面向对象软件工程流派的一种,并不是说其它面向对象软件工程流派就不能使用UML作为建模语言(工具)。RUP和任何面向对象软件工程流派一样,也存在着缺点和不能解决的问题。文献中对UML有详细的介绍和评论,文献使用Visual Basic和UML开发软件,也仅将UML作为建模语言使用,使用Rational Rose只是作为建模工具,并未使用RUP。
  2 结束语综上所述,在现代软件开发中应该合理地使用现代软件工程,任何软件工程方法均不应该作为教条来看待,软件体系结构对软件工程方法有很大的影响,根据软件体系结构选择适当的软件工程方法,或者结合使用软件工程方法,对于软件开发能够收到事半功倍的效果。
  参考文献:
  [1] 张海藩.软件工程导论[M].北京:清华大学出版社,1998.
  [2] Roger S Pressman.软件工程———实践者的研究方法[M].黄柏素,梅宏译.北京:机械工业出版社,1999.
  [3] 邵维忠,杨芙清.面向对象的系统分析[M].北京:清华大学出版社,2003.
  [4] 邵维忠,杨芙清.面向对象的系统设计[M].北京:清华大学出版社,2003.
  [5] Paul R Reed Jr.使用Visual Basic和UML开发应用程序[M].李博,崔慧敏译.北京:清华大学出版社,2002.

本文来源:http://www.rjdtv.com/gongchenglunwen/470.html