软件工程《软件工程》习题集

软件工程《软件工程》习题集
软件工程《软件工程》习题集

软件工程习题集

第一章概述

一、选择题

1.“软件危机”产生的主要原因是( B )。

A.软件日益庞大

B.开发方法不当

C.开发人员编写程序能力差

D.没有维护好软件

2.软件工程中描述生存周期的瀑布模型一般包括计划、( 需求分析)、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成(概要设计)和(详细设计)两步。

①需求分析②需求调查③可行性分析④问题定义⑤方案设计

⑥代码设计⑦概要设计⑧数据设计⑨运行设计⑩

3.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(程序、数据、文档)。A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档

4.在软件工程时期,决定软件质量的主要因素是( )

A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展

5.下列哪个模型没有采用迭代的思想(A )

A.瀑布模型 B.渐增模型C.螺旋模型 D.RUP模型

6.下列关于瀑布模型的描述正确的是( D )

A.利用瀑布模型,如果发现问题修改的代价很低

B.瀑布模型的核心是按照软件开发的时间顺序将问题简化

C.瀑布模型具有良好的灵活性

D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开

7.瀑布模型的关键不足在于(B )

(A)过于简单(B)不能适应需求的动态变更

(C)过于灵活(D)各个阶段需要进行评审

8.瀑布模型把软件生存周期划分为软件定义、软件开发与(D )三个阶段,而每一阶段又可分为若干更小的阶段。

A. 详细设计

B. 可行性分析

C. 运行及维护

D. 测试与排错

二、判断题

1.软件工程是指导计算机软件开发和维护的工程学科。( )

2.在软件工程时期,决定软件质量的主要因素是管理水平. ( )

3.软件生存期是从软件项目需求定义直至软件开始使用为止。()

4.常用的软件生存周期模型有瀑布模型和结构化模型。()

5.瀑布模型是一种线形的、顺序的软件开发模型( )

6.瀑布模型的关键不足在于不能适应需求的动态变更.( )

7.快速原型模型是为了克服瀑布模型的缺点而提出来的。()

8.快速原型模型可以有效地适应用户需求的动态变化。()

9.风险分析是螺旋模型的优点,因此螺旋模型适合任何大系统的开发。()

三、简答题

1、什么软件工程?什么是软件过程?

2、软件工程学的主要内容是什么?

3、什么是软件生命周期?软件生命周期为什么要划分阶段?划分阶段的原则是什么?第二章可行性研究与软件开发计划

一、选择题

1.经济可行性研究的范围包括( C )

A.资源有效性 B.管理制度 C.效益分析 D.开发风险

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

A.确定 B.行或不行 C.正确 D.无二义

3.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。A.需求不确定的 B.需求确定的 C.管理信息 D.决策支持

4.一个项目是否开发,从经济上来说是否可行,归根结底是取决于对( A )

A.成本的估算B.项目计划C.工程管理D.工程网络图

5. 可行性研究的目标是( B )

A. 开发项目

B. 项目值得开发否

C. 规划项目

D. 维护项目

6.软件可行性研究一般不考虑(D )

(A)是否有足够的人员和相关的技术来支持系统开发

(B)是否有足够的工具和相关的技术来支持系统开发

(C)待开发软件是否有市场、经济上是否合算

(D)待开发的软件是否会有质量问题

二、判断题

1.可行性研究的目标是规划项目。()

2.需求规格说明书是软件可行性研究的依据。()

3.软件需求规格说明书的内容应当包括对算法的详细过程性描述。( )

4.分层DFD 图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于描绘了系统的实现细节.( )

5.对于软件项目,投资回收期越长,越快获得利润。( )

6.项目效益分析中投资回收率越低越好。()

7.甘特图表是一种比较常用的进度图表。()

8.数据流图应采用由外向里画的原则逐步细化。()

三、简答题

1、什么是可行性研究?可行性研究报告的内容是什么?可行性研究的结论有哪几种?第三章需求分析

一、选择题

1.软件需求分析的任务不应包括(结构化程序设计)。进行需求分析可使用多种工具,但(判定表)是不适用的。在需求分析中,分析员要从用户那里解决的最重要的问题是(要让软件做什么 )。需求规格说明书的内容不应当包括(对算法的详细过程性描述)。该文档在软件开发中具有重要的作用,但其作用不应当包括( )。

A.① 问题分析② 信息域分析③ 结构化程序设计④ 确定逻辑模型

B.① 数据流图② 判定表③ PAD图④ 数据词典

C.① 要让软件做什么② 要给该软件提供哪些信息

③要求软件工作效率如何④要让软件具有什么样的结构

D.①对重要功能的描述② 对算法的详细过程性描述

③软件确认准则④ 软件的性能

