- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch04 总体设计
* 1 、传入分支的分解 (2) 若有必要,继续分解。 以“输入金额”为例,可将此分支也看成一个变换型数据流得结构图: * 继续分解“金额校验” * 1 1、传入分支的分解(3) * 2.传出分支的分解 * 3、中心加工分支的分解 * 改进后整个结构图 整个结构图的改进 考虑到分析试题难度和分类统计成绩是属于后处理的一些工作,它们对这一次考试的总结,为下一次考试命题作准备的。同时,它们是相对独立的功能,由考试中心发布启动命令,因此,可以将它们移到主控模块“考务处理系统”之下 结构图改进技巧 1.减少模块间的耦合度 可以通过将功能简单的模块合并到与其关系密切的模块中,或调整模块的位置,来减少模块间的参数传递,或避免参数长距离传输,以降低耦合度。 2.消除重复功能 如果二个模块中存在某一相同的功能,应将这个功能从二个模块中分离出来,作为一个独立的模块被二者调用。 3.消除“管道”模块 “管道”模块通常是应该删除的,除非删除后上层模块的扇出太大。 4.模块的大小适中 如果一个模块太大,要考虑将它分成二个模块;如果一个模块太小,可考虑将它合并在与它功能密切相关的模块中。通常一个模块的大小,以其实现代码可书写在1~2页纸(约50~100行)为宜。 结构图改进技巧 5.避免高扇出 一个模块的扇出不宜过大,一般希望控制在7±2范围内。当一个模块的扇出较大时,应考虑重新分解 6.应尽可能研究整张结构图,而不是只考虑其中的一部分 (a)高扇出 (b)重新分解 4.6.5 综合分析设计 实际中,一些大型软件系统数据流图往往既不是单纯的变换型,也不是单纯的事务型,而是变换型结构和事务型结构的混合结构。对于这种既有变换型又有事务型,两种类型混合在一起的综合型数据流图的转换,通常采用变换分析为主、事务分析为辅的方式进行软件结构设计。 ① 首先确定数据流图整体上的类型。 ② 然后利用变换型数据流图的分析方法,先找出主加工,把软件系统分为输入、变换、输出三部分,由此设计出软件系统的顶层和第一层。 ③ 最后根据数据流图各个部分的结构特点,适当地运用“变换分析”或“事务分析”就可得出初始软件结构图的某个方案。 4.6.5 综合分析设计 例. 开发一个带有微处理器的汽车数字仪表板控制系统, 1.功能描述: (1) 通过模数转换实现传感器和微处理机接口; (2) 在发光二极管面板上显示数据; (3) 指示每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mpg)等等; (4) 指示加速或减速; (5) 超速警告:如果车速超过55英里/小时,则发出超速警告铃声。 2.设计步骤 第1步 复查基本系统模型。 第2步 复查并精化数据流图。 第3步 确定数据流图的类型。 输入有两条通路进入系统,然后沿着5条通路离开,没有明显的事务中心。因此它属于变换型结构的数据流图。 第四步 确定输入、变换和输出边界。 输入流、输出流的边界的确定具有一定的任意性,因为不同的人对系统的理解不同。 读旋转信号 收集和求平均 转换成转/分( rpm) 计算里程 确定加速 / 减速 产生加速/减速显示 产生里程显示 计算mph和超速值 计算燃料消耗 发出铃声 产生mph显示 产生 mpg显示 读和校核 计算gph 旋转信号 信号/秒 SPS △SPS SPS rpm rpm 箭头指示 上箭头 ⊕ ⊕ 水平线 下箭头 英里 超速值 显示 铃声 mph mph mpg gph 燃料流 燃料流传感器信号 Mpg 显示 读旋转信号 收集和求平均 转换成转/分( rpm) 计算里程 确定加速 / 减速 产生加速/减速显示 产生里程显示 计算mph和超速值 计算燃料消耗 发出铃声 产生mph显示 产生 mpg显示 读和校核 计算gph 旋转信号 信号/秒 SPS △SPS SPS rpm rpm 箭头指示 上箭头 ⊕ ⊕ 水平线 下箭头 英里 超速值 显示 铃声 mph mph mpg gph 燃料流 燃料流传感器信号 Mpg 显示 第5步 设计系统的上层模块结构。 上层的模块结构有两层,顶层是系统模块,第一层由输入模块、变换模块和输出模块三个模块组成。 图 数字仪表板系统的第一级分解 第6步 分解上层模块,设计下层模块。 输入部分下层模块的设计,从变换中心的输入流边界开始沿着输入通路向外移动,把输入通路中每个处理映射成软件结构中输入模块控制下的一个低层模块。 输出部分的下层模块设计从变换中心输出流边界开始然后沿输出通路向外移动,把输出通路中每个处理映射成系统结构中输出模块控制的一个低层模块; 图 未经精化的输入结构 读旋转信号 收集和求平均 转换成转/分( rpm) 读和校核 计算gph 旋转信号 信号/秒 SPS △SPS SPS rpm 燃料流 燃
文档评论(0)