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

下载本文档

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

文档简介

《软件工程》复习内容一.填空题1、软件是数据、计算机程序及其阐明程序的多种文档。2、概要设计重要是把各项功能需求转换成系统的体系构造。3、面向对象开发措施包括OOA、OOD、OOP三部分。4、构造化设计中以数据流图为基础的两种详细分析设计措施是变换分析、事物分析设计。5、在单元测试时,需要为被测模块设计驱动模块和桩模块。6、CMM把软件过程从无序到有序的进化提成5个阶段,排序而形成5个逐层提高的等级,分别是初始级、可反复级、已定义级、已管理级和可优化级。7.子类自动共享父类的属性和操作的机制称为继承。8.软件工程管理的详细内容包括对开发人员、组织机构、顾客、文档资料等方面的管理。9、可行性研究的三个方面是技术可行性、社会可行性和__经济可行性__。10、在软件概要设计阶段,建立软件构造后,还应为每个模块写一份处理阐明和_接口阐明__。11、在画分层的DFD时,父图与子图的输入输出数据流要__平衡__。12、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据构造_进行设计。14.基线的作用是把各阶段的开发工作划分得愈加明确,便于检查与确认阶段成果。因此,基线可以作为项目的一种___检查点__。15.软件工程包括软件开发技术和__软件工程管理__两大部分内容。16、开发过程管理包括项目计划、控制和___任务管理__等。17、CASE是数年来在软件开发管理、软件开发措施、软件开发环境和__软件工具__等方面研究和发展的产物。18、数据字典中有四类条目,分别是___数据流、数据项、数据存储、基本加工。19、用于描述基本加工的小阐明的三种描述工具是构造化语言、鉴定表、鉴定树_。20、子类只继承一种父类的属性和操作,这称为__单重继承__。21、McCabe复杂性度量又称__环路度量_。22、喷泉模型是一种以顾客需求为动力,以__对象__为驱动的模型。23、Jackson图不仅可表达程序构造,还可表达___数据构造__。24、详细设计的任务是确定每个模块的内部特性,即模块的算法和数据构造。25、UML提供的构建系统动态模型的机制有动态视图视图(包括次序图和协作图)、静态视图视图、功能视图。26、软件质量管理由软件质量保证、软件质量规划和软件质量控制三方面活动构成。27、用等价类划分法设计一种测试用例时,使其覆盖__尽量多的__尚未被覆盖的合理等价类;覆盖__一种_不合理等价类。28、需求分析阶段产生的最重要的文档是__需求规格阐明书_。29、两个模块都使用同一张表,模块的这种耦合称为___公共耦合__。30、被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为_静态_测试。31、采用手工措施开发软件只有程序而无文档,维护困难,这是一种__非构造化__维护。32、构造化措施是一种面向数据流的开发措施。由构造化分析、_构造化措施_、构造化程序设计构成。33、对象之间进行通信的构造叫做_消息_。34、按软件服务对象的范围可以把软件划分为项目软件和产品软件。35、瀑布模型将软件生命期划分为若干阶段,各个阶段之间是通过文档实现过渡的。36、概要设计重要是把各项功能需求转换成系统的__体系构造__。38、构造化程序设计措施倡导开发人员的组织形式是__主程序员组_。40、类具有操作,它是对象__行为

