江苏大学软件工程复习题.docx

上传人:b****6 文档编号:9043123 上传时间:2023-02-02 格式:DOCX 页数:26 大小:873.86KB
下载 相关 举报
江苏大学软件工程复习题.docx_第1页
第1页 / 共26页
江苏大学软件工程复习题.docx_第2页
第2页 / 共26页
江苏大学软件工程复习题.docx_第3页
第3页 / 共26页
江苏大学软件工程复习题.docx_第4页
第4页 / 共26页
江苏大学软件工程复习题.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

江苏大学软件工程复习题.docx

《江苏大学软件工程复习题.docx》由会员分享,可在线阅读,更多相关《江苏大学软件工程复习题.docx(26页珍藏版)》请在冰豆网上搜索。

江苏大学软件工程复习题.docx

江苏大学软件工程复习题

一、判断题

1.软件就是程序,编写软件就是编写程序。

(F)

2.软件危机的主要表现是软件需求增加,软件价格上升。

(F)

3.软件工程学科出现的主要原因是软件危机的出现。

(T)

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

(F)

一、判断题

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

(F)

2.原型化开发方法包括生成原型和实现原型两个步骤。

(F)

3.软件过程改进也是软件工程的范畴.(T)

4.在软件开发中采用原型系统策略的主要困难是成本问题。

(F)

一、判断题

1.需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。

(F)

2.需求分析的主要目的是解决软件开发的具体方案.(F)

3.需求规格说明书描述了系统每个功能的实现.(F)

4.非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。

(T)

5.需求评审人员主要由开发人员组成,一般不包括用户.(F)

6.分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。

(F)

7.信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R图.(T)

8.用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。

(T)

9.需求分析是开发方的工作,用户的参与度不大。

(F)

一、判断题

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

(F)

2.软件设计中设计复审和设计本身一样重要,其主要作用是避免后期付出高代价(T)

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

(T)

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

(F)

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

(F)

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

(F)

7.模块独立要求高耦合低内聚。

(F)

一、判断题

1.程序设计语言是指编程时表现出来的特点、习惯、逻辑思维等。

(F)

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

(T)

3.好程序的一个重要标准是源程序代码的逻辑简明清晰、易读易懂。

(T)

4.软件测试的目的是尽可能多地发现软件中存在的错误,将它作为纠错的依据。

(T)

5.测试用例由输入数据和预期的输出结果两部分组成。

(T)

6.白盒测试是结构测试,主要以程序的内部逻辑为基础设计测试用例。

(T)

7.软件测试的目的是证明软件是正确的。

(F)

8.单元测试通常应该先进行"人工走查",再以白盒法为主,辅以黑盒法进行动态测试。

(T)

9.白盒测试法是一种静态测试方法,主要用于模块测试。

(F)

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

(F)

11.发现错误多的模块,残留在模块中的错误也多。

(T)

一、判断题

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

(T)

2.功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算软件规模.(T)

3.常用的制定进度计划的工具主要有Word和ExCel两种。

(F)

一、判断题

1.民主制程序员组的一个重要特点是,小组成员完全平等,享有充分民主,通过协商做出技术决策。

(T)

2.主程序员组的两个特性是专业化和层次性。

(T)

3.现代程序员祖中,技术组长既对技术工作负责,又负责非技术事务。

(F)

一、判断题

1.风险有两个显著特点:

一个是不确定性,另一个是损失.(T)

2.回避风险是指:

风险倘若发生,就接受后果。

(F)

3.软件质量保证的措施主要有,基于非执行的测试(也称为复审)、基于执行的测试和程序正确性证明。

(T)

一、判断题

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

(T)

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

(T)

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

(F)

4.进行软件维护活动时,直接修改程序,无需修改文档。

(F)

5.软件生命周期最后一个阶段是书写软件文档。

(F)

二、选择题

1.在下列选项中,(D)不是软件的特征。

A.系统性与复制性B.可靠性与一致性

C.抽象性与智能性D.有形性与可控性

2.软件危机的主要原因是(D)。

A.软件工具落后B.软件生产能力不足

