软件工程复习重点答案

软件工程复习重点答案
软件工程复习重点答案

软件工程复习重点

一、选择题

1、软件工程三要素是指( B )P8

A、技术、方法和工具

B、方法、工具和过程

C、方法、对象和类

D、过程、模型、方法

2、瀑布模型本质上是一种( A )。P23

A、线性顺序模型

B、顺序迭代模型

C、线性迭代模型

D、及早见产品模型

3、结构化设计是一种应用最广泛的系统设计方法,是以( B )为基础,自顶向下,求精和模块化的过

程。P79

A、数据流

B、数据流图

C、数据库

D、数据结构

4、概要设计的任务是设计系统的( B物理模型)P70

A、逻辑模型

B、物理模型

C、概念模型

D、程序流程图

5、描述软件结构的工具有( A模块结构图)

A、模块结构图

B、PAD图

C、数据流程图

D、程序

6、进行需求分析可以使用多种工具,但( C )是不适用的。

A、数据流程图

B、判定表

C、PAD图(详细设计)

D、数据字典

7、可行性研究要进行的需求分析和设计应该是( C )。

A、详细的

B、全面的

C、简化的、压缩的

D、彻底的

8、软件生命周期由( C )三个时期组成。

A、概要设计、详细设计和系统实现

B、可行性分析、系统设计和编码

C、定义、开发和运行维护

D、分析、设计和测试

9、以下( D )不是模块。对象是一个实体

A、过程

B、程序

C、函数

D、对象

10、程序流程图、N-S图和PAD图是( B )使用的算法表达工具。

A、设计阶段的概要设计

B、设计阶段的详细设计

C、编码阶段

D、测试阶段

11、一个模块直接控制(调用)的下层模块的数目称为模块的( B扇出)P78

A、扇入数

B、扇出数

C、宽度

D、作用域

12、下列工具哪一个是需求分析阶段常用工具?( D )

A、PAD

B、PFD

C、N-S

D、DFD数据流程图

需求分析常用的是数据流程图和数据字典

13、为了提高测试的效率,应该( D)

A、随机地选取测试数据

B、取一切可能的输入数据作为测试数据库

C、在完成编码后制定软件的测试计划

D、选择发现错误可能性大的数据作为测试数据

14、成功的测试是指( B发现程序的错误)

A、运行测试实例后未发现错误项

B、发现程序的错误

C、证明程序正确

D、改正程序的错误

15、软件工程中只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为( C黑盒测试)

测试。

A、白盒法

B、灰盒法

C、黑盒法

D、综合法

16、在物理设计阶段,根据处理的需要,进行物理存储安排,形成数据库的( A内模式)

A、内模式

B、外模式

C、概念模式

D、物理模式

17、描述概念数据模型的工具是( C )

A、N-S图

B、PAD图

C、E-R图

D、DFD图

18、用由底向上渐增式方式对软件进行测试时,需要为每个模块准备一个( A主模块) ,它的作用是

调用被测的模块。

A、主模块

B、桩模块

C、驱动模块

D、输入模块

19、需求分析( A )。

A、要回答“软件必须做什么”

B、可以概括为:理解、分解、表达六个字。

C、要求编写需求分析说明书

D、以上都对

20、软件需求分析报告的内容不应该包括对( B )的描述。

A、主要功能

B、算法的详细过程

C、用户界面及运行环境

D、软件的性能

21、下列描述正确的是( D )。

A、程序就是软件

B、软件开发不受计算机的限制

C、软件既是逻辑实体,又是物理实体

D、软件是程序、数据和相关文档的集合

22、“软件工程的概念是为解决软件危机而提出的”这句话的意思是(D )。

A、强调软件工程成功解决了软件危机的问题

B、说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理

C、说明软件工程这门学科的形成是软件发展的需要

D、说明软件工程的概念,即工程的原则、思想、方法可解决当时软件开发和维护存在的问题

23、程序的流程图(框图)中的箭头代表( B控制流)。

A、数据流

B、控制流

C、调用关系

D、组成关系

24、瀑布模型的主要特点是( D缺乏灵活性)。

A、将开发过程严格地划分为一系列有序的活动

B、将开发过程分解为阶段

C、提供了有效的管理模式

D、缺乏灵活性

25、软件可行性研究的目的是( D确定可行还是不可行)。

A、证明软件开发项目可行

B、证明软件开发项目不可行

