当前位置:文档之家› 软件工程套考试复习练习题作业题含答案

软件工程套考试复习练习题作业题含答案

软件工程套考试复习练习题作业题含答案
软件工程套考试复习练习题作业题含答案

作业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 ]的两端点值;eps 1与eps 2是用户要求的求解精度。如果

区间中点的函数值的绝对值小于eps 1或新的小区间的长度小于eps 2,就认为这个中点为根。

float BinRoot ( float a , float b , float eps 1, float eps 2 ) {

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 ) <= eps 1 ) { L2:

BinRoot = mid ; goto L3;

}

else if ( high - mid <= eps 2 ) 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) 结构化的程序流程图:

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

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

最新软件工程期中考试以及答案

精品文档 1、 瀑布模型下,采用结构化的方法,在它的生命周期各个阶段中,那个阶段出错对软件的 影响最大( ) A 、概要设计阶段 B 、维护阶段 C 、测试排错阶段 D 、需求分析阶段 2、UML 是软件开发过程中的重要工具之一,它主要用于那种开发方法() 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 、DF D 图D 、SC 图 10、顺序图反映对象之间发送信息的时间顺序,它与()是同构的。 A 、类图 B 、状态图 C 、协助图 D 、活动图 11、下面说法错误的是() A 、该图是对象图 B 、borrowbook ()是方法 C 、 name 是属 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 . 质量保证 ② A . 需求分析 B . 可行性研究 C 总体设计 D 模块化设计 ③ A . 文档编制 B . 运行维护 C . 测试 D . 验收 &软件开发中常采用的生命周期方法,由于其特征而一般称其为() A .层次模型 B .瀑布模型 C .螺旋模型 D .对象模型 9.描述软件生存周期的瀑布模型包括计划、 (A ) 、设计、编码、测试、维护等阶段。其中,设计阶段又可 以分成(B )和(C )两个步骤。 A :①需求分析 ②可行性研究 ③需求调查 ④问题定义 B, C :①方案设计 ②代码设计 ③概要(总体)设计 ④数据设计 ⑤详细设计 10.什么是软件危机?软件危机产生的原因? ".生命周期阶段的划分?每个阶段的任务? 可行性研究 软件工程 1软件危机是指在开发和( A .运行 B .设计 2 ?造成软件危机的原因是: A. 用户使用不当 C .硬件不可靠 )过程中所遇到的一系列严重问题。 B .对软件的错误认识 D ?缺乏好的开发方法和手段

软件工程复习试题及答案

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为 N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 4.软件有效性,指软件系统的时间和空间效率。 5.IPO 6.数据流图有四种基本成分:源、终点,处理,存储,数据流。 7. 其中数据项是组成数据流和数据存储的最小元素。 8.软件工程中的结构化分析SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。 2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、

单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。 8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。 10.常用的测试方法有黑盒测试和白盒测试。 1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和 社会效益可行性等方面研究。 2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环 结构。 3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护 阶段。 4.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功 能需求。

软件工程期中考试以及答案

1、瀑布模型下,采用结构化的方法,在它的生命周期各个阶段中,那个阶段出错对软件的 影响最大() A、概要设计阶段 B、维护阶段 C、测试排错阶段 D、需求分析阶段 2、UML是软件开发过程中的重要工具之一,它主要用于那种开发方法() 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、DFD图 D、SC图 10、顺序图反映对象之间发送信息的时间顺序,它与()是同构的。 A、类图 B、状态图 C、协助图 D、活动图 11、下面说法错误的是() A、该图是对象图 B、borrowbook()是方法 C、name是属 D、该图是类图

12、下图中描述“聚合关系”的是() A 、 B 、 C 、 D 、 13、下面的顺序图问号所代表的是() 级专业: 题 ) … … 封 … … … … … … … … … … … … … … … 线 … … … … … … … … … … … … … …

软件工程课后作业