E.①软件设计的依据②用户和开发人员对软件要“做什么”的共同理解

③软件验收的依据④软件可行性分析的依据

2.在结构化分析方法中,用以表达系统内数据的运动情况的工具有(数据流图)。

①数据流图②数据词典③结构化英语④判定表与判定树3.在结构化分析方法中,用以表达系统内数据的运动情况的工具有(数据流图)。

A.数据流图

B.数据词典

C.结构化英语

D.判定表与判定树

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

A.程序模块化

B.模块高内聚

C.模块低耦合

D.模块独立性

5.需求分析是由分析员经过了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型,并写出(软件规格说明书)。

(A) 模块说明书(B) 软件规格说明书(C) 项目开发计划(D) 合同文档

6.分层DFD 图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于( ) 。

A. 描绘了系统的实现细节

B. 表明了被开发系统的范围以及它和周围环境的数据交换关系

C. 描绘了系统的抽象

D. 描绘了软件实现的作者和绘制的时间

二、判断题

1.数据流图可分为两种基本形式:事务型数据流图和变换型数据流图。()

2.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。()

3.HIPO图由H图和IPO图组成,即一个H图对应一个或多个IPO图()。

4.软件模块之间的耦合性越弱越好。()

5.模块的内聚度越高,则说明模块的独立性越强。()

6.模块独立性有两个定性的度量标准是扇入与扇出。( )

7.模块化就是将系统划分为若干个模块,每个模块完成一个子功能。因此,模块分得越小越好。()

8.用例图的主要元素是用例和执行者及其它们之间的联系。()

9.模块独立性有两个定性的度量标准是耦合和内聚。( )

10.模块的作用范围可不限制在其控制范围之内()

11.事务调度中心并不对输入数据进行加工,而只是根据不同的输入数据作出不同的事务流程选择。()

12.事务数据流以事务调度中心为核心,在此之前为接收事务,在此之后为事务分流处理。()

13.变换数据流所体现的是数据从输入到加工再到输出的一般步骤。()

14.模块接口简单是软件发生错误的一个主要原因。( )

15.C/S结构的系统客户端要安装程序,维护起来比较麻烦()

16.模块分为传入模块、传出模块、协调模块、变换模块()

17.公共耦合是一种通过访问公共数据环境而实现通信的模块耦合形式。()

18..一个较好的软件结构有这样的特征:顶层模块高扇出, 中间层模块低扇出, 底层模块高扇入()

19.模块独立性是衡量软件中模块质量最重要的指标。()

20.系统构架中集中式结构是最传统的系统构架,系统建设费用和运行费用都非常便宜()

三、简答题

1、什么是需求分析?结构化分析的基本任务是什么?结构化分析的步骤有哪些?

2、什么是实体-关系图?它的基本符号有哪些?

3、什么是数据流图?它的基本符号各表示什么含义?

第四章概要设计

一、选择题

1.Jackson方法是以(B )为基本依据的程序算法设计方法。

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)最小模块必须是50~100行代码范围

9.概要设计的结果是提供一份()。

A. 模块说明书

B. 框图

C. 程序

D. 数据流图

10.Jackson方法数据分三种结构:顺序结构、选择结构、()结构。

A. 重复

B. 选择

C. 顺序

D. 有规则 GOTO

11.Jackson详细设计方法中数据结构不包括()。

A. 重复结构

B. 顺序结构

C. 选择结构

D. 有规则 GOTO

二、判断题

1.结构化程序的基本特征是程序的任何位置是单入口、单出口的。()

2.“顺序”、“选择”、“循环”这三种基本的控制结构能实现任何复杂的程序计算问题。()3.结构化程序设计的基本途径是对程序问题自顶向下、逐步求精。()

4.聚集关系可以分为共享聚集与复合聚集两种形式。()

5.复合聚集是一种较强的聚集关系,也称组合关系,其图形符号是实心菱形。()6.共享聚集是一种较弱的聚集关系,其图形符号是空心菱形。()

三、简答题

1、什么是概要设计?基本任务是什么?

2、什么是模块?模块有哪些属性?

3、什么是模块化?划分模块的原则是什么?

4、什么是软件结构设计?软件结构设计的准则是什么?

第五章详细设计

一、选择题

1.下列哪一个不是详细设计时使用的工具。()

(A)系统流程图(B)盒图

(C)PAD图(D)判定树

2.详细设计算法工具有程序流程图、N-S图、( )、PDL等。

(A)系统流程图(B)盒图

(C)PAD图(D)功能图

3.PDL是一种过程设计语言,又叫()

(A)系统流程图(B)盒图

(C)伪码(D)功能图

4.在详细设计算法工具中,()能够清楚地表现程序的层次结构

(A)系统流程图(B)层次图

(C)PAD图(D)功能图