_的抽象。41、产品管理包括版本管理和__配置管理___。42、集成测试中的详细措施是___渐增式和非渐增式___测试措施。43、增量模型适合于__软件需求_不明确、设计方案有一定风险的软件项目。44、构造化分析措施的分析方略是__自顶向下逐渐求精__。45、可行性研究实质上是要在较高层次上以较抽象的方式进行___需求分析和设计__的过程。46、衡量模块独立性的两个定性原则是__耦合性与内聚性___。49、继承性是子类自动共享其父类的__数据构造和措施__机制。50、在面向对象措施中,人们常用状态图描述类中对象的_动态行为_。51、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为___容错__软件。53.软件生存周期是指一种软件从提出开发规定开始直到该软件报废不止的整个时期。一般,软件生存周期包括问题定义、可行性研究,需求分析,总体设计,详细设计,_编码_,测试,维护活动,可以将这些活动以合适方式分派到不一样阶段去完毕54.数据流图中的箭头表达__数据流__。软件构造图中的箭头方向表达___模块调用__。56.数据流图仅反应系统必须完毕的逻辑功能,因此它是一种__功能_模型。软件从定义、开发、使用和维护,直到最终被废弃,要经历一种漫长的时期,称为软件的生命周期。软件是程序、数据及有关文档的完整集合。其中程序是可以完毕预定功能和性能的可执行的指令序列;数据是使程序可以合适地处理信息的数据构造;文档是开发、使用和维护程序所需要的图文资料。采用工程的概念、原理、技术和措施来开发与维护软件,把通过时间考验而证明是对的的管理技术和目前可以得到的最佳的技术措施结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。目前使用得最广泛的软件工程措施学是老式措施学与面向对象学。软件过程是为了获得高质量软件所需要完毕的一系列任务的框架,它规定了完毕各项任务的工作环节。可行性研究的目的就是用最小的代价在尽量短的时间内确定问题与否可以处理。系统流程图是概括地描绘物理系统的老式工具;而数据流图是系统逻辑功能的图形表达工具。对数据流图(DFD)中包括的所有元素的定义和集合称为数据字典。面向对象措施学的出发点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的措施与过程尽量靠近人类认识世界处理问题的措施与过程,也就是使描述问题的问题空间与实现解法的解空间在构造上尽量一致。在软件的设计原理中,____抽象___和_____求精_____是一对互补的概念。衡量模块独立程序的两个定性原则是内聚和耦合。假如一种程序的代码块仅仅通过次序、选择和循环这3种基本控制构造进行连结,并且每个代码块只有一种入口和一种出口,则称这个程序是___构造化_____的。___软件测试_____是为了发现程序中的错误而执行程序的过程。软件可靠性是指程序在给定的时间间隔内,按照规格阐明书得规定成功地运行的概率。软件维护是指软件系统交付使用后来,为了改正错误或满足新的需要而修改软件过程。CMM的中文名称为_能力成熟度模型_,它分为__5__个等级。软件需求分析是指_软件计划期间建立的软件可行性分析求精和细化,分析多种也许的解法,并且分派给各个软件元素。其中软件需求是指(1)顾客处理问题或到达目的所需的条件或权能(Capability)。(2)系统或系统部件要满足协议、原则、规范或其他正式规定文档所需具有的条件或权能。(3)一种反应上面(1)或(2)所描述的条件或权能的文档阐明。完整的软件测试一般要通过_单元测试_、_集成测试__、__确认测试_和__系统测试__等4个阶段。模块化是指把程序划提成独立命名切可独立访问的模块,每个模块完毕一种子功能,把这些模块集成起来构成一种整体,可以完毕指定的功能满足顾客的需求。测试用例是指是为某个特殊目的而编制的一组测试输入、执行条件以及预期成果,以便测试某个程序途径或核算与否满足某个特定需求。对象是指在应用领域中故意义的、与所要处理的问题有关系的任何事物。类是一组具有相似属性和行为的同一种或多种的对象的集合。一种类中的每个对象都是这个类的一种实例。在面向对象的基本概念中,多态性是指_同一消息为不一样的对象接受时可产生完全不一样的行动的现象基本的测试措施有白盒测试和黑盒测试两种。其中黑盒测试又称功能测试;白盒测试又称构造测试。选择题1.SA措施用DFD描述(

D)。

A.系统的控制流程B.系统的数据构造

C.系统的基本加工D.系统的功能2.进行需求分析可使用多种工具,但(

C)是不合用的。

A.数据流图(DFD)B.鉴定表C.PAD图

D.数据字典3.构造化分析(SA)措施将欲开发的软件系统分解为若干基本加工,并对加工进行阐明,下述是常用的阐明工具,其中便于对加工出现的组合条件的阐明工具是(

A)。a.构造化语言;b.鉴定树;c.鉴定表。

A.b和cB.a,b和cC.a和cD.a和b4.软件概要设计结束后得到(

B)。A.初始化的软件构造图

B.优化后的软件构造图C.模块详细的算法

D.程序编码5.PDL是软件开发过程中用于(

C

)阶段的描述工具。

A.需求分析B.概要设计C.详细设计D.编程

6.下面的逻辑测试覆盖中,测试覆盖最弱的是(

C)

A.条件覆盖

B.条件组合覆盖

C.语句覆盖

D.条件及鉴定覆盖7.下列模型属于成本估算措施的有(A)A、COCOMO模型 B、McCall模型C、McCabe度量法 D、时间估算法8.鉴定表和鉴定树是数据流图中用以描述加工的工具,它常描述的对象是(

D

)

A.逻辑判断

B.层次分解

C.操作条目

D.组合条件9.软件构造图中,模块框之间若有直线连接,表达它们之间存在着(

A

)关系。

A.调用

B.构成

C.链接

D.次序执行10.软件设计中一般将用到图形工具,下列哪种(些)可用作设计的图形工具(

C)

