[工学]软件工程导论第五章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]软件工程导论第五章

wxliang@dlut.edu.cn 软件工程导论 梁文新 办公室:综合楼108 电 话:wxliang@dlut.edu.cn 软件的生命周期 第五章 总体设计(Architectural Design) 5.1 设计过程 5.2 设计原理 5.3 启发规则 5.4 描绘软件结构的图形工具 5.5 面向数据流的设计方法 5.6 小结 概述 总体设计过程 寻找可能的方案并推荐最佳方案 对此方案设计出软件结构 通过改进得到更合理的软件结构 数据库设计 确定测试要求并且制定测试计划 软件设计的重要性 5.1 设计过程 总体设计的两个阶段 系统设计阶段:确定系统的具体实现方案 结构设计阶段:确定软件结构 设想供选择的方案:设想数据流图中的处理分组的各种可能的方法,抛弃在技术上行不通的分组方法,余下的分组方法代表可能的实现策略,并且可以启示供选择的物理系统 选取合理方案:从问题定义和可行性分析阶段确定的工程规模和目标出发,选取低、中、高成本三种方案,每个方案准备如下资料: 系统流程图 组成系统的物理元素清单 成本/效益分析 实现进度计划 5.1 设计过程 推荐最佳方案:综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并为最佳方案制定详细的实现计划(Chap. 13) 功能分解:对分析模型进一步细化,进行功能分解 程序设计 结构设计:模块组成及相互关系 过程设计:各模块的处理过程?详细设计 软件结构 进一步功能分解,对DFD进一步细化,并用IPO图等工具描述细化后每个处理的算法 5.1 设计过程 设计软件结构:将模块组织成良好的层次系统 软件结构反映系统中模块的相互调用关系:顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,最下层的模块完成最具体的功能 软件结构通过层次图或结构图来描绘,DFD细化到一定程度即可直接由其映射出软件结构 数据库设计 模式设计:确定物理数据库结构 子模式设计:用户视图设计 完整性设计和安全性设计 优化:改进模式和子模式以优化数据的存取 5.1 设计过程 制定测试计划(Chap. 7) 书写文档 系统说明 系统流程图描绘的系统构成方案 组成系统的物理元素清单 成本/效益分析 最佳方案的概括描述 精化的图形工具描述的软件结构、各模块的算法 模块间的接口 需求、功能、模块间的交叉参照关系 用户手册 测试计划 详细的实现计划 数据库设计结果 审查和复查:技术审查?管理审查 模块的属性 四种属性: (1) 输入/输出、(2) 逻辑功能、(3) 运行程序、(4) 内部数据。前两个属性又称为外部属性,后两个属性又称为内部属性 (1)一个模块的输入/输出都是针对同一个调用者的 (2)模块的逻辑功能是指模块能够做什么事,表达了模块把输入转换成输出的功能,可以是单纯的输入/输出功能 (3)模块的运行程序指模块如何用程序实现其逻辑功能 (4)模块的数据指属于模块自己的数据 理想模块 (黑箱模块) 每个理想模块只解决一个问题 每个模块的功能都应该很明确,使人容易理解 理想模块之间的联结关系简单,具有很强的独立性 由理想模块构成的系统,容易使人理解,易于编程,易于测试,易于修改和维护 模块化的理论依据 设函数C(x)定义问题x的复杂程度,函数E(x)确定解决问题x需要的工作量。对于两个问题P1和P2,如果:C(P1)C(P2),则显然有: E(P1)E(P2) 根据人类解决一般问题的经验,有: C(P1+P2)C(P1)+C(P2) 进而获得:E(P1+P2)E(P1)+E(P2) 几种耦合的比较 Examples 内聚方式的判断方法 七种内聚的比较 思考题 确定每个模块的内聚类型 5.3 启发规则(Heuristics) Example Structure Chart 结构图中的辅助符号 结构图示例 层次图和结构图的特点: 并不严格表示模块的调用次序 并不指明什么时候调用下层模块 没有指明先执行调用还是先执行模块中的语句 没有表示模块内其它成分 通常用层次图作为描绘软件结构的文档 可以用层次图导出结构图的过程,检查设计的正确性和评价模块的独立性 变换流 变换流结构图示例 事务流结构图示例 示例:汽车数字仪表盘 通过模数转换实现传感器和处理机的接口 在发光二极管面板上显示数据 显示行驶时速(mph),行驶里程,油耗(mpg)等信息 指示加速或减速 超速响铃警告 第二级分解的结果 思考题 用面向数据流方法设计第三章分析的“工资支付系统”的软件结构 思考题参考答案 1、事务流 or 变换流? 输入:事务数据、人事数据 输出:工资明细表、工资表、财务报表 无明显事务中心 属于变换流 思考题参考答案 2、确定逻辑输入/输出边界,孤立变换中心 思考题参考答

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档