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

软件工程习题

软件工程习题
软件工程习题

一、单项选择题

1.瀑布模型的存在问题是( B )

A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求

2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )

A.软件工程

B.软件周期

C.软件危机

D.软件产生

3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )

A.数据、公共、标记、控制

B.数据、标记、控制、公共

C.控制、数据、标记、公共

D.控制、数据、公共、标记

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

A.程序模块化

B.模块高内聚

C.模块低耦合

D.模块独立性

5.软件测试的目的是( B )。

A.评价软件的质量 B.发现软件的错误C.找出软件的所有错误 D.证明软件是正确的6.在设计测试用例时,(A)是用得最多的一种黑盒测试方法。

A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表

7. 需求分析最终结果是产生( B )。

A. 项目开发计划

B.需求规格说明书

C.设计说明书

D.可行性分析报告

8. Jackson图中,模块框之间若有直线连接,表示它们之间存在( A)。

A. 调用关系

B. 组成关系

C. 链接关系

D. 顺序执行关系

9. 软件详细设计的主要任务是确定每个模块的( C )。

A. 功能

B. 外部接口

C. 算法和使用的数据结构

D. 编程

10.为了提高软件的可维护性,在编码阶段应注意( B )

A.保存测试用例和数据

B.提高模块的独立性

C.文档的副作用

D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)

A.p﹡(1+i﹡n)不计复利B.p﹡(i+1)n C.p﹡(1+i)﹡n D.p﹡(i+n)

12.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为(A)。

A. 时间内聚

B.逻辑内聚

C. 通信内聚

D. 信息内聚

13.选择足够多的测试数据,使得判定表达式中的每个条件都取得各种可能的值,而且每个判定表达式也都取到各种可能的结果。满足这种测试条件的覆盖是(C )。 A. 判定覆盖 B.条件覆盖 C. 判定/条件覆盖 D. 条件组合覆盖

14.具有风险分析的软件生存周期模型是( C )

A.瀑布模型

B.喷泉模型

C.螺旋模型

D.增量模型

15.软件生命周期中所花费用最多的阶段是( D )

A.详细设计B.软件编码C.软件测试D.软件维护

16. 在整个软件维护阶段所花费的全部工作中,( C )所占比例最大。

A.校正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护

17.模块( B )定义为受该模块内一个判断影响的所有模块集合。

A.控制域 B. 作用域 C.宽度 D. 接口

18.指出PDL是下列哪种语言(A)。

A.伪码B、高级程序设计语言 C.中级程序设计语言D、低级程序设计语言19.在对数据流的分析中,主要是找到中心变换,这是从( C )导出结构图的关键。A.数据结构 B.实体关系 C. 数据流图 D. E—R图

20.结构分析方法就是面向( B )自顶向下逐步求精进行需求分析的方法。

A.目标 B.数据流 C.功能 D. 对象

21.下列( B )属于详细设计。

A.分析项目的成本和效益

B.为每个模块确定采用的算法

C.编写代码

D.确定模块结构,划分模块功能

22. 某次程序调试没有出现预计的结果,下列(C )不可能是原因。

A.变量没有初始化B.循环控制出错C.变量没有明确的注释D.代码输入有误23. 下列(B )属于不良的编程习惯。

A.尽量不使用GOTO 语句B.从来不使用注释C.每行只写一条语句D.变量命名尽量直观

24.下列( D )不属于软件维护的副作用。

A.代码副作用B.数据副作用 C.文档副作用D.恢复副作用

25.在可行性研究中难度最大的是( B )。

A.经济可行性B.技术可行性 C.运行可行性D.法律可行性

26.软件调试技术包括( B ) A.边界值分析B.演绎法C.循环覆盖D.集成测试

27.瀑布模型的存在问题是( B ) A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求

28.软件测试方法中的静态测试方法之一为( A )

A.计算机辅助静态分析B.黑盒法C.路径覆盖D.边界值分析

29.程序的三种基本控制结构是( B )

A过程、子程序和分程序B顺序、选择和重复C递归、堆栈和队列 D调用、返回和转移30.在详细设计阶段,经常采用的工具有( A ) A.PAD B.SA C.SC D.DFD 31.详细设计的结果基本决定了最终程序的( C ) A.代码的规模B.运行速度c.质量D.可维护性

32.需求分析中开发人员要从用户那里了解( A ) A.软件做什么 B.用户使用界面 c.输入的信息 D.软件的规模

33.结构化程序设计主要强调的是( D ) A.程序的规模 B.程序的效率 c.程序设计语言的先进性 D.程序易读性

34.经济可行性研究的范围包括( C ) A.资源有效性B.管理制度c.效益分析D.开发风险

35.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( B )的回答。A.确定B.行或不行c.正确D.无二义36.需求分析阶段的任务是确定( D ) A.软件开发方法 B.软件开发工具c.软件开发费 D.软件系统的功能

37.模块内聚度越高,说明模块内各成分彼此结合的程度越(A)。

A、松散

B、紧密

C、无法判断

D、相等

