题型1系统开发模型_第1页
题型1系统开发模型_第2页
题型1系统开发模型_第3页
题型1系统开发模型_第4页
题型1系统开发模型_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、5.2 题型1:系统开发模型典型题5-2-1新项目与过去成功开发过的一个项目类似,但规模更大,这时应该使用_进行项目开发设计。A原型法 B变换模型 C瀑布模型 D螺旋模型解析由于新项目与过去成功开发过的一个项目类似,已经有了以前成功的项目开发经验和积累的软件模块,因此应该用尽可能将这些经验和软件模块应用到新项目中,即对于这个规模更大的软件项目,应该使用瀑布模型进行开发。答案 C典型题5-2-2在选择开发方法时,不适合使用原型法的情况是_。A用户需求模糊不清 B系统设计方案难以确定C系统使用范围变化很大 D用户的数据资源缺乏组织和管理解析原型法的主要目的是获取用户需求。当用户需求含糊不清、不完整

2、或系统设计方案难以确定时,可以快速地构造一个系统原型,并通过运行和评价系统原型,使得用户明确自己的需求。由于使用原型法开发需要适当的快速开发工具,需要用户密切地配合,因此以下的情况不适合使用原型法:用户的数据资源缺乏组织和管理;用户的软件资源缺乏组织和管理;缺乏适用的原型开发工具;用户不参与、不积极配合开发过程。答案 D典型题5-2-3软件开发中的瀑布模型典型地刻画了软件生存周期各个阶段的划分,与其最相适应的软件开发方法是_。A构件化方法 B结构化方法 C面向对象方法 D快速原型方法解析软件开发包括需求分析、设计、编码、测试和维护等阶段。瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计

3、、程序编写、软件测试和运行维护等6个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。结构化开发方法的生存周期划分与瀑布模型相对应,因此也是与其最相适应的软件开发方法。对于本题的选项A,OMG描述构件的定义为,构件是一个物理的、可替换的系统组成部分,它包装了实现体且提供了对一组接口的实现方法。构件化方法是以过程建模为先导、以构架为中心、基于构件组装的应用系统开发方法。它可以裁剪为面向对象方法,适合于构件组装模型。构件化方法和面向对象方法鼓励构件组装(复用) ,面向对象过程沿演化的螺旋迭代,因此它们瀑布模型软件开发思

4、路不相适应。对于选项C,对象是指由数据及其容许的操作所组成的封装体。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。而面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO(Object-Oriented) 方法。对于选项D,快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。显然,快速原型方法

5、可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。答案 B典型题5-2-4常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。其中_适用于需求明确或很少变更的项目。A瀑布模型 B演化模型 C螺旋模型 D喷泉模型解析瀑布模型是一种将按软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等6个基本活动,并且规定了它们自上而下、相互衔接的固定次序的系统开发方法。瀑布模型强调文档的作用,并要求每个阶段都要仔细验证,它适用于需求明确或很少变更的项目。演化模型主要针对事先不能完整定义需求的软件开发项目。根据用户的需求,首先开发核心系统。当该核心

6、系统投入运行后,用户试用并有效地提出反馈。开发人员根据用户的反馈,实施开发的迭代过程。每一次迭代过程由需求、设计、编码、测试、集成等阶段组成,为整个系统增加一个可定义的、可管理的子集。也可将该模型看作是重复执行的多个“瀑布模型”。螺旋模型是指将瀑布模型和快速原型模型结合起来,强调风险分析的一种开发模型。喷泉模型基于对象驱动,主要用于描述面向对象的开发过程。其开发过程具有迭代性和无间隙性,“迭代”意味着模型中的开发活动常常需要多次重复,每次重复都会增加或明确一些目标系统的性质,但却不是对先前工作结果的本质性改动。“无间隙”是指在开发活动(如分析、设计、编程) 之间不存在明显的边界,而是允许各开发

7、活动交叉、迭代地进行。答案 A典型题5-2-5在开发一个系统时,如果用户对系统的目标不很清楚,难以定义需求,这时最好使用。A原型法 B瀑布模型 CV-模型 D螺旋模型解析在开发一个系统时,如果用户对系统的目标不很清楚,难以定义需求,这时最好使用原型法的系统开发方法。应用原型法的主要目的就是获取需求。使用原型法,在用户的共同参与下可以改善和加快需求获取过程。其第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么。第二步则在第一步的基础上开发客户满意的软件产品。显然

8、,快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。选项B的“瀑布模型”,是一种将按软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等6个基本活动,并且规定了它们自上而下、相互衔接的固定次序的系统开发方法。瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。选项C的“V-模型”,是一种典型的测试模型。该模型通常会在其开始部分对软件开发过程进行描述,其中通过单元测试检测代码的开发是否符合详细设计的要求;集成测试检测各单元代码是否能完好地结合到一起,是否符合概要设计阶段提出的要求;系统测试检测已集成在一起的产品是否符合系统规格说明

