软件工程试题与答案-(27)

合集下载

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

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

软件工程考试题简答题1、什么叫软件?软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。

包括两点:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。

软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

具体表现如下:(1)软件是逻辑部件而不是物理部件。

(2)软件的规模越来越大,复杂性越来越大。

(3)轻视需求分析的重要性,轻视软件维护的错误观点和方法。

3、什么叫软件工程?1968年在第一届NATO会议上的早期定义:“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。

1993年IEEE的定义:“①软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途径”。

我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。

它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

4、两种软件工程方法学开发软件时要建立哪些模型?软件工程方法学包括:传统方法学和面向对象方法学。

常用的开发模型有:瀑布模型(需求稳定,而且可以预先指定)原型模型(需求模糊或者随时间变化)增量模型(分析员先作出需求分析和概要设计,用户参与逐步完善)螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析)喷泉模型(使开发过程具有迭代性和无间隙性)5、软件过程模型有哪些?简述它们的特点。

过程模型分为五大类:1.管理过程模型。

2.瀑布模型(又称为生命周期模型)。

3.增量过程模型:包括增量模型,,RAD模型。

4.烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。

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

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

软件工程师考试题库(含答案)以下是一些软件工程师考试的常见题目及其答案:1. 什么是软件工程?软件工程是一门系统性、规范性的学科,涉及开发和维护软件的原则、方法和工具。

2. 软件生命周期包含哪些阶段?软件生命周期包含需求分析、设计、编码、测试和维护等阶段。

3. 请解释需求分析阶段的重要性。

需求分析阶段是确定软件系统的需求和功能的过程,它对于后续的设计和开发非常重要。

在需求分析阶段,开发人员需要与用户明确需求,确保开发出满足用户需求的软件系统。

4. 请解释软件设计模式是什么。

软件设计模式是一套被广泛接受并经过验证的解决软件设计问题的经验法则。

它们是一些被认为有效的设计解决方案的模板。

5. 什么是软件测试?软件测试是检查和评估软件系统是否满足需求和预期的过程。

它有助于发现和修复软件中的错误和缺陷。

6. 解释一下集成测试和单元测试的区别。

单元测试是针对软件的最小可测试单元进行的测试,通常是对函数、方法或类进行测试。

而集成测试是将多个单元进行组合,并测试它们之间的交互是否正确。

7. 请简要介绍软件维护的类型。

软件维护包括以下类型:纠错性维护(修复错误)、适应性维护(适应环境变化)、完善性维护(改进性能和可用性)和预防性维护(预防潜在问题)。

8. 请说明软件工程师需要具备的技能和素质。

软件工程师需要具备良好的编程能力、系统思维、沟通能力和问题解决能力。

此外,他们还应具备团队合作和持续研究的精神。

以上是关于软件工程师考试题库的一些题目及答案,希望能对您的学习和准备有所帮助。

请自行补充更多题目和答案以扩展题库。

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

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

软件工程考试试题(含答案)软件工程考试试题(含答案)1. 简答题1.1 请简述软件生命周期模型,包括传统瀑布模型和敏捷开发模型。

传统瀑布模型:软件生命周期模型的一种经典模型,包含需求分析、系统设计、编码、测试和运维等阶段,每个阶段完成后才能进入下一个阶段。

优点:- 易于理解和使用;- 需求固定,有利于计划和控制;缺点:- 需求变更困难;- 风险高,需求出错难以弥补;- 开发周期长,无法满足紧迫的需求。

敏捷开发模型:一种适应快速变化需求的软件开发模型,主要包括用户故事编写、迭代开发、持续集成和自动化测试等实践。

优点:- 高度适应变化;- 可以提供早期可用软件;- 强调团队合作和沟通;缺点:- 需要高度的客户参与度;- 需要经验丰富的开发团队;- 不适用于大型项目。

1.2 什么是需求工程?请简述需求工程的过程和方法。

需求工程:需求工程是软件开发过程中用来获取、分析、定义和验证系统需求的过程。

它的目标是建立对用户需求的准确和完整的理解。

需求工程的过程:1. 需求获取:通过与用户、利益相关者沟通和交流获取用户需求。

2. 需求分析:对需求进行分析、整理,形成需求的详细描述。

3. 需求定义:将需求进行文档化,包括功能需求、非功能需求等。

4. 需求验证:通过原型、模型或评审等方式验证需求的正确性和完整性。

需求工程的方法:- 面谈法:与用户、利益相关者进行面对面的交谈,获取需求信息。

- 观察法:观察用户的工作环境和行为,了解其需要的功能和约束条件。

- 文献研究法:通过研究现有的相关文档来获取需求信息。

- 原型法:通过创建原型,让用户提供反馈并进一步明确需求。

2. 算法设计题有一组整数,编写一个算法将这组整数按照从小到大的顺序进行排序。

算法设计:1. 将整数数组按照从小到大的顺序进行排序。

2. 使用冒泡排序算法:- 比较相邻的两个数,如果前一个数大于后一个数,则交换它们的位置。

- 重复上述操作,直到没有任何交换发生,即数组已经按照从小到大的顺序排列好。

软件工程练习题&答案

软件工程练习题&答案

软件工程练习题一. 选择题(单选或多选)(1)需求分析阶段最重要的技术文档是( C )。

A)项目开发计划B) 设计说明书C)需求规格说明书D) 可行性分析报告(2)在软件工程中,白盒测试法可用于测试程序的内部结构。

