admin 管理员组

文章数量: 1086019


2024年12月31日发(作者:header是什么意思呢)

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

一、填空题

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.从工程管理的角度软件设计可分为概要设计和详细设计两大步骤;

31.通过向用户提供视觉和听觉上的反馈,保持用户与界面间的双向通信,是提高

界面可交互性的措施之一;

32.程序设计语言的可靠性是指程序设计语言本身不出错或对错误的纠正能力;

33.对发现错误较多的程序模块,应进行重点测试;

34.测试用例中,不仅要选择合理的输入数据,还要选择不合理的输入数据;

二、单项选择题

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、对在数据流图中每一个命令的图形元素均给以定义是B

A、条目定义B、数据字典C、数据定义D、数据说明

7、软件的可行性研究中不包括D

A、法律可行性B、技术可行性C、经济可行性D、政治可行性

8、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为C;

A.纠错性维护B.适应性维护C.改善性维护D.预防性维护

9、人机界面的风格大致经过了B代的演变;

A.三B.四C.五D.六

10、以下不属于白盒测试技术的是D

A.逻辑覆盖B.基本路径测试C.循环覆盖测试D.等价类划分

11、为改正软件系统中潜藏的错误而进行的维护活动称为A;

A.纠错性维护B.适应性维护C.改善性维护D.预防性维护

12、从事物的组成部件及每个部件的属性、功能来认识事物;这种方法被称为A的

方法;

A、面向对象B、面向数据C、面向过程D、面向属性

13、判定表由四部分组成:左上部列出B;

A.条件组合与动作之间的对应关系B.所有条件

C.所有可能的动作D.可能的条件组合

14、面向对象的分析和设计OOA&OOD方法出现在20世纪C年代中期;

、耦合度也可以分为七级:其中最松散的耦合是A;

A.非直接耦合B.数据耦合C.特征耦合D.控制耦合

16、面向对象方法是将现实世界的事物以对象的方式B到计算机世界的方法;

A.对应B.映射C.反映D.反射

17、盒图也称为D或Chapin图;这种表达方式取消了流程线,它强迫程序员以结构

化方式思考和解决问题;

A.流程图B.框图C.判定表图

18、描述静态数据结构的概念模式是A;

A、E-R图B、DFDC、结构图D、框图

19、结构化程序设计理论认为,实现良好的程序结构要应用A的分析方法;

A、自顶向下B、自底向上C、面向对象D、基于组件

20、在结构化程序设计当中,不建议使用D;

A、分支语句B、循环语句C、子程序调用语句D、转向语句

21、软件生产过程中,需求信息由D给出;

A、程序员B、项目管理者C、软件分析设计人员D、软件用户

22、在下列的基本成分中,哪个不是数据流程图的基本成分D

A、信息处理B、信息存储C、外部实体D、系统状态

23、与设计测试数据无关的文档是D;

A、需求说明书B、设计说明书C、源程序D、项目开发设计

三、多项选择题每小题2分,共10分

1. 下面哪些测试属于白盒测试AE;

A、基本路径测试B、等价类划分C、边界值分析D、错误推测E、逻辑覆盖测试

2. 下列哪些选项是属于内容耦合ABC;

A、一个模块直接访问另一个模块的内部数据

B、一个模块有多个入口

C、一个模块不通过正常入口转到另一模块内部

D、一个模块只有一个入口

3. 下列属于度量效益方法的是ABC;

A、货币的时间价值B、投资回收期

C、收入D、投资回报率

4. 数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法

中,哪些是常采用的ACD;

A、自顶向下B、自底向上C、分层绘制D、逐步求精

5. 软件设计中一般将用到图形工具,下列哪种些可用作设计的图形工具ACD;

A、结构图B、实体联系图C、IPO图D、层次图

四、判断题;

1、在进行总体设计时应加强模块间的联系;×

2、系统结构图是精确表达程序结构的图形表示法;因此,有时也可以将系统结构

图当作系统流程图使用;×

3、用黑盒法测试时,测试用例是根据程序内部逻辑设计的;×

4、在程序调试时,找出错误的位置和性质比改正该错误更难;√

5、以对象、类、继承和通信为基础的面向对象设计方法OOD也是常见的软件概

要设计方法之一;√

6、如果通过软件测试没有发现错误,则说明软件是正确的;×

7、快速原型模型可以有效地适应用户需求的动态变化;√

8、模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦

合度的软件产品;√

9、集成测试主要由用户来完成;×

10、软件危机完全是由于硬件问题引起的;×

11.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机

的原因之一;√

12.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力;×

13.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是

为了获取第一手资料,并从中提取出有价值的需求;√

14.快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输

出、或设计一些复杂的算法等场合;√

15.流程图也称为程序框图是最常用的一种表示法;√

16.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择

和重复三种基本形式表示数据等步骤;√

17.理想的人机界面应针对具有典型个性的特定的一类用户设计;√

18.数据输入的一般准则中包括尽量增加用户输入的动作;×

19.用穷举测试是较现实的测试方法;×