C、阐述软件开发项目值得或不值得做

D、为了确定软件开发项目要不要做

26、模块内聚度越高,说明模块内各成分彼此结合的程度越(紧密)。

A、松散

B、紧密

C、无法判断

D、相等

27、为了使模块尽量的独立,要求( B )。

A、模块的内聚程度要尽量高,且模块间的耦合程度要尽量强

B、模块的内聚程度要尽量高,且模块间的耦合程度要尽量弱

C、模块的内聚程度要尽量低,且模块间的耦合程度要尽量弱

D、模块的内聚程度要尽量低,且模块间的耦合程度要尽量强

28、关于软件测试的目的,下面观点错误的是( C )。

A、为了发现错误而执行程序的过程

B、一个好的测试用例能够发现至今尚未发现的错误

C、证明程序是正确、没有错误的

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

29、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(A )

A、结构合理性

B、软件外部功能

C、程序正确性

D、程序内部逻辑

30、解决“软件系统怎么做”是( B )阶段的任务。

A、可行性研究

B、概要设计

C、需求分析

D、编码

31、结构化设计是一种应用最广泛的系统设计方法,是以(数据流图)为基础,自顶向下,求精和模块

化的过程。

A、数据流

B、数据流图

C、数据库

D、数据结构

32、需求分析是由分析员了解用户的要求,认真细致地调研。分析,最终应建立目标系统的逻辑模型并写

出(需求规格说明书)。

A、模块说明书

B、需求规格说明书

C、项目开发计划

D、合同文档

33、PAD(Problem Analysis Diagram)图是一种(详细设计)工具。

A、系统描述

B、详细设计

C、测试

D、编程辅助

34、瀑布模型本质上是一种(线性顺序)。

A、线性顺序模型

B、顺序迭代模型

C、线性迭代模型

D、及早见产品模型

35、可行性研究要进行的需求分析和设计应该是(简化的压缩的)。

A、详细的

B、全面的

C、简化的、压缩的

D、彻底的

36、软件(结构)设计阶段(概要设计)的文档是(模块结构图和说明书)。

A、系统模型说明书

B、程序流程图

C、系统功能说明书

D、模块结构图和说明书

37、采用黑盒法测试程序是根据( B程序的功能说明)。

A、程序的逻辑

B、程序的功能说明

C、程序中的语句

D、程序中的数据

白盒测试结构测试

黑盒测试功能性测试

38、下面不属于软件总体设计设计原则的是( C )

A、模块化

B、自顶向下方法

C、自底向上方法

D、信息隐蔽性

39、描述概念数据模型的工具是( C E-R图 )

A、N-S图

B、PAD图

C、E-R图

D、DFD图

40、软件生存周期中,开发期间包括(D)阶段。

A、软件计划、结构设计、测试和运行维护

B、需求分析、概要设计、详细设计和编码

C、结构设计、编码、测试和运行维护

D、需求分析、结构设计、详细设计、编码和测试

二、填空题

1、软件工程的原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。P9

2、软件工程主要研究领域是软件工程方法学、软件工具和软件支撑环境、软件管理及软件的规范与标准等。P16

3、项目工作计划包括:人力资源配置计划、硬件资源计划和软件资源计划。

4、软件需求分析的基本任务是确定系统必须完成什么工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

5、独立性比较强的模块应该是高内聚,低耦合的模块。

6、数据库设计与用户界面设计属于软件开发阶段的详细设计阶段。P89

7、需求分析阶段数据库设计的任务是:收集和分析需求信息、设计出数据字典、设计数据流图。P102

8、面向对象开发方法采用自底向上的归纳,自顶向下的分解方法。

9、程序设计语言的发展大致分为四代:机器语言、汇编语言、高级语言和第四代语言。

10、程序设计算法的特点包括:有穷性,确定性,有0个或多个输入,有一个或多个输出,有效性。P203

11、静态测试的目的是检查代码与设计的一致性、代码的可读性、代码的正确性、代码结构的合理性。

12、CMM指软件能力成熟度模型,其等级分为初始级、可重复级、已定义级、已管理级和优化级。P276

13、技术可行性是对要开发的项目的功能、-性能、限制条件进行分析,确定在现有资源条件下,技术风险有多大,项目是否能实现。

14、模块之间的调用关系主要有直接调用、选择调用和循环调用。

