文档库 最新最全的文档下载
当前位置:文档库 › 《软件工程》11套考试复习练习试题、作业题[含答案解析]

《软件工程》11套考试复习练习试题、作业题[含答案解析]

作业1:

1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。其中,( A )是按事先设计的功能和性能要求执行的指令序列。( B )是使程序能够正确操纵信息的数据结构。( C )是与程序开发、维护和使用有关的图文材料。供选择的答案:

A~C. ①软件②程序③代码④硬件

⑤文档⑥外设⑦数据⑧图表

2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。

供选择的答案:

A.①程序开发环境②操作系统的资源管理功能

③程序人员数量④计算机的并行处理能力

B.①需求分析②需求调查③可行性分析④问题定义

C、D.①方案设计②代码设计③概要设计④数据设计

⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计

3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。

有人将软件的发展过程划分为4个阶段:

第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。

第二阶段(1950年代末~1960年代末)称为“基本软件期”。出现了( A ),并逐渐普及。随着( B )的发展,编译技术也有较大的发展。

第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。

第四阶段(1970年代中期~现在)称为“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。

供选择的答案:

A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言

⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计

E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计

⑤需求定义⑥图象处理

4. 软件工程过程有哪几个基本过程活动?试说明之。

5. 试说明“软件生存周期”的概念。

6. 试论述瀑布模型软件开发方法的基本过程。

7. 软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。

8. 软件工程学的基本原则有哪些?试说明之。

9. 有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。对否?请解释你的回答。

上机题

1. 假设需要制造一个带有四个按钮和两个灯泡的盒子并具有以下功能:

⑴有四个按钮输入,分别称为B1,B2,B3和B4;

⑵有两个灯泡作为输出,分别称为L1和L2;

⑶ B1是打开电源的按钮;

⑷ B4是关闭电源的按钮;

⑸ B2和B3 是操作按钮;

⑹在B1被按下后及B4被按下前,系统应称为电源打开状态;

⑺在B4被按下后及B1被按下前,系统应称为电源关闭状态;

⑻在电源关闭状态下,B2和B3按钮不起作用;

⑼在电源关闭状态下,灯应不亮;

⑽从最近一次电源打开状态算起,如果B2被按下的次数比B3被按下的次数多,L1亮,否则L2亮。

⑾任何时候都不能有一个以上的灯泡亮;

⑿如果其中的一个灯泡出现故障,另一个灯泡应以2秒钟的间隔闪烁,而不管B2和B3的操作过程。当B4按下时,闪烁停止;当B1被按下时,闪烁重新开始。当故障被排除后闪烁停止,系统恢复正常状态。

作业2:

1. 雇员类含有计算报酬的行为,利用面向对象的(),可以使得其子类专职雇员类和兼职

雇员类计算报酬的行为有相同名称,但有不同的计算方法。

A)多态性 B)继承性 C)封装性 D)复用性

2. 下面关于UML叙述正确的是()。

A)UML是一种建模语言,使用者不能对其扩展

B)UML仅适用于系统的分析和设计阶段

C)UML是独立于软件开发过程的

D)UML仅是一组图形的集合

3. 某公司欲开发一个在线交易系统,为了能够精确表达用户于系统的负责交互过程,应采

用UML的()进行交互过程建模。

A)序列图 B)用例图 C)活动图 D)对象图

4.如果对银行ATM的常用功能进行建模,包括取款、存款、转账、查询等,可以用()来表示该系统的功能需求。

A)序列图 B)用例图 C)活动图 D)对象图5.你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。

6. 可行性研究主要研究哪些问题?试说明之。

上机题

1.一家公司有许多部门,部门名唯一地确定一个部门;每个部门由一名经理管理,也有的经理并不管理任何一个部门;每个部门生产多种产品,每种产品仅由一个部门生产。该公司有许多名员工为之工作,员工又进一步划分为经理和工人两类。每名工人可参加多个工程项目,每个项目需要多名工人;每位经理可以主持多个项目,每个项目仅有一人主持。使用对象模型描述类对象所具有的属性,以及公司类对象提供的服务。

2.建立一个图书馆系统的用例视图

作业3:

1.软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及( )。

供选择的答案:

A. 总结

B. 阶段性报告

C. 需求分析评审

D. 以上答案都不正确

2.各种分析方法都有它们共同适用的( )。

供选择的答案:

A.说明方法B.描述方式 C. 准则D.基本原则

3.软件需求分析的任务不应包括( A )。进行需求分析可使用多种工具,但( B )是不适用的。在需求分析中,分析员要从用户那里解决的最重要的问题是( C )。需求规格说明书的内容不应当包括( D )。该文档在软件开发中具有重要的作用,但其作用不应当包括( E )。

供选择的答案:

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

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

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

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

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

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

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

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

4.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。它从用户界面的开发入手,首先形成( B ),用户( C ),并就( D )提出意见,它是一种( E )型的设计过程。

供选择的答案:

A. ①需求不确定性高的②需求确定的③管理信息④决策支持

B. ①用户界面使用手册②用户界面需求分析说明书

③系统界面原型④完善的用户界面

C. ①改进用户界面的设计②阅读文档资料

③模拟用户界面的运行④运行用户界面原型

D.①同意什么和不同意什么②使用和不使用哪一种编程语言

③程序的结构④执行速度是否满足要求

E.①自外向内②自顶向下③自内向外④自底向上

5.在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型。试问:什么是当前系统?当前系统的物理模型与逻辑模型有什么差别?

6.软件需求分析是软件工程过程中交换意见最频繁的步骤。为什么交换意见的途径会经常阻塞?

上机题

1.建立一个图书馆系统的活动图

2.建立一个图书馆系统的顺序图

作业4:

1. 需求分析()。

A. 要回答“软件必须做什么?

B. 可概括为:“理解,分解,表达”6个字

C. 要求编写需求规格说明书

D. 以上都对

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

A. 数据流图

B. 判定表

C. PAD图

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. 软件需求分析阶段的工作,可以分成以下4个方面:对问题的识别、分析与综合、制定规格说明以及()。

A. 总结

B. 实践性报告

C. 需求分析评审

D. 以上答案都不正确

9. 以下说法错误的是()。

A. 结构化语言外层中的顺序结构是一组祈使语句、选择语句、重复语句的顺序排列

B. 结构化语言外层中的选择结构使用IF-THEN-ELSE-ENDIF等关键字

C. 结构化语言的内层可以采用祈使语句的自然语台短语

D. 结构化语言外层中的重复结构使用CASE-OF-ENDCASE等关键字

10. 结构化分析方法使用的描述工具()定义了数据流图中每一个图形元素。

A. 数据流图

B. 数据字典

C. 判定表

D. 判定树

上机题

1.我们需研制一个“教育基金会的捐助资金管理系统”的例子来说明数据流图的具体建模方法。要求如下:

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

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

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

为了搞清系统中的各种关系,用数据流图的方法进行分析和建模。

2.假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件应该列出下述数据:零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。

作业5:

1.从下列有关系统结构图的叙述中选出正确的叙述。

(1) 系统结构图中反映的是程序中数据流的情况。

(2) 系统结构图是精确表达程序结构的图形表示法。因此,有时也可将系统结构当作程序流程图使用。

(3) 一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。

(4) 在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。这时,使用斜的线段和水平、垂直的线段具有相同的含义。

2.软件的开发工作经过需求分析阶段,进入( A )以后,就开始着手解决“怎么做”的问题。常用的软件设计方法有( B )、( C )、( D )和( E )等方法。

供选择的答案:

A ~ B.①程序设计②设计阶段③总体设计④定义阶段

⑤ SD方法⑥ SP方法

C. ① Jackson方法②瀑布法③快速原型法④回溯法

D ~ E. ① LCP(Wanier)方法②递归法③ Parnas方法

④自下而上修正⑤逐步求精法⑥检测校正法

3.软件设计中划分模块的一个准则是(A)。两个模块之间的耦合方式中,(B)的耦合度最高,(C)的耦合度最低。一个模块内部的聚敛种类中(D)内聚的内聚度最高,(E)的内聚度最低。

可供选择的答案:

A:①低内聚低耦合②低内聚高耦合③高内聚低耦合④高内聚高耦合

B:①数据②非直接③控制④内容

C:①数据②非直接③控制④内容

D:①偶然②逻辑③功能④过程

E:①偶然②逻辑③功能④过程

4.面向数据流的设计方法把()映射成软件结构。

A. 数据流

B. 系统结构

C. 控制结构