此方法将程序看作是(A )A) 路径的集合B) 循环的集合C) 目标的集合 D) 地址的集合(3)在以下模块耦合性类型中,模块之间独立性最差的类型是( D )A) 非直接耦合B) 标记耦合C)控制耦合D)内容耦合(4)软件详细设计的主要任务是对(A)进行的详细设计。

A) 算法和数据结构B) 外部接口C)软件编码D)功能(5)Jackson方法是一种面向(C)的结构化方法。

A) 数据流B) 对象C)数据结构D)控制流(6)一个成功的测试可以( D )。

A) 表明程序没有错误B) 发现所有错误C)提高软件可靠性D)发现尚未发现的错误(7)下述陈述中,哪一个不是软件健壮性的度量指标?(C )。

A)失败后重新启动所需的时间B)引起失败的时间所占的百分比C)失败前的平均工作时间D)在一次失败中数据恶化的概率(8)黑盒技术设计测试用例的方法之一为( A )。

A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试(9)CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D )。

A)工作无序,项目进行过程中经常放弃当初的计划B)建立了项目级的管理制度C)建立了企业级的管理制度D)软件过程中活动的生产率和质量是可度量的(10)在面向数据流的软件设计方法中,一般将信息流分为( A )。

A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流(11)软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。

( ABCDEF )A)结构图B)实体关系图C)IPO图D)流程图E) N-S图F) 判定树(12)软件需求分析阶段建立原型的主要目地是( C )。

A)确定系统的性能要求B)确定系统的运行要求C)确定系统是否满足用户需要D)确定系统是否满足开发人员需要(13)要显示描绘软件开发项目各作业的依赖关系,应选择(B )。

软件工程习题附答案

软件工程习题附答案

软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。

以下是一些与软件工程相关的习题及答案,希望能帮助您更好地理解这门学科。

一、选择题1、软件生存周期中,解决软件“做什么”的阶段是()A 需求分析B 软件设计C 软件实现D 软件测试答案:A解析:需求分析阶段主要是确定软件系统需要完成的功能和性能,解决软件“做什么”的问题。

2、下面不属于软件设计原则的是()A 抽象B 模块化C 自底向上D 信息隐藏答案:C解析:软件设计的原则通常包括抽象、模块化、信息隐藏等,自底向上一般不是软件设计的原则,常见的是自顶向下的设计方法。

3、软件测试的目的是()A 证明软件没有错误B 发现软件中的错误C 改正软件中的错误D 优化软件的性能答案:B解析:软件测试的目的是为了发现软件中存在的错误,而不是证明软件没有错误或直接改正错误、优化性能。

4、下列模型中,不属于软件生命周期模型的是()A 瀑布模型B 快速原型模型C 增量模型D 螺旋模型E 喷泉模型答案:E解析:瀑布模型、快速原型模型、增量模型和螺旋模型都属于常见的软件生命周期模型,喷泉模型则主要强调软件对象之间的无缝迭代。

5、软件维护中,因修改软件而导致出现新错误的维护属于()A 改正性维护B 适应性维护C 完善性维护D 预防性维护答案:A解析:改正性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。

在这种维护中,可能会因为修改软件而引入新的错误。

二、填空题1、软件工程包括()、()和()三个要素。

答案:方法、工具、过程2、软件需求分析阶段的工作,可以分为四个方面:()、()、()和()。

答案:需求获取、需求分析、编写需求规格说明书、需求评审3、软件测试的步骤主要包括()、()、()和()。

答案:单元测试、集成测试、系统测试、验收测试4、面向对象的三大特性是()、()和()。

软件工程课后习题(含答案)

软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。

2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。

二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。

可靠性是衡量软件质量的一个重要目标。

2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。

可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。

三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。

