文档库 最新最全的文档下载
当前位置:文档库 › 软件工程复习试题(有答案版)

软件工程复习试题(有答案版)

软件工程复习试题(有答案版)
软件工程复习试题(有答案版)

一、单选题

可行性分析研究的目的是(B)

A.争取项目

B.项目值得开发否

C.开发项目

D.规划项目

具有风险分析的软件生存周期模型是(C)

A.瀑布模型

B.喷泉模型

C.螺旋模型

D.增量模型

需求分析阶段的任务是确定(D)

A.软件开发方法 B.软件开发工具 C.软件开发 D.软件系统的功能

数据字典是用来定义( D )中的各个成份的具体含义的。

A.流程图 B.功能结构图 C.系统结构图 D.数据流图程序的三种基本控制结构的共同特点是( C )

A.只能用来描述简单程序 B.不能嵌套使用

C.单入口,单出口 D.仅用于自动控制系统

软件设计的方法有多种,( A )方法不属于面向数据流的设计方法。

A.基于Jackson图的设计 B.基于IDEF0图的设计

C.交换分析设计 D.事务分析设计

为高质量地开发软件项目,在软件结构设计时,必须遵循( A )原则。A.信息隐蔽 B.质量控制 C.程序优化 D.数据共享

软件复杂性主要体现在(B)

A.数据的复杂性

B.程序的复杂性

C.控制的复杂性

D.问题的复杂性为了提高软件的可维护性,在编码阶段应注意(D)

A.保存测试用例和数据

B.提高模块的独立性

C.文档的副作用

D.养成好的程序设计风格

面向对象的特征之一是( A )

A、对象的唯一性 B.抽象 C.封装性 D.共享性

当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( D )A.数据耦合 B.公共耦合 C.标记耦合D.内容耦合

需求规格说明书的作用不包括( C )

A.软件验收的依据 B.用户与开发人员对软件要做什么的共同理解C.软件可行性研究的依据 D.软件设计的依据

为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以( C )的编制是很重要的。

A、需求说明

B、概要说明

C、软件文档

D、测试计划

软件部件的内部实现与外部可访问性的分离,是指软件的( C )。

A、继承性

B、共享性

C、封装性

D、抽象性

单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现( C )的错误。

A、接口错误

B、编码错误

C、性能、质量不合要求

D、功能错误

软件工程管理对软件项目的开发管理,即对整个软件( D )的一切活动的管理。

A、软件项目

B、生存期

C、软件开发计划

D、软件开发

软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们( D )

A.前者属于静态测试,后者属于动态测试 B.都属于静态测试

C.前者属于动态测试,后者属于静态测试D.都属于动态测试

软件工程管理的具体内容不包括对( D )管理。

A.开发人员 B.组织机构 C.控制 D.设备软件调试技术包括(C)

A.错误推断

B.集成测试

C.回溯法

D.边界值分析

ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是( D )A.SQIC B.SQMC C.SQRC D.SQDC 软件复杂性度量的参数包括(B)

A.效率 B.规模 C.完整性 D.容错性

模块的耦合性最强的是( D )

A.数据耦合

B.控制耦合

C.公共耦合

D.内容耦合

在SD方法中全面指导模块划分的最重要的原则是( D )

A.程序模块化

B.模块高内聚

C.模块低耦合

D.模块独立性软件详细设计主要采用的方法是( C )

A.模块设计

B.结构化设计

C.PDL语言

D.结构化程序设计

黑盒测试在设计测试用例时,主要需要研究( A )

A.需求规格说明与概要设计说明

B.详细设计说明

C.项目开发计划

D.概要设计说明与详细设计说明

若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( C )

A.条件覆盖法

B.等价分类法

C.边界值分析法

D.错误推测法

下列属于维护阶段的文档是( D )

A.软件规格说明

B.用户操作手册

C.软件问题报告

D.软件测试分析报告

快速原型模型的主要特点之一是( D )

A.开发完毕才见到产品

B.及早提供全部完整的软件产品

C.开发完毕后才见到工作软件

D.及早提供工作软件

因计算机硬件和软件环境的变化而作出的修改软件的过程称为( B )

A.教正性维护

B.适应性维护

C.完善性维护

D.预防性维护

软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( B )

A.可用性

B.可靠性

C.正确性

D.完整性

下列文档与维护人员有关的有( C )

A.软件需求说明书

B.项目开发计划

C.概要设计说明书

D.操作手册下列模型属于成本估算方法的有( A )

A.COCOMO模型

B.McCall模型

C.McCabe度量法

D.时间估算法

对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。(第九章)

A.结合 B.隐藏C.封装 D.抽象

软件调试技术包括( B )

A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试

概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是( D )A.把软件划分成模块 B.确定模块之间的调用关系

C.确定各个模块的功能

D.设计每个模块的伪代码

软件生命周期中所花费用最多的阶段是( D )

A.详细设计 B.软件编码 C.软件测试D.软件维护“软件危机”是指( C)

A.计算机病毒的出现

B.利用计算机进行经济犯罪活动

C.软件开发和维护中出现的一系列问题

D.人们过分迷恋计算机系统

确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于( C )A、集成测试B、恢复测试C、验收测试D、单元测试

盒图(N-S图)为( A )提供了有力的工具。

A、系统分析

B、软件的自动化生成

C、自动分析数据

D、测试软件

程序的三种基本控制结构是( B )

A、过程、子程序和分程序

B、顺序、选择和重复

C、递归、堆栈和队列

D、调用、返回和转移

具有风险分析的软件生存周期模型是( C )

A.瀑布模型

B.喷泉模型

C.螺旋模型

D.增量模型下列有关软件工程的标准,属于行业标准的是( D)

A.GB

B.DIN

C.ISO

D.IEEE

DFD中的每个加工至少需要( D )

A.一个输入流

B.一个输出流

C.一个输入或输出流

D.一个输入流和一个输出流

为了提高模块的独立性,模块之间最好是( D )

A.控制耦合

B.公共耦合

C.内容耦合

D.数据耦合

软件设计的方法有多种,( A )方法不属于面向数据流的设计方法。A.基于Jackson图的设计B.基于IDEF0图的设计

C.交换分析设计 D.事务分析设计

当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(D)A.数据耦合B.公共耦合 C.标记耦合D.内容耦合

详细设计与概要设计衔接的图形工具是( D )

A.DFD图

B.程序图

C.PAD图

D.SC图

测试的关键问题是( D )

A.如何组织对软件的评审

B.如何验证程序的正确性

C.如何采用综合策略

D.如何选择测试用例

开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生

模块的内聚性最高的是( D )

A.逻辑内聚

B.时间内聚

C.偶然内聚

D.功能内聚

软件详细设计主要采用的方法是( C )

A.模块设计

B.结构化设计

C.PDL语言

D.结构化程序设计

结构化程序设计主要强调的是( D )

A.程序的规模 B.程序的效率

C.程序设计语言的先进性 D.程序易读性

下列关于功能性注释不正确的说法是( B )

A.功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态

B.注释用来说明程序段,需要在每一行都要加注释

