ADD构架设计方法ppt课件

上传人:hs****ma 文档编号:567609376 上传时间:2024-07-21 格式:PPT 页数:50 大小:2.25MB
返回 下载 相关 举报
ADD构架设计方法ppt课件_第1页
第1页 / 共50页
ADD构架设计方法ppt课件_第2页
第2页 / 共50页
ADD构架设计方法ppt课件_第3页
第3页 / 共50页
ADD构架设计方法ppt课件_第4页
第4页 / 共50页
ADD构架设计方法ppt课件_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《ADD构架设计方法ppt课件》由会员分享,可在线阅读,更多相关《ADD构架设计方法ppt课件(50页珍藏版)》请在金锄头文库上搜索。

1、第九次第九次 设计构架设计构架1提纲提纲演变交付生命期模型演变交付生命期模型(EDLC)设计构架(设计构架(ADD方法)方法)形成团队结构及其与构架的关系形成团队结构及其与构架的关系创建骨架系统创建骨架系统21. 演变交付生命期模型演变交付生命期模型任何一个好的系统都具有的两个特性:任何一个好的系统都具有的两个特性:1.存在一个强大的构架构想存在一个强大的构架构想2.应用管理良好的应用管理良好的迭代式增量迭代式增量开发周期开发周期演变交付生命期演变交付生命期(Evolutionary Delivery Life cycle)模型使开发的软件系统具有上模型使开发的软件系统具有上述两个特征,它也是

2、微软公司采用的软述两个特征,它也是微软公司采用的软件开发策略的基础件开发策略的基础31.1 演变交付生命期模型说明演变交付生命期模型说明演变交付生命期模型的意图是通过获得演变交付生命期模型的意图是通过获得用户和客户反馈,并在发布最终版本前用户和客户反馈,并在发布最终版本前通过几个版本进行迭代通过几个版本进行迭代该模型的目的是支持具有上市时间压力该模型的目的是支持具有上市时间压力且产品的功能具有不同优先级的组织,且产品的功能具有不同优先级的组织,因为它能够使该组织将产品的任何一次因为它能够使该组织将产品的任何一次迭代发布出去迭代发布出去41.2 构架在演变交付生命期中的位置构架在演变交付生命期中

3、的位置构架作为软件开发过程中的基础,在整构架作为软件开发过程中的基础,在整个软件的生命期中有其特定的位置个软件的生命期中有其特定的位置在演变交付生命期模型中,构架位于初在演变交付生命期模型中,构架位于初始需求和骨架系统之间,参见下图始需求和骨架系统之间,参见下图5软件软件概念概念初步的需初步的需求分析求分析构架和系构架和系统核心的统核心的设计设计汇总客汇总客户反馈户反馈开发一开发一个版本个版本交付该交付该版本版本获取客获取客户反馈户反馈交付最交付最终版本终版本演变交付生命期模型演变交付生命期模型(EDLC)ADD设计设计61.3 构架驱动因素的概念构架驱动因素的概念功能、质量和商业需求的某个集

4、合塑造功能、质量和商业需求的某个集合塑造了构架。我们把这些塑造需求称为了构架。我们把这些塑造需求称为构架构架驱动因素驱动因素为了确定构架驱动因素,需要识别优先为了确定构架驱动因素,需要识别优先级最高的业务目标。我们使用质量属性级最高的业务目标。我们使用质量属性场景(表示质量属性)和用例(表示功场景(表示质量属性)和用例(表示功能)来表述这些业务目标能)来表述这些业务目标71.3.1 构架驱动因素举例构架驱动因素举例变电站综合自动化仿真系统变电站综合自动化仿真系统8模拟机柜模拟机柜9模拟操作开关模拟操作开关10主线路图主线路图111.3.3 仿真系统的主要功能仿真系统的主要功能1.一次设备的模拟