38.软件需求分析是保证软件质量的重要步骤,它的实施应该是在(C)。

A、编码阶段

B、软件开发全过程

C、软件定义阶段

D、软件设计阶段

39.软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)。

A、结构合理性

B、软件外部功能

C、程序正确性

D、程序内部逻辑

40.检查软件产品是否符合需求定义的过程称为(A)。

A、确认测试、

B、集成测试

C、验收测试

D、验证测试

41.软件文档是软件工程实施中的重要万分它不仅是软件开发各阶段的重要依据,而且与影响软件的(B)。

A、可理解性

B、可维护性

C、可扩展性

D、可移植性

42.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于(B)。

A、维护时期

B、计划时期

C、运行时期

D、开发时期

43.在七种偶合中,最低偶合是(D)A、内容偶合B、公共偶合C、数据偶合

D、非直接偶合

44.JACKSON方法是在软件开发过程中常用的方法,使用JACKSON方法时可以实现(A)。

A、从数据结构导出程序结构

B、从数据流图导出初始结构图

C、从模块结构导出数据结构

D、从模块结构导出程序结构

二、填空题

1.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义,可行性研究,(需求分析),总体设计,详细设计,(编码和单元测试),(综合测试),维护活动,可以将这些活动以适当方式分配到不同阶段去完成。2.(可行性研究)的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。

3.一个计算机系统的总体设计方案包括四方面内容:硬件工程、(软件工程)、(人机工程)和数据库工程。

4.总体设计过程通常由两个阶段组成:(系统设计阶段)和(结构设计阶段)。

5.(数据流图)是需求分析活动的焦点,通常用(数据流图)、(数据字典)和(主要的处理算法)描述这个逻辑模型。

6.数据流图仅反映系统必须完成的逻辑功能,所以它是一种(功能)模型。

7.效益分有形效益和无形效益两种。有形效益可用纯收入、(货币的时间价值)、(投资回收期)等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。

8.从应用特点的角度来看,我们可以把高级语言分为基础语言、(结构化语言)和(专用语言)三类。

9.一个模块拥有的直属下级模块的个数称为(模块的扇出),一个模块的直接上级模块的个数称为(模块的扇人)。

10.目前预防性软件维护采用的主要技术是(逆向工程)和(再生工程)。

11. 软件生存周期是指软件从(软件定义)、(软件开发)、(软件维护)直到最终被废弃的全过程。

12. 瀑布模型的核心思想是(按工序将问题简化)。

13. 在可行性研究中,(技术可行性)是最关键的因素。

14. 假设使用代码行技术进行费用估计,某软件中共5000行程序,每行平均成本20元,则该软件的成本为(100000元)。

15. 结构化分析方法常用的两种工具是(数据流图DFD)和(数据字典DD)。

16. 模块的分解和合并应力求(降低耦合提高内聚)。

17. 程序的效率包括两个方面的内容(时间复杂度)和(空间复杂度)。

18. 大型软件测试包括(单元测试)、集成测试、(确认测试)和(系统测试)四个步骤。

19. 提高软件质量和可靠性的技术主要有两类(避开错误技术)和(容错技术)。

21. 软件的维护一般经过(分析和理解程序)、(修改程序)、(重新验证程序)三个步骤。

22. 软件开发需要的资源包括(软件工具)、(硬件工具)和(人),其中(人)是最基本的资源。

23.基于软件的工作方式,可以将软件划分为(实时处理软件)、分时处理软件、(交互式软件)和(批处理软件)。

24. 数据字典中有四类条目:(数据流)、数据项、(数据存储)、处理。

25.系统流程图是描绘(物理系统)的传统工具。

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

27.软件需求的正确性可以从一致性、(完整性)、现实性和( 有效性)四个方面验证。

28.在Jackson系统开发方法中,使用(顺序)、(选择)和(重复)三种基本的结构就可以组合出各种复杂的结构体系。

29.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、(可移植性)、可使性和效率。

30.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=(F / (1+i )n )

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

32.软件结构是以(模块)为基础而组成的一种控制层次结构。

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

34.结构化语言是介于自然语言和(形式语言)之间的一种半形式语言。

35.详细描述处理过程常用三种描述工具:(图形)、(表格)和(语言)。

36.结构化设计以(数据流)为基础映射成软件结构。

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

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

39.成本效益分析的目的是从(经济)角度评价开发一个软件项目是否可行。

三、问答题

1.简述什么是软件,什么是软件工程?它的目标和内容是什么?软件:程序以及开发、使用和维护程序所需要的所有文档。软件:计算机程序、方法、规则、相关的文档资料以及在计算机上运行程序时所必需的数据。(软件=程序+文档+数据) 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前呢能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时完成开发任务,及时交付费用;开发的软件可靠性高。内容:软件开发技术和软件工程管理。

2.简述什么是软件的逆向工程?软件的逆向工程就算是分析已有的程序,寻求比源代码更高级的抽象表现形式,一般认为,凡是在软件生命周期内的,将软件的某种形式的描述转换为更抽象形式的活动都可称为逆向工程。

