软件工程2019复习题

发布 2021-12-17 11:20:28 阅读 6720

选择题(20%):

1、软件设计中划分模块的一个准则是()

c、高内聚低耦合。

2、jackson设计方法是由英国的提出的,它是一种面向( )的软件设计方法。

c、数据结构。

3、试判断下列叙述中,哪个是正确的()

c、事务分析和变换分析的设计步骤是基本相似的。

4、()是用户和设计交换最频繁的方法。

a、原型化方法。

5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()

c、软件开发工具和软件开发的环境。

6、下列语言中哪个语言是低级语言()

d、汇编语言。

7、软件测试的目的是()

d、尽可能多的发现软件系统中的错误。

8、使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。

a、程序的内部逻辑。

9、软件维护工作的最主要部分是()

c、完善性维护。

10、pdl是()语言。

b、伪码式。

11、对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。

c、封装。12、软件生命周期中所花费用最多的阶段是() d、软件维护。

13、需求分析中开发人员要从用户那里了解()a、软件做什么。

14、测试的关键问题是()

d、如何选择测试用例。

15、()是将系统化的、规范化的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

d、软件工程方法学。

16、()意味着一个操作在不同的类中可以有不同的实现方式。a、多态性。

17、单元测试的测试用例主要根据()的结果来设计。d、详细设计。

18、随着软硬件环境变化而修改软件的过程是() b、适应性维护。

19、在白盒测试技术测试用例的设计中,()是最弱的覆盖目标。a、语句覆盖。

20、结构化程序设计的一种基本方法是() c、逐步求精法。

21、不适合作为科学工程计算的程序设计语言是() d、prolog

22、只有单重继承的类层次结构是()层次结构。 c、树型。

23、面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。c、uml语言。

24、瀑布模型本质上是一种()

a、线性顺序模型。

25、软件维护产生的***,是指()

c、因修改软件而造成的错误。

26、软件详细设计的主要任务是确定每个模块的() a、算法和使用的数据结构。

27、软件结构图的形态特征能反映程序重用率的是() c、扇入。

28、为了提高模块的独立性,,模块内部最好是() c、功能内聚。

29、软件结构图中,模块框之间若有直线连接,表示它们之间存在()a、调用关系。

30、“软件危机”是指()

c、软件开发和维护**现的一系列问题。

31、具有风险分析的软件生命周期模型是() c、螺旋模型。

32、数据流图(dfd)中的每个数据处理至少需要()

d、一个输入数据流和一个输出流。

33、下列哪个阶段不属于软件生存周期的三大阶段()

c、编码阶段。

34、需求分析是()

a、软件开发工作的基础。

35、原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要( )

b、完整的生命周期。

36、软件维护中,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程测称为()

a、改正性维护。

37、一般来说,投入运行的软件系统中有错误()

a、不是不可以理解的。

填空题(20%):

1、软件生存周期一般可以划分为:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试和软件维护。

2、基于软件的功能划分,软件可划分为系统软件、支撑软件、应用软件三种。

3、可行性研究应从经济可行性、技术可行性、操作可行性、法律可行性和开放方案可行性等方面研究。

4、系统流程图是描绘物理系统的传统工具,它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件。

5、数据流图的基本四种成分:源点或终点、处理、数据存储、数据流。

6、结构化分析方法是面向数据流进行需求分析的方法,它使用数据流图dfd与数据字典dd来描述。

7、继承性是自动地共享类、子类和对象中的方法和数据的机制。

8、软件详细设计工具可分为3类:图示工具、设计语言和**工具。

9、为了在软件开发过程中保证软件的质量,主要采用下述措施:审查、复查和管理复审、测试。

10、大型软件测试包括单元测试、集成测试、确认测试和平行运行四个步骤。

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

12、软件结构是以模块为基础而组成的一种控制层次结构。

13、如果知道软件的规格说明书描述的程序功能,那么就可以采用黑盒测试方法进行测试。

14、当a模块调用b模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是数据耦合。

15、软件概要设计关键的一步是确定软件的体系结构,它直接影响下一阶段详细设计和编码的工作。

16、数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据源点或终点。

17、软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个自底向上或相反集成的过程。

18、按数据流的类型,面向数据流的设计方法有两种设计策略,它们是变换分析设计和事务分析设计。

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

20、软件结构中的深度表示软件的控制层数,它往往能够粗略地标志一个系统的大小和复杂程度。

21、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。

22、常见的软件概要设计方法有三大类:以数据流图为基础构造模块结构的结构化设计方法(sd),以数据结构为基础构造模块的jackson方法,以对象、类、继承、和通信为基础的面向对象设计方法(ood)。

23、数据流图和数据字典共同构成系统的逻辑模型。

24、软件测试的方法有黑盒测试(功能测试)和白盒测试(结构测试)。

25、单元测试一般以白盒测试技术为主,黑盒测试技术为辅。

26、成本估计方法主要有自顶向下估计、自底向上估计和算法模型估计三种类型。