9、书的要求;而验收测试则检测产品是否符合最终用户的需求。对于选项D的“螺旋模型”,是指将瀑布模型和快速原型模型结合起来,强调风险分析的一种开发模型。答案 A典型题5-2-6某电子商务公司由相对独立的6个子公司组成,在管理上其中3个子公司管理基础完善,基本达到科学管理的要求。企业高层为企业长远发展考虑决定建设一个基于B/S结构的管理信息系统。该系统项目可使用_进行开发建设。A生命周期法 B原型法CCASE开发方法 D面向对象开发方法解析由于该管理信息系统是为高层提供决策使用;各子公司相对独立;各子公司管理基础差别较大,因此该系统项目建议使用原型法进行开发建设。答案 B5.3 题型2:系统需求分析典

10、型题5-3-1在各种不同的软件需求中, (1) 描述了用户使用产品必须要完成的任务,可以在用例模型中予以说明。软件需求说明书是需求分析阶段的最后成果, (2) 不是其应包含的内容。(1) A业务需求 B非功能需求 C用户需求 D功能需求(2) A数据描述 B功能描述 C系统结构描述 D性能描述解析软件需求可以分为功能需求和非功能需求。其中,功能需求描述一个系统必须提供的活动和服务,它是为了满足业务需要并被用户接受而必须包含在一个信息系统中的功能或特征,可以在用例模型中予以说明。非功能需求是对系统的特征、特点和属性以及可能限制建议方法的边界约束条件的描述。软件需求说明书(SRS) 是需求分析阶段

11、最终的交付成果。一份软件需求说明书应包括:功能描述(系统应提供的功能和服务) 、非功能描述(包括系统的特征、特点、性能等) 、限制系统开发或者系统运行必须遵守的约束条件、数据描述等。答案 (1) D;(2) C。典型题5-3-2下列要素中,不属于DFD的是 (1) 。当使用DFD对一个工资系统进行建模时, (2) 可以被认定为外部实体。(1) A加工 B数据流 C数据存储 D联系(2) A接收工资单的银行 B工资系统源代码程序C工资单 D工资数据库的维护解析数据流程图(Data Flow Diagam,DFD) 也称数据流图,是一种便于用户理解、分析系统数据流程、描述系统逻辑模型的图形工具。它

12、摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。DFD由数据流、加工、数据存储和外部实体4个要素构成。外部实体是指存在于软件系统之外的人员或组织,它指出系统所需数据的发源地和系统所产生数据的归宿点。当使用DFD对一个工资系统进行建模时,接收工资单的银行可以被认定为是一个外部实体,而选项B、C、D的内容都不符合外部实体的定义。答案 (1) D;(2) A。典型题5-3-3下列关于软件需求管理与需求开发的论述,正确的是_。A所谓需求管理是指对需求开发的管理B需求管理包括:需求获取、需求分析、需求定义和需求验证C需求开发是将用户需求转化为应用

13、系统成果的过程D在需求管理中,要求维持对原有需求和所有产品构件需求的双向跟踪解析所有与需求直接相关的活动通称为需求工程。需求工程的活动可分为需求开发和需求管理两大类。其中,需求开发的目的是通过调查与分析,获取用户需求并定义产品需求。需求开发主要有需求获取、需求分析、需求定义和需求验证等4个过程。需求管理的目的是确保各方对需求的一致理解、管理和控制需求的变更,从需求到最终产品的双向跟踪。在需求管理中,要收集需求的变更和变更的理由,并且维持对原有需求和产品及构件需求的双向跟踪。答案 D典型题5-3-4有两种需求定义的方法严格定义和原型定义,在关于这两种方法的描述中,不正确的是_。A严格定义方法假定

14、所有的需求都可以预先定义B严格定义方法假定软件开发人员与用户之间的沟通存在障碍C原型定义方法认为需求分析中不可避免地要出现很多反复D原型定义方法强调用户在软件开发过程中的参与和决策解析严格定义方法用于结构化分析和设计的场合中。该方法假定所有的需求都是可以被预先定义的,而且认为修改不完善的系统需求代价昂贵且实施困难。进行严格的需求定义要求系统开发人员与用户能够进行有效地沟通,准确地了解用户的需求,并且可以用静态的图形或文本工具完整地表示系统需求。原型方法认为并不是所有的需求在系统开发之前都可以进行准确定义的,而且软件开发人员与用户之间存在通信的障碍。在具备快速建模工具的情况下通过向用户提供可以运

15、行的系统模型来吸取用户的反馈意见,通过不断反复、不断修改原型系统可以获取完整的系统需求,一旦确定了需求,就可以遵照严格的方法继续进行系统开发。答案 B典型题5-3-5需求分析的任务是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。_并不是需求分析的实现步骤之一。A获得当前系统的物理模型 B抽象出当前系统的逻辑模型C建立目标系统的逻辑模型 D确定目标实现的具体技术路线解析软件需求分析工作是软件生存周期中重要的一步,也是决定性的一步。只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。软件需求决定的是目标系统“做什