3.简述模块独立性的重要性?主要有两条理由:1. 有效的模块化(即具有独立的模块)的软件比较容易开发出来。2. 独立的模块比较容易测试和维护。

4.为什么软件测试不应该由程序的编写人员来做?软件测试的目的是为了发现程序中的错误而执行程序的过程。正确认识测试的目标是十分重要的,测试目标决定了测试方案的设计。如果为了表明程序是正确的而进行测试,就会设计一些不易暴露错误的测试方案;相反,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己进行测试是不恰当的。5.简述什么是软件危机以及软件危机主要包含哪两个方面的问题?软件危机指的是软件开发和维护过程中遇到的一系列严重问题。危机包含下述两方面的问题:如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。

6.什么是数据字典?简述数据字典与数据流图的关系?数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据

字典也难于发挥作用。数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。

7.简述编码风格的重要性?阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章。应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间。良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量。

8. 两个模块之间出现哪些情况称为内容耦合?如果出现下列情况之一,两个模块之间就发生了内容耦合:一个模块访问另一个模块的内部数据;一个模块不通过正常入口而转到另一个模块的内部;两个模块有一部分程序代码重叠;一个模块有多个入口。

9.耦合的强弱取决于哪些因素?耦合的强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。

10.分析软件危机产生的主要原因有哪些?1.软件本身的特点:1)软件是逻辑部件而不是物理部件,缺乏“可见性”,管理和控制软件开发过程相当困难2)软件维护较难3)软件规模庞大2.软件开发与维护的方法不正确:1)忽视需求分析;2)轻视软件维护

11.说明软件测试和调试的目的有何区别?软件测试是为了发现软件中的缺陷而执行待测软件的过程,其目的是发现软件中的缺陷。软件调试是首先对于已发现的软件中的缺陷进行定位,接下来对定位到的缺陷进行修改。简而言之,测试的主要工作是找缺陷,而调试的目的是为了解决缺陷。

12.可行性研究的任务是什么?可行性研究的任务目的是用最小的代价在尽可能短的时间内确定问题是否能够解决,他的目的不是解决问题,而是确定问题是否值得去解决。可行性研究最根本的任务是对以后的行动方针提出建议。

13.什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么关系?

一个模块的影响范围指受该模块内一个判定影响的饿所有模块的集合。一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。一个模块的影响范围应在其控制范围之内,且判定所在模块应在其影响的模块在层次上尽量靠近,如果在设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点”或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。

14.如何做好软件质量保证工作?1、质量保证工作,重流程,轻实施是我们的一个问题2、质量保证工作,重知识,轻经验3、质量保证人员不要抢功劳4、质量保证工作,不能一开始就全面开花,而要由点到线,由线到面5、做质量保证工作,最重要的是做人的工作,这里分两个问题来说明,一个是你要有自己可信赖的人员6、质量保证工作,遇到问题,先解决问题,找出原因,进行改进,而不要一味地追查责任。

15.什么是数据流图?其作用是什么?数据流图(DFD)是一种图形化技术,它描述信息流和数据从输入移动到输出的过程中所经历的变换,数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描述信息在系统中流动和处理的情况.作用: 1)作为交流信息的工具;2)作为分析和设计的工具

16.采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点?一等价类划分—是将输入数据域按无效的或有效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试;二边界值分析—将测试边界情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例;三错误推测—没有确定的步骤,凭检验进行,基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例;四因果图—能有效的检测输入条件的各种组合可能会引起的错误,因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。

17.概要设计阶段的基本任务是什么?1)设计软件系统结构2)数据结构及数据库设计,汉数据结构的设计及数据库的设计3)编写概要设计文档主要有:概要设计说明书;数据库设计说明书;用户手册;修订测试计划4)评审

18.请说明软件文档的作用?提高软件开发过程的能见度;提高开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息便于使用和维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。

19.什么是确认测试?该阶段有哪些工作?确认测试又称有效性测试它的任务是检查软件的功能和性能与否与需求规格说明书中确定的指标相符合。确认测试阶段有两项工作,进行确认测试与软件配置审查。确认测试一般是在模拟环境中运用黑盒测试方法,有专门测试人员和用户参加的测试;软件配置审查的任务是检查软件的所有文档资料的完整性、正确性。如发现遗漏和错误,应补充和改正,同时要编排好目录,为以后的软件维护工作奠定基础。

22.软件维护的特点是什么?1、结构化维护与非结构化维护差别巨大——非结构化维护;结构化维护2、维护的代价高昂3、维护的问题很多——理解别人写的程序通常非常困难,而且困难程度随着软件配置成分的减少而迅速增加;需要维护的软件往往没有合格的文档,或者文档资料显著不足;当要求对软件进行维护时,不能指望由开发人员给我们仔细说明软件;绝大多数软件在设计时没有考虑将来的修改;软件维护不是一项吸引人的工作。

四、论述题

1.某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论教师是什么职称,每课时津贴一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:教授30元,副教授25元,讲师20元,助教15元。请用判定表描述上述问题。

