软件工程复习_第1页
软件工程复习_第2页
软件工程复习_第3页
软件工程复习_第4页
软件工程复习_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1答:软件危机是指在计算机的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是“不能正常运行的”软件才具有的,实际上几乎所有软件都不同程度的存在这些问题。概况地说软件危机包含两个方面的问题:

v

如何开发软件,怎样满足对软件的 日益增长的需?

v

如何维护数量不断膨胀的已有软件?

什么是软件危机?2v对软件开发成本和进度的估计常常很不准确v用户对“已完成的”软件不满意的情况经常发生v软件产品的质量常常靠不住v软件常常不可维护或可维护性差v软件常常没有适当的文档资料v软件成本在计算机总成本中所占比例逐年上升v软件开发生产率提高的速度,远远跟不上计算 机应用普及深入的趋势?

软件危机的主要表现:

3

解决软件危机的途径:

良好的组织、严密的管理、密 切的协作科学的开发方法、先进的软件 开发工具阶段评审,及时发现问题解决 问题4

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

什么叫软件?

5

软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。是指导计算机软件开发和维护的工程学科。包括两个方面:

软件工程技术软件工程管理软件工程三要素:方法、工具、过程5.什么叫软件工程?

61.用分阶段的生命周期计划严格管理2.坚持进行阶段评审3.实行严格的产品控制4.采用现代程序设计技术5.结果应能清楚地审查6.开发小组的人员应该少而精7.承认不断改进软件工程实践的必要性

软件工程的基本原理:

7

付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;

开发的软件易于移植;需要较低的维护费用;

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

软件工程的基本目标:

8软件工程过程通常包含四种基本的过程活动:

(1)软件规格说明;

(2)软件开发;

(3)软件确认;

(4)软件演进。

软件开发过程(SoftwareEngineeringProcess)9

软件生存期:

1.问题定义;

2.可行性分析;

3.需求分析;

4.总体设计;

5.详细设计;

6.编码;

7.测试;

8.运行与维护。

软件生存期10计划开发软件定义软件开发运行运行维护1.阶段间具有顺序性和依赖性;2.推迟实现的观点;3.需求冻结的观点;4.质量保证的观点:每个阶段必须完成规定的文档;

每个阶段结束前完成文档审查;尽早改正错误。比较:喷泉模型是典型的面向对象的软件过程模型,该模型中相邻阶段之间的活动存在交迭。

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

准备,简要介绍情况,阅读被审查的文档,开审查会,返工,复查。

技术审查的步骤12(1)技术可行性

使用现有的技术能实现这个系统吗?(2)经济可行性

这个系统的经济效益能超过它的开发成本吗?(3)操作可行性系统的操作方式在这个用户组织内行得通吗?

可行性研究的任务

13

软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的()问题?

A.生产工程化B.质量保证

C.开发效率D.产生危机

选择题14

软件危机是软件产生过程中出现的一种现象,下述现象:

I.软件需求增长难以满足

Ⅱ.软件开发成本提高

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

Ⅳ.软件质量不易保证哪些是其主要表现:

A.全部B.Ⅲ和ⅣC.Ⅱ、Ⅲ和ⅣD.I、Ⅱ和Ⅲ

选择题

15

选择题16

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

①A.50年代末B.60年代初

C.60年代末

D.70年代初②A.运筹学B.工程学

C.软件学D.数学软件工程的出现是由于(A)。

A.软件危机的出现

B.软件产业化的需要

C.程序设计方法学的影响

D.计算机的发展

开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作(A)。

A.软件危机B.软件投机

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

选择题

17

选择题18下列哪一项不是软件危机的表现形式?A.系统软件与应用软件的联系越来越困难

B.软件生产高成本,价格昂贵

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

D.软件的可维护性差

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

A软件工程B软件测试

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

选择题19在瀑布模型中,将软件开发划分为若干个时期,软件项目的可行性研究一般归属于()A.计划时期B.维护时期

C.运行时期D.开发时期20

软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型形成于

A.开发阶段B.计划阶段

C.分析阶段D.设计阶段分析:需求分析的目标包括构造一个完全的系统逻辑模型。

答:C