a.构造图

b.实体联络图(数据库设计时使用)

c.IPO图

d.层次图

A、a和b

B、c和d

C、a,c,d

D、所有11、一种面向对象系统的体系构造通过它的成分对象和对象间的关系确定,与老式的面向数据流的构造化开发措施相比,它具有的长处是(A).A、设计稳定

B、变换分析C、事务分析

D、模块独立性12、软件管理的重要职能包括(

D)

A.人员管理、计划管理

B.原则化管理、配置管理

C.成本管理、进度管理

D.(A)和(B)13、任何项目都必须精心做好项目管理工作,最常用的计划管理工具是(

D)

A.数据流程图

B.程序构造图

C.因果图

D.PERT图14.软件开发中常采用的构造化生命周期措施,由于其特性而一般称其为(

A)

A、瀑布模型

B、对象模型

C、螺旋模型

D、层次模型15.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图对应加工的输入、输出数据流(

A)。

A.必须一致

B.数目必须相等

C.名字必须相似

D.数目必须不等16.在构造化分析措施中,用以体现系统内数据的运动状况的工具有(

B

)

A.数据流图

B.数据字典

C.构造化语言

D.鉴定表与鉴定树17.面向数据流的设计措施把(C)映射成软件构造。A、数据流

B、模块化

C、控制构造

D、信息流18..数据流图是常用的进行软件需求分析的图形工具,其基本图形符号是(

C)

A.输入.输出.外部实体和加工

B.变换.加工.数据流和存储

C.加工.数据流.数据存储和外部实体

D.变换.数据存储.加工和数据流19.软件构造使用的图形工具,一般采用(

C)图。

A.DFD

B.PAD

C.SC

D.ER20.在面向数据流的软件设计措施中,一般将信息流分为(

A)

A、变换流和事务流

B、变换流和控制流

C、事务流和控制流

D、数据流和控制流21.McCall提出了表明软件质量的11个质量特性。它们是对的性、可靠性、可使用性、完整性、(

D)、可移植性、可复用性、效率、可测试性、互联性。

A.模块独立性、安全性

B.文档完备性、灵活性

C.可维护性、安全性

D.可维护性、灵活性22、软件开发常使用的两种基本措施是构造化和原型化措施,在实际的应用中,它们之间的关系体现为(

B)

A、互相排斥

B、互相补充

C、独立使用

D、交替使用23、构造化分析SA措施以数据流图、(D)和加工阐明等描述工具,即用直观的图和简洁的语言来描述软系统模型。A、DFD图B、PAD图C、IPO图D、数据字典24、制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是(

D)

A、组织与管理

B、分析与估算

C、设计与测试

D、规划与调度25、构造设计是一种应用最广泛的系统设计措施,是以(数据流)为基础、自顶向下、逐渐求精和模块化的过程。26、在软件构造化设计中,好的软件构造设计应当力争做到(B)。A、顶层扇出较少,中间层扇出较高,底层模块低扇入B、顶层扇出较高,中间层扇出较少,底层模块高扇入C、顶层扇入较少,中间层扇出较高,底层模块高扇入D、顶层扇入较少,中间层扇入较高,底层模块低扇入27、构造图(SC)和层次方框图是不一样的,前者(B)。A、描述程序的过程特性 B、描述程序的层次特性C、描述程序的过程特性和层次特性 D、即不描述程序的过程特性,也不描述程序的层次特性28、软件详细设计重要采用的措施是(D)。A、模块设计B、构造化设计C、PDL语言D、构造化程序设计29、软件设计将波及软件的构造、过程和模块的设计,其中软件过程是指(

B)

A、模块间的关系

B、模块的操作细节

C、软件层次构造

D、软件开发过程30、软件测试的手段有多种,通过人工来评审文档或程序,借以发现其中错误,该手段是(D)。A、黑盒测试B、对的性测试C、动态测试D、静态测试31、下列哪个变化不属于软件维护中的副作用?(

C)

A.修改代码

B.修改数据

C.修改需求分析

D.修改文档32.作坊式小团体合作生产方式的时代是(

C

)时代。

A.程序设计

B.软件生产自动化C.程序系统

D.软件工程33.来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,一般也称为(D)工具。A.CADB.CAIC.CAMD.CASE34.在软件需求规范中,下述哪些规定可以归类为过程规定(

A)A.执行规定

B.效率规定C.可靠性规定

D.可移植性规定35.Jackson措施实现从(

A

)导出(

C)。A.数据构造

B.数据流图

C.程序构造