2.某厂对部分职工重新分配工作的政策是:年龄在二十岁以下者,初中文化程度脱产学习、高中文化程度当电工;年龄在20岁到40岁之间者,初高中文化程度男性当钳工,女性当车工、大学文化程度都当技术员;年龄在40岁以上者,初高中文化程度当材料员、大学文化程序当技术员。判定表或判定树描述上述问题的加工逻辑。

3.

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的值返回给调用程序。答题要求:

画出流程图。(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.

4.已知有如下的伪代码程序:

START

I:=1;

WHILE i:<=n-1 DO

min:=A[i];

j:=i+1;

WHILEj<=n DO

IF min>A[j]

THEN

BLOCK

temp:=min;

min:=A[j];

A[j]:=temp;

ENDBLOCK

ENDIF;

j:=j+1;

ENDDO

i:=i+1;

ENDDO

STOP要求:(1)请用盒图描述。(2)请用流程图描述。

5.下图为一个被测程序流程图,试用条件覆盖方法为它设计足够的测试用例

X=1.5(通过路径:abh)X=2.5(通过路径:acdh) X=3.5(通过路径:acefg) X=4.5(通过路

径:acegh)

6.说明下列程序段的缺点,并在不改变程序段功能的前提下将其修改为没有GOTO指

令的程序。

MAXV AL=A(1) 答,程序段存在的主要问题:(1)滥用GOTO语句

DO 40 I=2,10 (2)不注意语句的缩进IF(A(I).GT.MAXV AL) GOTO 30 程序段可修改如下c

GOTO 40 MAXV AL二A(1)

30 MAXV AL=A(I) DO 40 I=2,10

40 CONTINUE 1F(A(1).GT.MAXV AL) MAXV AL=A(1) 40 CONTINUE

7. 已知被测试模块流程图如下,按照“条件覆盖”法,在表格中填入满足测试要求的数据。

假设几种可能的条件是:T1: A>2 F1:A<=2 T2: B=1 F2: B≠1 T3: A=1 F3:A≠1 T4:Y>1 F4:Y<=1填写下表

8. 根据伪码程序画出程序流程图、N-S图。

START

A

DO WHILE P

B

ENDWHILE

C

D

STOP

9.根据下列条件使用等价划分法设计测试用例。某一8位微机,其十六进制常数定义为:以Ox或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。

解:(1)划分等价类并编号,如下表所示:十六进制整形常量输入条件的等价类表

(2)为合理等价类设计测试用例,表中有三个合理等价类,设计两个例子

(3)为每个不合理等价类至少设计一个测试用例

10.根据此软件结构图,试说明:

(1)A 模块的控制域的范围;(2)如果A 做出的

判定影响模块G 中的处理过程,会有什么坏处?(3)可以如何修改?

11.此C 程序描述了最多输入50个值(以–1作为输入结束标志),统计输入数据的个数,并计

算总数和求平均值。

main( ) { int a[50], x, sum=0, i=0, n=0; float average=0; scanf(“%d”,&a[i]); while(i<=49 && a[i]!= -1) { sum=sum+a[i]; i++;scanf(“%d”,&a[i]); } if(i>0) average=(float)sum/i; else average=-1;

printf(“i=%d,sum=%d,average=%f”,i,sum,average ); }

要求:1)画出该程序的N-S 图;2)画出该程序的流图;3)计算该程序的环型复杂度; 4)确定该程序基本路径集合;5)为每一条独立路径各设计一组测试用例。 解:步骤1:导出过程的流图。

步骤2:确定环形复杂性度量V(G):1)V(G)= 6 (个区域) 2)V(G)=E –N+2=16–12+2=6其中E

为流图中的边数,N为结点数;3)V(G)=P+1=5+1=6其中P为谓词结点的个数。在流图中,结点2、3、5、6、9是谓词结点。

步骤3:确定基本路径集合(即独立路径集合)。于是可确定6条独立的路径:路径1:1-2-9-10-12路径2:1-2-9-11-12

路径3:1-2-3-9-10-12路径4:1-2-3-4-5-8-2…路径5:1-2-3-4-5-6-8-2…路径6:1-2-3-4-5-6-7-8-2…

步骤4:为每一条独立路径各设计一组测试用例,以便强迫程序沿着该路径至少执行一次。

1)路径1(1-2-9-10-12)的测试用例:score[k]=有效分数值,当k < i ;score[i]=–1, 2≤i≤50;期望

结果:根据输入的有效分数算出正确的分数个数n1、总分sum和平均分average。

2)路径2(1-2-9-11-12)的测试用例:score[ 1 ]= – 1 ;期望的结果:average = – 1 ,其他量保持初值。

3)路径3(1-2-3-9-10-12)的测试用例:输入多于50个有效分数,即试图处理51个分数,要求前51个为有效分数;期望结果:n1=50、且算出正确的总分和平均分。

4)路径4(1-2-3-4-5-8-2…)的测试用例:score[i]=有效分数,当i<50;score[k]<0,k< i ;期望结果:根据输入的有效分数算出正确的分数个数n1、总分sum和平均分average。

