当前位置:文档之家› 软件工程综合练习题

软件工程综合练习题

软件工程综合练习题
软件工程综合练习题

《软件工程》课程练习题

第一章软件工程概述

一、选择题

1、瀑布模型本质上是一种()。

A、线性迭代模型

B、顺序迭代模型

C、线性顺序模型

D、及早见产品模型

2、计算机辅助软件工程,简称()。

A、SA

B、SD

C、SC

D、CASE

3、以下判断正确的是()。

A、所谓软件开发就是编写程序。

B、利用软件工程的思想,已成功的解决了软件危机。

C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。

D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。

4、_____是以提高软件质量为目的的技术活动。

A.技术创新

B.测试

C.技术创造

D.技术评审

5、瀑布模型的存在问题是()。

A.用户容易参与开发

B.缺乏灵活性

C.用户与开发者易沟通

D.适用可变需求

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

A.详细设计

B.软件编码

C.软件测试

D.软件维护

7、计算机系统就是()

A.主机,显示器,硬盘,软驱,打印机等。

B.CPU,存储器,控制器,I/O接口及设备。

C.计算机硬件系统和软件系统。

D.计算机及其应用系统。

8、产生软件危机的原因主要与两个方面的问题有关:

A.软件在计算机中很难识别,存在磁盘中也看不到。

B.软件设计对人的智商要求很高,也要求很高的资金投入。

C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。

D.软件很难理解,硬件也很复杂。

9、软件开发瀑布模型中的软件定义时期各个阶段依次是()

A.可行性研究,问题定义,需求分析。

B.问题定义,可行性研究,需求分析。

C.可行性研究,需求分析,问题定义。

D.以上顺序都不对。

10、下列选项中()是软件开发中存在不正确的观念、方法。

A.重编程、轻需求

B.重开发,轻维护

C.重技术,轻管理

D.以上三条都是

二、填空题

1、软件工程的三个基本要素包括()、()和()。

2、一般软件应该有三部分组成:()、()和()。

3、按软件的功能可将软件分成()、()和()等三类。

4、计算机软件的生存期可以分为六个步骤,它们是()、()()、()、软件测试和运行/维护。

5、软件质量是与软件产品满足规定的和隐含的需求的能力有关的()的全体。

6、软件危机是指在()所遇到的一系列严重问题。

7、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是()。

8、喷泉模型是一种以需求分析为动力,以()为驱动的模型。

三、名词解释

1、CASE

2、软件工程

3、计算机软件

2、软件生存期

四、简答题

1、什么是软件危机?其主要表现有那些?

2、程序的可移植性

3、为什么说“CASE领域是一个应用、集成和综合的领域”?

第二章系统分析

一、选择题

1、进行可行性研究的依据是( )。

A、决策者的经验

B、对系统的高级分析和设计

C、现场调查

D、编码

2、可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因此必须给出()的回答。

A.确定

B.行或不行

C.正确

D.无二义

二、填空题

1、成本效益分析的目的是从( )角度评价开发一个项目是否可行。

2、若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=()。

3、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、()。

4、()是在整个生存期之内系统的累计经济效益(折成现在值)与投资之差。

5、()就是累计的经济效益等于最初的项目投资所需的时间。

三、名词解释

1、货币的时间价值

2、可行性研究

四、简答题

五、(10分)

1、CAD系统,需投资20万元,每年可节省9.6万元,假定该系统的生存期为5年,对该项目的成本一效益如下。(银行利率为5%)。

2、某计算机系统投入使用后,5年内每年节约人民币2000元,假设系统投资5000元,银行年利率为15%,请计算该系统投入使用后成本回收期(计算结果保留三位有效数字)及纯利润

(计算结果保留四位有效数字)。

第三章软件需求分析

一、选择题

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、详细设计说明书

二、填空题

1、在结构化方法的软件需求定义中,可采用分析工具来辅助完成,()和()是常用的工具。

2、结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向( )的开发方法。

3、在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、(5 )。

4、数据流图中的箭头表示();系统结构图中的箭头表示()。

5、需求工程主要分为三个步骤:需求获取、()和()。

6、在SA方法的需求描述工具中,()描述系统的分解,即描述系统有哪几部分组

成,各部分之间有什么联系等等。()定义了数据流图中每一个图形元素;结构化语言、判定表或判定树则详细描述数据流图中不能被再分解的每一个()。

7、数据库的设计指数据存储文件的设计,主要进行的设计方面有:概念设计、逻辑设

计、()。

8、引入分层DFD的目的是()。

三、名词解释

1、SA

2、需求分析

四、简答题

1、简要介绍一下数据流图。

2、什么是数据字典

3、什么是基本(原子)加工?描述表达基本加工逻辑功能的结构化工具的特点?

五、(10分)

下面是一个机票预定系统的需求描述,请作出该系统的数据流图。

为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞的前一天凭取票通知和帐单交款取票,系统校对无误即印出机票给旅客。

六、(10分)

需要开发一个教材购销计算机系统。要求如下所述:

学生向系统提交购书单,系统首先审查购书单的有效性(核对所购教材是否确是是提出购书申请学生所必需的,并且要检查教材的库存情况,确定是否有学生所要购买的教材)。对于有效购书单,系统开购书发票,然后登记并开领书单给学生,学生凭领书单到书库领书。

书库保管员定期检查缺书情况,先按书号统计每种待购教材的数量,然后统计需要向哪些出版社购书,及向每个出版社购书的书号、书名和数量。(统计所需要的信息分别由缺书登记表、教材存量表、教材一览表提供)。新教材到货后,书库保管员向系统提交进书通知,系统根据进书情况修改教材存量表和待购教材表,并通知售书部门。

