软件工程 第七版 Chapter_08体系结构设计课件

上传人:我*** 文档编号:139497441 上传时间:2020-07-22 格式:PPT 页数:36 大小:401KB
返回 下载 相关 举报
软件工程 第七版 Chapter_08体系结构设计课件_第1页
第1页 / 共36页
软件工程 第七版 Chapter_08体系结构设计课件_第2页
第2页 / 共36页
软件工程 第七版 Chapter_08体系结构设计课件_第3页
第3页 / 共36页
软件工程 第七版 Chapter_08体系结构设计课件_第4页
第4页 / 共36页
软件工程 第七版 Chapter_08体系结构设计课件_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《软件工程 第七版 Chapter_08体系结构设计课件》由会员分享,可在线阅读,更多相关《软件工程 第七版 Chapter_08体系结构设计课件(36页珍藏版)》请在金锄头文库上搜索。

1、1,第8章 体系结构设计,为什么要架构体系结构? 体系结构并非可运行的软件,确切地说,它是一种表达,使能够: (1) 对设计在满足既定需求方面的有效性进行分析; (2) 在设计变更相对容易的阶段,考虑体系结构可能的选择方案; (3) 降低与软件构造相关的风险。,2,体系结构为什么重要?,软件体系结构的表示有助于对计算机系统开发感兴趣的各方(利益相关者)开展交流。 体系结构突出了早期的设计决策,这些决策对随后所有的软件工程工作有深远影响,同时对系统作为一个可运行实体的最后成功有重要作用。 体系结构“构建了一个相对小的、容易理解的模型,该模型描述了系统如何构成以及其构件如何一起工作”BAS03。,

2、3,体系结构描述,IEEE 计算机学会提出了IEEE-Std-1471-2000,密集型软件系统体系结构描述的推荐实践做法:IEE00 建立软件体系结构设计过程中使用的概念性框架和词汇表, 提供表示体系结构描述的详细准则, 鼓励良好的体系结构设计实践。 IEEE 标准将体系结构描述(AD) 定义为“记录体系结构的产品集合”。 该描述本身使用多视图来表达,这里的每个视图是“从一组利益相关者关注点的角度观察整个系统的一种表示”。,4,体系结构类型,类型隐含了整个软件领域中的一个特定类型。 在每种类别中,会有很多的子类别。 例如,在建筑物类型中,大致会有以下几种一般风格:房子、单元楼、公寓、办公楼、

3、工厂厂房、仓库等。 在每一种一般风格中,也会运用更多的具体风格。每种风格有一个结构,可以用一组可预测模式进行描述。,5,几种体系结构类型,人工智能,模拟或扩大人类认知、运动或其他有机体过程的系统。 商业和非盈利的,工商企业营运必要的系统。 通信,提供用于数据传输、管理、用户连接或者展示的基础设施的系统。 内容创作,用于创建或管理文字或多媒体人造物品的系统 设备,与物理世界交互的系统,可以为个人提供某种服务 娱乐和运动,管理公众事件或者提供大众娱乐体验的系统 金融,为转账和理财及其他安全事务提供基础设施的系统 游戏,为个人或者群体提供娱乐体验的系统 行政管理,支持地方或者其他政治实体的管理和运作

4、方式的系统 工业,模拟或者控制物理过程的系统。 法律,支持法律的系统。 医疗,诊断或治疗,或者有助于医学研究的系统。 军事,用于商议、通信等方面的系统 操作系统,在硬件之上提供基本软件服务的系统 平台,在操作系统之上提供高级服务的系统 科学,用于科学研究和应用的系统 工具,用来开发其他系统的系统 运输,控制水上、地面、空中等交通工具的系统 实用程序,与其他软件交互作用的系统,6,体系结构风格,每种风格描述一种系统类别,包括: (1)完成系统需要的某种功能的一组构件(例如,数据库、计算模块); (2)能使构件间实现“通信、合作和协调”的一组连接件; (3)定义构件如何集成成为系统的约束; (4)

