《软件工程考试试题含答案》由会员分享,可在线阅读,更多相关《软件工程考试试题含答案(22页珍藏版)》请在金锄头文库上搜索。
1、一、 填空题(每空1分,共25分)1. 软件生存周期一般可以划分为,问题定义、_、_、设计、编码、测试和_。2. 基于软件的功能划分,软件可以划分成_、_、_三种。3. 可行性研究,应从 、技术可行性、运行可行性、 和开放方案可行性等方面研究。4. 系统流程图是描绘 的传统工具。它的基本思想是用图形符号以 描绘系统里面的每个部件。5. 数据流图的基本四种成分:数据输入的源点和数据输出汇点、 、 和 。6. 结构化分析方法是面向_进行需求分析的方法。结构化分析方法使用_与_来描述。7. 是自动地共享类、子类和对象中的方法和数据的机制。8. 软件详细设计工具可分为3类,即_、_和_。9. 为了在软
2、件开发过程中保证软件的质量,主要采取下述措施:_、复查和管理复审、_。10. 大型软件测试包括 、 、确认测试和 四个步骤。1、 可行性研究 需求分析 运行与维护2、 系统软件 支撑软件 应用软件3、 经济可行性 法律可行性4、 物理系统 黑盒子形式5、 加工 数据流 数据存储文件6、 数据流 数据流图DFD 数据字典DD7、 继承性8、 图示工具、设计语言 表格工具9、 审查 测试10、 单元测试 集成测试 系统测试二、 单项选择题(每小题2分,共20分)12345CCCAC678910DDACB1. 软件设计中划分模块的一个准则是( )。A、 低内聚低耦合B、 低内聚高耦合C、 高内聚低耦
3、合D、 高内聚高耦合2. Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( )的软件设计方法。A、 对象B、 数据流C、 数据结构D、 控制结构3. 试判断下列叙述中,哪 个(些)是正确的( )。a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、a B、b C、c D、b和c4. ( )是用户和设计交换最频繁的方法。A、 原型化方法 B、瀑布模型方法C、 螺旋模型方法 D、构件组装模型5. 软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( )。A
4、、 硬件环境B、软件开发的环境C、 软件开发工具和软件开发的环境 D、 开发人员的素质6. 20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言( )。A、 PASCAL B、 VISUAL BASICC、 C+D、 汇编语言7. 软件测试的目的是?( )A、 证明软件的正确性B、 找出软件系统中存在的所有错误C、 证明软件系统中存在错误D、 尽可能多的发现软件系统中的错误8. 使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。A、程序的内部逻辑 B、程序的复杂程度C、该软件的编辑人员 D、程序的功能9. 软件维护工作的最主要部分是( )。A、 校正性维
5、护 B、适应性维护C、完善性维护 D、预防性维护10. PDL是( )语言。A、 高级程序设计语言 B、伪码式 C、中级程序设计语言 D、低级程序设计语言三、 判断题(正确的在括号内打上“”,错误的打上“”。每题2分,共20分)1. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。( )2. 发现错误多的程序模块,残留在模块中的错误也多。( )3. 为了加快软件维护作业的进度,应尽可能增加维护人员的数目。( )4. 软件维护就是改正软件中的错误。( )5. 质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。( )6. 软件开发的主要任务是写程序。 ( )7.
6、测试只能证明程序有错误,不能证明程序没有错误。( )8. 模块化程序设计中,模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。( )9. 在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等。( )10. 程序设计风格指导原则提出,尽量多使用临时变量。( )四、 简答题(每题5分,共20分)1 什么是软件工程?2 耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?3 简述需求分析工作可以分成哪四个方面?软件需求分析的有哪三个基本原则?4 什么是黑盒测试法?五、 程序设计与算法描述题(共
7、15分)1. 根据下面的伪代码程序,完成相应要求。(8分) START IF C1THEN WHILE C2 DO f ENDDOELSE BLOCK g p ENDBLOCK ENDIF REPEAT UNTIL C3qr ENDREP STOP1) 画出程序流程图(4分)2) 用NS图描述(4分)2. 有下列伪码程序:STARTINPUT (M,N)IF M=10 THEN X=10 ELSE X=lENDIFIF N=20 THEN Y=20 ELSE Y=2ENDIFPRINT(X,Y)STOP设计该程序的语句覆盖和路径覆盖测试用例。(7分)软件工程A答案及评分标准(仅供参考)二、 填
8、空题(每空1分,共25分)三、 单项选择题(每小题2分,共20分)12345CCCAC678910DDACB四、 判断题(正确的在括号内打上“”,错误的打上“”。每题2分,共20分)15: 610: 五、 简答题(每题5分,共20分)1、 答:软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 2、 答:低:非直接耦合 数据耦合标记耦合 控制耦合外部耦合 公共耦合内容耦合 :高强:功能内聚 信息内聚 通信内聚 过程内聚 时间内聚 逻辑内聚 巧合内聚:弱 3、 答:需求分析阶段
9、分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。三个基本原则:必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图。4、 答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。六、 分析设计题(共15分)1、 (1)程序流程图如下:4分 (2)N-S图 如下:4分2、 (7分)设计该程序的语句覆盖和路径覆盖测试用例。 M=9(或l0),N=l9(或=10),N=20(或=20)路径覆盖的测试
10、用例为 M=9,N=19; M=9、N=20; M=l0,N=l9; M=10,N=20要目标是提高软件质量,减少软件维护代价。问题定义(确定题目)可行性研究需求分析概要设计详细设计编码和单元测试综合测试系统设计系统实现软件定义软件开发运行维护:主要任务是使软件持久地满足用户的需要软件生命周期:一、二、 软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型)三、 可行性研究:1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。2、四个方面:技术、经济、操作可行性3、数据流图四种成分:1、源点/终点2、处理3、数据存储4、数据流四、 需求分析:1、任务:确定系统必须完成哪些工
11、作,对目标系统提出完整、清晰、具体的要求。2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法。3、实体联系图:1、数据对象2、属性3、联系(1:1、1:N、M:N)五、 总体设计:1、 任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构。2、 系统设计阶段(确定系统具体实施方案)、结构设计阶段(确定软件结构)3、 模块独立:内聚和耦合耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统内聚 (Cohesion): 一个模块内各元素结合的紧密程度4、 面向数
12、据流的设计方法:变换流和事务流六、 详细设计:1、 任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。2、 过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树)3、 面向数据结构的设计方法(jackson方法):4、 程序复杂程度的定量(McCabe方法):1、V(G)=E-N+2(E是流图中边的条数,N是结点数) 2、V(G)=P+1(P是流图中判定结点的个数) 3、流图中的区域数等于环形复杂度。七、 编码八、 单元测试:又称模块测试。每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。九、 集成测试:在单元测试完成后,要考虑将模块集成为系统的过程中可能出