12.某运动会管理系统接受来自运动员的报名单、裁判的比赛项目及项目成绩,产生运动员号码单发送给运动员,项目参加者发送给裁判,单项名次、团体名次发送给发布台。该系统有两部分功能1)登记报名单:接受报名单、比赛项目,产生运动员号码单、项目参加者,形成运动员名单及团体成绩表两种数据存储2)统计成绩:接受项目成绩,查询运动员名单,产生单项名次,填写团体成绩,最后产生团体名次。用SA方法画出数据流图及软件结构图。

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

要求:(1).对以上问题画出数据流程图。(2).画出该培训管理的软件结构图的主图。

14.图书馆的预定图书子系统有如下功能: 1)由供书部门提供书目给订购组; 2)订书组从各单位取得要订的书目; 3)根据供书目录和订书书目产生订书文档留底; 4)将订书信息(包括数目,数量等)反馈给供书单位; 5)将未订书目通知订书者; 6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。试根据要求画出该问题的数据流程图,并把其转换为软件结构图。

软件工程试题及答案

软件工程 窗体顶端 1: 92.下面说法哪个不属于设计准则() 1.①提高模块的内聚,降低模块间的耦合 2.②降低模块接口的复杂程度 3.③模块大小要适中 4.④模块要有重用性 2:88.计算机的体系结构对程序设计语言具有() 1.①反作用 2.②促进作用 3.③抑制作用 4.④完善作用 3:79.程序图的作用是() 1.①定性度量软件的复杂程度 2.②定量度量软件的复杂程度 3.③预测软件的质量标准 4.④估计软件中的错误数量 4: 87.下面说法正确的是() 1.①模块的作用域在模块的控制域之内 2.②模块的控制域在模块的作用域之内 3.③模块的作用域和模块的控制域有时相同

4.④模块的作用域和模块的控制域都是一种层次结构5:94.等价类划分属于() 1.①白盒测试 2.②黑盒测试 3.③穷尽测试 4.④系统测试 6:90.软件维护组织包括() 1.①系统维护人员和系统管理人员 2.②系统程序员和硬件维护人员 3.③系统程序员和操作员 4.④打字员和软件工程师 7: 86.可行性研究阶段使用的图形工具是() 1.①DFD图 2.②N-S图 3.③PAD图 4.④Warnier图 8: 85.好的软件结构它的外观形状一般呈() 1.①线性 2.②扇形 3.③椭圆形 4.④层次型

9: 93.变换型结构的数据流呈() 1.①线性形状 2.②辐射状 3.③椭圆形 4.④阶梯形 10:78.结构化程序设计就是要() 1.①保留GOTO语句 2.②取消前转GOTO语句 3.③限制GOTO语句的使用 4.④取消后转GOTO语句 11: 89.若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用() 1.①自顶向下的开发方法 2.②自底向上的开发方法 3.③渐增式的开发方法 4.④非渐增式的开发方法 12: 软件工程的七条基本原理中有一条是“坚持进行阶段评审”,要这么做的理由有(1 )。 ①大部分错误是在编码之前造成的 ②在软件开发过程中插入阶段评审是为了张弛有度、提高开发效率 ③错误发现得越晚,所付出的修正代价越高 ④为了便于控制开发进度 1.供选择的答案: 1.A. ①② 2.B. ①③

最新软件工程试题和答案

