《[理学]软件工程导论.doc》由会员分享,可在线阅读,更多相关《[理学]软件工程导论.doc(50页珍藏版)》请在三一办公上搜索。
1、第一章:软件工程学概述一.选择题解答:二.判断题1. 1. 瀑布模型的存在问题是缺乏灵活性。( )2. 2. 软件是一种逻辑产品。( )3. 3. 软件工程学科出现的主要原因是程序设计方法学的影响。( )4. 4. 有关计算机程序功能、设计、编制、使用的文字或图形资料称为文档。( )5. 5. CASE开放式工作台或者提供控制集成机制,或者可剪裁,其数据集成或协议是独立的。( )6. 6. 在软件的开发与维护过程中,用来存储、更新、恢复和管理一个软件的多版本,它是版本控制工具。( )7. 7. 平台集成是指工具运行在相同的硬件/操作系统平台上。( )8. 8. 软件生存周期模型有多种,功能模型
2、是软件生存周期模型。( )9. 9. 从结构化的瀑布模型看,在软件生命周期中得8个阶段中,详细设计阶段出错,对软件的影响最大。( )10. 10. 软件生存周期中时间最长的阶段是需求分析阶段。( )11. 11. 软件开发的结构化生命周期方法将软件生命周期划分成需求分析、功能定义、系统设计。( )12. 12. 增量模型是一种整体开发模型。( )13. 13. 构造模型时,主要考虑全部功能。( )14. 14. 瀑布模型本质上是一种线性迭代模型。( )15. 15. 快速原型思想是在研究概要设计阶段的方法和技术中产生的。( )三.名词解释1. 1. 软件工程;2. 2. 软件生命周期模型;解答
3、:1. 软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。2. 软件生命周期模型是描述软件开发过程中各种活动如何执行的模型。四.简答题1. 1. 请简要说明可行性分析的内容。2. 2. 请写出六种软件CASE工具。3. 3. 什么是软件工程?软件工程的目标是什么?4. 4. 什么是结构化分析方法?该方法使用什么描述工具?5. 5. 软件设计的基本原理包括什么?6. 6. 简述容错技术的四种主要手段,并解释7. 7. 软件生命周期划分成哪些阶段8. 8. 简要说明软件危机产生的原因9. 9. CMM全称是什么?分为哪几个级别?解答:1. 技术可行性:技术分析说明使用现有系统是否能完
4、成本系统的开发。经济可行性:经济分析应着重两个因素“成本和收益”,应向管理层提供有关这两方面足够的信息。如果项目的收益大于成本,则此项目可以说是经济上可行。操作可行性:系统的操作方式是否能够在组织内得到认同,是否违背有关法律、制度、道德、文化等因素。2. (1)Power Designer(分析设计工具或软件建模工具),(2)Rational Rose(分析设计工具或软件建模工具),(3)Win Runner(测试工具),(4)MS Project(项目管理工具),(5)MS Visio(软件开发绘图工具)、(6)VSS(软件配置工具)。3. 软件工程是将系统化的、规范的、可度量的方法应用于软
5、件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,对中所选方法的研究。目标:1 合理预算开发成本,付出较低的开发费用、2 实现预期的软件功能,达到较好的软件性能,满足用户的需求、3 提高软件的可维护性,降低维护费用、4 提高软件开发生产率,及时交付使用。4. 结构化的分析方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据流向和对数据的加工处理。结构化分析方法用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直至找到满足功能要求的所有可实现的软件元素为止描述工具:1系统流程图 2 数据流程图3数据字典4 IPO图 5层次方框图6实体关系图7状态变迁图
6、。5. 模块化:指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。模块化是软件解决复杂问题所具备的手段。 抽象:是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特性而暂不考虑它的细节,不考虑其他因素。软件工程中每一步都是对软件解决方法的抽象层次的一次细化。 信息隐蔽:指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取限制。 模块独立性。指每个模块只完成
7、系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。衡量模块独立性有两个标准耦合性和内聚性,可判断设计方案的优劣。6. 结构冗余:包括静态冗余、动态冗余和混合冗余。信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。冗余附加技术:指为实现上述冗余技术所需的资源和技术。7. 软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。1.软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析2.开发时期:总体设计、详细设计、编码和单元测试、综合测试。3.维护时期:主要任务是使软件持久地满足用户的需
8、要。8. 1.软件缺乏可见性,导致对软件开发成本,工作量,速度的估计不准确。2.对用户要求没有完整准确的认识,不能适应用户的需求。3.缺乏对软件产品和开发过程的质量控制,导致软件产品的质量往往靠不住。4.在实践过程中或多或少的采用了错误的方法和技术。5.开发和维护过程中文档化工作做的不好,缺乏配置管理。9. CMM全称是软件能力成熟度模型;从无序到有序的进化分成5个级别,分别为:1 初始级;2 可重复级;3 已定义级;4 已管理级;5 优化级。五.论述题(方案1)1. 1. 从软件过程中选择3种说明其名称、示意图以及特点。解答:1. 1. 螺旋模型:螺旋模型的基本思想是,使用原型及其他方法来尽
9、量降低风险。理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型瀑布模型:瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。增量模型又称演化模型。在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。六.应用题(方案2)解答:七.综合题解答:八.填空题1. 1. 计算机科学中的研究成果均可用于软件工程,但计算机科学更侧重于_、而软件工程侧重于_。2. 2. 计算机
10、程序及其说明程序的各种文档称为_。计算任务的处理图像对象和处理规则的描述称为_。有关计算机程序功能、设计、编制、使用的文字或图形资料称为_。 3. 3. 软件开发环境是相关一组_的集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成的。4. 4. CASE这一术语的英文是_。5. 5. _是指工具运行在相同的硬件/操作系统平台上。_是指工具使用共享数据模型来操作。_是指工具提供相同的用户界面。6. 6. 根据支持的范围,CASE工具可分为_、_和_工具。7. 7. 软件危机的主要原因有_和_。8. 8. _模型是一种非整体开发的模型。软件在该模型中是“逐渐”开发处理的,开发出一部分,
11、向用户展示一部分,可让用户及早看到部分软件,及早发现问题。或者先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。9. 9. 结构化方法总得指导思想是_。它的基本原则是功能的_与_。它是软件工程中最早出现的开发方法,特别适用于数据处理领域的问题。10. 10. 面向对象开发方法包括_、_、_、三部分。11. 11. 瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。它包括_、项目开发计划、_、_ 、_、 _、_、_,它规定了由前至后、相互衔接的固定次序,如同瀑布流水,逐级下落。 12. 12. 瀑布模型本质上是一种_顺序模型
12、。13. 13. 构造原型时,必须注意_取舍,忽略一切暂时不关心的部分。14. 14. 属性指的是类中对象所具有的_。不同对象的同一属性可以具有相同或不同的_。15. 15. 结构化方法和原型化方法是软件开发中常使用的两种方法,在实际的应用中,它们之间的关系表现为_。解答:1. 原理和理论、如何建造一个软件系统2. 文件、程序、文档;3. 软件工具;4. Computer Aided Software Engineering;5. 平台集成、数据集成、表示集成;6. 窄支持、较宽支持、一般支持;7. 软件本身的特点、缺乏好的开发方法和手段;8. 增量;9. 自顶而下逐步求精、分解、抽象;10.
13、 面向对象分析、面向对象设计、面向对象实现;11. 可行性分析、需求分析、概要设计、详细设计、编码、测试、维护;12. 线性;13. 功能性能;14. 性质(数据值)、属性值;15. 相互补充;第二章: 可行性研究一.选择题解答:二.判断题1. 1. 父图中某个加工的输入输出数据流图应具备对称特点。( )2. 2. 数据流图(DFD)是软件开发需求分析阶段经常使用的工具。( )3. 3. 在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是参与人员之间的通讯困难。( )4. 4. 可行性分析中,系统流程图用于描述当前运行系统。( )5. 5. 研究软硬件资源的有效性是进行操作可
14、行性研究的一方面。( )6. 6. 可行性研究要进行的需求分析和设计应是简化、压缩的。( )7. 7. 系统流程图是描述物理系统的工具。( )8. 8. 软件系统中所有的信息流都可以认为是事物流。( )9. 9. 软件系统中所有的信息流都可以认为是变化流。( )10. 10. 在程序的描述和分析中,用以指明数据来源、数据流向和数据处理的辅助图形是数据流图。( )11. 11. 加工是对数据流图中不能再分解的基本加工的精确说明,且加工逻辑是加工的最核心。( )12. 12. 软件定义期间问题定义阶段涉及的人员有系统分析员、软件开发人员、用户与使用部门的负责人。( )13. 13. 系统定义明确之
15、后,应对系统的可行性进行研究。可行性研究包括经济可行性、社会可行性、系统可行性。( )14. 14. 在结构化分析方法中,用状态-迁移图表达系统和对象的行为。在状态-迁移图中,由一个状态和一个时间所决定的下一个状态只能有1个。( )15. 15. 提供严格定义的文档是原型化方法的特征。( )三.名词解释解答:四.简答题1. 1.什么是数据字典?其作用是什么?它有哪些条目?2. 2. 什么是数据流图?其作用是什么?3. 3.可行性研究的任务有哪些?解答:1. 数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/终点。作用:数据流程图描述了系统的逻辑结构,其中的四个基本图形
16、元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。包括的条目:数据流词条、数据元素词条、数据存储词条、数据加工处理词条、数据源点及终点词条。2. 数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号:“”箭头表示数据流;“”圆或椭圆表述加工;“=”双杠表示数据存储;“”方框表示数据的源点或终点。3. 3. 可行性研究首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制。把它们清
17、楚地列举出来。然后分析员进行简单的需求分析,经过压缩的设计,探索出若干种可提供选择的主要解决办法。对每种解决办法都要研究它的可行性。主要从经济可行性、技术可行性和社会可行性三方面进行研究。五.论述题(方案1)解答:六.应用题(方案2)解答:七.综合题解答:八.填空题1. 1. 数据词典中四种类型的条目是_、_、_和加工。2. 2. _的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。3. 3. 可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否_。4. 4. 可行性研究实质上是要进行一次简化、压缩了的_和_过程,要在较高层次上以较抽象的方式进行需求
18、分析和设计过程。5. 5. 可行性研究需要从_可行性、_可行性、_可行性三个方面分析研究每种解决方法的可行性。6. 6. 成本-效益分析首先是估算将要开发的系统的_,然后与可能取得的效益进行_。7. 7.投资回收期就是使累计的经济效益等于最初的投资费用所需要的时间。项目的_是指在整个生命周期之内的累计经济效益(折合成现在值)与投资之差。8. 8. 软件工程有两种效益,它们是_和_。9. 9. 成本-效益分析的目的是从_评价开发一个新的软件项目是否可行。10. 10. 研究开发资源的有效性是进行_可行性研究的一方面。11. 11. 在软件的可行性研究中,可以从不同的角度对软件进行研究,其中是从软
19、件的功能可行性角度考虑的是_。12. 12. 制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是_。13. 13. 数据流图是常用的进行软件需求分析的图形工具,其基本符合是_、_、_和_。14. 14. 决定大型程序模型组织基本原则的两种交替设计策略为_和_。15. 15. 软件系统可行性分析应考虑_、_、_和_等方面因素。解答:1. 数据流、数据存储、数据项、加工2. 软件可行性研究3. 值得去开发且其中的问题能否解决;4. 需求分析、设计5. 技术、经济、社会6. 开发成本、比较和权衡7. 纯收入8. 无形效益、有形效益9. 经济角度10. 技术11. 技术可行性12.
20、 规划与调度13. 加工、数据流、数据存储、外部实体14. 数据分解、算法分解15. 经济、技术、社会环境和人。第三章: 需求分析一.选择题解答:二.判断题1. 1. 数据流图(DFD)是软件开发可行性分析阶段经常使用的工具。( )2. 2. 需求分析阶段的任务是确定软件系统的功能。( )3. 3. 在数据流图中,不能被计算机处理的成分是数据源/终点。( )4. 4. 通过功能分解可以完成数据流图的细化。( )5. 5. 分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的输入与输出。( )6. 6. 数据字典中,一般不包括数据存储条目。( )7. 7. 初步用户手册在需求分析
21、阶段编写。( )8. 8. SA方法的分析步骤是首先调查了解当前系统的逻辑模型,然后获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型。( )9. 9. 每个数据流必须用名词或名词短语命名。( )10. 10. 模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准时模块的内聚性和耦合性。( )11. 11. 数据词典的任务是对于数据流图中出现的所有被命名的数据元素,在数据词典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的描述。( )12. 12. 在需求分析中,开发人员要从用户那里解决的最重要的问题是要让软件做什么。()13. 13. 结构化分析方
22、法(SA)是一种面向数据结构需求分析方法。( )14. 14. 软件需求分析的任务包括结构化程序设计。( )15. 15. SA方法是一种自顶下下逐层分解的分析方法。( )三.名词解释解答:四.简答题1. 1. 什么是需求分析?需求分析阶段的基本任务是什么?解答:1. 所谓需求分析,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,“需求分析”就是确定要计算机“做什么”。任务:确定软件项目的目标和范围。调查使用者的要求,分析软件必须做什么,编写需求规格说明书等它相关文档,并进行必要的需求审查。除此之外,还包括需求变更控制,需求风险
23、控制,需求版本控制等对需求的管理工作。五.论述题(方案1)解答:六.应用题(方案2)1. 1.以教师,学生,课程为实体,描述其E-R关系图解答:1. 七.综合题解答:八.填空题1. 1. 软件需求分析过程应该建立_、_和_ 三种模型。2. 2. 需求分析的基本任务是要准确地定义_,为了满足用户需要,回答系统必须做什么的问题。3. 3. 数据流图有4个基本成分:_、_、_和_。4. 4. 流向数据存储的数据流可理解为_文件或_文件,从数据存储流出的数据可理解为从文件_数据或得到_结果。5. 5. 需求分析的困难主要体现在4个方面:问题的复杂性、_、_需求易变性。6. 6. 由于数据流是流动中的数
24、据,所以必须有_。除了与_之间的数据流不用命名外,数据流应该用名词或名词短语命名。7. 7. 结构化分析方法是面向_进行需求分析的方法。8. 8. 经过需求分析,开发人员已经基本上理解了用户的要求,确定了目标系统的功能,定义了系统数据,描述了处理这些数据的基本策略。将这些共同的理解进行了整理,最后形成文档_。9. 9. 在数据流图中,有名字及方向的成分是_。10. 10. 在软件需求分析中,开发人员要从用户那里解决的最重要的问题是_。11. 11. 需求分析的最终结果是产生_。12. 12. SA方法用DFD描述_。13. 13. SA方法的基本思想是_。14. 14. 常用的需求分析方法有面
25、向数据流的结构化分析方法,_,面向数据结构的分析方法等。15. 15. 通过_可以完成数据流图的细化。解答:1. 数据模型、功能模型、行为模型2. 新系统的目标3. 数据流、加工(又称数据处理)、数据存储、数据源点和终点4. 写入、查询、读、查询5. 交流障碍、不完备性和不一致性6. 流向、数据存储7. 数据流8. 需求说明书9. 数据流10. 要让软件做什么11. 需求规格说明书12. 系统的功能13. 自顶向下逐步分解14. 面向对象的分析方法15. 功能分解第四章: 形式化说明技术一.选择题解答:二.判断题解答:三.名词解释解答:四.简答题解答:五.论述题(方案1)解答:六.应用题(方案
26、2)解答:七.综合题解答:八.填空题解答:第五章: 总体设计一.选择题解答:二.判断题1. 1. 一般说来,模块大小以三至四页为宜。( )2. 2. 软件设计一般分为总体设计和详细设计,它们之间的关系是全局与局部。( )3. 3. 好的软件结构应该是高内聚、低耦合。( )4. 4. 一个模块把一个数质量作为参数传递给另一个模块。这两个模块之间的耦合是数据耦合。( )5. 5. 在面向数据流的软件设计方法中,一般将信息流分为变换流和事务流。( )6. 6. 首先将系统中得关键部分设计出来,再让系统的其余部分的设计去适应它们,这称为自顶向下设计。( )7. 7. 划分模块时,一个模块的控制范围应在
27、其作用范围之内。( )8. 8. 结构化设计方法在软件开发中,用于概要设计。( )9. 9. 软件结构图中,模块框之间若有直线连接,表示它们之间存在着组成关系。( )10. 10. 软件概要设计结束后得到初始化的软件结构图。( )11. 11. 偶然内聚是指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。( )12. 12. 设计软件结构一般不确定模块内的局部数据。( )13. 13. 通过抽象,可以确定组成软件的过程实体。( )14. 14. 标记耦合是指两个模块之间的调用关系,传递的是简单的数据值。( )15. 15. 内容耦合是指一个模块直接使用另一个模块的内部数据,或
28、通过非正常入口而转入另一个模块内部。( )三.名词解释1. 1. 数据耦合;2. 2. 标记耦合3. 3. 偶然内聚4. 4. 逻辑内聚5. 5. 时间内聚6. 6. 软件概要设计7. 7. 软件结构8. 8. 面向数据流的设计方法9. 9. 耦合性10. 10. 模块独立性11. 11. 模块12. 12. 模块的作用范围13. 13. 模块的控制范围14. 14. 通信内聚15. 15. 顺序内聚解答:1. 数据耦合是指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递2. 标记耦合是指两个模块之间传递的是数据结构,如高级语言中的数组名、记录名、文件名等这些名字即为标记
29、,其实传递的是这个数据结构的地址;3. 偶然内聚指一个模块内的各处理元素之间没有任何联系。这是内聚程度最差的内聚;4. 逻辑内聚指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能;5. 把需要同时执行的动作组合在一起形成的模块称为时间内聚模块;6. 描述软件的总的体系结构,称为“软件概要设计”;7. 软件结构是软件系统的模块层次结构,反映了整个系统划分模块时,尽量做到高内聚低耦合;8. 面向数据流的设计方法,也称“结构化设计方法”(SD),它与结构化分析(SA)相衔接,它按一定的设计策略将数据流图转化成软件的模块层次结构;9. 耦合性也称“块间关系”。指软件系统结构中各模块间相
30、互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差;10. 模块独立性指每个模块只完成系统要求的独立的子功能,并且与其它模块的联系最少且接口简单;11. 模块是可组合、分解和更换的单元,在程序中它是数据说明、可执行语句等程序对象的集合,或者是单独命名和编制的元素;12. 模块的作用范围是指受该模块内一个判定影响的所有模块的集合;13. 模块的控制范围是指模块本身以及其所有下属模块的集合;14. 通信内聚指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或者产生相同的输出数据;15. 顺序内聚指一个模块中各个处理元素都紧密相关与同一功能且必
31、须顺序执行,前一功能元素的输出就是下一功能元素的输入。四.简答题1. 1. 请简要说明软件耦合性和内聚性2. 2. 什么是概要设计?有哪些基本任务?3. 3. 系统设计的内容是什么?解答:1. 模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准耦合性和内聚性。耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性
32、就越高。2. 概要设计:根据用户的需求先确定软件系统的总体结构和总的设计原则基本的任务:设想供选择的方案、推荐最佳方案、功能分解,确定软件结构、设计软件结构、制定测试计划、数据设计、书写文档、设计审查和复审。3. (1)系统分解。系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称为模块。(2)确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。后者可以放在一起,而综合成单个控制线或任务。(3)数据存储管理。系
33、统中的内部数据和外部数据的存储管理是一项重要的任务。通常各数据存储可以将数据结构、文件、数据库组合在一起,不同数据存储要在费用、访问时间、容量以及可靠性之间做折中考虑。(4)人机交互接口设计。设计中的大部分工作都与稳定的状态行为有关,但必须考虑用户使用系统的交互接口。五.论述题(方案1)1. 1. 说明软件内聚的方式2. 2. 说明软件耦合的方式解答:1. (1) 偶然内聚。模块中的代码无法定义其不同功能的调用。但它使该模块能执行不同的功能,这种模块称为巧合强度模块。(2) 逻辑内聚。这种模块把几种相关的功能组合在一起, 每次被调用时,由传送给模块参数来确定该模块应完成哪一种功能(3) 时间内
34、聚:把需要同时执行的动作组合在一起形成的模块为时间内聚模块。(4) 过程内聚:构件或者操作的组合方式是,允许在调用前面的构件或操作之后,马上调用后面的构件或操作,即使两者之间没有数据进行传递。(5) 通信内聚:指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。(6) 顺序内聚:指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素输出就是下一功能元素的输入。(7) 功能内聚:这是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。2. (1)数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当
35、于高级语言的值传递; (2)标记耦合指两个模块之间传递的是数据结构,如高级语言中的数组名、记录名、文件名等这些名字即标记,其实传递的是这个数据结构的地址。(3)控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某一功能。(4)公共耦合指通过一个公共数据环境相互作用的那些模块间的耦合。公共耦合的复杂程序随耦合模块的个数增加而增加。(5)内容耦合:这是最高程度的耦合,也是最差的耦合。当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。六.应用题(方案2)解答:七.综合题解答:八.填空题解答:第六章: 详细设计
36、一.选择题解答:二.判断题解答:三.名词解释解答:四.简答题解答:五.论述题(方案1)解答:六.应用题(方案2)解答:七.综合题解答:八.填空题1. 1. 过程设计语言的重复结构有_结构、_结构_、结构三种。2. 2. 结构化程序设计方法的基本要点是:(1)采用_、_、的程序设计方法;(2)使用_构造程序;(3)主程序员组的组织形式。 3. 3. 在详细设计阶段,为了提高数据的输入、存储、检索等操作的效率并节约存储空间,对某些数据项的值要进行_设计。4. 4. 任何程序都可由_、_和_三种基本控制结构构造。这三种基本结构的共同点是_、_。5. 5. 在详细设计阶段,除了对模块内的算法进行设计,
37、还应对模块内的_进行设计。6. 6. 在详细设计阶段,经常采用的工具有_、PDL、PAD等。解答:1. for、while、until2. 自顶向下、逐步求精、三种基本控制结构3. 代码4. 顺序、选择、重复、单入口、单出口5. 数据结构6. 程序流程图第七章: 实现一.选择题解答:二.判断题解答:三.名词解释解答:四.简答题1. 1. 比较负载测试、压力测试,容量测试区别。2. 2. 为建立良好的编程风格应遵循什么原则。3. 3.简述测试计划的目标和内容4. 4. 简述编码风格的重要性。5. 5. 简述静态测试的优点和缺点。6. 6. 简述Alpha测试与beta的区别。7. 7. 黑盒测试
38、和白盒测试有什么区别?8. 8.程序设计风格是什么?9. 9.在编写输入和输出程序时应考虑哪些原则?10. 10.对效率的追求应明确哪几点?解答:1. 负载测试:在不同的工作负荷下,系统的负荷及响应时间。压力测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。容量测试的目的是使系统承受超额的数据容量来发现它是否能够正
39、确处理。容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。2. (1) 简单化 (2)模块化 (3)结构化 (4)文档化 (5)格式化3. 软件测试计划的目标:1.规定测试活动的范围、方法、资源和进度; 2.明确正在测试的项目、要测试的特性,要执行的测试任务、每个任务的负责人,以及与计划相关的风险。测试计划内容:测试计划标识、背景介绍、测试项目、“通过/失败”的准则、中止的标准和恢复的条件、测试的交付件、需要的环境、责任和角色 时间计划安排、人员配备和必要的培训、风险和意外处理4. 阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章。应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间。良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量。5. 优点加深对项目的理解,使测试计划和测试设计质量得到提高;使得测试用例全面、有效,从“撞问题”转变为有目的的“找问题”提前了对项目的理解,减少了测试执行时的摸索时间,从而加快测试进度缺点静态代码检查非常耗费时间,而且代码检查需要丰富的知识和经验积累。6. Alpha测试 在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。