ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:36.29KB ,
资源ID:4165569      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4165569.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第四章 结构化设计习题.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第四章 结构化设计习题.docx

1、第四章 结构化设计习题第四章 结构化设计习题(一)名词解释1. 软件概要设计2. 模块3. 模块化4. 抽象5. 信息隐蔽6. 模块独立性7. 耦合性8. 数据耦合9. 标记耦合10. 控制耦合11. 公共耦合12. 内容耦合13. 内聚性14. 偶然内聚15. 逻辑内聚16. 时间内聚17. 通信内聚18. 顺序内聚19. 功能内聚20. 软件结构图21. 结构化设计22. 变换流23. 事务流24. 详细设计25. 流程图26. 过程设计语言(二)填空题1. 软件结构的设计是以 为基础的。2. 软件设计阶段,是把软件“ ”的逻辑模型变换为“ ”的物理模型。3. 数据库的“概念设计”与“逻辑

2、设计”分别对应于系统开发中的“ ”与“ ”,而数据库的“物理设计”与模块的“ ”相对应。4. 概要设计文档主要有 、 、 和 。5. 模块具有 、 、 和 几种基本属性。6. 模块化指解决一个复杂问题时 逐层把软件系统划分成若干 的过程。7. 衡量软件的独立性有两个定性的度量标准,即 和 。8. 模块之间联系越紧密,其 就越强,模块的 则越差。9. 模块的耦合性由低到高分为 、 、 、 、 和 。10. 数据耦合传递的是 ,标记耦合传递的是 ,控制耦合传递的是 。11. 软件结构往往用 结构的图形来表示。软件结构图是软件系统的 结构。12. 面向数据流的设计又称 ,它是以需求分析阶段产生的 为

3、基础,按一定的步骤映射成软件结构。13. 数据流图一般可分为 和 两类。14. HIPO图中 图用于描述软件总的模块层次结构, 图用于说明模块间的信息传递及模块内部的处理。 15. 详细设计也称 ,它是软件设计的第二阶段,主要确定每个 的具体执行过程。16. 在详细设计阶段,需要对处理过程的 和数据库的 结构做评审。17. 任何程序都可由 、 和 3种基本控制结构构造。这3种基本结构的共同点是 、 。18. 详细描述处理过程常用3种工具: 、 、和 。19. 程序流程图又称 ,它是历史最悠久、使用最广泛的一种描述程序 结构的工具。20. 结构化流程图要求3种基本控制结构 和 而成,不能有相互交

4、叉的情况。21. PAD图是一种 展开的二维 结构,PAD图的控制流程为 、 地执行。22. PDL是一种描述模块 设计和处理细节的语言,其 语法具有严格的关键字, 语法使用自然语言的词汇。23. PDL是描述处理过程“ ”的细节,结构化语言是描述加工“ ”的。(三)单项选择题1. 最高程度也是最差的耦合是( )。A. 公共耦合 B. 内容耦合C. 控制耦合 D. 数据耦合2. 概要设计阶段产生的文档不包括( )。A. 概要设计说明书 B. 数据库设计说明书C. 用户手册 D. 开发进度月报3. 一个模块把数值作为参数传送给另一个模块,这种耦合方式称为( )。A. 数据耦合 B. 公共耦合C.

5、 控制耦合 D. 标记耦合4. 一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为( )。A. 时间内聚 B. 功能内聚C. 通信内聚 D. 顺序内聚5. 结构化设计是一种面向( )的设计方法。A. 数据流 B. 模块C. 数据结构 D. 程序6. 结构化设计又称为( )。A. 概要设计 B. 面向数据流设计C. 面向对象设计 D. 详细设计7. 下面几种图中,不表示软件结构的图是( )图。A. DFD(数据流图) B. PAD(问题分析图)C. IDEF0 D. HIPO8. 反映模块内部特性的是( )。A. 接口 B. 状态C. 功能 D. 逻辑9. 画软件结构图时应注意调用关系

6、只能( )。A. 从上到下 B. 从下到上C. 从左到右 D. 从右到左10. 变换型DFD是一个( )结构。A. 循环 B. 选择C. 分层 D. 顺序11. 在详细设计阶段,经常采用的工具包括( )。A. SC图 B. DFD图C. PAD图 D. IDEF0图12. 结构化程序设计的一种基本方法是( )。A. 筛选法 B. 递归法C. 迭代法 D. 逐步求法13. 与详细设计相对应的是数据库的( )设计。A. 概念 B. 逻辑C. 物理 D. 功能14. 详细设计的基本任务中包括( )。A. 数据流设计 B. 人机对话设计C. 数据库的逻辑设计 D. 软件结构设计15. 主程序员组的组织