5、一次设备的模拟2.二次设备模拟(保护功能)二次设备模拟(保护功能)3.主电路图模拟(监控功能)主电路图模拟(监控功能)4.操作人机界面的模拟(控制功能)操作人机界面的模拟(控制功能)5.不同设备之间的交互关系模拟不同设备之间的交互关系模拟6.不同变电站具有不同的设备和布局不同变电站具有不同的设备和布局121.3.4 仿真系统的构架驱动因素仿真系统的构架驱动因素1.可修改性可修改性,因为要适应于不同的变电站,因为要适应于不同的变电站2.可测试性可测试性,对于所作的输入要能够做出,对于所作的输入要能够做出相应的反应相应的反应3.性能性能,能够在指定的时间内完成响应,能够在指定的时间内完成响应131

6、.4 开始我们的构架设计开始我们的构架设计我们在业务目标列表中选择对构架影响我们在业务目标列表中选择对构架影响最大的需求,通常少于最大的需求,通常少于10个,这些个,这些需求需求就构成了构架驱动因素就构成了构架驱动因素比如:空中交通管制系统中的可用性比如:空中交通管制系统中的可用性和性能和性能在确定了构架驱动因素之后,就可以开在确定了构架驱动因素之后,就可以开始我们的构架设计了始我们的构架设计了142.设计构架设计构架属性驱动的设计方法属性驱动的设计方法(Attribute Driven Design, ADD),该方法可以用于设计一),该方法可以用于设计一个满足一定质量需求和功能需求的构架个

7、满足一定质量需求和功能需求的构架ADD把一组质量属性场景作为输入,并把一组质量属性场景作为输入,并使用对质量属性实现和构架之间的关系使用对质量属性实现和构架之间的关系的了解,对构架进行设计的了解,对构架进行设计152.1 ADD设计方法设计方法ADD方法将模块分解过程建立在软件必方法将模块分解过程建立在软件必须满足的质量属性之上,它是一个递归须满足的质量属性之上,它是一个递归分解过程,其中在每个阶段都选择适当分解过程,其中在每个阶段都选择适当的战术和构架模式来满足一组质量属性的战术和构架模式来满足一组质量属性场景,然后对功能进行分配,以实例化场景,然后对功能进行分配,以实例化由该模式所提供的模

8、型类型由该模式所提供的模型类型162.1.1 ADD设计方法的过程设计方法的过程功能需求功能需求质量属性质量属性限制条件限制条件ADD设计方法设计方法构架视图构架视图ADD设计原则设计原则把质量属性的限制加到模块分解过程中去把质量属性的限制加到模块分解过程中去172.1.2 ADD设计的结果设计的结果在了解了构架驱动因素之后,我们开始在了解了构架驱动因素之后,我们开始进行进行ADD设计设计ADD设计的结果是构架的模块分解视图设计的结果是构架的模块分解视图和其他视图的最初几个层次和其他视图的最初几个层次ADD并不得到视图的所有细节,当我们并不得到视图的所有细节,当我们做出更为详细的设计决策之后就

9、能够得做出更为详细的设计决策之后就能够得到最后的构架了到最后的构架了182.2 ADD设计的样例设计的样例我们使用我们使用ADD方法为家庭信息系统中的方法为家庭信息系统中的车库门开关器设计一个产品线构架车库门开关器设计一个产品线构架192.3 ADD方法的步骤方法的步骤ADD构架设计方法的执行步骤构架设计方法的执行步骤选择要分解的系统选择要分解的系统对分解模块进行求精对分解模块进行求精对需要进一步分解的对需要进一步分解的每个模块重复上述两个步骤每个模块重复上述两个步骤202.3.1 对分解的模块进行求精对分解的模块进行求精根据下面的步骤对模块进行求精根据下面的步骤对模块进行求精1.从具体的质量