(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。

2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。

(2)软件开发简单,易学、易上手。

(3)专业或非专业人员都能参与软件开发活动。

第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。

2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。

3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。

4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。

二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。

2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。

2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。

3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、选择题1. 下列哪项不是软件工程的基本特征?A. 系统性B. 统一性C. 可度量性D. 个别性答案:D2. 谁提出了软件生命周期模型的概念?A. RoyceB. BrooksC. BoehmD. Yourdon答案:A3. 下列哪个模型是一种迭代的模型?A. 瀑布模型B. 原型模型C. 增量模型D. 螺旋模型答案:D4. 软件测试的目的是什么?A. 证明程序是正确的B. 发现程序中的错误C. 验证程序的正确性D. 保证程序可靠性答案:B5. 下列哪项不是软件配置管理的任务?A. 识别软件配置项B. 控制软件配置项的变更C. 维护软件配置项的单位标识D. 确认软件配置项是否软件错误答案:D二、问答题1. 请简要说明软件质量保证的概念及作用。

答案:软件质量保证是确保软件产品达到预期质量水平的所有活动的总称。

它包括制定质量政策、计划和目标,制定和实施过程、标准和检查措施等。

软件质量保证的主要作用是确保软件产品在交付给用户之前达到预期的标准,提高软件开发过程的效率和质量。

2. 请简要介绍软件配置管理的基本概念和主要任务。

答案:软件配置管理是控制软件产品变化和构建组合软件的过程。

它包括软件配置项的识别、版本控制、变更控制、状态报告等任务。

主要任务包括识别软件配置项和管理它们的变更,保持软件产品的相互间的一致性和交付版本的可跟踪性。

3. 请分析软件测试中的黑盒测试和白盒测试的区别。

答案:黑盒测试是根据软件的需求规格进行测试,测试者不需要了解软件的内部结构和实现细节,只关注软件的功能和接口。

白盒测试是基于对软件内部结构和代码的了解进行测试,测试者可以根据代码的逻辑路径和执行情况设计测试用例。

黑盒测试更关注软件的功能是否符合需求,白盒测试更关注软件的代码逻辑和执行路径是否正确。

三、综合题1. 请简要描述软件生命周期模型的特点及常见的几种模型,并比较它们之间的优缺点。

答案:软件生命周期模型是描述软件开发过程中不同阶段顺序和关系的模型。

软件工程试题含答案

软件工程试题含答案

软件工程试题含答案一、单项选择题(每题1分,共20分)1. 以下哪个不是软件工程的目标?A. 提高软件生产效率B. 提高软件质量C. 提高软件可靠性D. 提高软件的价格答案:D2. 以下哪个不属于软件工程的基本原则?A. 阶段划分B. 迭代开发C. 配置管理D. 需求分析答案:D3. 软件生命周期模型中,以下哪个模型最适合于需求变化较少的项目?A. 瀑布模型B. 增量模型C. 螺旋模型D. 原型模型答案:A4. 下面哪种软件测试方法主要通过检查输入和输出数据之间的关系来验证软件的正确性?A. 黑盒测试B. 白盒测试C. 灰盒测试D. 性能测试答案:A5. 在软件开发中,以下哪个过程是保证软件质量的关键环节?A. 需求分析B. 设计C. 编码D. 测试答案:D6. 以下哪个不是软件配置管理的任务?A. 版本控制B. 变更管理C. 代码编写D. 测试管理答案:C7. 软件过程中的度量主要用于评估以下哪个方面?A. 项目进展情况B. 代码质量C. 测试覆盖率D. 用户满意度答案:A8. 以下哪个不是软件项目管理中的常见约束?A. 成本约束B. 资源约束C. 时间约束D. 协议约束答案:D9. 下面哪种软件开发模型更适合于小型项目?A. 敏捷开发B. 瀑布模型C. 增量模型D. 螺旋模型答案:A10. 下列哪个属于软件缺陷的类型?A. 语法错误B. 逻辑错误C. 界面设计错误D. 所有选项都是答案:D二、多项选择题(每题2分,共20分)11. 软件工程的基本特征包括:(选择所有正确答案)A. 工程化B. 抽象化C. 风险管理D. 需求开发答案:A、B、C12. 软件需求分析的方法包括:(选择所有正确答案)A. 面向对象分析B. 数据流图分析C. 结构化分析D. 瀑布模型答案:A、B、C13. 对于软件过程改进,以下说法中不正确的是:(选择所有正确答案)A. 可以通过度量来评估改进效果B. 可以通过培训来提高团队技能C. 可以通过引入新的软件开发流程达到改进D. 可以通过领导层的决策来实现改进答案:D14. 软件测试的主要目的是:(选择所有正确答案)A. 验证软件是否符合需求B. 发现软件中的错误和缺陷C. 评估软件的运行性能D. 确保软件的可维护性答案:A、B15. 软件维护的类型包括:(选择所有正确答案)A. 纠错性维护B. 适应性维护C. 完善性维护D. 性能优化维护答案:A、B、C三、简答题(每题5分,共30分)16. 请简要解释什么是软件工程?答案:软件工程是一门研究如何通过系统性的、科学化的方法来开发、维护和管理软件的学科。

软件工程试题及答案

软件工程试题及答案

软件工程试题及答案在现代信息技术的推动下,软件工程发展迅速,并成为各个行业中不可或缺的一部分。

为了保证软件工程师的专业素养和能力,考试成为评估他们水平的重要方式之一。

本文将介绍一套软件工程试题及答案,希望能够对软件工程师的准备和学习提供一些参考。

第一部分:理论知识1. 什么是软件工程?它在软件开发中的作用是什么?答:软件工程是一门研究如何开发和维护软件的学科。

它通过系统化的方法论和工具,帮助开发人员提高软件质量、提高开发效率,并降低软件开发过程中的风险。

2. 请简要说明软件工程的生命周期模型,并列举其中一种模型。

答:软件工程的生命周期模型指的是软件开发过程中的各个阶段或阶段组合。

常见的模型包括瀑布模型、迭代模型、敏捷模型等。

其中瀑布模型是一种线性的顺序模型,包括需求分析、设计、编码、测试和维护等阶段。

3. 请简述软件需求的分类和重要性。

答:软件需求可以分为功能需求和非功能需求。

功能需求描述了软件要实现的具体功能,而非功能需求指的是软件的性能、可靠性、安全性等方面的要求。

需求的准确、清晰和全面对于软件开发至关重要,它是开发人员理解用户需求、设计和测试软件的基础。

第二部分:软件设计1. 请简述面向对象设计的基本原则。

答:面向对象设计的基本原则包括单一职责原则(SRP)、开放封闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP)。

这些原则旨在提高软件系统的可维护性、可扩展性和复用性。

2. 请简要介绍UML类图的基本元素,并通过一个例子进行说明。

答:UML类图的基本元素包括类、对象、关联、继承、接口等。

类用矩形表示,其中包含类名、属性和方法;关联表示不同类之间的关系;继承表示一种类派生自另一种类;接口用带虚线的矩形表示,表示类对外提供的服务。