D. 信息流

5. 在进行软件结构设计时应该遵循的最主要的原理是()。

A. 抽象

B. 模块化

C. 模块独立

D. 信息隐藏

6. 设计软件结构一般不确定()。

A. 模块的功能

B. 模块的接口

C. 模块内的局部数据

D. 模块间的调用关系

7. 变换流的DFD由三部分组成,不属于其中一部分的是()。

A. 事务中心

B. 变换中心

C. 输入流

D. 输出流

8. 详细设计规格说明通常是使用()手段。

A. IPO图与层次图

B. HIPO

C. IPO或PDL

D. HIPO或PDL

9. Jackson方法主要适用于规模适中的()系统的开发。

A. 数据处理

B. 文字处理

C. 实时控制

D. 科学计算

10. 软件详细设计主要采用的方法是()。

A. 结构程序设计

B. 模型设计

C. 结构化设计

D. 流程图设计11.如何理解模块独立性?用什么指标来衡量模块独立性?

12.模块独立性与信息隐蔽(反映模块化有效程度的属性)有何关系?

上机题

1.某培训中心要研制一个计算机管理系统。它的业务是:

将学员发来的信件收集分类后,按几种不同的情况处理。

⑴如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交予财务部门,财务人员开出发票给学生。

⑵如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和账目文件下做相应的修改,并给学生注销单。

⑶如果是付款的,则由财务人员在账目文件上登记,也给学生一张收费收据。

要求:试根据要求画出该系统的数据流程图,并将其转换为软件结构图。

2.现为某银行开发个计算机储蓄管理系统。要求系统能够完成:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,同时要求储户输入口令,并打印出存款单给储户;如果是取款,则系统首先要求储户输入口令,储户身份确认后,系统计算结算清单给储户,结算清单中的信息包括本息金额和利息金额。

试根据要求画出该系统的数据流程图,并将其转换为软件结构图。

作业6:

1. 软件设计一般分为总体设计和详细设计,它们之间的关系是()。

A. 全局和局部

B. 抽象和具体

C. 总体和层次

D. 功能和结构

2. 软件结构使用的图形工具,一般采用()图。

A. DFD

B. PAD

C. SC

D. E-R

3. 下列中属于软件设计的基本原理的是()。

A. 数据流分析设计

B. 变换流分析设计

C. 事务流分析设计

D. 模块化

4. 在软件结构的后处理中,下列说法错误的是()。

A. 为模块写的处理说明及接口说明可采用IPO图

B. 数据结构的描述可用Warnier图或Jackson图

C. 给出设计约束或限制。如数据的边界值、数据类型、格式、内存容量及时间的限制

D. 在概要设计评审中,应着重评审软件需求是否得到满足及软件结构的质量等

E. 设计的优化工作主要放在软件结构设计的后处理阶段

5. 在分层数据流图映射成软件结构的设计中,下列说法错误的是()。

A. 分层的数据流图映射成软件结构图也应该是分层的

B. 软件结构图的物理输入与输出部分放在主图中较为合适

C. 分层DFD图的映射方法:主图是变换型,子图是事务型;或主图是事务型,子图是

变换型

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. 程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的()和耦合性。

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. 兼容性

18. 面向对象开发方法子概念和表示上的致性保证了分析和设计的()过渡。

A. 困难

B. 不容易

C. 平滑

D. 顺序

19. 动态模型的描述工具是()。

A. 对象图

B. 结构图

C. 状态图

D. 设计图

20. 表示对象的相互行为的模型是()模型。

A. 对象

B. 动态

C. 功能

D. 静态

21. PAD图的特点是什么?

22. 用PDL表示的程序结构一般有哪几种?

上机题

1.某图书出版公司希望每月定期向固定客户邮寄最近一个月的图书分类目录。客户可在其收到的目录上圈定自己要买的书。出版公司按照客户的反馈信息邮寄图书。要求为出版公司设计软件,以实现以下功能:

⑴自动生成图书分类目录。

⑵自动处理客户反馈信息。

试用面向数据流的方法给出系统的数据流图,并设计出软件结构图。

2.图书馆的预定图书子系统有如下功能:

⑴由供书部门提供书目给订购组。

⑵订购组从各单位取得要订的书目。

⑶根据供书目录和订书书目产生订书文档留底。

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

⑸将未订书目通知给订书者。

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

试根据要求画出该问题的数据流程图,并把其转换为软件结构图。

3. 输入卡片分析程序

一叠输入卡片,按内容可分为K1、K2、K3三类,卡片叠排列规则是以K1开始,K2卡终止。启始卡之前属前置部分,不许有K1卡片,启始卡与终止卡之间为分批部分,不许有K2卡。

试用Jackson方法编写一程序,要求能依次完成下列工作:——统计起始卡以前的卡片张数,存入A;

——打印起始卡的内容;

——统计起始卡以后出现的K1卡和K3卡总批数,存入B;——统计起始卡以后出现的K1卡的张数,存入C;终了卡

——统计起始卡以后出现的K3卡的批数,存入D ;

——打印终了卡的内容;

——打印A ,B ,C ,D 4个统计值。

作业7:

1. 下面是两个程序流程图,试分别用N-S 图和PAD 表示之,并计算它们的McCabe 复杂性度量。

2. 从下列关于模块化程序设计的叙述中选出5条正确的叙述。

① 程序设计比较方便,但比较难以维护。

② 便于由多个人分工编制大型程序。

③ 软件的功能便于扩充。

④ 程序易于理解,也便于排错。

⑤ 在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。 ⑥ 模块之间的接口叫做数据文件。

⑦ 只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。 ⑧ 模块间的单向调用关系叫做模块的层次结构。

⑨ 模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。

3. 从供选择的答案中选出应该填入下面 ( ) 中的正确答案。

A. 汇编程序是指 ( )。

① 用汇编语言写的程序 ② 符号程序 ③ 汇编语言的处理程序

B. 为了实现递归子程序的正确调用,人们必须用 ( ) 来保存 ( ) 及有关信息。

① 堆栈 ② 线性表 ③ 队列 ④ 树

⑤ 入口点 ⑥ 返回地址 ⑦ 断点

C. UNIX 操作系统是 ( ) 研制的,它是用程序语言 ( ) 书写实现的。

① Bell 实验室 ② DEC 公司 ③ IBM 公司 ④ PASCAL

⑤ 并发PASCAL ⑥ MODULA ⑦ C

4. 下面给出一个求实函数方程F (x )在自变量区间 [a, b] 中的全部实根的算法。首先阅读此程序,然后

(1) 画出消去全部goto 语句的结构化程序流程图。

(2) 将它改成N_S 图。

(3) 计算该程序的McCabe 复杂性度量。

在算法中,a与b是区间[a, b]的两端点值;eps1与eps2是用户要求的求解精度。如果区间中点的函数值的绝对值小于eps1或新的小区间的长度小于eps2,就认为这个中点为根。

float BinRoot ( float a,float b, float eps1, float eps2 ) {

float low= a, high = b, mid,fmid;

float flow = Func(low), fhigh := Func(high);

label L1, L2, L3; //标号说明,给定某些程序地址

if ( flow * fhigh > 0.0 ) {BinRoot = 0;goto L3; } //无实根

L1:mid = (low + high) / 2;fmid = Func(mid);

if ( abs ( fmid ) <= eps1 ) {

L2: BinRoot = mid; goto L3;

}

else if ( high - mid <= eps2 ) goto L2;

else if (flow * fmid > 0.0 ) { low = mid;flow = fmid; goto L1; }

else { high = mid; goto L1 };

L3:

}

5. 软件复杂性有哪几类?软件复杂性度量模型应遵循哪些基本原则?

上机题

1.设在闭区间 [a..b] 上函数F(X) 有唯一的一个零点,如下图所示。下面给出一个用C 语言写出的程序段,用二分法求方程F(X)=0 在区间 [a..b] 中的根。程序段中X0、X1 是当前求根区间 [X0..X1] 的下上界,Xm是该区间的中点,eps 是一个给定的很小正数,用于迭代收敛的判断。在程序中采取了用goto语句和标号finish控制在循环中途转出循环。〖程序〗F0 = F (a); F1 = F (b);

if ( F0 * F1 <= 0 ) {

X0 = a; X1 = b;

for ( i = 1; i <= n; i++) { Xm = (X0 + X1) / 2; Fm = F(Xm);

if ( abs (Fm) < eps || abs (X1-

X0) < eps )

goto finish;

if ( F0 * Fm > 0 )

{ X0 = Xm; F0 = Fm; }

else

X1 = X;

}

finish:printf (“\n The root of this equation is %d\n”,Xm );

}