路松峰_ 2018-07-29 10:32:40 一、简答题 1.什么是软件工程 软件工程是关于软件生产的各个方面的工程学科。 二、判断题 1、软件危机的主要表现是软件需求增加,软件价格上升。 / 正确 2、软件就是程序,编写软件就是编写程序。 错误 三、选择题 1、用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为( A )工具。 A. CASE C. CAM D. CAD 2、在下列选项中,( C )不是软件的特征。 A.系统性与复制性 B.可靠性与一致性 C.有形性与可控性 D.抽象性与智能性 ) 3、软件工程的三要素是( B ) A.技术、方法和工具 B.方法、工具和过程 C. 方法、对象和类 D.过程、模型和方法

第2次作业 路松峰_ 2018-07-29 10:33:32 一、简答题 … 1、快速原型模型的主要优点是什么 软件产品的开发基本上是线性顺序进行的。 2、什么是模型 模型是认识客观事物时,用文字、符号或者图表等进行简化问题描述的一种方式。 二、判断题 1、在软件开发中采用原型系统策略的主要困难是成本问题。 正确 2、软件过程改进也是软件工程的范畴。 · 正确 三、选择题 1、包含风险分析的软件工程模型是( D )。 A.喷泉模型 B.瀑布模型 C.增量模型 D.螺旋模型 2、软件过程是( C )。 A.特定的开发模型 B.一种软件求解的计算逻辑 C.软件开发活动的集合 D.软件生命周期模型 3、CMM模型将软件过程的成熟度分为5个等级。在(B )使用定量分析来不断地改进和管理软件过程。

… 第3次作业 路松峰_ 2018-07-29 10:34:34 一、简答题 1、需求分析有哪三种方法 面向功能分析、面向数据分析、面向对象分析 ) 2、什么是面向数据结构方法 面向数据结构方法是一类侧重从数据结构方面去分析和表达软件需求,进行软件设计的开发方法。该方法从数据结构入手,分析信息结构,并用数据结构图来表示,再在此基础上进行需求分析,进而导出软件的结构。 二、判断题 1、需求评审人员主要由开发人员组成,一般不包括用户。 错误 2、非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的要求。正确 三、选择题 ;

软件工程复习题及答案

软件工程复习题(一) 一、选择题 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、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件详细设计主要采用的方法是( ) A、模块设计 B、结构化设计 C、PDL语言 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、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素质 16、程序流程图(框图)中的箭头代表( )。 A、数据流 B、控制流 C、调用关系 D、组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A、0 B、1 C、3 D、不确定的

软件工程期中考试答案

试卷代号: 上海电视大学2008至2009年第二学期期中考试 07级 专业第二学期 《软件工程》试题 2009年4月 一、单选题 20题 ,共40分,每题2分。 1. 软件是一种(B )产品。 A. 有形 B. 逻辑 C. 物质 D. 消耗 2. 软件工程是一种( A )分阶段实现的软件程序开发方法。 A. 自顶向下 B. 自底向上 C. 逐步求精 D. 面向数据流 3. 软件危机的主要原因有:( C ) ①软件本身的特点 ②用户使用不当 ③硬件可靠性差 ④对软件的错误认识 ⑤缺乏好的开发方法和手段 A. ③④ B. ①②④ C. ①⑤ D. ①③

4.软件生存周期模型有多种,下列选项中,(C)不是软件生存周期模型。 A.螺旋模型 B.增量模型 C.功能模型 D.瀑布模型 5.( B )阶段的工作是对用户的要求进行分析和综合,确定软件的基本目标 和逻辑功能要求,解决系统“做什么”的问题,并写出相应的文档资料。 A.软件计划 B.软件需求分析 C.软件总体设计 D.软件详细设计 6.( C )阶段的工作主要任务是解决系统“怎么做”的问题,决定软件系统 的模块结构,并给出模块的相互调用关系、模块间的传递的数据及每个模块的功能说明。并写出相应的文档资料。 A.软件计划 B.软件需求分析 C.软件总体设计 D.软件详细设计 7.( D )阶段是给出每一个模块内部过程的描述,并写出相关的文档资料。 A.软件计划 B.软件需求分析 C.软件总体设计 D.软件详细设计 8.在软件的生存周期中(D)的周期最长。 A.软件需求分析 B.软件设计

