- 1、本文档共871页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 软件生命周期与软件架构介绍 2 软件架构风格 75 UML与面向对象程序设计 145 UML建模与分析 248 技术架构视图-设计原则与模式 487 软件系统坏死的症状 558 liskov替换原则(LSP) 560 接口隔离原则(ISP) 591 依赖倒置原则(DIP) 601 设计模式 658 策略(Strategy)模式 715 桥接(Bridge)模式 769 命令(command)模式 782 其它设计模式 816 软件架构辨析 市场体系结构 软件架构 MS e-Gov Architecture Framework MS Application Reference Architecture 市场体系结构的特点 面向客户而非面向软件开发者。 对于商业产品的特色宣传非常有效,但对开发者远远不够。 市场体系结构与开发流程脱节。 软件构架的特点 好的软件构架满足它们的需求,并富有弹性和基于构件。 一个富有弹性的软件构架能够: 改进可维护性和可扩展性 实现经济性显著的可重用度 将开发团队成员间的工作清楚地分割开 封装对硬件和系统的依赖 为什么需要软件构架 最终开发出的目标系统总是由多个组成部分所构成,这种结构如果没有预先定义,很难保证系统的构建过程能自发创建出一个一致而满足需求的交付。 当前的软件规模已大到需要采用团队开发的模式,多个开发人员的分工协作,必然依赖于一种对开发内容的合适划分,以减少相互干扰、缩短工期的关键路径,从而提高开发效率、加快项目进度--软件构架无疑是其中最关键的一类划分,它将被用来计划、管理与执行系统开发的各项活动。 模块/构件化 为什么需要软件构架 目标系统总是要面临各种变数,项目组期望系统在发生变更、部署到新环境中时,仍然保持既有的稳定、可靠和性能——目标系统应具备一种健壮性。 系统的构建要经历一个不断增添新功能、加入新行为的过程,项目组期望做得比较容易、开销较低,且在此过程中不存在重大的风险——目标系统应具备一种可扩展。 这些质量属性归根结底要落实到软件构架之上。 增量式开发的前提 迭代生命周期模型开始逐渐替代传统的瀑布模型,然而要真正实现其增量式开发的目标,却需要满足若干关键的前提条件:向已有交付添加新功能非常容易(可扩展);后续的增量不会破坏已有的交付,使得迭代退化为返工(健壮)。 这些条件最终归结为在大批量的增量开发之前,要构建一个构架基线,它同时提供可扩展性与健壮性。 设计良好的对象可以方便地添加新的行为,而封装性为其对变化提供免疫力,基于对象的构架在微观上便具有更强的可扩展性与健壮性。 分层(分包、子系统)架构在大粒度上隔离关注面,同样从宏观上增强了可扩展性与健壮性。 健壮性与可扩展性 要实现健壮性与可扩展性等质量特性,主要有两个途径——尽可能降低系统的冗余程度,同时隔离不同的关注面(实质是高内聚、低耦合,例如:将稳定部分与可变部分隔离,将用户交互与业务、数据等功能域分离,将功能和非功能的实施代码分离)。 隔离关注面,使得扩展或变更时,对系统的修改局部化,对其它部分造成的影响被限制在较小范围内,避免出现那种牵一发而动全身的情形;高内聚的结构也利于聚焦于各部分的设计适应性上。 低冗余,使得即使要变更,变更所触及的部分也尽可能地少;系统被改动的地方越少当然就越健壮,同时开销也小、实施也更容易。 如何理解软件构架 软件系统进行分解的顶层结构,包括其组成元素,元素之间、元素与外部的关系关注构架的静态方面,即系统大粒度(宏观)的总体结构(例如分层、子系统的划分等) 系统中解决各类关键的重复问题的通用解决方案关注构架的动态方面,侧重于系统内部关键行为的共同特征(已经包含了微观细节,例如构架机制) 系统设计中影响深远(构架敏感)的各项最重要决定:这些决定严重影响系统的实施,一旦作出并被贯彻,其变更的代价将及其高昂(例如构架的样式、复用策略、开发中将贯彻的设计原则等) 软件构架的意义 软件构架的静态方面,其着眼点在于———保持目标系统的最终交付在结构上的一致性;为分工协作提供划分依据,并避免结构上的重叠和冗余。 软件构架的动态方面,其着眼点在于——保持目标系统在关键行为实现上的一致性,突出系统的既有风格;同时通过为各类关键重复问题提供通用解决方案来提高复用度,避免实施代码的冗余。 上述两个方面,共同提供了构造目标系统过程中的健壮性与可扩展性——大量的功能实现将在这个构架基础上被不断添加,而同时系统整体上仍然保持既有的一致和完整。 架构的分层 业务应用层 (Business Application) 由应用开发者开发 应用框架层 (Application
您可能关注的文档
- 百年乾合企业集团广州市康正经济技术发展有限公司招聘信息.doc
- 百胜员工自助系统2018cr-所得税信息模块versionlogversiondate.docx
- 百行征信有限公司2019年校园招聘职位.docx
- 皖南医学院离任经济责任审计审计资料清单.doc
- 益生元与航天员保健prebiotics&astronauthealthcare中国航天员中心.pptx
- 益阳医学高等专科学校实习生管理办法.doc
- 盐城市公安消防支队消防宣传进机关专题讲座郴州市苏仙区.ppt
- 盘县投资促进局-深圳中金产业.pptx
- 盘县投资促进局-深圳中金产业年产3000万只智能传感器生产基地项目目录contents.pptx
- 盘县投资促进局-深圳中金产业粉煤灰、脱硫石膏制陶粒项目目录contents项目概况.pptx
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)