C.可使用空行或缩进,以便很容易区分注释和程序

D.修改程序也应修改注释

下列关于效率的说法不正确的是( D )

A.效率是一个性能要求,其目标应该在需求分析时给出

B.提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法

C.效率主要指处理机时间和存储器容量两个方面

D.程序的效率与程序的简单性无关

可维护性的特性中,相互矛盾的是( B )

A.可理解性与可测试性

B.效率与可修改性

C.可修改性和可理解性

D.可理解性与可读性

快速原型是利用原型辅助软件开发的一种新思想,它是在研究( A )的方法和技术中产生的。

A.需求阶段

B.设计阶段

C.测试阶段

D.软件开发的各个阶段从目前情况来看,增量模型存在的主要问题是(C)

A.用户很难适应这种系统开发方法

B.该方法的成功率很低

C.缺乏丰富而强有力的软件工具和开发环境

D.缺乏对开发过程中的问题和错误具有应付变化的机制

可行性分析研究的目的是( A )

A.项目是否值得开发 B .争取项目 C.开发项目 D.规划项目

描述复杂系统时,最好采用( B)的描绘方法。

A.按系统流程描述

B.分层次

C.分阶段

D.对系统数据分类

下述方法中,属于形式化说明方法的是()。

A. Petri网

B. 数据流图

C. PDL

D. PAD图

需求分析阶段的基本任务是准确地回答( D )。

A. 系统的规模有多大

B. 系统如何实现

C. 系统有些什么输入信息

D. 系统必须做什么

在软件结构设计时,下面哪一项不是应该遵循(C )的原则。

A.信息隐蔽 B.抽象 C.数据共享 D.逐步求精

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

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

B、外部接口

C、功能

D、编程

软件是一种( C )

A、程序

B、数据

C、逻辑产品

D、物理产品

研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。

A.技术可行性

B.经济可行性

C.社会可行性

D.法律可行性

中级结构性成本模型COCOMO是一个( C )

A、静态单变量模型

B、动态单变量模型

C、静态多变量模型

D、动态多变量模型PAD图为(详细设计)提供了有力的工具。

在软件结构设计完成后,对于下列说法,正确的是( C )

A.软件层数过多,可能是因为各管理子模块功能过于复杂的原因。

B.对软件宽度影响最大的因素是扇入。

C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层

D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层

源程序的效率与( D )阶段确定的算法的效率直接有关。

A.概要设计 B. 总体设计 C. 单元设计 D. 详细设计

关于软件测试,下面说法正确的是( C )。

A.软件测试只能依靠手工进行

B.子模块并入系统时,只要此子模块是经过单元测试,且没有问题的,就不用再对系统进行测试了。

C.软件不能进行“穷举”测试

D.测试计划是在软件测试开始之初制定的。

关于白盒法覆盖程度的论述中正确的是( A )。

A.语句覆盖:选择测试用例使程序中每条语句至少被执行一次

B.条件覆盖:选择测试用例使每个条件都满足

C.判定覆盖:选择测试用例使程序中每个判定和判定中的条件至少都获得一次“真”值和一次“假”值。

D.条件组合覆盖:将所有的判定条件都组合起来执行

黑盒测试着重测试软件的( C)

A.设计 B. 模块 C. 功能 D. 数据

( B )发现错误能力最弱。

A.判定覆盖 B.语句覆盖 C. 条件覆盖 D. 条件组合覆盖

在进行软件测试时,首先应当进行( D ),然后再进行组装测试,最后再进行有效性测试。

A.组织测试 B.集成测试 C.确认测试D.单元测试

由软件预发行的最终客户们在一个或多个客户场所对软件进行的测试,称为(D)。A.α测试 B.集成测试 C.平行运行D.β测试

以下说法正确的是(B )。

A.等价划分法是一种有效的白盒测试方法。

B.在等价划分法中,为了提高测试效率,一个测试用例可以覆盖多个有效等价类。

C.等价划分法的关键是按照用例来确定等价类。

D.设计测试方案时,要么采用等价划分法,要么采用边界值分析法。

从现存的程序代码中抽取有关数据、体现结构和处理过程的设计信息,以便恢复设计结果的过程,称为(B)

A.代码重构B.逆向工程 C.数据重构 D.正向工程

决定软件可维护性的因素有5个,即可理解性、( C)、可修改性、可移植性、可重用性。

A.完备性 B.安全性C.可测试性 D.灵活性

软件维护工作过程中,第一步是先确认( B )

A.维护环境 B.维护类型 C.维护要求 D.维护者

以下哪种不属于用面向对象方法建立的分析模型( B )

A.动态模型

B.功能模型

C.对象模型

D.状态模型

可维护性的特性中,相互矛盾的是( B )

A.可理解性与可测试性

B.效率与可修改性

C.可修改性和可理解性

D.可理解性与可读性

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

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

B、外部接口

C、功能

D、编程

软件是一种( C )

A、程序

B、数据

C、逻辑产品

D、物理产品

研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。

A.技术可行性

B.经济可行性

C.社会可行性

D.法律可行性

中级结构性成本模型COCOMO是一个( C )

A、静态单变量模型

B、动态单变量模型

C、静态多变量模型

D、动态多变量模型PAD图为( A)提供了有力的工具。

A、系统分析

B、软件的自动化生成

C、自动分析数据

D、测试软件

二、填空题

在面向对象方法中,对象实现了数据和操作的结合,使数据和操作__封装___于对象的统一体中。

如果知道软件的规格说明书描述的程序功能,那么就可以采用__确认测试_进行测试。

软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

当A模块调用B模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是_______数据耦合_________。

向对象发出服务请求称为____接口___,类对象上的各种操作称为____方法____。提高软件质量和可靠性的技术主要有两类__避开错误技术__和_容错技术___。大型软件测试包括____单元测试____、___集成测试_____确认测试和____系统测

试__四个步骤。

软件结构图的宽度是指一层中__最大___的模块个数。

软件生存周期是指一个软件从提出开发要求开始直到_____该软件报废___为止的整个时期。

McCall提出的软件质量模型包括_______11_________个软件质量特性。

对大信息系统的需求,DFD应与数据库技术中______ER______图结合起来。

瀑布模型是以文档为驱动、适合于____需求很明确的____的软件项目的模型。在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、判定树。

数据项是指____不可再分的____数据单元。

基于计算机的系统通常包含6个元素是硬件、软件、过程、文档、数据库和________。

软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个_自底向上或相反顺序__集成的过程。

软件维护的内容包括校正性维持,适应性维护、__完善性维护___和预防性维护。CMM将软件过程的成熟度分为5个等级是初始级、可重复级、已定义级、己管理级和优化级。

软件结构是以模块为基础而组成的一种控制层次结构。

结构化语言是介于自然语言和形式语言之间的一种半形式语言。

在面向对象方法中,对象实现了数据和操作的结合,使数据和操作__封装___于对象的统一体中。

作为计算机科学技术领域中的一门新兴学科,软件工程主要是为了解决________问题。

划分模块时尽量做到_高内聚、低耦合___,保持模块的独立性。

