- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 图5.14 数字仪表板系统的第一级分解 所谓第二级分解就是把数据流图中的每个处理映射成软件结构中一个适当的模块。完成第二级分解的方法是,从变换中心的边界开始沿着输入通路向外移动,把输入通路中每个处理映射成软件结构中Ca控制下的一个低层模块;然后沿输出通路向外移动,把输出通路中每个处理映射成直接或间接受模块Ce控制的一个低层模块;最后把变换中心内的每个处理映射成受Ct控制的一个模块。图5.15表示进行第二级分解的普遍途径。 第6步 完成“第二级分解”。 图5.15 第二级分解的方法 图5.17 未经精化的变换结构 图5.18 未经精化的输出结构 图5.16 未经精化的输入结构 第7步 使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化。 图5.19 精化后的数字仪表板系统的软件结构 输入结构中的模块“转换成rpm”和“收集sps”可以合并; 模块“确定加速/减速”可以放在模块“计算mph”下面,以减少耦合; 5.5.3 事务分析 虽然在任何情况下都可以使用变换分析方法设计软件结构,但是在数据流具有明显的事务特点时,也就是有一个明显的“发射中心”(事务中心)时,还是以采用事务分析方法为宜。 事务分析的设计步骤和变换分析的设计步骤大部分相同或类似,主要差别仅在于由数据流图到软件结构的映射方法不同。 由事务流映射成的软件结构包括一个接收分支和一个发送分支。映射出接收分支结构的方法和变换分析映射出输入结构的方法很相像,即从事务中心的边界开始,把沿着接收流通路的处理映射成模块。发送分支的结构包含一个调度模块,它控制下层的所有活动模块;然后把数据流图中的每个活动流通路映射成与它的流特征相对应的结构。图5.20说明了上述映射过程。 事务流映射方法: 一般说来,如果数据流不具有显著的事务特点,最好使用变换分析;反之,如果具有明显的事务中心,则应该采用事务分析技术。但是,机械地遵循变换分析或事务分析的映射规则,很可能会得到一些不必要的控制模块,如果它们确实用处不大,那么可以而且应该把它们合并。反之,如果一个控制模块功能过分复杂,则应该分解为两个或多个控制模块,或者增加中间层次的控制模块。 混合流设计 对于一个大系统,常常把变换分析和事务分析应用到同一个数据流图的不同部分,由此得到的子结构形成“构件”,可以利用它们构造完整的软件结构。 5.5.4 设计优化 考虑设计优化问题时应该记住,“一个不能工作的‘最佳设计’的价值是值得怀疑的”。软件设计人员应该致力于开发能够满足所有功能和性能要求,而且按照设计原理和启发式设计规则衡量是值得接收的软件。 应该在设计的早期阶段尽量对软件结构进行精化。可以导出不同的软件结构,然后对它们进行评价和比较,力求得到“最好”的结果。这种优化的可能,是把软件结构设计和过程设计分开的真正优点之一。 注意,结构简单通常既表示设计风格优雅,又表明效率高。设计优化应该力求做到在有效的模块化的前提下使用最少量的模块,以及在能够满足信息要求的前提下使用最简单的数据结构。 对于时间是决定性因素的应用场合,可能有必要在详细设计阶段,也可能在编写程序的过程中进行优化。软件开发人员应该认识到,程序中相对说比较小的部分(典型地,10%~20%),通常占用全部处理时间的大部分(50%~80%)。 用下述方法对时间起决定性作用的软件进行优化是合理的: (1) 在不考虑时间因素的前提下开发并精化软件结构; (2) 在详细设计阶段选出最耗费时间的那些模块,仔细地设计它们的处理过程(算法),以求提高效率; (3) 使用高级程序设计语言编写程序; (4) 在软件中孤立出那些大量占用处理机资源的模块; (5) 必要时重新设计或用依赖于机器的语言重写上述大量占用资源的模块的代码,以求提高效率。 上述优化方法遵守了一句格言:“先使它能工作,然后再使它快起来。” (1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件。 (2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存人录取线文件。 试根据要求画出该系统的数据流程图,并将其转换为软件结构图。 [案例]高校录取统分子系统有如下功能: 源点/终点 处理 计算标准分 计算录取线分 数据流 数据存储 原始分 标准分 录取线分 招生人数 考生分数文件 招生计划文件 录取线文件 计算标准分 计算录取线分 标准分 录取线分 招生人数 原始分 考生分数文件 招生计划文件 录取
文档评论(0)