选择题21

软件工程的结构化生命周期方法,通常将软件生命周期划分为计划、开发和运行三个时期,下述哪些工作应属于软件开发期的内容?I.需求分析Ⅱ.可行性研究

Ⅲ.总体设计

A.只有ⅡB.I和Ⅱ

C.I和ⅢD.都是选择题

选择题

22软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指()A.结构化方法B.原型化方法

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

选择题23

软件工程管理涉及软件管理学和(A)两部分的内容。

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

C.软件工程环境D.软件开发方法软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?()A.软件工程经济B.软件开发工具

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

选择题24

在软件发展过程中,第一阶段(50年代)称为“程序设计的原始时期”,这一时期既没有①也没有②,程序员只能用汇编语言编写程序。第二阶段(50年代末~60年代末)称为“基本软件期”,出现了①并逐渐普及,随之②编译技术也有较大发展。第三阶段(60年代末~70年代中)称为“程序设计方法的时代”。此时期,与硬件费用下降相反,软件开发费用急剧上升。人们提出了③和④等程序设计方法,设法降低软件开发的费用。第四阶段(70年代中至今)称为“软件工程时期”,软件开发技术不再仅仅是程序设计技术,而是同软件开发的各阶段(⑤、⑥、编码、测试、⑦)及整体和管理有关。①②③④A.汇编语言B.操作系统

C.虚拟存储器概念D.高级语言

E.结构式程序设计F.数据库概念

G.固件H.模块化程序设计⑤⑥⑦A.使用和维护B.兼容性的确认

C.完整性的确定D.设计

E.需求定义F.图像处理答案:①B②D③E④H⑤E⑥D⑦A25

从软件的开发到运行的全过程,软件文档的重要作用是众所周知的,但执行时差距甚大,其根本原因是

A.文档规范程度低

B.文档生成工具差

C.开发者缺乏重视

D.工程化程度尚低分析:若软件工程化方式或工程化程度较低,则会导致软件开发进度与软件文档完全脱节。选D

选择题26

软件文档是软件工程实施中的重要成分,它不仅是软件开发各阶段的重要依据,而且也影响软件的

A.可理解性

B.可扩展性

C.可移植性

D.可维护性分析:缺乏必要的软件文档,必然给软件开发和维护带来许多严重的困难和问题。答:D

选择题27

历史信息格式不一致时,应采用

的方法使问题得到一定程度的解决。

A.加强标准化

B.稳定数据结构

C.提高软件重用率

D.A与B

答:D

选择题28

程序设计属于软件开发过程的

A阶段。

A.实现B.编程

C.设计D.编码IBM的HIPO图应用于软件开发的哪个阶段?(A)A.总体设计阶段B.需求分析阶段

C.实现阶段D.测试阶段选择题29

开发大型软件时,产生困难的根本原因是(A)A.大系统的复杂性

B.人员知识不足

C.客观世界千变万化

D.时间紧、任务重

选择题30瀑布模型是一种:A.软件维护模型B.软件生命期模型

C.软件生命周期D.程序设计方法学在软件工程中,高质量的文档标准是完整性、一致性和

.A.统一性B.安全性

C.无二义性

D.组合性

选择题

31软件文档的描述中:

I.描述怎样安装和管理这个系统;

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

Ⅲ.描述如何使用这个系统,以便用户的使用;

Ⅳ.描述系统的需求和设计哪些是软件文档应该满足的内容?A.I,Ⅱ,ⅣB.I,Ⅱ,Ⅲ

C.Ⅱ,Ⅲ,ⅣD.都是

选择题

32

CMM提供了一个框架,将软件过程改进的进化步骤组织成(5)个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B)。A关键实践B关键过程域C软件过程能力D软件过程

选择题33

从心理学的观点,编程语言的性能主要有

I.二义性Ⅱ.简洁性

Ⅲ.一致性Ⅳ.局部性和线性

A.I,Ⅱ,ⅣB.Ⅱ,Ⅲ,ⅣC.I,ⅢD.都是

选择题34

软件可维护性的特性中相互矛盾的是(A)A、效率和可修改性B、可测试性和可理解性C、可修改性和可理解性D、可理解性和可读性