C.对软件的认识不够D.软件本身的特点及开发方法

3.下列说法中正确的是(B)。

A.20世纪50年代提出了软件工程概念

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

C.20世纪70年代出现了客户机/服务器技术

D.20世纪80年代软件工程学科达到成熟

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

A.软件生命周期B.软件测试C.软件工程D.软件过程

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

A.软件工程材料B.软件工程目标

C.软件工程原理D.软件工程过程

6.软件工程的三要素是(C)。

A.技术、方法和工具B方法、对象和类

C.方法、工具和过程D.过程、模型和方法

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

A.CADB.CAIC.CAMD.CASE

二、选择题

1.软件生命周期模型不包括(B)。

A.瀑布模型B用例模型C.增量模型D.螺旋模型

2.包含风险分析的软件工程模型是(D)。

A.喷泉模型B.瀑布模型C.增量模型D.螺旋模型

3.软件过程是(C)。

A.特定的开发模型B一种软件求解的计算逻辑

C.软件开发活动的集合D.软件生命周期模型

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

A.产品发布B.版本更新C.可行性分析D.测试

5.软件开发的瀑布模型,一般都将开发过程划分为:

分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)。

A.分析阶段B.设计阶段C.编码阶段D.测试阶段

6.增量模型本质上是一种(C)。

A.线性顺序模型B.整体开发模型

C.非整体开发模型D.螺旋模型

7.螺旋模型综合了(B)的优点并增加了风险分析。

A.增量模型和喷泉模型B.瀑布模型和演化模型

C.演化模型和喷泉模型D.原型模型和喷泉模型

8.CMM模型将软件过程的成熟度分为5个等级。

在(B)使用定量分析来不断地改进和管理软件过程.

A.管理级B.优化级C.定义级D.可重复级

二、选择题

1.需求工程的主要目的是(C)。

A.系统开发的具体方案B.进一步确定用户的需求

C.解决系统是"做什么的问题"D.解决系统是"如何做的问题-

2.需求分析的主要方法有(C)。

A.形式化分析方法B.PAD图描述C.结构化分析方法D.程序流程图

3.SA法的主要描述手段有(B)。

A.系统流程图和模块图B.DFD图、数据词典、加工说明

C.软件结构图、加工说明D.功能结构图、加工说明

4.画分层DFD图的基本原则有(C)。

A.数据守恒原则B.分解的可靠性原则

C.子、父图平衡的原则D.数据流封闭的原则

5.在E-R模型中,包含以下基本成分(D)。

A.数据、对象、实体B控制、关系、对象

C.实体、关系、控制D.实体、属性、关系

6.在下面的叙述中哪一个不是软件需求分析的任务?

(C)

A.问题分解B.可靠性与安全性要求C.结构化程序设计

7.需求规格说明书的作用不应包括(D)。

A.软件设计的依据

B.用户与开发人员对软件要做什么的共同理解

C.软件验收的依据

D.软件可行性研究的依据

8.软件需求规格说明书的内容不应该包括(B)。

A.对重要功能的描述B对算法的详细过程描述

C对数据的要求D.软件的性能

9.软件需求分析阶段的工作,可以分为以下4个方面:

对问题的识别、分析与综合

编写需求分析文档以及(C)。

A.总结B.阶段性报告C.需求分析评审D.以上答案不正确

10.下述任务中,不属于软件工程需求分析阶段的是(D)。

A.分析软件系统的数据要求B.确定软件系统的功能需求

C.确定软件系统的性能要求D.确定软件系统的运行平台

11进行需求分析可使用多种工具,但(B)是不适用的。

A.数据流图B.PAD图C.状态转换图D.数据词典

12.在需求分析之前有必要进行(B)工作。

A.程序设计B.可行性分析C.ER分析D.2NF分析

l3数据流图是进行软件需求分析的常用图形工具,其基本图形符号是(C)。

A.输入、输出、外部实体和加工B.变换、加工、数据流和存储

C.加工、数据流、数据存储和外部实体D.变换、数据存储、加工和数据流

14.在结构化分析方法中,用以表达系统内数据的运动情况的工具是(A)?