用结构化分析,绘制出该问题的数据流程图

第四章软件设计

一、选择题

1、总体设计的根本目的是()。

A、建立文档

B、编码

C、设计软件系统结构

D、搞清数据流动

2、_______工具在软件详细设计过程中不采用。

A.判定表B.IPO图C.PDL D.DFD图

3、在详细设计阶段所使用到的设计工具是:

A.程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.

B.数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图。

C.判定表,判定树,数据流程图,系统流程图,程序流程图,PAD图,N-S图。

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、相等

9、使用SD方法时可以得到()

A、程序流程图

B、具体的语言

C、程序模块结构图

D、分层数据流图

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

A.程序模块化

B.模块高内聚

C.模块低耦合

D.模块独立性

二、填空题

1、模块的独立性要求模块要()和()。

2、软件设计一般分为()和()两个阶段。

3、详细设计的任务是确定每个模块的内部特性,即模块内部的( )、使用的数据。

4、软件系统结构图是以()为基础而组成的一种层次结构。

5、从内容上来讲,软件设计分为()、()和过程设计。

6、系统结构图中的箭头表示()。

7、结构化设计对数据流有两种分析方法,分别是()和()。

8、一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为()。

9、两个模块都是用同一张表,这种耦合称为()。

10、一个模块把数值作为参数传送给另一个模块,这种耦合方式称为()。

三、名词解释

1、模块化

2、模块的独立性

3、模块的耦合和内聚

4、模块的作用范围

四、简答题

1、什么是模块的独立性,如何度量?

2、详细设计的基本任务是什么?有哪几种描述方法?

五、(10分)

举例说明你对概要设计与详细设计的理解。有不需要概要设计的情况吗?

六、(10分)

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

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

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

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

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

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

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

试根据要求:(1)画出该问题的数据流程图(5分)。

(2)并把其转换为软件结构图(5分)。

第五章JSD方法

第六章用户界面设计

第七章程序编码

一、选择题

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.模块越大,模块化的优点越明显。

二、填空题

三、名词解释

四、简答题

1、为了具有良好的程序设计风格,应注意哪些方面的问题?

2、软件复杂性度量的主要参数有哪些?简单说明其含义。

五、(10分)

第八章软件测试

一、选择题

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.软件维护是保证软件正常、有效运行的重要手段,而软件的下述特性:Ⅰ.可测试性Ⅱ.可理解性Ⅲ.可修改性Ⅳ.可移植性。()有利于软件的维护。

A. 只有Ⅰ

B. Ⅱ和Ⅲ

C. Ⅰ、Ⅱ和Ⅲ

D. 都有利

8、软件测试的目的:()

A、证明软件的正确性

B、找出软件系统中存在的所有错误

C、尽可能多的发现软件系统中的错误

D、证明软件系统中存在错误。

9、与设计测试数据无关的文档是()

A、该软件的设计人员

B、程序的复杂程度

C、源程序

D、项目开发计划

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

A、该软件的设计人员

B、该软件开发组的负责人

C、该软件的编程人员

D、不属于该软件开发组的软件设计人员

二、填空题

1、为了便于对照检查,测试用例应由输入数据和预期的()两部分组成。

2、软件调试的几种主要方法为:()、()、()、()。

3、软件测试的目的是()。

4、软件调试的目的是()。

5、软件测试方法可分为()和()两种。

6、黑盒测试法是通过分析程序的()来设计测试用例的方法。除了测试程序外,它还适用于对()阶段的软件文档进行测试。

7、白盒测试法是根据程序的()来设计测试用例的方法。除了测试程序外,它也适用于

对()阶段的软件文档进行测试。

8、()覆盖既是判定覆盖,又是条件覆盖,但它并不保证使各种条件都能取到所有可能的值。

9、单元测试一般以()为主,测试的依据是()。

10、白盒法测试程序时常按照给定的覆盖条件选取测试用例。()使得每一个判定的每一条分支至少经历一次。

三、名词解释

1、集成测试

2、软件测试

3、白盒测试

4、调试

四、简答题

1、以G.J.Myers的观点,简述对软件测试的目的。

2、简述软件测试的原则

3、比较确认和验证的关系

5、测试过程需要三类输入:( A )、( B )和( C )。请选择正确的答案填入下图

中以完成测试信息处理的全过程,并简述此过程。

D E

A

B

F

C

供选择的答案:

A ~ C. ①接口选择②软件配置③硬件配置

④测试配置⑤测试环境⑥测试工具

D ~ F.①排错②可靠性分析③结果分析④数据分类

五、(10分)

1、找出下面流程图所示程序的所有可能的执行路径,设计满足判定覆盖和路径覆盖的测试用例。

2、下图为被测程序流程图,试用路径覆盖方法设计它的测试用例。

六、(10分)

1、根据下列条件使用等价划分法设计测试用例。

某一8位微机,其十六进制常数定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。

2、设计下列伪码程序的满足判定覆盖的测试用例。

START

INPUT (A,B)

IF A<5

THEN X=10

ELSE X=1

END IF

IF B<10

THEN Y=2

ELSE Y=20

END IF

PRINT(X,Y)

STOP

第九章面向对象技术

四、简答题

1、简述面向对象分析过程中的三个子模型和五个层次。

2、Coad与Yourdon在程序设计阶段中将系统划分为四个组成部分,这四个组成部分是什么?简述各部分涉及内容。

3、简述三种面向对象模型的主要功能。

第十章软件质量保障

第十一章软件维护

一、选择题

1、影响软件可维护性的决定因素是()。

A、程序

B、文档