5.详细设计算法工具中,()图是一种历史悠久的图,直观地描述了程序的控制流程。(A)程序流程图(B)系统流程图

(C)PAD图(D)盒图

6.详细设计阶段,一种二维树型结构来描述算法的工具称为( )

A. IPO 图

B. PAD 图

C. PDL

D. 判定树

7.详细设计的方法不包括()

A.Jackson方法B.结构化设计方法C.面向对象设计法D.程序流程图8.一般来说,详细设计的方法包括结构化设计方法、()和Jackson方法。

A.PAD 图B.判定树C.面向对象设计法D.程序流程图

二、判断题

1.软件开发就是指编写程序。()

2.软件就是程序代码。()

3.现在人们普遍认为优秀的程序除了功能正确,性能优良之外,还应该容易看懂、容易使用、容易修改和扩充。( )

4.单元测试时需要用到辅助模块,如驱动模块、桩模块。( )

5.模块的功能完整是指执行规定的功能就行了()

6.程序流程图又称为程序框图;N-S图又称盒图。()

三、简答题

1、数据代码具有哪三项基本功能?代码有哪些特性?

2、代码的种类有哪些?

3、详细设计的主要任务是什么?

第六章软件实现

一、选择题

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.单元测试中使用的辅助模块分为驱动模块和(c )

( A) 传入模块(B)主模块(C)桩模块(D) 传出模块

8.集成测试分为渐增组装测试和()

( A) 非渐增组装测试(B) 确认测试(C) 单元测试(D) 测试计划

9.软件测试的目的是(A )

( A)发现软件中隐藏的错误

(B)解决软件中隐藏的错误

(C)尽量不发现错误以便早日提交软件

(D)证明软件的正确性

10.软件调试的目的是()

( A)发现软件中隐藏的错误

(B)解决测试中发现的错误

(C)尽量不发现错误以便早日提交软件

(D)证明软件的正确性

11.单元测试的测试用例主要根据( A )的结果来设计。

A.需求分析

B.源程序

C.概要设计

D.详细设计

12.在软件开发的各种资源中,(D )是最重要的资源。

A 开发工具

B 方法

C 硬件环境

D 人员

13.下列各方法中( D )不是软件测试方法。

( A)白盒法(B)黑盒法(C)动态测试(D)盒法

二、判断题

1.程序的控制结构一般采用顺序、选择、GoTo语句三种构成,这样可确保结构比较简单。()

2.评价一个测试是否成功,就是看这个测试是否发现了至今为止尚未发现的软件错误。()3.如果通过软件测试没有发现错误,则说明软件是正确的。()

4.详细说明是用户关于软件的外界特征的规格表述。()

5. 黑盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。()6.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。()7.白盒法测试主要检测软件内部模块的功能是否达到要求,而黑盒法测试主要考虑测试用例对程序内部逻辑结构的覆盖程度。()

8.白盒测试又被称为结构测试。( )

9.一个测试用例尽可能覆盖多个有效等价类。( )

10.一个测试用例尽可能覆盖多个无效等价类。( )

11.软件测试过程就是发现软件中错误的过程。()

12.越是早期错误,其对软件质量的影响越大。因此,软件错误应该尽早发现,尽早克服。( )

三、简答题

1、在进行软件开发时,如何选择程序设计设计语言?

2、什么是程序设计的风格?为了具有良好的程序设计风格,应注意哪些问题?

第七章软件维护

一、选择题

1.根据是否按照工程化原则实行来划分,软件维护分为()

A.改正性维护、适应性维护、完善性维护

B.非结构化维护和结构化维护

C.预防性维护和非预防性维护

D.正确维护和错误维护

2.软件维护的工程流程中,最先应做的是( )

A. 确定维护的优先次序

B.对错误严重性进行评价

C.确定维护类型

D.对维护进行评审

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

A.改正性维护

B.适应性维护

C.完善性维护

D.预防性维护

4.( ) 这种维护性活动数量较大,占整个维护活动的50% 。

A. 校正性维护

B. 适应性维护

C. 预防性维护

D. 完善性维护

二、判断题

1、软件维护分为修改性维护、适应性维护、完善性维护和预防性维护。( )

2、提高软件的可维护性是软件工程各阶段追求的目标。( )

3、软件维护是在软件产品交付之后对其进行修改,以纠正故障,或改进性能和其他属性,或使产品适应新的环境。( )

4.软件的质量保证工作一般在编码工作结束后才开始。()

三、简答题

1、如何提高软件的可维护性?

2、如何度量软件的可维护性?

3、软件维护有哪些副作用?

第八章面向对象方法学与UML

一、选择题

1.在UML的图形中哪个是对单个对象进行建模。()

(A)状态图(B)活动图(C)顺序图(D)协作图

