软件工程-复习

简介: -

第一章

软件危机的主要原因是软件本身的特点及开发方法

20世纪60年代提出了软件工程概念

软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

在下列选项中,(软件工程材料 )不属于软件工程学科所要研究的基本内容

软件工程的三要素是方法、工具和过程

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

软件就是程序,编写软件就是编写程序。(错误)

软件危机的主要表现是软件需求增加,软件价格上升。 (错误)

软件工程学科出现的主要原因是软件危机的出现。 (正确)

与计算机科学的理论研究不同,软件工程是一门原理性学科。 (错误)工程性学科。

第二章

软件生命周期模型不包括( 用例模型)。

包含风险分析的软件工程模型是(螺旋模型 )。

软件过程是(软件开发活动的集合 )。

软件工程中描述生命周期的瀑布模型一般包括计划、需求分析、设计、编码、( 测试)、维护等几个阶段。

软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( 编码阶段)。

增量模型本质上是一种(非整体开发模型 )。

螺旋模型综合了( 瀑布模型和演化模型)的优点, 并增加了风险分析。

瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。(错)

原型化开发方法包括生成原型和实现原型两个步骤。 (错)

软件过程改进也是软件工程的范畴。 (正)

第7章

可行性研究也称为(项目论证 )。

技术可行性)研究往往是系统开发过程中难度最大的工作,是可行性研究的关键。

研究软硬件资源的有效性是进行(技术可行性 )研究的一方面。

软件开发计划是软件工程中的一种(管理 )性文档。

需求工程的主要目的是( 解决系统是“做什么的问题”)。

需求分析的主要方法有(结构化分析SA方法 )。

SA法的主要描述手段有(DFD图、数据词典、加工说明 )。

在E-R模型中,包含以下基本成分( 实体、属性、关系)。

在下面的叙述中哪一个不是软件需求分析的任务?(结构化程序设计 )。

需求规格说明书的作用不应包括( 软件可行性研究的依据)。

第8章

为了提高模块的独立性,模块之间最好是数据耦合

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

模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的内聚性和耦合性

模块的独立性是由内聚性和耦合性来度量的,其中内聚性是模块的功能强度

当算法中需要用一个模块去计算多种条件的复杂组合,并根据这些条件完成适当的功能时,从供选择的答案中,选出合适的描述工具。判定表

面向数据流的软件设计方法可将数据流映射成软件结构。

Jackson方法根据数据结构来导出程序结构。

判断-----------------

软件设计说明书是软件概要设计的主要成果。 错误

软件设计中设计复审和设计本身一样重要,其主要作用是避免后期付出高代价。正确

HIPO法既是需求分析方法,又是软件设计方法。 正确

划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好。错误

SD法是一种面向数据结构的设计方法,强调程序结构与问题结构相对应。错误

判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。错误

模块独立要求高耦合低内聚。 错误

判断表

判断树

程序流程图

N-S图

PAD图

映射成结构图

Jackson图

第9章

1 .第一个体现结构化编程思想的程序设计语言是 Pascal

2 .困难(3分)

汇编语言也是面向机器的低级语言

3 .普通(3分)

超高级语言一般由知识库 方法库支持

4 .困难(3分)

机器语言是可以直接操纵计算机底层硬件的语言

5 .普通(3分)

规范的编程风格会对后其的软件维护带来很多便利

6 .困难(3分)

面向对象设计的结果,实现时只能使用面向对象语言。

7 .普通(3分)

PHP是一种嵌入在HTML内部的在服务器端执行的脚本语言

8 .普通(3分)

可移植性好的语言可以使系统方便地在不同的计算机系统上运行

9 .困难(3分)

超高级语言是对数据处理 过程描述更高级的抽象

10 .困难(3分)

PHP融合了CJavaPerl等语言的语法特性

11 .普通(3分)

Objective-C是扩充C的面向对象编程语言

12 .困难(3分)

C既具有高级语言语言的特点,又具有汇编语言语言的特性

13 .困难(3分)

汇编语言保持了机器语言简洁快速的特性

14 .困难(3分)

一些对性能要求极高的图形程序,就必须使用C或者C++实现核心代码

15 .困难(3分)

今年来流行的Ajax也是基于JavaScript的后台通信机制

16 .困难(3分)

对于大规模的科学运算,可以选用FORTAN或者C语言,因为它们具有大量的标注库函数

17 .困难(2分)

在软件开发项目里,常量名称选用大写字母,变量名选用小写字母

18 .困难(2分)

序言注释需位于模块的起始部分

19 .困难(2分)

Java编译器首先将源代码编译成虚拟机中的字节码.

20 .容易(2分)

名词解释:编程风格

答案

编程风格是指源程序的书写习惯

21 .容易(2分)