例如,假设我们要设计一个图书管理系统,其中包含图书馆、图书和读者三个类。

图书馆类有属性(名称、地址)和方法(借书、还书),图书类有属性(书名、作者)和方法(查询、借阅次数统计),读者类有属性(姓名、借阅记录)和方法(借书、还书)。

软件工程试题及答案(较详细)

软件工程试题及答案(较详细)

软件工程试题及答案(较详细)软件工程试题及答案 (较详细)一、简答题1. 什么是软件工程?软件工程是一门综合应用计算机科学与工程学、管理学等知识的学科,它致力于开发和维护高质量的软件系统。

它包括需求分析、设计、编码、测试和维护等各个阶段,以确保软件项目能够按时交付、高效运行,并满足用户需求。

2. 请解释什么是软件生命周期?软件生命周期是指软件从构思、开发、使用到废弃的整个过程。

它包括需求分析、设计、编码、测试、部署和维护等多个阶段。

软件生命周期管理的目标是确保软件产品按时、按质量要求交付,并提供后续的支持与维护。

3. 请解释什么是需求工程?需求工程是软件工程中的一个重要阶段,它主要涉及对用户需求的调研、分析、规划和文档化。

通过需求工程,开发人员能够更好地理解用户需求,并将其转化为具体的软件需求规格说明书,为后续的设计和开发提供基础。

4. 什么是软件设计模式?软件设计模式是一套在软件设计过程中重复出现的解决方案。

它们被广泛接受,并被认为是开发高质量、可维护和可扩展软件的有效方法。

常见的软件设计模式包括单例模式、工厂模式、观察者模式等。

二、分析题1. 请说明面向对象和面向过程的编程范式的区别。

面向对象编程(OOP)和面向过程编程(POP)是两种不同的编程范式。

面向过程编程更侧重于任务的步骤和流程,它将问题分解为多个步骤,通过一系列函数或过程的调用来完成任务。

面向过程编程更加注重解决问题的步骤和执行过程。

面向对象编程更注重数据和对象的定义和封装,它将问题看作是一组对象的交互。

面向对象编程通过定义类、创建对象以及对象之间的协作来解决问题。

2. 什么是软件架构?软件架构是指软件系统的基本结构和组织方式。

它定义了软件系统中各个组件的职责、交互方式和部署方式。

常见的软件架构模式包括分层架构、客户端-服务器架构、微服务架构等。

3. 解释软件测试中的黑盒测试和白盒测试。

黑盒测试是一种测试方法,它基于对软件系统的功能需求进行测试,而不考虑内部的实现细节。

软件工程试卷及答案

软件工程试卷及答案

一、单项选择题(本大题共 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 分)请在每小题的空格中填上正确答案。

软件工程试题和答案

软件工程试题和答案

软件工程试题和答案软件工程试题和答案章节一、软件开发过程1.1 瀑布模型1.1.1 瀑布模型的定义和特点1.1.2 瀑布模型的优点和缺点1.2 敏捷开发1.2.1 敏捷开发的定义和原则1.2.2 敏捷开发的优点和适用场景1.3 迭代与增量模型1.3.1 迭代与增量模型的定义和区别1.3.2 迭代与增量开发的优点和缺点章节二、需求分析2.1 需求获取2.1.1 需求获取的方法和技术2.1.2 需求获取过程中的常见问题及解决方法2.2 需求分析2.2.1 需求分析的目标和原则2.2.2 需求分析过程中的常用工具和技术2.3 需求规格说明2.3.1 需求规格说明的内容和格式2.3.2 需求规格说明的重要性和编写要求章节三、系统设计3.1 概要设计3.1.1 概要设计的目标和原则3.1.2 概要设计的常用工具和技术3.2 详细设计3.2.1 详细设计的目标和原则3.2.2 详细设计的常用工具和技术3.3 接口设计3.3.1 接口设计的原则和要点3.3.2 接口设计的常见问题和解决方法章节四、编码和测试4.1 编码规范4.1.1 编码规范的目的和重要性4.1.2 编码规范的内容和要求4.2 单元测试4.2.1 单元测试的定义和目标4.2.2 单元测试的常见技术和工具4.3 集成测试4.3.1 集成测试的定义和目标4.3.2 集成测试的常见技术和方法4.4 系统测试4.4.1 系统测试的定义和目标4.4.2 系统测试的常见技术和方法章节五、项目管理5.1 项目计划5.1.1 项目计划的内容和要点5.1.2 项目计划的编制和控制5.2 风险管理5.2.1 风险管理的步骤和方法5.2.2 风险管理的工具和技术5.3 质量管理5.3.1 质量管理的原则和方法5.3.2 质量管理的常见问题和解决方法5.4 项目评估和总结5.4.1 项目评估的指标和方法5.4.2 项目总结的内容和要点附件:附件一、软件开发过程模型比较表附件五、编码规范示例法律名词及注释:1:版权:指对作品享有的独占性使用权,包括复制、发行、展示等。

软件工程考试试题及答案

软件工程考试试题及答案