2.UML是一种建模()

(A)方法(B)工具(C)语言(D)图形

3.在UML的图形建模中,()图描述了系统的业务功能和应用接口

(A)用例图(B)活动图(C)顺序图(D)协作图

4.UML动态模型的描述工具是( D ) 。

A. 对象图

B. 结构图

C. 流程图

D. 状态图

5.UML对象模型的描述工具是( ) 。

A. 类图

B. 结构图

C. 流程图

D. 状态图

6.UML功能模型的描述工具是( ) 。

A. 用例图

B. 结构图

C. 流程图

D. 状态图

7.UML分析建型分为三类:功能模型、动态模型、()。

A. 对象模型

B. 结构图

C. 流程图

D. 状态图

8.对象的抽象是类,类的具体化就是对象,也可以说类的实例是()

A.操作 B.方法 C.对象 D.类

二、判断题

1.用例图三要素包括角色、用例、系统( )

2.序列图强调时间和顺序,协作图强调上下文之间实例关系,二者可以相互转换。()3.面向对象分析阶段需要创建类分析图,设计阶段需要创建类设计图。()

4.用例之间的关系主要有“扩展”和“使用”。()

5.类与类之间的关系主要有:关联、泛化和聚集。()

6.关联限定符通常用于一对多或多对多关联关系中,可使多重性由一对多或多对多缩减为一对一或多对一。()

7.状态模型图是行为图。( )

8.序列图和协作图合称交互图()

9.类图和对象图是交互图()

10.类之间的泛化关系也就是类的继承关系。()

11.序列图中两个坐标轴,其中的纵坐标表示时间,横坐标表示不同的对象。由此能够表现对象间消息传递的时间顺序。()

12.设计类图中需要考虑实体类、边界类和控制类。()

13.类图中公有的,用“+”表示,私有的用“-”表示,受保护的用“#”表示。()

三、简答题

1、什么是对象、属性、服务、关系?举实例说明。

2、什么是状态、事件、行为?举例说明。

3、什么是UML?它有哪些特点?

第九章面向对象技术与UML应用

一、简答题

1、建立对象模型时需对问题领域中的对象进行抽象。抽象的原则是什么?举实例说明。

2、什么叫面向对象?面向对象方法的特点是什么?为什么要用面向对象方法开发软件?第十章软件开发环境

一、简答题

1、软件开发工具有哪些功能?

2、什么是CASE技术?CASE技术如何分类?

3、软件环境的定义是什么?

4、软件环境的分类有哪些?

5、什么是CASE技术?CASE技术如何分类?

第十一章软件重用

一、简答题

1、简述类构件的3种重用方式。

2、简述构件分类的3种模式。

附录综合题

1、流程图

1、根据商品进货的协作图,画出商品进货的序列图。如下图所示:

进货记录

商品库存

: 用户

登陆界面

主界面

进货界面5: 5:修改商品库存

1: 1:用户登录2: 2:通过登陆

3: 3:选择进货操作

4: 4:增加进货记录

2、请作出教育基金会的“捐助资金管理系统”的第一层DFD 。 教育基金会的“捐助资金管理系统”

⑴由捐助者向基金会提出捐助请求,经身份确认后被接受,对捐助人进行登记并授予捐助证书,捐款存入银行。

⑵由教育单位提出用款申请,在进行相应的合法性校验和核对相应的捐款储备后做出支出。

⑶每月给基金会的理事会一份财政状况报表,列出本月的收入和支出情况和资金余额。

3、请用数据字典定义准考证号。

某市公务员招考的准考证号共六位数字,编排规则如下。第一位是专业编号:1代表行政专业、2代表法律专业、3代表经济学专业。第二位是地区编号:1表示黄浦区、2表示卢湾区、3表示徐汇区...。第三、第四位是考场编号。第五、第六位是考场内序号,一个考场最多30人。

4、在教学管理中,学校开设若干门课程,一个教师可以教授其中的一门或多门课程,每位学生也需要学习其中的几门课程。因此,教学管理中涉及的对象(实体型)有学生、教师和课程。用E-R图描述它们之间的联系。

5. 根据以下系统画出第一层的数据流图(DFD)

银行储蓄系统的工作过程大致如下:

⑴由储户填写存款单或取款单,然后交由银行工作人员输入系统。

⑵如果是存款,系统将提示储户键入密码。在此之后,系统会打印一张存款凭据给储户。

⑶如果是取款,则系统会根据存款帐号核对储户密码。若密码正确,则系统会计算利息

并打印出利息清单给储户。

6.某算法设计程序流程图如下所示。将该图转换为N-S图(即盒图)。

7.以下是项目管理模块的一个设计图,请阅读此图,回答问题。

(1)这是一个什么图?