这类循环结构出现了两个循环出口。一个是for循环的正常出口:当循环控制变量i 超出了循环终值n时退出循环;另一个是for循环的非正常出口:当某种条件满足时,从循环中间某处转出循环,执行循环后面的语句。它不满足结构化的要求。

试利用结构化程序设计要求的几种基本控制结构,消除其中的goto语句,使得每一个部分都是单入口单出口。

函数F(X)曲线

作业8:

1. 为了把握软件开发各个环节的正确性和协调性,人们需要进行( A )和( B )工作。( A )的目的是想证实在一给定的外部环境中软件的逻辑正确性。它包括( C )和( D ),( B )则试图证明在软件生存期各个阶段,以及阶段间的逻辑( E )、( F )和正确性。

供选择的答案:

A, B. ①操作②确认③验证④测试⑤调试

C, D. ①用户的确认②需求规格说明的确认

③程序的确认④测试的确认

E, F. ①可靠性②独立性③协调性④完备性⑤扩充性

2. 软件测试是软件质量保证的主要手段之一,测试的费用已超过( A )的30%以上。因此,提高测试的有效性十分重要。“高产”的测试是指( B )。根据国家标准GB 8566–88《计算机软件开发规范》的规定,软件的开发和维护划分为8个阶段,其中,单元测试是在( C )阶段完成的,集成测试的计划是在( D )阶段制定的,确认测试的计划是在( E )阶段制定的。

供选择的答案:

A. ①软件开发费用②软件维护费用③软件开发和维护费用

④软件研制费用⑤软件生存期全部

B. ①用适量的测试用例运行程序,证明被测程序正确无误

②用适量的测试用例运行程序,证明被测程序符合相应的要求

③用少量的测试用例运行程序,发现被测程序尽可能多的错误

④用少量的测试用例运行程序,纠正被测程序尽可能多的错误

C ~ E. ①可行性研究和计划②需求分析③概要设计

④详细设计⑤实现⑥集成测试

⑦确认测试⑧使用和维护

3. 集成测试也叫做( A )或( B )。通常,在( C )的基础上,将所有模块按照设计要求组装成为系统。子系统的集成测试特别称为( D ),它所做的工作是要找出子系统和系统需求规格说明之间的( E )。需要考虑的问题是:在把各个模块连接起来的时候,穿越模块接口的数据是否会( F );一个模块的功能是否会对另一个模块的功能产生不利的影响;各个( G )组合起来,能否达到预期要求的( H );( I )是否有问题;单个模块的误差累积起来是否会放大。

供选择的答案:

A ~ D. ①单元测试②部件测试③组装测试

④系统测试⑤确认测试⑥联合测试

E ~ I. ①子功能②丢失③父功能④局部数据结构

⑤全局数据结构⑥不一致⑦一致

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

A. 所有错误、没有错误

B. 错误、没有错误

C. 逻辑错误、没有错误

D. 设计错误、没有错误

5. 调用算法是解决问题的关键步骤之一。算法的计算工作量大小和实现算法所需的存储单

元多少,分别称为计算的(A)和(B)。编写程序时,(C)和(D)是应采纳的原则之一。(E)是调试程序的主要工作之一。

供选择的答案:

A、B:

①可实现性②时间复杂度③空间复杂度④困难度

⑤计算有效性

C:①程序的结构化②程序越短越好

③尽可能节省存储单元④尽可能减少注释行

D:①使用有实际意义的名字②使用长度短而无实际意义的名字

③表达式中尽量少用括号④尽量使用简化了的逻辑表达式

E:①调度②证明程序正确③人员安排④排错

6. 软件测试是为了检查出并改正尽可能多的错误,不断提高软件的(A),一个成功的测试则是发现了至今未被发现的(B)的测试。至于软件维护则是指(C)。

A:①功能和效率②设计和技巧③质量和可靠性④质量和效能

B:①因素②错误③规律④问题

C:①对软件的改进、适应、完善②维护正常运行

③配置新软件④软件开发期的一个阶段

7. 软件测试的目的是()。

A. 证明软件的正确性

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

C. 证明软件系统中存在错误

D. 尽可能多地发现软件系统中的错误

8. 从已经发现故障的存在到找到准确的故障位置并确定故障的性质,这一过程称为()。

A. 错误检测

B. 故障排除

C. 调试

D. 测试

9. 软件测试是软件质量保证的主要手段之一,测试的费用己超过()的30%以上,因此提高测试的有效性非常重要。

A. 软件开发费用

B. 软件维护费用

C. 软件开发和维护费用

D. 软件研制费用

10.软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中基础的是()。

A. 集成测试

B. 单元测试

C. 系统测试

D. 验收测试

上机题

1.下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( )::

void SelectSort ( datalist & list ) {

//对表list.V[0]到list.V[n-1]进行排序, n是表当前长度。

for ( int i = 0; i < list.n-1; i++ ) {

int k = i; //在list.V[i].key到list.V[n-1].key中找具有最小关键码的对象

for ( int j = i+1; j < list.n; j++)

if ( list.V[j].getKey ( ) < list.V[k].getKey ( ) ) k = j; //当前具最小关键码的对象

if ( k != i ) Swap ( list.V[i], list.V[k] ); //交换

}

}

(1) 试计算此程序段的McCabe复杂性;

(2) 用基本路径覆盖法给出测试路径;

(3) 为各测试路径设计测试用例。

2. 设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下:

“有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。”

(1) 试利用因果图法,建立该软件的因果图;

(2) 设计测试该软件的全部测试用例。

作业9:

1. 请从供选择的答案中选出应填入下列()中的字句。

程序的三种基本控制结构是( A )。它们的共同点是( B )。结构化程序设计的一种基本方法是( C )。软件测试的目的是( D )。软件调试的目的是( E )。

供选择的答案:

A. ①过程,子程序,分程序②顺序,条件,循环

③递归,堆栈,队列④调用,返回,转移

B. ①不能嵌套使用②只能用来写简单的程序

③已经用硬件实现④只有一个入口和一个出口

C. ①筛选法②递归法③归纳法④逐步求精法

D. ①证明程序中没有错误②发现程序中的错误

③测量程序的动态特性④检查程序中的语法错误

E. ①找出错误所在并改正之②排除存在错误的可能性

③对错误性质进行分类④统计出错的次数

2.从下列关于软件测试的叙述中,选出5条正确的叙述。

(1) 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。

(2) 尽量用公共过程或子程序去代替重复的代码段。

(3) 测试是为了验证该软件已正确地实现了用户的要求。

(4) 对于连锁型分支结构,若有n个判定语句,则有2n条路径。

(5) 尽量采用复合的条件测试,以避免嵌套的分支结构。

(6) GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。

(7) 发现错误多的程序模块,残留在模块中的错误也多。

(8) 黑盒测试方法中最有效的是因果图法。

(9) 在做程序的单元测试时,桩(存根)模块比驱动模块容易编写。

(10) 程序效率的提高主要应通过选择高效的算法来实现。

3.从供选择的答案中选出应填入下面有关软件测试的叙述的()内的正确答案。

软件测试方法可分为黑盒测试法和白盒测试法两种。

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

白盒测试法是根据程序的( C )来设计测试用例的方法。除了测试程序外,它也适用于对( D )阶段的软件文档进行测试。

白盒法测试程序时常按照给定的覆盖条件选取测试用例。( E )覆盖比( F )覆盖严格,它使得每一个判定的每一条分支至少经历一次。( G )覆盖既是判定覆盖,又是条件覆盖,但它并不保证使各种条件都能取到所有可能的值。( H )覆盖比其他条件都要严格,但它不能保证覆盖程序中的每一条路径。

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

供选择的答案:

A, C:①应用范围②内部逻辑③功能④输入数据

B, D:①编码②软件详细设计③软件总体设计④需求分析

E, F, G, H:①语句②判定③条件④判定/条件

⑤多重条件⑥路径

I:①白盒法②黑盒法

J:①模块功能规格说明②系统模块结构图③系统需求规格说明

4.从供选择的答案中选出应该填入下列关于软件测试的叙述的( )内的正确答案。

软件测试中常用的静态分析方法是( A )和( B )。( B )用于检查模块或子程序间的调用是否正确。分析方法(白盒方法)中常用的方法是( C )方法。非分析方法(黑盒方法)中常用的方法是( D )方法和( E )方法。( E )方法根据输出对输入的依赖关系设计测试用例。

