- 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节 传统软件设计文档资料
软件工程Software Engineering 计算机学院 软件工程课程组 软件生存期 第5章 传统软件设计方法 概要设计和详细设计阶段的任务是什么? 什么是结构化设计方法? 结构化设计与结构化分析的关系? 什么是面向数据结构的设计方法? 什么是结构化程序设计? 常用的过程设计工具? 一、软件设计的任务和作用 两个阶段 概要设计 详细设计 SE核心过程 二、设计的启发规则 1、提高模块独立性 松耦合,高内聚 增加内聚 减少耦合 软件结构的划分方式 水平划分 垂直划分 水平划分(Horizontal Partitioning) 按主要功能定义模块结构的各分支 顶层控制模块,下层输入、处理、输出三个分支 优点:功能分离,易修改扩充 缺点:模块接口传递数据多,信息流的整体控制复杂化 垂直划分(Vertical Partitioning: Factoring) 自顶向下逐层分布工作 顶层模块控制,低层模块实际处理 优点:对低层模块的修改不易引起副作用 便于将来的维护 设计的启发规则 2、模块规模适中 过大不易理解,分解不充分 太小则接口开销过大 注意分解后不应降低模块的独立性 设计的启发规则 3、深度、宽度、扇入、扇出适当 深度 = 层数 过大表示分工过细 管理模块过分简单,适当合并 宽度 = 跨度数的最大值 过大表示系统复杂 设计的启发规则 扇出 = 模块直接调用/控制的模块数 fan-out ? 5 扇入 = 直接调用该模块的上级模块数 fan-in ≤5 设计的启发规则 4、作用域在控制域内 控制域 模块本身以及所有直接或间接从属于它的模块的集合 作用域 受该模块内一个判定影响的所有模块的集合 作用域在控制域内 修改软件结构 判断点上移 把A中的 if 移到M中 受影响块下移 把C移到A下面 设计的启发规则 5、降低接口的复杂程度 接口复杂可能表明模块的独立性差 接口复杂或不一致(看起来传递的数据间无联系),是紧耦合或低内聚的征兆 【例】求一元二次方程的根 设计的启发规则 6、单出单入,避免内容耦合 7、模块功能可预测 相同输入必产生相同输出 模块中使用全局变量可能导致不可预测 三、表示软件结构的图形工具 层次图和HIPO图 结构图 1. 层次图和HIPO图 层次图(Hierarchy Diagram) 层次图 描述软件结构,而非数据结构 矩形框:模块 连线:调用关系,而非组成关系 HIPO图 H图 + IPO图(Input-process-output Diagram) 对每个模块附一张IPO图 每个IPO图中应明确标出对应模块的编号 IPO图 IPO表 2. 结构图(Structured Diagram) 【例】结构图 四、软件系统设计技术 面向数据流(DFD)的设计方法 面向数据结构的设计方法 原型法 结构化设计(Structured Design, SD) 基于模块化、自顶向下求精、结构化程序设计技术基础上发展起来 面向数据流的设计方法 数据流图映射到软件结构 用启发式规则对结构进行细化 1. 面向数据流(DFD)的设计方法 (1)DFD的类型 DFD的类型决定了映射的方法 变换流 事务流 混合型 ①变换流(Transform Flow) 所有信息流都可归结为变换流 变换型的软件结构图 ②事务流(Transaction Flow) 当信息流具有明显的“事务中心”时,可归结为事务流 事务型的软件结构图 ③混合型 两种DFD的混合体 (2)面向数据流方法的设计过程 (3)从DFD导出软件结构图 变换设计 事务设计 综合设计法 ①变换设计 【例】 汽车数字仪表板的设计 确定输入流和输出流的边界 第一级分解方法 第一级分解 第一级分解 第二级分解 系统软件结构 求精系统软件结构 模块说明 为每个模块附一个简要说明 / IPO表 进出该模块的信息(接口描述) 模块内部的信息 过程陈述,包括主要判定点及任务等 对约束和特殊特点的简短讨论 ②事务设计 事务设计的映射方法 ③综合设计法 变换设计 事务设计 优化 控制模块的合并 控制模块的分解 SA/SD方法的特点 优点 自顶向下,逐步求精 各模块可单独设计、编码、测试、修改 缺点 纸上设计,长时间偏离软件实体 开发周期长 剥离了数据/功能的关系 顶在何方?下到何处? 2. 面向数据结构的设计方法 Jackson方法(Jackson System Development, JSD) Warnier方法 (1)Jackson图(Jackson Diagram) 顺序结构
您可能关注的文档
最近下载
- 贵州省巩固拓展脱贫攻坚成果专项学生资助申请表.docx VIP
- 信息系统自行软件开发管理规定.docx
- 湖北省武汉市洪山区2024-2025学年八年级上学期期中质量检测数学试题(图片版,含答案).doc VIP
- 2025至2030全球及中国腓骨肌萎缩症ⅠA型药物行业项目调研及市场前景预测评估报告.docx
- 2025年供电所职工考试题库及答案.docx VIP
- 电网考试供电局简答题.pdf VIP
- 附件2.贵州省巩固拓展脱贫攻坚成果专项学生资助申请表(本科).docx VIP
- 基于Matlab的变压器励磁涌流仿真分析.doc VIP
- SH╱T 3526-2015 石油化工异种钢焊接规范.pdf VIP
- 《现代中式家居设计》课件.ppt VIP
文档评论(0)