如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
SoftwareArchitecture软件体系结构专业课程名称:SoftwareArchitecture软件体系结构参考书:SoftwareArchitecture,PerspectivesonAnEmergingDiscipline软件体系结构,一门初露端倪学科的展望ByMaryShow,DavidGarlan随着软件系统开发的规模和复杂度的不断增加,整体软件系统的结构设计和描述变得越来越重要,系统的结构涉及系统的组织和组成、全局控制结构、通讯协议、同步、数据存取、设计单元的功能划分、设计单元的组成、物理分布、可扩充性和性能、进化的维、设计选择确定,这些都是软件体系结构设计所需要考虑的内容。软件体系结构设计技术正逐步成为软件工程师的重要要求。那么什么是软件体系结构?软件体系结构是描述系统组成单元,这些单元之间的交互,单元组合模式和模式的约束条件。因此一个具体系统的体系结构可以定义成一组组件和组件间的交互。反过来此系统又可以作为一个复合单元用于另一个大系统的设计。虽然现在人们都认识到使用合适的软件体系结构设计对于软件系统的开发和长远发展是非常重要的,但是人们实际所采用的软件体系结构设计方法还普遍表现为不规范和各式各样的,集中表现为采用自己所特有的方式进行软件体系结构设计,比较典型的是框——线图,加上文字用以说明其所代表的含义和原理阐述。这些方法虽然能满足软件设计的基本要求,但是从软件工程角度,其还停留在技巧设计水平或叫源设计水平,而没有真正进入工程设计水平,软件设计人员很难利用已有系统体系结构的共性和进行原理性的系统体系结构选择。为了解决这些问题,软件体系结构的研究正日益受到重视,涉及的方面包括模块接口语言、专用领域体系结构、软件重用、软件组织模式法典、体系结构描述语言、体系结构设计形式基础和体系结构设计环境。体系结构的研究发展方向可归类为:体系结构描述语言(architecturaldescriptionlanguage,ADL),即通过好的方式描述体系结构,以便相互交流和易于分析。体系结构经验法典化,即通过对已有的体系结构原理和模式的分类和合理化处理,形成一组标准化的软件体系结构。专用领域框架,即形成某特定领域软件的体系结构框架。体系结构形式化基础,即通过开发新的表示法,使得体系结构设计变的容易理解。一个好的体系结构设计不仅对系统开发有益,而且对系统维护也非常有益。对于系统开发,其可以加速软件开发人员对体系结构设计的理解,通过对通用软件体系结构模式的认识,软件开发人员可以加深对系统高层次相互关系的理解,在已有系统的基础上通过适当变化建立新的系统;采用正确的软件体系结构是进行成功软件系统设计的重要保证;对于体系结构的充分理解可以使软件设计人员对设计方案进行原理性选择;体系结构级的系统表示对于一个复杂系统高层次特性的分析和描述非常重要;另外采用好的体系结构模式表示法可以使软件工程师更容易与其他人员进行系统设计方面的交流。对于软件系统自身,软件重用一直是一个悬而未决的问题,而基于软件体系结构的可重用组件的系统组合可以大大提高软件的可重用性。除了开发阶段,进行正规软件体系结构设计所形成的系统结构和特性文档对于软件维护也非常有利,因为维护所需要的大部分时间都花在对已有系统的理解上了,而通过严格意义上的体系结构设计所获取清晰明确的原系统设计结构可以明显减少这部分时间,另外对设计人员的系统思路安排的了解可以帮助系统维护人员保持系统设计的完整性。下面首先给出一些系统组织所常用的模式(风格),然后讲一下如何对一个问题选择合适的软件体系结构,以及软件体系结构设计步骤,如何采用形式化模型来描述软件体系结构,如何从语言角度描述系统的体系结构和软件体系结构设计所用的工具。软件体系结构模式设计采用模式(或风格)在许多工程规范中非常常见,事实上,具有为大家所共识的公用设计模式是一个工程领域成熟的重要标志之一。这样可以使工程设计习惯和规则以共享术语形式写进工程手册和资料中,作为相关工程设计的职业要求。软件也有自己的组织模式,在软件体系结构级,其模式通常与客户/服务器系统、管道-过滤器系统、分层体系结构等术语联系在一起;有些体系结构与特定的设计方法和表示法联系在一起,如:面向对象组织方法、数据流组织方法;而有些体系结构与特定种类的系统联系在一起,如:传统的编译器组织形式、ISO/OSI参考模型、面向对象的通用模式等。虽然对软件体系结构的分类轮廓已经出现,但离拥有一套综合完整的软件体系结构专用分类还有很大的距离。下面给出软件体系结构的一般原理性分类:数据流系统批顺序系统管道-过滤器系统调用-返回系统主程序子过程系统面向对象系统上下分层系统独立组件通讯处理系统基于事件系统虚拟机