C.编码Array D.软件维护 9.研究软硬件资源的有效性是进行(A )研究的一方面。 A.技术可行性 B.经济可行性 C.社会可行性 D.操作可行性 10.数据流图是常用的进行软件需求分析的图形工具,其基本符号是( C )。 A.输入、输出、外部实体和加工 B.变换、加工、数据流和存储 C.加工、数据流、数据存储和外部实体 D.变换、数据存储、加工和数据流 11.系统流程图是描述(D)的工具 A.逻辑系统 B.程序系统 C.体系结构 D.物理系统 12.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘图方法中, (B)是常采用的。 ①自顶向下②自底向上 ③分层绘制④逐步求精 A.全是 B. ①③④ C. ②③④ D. ①④ 13.模块的独立性是由模块的内聚性和耦合性来度量的,其中内聚性是(B ) A.模块间的联系程度 B.模块的功能强度

华师在线软件工程作业答案选择题

软件工程作业 在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的功能可行性角度考虑的是()。 A.经济可性性 B.技术可行性 C.操作可行性 D.法律可行性 答案:B 为了提高模块的独立性,模块内部最好是()。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 答案:C Jackson方法是一种面向()的方法。 A.对象 B.数据结构 C.数据流 D.控制流 答案:B 需求分析阶段研究的对象是软件项目的()。 A.用户需求 B.合理要求 C.模糊要求 D.工程要求 答案:A 面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B.详细设计 C.软件设计 D.编码 答案:B 程序控制的三种基本结构中,()结构可提供多条路径选择。 A.反序 B.顺序 C.循环 D.分支 答案:D 下列属于黑盒测试的是()。 A.基本路径测试 B.条件测试 C.循环测试

软件设计一般分为总体设计和详细设计,它们之间的关系是()。 A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构 答案:A 好的软件结构应该是()。 A.高耦合,高内聚 B.低耦合,高内聚 C.高耦合,低内聚 D.低耦合,低内聚 答案:B 面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父类的全部描述(数据和操作)。 A.传递性 B.继承性 C.复用性 D.并行性 答案:B 软件项目管理是()一切活动的管理。 A.需求分析 B.软件设计过程 C.模块控制 D.软件生命周期 答案:D 一个模块把开关量作为参数传递给另一模型,这两个模块之间的耦合是()。 A.外部耦合 B.数据耦合 C.控制耦合 D.内容耦合 答案:C 在面向数据流的软件设计方法中,一般将信息流分为()。 A.变换流和事务流 B.变换流和控制流 C.事务流和控制流 D.数据流和控制流 答案:A 软件工程学科出现的主要原因是()。 A.计算机的发展 B.其他工程学科的影响 C.软件危机的出现

软件工程期末考试题含答案

一、选择题 1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。 ( C ), A .详细计划 B .可行性分析 C .运行阶段 D.测试与排 错 2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A ) A .需求分析阶段 B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段, 3.软件工程的出现主要是由于(C ) , A.程序设计方法学的影响 B.其它工程科学的影响 C.软件危机的出现 D.计算机的发展, 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C) A.硬件环境 B.软件开发的环境 C.软件开发工具和软件开发的环境 D.开发人员的素质 5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B) A.相互排斥B相互补充C独立使用 D.交替使用 是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C) A.基于瀑布模型的结构化方法 B.基于需求动态定义的原型化方法 C.基于对象的面向对象的方法 D.基于数据的数据流开发方法 7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B) A.结构化方法B原型化方法C面向对象的方法 D.控制流方法 8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B) A.控制流 B.数据流 C.程序流 D.指令流 9.软件开发的结构化生命周期方法将软件生命周期划分成(A) A.计划阶段.开发阶段.运行阶段 B.计划阶段.编程阶段.测试阶段 C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计 10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C) A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段

软件工程考试题带答案