瀑布模型是以文档为驱动、适合于___需求很明确的_____的软件项目的模型。软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

基于计算机的系统通常包含6个元素是硬件、软件、过程、文档、数据库和

________。

软件开发模型用于指导软件的开发。演化模型是在快速开发一个_可运行的软件原型_的基础上,逐步演化成最终的软件。

软件工程包括的三个要素是 ___方法、工具和过程_____。

常用的成本估计技术有:和自动估计成本技术三种。

结构化分析方法常用的两种工具是________和________。

模块的分解和合并应力求___降低耦合提高内聚_____。

程序的效率包括两个方面的内容___时间复杂度_____和___空间复杂度_____。形式化方法是一种基于数学的方法来描述目标软件系统属性的的技术。

在需求分析时,常采用数据流图来描绘系统的行为。

实体-联系图包括:实体关系属性 3种相互关联的信息。

软件设计包括制定计划和需求分析两个阶段。

基本路径测试是在程序流图的基础上,通过分析控制构造的环路复杂性,从而导出基本路径的集合,而设计测试用例,保证这些路径至少通过一次。

软件维护活动主要包括完善性维护、适应性维护、改正性维护和预防性维护等四种。

继承是子类自动共享父类属性和操作的机制。

IEEE定义基线是:已经通过了正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变它。

软件生存周期是指软件从_定义_、__开发_、_维护_直到最终被废弃的全过程。瀑布模型的核心思想是_按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开__。

在可行性研究中,________是最关键的因素。

软件生命周期由软件定义、软件开发和__软件维护___三个时期组成。

一般来说,可行性研究应该从技术、经济和_社会__三个方面研究每种解法的可行性。

软件_可靠性__是程序在给定的时间间隔内,按照规格说明书的规定成功地运行地概率。

常用的软件成本估计方法有________、任务分解技术和自动估计成本技术。

软件需求分析时,应建立数据模型、功能模型和_行为模型__。

所谓形式化方法,是描述系统性质的基于__数学__的技术。

_信息隐藏_原理指出:应该这样设计和确定模块,使得一个模块内包含的信息对于不需要这些信息的模块来说,是不能访问的。

如果一个程序的代码块仅仅通过顺序、选择和循环这三种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是_结构化_的。软件的维护一般经过提出维护或修改要求、领导复审并作出答复,如同意修改则列入维护计划、领导分配人物维护人员执行修改三个步骤。

三、简答题

软件项目估算内容与步骤

面向对象设计的准则是什么?有哪5个层次和4个部分?

准则:模块化、抽象、信息隐蔽、高内聚、低耦合、可重用

简述软件工程目标和面临的主要问题。

目标:支付较低的开发成本、达到要求的软件功能、获取较好的软件性能、开发的软件易于移植、需要较低的维护费用、能按时完成开发任务,几时交付使用、开发的软件可靠性高

面临的主要问题是:软件费用软件可靠性软件维护软件生产率软件重用。

简述软件工程过程。

软件工程过程是为获得软件产品,在软件工具支持下由软件工程师完成的一系列软件工程活动。软件工程过程通常包含四种基本的过程活动:

P(Plan):软件规格说明。规定软件的功能及其运行的限制;

D(Do):软件开发。产生满足规格说明的软件;

C(Check):软件确认。确认软件能够完成客户提出的要求;

A(Action):软件演进。为满足客户的变更要求,软件必须在使用的过程中演进。

事实上,软件工程过程是一个软件开发机构针对某一类软件产品为自己规定的工作步骤,它应当是科学的、合理的,否则必将影响到软件产品的质量。

简述模块独立性的原则。

模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的

模块独立性的概念是模块化、抽象、信息隐蔽和局部话概念的直接结果

由耦合和内聚2个标准度量

简述结构化程序设计方法的基本要点

1. 采用自顶向下,逐步求精的程序设计方法在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。

2. 使用三种基本控制结构构造程序任何程序都可由顺序、选择、重复三种基本控制结构构造。

1)用顺序方式对过程分解,确定各部分的执行顺序。

2)用选择方式对过程分解,确定某个部分的执行条件。

3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。

4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。

3. 主程序员组的组织形式

简述软件生命周期开发方法的基本过程及每个阶段的任务。

(1)问题定义阶段,尽可能清楚地描述问题,搞清楚要解决的问题是什么;

(2)可行性研究阶段,主要是确定待解的问题是否有可行的解决办法。需要做经济可行性分析、技术可行性分析、操作可行性分析和法律可行性分析;

(3)需求分析阶段,主要是确定目标系统必须具备的功能。通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。

(4)总体设计阶段,从总体上解决问题,确定可实现的方案,并设计出软件的层次结构图;(5)详细设计,把解法具体化,确定如何具体地实现这个系统。针对每个模块设计相应的算法;

(6)编码和单元测试阶段,把详细设计的结果翻译成选定的语言所写的程序,并对每个模块进行单元测试。

(7)测试阶段,系统地设计测试用例,尽可能多地发现软件中的错误,并调试改正软件中的错误;

(8)软件维护阶段,主要目的是通过修改软件使所开发的软件能够持久地满足用户的需要。

复印机的工作流程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令:如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。试用状态转换图描绘复印机的行为。

从问题陈述可知,复印机的状态主要有闲置、复印、缺纸和卡纸。引起状态转换的事件主要是复印命令、完成复印命令、发现缺纸、装满纸、发生卡纸故障和排除了卡纸故障

简述文档在软件工程中的作用。

1、提高软件开发过程的能见度

2、实现对软件开发的工程管理

3、提高开发效率

4、作为开发人员在一定阶段的工作成果和结束标志

5、提供软件运行、维护和培训有关资料

6、记录开发过程中有关信息便于协调以后的软件开发使用和维护

7、便于用户了解软件功能、性能。

简述软件项目管理过程。

简述系统分析员应该具备的主要知识结构和基本素质。

系统分析员应该既是信息系统专家,又是企业管理专家,同时还应该是优秀的领导者。

系统分析员应该具有的知识结构为:首先应该具有深入扎实的信息系统方面的专业知识和实践经验,即他们必须具有计算机软硬件的知识和开发应用的实践经验,以及信息处理,包括MIS、网络、通讯、数据库等方面的知识和实践经验;其次,应该具有经济管理或企业管理方面较丰富的理论知识和实践经验;同时应该具有优秀领导者的素质、才能和领导艺术,在信息系统开发的实践中不断丰富自己、提高自己,使自己的知识结构更趋于合理。

简述何谓软件开发方法?请列举四种主要方法。

软件开发方法是一中使用定义好的技术集和符号表示组织软件生产的过程。

结构化方法jackson方法维也纳开发方法面向对象开发方法

简述单元测试的基本内容。

测试构造软件系统的模块(对象和子系统)

模块接口主要检查数据能否正确通过模块;属性及对应关系是否一致

局部数据结构说明不正确或不一致;初始化或缺省值错误;变量名未定义或拼写错误;

数据类型不相容;上溢下溢或地址错误等