一、选择 1、在软件开发的各种资源中,(B)是最重要的资源。 A开发工具B方法C硬件环境D人员 2、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A固有的B人为的C可消除的D不可降低的 3、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A )系统。 A需求不确定的B需求确定的C管理信息D决策支持 4、单元测试的测试用例主要根据( D )的结果来设计。 A需求分析B源程序C概要设计D详细设计 5、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A软件过程B软件工具C软件生存周质量保证D软件工程 6、(A )意味着一个操作在不同的类中可以有不同的实现方式。 A多态性B类的复用C封装 7、软件测试计划开始于需求分析阶段,完成于(D )阶段。 A需求分析B软件设计C软件实现D软件测试 8、在软件生存周期的瀑布模型中一般包括计划、(C )、设计、编码、测试、维护等阶段。 A可行性分析B需求采集C需求分析D问题定义 9. 软件需求分析阶段的测试手段一般采用( C )。 A总结B阶段性报告C需求分析评审D不测试 10. (C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A多态性B继承C封装D消息 11. 软件测试是为了(B )而执行程序的过程。 A纠正错误B发现错误C避免错误D证明正确 12. 在结构化分析方法中,(C )表达系统内部数据运动的图形化技术。 A数据字典B实体关系图C数据流图D状态转换图 13. 软件工程的基本要素包括方法、工具和( A )。 A过程B软件系统C硬件环境D人员 14. TURBO PASCAL是(A)软件。

软件工程考试题库

软件工程考试题库 Final approval draft on November 22, 2020

一填空题 1.用原型过程代替全部开发阶段,这种快速原型是(实验型或演化型)原型。 2.可行性研究实质上是进行一种简化、压缩了的(需求分析和设计)。 3.结构图的主要内容有(模块)、(模块的控制关系)、(模块的信息传递)。 4.模块之间的联系越紧密,其耦合性就越(强),模块的独立性就越(差)。 5.软件工程研究的主要内容包括软件开发技术和软件开发管理两个方面,在软件开发技术方面,主要是研究(软件开发方法)、(软件开发过程)、(软件开发工具和环境),在软件开发管理方面,主要是研究(软件管理学)、(软件经济学)、(软件心理学)。 6.状态图反映了(状态)与(事件)的关系,状态图确定了由事件序列引起的(状态序列)。 7.可行性研究实质上是进行一种简化、压缩了的(需求分析和设计)。 8.在数据流图中,(数据流)是数据在系统内传播的路径,因此由一组(成分固定的数据项)组成,加工(又称为数据处理)是对数据流进行某些(操作或交换)。 9.(偶然内聚)指一个模块内的各处理元素之间没有任何联系,这是内聚程度最(差)的内聚。 10假如n个相同的系统(硬件或软件)进行测试,它们的失效时间分别是t1,t2,tn,则平均失效等待时间MTTF=(1/n )。 11(维护申请报告)是一种由用户产生的文档,它用作计划维护任务的基础。 12在软件开发和维护过程中,一个软件往往有许多版本,版本控制工具用来存储、更新、恢复和管理一个软件的(多个版本)。 13软件工具通常由工具、(工具接口)和用户工具三个部分组成。 14类的实例化是(对象)。 15形式化规约语言由(语法)、(语义)和(一组关系)组成。 16 软件质量保证应从(产品计划和设计)开始,直到投入使用和售后服务的软件生存期的每一个阶段中的每一步骤。 17 为了提高软件的质量,软件质量保证的任务大致可归结为以下8类:(正确定义用户要求)、(技术方法的应用)、(提高软件开发的工程能力)、(软件的复用)、(发挥每个开发者的能力)、(组织外部力量协作)、(排除无效劳动)、(提高计划和管理质量)。 18 软件测试时需要的三类信息,分别是(软件配置)、(测试配置)、(测试工具)。 19 在面向对象方法中,信息隐蔽通过对象的(封装性)来实现,类结构分离了(接口)与(实现),从而支持了信息隐蔽。 20 增量模型在开发工程中以一系列(增量方式)开发系统,推迟某阶段的(细节),从而(尽早)产生工作软件。 二选择题 1.(A)是计算机程序及其说明程序的各种文档。 A 软件 B文档 C 数据 D 程序 2.软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、(B)和维护等活动。 A 应用 B 测试 C 检测 D 以上答案都不正确 3.建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是(B)。 A 用于验证软件需求的原型 B 垂直原型 C 用于验证设计方案的原型 D 用于演化出目标系统的原型

软件工程试题(附答案)

软件工程试题(附答案)

《软件工程》作业 班级2000(春)计算机本科姓名罗国南学号001000490 成绩____________ 一、判断题 可行性研究的最根本的任务是对以后的行动方针提出建议。√ PDL语言是详细设计的重要工具,可方便地实现程序的自动生成。√ 模块的控制域应该在作用域之内。 面向对象方法把对象作为数据及可以施加在这些数据上的操作所构成的统一体。√ 软件是一种逻辑实体,而不是具体的物理实体。√ 软件测试时经常要输入无效的,不合理的数据进行测试。√ 高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。√

软件维护的前提是不能失去原有软件的基本功能。√ Gantt图可以明确地表示出各子任务之间的依赖与制约关系。× 与其它开发的方法相比较,结构化方法的主要优点之一是对用户需求的变更响应迅速。× 适应性维护的目的是为了适应计算机软、硬件环境的变化。√ 系统流程图可以描述系统的逻辑模型,它的基本思想是用图形符号以黑盒子形式描绘系统里 的每个部件。× 工程网络图可以描绘各子任务作业的工作时间和可以机动(延长)时间。√ 在面向对象方法中,对象是进行处理的主体。√ 调试是在测试出错误之后,找到错误的位置并改正的过程。√

不允许使用GOTO语句是结构程序的特征。× 面向对象技术的最大优点是减少了软件的开发时间。× 用盒图和PAD图设计出来的算法必定是结构化的。√ 逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。√ 可行性研究的结果有可能将软件开发项目否定。√ 在面向对象方法学中,使用“对象”不仅需要知道它向外界提供的接口形式,而且必须知道它的内部实现算法。× 传统的流程框图不能用来进行结构化程序设计。× 一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。√ 成功的测试是没有发现错误的测试。×

软件工程试题与答案

安徽三联学院2011-2012学年度第一学期 《软件工程》期终考试试卷(A卷) 一、选择题(每小题2分,计20分) 1.请按顺序写出软件生命期的几个阶段__F__,__D__ ,__C__,___E_,__B__,___A_。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析 2.一个模块直接控制(调用)的下层模块的数目称为模块的_____B__。 A.扇入数 B、扇出数 C、宽度 D、作用域 3.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试 (A) A.单元测试 B.系统测试 C.集成测试D.确认测试 4.一个软件项目是否进行开发的结论是在___B___文档中作出的。 A.软件开发计划B、可行性报告C、需求分析说明书D、测试报告 5.系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在 (B)阶段进行的。 A.需求分析B.总体设计C.详细设计D.编码阶段 6.CMMI标准的5个级别分别是完成级、管理级、定义级、量化管理级和( C ) A.初始级B.可重复级C.优化级D.过程级 7.PAD(Problem Analysi s Diagram)图是一种____工具。( B) A.系统描述B.详细设计C.测试D.编程辅助 二、填空题(每空格1分,计20分) 1、软件的通俗解释是软件= 程序+ 数据+ 文档资料。 4、系统测试包括的4种类型:恢复测试、安全测试、强度测试和性能测试。 6、统一建模语言(UML)提供的9种图分别是:用例图、类图、对象图、 状态图、顺序图、协作图、活动图、组件图和部署图。 7、软件工程标准的5个级别:国际标准、国家标准、行业标准、企业 规范 和项目规范。 三、名词解释题(每题4分,计20分) 1、软件工程: 软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 2、再工程: 软件再工程是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程3.模块化: 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性 四、简答题(每题5分,计20分) 1、简述软件工程的基本原理? 1.严格按照软件生命周期计划进行管理.2.坚持进行阶段评审.3.实行严格的产品控制. 4.采用先进的程序设计技术. 5.结果应能清楚的审查.6.开发小组成员应少而精.7.承认不断改进软件工程实践的必要性

软件工程考试题库

软件工程概述 一单项选择 1.软件生命周期一般包括:软件开发期和软件运行期,下述(D)不是软件开发期所应包含的内容。 A需求分析B结构设计C程序编制D软件维护 2.软件是一种逻辑产品,它的开发主要是(A)。 A研制B拷贝C再生产D复制 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是(C)。 A喷泉模型B增量模型C瀑布模型D螺旋模型 4.在软件生存周期中,(B)阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计B可行性分析和项目开发计划C概要设计D软件测试 5.软件产品与物质产品有很大区别,软件产品是一种(C)产品 A有形B消耗C逻辑D文档 6.(C)把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。 A原型模型B螺旋模型C基于知识的智能模型D喷泉模型 7.(B)阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。 A概要设计B详细设计C编码D测试 8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A)。 A原型模型B瀑布模型C基于知识的智能模型D变换模型 9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是(C)。 A原型模型B瀑布模型C喷泉模型D螺旋模型 10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是(D)。 A原型模型B瀑布模型C喷泉模型D螺旋模型 11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C)。 A可修改性B可靠性C可适应性D可重用性 12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B)。 A可移植性B可重用性C容错性D可适应性 13.软件特性中,(A)是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性B可靠性C可适应性D可重用性 14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为(B)。 A可理解性B可维护性C可适应性D可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C). A可理解性B可修改性C可移植性D可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是(D)。 A有效性B可适应性C正确性D可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A)。 A可修改性B可适应性C可维护性D可移植性 18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B)。 A可理解性B可互操作性C可维护性D可追踪性 19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向

