第1章Part1矿大软件体系结构PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件体系结构
Software Architecture
任课教师:袁冠
教材及参考书目
(1)软件体系结构原理、方法与实践. 张友生 清华大学出版社,2009年8月
(2)软件构架实践影印版(第2版) Sofeware Architecture in Practice(Second Edition) 林·巴斯 保罗·克莱门茨 瑞克·凯兹曼 著 清华大学出版社 2003年8月
软件的质量受到软件体系结构的限制,或者说体系结 构的选择受到要达到的质量特征的影响。
软件体系结构是软件系统的高层结构,高度抽象,超 越算法和数据结构,试图在软件需求与软件设计之间 架起一座桥梁,解决结构和需求向实现平坦过渡。
高度决定思路,思路决定出路
14
建筑学 VS 软件体系结构
软件体系结构类比建筑学的蓝图 构件可比作一砖一瓦,或者更大概念如:
用干雪沏成,厚度500mm的墙体可 以提供较好的保温性能。当室外平均温 度-30℃时可维持室内温度-5℃以上。
6
大陆气候的中国民居
土窑洞借助土壤大热惯性,达到冬暖夏凉的目的。
7
中国四合院:座北朝南的典范
利用太阳高度角的特点,仅在北方出现。 四合院建筑冬季有效地利用了太阳能采暖和抵御北风
侵袭,屋顶设计避免了夏季室内过热。
8
湿热地区的 中国民居
云南干阑竹楼:防雨, 防湿和防热。
9
10
Architecture
建筑学, 建筑术 建筑风格, 建筑式样, 建筑设计 体系结构
组成整体的各部分的搭配和安排
11
1964年Amdahl在介绍IBM360系统时提出“计算 机体系结构”的定义: 计算机体系结构是程序员所看到的计算机的属性, 即概念性结构与功能特性。 研究软件和硬件界面划分的问题
庭院,花园等 数据结构和算法看做烧砖的方法,或设计
庭院的思想 没有蓝图就不能构建出雄伟的大厦。没有
好的体系结构也就不能构造出庞大的系统
15
“软件体系结构”你早就知道
Client/Server Three-tier P2P Distributed pipes and filters MVC …
12
“软件体系结构”的概念是20世纪90年代中期 David Garlan和Mary Shaw在《An Introduction to Software Architecture》中提 到的。
13
为什么研究软件体系结构?
软件系统要满足一定的需求(功能和质量)。随着软 件系统的日益复杂,公众对软件的要求已不局限于功 能上的满足,而是更加注重质量。
(3) Software Architecture: Perspectives on an Emerging Discipline. 软件体系结构:一门初露端倪学科的展望 清华大学出版社,Prentice Hall,1998
(4)Beyond Software Architecture: Creating and Sustaining Winning Solutions Luke Hohmann,Addison Wesley, 2003
第1章 软件体系结构概论 ◇ 软件危机的表现
1.1 从软件危机谈起
◎ 开发进度难以控制
软件是逻辑、智力产品,软件的开发需建立庞大的逻 辑体系,这是与其他产品的生产不一样的。
2
Βιβλιοθήκη Baidu
成绩评定
平时成绩10% 作业与小论文20% 期末考试70%
3
Architecture
建筑学, 建筑术 建筑风格, 建筑式样, 建筑设计
4
人类最早的居住方式:巢居和穴居
炎热或高海拔地区的穴居方式,可获得相对稳定的室 内热环境,顶部的天窗既可采光又可排烟。
5
爱斯基摩雪屋的外观和室内布置
课程内容
◇ 软件体系结构概论 ◇ 软件体系结构建模 ◇ 软件体系结构风格 ◇ 软件体系结构描述 ◇ 基于体系结构的软件开发 ◇ 软件体系结构评估 ◇ 软件产品线体系结构
23
第一章 软件体系结 构概论
第1章 软件体系结构概论 ◇ 软件危机的表现
1.1 从软件危机谈起
◎ 软件成本日益增长 ◎ 开发进度难以控制 ◎ 软件质量差 ◎ 软件维护困难
学术界,普遍使用“软件体系结构”,对 “架构师”几乎没有关注
18
软件体系结构 VS 软件架构
学术界为什么用“软件体系结构”? 体系结构的中文定义完全符合IEEE等的定
义。强调整体与部分,部分与部分的关系; 研究系统构成的方法学;提倡多角度研究 系统。 从学科地位讲,作为一门独立软件子学科, 和硬件学科(计算机组织与体系结构)直 接对应。
16
软件体系结构 VS 软件架构
英文都是Software Architecture 可以使用一样的定义 IEEE:“一个系统的基础组织,包含各个
构件、构件互相之间与环境的关系,还有 指导其设计和演化的原则。”
17
软件体系结构 VS 软件架构
工程实践领域的软件开发者和软件应用者, 更倾向于使用“软件架构”,“架构师” 得到广泛的认同。
差别。 如果强调方法论,应使用“软件体系结
构”。如果强调软件开发实践,应使用 “软件架构”
21
“软件体系结构”与其它课程
《软件工程》 根植于软件工程发展起来的一门学科.
《面向对象分析与设计》 UML、构件、设计模式 曹操 软件体系结构是在面向对象技术、构件技 术逐渐成熟的基础上凝练出的。
22
第1章 软件体系结构概论 ◇ 软件危机的表现
1.1 从软件危机谈起
◎ 软件成本日益增长
20世纪50年代,软件成本在整个计算机系统中占的 比例为10%-20%。到20世纪60年代中期,软件成本在计算 机系统中所占的比例已经增长到50%左右。
一组来自美国空军计算机系统的数据:1955年,软 件费用约占总费用的18%,1970年达到60%,1975年达到 72%,1980年达到80%,1985年达到85%左右。
19
软件体系结构 VS 软件架构
工程实践领域为什么用“软件架构”? 从工程实践需要看,软件架构更能体现系
统构成与相关技术。 RUP过程或软件生产线关注的软件架构并
不注重原理及表示,而是由结构和技术相 结合的形成框架。
20
软件体系结构 VS 软件架构
总结: 没有文献表明软件体系结构与软件架构的
Software Architecture
任课教师:袁冠
教材及参考书目
(1)软件体系结构原理、方法与实践. 张友生 清华大学出版社,2009年8月
(2)软件构架实践影印版(第2版) Sofeware Architecture in Practice(Second Edition) 林·巴斯 保罗·克莱门茨 瑞克·凯兹曼 著 清华大学出版社 2003年8月
软件的质量受到软件体系结构的限制,或者说体系结 构的选择受到要达到的质量特征的影响。
软件体系结构是软件系统的高层结构,高度抽象,超 越算法和数据结构,试图在软件需求与软件设计之间 架起一座桥梁,解决结构和需求向实现平坦过渡。
高度决定思路,思路决定出路
14
建筑学 VS 软件体系结构
软件体系结构类比建筑学的蓝图 构件可比作一砖一瓦,或者更大概念如:
用干雪沏成,厚度500mm的墙体可 以提供较好的保温性能。当室外平均温 度-30℃时可维持室内温度-5℃以上。
6
大陆气候的中国民居
土窑洞借助土壤大热惯性,达到冬暖夏凉的目的。
7
中国四合院:座北朝南的典范
利用太阳高度角的特点,仅在北方出现。 四合院建筑冬季有效地利用了太阳能采暖和抵御北风
侵袭,屋顶设计避免了夏季室内过热。
8
湿热地区的 中国民居
云南干阑竹楼:防雨, 防湿和防热。
9
10
Architecture
建筑学, 建筑术 建筑风格, 建筑式样, 建筑设计 体系结构
组成整体的各部分的搭配和安排
11
1964年Amdahl在介绍IBM360系统时提出“计算 机体系结构”的定义: 计算机体系结构是程序员所看到的计算机的属性, 即概念性结构与功能特性。 研究软件和硬件界面划分的问题
庭院,花园等 数据结构和算法看做烧砖的方法,或设计
庭院的思想 没有蓝图就不能构建出雄伟的大厦。没有
好的体系结构也就不能构造出庞大的系统
15
“软件体系结构”你早就知道
Client/Server Three-tier P2P Distributed pipes and filters MVC …
12
“软件体系结构”的概念是20世纪90年代中期 David Garlan和Mary Shaw在《An Introduction to Software Architecture》中提 到的。
13
为什么研究软件体系结构?
软件系统要满足一定的需求(功能和质量)。随着软 件系统的日益复杂,公众对软件的要求已不局限于功 能上的满足,而是更加注重质量。
(3) Software Architecture: Perspectives on an Emerging Discipline. 软件体系结构:一门初露端倪学科的展望 清华大学出版社,Prentice Hall,1998
(4)Beyond Software Architecture: Creating and Sustaining Winning Solutions Luke Hohmann,Addison Wesley, 2003
第1章 软件体系结构概论 ◇ 软件危机的表现
1.1 从软件危机谈起
◎ 开发进度难以控制
软件是逻辑、智力产品,软件的开发需建立庞大的逻 辑体系,这是与其他产品的生产不一样的。
2
Βιβλιοθήκη Baidu
成绩评定
平时成绩10% 作业与小论文20% 期末考试70%
3
Architecture
建筑学, 建筑术 建筑风格, 建筑式样, 建筑设计
4
人类最早的居住方式:巢居和穴居
炎热或高海拔地区的穴居方式,可获得相对稳定的室 内热环境,顶部的天窗既可采光又可排烟。
5
爱斯基摩雪屋的外观和室内布置
课程内容
◇ 软件体系结构概论 ◇ 软件体系结构建模 ◇ 软件体系结构风格 ◇ 软件体系结构描述 ◇ 基于体系结构的软件开发 ◇ 软件体系结构评估 ◇ 软件产品线体系结构
23
第一章 软件体系结 构概论
第1章 软件体系结构概论 ◇ 软件危机的表现
1.1 从软件危机谈起
◎ 软件成本日益增长 ◎ 开发进度难以控制 ◎ 软件质量差 ◎ 软件维护困难
学术界,普遍使用“软件体系结构”,对 “架构师”几乎没有关注
18
软件体系结构 VS 软件架构
学术界为什么用“软件体系结构”? 体系结构的中文定义完全符合IEEE等的定
义。强调整体与部分,部分与部分的关系; 研究系统构成的方法学;提倡多角度研究 系统。 从学科地位讲,作为一门独立软件子学科, 和硬件学科(计算机组织与体系结构)直 接对应。
16
软件体系结构 VS 软件架构
英文都是Software Architecture 可以使用一样的定义 IEEE:“一个系统的基础组织,包含各个
构件、构件互相之间与环境的关系,还有 指导其设计和演化的原则。”
17
软件体系结构 VS 软件架构
工程实践领域的软件开发者和软件应用者, 更倾向于使用“软件架构”,“架构师” 得到广泛的认同。
差别。 如果强调方法论,应使用“软件体系结
构”。如果强调软件开发实践,应使用 “软件架构”
21
“软件体系结构”与其它课程
《软件工程》 根植于软件工程发展起来的一门学科.
《面向对象分析与设计》 UML、构件、设计模式 曹操 软件体系结构是在面向对象技术、构件技 术逐渐成熟的基础上凝练出的。
22
第1章 软件体系结构概论 ◇ 软件危机的表现
1.1 从软件危机谈起
◎ 软件成本日益增长
20世纪50年代,软件成本在整个计算机系统中占的 比例为10%-20%。到20世纪60年代中期,软件成本在计算 机系统中所占的比例已经增长到50%左右。
一组来自美国空军计算机系统的数据:1955年,软 件费用约占总费用的18%,1970年达到60%,1975年达到 72%,1980年达到80%,1985年达到85%左右。
19
软件体系结构 VS 软件架构
工程实践领域为什么用“软件架构”? 从工程实践需要看,软件架构更能体现系
统构成与相关技术。 RUP过程或软件生产线关注的软件架构并
不注重原理及表示,而是由结构和技术相 结合的形成框架。
20
软件体系结构 VS 软件架构
总结: 没有文献表明软件体系结构与软件架构的