10、场景和功能需求集合中选从具体的质量场景和功能需求集合中选择构架驱动因素择构架驱动因素2.选择满足构架驱动因素的构架模式,根选择满足构架驱动因素的构架模式,根据用来实现驱动因素的战术创建模式据用来实现驱动因素的战术创建模式212.3.1 对分解的模块进行求精对分解的模块进行求精3.实例化模块并根据用例分配功能,使用实例化模块并根据用例分配功能,使用多个视图进行表示多个视图进行表示4.定定义子模块的接口。该分解提供了模块义子模块的接口。该分解提供了模块和对模块交互类型的限制和对模块交互类型的限制5.验证用例和质量属性场景并对其进行求验证用例和质量属性场景并对其进行求精,使它们成为子模块的限制精,使

11、它们成为子模块的限制222.3.2 选择构架驱动因素选择构架驱动因素车库门系统的构架驱动因素:车库门系统的构架驱动因素:1.用于开、关门的设备和控制装置不同,用于开、关门的设备和控制装置不同,应该可以直接从产品线构架中推导出一应该可以直接从产品线构架中推导出一组特定控制装置的产品构架组特定控制装置的产品构架2.不同产品中使用的处理器可能不同,应不同产品中使用的处理器可能不同,应该可以直接从产品线构架中推导出每个该可以直接从产品线构架中推导出每个特定处理器的产品构架特定处理器的产品构架232.3.2 选择构架驱动因素选择构架驱动因素3.如果车库门在下降过程中检测到一个障如果车库门在下降过程中检测

12、到一个障碍物,它必须在碍物,它必须在0.1秒内停止秒内停止4.应该可以在家庭信息系统内使用特定于应该可以在家庭信息系统内使用特定于产品的诊断协议来诊断和管理车库门开产品的诊断协议来诊断和管理车库门开关器,应该可以直接产生一个反映该协关器,应该可以直接产生一个反映该协议的构架议的构架242.3.3 选择构架模式选择构架模式这一步的目标是建立一个由模块类型组这一步的目标是建立一个由模块类型组成的总体构架模式。该模式通过组合选成的总体构架模式。该模式通过组合选定的战术满足了构架驱动因素定的战术满足了构架驱动因素两个因素支配了战术的选择:两个因素支配了战术的选择:1.构架驱动因素本身构架驱动因素本身2

13、.实现战术的模式对其它质量属性产生的实现战术的模式对其它质量属性产生的副作用,也就是要权衡选择的战术副作用,也就是要权衡选择的战术252.3.3 选择构架模式选择构架模式根据该系统的构架驱动因素我们知道,根据该系统的构架驱动因素我们知道,由于该系统要实现一个产品线,因此由于该系统要实现一个产品线,因此可可修改性修改性是它需要支持的一个重要质量属是它需要支持的一个重要质量属性;另外,在遇到障碍物的时候车库门性;另外,在遇到障碍物的时候车库门需要在需要在0.1秒内停下来,因此秒内停下来,因此性能性能也是它也是它要满足的一个质量属性要满足的一个质量属性262.3.3 选择构架模式选择构架模式针对可针

14、对可修改性修改性,我们采用的战术就是,我们采用的战术就是“局部化变更局部化变更”,具体战术为:语义一致,具体战术为:语义一致性和信息隐藏。我们使用单独的模块来性和信息隐藏。我们使用单独的模块来处理用户接口、通讯和传感器,这些模处理用户接口、通讯和传感器,这些模块被称为虚拟机块被称为虚拟机针对针对性能性能,我们采用提高计算效率和精,我们采用提高计算效率和精心调度的战术来保证关键性能计算在规心调度的战术来保证关键性能计算在规定的时间内完成定的时间内完成272.3.3 选择构架模式选择构架模式用户接口用户接口非关键性非关键性能计算能计算虚拟机虚拟机关键性关键性能计算能计算调度程序调度程序282.3.

15、4 实例化模块和分配功能实例化模块和分配功能质量属性构架驱动因素通过战术的使用质量属性构架驱动因素通过战术的使用确定模块的分解结构确定模块的分解结构我们将前面的构架模式实例化,比如,我们将前面的构架模式实例化,比如,我们把管理障碍物检测和停止车库门升我们把管理障碍物检测和停止车库门升降的责任分配给关键性能部分,而将诊降的责任分配给关键性能部分,而将诊断能力分配给非关键性能部分;虚拟机断能力分配给非关键性能部分;虚拟机的责任则标识为通信和传感器两部分的责任则标识为通信和传感器两部分292.3.4.1车库门开关器的第一级分解车库门开关器的第一级分解用户接口用户接口升升/降门降门传感器传感器/激励器

