软件工程测试卷简答题

合集下载

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的三要素不包括以下哪一项?A. 工具B. 方法C. 过程D. 环境答案:D2. 软件需求分析阶段的主要任务是确定软件的()。

A. 功能需求B. 性能需求C. 界面需求D. 所有选项答案:D3. 软件测试的目的是()。

A. 发现软件中的错误B. 证明软件是正确的C. 验证软件是否满足需求D. 所有选项答案:D4. 以下哪一项不是软件维护的类型?A. 纠错性维护B. 适应性维护C. 完善性维护D. 开发性维护答案:D5. 软件项目管理的主要目标是()。

A. 提高软件质量B. 控制成本C. 缩短开发周期D. 所有选项答案:D6. 瀑布模型的主要缺点是()。

A. 缺乏灵活性B. 难以适应需求变化C. 无法并行开发D. 所有选项答案:D7. 敏捷开发方法的核心理念是()。

A. 以文档为中心B. 以人为中心C. 以过程为中心D. 以工具为中心答案:B8. 软件配置管理的主要目的是()。

A. 确保软件的一致性B. 跟踪软件的变更C. 控制软件的版本D. 所有选项答案:D9. 以下哪一项不是软件工程的原则?A. 抽象B. 模块化C. 复用D. 随机性答案:D10. 软件工程的目标是()。

A. 开发高质量的软件B. 提高软件生产率C. 降低软件成本D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件需求分析阶段可能包括以下哪些活动?A. 需求收集B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD2. 软件测试的类型包括以下哪些?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD3. 软件维护的常见原因包括以下哪些?A. 适应环境变化B. 修正软件缺陷C. 提高软件性能D. 增加新功能答案:ABCD4. 软件项目管理的关键活动包括以下哪些?A. 项目规划B. 项目监控C. 项目沟通D. 风险管理答案:ABCD5. 软件工程中的常见开发模型包括以下哪些?A. 瀑布模型B. 螺旋模型C. 敏捷模型D. 增量模型答案:ABCD三、判断题(每题2分,共10分)1. 软件工程的目标是开发出零缺陷的软件。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。

答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。

答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。

答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。

它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。

2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。

通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。

3. 请简述软件开发生命周期中的各个阶段。

答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。

- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。

- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。

- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。

- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。

- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。

软件工程30分简答题

软件工程30分简答题

简答题:1.软件测试方法黑盒测试:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用。

白盒测试:如果知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常运行。

2.软件生命周期阶段问题定义、可行性研究、需求分析、总体设计、详细设计、编码单元测试、综合测试、软件维护。

3.数据元素在数据字典中记录数据元素的下列信息:一般信息;定义;使用特点;控制信息;分组信息。

数据元素出现别名的原因:(1)对于同样的数据,不同的用户使用了不同的名字。

(2)一个分析员在不同时期对同一个数据使用了不同的名字。

(3)两个分析员分别分析同一个数据流时,使用了不同的名字。

4.需求分析原则(1)必须理解并描述问题的信息域,根据这条准则应该建立数据模型。

(2)必须定义软件应完成的功能,这条准则要求建立功能模型。

(3)必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。

(4)必须对描述信息,功能和行为的模型进行分解,用层次的方式展现细节。