D.软件模块层次构造36、PAD图的控制执行流程为(

C)

A、自下而下、从左到右

B、自上而下、循环执行

C、自上而下、从左到右

D、都不对37.程序设计语言的心理特性在语言中体现不应包括(

C)。

A.歧义性

B.简洁性

C.保密性

D.老式性38.在软件工程中,白箱测试措施可用于测试程序的内部构造。此措施将程序可作为(A

)

A.途径的集合

B.循环的集合

C.目的的集合

D.地址的集合39.集成测试的重要措施有两个,一种是(

B

)

A.白箱测试措施、黑箱测试措施B.渐增式测试措施、非渐增式测试措施C.等价分类措施、边缘值分析措施D.因果图措施、错误推测措施40、软件产品质量是生产者和顾客都十分关怀的问题,质量管理只看到产品的质量,近年来质量管理向(

A)发展,重要的基本假设是过程的质量直接影响产品的质量。

A.过程质量的控制

B.过程的改善

C.产品的改善

D.技术的革新41、在构造化分析措施中,数据字典是重要的文档。对加工的描述是数据字典的构成内容之一,常用的加工描述措施(

C)。A.只有构造化语言B.有构造化语言和鉴定树C.有构造化语言、鉴定树和鉴定表D.有鉴定树和鉴定表42、项目管理工具中,将网络措施用于工作计划安排的评审和检查的是(

A)。A.Gantt图B.PERT网图C.因果分析图D.流程图43、软件设计的重要任务是设计软件的构造、过程和模块,其中软件构造设计的重要任务是要确定(

C)。A.模块间的操作细节B.模块间的相似性C.模块间的构成关系D.模块的详细功能44、下述任务中,不属于软件工程需求分析阶段的是(

D)。A.分析软件系统的数据规定B.确定软件系统的功能需求C.确定软件系统的性能规定D.确定软件系统的运行平台45.PDL是软件开发过程中用于(

C

)阶段的描述工具。

A.需求分析

B.概要设计

C.详细设计

D.编程46、McCall提出的软件质量的11个质量特性分为三组,下面哪一种不属于这三组(

A)

A.产品需求

B.产品运行

C.产品修正

D.产品转移47.软件详细设计的重要任务是确定每个模块的(C)。A.功能 B.外部接口 C.算法和使用的数据构造 D.编程48.在考察系统的某些波及时序和变化的状态时,要用动态模型来表达。动态模型着重于系统的控制逻辑,它包括两个图:一种是事件追踪图,另一种是(A)。A.状态图B.数据流图C.系统构造图D.时序图49.具有风险分析的软件生存周期模型是(C)A.瀑布模型 B.喷泉模型C.螺旋模型 D.增量模型50.模块(B)定义为受该模块内一种判断影响的所有模块集合。A.控制域B.作用域C.宽度D.接口51.在对数据流的分析中,重要是找到中心变换,这是从(C)导出构造图的关键。A.数据构造B.实体关系C.数据流图D.E—R图52.迅速原型模型的重要特点之一是(D)A.开发完毕才见到产品B.及早提供所有完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件53.模块的内聚性最低的是(C)A.逻辑内聚B.时间内聚C.偶尔内聚D.功能内聚54.软件详细设计重要采用的措施是(D)A.模块设计B.构造化设计C.PDL语言D.构造化程序设计55.通过(B)可以完毕数据流图的细化。A.构造分解B、功能分解C、数据分解D、系统分解56.在考察系统的某些波及时序和变化的状态时,要用对象-行为模型来表达。动态模型着重于系统的控制逻辑,它包括三个图:一种是事件轨迹图和事件流图,另一种是(A)。A.状态转换图B.数据流图C.系统构造图D.时序图57.在多层次的构造图中,其模块的层次数称为构造图的(A)。A.深度B.跨度C.控制域D.粒度58.软件构造图中,模块框之间若有直线连接,表达它们之间存在(A)。A.调用关系 B.构成关系 C.链接关系 D.次序执行关系59.在详细设计阶段,常常采用的工具有(A)。A.PADB.SAC.SCD.DFD60.()可以有效地检测输入条件的多种组合也许会引起的错误。A.等价类划分B.边界值分析C.错误推测D.因果图61、软件构造图的形态特性能反应程序重用率的是()A、深度B、宽度C、扇入D、扇出62、若有一种计算类型的程序,它的输入量只有一种X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的措施是()A、条件覆盖法 B、等价分类法C、边界值分析法 D、错误推测法63、按软件生命周期措施设计软件的过程中,画数据流图属于下面哪个阶段的工作()A、需求分析B、程序设计C、详细设计D、软件维护64、确认软件的功能与否与需求规格阐明书中所规定的功能相符的测试属于()A、集成测试B、恢复测试C、确认测试D、单元测试65、要显示描绘软件开发项目各作业的依赖关系,应选择(

)。A.

