欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    软件体系结构1第1章软件体系结构概述.ppt

    • 资源ID:5634316       资源大小:13.70MB        全文页数:72页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件体系结构1第1章软件体系结构概述.ppt

    第1章,软件体系结构概述,刘 伟(Sunny Liu)weiliu_,教学内容,引言 软件体系结构的意义 软件体系结构的定义 软件体系结构的发展 软件体系结构的优势,教材,教材,参考资料软件架构,参考资料设计模式,教学内容,引言 软件体系结构的意义 软件体系结构的定义 软件体系结构的发展 软件体系结构的优势,引言,三个小故事,故事一:做“俯卧撑”的大楼 故事二:著名的美国塔科马海峡大桥 故事三:瓦萨战舰,引言,做“俯卧撑”的大楼,引言,做“俯卧撑”的大楼,引言,做“俯卧撑”的大楼根据上海市政府公布的调查结果,房屋倾倒的主要原因是紧贴7号楼北侧在短期内堆土过高,最高处达10米左右。与此同时,紧临大楼南侧的地下车库基坑正在开挖,开挖深度达4.6米。大楼两侧的压力差使土体产生水平位移,过大的水平力超过了桩基的抗侧能力,导致房屋倾倒。(山寨版原因之一:此栋楼房系自杀,原因是房价太高,自愧不值,畏罪自杀。),引言,著名的美国塔科马海峡大桥(Tacoma Narrows Bridge),引言,著名的美国塔科马海峡大桥(Tacoma Narrows Bridge),引言,著名的美国塔科马海峡大桥(Tacoma Narrows Bridge)1940年7月1日通车的塔科马海峡大桥是一座主跨853米的悬索桥,桥梁长度1524米,桥下通航净高59.40米,1940年11月7日上午11点15分(美国太平洋时间),戏剧性地被海风摧毁而坍塌,可怜的小狗Tubby随之一同掉落进普及特海峡,成为这次事故的唯一遇难者,后人称之为“桥梁建筑史上的珍珠港”。对普及特海峡来说,倒塌的大桥也成为了世界上最大的人造礁石之一。1940年11月28日,美国海军的水文办公室报告称,桥梁遗骸的地理坐标是(47.1600N,122.3300W),深度180英尺(55 m)。,引言,著名的美国塔科马海峡大桥(Tacoma Narrows Bridge)从20世纪40年代后期开始,围绕塔科马海峡大桥风毁事故的原因后人进行了大量的分析与试验研究。桥梁界最后给出的正式结论是震撼而有深远借鉴意义的:“塔科马大桥使用了崭新而没有经过验证的桥梁设计结构,使大桥建成后毁于风力造成的风振。”由于桥梁设计(换成IT界的话来讲,就是桥梁的架构)的原因,导致了这样惨痛的工程失败。故事是令人震撼的,背后的教训也是深刻的。虽然后续桥梁工程实施的质量无可挑剔,但正是桥梁设计使用了全新的架构,并且该架构没有经过实践的检验,从而导致最终桥梁崩溃性灾难的发生。人类所有工程领域的进步都是建立在这样一系列失败的基础之上,并逐渐走向成熟和成功。,引言,瓦萨战舰,引言,瓦萨战舰“瓦萨”号战舰是现存最古老的战舰残骸之一,也是世界上第一批风帆炮舰和当时世界最大的炮舰。它在处女航中离岸10多分钟就沉没了,其终点是水下30米,当时船上150人中有数十人丧生。直到300多年后,它才被打捞上岸。1628年8月10日,斯德哥尔摩码头人头攒动,人们都在焦急地等待,翘首企盼着堪称世界最顶级的“瓦萨”号战舰。,引言,瓦萨战舰“瓦萨”号首航仅仅10多分钟就结束了。其建造过程中埋下的很多隐患:安置太多重炮却没有足够的压舱物,导致战舰重心过高;首航前没有经过严格测试等等,都是“瓦萨”号沉没的罪魁。但因为一切都是依照国王的要求建造的,所以,这个轰动一时的沉船事件最后也就不了了之。,引言,瓦萨战舰瓦萨战舰的故事虽然发生在370多年前,但却很好地说明了软件架构的重要性:系统需求来自于企业目标,架构来自于系统需求,系统来自于架构。构架与设计师的经验、当时的技术水平有着密切的联系。瓦萨战舰的设计师Henrik Hybertsson虽然是当时享有盛誉的知名设计师,但是无论从他本人的经验(从未设计过类似规模的战舰)还是当时的技术水平来看,都不具备相应的条件。,引言,看一组数字,引言,建筑行业华盛顿州立大学计算机系某项目延误几个月且超支2050万美元(计算机科学与工程大楼建设项目不是软件项目,Sanchez 1998)西雅图水手队棒球馆1995年估算成本2亿5千万美元,它最后建成于1999年,耗资5亿1700万美元(Withers 1999)波士顿Big Dig公路(美国历史上最昂贵的公路项目)建造项目,最初估算成本为26亿美元,最终成本总计超过150亿美元(Associated Press 2003),引言,软件行业爱尔兰人力资源管理系统(Personnel Payroll and Related Systems,PPARS)最初的预算为880万欧元,在成本超支达到1亿4千万欧元后被取消(The Irish Times 2005)美国联邦调查局(FBI)虚拟案件档案(Virtual Case File,VCF)系统在花费了1亿7千万美元却只交付了1/10的计划功能的情况下被搁置(Arnone 2005),该项目更换了5任信息总监和10位项目经理,合同变更36次(Knorr 2005),教学内容,引言 软件体系结构的意义 软件体系结构的定义 软件体系结构的发展 软件体系结构的优势,软件体系结构的意义,简单VS复杂,隐藏在简单背后的复杂,软件体系结构的意义,曲线一全球IT从业人员数量,软件体系结构的意义,曲线二每年新产生或修改的源代码行数(开发/累积),软件体系结构的意义,曲线三单个程序员年生产效率,软件体系结构的意义,Higher technical complexity-Embedded,real-time,distributed,fault-tolerant-Custom,unprecedented,architecture reengineering-High performance,Lower technical complexity-Mostly 4GL,or component-based-Application reengineering-Interactive performance,Highermanagement complexity-Large scale-Contractual-Many stake holders-“Projects”,Lowermanagement complexity-Small scale-Informal-Single stakeholder-“Products”,An average software project-5-10 people-3-9 month duration-3-5 external interfaces-Some unknowns&risks,软件体系结构的意义,技术的复杂性,Assembly Fortran/COBOL Simula C+JavaNaked HW BIOS OS Middleware Domain-SpecificWaterfall Spiral Iterative AgileProcedural Object Oriented Service Oriented Early tools CLE IDE XDE CDEIndividual Workgroup Organization,Languages:Platforms:Processes:Architecture:Tools:Enablement:,软件体系结构的意义,建造一个狗窝,Can be built by one personRequiresMinimal modelingSimple processSimple tools,软件体系结构的意义,建造一栋别墅,Built most efficiently and timely by a teamRequiresModelingWell-defined processPower tools,软件体系结构的意义,建造摩天大楼,?,软件体系结构的意义,建模,软件体系结构的意义,建模,软件体系结构的意义,建模,软件体系结构的意义,需求实现,Architecture,教学内容,引言 软件体系结构的意义 软件体系结构的定义 软件体系结构的发展 软件体系结构的优势,软件体系结构的定义,定义目前还没有一个标准的,普遍接受的定义“.bridging the gap between requirements and implementations”(David Garlan&Dewane Perry),软件体系结构的定义,定义,CODE,implementation,design,architecture,Architectural decisions are the most fundamental decisions;changing them will have significant ripple effects.,软件体系结构的定义,定义*SEI软件体系结构讨论群定义如下:一个程序/系统构件的结构,它们之间的相互关系,以及在设计和交付的整个过程中的原则和指导方针。一般来说,软件体系结构定义需要考虑到系统中的构件及其它们之间的相互作用。,软件体系结构的定义,定义Kruchten指出,软件体系结构具有四个角度,它们从不同方面对系统进行描述,其中概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。,软件体系结构的定义,定义David Garlan和Dewne Perry于1995年在IEEE软件工程学报上采用如下的定义:软件体系结构是一个程序/系统各构件的结构、它们之间的相互关系以及进行设计的原则和随时间进化的指导方针。,软件体系结构的定义,定义Barry Boehm和他的学生提出,一个软件体系结构包括一个软件和系统构件,互联及约束的集合;一个系统需求说明的集合;一个基本原理用以说明这一构件,互联和约束能够满足系统需求。,软件体系结构的定义,定义1997年,Bass,Ctements和Kazman在实用软件体系结构一书中给出如下的定义:一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。其中,“软件外部的可见特性”是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。,软件体系结构的定义,定义*Mary Shaw和David Garlan认为软件体系结构包括构成系统的设计元素的描述,设计元素的交互,设计元素组合的模式,以及在这些模式中的约束。软件体系结构包括构件(Component)、连接件(Connector)和约束(Constrain)或配置(Configuration)三大要素。,软件体系结构的定义,定义Mary Shaw和David Garlan,Professor of Computer Science at Carnegie Mellon University,Professor of Computer Science at Carnegie Mellon University,软件体系结构的定义,定义,软件体系结构的定义,定义*国内普遍接受的定义:软件体系结构包括构件、连接件和约束,它是可预制和可重构的软件框架结构。构件是可预制和可重用的软件部件,是组成体系结构的基本计算单元或数据存储单元连接件也是可预制和可重用的软件部件,是构件之间的连接单元构件和连接件之间的关系用约束来描述软件体系结构=构件+连接件+约束,软件体系结构的定义,构件构件是指一个计算单元或者数据存储单元,可以是一个处理过程或数据元素。构件是用于实现计算和状态的单元,可以工作在:客户端、服务器端、数据库或层等。构件可简单可复杂:复杂构件描述一个系统,一个体系结构由一些描述系统的复杂构件组成。,软件体系结构的定义,连接件连接件是体系结构的一个元素,它可以用于建模:构件之间的相互作用控制这些相互作用的规则简单相互作用:过程的调用访问共享变量复杂和语义相关的相互作用:客户端-服务器协议数据库访问协议异步事件的多点传送管道数据流,软件体系结构的定义,约束约束描述了体系结构的配置和拓扑要求,配置或拓扑是指构件和连接件组成的一个连接图,它用于描述软件体系结构的构成,确定了体系结构的构件与连接件之间的连接关系:正确的连接性并发和分布性符合设计的启发式和风格规则,教学内容,引言 软件体系结构的意义 软件体系结构的定义 软件体系结构的发展 软件体系结构的优势,软件体系结构的发展,建筑架构的发展基础研究阶段,软件体系结构的发展,软件架构的发展基础研究阶段1985年-1994年软件系统的设计人员习惯使用一些没有统一格式和语义的图形来描述系统的结构。虽然描述的是各自负责的不同类型的系统,但在描述风格和手段方面却有着很多共性,不同系统之间也有着很多设计手段或风格上的共性。一些重要的基本思想和基础概念开始浮出水面:数据/信息隐藏和封装、抽象数据类型、面向对象软件设计与开发等开始尝试一些为了解决特定行业、特定问题所采用的具有明显针对性的设计手段和设计结构。试图识别出通用的体系结构风格和设计方式,尝试找到和应用一些通用的方法来描述不同类型的系统结构,软件体系结构的发展,建筑架构的发展概念确立阶段,软件体系结构的发展,软件架构的发展概念确立阶段1992年-1996年设计模式软件体系结构(架构)基本概念和模型的确立体系结构描述语言(ADL)的发展体系结构表述及分析规则的制定体系结构元素及风格的分类研究体系结构评估方法(如SAAM等)架构视图(4+1视图),软件体系结构的发展,建筑架构的发展探索发展阶段,软件体系结构的发展,软件架构的发展探索发展阶段1995年-2000年1995年IEEE专门针对软件体系结构的特刊1997年,ACME体系结构交互语言,为不同体系结构描述语言之间的交互提供一个统一的平台1998年,软件体系结构工作会议WICSA(Working IEEE/IFIP Conference on Software Architecture)2000年,软件架构的路线图架构模式与设计模式,软件体系结构的发展,软件架构的发展探索发展阶段体系结构评估方法的发展:SAAMATAM经验和成果开始在工业界大规模应用,如Raytheon公司的REAP(Raytheon Enterprise Architecture Process)UML(Unified Modeling Language)的发展RUP(Rational Unified Process)面向对象软件架构框架(Architecture Framework)或架构平台(Architecture Platform):Sun的Java EE和Microsoft的.net Framework特定领域的体系结构基于构件的软件体系结构,软件体系结构的发展,建筑架构的发展普及应用阶段,软件体系结构的发展,软件架构的发展普及应用阶段2000年至今 新架构风格:N层的C/S架构、B/S架构、基于代理的架构、SOA等Web ServiceOMG提出:MDA(Model Driven Architecture)软件架构师(Software Architect):比尔.盖茨(微软首席架构师)越来越多的软件架构国际性会议召开(2005年,SEI举办的一系列会议增加了25个与软件架构相关的会议),越来越多的架构技术人员参与美国大学2000年、中国大学2001年开始,软件体系结构进入本科教育2004年秋天,IEEE和ACM联合提出软件工程大学本科教育指南,软件体系结构占软件设计的内容的20%。,软件体系结构的发展,软件架构的发展普及应用阶段,微软前首席软件架构师雷奥兹,PHP之父、雅虎架构师Rasmus Lerdorf,软件体系结构的发展,软件架构的发展普及应用阶段,教学内容,引言 软件体系结构的意义 软件体系结构的定义 软件体系结构的发展 软件体系结构的优势,软件体系结构的优势,实例,软件体系结构的优势,容易理解它从一个高层设计的抽象层次来表征一个系统简化了我们理解庞大系统的能力,重用重用大的构件重用一些集成构件的框架特定领域的软件体系结构设计模式,软件体系结构的优势,控制成本系统维护者可以更好的理解变更带来的影响,因而可以更加精确的估算变更所需的成本,软件体系结构的优势,可分析性对系统的一致性检查提供高层次的视图研究系统是否与某种体系结构风格相符合对符合特定风格的特定领域系统的体系结构分析分析依赖于其中的构件,软件体系结构的优势,软件体系结构的优势,http:/,参考资料,Thanks!,END,

    注意事项

    本文(软件体系结构1第1章软件体系结构概述.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开