什么是软件危机?开发和维护的工程学科分析

1、什么是软件危机?

Answer:软件危机是指计算机开发和维护过程中遇到的一系列严重问题。这些问题绝非只是“不能正常运行”的软件,事实上几乎所有软件都不同程度地存在这些问题。

一般来说,软件危机涉及两个方面:

●如何开发软件,如何满足日益增长的软件需求?

●如何维护不断扩展的现有软件?

2、软件危机的主要表现:

●软件开发成本和进度的估算通常非常不准确

●用户对“完成”的软件不满意的情况经常发生

●软件产品的质量往往不可靠

软件通常不可维护或维护性差

软件通常没有正确记录

●软件成本占计算机总成本的比重逐年上升

●软件开发生产力的提高速度远远落后于计算机应用的普及趋势?

3、软件危机的解决方案:

●良好的组织,紧密的管理,紧密的协作

●科学的开发方法,先进的软件开发工具

● 阶段性回顾,及时发现并解决问题

4、什么是软件?

“软件”定义为:

在计算机上运行所需的计算机程序、方法、规则、相关文档和数据。

5.什么是软件工程?

软件工程是将系统的、规范的、可衡量的方法应用于软件的开发、运行和维护的过程,即把工程应用于软件的过程。它是一门指导计算机软件开发和维护的工程学科。

包括两个方面:

软件工程技术

软件工程管理

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

6、软件工程的基本原理:

1.通过分阶段的生命周期计划严格管理

2。坚持阶段审查

3.严格的产品控制

4。使用现代编程技术

5.应清楚地检查结果

6。开发团队应该小而高效

7。承认需要持续改进软件工程实践

7、软件工程的基本目标:

支付更低的开发成本;

满足所需的软件功能;

实现更好的软件性能;

开发的软件易于移植;

需要低维护成本;

能够按时完成开发工作并及时交付使用。

8、软件开发流程

软件工程过程一般由四个基本过程活动组成:

(1)软件规范;

(2)软件开发;

(3)软件确认;

(4)软件进化。

9、软件生命周期:

10、软件生命周期

1.问题定义;

2.可行性分析;

3.需求分析;

4.整体设计;

5.详细设计;

6.编码;

7.测试;

8.运维。

11、按照传统瀑布模型进行软件开发的特点

1.阶段是顺序的和依赖的;

2.延迟实现的观点;

3.需求冻结观点;

4.质量保证视角:

必须在每个阶段完成所需的文件;

在每个阶段结束前完成文档审查;

尽快纠正错误。

比较:喷泉模型是一种典型的面向对象的软件过程模型,其中相邻阶段之间的活动重叠。

12、技术评审步骤

●准备,

● 简介,

●阅读被审查的文件,

●召开审查会议,

●返工,

●重新检查。

13、可行性研究的任务

(1)技术可行性

这个系统可以用现有的技术来实现吗?

(2)经济可行性

系统的经济性能否超过其开发成本?

(3)运营可行性

系统是否以在该用户组织内运作的方式运行?

14、软件工程方法起源于软件危机,其目的应该是最终解决软件的(A)问题? A. 生产工程 b.质量保证

C.开发效率 D.制造危机

软件危机通常是指计算机软件开发和维护过程中出现的一系列严重问题。这些问题的相对次要因素是(A):

A.软件性能 B.文件质量

C.开发效率 D.软件功能

15、软件危机是软件生产过程中发生的一种现象。以下现象:

我。软件需求增长难以满足

Ⅱ.软件开发成本增加

Ⅲ.软件开发进度难以控制

Ⅳ.软件质量不易保证

它的主要表现有哪些:A

A.全部 b. Ⅲ和Ⅳ

C. II、III 和 IV D. I、II 和 III

16、软件危机出现在①C。为了解决软件危机,人们提出用②B原理来设计软件,这是软件工程诞生的基础。

①A.在 1950 年代后期 b. 1960 年代初期

C. 1960 年代末 D. 1970 年代初

②A.运筹学 B.工程

C.软件 D.数学

17.软件工程归于(A)。

A.软件危机的出现

B.软件产业化的需要

C.编程方法的影响

D.计算机的发展

