软件工程期末题目分析

本文涵盖了软件工程的基础概念,包括不同开发模型如瀑布模型的适用场景,软件的逻辑产品特性,软件生命周期的各个阶段,以及可行性分析的重要性。此外,提到了结构化分析的工具和面向数据流的设计方法,4GL语言的特征,测试策略如白盒和黑盒测试,以及软件维护中的不同类型。
摘要由CSDN通过智能技术生成

一、软件工程概论

1.当你准备参与开发一个系统的时候,如果你对这个系统的问题领域不是很熟悉,那么最好不要采用以下哪种系统开发模型?(A)

  • A、瀑布模型
  • B、原型模型
  • C、螺旋模型
  • D、喷泉模型

瀑布模型模型要求用户需求明确且不变化,否则会导致大量的返工和风险。

2.软件是一种(C)

  • A、程序
  • B、数据
  • C、逻辑产品
  • D、物理产品

计算机软件是计算机系统中与硬件互相依存的另一部分,是程序、数据及相关文档的完整集合。软件是一种逻辑实体,而不是物理实体,具有抽象性。

3.软件工程是把系统的、 规范 的、可度量的方法应用于软件的开发 、运行和维护过程,即将工程应用于 软件;并研究以上实现的途径。

4.软件工程方法学的3个要素是:方法工具过程

5.软件的生命周期按照先后顺序主要包括:问题定义、可行性研究、需求分析、总体设计、 详细设计、编码、测试和 维护等阶段。

6.来辅助软件开发,运行,维护管理,支持等过程中的活动软件的软件称为软件开发工具,通常也称为CASE具。

7.软件包括代码,数据,文档

二、可行性分析

1.可行性研究要进行一次何种程度的需求分析?(D)

  • A、深入的
  • B、详尽的
  • C、彻底的
  • D、简化的、压缩了的

2.画分层DFD图的基本原则有父子图平衡原则

3.在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。()

×需求分析是解决软件做什么的问题 

4.软件需求分析是保证软件质量的重要步骤,它的实施应该是在(C)

  • A、编码阶段
  • B、软件开发全过程
  • C、软件定义阶段
  • D、软件设计阶段

需求分析是软件开发中的一个重要阶段,它的实施是在软件定义阶段,软件定义阶段在软件设计阶段之前。

三、系统设计概述

1.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、 判定树     。

2.结构化分析方法从三个方面构建软件系统的分析模型:数据建模、功能建模、行为建模

3.C或C++中,把指向记录的指针作为参数传递时模块之间有可能会产生标记耦合。
◎对

4.在面向数据流的软件设计方法中,一般将信息流分为变换流事务流

5.

 四、编码

1.以下哪一项不是第4代语言(4GL)的主要特征? (C)
A.友好的用户界面.
B.高效的程序代码
C.面向机器
 D.应用程序生成器

第4代语言(4GL)的主要特征是:

(1)友好的用户界面。操作简单,使非计算机专业人员也能方便地使用它。

(2)兼有过程性和非过程性双重特性。非过程性指将语言的抽象层次又提高到一个新的高度,只需告诉计算机“做什么”,而不必描述“怎么做”,“怎么做”的工作由语言系统运用它的专门领域的知识来填充过程细节。

(3)高效的程序代码。能缩短开发周期,并减少维护的代价。

(4)完备的数据库。在4GL中实现数据库功能,不再把DBMS(数据库管理系统)看成是语言以外的成分。

(5)应用程序生成器。提供一些常用的程序来完成文件维护、屏幕管理、报表生成、查询等任务,从而有效地提高了软件生产率。

2.以下哪些集成策略有利于对具体操作层面的组件重用?(BC)
A. 自顶向下集成
B. 自底向上集成
C. 三明治集成
D. 一次性集成

五、测试

1.使用白盒测试方法时确定测试数据应根据程序的内部逻辑和指定的覆盖标准

2.黑盒测试方法根据程序要完成的功能设计测试用例。

3.发现错误多的模块,其残留的错误可能也多。()

4.测试管理过程一般由SQA负责

5.集成测试的主要方法有两个 渐增式测试方法、非渐增式测试方法

六、维护

1.(第6章)因提出增加新功能而对软件进行的维护是( )。
A. 纠错性维护
B. 适应性维护
C. 完善性维护
D. 预防性维护

完善性维护是指因提出增加新功能而对软件进行的维护,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。这些功能对完善系统功能是非常必要的。

2.下列不属于维护阶段的文档是( )
A. 软件规格说明
B. 用户操作手册

C. 软件问题报告
D. 软件测试分析报告

根据我从网络上搜索到的信息,维护阶段的文档包括以下几种1:

软件维护手册
软件问题报告
软件修改报告
软件测试分析报告
因此,不属于维护阶段的文档是A. 软件规格说明,因为这是软件需求分析阶段的文档。

3.软件逆工程是一个从抽象到具体的过程。(X )

根据我从网络上搜索到的信息,软件逆向工程是指从可运行的程序系统出发,运用解密、反汇编、系统分析、程序理解等多种计算机技术,对软件的结构、流程、算法、代码等进行逆向拆解和分析,推导出软件产品的源代码、设计原理、结构、算法、处理过程、运行方法及相关文档等1。因此,软件逆向工程是一个从具体到抽象的过程,而不是从抽象到具体的过程。

4.文档是影响软件可维护性的决定性因素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟雨平生9527

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值