ADD构架设计方法ppt课件

上传人:钟*** 文档编号:1009129 上传时间:2019-10-03 格式:PPT 页数:50 大小:2.25MB
返回 下载 相关 举报
ADD构架设计方法ppt课件_第1页
第1页 / 共50页
ADD构架设计方法ppt课件_第2页
第2页 / 共50页
ADD构架设计方法ppt课件_第3页
第3页 / 共50页
点击查看更多>>
资源描述
第九次 设计构架,1,提纲,演变交付生命期模型(EDLC) 设计构架(ADD方法) 形成团队结构及其与构架的关系 创建骨架系统,2,1. 演变交付生命期模型,任何一个好的系统都具有的两个特性: 1.存在一个强大的构架构想 2.应用管理良好的迭代式增量开发周期 演变交付生命期(Evolutionary Delivery Life cycle)模型使开发的软件系统具有上述两个特征,它也是微软公司采用的软件开发策略的基础,3,1.1 演变交付生命期模型说明,演变交付生命期模型的意图是通过获得用户和客户反馈,并在发布最终版本前通过几个版本进行迭代 该模型的目的是支持具有上市时间压力且产品的功能具有不同优先级的组织,因为它能够使该组织将产品的任何一次迭代发布出去,4,1.2 构架在演变交付生命期中的位置,构架作为软件开发过程中的基础,在整个软件的生命期中有其特定的位置 在演变交付生命期模型中,构架位于初始需求和骨架系统之间,参见下图,5,演变交付生命期模型(EDLC),ADD设计,6,1.3 构架驱动因素的概念,功能、质量和商业需求的某个集合塑造了构架。我们把这些塑造需求称为构架驱动因素 为了确定构架驱动因素,需要识别优先级最高的业务目标。我们使用质量属性场景(表示质量属性)和用例(表示功能)来表述这些业务目标,7,1.3.1 构架驱动因素举例,变电站综合自动化仿真系统,8,模拟机柜,9,模拟操作开关,10,主线路图,11,1.3.3 仿真系统的主要功能,一次设备的模拟 二次设备模拟(保护功能) 主电路图模拟(监控功能) 操作人机界面的模拟(控制功能) 不同设备之间的交互关系模拟 不同变电站具有不同的设备和布局,12,1.3.4 仿真系统的构架驱动因素,可修改性,因为要适应于不同的变电站 可测试性,对于所作的输入要能够做出相应的反应 性能,能够在指定的时间内完成响应,13,1.4 开始我们的构架设计,我们在业务目标列表中选择对构架影响最大的需求,通常少于10个,这些需求就构成了构架驱动因素 比如:空中交通管制系统中的可用性和性能 在确定了构架驱动因素之后,就可以开始我们的构架设计了,14,2.设计构架,属性驱动的设计方法(Attribute Driven Design, ADD),该方法可以用于设计一个满足一定质量需求和功能需求的构架 ADD把一组质量属性场景作为输入,并使用对质量属性实现和构架之间的关系的了解,对构架进行设计,15,2.1 ADD设计方法,ADD方法将模块分解过程建立在软件必须满足的质量属性之上,它是一个递归分解过程,其中在每个阶段都选择适当的战术和构架模式来满足一组质量属性场景,然后对功能进行分配,以实例化由该模式所提供的模型类型,16,2.1.1 ADD设计方法的过程,ADD设计原则 把质量属性的限制加到模块分解过程中去,17,2.1.2 ADD设计的结果,在了解了构架驱动因素之后,我们开始进行ADD设计 ADD设计的结果是构架的模块分解视图和其他视图的最初几个层次 ADD并不得到视图的所有细节,当我们做出更为详细的设计决策之后就能够得到最后的构架了,18,2.2 ADD设计的样例,我们使用ADD方法为家庭信息系统中的车库门开关器设计一个产品线构架,19,2.3 ADD方法的步骤,ADD构架设计方法的执行步骤,选择要分解的系统,对分解模块进行求精,对需要进一步分解的 每个模块重复上述两个步骤,20,2.3.1 对分解的模块进行求精,根据下面的步骤对模块进行求精 从具体的质量场景和功能需求集合中选择构架驱动因素 选择满足构架驱动因素的构架模式,根据用来实现驱动因素的战术创建模式,21,2.3.1 对分解的模块进行求精,实例化模块并根据用例分配功能,使用多个视图进行表示 定义子模块的接口。该分解提供了模块和对模块交互类型的限制 验证用例和质量属性场景并对其进行求精,使它们成为子模块的限制,22,2.3.2 选择构架驱动因素,车库门系统的构架驱动因素: 用于开、关门的设备和控制装置不同,应该可以直接从产品线构架中推导出一组特定控制装置的产品构架 不同产品中使用的处理器可能不同,应该可以直接从产品线构架中推导出每个特定处理器的产品构架,23,2.3.2 选择构架驱动因素,如果车库门在下降过程中检测到一个障碍物,它必须在0.1秒内停止 应该可以在家庭信息系统内使用特定于产品的诊断协议来诊断和管理车库门开关器,应该可以直接产生一个反映该协议的构架,24,2.3.3 选择构架模式,这一步的目标是建立一个由模块类型组成的总体构架模式。该模式通过组合选定的战术满足了构架驱动因素 两个因素支配了战术的选择: 构架驱动因素本身 实现战术的模式对其它质量属性产生的副作用,也就是要权衡选择的战术,25,2.3.3 选择构架模式,根据该系统的构架驱动因素我们知道,由于该系统要实现一个产品线,因此可修改性是它需要支持的一个重要质量属性;另外,在遇到障碍物的时候车库门需要在0.1秒内停下来,因此性能也是它要满足的一个质量属性,26,2.3.3 选择构架模式,针对可修改性,我们采用的战术就是“局部化变更”,具体战术为:语义一致性和信息隐藏。我们使用单独的模块来处理用户接口、通讯和传感器,这些模块被称为虚拟机 针对性能,我们采用提高计算效率和精心调度的战术来保证关键性能计算在规定的时间内完成,27,2.3.3 选择构架模式,28,2.3.4 实例化模块和分配功能,质量属性构架驱动因素通过战术的使用确定模块的分解结构 我们将前面的构架模式实例化,比如,我们把管理障碍物检测和停止车库门升降的责任分配给关键性能部分,而将诊断能力分配给非关键性能部分;虚拟机的责任则标识为通信和传感器两部分,29,2.3.4.1车库门开关器的第一级分解,30,2.3.4.2 表示构架的视图,并发视图,这是组件-连接器视图中的一种。用于对系统的动态执行过程建模。通过该视图我们可以讨论并发和同步的几个问题: 两个用户同时执行类似的功能,这有助于识别资源争用或数据完整性问题。比如车库门系统,一个人在远程关门,另一个人利用控制器进行关门操作,31,2.3.4.2 表示构架的视图,一个用户同时执行多个功能,这有助于揭示数据交换和活动控制问题 启动系统,这为系统中永久运行的活动及如何初始化提供了一个良好的概念 关闭系统,这有助于揭示清除问题,32,2.3.4.2 表示构架的视图,并发视图,33,2.3.4.2 表示构架的视图,部署视图:如果系统中使用了多个处理器或硬件系统,则需要考虑部署视图 部署视图导致了并发视图的虚拟线程,并发视图又分解为特定处理其中的虚拟线程和在处理器间传输的消息 部署视图有助于确定是否需要某些模块的多个实例,34,2.3.4.2 表示构架的视图,35,2.3.5 定义子模块的接口,模块的接口展示了所提供的服务和所要求的属性。他对其它接口可以使用的服务和可以依赖的接口编写文档,来揭示子模块的交互假定 模块视图的编档: 1.信息的生产者/消费者 2.要求模块提供服务并使用他们的交互模式,36,2.3.5 定义子模块的接口,并发视图的编档: 线程间的交互 组件活动的信息 组件同步、序列化 部署视图的编档: 硬件要求 通信需求,37,2.3.6 验证并求精用例,功能需求,验证分解是否正确 每个子模块都有一部分从分析功能需求中分解得出的责任,车库门系统的模块 用户接口,识别用户请求 升/降门模块 障碍物检测 通讯虚拟机,管理与家庭信息系统的通信 传感器/激励器虚拟机;诊断;调度等,38,2.3.6.1 验证并求精质量属性场景,对质量属性场景进行求精,然后分配给子模块, 可以通过分解完全满足质量属性场景 通过对子模块的有限制的分解来满足质量属性场景 分解是中性的 质量属性场景可能不满意当前的分解,此时需要再分解,39,2.4 形成团队结构,在构架的模块分解结构的最初几个层次稳定后,就可以把这些模块分配给开发小组,这就是工作分配视图 构架对开发组织结构的形成产生重要影响。开发小组根据模块的划分构成。开发小组的结构和对小组间交流的控制就是影响大型项目开发成功与否的重要因素,40,2.4 形成团队结构,分配任务的原则 1.开发小组内部是高内聚,外部是松耦合 2.根据开发小组的特长进行分配 3.尽量与模块的分解原则一致,41,2.5 构架和开发团队举例,VBL-100虚拟机能实验室系统的构架和开发组织,42,2.5.1 VBL系统的基本画面,VBL系统的仿真界面,43,2.5.1 VBL系统的基本画面,VBL系统的波形模拟界面,44,2.5.2 VBL系统的基本结构,VBL-100的模块分解视图,VBL系统,基础知识,实验模拟,其它,原理描述,交互操作,波形模拟,数据访问,45,2.5.3 VBL-100的工作组织,开发组织工作,VBL系统,知识收集提供小组,动画制作小组,数据库描述小组,波形模拟算法小组,46,2.5.4 遇到的问题,由于缺乏协调,所以出现很多问题 大家都重视各自部分的工作,而忽略了协调,造成各部分工作的组织困难 出现的问题难于解决,比如出现asp远程访问得不到结果的问题,出现内存泄漏的问题等 局部进度可以保证,总体进度无法保证,47,2.6 创建骨架系统,首先实现处理构架组建的执行和交互的那部分软件 然后把提供功能的那些元素添加到系统中 随着过程的继续,系统的增量越来越大,直到软件开发完毕,48,作业,这里我们要开发一个网络考试系统 要求:首先分析其应该满足的质量属性,然后选择相应的战术,并根据ADD方法设计它的构架,49,课堂讨论,如何在设计一个软件的初始就考虑到软件的质量属性,有什么好的方法,50,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!