开发软件的高成本和产品的低质量之间存在着尖锐的矛盾,这种现象称为(A)。 A. 软件危机 B.软件推测

C.软件工程 D.软件生成

18.以下哪项不是软件危机的表现?A

A.系统软件与应用软件的连接越来越难

B.软件制作成本高,价格高

C.软件需求定义不明确,容易偏离用户需求

D.软件可维护性差

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

A 软件工程 B 软件测试

C 软件生命周期 D 软件过程

19.除了重视软件开发技术的研究,软件工程的另一个重要组成部分是软件(A)

A.项目管理 B.成本核算

C.人员培训 D. 工具开发

在瀑布模型中,软件开发分为几个时期,一个软件项目的可行性研究一般归结为(A)A.计划期b.维护期

C.运行时间 D. 开发周期

20.软件工程的结构化生命周期方法是将软件开发的整个过程分为相互独立和相互依赖的阶段。用C语言形成软件的逻辑模型

A. b.发展阶段规划阶段

C.分析阶段 D. 设计阶段

分析:需求分析的目标包括构建系统的完整逻辑模型。

21、软件工程的结构化生命周期方法通常将软件生命周期分为规划、开发和运行三个阶段。软件开发阶段应包括以下哪些工作? (C)

我。需求分析二。可行性研究

Ⅲ.整体设计

A.只有IIB。一、二

C. I 和 IIID。全部

22、软件工程是一种分阶段实施的软件程序开发方法。

A.自下而上 B. 自上而下

C.逐步细化 D. 面向数据流

软件工程方法是在实践中不断演变的方法,早期的软件工程方法主要是指(A) A.结构化方法 b.原型制作方法

C.面向对象方法 D.功能分解法

23、软件工程管理涉及软件管理和(一)两部分。

A.软件工程经济学 B.软件开发工具

C.软件工程环境 D.软件开发方法

软件工程涉及软件开发技术和项目管理两个方面。以下哪项不属于开发技术的范围?(A)

A.软件工程经济学 B.软件开发工具

C.软件工程环境 D.软件开发方法

24、在软件开发过程中,第一阶段(1950年代)被称为“编程的原始时期”。这个时期既没有①也没有②,程序员只能用汇编语言编写程序。第二阶段(1950 年代末至 1960 年代末)称为“基础软件期”。 ①出现并逐渐流行,②编译技术也有很大发展。第三阶段(1960 年代末至 1970 年代中期)称为“编程方法时代”。在此期间,与硬件成本下降形成鲜明对比的是,软件开发成本急剧上升。人们提出了③和④等编程方法,试图降低软件开发的成本。第四

这个阶段(从 1970 年代中期到现在)被称为“软件工程时期”。软件开发技术不再只是编程技术,它也与软件开发的各个阶段(⑤、⑥、编码、测试、⑦)以及与管理相关的整体一样。

①②③④A.汇编语言 B.操作系统

C.虚拟内存的概念 D. 高级语言

E.结构化编程 F. 数据库概念

G.固件 h.模块化编程

⑤⑥⑦A.使用和维护 B.兼容性确认

C.完整性确定 D. 设计

E.需求定义 F. 图像处理

答案:①B②D③E④H⑤E⑥D⑦A

25、从软件开发到运行的全过程,软件文档的重要作用众所周知,但实现时间差距很大,根本原因是D

A.文档标准化程度低

B.糟糕的文档生成工具

C.开发人员缺乏关注

D.工科程度还低

分析:如果软件工程方法或工程程度低,软件开发进度将与软件文档完全脱节。

26、软件文档是软件工程实施中的重要组成部分。它不仅是软件开发各个阶段的重要依据,而且影响着软件的研发

A.可理解性

B.可扩展性

C.便携性

D.可维护性

分析:缺乏必要的软件文档,必然会给软件开发和维护带来很多严重的困难和问题。

27、软件审核时,其主要审核对象为(A)。

A.软件文档 B.软件结构

C.程序代码 D. 文档标准

除了软件开发技术研究之外,软件工程的概念是另一个重要的内容(A)。

A.软件工程管理

B.软件开发工具培训

C.开发者培训

D.软件工程环境

28、瀑布模型将软件生命周期分为软件定义、软件开发和A三个阶段,每个阶段又可以分为几个更小的阶段。