软件工程复习题库(挂答案)

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

软件工程试题及答案34385

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:() A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

软件工程题库

软件工程单元一(概述) 一单项选择 1.软件是一种逻辑产品,它的开发主要是(A )。 A研制B拷贝C再生产D复制 2.软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。 A需求分析 B 结构设计C程序编制D软件维护 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。 A喷泉模型 B 增量模型C瀑布模型D螺旋模型 4.在软件生存周期中,(B )阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试 5.软件产品与物质产品有很大区别,软件产品是一种(C )产品 A有形 B 消耗C逻辑D文档 6.(C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。 A 原型模型 B 螺旋模型 C 基于知识的智能模型 D 喷泉模型 7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。A概要设计 B 详细设计 C 编码 D 测试 8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A )。 A 原型模型 B 瀑布模型 C 基于知识的智能模型 D 变换模型 9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是(D )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C )。 A可修改性B可靠性C可适应性 D 可重用性 12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。 A可移植性B可重用性 C 容错性 D 可适应性 13.软件特性中,(A )是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性B可靠性C可适应性 D 可重用性 14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为(B )。 A可理解性 B 可维护性C可适应性 D 可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C ). A可理解性B可修改性C可移植性 D 可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( D )。 A有效性B可适应性C正确性 D 可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A )。 A可修改性B可适应性C可维护性 D 可移植性 18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B )。 A可理解性B可互操作性C可维护性 D 可追踪性 19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力指的是(C )。 A 可理解性 B 可互操作性C可追踪性 D 可维护性 20.软件的可修改性支持软件的(D )。 A 有效性 B 可互操作性C可追踪性 D 可维护性 21.软件的可移植性支持软件的(A )。 A 可适应性 B 可互操作性C可追踪性 D 有效性 22.软件的可理解性支持软件的(B )。

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , . 设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