20、编码时应尽可能使用全局变量×

21、重视程序结构的设计,能使程序具有较好的层次结构√

22、程序中的注解越少越好×

23.纠错性维护是改正运行期间发现的潜伏错误;√

24.软件可移植性portability,是指软件从一个计算机系统或环境移植到另一

个上去的难易程度;√

25.软件复杂性不能反映出软件的可理解性、模块化、简单性等属性;×

26.当程序内的分支数和循环数增加时,VG值将随之增加,即程序的复杂性增大;√

27.一般来说,设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦

合和公共数据耦合,杜绝内容耦合;√

28.设计用户界面只需要计算机科学的理论和知识,而不一定需要认知心理学以

及人-机工程学、语言学等学科的知识;×

29.第四代语言4GL还局限在某些领域内,如数据库查询语言;√

30.不同程序设计语言在程序的效率上的差异不大;×

31.编码的依据是详细设计说明书;√

32.程序文档应该包括代码的功能、代码的完成者等内容;√

33.软件项目定义部分由制定软件项目开发计划、需求分析2个阶段组成;√

34.预防性维护是修改软件,以适应软硬件环境的变化;×

35.开发大型软件易产生疏漏和错误,往往是产生软件危机的原因之一;√

36.据统计,软件维护人员为了分析和理解原软件系统所花费的工作量约占整个

维护工作量的60%以下;×

37.数据流图中各构成元素的名称不一定必须具有明确的含义以代表对应元素

的内容或功能;×

38.软件设计也可看作将需求规格说明逐步转换为软件源代码的过程;√

39.最高耦合度是数据耦合;×

40.人机界面Human-ComputerInterface,简称HCI又称人-机接口或用户界面;

41.在同一用户界面中,所有的菜单选择、命令输入、数据显示和其他功能应采

用不同的形式和风格;×

42.判定覆盖必然满足语句覆盖;√

43.为提高可交互性一般对大多数操作动作应允许用户恢复;同时应尽量减少用

户记忆的信息量;√

44.编程中应采用统一的标准和约定,降低程序的复杂性;√

45.软件在使用过程中维护不十分复杂;×

46.软件可重用性reusability,是指软部件可以在多种场合使用的程度;√

47.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机

的原因之一;√

48.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输

出、或设计一些复杂的算法等场合;√

49.流程图也称为程序框图是最常用的一种表示法;√

50.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择

和重复三种基本形式表示数据等步骤;√

51、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动;×

52.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动;√

53.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行

详细定义;×

语言编译器是一个CASE工具;√

55.软件是指用程序设计语言如PASCAL,C,VISUALBASIC等编写的程序,软件开

发实际上就是编写程序代码;×

56.软件模块之间的耦合性越弱越好;√

57.数据库设计说明书是一个软件配置项√

58.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实

例,对象是生成类的模板;×

59.过程描述语言可以用于描述软件的系统结构;×

60.快速原型模型可以有效地适应用户需求的动态变化;√

61.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦

合度的软件产品;√

62.可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解;√

63.并发系统中遇到的一个主要问题是定时问题;√

64.面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换;√

65.软件重用是提高软件开发生产率和目标系统质量的重要途径;√

66.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖;√

67.PowerDesigner是一个CASE工具;√

68.在进行需求分析时需同时考虑维护问题;×

69.UML是一种面向对象的分析设计方法,即OOA/OOD方法;×

70.在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实

例,类是生成对象的模板;√

五、简答题

1、什么是软件危机为什么会产生软件危机

答:软件危机是指软件在开发和维护过程时所遇到的一系列问题;主要包含二方

面的问题:一是如何开发软件以满足社会对软件日益增长的需求,二是如何维护

数量不断增长的已有软件;产生软件危机的原因:一方面与软件本身的特点有关,

另一方面和软件开发与维护的方法不正确有关;

2、耦合性有哪几种类型 其耦合度的顺序如何

耦合性

非直接 数据

耦合 耦合

特征 控制 外部

耦合

公共

耦合

内容

耦合 耦合 耦合

模块独立性

内聚性

其中,1、2、3属于弱耦合,4属于中度耦合,5、6属于较强耦合、7属于强耦合;

内聚性

非直接耦合数据耦合特征耦合控制耦合外部耦合公共耦合内容耦合

偶然

内聚

逻辑

内聚

时间 通信 顺序

内聚

功能

内聚

偶然

内聚 内聚

模块独立性

内聚

其中,1、2、3属于低内聚,4属于中内聚,5、6属于高内聚;

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

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

和评审;三个基本原则:①必须能够表达和理解问题的数据域和功能域;②必须

按自顶向下、逐步分解的方式对问题进行分解和不断细化;③要给出系统的逻

辑视图和物理视图;

4、什么是黑盒测试法

答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,

它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地

接收输入数据,产生正确地输出信息;

5、什么是软件生存周期

答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的

时期,通常把软件经历的这个漫长的时期称为生存周期;软件生存周期就是从提

出软件产品开始,直到软件产品被淘汰的全过程;