A.操作和维护 B.可行性阶段

C.详细阶段 D. 问题定义

软件生产的成败更多取决于:A

A.合理的组织协调

B.程序员的个人编程能力

C.领袖的指挥能力

D.用户合作

29、当历史信息的格式不一致时,一定程度上应该使用D的方法来解决问题。

A.加强标准化

B.稳定的数据结构

C.提高软件复用率

D.甲和乙

30、为了普及和普及计算机的应用计算机程序设计是学什么的,应该集中大量工作

A.在软件领域

B.在硬件领域

C.语言和界面改进

D.编程方法

在大型软件开发过程中,A扮演着最关键的角色。

A.项目负责人 B. 用户

C.程序员 D. 测试员

31、CMM 模型用于:A

A.衡量项目团队的合规性

B.需求分析

C.软件维护

D.软件测试

对于软件开发管理问题,核心问题是(A)

A.质量 b.进展

C.成本 D.资源利用率

32、编程是软件开发过程的 A 阶段。

A.实现 B. 编程

C.设计 D. 编码

IBM 的 HIPO 图适用于软件开发的哪个阶段? (A) A. 总体设计阶段 b.需求分析阶段

C.实施阶段 D. 测试阶段

33、在开发大型软件时,困难的根本原因是(A)。

A.大型系统的复杂性

B.人员知识不足

C.客观世界是千变万化的

D.时间紧迫,任务繁重

以下哪项最先发生? (一)

A. OOPL B.面向对象

C.太棒了。 OODBMS

34、瀑布模型是:(B)

A.软件维护模型 B. 软件生命周期模型

C.软件生命周期 D. 编程方法

在软件工程中,高质量文档的标准是完整性、一致性和 (C)A。团结 B.安全

C.明确 D. 组合

35、逆向工程主要用于软件工程的哪个阶段。一个

A.维护 b.设计

C.代号 D.分析

选择结构的复杂度高于顺序结构(A)

一个大的

B,小

C,等于

D,无法比较

36、在软件文档的描述中:

我。描述如何安装和管理系统;

Ⅱ.描述系统的安装和测试,使系统可维护;

Ⅲ.描述如何使用系统供用户使用;

Ⅳ.描述系统的要求和设计

软件文档的内容是什么? (C)

A.我,二,IVB。一、二、三

C. Ⅱ、Ⅲ、ⅣD.全部

37、软件工程管理涉及软件管理和(一)两部分。

A.软件工程经济学 B.软件开发工具

C.软件工程环境 D.软件开发方法

项目开发总结一般在A结尾完成。

A.测试阶段 b.需求分析阶段

C.设计阶段 D. 运维阶段

38、以下哪种软件设计方法是基于动态定义需求的设计方法?A

A.原型制作方法

B.面向对象的软件开发方法

C.结构化设计方法(SD)

D.结构化分析 (SA)

(A) 属于第一代编程语言。

A,机器语言

B、组装

B,帕斯卡

C,福克斯

39、在软件工程中,A是用户和设计者之间进行的交互过程,适用于开发需求不确定的大型软件系统。

A.原型模型

B.生命周期模型

C.瀑布模型

D.瀑布模型和原型模型

40、CMM 提供了一个框架,用于将软件过程改进的演进步骤组织成(5) 成熟度级别。除了级别 1 之外,每个级别都涉及实现该成熟度几个 (B) 程度级目标。

A 关键实践 B 关键过程域

C 软件过程能力 D 软件过程

41、从心理学的角度来看,编程语言的表现主要是(D)

我。歧义二。简单

Ⅲ.一致性 IV。局部性和线性

A.我,二,IVB。 Ⅱ、Ⅲ、Ⅳ

C.我,IIID。全部

42 道选择题

软件可维护性的矛盾特征是(A)。

A.效率和可修改性

B.可测试性和可理解性

C、可修改性和可理解性

D,可理解性和可读性

在软件开发中,从集体智慧中受益的一种方式是 (A)。

A.技术审查 B.模块化

C.主程序员 D. 进度控制

43、软件维护的副作用参考(A)。

A.软件修改导致的错误

B.开发过程中的错误

C,隐式错误

D.运行时误操作

