首页 百科知识 软件体系结构对软件工程方法的影响

软件体系结构对软件工程方法的影响

时间:2022-10-09 百科知识 版权反馈
【摘要】:原因主要在于软件体系结构对软件工程方法有着重要影响。因此,软件体系结构对软件工程方法的影响是很大的,在由RDBMS提供数据服务的C/S结构的软件开发中,使用面向对象软件工程方法并无很大优势,使用传统软件工程方法不失为较好的选择;在由RDBMS提供数据服务的三层结构的软件开发中,业务逻辑层组件的分析和设计使用面向对象软件工程是合适的,但是也不排斥传统软件工程方法。

9.4.1 软件体系结构对软件工程方法的影响

目前,从导向上看来,面向对象软件工程方法大有取代传统软件工程方法的趋势,关于面向对象软件工程方法和建模工具(RUP/UML等)在国内迅速成为软件工程的热点话题,现在似乎不谈UML就好像不是在谈面向对象软件工程,RUP似乎真的能成为“统一软件开发过程”,能够取代一切软件工程方法和软件过程,传统软件工程方法受到冷落,被看成是守旧和落后的象征,许多软件企业贸然引进和使用UML和RUP,导致了很多意想不到的问题,然而他们却不敢怀疑UML和RUP本身有什么问题。这阵RUP/UML风潮正在席卷着神州大地,风潮过后,也许更应该多一份思考:到底什么软件工程方法才实用?RUP/UML真的是放之四海而皆准的真理吗?

img185

图9.20 最终得到的类图

风潮过后的冷静,不难发现,传统软件工程方法仍然被大部分软件开发沿用,传统软件工程方法中的工具——数据字典、实体—关系图、数据流图等在使用数据库的应用软件(包括MIS和ERP,占据目前商业软件开发的绝大部分)的分析和设计中,特别是在数据库的分析和设计中,仍然有绝对的优势,这绝非OOSE能够解释的。原因主要在于软件体系结构对软件工程方法有着重要影响。

这里的软件体系结构(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提供数据服务的三层结构的软件开发中,业务逻辑层组件的分析和设计使用面向对象软件工程是合适的,但是也不排斥传统软件工程方法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