供选择的答案:

A B:①引用分析②算法分析③可靠性分析④效率分析

⑤接口分析⑥操作分析

C ~ E:①路径测试②等价类③因果图④归纳测试

⑤综合测试⑥追踪⑦深度优先⑧调试

⑨相对图

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. 在程序设计过程中,要为程序调试做好准备,主要体现在()。

A. 采用模块化、结构化的设计方法设计程序

B. 编写程序时要为调试提供足够的灵活性

C. 根据程序调试的需要,选择并安排适当的中间结果输出和必要的断点

D. 以上全是

12. 软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列()是软件测试的任务。

①预防软件发生错误

②发现并改正程序错误

③提供诊断错误信息

A. 只有①

B. 只有②

C. 只有③

D. 全部

13. 设计下列伪代码程序的语句覆盖和路径覆盖测试用例。

START

INPUT (A , B)

IF A > 5

THEN X := 10

ELSE X := 1

ENDIF

IF B> 10

THEN Y := 20

ELSE Y := 2

ENDIF

PRINT(X , Y)

STOP

作业10:

1.一个软件产品开发完成投入使用后,常常由于各种原因需要对它做适当的变更。在软件的使用过程中,软件原来的( A )可能不再适应用户的要求,需要进行变更;软件的工作环境也可能发生变化,最常见的是配合软件工作的( B )有变动;还有一种情况是在软件使用过程中发现错误,需要进行修正。通常把软件交付使用后做的变更称为( C )。软件投入使用后的另一项工作是( D ),针对这类软件实施的软件工程活动,主要是对其重新实现,使其具有更好的( E ),包括软件重构、重写文档等。( D )和新的软件开发工作的主要差别在于( H )。我们把常规的软件开发称为( F ),而( G )是从代码开始推导出设计或是规格说明来。

供选择的答案:

A, B. ①环境②软件③硬件④功能和性能⑤要求

C, D, F, G. ①逆向工程②正向工程③软件再工程④维护⑤设计 E. ①可靠性②可维护性③可移植性④可修改性

H. ①使用的工具不同②开发的过程不同

③开发的起点不同④要求不同

2.软件维护是软件生存期的最后一个阶段。软件工程学针对维护工作的主要目标是提高( A ),降低( B )。软件的( C )、( D )、( E )是决定软件可维护性的基本因素。软件生存期( F )的工作与软件可维护性有密切的关系。

供选择的答案:

A, B. ①软件的生产率②文档

③软件的可靠性

④软件的可维护性⑤维护的代价

⑥维护的效率

C, D, E. ①可测试性②互操作性③可理解性④可修改性

⑤可复用性⑥可管理性

F. ①编码阶段②设计阶段③测试阶段④每个阶段

3.软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改,( A )的容易程度。目前广泛使用7个特性来衡量软件的可维护性,其中就有( B )、( C )、( D )。其中,( B )和( D )主要在改正性维护中侧重应用,( C )主要在适应性维护和( E )维护中侧重应用。

供选择的答案:

A. ①维护②扩充与压缩③调整④再工程

B ~ D. ①安全性②可靠性③完整性④适应性

⑤可理解性⑥可使用性⑦一致性⑧数据无关性

E. ①预防性②完善性③改正性④容错性

4.为什么软件需要维护?维护有哪几种类型?简述它们的维护过程。

5.在软件维护的实施过程中,为了正确、有效地修改,需要经历以下3个步骤:( A )、( B )、( C )。( A )是决定维护成败和质量好坏的关键。( C )包括( D )确认、计算机确认和维护后的( E )。

供选择的答案:

A ~ C. ①修改程序②建立目标程序③分析和理解程序

④重新验证程序⑤验收程序

D. ①动态②静态③人工④自动

E. ①验证②验收③检验④存档

6.从供选择的答案中选出同下列各叙述关系最密切的字句。

A. 软件从一个计算机系统或环境转移到另一个计算系统或环境的容易程度。

B. 软件在需要它投入使用时能实现其指定的功能的概率。

C. 软件使不同的系统约束条件和用户需求得到满足的容易程度。

D. 在规定的条件下和规定的一段期间内,实现所指定的功能的概率。

E. 尽管有不合法的输入,软件仍能继续正常工作的能力。

供选择的答案:

①可测试性②可理解性③可靠性④可移植性

⑤可使用性⑥兼容性⑦容错性⑧可修改性

⑨可接近性⑩一致性

7.改错性维护与“排错”是否是一回事?为什么?

8.软件可移植性是用来衡量软件的( A )的重要尺度之一。为了提高软件的可移植性,应注意提高软件的( B )。采用( C )有助于提高( B )。为了提高可移植性,还应( D )。使用( E )语言开发的系统软件具有较好的可移植性。

供选择的答案:

A. ①通用性②效率③质量④人机界面

B. ①使用的方便性②简洁性③可靠性④设备独立性

C. ①优化算法②专用设备③表格驱动方式④树型文件目录

D. ①有完备的文件资料②选择好的宿主计算机③减少输入输出次数

④选择好的操作系统

E. ① COBOL ② APL ③ C ④ SQL

作业11:

一.选择题

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. 软件配置管理简称SCI

B. 软件配置项是配置管理的基本单位

C. 软件配置实际上是一动态的概念

D. 软件工程过程中某一阶段的变更均要引起软件配置的变更

10. 为使软件项目开发获得成功,必须对()的工作范围、可能遇到的风险、需要的资源(人、硬件、软件)、要实现的任务、经历的里程碑、花费的工作量(成本)以及进度的安排等做到心中有数。

A. 需求分析

B. 概要设计

C. 软件开发顶目

D. 软件开发进度

11. ()是软件开发人员为用户准备的有关该软件使用、操作、维护的资料。

A. 开发文档

B. 管理文档

C. 用户文档

D. 软件文档

12. 自底向上估算方法的优点是对每一部分的估算工作交给负责该部分工作的人来做,所以估算()其缺点是其估算往往缺少与软件开发有关的系统级工作量,所以估算()。

A. 往往偏低

B. 不太准确

C. 往往偏高

D. 较为准确

13. COCOMO 估算模型是()。

A. 模块性成本模型

B. 结构性成本模型

C. 动态单变量模型

D. 动态多变量模型

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

A. 成本的估算

B. 项目计划

C. 工程管理

D. 工程网络图

15. 软件开发规范的体现和指南是()。

A. 文档

B. 程序

C. 需求分析

D. 详细设计

16. Putnam成本估算经验模型是()。

A. 模块性成本模型

B. 结构性成本模型

C. 动态单变量模型

D. 动态多变量模型

17. 软件管理的主要职能包括()。

A. 人员管理、计划管理

B. 标准化管理、配置管理

C. 成本管理、进度管理

D. A和B

18. ()是在软件开发过程中,作为软件开发人员前一阶段工作成果的体现和后一阶段工作依据的文档。

A. 开发文档

B. 管理文档

C. 用户文档

D. 软件文档

19. 任何项目都必须精心做好项目管理工作,最常用的计划管理工具是()。

A. 数据流程图

B. 程序结构图

C. 因果图

D. PERT图

20. 在变更控制中,()管理各个用户存取和修改个软件配置对象的权限。

A. 异步控制

B. 同步控制

C. 存取控制

D. 基线控制

二.填空题

l. 在软件项目管埋中,控制包括________、________、________和 ________。

2. 软件项目计划是由________和 ________共同经过________阶段后制定的。

3. 能协调软件开发,使得混乱减少到最小的方法是使用________。

4. 在软件的生产过程中,总是有大量的各种信息要记录,因此,________在产品的开发过程中起着重要的作用。

5. 成本估算是在软件项目开发之前,估算项目开发所需的________、________和________。

6. 软件工程管理不同于其他过程管理,它对保证高质量的________产品具有极为重要的意义。

7. 成本估算方法中,有自顶向下估算方法、自底向上估算力法和________方法。

8. ________的制度突出了主程序员的领导,责任集中到少数人身上,有利于提高软件质量。

9. 基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。因此,基线可以作为项目的一个________。

10. 在一个大系统的开发过程中,由于________失误造成的后果要比程序错误造成的后果史为严重。

11. 软件工程包含________和________两大部分内容。

12. 在软件开发和维护过程中一个软件往往有许多版本,版本控制工具用来存储、更新、恢复和管理一个软件的________。