软件复杂度为(A),导致人员沟通困难、开发成本超支、开发时间加班等问题。

A 天生 B 人工

C可以消除,D不能减少

44、如何理解软件维护的副作用?

所谓软件维护,就是在软件交付使用后,为了纠正错误或满足新要求而对程序进行修改的过程。

所谓软件维护的副作用是指软件维护带来的新问题。这些问题主要是:

由于维护变更,软件中引入了潜在的错误计算机程序设计是学什么的,从而降低了软件的质量;

由于维护过程中程序的变化,文档可能不会同步修改,导致文档与程序不一致,给以后的软件维护带来困难;

当必须将软件工程师调到从事维护工作时,可能会在他们正在进行的开发项目中造成混乱;

当看似合理的修改请求不能及时得到满足时,用户会感到不满;

频繁的修改很容易让用户对软件的质量失去信心。

45、详细软件设计的主要任务是确定每个模块的(A)。

A、使用的算法和数据结构

B、外部接口

C、函数

D,编程

在快速原型模型的开发过程中,仅作为规范补充形式的原型是(A)。

A、实验模型

B、进化模型

C,探索性模型

D.提交模型

46、在软件工程中,目前用来保证软件质量的主要技术手段是(A)。

A.测试 b。正确性证明

C.自动编程 D. 符号证明

在结构化编程中,不推荐使用(A)。

A.转到语句 B. 循环语句

C.子程序调用语句 D. 分支语句

47、一个程序的三个基本控制结构有一个共同点(A)。

A.只有一个入口和一个出口

B.不能嵌套

C.已经在硬件中实现了

D.只能用来写简单的程序

软件工程的结构化分析方法强调(A)开发对象。

A.数据流 B.控制流

C.时间限制 D. 进程通信

48、软件工程方法论由三个要素组成,以下哪个不是要素? (一)

一个计划

B.工具

C.进程

D.方法

一般来说,经理在项目开发的哪个阶段参与最少? (一)

A.中期 B.早期

C.后来 D. 均匀分布

49 道选择题

①尽管有非法输入,但软件有能力继续正常工作(H)

②软件在需要投入使用时能够实现其指定功能的概率(B)

③软件从一个计算机系统或环境转移到另一个计算机系统或环境的难易程度(A)

④在规定条件下,规定期限内,实现规定功能的概率(F)

⑤软件满足不同系统约束和用户需求的难易程度(C)

A.便携性 B.可用性 C.兼容性 D. 可测试性

E.可理解性 F.可靠性 g.一致性 H. 坚固性

我。可修改性 J. 可访问性

50、在白盒测试中,不仅每个语句必须至少执行一次,而且决策表达式中的每个条件都有多种可能的结果。这种逻辑覆盖称为 (C)。

A.判决覆盖率

B.判断/条件覆盖

C.条件覆盖

D.条件组合覆盖

51、软件工程的目的是以①成本开发②质量的软件。

A.更高 b.降低

C.可靠 D. 优秀答案:①B②A

52、在软件工程中,软件生命周期可以分为三个阶段:规划、开发和运行,每个阶段又分为几个更小的阶段。通常,规划阶段包括问题定义和①,开发阶段包括②、大纲设计、详细设计、编码和③。

①A.需求分析 B.可行性研究

C.预算 D. 质量保证

②A.需求分析 B.可行性研究

C.整体设计 D.模块化设计

③A.文档 B.运维

C.测试D.验收答案:①B②A③C

53、结构化分析法SA、结构化设计法SD、JACKSON法是软件开发过程中常用的方法。人用SA方法可以得到(D),用SD方法可以得到(C)。

A、程序流程图

B、特定语言程序

C、模块结构图及模块功能说明

D.分层数据流图

54、软件工程的结构化生命周期方法通常将软件生命周期分为规划、开发和运行三个阶段。以下哪项工作应该属于软件开发阶段(A C D)的内容?

A.需求分析

B.可行性研究

C.总体设计D、测试

55、在软件文档的描述中:

A.描述如何安装和管理系统;

B.描述系统的安装和测试,使系统可维护;

C.描述如何使用系统供用户使用;

D.描述系统的要求和设计

软件文档的内容是什么? (B D)