名词解释 (30%)

1、什么是软件工程?

是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护他。

2、耦合性和内聚性有几种类型?其耦合度、内聚强度的顺序如何?

耦合:(由低到高)数据耦合、控制耦合、特征耦合、公共环境耦合、内容耦合;设计原则为尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完成不用内容耦合;

内聚:(由弱到强)低内聚分为偶然内聚、逻辑内聚、时间内聚;中内聚分为过程内聚、通信内聚;高内聚分为顺序内聚、功能内聚。

3、简述需求分析工作可以分成哪四个方面?软件需求分析的有哪三个基本原则?

1)需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。

2)三个基本原则:必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图。

4、什么是黑盒测试法、白盒测试法?

(1) 黑盒测试法是把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确的输出信息。

(2) 白盒测试法是把程序看成装在一个透明的百盒子里面,测试者要完全知道程序的结构和处理算法,它按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。

5、简述结构化程序设计方法的基本特点。

(1)尽可能少用goto语句的程序设计方法;(2)每个**块都单入单出;(3)使用控制结构:顺序、选择和循环+do_until和do_case;(4)自顶向下逐步求精。

6、衡量模块独立性的两个定性标准是什么?这两个标准的定义分别是什么?在我们的软件设计中,关于模块独立性我们追求的目标是什么?

1)衡量模块独立性的两个定性标准是耦合和内聚;

2)耦合是指对一个软件结构内不同模块彼此之间相互依赖(连接)的紧密程度;而内聚则标志一个模块内部各个元素彼此结合的紧密程度;

3)在我们的软件设计中,关于模块独立性我们追求的目标是高内聚低耦合。

问答题(30%):

ch1 软件工程学概述。

软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。它包含两个方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

什么是软件工程:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护他。

软件生命周期的8个阶段及其任务。

1、问题定义:回答“要解决的问题是什么?”通过对客户的访问调查,系统分析员扼要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认;

2、可行性研究:回答“对于上一阶段所确定的问题有行得通的办法吗?”任务是研究问题的范围,搜索这个问题是否值得去解,是否有可行的解决方法;

3、需求分析:确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。任务有用正式文档准确记录对目标系统的需求(规格说明书);

4、总体设计(概要设计):回答“概括的说,应该怎样实现目标系统?”解决问题的策略及目标系统中应包含的程序,和确定程序由哪些模块组成以及模块间的关系;

5、详细设计(模块设计):把解法具体化,设计出程序的详细规格说明,回答“应该怎样具体地实现这个系统”;

6、编码和单元测试:任务是写出正确的容易理解、容易维护的程序模块;

7、综合测试:任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求;

8、软件维护:任务是通过各种必要的维护活动使系统持久地满足用户的需要。有四类维护活动:改正性维护,适应性维护,完善性维护,预防性维护。

软件过程模型。

瀑布模型、快速原型、螺旋模型(比较三者的优缺点)

瀑布模型:优点是可强迫开发人员采用规范的方法,严格地规定了每个阶段必须提交的文档,要求每个阶段交出的所有产品都必须经过质量保证小组的仔细检查;缺点是由文档驱动。

快速原型:优点是有助于保证用户的真实需要得到满足。

螺旋模型:优点是对可选方案和约束条件的强调有利于已有软件的重用,减少了过多测试或测试不足所带来的风险,维护只是模型的另一个周期,在维护和开发之间并没有本质的区别;缺点是它靠风险驱动。

面向对象软件开发采用的喷泉模型。

ch2 可行性分析。

可行性分析的三个方面。

技术可行性经济可行性操作可行性。

数据流图的四种成分。

1、符号:4种基本符号:正方形(或立方体)表示数据的源点或终点;圆角矩形(或圆形)代表变换数据的处理;开口矩形(或两条平行横线)代表数据存储;箭头表示数据流;

软件工程复习题

一 单项选择题。1 可行性研究要进行一次 需求分析。a 详细的 b 全面的 c 简化的 压缩的 d 彻底的。c2 系统流程图用于可行性分析中的 的描述。a 当前运行系统 b 当前逻辑模型 c 目标系统 d 新系统。a3 系统流程图是描述 的工具。a 逻辑系统 b 程序系统 c 体系结构 d 物理系统...

软件工程复习题 2019复习题 1

软件工程复习题。一 单选题 1 软件开发的结构化设计 sd 方法,全面指导模块划分的最重要原则应该是 c a模块高内聚b模块低耦合c模块独立性d程序模块化。2 软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?d a产生危机b质量保证c开发效率 d生产工程化。3 软件工程开发的...

软件工程期末复习题答案

1.软件是一种 c a 程序 b.数据 c.逻辑产品 d.物理产品。2.模块 b 定义为受该木块内一个判断影响的所有模块集合。a 控制欲 b.作用域 c 宽度 d接口。3.为了提高测试的效率,应该 d a 随机地选取测试数据。b.取一切可能的输入数据作为测试数据。c.在完成编码以后制定软件的测试计划...