一、选择题 1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B) A) 可行性研究,问题定义,需求分析。 B) 问题定义,可行性研究,需求分析。 C) 可行性研究,需求分析,问题定义。 D) 以上顺序都不对。 2.可行性研究主要从以下几个方面进行研究:(A) A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 3 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(C) A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。 C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。4.在详细设计阶段所使用到的设计工具是:(A) A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判 定树. B) 数据流程图,Yourdon 图,程序流程图,PAD图, N-S图,HIPO图。 C) 判定表,判定树,PDL,程序流程图,PAD图,N-S 图。 D) 判定表,判定树,数据流程图,系统流程图,程序流程 图,层次图。 5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A) A)模块的作用域应在模块的控制域之内。 B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。 D)以上说法都不对。 6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C) A.概要设计 B.详细设计 C.需求分析 D.可行性分析 7下面不是软件工程的3个要素的是(C) A过程 B.方法 C.环境 D.工具 8.下面不属于软件的组成的是(B) A程序 B.记录 C.文档 D.数据 9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C) A.维护时期 B.运行时期 C.定义时期 D.开发时期 10.在瀑布模型中,下面(C)是其突出的缺点。 A.不适应平台的变动 B.不适应算法的变动 C.不适应用户需求的变动 D.不适应程序语言的变动 11下面不属于软件的特点的是(D)。 A软件是一种软件产品 B软件产品不会用坏,不存在磨损、消耗问题 C软件产品的生产主要是研制 D软件产品非常便宜 12 软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。下面不是软件开发工具的是(A)。 A.维护工具 B.编码工具 C.测试工具 D.需求分析工具 13.下列叙述中不属于软件生命周期模型的是(D)。 A.原型模型 B.瀑布模型 C.螺旋模型 D.快速组装模型 14.软件设计中,用抽象和分解的目的是(B)。 A.提高易读性 B.降低复杂性 C.增加内聚性 D.降低耦合性 15软件生命周期中所花费用最多的阶段是(D)。 A.详细设计 B.软件编码 C.概要设计 D.软件测试和维护 16.开发软件时对提高开发人员工作效率至关重要的是(B)。

软件工程期末考试参考试题

软件工程期末考试参考试题 一、填空题 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. 建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处 理数据的来源和一个(输出)数据流来反映加工的结果 30. 从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。

软件工程在线作业及答案

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、什么叫软件? 软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因就是什么? 软件危机就是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 软件开发与维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也与软件开发与维护的方法不正确有关。具体表现如下: (1)软件就是逻辑部件而不就是物理部件。 (2)软件的规模越来越大,复杂性越来越大。 (3)轻视需求分析的重要性,轻视软件维护的错误观点与方法。 3、什么叫软件工程? 1968年在第一届NATO会议上的早期定义: “建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993年IEEE的定义: “①软件工程就是:把系统的、规范的、可度量的途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件;②进而研究①实现的途径”。 我们国家最近定义:软件工程就是指导计算机软件开发与维护的工程学科。它采用工程的概念、原理、技术与方法来开发与维护软件,把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来。 4、两种软件工程方法学开发软件时要建立哪些模型? 软件工程方法学包括:传统方法学与面向对象方法学。常用的开发模型有: 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析与概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性与无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1、管理过程模型。2、瀑布模型(又称为生命周期模型)。3、增量过程模型:包括增量模型,,RAD模型。4、烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。5、专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。 6、什么就是软件生命周期? 一个软件从定义,开发,使用与维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期 7、软件生命周期有哪几个阶段与步骤? 三个阶段:定义、开发、维护 八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护。 8、计算机软件的开发经过哪三个大阶段? 三个阶段:定义、开发、维护 9、软件开发的各阶段的任务就是什么? 定义阶段:问题定义--任务:关于规模与目标的报告书;可行性研究--任务:系统的高层逻辑模型:数据流图,成本/效益分析;需求分析--任务:系统的逻辑模型:数据流图,数据字典,算法描述。 开发阶段:总体设计--任务:系统流程图,成本/效益分析,推荐的系统结构:层次图/结构图;详细设计--任务:HIPO图或PDL 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

《软件工程》期中考试试题