13. 参照以前完成的项目所耗费的总成本,来推算将要开发的软件的总成本,然后把它们按阶段、步骤和工作单元进行分配,这种方法称为________方法。

14. 软件工程管理的具体内容包括对开发人员、组织机构、用户、________等方面的管理。

15. 差别估算的缺点是不容易明确“差别”的界限,但它的优点是可以提高________。

16. 在一个软件项目的开发过程中要自始至终得到________的密切合作与支持。

17. 风险分析实际上就是贯穿在软件工程中的一系列风险管理步骤,其中包括________、________、________、________和________。

18. 软件开发项目生存期详细设计阶段应包括的文档是________。

19. 软件项目计划的第一项活动是确定________。

20. 工程网络图是一种________图,该图中用________表示事件,有向弧或箭头表示了任务的进行,箭头是的数字称为________,箭头下面括号中的数字表示该任务的________。

三.简答题

1. 软件项目管理包括哪些内容?

2. 软件配置管理需要解决哪些问题,如何实施?

3. 软件开发成本估算方法有哪些?

4. 试说明软件工程标准化的重要性。

5. 说明软件工程管理的重要性。

6. 软件质量保证应做好哪几方面的工作?

7. 文档的作用是什么?

8. 软件配置管理有哪些内容?

9. 软件配置管理的对象称为“软件配置项”,它包含哪些内容?

10. 试述软件工程过程中版本控制与变更控制处理过程。

答案:

作业1

1. ②⑦⑤

2. ①①③⑥

3. ①④⑤⑧⑤④①

作业2

1.A

2.C

3.A

4.B

作业3

1.C

2.D

3 ③③①②④

4 ①③④①①

作业4

1~10 D C A D C D A C D B

作业5

1 ⑷

2 ②⑤①①③

3 ③④②③①

4 A

5 C

6 C 6 A 8 D 9 A 10 C

作业6

1~10 A C D E D B C B B C

11~20 D B C C C B A C C B

21. PAD图的特点如下:

⑴清晰地反映了程序的层次结构。图中的竖线为程序的层次线,最左竖线是程序的主线,其后一层一层展开,层次关系一目了然。

⑵ 支持逐步求精的设计方法,左边层次中的内容可以抽象,然后由左到右逐步细化。 ⑶ 易读易写,使用方便。

⑷ 支持结构化的程序设计原理。

⑸ 可自动生成程序。

22. 用PDL 表示的程序结构一般有:

⑴ 顺序结构:采用自然语言描述。

⑵ 选择结构:

⑶ 重复结构:

⑷ 出口结构:

⑸ 模块定义与调用:

⑹ 数据定义:

⑺ 输入输出:

作业7

1. 对应的N-S 图如下。

对应PAD 图如下。 START

while P A

until Q B

END

设置Q 的值为“T ”START END until (not P)B A Q

McCabe 复杂性度量都为3。

2. ②、③、④、⑦、⑧

3. A. ③ B. ①、⑥ C. ①、⑦

4. (1) 结构化的程序流程图:

《软件工程》11套考试复习练习试题、作业题[含答案解析]

作业1: 1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。其中,( A )是按事先设计的功能和性能要求执行的指令序列。( B )是使程序能够正确操纵信息的数据结构。( C )是与程序开发、维护和使用有关的图文材料。供选择的答案: A~C. ①软件②程序③代码④硬件 ⑤文档⑥外设⑦数据⑧图表 2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。 供选择的答案: A.①程序开发环境②操作系统的资源管理功能 ③程序人员数量④计算机的并行处理能力 B.①需求分析②需求调查③可行性分析④问题定义 C、D.①方案设计②代码设计③概要设计④数据设计 ⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计 3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。 有人将软件的发展过程划分为4个阶段: 第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。 第二阶段(1950年代末~1960年代末)称为“基本软件期”。出现了( A ),并逐渐普及。随着( B )的发展,编译技术也有较大的发展。 第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。 第四阶段(1970年代中期~现在)称为“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。 供选择的答案: A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言 ⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计 E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计 ⑤需求定义⑥图象处理 4. 软件工程过程有哪几个基本过程活动?试说明之。 5. 试说明“软件生存周期”的概念。 6. 试论述瀑布模型软件开发方法的基本过程。 7. 软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。 8. 软件工程学的基本原则有哪些?试说明之。 9. 有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。对否?请解释你的回答。

软件工程复习题及答案

2006-2007-2软件工程复习 一、单项选择题(20选10) 1. 结构化分析的主要描述手段有( B )。 A. 系统流程图和模块图 B. DFD图、数据词典、加工说明 C. 软件结构图、加工说明 D. 功能结构图、加工说明 2. 用于表示模块间的调用关系的图叫( D )。 A.PAD B.SC C.N-S D.HIPO 3. 在( B )模型中是采用用例驱动和架构优先的策略,使用迭代增量建造方法,软件“逐渐”被开发出来的。 A.快速原型 B. 统一过程 C.瀑布模型 D. 螺旋模型 4. 常用的软件开发方法有面向对象方法、面向( A )方法和面向数据方法。 A. 过程 B. 内容 C. 用户 D. 流程 5 从工程管理的角度来看,软件设计分两步完成( D )。 A. ①系统分析②模块设计 B. ①详细设计②概要设计 C. ①模块设计②详细设计 D. ①概要设计②详细设计 6. 程序的三种基本结构是( B )。 A. 过程、子程序、分程序 B.顺序、条件、循环 C.递归、堆栈、队列 D.调用、返回、转移 7. 程序的三种基本结构是( B )。 A. 过程、子程序、分程序 B.顺序、条件、循环 C.递归、堆栈、队列 D.调用、返回、转移 8. SD方法衡量模块结构质量的目标是( C )。 A. 模块间联系紧密,模块内联系紧密 B. 模块间联系紧密,模块内联系松散 C. 模块间联系松散,模块内联系紧密 D. 模块间联系松散,模块内联系松散 9.为提高软件测试的效率,应该( C )。 A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码后制定软件测试计划 D.选择发现错误可能性大的数据作为测试数据 10.( D )测试用例发现错误的能力较大。 A.路径覆盖 B.条件覆盖 C.判断覆盖 D.条件组合覆盖 11.软件需求分析应确定的是用户对软件的( A )。 A. 功能需求和非功能需求 B. 性能需求 C. 非功能需求 D. 功能需求 12.下列各种图可用于动态建模的有( C )。 A.用例图 B. 类图 C. 序列图 D. 包图 13.软件过程模型有瀑布模型、( B )、增量模型等。 A. 概念模型 B. 原型模型 C. 逻辑模型 D. 物理模型 14.面向对象的分析方法主要是建立三类模型,即( D )。 A. 系统模型、ER模型、应用模型 B. 对象模型、动态模型、应用模型 C. E-R模型、对象模型、功能模型 D. 对象模型、动态模型、功能模型 15.测试的分析方法是通过分析程序( B )来设计测试用例的方法。 A.应用范围 B.内部逻辑 C.功能 D.输入数据 16. 软件工程是研究软件( B )的一门工程学科。 A. 数学 B. 开发与管理 C. 运筹学 D. 工具 17. 需求分析可以使用许多工具,但( C )是不适合使用的。 A.数据流图 B.判定表 C.PAD图 D.数据字典 18.划分模块时,一个模块内聚性最好的是( A )。 A. 功能内聚 B. 过程内聚 C. 信息内聚 D. 逻辑内聚 19.软件可移植性是用来衡量软件的( D )的重要尺度之一。 A.效率 B. 质量 C. 人机关系 D. 通用性 20.软件配置管理是在软件的整个生存周期内管理( D )的一组活动。 A.程序 B.文档 C.变更 D.数据 二、判定题(20选10) 1统一过程是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。(×) 2当模块中所有成分结合起来完成一项任务,该模块的内聚是偶然内聚。(×) 3SD方法衡量模块结构质量的目标是模块间联系松散,模块内联系紧密(√) 4当模块中所有成分结合起来完成一项任务,该模块的内聚是功能内聚。(√) 5在进行需求分析时,就应该同时考虑软件的可维护性问题。(√) 6需求分析可以使用许多工具,但数据流图是不适合使用的。(×)

软件工程试题及答案

软件工程 一、单项选择题 1. TURBO PASCAL是()软件。 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. Jackson方法是一种面向()的方法。 A.数据流 B.对象 C.数据结构 D.控制流 9. 软件详细设计的主要任务是对()进行的详细设计。 A.算法和数据结构 B.外部接口 C.软件编码 D.功能 10. 银行计算机储蓄管理信息系统中,根据客户提出的要求(如存款、取款、查询、挂失、咨询等)进行相应的业务处理的该层数据流图是()_。 A.变换型 B.事务型 C.既不是A也不是B 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. 软件测试分析报告