C、人员素质

D、维护投入

2.软件维护的四类维护活动是()

A.改正性维护,适应性维护,完善性维护和预防性维护。

B.适应性维护,完善性维护,抢救性维护和辅助性维护。

C.改正性维护,适应性维护,完善性维护和辅助性维护。

D.适应性维护,完善性维护,抢救性维护和预防性维护。

3、下面对软件的可维护性影响最小的是

A、可理解性

B、可测试性

C、可修改性

D、代码效率。

4、产生软件维护的副作用,是指。

A.开发时的错误

B.隐含的错误

C.因修改软件而造成的错误

D.运行时误操作

5、McCall提出了表明软件质量的11个质量特性。它们是( A )、( B )、( C )、( D )、( E )、( F )、( G )、( H )、效率、可测试性和互连性。

A H. ①可读性②正确性③功能性④完整性⑤可靠性

⑥可移植性⑦可复用性⑧灵活性⑨可维护性⑩可使用性

二、填空题

1、软件维护可分为四类,它们是( )、( )、( )、( )。

2、在软件维护的实施过程中,为了正确、有效地修改,需要经历以下3个步骤:( )、( )、( )。

三、名词解释

四、简答题

1、什么是软件维护?软件维护分为那几类?

2、什么是程序修改的副作用?程序修改的副作用有哪几种?试举例说明?

软件工程试题与答案 (6)

第一章软件工程概述 一. 填空题 1. 软件的发展过程 , , , . 2. 基于软件的工作方式,软件可以划分为 , , , . 3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 . 4. 在计算机系统中,软件是 , 而硬件是 . 5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。 6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。 7. 软件生存期若分为三个大的阶段,, . 8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。 9. 在软件的生存周期开发阶段要经三个步骤 , , 。 10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。 11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,, 和四个步骤。 12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个____ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。 13. 软件开发模型 , , , , , . 14. 软件工程面临的问题有 , , , . 15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 . 16.基于软件的功能划分可以把软件划分为 , ,和。 17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。18.软件工程是指导的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。 19.为了开发出低成本高质量的软件产品,软件工程学应遵守以下基本原则: , ,和 , 。 20.原型模型是从需求分析开始。软件开发者和用户在一起定义,说明需求,并规划出定义的区域。然后快速设计软件中对用户/客户可见部分的表示。快速设计导致了原形的建造,原形由用户/客户评估,并进一步求精。

北京邮电大学网络教育学院-软件工程综合练习题及解答

《软件工程》综合练习题 第一章 一、单项选择题 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、软件工程要用()的方法建立软件开发中的各种模式和各种算法 A、管理 B、工程 C、数学 D、计算机 8、软件开发费用只占整个软件系统费用的() A、1/2 B、1/3 C、1/4 D、2/3 9、软件开发中大约要付出()%的工作量进行测试和排错 A、20 B、30 C、40 D、50 10、()方法是一种面向数据结构的开发方法。 A、结构化 B、Jackson C、维也纳开发 D、面向对象开发 11、准确地解决“软件系统必须做什么”是()阶段的任务: A、可行性研究 B、需求分析 C、详细设计 D、编码 12、软件生存周期中时间最长的是()阶段 A、需求分析 B、概要设计 C、测试 D、维护 13、()方法是以数据结构为驱动的、适合于小规模的项目。 A、JSP B、JSD C、VDM D、Jackson 14、软件是一种()产品

软件工程专业基础综合

《软件工程专业基础综合》考试大纲 第一部分数据结构与算法 考试题型:问答、分析、编程 总分:60分 一、栈(Stack)、队列(Queue)和向量(Vector) 内容: 单链表,双向链表,环形链表,带哨兵节点的链表; 栈的基本概念和性质,栈ADT及其顺序,链接实现;栈的应用;栈与递归; 队列的基本概念和性质,队列ADT及其顺序,链接实现; 队列的应用; 向量基本概念和性质;向量ADT及其数组、链接实现; 二、树 内容: 树的基本概念和术语;树的前序,中序,后序,层次序遍历; 二叉树及其性质;普通树与二叉树的转换; 树的存储结构,标准形式; 完全树(complete tree)的数组形式存储; 树的应用,Huffman树的定义与应用; 三、查找(search) 内容: 查找的基本概念;对线性关系结构的查找,顺序查找,二分查找; Hash查找法,常见的Hash函数(直接定址法,随机数法), hash冲突的概念, 解决冲突的方法(开散列方法/拉链法,闭散列方法/开址定址法),二次聚集现象; BST树定义,性质,ADT及其实现,BST树查找,插入,删除算法;

平衡树 (AVL) 的定义,性质,ADT及其实现,平衡树查找,插入算法,平衡因子的概念; 优先队列与堆,堆的定义,堆的生成,调整算法;范围查询; 四、排序 内容: 排序基本概念;插入排序,希尔排序,选择排序,快速排序,合并排序,基数排序等排序算法基本思想,算法代码及 基本的时间复杂度分析 五、图 内容:图的基本概念;图的存储结构,邻接矩阵,邻接表;图的遍历,广度度优先遍历和深度优先遍历;最小生成树基本概念, Prim算法,Kruskal算法;最短路径问题,广度优先遍历算法,Dijkstra算法,Floyd算法;拓扑排序 第二部分计算机系统基础 考试题型:问答、分析、编程 总分:40分 一、处理器体系结构 内容:CPU中的时序电路、单周期处理器的设计、流水线处理器的基本原理、Data Hazard的处理、流水线设计中的其他问题 二、优化程序性能 内容:优化程序性能、优化编译器的能力和局限性以及表示程序性能、特定体系结构或应用特性的性能优化、限制因素、确认和消除性能瓶颈 三、存储器结构及虚拟存储器 内容:局部性、存储器层级结构、计算机高速缓存器原理、高速缓存对性能的影响、地址空间、虚拟存储器、虚拟内存的管理、翻译和映射、TLB、动态存储器分配和垃圾收集 四、链接、进程及并发编程

