软件工程习题1-3

软件工程习题1-3
软件工程习题1-3

第1章绪论例题分析与解答

一、填空题

1.软件与物质产品有很大的区别,软件是一种_______产品。

2.软件工程是一门综合性交叉学科,计算机科学着重于理论和原理,软件工程着重于_______。

3.概要设计主要是把各项功能需求转换成系统的________。

4.最基本、应用广泛、以文档为驱动、适用于开发功能明确的软件项目生存期模型是_______。

5.简单实用、应用广泛、技术成熟的开发方法是________。

二、选择题

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章自测题

一、名称解释

1.软件

2.文档

3.软件工程

4.软件生存周期

5.软件工程过程

6.软件生存周期模型

7.软件开发方法

8.软件工具

二、填空题

1.构成一个完整计算机系统的两部分是硬件与________。

2.程序设计时代的生产方式是________。

3.软件工程涉及到几个学科,它是一门_____学科。

4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能________。

5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是

________模型。

6.喷泉模型是一种以用户需求为动力,以_______为驱动的模型。

7.结构化方法是一种面向数据流的开发方法。由结构化分析、_______、结构化程序设计构成。

8.软件工程研究的主要内容是软件开发管理和_______两个方面。

9.软件工具是支持软件开发人员的开发和维护活动而使用的________。

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.1/2

B.1/3

C.1/4

D.2/3

7.软件开发中大约要付出( )%的工作量进行测试和排错。

A.20

B.30

C.40

D.50

8.准确地解决“软件系统必须做什么”是( )阶段的任务。

A.可行性研究

B.需求分析

C.详细设计

D.编码

9.软件生存周期中最长的是( )阶段。

A.需求分析

B.概要设计

C.测试

D.维护

四、简答题

1.软件产品的特性是什么?

2.软件生产有几个阶段?各有何特征?

3.什么是软件危机?产生的原因是什么?

4.软件工程的性质、目标和内容是什么?

5.软件工程面临的问题是什么?

6.软件工程过程有哪些过程?

7.软件生存周期有哪几个阶段?

8.软件生存周期模型有哪些主要模型?

9.有哪些主要软件开发方法?

第一章仿真试题

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、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( )

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、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。螺旋模型将瀑布模型和演化模型相结合,并增加了(1),它建立在(2)的基础上,沿着螺线自内向外每旋转一圈,就得到(2)的一个新版本。

喷泉模型描述了(3)的开发模型,它体现了这种开发方法创建软件的过程所固有的(4)和(5)的特征。