软件工程期末考试复习题及答案

(4分) 变换型结构的数据流呈() A. 线性形状 B. 辐射状 C. 椭圆形 D. 阶梯形 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..2. (4分) 可行性研究阶段使用的图形工具是() A. DFD图 B. N-S图 C. PAD图 D. Warnier图 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..3. (4分) 软件的开发模式有() A. 面向过程模式、面向对象模式、混合模式 B. 变换模式、渐增模式、瀑布模式 C. 自顶向下模式、自底向上模式、关系模式 D. 分步模式、渐增模式、非渐增模式 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 B .解析..4. (4分) 模块的初始化工作和模块处理意外故障均属于() A. 时间内聚 B. 顺序内聚 C. 功能内聚 D. 逻辑内聚 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案 A .解析..5. (4分) HIPO的含义是()

A. 层次、输入、处理、输出 B. 高速、信息、程序、目标 C. 顶层的IPO图 D. 关于输入、处理、输出的层次 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..6. (4分) 数据字典和数据流图共同构成系统的() A. 物理模型 B. 结构模型 C. 设计说明书 D. 逻辑模型 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案D .解析..7. (4分) 好的软件结构它的外观形状一般呈() A. 线性 B. 扇形 C. 椭圆形 D. 层次型 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 C .解析..8. (4分) CMU/SEI推出的()将软件组织的过程能力分为五个成熟度级别,每一个级别定义了一组过程能力目标,并描述了要达到这些目标应该具备的实践活动。 A. CMM B. PSP C. ISO-9000 D. RUP 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..9. (4分) 若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用()

软件工程复习题(带答案)

软件工程复习题(带答案) 软件工程复习题 一、单选题 1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c ) A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D ) A产生危机 B质量保证 C开发效率 D生产工程化 3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究 的结论主要相关于( A ) A软件系统目标 B软件的性能 C软件的功能 D软件的质量 4、软件需求分析一般应确定的是用户对软件的( D ) A.功能需求 B.非功能需求 C.性能需求 D.功能需求和非功能需求 5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试 计划的制订应始于软件开发的哪个阶段? ( D ) A.需求分析 B.软件设计 C.程序编码 D.软件计划 6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B ) A.原型化方法

B.结构化方法 C.面向对象方法. D.功能分解法 7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A ) A.软件模型 B.软件功能 C.软件结构 D.软件加工 8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不 属于开发技术的范畴?(D) A.软件开发方法 B.软件开发工具 C.软件工程环境 D.软件工程经济 9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依 据,而且也影响软件的() A.可理解性 B.可维护性 C.可扩展性 D.可靠性 10、从( )语言开始,软件摆脱了对硬件的依赖。 A.第一代 B.第二代 C.第三代 D.第四代 11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( ) A.实体

《软件工程》经典考试例题复习题,重点知识点(含答案)

1.某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号 码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。 要求:写出在数据字典中,电话号码的数据流条目的定义即组成。 电话号码=[分机号|外线号码] 分机号=7201 (7299) 外线号码=9+[市话号码|长话号码] 长话号码=区号+市话号码 区号=100 (300) 市话号码=局号+分局号 局号=[455|466|888|552] 分局号=4{数字}4 数字=[0|1|2|3|4|5|6|7|8|9] 2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。 (1)语句覆盖测试用例 令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。 (2)判定覆盖 可以设计如下两组数据以满足判定覆盖: x=3,y=0,z=1(1分)(通过路径abce); x=2,y=1,z=2(1分)(通过路径acde)。 或者 x=2,y=1,z=1;覆盖路径acde x=1,y=1,z=1;覆盖路径ace x=3,y=0,z=1;覆盖路径abce (注意:本题也还可以有其他答案) 3.请用判定表画出以下问题的行为逻辑。 人们往往根据天气情况决定出门时的行装。天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变冷,

出门时要穿上大衣。 4.对下列子程序进行调试: procedure example(y,z: real; var x: real) begin if (y>1) and (z=0) then x:=x/y; if (y=2) or (x>l) then x:=x+l; end. 该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。完成下列各题: (1)画出程序流程图。 (2)用条件组合覆盖设计测试用例,并写出其中一组测试用例。 答:(1)程序流程图 (2)用白盒法中条件组合覆盖设计测试用例: ①y=2, z=0, x=4; ②y=2, z=1, x=1; ③y=1, z=0, x=2; ④y=1, z=1, x=1. (注:也可有其它答案) 5.选择排序的伪代码如下,请根据代码画出其PAD图。 select_sort(a[1],a[2],…,a[n]) { for(i=1;i

《软件工程》题库及参考答案

《软件工程》练习测试题库 一、单项选择题 1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 () A.软件工程 B.软件周期 C.软件危机 D.软件产生 2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。 A.技术可行性 B.经济可行性 C.社会可行性 D.法律可行性 3.IDEF0图不反映出系统() A.系统做什么 B.系统功能如何实现 C.系统由谁来做 D.系统实现的约束条件 4.模块的内聚性最高的是() A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 5.在SD方法中全面指导模块划分的最重要的原则是() A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 6.软件详细设计主要采用的方法是() A.模块设计 B.结构化设计 C.PDL语言 D.结构化程序设计 7.下列关于JSP方法不正确的说法是() A.JSP方法主要用于规模不大的数据处理系统 B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段 C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解 D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。因此它只适用于详细设计阶段 8.不适合作为科学工程计算的语言是() A. Pascal B. C C. Fortran D. Prolog 9.黑盒测试在设计测试用例时,主要需要研究() A.需求规格说明与概要设计说明 B.详细设计说明 C.项目开发计划 D.概要设计说明与详细设计说明 10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0], 现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是() A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 11.下列属于维护阶段的文档是() A.软件规格说明 B.用户操作手册 C.软件问题报告 D.软件测试分析报告

软件工程题库(含答案)

软件工程题库(含答案) 一、单选题(共60题,每题1分,共60分) 1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A、可用性 B、正确性 C、完整性 D、可靠性 正确答案:D 2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ). A、可移植性 B、可理解性 C、可重用性 D、可修改性 正确答案:A 3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。 A、容错性 B、检测性 C、可操作性 D、安全性 正确答案:C 4、下列属于维护阶段的文档是( ) A、软件问题报告 B、用户操作手册 C、软件测试分析报告 D、软件规格说明 正确答案:B 5、快速原型模型的主要特点之一是( ) A、及早提供工作软件 B、开发完毕才见到产品 C、及早提供全部完整的软件产品 D、开发完毕后才见到工作软件 正确答案:C

6、可维护性通常包括( )。 A、可用性和可理解性 B、可修改性、数据独立性和数据一致性 C、可理解性、可修改性和可测试性 D、可测试性和稳定性 正确答案:C 7、软件的可修改性支持软件的( )。 A、可互操作性 B、可维护性 C、可追踪性 D、有效性 正确答案:B 8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( ) A、数据通信 B、数据定义 C、数据维护 D、数据库设计 正确答案:B 9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。 A、可追踪性 B、可理解性 C、可互操作性 D、可维护性 正确答案:C 10、可维护性的特性中相互促进的是( ) A、效率和可移植性 B、可理解性和可测试性 C、效率和结构好 D、效率和可修改性 正确答案:B 11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。

软件工程复习题及参考答案