5、语义模型,能使设计者通过分析系统组成的已知属性来理解系统的整体性质 。,7,体系结构模式和风格的区别,(1)模式涉及的范围要小一些,更多集中在体系结构的某一个方面而不是整体; (2)模式在体系结构上施加规则,描述软件如何在基础设施层次上处理某些功能性方面的问题; (3)体系结构模式倾向于在体系结构环境中处理特定的行为问题;,8,体系结构风格,以数据为中心的体系结构 数据流体系结构 调用和返回体系结构 面向对象体系结构 层次体结构,每种风格描述一种系统类别,包括:(1)完成系统需要的某种功能的一组构件(例如,数据库、计算模块);(2)能使构件间实现“通信、合作和协调”的一组连接件;(3)定义构件

6、如何集成成为系统的约束;(4)语义模型,能使设计者通过分析系统组成的已知属性来理解系统的整体性质 。,9,典型的体系结构,功能结构,构件表示功能或处理实体,连接件表示接口; 实现结构,构件可以是包、类、对象、过程、函数、方法。连接件包括传递数据和控制、共享数据等; 并发结构,构件表示“并发单元”,连接件包括同步于、优先级高于等; 物理结构,类似部署模型,构件是物理硬件,软件驻留在硬件上,连接件表示硬件之间的接口; 开发结构,定义软件工程过程中其他的信息源,连接件表示工作产品之间的关系。,10,以数据为中心的体系结构,客户软件,客户软件,客户软件,客户软件,客户软件,客户软件,客户软件,客户软件

7、,数据存储 (中心存储库或黑板),11,数据流体系结构,管道,过滤器,过滤器,过滤器,过滤器,过滤器,过滤器,过滤器,过滤器,过滤器,过滤器,管道和过滤器,过滤器,过滤器,过滤器,过滤器,批处理序列,12,调用和返回体系结构,深度,扇出,扇入,宽度,13,层次体系结构,构件,用户界面层,应用层,实用工具层,核心层,14,体系结构模式,并发性很多应用程序必须以模拟并行的方式来处理多任务 操作系统进程管理模式 任务调度模式 持久性如果数据在创建它的进程运行结束之后仍然要存在,则数据时持久的。两种常见模式: 数据管理系统模式将DBNS的存储功能和检索功能应用到应用系统的体系结构中 应用级持久性模式在

8、应用系统体系结构的内部构造持久性特征 分布性关系到在分布式环境中系统或系统内部件相互通信的方式 代理的作用是在客户端构件和服务器端构件间担当“中间人”。,15,体系结构设计,待开发的软件必须放在所处的环境中 设计应该定义与软件交互的外部实体(其他系统、设备、人)和交互的特性。 确定体系结构的原型集 原型(类似于类)是表示系统行为元素的一种抽象 设计人员通过定义和细化实施每个原型的软件结构来指定系统的结构,16,原型,控制器,通信,结点,探测器,指示器,SafHome安全功能原型的UML关系,摘自Bos00,17,构件结构,SafeHome执行者,功能 选择,外部通信管理,图形用户界面,Inte

9、rnet接口,安全,监视,住宅管理,警报处理器,探测器管理,控制面板处理,18,细化构件结构,SafeHome 执行者,外部通信管理,安全,警报处理,探测器管理,控制面板处理,Internet接口,图形用户界面,键盘处理,CP(控制面版)显示功能,传感器,警报,电话通信,调度器,19,分析体系结构设计,1. 收集场景。开发一组用例,从用户的角度描述系统。 2. 引出需求、约束和环境描述。 3. 描述那些已经被选择用于解决场景和需求的体系结构风格/模式。 模块视图:分析构件的工作任务 过程视图:分析系统性能 数据流视图:分析体系结构满足功能需求的程度 4. 通过单独地考虑每个属性来评估质量属性。