在软件开发中,有利于发挥集体智慧的一种做法是(A)。

A.技术评审B.模块化

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

选择题35软件维护产生的副作用,是指(A)A、因修改软件而造成的错误

B、开发时的错误

C、隐含的错误

D、运行时误操作软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A固有的B人为的

C可消除的D不可降低的选择题36

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

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

B、外部接口

C、功能

D、编程

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

A、实验型模型B、演化型模型

C、探索型模型D、提交型模型

选择题37

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

A.测试B.正确性证明

C.自动程序设计D.符号证明在结构化程序设计当中,不建议使用(A)。

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

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

选择题

38程序的三种基本控制结构,它们的共同点是(A)。

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

B.不能嵌套使用

C.已经用硬件实现

D.只能用来写简单的程序软件工程的结构化分析方法强调的是分析开发对象的(A)。

A.数据流B.控制流

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

选择题39软件工程方法学包含三个要素,下列哪一个不是其要素?(A)

A.计划B.工具

C.过程D.

方法一般情况下,管理人员在项目开发的哪一个时期参与最少?(A)

A.中期B.早期

C.后期D.平均分配

选择题40①尽管有非法输入,软件仍具有继续正常工作的能力(H)②软件在需要它投入使用时能实现其指定的功能的概率(B)③软件从一个计算机系统或环境转换到另一个计算机或环境的容易程度(A)④在规定的条件下和规定期间内,实现指定功能的概率(F)⑤软件使不同的系统约束条件和用户需求得到满足的容易程度(C)A.可移植性B.可用性C.兼容性D.可测试性

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

I.可修改性J.可接近性选择题41

在白盒测试中,不仅使每个语句必须至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果,这种逻辑覆盖称为(C)。

A.判定覆盖B.判定/条件覆盖

C.条件覆盖D.条件组合覆盖

选择题

选择题42

软件工程学的目的是以①的成本,研制②质量的软件。

A.较高B.较低

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

在软件工程中,软件生存期可分为计划、开发以及运行三个时期,每个时期又分为若干更小的阶段。通常,计划时期包括问题定义和①,开发时期包括②、概要设计、详细设计、编码以及③。①A.需求分析B.可行性研究

C.经费预算D.质量保证②A.需求分析B.可行性研究

C.总体设计D.模块化设计③A.文档编制B.运行维护

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

选择题44

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

A、程序流程图B、具体的语言程序C、模块结构图及模块的功能说明D、分层数据流图

多重选择题45

软件工程的结构化生命周期方法,通常将软件生命周期划分为计划、开发和运行三个时期,下述哪些工作应属于软件开发期的内容(ACD)?

A.需求分析

B.可行性研究

C.总体设计 D、测试

多重选择题46软件文档的描述中:A.描述怎样安装和管理这个系统;B.描述系统的安装和测试,以便使系统 是可维护的;C.描述如何使用这个系统,以便用户的 使用;D.描述系统的需求和设计哪些是软件文档应该满足的内容?(BD)

多重选择题47

(A)是以发现错误为目的的,之后还需进一步诊断和改正程序中的错误,这就是(B)的任务。

A.测试B.调试

C.维护D.开发

软件开发的结构生命周期法(SA)的基本假定是认为软件需求能做到(A)A.早期冻结B.初步定义

C.严格定义D.动态改变多重选择题48

软件开发的原型化方法是一种动态定义软件需求的方法,下述条件:A、成熟的原型化人员B、需求了解的准确性C、快速的成型工具哪些条件是实施原型化方法所必须的?(AC)

多重选择题49原型化方法,即快速建立目标系统的试探性的原型系统,原型化方法主要用于需求不易确定的信息系统。

原型化方法—主要理由:受认识能力限制,不能预先指定所有要求;在用户和系统分析员之间存在固有的通信鸿沟;用户需要一个“活的”系统模型,以便获得实践经验;在开发过程中重复和反复是必要的和不可避免的;目前有快速建立原型系统的工具可供选用。由于软件项目的特点和运行原型的目的不同,原型主要有三种不同的作用类型:

(1)探索型(2)实验型(3)进化型关于原型化方法50由于运用原型的目的和方式不同,在使用原型时可采取以下两种不同的策略:

(1)废弃策略:探索型、实验型

(2)追加策略:进化型。原型化方法的优点:(1)增进涉众对系统需求的理解;(2)提供了一种有力的学习手段;(3)可以容易地确定系统的性能,确认系统设计的可行性;(4)软件原型的最终版本。有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个组成部分。关于原型化方法51

数据流图是用于软件需求分析的工具,下列元素中哪些是其基本元素。(ABCD)A.数据流B.加工C.数据存储D.外部实体

多重选择题多重选择题52软件生命周期一般分为六个阶段,它们依次为(B)、(A)、(C)、(F)、(E)、(D)。A.需求分析C.软件设计B.可行性研究和计划D.维护E.测试F.编码G.成长期 H.衰退期 I.修改期多重选择题53

按照传统瀑布模型开发软件,具有哪些特点?(ABD)A.阶段间具有顺序性和依赖性B.质量保证的观点C.软件复用的观点D.推迟实现的观点

54

E-R图是用于描述实体关系的工具,下列元素中哪些是其基本元素。(AC)A.联系

B.外部实体

C.属性

D.数据存储多重选择题55

结构化分析方法产生的系统说明书由一套(B)、(C)和一组小说明及补充材料组成;

A.因果图

B.分层数据流图.

C.一本数据字典

D.程序流程图

多重选择题56结构化分析方法

结构化分析方法(简称SA方法)就是面向数据流自顶向下逐步求精进行需求分析的方法。

结构化分析方法适合于数据处理类型软件的需求分析。具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。57结构化分析方法工具

数据流图数据词典结构化英语判定表判定树加工逻辑说明58数据流程图(DFD,DataFlowDiagram)

它是描述数据处理过程的有力工具。从数据传递和加工的角度,以图形的方式表示数据在系统内的移动变换过程。59

数据字典是结构化分析方法中与数据流图配合使用的工具,是对数据流图中包含的所有元素的定义的集合。数据字典:60可行性研究要进行一次(A)需求分析。

A、简化的、压缩了的

B、详尽的

C、彻底的

D、深入的需求分析最终结果是产生(A).A、需求规格说明书

B、项目开发计划

C、设计说明书

D、可行性分析报告

选择题61

软件开发的原型化方法是一种动态定义软件需求的方法,下述条件:(1)成熟的原型化人员;(2)快速的成型工具;(3)需求了解的准确性哪些条件是实施原型化方法所必须的?答:1和2

选择题62

概念模式的作用主要表现在哪两个方面?

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

B.加快程序开发和提高程序运 行效率

C.认识事物和加快程序开发

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

选择题63需求分析阶段的任务是确定(A)。

A.软件系统的功能

B.软件开发工具

C.软件开发费

D.软件开发方法需求分析中开发人员要从用户那里了解()。

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

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

选择题641、软件设计阶段的输出主要是(D)。

A、程序B、模块

C、伪代码D、设计规格说明书2、SD方法设计的结果是(D)。

A、源代码B、伪代码

C、模块D、模块结构图选择题65软件结构图的形态特征能反映程序重用率的是(A)

A、扇入B、扇出

C、深度D、宽度模块内聚度越高,说明模块内各成分彼此结合的程度越(A)。

A、紧密B、松散

C、无法判断D、相等

选择题66

(A)标志一个模块内各个元素彼此结合的紧密程度,它是信息屏蔽和局部化概念的自然扩展。

A.内聚B.抽象

C.耦合D.模块独立

在详细设计阶段,经常采用的工具有(A)

A.PADB.SAC.SCD.DFD选择题67

软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(A)。

A、软件过程 B、软件结构

C、软件模型 D、软件模块

为了提高模块的独立性,模块内部最好是(A)

A、功能内聚B、时间内聚

C、逻辑内聚D、通信内聚