16、激励器障碍物检测障碍物检测调度程序调度程序诊断诊断通讯虚拟机通讯虚拟机302.3.4.2 表示构架的视图表示构架的视图并发视图,这是组件并发视图,这是组件-连接器视图中的连接器视图中的一种。用于对系统的动态执行过程建模。一种。用于对系统的动态执行过程建模。通过该视图我们可以讨论并发和同步的通过该视图我们可以讨论并发和同步的几个问题:几个问题:1.两个用户同时执行类似的功能,这有助两个用户同时执行类似的功能,这有助于识别于识别资源争用资源争用或或数据完整性数据完整性问题。比问题。比如车库门系统,一个人在远程关门,另如车库门系统,一个人在远程关门,另一个人利用控制器进行关门操作一个人利用控制器进行

17、关门操作312.3.4.2 表示构架的视图表示构架的视图2.一个用户同时执行多个功能,这有助于一个用户同时执行多个功能,这有助于揭示数据交换和活动控制问题揭示数据交换和活动控制问题3.启动系统,这为系统中永久运行的活动启动系统,这为系统中永久运行的活动及如何初始化提供了一个良好的概念及如何初始化提供了一个良好的概念4.关闭系统,这有助于揭示清除问题关闭系统,这有助于揭示清除问题322.3.4.2 表示构架的视图表示构架的视图并发视图并发视图关门关门激励器激励器障碍物检测障碍物检测传感器传感器 关门关门 检查检查332.3.4.2 表示构架的视图表示构架的视图部署视图部署视图:如果系统中使用了多

18、个处理:如果系统中使用了多个处理器或硬件系统,则需要考虑部署视图器或硬件系统,则需要考虑部署视图部署视图导致了并发视图的虚拟线程,部署视图导致了并发视图的虚拟线程,并发视图又分解为特定处理其中的虚拟并发视图又分解为特定处理其中的虚拟线程和在处理器间传输的消息线程和在处理器间传输的消息部署视图有助于确定是否需要某些模块部署视图有助于确定是否需要某些模块的多个实例的多个实例342.3.4.2 表示构架的视图表示构架的视图家庭信家庭信息系统息系统车库开关车库开关门系统门系统通讯通讯部署、并发视图部署、并发视图352.3.5 定义子模块的接口定义子模块的接口模块的接口展示了所提供的服务和所要模块的接口

19、展示了所提供的服务和所要求的属性。他对其它接口可以使用的服求的属性。他对其它接口可以使用的服务和可以依赖的接口编写文档,来揭示务和可以依赖的接口编写文档,来揭示子模块的交互假定子模块的交互假定模块视图的编档:模块视图的编档:1.信息的生产者信息的生产者/消费者消费者2.要求模块提供服务并使用他们的交互模要求模块提供服务并使用他们的交互模式式362.3.5 定义子模块的接口定义子模块的接口并发视图的编档:并发视图的编档:1.线程间的交互线程间的交互2.组件活动的信息组件活动的信息3.组件同步、序列化组件同步、序列化部署视图的编档:部署视图的编档:1.硬件要求硬件要求2.通信需求通信需求372.3

20、.6 验证并求精用例验证并求精用例1.功能需求,验证分解是否正确功能需求,验证分解是否正确每个子模块都有一部分从分析功能需求中每个子模块都有一部分从分析功能需求中分解得出的责任,车库门系统的模块分解得出的责任,车库门系统的模块a)用户接口,识别用户请求用户接口,识别用户请求b)升升/降门模块降门模块c)障碍物检测障碍物检测d)通讯虚拟机,管理与家庭信息系统的通信通讯虚拟机,管理与家庭信息系统的通信e)传感器传感器/激励器虚拟机;诊断;调度等激励器虚拟机;诊断;调度等382.3.6.1 验证并求精质量属性场景验证并求精质量属性场景对质量属性场景进行求精,然后分配给对质量属性场景进行求精,然后分配