重要的执行路径重要模块要进行基本路径测试,仔细地选择测试路径是单元测试的一项基本任务

错误处理主要测试程序对错误处理的能力,应检查是否不能正确处理外部输入错误或内部处理引起的错误;对发生的错误不能正确描述的内容,难以理

解;在错误处理之前,系统已经进行干预等

边界条件程序最容易在边界上出错,如输入输出数据的等价类边界,选择条件和循环条件的边界,复杂数据结构的边界等都应进行测试

什么是软件生存周期模型?请至少列举四种主要模型?

软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。

常见的软件生存周期模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。

衡量模块独立的两个标准是什么?它们各表示什么含义?(网上)

两个定性的度量标准:耦合与内聚性

耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元素联系越紧密,内聚性越高。

简述白盒测试的思想,并列举两种典型的测试技术。

白盒测试又称结构测试,它把测试对象看作一个透明的盒子。测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态和预期的状态是否一致

典型测试技术:逻辑驱动、基本路径测试等

简述CMM(软件能力成熟度模型)5个等级的含义

第一级基本集软件工程是混乱无序的,对工程几乎没有定义,成功依靠的是个人的才能和经验,管理方式属于反应式

第二级重复级建立了基本的项目管理来跟踪进度。费用和功能特征,制定了必要的项目管理,能够利用以前类似的项目应用取得成功

第三级确定级已经将软件管理和过程文档化,标准化,同时综合成该组织的标准软件过程,所有的软件开发都使用该标准软件

第四级管理级收集软件过程和产品质量的详细度量,对软件过程和产品质量有定量的理解和控制。

第五级优化级软件过程的量化反馈和新的思想和技术促进过程的不断改进

简述软件维护的定义

在软件运行或维护阶段对软件产品所进行的修改,这些修改可能是改正软件中的错误,也可能是增加新的功能以适应新的需求,但一般不包括软件系统结构上的重大改变

简述软件测试的定义

广义:软件产品生存周期内所有的检查评审和确认活动

狭义:对软件产品质量的检验和评价,一方面检查软件产品质量中存在的质量问题同时对

产品质量进行客观的评价。

UML建模中主要包括哪九种图?并说明类图的定义及其中常见的关系有哪些?用例图类图对象图状态图顺序图协作图活动图组件图分布图

类图描述系统的的静态结构。表示系统中类、类与类之间的关系以及类的属性和操作。

常见关系:关联(分为聚合和组合)、范化、依赖、实现

什么是字据字典?其作用是什么?它有哪些条目?

数据字典是用于定义数据流图中的各个成分的具体含义。它以一种准确的无二义的说明方式为系统的分析设计及维护提供了有关元素的一致的定义和详细的描述

有4类条目:数据流、数据存储、数据项和加工

四、分析题

根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。“一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。”

1.分析

三角形应满足:

(1)输入3个数(2)a,b,c整数(3)a>0,b>0,c>0(4)a+b>c,a+c>b,b+c>a

等腰三角形除了满足三角形的条件外,还应满足:

(5)a=b或a=c或b=c

等边三角形除了满足三角形的条件外,还应满足:

(6)a=b=c

2.等价类表

覆盖有效等价类的测试用例

覆盖无效等价类的测试用例

覆盖无效等价类的测试用例等价类编号3,*,* (10)

*,3,* (11)

*,*,3 (12)

3,4,* (13)

3,*,4 (14)

*,3,4 (15)

3,4,5,6,7 (16)

2.1,3,4 (17)

3,2.1,4 (18)

3,4,2.1 (19)

2.1,2.2,4 (20)

4,2.1,2.2 (21)

2.1,4,2.2 (22)

2.1,2.2,2.3 (23)

0,3,4 (24)

3,0,4 (25)

3,4,0 (26)

0,0,3 (27)

0,3,0 (28)

3,0,0 (29)

0,0,0 (30)

-1,2,3 (31)

2,-1,3 (32)

2,3,-1 (33)

-1,-2,3 (34)

-1,3,-2 (35)

3,-1,-2 (36)

-1,-2,-3 (37)

1,2,4 (38)

1,2,3 (39)

1,4,2 (40)

1,3,2 (41)

4,1,2 (42)

3,1,2 (43)

2,3,4 (44)

2,3,3 (45)

3,2,3 (46)

3,3,2 (47)

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

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

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

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

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

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

(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。试根据要求画出该问题的数据流图,并把其转换为软件结构图。

已知被测试模块流程图如下,按照“条件覆盖”法,在表格中填入满足测试要求的数据。

假设几种可能的条件是:

T1: A>2 F1:A<=2 T2: B=1 F2: B≠1 T3: A=1 F3:A≠1 T4:Y>1 F4:Y<=1

填写下表

设计一个简化的网上个人银行查询系统,用户可以通过Internet查询自己帐户的收支明细、余额和修改密码。采用面向对象方法:

1)请画出系统的用例图;

2)识别出系统的主要类,并画其中的二个类图(包含主要属性和操作)。

3)画一个UML时序图,描述一次通过网上银行查询余额的具体交互。

(二)采用面向对象方法:8分

1)请画出系统的用例图;2分

2)识别出系统的主要类2分

User、Account、DetailItem

主要要包括用户、帐户、收支明细等类。

并画其中的二个类图(包含主要属性和操作)。2分

3)画一个UML时序图,描述一次通过网上银行查询余额的具体交互。2分

用等价类划分方法进行如下测试:

城市电话号码有3部分组成:

地区:空白或3位数字;

前缀:非‘0’或‘1’开头的3位数字;

后缀:任意4位。

程序应接受符合条件的号码,拒绝不符合条件的号码。

解:第一步:划分等价类,包括4个有效等价类,11个无效等价类。表7-2-1列出了划分的结果。在每一等价类之后加有编号,以便识别。

表7-2-1 电话号码程序的等价划分

第二步:确定调试用例。表7-2-1中有4个有效等价类,可以公用以下两个次数用例:调试数据范围期望结果

( ) 276-2345等价类(1),(3),(4)有效

(635) 805-9321等价类(2),(3),(4)有效

对11个无效等价类,要选择11个调试用例,如下所示:

调试数据范围期望结果

(20A) 123-4567 无效等价类(5)无效

(33 ) 234-5678 无效等价类(6)无效

(7777) 345-6789 无效等价类(7) 无效

(777) 34A-6789无效等价类(8) 无效

(234) 045-6789无效等价类(9)无效

(777) 145-6789无效等价类(10) 无效

(777) 34-6789 无效等价类(11)无效

(777) 2345-6789 无效等价类(12)无效

(777) 345-678A 无效等价类(13) 无效

(777) 345-678 无效等价类(14)无效

(777) 345-56789 无效等价类(15) 无效

某单位要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。

1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。

2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。要求:1.对以上问题画出数据流程图。2.画出该培训管理的软件结构图。

某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。现要求用黑盒测试法中的边界值法写出测试用例。

输入条件测试用例说明测试数据

报表日期的1个数字字符 5

类型及长度5个数字字符20035

7个数字字符2003005

有1个非数字字符2003.5

全部是非数字字符MAY---