可行性研究的目的是( ) 《软件工程》期中考试试题 选择题(每小题 1 分,共 40 分) 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )。 A. 软件工程 B.软件周期 C.软件危机 D.软件产生 ( )是将系统化的、 规范的、 可定量的方法应用于软件的开发、 运行和维护的过程。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 从结构化的瀑布模型看, 在它的生命周期中的八个阶段中, 下面的几个选项中哪个环节 出错,对软件的影响最大 ( )。 A 、详细设计阶段 B 、概要设计阶段 一个软件项目是否进行开发的结论是在( A. 软件开发计划 B ? 可行性报告 )文档中做出的。 C ?需求规格说明书 D.测试报告 需求分析的产品是( ) A ?数据流程图案 B .数据字典 C ?判定表 D ?需求规格说明书 需求分析中开发人员要从用户那里了解( ) A ?软件做什么 B ?用户使用界面 C .输入的信息 D ?软件的规模 瀑布模型本质上是一种( )模型。 A. 线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 瀑布模型存在的问题是( )。 A ?用户容易参与开发 B ?缺乏灵活性 C ?用户与开发者易沟通 D ?适用可变需求 螺旋模型是一种将瀑布模型和( )结合起来的软件开发模型。 A ?增量模型 B .专家系统 C ?喷泉模型 D ?变换模型 原型化方法是用户和设计者之间执行的一种交互构成,适用于( )系统。 A ?需求不确定性高的 B ?需求确定的 C .管理信息 D ?实时 软件可行性研究实质上是要进行一次 ( )需求分析、设计过程。 A 、简化、压缩的 B 、详细的 C 、彻底的 D 、深入的 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. C 、 需求分析阶段 D 、 测试和运行阶段

软件工程模拟试题1

一、选择题,请从四个可选项中选择正确答案。(60分,每题3分) 1、软件工程强调将()的方法应用于软件的开发和维护过程之中。 A.规范化B.系统化C.可度量D.以上全部 2、软件开发活动的顺序应该是()。 A.问题定义、可行性研究、需求分析、设计、编码和测试。 B.问题定义、设计、可行性研究、编码和测试。 C.需求分析、设计、编码和测试。 D.需求分析、编码和测试、试运行。 3、假定银行的存款年利率是2%,请问现在存5000元,两年后价值应为()元。A.5202 B.4500 C.5100 D.4712 4、系统物理模型用()表示。 A.系统流程图B.数据流程图 C.程序流程图D.E-R图 5、关于软件需求特性不正确的描述是“软件需求具有()”。 A.多变性B.模糊性C.准确性D.主观性 6、随着模块规模减小,模块开发成本_____,模块集成成本____()。 A.减小/减小B.减小/增加C.增加/减小D.增加/增加 7、反映模块独立性的指标是()。

A.模块的复杂性B.模块的大小 C.模块的参数D.内聚和耦合 8、面向过程的方法最关心的是过程,而过程实施的对象是作为过程()传递的。 A.过程B.主体C.参数D.数据结构 9、UML是一种()。 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.从详细设计阶段开始

《软件工程》期末考试题及答案++精华版!!

《软件工程》期末考试样题 一、填空题 1.软件开发模型有(瀑布模型)(螺旋模型)第四代技术模型(原型模型)构件组装模型、混合模型。 2.可行性研究一般可以从(经济)可行性、(技术) 可行性、运行可行性、法律可行性和开发可行性等方面来研究。 3.现在向银行存款,年利率为i,若希望在n 年后从银行得到F元,现在应该存入的钱数为 (F/(1+i)n)。 4.数据流图的基本符号包括(数据输入的源 点和数据输出的汇点)、(加工)、(数据流)、(数据存储文件)。 5.Jackson图除了可以表达程序结构外,还可以 表达(数据结构),它首先要分析(数据结构),并用适当的工具来描述。 6.详细设计的工具有图形工具)、表格工具和(语言工具)。 7.IPO图由(输入)、处理和(输出)三个框组 成。这个图的特点是能够直观的显示三者之间的关系。 8.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用(对象)、(类)、(继承)、(封装)、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 二、单项选择题 1.下列( A )属于系统软件。 A.WINDOWS 2000 B.Word C.Flash D.3D MAX 2.下列哪个图是N-S图的构件( C )。 A. B.