选择题68在下列叙述中,正确的是:A.在进行需求分析时需同时考虑维护问题B.完成测试作业后,为了缩短源程序的长度应删去源程序的注解C.尽可能在软件生产过程中保证各阶段文档的正确性D.编码时应尽可能使用全局变量E.选择时间效率和空间效率尽可能高的算法F.尽可能使用硬件的特点判断题69在下列叙述中,正确的是G.重视程序结构的设计,使程序具有较好的层次结构H.使用维护工具或支撑环境I.在进行概要设计时应加强模块间的联系J.为了提高程序的易读性,尽可能使用高级语言编写程序

K.为了加快软件维护作业的进度,尽可能增加维护人员的数目判断题70

模块的耦合性越强,模块的独立性越好。

答:错回答什么是模块的耦合性.所以,……

辩析题71耦合程度的强弱

非直接耦合数据耦合标记耦合控制耦合外部耦合环境耦合(公共偶合)

内容耦合弱耦合强强模块独立性弱低中较强强72软件危机:软件危机是指在计算机的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是“不能正常运行的”软件才具有的,实际上几乎所有软件都不同程度的存在这些问题。名词解释73软件工程:软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。是指导计算机软件开发和维护的工程学科。软件维护:所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。包括改正性维护、完善性维护、适应性维护和预防性维护。名词解释74耦合:耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。软件质量:软件质量就是“软件与明确地和隐含地定义的需求相一致的程度”。具体地说:软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业的软件产品都应该具有的隐含特征相一致的程度。名词解释75能力成熟度模型(capabilitymaturitymodel,CMM)是用于评价软件机构的软件过程能力成熟度的模型。它的基本思想是:由于问题是由我们管理软件过程的方法不当引起的,所以新软件技术的运用并不会自动提高软件的生产率和质量。能力成熟度模型有助于软件开发机构建立一个有规律、成熟的软件过程。CMM将软件过程改进的进化步骤组织成5个成熟度等级,依次为初始级、可重复级、已定义级、已管理级和优化级。除第1级外,每个等级都包含了实现该成熟度等级目标的若干关键过程域。

关于能力成熟度模型CMM76白盒测试:把测试对象看作一个打开的盒子,利用程序内部的逻辑结构及有关信息,对程序所有路径进行测试。数据字典:在结构化分析中与数据流图配合使用的工具,也就是对数据流程图中包含的所有元素的定义的集合。名词解释77黑盒测试:把测试对象看作一个黑盒子,完全不考虑程序内部的逻辑结构和内部特征,只依据程序的需求规格说明书,检查程序的功能是否实现。即测试是依据软件的外部特征进行的。名词解释78有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。利用它,可以检测程序是否实现了规格说明预先规定的功能和性能。软件配置管理:软件配置管理是在软件的整个生命期内管理变化的一组活动。具体地说,这组活动用来:①标识变化;②控制变化;③确保适当地实现了变坏;④向需要知道这类信息的人报告变化。名词解释79边界值分析方法:按照边界值分析法,应该选取刚好等于、稍小于和稍大于等价类边界值的数据作为测试数据,而不是选取每个等价类内的典型值或任意值作为测试数据。

名词解释80关于单元测试单元测试通常又称为模块测试。单元测试集中检验软件设计的最小单元——模块,横跨两个阶段即编程阶段和测试阶段;单元测试一般由程序员自己做,对多个模块的测试可以并行地进行;单元测试可以分静态测试和动态测试,一般使用白盒测试法81关于单元测试在单元测试主要评价模块的下述五个特性:模块接口;局部数据结构;重要的执行通路;出错处理通路;影响上述各方面特性的边界条件。正式测试之前必须先通过编译程序检查并且改正所有语法错误,然后用详细设计描述作指南,对重要的执行通路进行测试,以便发现模块内部的错误。821、模块独立性的含义与意义。模块独立性的含义:l模块完成独立的功能符合信息隐蔽和信息局部化原则模块间关连和依赖程度尽量小

论述题83模块独立性的意义:为什么模块的独立性很重要呢?主要有两条理由:第一,有效的模块化(即具有独立的模块)的软件比较容易开发出来。。。。。。。第二,独立的模块比较容易测试和维护。。。。。。。总之,模块独立是好设计的关键,而设计又是决定软件质量的关键环节。

论述题

84关于等价划分等价划分是一种黑盒测试技术,它把程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论