56、(A) 是为了发现错误,然后进一步诊断和纠正程序中的错误。这是(B)的任务。

A.测试 b。调试

C.维护 D. 开发

软件开发的结构化生命周期方法 (SA) 的基本假设是软件需求可以做 (A)

A.早冻 B. 初步定义

C.严格定义 D. 动态变化

57、软件开发的原型方法是在以下条件下动态定义软件需求的方法:

A.成熟的原型制作人员

B.需求理解的准确性

C、快速原型制作工具

实现原型制作方法需要哪些条件? (A C)

58、关于原型制作方法

原型法是一种试探性的原型系统,用于快速建立目标系统。原型法主要用于需求不易确定的信息系统。

原型制作方法——主要原因:

受限于认知能力,并非所有需求都可以提前指定;

用户和系统分析师之间存在固有的沟通鸿沟;

用户需要一个“活”的系统模型才能获得实践经验;

在开发过程中,重复和重复是必要的,也是不可避免的;

目前可以使用用于快速制作系统原型的工具。

由于软件项目的特点和运行原型的目的,原型主要分为三种:

(1)探索性(2)实验性(3)进化性

59、关于原型制作方法

由于使用原型的目的和方式不同,使用原型有两种不同的策略:

(1)放弃策略:探索性、实验性

(2)附加策略:进化。

原型的优点:

(1)增加利益相关者对系统需求的理解;

(2)提供了强大的学习工具;

(3)可以轻松确定系统的性能,确认系统设计的可行性;

(4)软件原型的最终版本。有些可以按原样成为产品,有些可以通过少量修改成为最终系统的组成部分。

60、数据流图是一种软件需求分析的工具,以下哪些元素是它的基本元素。 (ABCD)

A.数据流 B.处理 C.数据存储 D. 外部实体

61、软件生命周期一般分为六个阶段,分别是(B)、(A)、(C)、(F)、(E)、(D)。 A. 需求分析 C.软件设计

B.可行性研究和计划

D.维护 E. 测试

F。代码 g。成长期

H.拒绝一、修改期

62、按照传统瀑布模型开发软件有什么特点? (A B D)

A.阶段之间的顺序和依赖

B.质量保证视角

C.软件复用的观点

D.延迟实现的思路

63、E-R图是描述实体关系的工具,以下哪些元素是它的基本元素。 (A C)

A.联系方式

B.外部实体

C.属性

D.数据存储

64、结构化分析方法产生的系统规范由一组(B)、(C)和一组小指令和补充材料组成;

A.因果图

B.分层数据流图。

C.数据字典

D.程序流程图

65、结构化分析方法

结构化分析法(简称SA法)是一种从上到下对数据流进行需求分析的方法。

结构化分析方法适用于数据处理软件的需求分析。具体来说,结构化分析方法是利用抽象模型的概念,根据软件内部数据传递和转换的关系,从上到下逐层分解,直到找到所有满足功能需求的可实现软件。

66、结构化分析方法工具

数据流图、数据字典、结构化英文、决策表、决策树

67、数据流图(DFD,数据流图)

它是描述数据处理的强大工具。从数据传输和处理的角度,以图形方式表示系统中数据的移动和转换过程。

68、数据字典:

数据字典是结构化分析方法中与数据流图配合使用的工具。它是数据流图中包含的所有元素的定义集合。

69、可行性研究需要进行 (A) 需求分析。

A,简化,压缩

B,详细

C,彻底

D,深入

需求分析的最终结果是产生(A)。

A.需求规格

B.项目发展计划

C.设计手册

D.可行性分析报告

70、软件开发的原型方法是在以下条件下动态定义软件需求的方法:

(1)成熟的原型制作人员;

(2)快速原型制作工具;

(3)需要知道的准确度

实现原型制作方法需要哪些条件?答案:1 和 2

71、概念模型的两个主要功能是什么?

A.认识事物并交流和表达想法

B.加快程序开发,提高程序效率

C.了解事物并加速程序开发

D.生成软件的文档和程序

72、需求分析阶段的任务是确定(A)。

A.软件系统的功能

B.软件开发工具

C.软件开发费

D.软件开发方法

在需求分析中,开发者需要从用户那里了解(A)。

A.软件做什么 B.用户界面