3.对于螺旋模型,下列( D 卡尔坐标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码 三、多项选择题 1.软件危机可以表现为(ABXD A.产品不符合用户的需要 B.软件产品的质量差 C.软件的可维护性差 D.软件的价格昂贵 2.Jackson图中一般可能包括(A.表头 B.表体 C.表名 D.字段名 AD )。、内容耦合是最高程度的耦合 、应该尽量使用内容耦合 、高级语言一般设计成允许内容耦合的形式、如果一个模块有多个入口,可能发生内容.下列属于不标准的书写格式( BCD )。、书写时适当使用空格分隔 、一行写入多条语句 、嵌套结构不使用分层缩进的写法 、程序中不加注释 ,错误的) 软件生存周期是从软件开始开发到开发结束 () 系统流程图是一个典型的描述逻辑系统的传() 数据流图和数据字典共同构成系统的逻辑 A

软件工程作业答案

软件工程网上作业题 第1章软件工程学概述 一、选择题 1、软件危机具有下列表现( ) I、对软件开发成本估计不准确 II、软件产品的质量往往不可靠 III、软件常常不可维护 IV、软件成本逐年上升 A.I、II与III B.I、III与IV C.II、III与IV D.以上都正确 答案:D 2、产生软件危机的原因可能有( ) I、用户需求描述不精确、不准确 II、对大型软件项目的开发缺乏有力的组织与管理 III、缺乏有力的方法学与工具的支持 IV、软件产品的特殊性与人类智力的局限性 A.I与II B.I、II与IV C.II、III与IV D.以上都正确 答案:D 3、( )分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。 A、增量模型 B.喷泉模型 C.原型模型D、螺旋模型 答案:A 4、为了克服软件危机,人们提出了用( ) 的原理来设计软件,这就就是软件工程诞生的基础。 A、数学 B、软件学 C、运筹学 D、工程学 答案:D 4、TURBO PASCAL就是()软件。 A、系统软件 B、人工智能 C、事务软件 D、应用软件 答案:D 6.具有风险分析的软件生存周期模型就是( ) A、瀑布模型 B、喷泉模型 C、螺旋模型 D、增量模型 答案:C 7、瀑布模型的关键不足在于( ) A、过于简单B、不能适应需求的动态变更 C、过于灵活D、各个阶段需要进行评审 答案:B

8.软件危机就是指( )。 A、软件遭到破坏 B、软件开发与维护过程中遇到的问题 C、软件维护出现困难 D、软件不能正常运行系列问题 答案:B 9、软件的复杂性就是( ),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A、固有的 B、人为的 C、可消除的 D、不可降低的 答案:A 10、( )就是将系统化的、规范的、可定量的方法应用于软件的开发、运行与维护的过程,它包括方法、工具与过程三个要素。 A、软件过程 B、软件测试C 、软件生存周期D 、软件工程 答案:D 11.软件的主要特性就是( )。 A、高性能 B、高成本 C、包括程序与文档 D、可独立构成计算机系统 答案:B 12.软件开发方法的主要工作模型有( ) A、螺旋模型 B、循环模型 C、瀑布模型 D、专家模型 13.软件工程三要素就是( )。 A、高技术人员、方法与工具 B、方法、工具与过程 C、方法、对象与类 D、过程、模型、方法 答案:B 14.软件工程的目标有( )。 A、易于维护 B、低的开发成本 C、高性能 D、短的开发期 答案:B 15.软件工程学的目的与意义就是( )。 A、应用科学的方法与工程化的规范管理来指导软件开发 B、克服软件危机 C、做好软件开发的培训工作 D、以较低的成本开发出高质量的软件 答案:D 16、开发软件所需高成本与产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A、软件工程 B、软件周期 C、软件危机 D、软件产生 答案:C 17、快速原型模型的主要特点之一就是( ) A、开发完毕才见到产品 B、及早提供全部完整的软件产品 C、开发完毕后才见到工作软件 D、及早提供工作软件 答案:D 18.瀑布模型的存在问题就是( ) A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 答案:B 19、软件生存周期模型不包括:() A、瀑布模型 B、对象模型 C、增量模型 D、喷泉模型 答案:B

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