软件工程考试试题及答案一、单选题1. 软件需求分析是软件工程的哪个阶段?a. 需求分析与定义b. 软件设计c. 软件测试d. 软件维护答案:a. 需求分析与定义2. 下列哪项不是软件工程的基本原则?a. 可复用性b. 高效性c. 可维护性d. 可理解性答案:b. 高效性3. 下列哪项不是软件质量保证的措施?a. 程序员的自我质量保证b. 审计c. 代码复用d. 测试答案:c. 代码复用4. 下列哪个是软件生命周期模型?a. 瀑布模型b. 程序开发模型c. 螺旋模型d. 增量模型答案:a. 瀑布模型5. 在软件工程中,什么是软件配置管理?a. 设计和开发软件的过程b. 管理软件的版本和更改c. 测试软件的过程d. 分配和调度任务的过程答案:b. 管理软件的版本和更改二、多选题1. 下列哪些是软件需求规格说明的内容?(多选)a. 需求的功能描述b. 系统性能要求c. 用户界面设计d. 软件的安装要求答案:a. 需求的功能描述、b. 系统性能要求、d. 软件的安装要求2. 软件测试的目的是什么?(多选)a. 发现软件中的错误b. 确保软件满足需求c. 评估软件的质量d. 提高软件的可维护性答案:a. 发现软件中的错误、b. 确保软件满足需求、c. 评估软件的质量3. 下列哪些是软件维护的类型?(多选)a. 纠错性维护b. 适应性维护c. 完善性维护d. 增量性维护答案:a. 纠错性维护、b. 适应性维护、c. 完善性维护、d. 增量性维护三、判断题1. 软件工程是一门工程学科,它包括对软件进行开发、测试、维护和管理等方面的知识。

(正确/错误)答案:正确2. 软件需求分析是软件开发的最后一步。

(正确/错误)答案:错误3. 软件测试的目的是为了证明软件是没有错误的。

(正确/错误)答案:错误四、简答题1. 简述软件生命周期模型中的瀑布模型。

答案:瀑布模型是软件生命周期模型中最早的模型之一。

它将软件开发过程分为需求分析、系统设计、详细设计、编码、测试和维护等阶段,并按照顺序执行。

软件工程测试题+参考答案

软件工程测试题+参考答案

软件工程测试题+参考答案一、单选题(共40题,每题1分,共40分)1、窃听是一种()攻击,攻击者()将自己的系统插入到发送站和接收站之间。

截获是一种()攻击,攻击者()将自己的系统插入到发送站和接受站之间。

A、被动,无须,主动,必须B、被动,必须,主动,无须C、主动,无须,被动,必须D、主动,必须,被动,无须正确答案:A2、如果一名攻击者截获了一个公钥,然后他将这个公钥替换为自己的公钥并发送给接收者,这种情况属于哪一种攻击?A、重放攻击B、Smurf 攻击C、中间人攻击D、字典攻击正确答案:C3、黑客攻击服务器以后,习惯建立隐藏用户,下列哪一个用户在DOS命令net user下是不会显示的。

A、fg#B、fg%C、fg_D、fg$正确答案:D4、下列哪一种方法在支持向量机中有应用A、拉格朗日乘子法B、二分法C、最小二乘法D、极大似然估计正确答案:A5、设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为A、6B、6.5C、11D、5正确答案:B6、对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为A、NB、N/2C、(N+1)/2D、[(1+N)*N ]/2正确答案:C7、信息安全中PDR模型的关键因素是()。

A、人B、客体C、技术D、模型正确答案:A8、某业务系统具有上传功能,页面上传的文件只能上传到UPLOAD目录,由于上传页面没有过滤特殊文件后缀,存在上传漏洞,而短时间厂家无法修改上传页面源码,现采取如下措施,哪种措施可以暂时防止上传漏洞危害又不影响业务系统正常功能。

A、禁止UPLOAD目录访问权限B、删除上传页面C、禁止UPLOAD目录执行脚本文件D、以上措施都不正确正确答案:C9、在各种作业调度算法中 , 若所有作业同时到达 , 则平均周转时间最短的算法是()。

A、多级反馈队列调度算法B、先来先服务调度算法C、高优先级优先调度算法D、短作业优先调度算法正确答案:D10、下面()不是数据字典的内容。

软件工程题库(含答案)

软件工程题库(含答案)

软件工程题库(含答案)一、单选题(共60题,每题1分,共60分)1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( )A、可用性B、正确性C、完整性D、可靠性正确答案:D2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ).A、可移植性B、可理解性C、可重用性D、可修改性正确答案:A3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。

A、容错性B、检测性C、可操作性D、安全性正确答案:C4、下列属于维护阶段的文档是( )A、软件问题报告B、用户操作手册C、软件测试分析报告D、软件规格说明正确答案:B5、快速原型模型的主要特点之一是( )A、及早提供工作软件B、开发完毕才见到产品C、及早提供全部完整的软件产品D、开发完毕后才见到工作软件正确答案:C6、可维护性通常包括( )。

A、可用性和可理解性B、可修改性、数据独立性和数据一致性C、可理解性、可修改性和可测试性D、可测试性和稳定性正确答案:C7、软件的可修改性支持软件的( )。

A、可互操作性B、可维护性C、可追踪性D、有效性正确答案:B8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )A、数据通信B、数据定义C、数据维护D、数据库设计正确答案:B9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。

A、可追踪性B、可理解性C、可互操作性D、可维护性正确答案:C10、可维护性的特性中相互促进的是( )A、效率和可移植性B、可理解性和可测试性C、效率和结构好D、效率和可修改性正确答案:B11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。

A、可靠性B、易使用性C、正确性D、准确性正确答案:A12、设函数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、模块化的根据正确答案:D13、下列说法中,不正确的是( )。

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。

