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

一、填空题

1.程序设计的三种基本结构是、、(顺序、条件、循环),它们的共同点是一个

入口和一个出口。

2.程序的三种基本控制结构的共同特点是。(单入口单出口)

3.用结构化语言来描述加工逻辑的外层结构时,基本结构有________(顺序结构、选择结构、循环结构)

4.软件的实现阶段主要包括(编码)阶段和(测试)阶段。

5.计算机程序及其说明程序的各种文档称为。(软件)

6.软件是、和(程序、数据、相关文档)的完整集合。

7.软件工程管理的具体内容包括对开发人员、组织机构、用户和______(文档资料)等方面的管理。

8.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以(软件文

档)的编制是很重要的。

9.软件工程方法学有3大要素、工具、。(方法、过程)

10.需求分析是确定系统(必须做什么),其最终成果是(需求分析规格说明书)。

11.在需求分析中,开发人员要从用户那里解决的之重要的问题是。(软件应当做什么)

12.软件开发活动的顺序是_________。(问题定义、可行性研究、需求分析、设计、编码和测试)

13.软件需求分析的任务包括_________。(问题分析、信息域分析、确定程序结构)

14.最早提出软件系统维护问题的阶段是_________。(需求分析)

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

16.“软件危机”是指________ 。(软件开发和维护中出现的一系列问题)

17.快速原型模型是用户和设计人员之间的一种交互过程,适用于(需求不确定性高)的系统。

18.快速原型是利用原型辅助软件开发的一种新思想,它是在研究(需求阶段)的方法和技术中产

生的。

19.瀑布模型是以文档为驱动,适用于(软件需求明确)的系统。

20.瀑布模型本质上是一种________ 模型。(线性顺序)

21._______(喷泉模型)是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的软件开发

方法。

22.瀑布模型的主要特点是_________。(将软件生命周期个阶段依线性顺序连接、用文档驱动的模型)

23.增量模型根据增量方式和形式的不同,分为_____(渐增式增量模型)和原型模型。

24.从目前情况来看,增量模型存在的主要问题是(缺乏丰富而强有力的软件工具和开发环境)

25.可行性研究的目的是______。(确定系统是否值得开发)

26.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的

_________。(8%)

27.可行性研究从技术可行性、经济可行性、________、_________(社会因素、软件开发风险分析)四方

面进行分析。

28.数据字典是用来定义_________中的各个成份的具体含义的。(数据流程图)

29.结构化程序设计的一种基本方法是_________。(逐步求精法)

30.结构化分析方法式一种面向(数据流)的开发方法。

31.结构化程序设计,主要强调的是______。(程序的可理解性)

32.SD(结构化设计)方法设计的结果是_________。(模块结构图)

33.结构化方法总的指导思想是_______(自顶向下)逐层分解。

34.PDL(过程设计语言)是描述处理过程_________。(怎么做)

35.PDL是一种_________语言。(过程设计语言)

36.软件测试的目的_________。(发现程序中的错误)

37.测试用例是一组。(测试用的数据以及对用的预期结果)

38.一般来说,与设计测试数据无关的文档是。(项目开发计划书)

39.为提高测试的效率,应该______。(选择发现错误可能性大的数据作为测试数据)

40._________(白盒)测试时,测试人员必须接触到程序源代码。

41.确认测试也称,它的目标是验证软件的。(验收、有效性)

42.黑盒测试在设计测试用例时,主要需要研究。(需求规格说明与概要设计说明)

43.白盒测试又称为,按照程序的测试程序。(逻辑结构测试、内部逻辑)

44.在进行软件测试时,首先应当进行_________(单元测试),然后再进行组装测试,最后进行有效性测试。

45.下列属于静态测试方法的是_________(人工检测)。

关于软件测试的目的,_________。(为了发现错误而执行程序的过程、一个好的测试用例能够发现至

46.今尚未发现的错误、一个成功的测试用例是发现了至今尚未发现的错误的测试)

47.测试的关键问题是________ 。(如何选择测试用例)

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

49.单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系

统测试是为了发现(性能、质量不合要求)的错误

50.模块的耦合性可以按照耦合程度的高低进行排序,正确次序是_________。(无直接耦合,数据耦合,

控制耦合,内容耦合)