Gantt图

B.工程网络

C.

COCOMO模型

D.数据流图

66、构造化程序设计重要强调的是()A、程序的规模B、程序的效率C、程序设计语言的先进性D、程序易读性67、软件工程管理对软件项目的开发管理,即对整个软件()的一切活动的管理。A、软件项目B、生存期C、软件开发计划D、软件开发68.在面向对象软件开发措施中,类与类之间重要有如下构造关系(1)(1)继承和汇集(2)继承和一般(3)汇集和消息传递(4)继承和措施调用69.软件维护的副作用重要有如下哪几种(3)(1)编码副作用、数据副作用、测试副作用(2)编码副作用、数据副作用、调试副作用(3)编码副作用、数据副作用、文档副作用(4)编码副作用、文档副作用、测试副作用70.测试的关键问题是()A.怎样组织对软件的评审B.怎样验证程序的对的性C.怎样采用综合方略D.怎样选择测试用例71.迅速原型是运用原型辅助软件开发的一种新思想,它是在研究()的措施和技术中产生的。A.需求阶段B.设计阶段C.测试阶段D.软件开发的各个阶段72.下列文档与维护人员有关的有()A.软件需求阐明书B.项目开发计划C.概要设计阐明书D.操作手册73.CASE工具的表达集成是指CASE工具提供相似的()A.编程环境B.顾客界面C.过程模型D.硬件/操作系统74.用白盒技术设计测试用例的措施包括(条件组合覆盖)A.边界值分析B.条件组合覆盖C.因果图D.错误推测D.为了评价程序的质量75.针对软件需求分析所进行的软件测试是指()A.集成测试B.确认测试C.黑盒子测试D.白盒子测试76.在软件设计中详细描述处理过程常用的三种工具是()A.SA,SD,SPB.程序流程图,IPO,PADC.SA,SC,SDD.图形,表格,语言77.通信内聚、逻辑内聚、次序内聚和时间内聚的内聚性从高到低次序是()A.通信、逻辑、次序、时间B.通信、时间、次序、逻辑C.次序、通信、时间、逻辑D.次序、通信、逻辑、时间78.在软件生产的(),使用的工具重要是机器语言和汇编语言。A.程序系统时代B.软件工程时代C.面向对象时代D.人工智能时代79.在McCall软件质量度量模型中,_________属于面向软件产品操作。()A.对的性B.可维护性C.适应性D.互操作性80.软件测试中根据测试用例设计的措施的不一样可分为黑盒测试和白盒测试两种,它们(都属于动态测试)81.JSP措施是一种面向_________的设计措施。()A.控制构造B.对象Jackson措施是面向数据构造的设计措施C.数据流D.数据构造82.数据流图(DFD)是_________措施中用于表达系统的逻辑模型的一种图形工具。()A.SAB.SDC.SPD.SC83.数据字典是用来定义__数据流图__中的各个成分的详细含义的。()A.流程图B.功能构造图C.系统构造图D.数据流图84.Putnam成本估算模型是一种()模型。A.静态单变量B.动态单变量C.静态多变量D.动态多变量85.软件复杂性度量的参数包括()A.效率B.规模C.完整性D.容错性86.软件调试技术包括()A.边界值分析B.演绎法C.循环覆盖D.集成测试87.软件测试措施中的静态测试措施之一为()A.计算机辅助静态分析前面还写了一种写什么文档也属于B.黑盒法C.途径覆盖D.边界值分析88.在详细设计阶段,常常采用的工具有()A.PADB.SAC.SCD.DFD89.可行性分析是在系统开发的初期所做的一项重要的论证工作,它是决定该系统与否开发的决策根据,因必须给出()的回答。A.确定B.行或不行C.对的D.无二义90.构造化分析措施是以数据流图、()和加工阐明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。A.DFD图B.PAD图C.IPO图D.DD91.信息隐蔽概念与()这一概念直接的有关。A.模块的独立性B.模块类型的划分C.软件构造定义D.软件生命周期92.不属于详细设计的重要工具有()。A.IPO图B.PAD图C.PDLD.SC138.单元测试阶段重要波及()的文档。A.需求设计B.编码和详细设计C.详细设计D.概要设计93.需求分析是分析员经理解顾客的规定,认真细致地调研、分析,最终建立目的系统的逻辑模型并写出()的过程。A.模块阐明书B.软件规格阐明C.项目开发计划D.协议文档94.Putnam成本估算模型是一种()模型。A.静态单变量B.动态单变量C.静态多变量D.动态多变量95.下列措施中不属于面向对象的开发措施有()。A.Booch措施B.Coad措施C.OMT措施D.SD措施96.构造化分析措施是以数据流图、()和加工阐明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。A.DFD图B.PAD图C.IPO图D.DD三、判断题1.软件概要设计包括软件系统构造设计以及数据构造和数据库设计。(对)2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(错)3.JAVA语言编译器是一种CASE工具。(对)。4.过程描述语言可以用于描述软件的系统构造。(错)5.迅速原型模型可以有效地适应顾客需求的动态变化。(对)6.在可行性研究中最难决断和最关键的问题是经济可行性。(错)7.耦合是指一种模块内各个元素彼此结合的紧密程度。(错)8.确认测试计划应当在可行性研究阶段制定(错)9.概要设计阶段完毕的重要文档是概要设计阐明书。(对)10.过大的模块也许是由于分解不充足导致的,虽然减少模块独立性也必须继续分解。(错)四、名词解释数据字典软件工程数据流图白盒测试黑盒测试完善性维护软件可靠性软件配置软件再工程α测试内聚耦合五、简答和应用题1.什么是软件危机?它有哪些经典的体现?为何会出现软件危机?怎样处理软件危机?答:软件危机是指在计算机软件开发、使用与维护过程中碰到的一系列严重问题和难题。它包括两方面:怎样开发软件,已满足对软件日益增长的需求;怎样维护数量不停增长的已经有软件。软件危机的经典体现:(1)对软件开发成本和进度的估计常常很不精确。常常出现实际成本比估算成本高出一种数量级、实际进度比计划进度迟延几种月甚至几年的现象。而为了赶进度和节省成本所采用的某些权宜之计又往往损害了软件产品的质量。这些都减少了开发商的信誉,引起顾客不满。(2)顾客对已完毕的软件不满意的现象时有发生。(3)软件产品的质量往往是靠不住的。 (4)软件常常是不可维护的。(5)软件一般没有合适的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以处理的问题。(6)软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。(7)开发生产率提高的速度远跟不上计算机应用普及的需求。软件危机出现的原因:(1)来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。(2)软件开发与维护的措施不妥:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。(3)供求矛盾将是一种永恒的主题:面对日益增长的软件需求,人们显得力不从心。2.简述文档在软件工程中的作用。答:(1)提高软件开发过程的能见度(2)提高开发效率(3)作为开发人员阶段工作成果和结束标志(4)记录开发过程的有关信息便于使用与维护;(5)提供软件运行、维护和培训有关资料;(6)便于顾客理解软件功能、性能。3.可行性研究包括哪几方面的内容?答:(1)经济可行性:与否有经济效益,多长时间可以收回成本;(2)技术可行性:既有技术能否实现本系统,既有技术人员能否胜任,开发系统的资源能否满足;(3)运行可行性:系统操作在顾客内部行得通吗?(4)法律可行性:新系统开发与否会侵犯他人、集体或国家利益,与否违反国家法律。4.构造化的需求分析描述工具有哪些?答:有数据流图(DFD)、数据字典(DD)、鉴定表、鉴定树、构造化语言(PDL)、层次方框图、Warnier图、IPO图、控制流图(CFD)、控制阐明(CSPEC)、状态转换图(STD)和实体—关系图(E—R)等。5.有人说软件就是程序,你认为这种说法对的吗?请从软件的定义来论述你的观点。不对的,软件是一系列按照特定次序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序有关的文档一般也被认为是软件的一部分。简朴的说软件就是程序加文档的集合体。6.一般面向对象分析建模的工具(图形)有哪些?答:用例图、类/对象图、对象关系图、实体—关系图(E—R)、事件轨迹图(时序图)和状态转换图(STD)等7.UML统一建模语言有哪几种图形?用例图、类图、对象图、构件(组件)图、布署(配置)图、状态图、活动图、次序(时序)图、合作(协作)图等九种图。8.在面向对象分析时类和对象的静态关系重要有哪几种?答:类和对象的静态关系重要有关联、汇集、泛化、依赖等四种关系。9.什么是模块化?模块设计的准则?模块化是按规定的原则将一种大型软件划分为一种个较小的、相对独立但又有关的模块。模块设计的准则:(1)改善软件构造,提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力争提高模块的内聚,减少藕合。(2)模块大小要适中:大概50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。(3)软件构造图的深度、宽度、扇入和扇出要合适。一般模块的调用个数不要超过5个。(4)尽量减少模块接口的复杂程度;(5)设计单入口、单出口的模块。(6)模块的作用域应在控制域之内。10.什么是模块独立性?用什么度量?答:模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模块构造是不是合理的原则。独立性可以从两个方面来度量:即模块自身的内聚和模块之间的耦合。11.变换型数据流由哪几部分构成?变换分析设计的环节?变换型构造由三部分构成:传入途径、变换(加工)中心和传出途径。(1)辨别传入、传出和变换中心三部分,划分DFD图的分界线;(2)完毕第一级分解:建立初始SC图的框架;(3)完毕第二级分解:分解SC图的各个分支;(4)对初始构造图按照设计准则进行精化与改善。12.什么是软件生存周期?把生存周期划分为阶段的目的是什么?答:一种软件从开始计划起,到废弃不用止,成为软件的生存周期。把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,可以简化每一步的工作内容,使由于软件规模增长而大大增长了的软件复杂性变得较易控制和管理。13.事务型数据流由哪几部分构成?事务分析设计的环节?事务型构造由至少一条接受途径、一种事务中心与若干条动作途径构成。(1)在DFD图中确定事务中心、接受部分(包括所有接受途径)和发送部分(包括所有动作途径);(2)画出SC图框架,把DFD图的三部分,分别映射"为事务控制模块,接受模块和动作发送模块.一般得到SC图的顶层和第一层(假如第一层简朴可以并入顶层);(3)分解和细化接受分支和动作分支,完毕初始的SC图;(4)对初始构造图按照设计准则进行精化与改善。14.详细设计的目的?为软件构造图(SC图或HC图)中的每一种模块确定采用的算法和块内数据构造,用某种选定的体现工具给出清晰的描述.15.软件生存周期大体可以提成8个阶段,请问是哪8个阶段?各个阶段的重要任务是什么?答:1系统定义2可行性分析3需求分析4概念设计5详细设计6编写代码7顾客测试8软件维护16.简述自己对软件工程的认识(此题没有原则答案,答题时应结合软件工程的概念、作用、现实状况等方面论述自己的理解或观点)17.什么是软件的需求分析?为何说需求分析是软件生存周期中最重要的阶段?18.详细设计的任务是什么?为每个模块确定采用的算法;确定每一模块使用的数据构造;确定模块接口的细节;编写过程设计阐明书;设计每一模块的测试用例。19.