21、给子模块,子模块,可以通过分解完全满足质量属性场景可以通过分解完全满足质量属性场景通过对子模块的有限制的分解来满足质通过对子模块的有限制的分解来满足质量属性场景量属性场景分解是中性的分解是中性的质量属性场景可能不满意当前的分解,质量属性场景可能不满意当前的分解,此时需要再分解此时需要再分解392.4 形成团队结构形成团队结构在构架的模块分解结构的最初几个层次在构架的模块分解结构的最初几个层次稳定后,就可以把这些模块分配给开发稳定后,就可以把这些模块分配给开发小组,这就是工作分配视图小组,这就是工作分配视图构架对开发组织结构的形成产生重要影构架对开发组织结构的形成产生重要影响。开发小组根据模块的

22、划分构成。开响。开发小组根据模块的划分构成。开发小组的结构和对小组间交流的控制就发小组的结构和对小组间交流的控制就是影响大型项目开发成功与否的重要因是影响大型项目开发成功与否的重要因素素402.4 形成团队结构形成团队结构分配任务的原则分配任务的原则1.开发小组内部是高内聚,外部是松耦合开发小组内部是高内聚,外部是松耦合2.根据开发小组的特长进行分配根据开发小组的特长进行分配3.尽量与模块的分解原则一致尽量与模块的分解原则一致412.5 构架和开发团队举例构架和开发团队举例VBL-100虚拟机能实验室系统的构架和虚拟机能实验室系统的构架和开发组织开发组织422.5.1 VBL系统的基本画面系统

23、的基本画面VBL系统的仿真界面系统的仿真界面432.5.1 VBL系统的基本画面系统的基本画面VBL系统的波形模拟界面系统的波形模拟界面442.5.2 VBL系统的基本结构系统的基本结构VBL-100的模块分解视图的模块分解视图VBL系统系统基础知识基础知识实验模拟实验模拟其它其它原理描述原理描述交互操作交互操作波形模拟波形模拟数据访问数据访问452.5.3 VBL-100的工作组织的工作组织开发组织工作开发组织工作VBL系统系统知识收集知识收集提供小组提供小组动画制作动画制作小组小组数据库描数据库描述小组述小组波形模拟波形模拟算法小组算法小组462.5.4 遇到的问题遇到的问题由于缺乏协调,

24、所以出现很多问题由于缺乏协调,所以出现很多问题1.大家都重视各自部分的工作,而忽略了大家都重视各自部分的工作,而忽略了协调,造成各部分工作的组织困难协调,造成各部分工作的组织困难2.出现的问题难于解决,比如出现出现的问题难于解决,比如出现asp远远程访问得不到结果的问题,出现内存泄程访问得不到结果的问题,出现内存泄漏的问题等漏的问题等3.局部进度可以保证,总体进度无法保证局部进度可以保证,总体进度无法保证472.6 创建骨架系统创建骨架系统首先实现处理构架组建的执行和交互的首先实现处理构架组建的执行和交互的那部分软件那部分软件然后把提供功能的那些元素添加到系统然后把提供功能的那些元素添加到系统中中随着过程的继续,系统的增量越来越大,随着过程的继续,系统的增量越来越大,直到软件开发完毕直到软件开发完毕48作业作业这里我们要开发一个网络考试系统这里我们要开发一个网络考试系统要求:首先分析其应该满足的要求:首先分析其应该满足的质量质量属性属性,然后选择相应的,然后选择相应的战术战术,并根,并根据据ADD方法设计方法设计它的它的构架构架49课堂讨论课堂讨论如何在设计一个软件的初始就考虑到软如何在设计一个软件的初始就考虑到软件的质量属性,有什么好的方法件的质量属性,有什么好的方法50

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

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