软件工程课程复习资料 一、单项选择题: 1.下面哪些UML图描述系统行为 A.用例图 B.类图 C.对象图 2.属于概要设计活动的是 A.软件结构设计 B.数据结构设计 C.算法设计 3.属行为型设计模式的是 A.组合模式 B.工厂方法模式 C.观察者模式 4.下列说法正确的是 A.UML 是软件开发方法 B.UML是系统描述语言 C.UML是软件开发过程 5.根据程序流程图划分的模块通常是 A.信息内聚的模块 B.过程内聚的模块 C.逻辑内聚的模块 6.如果某程序中的比较个数是m,则其 McCabe环形复杂度为 A.m-1 B.m C.m+1 7.按ISO9000-3的说明,下列属软件配置项的是 A.软件开发方法 B.软件开发组织管理制度 C.软件开发合同 8.软件测试的目的是 A.证明软件无错 B.发现软件中的所有错误 C.尽可能发现软件系统中的错误 9.软件重构关注的是 A.软件体系结构 B.模块细节 C.软件性能 10.软件项目开发计划的内容有 A.数据分析 B.风险分析 C.功能分析 11.在UML的类图中,描述整体与部分关系的是 A.泛化关系 B.聚合关系 C.依赖关系 12.软件过程能力成熟度模型CMM用以评价 A.软件过程能力 B.组织能力 C.学习能力 13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为 A.完善性维护 B.改正性维护 C.适应性维护 14.对项目软件而言,软件功能需求信息主要由谁提供 A.软件用户 B.软件开发人员 C.软件项目管理人员 15.IDEF0 图反映不出 A.系统做什么 B.系统功能由谁做 C.系统如何做 16.原型模型是一种什么开发过程模型 A.自顶向上 B.由外至内 C.增量式 17.系统流程图描述 A.物理系统 B.逻辑系统 C.软件体系结构 18.需求规格说明书的内容不应该包括 A.软件确认准则 B.软件的性能描述 C.算法过程的详细描述 19.适合需求模糊或需求不确定系统开发的软件开发模型是 A.瀑布模型 B.RAD 模型 C.原型模型 20.UML 图中描述系统结构的是 A.组件图 B.顺序图 C.状态图 21.面向对象方法是一种什么软件开发方法 A.层次化 B.迭代增量式 C.逐步求精 22.不可以用来衡量软件可维护性的是 A.可靠性 B.可用性 C.可行性 23.系统分析员在需求分析最后负责编写 A.用户手册 B.概要设计说明书 C.可行性研究报告 24.为了提高软件的可靠性、可维护性等而对软件的修改称为 A.改正性维护 B.适应性维护 C.预防性维护 25.在结构化方法中,为使需求改变对软件影响较小,应该使软件结构 A.与问题结构对应 B.与问题结构独立 C.与用户界面对应 26.单元测试的计划应该在什么阶段完成 A.需求分析 B.概要设计 C.详细设计

软件工程试题库及答案

