欢迎来到天天文库
浏览记录
ID:34617042
大小:165.97 KB
页数:4页
时间:2019-03-08
《软件体系结构风格综述new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件体系结构风格综述李龙澍!安徽大学计算机科学与技术学院&安徽合肥!’""’-"摘要#软件体系结构已经成为软件工程的一个重要研究领域&本文综述了数据流系统)数据抽象和面向对象组织)分层系统)数据中心系统等软件体系结构风格&并且指出了它们的优点和缺点,关键词#软件体系结构$构件$综述中图分类号#G3:##文献标识码#5文章编号##’’H)!&(’!&’’("’!)’’’#)’!随着计算机应用的日益普及&人们对软件的需求量急剧增加%但是&计算机软件开发技术却远远没有跟上硬件技术的发展&使得软件开发的成本逐年剧增%更为严重的是&软件的质量没有可靠的保证%软件开发的速度与计算机普及的速度不相适
2、应&软件的质量与应用的要求不相适应&软件开发技术已经成为影响计算机系统发展的’瓶颈("#$%%&’世纪(’年代的软件危机使得人们开始重视软件工程的研究%起初&人们把软件设计的重点放在数据结构和算法的选择上&随着软件系统规模越来越大)越来越复杂&整个系统的结构和规格说明显得越来越重要&软件危机的程度日益加剧&现有的软件工程方法对此显得力不从心*对于大规模的复杂软件系统来说&对总体的系统结构设计和规格说明比起对计算的算法和数据结构的选择显得更重要*在此种背景下&人们认识到软件体系结构的重要性&并认为对软件体系结构的研究将会成为提高软件生产率和解决软件维护问题的新的最有希望的途径*"#&!&
3、$%*/0软件体系结构的基本概念按照现代软件工程的观点&开发一个软件系统的核心问题是怎样把一个大的系统划分成若干个结构合理的小的子系统&也就是系统怎样被分成许多模块&模块之间怎样相互作用&组合起来有什么样的整体属性&这些问题清楚了&软件就具有了体系结构*软件体系结构是设计抽象的进一步发展&满足了更好地理解软件系统&更方便地开发更大+更复杂的软件系统的需要,最近几年软件体系结构研究已完全独立于软件工程的研究&成为计算机科学的一个最新的研究方向和独立学科分支,许多专家学者从不同角度和不同侧面对软件体系结构进行了刻画&较为典型的定义有#"#)$%*#+#,,&年-./012.3.441和5#
4、.678#9曾这样定义#软件体系结构是具有一定形式的结构化元素!或称设计元素"&包括处理构件)数据构件和连接构件,处理构件负责对数据进行加工&数据构件是被加工的信息&连接构件把体系结构的不同构建以不同的形式连接起来,这一定义在其他的有关软件体系结构定义中基本上得到了不同形式的体现,*&+#,,:年;041<=0/和-0>?@A04B02认为软件体系结构是软件设计过程中的一个层次&它由元素)连接以及它们之间的约束组成&其抽象程度超越计算过程中的算法设计和数据结构设计,包括总体组织和全局控制)通讯协议)同步)数据存取&以及在各设计方案间进行选择等&如全局组织和全局控制结构)关于通讯)同步与
5、数据存取的协议&设计构件功能定义&物理分布与合成&设计方案的选择)评估与实现&粒度和性能等,*:+C01.DE8F=在一次特定软件体系结构的报告中认为软件体系结构是一个由功能构件组成的抽象的系统规范&主要包括用其行为来描述的功能构件和构件之间的相互连接)接口和关系,收稿日期#!""#$"%$!&基金项目#国家自然科学基金项目!#"!%’"(’"$安徽省自然科学基金!")"(!"!"("$安徽省学校拔尖人才基金!")"!)*"!"$安徽省教育厅自然科学研究项目!!""#+,"-&."%作者简介#李龙澍!*-)#$"&男&安徽亳州人&教授&博士生导师&主要从事智能软件的教学和研究工作%*!
6、*$%&’()*+,(-.(/和’01/020--3于4556年在7888软件工程学报上又给出如下的定义!软件体系结构是一个系统各构件的结构"它们之间的相互关系以及进行设计的原则和随时间进化的规范#$6&4559年$:(;;等科学家在使用软件体系结构一书中给出如下的定义!一个程序或计算机系统的软件体系结构包括一个或一组软件构件%软件构件的外部的可见特性及其相互关系&其中$’软件外部的可见特性(是指软件构件提供的服务%性能%特性%错误处理%共享资源使用等#软件体系结构的最核心概念有<构件$=>?@>/0/A&%连接件$=>//0=A>-&%配置$=>/B*CD-(A*>/&%端口$@>-
7、A&和角色$->.0构件是具有某种功能可重用的软件基本单元$表示软件系统中主要的计算元素和数据存储单元#构件有两种<复合构件和原子构件$复合构件是由其它复合构件和原子构件以一定的拓扑结构通过连接件构成E原子构件不可再分$底层由实现该构件的类组成#构件可组成一种自嵌套的分层网络结构#连接件表示了构件之间的交互$是构件与构件之间建立和维持行为关联和消息传递的途径$包括实现构件之间的交互机制和管理这些交互的原则$协议简单的连接如<@*@0;$
此文档下载收益归作者所有