6个数字字符200305

日期范围在有效范围200301

边界上选取200812

数据200300

200813

月份范围月份为1月200301

月份为12月200312

月份<1 200300

月份>12 200313

下图为一个被测程序流程图,试用条件覆盖方法为它设计足够的测试用例

软件工程复习考试题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行(B)维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法?B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工

软件工程 简答题复习题(带答案)

n n g a r 第一章 1,与计算机硬件相比,计算机软件有哪些特点? 软件的特点如下。 1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来 了解它的功能、特性和质量等。 2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过 程中,渗透了大量的脑力劳动。 3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问 题。 4)软件的开发和运行必须依赖于特定的计算机系统环境。 5)具有可复用性。 3,什么是软件危机?什么原因导致了软件危机? 软件危机的现象如下。 1)预算,项目一再拖延。 2)需求,开发的软件不能满足用户的要求,项目成功率低。 3)软件工程方法,软件可维护性差、软件质量差、可靠性差。 4)开发工具落后,手工方式,开发效率低。 所有导致软件危机的原因,都与软件本身的产品特点相关。 1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软 件产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升 高。 2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。 3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法 做到准确估算,生产过程不易控制。 4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成 本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得 多。 5,请简述软件工程研究的内容。

n d A i 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实 施、系统维护、版本升级等。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。软件支持过程由所支持的CASE 工具组成,常用的CASE 工具有Power Designer 和Rational Rose 等。 7,请简述软件工程的目标、过程和原则。 目标、过程和原则是一切工程的三维框架,这里是以工程的观点来看待软件开 发。 1)软件工程的目标:降低成本、及时交付高质量的软件产品(高质量、高效 率、高效益)。2)实现目标的过程即完成产品加工的过程,包括:基本过程、支持过程和组 织过程。 3)进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的 开发范型、采用合适的设计方法、提供高质量的工程支持、重视开发过程 的管理。 9,请简述现代软件工程与传统软件工程显著的区别和改进。 1)传统的软件工程是基于结构化的软件开发方法,而现代软件工程是以面向 对象技术为标志。 2)不仅在编程技术上有很大的改进,而且在分析、设计等整个开发过程中, 采用面向对象的思维方式,更加完整、自然地反映客观世界。3)采用架构技术,开发效率、产品质量得到了极大提高。 4)更注重团队开发和管理,融入更多、更新的管理理念和手段,如RUP 模型、 XP 模型、过程改进、能力成熟度模型、配置管理等。 第二章 1,如何理解软件生命周期的内在特征?

软件工程期末试卷(A卷)

《软件工程》期末试卷(A卷) 一.单项选择题(每小题1分,共22分) 1.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A.结合B.隐藏C.封装D.抽象 2.软件生命周期中所花费用最多的阶段是( D )。 A.详细设计B.软件编码C.软件测试D.软件维护 3.需求分析中开发人员要从用户那里了解( A )。 A.软件做什么B.用户使用界面 C.输入的信息D.软件的规模 4.测试的关键问题是( D )。 A.如何组织对软件的评审B.如何验证程序的正确性 C.如何采用综合策略D.如何选择测试用例 5.( D )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A.软件过程B.软件测试 C.软件生命周期D.软件工程方法学 6.( A )意味着一个操作在不同的类中可以有不同的实现方式。 A.多态性B.多继承C.类的可复用D.信息隐藏 7.单元测试的测试用例主要根据( D )的结果来设计。 A.需求分析B.源程序C.概要设计D.详细设计 8.随着软硬件环境变化而修改软件的过程是( B )。 A.校正性维护B.适应性维护 C.完善性维护D.预防性维护 9.在白盒测试技术测试用例的设计中,( A )是最弱的覆盖标准。 A.语句覆盖B.路径覆盖 C.条件组合覆盖D.判定覆盖 10.结构化程序设计的一种基本方法是( C )。 A.筛选法B.迭代法 C.逐步求精法D.递归法11.不适合作为科学工程计算的程序设计语言是( D )。 A.Pascal B.C C.Fortran D.Prolog 12.只有单重继承的类层次结构是( C )层次结构。 A.网状型B.星型 C.树型D.环型 13.面向对象的开发方法中,( C )将是面向对象技术领域内占主导地位的标准建模语言。 A.Booch方法B.Coad方法C.UML语言D.OMT方法 14.瀑布模型本质上是一种( A )。 A.线性顺序模型B.顺序迭代模型 C.线性迭代模型D.及早见产品模型 15.软件维护产生的副作用,是指( C )。 A.开发时的错误B.隐含的错误 C.因修改软件而造成的错误D.运行时误操作 16.软件详细设计的主要任务是确定每个模块的( A )。 A.算法和使用的数据结构B.外部接口 C.功能D.编程 17.软件结构图的形态特征能反映程序重用率的是( C )。 A.深度B.宽度C.扇入D.扇出 18.为了提高模块的独立性,模块内部最好是( C )。 A.逻辑内聚B.时间内聚 C.功能内聚D.通信内聚 19.软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )。 A.调用关系B.组成关系 C.链接关系D.顺序执行关系 20.“软件危机”是指( C )。 A.计算机病毒的出现 B.利用计算机进行经济犯罪活动 C.软件开发和维护中出现的一系列问题 D.人们过分迷恋计算机系统 21.具有风险分析的软件生命周期模型是( C )。 A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 22.数据流图(DFD)中的每个数据处理至少需要( D )。 A.一个输入数据流 B.一个输出数据流 C.一个输入或者输出数据流 D.一个输入数据流和一个输出流

电大软件工程模拟试题(2)

软件工程模拟试题二 一、选择题,请从四个可选项中选择正确答案。(60分,每题3分) 1.以下哪一项不是软件危机的表现形式() A.成本高 B.生产率低 C.技术发展快 D.质量得不到保证 2.哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。()A.演化模型 B.喷泉模型 C.原型模型 D.螺旋模型 3.可行性研究的目的不包括() A.分析开发系统的必要性 B.确定系统建模的方案 C.分析系统风险 D.确定是否值得开发系统 4.可行性分析研究的费用大约是项目总经费的()。 A.2% B.8% C.20% D.50‰ 5.在E-R 模型中,包含以下基本成分()。 A.数据、对象、实体 B.控制、联系、对象 C.实体、联系、属性 D.实体、属性、联系 6.软件需求分析产生两个重要文档,一个是软件需求规格说明书,另一个是()。 A.软件维护说明书 B.概要设计说明书 C.可行性报告 D.初步用户手册 7.内聚程度较低的是()。 A.通信内聚 B.过程内聚 C.顺序内聚 D.时间内聚 8.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是() A.把软件划分成模块B确定模块之间的调用关系