一、选择题 软件(2) 1.在软件开发的各种资源中,( D )是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 2.软件的复杂性是( A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 3.3:软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是( D )。 A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档 4.软件是一种( B )产品。 A、有形 B、逻辑 C、物质 D、消耗 软件危机(1) 5.1:开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 6.2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( A )A.软件危机B.软件工程 C.程序设计革命D.结构化程序设计 7.3:以下哪一项不是软件危机的表现形式( C ) (A)成本高(B)生产率低 (C) 技术发展快(D)质量得不到保证 8.4:“软件危机”产生的主要原因是( A )。 A.软件日益庞大 B.开发方法不当 C.开发人员编写程序能力差 D.没有维护好软件 9.5:软件危机是指在软件开发和( C )过程中遇到的一系列严重问题。 A 开发 B 使用 C维护D更新 软件工程(2) 10.1:为了解决软件危机人们提出了用(B )的原理来设计软件,这就是软件工程诞生的 基础。 (A) 运筹学(B) 工程学 (C) 软件学(D) 数学 11.2.在软件工程时期,决定软件质量的主要因素是( A ) A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展

软件工程复习试题及答案

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 4.软件有效性,指软件系统的时间和空间效率。 6.数据流图有四种基本成分:源、终点,处理,存储,数据流。 7 中数据项是组成数据流和数据存储的最小元素。 8.软件工程中的结构化分析SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。10.常用的测试方法有黑盒测试和白盒测试。 1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益

软件工程试题与答案

软件工程试题与答案 综合练习一及答案 一、填空题(每空1分,共20分) 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、不是不可以理解的 B、是不能容忍的 C、是要求退货的理由 D、是必然的 三、多项选择题(每小题2分,共10分) 1. 下面哪些测试属于白盒测试( AE )。 A、基本路径测试 B、等价类划分 C、边界值分析 D、错误推测 E、逻辑覆盖测试 2. 下列哪些选项是属于内容耦合( ABC )。 A、一个模块直接访问另一个模块的内部数据 B、一个模块有多个入口 C、一个模块不通过正常入口转到另一模块内部 D、一个模块只有一个入口 3. 下列属于度量效益方法的是( ABC )。 A、货币的时间价值 B、投资回收期 C、收入 D、投资回报率

软件工程期末考试复习题大全解析

一、填空题 1.软件生存周期一般可分为问题定义、可行性研究、需求分析、软件设计、程序编写、软件测试、运阶 段。 2.软件生存期分计划、开发、运行三大阶段 3.可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否有可行的解、_是否值 得去解决_。 4.系统流程图是描述_物理系统__的传统工具。 5.数据流图和数据字典共同构成系统的逻辑模型。 6.结构化分析方法是面向数据流进行需求分析的方法。 7.一个模块的作用范围应该在其控制范围之内,且判定所在模块应与受其影响的模块在层次上尽量靠近8.模块之间联系越紧密,其耦合性就越强,模块的独立性就越弱。 9.PAD图清晰地反映了程序的层次结构,图中的竖线为程序的层次线。 10.JSP方法定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方法适用于详细设计阶段。11.任何程序都可由顺序、选择、重复三种基本结构组成,这三种基本结构的共同点是单入口、单出口。12.源程序中加注释是帮助理解程序的重要手段,注释分为序言性注释和功能性注释。 13.为了提高程序的易读性,同时减少错误,提高软件开发效率,编码时注意养成良好的程序设计风格。14.效率是一个性能要求,目标应在需求分析阶段给出。 15.可移植性是指程序从一个计算机环境移植到另一个计算机环境的容易程度。 16.用黑盒技术设计测试用例的方法有等价划分类、边值分析、因果图和错误推测。 17.集成测试是在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行测试,故也称组装测试。 18.动态测试方法中根据测试用例的设计方法不同,分为黑盒测试与白盒测试两类。 19.调试的目的是确定错误的位置和原因,并改正错误。 20.软件维护的内容有完善性维护、适应性维护改正性维护和预防性维护。 二、判断题 1.耦合是指一个模块内各个元素彼此结合的紧密程度。( F ) 2.内聚是指一个软件结构内各个模块之间互连程度的度量。( F ) 3.在软件设计中应该尽量设计紧密耦合的系统。( F ) 4.扇出是指一个模块直接调用的模块的数目。( T ) 5.概要设计阶段完成的主要文档是概要设计说明书。( T ) 6.详细设计是在概要设计之后进行的。它利用概要设计的结果,对系统中的每个模块给出足够的过程 性描述。( F ) 7.程序设计语言中应绝对禁止使用GOTO语句。( F ) 8.编码风格与程序的质量没有多大的关系。 F 9.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。( F ) 10.软件测试只对软件的编码进行查错和纠错工作,不需对软件计划和软件设计进行查错。( F ) 11.软件测试的目的是为了证明一个软件的设计没有错误,只有没有任何错误的软件才能使用。( F ) 12.软件测试中,应该尽量穷尽所有的数据,以便保证测试的质量。( T ) 13.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖,判定/条件覆盖是同时满足这 两种覆盖标准的逻辑覆盖。( T ) 三、选择题 1.在数据流图中,不能被计算机处理的成分是() A 数据流 B 数据存储 C 源点/终点 D 加工 2.软件需求规格说明书的内容不应该包括对()的描述 A 主要功能 B 算法的详细过程 C 用户界面及运行环境 D 软件的性能

福建师范大学2021年9月《软件工程》作业考核试题及答案参考11

福建师范大学2021年9月《软件工程》作业考核试题及答案参考 1. 软件测试是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。( ) A.错误 B.正确 参考答案:B 2. 数据流图中,当数据流向或流自文件时( ) A.数据流要命名,文件不必命名 B.数据不必命名,有文件名就足够了 C.数据流和文件均要命名,因为流出和流进的数据流是不同的 D.数据流和文件均不要命名,通过加工可自然反映出 参考答案:B 3. 汽车有一个发动机。汽车和发动机之间的关系是一般具体的关系。( ) A.错误 B.正确 参考答案:A 4. 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。( ) A.错误 B.正确 参考答案:B 5. 测试是为了表明程序是正确的,成功的测试是没有发现错误的测试。( ) A.错误 B.正确 参考答案:A

6. 为改正软件系统中潜藏的错误而进行的维护活动称为( ) A.纠错性维护 B.适应性维护 C.改善性维护 D.预防性维护 参考答案:A 7. 在软件的分析阶段,常用( )来描述业务处理系统的信息来源、存储、处理和去向。 A.E-R图 B.框图 C.DFD D.时序网络 参考答案:C 8. 确认软件的功能是否与用户所要求的功能相符的测试属于( )。 A.集成测试 B.自底向上集成测试 C.确认测试 D.回归测试 参考答案:C 9. 软件概要设计的主要任务就是软件结构的设计。( ) A.错误 B.正确 参考答案:B 10. 面向对象的技术中的“类”,是比较理想的可重用的软构件,称之为( ) A.软构件 B.类构件 C.特殊构件 D.以上都不正确 参考答案:B

软件工程试题及答案

软件工程 一、选择题 1、软件需求规格说明的内容不包括(B) A、主要功能 B、算法的详细描述 C、用户界面及运行环境 D、软件的性能 2、面向对象的分析方法主要是建立三类模型,即(D) A、系统模型、ER模型、应用模型 B、对象模型、动态模型、应用模型 C、ER模型、对象模型、功能模型 D、对象模型、动态模型、功能模型 3、在ER模型中,包括以下基本成分(C) A、数据、对象、实体 B、控制、联系、对象 C、实体、联系、属性 D、实体、属性、操作 4、各种软件维护的类型中最重要的是(A) A、完善性维护 B、纠错性维护 C、适应性维护 D、预防性维护 5、若有一个计算类型的程序,它的输入量只有一个X,其范围是[—2.0,2.0],现从输入的角度考虑一组测试用列—2.001,-2,20,2.001,设计这组测试用列的方法是(C) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 6、下列白盒测试法,哪种是最强的覆盖准则(D) A、语句覆盖 B、条件覆盖 C、判定覆盖 D、条件组合覆盖 7、确定测试计划是在(A)阶段制定的。 A、总体设计 B、详细设计 C、编码 D、测试 8、数据字典是软件需求分析阶段最重要的工具之一,其最基本的功能是(C) A、数据库设计 B、数据通信 C、数据定义 D、数据维护 9、软件开发当中,抽取和整理用户需求并建立问题域精确模型的过程(D) A、生成期 B、软件意向 C、结构化程序设计 D、面向对象分析 10、以下不属于IT企业当中过程管理和过程改进模型的是(D) A、ISO9001 B、CMMI C、软件企业文化 D、UML 11、适合互联网上编程并可供不同平台运行的面向对象程序设计的语言是(java) 12、软件结构图中,模块之间用直线连接,则表示他们之间存在(A )。 A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 13、生命周期方法设计软件的过程中,画用例图属于(A)阶段的工作. A、需求分析 B、概要设计 C、详细设计 D、软件维护 14、PDL属于(B)语言。 A、高级程序设计语言 B、伪码 C、中级程序设计语言 D、低级程序设计语言 15、成功的测试是(发现至今尚未发现的错误) 16、软件开发的瀑布模型典型的刻画了软件生成周期的阶段划分,与其想适应的软件开发方法是(即瀑布模型采用什么样的软件开发方法?)(B)。 A、构建化方法 B、结构化方法 C、面向对象方法 D、快速原型方法 17、软件结构图的形态特征能反应程序重用率的是(C) A、深度 B、宽度 C、扇入 D、扇出 18、维护过程的本质是(D)的过程。 A、修改程序 B、修改文档 C、修改位置 D、压缩的修改软件定义和开发 19、软件危机的表现: 答:由于软件特点和长期以来一直没有发明一种高校的开发方法,导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世纪60年代被定义为“软件危机”。它的具体表现如下:

软件工程试卷及答案多套试卷

软件工程试题及答案 第一部分选择题 一、单项选择题每小题1分,共20分.(在每小题(de)四个选项中只有一个选项是符合题目要求(de),请将正确选项前(de)字母填在题后(de)括号内) 1.在下列工具与环境中()属于较早期(de)CASE. A.基于信息工程CASE B.人工智能CASE C.结构(de)基于图形CASE D.集成(de)CASE环境 2.Putnam成本估算模型是一个()模型. A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量 3.在McCall软件质量度量模型中,()属于面向软件产品修改. A.可靠性 B.可重用性C.适应性 D.可移植性 4.ISO(de)软件质量评价模型由3层组成,其中用于评价设计质量(de)准则是() A.SQIC B.SQMC C.SQRC D.SQDC 5.软件复杂性度量(de)参数包括() A.效率 B.规模 C.完整性 D.容错性6.对象实现了数据和操作(de)结合,使数据和操作()于对象(de)统一体中. A.结合 B.隐藏C.封装 D.抽象

7.软件调试技术包括() A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试 8.瀑布模型(de)存在问题是() A.用户容易参与开发B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 9.软件测试方法中(de)静态测试方法之一为() A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析10.软件生命周期中所花费用最多(de)阶段是() A.详细设计 B.软件编码 C.软件测试D.软件维护 11.第一个体现结构化编程思想(de)程序设计语言是() A.FORTRAN语言B.Pascal语言 C.C语言D.PL/1语言 12.程序(de)三种基本控制结构是() A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移 13.在详细设计阶段,经常采用(de)工具有() A.PAD B.SA C.SC D.DFD 14.详细设计(de)结果基本决定了最终程序(de)() A.代码(de)规模 B.运行速度 C.质量 D.可维护性

软件工程考试试题与答案

专业:挪移通信科目:软件工程 一、单项选择题 1.好的软件结构应该是( ) A.低耦合、低内聚 B.高耦合、高内聚 C.高耦合、低内聚 D.低耦合、高内聚 答案:D 2.需求分析中开辟人员要从用户那里了解( ) A.软件的规模 B.软件做什么 C.用户使用界面 D.输入的信息 答案:B 3.软件调试技术包括( ) A.演绎法 B.循环覆盖 C.边界值分析 D.集成测试 答案:A 4.软件需求规格说明书的内容不应包括对( )的描述。 A.用户界面及运行环境 B.主要功能 C.算法的详细过程 D.软件的性能 答案:C 5.常用动词或者动词词组来表示( ) A.属性 B.关联 C.类 D.对象 答案:B 6.软件可行性研究实质上是要进行一次( )需求分析、设计过程。 A.详细的 B.深入的 C.彻底的 D.简化、压缩的 答案:D 7.软件部份的内部实现与外部可访问性分离,这是指软件的( ) A.继承性 B.共享性 C.抽象性 D.封装性 答案:D

8.软件部份的内部实现与外部可访问性分离,这是指软件的( ) A.共享性 B.继承性 C.抽象性 D.封装性 答案:D 9.在详细设计阶段,时常采用的工具有( ) A .PDL B .DFD C .SC D .SA 答案:A 10.数据字典是对数据定义信息的集合,它所定义的对象都包含于( ) A.软件结构 B.程序框图 C.方框图 D.数据流图 答案:D 11.软件工程结构化生命周期方法,提出将软件生命周期划分为计划、开辟和运行三个时期,下述( )工作应属于软件开辟期的内容。 A.问题定义 B.可行性研究 C.都不是 D.总体设计 答案:D 12.应用执行对象的操作可以改变该对象的( ) A.功能 B.数据 C.属性 D.行为 答案:C 13.软件质量因素不包括( ) A.可理解性 B.可测试性 C.正确性 D.高性能 答案:D 14.软件可行性研究实质上是要进行一次( )需求分析、设计过程。 A.详细的 B.彻底的 C.深入的 D.简化、压缩的 答案:D 15.结构化设计是一种面向( )的设计方法。

《软件工程》经典考试例题复习题,重点知识点(含答案)

1.某旅馆的服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号码先 拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。 要求:写出在数据字典中,号码的数据流条目的定义即组成。 号码=[分机号|外线号码] 分机号=7201 (7299) 外线号码=9+[市话号码|长话号码] 长话号码=区号+市话号码 区号=100 (300) 市话号码=局号+分局号 局号=[455|466|888|552] 分局号=4{数字}4 数字=[0|1|2|3|4|5|6|7|8|9] 2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。 〔1语句覆盖测试用例 令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。

〔2判定覆盖 可以设计如下两组数据以满足判定覆盖: x=3,y=0,z=1〔1分〔通过路径abce; x=2,y=1,z=2〔1分〔通过路径acde。 或者 x=2,y=1,z=1;覆盖路径acde x=1,y=1,z=1;覆盖路径ace x=3,y=0,z=1;覆盖路径abce 〔注意:本题也还可以有其他答案3.请用判定表画出以下问题的行为逻辑。 人们往往根据天气情况决定出门时的行装。天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。 4.对下列子程序进行调试: procedure example begin if 1>and then x:=x/y; if or l> then x:=x+l;

相关文档
相关文档 最新文档