1-软件体系结构概念.课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《1-软件体系结构概念.课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 概念 课件
- 资源描述:
-
1、1Software Architecture 软件体系结构起源、定义、意义和研究现状张平健华南理工大学软件学院2Examples from architecture Kennel 建筑的例子狗舍一个人搭建,需要一个人搭建,需要最小化建模最小化建模简单的过程简单的过程简单的工具简单的工具3Examples from architecture House 建筑的例子住房一个团队高效和适时地建造,需要一个团队高效和适时地建造,需要仔细的建模仔细的建模良好定义的过程良好定义的过程良好的工具良好的工具4Examples from architecture Skyscraper 建筑的例子摩天大楼5Exa
2、mples from Organization One-man Company 机构组织的例子家庭作坊6Examples from Organization Middle to Small sized Company 机构组织的例子中小公司7Examples from Organization International Group机构组织的例子跨国集团8Software Development Single-handed 软件开发单枪匹马9Software Development Team Work 软件开发团队开发10Software Development Large Complicat
3、ed Systems 软件开发大型复杂系统的开发11Software Crisis 软件危机lSoftware systems becomes larger as well as more complex, the reliability issue becomes more and more serious. Software crisis begins to burst(爆发).lProjects run over-budget and over-time. lProjects were unmanageable and the codes were difficult to mainta
4、in.lSoftware often did not meet requirements. 12Emerge of Software Engineering (SE) 软件工程的诞生l The term software crisis was coined by F. L. Bauer at the first NATO Software Engineering Conference in 1968 at Garmisch, Germany.l 1968年在德国召开的NATO(North Atlantic Treaty Organization ,北大西洋公约组织)会议上首次提出了“软件工程”
5、概念,希望用工程化的原则和方法来克服软件危机13Whats Engineering ? 什么是“工程”?lEngineering meansSolve problem at lowest costGuided by scientific knowledgeEquipped with methodologyRelied on suitable toolslPurpose: Let ordinary person be able to do what can only be accomplished by expert in the past14Evolution of Engineering 工
6、程的进化15Stages of Engineering 工程化的步伐手工(Craft)商业(Commerical)工程(Professional Engineering)行家里手和业余天才熟练的工匠受过系统教育的专业人员直觉与强力既定程序分析与理论偶然的进步注重实效地优化以科学为指导地升级换代不经意的推广言传身教专业教育课程奢侈地使用原料注重成本与原料利用原料多次利用生产是为了使用而不是出售为销售而生产市场份额16SE的发展17Understanding of SA 软件架构认识与实践l Program=Data structure + Algorithm 程序=数据结构+算法l Progra
7、m=Object + Object 程序=对象+对象l System=Component + Component 系统=构件+构件l System=Element + Connector 系统=组件+连接件Overall structure Technical details 整体结构技术细节Qualities Functionalities 性能功能l SOA,MDA,SaaS (Software as a service).l ERP(企业级应用)、E-Business/Digital-Government (电子商务/电子政务/电子交易)、Grid Computing 网格、Cloud
8、Computing 云计算18Origin of SA Conceptsl Studies on SA dated back to 1960s, with focus on software structure. l 1969年,Brooks proposed the concept of “architecture” to separate design from implementation.l The term “architecture” was first used to mean a description of a computer system that applied equ
9、ally to more than one actual system19Origin of SA Conceptsl 1968年,Edsger Dijkstra proposed the idea of layersFor example, programs within OS can be classified into different layers, only programs in neighboring layers can access each other.Organized in this way, system development and maintenance ca
10、n be simplified greatly.20Origin of SA Conceptsl 1970年代初,David Parnas proposed a series of important ideas1972年,信息隐蔽 (information-hiding)1974年,软件结构 (software structures)1975年,程序家族 (program families) l A program family is a set of programs whose common properties are so extensive that it is advantage
11、ous to study those properties before investigating (调查)individual members.21Origin of SA Conceptsl 1976年,Frank DeRemer and Hans Kron proposed MIL75 (模块连接语言) “Programming-in-large versus programming-in-small”,IEEE Trans. on SE, June 197622Origin of SA Conceptsl Programming in the Large (PITL)structur
12、ing large collections of modules to build systemsdeveloping individual modulesl Megaprogramming - A conceptual software development framework that unites a number of ideascomponent-based developmentsoftware reuseproduct-linesl Formal Method = Specification Language (规格语言)+ Formal Reasoningl Transfor
13、mational Systemsreduce programming labor, improve program reliability, and upgrade(使上升) program performance23Formation of SA SA的形成lResearch work carried out in 1990sDewayne Perry and Alexander WolfDavid Garlan and Mary ShawSA stylesDSSAl1995 GoF published “Design Patterns”l1994 Rational Rose release
14、d uml suitsl1995 The Mythical Man-Month reprinted2425Definitions of SAl“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. ”http:/www.sei.cmu.edu/architecture/definitions.htm
15、l26Definitions of SAlLen Bass, Paul Clements, Rick Kazman 定义 The software architecture of a program or computing system is the structure or structures of the system, which comprise (由(由.组成)组成)software elements, the externally visible properties of those elements, and the relationships among them.27D
16、efinitions of SAl 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 colla
17、borations(合作) 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
18、User Guide, Addison-Wesley, 1999).28Definitions of SAlPerry and Wolf, 1992:A set of architectural (or, if you will, design) elements that have a particular form. Perry and Wolf distinguish between processing elements, data elements, and connecting elements, and this taxonomy(分类学) by and large persis
19、ts through most other definitions and approaches.29Definitions of SAl Garlan and Shaw, 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 c
20、ontrol structure; protocols for communication, synchronization, and data access; assignment of functionality to design elements; physical distribution; composition of design elements; scaling and performance; and selection among design alternatives.30Definitions of SAlGarlan and Shaws definition can
21、 be simplified asArchitecture = Components + Connectors + Constrains体系结构 = 组件 + 连接件 + 约束31Evolution of SA (SA的发展)l 1980s Use informal Box-and-line diagrams 使用非正式的框图 Relies on experts peculiar experiences 依靠专家的特定经验 Adopt sporadically architecture styles 不规范、多样地使用体系结构模式和风格l 1990s Realize the value of
22、SA 认识到了体系结构的价值 Require documenting and reviewing architecture 开发过程中要求体系结构文档,并开始体系结构评审 Products for SA design and integration emerge 产品化、商业化的体系结构标准和组件集成框架开始出现 Standardize vocabulary, symbols and tools in SA design 规范化体系结构设计中的词汇、符号和工具 Publish books on SA 软件体系结构的书籍和课程32Current Status (1) 发展现状 1l SA des
23、ign is not understood thoroughly by developers 体系结构设计只是被开发人员含糊地理解l It is difficult to carry out consistency and integrity analysis of SA design 难以对体系结构设计作出一致性或完整性的分析l As it evolves, the system is difficult to comply with original architecture 随着系统的演化,难以保持同系统原有体系结构的一致l Lack effective tools to assist
24、(帮助)in design, analysis and validation on architecture 难以开发有效的工具,辅助人们进行体系结构的设计、性质分析和验证33Current Status (2) 发展现状(2)l DoD emphasizes SA-centered software reuse 在“软件复用的展望和策略” DoD1992报告中,美国国防部强调了“以体系结构为中心的复用”在整个软件生存周期中,对于软件开发和支持的重要性。l List of research projects on SA:STARS, DODCARDS, DODPRISM, DODRAPIDE
25、, Stanford Uni.C2 style and ADL, California Uni.ABLE CMUACME Architecture Interchange Language, CMUVitruvius, CMU34Current Status (3)发展现状(3)l Active research topics in SA 当前软件体系结构研究和实践中,一些最活跃的领域包括:Compilation of various architecture styles 各种体系结构风格的汇编和总结Architecture Description Language 体系结构描述语言Form
展开阅读全文