- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? liqianmu@126.com 软件体系结构1. 绪论 赵学龙 zhaoxuelong@ “建筑体系结构” “计算机体系结构”定义是1964年C. M. Amdahl在介绍IBM 360系统时提出的:计算机体系结构是程序员所看到的计算机的属性,即概念性结构与功能特性。 “软件体系结构”的概念是20世纪90年代中期David Garlan和Mary Shaw在《An Introduction to Software Architecture》中提到的。 软件体系结构是一个软件系统的高层结构,它高度抽象,超越了算法和数据结构,基本着眼点是系统结构和需求与实现之间的交互,是一个用于理解系统级目标的框架。 Mary Shaw和David Garlan认为,软件体系结构是软件设计过程中,超越计算中的算法设计和数据结构设计的一个层次。体系结构问题包括各方面的组织和全局控制结构,通信协议同步,数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。 软件体系结构对软件生命周期中的各个阶段以及项目的管理有着重要的影响。体系结构设计是基于需求分析的一个迭代的过程,这就不可避免地会与需求分析阶段进行交互。体系结构的设计又是后续阶段详细设计的基础。在开发阶段,开发人员正确地理解系统的体系结构是开发工作顺利进行的前提。在测试阶段,体系结构对测试起指导作用。在维护阶段,维护中的大量时间都花费在对现存代码的理解上,如果原始的设计结构能够得到清楚和明确的表达,特别是高层次的表达,就可以大大减少花在这方面的时间,而如果不知道系统的体系结构则使维护工作很难进行。对于一些已经存在但是不知其体系结构的系统,甚至有必要进行体系结构重构。另外,体系结构对于项目的组织管理也具有重要的意义,合理的体系结构设计还有利于开发任务在开发人员之间的分配,有利于开发人员之间关系的协调。 综上所述,软件体系结构是整个软件设计成功的基础和关键所在: 1、软件体系结构研究的主要内容 软件体系结构描述语言 体系结构描述构造与表示 体系结构的设计、分析与验证 体系结构发现、演化与重用 基于体系结构的软件开发方法 特定领域的软件体系结构 软件体系结构支持工具 软件产品线体系结构 (1)软件体系结构描述语言 (2)体系结构描述构造与表示 (3)体系结构的设计、分析与验证 (4)体系结构发现、演化与重用 (5)基于体系结构的软件开发方法 (6)特定领域的软件体系结构 (7)软件体系结构支持工具 (8)软件产品线体系结构 2 SA的定义 “There is no standard, universally-accepted definition of the term, for software architecture is a field in its infancy, although its roots run deep in software engineering. ”/architecture/definitions.html 软件体系结构尚处在发展期,对于其定义,目前学术界尚未形成统一意见,不同学者有不同看法。 SA的定义 Booch, Rumbaugh, and Jacobson, 1999:An architecture is the set of significant decisions about the organization of a software system, the selection of the structural elements and their interfaces by which the system is composed, together with their behavior as specified in the collaborations among those elements, the composition of these structural and behavioral elements into progressively larger subsystems, and the architectural style that guides this organization---these elements and their interfaces, their collaborations, and their composition (The UML Modeling Language User Guide, Addison-Wesley, 1999). 体系结构是一系列重要决策的集合,这些决策与以下内容相关:软件的组织
文档评论(0)