1、单项选择题(每小题1分,共10分)1、在结构性的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A )(A) 需求分析阶段 (B) 详细设计阶段(C) 概要设计阶段 (D) 可行性2、研究阶段 软件工程方法中普遍定义的方法之一是结构化生命周期方法(SLC方法),下述哪一个论述不具有SLC方法的主要特征( C )A 严格定义需求 B 划分开发阶段C 规范文档格式 D 分析控制流程3、软件结构中两个模块之间有调用关系,传递简单数据值,相当于高级语言中的值传递,这两个模块之间的耦合是( D ) (A)公共耦合 (B)控制耦合 (C)标记耦合 (D)数据耦合4、软件维护的四类维
2、护活动是( A )(A) 改正性维护,适应性维护,完善性维护和预防性维护。(B) 适应性维护,完善性维护,抢救性维护和辅助性维护。(C) 改正性维护,适应性维护,完善性维护和辅助性维护。(D) 适应性维护,完善性维护,抢救性维护和预防性维护。5、主要从( A )几个方面进行系统可行性研究。(A)技术可行性,经济可行性,操作可行性。(B)技术可行性,经济可行性,系统可行性。(C)经济可行性,系统可行性,操作可行性。(D)经济可行性,系统可行性,时间可行性。6、进行需求分析可使用多种工具,但( C )是不适用的。(A)数据流图 (B)判定表 (C)PAD图 (D)数据字典 7、软件需求分析阶段的工
3、作,可以分为四个方面:对问题的识别、分析与综合、编写需求分析文档以及( B )(A)软件的总结 (B)需求分析评审(C)阶段性报告 (D)以上答案都不对8、OMT(Object Modelling Technique)方法的第一步是从问题的陈述入手,构造系统模型。系统模型由对象模型、( C )组成。A静态模型和功能模型 B动态模型和过程模型C动态模型和功能模型 D静态模型和操作模型9、为了表示项目管理功能工作中各项任务之间的进度衔接关系,常用的计划管理工具是( D )(A) 程序结构图 (B) 数据流图 (C) E-R图 (D) 甘特(Gantt)图 软件生命周期中所花费用最多的阶段是(D)A
4、 详细设计 B软件编码C软件测试 D软件维护可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(B)的回答。A确定B行或不行C正确D无二义下列关于瀑布模型的描述正确的是(C)。A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。B. 瀑布模型具由于良好的灵活性。C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。D. 利用瀑布模型,如果发现问题则修改的代价很低。 详细设计的结果基本决定了最终程序的(C)A代码的规模B运行速度C质量D可维护性 结构化程序设计主要强调的是(D)A程序的规模 B程序的效率 C程序设计语言的先进性D程
5、序易读性 程序的三种基本控制结构是(B)A 过程、子程序和分程序B顺序、选择和重复C递归、堆栈和队列D调用、返回和转移 确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于(C)A、集成测试B、恢复测试C、验收测试D、单元测试 面向对象技术中,对象是类的实例。对象有三种成份:(A)、属性和方法(或操作)。A. 标识 B. 规则 C. 封装D. 消息 下面关于面向对象方法中消息的叙述,不正确的是(B)。A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D发送与接收消息的通信机制
6、与传统的子程序调用机制不同 面向对象程序设计中的数据隐藏指的是(D)。A 输入数据必须输入保密口令B数据经过加密处理C. 对象内部数据结构上建有防火墙D对象内部数据结构的不可访问性答案:D B C C D B C A B D1.程序设计属于软件开发过程( C)阶段。A、设计B、编程C、实现D、编码2.结构设计是一种应用最广泛的系统设计方法,是以(A)为基础、自顶向下、逐步求精和模块化的过程。A、数据流B、数据流图C、数据库D、数据结构3. 结构化程序设计主要强调程序的(C )。A、效率B、速度C、可读性D、大小4.分析员是( B)A、户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程
7、人员D、用户和软件人员的领导5. 程序的三种基本控制结构的共同特点是(D )。A、不能嵌套使用B、只能用来写简单的程序C、已经用硬件实现D、只有一个入口和一个出口6. 软件生产过程中,需求信息由( D)给出。A、程序员B、项目管理者C、软件分析设计人员D、软件用户7.与设计测试数据无关的文档是( D)。A、需求说明书B、设计说明书C、源程序D、项目开发设计8.结构化分析SA 方法以数据流图、( B)和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型。A、DFD 图B、数据字典C、IPO 图D、PAD 图9.面向数据流的软件设计方法,一般是把数据流图中数据流划分为(B),再将数据流图
8、映射为软件结构。A、数据流和事务流B、交换流和事务流C、信息流和控制流D、交换流和数据流10.总体设计的结果是提供一份( A)。A、模块说明书B、框图C、程序D、数据结构答案:1. C 2. A 3. C 4. B 5. D 6. D 7. D 8. B 9. B 10. A1. 软件是( )。A.处理对象和处理规则的描述 B. 程序C.程序及其文档 D. 计算机系统2. 软件需求规格说明的内容不应包括( )。A. 主要功能 B. 算法的详细描述C. 用户界面及运行环境 D. 软件的性能3. 程序的三种基本控制结构是( )。A. 过程、子程序和分程序 B. 顺序、选择和重复C. 递归、迭代和回
9、溯 D. 调用、返回和转移4. 面向对象的分析方法主要是建立三类模型,即( )。A) 系统模型、ER 模型、应用模型B) 对象模型、动态模型、应用模型C) -模型、对象模型、功能模型D) 对象模型、动态模型、功能模型5. 在E-R 模型中,包含以下基本成分( )。A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作6. 各种软件维护的类型中最重要的是( )。A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护7软件测试的目标是( )。A. 证明软件是正确的 B. 发现错误、降低错误带来的风险C. 排除软件中所有的错误 D. 与软件调试相同8软件生
10、命周期中所花费用最多的阶段是( )A详细设计B软件编码C软件测试D软件维护9若有一个计算类型的程序,它的输入量只有一个X,其范围是-1.0, 1.0,现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( )A条件覆盖法B等价分类法C边界值分析法D错误推测法10、详细设计的基本任务是确定每个模块的( )设计A功能B.调用关系C.输入输出数据D.算法11设函数C(X)定义问题X 的复杂程序,函数E(X)确定解决问题X 需要的工作量(时间)。对于两个问题P1 和P2,如果C(P1)C(P2)显然E(P1)E(P2),则得出结论E(P1+P2)E
11、(P1)+E(P2)就是:( )A 模块化的根据B逐步求精的根据C抽象的根据D信息隐藏和局部化的根据12下面几种白箱测试技术,哪种是最强的覆盖准则( )A语句覆盖B条件覆盖C判定覆盖D条件组合覆盖13面向数据流的设计方法把( )映射成软件结构。A数据流B系统结构C控制结构D信息流14.内聚程度最低的是( )内聚A.偶然B.过程C.顺序D.时间15.确定测试计划是在( )阶段制定的.A总体设计B.详细设计C.编码D.测试16需求分析的产品是( )A数据流程图案B数据字典C判定表D需求规格说明书17数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )A数据库设计B数据通信C数据定义D
12、数据维护18.( )引入了“风险驱动”的思想,适用于大规模的内部开发项目。A增量模型B喷泉模型C原型模型D螺旋模型19模块的内聚性最高的是( )A逻辑内聚B时间内聚C偶然内聚D功能内聚20.提高测试的有效性非常重要,成功的测试是指( )A.证明了被测试程序正确无误B. 说明了被测试程序符合相应的要求C.未发现被测程序的错误D.发现了至今为止尚未发现的错误_答案:1.C 2.B 3.B 4. 5.C 6.A 7.B 8.D 9.C 10.D 11.A 12.D 13.A 14.A 15.A 16.D 17.C 18.D 19.D 20.D一选择1、瀑布模型把软件生命周期划分为八个阶段:问题的定义
13、、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和 ( C )。 A、详细计划B、可行性分析C、运行阶段D、测试与排错 2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大 ( C )。 A、详细设计阶段B、概要设计阶段 C、 需求分析阶段D、 测试和运行阶段 3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标 ( A )。 A、需求分析阶段B、详细设计阶段 C、概要设计阶段 D、 可行性研究阶段 4、软件工程的出现主要是由于( C )
14、。 A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现D.计算机的发展 5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是 ( C ) A、硬件环境B、软件开发的环境 C、软件开发工具和软件开发的环境D、开发人员的素质 6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( B ) A、相互排斥B、相互补充C、独立使用D、交替使用 7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C ) A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法 C、基于对象的面向对象的方法
15、D、基于数据的数据流开发方法 8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( B )A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法 9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的 ( B ) A、控制流B、数据流C、程序流D、指令流 10、软件开发的结构化生命周期方法将软件生命周期划分成 ( A ) A、 计划阶段、开发阶段、运行阶段B、 计划阶段、编程阶段、测试阶段 C、 总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计 11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( A )A、瀑布模型B、
16、对象模型C、螺旋模型D、层次模型 12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是 ( C ) A、分析阶段B、设计阶段C、编码阶段D、测试阶段二.填空21系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。解析系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。22成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。解析成本效益分析首先是估算将要开发的系统的开发成本,然后与可
17、能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。23自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和(宽度优先策略) 。解析渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。24独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。解析在基本路径测试中,以详细设计或源程序
18、为基础,导出控制流程图的拓扑结构程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。25汇编语言是面向(机器) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。解析汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。26在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文
19、件)。解析JSP方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。27详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。 解析详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。28所有软件维护申请报告要按规定方式提出,该报告也称( 软件问题
20、)报告。解析在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。29有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的(维护支援)技术。解析面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。而维护支援技术则包含信息收集,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。30科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:(FORTRAN语言)、PASCAL语言、C语言和PL/1语言。解析计算
21、机语言根据不同行业的需求,使用的侧重点也不尽相同,在办公管理方面,一些数据库语言如FOXPRO、ORICAL有很多的应用,在工程行业,计算机语言的科学计算能力就显得格外重要,如MATLAB、PL/1、FORTRAN语言都是工程计算中常用的语言。三判断1软件的开发与运行经常受到硬件的限制和制约。()2模块内的高内聚往往意味着模块间的松耦合。( )3Jackson图只能表达程序结构,不能表达数据结构。(X)上述数据流图表示数据A和B同时输入变换成C。(X)5软件的质量好坏主要由验收人员负责,其他开发人员不必关心。(X )6判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。()7.应该尽量使
22、用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。(X)8UML只能应用于软件系统模型的建立。(X)9容错就是每个程序采用两种不同的算法编写。(X)10软件测试的目的是为了无一遗漏的找出所有的错误。(X)四、名词解释题(本大题共5小题,每小题3分,共15分)31.软件开发环境32.错误推测法33.黑盒测试法34.软件质量保证35.瀑布模型31经济可行性解:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。解析对于一个系统所必须要衡量的是经济上是否合算,经济可行性的范围很广,包括效益分析、潜在市场前景等。32社会可行性解:要开发的项目是否存在任何侵犯、妨碍等责
23、任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。解析社会可行性包括合同、责任、侵权等技术人员不甚了解的诸多问题。33投资回收期解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。解析通常我们用投资回收期来衡量一个开发项目的价值,投资回收期越短,就越快获得利润。34对应关系解:即有直接因果关系在程序中可以同时处理。解析对应关系是指数据单元在数据内容上、数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。35结构冲突解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。解析使用JSP方法时会遇到
24、此类结构冲突问题,对此,Jackson提出了引入中间数据结构或中间文件的办法,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。五、图 a 中,模块 G 为判定,判断涉及到模块 B、F、G,请指出设计中的错误,再根据改进模块图的基本原则,画出 12 个改进方案(不改变模块 G 的判断关系),并说明是按照哪条基本原则进行改进的。解:图 b 为一个改进方案,将模块 G 的位置提高,使其作用范围为控制范围的子集,减少模块之间的联系。40请使用PAD图和PDL语言描述在数组A(1)A(10)中找最大数的算法。解:PDL语言:N=1WHILE N=10 DOIF A
25、(N)=A(N+1) MAX =A(N+1);ELSE MAX =A(N) ENDIF;N=N+1;ENDWHILE;PAD图:解析人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。20092010学年第二学期期末考试试题选择题1. 软件危机具有下列表现( )。I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住III. 软件常常不可维护IV. 软件成本逐年上升A. I、II和IIIB. I、III和IVC. II、III和IVD. 以上都正确2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费
26、用最多的阶段往往是( )。A. 运行和维护阶段B. 设计阶段 C. 代码实现阶段D. 测试阶段3. 下列属于软件的特点的是( )。A. 软件是一种逻辑实体,具有抽象性 B. 软件在使用过程中没有磨损、老化的问题C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高 D. 以上都正确4. 软件工程的出现是由于( )。A. 软件危机的出现B. 计算机硬件技术的发展C. 软件社会化的需要D. 计算机软件技术的发展5. 软件开发技术不包含( )。A. 软件开发方法学B. 软件工程环境 C. 软件工具D. 软件质量度度量6. 软件工程的课程特点( )。I. 学科理论及其知识应用的多维性 II.
27、 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强A. I、II和IIIB. I、III和IVC. II、III和IVD. 以上都正确7. 下列属于应用软件的是( )。I. 计算机辅助教学软件 II. 软件测试工具 III. 办公自动化软件 IV. 工程与科学计算软件A. I、II和IIIB. I、III和IVC. II、III和IVD. 以上都正确8. 需求分析阶段最重要的技术文档是( )。A. 设计说明书B. 需求规格说明书 C. 可行性分析报告 D. 用户手册9. 以下关于数据流图的说法错误的是( )。A. 数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储B. 数据
28、流图是用作结构化分析的一种工具C. 传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成D. 数据流图的绘制采用自上向下、逐层分解的方法10. 数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )。A. 数据库设计B. 数据通信C. 数据定义D. 数据维护11. 需求分析阶段的研究对象是( )。A. 系统分析员要求B. 用户要求 C. 软硬件要求 D. 系统要求12. 结构化方法的基本原则是( )。A. 模块化B. 抽象与分解C. 信息隐蔽D. 逐步求精13. 耦合度最高的是( )耦合。A. 环境B. 内容C. 控制D. 数据14. 内聚程度较低的是( )内聚
29、。A. 偶然B. 通讯C. 顺序D. 时间15. 对一个程序来说,组成系统的模块数目( ),则开发成本越小。A. 越多B. 越少C. 顺序D. 时间16. 画软件结构图时应注意调用关系只能是( )。A. 从下到上B. 从上到下C. 从左到右D. 从右到左17. 程序流程图中的“”代表( )。A. 数据流B. 控制流C. 顺序流D. 调用18. DFD中的“”代表( )。A. 数据流B. 文件C. 处理D. 控制流19. DFD中的“”代表( )。A. 数据流B. 文件C. 处理D. 控制流20. DFD中的“”代表( )。A. 数据流B. 文件C. 处理D. 控制流填空题1. 计算机软件不仅仅
30、是程序,还应该有一整套 文档 。2. 传统的软件生存期模型是 瀑布模型 。3. 软件按照功能的不同可以划分为3大类型 系统软件 、 支持软件 和 应用软件 。4. DFD在软件工程中表示 数据流图 。5. 耦合性 与 内聚性 是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到 高 内聚、 低 耦合,提高模块的 独立性 ,为设计高质量的软件结构奠定基础。6. 数据流图有四种基本成分: 数据流 、 数据处理 、 文件 、 数据的源点或终点 。7. 12. 数据字典有以下四类条目: 数据流 、 数据项 、 文件 、 基本加工 。 数据项 是组成数据流和数据存储的最小元素。8. 某厂对部分职工
31、重新分配工作的政策是:年龄有20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄有20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度者当技术员;年龄有40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用结构化语言、判定表或判定树描述上述问题的加工逻辑。一、单项选择题1. D 2. A 3. D4. D5. D6. D 7. B 8. B 9. C 10. C 11. B 12. B 13. B 14. A 15. C 16. B 17. B 18. A 19.C 20. B三、简答题答:(1)结构化语言。IF年龄20THENIF文化程度=初中THEN脱产学
32、习ELSE工作为电工ENDIFELSE IF年龄40THENIF(文化程度=大学)THEN工作为技术员ELSEIF性别=男性THEN工作为钳工ELSE工作为车工ENDIFENDIFELSEIF(文化程度=大学)THEN工作为技术员ELSE工作为材料员ENDIFENDIFENDIF(2)判定树如下:一、 单选题1 在软件危机中表现出来的软件质量差的问题,其原因是_。A 软件研发人员素质太差B 用户经常干预软件系统的研发工作C 没有软件质量标准D 软件开发人员不遵守软件质量标准2 在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的_。A 安全性B 健壮性C 可用性D 可靠性3 在下列测试技
33、术中,_不属于黑盒测试技术。A 等价划分B 边界值分析C 错误推测D 逻辑覆盖4 软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指_。A 原型化方法B 结构化方法C 功能化方法D 面向对象方法5 _是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。A 多态B 继承C 封装D 消息6 Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时可以实现_。A 从数据结构导出程序结构B 从数据流图导出初始结构图C 从模块结构导出数据结构D 从模块结构导出程序结构7 软件测试时为了_而执行程序的过程。A
34、 纠正错误B 发现错误C 避免错误D 证明错误8 在软件系统中,一个模块应具有什么样的功能,这是由_决定的。A 总体设计B 需求分析C 详细设计D 程序设计9 面向对象分析是对系统进行_的一种方法。A 需求分析B 程序设计C 设计评审D 测试验收10 软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的_。A 可理解性B 可维护性C 可扩展性D 可移植11 模块内聚度越高,说明模块内各成分彼此结合的程序越_。A 松散B 紧密C 无法判断D 相等12 软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码、测试和维护等阶段,一般认为可能占用人员最多的阶段是_
35、。A 分析阶段B 设计阶段C 维护阶段D 测试阶段13 常用的面向对象的软件过程模型是_。A 瀑布模型B 喷泉模型C 原型模型D 增量模型14 面向对象的分析阶段建立的系统模型不包括_。A 对象模型B 动态模型C 功能模型D 数据模型15 提高软件的可维护性可采用很多措施,下列哪个不在措施之列?A 提供没有错误的程序B 建立质量保证制度C 改进程序文档质量D 明确软件质量标准二、 填空题1 软件工程中的结构化分析SA是一种面向 数据流 的分析方法。2 软件模块独立性的两个定性度量标准是 内聚性、耦合性 。3 软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上 的过程。4 _数
36、据流图_和数据字典共同构成了系统的逻辑模型5 等价划分 是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。三、 判断题1 软件工程学只有理论意义,没有实际用途。 ( )2 软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。( )3 可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。 ( )4 代码审查方法没有计算机测试方法好。 ( )5 验证软件需求的方法主要靠人工审查的方法。 ( )6 并发系统中遇到的一个主要问题是定时问题。 ( )7 编码风格由个人喜好决定,没有固定格式。 ( )8 面向对象建模得到的模型包含系统的3个要素,即静态结构
37、、交互次序和数据变换( )9 软件重用是提高软件开发生产率和目标系统质量的重要途径。 ( )10 判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。 ( )11 Power Designer是一个CASE工具。 ( )12 软件是指用程序设计语言(如Pascal,C,Visual Basic等)编写的程序,软件开发实际上就是编写程序代码。( )13 在进行需求分析时需同时考虑维护问题。 ( )14 UML是一种面向对象的分析设计方法,即OOA/OOD方法。 ( )15 在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。( )四、 名词解释1 白盒
38、测试2 模块化3 对象五、 简答题1 简述软件测试的任务、目的与类型。2 简述结构化程序设计方法的基本要点答案:一、 单选题1. C 2.B 3.D 4.B 5.C 6.A 7.B 8.B 9.A 10.B 11.B 12.C 13.B 14. D 15. A二、 判断题1、 2、 3、 4、 5、 6、 7、 8、9、 10、 11、 12、 13、 14、 15、三、 名词解释1 白盒测试又叫做结构测试,把程序看成装在一个透明的白盒子里,按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。2 模块化把程序划分成独立运行且可以独立访问的模块,每个模块完成一个子功能
39、,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。3 对象描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。四、 简答题1 答:软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试主要分为白盒测试和黑盒测试两大类。2 答:(1)采用自顶向下,逐步求精的程序设计方法。(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(3)采用主程序员组的组织形式。(4)采用单入口单出口的模块形式。判断题(每小题1分
40、,共5分)1. 软件开发的主要任务是写程序。错2. 测试功能是否符合要求是白盒测试。错3. 流图中的区域数等于环形复杂度。对4. 扇出是一个模块直接控制(调用)的模块数目,扇出过大意味着模块过分复杂,需要控制和协调过多的下级模块。对5. 在面向对象程序中,使用继承机制是实现共享和提高重用程度的主要途径。对简答题简述需求分析的三个层次。答:业务需求:反映了组织机构或客户对系统、产品高层次的目标要求。用户需求: 文档描述了用户使用产品必须要完成的任务。功能需求:定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。 软件测试中一般包含几个步骤?请分别加以说明。答:制定测试
41、计划 设计测试用例 执行测试 撰写测试报告 消除软件缺陷 完成简述软件测试的任务、目的与类型。答:软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现 的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试主要分为白盒测试和黑盒测试两大类。简述软件工程目标和面临的主要问题。答:软件工程的目标是应用计算机科学、数学及管理科学等原理开发软件的工程。它采用经 过实践验证的工程的原则、方法,以提高质量,降低成本。 但是目前的软件开发面临着许多问题:(1)对软件开发成本和进度的估计常常很不准 确。(2)用户常对“已完成的”软件系统不满意。(3)软件产品的质量往往靠不住。 (4) 软件常常很难维护。(5)软件常常缺乏适当的文档资料。(6)软件开发生产率提高的 速度,远远跟不上计算机应用迅速普及深入的趋势。(7)软件成本在计算机系统总成本 中所占的比例逐年上升。简述软件开发过程、每个里程碑的提交物。答:软件开发的基本过程:(1)可行性研究,做初步的需求