15、数据库设计一般分成四个阶段:需求分析阶段、概念设计阶段、逻辑设计阶段和物理设计阶段。

16、软件工程的方法、工具和过程构成了软件工程的三要素。

17、软件工程的原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

18、软件生存周期是指一个计算机软件从功能确定、设计到开发成功投入使用,并在使用中不断地修改、

增补和完善,直到被新的需求所替代而停止该软件的使用的全过程。

19、软件的维护一般包括改正性维护、适应性维护、完善性维护和预防性维护四个方面。

20、数据库设计一般分成四个阶段:需求分析阶段、概念设计、逻辑设计阶段和物理设计阶段。

21、结构化设计一般分为变换设计和事务设计,确认它们属于哪种设计要确定对应的数据流是变换流还是

事务流。

22、数据库设计与用户界面设计属于软件开发阶段的详细设计阶段。

23、E-R图是数据库设计概念设计阶段的工具。

24、详细设计阶段的成果,可以通过详细设计说明书来表达,在以后的软件开发工作中可以据此进行程序

编写。

25、概要设计的基本思想是:模块化设计、自顶向下逐步求精、模块独立性和信息隐蔽。

26、可行性分析报告,最后必须有一个结论是可行,还是不可行。

27、软件工程的研究领域包括:软件工程的方法、软件工具和软件支撑环境软件管理及软件的规范与标准

28、程序设计语言的发展大致分为四代:机器语言、汇编语言、高级语言和第四代语言。

29、程序设计算法的特点包括:有穷性,确定性,有0个或多个输入,有1个或多个输出,有效性。

30、静态测试的目的是检查代码与设计的一致性、代码的可读性、代码的正确性、代码结构的合理性。

三、判断题

1、好的软件工程方法可以同时提高质量与生产率。(√)

2、操作系统是整个计算机软件发挥作用的平台。(√)

3、不同的操作系统平台的应用软件可以互用。(×)

4、客户/服务器结构适用于互联网运行场合。(×)

5、许多软件项目的开发之所以失败,主要是因为管理不善。(√)

6、在软件工程阶段,软件的含义就是“程序和使用说明书”。(×)

7、程序中的注释是可有可无的。(×)

8、使用括号以改善表达式的清晰性。(√)

9、静态白盒测试可以找出遗漏之处和问题。(×)

10、在系统测试中发现的错误越多,说明仍存在错误的可能性越小。(×)

P202判断题

四、简答题

1、软件开发步骤包括哪些过程?

需求分析解决系统做什么的问题

概要设计解决系统怎么做

详细设计每个模块内部过程的描述具体化设计软件详细规格说明书

编码设计根据详细设计说明书写出程序模块

系统测试发现和排除错误写出软件测试报告

2、数据字典有哪几类元素构成?

数据流,在一个数据流中数据以数据流为单位进行传输

数据元素,也称数据项,数据的最小单位

数据存储,数据保留或保存的地方

处理,一段程序

外部实体,系统的人机界面,数据流从外部实体流入,又从系统向外部实体流出

3、大型软件系统的设计思想是什么?

一个大型的软件系统是变换型结构和事务型结构的混合结构,通常采用变幻设计为主,事物设计为辅的方式进行软件结构设计,以达到高内聚低耦合,具有独立性,便于修改的目的。

4、数据库设计一般分为哪几个阶段?形成哪三种模式?(P101)

数据库的设计分为四个阶段,需求分析,概念设计,逻辑设计,物理设计。

形成概念模式,内模式,外模式三种模式。

5、什么是软件危机?其产生的原因是什么?(P7)

当软件开发技术跟不上硬件技术的进步,不能满足开发的要求时,导致软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,从而导致了软件危机。

原因:1软件的规模越来越大,结构越来越复杂。2软件开发管理困难且复杂。3软件开发费用不断增加。4软件开发技术落后。5生产方式落后。6开发工具落后,生产效率缓慢。

6、概要设计的原则?(P72)

概要设计的原则的基本思想是:模块化设计,自顶向下逐步求精,模块独立性,信息隐蔽性。

模块化就是将程序划分成若干模块,每个模块完成某个子功能,然后吧这些模块集合起来组成一个整体,可以完成指定的功能来解决问题的要求。

自顶向下逐步求精是先设计顶层结构,在逐层向下设计。

模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系少且接口简单,独立性较强的模块应该是高内聚低耦合的模块。