编码的任务?使用选定的程序设计语言,把模块的过程性描述翻译为用语言书写的源程序(源代码)。20.软件测试的基本任务?软件测试是按照特定的规则,发现软件错误的过程;好的测试方案是尽量发现迄今尚未发现错误的测试;成功的测试方案是发现迄今尚未发现错误的测试;21.什么是黑盒测试?黑盒测试重要采用的技术有哪些?黑盒测试也称为功能测试,它着眼于程序的外部特性,而不考虑程序的内部逻辑构造。测试者把被测程序当作一种黑盒,不用关怀程序的内部构造。黑盒测试是在程序接口处进行测试,它只检查程序功能与否能按照规格阐明书的规定正常使用,程序与否能合适地接受输入数据产生对的的输出信息,并且保持外部信息(如数据库或文献)的完整性。黑盒测试重要采用的技术有:等价分类法、边界值分析法、错误推测法和因果图等技术。22.什么是白盒测试?白盒测试重要采用的技术有哪些?白盒测试是测试者理解被测程序的内部构造和处理过程,对程序的所有逻辑途径进行测试,在不一样点检查程序状态,确定实际状态与预期状态与否一致。白盒测试重要采用的技术有:途径测试技术和事务处理流程技术,对包具有大量逻辑判断或条件组合的程序采用基于逻辑的测试技术。23.途径测试技术中几种重要覆盖的含义?举例阐明?语句覆盖:至少执行程序中所有语句一次。鉴定覆盖:使被测程序中的每一种分支至少执行一次。故也称为分支覆盖。条件覆盖:执行所有也许的穿过程序的控制路流程。条件组合测试:设计足够的测试用例,使每个鉴定中的所有也许条件取值组合至少执行一次。(例略)24.等价分类法的测试技术采用的一般措施?举例阐明?(1)