6、在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么

答:系统流程图是描述物理系统的传统工具;它的基本思想是用图形符号以黑盒

子形式描绘系统里的每个部件程序、文件、数据库、表格、人工过程等;系统流

程图表达的是部件的信息流程,而不表示信息进行加工处理的控制过程;

7、为什么数据流图要分层

答:为了表达数据处理过程的数据加工情况,用一个数据流图是不够的;为表达

稍微复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数

据流图反映这种结构关系;

8、软件的质量反应为哪些方面的问题

答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量;

在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发

软件;

如果不遵这些开发准则,软件质量就得不到保证;

往往会有一些隐含的需求没有明确地提出来;如果软件只满足那些精确定义了

的需求而没有满足这些隐含的需求,软件质量也不能保证;

软件质量是各种特性的复杂组合;它随着应用的不同为不同,随着用户提出的

质量要求不同而不同;

9、软件工程的基本原则有抽象、信息隐藏、模块化和其他哪些内容软件工程必

须遵循那些基本原则

答:1抽象2信息隐藏2分3模块化2分4局部化5一致性6完全性7可

验证性2分

10、常用的软件项目的估算方法主要有哪4种

1自顶向下的估算方法2自底向上的估算方法3差别估算法

4根据经验估算公式

11、原型法模型一般适应哪些场合

它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项

目组成员包括分析员、设计员、程序员和用户不能很好交流或通信有困难的

情况;

12、简答结构化程序设计的内容及基本要点;

内容:是程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出

口的控制构件;

基本要点:1采用自顶向下,逐步求精的程序设计方法;

2使用三种基本控制结构构造程序,分别是顺序,选择和循环

3采用主程序员组的组织形式;

4采用单入口单出口的模块形式;

13、瀑布模型一般适应哪些场合

瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发;

例如操作系统、编译系统、数据库管理系统等系统软件的开发;应用有一定的

局限性;

14、软件工程的目标是什么

答:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可

理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性

并满足用户需求的软件产品;

15、螺旋模型的适应场合有哪些

答:适应场合:支持需求不明确、特别是大型软件系统的开发,并支持面向规格说

明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型;

16、软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤,

它包括哪些主要内容

答:1风险标识2风险估算3风险评价4风险驾驭和监控;

17、软件生存周期中的软件开发过程由概要设计和其它哪几个阶段组成

答:1详细设计2实现3组装设计4验收测试

18、实体—关系Entity-Relation图简称E-R图,是表示数据对象及其之间关系的

图形语言机制;

19、需求评审标准按照重要性的次序包括哪些内容

答:1正确性2无歧义性3完全性4可验证性5一致性

6可理解性7可修改性8可追踪性;

20、计算机软件——与计算机系统操作有关的程序、规程、规则及任何与之有关的

文档和数据;

21、需求分析的任务是什么

答:需求分析的任务是确定待开发的软件系统“做什么”;具体任务包括确定

软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、

软件系统的验收测试准则和初步的用户手册;

22、软件项目的成本管理——估算软件项目的成本,作为立项和签合同的依据之一,

并在软件开发过程中按计划管理经费的使用;

23、快速原型技术的基本思想是什么

答:在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评

价并提出修改意见,然后开发人员根据用户的意见对原型进行改进;

24、程序设计语言有哪些特点

答:1一致性2二义性3紧致性4局部性

25、可将软件生存周期划分为哪3个过程和哪9个阶段

答:13个过程是:软件定义过程、软件开发过程、软件使用与维护过程;29

个阶段有:可行性研究、需求分析、概要设计、详细设计、实现、组装测试、

验收测试、使用与维护、退役;

六、分析设计题

1. 某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同助教,讲师,

副教授,教授作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年

才能调整工资;请用等价类划分法设计测试用例;

答:划分等价类:

输入条件

职称

合理等价类

①教授

②副教授

③讲师

职称兼工龄 ④助教兼工龄大于2年

⑥助教兼工龄等于两年

⑦助教兼工龄小于两年

⑤四种职称之外任意一种

不合理等价类

设计测试用例:

输入数据

教授

副教授

讲师

助教3

助教2

助教1

工程师

预期结果

输入有效,进行调整工资处理

输入有效,进行调整工资处理

输入有效,进行调整工资处理

输入有效,进行调整工资处理

输入有效,不调整工资处理

输入有效,不调整工资处理

输入无效

覆盖范围

2. 假定某航空公司规定,乘客可以免费托运重量不超过30公斤的行李;当行李重

量超过30公斤时,对头等舱的国内乘客超重部分每公斤收费4元,对其它舱的国

内乘客超重部分每公斤收费6元,对国外乘客超重部分每公斤收费比国内乘客

多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半;用判定树表示计算

行李费的算法;

3、画出与图1所示的程序流程图对应的流图,并试计算其环形复杂度VG;

解:1流图如图2所示:

2计算其环形复杂度:VG=E–N+2=13–10+2=5


本文标签: 软件 数据 设计 需求 过程