信息隐蔽是指在设计和确定模块时,使得一个模块内包含的信息,对于不需要这些信息的其他模块来说是不能访问的,

7、阐述结构化设计的主要思想?(P79)

结构化设计方法是基于模块化,自顶向下逐步求精,结构化程序设计等程序设计技术发展起来的。结构化设计可以非常方便的进行数据流框图到软件架构的转换。在结构化设计中,模块结构图能够表示出一个软件系统的层次分解关系,模块调用关系,模块之间数据流和控制信息流的传递关系,是结构化设计的主要工具。模块结构图是有数据流图转换而得到的。在将数据流图转换成软件结构之前,首先要进一步细化数据流图,然后对数据流图分类,确认是事务型还是变换型,不同的数据流图采用不同的设计过程。

8、软件工程主要研究哪些领域?(P16)

1软件工程方法学。在软件开发生存周期全过程使用的一套技术的集合

2软件工具和软件支撑环境,软件工具是用来帮助开发,测试,分析维护其他计算机程序及其文档资料的一类程序。

3软件管理是软件工程中的一项非常重要的工作,许多软件项目的开发失败的主要原因就是管理不善。 4软件的规范与标准指软件开发过程中的作业标准化。

五、应用题

1.仓库的业务工作有如下内容:仓库保管员根据客户的出库单和入库单作出入库登录处理去修改库存台账,根据库存台账作统计输出工作产生库存日报表存储在日记账中。查询库存时,查询者输入查询条件,根据库存台账的内容产生查询报表。画出数据流程图(7分)

2.分别用程序流程图和PDL语言描述一元二次方程的求解问题。

3.某公司的折扣政策:年交易额10万元以下的,无折扣;在10万元以上的并且近三个月无欠款的,折扣率10%;在10万元以上,虽然近三个月有欠款,但是与公司交易在10年以上的,折扣率8%;在10万元以上,近三个月有欠款,且交易在10年以下的折扣率5%。请用判断树来描述公司的折扣政策4.请根据以下考试报名管理过程,绘制数据流程图:考试机构收到考生的报名表后,先进行审核,不合格的要退回;对合格的报名表进行录入处理,形成报名汇总数据。根据报名汇总数据,可以制作各种报表,还可以根据各种查询要求进行查询显示。

5.请将下面的E-R图转换成关系模式。

软件工程试题及答案

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、软件重用的效益是什么?

软件工程试题及答案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: 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 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(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)。

软件工程试题(附答案)

软件工程试题(附答案)

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

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

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

软件工程复习提纲(20160615)

软件工程复习提纲 Chapter1 1.开发文档都有哪些?用图来表示它们之间的关系。 2.说明软件工程研究的内容。 3.软件工程的7条基本原理有何现实意义。 4.怎样理解ISO9000的文档体系?质量手册、程序文件、质量记录三者有何联系和区别? 5.怎样理解CMMI,如何用CMMI去管理软件企业? 6.是否存在这一种现象:搞系统软件的公司不需要采用CMMI和ISO9000模式?CMMI和ISO9000 模式只适用于搞应用软件的企业?如果是,为什么,如果不是,又为什么? 7.软件工程与信息系统工程有何异同? 8.怎样理解元数据? Chapter2 1.为什么要选择软件开发模型?软件开发模型与软件生存周期有什么关系? 2.简述瀑布模型、增量模型、迭代模型、原型模型的优缺点。 3.软件公司的ISO9000或CMM管理体系与软件开发模型有关吗,为什么? 4.你对“生存周期模型裁剪指南”有什么看法? 5.“图书馆信息系统”的开发选用什么开发模型合适? Chapter3 1.立项的具体表现形式是什么? 2.立项建议书的编制者为什么主要是软件公司的市场销售人员,而不是开发人员? 3.什么叫风险分析,技能风险与技术风险有何区别? 3.合同、任务书、立项建议书三者有何异同?有何关系? 4.对软件项目和产品的“功能、性能、接口”三项指标如何理解? Chapter4 1.需求分析的目的是什么,需求分析的难点在哪里? 2.需求分析的理论基础有哪几条? 3.为什么说需求分析是面向流程的? 4.解释术语:元数据、实体、中间数据。 5.用户需求报告与需求规格书有何差异? 6.需求描述有哪几种工具?你喜欢哪一种,为什么?