(2)请描述此图所表达的业务功能。

8. 将下列伪代码表示的详细设计规格说明书转换成N-S图。START

IF X1 THEN

IF X2 THEN

DO

A

B

WHILE X3 ELSE

C

END IF

ELSE

WHILE X4 DO

D

E

END DO

END IF

STOP

软件工程作业(答案参考)

软件工程第一次作业 1)软件工程适用范围? 答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。 2)软件工程如何控制系统开发的复杂性的? 答:可理解性(understandability)。系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。 4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。请问如果你是项目负责人,你会选择为客户开发那个层次的软件? 答:我会选择仅仅满足用户需求的软件。因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。

软件工程习题答案

软件工程习题及答案 一、选择题: 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、1/6 B、1/5 C、1/4 D、1/3 7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 8. PAD(Problem Analysis Diagram)图是一种工具。 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. 在开发软件时,可用来提高程序员的工作效率。 A、程序开发环境 B、操作系统的作业管理功能 C、编译程序的优化功能 D、并行运算的大型计算机 14. 结构化程序设计主要强调程序的。 A、效率 B、速度 C、可读性 D、大小 15. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作。 A、软件投机 B、软件危机 C、软件工程 D、软件产生 16. 瀑布模型把软件生存周期划分为软件定义、软件开发和三个阶段,而每一阶段又可细分为若干更小的阶段。 A、详细设计 B、可行性分析 C、运行及维护 D、测试与排错 17. 软件的设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。 A、概要 B、抽象 C、逻辑 D、规划

软件工程作业3

软件工程第六章作业 9、某公司为本科以上学历的人重新分配工作,分配原则如下:如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作;如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士,不分男女,任课题组组长;如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士,不分男女,任课题组组长。要求:画出分析过程,得出判定表,并进行化简。 条件分析表: 条件名称取值符号取值数性别男M M1=2 女 F 年龄不满18岁T M2=3 满18岁小于50岁Y 超过50岁O 文化程度硕士S M3=2 本科 B 判定表: 1 2 3 4 5 6 7 8 9 10 11 12 性别M M M M M M F F F F F F 文化程度S S S B B B S S S B B B 年龄O Y T O Y T O Y T O Y T 组长√√√√√√ 领导√√ 科研√ 行政√资料员√ 考研√ 简化表: 1,2,3,7,8,9 4 5,11 6 10 12 性别------ M ----- M F F 文化程度S B B B B B 年龄------ O Y T O T 组长√ 领导√ 科研√ 行政√ 资料员√ 考研√

10、研究下面的伪码程序,画出对应的程序流程图。 开始 Input X,N Dim A(N),F(N) I=1 Input F(i) I>N I++ K=0 否是 A(K)=0;J=1 A(K)=A(K)+F(J)*F(J+K)/(N-K+1) J++ K>N-K 否 Print K*X,A(K) K++ K

软件工程试题答案

