- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程 第七讲 结构化概要设计 朱建凯 本次课程需要掌握的内容 什么是软件设计?软件设计要达到的目标(重要) 总体设计阶段的任务(了解) 数据流图的分类(重要) 内聚和耦合的种类(非常重要) 基于数据流图的程序设计方法(了解) 总体设计阶段的任务: 1、划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。 2、设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。 设计过程 总体设计过程通常由两个主要阶段组成: 系统设计阶段,确定系统的具体实现方案; 结构设计阶段,确定软件结构。 1. 设想供选择的方案 在总体设计阶段分析员应该考虑各种可能的实现方案,并且力求从中选出最佳方案。 2. 选取合理的方案 应该从前一步得到的一系列供选择的方案中选取若干个合理的方案,通常至少选取低成本、中等成本和高成本的三种方案。 对每个合理的方案分析员都应该准备下列4份资料: (1) 系统流程图; (2) 组成系统的物理元素清单; (3) 成本/效益分析; (4) 实现这个系统的进度计划。 3. 推荐最佳方案 分析员应该综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并且为推荐的方案制定详细的实现计划。 通过内部评审,且使用部门的负责人也接受了分析员所推荐的方案之后,进入总体设计过程的下一个重要阶段——结构设计。 4. 功能分解 结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。 5. 设计软件结构 通常程序中的一个模块完成一个适当的子功能。把模块组织成良好的层次系统,顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块完成最具体的功能。 6. 设计数据库 对于需要使用数据库的那些应用系统,软件工程师应该在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据库。 7. 制定测试计划 在软件开发的早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件的可测试性。 8. 书写文档 应该用正式的文档记录总体设计的结果,在这个阶段应该完成的文档通常有下述几种: (1) 系统说明主要内容包括用系统流程图描绘的系统构成方案,组成系统的物理元素清单,成本/效益分析;对最佳方案的概括描述,精化的数据流图,用层次图或结构图描绘的软件结构,用IPO图或其他工具(例如,PDL语言)简要描述的各个模块的算法,模块间的接口关系,以及需求、功能和模块三者之间的交叉参照关系等等。 (2) 用户手册根据总体设计阶段的结果,修改更正在需求分析阶段产生的初步的用户手册。 (3) 测试计划包括测试策略,测试方案,预期的测试结果,测试进度计划等等。 (4) 详细的实现计划 (5) 数据库设计结果 9. 审查和复审 最后应该对总体设计的结果进行严格的技术审查,在技术审查通过之后再由使用部门的负责人从管理角度进行复审。 最后生成HIPO图 和H图中每个方框相对应,应该有一张IPO图描绘这个方框代表的模块的处理过程。HIPO图中的每张IPO图内都应该明显地标出它所描绘的模块在H图中的编号,以便追踪了解这个模块在软件结构中的位置。 带编号的层次图(H图) 3)模块独立 模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果。 开发具有独立功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块独立。换句话说,希望这样设计软件结构,使得每个模块完成一个相对独立的特定子功能,并且和其他模块之间的关系很简单。 模块独立性重要性: 第一,有效的模块化(即具有独立的模块)的软件比较容易开发出来。这是由于能够分割功能而且接口可以简化,当许多人分工合作开发同一个软件时,这个优点尤其重要。 第二,独立的模块比较容易测试和维护。这是因为相对说来,修改设计和程序需要的工作量比较小,错误传播范围小,需要扩充功能时能够“插入”模块。 模块的作用域和控制域 阅读与思考 张海藩软件工程,第5章 信息隐藏的意义? 模块化的粒度为什么不是越大或者越小越好? 变换模块 计算mpg 计算mph 计算里程 计算加/减速 ?、变换部分的精化 ?首先,应该了解:对于变换部分的求精,是一项具有挑战性的工作。其中主要是根据设计准则,并要通过实践,不断地总结经验,才能设计出合理的模块结构。 ?就给定的数字仪表板系统而言,如果把“确定加/减速”的模块放在“计算速度mph”模块下面,则可以减少模块之间的关联,提高模块的独立性。 通
您可能关注的文档
- 4.1第四章第一节工业区位.ppt
- 4.4世界主要气候类型(热带、亚热带).ppt
- 4外国诗两首课件.ppt
- 4c3f65a7bf49f(新标准第七册第二模块课件).ppt
- 4文献信息老化规律.ppt
- 4第四章词法分析.ppt
- 5-3凸透镜成像的规律.ppt
- 5.1参数设计的基本思想.ppt
- 5.1视觉实验:LED流水灯.ppt
- 5.2地理环境差异性课件.ppt
- 吉安县公开招聘专职文明实践员笔试备考试题及答案解析.docx
- 2025重庆枫叶国际学校招聘教师笔试备考试题及答案解析.docx
- 游机队电玩自制联网教程-tplink.pdf
- 2025重庆新华出版集团招聘1人笔试模拟试题及答案解析.docx
- 2025宜宾高新丽雅城市产业发展有限公司公开招聘笔试模拟试题及答案解析.docx
- 2025云南保山市龙陵县勐糯镇人民政府招聘合同制专职消防员1人笔试模拟试题及答案解析.docx
- 11.1生活中常见的盐 九年级化学人教版下册.pptx
- 6.1法律保护下的婚姻 高二政治《法律与生活》课件(统编版选择性必修2)(新版).pptx
- 文昌市中小学教师校园招聘29人笔试模拟试题及答案解析.docx
- 10.1.5 常见的酸和碱(第5课时)课件-九年级化学人教版下册.pptx
文档评论(0)