16、么”,而不是“怎么做”的问题(例如确定目标实现的具体技术路线等) 。答案 D典型题5-3-6为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。其中 (1) 本来是表达异步系统的控制规则的图形表示方法,现在已经广泛地应用于硬件与软件系统的开发中,它适用于描述与分析相互独立、协同操作的处理系统,也就是并发执行的处理系统。 (2) 是描述系统的状态如何响应外部的信号进行推移的一种图形表示。(1) A状态迁移图 B时序图 CPetri网 D数据流图(2) A状态迁移图 B时序图 CPetri网 D数据流图解析为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要

17、采用动态分析的方法。其中最常用的动态分析方法有状态迁移图、时序图和Petri网。状态迁移图是描述系统的状态如何响应外部的信号进行推移的一种图形表示。时序图用于对比在系统中处理时间的时序与相应的处理时间,进行系统分析。Petri网方法本来是表达异步系统的控制规则的图形表示方法,现在已经广泛地应用于硬件与软件系统的开发中,它适用于描述与分析相互独立、协同操作的处理系统,也就是并发执行的处理系统。数据流图是描述数据处理过程的工具,从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,是描述系统逻辑模型的图形化工具之一。答案 (1) C;(2) A。典型题5-3-7在信息系统建设中

18、,为了使开发出来的目标系统能满足实际需要,在着手编程之前应认真考虑、以下问题:1) 系统所要求解决的问题是什么?2) 为解决该问题,系统应干些什么?3) 系统应该怎样去干?其中第2个问题的解决是 (1) 的任务,第3个问题的解决是 (2) 的任务。(1) A信息系统总体规划阶段 B信息系统分析阶段C信息系统设计阶段 D信息系统实施阶段(2) A信息系统总体规划阶段 B信息系统分析阶段C信息系统设计阶段 D信息系统实施阶段解析信息系统的建设按其生命周期可依次分为总体规划阶段、系统分析阶段、系统设计阶段、系统实施阶段等。其中,总体规划阶段是系统开发过程的第一步,其主要目标是制定出信息系统的长期发展

19、方案,决定信息系统在整个生命周期内的发展方向、规模和发展进程等。系统分析阶段是整个信息系统建设中最重要的一个阶段,在这个阶段中要对所要组建的信息系统环境进行详细的调查,从而提出新系统的逻辑设计方案,其本质就是通过对现有系统的描述、分析来回答未来的信息系统要“做什么”的问题,新系统所要求解决的问题是什么。系统设计阶段是通过给出新信息系统的物理模型来描述如何实现在系统分析阶段规定的系统功能,其要回答的中心问题是“如何做”,即系统应干些什么。从生命周期来看,系统实施阶段是前面各阶段工作的延伸和目的。这一实施阶段是将系统设计的结果付诸实践,建立相应的软硬件环境、安装和调试对应的系统软件、组织系统测试、

20、培训相应的管理人员并交付使用、维护的一系列过程。答案 (1) B;(2) C。典型题5-3-8系统分析是信息系统开发重要的阶段。系统分析的困难不包括_。A问题空间的理解 B系统建模工具的复杂性C人与人之间的沟通 D环境的不断变化解析系统分析侧重于从业务全过程的角度进行分析。随着软件系统复杂性的提高以及规模的扩大,系统分析的地位愈来愈突出,从而也愈来愈困难。其难点主要体现在:用户需求含糊且易变;问题空间难于的理解(问题的复杂性) ;开发人员与用户以及开发人员之间的沟通存在障碍;信息系统的应用环境不断变化等。系统建模工具的复杂性属于软件开发队伍内部问题,它不是系统分析的主要困难。答案 B典型题5-

21、3-9(1) 是一种最常用的结构化分析工具,它从数据传递和加工的角度,以图形的方式刻画系统内数据的运行情况。通常使用 (2) 作为该工具的补充说明。(1) A数据流图 B数据字典 CER图 D判定表(2) A数据流图 B数据字典 CER图 D判定表解析数据流图是系统分析阶段用于描述系统逻辑模型的图形描述工具,解决信息系统“做什么”的问题。逻辑数据流图强调参与者所做的事情,可以帮助设计者决定需要哪些系统资源,为了运行系统用户必须执行的活动,在系统安装之后如何保护和控制这些系统。逻辑数据流图说明应该具有哪些加工和数据存储,而不关心这些加工和数据存储是如何实现的。物理数据流图关注的是系统中的物理实体

