- 1、本文档共113页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例1: 设计一个产品,它将一个文件名作为输入,并返回文件中的字数。 第一级分解 第二级分解 精化 例2:汽车数字仪表板 通过模数转换实现传感器和微处理机接口; 在发光二极管面板上显示数据; 指示每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mpg)等等; 指示加速或减速; 超速警告:如果车速超过55英里/小时,则发出超速警告铃声。 第一级分解 第二级分解 精化 例3:自动柜员机 顾客插入磁卡,输入密码,然后执行动作,包括向支票、存折或信用卡账户存款,提款或查询余额等。 设计上分成两部分:分析器和调度器。分析器确定事务类型并将信息送到分配器,由调度器进行事务处理。 例4:一个公司的销售管理系统 总结: 一般说来,如果数据流不具有显著的事务特点,最好使用变换分析;反之,如果具有明显的事务中心,则应该采用事务分析技术。 机械地遵循变换分析或事务分析的映射规则,可能会得到一些不必要的控制模块,如果它们确实用处不大,那么可以而且应该把它们合并。 如果一个控制模块功能过分复杂,则应该分解为两个或多个控制模块,或者增加中间层次的控制模块。 5.5.4 设计优化 设计优化应该力求做到在有效的模块化的前提下使用最少量的模块,以及在能够满足信息要求的前提下使用最简单的数据结构。 对于时间是决定性因素的应用场合,可能有必要在详细设计阶段,也可能在编写程序的过程中进行优化。 软件开发人员应该认识到,程序中相对说比较小的部分(典型地,10%~20%),通常占用全部处理时间的大部分(50%~80%)。 对时间起决定性作用的软件进行优化: 在不考虑时间因素的前提下开发并精化软件结构; 在详细设计阶段选出最耗费时间的那些模块,仔细地设计它们的处理过程,以求提高效率; 使用高级程序设计语言编写程序; 在软件中孤立出那些大量占用处理机资源的模块; 必要时重新设计或用依赖于机器的语言重写上述大量占用资源的模块的代码,以求提高效率。 3. 深度、宽度、扇出和扇入都应适当 深度:软件结构中控制的层数,它往往能粗略地标志一个系统的大小和复杂程度。 宽度:软件结构内同一个层次上的模块总数的最大值。 扇出:一个模块直接控制(调用)的模块数目。 扇入:有多少个上级模块直接调用它。 4. 模块的作用域应该在控制域之内 模块的作用域:定义为受该模块内一个判定影响的所有模块的集合。 模块的控制域:是这个模块本身以及所有直接或间接从属于它的模块的集合。 在一个设计得很好的系统中,所有受判定影响的模块应该都从属于做出判定的那个模块,最好局限于做出判定的那个模块本身及它的直属下级模块。 解决方案: 把模块A中的判定移到模块M中; 把模块G移到模块A下面,作为他的下级模块。 5. 力争降低模块接口的复杂程度 模块接口复杂是软件发生错误的一个主要原因。应该仔细设计模块接口,使得信息传递简单并且和模块的功能一致。 例:解一元二次方程的函数 QUAD_ROOT(TBL,X) 其中数组TBL传送方程的系数 数组X送回求得的根 QUAD_ROOT(A,B,C,ROOT1,ROOT2) 6. 设计单入口单出口的模块 警告软件工程师不要使模块间出现内容耦合。当从顶部进入模块并且从底部退出来时,软件是比较容易理解的,因此也是比较容易维护的。 7. 模块功能应该可以预测 模块的功能应该能够预测,但也要防止模块功能过分局限。 功能可预测:如果一个模块可以当做一个黑盒子,只要输入的数据相同就产生同样的输出,这个模块的功能就是可以预测的。 5.4 描绘软件结构的图形工具5.4.1 层次图和HIPO图 1. 层次图(H图) 层次图用来描绘软件的层次结构。很适于在自顶向下设计软件的过程中使用。 层次图和层次方框图的区别: 层次图 层次方框图 作用 描绘软件结构 描绘数据结构 矩形框 模块 数据元素 连线 调用关系 组成关系 正文加工系统的层次图 2. HIPO图 HIPO图是美国IBM公司发明的“层次图+输入/处理/输出图”的英文缩写。 为了能使HIPO图具有可追踪性,在H图(层次图)里除了最顶层的方框之外,每个方框都加了编号。 和H图中每个方框相对应,应该有一张IPO图描绘这个方框代表的模块的处理过程。模块在H图中的编号便于追踪了解这个模块在软件结构中的位置。 5.4.2 结构图 Yourdon提出的结构图是进行软件结构设计的另一个有力工具。结构图和层次图类似,也是描绘软件结构的图形工具。 基本符号: 方框代表一个模块; 方框之间的直线表示模块的调用关系; 尾部是空心圆箭头表示传递的是数据; 尾部实心圆箭头表示传递的是控制信息。 附加符号: 选择调用:判定为真时调用A,为假时调用B。 循环调用:模块M循环调用模块A、B、C。 注意: 层次图和结构图并不严格表示模块的调用次序,多数
您可能关注的文档
- 西安电子科技大学通院微机原理第一章节课件幻灯片.ppt
- 软件工程+张海藩+课后习题答案幻灯片.ppt
- 西安电子科技大学微波技术Ch02传输线方程幻灯片.ppt
- 集成电路工艺制造讲座幻灯片.ppt
- 西安海宁皮草城开业方案幻灯片.ppt
- 集成电路行业人才招聘必备专业知识讲座幻灯片.ppt
- 西安化觉寺幻灯片.ppt
- 集成电路幻灯片.ppt
- 集成电路课程设计实习内容幻灯片.ppt
- 西安建大结构力学力法幻灯片.ppt
- 医学研究统计方法综合运用与结果表达03医学论文中常见统计学错误.pptx
- 医学代谢组学技术与研究系列讲座02ROC曲线分析.pptx
- 冰雪舞蹈与数字媒体艺术的结合论文.docx
- 2025年摄影师(初级)职业技能鉴定试卷:摄影作品版权登记与保护.docx
- 2025年事业单位教师招聘政治学科专业知识试卷(政治思想).docx
- 2025年日语能力测试N2级阅读专项试卷:日语阅读与语法巩固.docx
- 2025年西班牙语DELEC9级口语实战试卷:2025年备考策略.docx
- 2025年无损检测员(中级)无损检测行业标准试卷.docx
- 2025年高考文学类文本阅读(小说)复习.pdf
- 2025年医保知识考试题库及答案(医保谈判药品价格谈判)试卷.docx
文档评论(0)