C.确定各个模块的功能 D.设计每个模块的伪代码 9.UML 语言支持的建模方式不包括有()。 A.静态建模 B.动态建模 C.模块化建模 D.功能建模 10.以下哪一项不是面向对象的特征。() A.多态性 B.继承性 C.封装性 D.过程调用 11.面向对象设计首先要确定系统的总体结构和风格,构造系统的()。 A.逻辑模型 B.物理模型 C.数据模型 D.用例模型 12.面向对象设计的步骤中,正确的顺序是()。 A.系统构架设计、用例设计、类设计 B.系统构架设计、数据库设计和用户界面设计 C.类设计、用例设计、构架设计 D.用例设计、构架设计、类设计 13.类有3种类型,即()。 A.边界类、实体类、控制类 B.实体类、控制类、界面类 C.控制类、实体类、虚类 D.界面类、控制类、公共类 14.()是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。 A.消息连接 B.参数传递 C.方法重写 D.继承 15.结构化程序设计主要强调的是()。 A.程序的规模 B.程序效率 C.程序语言的先进性 D.程序易读性 16.下列关于功能性注释不正确的说法是()。 A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态 B. 注释用来说明程序段,需要在每一行都要加注释 C. 可使用空行或缩进,以便很容易区分注释和程序 D. 修改程序也应修改注释 17.软件测试的目的是()。 A.评价软件的质量 B.发现软件的错误

软件工程复习试题及答案

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为 N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 4.软件有效性,指软件系统的时间和空间效率。 5.IPO 6.数据流图有四种基本成分:源、终点,处理,存储,数据流。 7. 其中数据项是组成数据流和数据存储的最小元素。 8.软件工程中的结构化分析SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。 2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、

单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。 8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。 10.常用的测试方法有黑盒测试和白盒测试。 1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和 社会效益可行性等方面研究。 2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环 结构。 3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护 阶段。 4.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功 能需求。

软件工程期末考试参考试题

软件工程期末考试参考试题 一、填空题 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. 从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。

软件工程模拟题

[模拟] 软件工程 选择题 第1题: 软件工程方法学的三要素是______。 ①方法②项目管理③过程④开发语言⑤工具 A.①②③ B.①②⑤ C.②③④ D.①③⑤ 参考答案:D 软件工程方法学包含三个要素:方法、工具和过程。方法是指完成软件开发的各项任务的技术方法;工具是指为运用方法而提供的软件工程支撑环境;过程是指为获得高质量的软件所需要完成的一系列任务的框架。 第2题: 螺旋模型的开发实施和______基本相吻合。 A.智能模型 B.快速原型模型 C.喷泉模型 D.V模型 参考答案:B 第3题: 软件设计一般分为外部设计和内部设计,它们之间的关系是______。 A.全局和局部 B.抽象和具体 C.总体和层次 D.没有关系 参考答案:A 这里所说的外部设计实际上是指概要设计,内部设计就是详细设计。概要设计的工作是:·采用某种设计方法,将一个复杂的系统按功能划分成模块;·确定每个模块的功能;·确定模块之间的调用关系;·确定模块之间的接口,即模块之间传递的信息;·评价模块结构的质量。而详细设计的工作是:·为每个模块进行详细的算法设计。用某种图形、

表格、语言等工具将每个模块处理过程的详细算法描述出来。·为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。·对数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。可见,这是一个全局和局部的关系,概要设计划分好模块,而详细设计定义每个模块如何工作。 第4题: 瀑布模型把软件生命周期划分为三个阶段,它们分别是:计划阶段、开发阶段和______。 A.可行性分析阶段 B.运行阶段 C.详细计划阶段 D.测试与排错阶段 参考答案:B 瀑布模型的软件生命周期分为计划阶段、开发阶段和运行阶段(即维护阶段)三个大的阶段,这三个阶段又可细分为:可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试、运行维护几个小的阶段。 第5题: 瀑布模型(Waterfall Model)突出的缺点是不能适应______的变动。 A.算法 B.开发或应用平台 C.程序语言 D.用户需求 参考答案:D 瀑布模型有许多优点:可强迫开发人员采用规范的方法;严格规定了各阶段必须提交的文档;要求每个阶段结束后,都要进行严格的评审。但瀑布模型过于理想化,而且缺乏灵活性,无法在开发过程中逐渐明确用户难以确切表达或一时难以想到的需求,有时可能直到软件开发完成之后才发现与用户需求有很大距离,此时必须付出高额的代价才能纠正这一偏差。 第6题: 如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称为______模块。 A.功能内聚 B.顺序内聚 C.通信内聚 D.过程内聚

软件工程复习题及答案

软件工程复习题(一) 一、选择题 1、瀑布模型本质上是一种() A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 2、使用程序设计的控制结构导出测试用例的测试方法是() A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 3、软件结构图的形态特征能反映程序重用率的是() A、深度 B、宽度 C、扇入 D、扇出 4、软件结构图中,模块框之间若有直线连接,表示它们之间存在() A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 5、需求分析最终结果是产生() A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 6、快速原型模型的主要特点之一是( ) A、开发完毕才见到产品 B、及早提供全部完整的软件产品 C、开发完毕后才见到工作软件 D、及早提供工作软件 7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件详细设计主要采用的方法是( ) A、模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计 9、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A、.软件工程 B、软件周期 C、软件危机 D、软件产生 10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作() A、需求分析 B、概要设计 C、详细设计 D、软件维护 11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是() A、探索型模型 B、演化型模型 C、实验型模型 D、提交型模型 12、程序设计语言的工程特性之一为( ) A、软件的可重用性 B、数据结构的描述性 C、抽象类型的描述性 D、数据库的易操作性 13、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A、可用性 B、可靠性 C、正确性 D、完整性 14、模块设计中,最不希望的内聚是() A、功能内聚 B、通信内聚 C、过程内聚 D、偶然内聚 15、实施快速原型模型方法开发软件的关键在于() A、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素质 16、程序流程图(框图)中的箭头代表( )。 A、数据流 B、控制流 C、调用关系 D、组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A、0 B、1 C、3 D、不确定的

软件工程复习题及答案

一、画出实际的瀑布模型p16 三、画出增量模型p18 五、可行性研究的工作过程及内容p36 答:1).复查系统规模和目标; 2).研究目前正在使用的系统; 3).导出新系统的高层逻辑模型; 4).进一步定义问题; 5).导出和评价供选择的解法; 6).推荐行动方针;7).草拟开发计划;8.书写文档提交审查。 六、可行性研究的目的是什么?要如何进行?p35 答:目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。 首先,需要进一步分析和澄清问题定义。之后,分析员应该导出系统的逻辑模型。从系统逻辑模型出发,探索若干可供选择的主要解决方法(即系统实现方案)。对每种解法都应该仔细研究它的可行性,一般来说,至少应该从下述三方面研究每种解法的可行性:(1)技术可行性;(2)经济可行性;(3)操作可行性。必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。 二、画出快速原型模型p17 四、画出简化的螺旋模型p20 软件工程考试复习题