A.数据流图B.数据字典C.结构化语言D判定表与判定树

二、选择题

1.为了提高模块的独立性,模块之间最好是(C)。

A.公共环境相合B控制祸合C.数据搞合D.特征耦合

2.在面向数据流的软件设计方法巾,一般将信息流分为(D)。

A.数据流和控制流B.变换流和控制流

C事务流和控制流D.变换流和事务流

3.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的(A)

A.内聚性和祸合性B.局部化和封装化C.抽象和信息隐藏D.逐步求精和结构图

4.模块的独立性是由内聚性和耦合性来度量的,其中内聚性是(C)

A.模块间的联系程度B.信息隐藏程度

C.模块的功能强度D.接口的复杂程度

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

(D)

A.程序流程图B.N-S图C.PAD图D.判定表

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

A.控制结构B.模块C.数据流D.事物流

7.JaCkson方法根据(C)来导出程序结构。

A.数据流图B.数据间的控制结构

C.数据结构D.IPO图

二、选择题

1.程序语言的特性包括(B)。

A.习惯特性B.算法特性C.工程特性D.技术特性

2.软件实现是软件产品由概念到实体的一个关键过程,它将(A)的结果翻译成用某种程序设计语言编写的并且最终可以运行的程序代码。

虽然软件的质量取决于软件设计,但是规范的程序设计风格将会对后期的软件维护带来不可忽视的影响。

A.软件设计B.详细设计C.架构设计D.总体设计

3.成功的测试是指运行测试用例后(A)。

A.发现了程序错误B.未发现程序错误C.证明程序正确D.改正了程序错误

4.白盒测试法是根据程序的(B)来设计测试用例的方法。

A.输出数据B.内部逻辑C.功能D.输入数据

5.软件的集成测试工作最好由(C)承担,以提高集成测试的效果。

A.该软件的设计人员B.该软件开发组的负责人

C.不属于该软件开发组的软件设计人员D.该软件的编程人员

6.黑盒测试是从(C)观点的测试白盒测试是从()观点的测试。

A.开发人员、管理人员B.用户、管理人员

C.用户、开发人员D.开发人员、用户

7.软件测试可能发现软件中的()但不能证明软件(D)。

A.所有错误、没有错误B.设计错误、没有错误

C.逻辑错误、没有错误D.错误、没有错误

8.软件测试的目的是(D)。

A.证明软件的正确性B.找出软件系统中存在的所有错误

C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误

9.使用白盒测试方法时确定测试数据应根据(A)

A.程序的内部逻辑B.程序的复杂度

C.程序的难易程度D.程序的功能

10.黑盒测试方法根据(B)设计测试用例。

A.程序的词用规则B.软件要完成的功能

C.模块间的逻辑关系D.程序的数据结构

11.在软件测试中,逻辑覆盖标准主要用于(A)

A.白盒测试方法B.黑盒测试方法

C.灰盒测试方法D.回归测试方法

12.集成测试的主要方法有两个,一个是(C),一个是()。

A.白盒测试方法、黑盒测试方法B等价划分法,边缘分析方法值

C.渐增式测试方法、非渐增式测试方法D.因果图方法、错误推测方法

13.验收测试的任务是验证软件的(D)。

A.可靠性B.正确性C.移植性D.有效性

14.软件测试的目的是尽可能发现软件中的错误,通常(D)是代码编写阶段可进行的测试,它是整个测试工作的基础。

A.集成测试B.系统测试C.验收测试D.单元测试

二、选择题

1.(B)的作用是为有效地定量地进行管理,把握软件工程过程的实际情况和它所产生的产品质量。

A.估算B.度量C风险分析D.进度安排

2.LOC和FP是两种不同的估算技术,但两者有许多共同的特征,只是LOC和FP技术对于分解所需要的(A)不同。

A.详细程度B.分解要求C.使用方法D.改进过程

二、选择题

1.项目团队原来有6个成员,现在又增加了6个成员,这样沟通渠道增加了多少?

(A)

A.4.4倍B.2倍C.6倍D.6条

