软件工程期末考试参考试题
一、填空题
1、软件生存周期一般可分为问题定义可行性研究需求分析设计编码测试运行维护阶段;
2、按软件的功能进行划分,软件可以划分为系统软件支撑软件和应用软件;
3、可行性研究主要集中在以下四个方面经济可行性技术可行性法律可行性抉择;
4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标;
5、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的结构化设计方SD,以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法OOD;
6、数据流图数据字典共同构成系统的逻辑模型;
7、软件测试的方法有分析方法非分析方法即黑盒法;
8、单元测试一般以白盒测试为主,黑盒测试为辅;
9、成本估计方法主要有自底向上估计自顶向下估计算法模型估计三种类型;
10. 文档document—一种数据媒体和其上所记录的数据;
11 机器语言、汇编语言:依赖于机器,面向机器
12. 软件有效性efficiency,指软件系统的时间和空间效率;
13. 软件定义过程可通过软件系统的可行性研究和需求分析两个阶段来完成;
14. 软件定义的基本任务是确定软件系统的工程需求,也就是要搞清“做什么”;
15. 为了使用户需求逐步精细化、完全化、一致化,通常采用需求建模技术;
16. 一个软件的深度是指其控制的层数;
17. 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫编码过程;
18. 软件维护是软件生命周期的最后一个阶段
19. 软件工程由方法、工具和过程三部分组成,称软件工程的三要素;
20. 基于计算机系统的软件要素中的软部件由程序、数据和文档组成;
21. 数据流图就是用来刻画数据流和转换的信息系统建模技术;它用简单的图形记号分
别表示数据流、转换、数据源以及外部实体;
22. 被继承的类我们称之为基类父类,在基类的基础上新建立的类我们称之为派生
类子类;
23. 流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和循环三个基
本控制构件;
24. 机器语言和汇编语言,也称为低级语言;
25. 软件测试是执行程序发现并排除程序中潜伏的错误的过程;
26. 软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属
性、适应环境变化等方面工作的难易程度;
27. 软件可理解性,指系统具有清晰的结构,能直接反映问题的需求;
28 在实体-关系图简称E-R图中,数据对象实体用长方形、关系用菱形、属性用椭圆表示;
29. 建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处理数据的来源和一个输出数据流来反映加工的结果
30. 从工程管理的角度软件设计可分为概要设计和详细设计两大步骤;
31. 通过向用户提供视觉和听觉上的反馈,保持用户与界面间的双向通信,是提高界面可交互性的措施之一;
32. 程序设计语言的可靠性是指程序设计语言本身不出错或对错误的纠正能力;
33. 对发现错误较多的程序模块,应进行重点测试;
34. 测试用例中,不仅要选择合理的输入数据,还要选择不合理的输入数据;
二、单项选择题
1.下列哪个阶段不属于软件生存周期的三大阶段 C ;
  A、计划阶段                      B、开发阶段