22、,以及一些具体的文档、报告和其他输入/输出硬拷贝。物理数据流图用作系统构造和实现的技术性蓝图。物理数据流图需要说明加工和数据存储是如何实现的。数据字典是从文字方面对新系统逻辑模型进行描述的系统分析工具。它是数据流图的补充说明,即它在数据流图的基础上,对其中的每个数据流、数据存储和数据项等加以定义和说明,其目的是进行数据分析和归档。答案 (1) A;(2) B。典型题5-3-10系统分析模型应明确体现的因素是_。性能描述 功能描述 约束条件 系统结构 动态模型A、和 B、和C、和 D、和解析系统建模是系统分析阶段的一个重要环节,用于描述所建立系统的软硬件模型、优化系统描述的的过程。系统分析模型应

23、明确体现的因素有:性能描述,反映的是系统的整体面貌及体系结构,应明确地或隐含地说明系统I/O及相关的中间状态,以及相互之间的关系;功能描述,应明确表述系统各项功能特点与系统I/O及相关的中间状态之问的关系;约束条件,应明确规定技术指标的适用范围、系统的工作环境要求及系统性能的缺陷、不足等;动态模型,是评价系统质量的指标体系,常与价格、速度、字长、可靠性等具体项目有关。答案 B典型题5-3-11下述任务中,不属于软件工程需求分析阶段的是_。A分析软件系统的数据要求 B确定软件系统的功能需求C确定软件系统的性能要求 D确定软件系统的运行平台解析需求分析阶段的主要任务是为一个新系统定义业务需求,该阶

24、段的关键是描述一个系统必须做什么(或者一个系统是什么) ,而不是系统应该如何实现。它通常被划分成5个工作阶段:问题分析;问题评估和方案综合;建模;规约;复审。具体来说,需求分析阶段需完成以下要求:确定软件系统的功能需求和非功能需求;分析软件系统的数据要求;导出系统的逻辑模型;修正项目开发计划;如有必要,可以开发一个原型系统。对于本题的选项D,确定软件系统的运行平台是系统设计阶段的工作任务之一。答案 D典型题5-3-12在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法_。A只有结构化语言 B有结构化语言和判定树C有结构化语言、判定树和判定表 D有

25、判定树和判定表解析在结构化分析中,数据流图以图形形式描述了系统的逻辑模型,而数据字典是以文字形式描述系统的逻辑模型。数据流图没有对图中各成分进行说明,利用数据字典为数据流图中的每个数据流、数据存储、加工,外部实体以及组成数据流或文件的数据项做出说明。其中对加工的描述称为“小说明”,或称为“加工逻辑说明”,它描述了输入数据流、输入文件与输出数据流、输出文件之间的逻辑关系。常用的加工逻辑描述方法主要有结构化语言、判定树和判定表。答案 C5.4 题型3:系统设计与实典型题5-4-1软件开发工具VB、PB、Delphi是可视化的。这些工具是一种_程序语言。A事件驱动 B逻辑式 C函数式 D命令式解析事

26、件驱动(Event Driven) 是指系统根据发生的事件发送消息给相应的程序,程序根据事件和当前状态,决定要做的事情。如果不发生事件,计算机的控制权并不是正在执行的程序手里,这时程序并不占用CPU资源。面向对象和可视化程序设计方法采用了事件驱动机制,所以程序设计方法发生了很大的改变。事件驱动给程序设计带来了极大的灵活性。同时,它可以在不采用分时系统的前提下实现多进程。可视化程序设计(Visual Programming) 运用面向对象程序设计的概念,通过图形化及可视途径,构建应用程序。它使程序设计更为简单、容易。软件开发工具Visual Basic、PB和Delphi提供了可视化的集成开发环

27、境,运用代表通用于程序的图标,通过图形操作,构建基于图形用户界面(GUI) 的应用程序,是一种以事件驱动的程序语言。答案 A典型题5-4-2PROLOG语言属于_程序设计范型,该范型将程序设计归结为列举事实,定义逻辑关系等。A过程式 B函数式 C面向逻辑 D面向对象解析程序设计范型是指程序设计的体裁。目前代表性的程序设计范型主要有:过程式程序设计范型、函数式程序设计范型、面向逻辑的程序设计范型和;面向对象程序设计范型,见表5-2。 表5-2代表性的程序设计范型表 类型说明例子过程式程序设计范型将软件程序归结为数据结构、算法过程或函数的设计与确定,程序的执行被看作是各过程调用的序列Pascal语

28、言、C语言函数式程序设计范型将程序看做是“描述输入与输出之间的关系”的一个数学函数LISP语言面向逻辑的程序设计范型将程序设计归结为列举事实、定义逻辑关系等Prolog语言面向对象程序设计范型将程序归结为一系列对象类,通过继承关系、消息传递等联结起来的结构答案 C典型题5-4-3实施新旧信息系统转换,采用_方式风险最小。A直接转换 B并行转换 C分段转换 D分块转换解析新旧信息系统之间的转换有直接转换、并行转换和分段转换,见表5-3。 表5-3系统之间的转换方式对比表 转 换 方 式描述备注直接转换是指在确定新系统运行无误时,立刻启用新系统,终止旧系统运行这种转换方式对人员、设备费用很节省。这