C.输入信息 D. 软件规模

73、在结构化分析中,描述处理逻辑的工具主要有三种,分别是:结构化语言、决策表和决策树。

74、1、软件设计阶段的输出主要是(D)。

A,程序

B,模块

C,伪代码

D.设计规范

2、SD方法设计的结果是(D)。

一、源码

B,伪代码

C,模块

D、模块结构图

75、软件结构图的形态特征可以反映程序的复用率(A)。

A,扇入

B,扇出

C,深度

D,宽度

模块的内聚度越高,模块(A)中的组件的组合程度就越高。

A,关闭

B,松散

C,无法判断

D,等于

76、(A) 标志着模块内的元素相互结合的紧密程度,是信息屏蔽和本地化概念的自然延伸。

A.凝聚力 B.摘要

C.耦合 D. 独立于模块

在详细设计阶段,经常使用的工具是(A)。

A.垫 B.萨

C. SC D.DFD

77、In the structured design (SD) method of software, it is generally divided into two stages: general design and detailed design. The detailed design is mainly to establish (A).

A, software process

B, software structure

C, software model

D, software module

In order to improve the independence of the module, it is better to have (A) inside the module.

A, functional cohesion

B, time gathering

C, logical cohesion

D, communication cohesion

78、JACKSON method is a commonly used method in the software development process, and (A) can be achieved when using the JACKSON method.

A. Export the program structure from the data structure

B. Export the initial structure diagram from the data flow diagram

C, export data structure from module structure

D. Export the program structure from the module structure

True or false

一、Tell true or false of the following statements about modular design:

1。 Programming is more convenient, but difficult to maintain

2。 It is convenient to compile large-scale programs by division of labor among many people √

3。 The functions of the software are easy to expand √

4。 The program is easy to understand, but not easy to troubleshoot

5。 The interface between modules is called a data file

6。 As long as the interface relationship between modules remains unchanged, the internal implementation details of the modules are implemented √

二、In the statement about modular design, judge it right or wrong:

7。 The one-way calling relationship between modules is called the hierarchy of modules√

8.According to the meaning of module independence, the smaller the module, the better

8.According to the meaning of module independence, the module should generally be within 20 lines of program.

9。 There are two criteria for measuring module independence, namely, coupling between modules and information shielding

10。 The higher the coupling between modules, the stronger the module independence

11.Unit testing is generally done by programmers themselves. √

12.Software testing is always trying to find program bugs, so it is destructive for software development.

13.The results of a feasibility study will vary depending on the researcher’s circumstances. √

14.Users play a key role in the requirements analysis process.

15.If the programmer has any questions about the design, they should generally ask the user for confirmation.

16.According to the software life cycle theory, a software project is not finished even if it has been delivered. √

17.HIPO diagram is a tool in the requirements analysis phase.

18.The correctness of the program can be proven by testing.

19.A program test does not find a problem, it does not mean that the program is correct. √

20.Black box testing is performed according to the software design specification.

21.JACKSON method is mainly used in the requirements analysis stage.

22.The basic elements of an E-R diagram are: external entities, relationships, and attributes.

23.Generally, managers are least involved in the middle of project development. √

24.The project manager plays a key role in the development of a software project. √

25.Technical reviews are an effective way to leverage collective intelligence. √

26.Logical coverage is a method of black box testing.

27.The functions of the modularized design software are easy to expand. √

三、Of the following statements, which is true:

A. Maintenance issues should also be considered when conducting requirements analysis √

B. After completing the test work, in order to shorten the length of the source program, the comments of the source program should be deleted

C. As far as possible in the software production process to ensure the correctness of each stage of the document √

D. When coding, use global variables whenever possible

E. Choose the algorithm that is as time and space efficient as possible

F. Use hardware features as much as possible

四、In the following statement, which is correct

G. Pay attention to the design of program structure, so that the program has a better hierarchical structure √

H. Use maintenance tools or support environment √

I. The connection between modules should be strengthened in the outline design

J. In order to improve the readability of the program, write the program in a high-level language as much as possible √

K. In order to speed up the progress of software maintenance, increase the number of maintainers as much as possible

分析

The stronger the coupling of the modules, the better the independence of the modules.

