【文档说明】Ch05 GIS软件工程的总体设计-2.pptx,共(27)页,215.167 KB,由精品优选上传
转载请保留链接:https://www.ichengzhen.cn/view-290360.html
以下为本文档部分文字说明:
第二节软件体系结构设计一、体系结构软件体系结构是软件系统中最本质的东西。良好的体系结构必须是普适、高效和稳定的。软件的体系结构包含软件构件、构件对外可见的性质以及它们之间的关系。1二、面向数据流的设计结构化开发方法(StructuredDeveloping
Method)由:结构化分析方法(SA法)、结构化设计方法(SD法)及结构化程序设计方法(SP法)构成的。面向数据流的设计方法又称结构化设计。结构化设计方法主要完成软件系统的总体结构设计。2◼SD方法的中心任务:把用DFD图表示的系统分析模
型方便地转换为软件结构的设计模型;DFD→SystemHierarchy3三、数据流的分类与面向数据流的设计过程在软件工程的需求分析阶段,信息流是一个关键考虑,通常用数据流图描绘信息在系统中加工和流动的情况。面向数据流的设计方法定义了一些不同的“映射”,利用这些映射可以把数据流图
变换成软件结构。4InternalrepresentationInformationTransformflowOutgoingflowIncomingflowExternalrepresentationTime1.
数据流的分类(1)变换流(TransformFlow)5输入路径变换中心输出路径变换中心的任务:就是通过计算或者处理,把系统的输入流变换为系统的输出流。6(2)事务流(TransactionFlow)◼当信息流具有明显的“发射中心”时,可归结为事务
流。◼数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。……TTransactionrequest…Actionpaths……事务中心7事务型结构的系统基本模型◼这类系统的特征,是具有在多种事务中执行某类事务的能力。8……TT
ransactionrequest…Actionpaths……事务中心事务中心完成下述任务:(1)接收输入数据(输入数据又称为事务);(2)分析每个事务以确定它的类型;(3)根据事务类型选取一条活动通路。9“变换”“事务”精化数据流图流类型
区分事务中心和数据接收通路区分输入和输出分支映射成事务结构映射成变换结构用启发式设计规则精化软件结构导出接口描述和全程数据结构复查详细设计变换分析事务分析2.面向数据流的设计过程10例:汽车数字仪表板的设计功能:①通过
模-数转换实现传感器和微处理机接口;②在发光二极管面板上显示数据;③指示每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mpg)等等;④指示加速或减速;⑤如果车速超过55mph,则发出警告铃声。四、变换分析变换分析是一系列设计步骤的总称,经过这些步骤把具有变换流特点的数据流图按预先确定的
模式映射成软件结构。11设计步骤:◼第1步:复查基本系统模型;◼第2步:复查并精化数据流图;12◼第3步确定数据流图具有变换性还是事务特性;13燃料流传感器信号SPS旋转信号读旋转信号收集和求平均确定加/
减速转换成转/分计算里程计算mph,超速值产生加/减速显示计算燃料消耗计算gph读和校核产生mpg显示产生mph显示发出铃声产生里程显示SPSSPS箭头指示燃烧流上箭头水平线下箭头rpmrpmgphmphmpgmph超速值英里显示铃声mph显示mpg显示◼第4步确定输入流和输出流的边界,
从而孤立出变换中心;14◼第5步完成“第一级分解”第一级分解的方法对于变换流的情况,数据流图被映射成一个特殊的软件结构,这个结构控制输入、变换和输出等信息处理过程。控制模块Cm协调下述从属的控制功能:◆输入信息处理控制模块
Ca;◆变换中心控制模块Ct;◆输出信息处理控制模块Ce;15数字仪表板系统的第一级分解16第二级分解的方法◼第6步完成“第二级分解”所谓第二级分解就是把数据流图中的每个处理映射成软件结构中一个适当的模块。◆从变换中心的边界开始沿着输入通路向外移动,把输入通
路中每个处理映射成软件结构中Ca控制下的一个低层模块;◆然后沿输出通路向外移动,把输出通路中每个处理映射成直接或间接受模块Ce控制的一个低层模块;◆最后把变换中心内的每个处理映射成受Ct控制的一个模块。17数字仪表板控制数据转换控制驱动
仪表板接收传感器信号计算gph读燃料流转换成rpm收集sps读旋转信号确定加/减速计算mph计算mpg计算里程加/减速显示显示mpg显示mph显示里程发出铃声发光二极管显示未精化的数字仪表板系统的软件结构18mpg显示燃料流传感器信号SPS旋转信号读旋转信号收
集和求平均确定加/减速转换成转/分计算里程计算mph,超速值产生加/减速显示计算燃料消耗计算gph读和校核产生mpg显示产生mph显示发出铃声产生里程显示SPSSPS箭头指示燃烧流上箭头水平线下箭头rpmrpmgphmp
hmpgmph超速值英里显示铃声mph显示19◼第7步使用设计度量和启发式规则对得到的软件结构进一步精化;精化后的数字仪表板系统的软件结构20四、事务分析事务分析的设计步骤和变换分析的设计步骤大部分相同或类似,主要差别仅在于
由数据流图到软件结构的映射方法不同。21◼映射出接收分支结构的方法:从事务中心的边界开始,把沿着接收流通路的处理映射成模块;◼发送分支的结构包含一个调度模块;◼然后把数据流图中的每个活动流通路映射成与它
的流特征相对应的结构;22五、综合设计◼在实际的软件系统中,数据流图往往是变换型和事务型的混合体,这就要用综合设计的方法:一般以“变换分析”为主,“事务分析”为辅进行设计。先找出主加工,设计出结构图的上层,然后根据数据流图各部分的结构特点适当地运用“变换分析”或“事务分析”对下层模块进行设计,可得
到初始结构图。23设计优化◼注意,结构简单通常既表示设计风格优雅,又表明效率高。设计优化应该力求做到在有效的模块化的前提下使用最少量的模块,以及在能够满足信息要求的前提下使用最简单的数据结构。◼软件设计人员应该致力于开
发能够满足所有功能和性能要求,而且按照设计原理和启发式设计规则衡量是值得接收的软件。应该在设计的早期阶段尽量对软件结构进行精化。24SD方法的特点◼SD方法是从以下几个方面来获得质量较好的软件结构:◆根据描述用户需求的数据流图导出了实现用户需求的结构图。◆为了控制大型软件系统复杂
性,运用了下面两个手段:•将系统分解成许多个黑盒。•将黑盒组织成适合于用计算机实现的一个层次结构。◆用内聚和耦合作为评价软件结构质量的标准。◆给出一组设计技巧,如扇入和扇出、模块大小的掌握,作用范围和控制范围等。六、SD方法小结25◼对数据结构、文件结构、数据库结构没有考
虑充分。◼“高内聚、低耦合”的原则虽已被广为接受,但这两个概念尚无严格的定义,更无健全的理论基础。SD方法的不足:261.DFD中从系统的输入流到系统的输出流的一连串连续变换形成一种信息流,这种信息流可分为()两类。①控制流和变换流②变换流和事务流③事务流和事件流④事件流和控
制流2.下述有关模块独立性的各种模块内聚,内聚度(强度)最高的是()。①巧合内聚②时间内聚③功能内聚④通信内聚3.软件的开发工作经过需求分析阶段,以后就开始着手解决“怎么做”的问题。下面()不属于常用的软件设计方法。①Jackson方法②LCP(Wanier)
方法③SA方法④SD方法27