为每个等价类编号;(2)

设计一种新的测试方案,以尽量多的覆盖尚未被覆盖的有效等价类,反复这一环节,直到所有有效等价类被覆盖为止。(3)

设计一种新的测试方案,使它覆盖一种尚未被覆盖的无效等价类,反复这一环节,直到所有无效等价类被覆盖为止。(例略)25.为何说软件的维护是不可防止的?由于软件的开发过程中,一般很难检测到所有的错误,另一方面软件在应用过程中需要随顾客新的规定或运行环境的变化而进行软件的修改或完毕功能的增删等,为了提高软件的应用水平和使用寿命,软件的维护是不可防止的。26.软件测试包括哪些环节?同步阐明这些环节的测试目的是什么?答:(1)单元测试,目的是代码到达模块阐明书的规定(2)集成测试,目的是将通过单元测试的模块逐渐组装成具有良好一致性的完整的程序(3)确认测试,目的是确认程序系统与否满足软件需求规格阐明书的规定(4)系统测试,目的是检查能否与系统的其他部分协调运行,并且完毕SRS对他的规定。27.需求分析与软件设计二个阶段任务的重要区别是什么?答:需求分析定义软件的顾客需求,即定义待开发软件能做什么软件设计定义软件的实现细节以满足顾客需求,即研究怎样实现软件。28.阐明软件测试和调试的目的有何区别?答:测试的目的是判断和发现软件与否有错误,调试的目的是定位软件错误并纠29.什么是软件复用?简述软件复用和软件共享、软件移植的差异。答:软件复用是指在构造新的软件系统的过程中,对已存在的软件人工制品的使用技术。假如是在一种系统中多次使用一种相似的软件成分,这叫软件共享;对一种软件进行修改,使它能运行于新的软、硬件平台这称作软件移植。30.软件的维护一般分为哪几类?完善性维护:满足顾客在使用过程中提出增长新的功能或修改已经有功能,以满足顾客日益增长的需要而进行的工作;适应性维护:是软件适应新的运行环境而进行的工作;s纠错性维护:纠正开发期间未发现的遗留错误,即在程序有效期间发现的程序错误进行诊断和改正的过程;防止性维护:为了改善未来的可维护性或可靠性而修改软件的工作。31.决定软件可维护性的原因?(1)软件的可理解性、可测试性、可修改性;(2)文档描述符合规定、顾客文档简洁明确、系统文档完整并且原则。32.分析软件危机产生的重要原因有哪些?答:导致软件危机的重要原因有:(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不停增长33.阐明构造化程序设计的重要思想是什么?答:(1)自顶向下、逐渐求精的程序设计措施(2分)(2)使用3种基本控制构造、单入口、单出口来构造程序。34.软件测试的基本任务是什么?测试与纠错有什么区别?答:软件测试的基本任务是通过在计算机上执行程序,暴露程序中潜在的错误。测试和纠错目的和任务都不相似,测试是为了发现程序的错误,纠错是为了定位和纠正错误,从而消除软件故障,保证程序的可靠运行。35.什么是软件再工程?软件再工程的重要活动有哪些?答:软件再工程是运用逆向工程、重构等技术,在充足理解原有软件的基础上,进行分解、综合,并重新构建软件,用以提高软件的可理解性、可维护性、可复用性或演化性。重要活动:信息库分析、文档重构、逆向工程、代码重构、数据重构、正向工程。36.试由程序流程图导出程序图1入口1入口2A>1F2A>138B=0TT38B=0X=X/AX=X/A4F4A=2A=25T5X>1FX>196X=X+1T96X=X+17出口F7出口(a)程序流程图(b)导出程序图37.把事务型数据流图映射成软件构造图:AABC+f1f2f4f5f3主模块Readf1ABCWritef4Writef5主模块f1f2f1f3f4f538.把变换型数据流图映射成软件构造图:BBACf1f2f3f4主模块Getf2BGetf3Readf1主模块Readf1主模块ACWritef4主模块f1f1f2f2f3f3f4f439.用自顶向下构造化程序设计措施编写直接选择排序从小到大排列的程序。规定保持良好的程序风格,加上必要的注释()。用C语言编写:/*程序名称:直接选择排序;*//*作者:陈明锐;*//*完毕日期:6月9日;*//*过程头:selectsort(int*A;intN)*//*输入参数:N为元素个数(N<=1000);A整型数组,从1到N寄存待排序元素;*//*返回成果:数组A为指针,由它返回排序成果;*/voidselectsort(int*A;intN){inti,j,k,x;for(i=1;i<N;i++)/*求第I个最小值*/{k=i;/*先假设I位置上的值最小*/for(j+=i;j<=N;j++)/*求I到N位置上的最小值*/if(A(j)<A(k))k=j

温馨提示

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

评论

0/150

提交评论