A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 软件工程的三要素包括()。

A. 方法、工具和过程B. 方法、工具和人员C. 方法、过程和人员D. 工具、过程和人员答案:C3. 软件需求分析阶段的主要任务是()。

A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:A4. 软件设计阶段的主要任务是()。

A. 制定软件开发计划B. 确定软件的体系结构C. 编写软件详细设计文档D. 进行软件测试答案:B5. 软件测试的目的是()。

A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是无错误的D. 证明软件是可维护的答案:B6. 软件维护不包括以下哪项活动()。

A. 改正性维护B. 适应性维护C. 完善性维护D. 软件设计答案:D7. 软件项目管理的主要任务不包括()。

A. 进度管理B. 质量管理C. 风险管理D. 软件编码答案:D8. 面向对象方法中,对象的基本特性不包括()。

A. 抽象B. 封装C. 继承D. 多态答案:D9. UML(统一建模语言)是一种()。

A. 程序设计语言B. 数据库查询语言C. 建模语言D. 脚本语言答案:C10. 在软件开发过程中,需求变更是不可避免的,以下哪项不是需求变更的原因()。

A. 客户的需求不明确B. 项目范围的扩大C. 技术实现的困难D. 软件已经完成答案:D二、多项选择题(每题3分,共15分)11. 软件工程的基本原理包括()。

A. 抽象B. 模块化C. 逐步求精D. 迭代开发答案:ABC12. 软件需求分析阶段的输出包括()。

A. 需求规格说明书B. 用户手册C. 系统架构图D. 测试计划答案:A13. 软件设计阶段的主要文档包括()。

A. 架构设计文档B. 详细设计文档C. 用户手册D. 测试计划答案:AB14. 软件测试的类型包括()。

软件工程试卷(附答案)

软件工程试卷(附答案)

软件工程试卷(附答案)一、单项选择题(每题2分,共40分)1.软件生存周期模型有多钟,下列选项中,(C)不是软件生存周期模型。

A.螺旋模型B.增量模型C.功能模型D.瀑布模型2.以下说法错误的是(C)。

A.增量模型是在瀑布模型的基础上加以修改而形成的B.增量模型推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件C.瀑布模型和增量模型都属于整体开发模型D.瀑布模型规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节 3.可行性分析中,系统流程图用于描述(A)。

A.当前运行系统C.目标系统B.当前逻辑模型D.新系统4.研究软硬件资源的有效性是进行(A)研究的一方面。

A.技术可行性B.经济可行性C.社会可行性D.操作可行性5、数据字典中,一般不包括下列选项中的(D)条目。

A.数据流B.数据储备C.加工D.源点与终点6、SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)。

A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的逻辑模型D.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的物理模型7、经由过程(B)可以完成数据流图的细化。

A.结构分析B.功能分解C.数据分析D.系统分解8、对软件进行分解,是为了(C)。

A.降低模块的复杂程度B.降低模块间接口的复杂程度C.降低模块的复杂程度,并降低模块间接口的复杂程度D.降低模块的复杂程度,并提高模块间接口的复杂程度9、为了提高模块的独立性,模块内部最好是(C)。

A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚10、在软件结构设计完成后,对于下列说法,正确的是(C)。

A.非单一功能模块的扇入数大比较好,申明本模块重用率高B.单一功能的模块扇入高时应重新分解,以消除掌握耦合的情况C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层D.一个模块的扇入太多,申明该模块过分复杂,缺少中央层11、在软件开发过程中,以下说法正确的是(B)。

软件工程试题和答案

软件工程试题和答案

软件工程试题和答案软件工程试题和答案1.软件工程概述1.1 什么是软件工程?- 软件工程是一门学科,涉及软件开发的过程、方法和工具的应用,旨在开发高质量、可维护和可靠的软件系统。

- 它涵盖了软件需求分析、设计、编码、测试、维护等各个阶段的活动和任务。

1.2 软件工程的目标和原则- 目标:提高软件系统的质量、开发效率和维护便利性。

- 原则:以用户为中心、迭代开发、适应变化、团队合作、持续改进。

2.软件开发生命周期2.1 瀑布模型- 描述了软件开发从需求分析到维护的一系列有序阶段,每个阶段都有明确定义的输入和输出。

- 阶段包括需求分析、系统设计、详细设计、编码、测试、部署和维护。

2.2 敏捷开发- 采取迭代、增量的方式进行开发,强调团队协作、持续反馈和适应变化。

- 常用的敏捷开发方法包括Scrum、XP(极限编程)、Kanban等。

3.软件需求分析3.1 需求分析的重要性- 确保系统所提供的功能和性能符合用户需求。

- 避免项目出现需求变更导致的浪费和延期。

3.2 需求获取和分析技术- 用户访谈- 观察和调研- 用例分析- 需求建模4.软件设计4.1 结构设计- 将系统分解为各个模块并定义它们之间的关系。

- 常用的结构设计方法包括模块化设计、对象设计等。

4.2 数据设计- 定义数据结构和数据库模式。

- 考虑数据的存储、访问和处理方式。

4.3 用户界面设计- 设计系统的用户界面,使用户可以方便地使用系统功能。

5.软件编码5.1 编码原则和规范- 使用有意义的变量和函数名。

- 遵循正确的代码风格和格式。

5.2 软件编码技术- 使用适当的编程语言和开发工具。