Answer: Wrong

Answer what is the coupling of modules.

So,…

The strength of the coupling degree

Glossary

1、Software Crisis:

A software crisis is a series of serious problems encountered in the development and maintenance of computers. These problems are by no means just “non-functioning” software, in fact almost all software has these problems to varying degrees. Software maintenance: The so-called software maintenance is the process of modifying the software in order to correct errors or meet new needs after the software has been delivered for use. Including corrective maintenance, perfect maintenance, adaptive maintenance and preventive maintenance.

2、White box testing:

Take the test object as an open box, and use the internal logic structure and related information of the program to test all the paths of the program.

3、Data Dictionary:

A tool used with data flow diagrams in structured analysis, that is, a collection of definitions for all elements contained in a data flow diagram.

4、Black box testing:

The test object is regarded as a black box, which does not consider the internal logical structure and internal characteristics of the program at all, and only checks whether the function of the program is realized according to the requirements specification of the program. That is, the test is carried out according to the external characteristics of the software. 5、Software Engineering:

Software engineering is the process of applying systematic, normative, and measurable methods to the development, operation, and maintenance of software, that is, applying engineering to software. It is an engineering discipline that guides the development and maintenance of computer software.

6、Software Quality:

Software quality is “the degree to which software conforms to explicitly and implicitly defined requirements”. Specifically: Software quality is the degree to which software conforms to clearly stated functional and performance requirements, development standards explicitly described in documentation, and implicit characteristics that any professional software product should have.

7、Coupling:

Coupling is a measure of the degree of interconnection between different modules within a software structure.耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。

8、关于能力成熟度模型CMM

能力成熟度模型(capability maturity model,CMM)是用于评价软件机构的软件过程能力成熟度的模型。

它的基本思想是:由于问题是由我们管理软件过程的方法不当引起的,所以新软件技术的运用并不会自动提高软件的生产率和质量。能力成熟度模型有助于软件开发机构建立一个有规律、成熟的软件过程。

CMM将软件过程改进的进化步骤组织成5个成熟度等级,依次为初始级、可重复级、已定义级、已管理级和优化级。除第1级外,每个等级都包含了实现该成熟度等级目标的若干关键过程域。

9、有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。利用它,可以检测程序是否实现了规格说明预先规定的功能和性能。

软件配置管理:软件配置管理是在软件的整个生命期内管理变化的一组活动。具体地说,这组活动用来:①标识变化;②控制变化;③确保适当地实现了变坏;④向需要知道这类信息的人报告变化。

10、边界值分析方法:

按照边界值分析法,应该选取刚好等于、稍小于和稍大于等价类边界值的数据作为测试数据,而不是选取每个等价类内的典型值或任意值作为测试数据。

11、关于单元测试

单元测试通常又称为模块测试。单元测试集中检验软件设计的最小单元——模块,横跨两个阶段即编程阶段和测试阶段;单元测试一般由程序员自己做,对多个模块的测试可以并行地进行;单元测试可以分静态测试和动态测试,一般使用白盒测试法

12、关于单元测试

在单元测试主要评价模块的下述五个特性:

模块接口;

局部数据结构;

重要的执行通路;

出错处理通路;

影响上述各方面特性的边界条件。

正式测试之前必须先通过编译程序检查并且改正所有语法错误,然后用详细设计描述作指南,对重要的执行通路进行测试,以便发现模块内部的错误。

论述题

1、模块独立性的含义与意义。

模块独立性的含义:

模块完成独立的功能

符合信息隐蔽和信息局部化原则

模块间关连和依赖程度尽量小

模块独立性的意义:P.87

为什么模块的独立性很重要呢?主要有两条理由:

第一,有效的模块化(即具有独立的模块)的软件比较容易开发出来。 . . . . . .

第二,独立的模块比较容易测试和维护。 . . . . . .

总之,模块独立是好设计的关键,而设计又是决定软件质量的关键环节。

2、关于等价划分

等价划分是一种黑盒测试技术,它把程序的输入域划分成若干个数据类(分有效等价类和无效等价类),并据此导出测试用例。

有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。利用它,可以检测程序是否实现了规格说明预先规定的功能和性能

无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。利用它,可以检测程序中实现的功能和性能是否不符合规格说明要求。