29、种方式一般适用于一些处理过程不太复杂,数据不太重要的场合并行转换是指新旧系统并行工作一段时间,经过一段时间的考验以后,新系统正式替代旧系统。对于较复杂的大型系统,它提供了一个与旧系统运行结果进行比较的机会,可以对新旧两个系统的时间要求、出错次数和工作效率给以公正的评价是一种经常使用的转换方式。由于与旧系统并行工作,消除了尚未认识新系统之前的紧张和不安:其特点是安全、可靠、风险小,但费用和工作量都很大,因为在相当长时间内系统要两套班子并行工作分段转换又称逐步转换、向导转换、试点过渡法等。这种转换方式实际上是直接转换与并行转换方式的结合。在新系统全部正式运行前,一部分一部分地代替旧系统。那些在转换

30、过程中还没有正式运行的部分,可以在一个模拟环境中继续试运行这种转换方式既保证了可靠性,又不至于费用太大。但是这种分段转换要求子系统之间有一定的独立性,即对系统的设计和实现都有一定的要求,否则就无法实现这种分段转换的设想答案 B典型题5-4-4(1) 可用于描述数据流图中数据存储及其之间的关系,最初用于数据库概念设计。在某学生选课系统中使用该工具来描述,学生的学号属于 (2) 。(1) A实体关系图 B数据字典 CIPO图 D判定表(2) A实体 B关系 C属性 D方法解析实体关系(ER) 模型将现实的信息结构统一用实体、属性以及实体之间的关系来描述,它可用于描述数据流图中数据存储及其之间的关系

31、。实体是客观存在并可互相区分的“事物”。实体必须有一组表征其特征的“属性”来描述。关系是实体之间存在的对应的联系,关系也可以有属性。在某学生选课系统中使用ER图来描述时,通常学生的学号定义为“学生”这一实体的属性。答案 (1) A;(2) C。典型题5-4-5在结构化设计中,_描述了模块的输入输出关系、处理内容、模块的内部数据和模块的调用关系,是系统设计的重要成果,也是系统实施阶段编制程序设计任务书和进行程序设计的出发点和依据。A系统流程图 BIPO图 CHIPO图 D模块结构图解析在结构化设计中,分层输入一处理一输出图(HIPO图) 既可以描述软件总的模块层次结构,又可以描述每个模块的输入/

32、输出关系、处理内容、模块的内部数据和模块的调用关系。它是系统设计的重要成果,也是系统实施阶段编制程序设计任务书和进行程序设计的出发点和依据。答案 C典型题5-4-6下列聚合类型中内聚程度最高的是 (1) ,下列耦合类型中耦合程度最低的是 (2) 。(1) A偶然内聚 B时间内聚 C功能内聚 D过程内聚(2) A数据耦合 B控制耦合 C公共耦合 D内容耦合解析模块的内聚性表现了模块内部各个子成分(代码) 功能的集中程度。按模块内聚程度从低到高排序为:偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。模块的耦合度表现了模块之间相互关联的程度。按模块耦合程度从低到高排序为:无直接耦合、数据

33、耦合、标记耦合、控制耦合、公共耦合、内容耦合等6级。答案 (1) C;(2) A。典型题5-4-7软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定_。A模块间的操作细节 B模块问的相似性C模块问的组成关系 D模块的具体功能解析软件设计通常可分为概要设计和详细设计两个阶段。其中,概要设计的主要任务是软件系统的结构、进行模块划分、确定每个模块的功能、接口以及模块间的调用关系。体系结构设计的主要目标是开发一个模块化的程序结构,并表示出模块间的控制关系。此外,体系结构设计将程序结构和数据结构相结合,为数据在程序中的流动定义了接口。因此,软件结构设计的主要任务是要确定模

34、块问的组成关系。对于选项A“模块间的操作细节”属于软件物理设计的工作任务之一;对于选项D“模块的具体功能”属于软件逻辑设计的工作任务之一,选项A及选项D均是软件实现过程中需要考虑的内容。而对于选项B“模块问的相似性”不属于是软件结构设计的主要任务之一。答案 C典型题5-4-8在面向数据流的设计方法中,一般把数据流图中的数据流划分为_两种。A数据流和事务流 B变换流和数据流 C变换流和事务流 D控制流和事务流解析结构化设计方法方法采用结构图(sc) 来描述程序的结构。结构图的基本成分由模块、调用和输入/输出数据组成。通常在需求分析阶段,用结构化分析方法产生了数据流图。面向数据流的设计能方便地将数