51.模块的内聚性用于衡量模块内各组成部分之间彼此结合的紧密程度,按照内聚程度的从低到高进行排

序,依次为_________。(偶然内聚、逻辑内聚、通信内聚、功能内聚)

52.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称

为________(偶然内聚)。

53.软件模块内聚性最强的是_________。(逻辑内聚)

54.为了提高模块的独立性,模块之间最好是________ 。(内容耦合)

55.如果对象之间的耦合是通过_________(消息机制)来实现的,那么这种耦合就是交互耦合。

56.划分模块时尽量做到________(高内聚、低耦合),保持模块的独立性。

57.对类进行详细设计,主要是设计类的_________(属性和方法),优化类之间的关系。

58.数据流程图的主要作用是_________。(描绘系统的逻辑模型)

59.一般维护程序代码的策略是_________。(根据维护申请读源程序,并修改)

60.UML是一种语言。(面向对象建模语言)

61.面向对象分析和设计的界限是(模糊的),从分析到设计师一个逐渐扩充模型的过程。

62.数据模型(E-R图)中主要涉及到的信息有数据实体、和。(属性、联系)

63.人机界面设计中的系统响应时间的重要属性有长度和。(易变性)

64.软件再工程过程实质上就是维护过程。(预防性)

65.为了提高软件的可维护性,在编码阶段应注意。(养成好的程序设计风格)

66.画某系统的数据流图时,顶层图有_________。(1张)

67.软件详细设计阶段的任务是_________(算法与数据结构设计)。

68.可维护软件的主要特性包括_________。(可理解性、可修改性、可移植性)

69.在制定项目开发计划文档时,包含的内容是_________。(项目概述、实施计划、交付期限)

70.软件部件的内部实现与外部可访问性分离,这是指软件的______(封装)。

71.用来模拟被测模块的上级调用模块的模块称为_______(驱动模块)。

72.软件复杂性度量的参数很多,主要有规模、_______(难度)、结构、智能度。

73.软件开发环境中最主要的组成部分是______(软件工具)。

74.软件维护困难的主要原因是( 开发方法的缺陷)。

75.可维护性的特性中,相互矛盾的是(效率与可修改性)。

76.与维护人员有关的文档有(概要设计说明书)

77.类的实例化是________。(对象)

78.向对象发出服务请求称为______(接口),类对象上的各种操作称为_______(方法)。

79.在面向对象方法中,对象实现了数据和操作的结合,使数据和操作_____(封装)于对象的统一体中。

80.软件生存周期是指一个软件从提出开发要求开始直到_______(该软件报废)为止的整个时期。

二、判断题

1.测试最终是为了证明程序无错误。(F )

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

3.用黑盒法测试时,测试用例是根据程序功能设计的。(F )

4.在测试用例时,应包括合理的测试条件和不合理的输入条件。(T )

5.程序测试只能证明错误的存在,但不能证明错误不存在。(T )

6.在整个测试过程中,增量式组装测试所需时间比非增量式测试时间多。(F )

7.测试是为了表明程序是正确的。(F )

8.软件测试是为了发现错误而执行程序的过程。(T )

9.可维护性复审紧在维护阶段进行。(F )

10.验收测试依据系统需求规格说明书。(T )

11.软件维护的对象是程序代码。(F )

12.软件维护前必须由用户填写维护要求表。(T )

13.软件维护的对象是程序代码。(F )

14.在一个正在工作的软件上重新开发一个大型程序是一种浪费。(F )

15.好的测试方案是能够发现迄今为止尚未发现的错误的测试方案。(T )

16.程序员应避免检查自己的程序。(T )

17.验收测试依据系统需求规格说明书。(T )

18.使用了形式化的说明技术后就能保证说明的完整性了。(F )

19.成功的测试是发现了至今为止尚未发现的错误的测试。(T )

20.应长期保留测试用例,直至系统废弃。(T )

三、简答题

1.可行性研究的目的是什么?可行性研究的内容是什么?

2.模块设计的优化准则是什么?

3.软件危机的典型表现有什么?

4.什么是软件生命周期?软件生命周期划分为几个时期几个阶段?