- 遵循软件开发最佳实践和设计模式。

6.软件测试6.1 测试的目的和原则- 目的:发现软件中的错误和缺陷,验证软件是否满足需求。

- 原则:全面性、独立性、可追踪性、自动化。

6.2 测试方法和技术- 单元测试- 集成测试- 系统测试- 验收测试7.软件维护7.1 维护类型- 改正性维护- 适应性维护- 完善性维护- 预防性维护7.2 维护活动- 缺陷追踪和修复- 改进和优化- 更新和升级附件:法律名词及注释:1.版权:指对软件的独立权利,包括复制、分发、展示、演示等。

软件工程试题及答案

软件工程试题及答案

一、填空1.结构化分析方法的分析策略是自顶向下逐步求精。

2.衡量模块独立性的两个定性标准是_耦合性与内聚性。

3.软件集成测试的方法主要有两种,它们是渐增式与非渐增式测试。

4.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目_是否值得开发_。

5.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求_。

6.软件生存周期中时间最长、花费的精力和费用最多的一个阶段是维护阶段。

7.计算机辅助软件工程这一术语的英文缩写为_CASE 。

8.McCall 提出的软件质量模型包括11 个软件质量特性。

9.软件结构是以模块10.软件概要设计的主要任务就是为基础而组成的一种控制层次结构。

软件结构的设计。

11.结构化程序设计方法是使用三种基本控制结构 (条件\控制\循环) 构造程序。

12.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和数据存储对象_二、选择1.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法2、面向对象的开发方法中,(B)将是面向对象技术领域内占主导地位的标准建模语言。

A、Booch 方法B、UML 语言C、OMT 方法D、Coad 方法3、功能模型中所有的( A)往往形成一个层次结构。

在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。

A、数据流图B、概念模型图C、状态迁移图D、事件追踪图4、(A)应当在应用分析之前进行,因为我们在了解问题之前应当对问题敞开思想考虑,不应加以限制。

A、问题域分析 B 、高层分析C、实例的建立D、类的开发5、通过执行对象的操作改变对象的属性,但它必须通过(B)的传递。

A、接口 B 、消息C、信息D、操作6、所有的对象可以成为各种对象类,每个对象类都定义了一组(B)A、说明 B 、方法C、过程D、类型9、面向对象的主要特征除对象唯一性、封装、继承外,还有(A)A、多态性 B 、完整性C、可移植性D、兼容10、在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有(B)A、隐藏复杂性 B 、信息隐藏C、即存类的重用 D 、类的开发13、在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.单项选择题(每题1分,20题共20分)1.计算机系统可以划分为软件系统和硬件系统,软件是一种A.逻辑产品 B.文档资料 C.程序代码D.物理装置2.可行性分析研究的主要目的是A.定义项目B. 项目是否值得开发C.开发项目D.规划项目3.在下列四种模块的耦合性中,信息隐蔽性能最好的是()A.控制耦合B.内容耦合C. 数据耦合D. 特征耦合4.需求分析是回答系统必须()的问题。

A. 为谁做B.怎么做C.何时做D.做什么5.在UML中,类是用()表示的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.顺序、选择、重复B.选择、循环、重复C.顺序、分支、选择D.输入、变换、输出12.软件测试的目的是()A. 为了表明程序没有错误B.为了发现程序中的错误C. 为了说明程序能正确地执行D.为了评价程序的质量13.在UML的用例图中,人形符号表示的是A 关联B 用例C角色 D 系统14.软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试()A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑15.下面哪些测试属于黑盒测试()。

A、路径测试B、循环测试C、等价类划分D、条件判断16.()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

A封装 B 继承 C 多态性 D 消息17.在UML中,协作图反映收发消息的对象的结构组织,它与()是同构的A 用例图B时序图 C 活动图 D 类图18.需求分析是软件生存周期中的一个重要阶段,它的应该是在()进行。

A、维护阶段B、软件开发全过程C、软件定义阶段D、软件运行阶段19.下面哪个阶段不属于软件的开发时期A.编码B.测试C.需求分析D. 维护20.模块内聚可分为七类,最低的内聚是A. 顺序内聚B. 时间内聚C. 过程内聚D. 偶然性内聚二.填空题(每空2分,15空共30分)1.常用(【1】耦合)和内聚这两个定性度量标准来评定模块的独立性。

2.结构化设计方法以数据流图为基础,按一定步骤映射成软件结构,数据流图有两种基本结构:变换型结构和(【2】事务流型结构)。

3.软件的定义可以简单的表述为:软件=(【3】程序+文档)4.测试技术有黑盒测试和白盒测试两种,根据程序的功能来设计测试用例,这种方法称为(【4】黑盒)测试。

5.在面向对象的系统设计过程中,有4种主要的设计组件必须定义,它们是领域组件、(【5】人机交互组件)、任务管理组件和数据管理组件。

6.统一建模语言是面向对象软件工程所使用的一种建模工具,其英文缩写是(【6】UML)7.软件结构的深度、宽度、扇人、扇出四个特征,定义了软件结构的形态。

(【7】扇出)是指一个模块直接调用的下属模块的数目。

8.软件维护的内容包括纠错性维护,(【8】适应性维护)、完善性维护和(【9】预防性维护)。

9.在UML的图形符号中,虚线箭头表示的是两个元素之间的(【11】依赖)关系。