35、据流图(DFD) 转换成程序结构图,数据流图中从系统的输入数据到系统的输出数据流的一连串连续变换将形成一条信息流。数据流图的信息流大体可分为两种类型,一种是变换流,另一种是事务流。信息沿着输入通路进入系统,同时将信息的外部形式转换成内部表示,然后通过变换中心处理,再沿着输出通路转换成外部形式化离开系统。具有这种特性的信息流称为变换流。信息沿着输入通路到达一个事务中心,事务中心根据输入信息的类型在若干个动作序列中选择一个来执行,这种信息流称为事务流。答案 C央型题5-4-9在新系统全部正式运行前,一部分一部分地代替旧系统的统转换策略称为_。A直接转换 B位置转换 C分段转换 D并行转换解析新系统

36、试运行成功之后,就可以在新系统和旧系统之间互相转换。分段转换又称逐步转换、向导转换、试点过渡法等。这种转换方式实际上是直接转换与并行转换方式的结合。在新系统全部正式运行前,一部分一部分地代替旧系统。那些在转换过程中还没有正式运行的部分,可以在一个模拟环境中继续试运行。这种转换方式既保证了可靠性,又不至于费用太大。但是它要求子系统之间有一定的独立性,否则就无法实现这种分段转换的设想。答案 C典型题5-4-1开发专家系统时,通过描述事实和规则由模式匹配得出结论,这种情况下适用的开发语言是_。A面向对象语言 B函数式语言 C过程式语言 D逻辑式语言解析用逻辑式程序设计语言编写程序不需要描述具体的解题

37、过程,只需要给出一些必要的事实和规则。这些规则是解决问题的方法的规范说明,根据这些事实和规则,计算机利用谓词逻辑,通过演绎推理得到求解问题的执行序列。逻辑式语言主要用在人工智能领域,也应用在自然语言处理、数据库查询、算法描述等方面,尤其适合于作为专家系统的开发工具。函数式程序设计语言的数据结构本质上是表,而函数又可以作为值出现在表中,因此函数式程序的控制结构取决于函数,以及函数的定义和调用。函数式语言主要用于符号数据处理,如微分和积分演算、数理逻辑、游戏推演以及人工智能等其他领域。答案 D典型题5-4-11在高级程序设计语言中,用于描述程序中的运算步骤、控制结构及数据传输的是_。A语句 B语义

38、 C语用 D语法解析在高级程序设计语言中,语句用于描述程序中的运算步骤、控制结构及数据传输。程序设计语言的语法是语言的外观。给出语言的语法意味着给出语句、声明和其他语言结构的书写规则。语义则表示不同的语法结构的含义。在程序语言的手册中,语言的描述都是围绕着语法结构展开的。通常,先给出各种语句结构的语法,然后给出对应该结构的语义以描述内在含义。语句是关于程序与使用者之间的关系。答案 A5.5 题型4:系统测试典型题5-5-1某软件开发从详细设计到集成测试各阶段所需工作量估计(按软件工程师人月数估计) 如表5-4所示,这几个阶段分配的软件工程师和程序员人数如表5-5所示。假设编码与单元测试阶段,软

39、件工程师的生产率是程序员的2倍。若在该项目的这几个阶段都增加一名软件工程师,则这几个阶段可以缩短_个月完成任务(假定各个开发阶段串行工作) 。 表5-4 开 发 阶 段估计所需人月数详细设计6编码与单元测试12集成测试12合计30表5-5 开 发 阶 段分组人数软件工程师程序员详细设计20编码与单元测试22集成测试20A1 B2 C3 D4解析 这是一道考查软件开发工作量估算的试题。由表5-4可知,编码与单元测试阶段所花费的时间大约是12个人月,即1名软件工程师需要12个月的时间才能完成。根据题目的假设:该阶段软件工程师的生产率是程序员的2倍,则1名程序员需要花费24个月才能完成。根据表5-4

40、和表5-5给出的数据,可得到如表5-6所示的开发时间。 表5-6 开发阶段估计需人月数分组人数所需时间(月)软件工程师程序员详细设计6206/2=3编码与单元测试122212/(2+1)=4集成测试122012/2=6合计303+4+6=13若按照表5-5的人员配置总共需要13个月才能完成这3个阶段的工作。若在每个阶段都增加1名软件工程,则得到如表5-7所示的开发时间。此时只需9个月就可以完成这3个阶段的工作,因此可以将工作缩短13-9=4个月。 表5-7 开发阶段估计需人月数分组人数所需时间(月)软件工程师程序员详细设计606/3=2编码与单元测试12212/(3+1)=3集成测试12012

41、/3=4合计302+3+4=9 答案 D典型题5-5-2软件测试是为了发现错误而执行程序的过程。检验软件是否满足用户需求的测试称为 (1) 。 (2) 是维护中常用的方法,其目的是检验修改所引起的副作用。黑盒测试法主要根据 (3) 来设计测试用例。(1) A确认测试 B有效性测试C系统测试 D集成测试(2) A回归测试 B模块测试C功能测试 D结构测试(3) A程序数据结构 B程序流程图C程序内部逻辑 D程序外部功能解析软件测试是为了发现错误而执行程序的过程。软件测试的主要步骤有单元测试、集成测试(组装测试) 和确认测试。其中,确认测试的任务是检查软件的功能、性能及其他特征是否与用户的需求一致