5.什么是需求分析?需求分析的具体任务是什么?

6.简述系统设计采用模块化的优点。

7.UML的使用准则是什么?

8.简述确认测试中软件配置复查的测试内容。

9..软件生存周期可以分为几个阶段,每个阶段的提交物是什么?

10.结构化分析的描述工具有哪些?简述结构化分析的步骤。

11.什么是黑盒测试法?常用的黑盒测试方法有哪些?

12.简述面向对象的特征。

13.简述增量模型和瀑布模型的本质区别。

14.简述设计一个容错系统的步骤。

15.简述在项目开发时,选择程序设计语言应考虑因素。

四、应用题

1.下面是用PDL写出的程序,请画出对应的程序流程图、PAD图和N-S图。

While T do

If A>0 then

A1

If B>0 then B1 else B2 endif

Else A2 endif

If C>0 then C1 else C2 endif

Endif

A3

Endwhile

2.下面是用PDL写出的程序,请画出对应的程序流程图、PAD图和N-S图。

While T do

If A>0 then A1 else A2 endif

If B>0 then B1

If C>0 then C1 else C2 endif

else B2 endif

A3

endwhile

3.某公安报警系统在一些公安重点保护单位(如银行、学校等)安装了报警装置,工作过程如下,一旦发生意外,事故发生单位只需要按报警按钮,系统立即向公安局发出警报,自动显示报警单位的地址、电话号码等信息。接到报警,110警车立即出动前往出事地点。值班人员可以接通事故单位的电话,问清情况,需要时再增派公安人员到现场处理。

请根据以上情况分析,确定本题应建立哪几个对象类,并画出顺序图。

4.商品销售管理系统有5个脚本:经理执行系统管理功能,营业员执行销售功能,会计执行账务管理功能,供货源执行供货功能,售后执行售后功能。

请绘制商品销售管理系统的用例图。

5.某个学生成绩管理系统的部分功能如下:

(1)基本信息管理:教务管理人员输入或修改学期教学执行计划、学生名单和教师名单;

(2)学生选课:学生根据教学执行计划进行选课;

(3)分配任课教师:教务管理人员为符合开课条件的课程分配教师,并打印任课通知单给教师;

(4)成绩管理:每门课程的教师在考试评分结束后将考试成绩交给教务管理人员,教务管理人员输入、

维护成绩,系统可生成成绩单(发给学生)、成绩统计分析表(发给教务管理人员)。

请根据要求画出该问题的分层数据流图(要求画出顶层和1层数据流图)。

6.某电视购物公司采用面向对象技术实现商品销售计算机系统,基本需求如下:

(1)公司提供多种类商品,每种商品通过委托订单来进行征订。

(2)公司下属多个分公司,每个分公司负责本地区委托订单的收录,打印收款凭证单。

(3)公司负责分类、统计各分公司送来的委托单,进行分类统计。

要求:按照上述模型建立对象模型。

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

