软件设计方法.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件设计方法.ppt》由会员分享,可在线阅读,更多相关《软件设计方法.ppt(41页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第7讲软件设计方法体系结构设计软件体系结构是软件系统中最本质的东西。良好的体系结构必须是普适、高效和稳定的。BAS98:软件的体系结构是系统的一个或多个结构,包含软件构件、构件对外可见的性质以及它们之间的关系。体系结构是一种表示。体系结构设计关注构件结构、构件的性质和交互的关系。体系结构风格style体系结构风格包含:一组构件(components)(如,数据库、计算模块)完成系统所需的某种功能;一组连接子(connectors),能使构件间通信协调和合作;约束(constraints),定义构件如何被集成,形成系统;语义模型(semantic model),使得设计者通过分析构件的已知性质而
2、理解系统的整体性质。体系结构风格分类数据为中心的体系结构目标:实现数据的可集成性共享数据可以是数据仓库或是黑板。客户端客户端客户端客户端客户端客户端共享数据体系结构风格分类调用返回体系结构目标:系统的可更改性和可扩展性主程序子程序体系结构将一个程序分层子部分每个子节点都只由父节点控制如远程过程调用系统面向对象或抽象数据类型系统强调对数据的绑定和对数据操纵及访问方式的掌握实现可更改性层次式可更改可移植System SoftwareMiddlewareBusiness-specific ComponentsApplication SystemsWebsitesofInterestCMUCompos
3、ableSystemsGroupwww.cs.cmu.edu/Compose/CMUArchitectureBasedLanguagesandEnvironmentsResearchGroupwww.cs.cmu.edu/able/TheAcmeADLwww.cs.cmu.edu/acme/WorldwideInstituteofSoftwareArchitectswww.wwisa.orgWebSitesofInterestTheWRIGHTLanguagewww.cs.cmu.edu/able/wright/Meta-HForReal-TimeSoftwareA StructuredDes
4、ignStructuredDesign)是是结构化开发方法的核心,与结构化开发方法的核心,与SASA法,法,SDSD法密切联法密切联系,系,主要完成软件系统的总体结构设计。主要完成软件系统的总体结构设计。面向数据流的设计方法又称结构化设计。面向数据流的设计方法又称结构化设计。面向数据流的设计基本思想:将系统设计成由相对独立、单一功能的模块组成的结构。采用方法:DFDSystemHierarchy步骤:确定数据流类型;指明数据流的边界;将DFD映射为程序结构;根据元素的分解,定义控制的层次;使用设计测量和启发信息,对结构进行细化和求精;精化体系结构的描述。结构图(Structure chart)
5、A AB Ba.基本形式基本形式A AC CB BD Db.顺序顺序A AB BC Cc.选择选择A AB Bd.重复重复1、DataFlow的分类变换流(TransformFlow):Internal representationInformationTransform flowOutgoingflowIncomingflowExternal representationTime事实上所事实上所有信息流有信息流都可归结都可归结为变换流为变换流面向数据流的设计面向数据流的设计变换流输入输入变换变换输出输出事务流(TransactionFlow)TTransactionrequest Actio
6、n paths T=Call one of the several subroutines depending on the type of the incoming transaction request.当当信信息息流流具具有有明明显显的的“发发射射中中心心”时时,可归结为事务流。可归结为事务流。面向数据流的设计面向数据流的设计事务事务中心中心变换流设计变换流设计是从变换流的DFD到程序结构图的转化。设计步骤:找出变换中心及逻辑输入/出;变换中心描述了系统的主要功能、特征,其特点是:输入/出数据流较多,变换中心可以不至一个。逻辑输入/出是指输入/出变换中心的数据流。输入流是将物理输入转换为
7、逻辑输入的数据流。输出流是将逻辑输出转换为物理输出的数据流。设计软件结构的顶层;为每个输入设计一个输入模块,为每个输出设计一个输出模块,同时为变换中心设计一个处理模块。自顶向下,逐步细化,设计中下层模块。即上层各个模块的从属模块,顺序一般是从设计输入模块的下层开始。变换流设计321456输入输入变换中心变换中心输出输出A AB BC CDDE EF FG GHHSystem 3Get CGet BGet AMake Make A A into into B BMake Make B B into into C CMake Make C C into into D D and and E EPu
8、t EPut DMake Make E E into into G GPut GMake Make D D into into F FPut FMake Make G G into into H HPut HCCDEEDBBCAABEGGGHHDFF须检查;须检查;每个传递的数据是否每个传递的数据是否必须必须?完成模块功能所必须的数据是否完成模块功能所必须的数据是否都传递了都传递了?传输的数据是否只与传输的数据是否只与单一单一的功能有关?是否目的的功能有关?是否目的明确?明确?变换流设计12.1X32.2Z2.3YA AB BC CDDMMNNP PSystem 2Make B into CG
9、et BPut CX XY YZ ZBBCCBNNPMPCM变换流分析例:汽车数字仪表板的设计例:汽车数字仪表板的设计功能:功能:通过模通过模-数转换实现传感器和微处理机接口;数转换实现传感器和微处理机接口;在发光二极管面板上显示数据;在发光二极管面板上显示数据;指示每小时英里数指示每小时英里数(mph),行驶的里程行驶的里程,每加仑油每加仑油行驶的英里数行驶的英里数(mpg)等等;等等;指示加速或减速;指示加速或减速;如果车速超过如果车速超过55mph,则发出警告铃声。则发出警告铃声。面向数据流的设计面向数据流的设计第一步:DFD的分界,先分出I、P、O三块燃料流燃料流 传感器信号传感器信号
10、SPS旋转信号旋转信号读读旋转旋转信号信号收集收集和求和求平均平均确定确定加加/减减速速转换转换成成转转/分分计算计算里程里程计算计算mph,超超速值速值产生产生加加/减减速显示速显示计算计算燃料燃料消耗消耗计算计算gph读和读和校核校核产生产生mpg显示显示产生产生mph显示显示发出发出铃声铃声产生产生里程里程显示显示SPS SPS箭头指示箭头指示燃烧流燃烧流上箭头上箭头水平线水平线下箭头下箭头rpmrpmgphmphmpgmph超速值超速值英里英里显示显示铃声铃声mph显示显示mpg显示显示面向数据流的设计面向数据流的设计一般问题的一般问题的一级分解方一级分解方法:法:数字仪表板数字仪表板
11、控制控制数据转换数据转换控制控制驱动仪表板驱动仪表板接收传感器接收传感器信号信号MPIO面向数据流的设计面向数据流的设计第二步:映射ADCBMICBDA:每个处理直接对应:每个处理直接对应一个下层模块。一个下层模块。P:由边界向回溯,将:由边界向回溯,将每个遇到的处理器映每个遇到的处理器映成相应的层模块。成相应的层模块。I:由边界向外推,方:由边界向外推,方法与法与 类似类似OI面向数据流的设计面向数据流的设计例:例:数字仪表板数字仪表板控制控制数据转换数据转换控制控制驱动仪表板驱动仪表板接收传感器接收传感器信号信号计算计算gph读燃料流读燃料流转换成转换成rpm收集收集sps读旋转信号读旋转
12、信号确定确定加加/减速减速计算计算mph计算计算mpg计算计算里程里程加加/减速减速显示显示显示显示mpg显示显示mph显示显示里程里程发出发出铃声铃声发光二极管显示发光二极管显示面向数据流的设计面向数据流的设计第三步:修改本着高内聚、低耦合的原则。例:精化后的数字仪表板系统的软件结构。例:精化后的数字仪表板系统的软件结构。注:每个模块应附一简要说明描述注:每个模块应附一简要说明描述 进出该模块的信息(接口描述);进出该模块的信息(接口描述);模块内部的信息;模块内部的信息;过程陈述,包括主要判定点及任务等;过程陈述,包括主要判定点及任务等;对约束和特殊特点的简短讨论。对约束和特殊特点的简短讨
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件设计 方法
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内