软件体系结构与设计模式课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件体系结构与设计模式课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 设计 模式 课件
- 资源描述:
-
1、第8章 软件体系结构与设计模式8.1软件体系结构的概念 8.1.1什么是软件体系结构 软件体系结构是系统的一个或多个结构,它包括:1)软件的组成元素(组件);2)这些(组件)元素的外部可见特性;3)这些元素(组件)之间的相互关系。软件体系结构不仅指定了系统的组织结构和拓扑结构,也显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。8.1软件体系结构的概念 软件体系结构描述的对象是直接构成系统的抽象组件。它由功能各异、相互作用的部件按照层次构成,包含了系统的基础构成单元、单元之间的相互作用关系、在构成系统时它们的合成方法以及对合成约束的描述。具体来说,部件包括客户端、服务
2、器、数据库、程序包、过程、子程序等一切软件的组成部分。相互作用的关系可以是过程调用、消息传递、共享内存变量、客户端/服务器的访问协议、数据库的访问协议等。8.1软件体系结构的概念 8.1.2软件体系结构建模根据建模的侧重点的不同,可以将软件体系结构的模型分为结构模型、框架模型、动态模型、过程模型和功能模型5种。1)结构模型这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质。研究结构模型的核心是体系结构描述语言。2)框架模型框架模型与结构模型类似,但它不太侧重描述结构的细
3、节而更侧重于整体的结构。框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。8.1软件体系结构的概念 3)动态模型动态模型是对结构模型或框架模型的补充,研究系统的大颗粒的行为性质。例如,描述系统的重新配置或演化。动态可能指系统总体结构的配置、建立或拆除通信通道或计算的过程。这类系统常是激励型的。4)过程模型过程模型研究构造系统的步骤和过程,因此结构是遵循某些过程脚本的结果。5)功能模型该模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。它可以看作是一种特殊的框架模型。5.1 生产函数与软件生产函数l生产是指厂商对各种生产要素加以组合制成产品的行为。l生产要素就是生产过
4、程中所使用的各种资源,主要包括劳动、资本、土地和企业家才能。5.1 生产函数与软件生产函数l劳动是指劳动者所提供的各种服务l资本是指生产过程中使用的资金l土地是指在生产过程中所使用的自然资源l企业家才能是指企业家对整个生产过程的管理和组织工作 企业家主要根据市场预测,合理地配置各生产要素来从事生产经营活动,以追求企业的利润最大化。5.1.1 生产函数 生产函数是指一定时期内生产要素的数量与某种组合与其所能产出的最大产量之间存在的函数关系。生产函数的表达式如式5.1所示。式5.1中的y表示总产出量,L,K,N,E分别表示投入到生产中的劳动、资本、土地、企业家才能的数量。1.生产函数的定义5.1.
5、1 生产函数 考虑到土地的固定性,变化较小,企业家才能难以估算故生产函数通常被简化为式5.2。式5.2表明,在已知劳动和资本数量的组合情况时,可以推算出产品的最大产量。1.生产函数的定义5.1.1 生产函数2.生产函数的特征资本与劳动力的边际产出总是为正值,劳动力(或者资本)投入量不变的情况下,资本(或者劳动力)的增加将引起产出的增加边际产量递减特性。当其他生产要素固定不变时,随着某一要素投入量的增加,其边际产量将逐渐减少生产函数具有非负性,总产出必须是正值,且总产量是生产要素组合的结果,单一要素的投入是不能获得产出的5.1.1 生产函数3.规模报酬规模报酬又称为规模经济,主要研究所有要素都同
6、比例增加时,产量时如何发生变化的。通常在规模较小时,增加投入可以促进规模报酬递增,而当规模达到一定程度时,则会出现规模报酬递减的情况。5.1.1 生产函数3.规模报酬5.1.1 生产函数分别对公示5.3中的L与K求偏导数则有:式5.4中,表示劳动力对产出的弹性系数,表示在其他条件不变的情况下,劳动力增加1%会使产出发生变化的百分比;表示资本对产出的弹性系数,表示在其他条件不变的情况下,资本增加1%会使产出发生变化的百分比。3.规模报酬5.1.1 生产函数5.1.2 软件生产函数5.1.2 软件生产函数5.1.2 软件生产函数 软件生产率是指软件开发的效率,是衡量软件开发水平的一个重要因素。影响
7、软件生产率的因素众多,主要有技术因素、管理因素以及文化因素。5.1.2 软件生产函数强调对企业研发人员个人职业能力的综合评估。为了提升个人对软件企业的贡献,有必要从专业、技能、经验、学历以及年龄等多方面进行考量。软件技术领域最好根据研发人员所擅长的技术能力来划分不同的专业技术组。培养研发人员对新技术的学习掌握,并创新应用。提高软件生产率的主要举措有:技术方面5.1.2 软件生产函数建立良好的人才激励机制,通过物质、精神奖励以及职务晋升制度提高研发人员的工作热情。建立科学、合理的研发人员梯队制度,明确划分管理与技术领域人才。依据软件企业所处的市场环境及企业自身发展的要求适时变革管理。用以应对不断
8、变化的IT市场,进而增强软件企业的核心竞争力。提高软件生产率的主要举措有:管理方面5.1.2 软件生产函数建立良好的企业学习氛围。通过研发人员个人知识的学习、交流及其共享来形成群体效应,提升整个企业的知识资源。注重软件工程项目团队建设,加强团队合作精神,提高团队沟通能力。提高软件生产率的主要举措有:文化方面8.1软件体系结构的概念 软件体系结构建模可分为4个层次。1)软件体系结构核心元模型:软件体系结构模型由哪些元素组成,这些组成元素之间按照何种原则组织;2)软件体系结构模型的多视图表示:从不同的视角描述特定系统的体系结构,从而得到多个视图,并将这些视图组织起来以描述整体的软件体系结构模型;3
9、)软件体系结构描述语言:在软件体系结构基本概念的基础上,选取适当的形式化或半形式化的方法来描述一个特定的体系结构;4)软件体系结构文档化:记录和整理上述3个层次的描述内容。8.1软件体系结构的概念 8.1.3软件体系结构的分层模型 计算机硬件层是软件实现的物质基础,比如存储器、时钟、高速缓存等。软件硬件层实现了软件与硬件的分离,既是对软件实现的最底层的描述,也是对硬件实现的操作和控制的描述。基础控制描述层、资源和管理调度层是体系结构构件和连接的内在构成模型。系统结构模式层是软件的上层体系结构,它是最高层次的软件结构概念,其涉及的概念通常有客户端/服务器、解释器、编译器、框架等。应用层是建立在软
10、件概念之上的领域问题描述,它是基于纯粹的应用领域的。8.1软件体系结构的概念 8.1.4软件体系结构的作用 设计软件的体系结构在设计阶段非常重要。软件体系结构就好比软件系统的骨骼,如果骨骼确定了,那么软件系统的框架就确定了。软件体系结构在软件开发过程中的作用如下。1)规范软件开发的基本架构2)便于开发人员与用户的沟通3)模块化、层次化设计,有利于减少返工,提高效率4)便于系统开发前、后期的筹备与服务8.1软件体系结构的概念 两种常用的软件体系结构如图所示。树形结构网状结构8.2 典型的软件体系结构风格 所谓软件体系结构风格,是描述某一特定应用领域中系统组织方式的惯用模式。软件体系结构风格包含4
11、个关键要素:1)提供一个词汇表;2)定义一套配置规则;3)定义一套语义解释规则;4)定义对基于这种风格的系统进行的分析。根据以上4要素框架,Garlan和Shaw对通用软件体系结构风格的进行分类,每种体系结构风格有各自的应用领域和优缺点。8.2 典型的软件体系结构风格 8.2.1数据流风格数据到达即被激活处理工作,无数据时不工作。一般来说,数据的流向是有序的。在纯数据流系统中,处理之间除了数据交换,没有任何其他的交互。主要研究近似线性的数据流,或在限度内的循环数据流。其中包括批处理序列、管道/过滤器。8.2 典型的软件体系结构风格 8.2.2调用返回风格 各个构件通过调用其他构件和获得返回参数
12、来进行交互,配合完成功能。包括主程序/子程序、面向对象风格、层次结构。8.2 典型的软件体系结构风格 8.2.3 独立构件风格这种风格的主要特点是:事件的触发者并不知道哪些构件会被这些事件影响,相互保持独立,这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用;各个构件之间彼此无连接关系,各自独立存在,通过对事件的发布和注册实现关联,其中包括进程通讯、事件系统。8.2 典型的软件体系结构风格 8.2.4 虚拟机风格它创建了一种虚拟的环境,将用户与底层平台隔离开来,或者将高层抽象和底层实现隔离开来。其中包括解释器、基于规则的系统。8.2 典型的软件体系结构风格 8.2.5仓库风格仓库是存储和维
13、护数据的中心场所。在仓库风格中存在两类构件,表示当前数据的状态的中心数据结构和一组对中心数据进行操作的独立构件。其中包括数据库系统、超文本系统、黑板系统。8.3 软件质量属性 软件质量属性是指软件系统在其生存周期过程中所表现出的各种特征。质量属性既和软件体系结构有关,也和具体实现有关。但软件设计是保证软件质量的重要阶段,而软件体系结构是获取许多质量属性的基础,因此在软件体系结构设计时就应考虑到这些质量属性,并在软件体系结构层次上进行评估。质量属性可以分为3类:系统属性、商业属性和构架属性。8.3 软件质量属性 系统属性按运行时是否可见又分为:运行时可观察到的:包括性能、安全性、可用性、易用性;
14、运行时不可观察的:包括可修改性、可移植性、可测试性、可集成性、可重用性。商业属性包括投放市场时间、成本和预计的系统生命周期长短。构架属性包括软件体系结构本身的概念完整性、正确性和可构建性。我们在软件体系结构设计时除了考虑到系统要实现的功能外,还应充分考虑到系统所要求的各类质量属性。8.4 分布式系统结构 8.4.1多处理器体系结构多处理器系统是分布式系统的最简单模型,系统同时运行许多进程,这些进程分布在不同的处理器上,可以极大地提高系统的性能。由于大型实时系统对响应时间要求很高,多采用这种模型。大型实时系统需要实时采集信息,并利用采集到的信息进行决策,然后发送信号给执行机构。虽然,信息采集、决
展开阅读全文