一、填空题 1.程序设计的三种基本结构是、、(顺序、条件、循环),它们的共同点是一个 入口和一个出口。 2.程序的三种基本控制结构的共同特点是。(单入口单出口) 3.用结构化语言来描述加工逻辑的外层结构时,基本结构有________(顺序结构、选择结构、循环结构) 4.软件的实现阶段主要包括(编码)阶段和(测试)阶段。 5.计算机程序及其说明程序的各种文档称为。(软件) 6.软件是、和(程序、数据、相关文档)的完整集合。 7.软件工程管理的具体内容包括对开发人员、组织机构、用户和______(文档资料)等方面的管理。 8.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以(软件文 档)的编制是很重要的。 9.软件工程方法学有3大要素、工具、。(方法、过程) 10.需求分析是确定系统(必须做什么),其最终成果是(需求分析规格说明书)。 11.在需求分析中,开发人员要从用户那里解决的之重要的问题是。(软件应当做什么) 12.软件开发活动的顺序是_________。(问题定义、可行性研究、需求分析、设计、编码和测试) 13.软件需求分析的任务包括_________。(问题分析、信息域分析、确定程序结构) 14.最早提出软件系统维护问题的阶段是_________。(需求分析) 15.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做______(软件危机)。 16.“软件危机”是指________ 。(软件开发和维护中出现的一系列问题) 17.快速原型模型是用户和设计人员之间的一种交互过程,适用于(需求不确定性高)的系统。 18.快速原型是利用原型辅助软件开发的一种新思想,它是在研究(需求阶段)的方法和技术中产 生的。 19.瀑布模型是以文档为驱动,适用于(软件需求明确)的系统。 20.瀑布模型本质上是一种________ 模型。(线性顺序) 21._______(喷泉模型)是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的软件开发 方法。 22.瀑布模型的主要特点是_________。(将软件生命周期个阶段依线性顺序连接、用文档驱动的模型) 23.增量模型根据增量方式和形式的不同,分为_____(渐增式增量模型)和原型模型。 24.从目前情况来看,增量模型存在的主要问题是(缺乏丰富而强有力的软件工具和开发环境) 25.可行性研究的目的是______。(确定系统是否值得开发) 26.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的 _________。(8%) 27.可行性研究从技术可行性、经济可行性、________、_________(社会因素、软件开发风险分析)四方 面进行分析。 28.数据字典是用来定义_________中的各个成份的具体含义的。(数据流程图) 29.结构化程序设计的一种基本方法是_________。(逐步求精法) 30.结构化分析方法式一种面向(数据流)的开发方法。 31.结构化程序设计,主要强调的是______。(程序的可理解性)

《软件工程》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、文档是软件产品的一部分,没有文档的软件就不称其为软件.对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动. 错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。对 10、面向对象的分析是面向计算机系统建立软件系统的对象模型.错 11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进 13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级.除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B). A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14、在软件开发的各种资源中,(D)是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、(A)意味着一个操作在不同的类中可以有不同的实现方式. A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、单元测试的测试用例主要根据(D)的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计 二、填空题 1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。 2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。 3、用例及其协作之间是实现关系. 4、接口及其实现类或构件之间是实现关系。 5、动物与老虎之间是泛化关系。 三、问答题 1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。 可复用的软件元素包括(选5种): 项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。 2、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型”的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大. 3、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该

软件工程复习题及答案

软件工程复习题及答案 1. 软件工程的三要素是()。 A. 技术、方法和工具 B. 方法、对象和类 C. 方法、工具和过程(正确答案) D. 过程、模型、方法 2. 在下列选项中,()不属于软件工程学科所要研究的基本内容。 A. 软件工程材料(正确答案) B. 软件工程目标 C. 软件工程原理 D. 软件工程过程 3. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A. 软件生命周期 B. 软件测试 C. 软件工程(正确答案) D. 软件过程 4. 下列说法中正确的是()。 A. 20世纪50年代提出了软件工程的概念 B. 20世纪60年代提出了软件工程概念(正确答案) C. 20世纪70年代出现了客户机/服务器技术 D. 20世纪80年代软件工程学科达到成熟 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. 程序设计

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

软件工程复习题(带答案) 软件工程复习题 一、单选题 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~6章) 一、选择题: 1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 2.瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 3.瀑布模型存在的问题是(B )。 A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求 4.螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。 A.增量模型B.专家系统C.喷泉模型D.变换模型 5.原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。 A.需求不确定性高的 B.需求确定的C.管理信息 D.实时 6.下列有关软件工程的标准,属于国际标准的是(C ) A.GB B.ANSI C.ISO D.IEEE 7.结构化方法是一种基于(D)的方法。 A.数据结构 B.程序结构 C.算法 D.数据流 8.软件可行性研究实质上是要进行一次( A)需求分析、设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9.可行性研究的目的是(D) A、分析开发系统的必要性 B、确定系统建设的方案 C、分析系统风险 D、确定是否值得开发系统 10.设年利率为i,现存入p元,n年后可得钱数为(C)。 A、P×(1+i*n) B、P× (i+1)*n C、p×(1+i)n D、p×(i+n) 11.可行性研究是在(A)之前 A、系统开发 B、测试 C、试运行 D、集成测试 12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的 (C)。 A、1% B、20% C、8% D、50% 13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。 A.《计算机软件保护条例》

软件工程 复习题含答案