5.软件测试目标(1)测试是为了发现程序中的错误而执行程序的过程(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案(3)成功的测试是发现了至今为止尚未发现的错误的测试6.面向对象的优点、要点、准则优点:(1)与人类习惯的思维方法一致(2)稳定性好(3)可重用性好(4)较易开发大型软件产品(5)可维护性好要点:(1)把对象作为融合了数据及在数据上的操作行为的统一的软件构件。

(2)把对象都划分成类。

(3)按照父类(或基类)与子类(或派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。

(4)对象彼此间仅能通过发送消息互相联系。

准则:模块化、抽象、信息隐藏、弱耦合、强内聚、可重用。

软件工程试题及答案

软件工程试题及答案

软件工程试题及答案一、选择题1. 下列哪个选项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的质量C. 缩短软件开发周期D. 提高软件的可维护性答案:C2. 下列哪个方法不属于软件工程的开发方法?A. 结构化方法B. 面向对象方法C. 原型方法D. 水平方法答案:D3. 下列哪个阶段不属于软件生命周期的基本阶段?A. 需求分析B. 设计C. 编码D. 测试答案:D二、填空题4. 软件工程的三个基本要素是____、____和____。

答案:方法、工具、过程5. 结构化分析方法中,用例图用于描述____和____之间的关系。

答案:用户、系统6. 软件设计的主要任务包括____、____和____。

答案:总体设计、详细设计、编码三、判断题7. 软件工程的目标是提高软件的生产率和质量,降低软件开发成本。

()答案:错误。

软件工程的目标是提高软件的生产率和质量,但并不一定降低软件开发成本。

8. 面向对象方法中,类是具有相同属性和行为的对象的集合。

()答案:正确。

9. 软件开发过程中,需求分析是软件生命周期中最重要的阶段。

()答案:错误。

虽然需求分析很重要,但软件生命周期中最重要的阶段是设计和实现。

四、简答题10. 简述软件工程的七个基本活动。

答案:软件工程的七个基本活动包括:(1)需求分析:理解用户需求,明确软件系统的功能、性能和约束。

(2)设计:根据需求分析结果,制定软件系统的设计方案。

(3)实现:根据设计方案,编写代码,实现软件系统。

(4)测试:验证软件系统的正确性、可靠性和性能。

(5)部署:将软件系统部署到实际运行环境中。

(6)维护:对软件系统进行修改和改进,以满足用户需求的变化。

(7)项目管理:对软件开发过程进行管理,确保项目按时、按质完成。

11. 简述面向对象方法的主要特点。

答案:面向对象方法的主要特点包括:(1)封装:将对象的属性和行为封装在一起,隐藏内部实现细节。

(2)继承:允许子类继承父类的属性和行为,实现代码复用。

软件工程学试题及答案

软件工程学试题及答案

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

A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。

A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。

A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。

A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。

A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。

A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。

A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。

A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。

A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。

A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。

答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。

2. 描述软件需求分析的重要性。

答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。

软件工程考试题 带答案

软件工程考试题 带答案

软件工程考试题带答案软件工程考试题一、单项选择题(每题5分,共30分)1.软件需求分析的主要目标是:A. 发现并修正软件中的错误B. 确定软件系统的功能和性能需求C. 编写软件代码D. 打印和发布软件答案:B2. 下列哪个是软件生命周期模型?A. 瀑布模型B. 微服务架构C. 敏捷开发D. 协同开发答案:A3. 软件设计阶段的主要目标是:A. 开发详细的测试计划B. 创建软件的体系结构和模块设计C. 编写和调试软件代码D. 验收和发布软件答案:B4. 软件测试的主要目的是:A. 发现并修复软件错误B. 确保软件系统符合质量标准C. 完成软件系统的开发D. 验收和发布软件答案:B5. 下列哪个是软件项目管理过程中的常用工具?A. 甘特图B. 数据流图C. 类图D. 鱼骨图答案:A6. 下列哪个是软件配置管理的主要目标?A. 确保软件开发过程的质量B. 管理软件中不同部分的变更C. 编写和调试软件代码D. 验收和发布软件答案:B二、简答题(每题10分,共20分)1. 简要解释软件工程的概念。

答:软件工程是一门研究和应用工程原理、方法和工具来开发和维护高质量软件的学科。

它注重应用系统性的、规范化的方法来开发和维护软件,以提高软件的质量、效率和可维护性。

2. 请简述瀑布模型的基本原理。

答:瀑布模型是软件开发过程中最早也是最广泛使用的模型之一。

它基于线性顺序的开发过程,将软件开发划分为需求分析、设计、开发、测试和运行维护等不同阶段,每个阶段按照顺序进行。

三、案例分析题(40分)某公司正在开发一个电商网站,你作为软件工程师参与其中。

请回答以下问题:1. 在需求分析阶段,你应该做些什么?答:在需求分析阶段,我应该与客户沟通,了解他们的需求和期望。

我将分析和记录客户的功能和性能需求,制定需求规格说明书,并与团队成员一起进行需求评审,确保需求的准确性和完整性。

2. 在设计阶段,你应该做些什么?答:在设计阶段,我将设计软件系统的体系结构和模块设计。

软件工程(简答题)

软件工程(简答题)

1、典型的详细设计工具有流程图、盒图、、类程序设计语言。

问题反馈【教师释疑】正确答案:【PAD图】2、UML是一种语言。

问题反馈【教师释疑】正确答案:【可视化】3、类是一组具有属性、操作、关系和语义的对象的描述。

问题反馈【教师释疑】正确答案:【相同】4、对象是类的一个。

问题反馈【教师释疑】正确答案:【实例】5、用况图是一种表达系统模型的图形化工具。

问题反馈【教师释疑】正确答案:【功能】6、UML中的顺序图是一种交互图,即由一组对象以及按组织的对象之间的关系组成。

问题反馈【教师释疑】正确答案:【时序】7、模块的作用域是指受该模块内一个所影响的所有模块的集合。

问题反馈【教师释疑】正确答案:【判定】8、模块的控制域是指这个模块本身以及所有直接或间接它的模块的集合。

问题反馈【教师释疑】正确答案:【从属于】9、在数据流图中引入数据源和数据潭这两个术语的目的是为了表示系统的,可以使用它们和相关数据流来定义系统的。

问题反馈【教师释疑】正确答案:【环境|边界】10、模块结构图是系统的一个高层蓝图,允许设计人员在较高的层次上进行抽象思维。

模块结构图可用和两种形式来表示。

问题反馈【教师释疑】正确答案:【层次图|HIPO图】11、在设计模块结构图时要基于原则来设计模块。

问题反馈【教师释疑】正确答案:【高内聚低耦合】12、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“尽力使模块的在其控制域之内”。

问题反馈【教师释疑】正确答案:【作用域】13、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“力求深度、宽度、扇出和扇入”。

问题反馈【教师释疑】正确答案:【适中】14、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“改进软件结构,提高模块的”。

软件工程简答题及答案

软件工程简答题及答案

软件工程简答题及答案软件工程试题整理_ 简答题1、可行性研究的任务是什么?首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。

然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。

从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法,对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。

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

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

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

2、什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么关系?一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。

一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。

一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽量靠近。

如果再设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点” 或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。

3、非渐增式测试与渐增式测试有什么区别?渐增式测试如何组装模块?非渐增式测试与渐增式测试的测试方法有以下区别:㈠非渐增式测试方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。

而渐增式测试往往把单元测试与集成测试和在一起,同时完成。

㈡非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。

㈢渐增式可以较早的发现接口之间的错误,非渐增式最后组装是才发现。

软件工程期末试卷简答题(答案)

软件工程期末试卷简答题(答案)

软件⼯程期末试卷简答题(答案)软件⼯程简答1、软件和软件⽣存周期。

(什么是软件⽣存期。

)软件是能够完成预定功能和性能的可执⾏的计算机程序,包括使程序正常执⾏所需要的数据,以及有关描述程序操作和使⽤的⽂档。

(软件=程序+⽂档)软件⽣存周期:由软件定义、软件开发、运⾏维护3个时期组成,每个时期⼜进⼀步划分成若⼲阶段。

软件⽣存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。

2、什么是软件危机?他有哪些典型的表现?产⽣的原因?软件危机是指计算机软件开发和维护过程中所遇到的⼀系列严重问题。

典型表现有:(1)对软件开发成本和进度的估计常常很不准确(2)软件产品的质量往往靠不住(3)⽤户对已完成的软件系统不满意的现象经常发⽣(4)软件常常是不可维护的(5)软件中没有适当的⽂档资料(6)软件成本在计算机系统总成本所占的⽐例逐年上升(成本上升)(7)软件开发⽣产率提⾼的速度,往往跟不上计算机应⽤迅速普及深⼊的趋势原因:(1)软件本⾝独有的特点,给开发和维护带来了困难(2)与软件开发和维护的⽅法不正确有关(3)程序只是完整软件的⼀个组成部分(4)轻视是⼀个最⼤的错误3、软件项⽬的质量管理制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进⾏评审,对最终软件产品进⾏确认,确保软件质量。

5、螺旋模型的适应场合有哪些?0104适应场合:⽀持需求不明确、特别是⼤型软件系统的开发,并⽀持⾯向规格说明、⾯向过程、⾯向对象等多种软件开发⽅法,是⼀种具有⼴阔前景的模型。

6.什么是软件过程?它与软件⼯程⽅法学有何关系?(1)软件过程是为了获得⾼质量软件所需要完成的⼀系列任务的框架,它规定了完成各项任务的⼯作步骤。

(2) 软件过程是软件⼯程⽅法学的3个重要组成部分之⼀。

(3) 软件⼯程⽅法学包含三个要素:⽅法、⼯具和过程。

7.简述软件设计的过程。

答:软件设计是把许多事物和问题抽象起来,并且抽象它们不同层次和⾓度,是将需求转变为软件陈述的过程,是迭代的过程。

软件工程—简答题

软件工程—简答题

软件工程—简答题四、简答题1. 简述软件危机产生的原因。

答案:软件危机产生的原因有:(每点1分)(1)软件的规模越来越大,结构越来越复杂。

(2)软件开发的管理困难。

由于软件规模大,结构复杂,又具有无形性,导致管理困难,进度操纵困难,质量操纵困难,可靠性无法保证。

(3)软件开发费用不断增加。

软件生产是一种智力劳动,它是资金密集、人力密集的产业,大型软件投入人力多,周期长,费用上升很快。

(4)软件开发技术、开发工具落后,生产率提高缓慢。

(5)生产方式落后。

软件仍然使用个体手工方式开发。

2. 简述需求分析的概念及需求分析的基本任务。

答案:需求分析是指开发人员要准确懂得用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

(3分)需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统务必“做什么”的问题。

(2分)3. 简述数据流图的分类及每一类的特点。

答案:数据流图有两类:变换型数据流图与事务型数据流图。

(1分)变换型数据流图是由输入、处理与输出三部分构成,(1分)因此变化型数据流图是一个顺序结构。

(1分)事务型数据流图特征:事务处理中心将它的输入流分离成许多发散的数据流,形成许多加工路径,(1分)并根据输入的值选择其中一个路径来执行。

(1分)4. 简述建立对象模型的过程。

答案:建立对象模型的步骤如下:(每点1分)(1)确定类:标出来自问题域的有关对象类。

(2)准备数据字典:为所有建模实体准备一个数据字典,准确描述各对象类的精确含义,描述当前问题中的类的范围,包含对类的成员、用法方面的假设或者限制;(3)确定关联:确定二个或者多个类之间的相互依靠;(4)确定属性:只考虑与具体应用直接有关的属性(5)使用继承来细化类:使用继承来共享公共结构,以此来重新组织类__全国2010年1月1.简述软件工程面临的问题。

最新软件工程考试题库(含答案和解析)

最新软件工程考试题库(含答案和解析)

最新软件工程考试题库(含答案和解析)一、选择题1. 以下哪个不是软件工程的三个基本目标之一?A. 可维护性B. 可靠性C. 可用性D. 低成本答案:D解析:软件工程的三个基本目标是可维护性、可靠性和可用性。

低成本虽然也是一个重要的考虑因素,但并不是软件工程的基本目标。

2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A解析:面向对象编程(OOP)通过将数据和操作数据的方法封装在一起,降低了软件复杂性,提高了代码的可重用性和可维护性。

3. 软件开发过程中,以下哪个阶段需要进行需求分析?A. 设计阶段B. 编码阶段C. 测试阶段D. 需求分析阶段答案:D解析:需求分析是软件开发过程中的第一个阶段,其主要任务是明确软件系统的功能、性能等需求。

4. 以下哪个软件工程方法主要关注软件项目的管理?A. 敏捷开发B. ScrumC. UMLD. 设计模式答案:B解析:Scrum 是一种敏捷开发方法,主要关注软件项目的管理和团队协作。

UML(统一建模语言)主要用于软件设计,设计模式主要用于解决软件设计中的常见问题。

5. 以下哪个软件工具主要用于版本控制?A. GitB. EclipseC. JiraD. Visual Studio答案:A解析:Git 是一款分布式版本控制系统,主要用于跟踪和管理软件开发过程中的代码变更。

二、填空题1. 软件工程的基本活动包括______、______、______和______。

答案:需求分析、设计、编码、测试2. 敏捷开发的核心价值观包括______、______、______、______和______。

答案:个体和互动、工作软件、客户协作、响应变化、持续交付3. 软件开发过程中,常用的设计模式包括______、______、______、______和______。

答案:工厂模式、单例模式、策略模式、装饰模式、观察者模式4. 软件测试的目的是______、______和______。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程测试试卷简答题

软件工程测试试卷简答题

软件工程考试试卷——简答题题库三、简答题(简要回答下列问题)1、什么是软件工程?它目标和内容是什么?软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。

软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。

软件工程内容:包括开发技术和开发管理两个方面。

2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发?软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。

其中喷泉模型、统一软件过程适用于面向对象的软件开发。

3、什么是结构分析方法?该方法使用什么描述工具?结构化分析:简称SA,面向数据流进行数据分析的方法。

采用自顶向下逐层分解的分析策略。

顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。

中间层则是从抽象到具体的过渡。

使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。

4、什么是软件概要设计?该阶段的基本任务是什么?把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。

称为概要设计或结构设计。

基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审5、软件维护有哪些内容?(1)校正性维护。

在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。

为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。

(2)适应性维护。

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

(3)完善性维护。

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

(4)预防性维护。

为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。

6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。

软件工程考试试题及答案

软件工程考试试题及答案

软件工程考试试题及答案一、单选题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. 简述软件生命周期模型中的瀑布模型。

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

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

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、单项选择题(每题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分,共20分)1. 软件工程的主要目标是()。

A. 提高软件的可靠性B. 提高软件的生产率C. 降低软件的成本D. 以上都是答案:D2. 软件需求分析阶段的主要任务是()。

A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的性能需求答案:A3. 在软件测试中,黑盒测试的主要依据是()。

A. 程序内部逻辑B. 程序外部功能C. 程序设计文档D. 用户操作手册答案:B4. 软件开发过程中,需求变更可能导致()。

A. 项目延期B. 成本增加C. 质量下降D. 以上都是答案:D5. 面向对象分析与设计的主要概念不包括()。

A. 对象B. 类C. 模块D. 继承答案:C二、多项选择题(每题3分,共15分)1. 以下哪些是软件工程的基本原则?()A. 系统性原则B. 可维护性原则C. 可测试性原则D. 可扩展性原则答案:ABCD2. 软件项目管理包括以下哪些方面?()A. 时间管理B. 成本管理C. 风险管理D. 质量管理答案:ABCD3. 软件测试的目的是()。

A. 发现软件中的缺陷B. 验证软件是否满足需求C. 确保软件的可靠性D. 提高软件的性能答案:ABC三、简答题(每题5分,共20分)1. 简述软件生命周期的各个阶段。

答案:软件生命周期包括需求分析、设计、编码、测试、维护等阶段。

2. 什么是软件危机?它主要表现在哪些方面?答案:软件危机是指在软件开发过程中出现的一系列问题,如成本超支、进度延误、质量低下等。

3. 请解释什么是软件重构。

答案:软件重构是指在不改变软件外部行为的前提下,对软件内部结构进行调整,以提高其可理解性和可维护性。

4. 什么是敏捷开发?答案:敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法,强调团队合作、客户反馈和对变化的响应。

四、计算题(每题10分,共20分)1. 假设一个软件项目的开发周期为18个月,预计成本为1000万元。

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、选择题(每题2分,共20分)1. 软件工程中的需求分析阶段的主要任务是什么?A. 确定软件的功能需求B. 设计软件的架构C. 编写软件的详细设计文档D. 进行软件的编码实现答案:A2. 在软件开发过程中,哪个阶段是进行风险评估的?A. 需求分析B. 设计C. 编码D. 测试答案:B3. 软件测试中的黑盒测试通常是基于什么进行的?A. 程序源代码B. 程序的内部逻辑C. 程序的功能需求D. 程序的运行环境答案:C4. 敏捷开发方法论中,哪个活动是迭代的核心?A. 需求收集B. 编码实现C. 测试D. 回顾会议答案:B5. 在软件维护中,哪种类型的维护是最常见的?A. 纠错性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A二、填空题(每空1分,共10分)6. 软件工程的生命周期包括需求分析、________、编码、测试和维护等阶段。

答案:设计7. 软件工程中的_______原则指的是高内聚低耦合。

答案:模块化8. 在软件开发中,_______ 是指软件在特定条件下使用时,能够达到预期功能、性能要求的能力。

答案:可靠性9. 软件项目管理中的_______ 是指在项目开发过程中,对项目进行监控和控制,确保项目按计划进行。

答案:监控10. 在软件测试中,_______ 是指测试用例设计得尽可能覆盖所有可能的执行路径。

答案:穷尽测试三、简答题(每题10分,共30分)11. 简述软件工程中的模块化设计原则及其优点。

答案:模块化设计原则是指将软件系统划分为多个模块,每个模块具有特定的功能,并且模块之间通过定义良好的接口进行交互。

其优点包括:- 易于管理:模块化使得软件更容易理解和维护。

- 可重用性:模块可以在不同的项目中重复使用。

- 并行开发:模块化允许多个团队并行开发不同的模块。

- 灵活性:模块化提高了软件的灵活性,便于扩展和修改。

12. 解释什么是软件的可维护性,并说明其重要性。

软件工程考试试题和答案

软件工程考试试题和答案

软件工程考试试题和答案一、单项选择题1. 软件工程的三要素是()。

A. 工具、方法、过程B. 方法、工具、环境C. 方法、过程、工具D. 过程、工具、环境答案:C2. 软件需求分析阶段的工作不包括()。

A. 需求获取B. 需求分析C. 需求规格说明D. 软件设计答案:D3. 软件测试的目的是()。

A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是无错误的D. 证明软件存在错误答案:B4. 在软件维护中,最频繁的活动是()。

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

A. 进度管理B. 质量管理C. 配置管理D. 软件设计答案:D二、多项选择题1. 软件工程的基本原理包括()。

A. 抽象B. 模块化C. 信息隐蔽D. 逐步求精答案:ABCD2. 软件需求分析的任务包括()。

A. 需求获取B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD3. 软件测试的方法包括()。

A. 黑盒测试B. 白盒测试C. 灰盒测试D. 静态测试答案:ABCD4. 软件维护的类型包括()。

A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件项目管理的内容主要包括()。

A. 进度管理B. 质量管理C. 成本管理D. 人员管理答案:ABCD三、判断题1. 软件工程的目标是提高软件的生产率和质量。

()答案:正确2. 软件需求分析阶段不需要进行需求验证。

()答案:错误3. 软件测试可以证明软件是无错误的。

()答案:错误4. 软件维护只包括校正性维护。

()答案:错误5. 软件项目管理不需要进行质量管理。

()答案:错误四、简答题1. 简述软件工程的特点。

答:软件工程的特点包括:(1)软件工程强调系统的、规范的、可度量的方法学;(2)软件工程是面向过程的;(3)软件工程是面向质量的;(4)软件工程是面向经济的;(5)软件工程是面向人的。

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

软件工程考试试卷——简答题题库三、简答题(简要回答下列问题)1、什么是软件工程?它目标和容是什么?软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。

软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。

软件工程容:包括开发技术和开发管理两个面。

2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发?软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。

其中喷泉模型、统一软件过程适用于面向对象的软件开发。

3、什么是结构分析法?该法使用什么描述工具?结构化分析:简称SA,面向数据流进行数据分析的法。

采用自顶向下逐层分解的分析策略。

顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。

中间层则是从抽象到具体的过渡。

使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。

4、什么是软件概要设计?该阶段的基本任务是什么?把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。

称为概要设计或结构设计。

基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审5、软件维护有哪些容?(1)校正性维护。

在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。

为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。

(2)适应性维护。

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

(3)完善性维护。

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

(4)预防性维护。

为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。

6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。

单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。

该阶段涉及编码和详细设计文档。

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

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

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

以确定软件是否可以支付使用。

7、什么是软件生存期?它有哪几个活动?软件生存期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。

8、衡量模块独立性的两个标准是什么?各表示什么含义?聚和耦合。

聚:又称为块联系,指模块部各成分之间相互关联的程度,以高聚为设计目标。

耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。

9、什么是结构分析法?结构化分析法通过哪些步骤来实现?结构化分析:简称SA,面向数据流进行数据分析的法。

采用自顶向下逐层分解的分析策略。

顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。

中间层则是从抽象到具体的过渡。

实现的步骤:⑴了解当前系统的工作流程,获得当前系统的物理模型。

⑵抽象出当前系统的逻辑模型。

⑶建立目标系统的逻辑模型。

⑷作进一步补充和优化。

10、什么是需求分析?需求分析阶段的基本任务是什么?需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。

基本任务:⑴问题识别⑵分析与综合,导出软件的逻辑模型⑶编写文档11、什么样是"事物流"?什么是"变换流"?数据流图(DFD)一般可分为"变换流","事物流"两种。

"变换流":由输入﹑输出﹑变换(或称处理)三部分组成,是一顺序结构。

"事物流":它的某个加工,分离成多发散的数据流,形成多加工路径,并且根据输入值选择其中一个路径来执行。

(这人加工称为事务处理中心)12、单元测试有哪些容?单元测试主要针对模块的以下五个基本特征进行测试:(1)模块接口(2)局部数据结构(3)重要的执行路径(4)错误处理(5)边界条件13、什么是软件生存期模型?有哪些主要模型?生存期模型:描述软件开发过程中各种活动如执行的模型。

对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存期模型化技术的基础,也是建立软件开发环境的核心。

主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。

14、软件设计的基本原理包括哪些容?⑴模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。

⑵抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。

通过抽象确定组成软件的过程实体。

⑶信息隐蔽:将模块实现自身功能的细节与数据"隐蔽"起来。

模块间仅交换为完成系统功能所必须的信息。

⑷模块独立性:每个模块只完成系统要求的独立的子功能。

15、结构化程序设计的基本要点是什么?主要有三个:1、采用自顶向下、逐步求精的程序设计法2、使用三种基本控制结构构造程序。

任程序都可以由顺序、选择、重复(循环)三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。

3、主程序员组的组织形式。

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

17、单元测试中采用什么法?测试的法是为被测试模块编写驱动模块和桩模块来实现被测试单元的可运行。

通过驱动模块来模拟被测试模块的上级调用模块,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结构并输出。

桩模块则用来代替被测试模块所调用的模块。

它的作用是返回被测模块所需的信息。

18、什么是软件配置管理?什么是基线?软件配置管理,简称SCM(Software Configuration Management),是指一组管理整个软件生存期各阶段中变更的活动。

软件配置管理技术可以使软件变更所产生的错误达到最小并最有效地提高生产率。

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

19、简述文档在软件工程中的作用?文档在软件工程中的作用如下:(1)提高软件开发过程的能见度(2)提高开发效率(3)作为开发人员阶段工作成果和结束标志(4)记录开发过程的有关信息便于使用与维护;(5)提供软件运行、维护和培训有关资料;(6)便于用户了解软件功能、性能。

20、软件工程三要素之间的关系?软件质量是软件工程的生命线,软件工程以质量保证为基础。

质量管理促进了过程的改进,创造了多行之有效的软件开发法和工具。

软件工程釆用层次化的法,每个层次都包括过程、法、工具三要素。

法支撑过程和工具,过程和工具又促进法学的研究。

21、说明面向对象的特征?面向对象的特征是:(1)对象唯一性。

每个对象都有自身唯一的标识,在对象生存期中,其标识不变,不同的对象不能有不同的标识。

(2)分类性。

是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类(3)继承性。

是子类自动共享父类数据结构和法的机制,这是类之间的一种关系。

(4)多态性。

是指相同的操作或函数过程可以作用于多种类型的对象上并获得不同的结果。

22、简述"变换分析"设计步骤。

⑴确定变换中心,逻辑输入和输出。

⑵设计软件结构的顶层和第一层--变换结构。

⑶设计中﹑下层模块,对第一层的模块自顶向下分解。

⑷设计的优化:输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。

其它输入模块与转换数据模块都很简单时,可将它们合并。

23、请简述可行性研究有哪些步骤?复查系统规模和目标;研究当前的系统;导出新系统的高层逻辑模型;重新定义问题;导出和评价可供选择的解决案;推荐可行的行动案;草拟开发计划;书写文档并提交审查。

24、请简述黑盒测试和白盒测试有区别,黑盒测试有哪些常用法?黑盒测试和白盒测试的区别:前者基于功能,后者基于结构;黑盒测试常用法有:边界值、等价类、因果图、错误推测法等。

25、什么是软件可维护性?常见的软件维护活动有哪几类?软件可维护性的定义:软件能够被理解、校正、适应及增强功能的容易程度;常见的软件维护活动有:改正型、适应型、完善型、预防型。

26、CMM全称是什么?分为哪几个级别?CMM全称是软件能力成熟度模型;从无序到有序的进化分成5个级别,分别为:1 初始级;2 可重复级;3 已定义级;4 已管理级;5 优化级。

27、什么是数据字典?简述数据字典与数据流图的关系。

数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具;数据字典与数据流图的关系:数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不格,然而没有数据流图数据字典也难于发挥作用。

数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。

28、软件生命期划分为哪几个阶段?软件生命期分为三个时期八个阶段:软件定义:问题定义、可行性研究;软件开发:需求分析、概要设计、详细设计、编码、测试;软件运行:软件维护29、简述三种面向对象模型的主要功能?①对象模型:表示了静态的结构化的系统数据性质,描绘了系统的静态结构,从客观世界实体的对象关系角度来描绘对象。

②动态模型:该模型描述了系统的控制结构,它表示了瞬间的、行为化的系统控制性质,它关心的是系统的控制及操作的执行顺序,它从对象的事件和状态的角度出发,表现了对象的交互行为。

③功能模型:表示变化的系统“功能”性质,它指明系统应该“做什么”,因此功能模型更直接的反映了用户对目标系统的要求。

30、详细设计的基本任务是什么?详细设计的基本任务包括:为每个模块进行详细的算法设计;为模块的数据结构进行设计;对数据库进行物理设计;其他设计;编写详细设计说明书;评审。

g31、黑盒测试和白盒测试有什么区别?(1)黑盒测试法: 把程序看作一个黑盒子,完全不考虑程序的部结构和处理过程。

它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。

相关文档
最新文档