一、填空题(每空1 1.软件生存周期一般可分为__问题定义__、可行 性研究、_需求分析_____、设计编码、__测试 ________、运行与维护阶段。 2.按软件的功能进行划分,软件可以划分为 系统软件、支撑软件和 应用软件。 3.可行性研究主要集中在以下四个方面经济可 行性、技术可行性、 法律可行性和抉择。 4.用户界面的可使用性是用户界面设计 最重要的也是最基本的目标。 5.常见的软件概要设计方法有3大类:以数据流 图为基础构造模块结构的___结构化设计方法 _________,以数据结构为基础构造模块的 __jackson方法__________,以对象、类、继承 和通信为基础的__面向对象设计方法 __________。 6.__数据流图________和__数据字典___共同构成 系统的逻辑模型。 7.软件测试的方法有__分析方法________和___非 分析方法_______(即黑盒法)。 8.单元测试一般以___白盒_____________测试为 主,___黑盒______测试为辅。 9.成本估计方法主要有__自底向上估计 ________、_自顶向下估计_________和算法模型 估计三种类型。 二、单项选择题(每小题2分,共10分) 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、不是不可以理解的

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

、单项选择题(本大题共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。该电话号码的

最新版2016软件工程基础离线作业满分答案

浙江大学远程教育学院 《软件工程基础》课程作业 ————————————————————————————— 第一章概述 1.什么是软件危机,它有哪些典型表现? 答:所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。 软件危机的典型表现主要有: 1. 开发成本和进度不能准确估计 2. 开发出来的软件不能满足用户的要求 3. 软件的可维护性差 4. 软件质量不可靠 5. 软件成本在系统中的比重逐年上升 6. 软件开发生产率的提高速度不够 2.简述产生软件危机的原因和解决的思路。 答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。 解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性? 答:软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。 其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。 4.软件工程是如何用来消除软件危机的? 答:软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服? 答:首先要对错误造成工作的延误或一些问题表示歉意。错误是难免,关键是要虚心接受,在以后工作中要更加认真,避免错误机率降到最低。在编码过程中要,首先要在头脑清醒,要保持工作前有足够的睡眠。这样错误机会也会降小。在编程结束后,首先要验证,是否能正常运行或工作。再以后的工作更要虚心,认真,保证这种机会降到最低。

软件工程作业第一章

1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现:软件总是超出预算、落后于进度表,而且产品质量不可靠、维护困难等。 危机原因: 1、软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软件失败。 2、主客观不相适应。 ●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等; ●主观上:传统的个体化开发观念和方法的影响,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? ?基本思想:是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。 ?软件工程定义:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它. ?软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。 本质特性:P6 消除软件危机:软件工程基本原理7条。 1-6 什么是软件过程?它与软件工程方法学有何关系? ?软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 ?过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。 关系:是软件工程方法学包含3个要素(方法、工具和过程)之一。 1-7 什么是软件生命周期模型?试比较瀑布模型、(快速)原型模型、增量模型和螺旋模型、喷泉模型的优缺点,说明每种模型的适用范围。 生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型:它将软件生命周期划分为需求分析、软件设计、程序编写、软件测试和运行维护等基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。优点:文档驱动。 强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。遵守瀑布模型的文档约束,将使软件维护变得比较容易一些。 缺点:系统可能不满足需求,用户仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品 适用范围:软件需求明确。 原型模型:在初步调查了解的基础上,提供快速的软件建造工具,开发出一个功能并不十分完善的可实际运行的系统,即原型。需求分析入手快速、表达直观、容易交流。重点解决瀑

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

一、选择题 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.输入、输出、外部实体和加工 B.变换、加工、数据流和存储 C.加工、数据流、数据存储和外部实体 D.变换、数据存储、加工和数据流

软件工程在线作业及答案

1.第1题 在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的成本/效益分析的是()。 A.经济可性性 B.技术可行性 C.操作可行性 D.法律可行性 您的答案:A 题目分数:2.5 此题得分:2.5 2.第2题 为了提高模块的独立性,模块内部最好是()。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 您的答案:C 题目分数:2.5 此题得分:2.5 3.第3题 Jackson方法是一种面向()的方法。 A.对象 B.数据结构 C.数据流 D.控制流 您的答案:B 题目分数:2.5 此题得分:2.5 4.第4题 需求分析阶段研究的对象是软件项目的()。 A.用户需求 B.合理要求 C.模糊要求 D.工程要求 您的答案:A 题目分数:2.5 此题得分:2.5

5.第5题 面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B.详细设计 C.软件设计 D.编码 您的答案:B 题目分数:2.5 此题得分:2.5 6.第6题 程序控制的三种基本结构中,()结构可提供多条路径选择。 A.反序 B.顺序 C.循环 D.分支 您的答案:D 题目分数:2.5 此题得分:2.5 7.第7题 下列属于黑盒测试的是()。 A.基本路径测试 B.条件测试 C.循环测试 D.等价划分 您的答案:D 题目分数:2.5 此题得分:2.5 8.第8题 软件设计一般分为总体设计和详细设计,它们之间的关系是()。 A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构 您的答案:A 题目分数:2.5 此题得分:2.5

9.第9题 好的软件结构应该是()。 A.高耦合,高内聚 B.低耦合,高内聚 C.高耦合,低内聚 D.低耦合,低内聚 您的答案:B 题目分数:2.5 此题得分:2.5 10.第15题 面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父类的全部描述(数据和操作)。 A.传递性 B.继承性 C.复用性 D.并行性 您的答案:B 题目分数:2.5 此题得分:2.5 11.第16题 软件项目管理是()一切活动的管理。 A.需求分析 B.软件设计过程 C.模块控制 D.软件生命周期 您的答案:D 题目分数:2.5 此题得分:2.5 12.第17题 一个模块把开关量作为参数传递给另一模型,这两个模块之间的耦合是()。 A.外部耦合 B.数据耦合 C.控制耦合 D.内容耦合 您的答案:C

软件工程试题库集及答案

综合练习一答案 选择题: 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. 技术;经济;操作;软件项目的可行性/ 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的值。假定数组中仅有一个绝对值最小的元素。 应该完成的程序流程图如下所示

软件工程作业答案

新版形考作业答案第一次!! 09软件工程作业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.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。 A、1% B、20% C、8% D、50% 13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。 A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》 C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》 14. 效率是一个性能要求,因此应当在以下(B)阶段规定 A、可行性分析 B、需求分析 C、概要设计 D、详细设计 15. 需求规格说明书的作用不包括(D) A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据 D、软件设计的依据 16. 数据字典是用来定义(D)中的各个成份的具体含义的。 A、程序流程图 B、功能结构图 C、系统结构图 D、数据流程图 17. 数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。 A、SA B、SD C、SP D、SC 18. DFD中的每个加工至少有(A)。 A、一个输入流或一个输出流

软件工程第1章作业

软件工程第1章作业 一、填空题(每小题1分,共15分) 1、软件与物质产品有很大的区别,软件是一种_____逻辑_______产品。 2、软件工程是一门综合性交叉学科,计算机科学着重于理论和原理,软件工程着重于建造一个软件系统____________________。 3、最基本、应用广泛、以文档为驱动、适用于开发功能明确的软件项目生存期模型是_瀑布模型。 4、一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把这个漫长的时期称为_生存周期。 5、软件工程是指导计算机软件开发和维护的一门工程学科。 6、软件工程包括___软件开发技术_________和____管理________两方面的内容,是技术与管理紧密结合所形成的工程学科。 7、通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为_范型____________。 8、螺旋模型将瀑布模型和快速原型模型结合起来,加入了两种模型均忽略了的__风险分析_________,弥补了这两种模型的不足。 9、____瀑布_____模型不能适应需求可变的软件开发,只有到开发结束时才能见到整个软件系统。 10、将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是__瀑布________模型。 11、喷泉模型是一种以用户需求为动力,以__对象________为驱动的模型。 12、一个软件项目的开发中,要采用一种生存周期模型,要按照某种_开发方法__________,使用相应的工具来进行。 13、软件工程的出现主要是由于_ ____软件危机__________的出现而产生的。 14、软件工程知识体系指南SWEBOK将软件工程知识体系划分为___10____个知识域。 15、Rational统一过程RUP是_用例_______驱动的、以体系结构为核心的、迭代的增量的过程,其迭代过程分为初始、细化、___构建________、移交4个阶段。 二、选择题(每小题2分,共30分) 1、作坊式小团体合作生产方式的时代属于( C )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 2、软件工程与计算机科学性质不同,软件工程着重于( C )。 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、其他工程学科的影响

软件工程选择题

第一章初认软件工程 1、下面得()说法就是正确得. A、由于软件就是产品,因此可以应用其她工程制品所用得技术进行生产 B、购买大多数计算机系统所需得硬件比软件更昂贵 C、大多数软件系统就是不容易修改得,除非它们在设计时考虑了变 D、一般来说,软件只有在其行为与开发者得目标一致得情况下才能成功2、造成大型软件开发困难得根本原因在于()。 A、开发人员缺乏足够得开发经验 B、对软件开发得资金投入不足 C、项目开发进度不合理 D、软件系统得复杂性 3、软件会逐渐退化而不会磨损,其原因在于()。 A、软件通常暴露在恶劣得环境下 B、软件错误在经常使用之后会逐渐增加 C、不断得变更使组件接口之间引起错误 D、软件备件很难订购 4、“软件工程”术语就是在()被首次提出。 A、Fred Brooks得《没有银弹:软件工程中得根本与次要问题》B、1968年NATO会议 C、IEEE得软件工程知识体系指南(SWEBOK) D、美国卡内基·梅隆大学得软件工程研究所 5、Ariane 5火箭发射失败得事例告诉我们()。 A、系统环境得变化可能影响软件采集数据得精度、范围与对系统得控制 B、软件后备系统可以通过复制生成 C、软件重用必须重新进行系统论证与系统测试 D、选项A与C E、选项A、B与C 6、软件工程得基本目标就是( )。 A、开发足够好得软件 B、消除软件固有得复杂性 C、努力发挥开发人员得创造性潜能 D、更好地维护正在使用得软件产品 7、软件工程方法就是()。 A、为了获得高质量软件而实施得一系列活动 B、为开发软件提供技术上得解决方法 C、为支持软件开发、维护、管理而研制得计算机程序系统 D、为了理解问题与确定需求而采取得一些技术与方法 8、下面得()就是正确得。 A、运行正确得软件就就是高质量得软件。 B、软件质量就是在开发过程中逐渐构建起来得。 C、软件产品质量越高越好,最理想得情况就是达到“零缺陷”。

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

填空题(本题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、软件测试的目标是(暴露程序中的错误),因而从心理学角度来看,由程序作者对自己编写的程序进行测试是不恰当的。设计测试方案是测试阶段的关键技术问题,测试方案一般包括(测试目的)、输入的测试数据

(完整版)《软件工程》作业及答案

t h e i 《软件工程》作业及答案 1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机典型表现:对软件开发成本和进度的估计常常很不准确。用户对“已完成的”软件系统不满意的现象经常发生。软件产品的质量往往靠不住。软件常常是不可维护的。软件通常没有适当的文档资料。软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产 率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。软件不同于硬件,它是计算机系 统中的逻辑部件而不是物理部件。管理和控制软件开发过程相当困难。 软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上 升。目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念, 在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件 工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能 在设计阶段清除它呢?”你怎么反驳他? 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? 答: 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。 软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具 有另一种文化背景的人创造产品。 消除软件危机的途径:为了消除软件危机,首先应该对计算机软件有一个正确的认识。必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。应该推广使用在实践中总结出来的开发软件的成功 的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在 计算机系统早期发展阶段形成的一些错误概念和做法。应该开发和使用更好的软件工具。为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。1-6 什么是软件过程?它与软件工程方法学有何关系? 答: 软件过程是为了获得高质量软件所需要完成的一系列任务的框架, 它规定了完成各项任务的工作步骤。软件工程方法学包含软件过程。1-7 什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增 量模型和螺旋模型的优缺点,说明每种模型的适用范围。 答: 生命周期模型简洁地描述软件过程,规定了把生命周期划分成哪些阶段及各个阶段执行顺序。 瀑布模型历史悠久、广为人知,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终开发出的软件产品可能并不是用户 真正需要的。 快速原型模型正是为了克服瀑布模型的缺点而提出来的。它通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用 户反馈意见的办法,获取用户的真实需求。 增量模型具有可在软件开发的早期阶段使投资获得明显回报和较易维护的优点,但是,要求软件具有开放的结构是使用这种模型时固有的困难。 风险驱动的螺旋模型适用于内部开发的大型软件项目,但是,只有在开发人员具有风 险分析和排除风险的经验及专门知识时,使用这种模型才会获得成功。 快速原型模型:适合小型软件; 螺旋模型:适合内部开发的大规模软件项目。2-1 在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面 研究目标系统的可行性? 答: 可行性研究的目的,就是用最小的代价在尽可能短的时间内确定 问题是否能够解决。至少应该从下述三方面研究每种解法的可行性:(1)技术可行性;(2)经济可行性;(3)操作可行性。 2-5 北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。请用2.5.2小节讲述的定义数据的方法,定义上述的电话号码。答: 电话号码=[校内电话|本市电话|外地电话] 非零数字字符=[1|2|3|4|5|6|7|8|9] 校内电话=非零数字字符+3{数字}3本市电话=0+非零数字字符+7{数字}7外地电话=0+区码+非零数字字符+7{数字}73-1 为什么要进行需求分析?通常对软件系统有哪些需求?答: 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。确定对系统的综合要求:1、功能需求;2、性能需求;3、可靠性和可用性需求;4、出错处理需求;5、接口需求;6、约束;7、逆向需求;8、将来可以提出的要求,分析系统的数据要求。3-2 怎样与用户有效地沟通以获取用户的真实需求? 答: 与用户沟通获取需求的方法:访谈;面向数据流自顶向下求精;简易的应用规格说明技术;快速建立软件原型 4-2 在什么情况下应该使用形式化说明技术?使用形式化说明技术时应 遵守哪些准则? 答: 在开发大型软件系统的过程中应该使用形式化说明技术。应用形式化方法的准则:(1)应该选用适当的表示方法。(2)应该形 式化,但不要过分形式化。 (3)应该估算成本。(4)应该有形式化方法顾问随时提供咨询。 (5)不应该放弃传统的开发方法。(6)应该建立详尽的文档。(7)不应该放弃质量标准。(8)不应该盲目依赖形式化方法。(9)应该测试、测试再测试。(10)应该重用 7-8 对一个包含10000条机器指令的程序进行一个月集成测试后,总 共改正了15个错误,此时MTTF=10h;经过两个月测试后,总共改正了 25个错误(第二个月改正了10个错误),MTTF=15h 。要求:(1) 根据上述数据确定MTTF 与测试时间之间的函数关系,画出 MTTF 与测试时间τ的关系曲线。在画这条曲线时做了什么假设?(2) 为做到MTTF=100h ,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中? 答: (1)所做假设:1)单位长度里的错误数近似为常数;2)失效率正比于软件中剩余的错误数,而平均无故障时间与剩余的错误数成反比. 3)发现的每一个错误都立即正确地改正了.(2)由Shooman 公式:MTTF=I T /(K*(E T -E C (T))) 其中,I T =104,MTTF 1=10,n 1=15,MTTF 2=15,n 2=25。得:MTTF 1=I T /(K*(E T -E C (T 1)))10=10000/(K*(E T -15))MTTF 2=I T /(K*(E T -E C (T 2)))15=10000/(K*(E T -25)) (1)解得程序中固有的错误总数E T =45,此外K=100/3。(2)设MTTF=100,有 100=10000/((100/3)*(45-x))

相关文档
最新文档