软件工程考试题(带答案)..

一、选择题 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)。

软件工程题库及答案

一、选择题 软件(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.硬件的发展 12. 3. 软件管理工作涉及到的直接对象不包括( B )。 A.软件开发人员 B.硬件设备 C.项目经费 D.软件项目 13. 4. 软件工程方法学有三个要素,它们是(A ) A.方法、工具和过程 B.质量、进度和成本 C.顺序、分支和循环 D.入口、过程、出口生命周期及模型(5) 14.1:软件工程中描述生命周期的瀑布模型一般包括计划、( A )、设计、编码、测试、维 护等几个阶段。 A.需求分析 B.需求调查 C.可行性分析 D.问题定义 15. 2.瀑布模型把软件生存周期划分为软件计划、软件开发与(C )三个阶段,而每一阶 段又可分为若干更小的阶段。 A. 详细设计 B. 可行性分析 C. 运行与维护 D. 测试与排错 16.3:下列哪个模型没有采用迭代的思想(A ) A.瀑布模型 B.渐增模型C.螺旋模型 D.RUP模型 17.4:下列关于瀑布模型的描述正确的是( D )。 A.利用瀑布模型,如果发现问题修改的代价很低 B.瀑布模型的核心是按照软件开发的时间顺序将问题简化 C.瀑布模型具有良好的灵活性 D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开 18.5:瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 19. 6. 快速原型模型的主要特点之一是( D ) A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 D.及早提供工作软件 20.7:瀑布模型的关键不足在于( B ) (A)过于简单(B)不能适应需求的动态变更 (C)过于灵活(D)各个阶段需要进行评审 21.8:瀑布模型存在的问题是( D )。 A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求 问题定义(1)

《软件工程》试题及参考答案(第6套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 3、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 4.下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。 A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度 C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的 6.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性 D.可移植性 7.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测 试 D.软件维护 8.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能

软件工程题库

软件工程题库 一单项选择 1.软件是一种逻辑产品,它的开发主要是(A )。 A研制B拷贝C再生产D复制 2.软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。 A需求分析 B 结构设计C程序编制D软件维护 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。 A喷泉模型 B 增量模型C瀑布模型D螺旋模型 4.在软件生存周期中,(B )阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试 5.软件产品与物质产品有很大区别,软件产品是一种(C )产品 A有形 B 消耗C逻辑D文档 6.(C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。 A 原型模型 B 螺旋模型 C 基于知识的智能模型 D 喷泉模型 7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。A概要设计 B 详细设计 C 编码 D 测试 8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A )。 A 原型模型 B 瀑布模型 C 基于知识的智能模型 D 变换模型 9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是( D )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C )。 A可修改性B可靠性C可适应性 D 可重用性 12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。 A可移植性B可重用性 C 容错性 D 可适应性 13.软件特性中,(A )是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性B可靠性C可适应性 D 可重用性 14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为( B )。 A可理解性 B 可维护性C可适应性 D 可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C ). A可理解性B可修改性C可移植性 D 可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( D )。 A有效性B可适应性C正确性 D 可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A )。 A可修改性B可适应性C可维护性 D 可移植性 18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B )。 A可理解性B可互操作性C可维护性 D 可追踪性 19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行

软件工程试题及答案

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

软件工程试题与答案

《软件工程模拟试题及参考答案》(一) 一、单向选择题(四选一、每小题3分,共18分) 1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。 对应 映射 反映 反射 2、盒图也称为(D)或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 流程图 框图 判定表 N-S图 3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。 程序 数据 逻辑 物理 4、人机界面的风格大致经过了(B)代的演变。

三 四 五 六 5、以下不属于白盒测试技术的是(D) 逻辑覆盖 基本路径测试 循环覆盖测试 等价类划分 6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。 纠错性维护 适应性维护 改善性维护 预防性维护 二、填空题(每空2分,共18分) 1.文档—一种数据媒体和其上所记录的(数据)。 2.机器语言、汇编语言:依赖于机器,面向(机器) 3.软件有效性,指软件系统的时间和(空间)效率。 4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。

7.一个软件的深度是指其控制的(层数)。 8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终 可运行的代码的过程叫(编码)过程。 9.软件维护是软件生命周期的(最后)一个阶段。 三、判断题(每小题2分,共24分,错误打X、正确打√) 1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之 一。(√) 2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X) 3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第 一手资料,并从中提取出有价值的需求。(√) 4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计 一些复杂的算法等场合。(√) 5.流程图也称为程序框图是最常用的一种表示法。(√) 6.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三 种基本形式表示数据等步骤。(√) 7.理想的人机界面应针对具有典型个性的特定的一类用户设计。(√) 8.数据输入的一般准则中包括尽量增加用户输入的动作。(X) 9.用穷举测试是较现实的测试方法。(X) 四、简答题(每小题4分,共20分)

软件工程试题库集及答案

综合练习一答案 选择题: 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。用户和软件人员的领导

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