软件工程综合练习题

《软件工程》课程练习题 第一章软件工程概述 一、选择题 1、瀑布模型本质上是一种()。 A、线性迭代模型 B、顺序迭代模型 C、线性顺序模型 D、及早见产品模型 2、计算机辅助软件工程,简称()。 A、SA B、SD C、SC D、CASE 3、以下判断正确的是()。 A、所谓软件开发就是编写程序。 B、利用软件工程的思想,已成功的解决了软件危机。 C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。 D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。 4、_____是以提高软件质量为目的的技术活动。 A.技术创新 B.测试 C.技术创造 D.技术评审 5、瀑布模型的存在问题是()。 A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 6、软件生命周期中所花费用最多的阶段是()。 A.详细设计 B.软件编码 C.软件测试 D.软件维护 7、计算机系统就是() A.主机,显示器,硬盘,软驱,打印机等。 B.CPU,存储器,控制器,I/O接口及设备。 C.计算机硬件系统和软件系统。 D.计算机及其应用系统。 8、产生软件危机的原因主要与两个方面的问题有关: A.软件在计算机中很难识别,存在磁盘中也看不到。

B.软件设计对人的智商要求很高,也要求很高的资金投入。 C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。 D.软件很难理解,硬件也很复杂。 9、软件开发瀑布模型中的软件定义时期各个阶段依次是() A.可行性研究,问题定义,需求分析。 B.问题定义,可行性研究,需求分析。 C.可行性研究,需求分析,问题定义。 D.以上顺序都不对。 10、下列选项中()是软件开发中存在不正确的观念、方法。 A.重编程、轻需求 B.重开发,轻维护 C.重技术,轻管理 D.以上三条都是 二、填空题 1、软件工程的三个基本要素包括()、()和()。 2、一般软件应该有三部分组成:()、()和()。 3、按软件的功能可将软件分成()、()和()等三类。 4、计算机软件的生存期可以分为六个步骤,它们是()、()()、()、软件测试和运行/维护。 5、软件质量是与软件产品满足规定的和隐含的需求的能力有关的()的全体。 6、软件危机是指在()所遇到的一系列严重问题。 7、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是()。 8、喷泉模型是一种以需求分析为动力,以()为驱动的模型。 三、名词解释 1、CASE 2、软件工程 3、计算机软件 2、软件生存期 四、简答题 1、什么是软件危机?其主要表现有那些? 2、程序的可移植性 3、为什么说“CASE领域是一个应用、集成和综合的领域”?

西安交通大学软件工程综合训练期末考试高分题库全集含答案

49162--西安交通大学软件工程综合训练期末备考题库49162奥鹏期末考试题库合集 单选题: (1)在Project 2003中输入新任务的时候,所有的任务起始日期默认都是项目的开始日期,工期为()天 A.0 B.1 C.2 D.3 正确答案:B (2)下列哪一项不是项目组分配角色项() A.项目组长 B.开发人员 C.测试人员 D.管理人员 正确答案:D (3)下列哪一项不属于保密级别() A.普通 B.加密 C.保密 D.机密 正确答案:B

(4)函数规模应在()行以内 A.100 B.200 C.300 D.400 正确答案:B (5)下列()不是任务之间的相关性关系 A.FS B.FD C.SS D.SF 正确答案:B (6)需求优先级:分为1-5个级别,()是最最级别,在项目开发过程中要最先实现 A.2 B.3 C.4 D.5 正确答案:D (7)软件需求规格说明书的内容不应该包括( ) A.对重要功能的描述 B.对算法的详细过程描述 C.对数据的要求

D.软件的性能 正确答案:B (8)基线可作为软件生存期中各开发阶段的一个检查点。当采用的基线发生错误时,可以返回到最近和最恰当的( )上 A.配置项 B.程序 C.基线 D.过程 正确答案:C (9)软件的集成测试工作最好由( )承担,以提高集成测试的效果。 A.该软件的设计人员 B.该软件开发组的负责人 C.该软件的编程人员 D.不属于该软件开发组的软件设计人员 正确答案:D (10)模板文件的后缀名是() A.*.mpt B.*.pro C.*.dot D.*.xls 正确答案:A (11)程序模块要采用缩进风格编写,缩进的空格数为()个。

电子科技大学2018年《软件工程学科基础综合 》硕士研究生考研大纲_电子科技大学考研网

