体系结构结构第一章.ppt
《体系结构结构第一章.ppt》由会员分享,可在线阅读,更多相关《体系结构结构第一章.ppt(42页珍藏版)》请在三一办公上搜索。
1、软件体系结构Software Architecture,陈长清博士,副教授电子邮件:ccqcL ccqcL华中科技大学软件学院,前言体系结构简称架构或构架。构:本义架木造屋,引申为构造。构架(architecture):建筑的结构的集合,形成设计整体。结:用绳、线、皮条等绾成的疙瘩;关键点;被联结状态。结构(structure):从某个角度(视角)对组成整体的各部分的搭配和安排。architecture=structures建筑的多个视角:主体结构(使用材料):框架结构、砖混结构、木制结构。外观:涂料、外墙砖、玻璃幕墙。内部结构:电梯、紧急通道、厨房、卫生间、客厅、卧室。我们常说建筑结构,实际
2、是说建筑架构,买房时的多个视角(角度):对住房的功能需求:能够居住。对住房的质量需求:安全性:能避免地震、台风、暴雨等各种自然灾害。健康性,舒适性。美观性:有亲和感,社会文化的体现。方便性:超市、幼儿园、公共交通不同住房具有相同的功能,但其架构不同,所满足的居住质量也不相同。人体的多个视角架构:器官结构、肌肉结构、骨骼结构、神经结构 我们常说人体结构,实际是说人体架构,人类最早的居住方式:巢居和穴居,炎热或高海拔地区的穴居方式,可获得相对稳定的室内热环境,顶部的天窗既可采光又可排烟。,爱斯基摩雪屋的外观和室内布置,用干雪沏成,厚度500的墙体可以提供较好的保温性能。当室外平均温度30时可维持室
3、内温度5以上。,大陆气候的中国民居,土窑洞借助土壤大热惯性,达到冬暖夏凉的目的。,利用太阳高度角的特点,仅在北方出现。四合院建筑冬季有效地利用了太阳能采暖和抵御北风侵袭,屋顶设计避免了夏季室内过热。,中国四合院:座北朝南的典范,湿热地区的中国民居,云南干阑竹楼:防雨,防湿和防热。,地球环境还可持续发展吗?,遍布全球的玻璃和钢筋盒子建筑,空调的普及使人们不再关心建筑的冷暖,但高能耗又使环境受到影响。,为什么研究软件架构?思想有多远,我们就能走多远 高度决定思路,思路决定出路 系统的建立是为了满足组织的需求(包括功能和质量),质量需求决定了系统必须达到的特征,包括性能,可靠性,互操作性以及生命周期
4、等。随着软件系统的日益复杂,涉众对软件的要求已不局限于功能上的满足,而是更加注重质量。很少有人注意到组织(开发组织、客户等)在系统设计和系统成败上扮演的角色。系统的质量特征受到软件架构的限制,或者说构架设计的选择受到要达到的质量特征的影响。本课程的目的:对软件架构的产生、演化做通俗介绍,减少对架构认识的神秘感,对软件架构设计提供实用的指导。,阅读指南第1部分:软件构架的基础第2部分:构架的创建第3部分:构架的分析与评审案例分析的组织 案例的简要说明 功能需求和质量属性 构架解决方案 总结,第1部分软件架构基础,1.1 软件架构的概念 1.2 软件架构的多个结构 1.3 软件架构的产生 1.4
5、软件的架构不是静止的 1.5 软件架构的重要性 1.6 小结 1.7 讨论,第 1 章 认识软件架构,1.1 软件架构的概念,你从这个图中可以知道什么?,软件架构在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件、组件的外部可见属性及组件之间的相互关系。组件的外部可见属性是指其它组件可对该组件所做的假设,如该组件提供的服务、具备的质量特征、错误处理、共享资源的使用。为什么设计原则是架构的一部分?做事先做人 很多人不懂或不遵守走路的规则,结果丢掉性命 很多人不遵守开车的规则,结果造成严重交通事故 同样,不遵循架构设计的原则,架
6、构也容易失败。,1.1.1 软件架构的定义,架构定义可以从下面六个方面来理解:架构应建立在一定的设计原则之上,否则很容易失败。系统可能由多个结构组成,其中任何一个结构都不能与构架等同。每个软件系统都有自己的架构。软件架构决定了各个组件。只要某个组件的行为可以从其它组件的角度观察到或区别开,这样的行为就是软件架构的内容。软件架构是抽象的,它不考虑实现、算法和数据表示的细节,而集中研究“黑盒”组件的行为和交互,是设计第一步。,1.1.2 其它观点,观点1 软件架构是高层次的设计观点2 软件架构是软件系统的总体结构观点3 IEEE的定义:软件架构是一个程序或系统的组件结构、组件之间的相互联系及支配组
7、件设计和进化的指导原则观点4 Perry和Wo1f提出:软件架构是具有一定形式的结构化元素,包括处理元素、数据元素和连接元素。处理元素负责对数据进行加工,数据元素是被加工的信息,连接元素把架构的不同部分组合连接起来。,观点5 Mary Shaw和David Garlan认为软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。体系结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结
8、构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等。观点6 Kruchten指出,软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。,这些角度形成了一个“4+1”的视角模型。“4+1”模型从5个不同的视角包括逻辑视角、过程视角、物理视角、开发视角和场景视角来描述软件体系结构。每一个视角只关心系统的一个侧面,5个视角结合在一起才能够反映系统的软件体系结构的全部内容。“4+1”模型如图所示
9、:,观点7 Hayes Roth则认为软件架构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。观点8 Barry Boehm提出,软件架构包括系统构件,互联及约束的集合;系统需求说明的集合;一个基本原理用以说明这一构件,互联和约束能够满足系统需求。观点9 软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件架构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。,1.2 软件架构的多个结构,静态的角
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 体系结构 结构 第一章
链接地址:https://www.31ppt.com/p-5372498.html