- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* ?曲阜师范大学计算机科学学院 * 步骤五:执行“一级分解”(First Level Factoring)。一级分解的目标是导出具有3个层次的程序结构,顶层为主控模块;底层模块执行输入、计算和输出功能;中层模块控制、协调底层的工作。程序结构可用Yourdon结构图(SC图)表示。 图7.14所示的结构图对应于一级分解的上两层模块,即主控模块和下面几个中层控制模块: 输入流控制模块(Ca),接收所有输入数据; 变换流控制模块(Ct),对内部形式数据进行加工、处理,也称为中心变换。 输出流控制模块(Ce),产生输出数据。 主控模块(Cm)代表整个系统。 * ?曲阜师范大学计算机科学学院 * “传感器监测子系统”一级分解如图7.15所示,其中控制模块的名字概括了所有下属模块的功能。 * ?曲阜师范大学计算机科学学院 * 步骤六:执行“二级分解”。二级分解过程是从中心变换的边界开始沿输入、输出通道向外移动,把遇到的每个处理框映射为程序结构中的一个模块 。 * ?曲阜师范大学计算机科学学院 * 图7.13的输出流部分导出的程序结构如图7.17所示: * ?曲阜师范大学计算机科学学院 * * ?曲阜师范大学计算机科学学院 * * ?曲阜师范大学计算机科学学院 * 有必要为每个模块写一个简要的处理说明,应包括: 进出模块的信息(接口描述); 模块的局部信息; 处理过程陈述,包括主要的判断点和任务; 对有关限制和一些专门特性的简要说明(例如文件I/O、独立于硬件的特性、特殊的实时要求等)。 * ?曲阜师范大学计算机科学学院 * 步骤七:采用启发式设计策略,精化所得到的结构雏形,改良软件质量,以“模块独立”为指导思想,对模块或合或拆,旨在追求高内聚、低耦合、易实现、易测试、易维护的软件结构。 “传感器监测子系统”的结构雏形可修改如下: 因只存在惟一一条传入路径,故输入控制模块可删除; 由变换中心产生的整个子结构可归并为“建立警报条件”一个模块(选择电话号码的功能纳入其中),变换控制模块不再需要; (3)“格式化显示”和“生成显示”两个模块归并为“产生显示”一个模块。 * ?曲阜师范大学计算机科学学院 * “传感器监测子系统”精化后的程序结构如图7.19 : * 举例:人事信息更新 * ?曲阜师范大学计算机科学学院 * 7.3.3 事务分析 当数据流具有明显的事务特征时,如果能找到一个事务(亦称触发数据项)和一个事务中心,采用事务分析法更为适宜。 * ?曲阜师范大学计算机科学学院 * * ?曲阜师范大学计算机科学学院 * 事务流的映射方法 * ?曲阜师范大学计算机科学学院 * * ?曲阜师范大学计算机科学学院 * 7.3.3 事务分析 当数据流具有明显的事务特征时,如果能找到一个事务(亦称触发数据项)和一个事务中心,采用事务分析法更为适宜。 在“家庭保安系统”中“用户交互子系统”是一个事务分析过程。 * ?曲阜师范大学计算机科学学院 * 事务分析法的步骤与变换分析方法基本相似,主要差别在于从数据流图到程序结构的映射。事务分析法可概括为7个步骤: 步骤一:复审基本系统模型。 步骤二:复审并精化软件数据流图。 步骤三:确定数据流图的特征。 显然,前三步与变换分析法相同。 * ?曲阜师范大学计算机科学学院 * 步骤四:找出事务中心,确定由事务中心发出的每一动作路径的数据流特征。数条路径的公共源头即为事务中心,事务中心定位为“启动命令处理”框。事务中心一经确定,即可划定接受路径与所有动作路径的界限 。 * ?曲阜师范大学计算机科学学院 * 步骤五:把数据流图映射为事务处理型的程序结构。事务处理型的程序结构由“输入”和“散转”两部分组成 。 * ?曲阜师范大学计算机科学学院 * “用户交互子系统”一级分解的结构如图7.23所示 * ?曲阜师范大学计算机科学学院 * 步骤六:分解并精化事务结构以及每条动作路径所对应的结构。 步骤七:使用启发式设计策略,精化所得程序结构雏形,改良软件质量。这一步骤与变换分析法相同。 混合流 * ?曲阜师范大学计算机科学学院 * * ?曲阜师范大学计算机科学学院 * 7.4 启发式设计 改造程序结构,降低耦合度,提高内聚度。 改造程序结构,减少扇出,在增加程序深度的前提下追求高扇入 。 * ?曲阜师范大学计算机科学学院 * 深度表示软件结构中控制的层数,它往往能粗略地标志一个系统的大小和复杂程度。 宽度是软件结构内同一层次上的模块总数的最大值。 扇出是一个模块直接控制(调用)的模块数目,扇出过大意味着模块过分复杂,需要控制和协调过多的下级模块;扇出过小(例如总是1)也不好。扇出太大一般是因为缺乏中间层次,
文档评论(0)