电子科技大学2018年《软件工程学科基础综合》硕士研究生考研大 纲 考试科目860软件工程学科基础综合考试形式笔试(闭卷) 考试时间180分钟考试总分150分 一、总体要求 《软件工程学科基础综合》包括《软件工程》和《网络技术》两门课程,其中《软件工程》要 求考生了解软件工程的基本知识和方法,熟悉软件工程的主要环节,掌握最基础的软件工程理论方法,并能应用到实际的软件项目开发中。《网络技术》要求学生掌握计算机网络的基本概念、基本原理和基本方法;掌握计算机网络的体系结构和典型网络协议,了解典型网络设备的组成和特点,理解典型网络设备的工作原理;能够运用计算机网络的基本概念、基本原理和基本方法进行网络系统的分析、设计和应用。两门课程各占总分的50%。 二、内容 《软件工程》考试内容如下: 1.基本概念 重点是软件的特性、软件工程学的研究范畴,以及学习软件工程的意义。掌握软件的概念、特 点和软件工程的基本特征;理解为什么学习软件工程、如何学习。主要知识点: 1)软件的概念和特点 2)软件危机的概念和产生的原因 3)软件工程的定义、三要素和发展过程 2.过程模型 重点是各种实用的软件过程模型,以及不同过程模型的特点比较。掌握几种典型模型的优缺点 和能依据项目特征选择使用不同的模型;理解为什么有不同的模型、不同模型的特征。主要知识点: 1)软件生命周期概念、软件过程概念、能力成熟度模型CMM概念 2)常见的几种软件过程模型:瀑布、增量、原型、螺旋、喷泉等,比较各自优缺点 3.需求分析 重点是需求分析的一般步骤、数据流图、用例图、活动图、需求规格说明文档的编制。掌握结 构化分析模型的导出、数据流图/用例图/活动图的基本画法和需求规格说明文档的编制;理解需求分析的过程、主要步骤。主要知识点: 1)需求分析的概念 2)需求分析的过程:需求确认与需求变更 3)需求确认的步骤:需求获取→需求提炼→需求描述→需求验证 4)需求分析三类建模:功能模型、数据模型、行为模型。面向过程和面向对象的需求分析过 程中,三类模型各包含哪些内容? 5)掌握数据流图和用例图作法。 4.系统设计 重点是面向数据流的设计方法、面向对象的设计方法、过程设计的常用工具。掌握软件设计的 主要技术、主要内容和主要方法,能根据具体项目进行模块划分和软件架构设计;理解软件设计和需求分析之间的相互关系。主要知识点: 1)系统设计分为概要设计和详细设计 2)与设计相关的8个概念:抽象、体系结构、设计模式、模块化、信息隐藏、功能独立、细 化、重构。其中,着重考察体系结构、模块化、信息隐藏、功能独立。

上海大学软件工程试卷试题(附答案)

、单项选择题(本大题共20小题,每小题 1 分,共20分) 在每小题列出的备选项中只有一个是符合题目要求的,多选或未选均无分。请将其代码填写在题后的括号内。错选、 1. 在软件生命周期的各个阶段中,工作量最大的阶段是 A .需求分析B.总体设计 C.综合测试 D .软件维护 2. 瀑布模型的特点不包括 A.前一阶段的任务没有完成,不能进入下一阶段工作 B.进入某个阶段工作后,不再回复到之前的阶段工作C.只有完成并评审了规定的文档,才标志着一个阶段的工作结束D.在软件产生之前,需求无法得到充分的测试 3. 螺旋模型强调的开发手段是 A.分阶段开发 C.风险驱动开发 4. 需求分析阶段的工作不包括 A.获得当前系统的物理模型 C.建立目标系统的逻辑模型 5. 总体设计阶段的工作不包括 A.确定程序的模块组成 C.确定实现各个模块功能的处理逻辑 6. 描绘系统物理模型的传统工具是 A .系统流程图 C.实体-联系图 7. 符合信息隐藏原理的是 A .将信息隐藏起来不被发现 C.将可能要修改的设计决策隐藏起来B.废弃式原型开发 D.增量式开发 B.抽象出当前系统的逻辑模 型 建立目标系统的物理模型 D. B.确定模块间的相互关 系 D.制定测试计划 B.数据流图 D.状态转换图 B.将信息隐藏起来确保安全 D.将不要修改的设计决策隐藏起 来 8. 模块的独立性原则是指软件设计时要尽量使模块具有 A .低内聚、低耦合B.低内聚、高耦合C.高内聚、低耦合D.高内聚、高耦合