7、形式中负责全部技术活动的是( )。A. 主程序员 B. 后备程序员C. 程序管理员 D. 数据库专家16. 下面说法不正确的是( )。A. 流程图不易表示数据结构 B. 流程图容易造成非结构化的程序结构 C. 流程图支持逐步求精 D. 流程图描述的是程序的逻辑结构17. 下面说法不正确的是( )。A. PAD图支持逐步求精 B. PAD图容易造成非结构化的程序结构C. PAD图描述的是算法 D. PAD图容易表达模块的层次结构18. 可自动生成程序的详细设计方法是( )。A. 流程图 B. IPO图C. 盒图 D. PAD图(四)简答题1. 什么是软件概要设计?该阶段的基本任务是什么?2. 软

8、件设计的基本原理包括哪些内容?3. 什么是模块间的耦合性?有哪几种耦合性?简述降低模块间耦合度的方法。4. 什么是软件结构?简述软件结构设计优化准则。5. 变换分析设计与事务分析设计有什么区别?简述其设计步骤。6. 什么是软件详细设计?该阶段的基本任务是什么?7. 什么是结构化程序设计?简述结构化程序设计的基本要点。8. 详细设计有哪几种描述方法?(五)应用题2. 图4-4描述某银行安全监控系统的功能。请将该DFD图转换成软件结构图和HIPO图。图4-4 安全监控系统的DFD图(一)名词解释答案1. 软件概要设计又称结构设计,这是一个把软件需求转换为软件表示(只是描述软件的总的体系结构)的过程

9、。2. 模块在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,在软件的体系结构中,模块是可组合、分解和更换的单元。3. 模块化指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。4. 抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同特性而暂不考虑它的细节,不考虑其他因素。5. 信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。6. 模块独立性指每个模块只完成系统要求的独立的子功能,

10、并且与其他模块的联系最少且接口简单。7. 耦合性也称块间关系,指软件系统结构中各模块间相互联系紧密程度的一种度量。8. 数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中值传递。9. 标记耦合指两个模块之间传递的是数据结构。10. 控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调用模块通过该控制变量的值有选择地执行块内某一功能。11. 公共耦合指通过一个公共数据环境相互作用的那些模块间的耦合。公共数据环境可以是全程变量或数据结构、共享的通信区、内存的公共覆盖区及任何存储介质上的文件、物理设备等。12. 内容耦合指一个模块直接调用另一个模块的内部