10、质量属性包括:可靠性、性能、安全性、灵活性、可维护性、可测试性、可移植性、可复用性和互操作性。 5. 针对特定的体系结构风格,确定质量属性对各种体系结构属性的敏感性。可通过对体系结构进行小的变更,确定某属性对变更的敏感性。 6. 使用第5步进行的敏感性分析鉴定候选体系结构(在第3步开发的)。,20,体系结构复杂性,通过考虑体系结构中构件间的依赖关系,对提议的体系结构的整个复杂性进行评估 Zha98 共享依赖表示使用相同资源的消费者之间或相同消费者生产的生产者之间的依赖关系。 流依赖表示资源的生产者和消费者间的依赖关系。 约束依赖表示在一组活动间相互控制流上的约束。 提到的共享依赖和流依赖类似于

11、之前提到的耦合的概念。耦合可以应用在体系结构级和构建级的重要设计概念。,21,ADL(体系结构描述语言),体系结构描述(ADL) 提供了一种描述软件体系结构的语义和语法。 提供设计者如下能力: 分解体系结构构件 将单独构件组合成大的体系结构块 描述构件之间的接口(连接机制),22,一种体系结构设计方法,客户需求,体系结构设计,“四个卧室、三个浴室、大量的玻璃”,four bedrooms, three baths,lots of glass .,customer requirements,architectural design,23,导出程序结构,程序结构,Program Architect

12、ure,24,分割体系结构,按要求“水平”和“垂直”分割,25,水平分块,为每个主要功能定义单独的模块层次分支 使用控制模块协调各功能之间的通信,功能1,功能3,功能2,function 1,function 3,function 2,26,垂直分块:分解,设计这样的决策,使决策者和工作者是分层的 决策模块应该驻留在该体系结构的顶部,工作者,决策者,workers,decision-makers,27,为什么要分割体系结构?,导致软件更容易测试 导致软件更容易维护 导致较少的负作用传播 导致软件更容易扩展,28,结构设计,目标:获得一个被分割的程序框架 方法: 将DFD映射到程序结构 PSPE

13、C 和 STD用来表明每个模块的内容 符号:结构图,29,映射的基本步骤,步骤1:评审基本系统模型 步骤2:评审和精化软件的数据流图 步骤3:确定DFD是否含有变换流或者事务流的特征 步骤4:通过确定输入和输出流的边界,分离出变换中心 步骤5:完成“第一级分解”,分成三大部分,顶层决策制定;底层完成大多数输入、计算和输出工作;中间层完成一部分控制和适度的工作 步骤6:完成“第二级分解”,从边界开始,沿输入路径和输出路径向外,将变换依次映射到软件结构的从属层。 步骤7:使用提高软件质量的设计启发方法,精化第一次迭代得到的体系结构。,30,流特征,变换流,事物流,SEPA的这个版本不包括事物映射。

14、有关详细讨论请参阅SEPA网站,Transform flow,Transaction,flow,This edition of SEPA does not cover transaction mapping. For a detailed discussion see the SEPA website,31,一般映射方法,分离出输入和输出流的边界;对于事物映射,分离出事物中心,从边界外工作,映射DFD变换为相应的模块,根据需要添加控制模块,使用有效的模块化设计理念,精化得到的程序结构,32,一般映射方法,通过确定输入和输出流的边界,分离出变换中心 完成 “第一级分解”。 使用这个映射导出的程序体系结构导致了自顶向下的控制分布。 分解的作用是得到一个程序结构,其中顶层构件完成决策制定;底层构架完成大多数输入、计算和输出工作。 中间层构件完成一部分控制和适度的任务。 完成“第二级分解”。,33,变换映射,数据流模型,变换映射,34,分解,提高决策的方向,典型“决策者”模型,典型“工作者”模型,35,第一级分解,main,program,controller,input,controller,processing,controller,output,controller,主程序控制器,输入控制器,处理控制器,输出控制器,36,第二级映射,从流边界外映射,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号