1. 构成软件项目的最终产品有哪些? 应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。 2.可行性研究目的? 确定在问题定义中所提出的问题是否值得去解,在限制条件下,问题能否解决。 3.可行性研究包括哪几方面的内容? (1)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足; (2)经济可行性:经济效益是否超出开发成本; (3)操作可行性:系统操作在用户内部行得通吗? (4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。 4.需求分析的描述工具有哪些? 有数据流图、数据字典、判定表、判定树、结构化自然语言、层次方框图、Warnier图、IPO图和需求描述语言等。 5. 需求分析的基本任务是什么? 准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。 6.软件需求规格说明书由哪些部分组成? 组成包括:

(1) 引言:编写目的、背景说明、术语定义及参考资料等。 (2) 概述主要功能、约束条件或特殊需求。 (3) 数据流图与数据字典。 (4) 用户接口、硬件接口及软件接口。 (5) 性能需求、属性等。 (6) 其它需求,如数据库、操作及故障处理等。 7.系统流程图与数据流程图有什么区别? 系统流程图描述系统物理模型的工具,数据流程图描述系统逻辑模型的工具。 系统流程图从系统功能的角度抽象的描述系统的各个部分及其相互之间信息流动的情况。数据流程图从数据传送和加工的角度抽象的描述信息在系统中的流动和数据处理的工作状况。 8.数据字典包括哪些内容?它的作用是什么? 数据字典是描述数据流图中数据的信息的集合。它对数据流图上每一个成分:数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。对用户来讲,数据字典为他们提供了数据的明确定义;对系统分析员来讲,数据字典帮助他们比较容易修改已建立的系统逻辑模型。 9. 软件工程的目标 是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维

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

一、选择题 1.在软件危机中表现出来的软件质量差的问题,其原因是___没有软件质量标准____。 2.在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的___健壮性__。 3.在下列测试技术中,___逻辑覆盖___不属于黑盒测试技术。 4.___封装___是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 5.软件测试时为了___发现错误_____而执行程序的过程。 6.在软件系统中,一个模块应具有什么样的功能,这是由___需求分析__决定的。 7.面向对象分析是对系统进行___需求分析_____的一种方法。 8.软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的___可维护性____。 9.模块内聚度越高,说明模块内各成分彼此结合的程序越____紧密__。 10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码、测试和维护等阶段,一般认为可能占用人员最多的阶段是_维护阶段__。11.常用的面向对象的软件过程模型是__喷泉模型_____。生命周期模型 A.瀑布模型(规范化,阶段性取得前进) B.喷泉模型(面向对象,开发活动间没明显边界,无缝过渡) C.原型模型(快速,线性顺序,不带反馈环) D.增量模型(产品分解为一系列增量构件,开发中逐步加入) E.螺旋模型(瀑布&快速原型结合,每阶段加风险评估) 12.面向对象的分析阶段建立的系统模型不包括____数据模型____。 有对象模型、动态模型、功能模型 13.提高软件的可维护性可采用很多措施,下列哪个不在措施之列?提供没有错误的程序。 措施:建立质量保证制度、改进程序文档质量、明确软件质量标准 14.计算机系统可以划分为软件系统和硬件系统,软件是一种逻辑产品。 15. 可行性分析研究的主要目的是项目是否值得开发 16.在下列四种模块的耦合性中,信息隐蔽性能最好的是(C数据耦合) A.控制耦合 B.内容耦合 C. 数据耦合 D. 特征耦合 17.需求分析是回答系统必须(D做什么)的问题。 A. 为谁做 B.怎么做 C.何时做 D.做什么 18.在UML中,类是用(A矩形框)表示的 A 矩形框 B 椭圆 C 箭头 D 菱形框 19.编码阶段是位于哪个阶段之后A A. 详细设计 B. 可行性研究 C. 总体设计 D. 需求分析 20.在数据流图中,圆圈符号表示的是B A. 数据源点或终点 B.数据处理 C. 数据存储 D. 数据流 21.内聚是衡量模块内部聚合能力的量度。内聚越高,说明模块内各成分彼此联系的程度C A.越松散B.彼此相等C.越紧密D.没有联系 22.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于(D) A、维护时期 B、开发时期 C、运行时期 D、计划时期 23.软件维护有四种,下面哪一个不是的B A. 完善性维护 B. 测试性维护 C. 预防性维护 D. 适应性维护 24.结构化程序设计采用的三种基本控制结构是(A) A.顺序、选择、重复 B.选择、循环、重复 C.顺序、分支、选择 D.输入、变换、输出 25.软件测试的目的是(B) A. 为了表明程序没有错误 B.为了发现程序中的错误 C. 为了说明程序能正确地执行 D.为了评价程序的质量 26.在UML的用例图中,人形符号表示的是C A 关联 B 用例C角色 D 系统 27.软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D) A、结构合理性 B、软件外部功能 C、程序正确性 D、程序内部逻辑 28.下面哪些测试属于黑盒测试(C)。 A、路径测试 B、循环测试 C、等价类划分 D、条件判断 29.(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

软件工程导论 期末复习题及答案

软件工程导论期末复习题及答案 正确答案:C.研究软件系统的开发过程和方法 软件工程的主要目标是提高软件的质量,包括可靠性、可用性、可维护性和可重用性等。同时,软件工程也致力于降低软件开发和维护的成本,提高软件的生产率。因此,以上选项都是正确的。 A.人员 B.方法 C.工具 D.程序正确答案:D.程序 软件工程的三个基本要素是人员、方法和工具。其中,人员是指参与软件开发和维护的人员,包括项目经理、系统分析师、程序员、测试人员等;方法是开发软件所采用的方法,包括面向对象方法、面向过程方法等;工具是指支持软件开发和维护的工具,包括编译器、调试器、测试工具等。程序是软件开发的结果之一,不属于软件工程的三个基本要素。 D.软件从测试到发布的整个过程正确答案:A.软件从开发到维护的整个过程 软件生命周期是指软件从开发到维护的整个过程,包括需求分析、设计、编码、测试、发布、维护和退役等阶段。因此,选项A是正确的答案。选项B、C、D都只描述了软件生命周期的部分阶段,不完整。

A.需求分析 B.编码 C.测试 D.维护正确答案:D.维护 软件开发过程中的活动包括需求分析、设计、编码、测试等阶段,而维护是软件使用过程中的一个阶段,不属于软件开发过程中的活动。因此,选项D是正确的答案。 在软件工程中,以下哪个选项最接近于“用户故事”的定义? 答案:A.一种用于描述用户需求的文档。用户故事是软件开发中的一种重要工具,它用于收集、整理和描述用户需求,以便更好地理解和满足用户的需求。 以下哪个选项是面向对象编程(OOP)中的基本概念? 答案:B.类。在面向对象编程中,类是一种抽象数据类型,它定义了一个对象的结构,包括属性(状态)和方法(行为)。 在软件开发中,以下哪个阶段最可能涉及到代码重构? 答案:C.编码阶段。代码重构是在编码阶段进行的一项活动,它通常涉及到修改和优化代码的结构和实现方式,以提高代码的可读性、可维护性和效率。 答案:A. Git。版本控制是软件开发中的一项重要工具,用于跟踪和

软件工程复习题及答案

软件工程复习题及答案 选择题 1.在结构化设计SD方法中全面指导模块划分的最重要的原则是( D ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 2.软件维护产生的副作用,是指( C ) A.开发时的错误 B.隐含的错误 C.因修改软件而带来的错误 D.运行时误操作 3.软件详细设计的主要任务是确定每个模块的( A ) A.算法和使用的数据结构 B.外部接口 C.功能 D.编程 4.为了提高模块的独立性,模块内部最好是( C ) A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 5.软件是一种( C ) A.程序 B.数据 C.逻辑产品 D.物理产品 6.下列那个模型不是面向对象的分析中建立的模型( B ) A.对象模型 B.瀑布模型 C.动态模型

D.功能模型 7.确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于 A.集成测试 B.恢复测试 C.验收测试 D.单元测试 8.采用Gantt图表示软件项目进度安排,下列说法中正确的是( D ) A.能够反映多个任务之间的复杂关系 B.能够直观表示任务之间相互依赖制约关系 C.能够表示哪些任务是关键任务 D.能够表示子任务之间的并行和串行关系 9.程序的三种基本控制结构是( B ) A.过程、子过程和分过程 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 10.软件生存周期中时间最长的是( D )阶段 A.总体设计 B.需求分析 C.软件测试 D.软件维护 11.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,所以( C )的编制是很重要 的。 A.需求说明 B.概要设计 C.软件文档 D.测试计划 12.软件部件的内部实现和外部可访问性的分离,是指软件的( C )。

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

软件工程课程复习资料 一、单项选择题: 1.下面哪些UML图描述系统行为 A.用例图 B.类图 C.对象图 2.属于概要设计活动的是 A.软件结构设计 B.数据结构设计 C.算法设计 3.属行为型设计模式的是 A.组合模式 B.工厂方法模式 C.观察者模式 4.下列说法正确的是 是软件开发方法是系统描述语言 是软件开发过程 5.根据程序流程图划分的模块通常是 A.信息内聚的模块 B.过程内聚的模块 C.逻辑内聚的模块 6.如果某程序中的比较个数是m,则其 McCabe环形复杂度为 +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.软件项目管理人员 图反映不出 A.系统做什么 B.系统功能由谁做 C.系统如何做 16.原型模型是一种什么开发过程模型 A.自顶向上 B.由外至内 C.增量式 17.系统流程图描述 A.物理系统 B.逻辑系统 C.软件体系结构 18.需求规格说明书的内容不应该包括 A.软件确认准则 B.软件的性能描述 C.算法过程的详细描述 19.适合需求模糊或需求不确定系统开发的软件开发模型是 A.瀑布模型模型 C.原型模型 图中描述系统结构的是 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.详细设计 27.下列属面向对象软件开发方法的是

软件工程题库(含答案)

软件工程题库(含答案) 一、单选题(共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.软件可行性研究实质上是要进行一次需求分析、设计过程。 A.简化、压缩的 B.详细的 C.彻底的 D.深入的 2.以下哪个软件生存周期模型是一种风险驱动的模型。 A.瀑布模型 B.增量模型 C.螺旋模型 D.喷泉模型 3.可行性分析中,系统流程图用于描述。 A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统 4.结构化分析建立功能模型的工具是。 A.DFD B.判定树/判定表 C.SC D.结构化语言 5.检查软件产品是否符合需求定义的过程称为。 A.确认测试 B.集成测试 C.系统测试 D.单元测试 6.在整个软件维护阶段所花费的全部工作中,所占比例最大的是。 A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 7.通信内聚是指。 A.把需要同时执行的动作组合在一起形成的模块 B.各处理使用相同的输入数据或者产生相同的输出数据 C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行 D.模块内所有元素共同完成一个功能,缺一不可 8.一个只有顺序结构的程序,其环形复杂度是。 A.0 B.1 C.3 D.5 9.下述四个能力成熟度等级,级别最高的是。 A.已定义级 B.优化级 C.可重复级 D.已管理级 10.结构化程序设计,主要强调的是。 A.程序的执行效率 B.模块大小 C.程序的可理解性 D.模块关系 11.软件调试技术包括。 A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试 12.需求分析中开发人员要从用户那里了解。 A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 13.数据字典是对数据定义信息的集合,它所定义的对象都包含于。

软件工程复习题及答案

软件工程复习题(一) 一、选择题 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、不拟定的 18、可行性分析是在系统开发的初期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因此必须给出什么样的回答。()

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

软件工程简答题复习题(带答案)软件工程简答题复习题(带答案) 1. 什么是软件工程? 软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。 2. 软件开发生命周期有哪些阶段? 常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。 3. 什么是需求分析? 需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。 4. 需求分析的主要目标是什么? 需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。 5. 什么是软件设计?

软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。 6. 软件设计的原则有哪些? 常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。 7. 什么是软件测试? 软件测试是为了评估系统的质量和功能是否满足需求的过程。它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。 8. 软件测试的分类有哪些? 软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。 9. 什么是软件维护? 软件维护是在软件交付给客户后,为了保证其正常运行和适应环境变化而进行的一系列活动。维护包括错误修复、性能优化、功能扩展等。

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

复习题 填空题 1.在信息处理和计算机领域内,一般认为软件是_程序____、_ 文档____ 和_数据____ 。 2.数据流图的基本组成部分有_数据的源点与终点____、数据 流_____、加工_____、数据文件_____。 3.数据流图和数据字典共同构成了系统的_逻辑____模型,是 需求规格说明书的主要组成部分。 4.划分模块时尽量做到__高内聚、低耦合______,保持模块的 独立性,尽量运用公共模块。 5.类的实例化是_对象_______。 6.人们常用硬件牢靠性的定量度量方法来度量软件的牢靠性和 可用性,常用的度量软件可 7.靠性的两个指标是_胜利地运行的概率_______和_平均故障 时间_______。 8.将待开发的软件细化,分别估算每一个子任务所须要的开发 工作量,然后将它们加起来, 9.将得到软件的总开发量。这种成本估算方法称为_自底向上 _______。 10.假如一个模块被n 个模块调用,其中干脆的上级模块的个数 是m 个(m<=n )那么该模块的扇入数是____N_______ 个。 11.结构化设计以__数据流图_________ 为基础,按肯定的步骤 映射成软件结构。 12.软件的风险分析可包括风险识别、风险预料和风险驾 驭(或风险管理)等3项活动。 13.软件著作权登记的3种主要类型:(1)著作权登记;(2)著 作权持续登记;(3)权利转移备案登记。 14.软件工程管理的主要内容有:项目经费管理,软件质量管理, 项目进度管理和人员管理。

15.面对对象分析的目的是对客观世界的系统进行___建模 _______________ 。 16.软件维护工作的生产性活动包括分析评价、修改设计和____ 编写程序代码_______ 等。 17.为了使应用软件适应计算机环境的变更而___修改软件 _______________ 的过程称为适应性维护。 18.一个进行学生成果统计的模块其功能是先对学生的成果进行 累加,然后求平均值,则该模块的内聚性是__________依次内聚________ 。 19.投资回收期就是使累计的经济效益等于__最初的投资费用 ______________ 所需的时间。 20.软件生存周期是指一个软件从提出开发要求起先直到__软 件废弃____为止的整个时期。 21.曾被誉为“程序设计方法的革命”的结构化程序设计,使 程序设计从主要依靠于程序员个人的自由活动变成为有章可循的一门科学。 22.从结构化程序设计到面对对象程序设计,是程序设计方法 的又一次飞跃。 23.在单元测试时,须要为被测模块设计___测试用例_______。名词说明 1.数据词典——是描述数据信息的集合,它对数据流图中的各 个元素按规定格式进行具体的描述和准确的说明,是数据流图的补充工具。 2.数据流图——他以图形的方式反映系统的数据流程 3.白盒测试——依据程序内部的结构测试程序,检验程序中的 每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法 4.黑盒测试——依据程序的功能测试程序,检验与程序功能有 关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误揣测法和因果图法 5.完善性维护——为了适应用户业务和机构的发展变更而对软

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

第一章 1,与计算机硬件相比,计算机软件有哪些特点? 软件的特点如下。 1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了 解它的功能、特性和质量等。 2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程 中,渗透了大量的脑力劳动。 3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问 题。 4)软件的开发和运行必须依赖于特定的计算机系统环境。 5)具有可复用性。 3,什么是软件危机?什么原因导致了软件危机? 软件危机的现象如下。 1)经费超出预算,项目一再拖延。 2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。 3)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。 4)开发工具落后,手工方式,开发效率低。 所有导致软件危机的原因,都与软件本身的产品特点相关。 1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软件 产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。 2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。 3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做

到准确估算,生产过程不易控制。 4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成 本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得 多。 5,请简述软件工程研究的内容。 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer 和Rational Rose等。 7,请简述软件工程的目标、过程和原则。 目标、过程和原则是一切工程的三维框架,这里是以工程的观点来看待软件开发。 1)软件工程的目标:降低成本、及时交付高质量的软件产品(高质量、高效 率、高效益)。 2)实现目标的过程即完成产品加工的过程,包括:基本过程、支持过程和组 织过程。 3)进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的 开发范型、采用合适的设计方法、提供高质量的工程支持、重视开发过程 的管理。

相关文档
最新文档