C、编码阶段                     D、维护阶段
2.需求分析是 A ;
3.  A、 软件开发工作的基础            B、 软件生存周期的开始
4.   C、 由系统分析员单独完成的      D、 由用户自己单独完成的
5.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要 B ;
6.   A、 明确的需求定义                 B、完整的生命周期
7.   C、 较长的开发时间                 D、熟练的开发人员
8.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为 A ;
9.   A、改正性维护                 B、适应性维护
10.   C、完善性维护                  D、预防性维护
11.一般说来,投入运行的软件系统中有错误 A ;
A、不是不可以理解的
B、是不能容忍的
C、是要求退货的理由
D、是必然的
6、对在数据流图中每一个命令的图形元素均给以定义是B
、条目定义 B、数据字典 C、数据定义 D、数据说明
7、软件的可行性研究中不包括D
A、法律可行性 B、技术可行性 C、经济可行性 D、政治可行性
8、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为C;
A. 纠错性维护 B. 适应性维护 C. 改善性维护 D. 预防性维护
9、人机界面的风格大致经过了B代的演变;
A. 三  B. 四   C. 五  D. 六
10、以下不属于白盒测试技术的是D
A.逻辑覆盖  B.基本路径测试  C.循环覆盖测试 D.等价类划分
11、为改正软件系统中潜藏的错误而进行的维护活动称为A;
A.纠错性维护  B.适应性维护  C.改善性维护  D.预防性维护 
12、从事物的组成部件及每个部件的属性、功能来认识事物;这种方法被称为A的方法;
A、面向对象 B、面向数据 C、面向过程 D、面向属性
13、判定表由四部分组成:左上部列出B;
A. 条件组合与动作之间的对应关系 B. 所有条件
C. 所有可能的动作 D. 可能的条件组合
14、面向对象的分析和设计OOA&OOD方法出现在20世纪C年代中期;
A. 50  B. 60  C. 70  D. 80
15、耦合度也可以分为七级:其中最松散的耦合是A;
A. 非直接耦合 B. 数据耦合 C. 特征耦合 D. 控制耦合
16、面向对象方法是将现实世界的事物以对象的方式 B 到计算机世界的方法;
A. 对应 B. 映射 C. 反映 D. 反射
17、盒图也称为D或Chapin图;这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题;
A. 流程图 B. 框图 C. 判定表 D. N-S图
18、描述静态数据结构的概念模式是A ;
A、E-R图 B、DFD C、结构图 D、框图
19、结构化程序设计理论认为,实现良好的程序结构要应用 A 的分析方法;
A、自顶向下 B、自底向上 C、面向对象 D、基于组件
20、在结构化程序设计当中,不建议使用 D ;
A、分支语句 B、循环语句 C、子程序调用语句 D、转向语句
21、软件生产过程中,需求信息由D 给出;
A、程序员 B、项目管理者 C、软件分析设计人员 D、软件用户
22、在下列的基本成分中,哪个不是数据流程图的基本成分 D
A、信息处理 B、信息存储 C、外部实体 D、系统状态 
23、与设计测试数据无关的文档是D ;
A、需求说明书 B、设计说明书 C、源程序 D、项目开发设计
三、多项选择题每小题2分,共10分
1.下面哪些测试属于盒测试 AE ;
A基本路径测试 B、等价类划分C、边界值分析 D错误推测E逻辑覆盖测试
2.下列哪些选项是属于内容耦合 ABC ;
A、一个模块直接访问另一个模块的内部数据
B、一个模块有多个入口
C、一个模块不通过正常入口转到另一模块内部
D、一个模块只有一个入口
3.下列属于度量效益方法的是 程序设计语言一般可分为三大类ABC ;
A、货币的时间价值            B、投资回收期
C、收入                      D、投资回报率
4.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常采用的 ACD ;
A、自顶向下 B、自底向上  C、分层绘制  D、逐步求精
5.软件设计中一般将用到图形工具,下列哪种些可用作设计的图形工具 ACD ;
 A、结构图  B、实体联系图  C、IPO图   D、层次图
四、判断题;
1、在进行总体设计时应加强模块间的联系;×
2、系统结构图是精确表达程序结构的图形表示法;因此,有时也可以将系统结构图当作系统流程图使用;×
3、用黑盒法测试时,测试用例是根据程序内部逻辑设计的;×
4、在程序调试时,出错误的位置和性质比改正该错误更难;
5、以对象、类、继承和通信为基础的面向对象设计方法OOD也是常见的软件概要设计方法之一;
6、如果通过软件测试没有发现错误,则说明软件是正确的;×
7、快速原型模型可以有效地适应用户需求的动态变化;
8、模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品;
9、集成测试主要由用户来完成;×
10、软件危机完全是由于硬件问题引起的;×
11. 缺乏有力的方法学的指导和有效的开发工具的支持, 这往往是产生软件危机的原因之一;
12. 一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力;×
13. 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求;
14. 快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合;
15. 流程图也称为程序框图是最常用的一种表示法;
16. 面向数据设计方法一般都包括下列任务: 确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤;
17. 理想的人机界面应针对具有典型个性的特定的一类用户设计;
18. 数据输入的一般准则中包括尽量增加用户输入的动作;×
19. 用穷举测试是较现实的测试方法;×
20、编码时应尽可能使用全局变量×
21、重视程序结构的设计,能使程序具有较好的层次结构
22、程序中的注解越少越好×
23. 纠错性维护是改正运行期间发现的潜伏错误;
24. 软件可移植性portability,是指软件从一个计算机系统或环境移植到另一个上去的难易程度;
25. 软件复杂性不能反映出软件的可理解性、模块化、简单性等属性;×
26. 当程序内的分支数和循环数增加时,VG值将随之增加,即程序的复杂性增大;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。