(1)软件实现是软件产品由概念到实体的一个关键过程,它将( )的结果翻译成用某种程序设计语言编写的并且最终可以运行的程序代码。虽然软件的质量取决于软件设计,但是规范的程序设计风格将会对后期的软件维护带来不可忽视的影响。

A. 软件设计

B. 详细设计

C. 架构设计

D. 总体设计

答案

详细设计

22 .容易(2分)

(3)第一个体现结构化编程思想的程序设计语言是( )。

A. FORTRAN

B. C

C. Pascal

D. Cobol

答案

Pascal

24 .容易(2分)

(2)进行程序设计语言的选择时,首先考虑的是应用领域。

答案

正确

26 .容易(2分)

(4)项目的应用领域是选择程序设计语言的关键因素。

答案

正确

27 .容易(2分)

(5)FORTRAN、Pascal、C语言和汇编语言都是科学工程计算可选用的语言。

答案

错误

28 .普通(2分)

下面( ) 不是人们常用的评价软件质量的4个因素之一。

A. 可理解性

B. 可靠性

C. 可维护性

D. 易用性

答案

易用性

29 .普通(2分)

在软件维护的内容中,占维护活动工作量比例最高的是( )。

A. 纠错性维护

B. 适应性维护

C. 预防性维护

D. 完善性维护

答案

适应性维护

30 .普通(2分)

使用软件时提出增加新功能就必须进行( ) 维护。

A. 预防性

B. 适应性

C. 完善性

D. 纠错性

答案

完善性

34 .容易(2分)

代码行技术是比较简单的定量估算软件规模的方法。

答案

正确

35 .容易(2分)

总体上说,软件工程文档可以分为用户文档、开发文档和管理文档三类。

答案

正确

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

答案

正确

37 .容易(2分)

适应性维护是在软件使用过程中,用户会对软件提出新的功能和性能要求,为了满足这些新的要求而对软件进行修改,使之在功能和性能上得到完善和增强的活动。

答案

错误



第12章

目录
相关文章
|
小程序
微信小程序蓝牙搜索功能
微信小程序蓝牙搜索功能
643 0
|
SQL 存储 缓存
DB2常见错误码注释(一)
DB2常见错误码注释
297 0
|
Kubernetes Java 关系型数据库
云原生之Kubernetes 集群部署nacos 1.4(集群版)
注册中心是微服务架构最核心的组件。它起到新服务节点的注册与状态维护的作用。微服务节点在启动时会将自身的服务名称、IP、端口等信息在注册中心中进行登记,注册中心会定时检查该节点的运行状态。注册中心通常会采用心跳机制最大程度保证其持有的服务节点列表都是可用的。
1049 1
云原生之Kubernetes 集群部署nacos 1.4(集群版)
|
网络性能优化
1. VPP源码分析(内存管理之mheap)
1.1. mheap 1.1.1. mheap_t first_free_elt_uoffset_by_bin: User offsets for head of doubly-linked list of free objects of this size.
6974 1
|
11月前
|
传感器 数据采集 人工智能
数字孪生与智慧城市:构建未来城市模型
【10月更文挑战第31天】在信息化和智能化高速发展的今天,数字孪生技术正逐步成为推动智慧城市建设的核心力量。本文将深入探讨数字孪生技术在城市规划、管理、交通和环保等方面的应用,以及它如何助力构建未来城市的理想模型。数字孪生通过实时数据同步和双向交互,实现城市运行状态的全面监控、预测和优化,推动城市向更加智慧、绿色和可持续的方向发展。
|
人工智能 Prometheus Cloud Native
新场景、新能力,AI-native 时代的可观测革新
借助 AI-native 可观测解决方案,阿里云为用户提供开箱即用的覆盖大模型应用、大模型到基础设施的全链路实时观测、告警与诊断能力,帮助企业在复杂的数字化转型过程中更有效地确保资源的高效利用与业务的持续成功。
754 125
|
Java 开发者
Java Character 类详解
Java中的`Character`类是`java.lang`包的一部分,用于将基本类型`char`封装为对象,并提供了丰富的静态方法来处理字符,如类型判断、大小写转换等。
357 9
|
数据可视化 开发者 Python
使用Python进行数据可视化:从入门到精通
【10月更文挑战第7天】本文将引导您通过Python的可视化库,如Matplotlib和Seaborn,来探索和展示数据。我们将通过实际代码示例,学习如何创建各种图表,包括条形图、散点图和直方图等,并讨论如何优化这些图表以更好地传达信息。无论您是初学者还是有一定基础的开发者,这篇文章都能帮助您提高数据可视化技能。
|
12月前
|
NoSQL Shell MongoDB
MongoDB Shell
10月更文挑战第11天
172 0
|
机器学习/深度学习 图形学 Windows
小功能⭐️unity3d KeyCode各键值说明
小功能⭐️unity3d KeyCode各键值说明