《软件工程》试题及参考答案(第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. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

软件工程试题及答案

综合练习一答案 一.选择题: 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.需求分析说明书不能作为______。

软件工程复习知识点

1.软件危机的概念,内容,原因及消除的途径;软件危机的概念: 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。概括地说,软件危机包含两方面问题: 如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机产生的原因: 软件本身的复杂性、难衡量的特点; 2. 软件开发与维护的方法不正确。消除软件危机的途径: (1)对计算机软件应当有一个正确的认识; (2)应当有组织、有计划、通过严格的管理手段进行软件的开发; (3)及时总结软件开发的成功技术和方法并加以推广; (4)开发和使用更好的软件工具; 总之,为了解决软件危机,既要有技术措施,又要有必要的组织管理措施。 2.软件工程的定义,基本原理;定义:软件工程是指导计算机软件开发和维护的一门工程学科。基本原理:软件工程的7 条基本原理: (1)用分阶段的生命周期计划严格管理 (2)坚持进行阶段评审 (3)实行严格的产品控制 (4)采用现代程序设计技术 (5)结果应能清楚地审查 6)开发小组的人员应该少而精 7) 承认不断改进软件工程实践的必要性 3.软件工程方法学的基本概念、内容;基本概念:把在软件生命周期全过程中使用的一

整套开发和管理技术方法的集合成为软件工程方法学,也称为范型。软件工程方法学包含3 个要素:方法、工具和过程。 内容:目前使用得最广泛地软件工程方法学,分别是传统方法学和面向对象方法学。传统方法学也称为生命周期方法学或结构化范型。 4.软件生命周期的具体内容,每一个阶段的任务是什么?结合具体的工程例子来理解做 软件项目主要分那几个个阶段。 ①问题定义:确定要求解决的问题是什么 ②可行性研究:决定该问题是否存在一个可行的解决办法 ③需求分析:深入了解用户的要求,在要幵发的目标系统必须做什么问题和用户取得完全一致的看法。 ④概要设计:概括回答怎样实现目标系统。概要设计又叫逻辑设计、总体设计、高层设计。 ⑤详细设计:把解法具体化,设计出程序的详细规格说明。详细设计也叫模块设计、底层设计。 ⑥编码和单元测试:编写程序的工作量只占软件幵发全部工作量的10沧20%。 ⑦综合测试:软件测试的工作量通常占软件幵发全部工作量的40沧50%。 ⑧软件维护:软件维护的费用通常占软件总费用的55 %-70% ①②③为软件定义时期,④⑤⑥⑦为软件幵发阶段。④⑤为系统设计,⑥⑦为系统实现。 5.理解几个典型软件过程的内容及其优点与缺点:瀑布模型、增量模型、快速原型模型、 螺旋模型、喷泉模型等;瀑布模型内容:瀑布模型是带“反馈环”的。优点:(1)可强迫开发人员采用的规范的方法(结构化技术)。 (2)严格地规定了每个阶段必须提交的文档。

软件工程试题与答案 ()

《软件工程》试卷及答案A卷 专业年级姓名得分 一、名词解释(每个2分,共10分) 1.软件危机 2.纯收入 3.模块 4.原型 5.BROOKS定律 二、填空题(每题2分,共20分) 1.____是计算机程序及其说明程序的各种文档。_____是有关计算机程序功能、设计、编制、使用的文字或图形资料。 2.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、____、____、总体设计、详细设计、____、____、软件维护活动,可以将这些活动以适当方式分配到不同阶段去完成。 3.软件详细设计阶段采用的工具有______。 4.____的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。 5.模块的耦合性分为四种类型:____、____、____、____。 6.内聚性有七种类型,最强的是____,最弱的是____。 7.结构图的深度指结构图______,结构图宽度指________。 8.集成测试采用的具体方法有--____、______ 9.对于变换型的数据流图,按照软件设计思想,要将一个大型复杂的软件进行分解,要确定数据流图的 ____、逻辑输入、逻辑输出。 10.软件编码阶段要善于积累编程的经验,使得编出的程序____,易于____,从而提高软件质量。 三、选择题(每题2分,共20分) 1.系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括()。 A.软件环境可行性、技术可行性、经济可行性、社会可行性 B.经济可行性、技术可行性、操作可行性 C.经济可行性、社会可行性、系统可行性 D.经济可行性、实用性、社会可行性 2.通过()可以完成数据流图的细化。 A.结构分解 B、功能分解 C、数据分解 D、系统分解 3.模块(),则说明模块的独立性越强。 A.耦合越强 B、扇入数越高 C、耦合越弱 D、扇入数越低 4.模块()定义为受该模块内一个判断影响的所有模块集合。 A.控制域 B、作用域 C、宽度 D、接口 5.面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B、详细设计 C、软件设计 D、编码