10.软件的测试可以分为4个步骤,主要包括(【12】单元测试)、集成测试、(【13】确认测试)和系统测试。

11.在软件的开发过程中,必须遵循的原则是抽象、信息隐蔽和(【14】模块化)。

12.为使软件适应运行环境的改变而进行的一类维护称之为(【15】适应性维护)。

三.名词解释(每题3分,6题共18分)1.白盒法该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

白盒法也不可能进行穷举测试。

2.类具有相同或相似性质的对象的抽象就是类。

3.信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其它模块来说,是不能访问的。

4.路径覆盖指设计足够的测试用例,覆盖被测程序中所有可能的路径。

5.软件工程软件工程是指导计算机软件开发和维护的工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。

6.软件复用就是将已有的软件成分用于构造新的软件系统。

可以被复用的软件成分一般称作可复用构件,无论对可复用构件原封不动地使用还是作适当的修改后再使用,只要是用来构造新软件,则都可称作复用。

四.简答题(每题6分,4题共24分)1.请说明软件文档的作用?软件开发项目生存期各阶段都包含哪些文档?软件文档的作用是:提高软件开发过程的能见度;提高开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。

软件开发项目生存期各阶段应包括得文档以及与各类人员的关系如下:可行性研究报告、项目开发计划、软件需求说明书、数据要求说明书、测试计划、概要设计说明书、详细设计说明书、用户手册、操作手册、测试分析报告、开发进度月报、项目开发总结、程序维护手册(维护修改建议)。

2.什么是数据字典?其作用是什么?它有哪些条目?数据字典(简称DD)是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。

他和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。

数据字典是为分析人员查找数据流图中有关名字的详细定义而服务的,因此也像普通字典一样,要把所有条目按一定的次序排列起来,以便查阅。

数据字典有以下四类条目:数据流、数据项、数据存储、基本加工。

数据项是组成数据流和数据存储的最小元素。

源点、终点不在系统之内,故一般不在字典中说明。

3.采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点?㈠等价类划分。

等价类划分是将输入数据域按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。

㈡边界值分析。

该方法是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例。

㈢错误推测。

错误推测法没有确定的步骤,凭检验进行。

它的基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。

㈣因果图。

因果图能有效的检测输入条件的各种组合可能会引起的错误。

因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。

4.何谓软件生存周期?其可以划分为几个时期?每个时期又可分为几个阶段?每个阶段的主要任务是什么?一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。

软件生存期也可以分为三个时期:计划时期、开发时期和运行时期。

软件生存周期一般可分为以下几个阶段:1)问题定义问题定义阶段必须回答的关键问题是“要解决的问题是什么?”,正确理解用户的真正需求。

2)可行性研究这个阶段要回答的关键问题是:对于上一个阶段所确定的问题“有行得通的解决办法吗?”,可行性研究阶段应该导出系统的高层逻辑模型(通常用数据流图表示),准确地估计系统的成本和效益。

3)需求分析需求分析阶段的任务,主要是确定目标系统必须具备的功能,得出经用户确认的系统逻辑模型。

根据该系统逻辑模型,准确地回答“为了解决这个问题,目标系统必须做什么”。

4)总体设计也叫概要设计或初步设计。

这个阶段必须回答的是“概括地说,应该如何解决这个问题”。

总体设计的目标是将需求分析阶段定义的系统模型转换成相应的软件结构,以规定软件的形态及各成分间的层次关系、界面及接口要求。

5)详细设计详细设计阶段的任务是把解法具体化,也就是回答“应该怎样具体地实现这个系统”。

详细设计亦即模块设计。

它是在算法设计和结构设计的基础上,针对每个模块的功能、接口和算法定义,设计模块内部的算法过程及程序的逻辑结构,并编写模块设计说明。

6)编码这个阶段的任务,是根据详细设计的结果,选择一种适合的程序设计语言,把详细设计的结果翻译成程序的源代码。

7)测试以便尽早发现程序中的错误和缺陷而进行的一个过程,有单元测试、集成测试、确认测试和系统测试4种。

8)运行与维护通过各种必要的维护措施支持软件系统能持久地满足用户的需要。

5.如何做好软件质量保证工作?软件质量保证工作是软件工程管理的重要内容,软件质量保证应做好以下几个方面的工作:<1>采用技术手段和工具。

质量保证活动要贯彻开发过程始终,必须从采用技术手段和工具,尤其是使用软件开发环境来进行软件开发。

<2>组织正式技术评审,在软件开发的第一个阶段结束时,都要组织正式的技术评审。

国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。

<3>加强软件测试。

软件测试是质量保证的重要手段,因为测试可发现软件可发现软件中大多数潜在错误。

<4>推选软件工程规范(标准)。

用户可以自己指定软件工程规范(标准),但标准一旦确认就应贯彻执行。

<5>对软件的变更进行控制。

软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。

<6>对软件质量进行度量。

即对软件质量进行跟踪,及时记录和报告软件质量情况。

五.论述题(8分)在自己的开发实践中你是如何运用软件工程的?一.单项选择题(每题1分,20题共20分)二.填空题(每空2分,15空共30分)【1】耦合【2】事务流型结构【3】程序+文档【4】黑盒【5】人机交互组件【6】UML【7】扇出【8】适应性维护【9】预防性维护【11】依赖【12】单元测试【13】确认测试【14】模块化【15】适应性维护三.名词解释(每题3分,6题共18分)1.白盒法该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

相关文档
最新文档