七、需求分析的任务是什么?进行需求分析时要重点考虑哪些方面的问题?p56 答:1、确定对系统的综合要求:1).功能需求——指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。2).性能需求——性能需求指定系统必须满足的定时约束或容量约束,如速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等。3).可靠性和可用性需求——可靠性是指确保各应用及其相关的所有交易的完整性和一致性的能力;可用性是指一个系统应确保一项服务或者资源永远都可以被访问到。4).出错处理需求——说明系统对环境错误应该怎样响应。5).接口需求——描述应用系统与它的环境通信格式。6).约束——在设计或实现应用系统时应遵守的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。7).逆向需求——说明软件系统不应该做什么。8).将来可能提出的要求——应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。 2、分析系统的数据要求。 3、导出系统的逻辑模型。 4、修正系统开发计划。 八、典型的总体设计过程包括哪些步骤?p92 答:典型的总体设计过程包括九个步骤: 1)、设想供选择的方案;2)、选取合理的方案;3)、推荐最佳方案;4)、功能分解;5)、设计软件结构;6)、设计数据库;7)、制定测试计划;8)、书写文档;9)审查和复查。 九、总体设计的主要任务是什么?总体设计的主要过程有哪些?p91 答:主要任务: 总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素—程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。总体设计的另一项重要的任务是设计软件的结构,也就是要确定系统中每个程序是由哪个模块组成,以及这些模块相互间的关系。 主要过程: ①寻找实现目标系统的各种不同的方案。②从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素。③进行成本/效益分析,并且制定实现这个方案的进度计划。从中选出一个最佳方案。④进一步为这个最佳方案设计软件结构。⑤进行必要的数据库设计,确定测试要求并且制定测试计划。 十、何谓耦合?有哪些类型?软件设计应该取哪种类型?p97 答:耦合是对一个软件结构内不同模块之间互连程度的度量。 类型:数据藕合、控制藕合、公共环境藕合、内容耦合 设计原则:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。 十一、何谓内聚?有哪些类型?软件设计应该取哪种类型?p98 答:内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。 低内聚有如下几类:偶然内聚、逻辑内聚、时间内聚。中内聚主要有两类:过程内聚、通信内聚。高内聚也有两类:顺序内聚、功能内聚。 设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多;但是,低内聚很坏,不要使用。

天津科技大学软件工程期末考试试题(样卷)

天津科技大学软件工程期末考试试题 (样卷) 一、单项选择题 1.程序设计属于软件开发过程( C )阶段。 A.设计B.编程 C.实现D.编码 2. 产生软件危机的原因主要与两个方面的问题有关:( C ) A.软件在计算机中很难识别,存在磁盘中也看不到。 B.软件设计对人的智商要求很高,也要求很高的资金投入。 C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和 维护过程中用的方法不正确。 D.软件很难理解,硬件也很复杂。 3.结构设计是一种应用最广泛的系统设计方法,是以( A )为基础、自顶向下、逐步求精和模块化的过程。 A.数据流B.数据流图 C.数据库D.数据结构 4. 下列关于瀑布模型的描述正确的是( C )。 A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。 B. 瀑布模型具由于良好的灵活性。 C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。 D. 利用瀑布模型,如果发现问题则修改的代价很低。 5.在软件结构化设计中,好的软件结构设计应该力求做到( B )。

A.顶层扇出较少,中间层扇出较高,底层模块低扇入 B.顶层扇出较高,中间层扇出较少,底层模块高扇入 C.顶层扇入较少,中间层扇出较高,底层模块高扇入 D.顶层扇入较少,中间层扇入较高,底层模块低扇入 6. 需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是( A ) 需求。 A.功能B.性能 C.数据D.环境 7.软件结构图的形态特征能反映程序重用率的是( C )。 A.深度B.宽度 C.扇入D.扇出 8. 在数据流图中,○(椭圆)代表( C )。 A.源点B.终点 C.加工D.模块 9.为了提高模块的独立性,模块内部最好是( C )。 A.逻辑内聚B.时间内聚 C.功能内聚D.通信内聚 10.软件需求分析的主要任务是准确地定义出要开发的软件系统是( C )。A.如何做B.怎么做 C.做什么D.对谁做 11.软件的( A )设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。 A.概要B.抽象 C.逻辑D.规划

软件工程模拟试卷和答案

北京语言大学网络教育学院 《软件工程》模拟试卷一 注意: 1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。请监考老师负责监督。 2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。 3.本试卷满分100分,答题时间为90分钟。 4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。 一、【单项选择题】(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。 1、在软件开发领域中,“描述了实现概念模型的软件解决方案”的系统模型被称为()。 [A] 设计模型[B] 软件模型[C] 实现模型[D] 部署模型 2、一般来说,整个需求的主体是()。 [A] 功能需求[B] 性能需求 [C] 外部接口需求[D] 设计约束 3、总体设计的第二阶段是()。 [A] 初始设计[B] 详细设计[C] 复审阶段[D] 精化设计 4、在模块内聚类型中,常常通过研究流程图确定模块的划分,得到的是()。 [A] 逻辑内敛[B] 顺序内敛[C] 功能内敛[D] 过程内敛 5、一个模块直接控制(调用)的下层模块的数目称为模块的()。 [A] 扇入[B] 扇出[C] 深度[D] 宽度 6、UML术语中,限定符常被用在()。

7、UML 提供的13种图形化工具中,用于概念模型和软件模型静态结构的是( ) 8、RUP 的迭代、增量式开发规定的4个阶段不包括( )。 9、根据RUP 实现的活动,输入为设计类,活动为实现类,则输出为( )。 10、软件评估可分为静态评估和动态评估,其中属于动态评估技术的是( )。 11、黑盒测试技术,又称为( )。 12、若有语句if(A<1 and C>0)then B=1/C else B=1/A ,选用类似数据A=2,C=1;A=-2,C=1;A=2,C=-1;A=-2,C=-1;得到不同B 的值,这种测试策略为( )。 13、在两种模型的基础上,螺旋模型加入两者所忽略的风险分析,这两者是( )。 [A] 瀑布模型和增量模型 [B] 瀑布模型和演化模型 [C] 喷泉模型和增量模型 [D] 喷泉模型和演化模型 14、在软件生存周期模型中,主要用于支持面向对象技术的软件开发模型是( )。 15、CMMI 能力等级中的第一级为( )。 [A] 依赖关系 [B] 泛化关系 [C] 关联关系 [D] 细化关系 [A] 用况图 [B] 状态图 [C] 类图 [D] 活动图 [A] 评审阶段 [B] 构造阶段 [C] 移交阶段 [D] 精化阶段 [A] 用况 [B] 子系统 [C] 接口 [D] 构件 [A] 评审 [B] 走查 [C] 形式化证 明 [D] 软件测试 [A] 功能测试 [B] 结构测试 [C] 系统测试 [D] 集成测试 [A] 定义域测试 [B] 等价类测 试 [C] 路径测试 [D] 事物流测 试 [A] 演化模型 [B] 增量模型 [C] 喷泉模型 [D] 螺旋模型

软件工程考试题带答案

一、选择题 1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B) A) 可行性研究,问题定义,需求分析。 B) 问题定义,可行性研究,需求分析。 C) 可行性研究,需求分析,问题定义。 D) 以上顺序都不对。 2.可行性研究主要从以下几个方面进行研究:(A) A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 3 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(C) A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。 C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。4.在详细设计阶段所使用到的设计工具是:(A) A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判 定树. B) 数据流程图,Yourdon 图,程序流程图,PAD图, N-S图,HIPO图。 C) 判定表,判定树,PDL,程序流程图,PAD图,N-S 图。 D) 判定表,判定树,数据流程图,系统流程图,程序流程 图,层次图。 5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A) A)模块的作用域应在模块的控制域之内。 B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。 D)以上说法都不对。 6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C) A.概要设计 B.详细设计 C.需求分析 D.可行性分析 7下面不是软件工程的3个要素的是(C) A过程 B.方法 C.环境 D.工具 8.下面不属于软件的组成的是(B) A程序 B.记录 C.文档 D.数据 9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C) A.维护时期 B.运行时期 C.定义时期 D.开发时期 10.在瀑布模型中,下面(C)是其突出的缺点。 A.不适应平台的变动 B.不适应算法的变动 C.不适应用户需求的变动 D.不适应程序语言的变动 11下面不属于软件的特点的是(D)。 A软件是一种软件产品 B软件产品不会用坏,不存在磨损、消耗问题 C软件产品的生产主要是研制 D软件产品非常便宜 12 软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。下面不是软件开发工具的是(A)。 A.维护工具 B.编码工具 C.测试工具 D.需求分析工具 13.下列叙述中不属于软件生命周期模型的是(D)。 A.原型模型 B.瀑布模型 C.螺旋模型 D.快速组装模型 14.软件设计中,用抽象和分解的目的是(B)。 A.提高易读性 B.降低复杂性 C.增加内聚性 D.降低耦合性 15软件生命周期中所花费用最多的阶段是(D)。 A.详细设计 B.软件编码 C.概要设计 D.软件测试和维护 16.开发软件时对提高开发人员工作效率至关重要的是(B)。