[ 9. 有利于提高模块独立性的做法是 A.尽量使模块具有逻辑型内聚 B.尽量使模块间具有内容型耦合 C.使判定作用范围内的模块尽量成为该判定所在模块的直属下级模块 D.尽量提高模块的扇入数和扇出数 [ 10. 有关结构化设计(SD )方法的正确叙述是 ] A.只使用顺序、选择和循环 3 种控制结构 B.由数据结构映射出软件的结构 C.是一种面向对象的设计方法 D.是一种面向数据流的设计方法 [ 11. 有关总体设计阶段所使用的结构图的不正确叙述是 ] A.能够描述软件系统的模块组成 B.结构图中的模块是按照自上而下、自左向右的顺序执行的 C.能够描述模块间的调用关系以及模块间调用时所传递的信息 D.将模块间调用时所传递的信息分成两种:数据信息和控制信息 [ 12. 要求使用顺序、选择和循环控制结构的组合或嵌套来表达程序的过程设计工具是 A .程序流程图B . 盒图 C .判定表D.PDL 13 . 关于好的编码风格的正确叙述是 A .把多个语句写在同一行以节省空间B.要求用户指定输入数据的数目 C .检查输入项重要组合的合法性D.表达式中不使用多余的括号,以简化表达式 14 . 能发现软件需求规格说明书中的错误的测试步骤是 A .模块测试B.子系统测试 C .系统测试D.验收测试 15 . 自顶向下集成测试和自底向上集成测试都具有的优点是 A .较早发现主要设计错误B.可采用深度优先策略和宽度优先策略 C .支持故障隔离D.可复用模块得到充分测试 19 . 不符合面向对象设计准则的是 A .用对象的封装性来实现信息隐藏B.尽可能松散对象之间的交互耦合 C .尽可能减小继承耦合度D.尽可能设计小而简单的类 20. 上海大学校内电话号码由 5 位数字组成,但第 1 位数字只能是 5 或6。该电话号码的

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

软件工程考试题 简答题 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 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

18春西交《软件工程综合训练》在线作业

(单选题) 1: 在()菜单上点击“工具栏”菜单项,再选择“PERT 分析”,将出现“PERT 分析”工具栏。. A: 视图 B: 编辑 C: 格式 D: 插入 正确答案: (单选题) 2: 对用例不需要在()处打对钩,其中打对钩用例的UUCW会自动计算得出 A: 简单 B: 普通 C: 一般 D: 复杂 正确答案: (单选题) 3: 软件工程管理是( )一切活动的管理。 A: 需求分析 B: 软件设计过程 C: 模块设计 D: 软件生命期 正确答案: (单选题) 4: 软件测试是软件质量保证的主要手段之一,测试的费用已超过( )的30%以上,因此提高测试的有效性非常重要。 A: 软件开发费用 B: 软件维护费用 C: 软件开发和维护费用 D: 软件研制费用 正确答案: (单选题) 5: 删除任务的操作方法可按()键。. A: Delete B: Ctrl C: Shift D: Alt 正确答案: (单选题) 6: 在Project2003中工期后面的()表示为估计工期 A: ? B: * C: % D: & 正确答案: (单选题) 7: 用户需求变更标识分为四种情况,不包括下列() A: 增加 B: 更新 C: 删除 D: 修改 正确答案: (单选题) 8: Project 提供最佳的弹性,以下说法中错误的是() A: 完成…开始地基要先建好才可以盖房子 B: 开始…开始所有长官都到齐后才进行会议 C: 完成…完成所有必要文件都备齐后才能结案 D: 开始…完成地基要先建好才可以盖房子 正确答案: (单选题) 9: 程序模块要采用缩进风格编写,缩进的空格数为()个。 A: 1 B: 2

软件工程试题及答案

综合练习一答案 一.选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末 B.60年代初C.60年代末 D.70年代初 A.运筹学B.工程学 C.软件学 D.软件学 E.数字 2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用 5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员 D。用户和软件人员的领导 10.下列叙述中,_______不属于数据字典的作用。 A、作为编码阶段的描述工具 B、为用户与开发人员之间统一认识 C、作为概要设计的依据 D、为需求分析阶段定义各类条目 11.使用结构化分析方法时,采用的基本手段是____。 A.分解和抽象 B.分解和综合C.归纳与推导D.试探与回溯12.结构化系统分析主要是通过____进行分析的。 A.算法分解B.控制结构分解 C.数据结构分解D.处理功能分解13.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。 总貌B.细节C.抽象D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。 A.变换型 B 事务型 14.需求分析说明书不能作为______。

软件工程期末试题(含答案)广东药学院

填空题 1. 定义;开发;维护;问题定义;可行性研究;需求分析;总体设计;详细设计;编码和单元测试;综合测试;维护;维护。 2. 技术;经济;操作;软件项目的可行性/ 3. 一致性;现实性;完整性;有效性;完整性;有效性;原型系统。 4. 模块化;抽象;逐步求精;信息隐藏;局部化;模块独立;结构程序设计;可理解性。 5. 发现错误;黑盒测试;白盒测试;穷尽测试;测试方案。 6. 改正性维护;适应性维护;完善性维护;预防性维护。 一、 1. 软件生命周期可划分为、和3个时期,通常把这3个时期再细分为8个阶段,它们是①、②、③、④、⑤、⑥、⑦和⑧,其中的阶段的工作量是8个阶段中最大的。 2. 可行性研究的任务是从、和等三个方面研究。 3. 至少应该从、、和4个方面验证软件需求的正确性,其中和这两个方面的正确性必须有用户的积极参与才能验证,而且为了验证这两个方面的正确性,往往需要开发。 4. 软件总体设计时应遵循、、、、、和等6条基本原则。详细设计通常以技术为逻辑基础,因为从软件工程观点看,是软件最重要的质量标准之一。 5. 软件测试的目的是,通常把测试方法分为和两大类。因为通常不可能做到,所以精心设计是保证达到测试目的所必须的。 6. 软件维护通常包括4类活动,它们分别是、、、。 二、判断下述提高软件可维护性的措施是否正确,正确的在括弧内写对,错的写错。 1. 在进行需求分析时同时考虑维护问题。() 2. 完成测试后,为缩短源程序长度而删去程序中的注释。() 3. 尽可能在软件开发过程中保证各阶段文档的正确性。() 4. 编码时尽可能使用全局变量。() 5. 选择时间效率和空间效率尽可能高的算法。() 6. 尽可能利用硬件的特点以提高效率。() 7. 重视程序结构的设计,使程序具有较好的层次结构。() 8. 使用维护工具或软件工程环境。() 9. 进行概要设计时尽可能加强模块间的联系。() 10. 提高程序可读性,尽可能使用高级语言编程。() 三、按下述要求完成给出的程序流程图,即在答案栏内写出图中A、B、C、D、E的正确内容 给程序输入二维数组W(I,J),其中I≤M,J≤N(MT N均为正整数)。程序打印出数组中绝对值最小的元素值Q=W(K,L),及其下标K、L的值。假定数组中仅有一个绝对值最小的元素。 应该完成的程序流程图如下所示

软件工程试题库集及答案

综合练习一答案 选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末B.60年代初C.60年代末D.70年代初 A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员D。用户和软件人员的领导

软件工程课后习题(含答案)

第一章练习题 一、填空题 1、软件工程三要素是:方法、工具、过程。 2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。 二、名词(术语)解释: 1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。可靠性是衡量软件质量的一个重要目标。 2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。 三、问答题 1、面向对象方法的优点是什么? 答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。 (2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。 2、可视化开发方法的优点有哪些? 答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。 (2)软件开发简单,易学、易上手。 (3)专业或非专业人员都能参与软件开发活动。 第二章练习题 一、填空题: 1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工 程活动。 2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。 3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。 4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。 二、简答题: 1、瀑布模型的优点有哪些? 答:1、强迫开发人员采用规范的技术方法; 2、严格地规定了每个阶段必须提交的文档; 3、每个阶段结束前必须正式进行严格的技术审查和管理复审。 2、瀑布模型的缺点是什么? 答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。 2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。 3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很 难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

中南大学软件工程历届试卷

填空题(本题20分,每小题2分) 1. 瀑布模型是以文档为驱动、适合于(软件需求确定的)软件项目的开发。 2. 需求分析的基本任务是(确定用户需要软件做什么)。 3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(边界值分析法)。 4. 根据程序流程图划分的模块通常是(过程)内聚的模块。 5. 软件的分类,按其功能可分为:系统软件、(支撑软件)和应用软件。 6. UML的定义包括UML语义和(UML表示法)两个部分。 7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( 整体与部分结构)。 四、测试题(本题16分,每小题8分) 某程序的程序流程图如下图所示,试据此回答下述问题: 1. 计算程序的环形复杂度; 2. 设计测试用例,满足基本路径覆盖。 四.(1)环路复杂性=判断数+1=6+1=7(个) (2)路径1:(0)—①—(13)—(19) 路径2:(0)—②—③—(14)—(19) 路径3:(0)—②—④—⑤—(15)—(19) 路径4:(0)—②—④—⑥—⑦—(16)—(19) 路径5:(0)—②—④—⑥—⑧—⑨—(17)—(19) 路径6:(0)—②—④—⑥—⑧—⑩—(18)—(19) 路径7:(0)—②—④—⑥—⑧—⑩—(12)—(19) 一、填空题(本题30分,每小题1.5分) 1、软件是计算机程序、(描述计算机程序的文档)及(数据)的完整集合,将其统称为软件配置,这些项称为软件配置项。通过正式复审的软件配置项称为(基线),只有通过正式的变化控制过程才能改变它。 2、通常,将软件生命周期全过程中使用的一整套技术方法的集合称为方法学,包含三个要素,即方法、(工具)和(过程)。传统方法学采用(结构化)技术来自顶向下顺序地完成软件开发的各项任务,而面向对象方法是一种以(数据)为主线,把数据和对数据的操作紧密地结合起来的方法,其开发过程是一个多次迭代的演化过程。 3、软件测试的目标是(暴露程序中的错误),因而从心理学角度来看,由程序作者对自己编写的程序进行测试是不恰当的。设计测试方案是测试阶段的关键技术问题,测试方案一般包括(测试目的)、输入的测试数据

软件工程综合习题及答案样本

软件工程综合习题( 1) 及答案 一、选择题 1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾, 这种现象称做( C) 。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 2.瀑布模型本质上是一种( A ) 模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 3.瀑布模型存在的问题是( B ) 。 A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求4.螺旋模型是一种将瀑布模型和( A) 结合起来的软件开发模型。 A.增量模型B.专家系统C.喷泉模型D.变换模型 5.原型化方法是用户和设计者之间执行的一种交互构成, 适用于( A) 系统。 A.需求不确定性高的B.需求确定的 C.管理信息D.实时 6.下列有关软件工程的标准, 属于国际标准的是(D ) A.GB B.DIN C.ISO D.IEEE 7.结构化方法是一种基于( D) 的方法。 A.数据结构 B.程序结构 C.算法 D.数据流 8.软件可行性研究实质上是要进行一次( A)需求分析、设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9.可行性研究的目的是( D) A、分析开发系统的必要性 B、确定系统建设的方案 C、分析系统风险 D、确定是否值得开发系统 10.设年利率为i, 现存入p元, 不计复利, n年后可得钱数为( C) 。 A、 P×(1+i*n) B、 P× (i+1)*n C、 p×(1+i)n D、 p×(i+n) 11.可行性研究是在( A) 之前 A、系统开发 B、测试 C、试运行 D、集成测试 12.可行性研究需要的时间长短取决于系统的规模, 一般来说, 可行性研究的成本只是

《软件工程》综合练习题

《软件工程》综合练习题 一、选择题 .软件是一种( )产品。 .有形.逻辑.物质.消耗 .与计算机科学的理论研究不同,软件工程是一门( )学科。 .理论性.工程性.原理性.心理性 .软件危机的主要原因有( )。 ①软件本身的特点②用户使用不当③硬件可靠性差④对软件的错误认识⑤缺乏好的开发方法和手段 .③④.①②④.①⑤.①③ .软件工程学科出现的主要原因是( )。 .计算机的发展.其他工程科学的影响.软件危机的出现. 程序设计方法学的影响 .软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,其期望达到的最终目标是( )。 .软件开发工程化.消除软件危机.实现软件可重用.程序设计自动化 .软件生存周期模型有多种,下列选项中,( )不是软件生存周期模型。 .螺旋模型.增量模型.功能模型.瀑布模型 .结构化方法和原型化方法是软件开发中常使用的两种基本方法,在实际的应用中,它们之间的关系表现为( )。 .相互排斥.相互补充.交替使用.独立使用 .在软件生存周期的模型中,( )吸收了软件工程“演化”的概念,适合于大型软件的开发。 .喷泉模型.基于知识的模型.变换模.螺旋模型 .瀑布模型是一种( )。 .软件开发方法.软件生存周期.程序设计方法学.软件生存周期模型 .在软件的可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的功能可行性角度考虑的是( ) .经济可行性.技术可行性.操作可行性.法律可行性 .技术可行性要解决( )。 .存在侵权否.成本、效益问题.运行方式可行.技术风险问题 .可行性研究要进行的需求分析和设计应是( )。 .详细的.全面的.简化、压缩的.彻底的 .数据流图是常用的进行软件需求分析的图形工具,其基本符号是( )。 .输入、输出、外部实体和加工.变换、加工、数据流和存储 .加工、数据流、数据存储和外部实体.变换、数据存储、加工和数据流 .系统流程图是描述( )的工具。 .逻辑系统.程序系统.体系结构.物理系统 .下列叙述中,( )是正确的。 ①软件系统中所有的信息流都可以认为是事务流②软件系统中所有的信息流都可以认为是变换流 ③事务分析和变换分析的设计步骤是基本相似的 .①.②.③.②③ .加工是对数据流图中不能再分解的基本加工的精确说明,下述( )是加工的最核心。 .加工顺序.加工逻辑.执行频率.激发条件 .系统定义明确之后,应对系统的可行性进行研究。可行性研究包括( )。 .软件环境可行性、技术可行性、经济可行性、社会可行性 .经济可行性、技术可行性、社会可行性 .经济可行性、社会可行性、系统可行性 .经济可行性、实用性、社会可行性

合肥师范学院软件工程期末考试试题·优选.

TEST1 一、选择题:(本大题共10小题,每小题2分,共20分) 1.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。 A.可移植性 B.可重用性 C.容错性 D.可适应性 2.关于计算机软件,下列说法正确的是(A )。 A.计算机系统的组成部分 B.不能作为商品参与交易 C.是在计算机硬件设备生产过程中生产出来的 D.只存在于计算机系统工作时 3.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作 (B)。 A.软件投机 B.软件危机 C.软件工程 D.软件产生 4.软件工程中(C )不属于用户文档的内容。 A.功能描述 B.安装手册 C.系统设计 D.使用手册 5.软件概要设计结束后得到( B )。 A.DFD图 B.软件结构图 C.模块详细的算法 D.程序编码 6.软件设计中,可应用于详细设计的工具有( )。 A.程序流程图、PAD图和伪码 B.数据流图、PAD、结构图和伪码 C.业务流程图、N-S图和伪码 D.数据流图、PAD、N-S图和伪码 7.软件维护中,因修改交互输入的顺序,没有正确的记录而引起的错误是 ( A )产生的副作用。 A.文档 B.数据 C.编码 D.设计 8.瀑布模型本质上是一种(C )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.及早见产品 9.螺旋模型是一种将瀑布模型和(A )结合起来的软件开发模型。 A.增量模型 B.专家系统 C.喷泉模型 D.变换模型 10.面向对象分析是对系统进行(A )的一种方法。 A. 需求建模 B. 程序设计 C. 设计评审 D. 测试验收

二填空题:(本大题共10个空,每空2分,共20分) 1.软件工程三要素是软件工程的( 方法)、( 工具)和(过程)。 2.软件工程学的主要内容是( )和( ) 。 3.实体-关系图(E-R图),用于建立数据模型,其中包含了( 对象)、( 关 系)和( 属性)。 4.详细设计的任务是确定每个模块的内部特性,即模块的( )和( )。 三、判断题:(本大题共10小题,每小题2分,共20分) 1.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达 能力。F 2.可以用CASE环境或程序自动生成工具来自动生成一部分程序。T 3.开发软件就是编写程序。F 4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输 出、或设计一些复杂的算法等场合。F 5.面向对象的分析由对象、结构、继承性和基于消息的通信构成。 6.封装是把对象和属性结合在一起,强调独立和封闭。T 7.类的设计过程包括:确定类,确定关联类,确定属性,识别继承关系。 8.软件工程学只有理论意义,没有实际用途。F 9.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。T 10.在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。F 四、简答题:(本大题共4小题,每小题5分,共20分) 1.什么是软件生命周期?软件生命周期都有哪些阶段? 软件从提出设计到被使用和维护直至被舍弃的时间段。 2.以G.Myers的观点,简述软件测试的目的。 为了发现错误而执行的过程;好的方案是极有可能发现错误的方案 3.设计用户界面的过程中,会遇到那四个问题? 4.面向对象的分析通常要建立三个模型,请问三个模型的作用?

软件工程综合应用例题解析

软件工程综合应用例题 第一部分 《结构化软件开发方法》 1、根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。 解: 2、高考录取统分子系统有如下功能: (1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件; (2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。 试根据要求画出该系统的数据流程图,并将其转换为软件结构图。 解:(1)数据流图: (2)软件结构图: ① 原始分 ② 标准分 ③ 招生计划 ④ 录取线 3、有下列伪码程序: START INPUT (M,N) IF M>=10 THEN X:=10 ELSE X:=l ENDIF IF N>=20 THEN Y:=20 ELSE Y:=2 ENDIF PRINT(X,Y) STOP

设计该程序的语句覆盖和路径覆盖测试用例。 解: 语句覆盖测试用例为 ①M=9(或=10),N=20(或>=20) 路径覆盖的测试用例为 ①M=9,N=19; ②M=9、N=20; ③M=l0,N=l9; ④M=10,N=20 4、画出下列伪码程序的程序流程图、盒图(N-S图)、PAD图。 START IF p THEN WHILE q DO F END DO ELSE BLOCK g n END BLOCK END IF STOP 解: 5、根据下面程序流程图,给出测试用例: 解:路径覆盖可使用测试用例: ⑴【A=1,B=1,X=1】 ⑵【A=1,B=1,X=2】

相关主题
文本预览
相关文档 最新文档