11、数据,或通过非正常入口而转入另一个模块内部。13. 内聚性又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。14. 偶然内聚指一个模块内的各处理元素之间没有任何联系。15. 逻辑内聚指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。16. 时间内聚指需要同时执行的动作组合在一起形成的模块。17. 通信内聚指模块内所有处理元素都在同一个数据结构上操作(有时称为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。18. 顺序内聚指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。1

12、9. 功能内聚指模块内所有元素共同完成一个功能,缺一不可。因此模块不能再分割。20. 软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现。21. 结构化设计又称面向数据流的设计,它是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构。22. 变换流指数据流图(简称DFD)具有明显的输入、变换和输出界面。23. 事务流指数据流图中输入流被分离成许多数据流,形成许多加工路径,并根据输入值选择其中一条路径来执行。 24. 详细设计主要确定每个模块的具体执行过程,也称过程设计。25. 结构化程序设计是一种典型的面向数据流的软件总体设计方法。它采用自顶向下、逐步求精的设计方法和单入

13、口单出口的控制结构,并且只包含顺序、选择和重复3种结构。26. 流程图又称程序框图,是一种描述程序逻辑结构的工具。27. 问题分析图(简称PAD图)。它是一种算法描述工具,它是一种由左往右展开的二维树形结构。PAD图的控制流程为自上而下,从左到右地执行。28. 过程设计语言(简称PDL),也称程序描述语言,又称伪码,它是一种用于描述模块算法设计和处理细节的语言。(二)填空题答案1. 模块2. 做什么 怎么做3. 需求分析 概要设计 详细设计4. 概要设计说明书 数据库设计说明书 用户手册 修订测试计划5. 接口 功能 逻辑 状态6. 自顶向下 模块7. 耦合性 内聚性8. 耦合性 独立性9.

14、无直接耦合 数据耦合 标记耦合 控制耦合 公共耦合 内容耦合10. 数据值 数据结构 控制变量11. 树状或网状 模块层次12. 结构化设计 数据流图13. 变换型 事务型14. H IPO15. 过程设计 模块16. 算法 物理17. 顺序 选择 循环 单入口 单出口18. 图形 表格 语言19. 程序框图 逻辑20. 顺序组合 完整嵌套21. 从左往右 树型 自上而下 从左到右22. 算法 外层 内层23. 怎么做 做什么(三)单项选择题答案1.B 2.D 3.A 4.C 5.A 6.B 7.B 8.D 9.A 10.D11.C 12.D 13.C 14.B 15.A 16.C 17.B

15、18.D (四)简答题答案1. 软件概要设计又称结构设计,这是一个把软件需求转换为软件表示(只是描述软件的总的体系结构)的过程。该阶段的基本任务是: 设计软件系统结构: 采用某种设计方法,将一个复杂的系统按功能划分成模块。 确定每个模块的功能。 确定模块之间的调用关系。 确定模块之间的接口,即模块之间传递的信息。 评价模块结构的质量。 数据结构和数据库设计:在概要设计阶段,数据结构设计应用抽象的数据类型、数据库设计应用数据库的逻辑设计。 编写概要设计文档:包括概要设计说明书、数据库设计说明书、用户手册、修订测试计划。 评审:对设计部分是否完整地实现了需求中规定的功能、性能等要求,设计方案的可行

16、性,关键的处理及内外部接口定义正确性、有效性,各部分之间的一致性等一一进行评审。2. 软件设计的基本原理包括: 模块化:指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。模块化是软件解决复杂问题所具备的手段。 抽象:是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特性而暂不考虑它的细节,不考虑其他因素。软件工程中每一步都是对软件解决方法的抽象层次的一次细化。 信息隐蔽:指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问

17、的。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取限制。 模块独立性。指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。衡量模块独立性有两个标准耦合性和内聚性,可判断设计方案的优劣。3. 模块间的耦合性是根据模块的外部特征提出的,是对软件系统结构中各模块间相互联系紧密程度的一种度量,也称块间关系。耦合程度由低到高分为6种: 无直接耦合(不传递任何消息)。 数据耦合(传递的是值)。 标记耦合(传递的是数据结构)。 控制耦合(传递的是控制变量,例如开关、标志等)。 公共耦合(传递的是在公共数据环境中的数据)。 内容耦合(传递的是一个模块的内部数据,往往出

18、现在汇编语言中)。模块间联系越紧密,其耦合性越强,模块的独立性越差。提高模块独立性,降低模块间耦合度的措施是: 在耦合方式上降低模块间接口的复杂性。 模块接口方式不采用直接引用(内容耦合),而采用调用方式(例如过程语句调用); 模块接口信息通过参数传递且传递信息的结构尽量简单,不用复杂数据结构(例如过程、指针等),参数个数不宜过多。 在传递信息类型上尽量使用数据耦合,避免控制耦合,慎用或有控制地使用公共耦合。4. 软件结构设计优化准则如下: 划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,以此优化初始的软件结构。 一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块

19、在层次上尽量靠近。 软件结构的深度、宽度、扇入、扇出应适当。 模块的大小要适中。 模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。5. 变换分析设计是一个顺序结构,由输入、变换和输出三部分组成,其工作过程有3步:取得数据、变换数据和给出数据。事务分析设计是将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行。二者区别:变换分析设计适用于具有明显变换特征的数据流图,事务分析设计适用于具有明显事务特征的数据流图。变换分析设计步骤: 确定DFD中的变换中心、逻辑输入和逻辑输出: 从物理输入端开始,沿着数据流方向向系统中心寻找,直到有这样的数据流

20、,它不能再被看做是系统的输入,则它的前一个数据流是系统的逻辑输入。 从物理输出端开始,逆数据流方向向中间移动,可以确定系统的逻辑输出。 介于逻辑输入和逻辑输出之间的加工就是变换中心,即主加工。 设计软件结构的顶层和第一层变换结构: 顶层即主模块,主要完成所有模块的控制。 第一层至少有3个功能模块:输入、输出和变换模块,即为逻辑输入设计一个输入模块,其功能是为顶层模块提供相应数据,为逻辑输出设计一个输出模块,其功能是输出顶层模块的信息,为变换中心设计一个变换模块,其功能是将逻辑输入进行变换加工,然后逻辑输出。 设计中、下层模块。对第一层的输入、变换、输出模块自顶向下逐层分解。 输入模块下属模块的

21、设计:可设计两个下属模块,一个接收,一个转换。 输出模块下属模块的设计:可设计两个下属模块,一个转换,一个发送。 变换模块下属模块的设计:按照模块独立性原则来组织其结构,一般对每个基本加工建立一个功能模块。 设计的优化: 输入部分求精:为每个物理输入设置专门模块,其他输入模块与转换数据模块可适当合并。 输出部分求精:为每个物理输出设置专门模块,其他输出模块与转换数据模块可适当合并。 变换部分求精:根据设计准则,对模块进行合并或调整。事务分析设计步骤: 确定DFD的事务中心和加工路径:当数据流图中每个加工将一个输入数据分解成多个发散的输出数据流时,该加工就是事务中心,从事务中心辐射出去的数据流为

22、各个加工路径。 设计软件结构的顶层和第一层事务结构。顶层是一个全控模块,有两个部分:接收分支(与变换型DFD的输入部分设计方法相同)和发送分支(即调度模块,它控制管理所有下层的事务处理模块)。 设计中、下层模块、优化等工作,与变换分析设计相同。6. 详细设计是模块设计的第二阶段,主要确定每个模块的具体执行过程,也称过程设计。其基本任务有: 为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。 为模块内的数据结构进行设计。 对数据库进行物理设计,即确定数据库的物理结构。 其他设计。根据软件系统类型,还可能要进行代码设计、输入/输出格式设计、人机对话设计

23、。 编写详细设计说明书。 评审:评审处理过程的算法和数据库的物理结构。7. 结构化程序设计是一种典型的面向数据流的软件总体设计方法,它采用采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构,且只包含顺序、选择和重复3种结构。基本要点是: 采用自顶向下、逐步求精的程序设计方法:详细设计中某个模块内部处理过程仍然可以逐步求精,降低处理细节的复杂程度。 使用3种基本控制结构(顺序、选择和重复,其共同点是单入口、单出口)构造程序: 用顺序方式对过程分解,确定各部分的执行顺序。 用选择方式对过程分解,确定某个部分的执行条件。 用循环方式对过程分解,确定某个部分进行循环的开始和结束的条件。 对于处理

24、过程仍然模糊的部分反复使用以上分解方法,最终将所有细节确定下来。 主程序员组的组织形式:突出主程序员的领导,设计责任集中在少数人身上,有利于提高软件质量和软件生产率。其组织形式是: 一个主程序员:负责全部技术活动。 一个后备程序员:协调、支持主程序员。 一个程序管理员:负责事务性工作,如收集、记录数据,文档资料管理等。 一些专家(如通信专家、数据库专家)。 其他技术人员。8. 详细描述处理过程常用3种工具: 图形: 结构化程序流程图是程序逻辑结构的描述工具。 盒图(N-S图)描述常用的基本控制结构。 问题分析图(简称PAD图)是一种算法描述工具。 IPO图描述模块间的信息传递和模块内部的处理。

25、 表格: 判定表是描述逻辑条件复杂的算法。 语言:过程设计语言(简称PDL)是一种用于描述模块算法设计和处理细节的语言。 (五)应用题答案2. 图4-5 安全监控系统软件结构图系统名:安全监控系统 设计人: 模块名:地图运行模块 日期: 模块编号: 上层调用模块:地图处理 下层被调用模块:摄像机报警处理 门报警处理 文件名: 全局变量: 输入数据:报警事件图标类型T 警报标志G 输出数据: 报警事件个数N 处理: IF N=0 THEN (拒绝报警事件处理) ELSE IF T=1 AND G=1 THEN (门事件浏览) ELSE IF G=0 (退出报警事件处理) ELSE (执行摄像机报警处理) ENDIF ENDIF ENDIF 注释: 图4-6 “地图处理”的IPO图 图4-7 安全监控系统软件的H图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1