2.Mantei提出了3种通用的项目组织方式:

民主分权式、控制分权式、(D)

A.启发式B.归纳式C.总结式D.控制集权式

二、选择题

1.下列哪项不是风险管理的过程(D)?

A.风险规划B.风险识别C.风险评估D.风险收集

2.按照软件配置管理的原始指导思想,受控制的对象应是(C)。

A.软件过程B.软件项目C.软件配置项D.软件元素

3.下列哪项不是人们常用的评价软件质量的4个因素之一(D)

A.可移植性B.可靠性C.可维护性D.易用性

二、选择题

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

A.纠错性维护B.适应性维护C.预防性维护D.完善性维护

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

A.预防性B.适应性C.完善性D.纠错性

3.软件维护的副作用是指(C)。

A.运行时误操作B.隐含的错误

C.因修改软件而造成的错误D.开发时的错误

4.软件文档是软件工程实施的重要成分。

它不仅是软件开发各阶段的重要依据,而且也影响软件的(B)。

A.可用性B.可维护性C.可扩展性D.可移植性

5.影响软件可维护性的主要因素不包括(C)。

A.可修改性B.可测试性C.可用性D.可理解性

第一章

1.与计算机硬件相比,计算机软件有哪些特点?

软件的特点如下。

●无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了解它的功能、

特性和质量等。

●人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程中,渗透了大

量的脑力劳动。

●不存在像硬件--样的磨损和老化现象,但存在着缺陷维护和技术更新的问题。

●软件的开发和运行必须依赖于特定的计算机系统环境。

●具有可复用性。

3.什么是软件危机?

什么原因导致了软件危机?

软件危机的现象如下。

经费超出预算,项目一再拖延。

●不重视需求,开发的软件不能满足用户的要求,项目成功率低。

●没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。

●开发工具落后,手工方式,开发效率低。

所有导致软件危机的原因,都与软件本身的产品特点相关。

●软件是一一个复杂的逻辑产品。

如果没有解决复杂问题的有效方法,以及软件产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。

●软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。

●软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做到准确估算,生产过程不易控制。

●软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得多。

5.请简述软件工程研究的内容

软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。

●软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设

计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升

级等。

●常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。

●软件支持过程由所支持的CASE工具组成,常用的CASE工具有PowerDesigner和RationalRose等。

7.请简述软件工程的目标、过程和原则

目标、过程和原则是一切工程的三维框架,这里是以工程的观点来看待软件开发。

●软件工程的目标:

降低成本、及时交付高质量的软件产品(高质量、高效率、高效益)。

.

●实现目标的过程即完成产品加工的过程,包括:

基本过程、支持过程和组织过程。

●进行过程应遵守的原则:

原则就是过程中的轨道约束,包括:

选取适宜的开发范型、采用

合适的设计方法、提供高质量的工程支持、重视开发过程的管理。

9.请简述现代软件工程与传统软件工程显著的区别和改进。

传统的软件工程是基于结构化的软件开发方法,而现代软件工程是以面向对象技术为

标志。

●不仅在编程技术上有很大的改进,而且在分析、设计等整个开发过程中,采用面向对象的

思维方式,更加完整、自然地反映客观世界。

●采用架构技术,开发效率、产品质量得到了极大提高。

●更注重团队开发和管理,融人更多、更新的管理理念和手段,如RUP模型、XP模型、过

程改进、能力成熟度模型、配置管理等。

第二章

1.如何理解软件生命周期的内在特征

软件产品的生命周期是指从设计该产品的构想开始,到软件需求的确定、软件设计、软件

实现、产品测试与验收、投人使用以及产品版本的不断更新,再到最终该产品被市场淘汰的全过程。

软件生命周期这个概念从时间的角度将软件的开发和维护的复杂过程分解为了若干个阶段,每个阶段都完成特定的相对独立的任务。

由于每个阶段的任务相对于总任务难度会大幅度降低,因此在资源分配、时间把握和项目管理上都会比较容易控制。

应该合理地划分软件生命周期的各个阶段,使各个阶段之间既相互区别又相互联系,为每个阶段赋予特定的任务。