42、,它是以需求规格说明书作为依据的测试。确认测试通常采用黑盒测试法。黑盒测试也称为功能测试,是根据规格说明所规定的功能(即程序的外部功能) 来设计测试用例,它不考虑程序的内部结构和处理过程。常用的黑盒测试技术有等价类划分、边值分析、错误猜测、因果图等。回归测试是为了验证修改的正确性及其影响而进行的,是维护中常用的方法,以确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。回归测试作为软件生存周期的一个组成部分,在整个软件测试过程中占有很大的比重,软件开发的各个阶段都会进行多次回归测试。答案 (1) A;(2) A;(3) D。典型题5-5-3根据McCabe环路复杂性度量,下面程序图

43、(图5-2) 的复杂度是 (1) ,对这个程序进行路径覆盖测试,可得到的基本路径是 (2) 。(1) A2 B3 C4 D5(2) AABCHIK;ABCHJK:ABCDEFGBABCHIK;ABCHJK;ABCDEFGCHIK:ABCDEGCHIKCABCHIK;ABCHJK;ABCDEFGCHIK:ABDEGCHJKDABCHIK;ABCHJK;ABCDEFGCHIK;ABCDEFGCHJK;ABCDEGCHIK解析对程序图环路复杂度的求解有3种方法。解法1:程序图的环路数是源代码复杂程度的度量。根据McCabe度量法,环路数N=e-n+2,其中,e表示有向图的边数,n表示节点数。图5-2

44、中e=13,n=11,得到N=13-11+2=4。解法2:计算有向图把平面划分成的区域数。图5-2中有3个闭合区域外加1个开放区域,共4个区域。所以程序图的复杂度是4。解法3:图5-2中有3个判断节点,即节点C、E、H,所以程序图的复杂度是判断节点数加1,即3+1=4。路径测试的关键是要找出程序图中所有可能的路径,这些基本路径都是从程序起点到终点,并且包含了至少一条独立的边。对图5-2所示的程序进行路径覆盖测试,可得到4条基本路径:ABCHIK;ABCHJK;ABCDEFGCHIK;ABCDEGCHIK。答案 (1) C;(2) B。典型题5-5-4基线是软件生存期各个开发阶段的工作成果,测试

45、阶段的基线是_。A可提交的软件 B被测试的程序 C提交报告 D测试报告解析这是一道考查软件配置管理的基本概念题。基线(baseline) 是软件生命期各个开发阶段末尾的特定点,也称为里程碑(milestone) 。连续的开发工作在这些点上被分割开来进行成果检验,必要时可以进行变更控制。有了基线,就可以防止开发中的错误跨越阶段向后扩散,也可以防止跨越里程碑去修改另一开发阶段的工作成果。软件规划阶段的基线是开发计划;需求分析阶段的基线是需求规格说明书和用户手册;系统设计阶段的基线是设计规格说明书;系统编码阶段的基线是程序清单;系统测试阶段的基线是测试报告。答案 D典型题5-5-5集成测试有各种方法

46、,以下关于集成测试的描述中,不正确的是_。A增量式集成测试容易定位错误,排除错误B非增量式集成测试不能充分利用人力,会拖延工程进度C增量式集成测试的强度大,测试更彻底D即使各个模块都通过了测试,但系统集成以后仍可能出现错误解析集成测试也称组测试,是把系统的各个模块按照系统设计说明书的要求组合起来进行测试。组合的过程可以是增量式的和非增量式的。所谓非增量式测试是先分别测试各个模块,然后把所有的模块组合起来进行总体测试。而增量式测试是先测试一个模块,然后再加入一个模块进行测试,通过不断地增加模块,进行多次测试,最后完成整个系统的测试。这两种测试方法的优缺点对比见表5-8。答案 B典型题5-5-6黑

47、盒测试方法是根据软件产品的功能设计规格说明书,通过运行程序进行测试,证实每个已经实现的功能是否符合设计要求。如果某产品的文本编辑框允许输入1255个字符,采用_测试方法,其测试数据为:0个字符、1个字符、255个字符和256个字符。A等价类划分 B边界值分析 C比较测试 D正交数组测试解析对于选项A的“等价类划分测试方法”是将程序的输入域划分为数据类,以便导出测试案例,等价划分的测试案例设计基于对输入条件的等价类评估。对于选项B的“边界值分析测试方法”是一种补充等价类划分的测试案例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试案例。例如,如果某产品的文本编辑框允许输入1255个