高级软件工程师月考试试题A卷带答案

高级软件工程师考试试题(A卷)1、下哪种命名空间中的类型用于创建Windows GUI应用程序。(选择1项) D、 2、判断这PL/SQL 代码块:(选择1项) BEGIN FOR i IN 1..6 LOOP IF i = 2 OR i = 3 THEN null; ELSE INSERT INTO example(one) VALUES (i); END IF; ROLLBACK; END LOOP; COMMIT; END; 有多少行被插入到表 EXAMPLE ? A、0 B、1 C、2 D、3 3、链表具有的特点是:(选择3项) A、不必事先估计存储空间 B、可随机访问任一元素 C、插入删除不需要移动元素 D、所需空间与线性表长度成正比 4、序列图描述对象是如何交互的并且将重点放在消息序列上。(选择1项) A、正确 B、不正确

5、一个XML必须有DTD或Schemas。(选择1项) A、正确 B、不正确 6、动态网站需要的技术为。(选择3项) A、CGI B、HTTP C、ASP D、PHP 7、Linux 文件名的长度不得超过( )个字符?(选择1项)。 A、64 B、128 C、256 D、512 8、在Struts中实现页面跳转主要通过什么方法来实现?(选择1项) A、 B、 C、 D、 9、EJB的优点有哪些?(选择2项) A、技术领先 B、价格低廉 C、性能优越 D、强大的容器支持 10、在使用匿名登录ftp时,用户名为( )? (选择1项) A、login users B、anonymous C、root D、guest 11、你判断下面语句,有什么作用?(选择1项)

软件工程期末复习题参考答案

软件工程期末复习题 选择题 1.软件设计中划分模块的一个准则是(C)。 A低内聚低耦合 B低内聚高耦合 C高内聚低耦合 D.高内聚高耦合 2.(A)是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型法 C、螺旋模型方法 D、构件组装模型 3.试判断下列叙述中,哪个些是正确的(C)。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B、b C、c D、b和c 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D) A、PASCAL B、VISUAL BASIC C、C++

D、汇编语言 6.软件测试的目的是?(D) A.软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 7.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 8.软件维护工作的最主要部分是(C)。 A、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 9.PDL是(B)语言。 A.高级程序设计语言 B、伪码式 C、中级程序设计语言 D、低级程序设计语言 10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(C)。 A、软件结构 B、软件过程 C、软件模型 D、软件模块 11.在数据流图中,○(椭圆)代表(B) A、数据流 B、转换 C、数据源 D、外部实体

软件工程模拟试题二及参考答案

软件工程》试题 一、选择 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、()是以追求更高的效益和效率为目标的持续性活动。 A 质量策划 B 质量控制 C 质量保证 D 质量改进 3、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第 1级 外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干 ()。 A 关键实践 B 软件过程性能 C 软件过程能力 D 软件过程 4、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 5、()意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性

B 多继承 C 类的复用 D 封装 6、在面向对象的系统中,系统责任的良好分配原则是()。 A 在类之间均匀分配 B 集中分配在少数控制类中 C 根据交互图的消息进行分配 D 根据个人喜好进行分配 7、软件配置项是软件配置管理的对象,即软件工程过程中产生的()。 A 接口 B 软件环境 C 信息项 D 版本 8、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 二、问答题 1、判断下列叙述的正确性,将结果(V正确,X错误)填入()中,并改正错误的说法。 (1). ()在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花 费的代价就会降低。改正: __ (2). ()在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什 么。改正: __ (3). ( )软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。改正: __

软件工程考试题(含答案)

软件工程考试题 简答题 1、什么叫软件? 软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因就是什么? 软件危机就是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 软件开发与维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也与软件开发与维护的方法不正确有关。具体表现如下: (1)软件就是逻辑部件而不就是物理部件。 (2)软件的规模越来越大,复杂性越来越大。 (3)轻视需求分析的重要性,轻视软件维护的错误观点与方法。 3、什么叫软件工程? 1968年在第一届NATO会议上的早期定义: “建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993年IEEE的定义: “①软件工程就是:把系统的、规范的、可度量的途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件;②进而研究①实现的途径”。 我们国家最近定义:软件工程就是指导计算机软件开发与维护的工程学科。它采用工程的概念、原理、技术与方法来开发与维护软件,把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来。 4、两种软件工程方法学开发软件时要建立哪些模型? 软件工程方法学包括:传统方法学与面向对象方法学。常用的开发模型有: 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析与概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性与无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1、管理过程模型。2、瀑布模型(又称为生命周期模型)。3、增量过程模型:包括增量模型,,RAD模型。4、烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。5、专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。 6、什么就是软件生命周期? 一个软件从定义,开发,使用与维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期 7、软件生命周期有哪几个阶段与步骤? 三个阶段:定义、开发、维护 八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护。 8、计算机软件的开发经过哪三个大阶段? 三个阶段:定义、开发、维护 9、软件开发的各阶段的任务就是什么? 定义阶段:问题定义--任务:关于规模与目标的报告书;可行性研究--任务:系统的高层逻辑模型:数据流图,成本/效益分析;需求分析--任务:系统的逻辑模型:数据流图,数据字典,算法描述。 开发阶段:总体设计--任务:系统流程图,成本/效益分析,推荐的系统结构:层次图/结构图;详细设计--任务:HIPO图或PDL 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

相关文档
相关文档 最新文档