3.当需求不能一次搞清楚,且系统需求比较复杂时应选用哪种开发模型比较合适?

开发模型不是孤立或排斥的,它们之间需要相互借鉴和参考。

螺旋模型是一种综合性的模

型适和于较复杂的系统。

5.XP是一种什么样的模型

XP是现代版的增量模型,特点是客户参与、适应变化、测试驱动、以代码为核心。

实行

XP的条件如下。

●企业具有较高的能力成熟度,具有团队开发环境和配套的测试工具。

●软件结构是开放的,增量可随意整合。

●开发团队拥有“系统隐喻”。

7.请简述软件过程

软件过程就是软件产品的加工过程,其本质就是将“客观世界”映射(虚拟)到“计算机世

界",即从抽象到具体的逐步细化过程。

系统分析就是对客观世界的抽象,中间要经过分析模型、设计模型的逐步细化(具体化),最终的具体结果就是计算机世界里的代码。

9.请简述CMM的作用

CMM的作用如下。

●CMM是评价软件组织开发能力(水平)的参考模型,是一种认证标准,认可软件工程达

到的程度(如同评定职称的条件)。

●CMM是软件组织提升自身能力、走向成熟的参照系。

它提供了走向成熟的阶梯目标,但

并不提供走向目标的方法。

●CMM等级的提高依靠软件过程改进。

●CMM既是评估软件能力成熟度的模型,也起到了促进软件企业按照该模型设置的级别和

关键过程域不断改进自己的软件过程的作用。

11.假设你要开发一个软件,它的功能是把73624.9285开平方,所得到的结果应该是精确到小数点后四位。

一旦实现并测试完后,该产品将被抛弃。

你打算选用哪种软件生命周期模型?

请说明你做出这样选择的理由。

对这个软件的需求很明确,实现开平方功能的算法也很成熟。

因此,既无须通过原型模

型来分析需求也无须用原型模型来验证设计方案。

此外,--旦实现并测试完之后,该产品将被抛

弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。

综上所述,为了开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了。

第五章

1.在选择编程语言时,通常要考虑哪些因素?

在选择编程语言时,通常需考虑以下因素

●待开发系统的应用领域,即项目的应用范围。

●用户的要求。

●软件开发人员的喜好和能力。

●系统的可移植性要求。

●算法和数据结构的复杂性。

3.什么是调试?

什么是测试?

二者有何区别?

调试(debug)指的是对模块的调试,是程序员交付可运行的代码模块所必须经历的工作。

软件测试(test)有如下特点。

●软件测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。

●不仅仅是测试程序,还应该对开发过程中所有的产品进行测试,包括文档,其目的是为了

尽早地、尽可能多地发现并排除软件中潜在的错误。

5.请简述静态测试和动态测试的区别

按照执行测试时是否需要运行程序,软件测试可以划分为静态测试和动态测试。

静态测试以人工测试为主,通过测试人员认真阅读文档和代码,仔细分析其正确性、一致性

及逻辑结构的正确性,从而找出软件产品中的错误或缺陷。

静态测试对自动化工具的依赖性较小,

通过人脑的思考和逻辑判断来查找错误,因而可以更好地发挥人的主观能动性。

与静态测试不同的是,动态测试需要通过实际运行被测程序来发现问题。

测试人员可以输人一系列的测试用例,通过观察测试用例的输出结果是否与预期相符来检验系统内潜在的问题或缺陷。

7.软件测试的目的是什么?

测试的目的如下。

●测试是一个为了发现程序中的错误为目的的程序执行过程。

●一个好的测试用例是能最大限度地找到迄今为止尚未发现的错误。

●成功的测试是能发现了那些尚未发现的错误。

9.什么是白盒测试?

有哪些常用的白盒测试方法?

白盒测试主要针对于程序内部逻辑和数据流程的测试,因此白盒测试的测试用例设计需要

了解程序的内部逻辑。

常用的白盒测试方法主要有逻辑覆盖法、基本路径测试法。

#9.白盒测试主要针对于程序内部逻辑和数据流程的测试,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1