(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、开发过程不分段

第2章例题分析与解答

一、填空题

1.可行性研究实质上是进行一次简化、压缩了的________。

2.可行性研究的三个方面是技术可行性、社会可行性和_________。

3.可行性研究的第一个具体步骤是__________。

4.若年利率为i,不计复利,P元在n年后的价值F是_________。

5.可行性研究中描述系统高层物理模型的工具是_______。

二、选择题

1.可行性研究的目的是决定( )。

A.开发项目

B.项目值得开发否

C.规划项目

D.维护项目

2.技术可行性要研究的问题之一是( )。

A.存在侵权否

B.成本效益问题

C.运行方式可行否

D.技术风险问题

3.纯收入是累计效益现在值与投资之( )。

A.和

B.差

C.积

D.商

4.项目开发计划这类文档是一种( )。

A.技术性文档

B.管理性文档

C.需求分析文档

D.设计文档

1、在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是( )

A、经济可行性

B、技术可行性

C、操作可行性

D、法律可行性

2、在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是( )

A、工作阶段间的等待时间

B、生产原型的复杂性

C、参与人员所需的工作站数

D、参与人员之间的通信困难

3、制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任

A、组织与管理

B、分析与估算

C、设计与测试

D、规划与调度

第3章自测题

一、名称解释

1.需求分析 2.当前系统

3.目标系统 4.SA 5.DFD

二、填空题

1.需求分析阶段产生的最重要的文档是_________。

2.为解决一个复杂问题,往往采取的策略是__________。

3.SA方法中使用半形式化的描述方式表达需求,采用的主要描述工具是

__________。

4.数据流图中有四种符号元素,它们是__________。

5.数据字典中有四类条目,分别是___________。

6.在IDEF0图中,表示系统功能的图形称为___________图形。

7.在画分层的DFD时,父图与子图的输入输出数据流要__________。

8.用于描述基本加工的小说明的三种描述工具是_______________。

9.IDEF0是建立系统_________模型的有效方法。

10.在IDEF0方法中,被标志为A—0的图称为系统的_________图。

三、选择题

1.分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的( )。

A.细节 B.输入与输出 C.软件的作者 D.绘制的时间2.需求规格说明书的内容还应包括对( )的描述。

A.主要功能 B.算法的详细过程 C.用户界面及运行环境 D.软件的性能3.需求规格说明书的作用不应包括( )。

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

4.SA方法用DFD描述( )

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

C.系统的基本加工 D.系统的功能

5.一个局部数据存储只有当它作为( )时,就把它画出来。

A.某些加工的数据接口 B.某个加工的特定输入

C.某个加工的特定输出 D.某些加工的数据接口或某个加工的特定输入/输出

6.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据

A.必须一致 B.数目必须相等 C.名字必须相同 D.数目必须不等7.需求分析阶段不适用于描述加工逻辑的工具是( )。

A.结构化语言 B.判定表 C.判定树 D.流程图8.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后( )。A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型

B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型

C.获得当前系统的物理模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型

D.获得当前系统的物理模型,建立当前系统的物理模型,建立目标系统的物理模型

9.SA方法的基本思想是( )

A.自底向上逐步抽象B.自底向上逐步分解

C.自顶向下逐步分解D.自顶向下逐步抽象

10.初步用户手册在( )阶段编写。

A.可行性研究B.需求分析C.软件概要设计D.软件详细设计

四、简答题

1.什么是需求分析?该阶段的基本任务是什么?

2.简述结构化分析方法的步骤。

3.数据流图与数据字典的作用是什么?画数据流图应注意什么?

4.简述SA方法的优缺点。

5.简述建立IDEF0图的步骤。

五、应用题

1.某电器集团公司下属一个成套厂(产品组装)和若干零件厂等单位,成套厂下设技术科、生产科、供

应科等基层单位。现要建立一个计算机辅助企业管理系统,其中:生产科的任务是:

(1)根据销售公司转来的内部合同(产品型号、规格、数量、交货日期)制定车间月生产计划;

(2)根据车间实际生产日报表、周报表调整月生产计划;

(3)以月生产计划为依据,制定产品设计(结构、工艺)及产品组装月计划;

(4)将产品的组装计划传达到技术科,将组装月计划分解为周计划,下达给车间。

技术科的任务是:

(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供

应科,并产生产品自制件物料清单;

(2)根据组装计划进行产品工艺设计(冲压、喷漆、焊接等),根据产品自制件物料清单产生工艺流程

图给零件厂。

供应科的任务是:

(1)根据技术科的外购需求计划和仓库的缺货通知单及月盘存表制定采购计划给采购员;

(2)对采购来的材料进行库存管理(登录、查询、修改、删除)。

请根据以上文字叙述画出企业管理系统的分层DFD图。

2.假设某航空公司规定,乘客可以免费托运行李的重量不超过30公斤。当行李的重量超出30公斤时,

对一般舱的国内乘客超重部分每公斤收费4元,对头等舱的国内乘客超重部分每公斤收费6元。对国外乘客

超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。试画出相应

判定表。

第三章

仿真题

1.在软件需求规范中,下述哪些要求可以归类为过程要求( )

A. 执行要求

B. 效率要求

C. 可靠性要求

D. 可移植性要求

2.在软件需求分析和设计过程中,其分析与设计对象可归结成两个主要的对象,即数据和程序,按一般实施的原则,对二者的处理应该( )

A. 先数据后程序

B. 与顺序无关

C. 先程序后数据

D. 可同时进行

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

A. 问题分解

B. 可靠性与安全性要求

C. 结构化程序设计

D. 确定逻辑模型

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

A. 数据流图(DFD)

B. 判定表

C. PAD图

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.事务分析和变换分析的设计步骤是基本相似的

A. a

B. b

C. c

D. b和c

11.决定大型程序模块组织的基本原则的两种交替设计策略为( )

A. 面向用户的原型化和面向程序员的原型化

B. 物理模型与逻辑模型

C. 数据字典和数据流

D. 数据分解和算法分解

12.在程序的描述与分析中,用以指明数据来源.数据流向和数据处理的辅助图形是( )

A. 瀑布模型图

B. 数据流图

C. 数据结构图

D. 业务流

13.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常采用的( )

a.自顶向下

b.自底向上

c.分层绘制

d.逐步求精

A. 全是

B. a,c和d

C. b,c和d

D. a和c

14.结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述是常用的说明工具,其中便于对加工出现的组合条件的说明工具是( )

a.结构化语言

b.判定树

c.判定表

A. b和c

B. a,b和c

C. a和c

D. a和b

15.加工是对数据流图中不能再分解的基本加工的精确说明,下述哪个是加工的最核心( )

A. 加工顺序

B. 加工逻辑

C. 执行频率

D. 激发条件

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

A. 数据流图

B. 数据字典

C. 结构化语言

D. 判定表与判定树

17.在结构化分析方法中,用状态--迁移图表达系统或对象的行为。在状态--迁移图中,由一个状态和一个事件所决定的下一个状态可能会有( )个

A. 1

B. 2

C. 多个

D. 不确定

18. 在软件开发过程中常用图作为描述工具。DFD就是面向(1)分析方法的描述工具。在一套分层DFD中,如果某一张图中有N个加工(process),则这张图允许有(2)张子图。在一张DFD图中,任意两个加工之间(3)。在画分层DFD时,应注意保持(4)之间的平衡。DFD中从系统的输入流到系统的输出流的一连串连续变换形成一种信息流,这种信息流可分为(5)两大类。

(1)A. 数据结构 B. 数据流

C. 对象

D. 构件(component)

(2)A. 0 B. 1

C. 1~N

D. 0~N

(3)A. 有且仅有一条数据流

B. 至少有一条数据流

C. 可以有0或多条名字互不相同的数据流

D. 可以有0或多条数据流,但允许其中有若干条名字相同的数据流

(4)A. 父图与子图 B. 同一父图的所有子图

C. 不同父图的所有子图

D. 同一子图的所有直接父图

(5)A. 控制流和变换流 B.变换流和事务流

C. 事务流和事件流

D.事件流和控制流

19.软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的内容( )

a.数据描述

b.功能描述

c.模块描述

d.性能描述

A. b

B. c和d

C. a,b和c

D. a,b和d

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

A. 对重要功能的描述

B. 对算法的详细过程描述

C. 对数据的要求

D. 软件的性能

21.软件需求说明书在软件开发中具有重要作用,但其作用不应该包括( )

A. 软件设计的依据

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

C. 软件验收的依据

D. 软件可行性分析依据

第三章

⒈什么是需求分析?需求分析阶段的基本任务是什么?

⒉什么是结构分析方法?该方法使用什么描述工具?

⒊结构化分析方法通过哪些步骤来实现?

⒋什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?

⒌画数据流图应注意什么事项?

⒍什么是数据字典?其作用是什么?共有哪些条目?

⒎描述加工逻辑有哪些工具?

⒏什么是IDEF方法?IDEF0方法有哪些特点?

⒐简述SA方法的优缺点。

⒑ 某银行的计算机储蓄系统功能是:将储户的存户填写的存款单或存款单输入系统,如果是存款,系统记录存款人姓名﹑住址﹑存款类型﹑存款日期﹑利率等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。请用DFD,IDEF0描绘该功能的需求,并建立相应数据字典。

⒒某图书管理系统有以下功能:

⑴借书:输入读者借书证。系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书证上建立档案。否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10,拒借,末达10本,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件。)

⑵还书:从借书文件中读出与读者有关的记录,查阅所借日期,如超期(3个月)作罚款处理。否则,修改库存目录与借书文件。

⑶查询:通过借书文件,库存目录文件查询读者情况﹑图书借阅及库存情况,打印统计表。

⒓某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工。20岁至40岁之间,中学文化程度,男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用结构化语言﹑判定表或判定树描述上述问题的加工逻辑。

模拟试卷二

一、名词解释(15分)

1.软件工程

2.结构化方法

3.软件可靠性

4.对象与类

5.变更控制

二、填空(20分)

1.增量模型适合于________不明确、设计方案有一定风险的软件项目。

2.结构化分析方法的分析策略是__________。

3.可行性研究实质上是要在较高层次上以较抽象的方式进行___________的过程。

4.衡量模块独立性的两个定性标准是_________。

5.Jackson方法是一种面向______________的设计方法。

6.软件集成测试的方法主要有两种,它们是__________。

7.维护阶段是软件生存周期中花费精力和费用_____________的阶段。

8.继承性是子类自动共享其父类的______________机制。

9.在面向对象方法中,人们常用状态图描述类中对象的___________。

10.规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为_________软件。

三、选择(20分)

1.需求分析中,开发人员要从用户那里解决的最重要的问题是( )。

A、要让软件做什么

B、要给该软件提供哪些信息

C、要求软件工作效率怎样

D、要让该软件具有何种结构

2.DFD中的每个加工至少有( )。

A、一个输入流或一个输出流

B、一个输入流和一个输出流

C、一个输入流

D、一个输出流

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

A、DFD图

B、SC图

C、PAD图

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.投入使用

四.简答题(20分)

1.为了提高设计质量,应从哪几方面优化软件结构?

2.集成测试阶段,渐增式与非渐增式测试有哪些区别?

3.说明瀑布模型的局限性。

4.说明面向对象的特征。

5.软件工程管理包括哪些内容?

五.综合应用(25分)

1.某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作

不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测

试用例。(7分)

2.某图书馆借阅系统有以下功能:

(1)借书:根据读者的借书证查询读者档案,若借书数目未超过规定数量,则办理借阅手续(修改库存记

录及读者档案),超过规定数量者不予借阅。对于第一次借阅者则直接办理借阅手续。

(2)还书:根据读者书中的条形码,修改库存记录及读者档案,若借阅时间超过规定期限则罚款。

请对以上问题,画出分层数据流图。(8分)

3.某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:

(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码,名称,订期,单价,份数等项目,订

户通过填写订单来订阅报刊。

(2)报社下属多个发行站,每个站负责收集登陆订单、打印收款凭证等事务。(3)报社负责分类并统计各个发行站送来的报刊订阅信息。

请就此需求建立对象模型。(10分)

《软件工程》期末考试及答案

《软件工程》 期末考试试卷 考生注意:1.本试卷共有五道大题,满分100分。 2.考试时间90分钟。 3.卷面整洁,字迹工整。 4.填写内容不得超出密封线。 一、名词解释题(每小题3分,共15分) 1.软件生存周期模型 2.数据字典DD

3.内聚性 4.JSP方法 5.多态性 二、填空题(每空2分,共20分) 1.在软件开发过程中要产生大量的信息,要进行大量的修改,能协调软件开发,并使混乱减到最低程度。

2.规定功能的软件,在一定程度上对自身错误的作用具有屏蔽能力,则称此软件具有的软件。 3.McCall提出的软件质量模型包括个软件质量特性。 4.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、、可使用性和效率。 5. 为了便于对照检查,测试用例应由输入数据和预期的两部分组成。 6. 程序设计语言的心理特性主要表现在、简洁性、传统性、局部性和顺序性。 7. 软件结构是以为基础而组成的一种控制层次结构。 8. 使用类创建对象的过程实际上是类的过程。 9. 结构化语言是介于自然语言和之间的一种半形式语言。 10.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P= 。 三、简答题(每小题5分,共20分)

2.以G.J.Myers的观点,简述对软件测试的目的。 3.就程序设计语言的工程特性而言,对程序编码有哪些要求? 4.模块的内聚性包括哪些类型?

四、理论应用题(每小题15分,共30分) PDL语言描述在数组A(1)~A(10)中找最大数的算法。 2.根据下列条件使用等价类划分法设计测试用例。某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065。

第1章_软件工程学概述练习题

第一章练习题 一、判断题 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(√) 2..软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开 发实际上就是编写程序代码。(X) 3.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是 生成类的模板。(X) 4.快速原型模型可以有效地适应用户需求的动态变化。(√) 5.类是关于对象性质的描述,由方法和数据组成。(√) 6.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(√) 二、名字解释: 1.软件:完成特定功能的程序+数据结构+文档。 2.软件危机:软件危机指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。 3.软件工程:指导计算机软件开发和维护的一门工程学。 4.软件生命周期:一个软件从定义、开发、使用和维护直至最终被废弃,要经历的漫长时 期。 5.软件过程:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任 务的工作步骤。 6.瀑布模型:是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。它包括可 行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试盒维护。它规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。 7.快速原型模型:是快速建立起来的可以再计算机上运行的程序,它所能完成的功能往往 是最终产品能完成的功能的一个子集。 8.增量模型:是在项目的开发工程中以一系列的增量方式开发系统。增量方式包括增量开 发和增量提交。增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件; 增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。 9.螺旋模型:是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模 型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。 对象。

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

第一章练习题 一、填空题 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、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很 难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

软件工程应用题

《软件工程》应用题 四、应用题(每小题10分) 1.某培训中心要研制一个计算机管理系统。它的业务是: 将学员发来的信件收集分类后,按几种不同的情况处理。 (1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。 (2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。 (3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。 要求: (1)对以上问题画出数据流程图。 (2)画出该培训管理的软件结构图。 解答: (1)数据流图

(2)软件体系结构 2.建立窗口系统的对象模型,问题陈述如下:“窗口分为对话窗、图形窗、滚动窗三种。对话窗中有若干对话项,由唯一的项名字来确定;对话项分为按钮、选择项和正文项三种,选择项中有若干选择项入口。图形窗中有若干形状元素,形状元素分为一维形状和二维形状。一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩形、多边形,其中折线与多边形由若干有序顶点组成。正文窗是滚动窗的一种,而图形滚动窗既是图形窗又是滚动窗。” 解答:

3.假设某航空公司规定,乘客可以免费托运行李的重量不超过30公斤。当行李的重量超出30公斤时,对一般舱的国内乘客超重部分每公斤收费4元,对头等舱的国内乘客超重部分每公斤收费6元。对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。试画出相应判定表。 注意:免费那个行去掉右面的√ 4.下图描述了某个子程序的处理流程,根据判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。 (1) a=5 b=1 (2) a=5 b=-1 (3) a=5 b=1 (4) a=5 b=1 a=-5 b=-1 a=0 b=-1 (5) a=5 b=-1 (6) a=5 b=1

软件工程期末考试

━ ━ ━ ━ ━ ━ ━ ━ ━ 装 ━ ━ ━ ━ ━ ━ ━ 订 ━ ━ ━ ━ ━ ━ ━ 线 ━ ━ ━ ━ ━ ━ ━ ━ ━ 防灾科技学院 2011 ~ 2012 学年 第二学期期末考试 __软件工程_试卷 (A) 使用班级__0950411/0950412__ 答题时间__120分钟 _ 题号 一 二 三 四 五 总分 阅卷教师 得分 孙旭光 一、 选择题(本大题共20小题,每题2分,共40分。) 请把选择题的答案填写于下列的表格中: 题号 1 2 3 4 5 6 7 8 9 10 答案 D B C A B C B C A C 判卷 题号 11 12 13 14 15 16 17 18 19 20 答案 B A A D B A A C B A 判卷 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、某大企业最近决定采用高性能微机开发人事管理系统,该系统可供操作员和程序员使用,也可供人事处负责人和主管人事的副厂长等查询人事信息用。人事管理系统通过录入人事数据和修改、删除等操作,产生和更新各类人事文件,通过搜索这些文件进行各类人事信息的查询。考虑到人事处有大量的查询信息要求、频繁的人事信息修改和文件存档、查阅等特点,系统设计师决定认真设计人机交互界面,首先设计好在终端上的交互式会话的方式。系统工程师张某通过调查收集到如下4条意见,请问下面4条意见中哪条是不可接受的:( ) A. 某程序员认为:系统在屏幕格式、编码等方面应具有一致性和清晰性,否则会影响操作人员的工作效率。 B. 某操作人员认为:在交互式会话过程中,操作人员可能会忘记或记错某些事情,系统应当提供HELP 功能。 C. 某程序员认为:终端会话也应当符合程序员编制程序时的习惯,这样可以更高效地维护人事管理系统。 D. 教育科干部乙认为:尽管操作人员的指法已经强化训练但在交互式会话时应尽可能缩短和减少操作员输入的信息,以降低出错概率。 阅卷教师 孙旭光 得 分 试卷序号: 班级: 0950411 学号: 095041103 姓名: 谢英杰

软件工程模拟题1带答案

软件工程期末试卷A 试题一、结构化分析与设计(共20分,每小题10分) 需求陈述: 高考录取统分子系统有如下功能: (1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件; (2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。 要求:用结构化方法学对高考录取统分子系统进行分析与设计,分别完成以下工作: (1)给出高考录取统分子系统的功能模型(用数据流图表示)。(10分) (2)给出高考录取统分子系统的软件体系结构(用H图或结构图表示)。(10分) 答案网上搜的答案 let计创 结构图即软件的模块

软件结构答案 试题二、F面是程序流程图,试分别用表示。(共20分) 答案: 我做的: do {

if( ! P) { g ; } while(q); 我自己做的,可以不太对 始 开 q 为真

执行 do nothing Else if(g 为假) return } Else if(p 为假) { Return }while(g 为真) 试题三、(共20分,每题10分) float calculateTotal( int N) { float count = 0.0; int i=1; while ( i<=N ) Do lf(p 为真) lf(g 为真) 阅读下面的程序段,回答后面的问题: //计算满足条件的N 个数的和

{ if( i % 4 == 0) cou nt += i; i++; } retur n count; } (1)画出上述程序的有向流图,并计算该函数的环形复杂度。 (每问5分,共10分) (2)请用基本路径的 测试技术完成该函数的 测试。要求给出 基本路径和测试用例。(每问5 分,共 10分) 答:这道题课本上没有知识点,从网上搜出来的,知识点见“测试基础” 对应的测试用例 N=1 对应的测试用例N=4 试用例N=0 对应的测试用例 N=1 (?? ?不太确定) 对应的测试用例 N=4 对应的测试用例 N=4 PPT 的P30页 白盒测试代码分支图的环形复杂度计算: 环形复杂度以图论为基础, 为我们提供了非常有用的软件度量。 算环形复杂度: (1)控制流图中环形区域的数量对应于环形复杂度。 可用如下三种方法之一来计 (2)给定控制流图 N 是控制 G 的环形复杂度 一V(G),定义为V(G) = E-N+2其中,E 是控制流图中边的数量, 流图中 的节点数量。 (3)给定控制流图 其中,P 是控制流图G 中判定节点的数量。 以上输出路径的节点。 环形复杂度V(G)=区域数=边-结点+2= 4 G 的环形复杂度 一V(G),也可定义为 V(G) = P+1 何为判定节点:即存在一个输入,两个或两个 判定结点+1 环形复杂度3 基本路径3条 路径 1 : 1-2-3-4-6-3-7 路径 2 : 1-2-3-4-5-6-3-7 路径3 : 1-2-3-7 对 路径 1 : 1-2-3-4-6-7 路径 2 : 1-2-3-4-5-6-7 路径 3 : 1-2-3-4-6-3-7

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

软件工程习题集 第一章概述 一、选择题 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 )

《软件工程》期末复习题1(精)

考试时间: 16周周一5,6节 考试地点: 二教419 406 408 考试题型: 选择题:20分 简答题:30分 应用题:50分 各章内容及题型总结: 第1,2章本章的主要题型是选择题和简答题。 1. 软件危机的主要表现是什么?答:“已完成”的软件不满足用户的需求;开发进度不能保障;软件开发成本难以准确估算;软件产品的质量没有保证。 2. 软件工程的定义?答:软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理方法和先进软件开发技术结合起来,运用到软件开发和维护过程中,来解决软件危机。 IEEE的定义:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。 3. 软件工程研究的主要内容是什么?答:软件开发技术和软件开发管理两个方面。软件开发技术方面主要研究软件开发方法、软件开发过程、软件开发工具和环境。软件开发管理方面主要研究软件工程管理学、软件工程经济学、软件工程心理学。

4. 软件工程的7条基本原理是什么?答:①用分阶段的生命周期计划严格管理②坚持进行阶段评审③实行严格的产品控制④采用现代程序设计技术⑤结果应能清楚地审查⑥开发小组的人员应该少而精⑦承认不断改进软件工程实践的必要性。 5. 什么是软件生命周期?答:指一个软件从提出开发要求开始到该软件报废为止的整个时期。通常将软件的生命周期划分为可行性研究、需求分析、设计、编码、测试、集成、维护阶段。 6. 软件过程的定义?答:软件开发过程、活动和任务的结构框架。它能够清晰、直观地表达软件开发全过程,明确规定要完成的主要活动和任务。 7. 你能举出几个典型的软件过程模型吗?答:主要有瀑布模型、演化模型、喷泉模型、螺旋模型、智能模型。模型的选择是基于软件的特点和应用领域。 8. 目前,主流的软件开发方法有哪些?答:结构化方法和面向对象方法。 9. 软件工程师职业道德规范的8组关键词是什么?1999年由ACM/IEEE-CS软件工程师道德规范和职业实践(SEEPP联合工作组制订了《软件工程师职业道德规范》,规范含有8组由关键词命名的准则:公众、客户和雇主、产品、判断、管理、专业、同行、自身。 10. 职业化软件工程师要注意的十大问题是什么?答:①高质量地完成任务②遵守行业标准,不能肆意按照自己的想象来发挥③积极帮助他人④版权意识敏感⑤严格遵守计划⑥公私分明⑦注意知识更新⑧善于沟通⑨遵守职业规则⑩诚实和正直。 第3章本章的题型主要是选择题。 1. 可行性研究的目的是什么?答:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2. 可行性研究的四大要素是:经济上可行,技术可行,法律允许、社会环境可行。

软件工程习题200题

软件工程习题200题 1、什么是软件危机?产生软件危机的原因?怎样消除? 2、什么是软件工程?包括哪些内容? 3、软件生存周期包含哪些内容? 4、软件开发模型有几种?各有什么特点? 5、软件技术审查和管理复审的作用是什么? 6、软件开发与写程序有什么不同? 7、在软件开发的早期阶段,为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性? 8、一个软件开发系统的可行性研究报告应如何编写? 9、数据流图有哪几种基本符号? 10、画数据流图原则是什么? 11、数据流图在软件分析中的作用是什么? 12、数据字典的作用? 13、什么是数据字典?有几个定义?各自特点是什么? 14、有几种效益的分析方法? 15、需求分析的任务是什么? 16、需求分析通常采用哪些分析技术? 17、什么是结构化分析?他的结构化体现在哪里? 18、简述面向对象分析技术的主要步骤? 19、原型开发技术的目的,特点是什么? 20、简述总体设计的一般过程? 21、什么叫软件结构?什么叫软件工程?二者之间关系? 22、解释深度、宽度、扇出、扇入对软件的影响。 23、什么叫模块化?M代表的含义是什么? 24、模块化的三个重要特征是什么?阐明各自的作用。 25、举例说明各种耦合情况和各种内聚情况。 26、简述设计准则的内容。 27、简述层次方框图与软件结构图的异同点。

28、事物型软件结构图有什么特点?原因是什么? 29、详细设计的任务是什么? 30、什么是结构化程序设计?用N-S图表示三种基本结构。 31、简述Jackson程序设计方法的主要内容。 32、简述Wariner程序设计方法的主要内容。 33、McaHei(Muahe,笔记有些模糊,未校正)方法的核心是什么?有何用途? 34、简述程序设计语言两次本质性变化的内容及意义。 35、C语言属于第几代语言?第四代语言特点是什么? 36、简述高级语言的应用特点和内在特点。 37、试分析程序设计语言特点及软件可靠性、可理解性、可修改性、可测试性及成本的关系。 38、选择一种语言的实用标准是什么? 39、简述开发环境、计算机体系结构、软件设计方法、软件开发过程与程序设计语言之间的促进和制约作用。 40、程序的编码风格主要体现在哪几个方面? 41、软件测试的基本任务是什么?测试与调试区别是什么? 42、软件测试的目标是什么? 43、软件测试分几个步骤进行?每个步骤解决什么问题? 44、软件测试有几种方法?每种方法的特点是什么? 45、软件出错有几种类型?验证其程序正确性有几种方法? 46、什么是单元测试和集成测试?他们各有什么特点? 47、简述渐增式测试方法与非渐增式测试方法的优劣。 48、简述存根程序驱动程序的作用。 49、编最大、最小公倍数程序,并为它设计测试用例。 50、测试的具体任务是什么?为什么说调试是软件开发过程中最艰巨的任务? 51、举出几种常用的测试工具,说明他们的用法。 52、MTTF的含义是什么?如何计算Et值? 53、假设有一个由1000行Pascal语句构成的程序(编译后约有5000条机器指令),请估算对它进行测试期间将发现多少错误。为什么? 54、什么叫软件维护?软件维护的基本内容是什么? 55、软件维护分几类?每类的基本内容是什么?占软件维护总工作量的百分比是多少?

软件工程测试试卷应用题

软件工程考试试卷 ——应用题题库 四、应用题(每小题10分) 1.某培训中心要研制一个计算机管理系统。它的业务是: 将学员发来的信件收集分类后,按几种不同的情况处理。 (1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。 (2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。 (3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。 要求: (1)对以上问题画出数据流程图。 (2)画出该培训管理的软件结构图。 解答: (1)数据流图 (2)软件体系结构

2.建立窗口系统的对象模型,问题陈述如下:“窗口分为对话窗、图形窗、滚动窗三种。对话窗中有若干对话项,由唯一的项名字来确定;对话项分为按钮、选择项和正文项三种,选择项中有若干选择项入口。图形窗中有若干形状元素,形状元素分为一维形状和二维形状。一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩形、多边形,其中折线与多边形由若干有序顶点组成。正文窗是滚动窗的一种,而图形滚动窗既是图形窗又是滚动窗。” 解答: 3.假设某航空公司规定,乘客可以免费托运行李的重量不超过30公斤。当行李的重量超出30公斤时,对一般舱的国内乘客超重部分每公斤收费4元,对头等舱的国内乘客超重部分每公斤收费6元。对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤 收费比正常乘客少一半。试画出相应判定表。

注意:免费那个行去掉右面的√ 4.下图描述了某个子程序的处理流程,根据判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。 (1) a=5 b=1 (2) a=5 b=-1 (3) a=5 b=1 (4) a=5 b=1 a=-5 b=-1 a=0 b=-1 (5) a=5 b=-1 (6) a=5 b=1 a=-5 b=1 a=0 b=0 a=-5 b=-1 a=-5 b=-1 (7) a=5 b=1 (8) a=5 b=1 a=0 b=1 a=0 b=-1 a=0 b=-1 a=-5 b=1 a=-5 b=1 a=-5 b=-1 流程图如下:

《软件工程》期末考试及答案

的年 值

1.简述容错技术的四种主要手段, 并解释。 2. 3. 就程序设计语言的工程特性而 言,对程序编码有哪些要求? 4. 模块的内聚性包括哪些类型? 四、理论应用题(每小题15分,共30分) 1. 请使用PAD图和PDL语言描述在 数组A(1)~A(10)中找最大数的 算法。 2.根据下列条件使用等价类划分法 设计测试用例。某一8位微机,其八 进制常数定义为:以零开头的数是八 进制整数,其值的范围是-177~177, 如05,0127,-065。 五、实践应用题(每小题15分,共15分) 1.某电器集团公司下属的厂包括技 术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中: 生产科的任务是: (1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。 (2)根据车间实际生产日报表、周报表调整月生产计划 (3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。 (4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间 技术科的任务是: (1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。 (2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上

系统中生产科和技术科处理的软件结构图。 软件工程期末答案一、名词解释题(每题3分,共15分)。 1.是描述软件开发过程中各种活动如何执行的模型。 2.数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。3.内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。 4.JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。 5.指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。) 二、填空题(每空2分,共20分)。 1.软件配置管理 2.容错功能 3.11 4.可移植性 5.输出结果 6.歧义性 7.模块 8.实例化 9.形式语言 10.F/(1+(n*i)) 三、简答题(每小题5分,共20分)。1.结构冗余:包括静态冗余、动态冗余和混合冗余。 信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。 时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。

软件工程第一,二章习题doc

第一、二章习题及答案 (一)名词解释 1. 软件 2. 文档 3. 软件危机 4. 软件工程 5. 软件工程过程 6. 软件生存周期 7. 软件生存周期模型(软件开发模型) (二)填空题 1. 在信息处理和计算机领域内,一般认为软件是、和。 2. 国家标准“计算机软件开发规范”中,把软件生存周期划分为8个阶段,即、、、、、、和。 3. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内分为、、和四个步骤。 4. 软件工程过程包含的7个过程是、、、、、 和。 5. 结构化方法包括结构化方法、结构化方法和结构化程序设计方法。它是一种面向的开发方法,其实质就是分解。 (三)单项选择题 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.计算机的发展 11、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工

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

一、选择题 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.输入、输出、外部实体和加工

软件工程应用题汇总

(15分)某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用结构化语言、判定表或判定树描述上述问题。 1.(1)结构化语言 IF 年龄<20 THEN IF 文化程度=初中 THEN 脱产学习 ELSE 工作为电工 ENDIF ELSE IF 年龄≤40 THEN IF (文化程度=大学) THEN 工作为技术员 ELSE IF 性别=男性 THEN 工作为钳工 ELSE 工作为钳工 ENDIF ENDIF ELSE IF (文化程度=大学)

THEN 工作为技术员 ELSE 工作为材料员 ENDIF ENDIF ENDIF 判定树如下: 年龄≤20岁初中脱产学习 高中电工 高中或初中男性钳工 确定职工工作__ 20岁<年龄≤40岁女性车工 大学技术员 年龄>40岁高中或初中材料员 大学技术员

语句覆盖A=3 B=0

东 北 大 学 秦 皇 岛 分 校 课程名称: 软件工程 试卷: (B) 考试形式:闭卷 授课专业:信息与计算科学、数学与应用数学考试日期:2013年**月**日 试卷:共 5 页 一、 某食物订货 系统大致工作过程如下: 首先,食物订货系统需要接收顾客的食物订单,并在接收后向顾客呈送一个收条,然后将订单转交系统内部的功能处理.其次,食物订货系统要能够将已经接收的食物订单及时转交给厨房.最后,食物订货系统要能够基于一段时间的食物积累,为管理者提供管理报表,反映组织的生产状况.请用数据流图描述该系统.(10分) 解:该系统的数据流图如下图所示: 装 订 线

软件工程试题库集及答案

综合练习一答案 选择题: 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、常见的软件概要设计方法有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. 建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处理数据的来源和一个(输出)数据流来反映加工的结果

软件工程习题1传统方法

一.选择和判断 软件工程概述 1、软件的主要特性是() A、无形性 B、高成本 C、包括程序和文档 D、可独立构成计算机系统 2、软件工程三要素是() A、技术、方法和工具 B、方法、工具和过程 C、方法、对象和类 D、过程、模型、方法 3、包含风险分析的软件工程模型是() A、螺旋模型 B、瀑布模型 C、增量模型 D、喷泉模型 4、软件的生命周期的阶段包括() A、软件需求 B、软件设计 C、风险分析 D、软件实现 5、下列属于面向对象开发方法的是() A、Booch B、UML C、Coad D、OMT 6、软件危机的主要表现是() A、软件成本太高 B、软件产品的质量低劣 C、软件开发人员明显不足 D、软件生产率低下 7、软件开发方法的主要工作模型有() A、螺旋模型 B、喷泉模型 C、瀑布模型 D、专家模型 8、软件工程的目标有() A、易于维护 B、低的开发成本 C、高性能 D、短的开发期 9、软件工程学的目的和意义是() A、应用科学的方法和工程化的规范管理来指导软件开发。 B、克服软件危机。 C、作好软件开发的培训工作。 D、以较低的成本开发出高质量的软件。 10、软件就是程序,编写软件就是编写程序。() 11、瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。() 12、结构化方法的工作模型是使用螺旋模型进行开发的。() 13、结构化方法和JSP方法都不适合于大型软件的开发。()

14、原型化开发方法包括生成原型和实现原型两个步骤。() 15、面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。 () 16、软件危机的主要表现是软件的需求量迅速增加,软件价格上升。() 17、软件工具的作用是为了延长软件产品的寿命。() 18、软件工程过程应该以软件设计为中心,关键是编写程序。() 19、RCP法与RSP法的主要区别是前者采用循环渐进的开发方式,原型将成为最终的产品, 而后者将被废弃。() 需求分析 1、需求分析的主要目的是() A、系统开发的具体方案 B、进一步确定用户的需求 C、解决系统是“做什么的问题” D、解决系统是“如何做的问题” 2、需求分析的主要方法有() A、形式化分析方法 B、PAD图描述 C、结构化分析(SA)方法 D、OOA法 3、面向对象的分析方法主要是建立三类模型,即()。 A、系统模型、ER模型、应用模型B、对象模型、动态模型、应用模型 C、ER模型、对象模型、功能模型D、对象模型、动态模型、功能模型 4、SA法的主要描述手段有() A、系统流程图和模块图 B、DFD图、数据词典、加工说明 C、软件结构图、加工说明 D、功能结构图、加工说明 5、画分层DFD图的基本原则有()。 A、数据守恒原则 B、分解的可靠性原则 C、子、父图平衡的原则 D、数据流封闭的原则 6、在E-R模型中,包含以下基本成分()。 A、数据、对象、实体 B、控制、联系、对象 C、实体、联系、属性 D、实体、属性、联系 7、用例驱动的需求方法的主要优点是() A、作为需求分析阶段用户与开发者之间交流信息的工具。 B、对系统的数据结构进行描述。

相关文档
最新文档