意义:穷尽的黑盒测试通常是不可能的。因此,只能选取少量最有代表性的输入数据作为测试数据,以期用较小的代价暴露出较多的程序错误。等价划分力图设计出能发现若干类程序错误的测试用例,从而减少必须设计的测试用例数目。

辩析题

1、可行性分析是一种简化的、压缩了的需求分析和设计过程。

答:对

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。

2、软件测试的目的是为了证明程序的正确性。

答:错

测试是为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误的测试。所以说,测试只能查找出程序中的错误,而不能证明程序中没有错误。

3、软件就是程序。

答:错

软件是计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必需的数据。

4、文档是软件产品的一部分,没有文档的软件就不称其为软件。

答:正确。

软件是包括程序、数据及其相关文档的完整集合。也就是说,文档是软件产品的一部分,没有文档的软件就不能称其为软件。

5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。

答:错

回答什么是数据流程图,及其基本元素。

数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。

6、软件需求分析一般应确定的是用户对软件的功能需求和非功能需求。

答:正确。

需求分析的基本任务是准确回答“系统必须做什么?”也就是说应确定用户对软件的功能需求和性能等非功能需求。

7、在四类维护活动中,完善性维护占维护工作的大部分。

答:对

在使用软件的过程中用户往往提出增加新功能或修改已有功能的建议,还可能提出一般性的改进意见。为了满足这类要求,需要进行完善性维护。这项维护活动通常占软件维护工作的大部分。

8、作为一个软件项目,当经过验收测试并交付使用后,项目就结束了,但作为软件工程过程,并没有结束。

答:对

软件工程过程包括软件定义、实现、运行维护等几个阶段,其中运行维护占整个软件生存期的大部分。但作为一个项目而言,一旦软件交付使用以后,因该项目而成立的项目组一般不再存在,项目已经结束。

简答题

试画出Jackson方法所用的结构图的三种基本结构并给出其对应的逻辑描述和伪码。

(a)表示的是顺序结构,即数据结构A由B,C,D3个成份组成,且按B,C,D顺序排列。图(b)表示的是选择结构,即数据结构A或者是由B组成,或者是由C组成,二者必居其一。图(c)表示的是重复结构,即数据结构A由多个B子结构组成。

论述题:配置管理

软件配置管理是在软件的整个生命期内管理变化的一组活动,它在软件项目启动时开始,一直持续到软件退役后才终止的一组跟踪和控制活动。

软件配置管理的目标是:使变化更正确且更容易被适应,在必须变化时减少所需花费的工作量。

它的主要任务是控制变化,具体来说,它的任务主要有5点:

标识软件配置中的对象:单独命名每个配置项。

版本控制:管理在软件工程过程中所创建的配置对象的不同版本。

变化控制:无控制的变化将迅速导致混乱,所以必须使变化在可控制之下。

配置审计:为了确保适当地实现了所需要的变化,通常需要正式的技术审查和配置审查。状态报告:向需要知道这类信息的人报告变化。

论述题

图书馆的预定图书子系统有如下功能:

(1)由供书部门提供书目给订购组;

(2)订书组从各单位取得要订的书目;

(3)根据供书目录和订书书目产生订书文档留底;

(4)将订书信息(包括数目,数量等)反馈给供书单位;

(5)将未订书目通知订书者;

(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。

试根据要求画出该问题的数据流程图,并把其转换为软件结构图。

供书登记订书登记

供书目录

订书目录

有效订书

有效订书

订书通知

下订单

订书方

订书目录

已订和未订书目

供书方

供书目录

订购书目

入口

a

x1

x2x3=1

F

b

T DO-WHILE

c =2d

=3

CASE e x4

f

g h

F T

出口

F

T

N-S图:

语句覆盖的含义是,选择足够多的测试数据,使被测试程序中每个语句至少执行一次。为此,选取下面六组测试数据就可以达到语句覆盖标准:

X1X2X3X4覆盖语句

T–T a,x1,e,x4,g,h,i T–F a,x1,e,x4,f,i

F1T-a,x1,x2,x3,b,i F1F-a,x1,x2,x3,i

F2–a,x1,x2,c,i

F3–a,x1,x2,d,i

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论