收藏 分享(赏)

软件工程试题和答案.doc

上传人:cjc2202537 文档编号:135594 上传时间:2018-03-22 格式:DOC 页数:19 大小:326KB
下载 相关 举报
软件工程试题和答案.doc_第1页
第1页 / 共19页
软件工程试题和答案.doc_第2页
第2页 / 共19页
软件工程试题和答案.doc_第3页
第3页 / 共19页
软件工程试题和答案.doc_第4页
第4页 / 共19页
软件工程试题和答案.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、一、 选择 1、 在软件开发的各种资源中, (B )是最重要的资源。A 开发工具 B 方法 C 硬件环境 D 人员2、 软件的复杂性是( A ) ,它引起人员通信困难、开发费用超支、开发时间超时等问题。A 固有的 B 人为的 C 可消除的 D 不可降低的3、 原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持4、 单元测试的测试用例主要根据( D )的结果来设计。A 需求分析 B 源程序 C 概要设计 D 详细设计5、 (A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软

2、件确认、软件改进等活动组成。A 软件过程 B 软件工具 C 软件生存周质量保证 D 软件工程6、 ( A )意味着一个操作在不同的类中可以有不同的实现方式。A 多态性 B 类的复用 C 封装7、软件测试计划开始于需求分析阶段,完成于( D )阶段。A 需求分析 B 软件设计 C 软件实现 D 软件测试8、在软件生存周期的瀑布模型中一般包括计划、 ( C ) 、设计、编码、测试、维护等阶段。A 可行性分析 B 需求采集 C 需求分析 D 问题定义9. 软件需求分析阶段的测试手段一般采用( C ) 。A 总结 B 阶段性报告 C 需求分析评审 D 不测试10. ( C )是把对象的属性和操作结合在

3、一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。A 多态性 B 继承 C 封装 D 消息11. 软件测试是为了( B )而执行程序的过程。A 纠正错误 B 发现错误 C 避免错误 D 证明正确12. 在结构化分析方法中, (C )表达系统内部数据运动的图形化技术。A 数据字典 B 实体关系图 C 数据流图 D 状态转换图13. 软件工程的基本要素包括方法、工具和( A ) 。A 过程 B 软件系统 C 硬件环境 D 人员14. TURBO PASCAL 是( A)软件。A、系统软件 B、人工智能 C、事务软件 D、应用软件15、选择结构的复杂性比顺序结

4、构的复杂性要(B ) 。A、小 B、大 C、相等 D、无法比较16、模块内聚度越高,说明模块内各成分彼此结合的程度越(B ) 。A、松散 B、紧密 C、无法判断 D、相等17、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以( )维护所占的维护量最小(C ) 。A、纠错性维护 B、代码维护 C、预防性维护 D、文档维护18、在下述哪一种测试中,测试人员必须接触到源程序( C) 。功能测试 结构测试A、均不需 B、只有 C、只有 D、和19、软件设计阶段的输出主要是(D ) 。A、程序 B、模块 C、伪代码 D、设计规格说明书20、软件测试方法中,黑盒、白盒测试法是常用的方法

5、,其中白盒测试主要用于测试(D ) 。A、结构合理性 B、软件外部功能 C、程序正确性 D、程序内部逻辑21、下面哪几个阶段是软件的设计阶段(D ) 。A、编码 B、可行性研究 C、测试 D、维护 E、需求分析22、数据字典是用来定义( D )中的各个成分的具体含义的。A流程图 B功能结构图 C系统结构图 D数据流图23、在面向对象设计中, (A )意味着在同一作用域内的若干个参数不同的函数可以使用相同的函数名字。A重载 B类的复用 C封装 D继承二,判断 (正确则打 , 错误则打)1、文档是软件产品的一部分,没有文档的软件就不称其为软件。 ( R )2、在需求分析过程中,分析员要从用户那里解

6、决的最重要的问题是给该软件提供哪些信息。 ( R )3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。 ( R )4、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。 ( W )5、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。 ( R )6、面向对象的分析是面向计算机系统建立软件系统的对象模型。 ( W )7、不完善的系统定义往往是导致软件项目失败的主要原因。 ( R )8、一个成功的项目唯一提交的就是运行程序。 ( W )9、只有质量差的软件产品才需要维护。 ( W )10、一个好的测试用例在于能发现至今未发现的错误。 ( R )

7、11、软件工作的考虑范围主要是程序设计和实现。 ( W )12、在项目计划发生延迟的情况下,增加更多的程序员一定会加快进度。 ( W )13、软件错误可能出现在开发过程的早期,越早修改越好。 ( R )14, 在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。 ( W )15, 模型是对现实的简化,建模是为了更好地理解所开发的系统。 ( R )16, 好的测试用例应能证明软件是正确的。 ( W )17, 白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。 ( W )三三三三三三, 填空题1、 在学校中,一个学生可以选修多门课程,一门课程可以由多个学

8、生选修,那么学生和课程之间是 多对多 关系。2、 动物与老虎之间是 继承 关系,森林和树木之间是 组合 关系。3、衡量模块独立的两个标准是内聚和耦合。4、结构化分析实质是就是一种建模活动,通常建立 数据 模型、功能模型、行为模型。5、在面向对象设计过程中,先后要建立3 个模型,它们分别是对象模型_、_ 动态模型_、_功能模型_6、组成数据流图的四种成分是(源点或终点) 、 (数据流) 、 (处理) 、 (数据存储)7、程序的逻辑结构分为顺序结构、分支结构、和循环结构等三大类8、面向对象的方法有四个要点:对象、类、继承、通信9、将正确答案的编号填入题目空白处:在白盒测试用例设计中,有语句覆盖、条

9、件覆盖、判定覆盖、路径覆盖等,其中,_2_是最强的覆盖准则。为了对下图所示的程序进行覆盖测试,必须适当地选取测试数据。若 X、Y 是两个变量,可供选择的数据组共有、四组(如表中给出),则实现语句覆盖至少应采用的测试数据组是_1_;实现条件覆盖至少应采用的测试数据组是_5_;实现路径覆盖至少应采用的测试数据组是_5_ 或_8_ 。供选择的答案: A:语句覆盖 条件覆盖 判定覆盖 路径覆盖 BE:和组 和组 和组 和组 、和组 、和组 、和 、和组 10、快速原型应该具备的基本特性是:_快速_、_ 容易修改_ 四,问答题 1、什么是需求分析?需求分析阶段的基本任务是什么? 答:需求分析指的是在建立

10、一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。 需求分析阶段的基本任务是:要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。 2、为什么说面向对象方法学比传统方法学在稳定性方面要好? 答:传统的软件开发以算法为核心,开发过程基于功能分析和功能分解.用传统方法所建立起来的软件系统的结构紧密依赖于系统所要完成的功能,当功能需求 发生变化时将引起软件结构的整体修改.事实上,用户需求变化大部分是针对功能的,因此这样的软件系统是不稳定的。面向对象方法基于构造问题领域的对象模型,以对象为中心构造软件系统。它的基本作法是用对象模拟问题领域中

11、的实体,以对象间的联系刻画实体间的联系。当对系统的功能需求变化时并不会引起软件结构的整体变化,仅仅只需要作一些局部性的修改。总之,由于现实世界中的实体是相对稳定的,因此,对象为中心构造的软件系统也是比较稳定的。 为什么说面向对象方法学比传统方法学在可重用性方面要好? 答:传统的软件重用技术是利用标准函数库来构造新的软件系统,但是标准函数少必要的“柔性”,不能适应不同应用场合的不同需求,并不是理想的可重用的软件成分。在面向对象方法所使用的对象中,数据和操作正是作为平等伙伴出现的,因此,对象具有很强的自合性。此外,对象所固有的封装性和信息,隐藏机理,使得对象内部实现与外界隔离,具有较强的独立性。由

12、此可见,对象是比较理想的模块和可重用的软件成分。 3、你认为一个好的软件开发人员应具备哪些基本素质? 答:1.最重要的,学习和总结的能力 2.设计能力3.软件工程能力 4、为什么软件需要维护?简述软件维护的过程。 答:1.软件维护就是要针对用户使用软件产品过程提出的问题而对软件产品进行相应的修改或演化,从而修正错误,改善性能或其它特征,以及使软件适应变化的环境。 2.软件维护的过程:提出维护要求,分析维护要求,提出维护方案,审批维护方案,确定维护计划,修改软件设计,修改程序,测试程序,复查验收。 5、 传统“瀑布模型“的主要缺陷是什么?试说明造成缺陷的原因。 答:“瀑布模型是文档驱动的” 。在

13、项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。 6、 某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示:请问图中是否应该增加“教务人员“?试说明理由。答: 不应该增加“教务人员“,因为教务人员只是该系统的一个使用者,系统不处理其属性信息。7、 下面是一段求最大值的程序,其中 datalist 是数据表,n 是 datalist 的长度。int GetMax(int n, int datalist )int k

14、=0;for ( int j=1; j datalistk ) k=j;return k;(1) 画出该程序的控制流图,并计算其复杂度。(2) 列出独立路径(3) 为各测试路径设计测试用例。答:1.控制流图如下,McCabe 环路复杂性为3 。2. 测试路径: Path1: Path2: Path3: 3. 测试用例: Path1: 取 n=1,datalist0 = 1, 预期结果:k=0 Path2: 取 n=2,datalist0 = 1,datalist1 = 0, 预期结果:k=0 Path3: 取 n=2,datalist0 = 0,datalist1 = 1, 预期结果:k=1

15、8, 以下是销售管理所需要的信息: 生产厂家编号、厂家名称、联系电话、联系人、联系地址、产品编号、产品名称、产品说明、销售商场名称、销售商场编号、商场联系电话、商场联系人、商场联系地址 分析这些信息,把它们设计成几个表,并将这些表之间建立起关系,要求反映出:一个工厂生产多种产品,一个商店经营多种产品 E-R 图数据流图:9, 写出求最小公倍数的程序(或框图) ,画出其控制流图,计算其复杂度,列出独立路径,为各独立路径设计测试用例。#include “stdio.h“void main()int a,b,m,n,c,t;printf(“请输入两个整数:“);scanf(“%d%d“,m=a;n=

16、b;if(ab)a-=b;elseb-=a;printf(“%d“,a);控制流程图复杂度 2 11、画数据流图要注意哪些事项?答:1.设计数据流图时只需考虑系统必须完成的基本逻辑功能,不需要考虑怎样具体的实现这些功能。2.从顶层数据流开始。3.并不是所有数据存储和数据流都能直接从问题描述中提取出来;4.当进一步分解将涉及如何具体地实现一个功能时,就不应该在分解了;5.数据流图中个成分的命名要仔细推敲,看是否恰当;12、在项目开发时,选择程序设计语言通常考虑哪些因素?答:(1)软件项目的应用领域。 (2 )软件问题的算法复杂性(3)软件的工作环境 .(4)软件在性能上的需要.(5)软件中数据结构中的复杂性.(6 )软件开发人员的知识水平和心理因素.13、什么是单元测试和集成测试?他们各有什么特点?答:单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。集成测试也叫组装测试、联合测试、子系统测试或部件测试。集成测试是在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统。特点:1.单元测试大量使用白盒测试技术,检查模块控制结构中的特定路径,以确保做到完全覆盖并发现最大数量的错

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教育教学 > 专升本考试

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报