软件架构的原理和实践原则.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
这是精心收集的精品经典资料,值得下载保存阅读!

RUP大讲堂(第六讲) -软件架构的原理和实践原则 北京恒讯时代信息技术有限公司 肖勇 xiaoy@ 2 内容 问题 什么是软件架构 为什么需要体系架构 架构的常见错误理解 架构带来什么好处 架构设计的原则 架构的风格及模式 架构设计的过程 3 问题-瓦萨战舰的故事 17世纪上半叶,北欧新教势力与中欧天主教势力发生了一场“三十年战 争”,作为北欧新教势力的代表,瑞典的军事力量达到鼎盛时期。 1625年,号称“北方飓风”的瑞典国王古斯塔夫斯.阿道弗斯(Gustavs Adolphus)决心建造一艘史无前例的巨型新战舰——瓦萨(Vasa)战舰。瓦 萨战舰确实是一艘令人望而生畏的战舰:舰长70米,载员300人,在三层的甲 板上共装有64门重炮,火力超强。 1628年8月10日,这艘巨大的战舰终于完工。在斯德哥尔摩的王宮前,瓦萨战 舰举行了盛大的下水典礼。礼炮声中,战舰扬帆起航,乘风前进。 在1万多名围观者的目光注视下,忽然,瓦萨号奇怪地摇晃了一下,便向左舷 倾斜。海水从炮孔处涌入船舱,战舰迅速翻入水中,几分钟后,这艘雄伟战 舰的处女航——也是唯一的一次航行结束了。瓦萨战舰在它壮丽的起航时 刻,带着全身飘扬的彩旗,沉没于它诞生的港口。 4 问题-信息系统的“瓦萨”问题 瓦萨的故事已经过去300多年了,在船舶工业领域,作为学科和工 业的基石——“架构”早已形成完整的理论和方法体系。瓦萨的故 事,基本上不会重演了。 但是,在今天的软件系统领域,“瓦萨”问题依然是需要解决的关 键问题。 5 问题-基本假设 体系结构提出之前的系统设计思路 需求(主要是功能需求) 系统设计 系统实现 特点: 技术性需求,特别是功能 需求是产生设计的唯一 (最主要的)的驱动力。 由此 • 非功能需求因素 • 非技术因素 的考虑很少。 基本假设: 设计是系统的技术需求分 析的产物。 6 什么是软件架构-架构一词的来源 建筑行业: 建筑学认为,所有的高楼大厦(复杂建筑),应该是由建筑结构、暖通 系统、强电系统、弱电系统(监控系统、综合布线等)、给排水系统等 构成。 具体体现在建筑图、总平面图、综合管线、结构图、给排水、暖通、强 电、弱电等图纸上。 这种建筑学的思想方案,就是建筑设计的“架构体系”。 J建筑架构师需要把所有的层次结合起来: 使客户理解 在建造的过程中为施工者提供指导 架构相关于所有事情,架构为所有人提供一个共同的远景目标。 架构不包括每个部分的细节 7 内容 问题 什么是软件架构 为什么需要体系架构 架构的常见错误理解 架构带来什么好处 架构设计的原则 架构的风格及模式 架构设计的过程 8 什么是软件架构-如何理解 架构是针对某种特定目标系统的具有体系性的、普遍性的问题而提供的 通用的解决方案。 架构往往是对复杂系统的一种共性的体系抽象。 架构让我们能够正确、合理地理解、设计和构建复杂的系统。 理解1:高楼大厦是由钢筋、水泥和砖块构成。 理解2:信息系统是由数据和代码构成 理解1:高楼大厦是由一个个楼层、一个个房间构成。 理解2:信息系统是由一个个模块、一个个对象和组件构成。 理解1:高楼大厦是由支撑框架、管道系统、强弱电系统、给排水系统……等构成。 理解2:信息系统是由组织机构、业务流程、业务功能、业务信息……等构成。 9 什么是软件架构-定义 期望其与建筑架构起到相同的作用: 将软件的所有层次组合在一起 便于客户理解 为建造过程提供指导 软件架构包含了过于下列方面的重要决定: 软件系统的组成 对所包括的系统及其接口的结构元素的选择,以及元素间的协作行为 结构和行为元素如何组成不断增长的更大的子系统 架构风格:组成元素与接口、相互协作、相互组合 架构元素不仅与结构和行为有关,也和用法、功能、性能、适应 性、重用、可理解性、经济和技术的限制、折中、美学等有关 10 什么是软件架构-RATIONAL的定义 软件架构也关系到 功能性Functionality;可用性Usability;系统弹性Resilience 性能Performance;重用Reuse;可理解性Comprehensibility 经济和技术的约束及相关折中Economic and technology constraints and tradeoffs;美学的考虑Aesthetic concerns 软件架构的描述包含 构成系统的各个组件的描述 组件间的交互(interactions) 组件构成与组件合成的模式(pattern)以及在这些模式上的约束 注:前两部分的描述,对于任意由不同部分构成的系统而言都是需 要的,软件体系结构作为一门学科,是将此提伸到设计层原则的高 度,同时,用通过实践过程总结的模式作为设计的指导。 11 什么是软件体系结构-特征 体系结构 学科:经常面对

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档