软件体系结构概述课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件体系结构概述课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 概述 课件
- 资源描述:
-
1、软件体系结构概述提纲n背景与发展历史n软件体系结构n软件体系结构的作用n体系结构风格n体系结构模式n设计模式n体系结构设计方法n体系结构描述语言3/83背景背景n软件危机的表现n成本、进度、质量n软件危机的原因n需求、规模、复杂度n如何克服软件危机 n软件工程:过程、方法与工具软件体系结构的出现 n软件体系结构是软件系统的新概念软件工程中一个新兴的研究课题为了应对日益复杂的系统的设计与构造问题,描述大型复杂系统结构的需要对于大规模的复杂软件系统来说,对总体的系统结构设计和规格说明比起对计算的算法和数据结构的选择已变得明显重要得多为了理解、构造大型、复杂的软件系统的更有效的方法,作为设计抽象的自
2、然演化而出现并发展的。n软件体系结构在软件开发过程中的位置:需求分析之后,软件设计之前。5/83软件体系结构的定义n许多专家学者从不同角度和不同侧面对软件体系结构进行了刻画;n软件体系结构(Software Architecture)对子系统、软件系统组件以及他们之间关系的描述。子系统和组件一般定义在不同的视图内,以显示软件系统的相关功能属性和非功能属性。软件体系结构的定义nWiKiThe software architecture of a program or computing system is the structure or structures of the system,whi
3、ch comprise software components,the externally visible properties of those components,and the relationships between them.The term also refers to documentation of a systems software architecture.Documenting software architecture facilitates communication between stakeholders,documents early decisions
4、 about high-level design,and allows reuse of design components and patterns between projects.http:/en.wikipedia.org/wiki/Software_architecture7/83软件体系结构的定义nPerry and Wolf,1992:A set of architectural(or,if you will,design)elements that have a particular form.Perry and Wolf distinguish between process
5、ing elements,data elements,and connecting elements,and this taxonomy by and large persists through most other definitions and approaches.软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。8/83软件体系结构的定义nGarlan and S
6、haw,1993:.beyond the algorithms and data structures of the computation;designing and specifying the overall system structure emerges as a new kind of problem.Structural issues include gross organization and global control structure;protocols for communication,synchronization,and data access;assignme
7、nt of functionality to design elements;physical distribution;composition of design elements;scaling and performance;and selection among design alternatives.软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。体系结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述
8、方面的一些问题,如全局组织和全局控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等。9/83软件体系结构的定义n西门子的Soni、Nord和Hofmeister指出,软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。概念体系结构Conceptual Architecturen组件、连接器、性能n应用问题的分解和划分。模块体系结构Module Architecturen子系统、模块
9、、引入(Import)、引出(Exports)、模块的界面、管理、控制和一致性等代码体系结构 Code Architecturen文件、目录、库、包含(includes)、软件的配置管理、系统建造等运行体系结构Execution Architecturen任务、线程、进程、性能、调度、动态分配和不同执行系统之间的接口等10/83软件体系结构的定义nHayes Roth则认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。nDavid Garlan和Dewne Perry于1995年在IEEE软件工程学报上又采用如下的定义:软件体系结构是一个程
10、序系统各构件的结构、它们之间的相互关系以及进行设计的原则和随时间进化的指导方针。n1997年,Bass,Ctements和Kazman在软件构架实践一书中给出如下的定义:一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。其中,软件外部的可见特性是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。11/83软件体系结构的定义n软件体系结构的研究正在发展,软件体系结构的定义不断演化n精简Garlan and Shaw的定义为:体系结构=组件+连接(件)+设计约束Architecture=Components+Relationship(Conn
11、ectors)+Constrains组件n组件(component)组件可以理解为软件系统的一个组成部分。组件通过一定接口组成复杂的软件系统。从系统构成角度:在系统运行中承担一定功能、发挥一定作用的软件体从程序设计角度:模块、类、对象、函数或者一个相关功能集合组件n组件分类(作用)控制组件:负责系统运行管理协调组件:负责组件间协作关系连接组件:负责组件间链接作用和转换服务提供组件:为其他组件提供特定服务功能信息控制组件:负责安全检查和信息转接传递构造组件:完成对象的产生和撤销14/83组件的实现形式n组件无行为能力简单数据有行为能力内部结构操作行为n组件的基本实现形式就是对象n层次模型中组件的
展开阅读全文