48、字符,则其边界值分析测试数据为:第0个字符、第1个字符、第255个字符和第256个字符。对于选项C的“比较测试方法”是利用冗余系统的经验,对关键应用程序开发不同的版本,利用自动化工具对其输出进行比较。对于选项D的“正交数组测试方法”被应用于输入域相对较小但对穷举测试而言又过大的问题。正交数组测试对于发现与区域错误相关的错误特别有用。答案 B典型题5-5-7测试是保证软件质量的重要手段。根据国家标准GB 8566-88计算机软件开发规范的规定,应该在_阶段制定系统测试计划。A需求分析 B概要设计 C详细设计 D系统测试解析根据国家标准GB 8566-88计算机软件开发规范的规定,单元测试是根据详

49、细设计阶段给出的“规格说明书”在编码阶段完成的测试工作;集成测试的计划是在概要设计阶段制定的;系统测试计划应该在需求分析阶段就开始制订,并在设计阶段细化和完善,而不是等系统编码完成后才制订测试计划;而验收测试则检测产品是否符合最终用户的需求。软件测试的各个阶段与软件开发阶段的对应关系如图5-3所示。答案 A典型题5-5-8软件测试通常分为单元测试、组装测试、确认测试、系统测试等四个阶段。_属于确认测试阶段的活动。A设计评审 B代码审查 C结构测试 D可靠性测试解析软件测试通常分为单元测试、组装测试、确认测试、系统测试等四个阶段。表5-9给出了这4个阶段的主要工作任务和测试依据。确认测试包括有效

50、性测试和软件配置审查。有效性测试是在模拟的环境下,运用黑盒测试方法,验证所测软件是否满足需求规格说明书列出的要求。在有效性测试中除考虑功能、性能以外,还需检验可移植性、可靠性、兼容性、用户界面及系统所提供的文档资料是否符合要求等内容。软件配置审查的目的在于确保已开发软件的所有文档资料均已编写齐全,足以支持投入运行以后的软件维护工作。 表5-9软件测试各阶段的主要任务及依据 阶段主 要 任 务测 试 依 据单元测试对软件设计的最小单位模块进行正确性检验的测试详细设计说明书、源程序组装测试也称为集成测试,它是把模块在按照设计要求组装起来的同时进行测试,主要目的是发现域接口有半的错误概要设计说明书确

51、认测试检验软件的功能和性能及其他特性是否满足了需求规格说明中确定的各种需求,以及软件配置是否完全、正确需求规格说明书、合同书系统测试 把通过确认测试的软件作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下的测试活动答案 D典型题5-5-9系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。_不是系统测试的内容。A路径测试 B可靠性测试 C安装测试 D安全测试解析 系统测试是将软件系统与硬件、外设和网络等其他因素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统需求相比较,发现所开发

52、的系统与用户需求不符或矛盾的地方。常见的系统测试主要有恢复测试、强度测试、性能测试、可靠性测试、安装测试和安全性测试。而对于选项A的“基本路径测试”属于白盒测试技术的一种测试方法,该方法允许测试用例设计者导出一个过程设计的逻辑复杂性测度,并使用该测度作为指南来定义执行路径的基本集。从该基本集导出的测试用例保证对程序中的每一条语句至少执行一次。答案 A典型题5-5-10代码走查(code walkthrough) 和代码审查(code inspection) 是两种不同的代码评审方法,这两种方法的主要区别是_。A在代码审查中由编写代码的程序员来组织讨论,而在代码走查中由高级管理人员来领导评审小组

53、的活动B在代码审查中只检查代码中是否有错误,而在代码走查中还要检查程序与设计文档的一致性C在代码走查中只检查程序的正确性,而在代码审查中还要评审程序员的编程能力和工作业绩D代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的解析 代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的。因此选项D说法正确。而选项A的说法应改正为“在代码走查中由编写代码的程序员来组织讨论,而在代码审查中由高级管理人员来领导评审小组的活动”。选项B的说法应改正为“无论代码审查和代码走查都要检查程序与设计文档的一致性”。选项C中说要评审程序员的编程能力和工作业绩也是不对的。答案 D典型题5-5-11一个故障已经被发现,而且也被排除了,为了检查修改是否引起了其他故障,这时应该进行_。A程序走查 B退化测试 C软件评审 D接收测试解析 一个故障已经被发现,而且也被排除了,因为在修改过程中纠正了老的错误又会引入新的错误,此时应该进行退化测试(RegesSion Test) ,以防止出现新错误的。退化测试包括以下步骤:插入新代码,程序成为新版本;测试可能受新代码影响功能;测试修改前的基本功能;测试新版本的功能。选项A的“程序走查”是由Bell等人提出来的一种评价程序语言的方法,它以用户为中心,通过走查用户使用程序完成任务的情况进而评价程序语言设计的可用性和流畅性。对于选项C的“软

温馨提示

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

评论

0/150

提交评论