软件工程试题库集及答案

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

软件工程导论第五版复习重点(必考题)

(最后部分为每年必考题) 第一章 1. .软件工程的定义:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的. 2. 软件危机的概念:软件危机是指计算机软件的开发和维护过程中所遇到的一系列严重的问题。 3. 产生软件危机的原因:(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。 (2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 4. 面向对象方法学的四个要点:1.把对象作为融合了数据及在数据上的操作行为的统一的软件构件 2.把所有对象都划分成类3.按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。4.对象彼此间仅能通过发送消息互相联系。 5. 软件生命周期:软件定义(问题定义,可行性研究,需求分析)、软件开发(总体设计,详细设计,编码,单元测试,总体测试)、运行维护(持久地满足用户的需要) 6. 瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型,概念.方法.优缺点.区别。 7. 微软过程把软件生命周期划分为成5个阶段:规划阶段,设计阶段,开发阶段,稳定阶段,发布阶段。 第二章 1.可行性包括:技术可行性,经济可行性,操作可行性。 2. 系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形势描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。4. 书库流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只描绘数据在软件中流动和被处理的逻辑过程。数据流图是系统逻辑功能的图形表示。 5. 用系统流程图描绘一个系统时,系统的功能和实现每个功能的具体方案是混在一起的。有数据元素组成的数据的方式只有下述3种基本类型:顺序(即以确定次序连接两个或多个分量)。选择即从两个或多个可能的元素中选取一个重复即把指定的分量重复零次或多次

软件工程考试试题(含答案)

一、填空题(每空1分,共25分) 1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、 编码、测试和____________。 2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。 3.可行性研究,应从、技术可行性、运行可行性、和开 放方案可行性等方面研究。 4.系统流程图是描绘的传统工具。它的基本思想是用图形符号以 描绘系统里面的每个部件。 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、 和。 6.结构化分析方法是面向________________进行需求分析的方法。结构化分析方法使 用________________与________________来描述。 7.是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为3类,即________________、________________和 ________________。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、 复查和管理复审、________________。 10.大型软件测试包括、、确认测试和 四个步骤。 1、可行性研究需求分析运行与维护 2、系统软件支撑软件应用软件 3、经济可行性法律可行性 4、物理系统黑盒子形式 5、加工数据流数据存储文件 6、数据流数据流图DFD 数据字典DD 7、继承性 8、图示工具、设计语言表格工具 9、审查测试 10、单元测试集成测试系统测试 二、单项选择题(每小题2分,共20分) 1 2 3 4 5 C C C A C 6 7 8 9 10 D D A C B 1.软件设计中划分模块的一个准则是()。 A、低内聚低耦合 B、低内聚高耦合 C、高内聚低耦合 D、高内聚高耦合 2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件 设计方法。

软件工程复习题复习重点及答案

软件工程复习重点 一、选择题 1、软件工程三要素是指( B )P8 A、技术、方法和工具 B、方法、工具和过程 C、方法、对象和类 D、过程、模型、方法 2、瀑布模型本质上是一种( A )。P23 A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 3、结构化设计是一种应用最广泛的系统设计方法,是以( B )为基础,自顶向下,求精和模块化的过 程。P79 A、数据流 B、数据流图 C、数据库 D、数据结构 4、概要设计的任务是设计系统的( B物理模型)P70 A、逻辑模型 B、物理模型 C、概念模型 D、程序流程图 5、描述软件结构的工具有( A模块结构图) A、模块结构图 B、PAD图 C、数据流程图 D、程序 6、进行需求分析可以使用多种工具,但( C )是不适用的。 A、数据流程图 B、判定表 C、PAD图(详细设计) D、数据字典 7、可行性研究要进行的需求分析和设计应该是( C )。 A、详细的 B、全面的 C、简化的、压缩的 D、彻底的 8、软件生命周期由( C )三个时期组成。 A、概要设计、详细设计和系统实现 B、可行性分析、系统设计和编码 C、定义、开发和运行维护 D、分析、设计和测试 9、以下( D )不是模块。对象是一个实体 A、过程 B、程序 C、函数 D、对象 10、程序流程图、N-S图和PAD图是( B )使用的算法表达工具。 A、设计阶段的概要设计 B、设计阶段的详细设计 C、编码阶段 D、测试阶段 11、一个模块直接控制(调用)的下层模块的数目称为模块的( B扇出)P78 A、扇入数 B、扇出数 C、宽度 D、作用域 12、下列工具哪一个是需求分析阶段常用工具?( D ) A、PAD B、PFD C、N-S D、DFD数据流程图 需求分析常用的是数据流程图和数据字典 13、为了提高测试的效率,应该( D) A、随机地选取测试数据 B、取一切可能的输入数据作为测试数据库 C、在完成编码后制定软件的测试计划 D、选择发现错误可能性大的数据作为测试数据 14、成功的测试是指( B发现程序的错误) A、运行测试实例后未发现错误项 B、发现程序的错误 C、证明程序正确 D、改正程序的错误 15、软件工程中只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为( C黑盒测试)

软件工程试题及答案

软件工程 一、选择题 1、软件需求规格说明的内容不包括(B) A、主要功能 B、算法的详细描述 C、用户界面及运行环境 D、软件的性能 2、面向对象的分析方法主要是建立三类模型,即(D) A、系统模型、ER模型、应用模型 B、对象模型、动态模型、应用模型 C、ER模型、对象模型、功能模型 D、对象模型、动态模型、功能模型 3、在ER模型中,包括以下基本成分(C) A、数据、对象、实体 B、控制、联系、对象 C、实体、联系、属性 D、实体、属性、操作 4、各种软件维护的类型中最重要的是(A) A、完善性维护 B、纠错性维护 C、适应性维护 D、预防性维护 5、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-2.0,2.0],现从输入的角度考虑一组测试用列-2.001,-2,20,2.001,设计这组测试用列的方法是(C) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 6、下列白盒测试法,哪种是最强的覆盖准则(D) A、语句覆盖 B、条件覆盖 C、判定覆盖 D、条件组合覆盖 7、确定测试计划是在(A)阶段制定的。 A、总体设计 B、详细设计 C、编码 D、测试 8、数据字典是软件需求分析阶段最重要的工具之一,其最基本的功能是(C) A、数据库设计 B、数据通信 C、数据定义 D、数据维护 9、软件开发当中,抽取和整理用户需求并建立问题域精确模型的过程(D) A、生成期 B、软件意向 C、结构化程序设计 D、面向对象分析 10、以下不属于IT企业当中过程管理和过程改进模型的是(D) A、ISO9001 B、CMMI C、软件企业文化 D、UML 11、适合互联网上编程并可供不同平台运行的面向对象程序设计的语言是(java) 12、软件结构图中,模块之间用直线连接,则表示他们之间存在(A )。 A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 13、生命周期方法设计软件的过程中,画用例图属于(A)阶段的工作。 A、需求分析 B、概要设计 C、详细设计 D、软件维护 14、PDL属于(B)语言。 A、高级程序设计语言 B、伪码 C、中级程序设计语言 D、低级程序设计语言 15、成功的测试是(发现至今尚未发现的错误) 16、软件开发的瀑布模型典型的刻画了软件生成周期的阶段划分,与其想适应的软件开发方法是(即瀑布模型采用什么样的软件开发方法?)(B)。 A、构建化方法 B、结构化方法 C、面向对象方法 D、快速原型方法 17、软件结构图的形态特征能反应程序重用率的是(C) A、深度 B、宽度 C、扇入 D、扇出 18、维护过程的本质是(D)的过程。 A、修改程序 B、修改文档 C、修改位置 D、压缩的修改软件定义和开发 19、软件危机的表现: 答:由于软件特点和长期以来一直没有发明一种高校的开发方法,导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世纪60年代被定义为“软件危机”。它的具体表现如下:

软件工程试题及答案

1. 软件生命期各阶段的任务是什么? 答:软件生命期分为7个阶段: 1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么? 答:1、软件重用可以显著地改善软件的质量和可靠性。 2、软件重用可以极大地提高软件开发的效率。 3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。 3、自顶而下渐增测试与自底而上渐增测试各有何优、缺点? 答: ①自顶而下渐增测试 优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。 缺点:需要存根程序,底层错误发现较晚。 ②自底而上渐增测试 优点与缺点和自顶而下渐增测试相反。 4 、提高可维护性的方法有哪些? 答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前

的审查和复审中,应着重对可维护性进行复审。 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。 在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。 在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。 简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。 【解答】 测试过程按 4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。 单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。与其相关的文档是确认测试计划和软件需求说明书。 平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。与其相关的文档:用户指南、使用手册等。 36.简述容错技术的四种主要手段,并解释。

软件工程(研)复习提纲答案

复习提纲 第一章软件工程概述 1、分析60年代末出现的软件危机的原因。如何理解“越早潜伏的错误越晚发现,越晚发现的错误,修正的费用越高”。 答:软件危机是指在软件开发过程中遇到的一系列严重问题,如:开发周期延长,成本增加,可靠性降低等。 开发大型软件与编制小程序主要有以下区别: ⑴人员:小程序从确定要求、设计、编制、使用,直到维护通常由一个人完成;大型 软件则由用户、项目负责人、分析员、程序员、资料员、操作员等组成一支开发队伍来协同完成。 ⑵文档:小程序很少有书面文档;大型软件则是集体劳动的“产物”,必须有规范化 的文档,便于开发和维护。 ⑶产品。小程序工作量小,如果需作大的修改,可舍弃旧程序而重新编写;但大型软 件的开发耗费了大量的人力与物力,一般不会轻易抛弃,而总是在旧软件的基础上一再改动,以延长它的使用期,因此“版本”在不断升级。 大型软件的开发提出了许多新的问题,而开发方法却还停留在编制小程序的方法上,经验和技巧已不能满足开发大型软件的需要,导致软件开发过程混乱;使用的开发方法和技术不当,没有适当的文档,不易交流,维护困难,开发成本高,软件质量低等,这些问题是造成软件危机的主要原因。 2、软件复用的概念及两类软件复用技术:合成技术和生成技术。 答:软件复用是指在构造新的软件系统过程中,对已存在的软件产品(设计结构、源代码、文档等)重复使用的技术。 (1)合成技术 利用部件(component,组件,构件)合成软件系统的技术。 部件是可复用的一小段软件(可为二进制形式),可以是对某一函数、过程、子程序、数据类型、算法等可复用软件成分的抽象,封装了功能细节和数据结构,有详细的接口。 (2)生成技术 利用可复用的模式,通过生成程序产生一个新的程序或程序段,产生的程序可以看成是模式的实例。 可复用的模式有两种:代码模式和规则模式。 ①代码模式 可复用的代码模式存在于应用生成器中,通过特定的参数替换,生成抽象软件模块的具体实体。各种程序生成器。

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

15、31重复 16. 34. 重复

18. 19.

33.

20. 请就以下需求建立用例图、类图 用时序图描述病人病情异常时系统的情况,其他情况从略 在医院的病房里,将病症监视器安置在每个病床,对病人进行监护。监视器将病人的病症信号(组合)实时地传送到中央监护系统进行分析处理。在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,当病症出现异常时,系统会立即自动报警,并打印病情报告和更新病历。系统根据医生的要求随时打印病人的病情报告,系统还定期自动更新病历。

21.OOA模型有哪些元素组成? 22. 现在要对一个自动取款机(A TM)密码功能软件进行黑盒测试,该软件的规格说明如下: 插入ATM机有效银行卡,机器界面显示“请输入六位密码”;若密码正确机器显示“查询、取款等功能界面”;若密码错误显示“密码错误”;若密码错误三次机器吞卡;若插入非银行卡或消磁卡机器显示“无效卡,退出”。有效测试卡的密码是112233。 请用等价类和边界值方法设计测试该软件功能的全部测试用例。 25. 假设你的任务是对一个已有的软件做重大修改,而且只允许你从下述文档中选取两份: (a)程序的规格说明;(b)程序的详细设计结果(自然语言描述加上某种设计工具表示);(c)源程序清单(其中有适当数量的注解)。 你将选取哪两份文档?为什么这样选取?你打算怎样完成交给你的任务? 26. 什么是程序设计风格?为了具有良好的设计风格,应注意哪些方面的问题? 27. 软件测试的步骤是什么?这些测试与软件开发各阶段之间的关系? 28. 某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。 按照路径覆盖法设计测试用例。

相关文档
最新文档