计算机软件系统的具体分类,软件体系结构五种主要风格类型分析.doc

软件体系结构五种主要风格类型分析

软件体系结构五种主要风格类型分析

摘要: 本文简述了软件体系结构的定义,探讨了Mary shaw和Daviad Garlan所提出的五种风格,即数据流风格、调用/返同风格、独立组件风格、独立组件风格、虚拟机风格、仓库风格软件体系结构。

关键词: 软件体系结构定义风格类型      一、什么是软件体系结构   在所有对于软件体系结构的定义中,我认为最有代表性的就是Hayes Roth所提出的:“认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。”这样的定义,我认为从根本上描述了软件体系结构所要做的事情,是一个很概括的规范化公式。与此同时,在定义各式各样的“构件”的时候,人们似乎一直在默认Dewayne Perry和A1ex Wo1f的定义,也就是:“软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。”这一定义将处理构件、数据构件和连接构件区分了开来,明确了这三者在软件体系结构中的组件性质,将这三者视为软件体系结构的标准组成及探讨对象。   在此基础上,反复提到的则是Mary Shaw和David Garlan所提出的:“软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。体系结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等。”这样的定义,我认为进一步地提出了软件体系结构的地位和所研究内容的具体情况,它提出了一个对于“控制”和“协议”的具体化要求,在以上定义的基础上强调了软件体系结构对于构架的调配和规划功能,细分了软件体系结构的内容。   除去Kruchten对于软件体系结构“四个角度”,即概念角度、模块角度、运行角度、代码角度的定义,以及Barry Boehm和他的学生提出的关于强调“互联及约束的集合”的概念之外,还有其他的定义方式。如Bass,Ctements和Kazman在1997年的《使用软件体系结构》书中提出的:“关于一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。”其强调了“软件外部的可见特性”,是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。这一定义的特点在于把软件体系结构提升,或者也可以说是限制在了软件的“表征特性”上,这使得软件体系结构有了更紧缩、健康的概念。   我在思考对于软件体系结构的定义的时候,并没有一个标准的答案,因为我在拜读其他名家的定义的时候发现,它们有着很多相似之处,也各自有着突出的特点与不足,这使得我无论是出于尊敬还是出于对自己认识层次的保留,都不愿意给出一个自己所谓的“定义”,但是可以说的是,所谓软件体系结构,是一种思想方式,也是一种分析方式和控制方式,这种方式的对象,是软件(广义)的——主要是创建过程中的—结构和统一规范的建议,其表现形式是构件化的描述体系。这样的一种理解方式,也就是我上面所提及的在前辈们定义的软件体系结构中的三个要素:(1)构件性——软件体系结构由三个构件组成:处理构件、数据构件和连接构件;(2)控制性——软件体系结构的作用是在“控制”和“协议”层次上;(3)表征性——软件体系结构的对象,是“软件外部的可见特性”。   二、常见软件体系结构风格   所谓软件体系结构风格是指:“描述某一特定应用领域中系统组织方式的惯用模式。”它反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。按这种方式理解,软件体系结构风格是指:“定义了用于描述系统的术语表和一组指导构件系统的规则。”对软件体系结构风格的研究和实践促进了对设计的复用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。体系结构风格的不变部分使不同的系统可以共享同一个实现代码。只要系统是采用常用的、规范的方法来组织,就可使别的设计者很容易地理解系统的体系结构。   软件体系结构风格有很多种,现在我主要分析的是Mary Shaw和David Garlan所提出的五种主要风格类型,也就是:(1)数据流风格,包括批处理序列,管道/过滤器形式等;(2)调用/返回风格,包括主程序/子程序,面向对象风格,分层结构等;(3)独立组件风格,包括进程通讯,事件系统等;(4)虚拟机风格,包括解释器,基于

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值