软件工程试题,华工软件工程,习题答案参考,试卷资料,电信学院大三

时间:2019-05-14 01:42:34下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《软件工程试题,华工软件工程,习题答案参考,试卷资料,电信学院大三》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《软件工程试题,华工软件工程,习题答案参考,试卷资料,电信学院大三》。

第一篇:软件工程试题,华工软件工程,习题答案参考,试卷资料,电信学院大三

《软件工程》试题

一、单项选择题(每题2分,共20分)

1.Windows XP Professional Edition是()

A、系统软件B、人工智能C、事务软件D、应用软件

2. 计算机辅助软件工程,简称()

A、SA B、SD C、SC D、CASE

3. 系统概要设计的主要成果是()

A、界面要求 B、可行性分析报告 C、概要设计说明书 D、程序流图

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

A、确认测试 B、集成测试 C、验收测试 D、验证测试

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

A、松散 B、紧密 C、无法判断 D、相等

6. 软件设计阶段的输出主要是()

A、程序 B、模块 C、伪代码 D、程序设计规格说明书

7. 在瀑布模型中,将软件划分为若干个时期,可行性研究一般属于()

A、维护时期 B、计划时期 C、运行时期 D、开发时期

8. 数据结构设计是进行数据的()

A、概要设计 B、详细设计 C、逻辑设计 D、用户视图设计

9. 结构化分析的核心是()

A、自底向上的抽象 B、自顶向下的分解 C、用DFD建模 D、数据字典

10. 测试与调试最大不同在于()

A、操作者的心理状态 B、它们的行为取向 C、使用的工具 D、运用的方法

二、填空题。(每小题2分,共计20分)

1.软件工程是一门工程学科,涉及软件生产的各个方面,从最初的(系统描述阶段)一直到使用后的(系统维护阶段),都属于其学科范畴。

2.系统的总体特性是系统整体上的属性,只有当所有子系统被整合形成完全的系统之后才能表现出来,系统特性有两种类型:(功能特性)和(非功能特性)。

3.在风险规划过程中,项目管理者要考虑已经识别出的每一个重大风险,并确定处理这个风险的策略。这些策略可以分为三类,即规避策略,(最低风险策略)和(应急计划)等。

4.系统原型是软件系统的初始版本,它可以用来展示一些概念,给出设计选择、发现问题和可能的解决方案。一个软件原型支持需求工程过程中的两个活动:(需求的导出和分析)和(需求的有效性验证)。

5.不同的设计者以不同的方式构建体系结构的设计过程。选择什么样的过程要依赖于系统构建者的应用知识、技巧和直觉。但是所有体系结构的设计过程都包含:(系统结构化),控制建模和(模块分解)。

6.缺陷测试的目标是要在软件系统交付前找出潜伏的缺陷。根据程序或组件的描述进行测试的方法称为(黑盒测试);根据软件的结构知识和实现的知识所进行的测试称为(白盒测试)。

7.已知二分搜索例程的流程图,边数为11,节点数为9,程序的独立路径数可以通过计算()获得,该程序的独立路径数为()。

8.在检验和有效性验证过程中,可以使用的两个系统检查和分析技术是:(软件检查)和(软件测试)。

9.软件能力成熟度模型CMM中的SEI模型把软件过程分为五个不同的级别,这五个级别依次定义为:初始级,(可重复级),已定义级,已管理级和(优化级)。

10.软件系统总是在不断进化以响应变更的需求,对软件变更主要有三种策略:(软件维护),(体系结构转换)和软件再工程。

三、简答题(每题5分,共七题35分)

1. 软件工程和计算机科学有中区别?

计算机科学侧重理论和基础,而软件工程则侧重于软件开发和交付的实际活动。

2. 软件设计过程包括哪些特别的活动?

(1)软件描述;(2)软件开发;(3)软件有效性验证;(4)软件进化。

3. 需求工程过程有哪四个主要阶段?

可行性研究、需求导出和分析、需求描述、需求有效性验证

4. 瀑布模型中主要阶段包括哪些基本的开发活动?

(1)需求分析和定义;(2)系统和软件设计;(3)实现和单元测试;

(4)集成和系统测试;(5)运行和维护。

5. 测试过程分为哪几个阶段?

确定测试需求、制定测试计划、设计测试用例、测试用例开发、准备测试环境、测试执行、测试评估。

6. 软件体系结构模型主要包括哪些内容?

容器模型 客户机/服务器模型 抽象机模型

7. 需求变更管理过程有几个基本阶段?

四、综合论述题

以一个自选项目为背景,应用软件工程方法进行策划,要求必须给出项目描述,主要的软件工程过程的描述以及各阶段的主要内容。(25分)

第二篇:软件工程试题及答案

1、瀑布模型把软件生命周期划分为8个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(运行阶段)。

2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,(需求分析阶段)出错,对软件的影响最大。

3、在结构化的瀑布模型中,(需求分析阶段)定义的标准将成为软件测试中的系统测试阶段的目标。

4、软件工程的出现主要是由于(软件危机的出现)。

5软件工程方法学的目的:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是软件开发工具和软件开发的环境。

6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为相互补充。

7、UML是软件开发中的一个重要工具,它主要应用于基于对象的(面向对象)的方法。

8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(原型化方法)。

9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(数据流)。

10、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(编码阶

段)。

11、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。螺旋模型将瀑布模型和演化模型相结合,并增加了(风险分析),它建立在()的基础上,沿着螺线自内向外每旋转一圈,就得到(原型)的一个新版本。喷泉模型描述了(面向对象)的开发模型,它体现了这种开发方法创建软件的过程所固有的(递归)和(开发各阶段之间无“间隙”)的特征。

12、以下不属于白盒测试技术的是(等价类划分)。

13、为改正软件系统中潜藏的错误而进行的维护活动称为(纠错性维护)。

14、保证软件质量的手段有复审、复查、管理复审和测试等。其中复审发生在软件生命周期的(每个阶段结束之前)。

15、完整的系统设计应包括(计算机系统设计、应用软件设计、数据库设计和网络设计)。

16、在信息系统的物理模型中,表示系统各个物理组成部分之间的数据流动情况的工具是(系统流程图)。

二、填空题(每题1分,共10分)

1、系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。

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

3、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度

优先策略和(宽度优先策略)。

4、在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。

5、详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。

6、所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。

7、独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。

8、设计任何一个人机界面,一般必须考虑(系统响应时间)、用户帮助机制、错误信息处理和命令方式四个方面。

9、在软件测试中,已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行的方法称为(白盒)测试法。

10、(耦合度)是对软件结构中模快间关联程度的一种度量。

三、判断题(每题1分,共10分)

1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。(T)

2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(F)

3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。(F)4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的

可视输出、或设计一些复杂的算法等场合。(T)5.流程图也称为程序框图是最常用的一种表示法。(T)6.面向数据设计方法一般都包括下列任务: 确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。(T)

7.理想的人机界面应针对具有典型个性的特定的一类用户设计。(T)

8.数据输入的一般准则中包括尽量增加用户输入的动作。(F)9.用穷举测试是较现实的测试方法。(F)

10、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动。(T)

四、论述题

1、软件维护是软件生命周期的重要组成,而影响维护的因素较多,除了人员因素、技术因素和管理因素外,还有程序自身的因素,具体影响因素可归纳为:a)软件系统的规模; b)软件系统的年龄;c)软件系统的结构。试回答以下问题:

1)给出上述三项因素的解释,阐述“规模”、“年龄”和“结构”的具体含义。(5分)

答:系统的规模。指软件系统规模的大小,系统规模越大,维护困难越大。

系统的年龄。系统运行时间越长,可能经过多次修改,从而造成维护的困难。

系统的结构。系统结构合理与否,会给维护带来困难。2)扼要分析影响维护工作量的因素,即分析可能增加维护工作量的因素和可能减少维护工作量的因素。(5分)

答:(1)增加维护工作量的因素有:软件系统的年龄和规模、结构合理性、程序复杂性、用户的数量、应用的变化和文档的质量。(2)减少维护工作量的因素有:结构化技术的使用、自动化工具的使用、数据库技术应用、高性能软件使用、新的软件技术的应用。3)简单传述软件可维护性度量的含义。(5分)

答:可维护性度量表示软件系统维护工作的强度或维护工作量的大小。人们为了度量可维护性,常将可维护性度量问题分解为对:可测试性、可理解性、可修改性、可移植性、可靠性、有效性和可用性的度量。

2、可行性研究报告的主要内容有哪些?(5分)

3、系统设计的内容是什么?(10分)

五、综合题(10分)某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:

生产科的任务是:

(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。

(2)根据车间实际生产日报表、周报表调整月生产计划

(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。

(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下

达给车间

技术科的任务是:

(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。

(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。

试写出以上系统中生产科和技术科处理的软件结构图。

软件工程试题A答案

一、选择题

1.C 2.C 3.A 4.C 5.C 6.B 7.C 8.B 9.B 10.C 11.⑴B⑵D⑶A⑷D⑸A

12、D

13、A

14、A

15、C

16、D

二、填空题

1、信息流动

2、经济

3、宽度优先策略

4、中间数据结构或中间文件

5、使用的数据

6、软件问题

7、在其他独立路径中未有过

8、系统响应时间

9、白盒测试法

10、耦合度

三、判断题

1、√

2、X

3、√

4、√

5、√

6、√

7、√

8、X

9、X

10、X

四、论述题

1、系统的规模。指软件系统规模的大小,系统规模越大,维护困难越大。

系统的年龄。系统运行时间越长,可能经过多次修改,从而造成维护的困难。

系统的结构。系统结构合理与否,会给维护带来困难。

2、增加维护工作量的因素有:

软件系统的年龄和规模、结构合理性、程序复杂性、用户的数量、应用的变化和文档的质量。减少维护工作量的因素有:

结构化技术的使用、自动化工具的使用、数据库技术应用、高性能软件使用、新的软件技术的应用。



3、可维护性度量表示软件系统维护工作的强度或维护工作量的大

小。人们为了度量可维护性,常将可维护性度量问题分解为对:可测试性、可理解性、可修改性、可移植性、可靠性、有效性和可用性的度量。

2、个可行性研究报告的主要内容如下:

(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。

(2)可行性研究前提:可行性研究前提。说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。

(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。

(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。

(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。

(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。

(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。

(8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。

3、系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。

(1)系统分解。系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称为模块。

(2)确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。后者可以放在一起,而综合成单个控制线或任务。

(3)处理器及任务分配。各并发子系统必须分配给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必须 9

完成下面的工作:估计性能要求和资源需求,选择实现子系统的硬软件,将软件子系统分配给各处理器以满足性能要求和极小化处理器之间的通信,决定实现各子系统的各物理单元的连接。

(4)数据存储管理。系统中的内部数据和外部数据的存储管理是一项重要的任务。通常各数据存储可以将数据结构、文件、数据库组合在一起,不同数据存储要在费用、访问时间、容量以及可靠性之间做折中考虑。

(5)全局资源的处理。必须确定全局资源,并且制定访问全局资源的策略。全局资源包括:物理资源,如处理器、驱动器等;空间,如盘空间、工作站屏等;逻辑名字,如对象标识符、类名、文件名等。

如果资源是物理对象,则可以通过建立协议实现对并发系统的访问,以达到自身控制;如果资源是逻辑实体,如对象标识符,那么在共享环境中有冲突访问的可能,如独立的事务可能同时使用同一个对象标识符,则各个全局资源都必须有一个保护对象,由保护对象来控制对该资源的访问。

(6)选择软件控制机制。分析模型中所有交互行为都表示为对象之间的事件。系统设计必须从多种方法中选择某种方法来实现软件的控制。

(7)人机交互接口设计。设计中的大部分工作都与稳定的状态行为有关,但必须考虑用户使用系统的交互接口。

五、综合题

第三篇:软件工程试题及答案

软件工程试题及解答

一,单项选择题(本大题共20小题,每小题1分,共20分)

在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。

1.可行性研究要进行一次_____需求分析。

参考答案为:C

A.详细的B.全面的

C.简化的、压缩的D.彻底的

[解析]软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。其实质是要进行一次简化、压缩了的需求分析、设计过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。因此答案为C。

2.系统流程图用于可行性分析中的_____的描述。

参考答案为:A

A.当前运行系统

B.当前逻辑模型

C.目标系统

D.新系统

[解析]可行性研究首先要确定项目的规模和目标,然后就需要对当前运行的系统进行研究了,在考察系统的基础上,通过描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。描述的对象是当前正在运行的系统,因此选择A。

3.系统流程图是描述_____的工具。

参考答案为:C

A.逻辑系统

B.程序系统

C.体系结构

D.物理系统

[解析]系统流程图是用图形符号来表示系统中的各个元素,例如人工处理、数据库、设备等,流程图表达了系统中各个元素之间的信息流动情况。是描绘物理系统的传统工具。

4._______工具在软件详细设计过程中不采用。

参考答案为:D

A.判定表

B.IPO图

C.PDL

D.DFD图

[解析]详细描述处理过程常用三种工具:图形、表格和语言。其中图形工具有结构化流程图、盒图和问题分析图三种,答案中的判定表是用来表示复杂的条件组合与应做的动作之间的对应关系。IPO图用来描述每个模块输入/输出数据、处理功能及模块调用的详细情况。PDL是过程设计语言的缩写,也称程序描述语言,用于描述模块算法设计和处理细节的语言,这三种都可以在软件详细设计过程中使用,而DFD图则是数据流图,是以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,所以它只是一种功能模型,不能在详细设计过程中使用。

5.程序的三种基本控制结构是

参考答案为:B

A.过程、子程序和分程序

B.顺序、选择和重复

C.递归、堆栈和队列

D.调用、返回和转移

[解析]程序的三种基本控制结构是顺序、选择和循环(重复)。子程序只是程序设计一种方法,递归则是一种算法,都算不上是控制结构。

6.程序的三种基本控制结构的共同特点是

参考答案为:D

A.不能嵌套使用

B.只能用来写简单程序

C.已经用硬件实现

D.只有一个入口和一个出口

[解析]程序的特点就是从一个入口开始,最终以一个出口结束,其间可以用顺序,选择和循环方式对程序的流向进行控制。三种结构可以写出非常复杂的程序,而且选择和循环都可以嵌套设计。

7.产生软件维护的副作用,是指

参考答案为:C

A.开发时的错误

B.隐含的错误

C.因修改软件而造成的错误

D.运行时误操作

[解析]因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用,包括编码副作用、数据副作用、文档副作用三种。只有答案C是正确的表述。

8.维护中,因误删除一个标识符而引起的错误是_________副作用。

参考答案为:C

A.文档

B.数据

C.编码

D.设计

[解析]编码副作用指的是在使用程序设计语言修改源代码时可能引入错误,比如删除或修改一个子程序、一个标号、一个标识符,改变程序代码的时序关系,修改文件的打开或关闭等。因此本题答案为C。

9.可维护性的特性中相互促进的是

参考答案为:A

A.可理解性和可测试性

B.效率和可移植性

C.效率和可修改性

D.效率和结构好

[解析]软件的可维护性可用七个质量特性来衡量,分别是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。对于不同类型的维护,这些特性的侧重点也不相同,有一些可维护特性是可以相互促进的,比如可理解性和可测试性,可理解性和可修改性,另外一些则是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的结构好则不属于可维护性的特征。

10.汽车有一个发动机。汽车和发动机之间的关系是_____关系。

参考答案为:B

A.一般具体

B.整体部分

C.分类关系

D.主从关系

[解析]类有两种主要的结构关系,即一般——具体结构关系和整体——部分结构关系。前者称为分类结构,用来描述现实世界中的一般化的抽象关系。后者称为组装结构,用来描述现实世界中的类的组成的抽象关系。汽车和发动机的关系很明显,应该属于整体——部分关系。

11.在变更控制中,______可以用来确保由不同用户所执行的并发变更。

参考答案为:B

A.异步控制

B.同步控制

C.存取控制

D.基线控制

[解析]变更控制包括建立控制点和建立报告与审查制度,其过程中的“检出”和“登入”处理实现了存取控制和同步控制,存取控制管理各个用户存取和修改一个特定软件配置对象的权限,同步控制可用来确保由不同用户所执行任务的并发变更。

12.变更控制是一项最重要的软件配置任务,其中“检出”和______处理实现了两个重要的变更控制要素,即存取控制和同步控制。

参考答案为:A

A.登入

B.管理

C.填写变更要求

D.审查

[解析]“检出”和“登入”处理实现了两个重要的变更控制要素。具体说明见上题。

13.提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要

参考答案为:D

A.消除错误

B.检测错误

C.避开错误

D.容错

[解析]提高软件质量和可靠性的技术大致可分为两类,一类是避开错误技术,即在开发的过程中不让差错潜入软件的技术,另一类是容错技术,即对某些无法避开的差错,使其影响减至最小的技术。

14._____是以提高软件质量为目的的技术活动。

参考答案为:D

A.技术创新

B.测试

C.技术创造

D.技术评审

[解析]技术评审是以提高软件质量为目的的技术活动,是对软件本身的结构、与运行环境的接口、变更带来的影响等方面进行的评审活动。

15.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的;________;对象彼此之间仅能通过传递消息互相联系;层次结构的继承。

参考答案为:C

A.开发过程基于功能分析和功能分解

B.强调需求分析重要性

C.把对象划分成类,每个对象类都定义一组数据和方法

D.对既存类进行调整

[解析]面向对象方法有四个特征,分别是对象唯一性、分类性、继承性和多态性。其中分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类,每个类是具有相同性质的个体集合,而每个对象相关类的实例,对象彼此之间通过传递消息互相联系。

16.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫

参考答案为:D

A.生存期

B.面向对象设计

C.面向对象程序设计

D.面向对象分析

[解析]面向对象的分析的过程就是认识客观世界的过程,其目的就是建立对客观世界的精确、简洁、可理解的正确模型,也就是所谓的建模。因此本题答案为D。

17.原型化方法是用户和设计者之间执行的一种交互构成,适用于______系统。

参考答案为:A

A.需求不确定性高的 B.需求确定的 C.管理信息

D.实时

[解析]原型不同于最终系统,它只实现所选择的部分功能,仅是为了试验或是演示而用,部分功能需求可以忽略或者模拟实现,因此适用于需求不确定性高的系统。

18.原型化方法是一种_______型的设计过程。

参考答案为:A

A.自外向内

B.自顶向下

C.自内向外

D.自底向上

[解析]原型化方法的基本思想是根据用户给出的基本需求,通过快速实现构造出一个小型的、可执行的模型,用户在计算机上实际运行这个用户界面原型,在试用过程中提出意见或建议,然后开发者再对原型进行改进。如此周而复始,逐步弥补不足之处,从而提高了最终产品的质量。它是一种自外向内的设计过程。

19.为了提高测试的效率,应该

参考答案为:D

A.随机地选取测试数据

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

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

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

[解析]软件测试是为了尽可能多的发现程序中的错误,尤其是发现至今尚未发现的错误。在选取测试用例时,不可能进行穷举测试,在每一个细节进行测试,也不能无目的地随机选取测试数据,为了提高测试的效率,测试用例应该选择发现错误可能性大的部分,这样的测试结果才符合软件测试的目的。

20.使用白盒测试方法时,确定测试数据应根据_______和指定的覆盖标准。

参考答案为:A

A.程序的内部逻辑

B.程序的复杂结构

C.使用说明书

D.程序的功能

[解析]白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,由于白盒测试是一种结构测试,所以被测对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准确定测试数据。

二,填空题(本大题共10小题,每小题2分,共20分)

21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的()情况。

解:信息流动

[解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。

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

解:经济

[解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。

23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和()。

解:宽度优先策略

[解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。

24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条()的边的路径。

解:在其他独立路径中未有过

[解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。

25.汇编语言是面向()的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。

解:机器

[解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。

26.在JSP方法中解决结构冲突的具体办法是()。

解:中间数据结构或中间文件

[解析]JSP方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。

27.详细设计的任务是确定每个模块的内部特性,即模块的算法、()。

解:使用的数据

[解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。

28.所有软件维护申请报告要按规定方式提出,该报告也称()报告。

解:软件问题

[解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。

29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的()技术。

解:维护支援

[解析]面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。而维护支援技术则包含信息收集,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。

30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:()、PASCAL语言、C语言和PL/1语言。

解:FORTRAN语言

[解析]计算机语言根据不同行业的需求,使用的侧重点也不尽相同,在办公管理方面,一些数据库语言如FOXPRO、ORICAL有很多的应用,在工程行业,计算机语言的科学计算能力就显得格外重要,如MATLAB、PL/

1、FORTRAN语言都是工程计算中常用的语言。

三,名词解释(本大题共5小题,每小题3分,共15分)

31.经济可行性

解:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。

[解析]对于一个系统所必须要衡量的是经济上是否合算,经济可行性的范围很广,包括效益分析、潜在市场前景等。

32.社会可行性

解:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。

[解析]社会可行性包括合同、责任、侵权等技术人员不甚了解的诸多问题。

33.投资回收期

解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。

[解析]通常我们用投资回收期来衡量一个开发项目的价值,投资回收期越短,就越快获得利润。

34.对应关系

解:即有直接因果关系在程序中可以同时处理。

[解析]对应关系是指数据单元在数据内容上、数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。

35.结构冲突

解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。

[解析]使用JSP方法时会遇到此类结构冲突问题,对此,Jackson提出了引入中间数据结构或中间文件的办法,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。

第四篇:软件工程课后习题答案

第一章习题参考答案

1﹑软件产品的特性是什么? 答:软件产品特性:

⑴是一种逻辑产品,与物质产品有很大的区别。

⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。⑶软件产品不会用坏,不存在磨损,消耗。

⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是“定做”的⑸开发软件的费用不断增加,致使生产成本相当昂贵。2﹑软件生产有几个阶段?各有何特征?

答:⑴程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。

⑵程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。

⑶软件工程时代:这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件。

3﹑什么是软件危机?产生原因是什么?答:软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。产生原因:⑴ 软件规模越来越大,结构越来越复杂。⑵ 软件开发管理困难而复杂。⑶ 软件包开发费用不断增加。⑷ 软件开发技术落后。⑸ 生产方式落后,仍采用手工方式。⑹ 开发工具落后,生产率提高缓慢。

4﹑什么是软件工程?它目标和内容是什么?

答:软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程内容:研究内容包括开发技术和开发管理两个方面。开发技术主要研究:软件开发方法,开发过程,开发工具和环境。开发管理主要研究:软件管理学,软件经济学,软件心理学。

5﹑软件工程面临的问题是什么?

答:软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。

6﹑什么是软件生存周期?它有哪几个活动?

答:软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。7﹑什么是软件生存周期模型?有哪些主要模型?

答:生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。

8﹑什么是软件开发方法?有哪些主要方法?

答:使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。通过使用成功的软件开发方法,在规定的投资和时间内,开发出符合用户需求的高质量的软件。软件开发方法是克服软件危机的重要方面之一,对软件工程及软件包产业的发展起了不可估量的作用。

主要有:结构化方法,JACKSON方法,维也纳开发方法﹙VDM﹚,面向对象开发方法。第二章习题参考答案

1.可行性研究的任务是什么?

答:可行研究的任务:首先需要进行概要的分析研究,初步确定项目的规模,目标,约束和限制。分析员再进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。

主要从三个方面考虑:⑴技术可行性:一般要考虑的情况包括 开发的风险即设计出的系统能否达到要求的功能和性能;资源的有效性;相关技术的发展是否支持;⑵经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资。⑶社会可行性:要开发的项目是否存在任何侵权问题,运行方式在用户组织内是否可行,现有管理制度﹑人员素质﹑操作方式是否可行。2.可行性研究有哪些步骤?

答:⑴确定项目规模和目标;⑵研究正在运行的系统;收集﹑研究﹑分析现有系统的文档资料,实地考察系统访问有关人员,然后描绘现有系统的高层系统流程图。⑶建立新系统的高层逻辑模型;使用数据流图和数据字典描述数据在系统中的流动和处理情况。⑷导出和评价各种方案;导出若干较高层次的物理解决方法,根据技术可行性﹑经济可行性﹑社会可行性进行评估,得到可行的解决方法。⑸推荐可行方案;进行成本~效益分析,决定该项目是否值得开发,若值得开发那么解决方案是什么,并且说明该方案可行的原因和理由。⑹编写可行性研究报告;将上述可行性过程的结果写成相应文档,即可行性研究报告。

3.可行性研究报告有哪些主要内容?

答:⑴引言:编写本文档的目的;项目名称﹑背景;本文档用到的专门术语和参考资料。⑵可行性研究前提:说明开发项目的功能﹑性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。⑶对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需各类专业技术人吧和数量;所需各种设备;向有系统存在什么问题。⑷所建议的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有系统比较的优越性;采用所建议系统对用户的影响;对各种设备﹑现有软件﹑开发环境﹑运行环境的影响;对经费支出的影响;对技术可行性的评价。⑸所建议系统的经济可行性分析:说明建议系统的确良各种支出,各种效益;收益投资比;投资顺收周期。⑹社会因素可行性分析:说明法律因素,对合同责任﹑侵犯专利权﹑侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理﹑工作制度﹑人吧素质的要求。⑺其它可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。⑻结论意见:说明项目是否能开发;还需什么条件才能开发;对项目目标有何变动等。

4.成本--效益分析可用哪些指标进行度量?

答:⑴投资回收率:通常把建立系统若干年后能取得的收益折算成现在的价值和开发系统所需的费用进行比较得出投资回收率。⑵投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间。⑶纯收入:整个生存周期之内的累计经济效益(折成现在值)与投资之差。5.项目开发计划有哪些内容?

答:⑴项目概述:说明项目的各项主要工作;说明软件的功能﹑性能;为完成项目应具有的条件;用户及合同承包者承担的工作完成的期限及其他条件限制;应交付的程序名称;所使用的语言及程储形式;应交付的文档。⑵实施计划:说明任务的划分,各任务责任人,项目开发进度,项目的预算,各阶段的费用支出,各阶段应完成的任务,用图表说明每项任务的开始和完成时间。⑶人员组织及分工:所需人员类型﹑数量﹑组成结构。⑷交付期限:最后完工日期。

第三章习题参考答案

⒈什么是需求分析?需求分析阶段的基本任务是什么?

答:需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。

基本任务:⑴问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。⑵分析与综合,导出软件的逻辑模型⑶编写文档:包括编写“需求规格说明书”,“初步用户使用手册”,“确认测试计划”,“修改完善软件开发计划”

⒉什么是结构分析方法?该方法使用什么描述工具?

答:结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。⒊结构化分析方法通过哪些步骤来实现? 答:⑴了解当前系统的工作流程,获得当前系统的物理模型。⑵抽象出当前系统的逻辑模型。⑶建立目标系统的逻辑模型。⑷作进一步补充和优化。

⒌画数据流图应注意什么事项?

答:命名: 不能使用缺乏具体含义的名字,加工名应能反映出处理的功能。1.画数据流而不是控制流。数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。

一般不画物质流。2.每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。

编号: 某个加工分解成加一张数据流图时,上层图为父图,下

层图为子图。子图应编号子图上的所有加工也应编号,子图的编号应与父图的编号相对应。3.父图与子图的平衡:子图的输入输出 数据流同父图相应加工的输入输出数据流必须一致⑵抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。⑶信息隐蔽:将模块实现自身功能的细节与数据“局部数据存储:当某慨数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。注意数据流图的易理解性。

⒍什么是数据字典?其作用是什么?共有哪些条目?

答:数据字典(DD)用来定义数据库流图中的各个成分的具体含义。有以下四类条目:数据流,数据项,数据存储,基本加工。

⒎描述加工逻辑有哪些工具?

答:加工逻辑的描述:一般用结构化语言,判定表,判定树 结构化语言是介于自然语言和形式语言之间的一种半形式化语言。它的结构可分里层和内层

⑴外层:用来描述控制结构,采用顺序,选择,重复三种基本结构。

顺序结构:是一组祈使语句,选择语句,重复语句的顺序排列 ②选择结构:一般用IF-THEN-ELASE-ENDIF,CASE-OF-ENDCASE等关键词。

③重复结构:一般用DO-WHILE-ENDDO,REPEAT-UNTIL等关键词。⑵内层:一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词,其 动词含义要具体,尽量不使用形容词和副词来修饰。

⒏什么是IDEF方法?IDEF0方法有哪些特点?答:IDEF方法是美国空军针对计算机辅助制造工程项目中用于进行复杂系统分析和设计的方法,是在结构化分析方法基础上提出来的。

包括: IDEF0描述系统的功能活动及联系,建立系统的功能模型。即反映系统”做什么“折功能。IDEF1描述系统的信息及联系,建立系统的信息模型。IDEF2进行系统模拟,建立系统的动态模型。IDEF0特点:

⑴采用方框和箭头等简单图形符号描述系统的活动和数据流,描述活动所受的约束条件及实现机制。

如下图描述,其中输入为完成某活动时所需的数据,输出指执行活动产生时的数据,控制活动指所受到的约束条件,机制是指活动由谁来完成。⑵采用严格的自顶向下﹑逐层分解的方式建立系统功能模型。

⒐简述SA方法的优缺点。答:SA方法是软件需求分析中公认的,有成效的,技术成熟,使用广泛的一种结构化分析方法。较适用于开发数据处理类型软件的需求分析。利用图形等半形式化工具表达需求,简明,易读,也易于使用。但也存在一些弱点,表现如下:⑴SA方法仅是一个静态模型,没有反映处理的顺序,即控制流程。⑵SA方法使用DFD在分析与描述”数据要求“方面是有局限的,只有与数据库技术中的实体联系图(ER图)结合起来,才能较完整地描述用户对系统的需求。⑶DFD不适合描述人机界面系统的要求,一些人机交互较频繁的软件系统。⑷SA方法要与形式化方法结合起来,才能更精确地描述软件需求。⑸要借助需求分析工具,提高需求分析的质量及效率。

第四章习题参考答案

1、什么是软件概要设计?该阶段的基本任务是什么?

答:把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。基本任务:⑴设计软件系统结构,具体为:1.采用某种设计方法,将一个复杂的系统按功能划分为模块。2.确定每个模块的功能。3.确定模块之间的调用关系。4.确定模块之间的接口(模块之间传递的信息)评价模块的结构质量⑵进行数据结构及数据库的设计⑶编写概要设计的文档 主要内容有:概要设计说明书,数据库说明书(DBMS的简介,概念模型,逻辑设计,结果)用户手册,修订测试计划(测试的策略﹑方法﹑步骤)⑷评审:是否完整地实现了规定的功能﹑性能要求。设计方案是否可行。关键的处理及内部接口定义的正确性,有效性,各部分的一致性。

2、软件设计的基本原理包括哪些内容?

答:⑴模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。模块化即按照一定的原则,将软件划分成若干个模块,每个模块完成一个特定的功能,然后把这些模块按照某种方法组装成一个软件系统。(可降低复杂度、减少工作量)

模块具有以下几种特性:接口:模块的输入输出。功能:指模块实现什么功能。逻辑:描述模块内部如何实现要求及所需的数据。状态:该模块的运行环境,模块间调用与被调用关系。

隐蔽”起来。模块间仅交换为完成系统功能所必须的信息。⑷模块独立性:每个模块只完成系统要求的独立的子功能。

3、衡量模块独立性的两个标准是什么?各表示什么含义? 答:内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。

4、模块的耦合性有哪几种?各表示什么含义?

答:⑴内容耦合:一个模块直接操作或修改另一模块的数据,或者不通过正常入口直接转入另一模块⑵公共耦合:两个或多个模块通过共同引用一个全局数据环境相互作用⑶控制耦合:模块之间通过传递控制信息相互作用⑷标记耦合:两个模块之间通过传递公共指针或地址相互作用的耦合⑸数据耦合:模块之间通过传递数据交换信息⑹无耦合:模块间无任何关系,独立工作

5、模块的内聚性有哪几种?各表示什么含义?答:⑴偶然内聚:一个模块各个成分之间毫无关系⑵逻辑内聚:将几个逻辑上相关的功能放在同一个模块中⑶时间内聚:一个模块完成的功能在同一时间执行⑷过程内聚:一个模块内部的处理成分是相关的,而且必须以特定的次序执行⑸通信内聚:一个模块的所有成分都集中在同一个数据结构上⑹顺序内聚:一个模块的各个成分同一个功能密切相关,而且一个成分的输出,作为另外一个成分的输入⑺功能内聚:模块内的所有成分属于一个整体,完成单一的功能。(内聚最高)

6、什么是软件结构?简述软件结构设计的优化准则。

答:⑴改进软件结构,提高模块独立性 首先设计出软件初始结构,评价该结构,通过模块分解或合并,力求降低耦合提高内聚。⑵模块的规模应该适中⑶模块结构的深度、宽度、扇出和扇入应适中。深度:软件结构中控制的层数 宽度:软件结构中同一层次上最大模块总数 扇入:某一模块有多少直接调用它的上级模块数目(越大越好)扇出:一个模块直接控制(调用)下级模块的数目。(越少越好,3,4个为宜,不超过9个,“顶层扇出较高,中间扇出较少,底层模块高扇入多”⑷一个模块的作用域(范围),应处在这个模块的控制域(范围)之内 模块的作用域:受该模块内一个判定影响的所有模块的集合模块的控制域:这个模块本身以及所有直接或间接从属于它的模块的集合一个模块的影响范围(作用域),应处在这个模块的模块的控制范围(控制域)内。

8、什么样是“事物流”?什么是“变换流”?试将相应形式的数据流图转换为软件结构图

答:数据流图(DFD)一般可分为“变换流”,“事物流”两种。“变换流”:由输入﹑输出﹑变换(或称处理)三部分组成,是一顺序结构。“事物流”:它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。(这人加工称为事务处理中心)

9.试述“变换分析”﹑“事务分析”设计步骤。

答:变换分析设计步骤:⑴确定变换中心,逻辑输入和输出。⑵设计软件结构的顶层和第一层--变换结构:顶层的功能是完成所有模块的控制(名称应是系统名,以体现完成整个系统功能)第一层至少有三种功能模块:输入﹑输出和变换模块⑶设计中﹑下层模块,对第一层的模块自顶向下分解。输入模块由两部分组成:接收数据﹑转换成调用模块所需信息。输出模块由两部分组成:将数据转换成下属模块所需的形式﹑ 发送数据 变换模块:对每个基本加工建立一功能模块、⑷设计的优化 :输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。其它输入模块与转换数据模块都很简单时,可将它们合并。输出部分求精:每个物理输出设置专门模块,其它也可适当合并。变换部分求精:根据设计准则,对模块适当合并。事务分析的设计步骤:⑴确定事务中心和加工路径⑵设计顶层(事务机构)和第一层 顶层模块有两个功能:接收数据和根据事务类型调动相应处理模块。⑶中下层模块的设计﹑优化工作与变换结构相同。事务型软件结构包括两部分: 接收分支 发送分支出 通常包括一调度模块,当事务类型不多时,可与主模块合并。

第五章习题参考答案

1、详细设计的基本任务是什么,有哪几种描述方法?答:详细设计的基本任务包括:(1)为每个模块进行详细的算法设计(2)为模块内的数据结构进行设计(3)对数据库进行物理设计(4)其他设计(5)编写详细设计说明书(6)评审 详细设计的描述

方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和PAD(问题分析图)为描述工具,语言常用过程设计语言(PDL)来作为工具。

2、结构化程序设计的基本要点是什么?答:主要有三个:(1)采用自顶向下、逐步求精的程序设计方法(2)使用三种基本控制结构构造程序。任何程序都可以由顺序、选择、重复(循环)三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。(3)主程序员组的组织形式。

3、简述Jackson方法的设计步骤。答:Jackson方法的设计步骤如下:1.分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图表示这些数据结构。(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。3.按一定的规则由输入、输出的数据结构导出程序结构。4.列出基本操作与条件,并把它们分配到程序结构图的适当位置。(5)用伪码写出程序。比较?

答:白盒法测试法把测试对象看作一个打开的盒子,测试人员须了解程序内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

白盒法有下列几种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖

从上到下的覆盖标准其检错能力也从弱到强,其中条件组合发现错误的能力较强,凡满足其标准的测试用例,也必然满足前四种覆盖标准。在实际的逻辑测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例来达到路径覆盖的测试标准。

什么是黑盒测试法?采用黑盒技术测试用例有哪几种方法?这些第六章习题参考答案

程序语言有哪些共同特征?

答:程序语言的共同特征(似为特性更符合题意)是指程序设计语言的语言特性,包括心理特性、工程特性和技术特性三个方面。语言的心理特性对人机通信的质量有主要的影响;语言的工程特性对软件开发成功一否有重要的影响,此外,语言的技术特性也会影响软件设计的质量。

在项目开发时选择程序设计语言通常考虑哪些因素?

答:通常要考虑的因素有:项目的应用领域、软件开发的方法、软件执行的环境、算法和数据结构的复杂性以及软件开发人员的知识等。

第4代语言(4GL)有哪些主要特征?答:4GL的主要特征是:1.友好的用户界面2.兼有过程性和非过程性双重特性3.高效的程序代码4.完备的数据库(5)应用程序生成器举例说明各种程序设计语言的特点及适用范围?

答:以常见的一些编程语言为例:FORTRAN语言,它不仅面向科学计算,数据处理能力也极强。适用于科学工程计算;Pascal语言,具有很强的数据和过程结构化能力,它语言简明,数据类型丰富,程序结构严谨。它是第一个体现结构化编程思想的语言。用于描述结构化算法和科学计算,操作系统的编写 ;C语言:功能强大,支持复杂的数据结构,可大量运用指针,具有丰富灵活的操作运算符及数据处理操作符,它还具有汇编语言的某些特征,使程序运行效率高。可用于许多领域,特别是在操作系统等方面有较大优势。Coble语言,它具有极强的数据定义能力,程序说明与硬件环境说明分开、数据描述与算法描述分开。结构严谨层次分明,广泛用于商业数据处理。SQL:结构化查询语言,用于对数据库进行存取管理。

汇编语言和Ada语言,主要用于实时处理和编写系统软件。Prolog、Lisp语言。Lisp是一种函数型语言,特别适用于组合问题中符号运算和表处理,用于定理证明、树的搜索和其他问题的求解。Prolog是一种逻辑型语言,它提供了支持知识表示的特性,每一个程序由一组表示事实、规则和推理的句子组成,比较接近与自然语言。这两种语言主要用于人工智能系统开发。C++、Java语言,是面向对象的设计语言,用于面向对象的方开发软件。

什么是程序设计风格?为了具有良好的设计风格,应注意哪些方面的问题?

答:程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。

要形成良好的程序设计风格,应从源程序文档化、数据说明、语句构造、输入输出和追求效率几个方面加以注意。第七章习题参考答案

软件测试的目的是什么?软件测试中,应注意哪些原则?

答:软件测试的目的是为了发现软件的错误。软件测试中应注意的原则有:

测试用例应由输入数据和预期的输出数据两部分组成。这样便 于对照检查,做到有的放矢。测试且例不仅选用合理输入数据,还要选择不合理的输入数据。这样能更多地发现错误,提高程序的可靠性。对于不合理的输入数据,程序应拒绝接受,并给出相应的提示。

除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事。

应制定测试计划并严格执行,排除随意性。长期保留测试用例。

对发现错误较多的程序段,应进行更深入的测试。(7)程序员应避免测试自己的程序。测试是一种“挑剔性”的行为,心理状态是测试自己程序的障碍。

什么是白盒测试法?有哪些覆盖标准?试对他们的检错能力进行

方法各有什么特点?

答:黑盒测试法把被测试对象看成是一相黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。

采用黑盒技术测试用例的方法有:等价类的划分、边界值分析、错误推测和因果图。

软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?

答:软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。

单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。

集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。

确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。

系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。

单元测试有哪些内容?测试中采用什么方法?答:单元测试主要针对模块的以下五个基本特征进行测试:1.模块接口 2.局部数据结构 3.重要的执行路径4.错误处理 5.边界条件6.测试的方法是为被测试模块编写驱动模块和桩模块来实现被测试单元的可运行。通过驱动模块来模拟被测试模块的上级调用模块,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结构并输出。桩模块则用来代替被测试模块所调用的模块。它的作用是返回被测模块所需的信息。

什么是集成测试?非渐增式测试与渐增式测试有什么区别? 渐增式测试如何组装模块?

答:集成测试是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。

非渐增式测试是指首先对每个模块分别进行单元测试,再把所有模块组装成一个完整的系统进行的测试。而渐增式测试就是逐个把未经测试的模块组装到已经过测试的模块上去进行集成测试,每加入一个新模块进行一次集成测试,重复此过程直到程序组装完毕。渐增式测试有两种不同的组装方法:自顶向下和自底向上结合。两者区别是:(1)非渐增式方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而渐增式测试往往把单元测试和集成测试合在一起,同时完成。(2)非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量少。渐增式可以较早地发现接口之间的错误,非渐增式最后组装时才发现。(3)渐增式有利于排错,发生错误往往和最近新加入的模块有关,而非渐增式发现接口错误推迟到最后,很难判断是哪一部分接口出错。(4)渐增式比较彻底,已测试的模块和新的模块再测试。(5)渐增式点用时间较多,但非渐增式所需更多的驱动模块和桩模块也占用一些时间。(6)非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。什么是确认测试?该阶段有哪些工作?

答:确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。因而需求说明是确认测试的基础。确认测试阶段有两项工作:进行确认测试与软件配置审查。

调试的目的是什么?调试有哪些技术手段?

答:调试则是在进行了成功的测试之后才开始的工作。调试的目的是确定错误的原因和位置,并改正错误,因此调试也称为

纠错(Debug)。调试的技术手段有简单的调试方法、归纳法、演绎法和回溯法等。第八章习题参考答案 软件维护有哪些内容? 答:(1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。

(2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。

(3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。

(4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。软件维护的特点是什么? 答:主要体现在三个方面:

(1)非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。

(2)维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而又科学的管理和规划,就会引起软件运行时的维护困难。

(3)软件维护的费用。软件维护的费用在总费用中的比重是在不断增加的,这是软件维护有形的代价。另外还有无形的代价,即要占有更多的资源。软件维护费用增加的占有原因是软件维护的生产率非常低。软件维护的流程是什么?

答:软件维护的流程如下:知道维护申请报告、审查申请报告并批准、运行维护并做详细记录、复审。软件维护的副作用有哪些? 答:维护的副作用有以下三种:

(1)编码副作用。在使用程序设计语言修改源代码时可能引入的错误。

(2)数据副作用。在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。数据副作用是修改软件信息结构导致的结果。但它可以通过详细的设计文档加以控制。(3)文档副作用。如果对可执行软件的修改没有反映在文档中,就会产生文档副作用。

什么是软件可维护性?可维护性度量的特性是什么?

答:软件可维护性的定义:软件能够被理解、校正、适应及增强功能的容易程度。软件的可维护性可用以下七个质量特性来衡量,即可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

提高可维护性的方法有哪些? 答:(1)建立明确的软件质量目标。(2)使用先进的软件开发技术和工具。(3)建立明确的质量保证。(4)选择可维护性的程序设计语言。(5)改进程序的文档。第九章习题参考答案

渐增模型有几种?各有何特点?

答:渐增模型有两种类型,一是增量构造模型,二是演化提交模型。增量构造模型是在瀑布模型基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发。演化提交模型则是在瀑布模型的基础上,所有阶段都进行增量开发,不仅是增量开发,也是增量提交。

2、快速原型模型有几种,各有什么特点?

答:快速原形模型根据原型的不同作用,有三类原型模型: 探索型原型:把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发者对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。

实验型原型:主要用于设计阶段,考核实现方安是否合适,能否实现。对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型的开发来证实设计方案的正确性。

(3)演化型原型:它将原型思想扩展到软件开发的全过程,就是及早向用户提交一个原型系统,在得到用户认可后,将原型系统不断扩充演化为最终的软件系统。快速原型的开发步骤是什么? 答:快速原型的开发步骤是:(1)快速分析:在分析人员与用户的配合下,迅速确定系统基本需求并开始构造原型。(2)构

造原型:在快速分析的基础上,根据基本需求说明尽快实现一

个可运行的系统。(3)运行原型:通过运行快速原型,发现问题,消除误解,达到开发者也用户的充分协调。(4)评价原型:在运行的基础上,评价原型的特性,分析运行效果是否满足用户的需求,提出全面的修改意见。(5)修改:根据评价原型的活动结果进行修改,修改过程代替初始的快速分析,从而实现原型开发的循环过程。用户与开发者在这种循环过程中不断接近系统的最终要求。上述步骤在软件工具的支持下往往是互相交融在一起的,而不再象瀑布模型那样严格的阶段划分,线性推进。

评价快速原型模型的优缺点。答:快速原型的优点是:(1)可及早为用户提供有用的产品。(2)可及早发现问题,随时纠正错误。(3)减少技术、应用风险,缩短开发时间,减少费用、提高生产率。(4)通过实际运行原型,提供直接评价系统的方法,促使用户主动参与开发活动,加强了信息反馈,促进各类人员的协调,减少误解,适应需求变化,能有效提高系统质量。快速原型的缺点是:1.缺乏丰富而强有力的软件工具和开发环境。2.缺乏有效的管理机制,还未建立起自己的开发标准。3.对设计开发环境要求较高。(4)在多次重复改变原型的过程中,程序员会感到厌倦。(5)系统的易变性对测试有一定影响,难于做到彻底测试,更新文档较为困难。

4、比瀑布模型与增量模型,指出增量模型的新思路。答:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中用户很难参与进去,只有到开发结束才能看到整个软件系统。这种理想的、线性的开发过程缺乏灵活性,不适应实际的开发过程。增量模型是在瀑布模型的基础上加以修改而形成的。属于非整体开发模型。

它的基本思路是为了使开发过程具有一定的灵活性和可修改性,在开发过程中推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。第十章习题参考答案

说明对象、类、类结构、消息的基本概念。

答:(1)对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象包括有形实体、作用、事件、性能说明等类型。对象具有状态和行为。一个对象用数据值来描述它的状态,对象的操作则用于改变状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。对象内的数据具有自己的操作,从而可灵活地专门描述对象的独特行为,具有较强的独立性和自治性,其内部状态不受或很少受外界的影响,具有很好的模块化特点。为软件重用奠定了坚实的基础。(2)类:具有相同或相似性质的对象的抽象就是类。因此,对象的抽象就是类,类的具体化就是对象,也可以说类的实例是对象。(3)类结构:类与类之间的结构关系,包括一般-具体结构关系和整体-部分结构关系。一般-具体关系结构称为分类结构,也可以说是“或”关系或“is a”关系,类的这种层次结构可用来描述现实世界中的一般化的抽象关系,通常越在上层的类越具有一般性和共性,越在下层的类越具体、越细化。整体-部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。类的这种层次关系可用来描述现实世界中的类的组成的抽象关系。上层的类具有整体性,下层的类具有成员性。在类的层次结构中,通常上层的类称为父类或超类,下层类称为子类。(4)消息:对象之间进行通信的构造叫做消息。在对旬的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。接收消息的对象经过解释,然后给予响应。这种通信机制称为消息传递。发送一条消息的格式是“对象名.方法名(参数)”。

说明面向对象的特征和要素。答:面向对象的特征是:(1)对象唯一性。每个对象都有自身唯一的标识,在对象生存期中,其标识不变,不同的对象不能有不同的标识。(2)分类性。是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类(3)继承性。是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。(4)多态性。是指相同的操作或函数过程可以作用于多种类型的对象上并获得不同的结果。面向对象的要素是:1.抽象。2.封装性(信息隐蔽)(3)共享性。说明动态模型的特征,说明事件,脚本、状态的含义。

答:动态模型是与时间和变化有关的系统性质,该模型描述了系统的控制结构,它表示了瞬时的、行为化的系统控制性质,它关心的是系统的控制,操作的执行顺序,它从对象的事件和状态的角度出发,表现了相互行为。事件是指特定时刻发生的某件事情,它是某事情发生的信号,它没有持续时间,它是一种相对性的快速事件。脚本是完成系统某个功能事件序列,侧重于表达说明发生于系统执行过程中的一个特定场景,用事件跟踪图表达。状态是对象属性值的抽象。状态指明了对象对输入事件的响应。

说明功能模型的特征,比较功能模型的DFD和结构化方法的DFD异同。

答:功能模型描述了系统的所有计算。功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。功能模型表明一个计算如何从输入值得到输出值,它不考虑所计算的次序。功能模型由多张数据流图组成。数据流图说明数据流是如何从外部输入、经过操作和内部存储输出到外部的。功能模型也包括对象模型中值的约束条件。

说明三种分析模型的关系。答:三种分析模型之间关系是这样的:功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。说明对象建模的过程。

答:对象建模的过程如下:首先标识类和关联,因为它们影响了整体结构和解决问题的方法,其次是增加属性,进一步描述类和关联的基本网络,使用继承合并和组织类,最后将操作增加到类中去作为构造动态模型和功能模型的副产品。(1)确定类。构造对象模型的第一步是标出来自问题域的相关对象类,包括物理实体和概念。所有类在应用中都必须有意义。检查问题陈述中的所有名词,产生暂定类。然后去掉不必要的类和不正确的类。(2)准备数据字典。为所有建模实体准备一个数据词典。准确描述各个类的精确含义,描述当前问题中的类的范围,包括对类的成员、用法方面的假设或限制。1.确定关联。两个或多个类之间的相互依赖就是关联。从问题中抽取所有可能的关联表示,把它们记下来,但不要过早去细化这些表述。2.确定属性。属性是个体对象的性质,通常用修饰性的名词词组来表示。只考虑与具体应用直接相关的属性,不考虑那些超出问题范围的属性,首先找出重要属性,避免那些只用于实现的属性,要为各个属性取有意义的名字。3使用继承来细化类。4.完善对象模型。

说明功能建模的过程。答:功能建模的过程如下:(1)确定输入、输出值(2)建立数据流图

10、说明对象设计的步骤。

答:对象设计要确定实现用到的类、关联的完整定义,接口的形式以及实现操作方法的算法,可以增加实现必须的内部对象,对数据结构和算法进行优化。1.获得操作 2确定操作的目标对象 3.算法设计 4.优化设计 5.控制的实现 6调整继承(7)关联的设计

第十一章习题参考答案

软件质量与软件质量保证的含义是什么?

答:从实际应用来说,软件质量定义包括三个一致性:1.与所确定的功能和性能需求的一致性;(2)与所成文的开发标准的一致性; 3.与所有专业开发的软件所期望的隐含特性的一致性。4.软件质量保证是指确定、达到和维护所需要的软件质量而进行的所有有计划、有系统的管理活动。影响软件质量的因素有哪些? 答:影响软件质量的因素分为可以直接度量的因素(如单位时间内千行代码中所产生的错误)和只能间接度量的因素(如可用性和可维护性)。

什么是软件质量保证策略?软件质量保证的主要任务是什么? 答:软件质量保证策略是指软件质量保证工作的过程和侧重点。质量保证的主要任务包括以下几点:1.正确定义用户的要求。2.技术方法的应用。3.提高软件开发的工程能力。4.软件的复用。5.发挥每个开发者的能力。6.组织外部力量协作。7.排除无效劳动。(8)提高计划和管理质量。程序复杂性的度量方法有哪些?

答:软件复杂性的度量方法有:1.代码行度量法:以源代码行数作为程序复杂性的度量。

2、McCabe度量法:一种基于程序控制流的复杂性度量方法。

什么是软件的可靠性?它们能否定量计算?

答:软件可靠性是指在给定的时间内,在规定的环境条件下系统完成所指定功能的概率。衡量软件可靠性的两个常用指标是平均失效等待时间MTTF和平均失效间隔时间MTBF。就是说可以定量计算。

7、说明容错软件的定义与容错的一般方法。

答:容错软件的定义有四种,指规定功能的软件,(1)在一定程度上对自身错误的作用具有屏蔽能力的软件。(2)在一定程度上能从错误状态自动恢复到正常状态的软件。(3)在因错误而发生错误时,仍然能在一定程度上完成预期的功能的软件。(4)在一定程度上具有容错能力的软件。

实现容错技术的主要手段是冗余。冗余通常分为四类:1.结构冗余,又分为静态、动态和混合冗余三种。2.信息冗余 3.时间冗余(4)冗余附加技术第十二章习题参考答案

软件工程管理包括哪些内容?

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

2、软件项目计划中包括哪些内容?

答:软件项目计划内容包括:1.范围 2.资源 3.进度安排 4成本估算(5)培训计划

3、软件开发成本估算方法有哪几种? 答:软件开发成本估算的方法主要有:(1)自顶向下估算方法(2)自底向上估算方法(3)差别估算方法

以及专家估算法、类推估算法、算式估算法等几类方法。

4、什么是软件配置管理?什么是基线?

答:软件配置管理,简称SCM(Software Configuration Management),是指一组管理整个软件生存期各阶段中变更的活动。软件配置管理技术可以使软件变更所产生的错误达到最小并最有效地提高生产率。

基线:是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。

5、软件工程标准化的意义是什么?都有哪些软件工程标准? 答:软件工程标准化可以为软件工程各个阶段的活动提供统一的行动规范和衡量准则,使得各种工作都能有章可循。软件工程标准根据其制定机构与适用范围,可分为:1.国际标准2.国家标准 3.行业标准 4.企业规范

5、项目(课题)规范

6、请说明软件文档的作用?

答:软件文档的作用是:1.提高软件开发过程的能见度;2.提高开发效率;3.作为开发人员阶段工作成果和结束标志;4.记录开发过程的有关信息便于使用与维护;5.提供软件运行、维护和培训有关资料;6.便于用户了解软件功能、性能。第十三章习题参考答案

1、什么是软件开发环境?请列出其发展情况。

答:软件开发环境是指在计算机的基本软件的基础上,为支持软件的开发而提供的一组工具软件系统。具体地说,软件开发环境是一组相关工具的集合。这些相关工具按一定的开发方法或一定开发处理模型组织起来的,这些相关工具支持整个软件生存期的各阶段或部分阶段。软件开发环境的发展阶段:

(1)70年代,软件开发与设计方法出现了结构化分析技术的一整套相互衔接的SA-SD的方法学。与此相适应的计算机辅助软件工程技术则主要由开发孤立的软件工具而逐步向程序设计环境的开发和使用方向发展,出现了第一代的基于正文的CASE工具。

(2)80年代中期与后期,主要是实时系统设计方法,以及面向对象的分析和设计方法的发展,它克服了结构化技术的缺点。在这期间开发了第二代的CASE工具,其特点是支持使用图形表示的结构化方法,如数据流图与结构图。其开发环境表现在提高环境中工具的集成性方面,如“集成的项目支持环境”。(3)80年代后期和90年代初期出现了“基于信息工程CASE”技术,这种环境集成了用于项目计划、分析、设计、编程、测试和维护的一个工具箱的集合。

(4)90年代出现一系列集成的CASE软件产品,用以实现需求管理、应用程序分析设计和建模、编码、软件质量保证和测试、过程和项目管理及文档生成管理等软件开发工作的规范化、工程化和自动化。

2、请叙述软件开发环境的分类。答:软件开发环境可按解决的问题、软件开发环境的演变趋向和集成化程度进行分类:(1)按解决的问题可分为:程序设计环境、系统合成环境、项目管理环境三类。(2)按软件开发环境的演变趋向可分为:以语言为中心的环境、工具箱环境和基于方法的环境三类。(3)按集成化程度有第一代、第二代、第三代的开发环境。

3、何谓软件工具?通常包含哪几部分?答:软件工具的定义是:可用来帮助和支持软件需求分析、软件开发、测试、维护、模拟、移植或管理而编制的计算机程序或软件。软件工具是一个程序系统。软件工具通常由工具、工具接口和工具用户接口三

部分构成。

4、当今软件工具发展有何特点?

答:软件工具的发展有以下特点:(1)软件工具由单个工具向多个工具集成化方向发展。(2)重视用户界面设计。(3)不断地采用新理论和新技术。(4)软件工具的商品化与软件产业的发展形成良性互动。

5、什么是CASE?CASE工具有哪些分类?答:CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。因而,CASE领域是一个应用、集成和综合的领域。根据CASE系统对软件过程的支持范围,CASE可分为三类:(1)支持单个过程任务的工具。(2)支持某一过程所有活动或某些活动的工作台。(3)环境支持软件过程大部分乃至所有活动,一般包括几个不同工作台的集合。

6、请叙述集成化CASE的五级模型。答:集成化CASE的五级模型包括(1)平台集成:工具运行在相同的硬件/操作系统平台上(2)数据集成:工具使用共享数据模型来操作(3)表示集成:工具使用相同的用户界面(4)控制集成:工具激活后能控制其他操作(5)过程集成:工具在一个过程模型和“过程机”的指导下使用

7、CASE工作台有哪些分类?

答:CASE工具台是一组工具集,支持像设计、实现或测试等特定的软件开发阶段。CASE工具组装成一个工具台后工具能协同工作,可提供比单一工具更好的支持。CASE工作台包括:(1)程序设计工作台。由支持程序设计的一组工具组成。(2)分析和设计工作台。支持软件过程的分析和设计阶段。(3)测试工作台。(4)交叉开发工作台。这些工作台支持在一种机器上开发软件,而在其他的系统上运行所开发的软件。(5)配置管理(CM)工作台。这些工作台支持配置管理。(6)文档工作台。这些工具支持高质量文档的制作。(7)项目管理工作台。支持项目管理活动。

第五篇:软件工程试卷及答案课件

软件工程试卷及答案

一、单项选择题(本大题共20小题,每小题1分,共20分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

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

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

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

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

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

2.瀑布模型的主要特点是()

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

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

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

D.缺乏灵活性

3.在软件工程的需求分析阶段,不属于问题识别内容的是()

A.功能需求B.性能需求

C.环境需求D.输入/输出需求

4.画某系统的数据流图时,顶层图有()

A.0张B.1张

C.2张D.3张及其以上

5.软件模块内聚性最强的是()

A.功能内聚B.通信内聚

C.偶然内聚D.逻辑内聚

6.最早提出软件系统维护问题的阶段是()

A.可行性分析B.需求分析

C.概要设计D.详细设计

7.SD(结构化设计)方法设计的结果是()

A.模块B.模块结构图

C.模块的算法D.数据流图

8.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进

行有效性测试()

A.单元测试B.系统测试

C.集成测试D.确认测试

9.软件详细设计阶段的任务是()

A.算法与数据结构设计B.功能设计

C.调用关系设计D.输入/输出设计

10.下列属于静态测试方法的是()

A.黑盒法B.路径覆盖

C.白盒法D.人工检测

11.Fortran语言主要作为以下哪个方面的语言()

A.科学工程计算B.系统软件

C.事务处理D.人工智能

12.用结构化语言来描述加工逻辑的外层结构时,以下不属于基本结构的是()

A.顺序结构B.选择结构

C.嵌套结构D.重复结构

l3.可维护软件的主要特性包括()

A.可理解性、可修改性、可移植性

B.可使用性

C.可维护性、可使用性、可靠性

D.可测试性

14.程序设计语言不具有的特性是()

A.心理特性B.工程特性

C.应用特性D.技术特性

15.下列不属于项目进度安排主要方法的是()

A.工程网络图B.Gantt图

C.进度结构图D.任务资源表

16.下列不属于通常冗余技术的是()

A.结构冗余B.信息冗余

C.时间冗余D.代码冗余

17.下列工具中,属于需求追踪工具的是()

A.在DBMS上的应用运行工具B.追踪和状态报告

C.访问和版本控制机构D.文件和修改管理

18.关于软件测试的目的,下面观点错误的是()

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

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

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

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

19.在制定项目开发计划文档时,不包含的内容是()

A.项目概述B.实施计划

C.测试计划D.交付期限

20.面向对象的开发方法中,以下哪种方法原是面向Ada语言的,并处于面向对象开发方法的奠基性地位()

A.Booch方法B.Coad方法

C.UML语言D.OMT方法

二、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。错填、不填均无分。

21.可行性研究从技术可行性、经济可行性、________三方面进行分析。

22.IDEF0方法用来描述系统的功能活动及其联系,建立系统的_______模型。

23.结构化方法总的指导思想是_______逐层分解。

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

25.软件部件的内部实现与外部可访问性分离,这是指软件的______。

26.用来模拟被测模块的上级调用模块的模块称为_______。

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

28.软件开发环境中最主要的组成部分是______。

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

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

三、名词解释题(本大题共5小题,每小题3分,共15分)31.过程设计语言(PDL)32.可移植性

33.渐增式测试

34.详细设计

35.条件覆盖

四、简答题(本大题共4小题,每小题5分,共20分)36.软件生存周期可以分为几个阶段,每个阶段的提交物是什么?

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

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

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

五、应用题(本大题共2小题,4.下面关于PDL语言不正确的说法是()A.PDL是描述处理过程怎么做

B.PDL是只描述加工做什么

C.PDL也称为伪码

D.PDL的外层语法应符合一般程序设计语言常用的语法规则

5.详细设计与概要设计衔接的图形工具是()A.DFD图 B.程序图 C.PAD图 D.SC图

6.不适合作为数据处理与数据库应用的语言是()A.SQL B.Cobol C.4GL D.Lisp

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.快速原型是利用原型辅助软件开发的一种新思想,它是在研究()的方法和技术中产生的。

A.需求阶段 B.设计阶段

C.测试阶段 D.软件开发的各个阶段

14.从目前情况来看,增量模型存在的主要问题是()A.用户很难适应这种系统开发方法

B.该方法的成功率很低

C.缺乏丰富而强有力的软件工具和开发环境

D.缺乏对开发过程中的问题和错误具有应付变化的机制

15.下列有关软件工程的标准,属于行业标准的是()A.GB B.DIN C.ISO D.IEEE 16.下列文档与维护人员有关的有()A.软件需求说明书 B.项目开发计划

C.概要设计说明书 D.操作手册

17.在屏蔽软件错误的冗错技术中,冗余附加件的构成包括()A.关键程序和数据的冗余存储和调用

B.为检测或纠正信息在运算或传输中的错误须外加的一部分信息

C.检测、表决、切换、重构、纠错和复算的实现

D.实现错误检测和错误恢复的程序

18.()是为了确保每个开发过程的质量,防止把软件差错传递到下一个过程而进行的工作。

A.质量检测 B.软件容错 C.软件维护 D.系统容错

19.表示对象相互行为的模型是()模型。

A.动态模型 B.功能模型 C.对象模型 D.静态模型

20.CASE工具的表示集成是指CASE工具提供相同的()A.编程环境 B.用户界面

C.过程模型 D.硬件/操作系统

二、填空题(每空2分,共20分)

1.作为计算机科学技术领域中的一门新兴学科,软件工程主要是为了解决________问题。

2.投资回收期就是使________等于最初的投资费用所需时间。

3.在IDEF0方法的一个活动图形中控制活动是指________。

4.划分模块时尽量做到________,保持模块的独立性。

5.PAD图是一种________展开的二维树形结构。

6.对校正性维护应该从________的严重性开始。

7.类的实例化是________。

8.人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可靠性的两个指标是________和________。

9.将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,将得到软件的总开发量。这种成本估算方法称为________。

三、名词解释(每小题3分,共15分)1.需求分析

2.耦合性

3.结构化程序设计

4.状态图

5.软件配置管理

四、简答题(每小题5分,共20分)1.简述演绎法调试的具体步骤。

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

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

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

五、应用题(A=2, B=1,X=1 A=2, B=2, X=1 A=1, B=1, X=1 A=1, B=0,X A=1, B=0, X=3 A=1, B=1, X=4 A=1, B=1,X=1 A=1, B=2, X=2 A=3, B=0, X=3

④在4-6的答案中满足条件组合覆盖的测试用例是________(1分)⑤在4-6的答案中满足路径覆盖的测试用例是________(1分)

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

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

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

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

要求:按照上述模型建立对象模型。(11分)

答 案

一、1.C 2.D 3.D 4.B 5.D 6.D 7.B 8.D 9.D 10.D 11.C 12.B 13.A 14.C 15.D 16.C 17.D 18.A 19.A 20.B

二、1.如何建立一个软件系统

2.积累的经济效益

3.所受到的约束条件

4.高内聚低耦合5.有左往右

6.评价错误

7.对象

8.MTTF MTBF 9.自底向上估算方法

三、1.需求分析是指,开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈

述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

2.耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。

3.结构化程序设计是实现该目标的关键技术之一,它指导人们用良好的思想方法开发易于理解、易于验证的程序。结构化程序设计方法的基本要点是:

1)采用自顶向下、逐步求精的程序设计方法

2)使用三种基本控制结构构造程序 3)主程序员组的组织形式。

4.状态图是一个标准的计算机概念,它是有限自动机的图形表示,它反映了状态与事件的关系,状态图确定了由事件序列引起的状态序列。

5.软件配置管理,简称SCM,它用于整个软件工程过程。其主要目标是:标识变更;控制变更;确保变更正确地实现;报告有关变更。SCM是一组管理整个软件生存期各阶段中变更的活动。

四、1.演绎法调试步骤:列出所有可能的错误原因的假设;排除不适当的假设;精化余于的假设;证明余于的假设。

2.瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。

3.(1)按设计任务要求进行常会设计,尽量保证设计的正确

(2)对可能出现的错误分类,确定实现容错的范围

(3)按照“成本—效率”最优原则,选用某种冗余手段(结构,信息,时间)来实现对各类错误的屏蔽

(4)分析或验证上述冗余结构的容错效果

4.(1)项目的应用领域;(2)软件开发的方法

(3)软件执行的环境(4)算法和数据结构的复杂性(5)软件开发人员的知识

下载软件工程试题,华工软件工程,习题答案参考,试卷资料,电信学院大三word格式文档
下载软件工程试题,华工软件工程,习题答案参考,试卷资料,电信学院大三.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    软件工程试卷及答案(易考题_)

    1.在下列工具与环境中( )属于较早期的CASE。 A.基于信息工程CASE B.人工智能CASE C.结构的基于图形CASE D.集成的CASE环境 2.Putnam成本估算模型是一个( )模型。 A.静态单变量 B.动......

    软件工程试题及答案(A)(共5篇)

    A卷1、瀑布模型把软件生命周期划分为8个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计......

    软件工程模拟试题及答案2[推荐]

    《软件工程》模拟B卷 专业年级姓名得分 一.名词解释(每个2分) 1. 软件危机 3.数据字典 4.模块 5.PDL 一、 填空题(每题2分) 1.————是计算机程序及其说明程序的各种文档。——......

    2004年KK软件工程考试试卷及答案

    一,单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。 1.可行性研究要进行一次_____......

    2018年4月自考软件工程02333试题及答案

    2018年4月高等教育自学考试全国统一命题考试 软件工程试卷 (课程代码02333) 本试卷共4页,满分l00分,考试时间l50分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。......

    微机原理作业及参考答案,华工微机考试试卷,微型计算机原理,习题资料,电信大二[大全]

    第一章 计算机基础 (P32) 1-3 写出下列机器数的真值: (1)01101110 (2)10001101 (3)01011001 (4)11001110 答案: (1)+110 (2)-13(原码) -114(反码)-115(补码) (3)+89 (4)-78(原码)-49(反码)-50(补码)1-4......

    全国2018年4月自考(02333)软件工程试题及答案

    绝密★考试结束前 全国2018年4月高等教育自学考试 软件工程试题 课程代码:02333 请考生按规定用笔将所有试题的答案涂、写在答题纸上。 选择题部分 注意事项: 1. 答题前,考......

    郑州大学软件学院机试题-2011-2012年《软件工程》本科期末试卷

    2011-2012年《软件工程》本科期末试卷总共60题共60分答卷编号:K000**答题开始时间:2012-**答题结束时间:2012-**考生姓名:张**考试时间:00:**分钟总得分:**分评卷人:系统自动评卷评......