软件工程中的结构化程序设计

上传人:daj****de 文档编号:168282438 上传时间:2022-11-08 格式:DOCX 页数:4 大小:10.04KB
收藏 版权申诉 举报 下载
软件工程中的结构化程序设计_第1页
第1页 / 共4页
软件工程中的结构化程序设计_第2页
第2页 / 共4页
软件工程中的结构化程序设计_第3页
第3页 / 共4页
资源描述:

《软件工程中的结构化程序设计》由会员分享,可在线阅读,更多相关《软件工程中的结构化程序设计(4页珍藏版)》请在装配图网上搜索。

1、软件工程中的结构化程序设计软件工程的基本思想是面对复杂的问题,让软件的开发按照工程 的概念、 原理、技术和方法模式来实施,有计划地按照要求分阶段实现。 针对大型项目 开发,为了保证软件产品质最揭锹附I发嫦ffiffifiWH设计、程孑设浪前, 必勿洗确定软(牛总体结构。软件总体结构设计的方法主要 有结构化设计、而向 数据结构的设计和面向对象的设计,其中结构化 设计方法是应用最广泛的一 种,它是建立良好程序结构的方法,提出了衡 量模块质量的标准是“高内聚、 低耦合” o另外结构化设计(struetured design, SD)方法是一种面向过程的设 计方法或面向数据流的设计方法,它可以与结构化

2、分析方法、结构化 程序设计 (struetured programming)方法前后呼应,形成了统一、完整的系列化方 法。结构化设计方法以需求分析阶段获得的数据流图为基 础,通过一系列映 射,把数据流图变换为软件结构图。结构化程序设计通常使用自上往下的设计模型,开发员将整个 程序结构映 射到单个小部分。己定义的函数或相似函数的集合在单个 模块或字模块中编 码,这意味着,代码能够更有效的载入存储器,模 块能在其它程序中再利用。 模块单独测试之后,与其它模块整合起来 形成整个程序组织。程序流程遵循简单的层次化模型,采用“for”、“while”等循环结 构。几乎任何语言都能使用结构化程序设计技术来

3、避免非结构 化语言的通常陷 阱。非结构化程序设计必须依赖于开发人员避免结构 问题,从而导致程序组织 较差。大多数现代过程式语言都鼓励结构化 程序设计。结构化设计主要有两种图形工具:结构图和层次图。结构图和层 次图基木上 是大同小异,都是用来描述软件结构的图形工具,图中设有很多方框,一个方框就代表一个模块,框内注明模块的名字或主要 功能;方框之间的箭头(或直线) 用来表示模块的调用关系。二者描 述重点不一样。1. 结构图结构图主要描述软件结构中模块之间的调用关系和信息传递问 题。基木 成分有模块、调用和数据。在通常情况下会在结构图中用箭头注释一下表示模块在调用过 程中信息 的来回传递。可以根据箭

4、头的尾部形状标明某种信息,认定 一种形状作为一种 信息符号,自己只要按箭头形状就可以区分传递的 信息是数据还是控制信息 了。比如:尾部是空心圆就表示传递的是数 据,实心圆就表示传递的是控制信 息。结构图不仅仅只是一些基本符 号,其实还有不少附加符号,用来表示模块 的选择调用或循环调用的。2.层次图层次图主要描述软件系统的层次结构以及各个功能的隶属关 系,特别适 合于自顶向下设计使用。在层次图里除顶层之外,每个方 框里都加编号,记录 它所在的层次及在该层次的位置。一般最上层的 模块含有退出、输入、处理、 输出、查询和系统维护模块。根据系统 的具体要求,下层再将功能进一步细 化。层次图和结构图对于

5、模块调用次序方而要求的并不严格。在画 模块方而, 很多人习惯按调用次序从左到右的方法画模块,其实又没 有规定一定要这样,出 于其他方而的考虑(例如为了减少交叉线),完全可以不按这种次序画,还有就 是在层次图和结构图中并不指明什 么时候调用下层模块。一般情况下上层模块 中除了调用下层模块的语 句之外还有其他语句,到底是先执行调用下层模块的 语句还是先执行 其他语句,丝毫不在图中指明。事实上,层次图和结构图往往只 表明 一个模块用来调用哪些模块,对于一些模块内不含其他成分的根本就 不作 表示。数据流程图转换为初始软件结构图后,按照高内聚低耦合、模块 化、信息隐 藏的原则,应该对初始软件结构图进行优

6、化。考虑设计优 化问题时应该记住, “一个不能工作的最佳设计的价值是值得怀 疑的”。软件设计人员应该致力 于开发能够满足所有功能和性能要求, 导出不同的软件结构,对它们进行评价和 比较,力求得到“最佳”的 效果,这种优化真正的优点,就是能够把软件结构设 计和详细设计很 好地分开。通常,用下述方法对初始化软件结构进行优化是合理 的: 在不考虑时间因素的前提下开发并精化软件结构。在得到初始的功能 结构 图之后,如果发现有几个模块有相似之处,可消除重复功能,改善软件结构;模 块功能的完善化。一个完整的功能模块,不仅应能完成指定的功能,而且还应当 能够告诉使用者完成任务的状态,以及不 能完成的原因;模

7、块的作用范围应在控 制范围之内。模块的控制范围 包括它木身及其所有的从属模块;模块的作用范围 是指模块内一个判 定的作用范围,凡是受这个判定影响的所有模块都属于这个 判定的作 用范围;尽可能减少高扇出结构。模块的扇出过大,将使得系统的模 块 结构图的宽度变大,宽度越大结构图越复朵。模块的扇出过小也不好,这样将使 得系统的功能结构图的深度大大增加,不但增加了模块 接口的复杂度,而且增加 了调用和返回的时间开销,降低系统的工作 效率。比较适当的模块扇出数目为25 个,最多不要超过9 个;模 块的大小要适中。限制模块的大小是减少复杂性的手段之一,因而要 求把模块的大小限制在一定的范围之内 o 模块的大小一般 用模块的源 代码数量来衡量,通常在设计过程中,将模块的源代码数量限制在50100 行左右,即一页纸的范围内,这样阅读比较方便;设计功能 可预测的模 块,避免过分受限制的模块。一个功能可预测的模块不论内部处理细节如何,但 对相同的输入数据,总能产生同样的结果;软 件包应满足设计约束和可移植性。 一个仅处理单一功能的模块,由于 具有高度的内聚性,而受到了设计人员的重 视。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!