软件工程基础考试重点

合集下载

软件工程基础考试重点

软件工程基础考试重点

1 软件危机指在计算机软件的开发和维护过程中所遇到的一系列严重问题2 软件危机的原因有:1客观:软件规模大、复杂性高2主观:忽视需求分析3 软件危机的主要表现:(1)对软件开发成本和进度的估计常常不准确(2)用户对已完成系统不满意的现象经常发生(3)软件产品质量往往靠不住(4)软件常常是不可维护的(5)软件通常没有适当的文档资料(6)软件的成本不断提高(7)软件开发生产率的提高赶不上硬件的发展和人们需求的增长4 软件工程:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验、证明正确的管理技术和当前能够得到的做好的技术方法结合起来。

经济地开发出高质量的软件并有效地维护它5 软件工程原理:(1)用分阶段的生命周期计划严格管理(2)坚持进行阶段评审(3)实行严格的产品控制(4)采纳现代程序设计技术(5)结果应能清楚地审查(6)开发小组的人员应少儿精(7)承认不断改进软件工程实践的必要性6 生存期模型:瀑布模型、循环模型、演化模型、螺旋模型7 软件生存周期:从某个待开发软件的目的被提出并着手实现,直到最后停止使用的这个过程。

8 生存周期阶段:定义阶段(系统分析、制定软件项目计划、需求分析);开发阶段(软件设计、编码、软件测试);维护阶段(改正性维护,适应性维护,完善性维护,预防性维护)9 软件开发的模式:1 瀑布模式(初始目标、需求分析、软件设计、编码、测试、运行维护)2原型法模式3演化模式4螺旋模式10 软件定义过程分阶段:问题的定义、可行性研究、需求分析11 可行性研究目的:以最小的代价在尽可能短的时间内确定问题是否能够解决。

可行性研究包括:经济、技术、法律和方案选择性12 可行性研究包括:经济可行性、技术可行性、法律可行性、方案选择性、13需求分析:软件需求是指用户对于目标系统在功能.、行为、性能、设计约束等方面的期望。

通过对应问题及其环境的理解和分析,为问题涉及的信息、功能及系统行为进行建模,将用户需求精确化、完整化和清晰化,最终形成需求规格说明。

软考必考知识点

软考必考知识点

软考必考知识点软考是指软件设计师资格考试,是衡量从事软件设计与开发工作人员能力的一项重要考试。

软考考试内容涵盖软件工程基础、软件需求与设计、软件开发、软件测试与维护、软件项目管理等多个方面的知识。

下面将从这些方面介绍软考必考的知识点。

一、软件工程基础软件工程是一门研究如何以系统化、规范化、可定量化的方法开发和维护软件的学科。

在软考中,需要掌握软件工程的基本概念、原则、方法和过程。

其中包括软件生命周期、软件开发模型、软件质量保证、软件度量等方面的知识。

二、软件需求与设计软件需求与设计是软件开发的前期工作,也是软件工程中非常重要的环节。

在软考中,需要了解需求工程的基本概念、需求获取与分析的方法、需求规格说明的技术、软件需求验证与确认等知识。

此外,还需要掌握软件设计的基本原则与方法,包括结构化设计、面向对象设计、设计模式等内容。

三、软件开发软件开发是软件设计师的核心工作之一,也是软考的重点内容。

在软考中,需要熟悉常用的编程语言和开发工具,掌握软件开发的基本流程和方法,了解软件开发中的常用技术和框架。

此外,还需要了解软件配置管理、软件版本管理、软件集成与构建等知识。

四、软件测试与维护软件测试与维护是软件开发的后期工作,也是软考的考查内容之一。

在软考中,需要了解软件测试的基本原理与方法,包括黑盒测试、白盒测试、灰盒测试等各种测试技术。

同时,还需要了解软件维护的基本概念、维护过程、维护类型等知识。

五、软件项目管理软件项目管理是软件设计师的重要职责之一,也是软考的考查内容。

在软考中,需要了解软件项目管理的基本原理与方法,包括项目计划与组织、项目进度与成本控制、项目风险管理等知识。

此外,还需要了解软件团队管理、软件项目质量管理等相关内容。

软考必考的知识点主要包括软件工程基础、软件需求与设计、软件开发、软件测试与维护、软件项目管理等多个方面的内容。

掌握这些知识点对于从事软件设计与开发工作的人员来说是非常重要的。

通过软考的考试,可以全面评估个人在软件设计与开发方面的能力,提高职业竞争力。

《软件工程》-重点考试知识点,简答

《软件工程》-重点考试知识点,简答

第一章1、软件概念:由计算机程序,数据,软件文档组成软件的特点:无法直接观察它的物理形态,只能通过观察他的是实际运行情况来了解他的功能特性和质量等;人们在分析设计开发测试过程以及软件开发项目的管理过程中渗透了大量的人类的脑力劳动;不存在磨损和老化但存在缺陷维护和技术更新的问题;开发运行依赖一定的计算机系统环境;具有可复用性软件的分类:按功能分:系统支撑应用软件;按服务对象:通用定制软件;按规模:大中小型软件;按工作方式:实时分时交互式批处理2、软件危机:是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件的开发与维护过程中出现一系列严重问题的现象。

主要表现:●开发人员开发的软件产品不能完全满足用户的需求;●软件产品的质量难以得到保障;●开发周期开发经费和维护费用很难被准确估计从而给项目的管理带来很多麻烦;●随着技术的更新,用户的扩大,已有的软件产品不能灵活地适应环境的改变;●软件文档不完备并且存在文档内容与软件产品不符的情况。

原因:①软件开发是一项复杂的工程,需要用科学的工程化思想来组织和指导软件开发的各个阶段②没有完善的质量保证体系③软件文档的重要性没有得到软件开发人员和用户的足够重视④从事软件开发的专业人员对这个产业认识不够充分缺乏经验⑤软件独有的特点也给软件的开发和维护带来困难3、软件工程是指应用计算机科学与技术,数学和管理学的原理,运用工程学理论方法和技术,研究和指导软件开发和演化的一门交叉学科。

软件工程的目标:●使软件开发的成本控制在预计的合理范围内;●使软件产品的各项功能和性能能够满足用户需求;●提高软件产品的可靠性;●使生产出来的软件产品易于移植维护升级和使用;●使软件产品的开发周期能够控制在预计的合理时间范围内。

软件工程学科内容:●软件工程原理过程方法模型管理度量环境应用。

软件工程的基本原则:●将软件的生命周期划分为多个阶段,对各个阶段实施严格的项目管理;●坚持阶段评审制度已确保软件产品的质量;●实施严格的产品控制以适应软件规格的变更;●采用现代程序设计技术;开发出来的产品应该能够清楚地被审查;●合理地安排软件开发小组人员并且开发小组的人员要少而精;●不断改进软件工程的实践。

软件工程必背考点

软件工程必背考点

软件工程必背考点软件工程是以工程法为基础的一门学科,涉及到软件开发的各个方面,包括需求分析、设计、编码、测试、维护等。

在软件工程的学习和实践中,有一些重要的考点需要我们掌握和理解。

本文将介绍一些软件工程的必背考点,以帮助读者更好地复习和准备软件工程的考试。

一、软件生命周期模型软件生命周期模型是指软件开发过程中不同阶段的组织、管理和控制方法。

常见的软件生命周期模型有瀑布模型、迭代模型、螺旋模型等。

熟悉和理解不同的软件生命周期模型对于项目管理和开发具有重要的意义。

二、需求工程需求工程是软件工程的重要组成部分,其目标是明确软件系统需要满足用户和利益相关者的需求。

需求工程包括需求获取、需求分析、需求规格说明等过程,需要掌握需求工程中的各种技术和方法。

三、软件设计软件设计是将需求转化为具体的设计方案和结构的过程。

软件设计包括结构设计、模块化设计、接口设计等,需要掌握设计的原则和方法,以及常用的设计模式和设计工具。

四、软件测试软件测试是确保软件系统质量的重要手段。

软件测试包括单元测试、集成测试、系统测试、用户验收测试等,需要掌握各种测试方法、策略和工具,以及缺陷管理和跟踪的技巧。

五、软件维护软件维护是软件工程的一个重要阶段,用于确保软件系统的可靠性和稳定性。

软件维护包括纠错性维护、适应性维护、完善性维护等,需要掌握维护的方法和技巧,以及版本管理和配置管理的工具和流程。

六、软件过程改进软件过程改进是为了提高软件开发过程的质量和效率而进行的系统性改进。

软件过程改进包括CMMI模型、SPICE模型等,需要了解软件过程改进的原理和方法,以及评估和度量的指标体系。

七、软件项目管理软件项目管理是为了成功地完成软件项目而进行的计划、组织、协调和控制的过程。

软件项目管理包括项目计划、资源管理、风险管理等,需要掌握项目管理的理论和实践,以及项目管理工具和技术。

八、软件工程伦理和专业责任软件工程伦理和专业责任是软件工程师必备的素养。

计算机二级【公共基础知识】软件工程基础

计算机二级【公共基础知识】软件工程基础
5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素。
3.软件的分类
根据应用目标的不同,软件可分应用软件、系 统软件和支撑软件(或工具软件)。
(1)应用软件。它是在特定领域内开发,为特定目 的服务的一类软件。
(2)系统软件。它能与计算机硬件紧密配合在一起, 使计算机系统各个部分、相关的软件和数据协调、 高效的工作的软件。例如:操作系统、数据库管理 系统。
3.4软件测试
软件测试的指用人工或自动手段来运行或测定
某个系统的过程,其目的在于检验它是否满足 规定的需求或是弄清预期结果与实际结果之间
的差别。简单地说,软件测试的目的是尽可能 多地发现程序中的错误。
考点2:软件测试方法
按是否要执行被测试软件的角度分为:静态测 试和动态测试。
静态测试包括代码检查、静态结构分析、代码 质量度量。不实际运行软件,主要通过人工进 行。
1. 详细设计为软件结构图中的每一个模块确定
实现算法和局部数据结构,用某种选定的表 达工具表示算法和数据结构的细节。
详细设计常用工具:
1. 图形工具(程序流程图、 PAD图 、N-S图、 HIPO图)
2. 表格工具(判定表)
3. 语言工具(PDL )
开始 输入R S=3.14 * R*R
输出S
结束
答案:D
例题:
软件工程的出现是由于 A)程序设计方法学的影响 B)软件产业化的需要 C)软件危机的出现 D)计算机的发展
答案:C
例题:
软件设计中,有利于提高模块独立性的一个准 则是
A)低内聚低耦合 B)低内聚高耦合 C)高内聚低耦合 D)高内聚高耦合
答案:C
例题:
下列不属于结构化分析的常用工具的是 A)数据流图 B)数据字典 C)判定树 D)PAD图

软件工程基础知识考试资料

软件工程基础知识考试资料

软件工程基础知识考试资料1. 软件工程概述软件工程是指应用科学原理和方法,以及工程管理原则,系统地进行软件开发、维护和演化的一种工程学科。

软件工程的目标是提高软件的质量、可靠性、可维护性和可复用性,降低软件开发和维护的成本和时间。

2. 软件生命周期软件生命周期是指软件从概念到退役的全过程,包括需求分析、系统设计、编码、测试、部署、维护等阶段。

常见的软件开发生命周期模型有瀑布模型、迭代模型、敏捷模型等。

2.1 瀑布模型瀑布模型是最早提出的软件开发生命周期模型,它按照线性顺序依次完成需求分析、系统设计、编码、测试和维护等阶段。

瀑布模型的优点是结构清晰,适用于开发稳定的需求;缺点是适应性差,无法应对需求变化。

2.2 迭代模型迭代模型是按照循环迭代的方式完成软件开发的模型,每个迭代周期内包括需求分析、系统设计、编码、测试和维护等阶段。

迭代模型的优点是适应性强,能够应对需求变化;缺点是进度不确定,需求可能会不断变化。

2.3 敏捷模型敏捷模型是一种强调灵活性和迭代开发的软件开发方法。

敏捷开发通过快速迭代、持续交付和团队协作来应对需求的变化。

常见的敏捷开发方法有Scrum、XP、DevOps等。

3. 软件需求工程软件需求工程是软件工程的重要组成部分,主要包括需求获取、需求分析、需求规格说明和需求验证等阶段。

3.1 需求获取需求获取是指从项目相关方获取对软件功能和性能的需求。

常用的需求获取方法有访谈、问卷调查、案例分析等。

3.2 需求分析需求分析是对需求进行细化、整理和优化的过程。

需求分析的目标是明确需求背后的业务逻辑,识别需求的优先级和约束条件。

3.3 需求规格说明需求规格说明是将需求以文档形式记录下来,包括用户需求、功能需求、非功能需求等。

常用的需求规格说明方法有用例图、活动图、状态图等。

3.4 需求验证需求验证是确保软件产品满足用户需求的过程。

常用的需求验证方法有测试、验收和用户反馈等。

4. 软件设计与架构软件设计是指在需求分析的基础上,将系统分解为不同的模块,并定义各模块之间的接口和关系。

软件工程考试必备知识点

软件工程考试必备知识点

1、什么是软件?软件的特征?Software = Program + Data + Document(1)能够完成预定功能和性能的可执行指令;(2)使得程序能够适当地操作信息的数据结构;(3)描述程序的操作和使用的文档。

软件的特征(相于硬件):(1)软件是逻辑的,而不是物理的产品(2)软件是由开发或工程化而形成的,没有明显的制造过程。

(3)软件在运行和使用期间,不存在硬件那样的磨损和老化问题,但它存在退化问题,开发人员必须维护软件。

(4)大多数软件是自定的,而不是通过已有构件组装而成的。

迄今为止,软件的开发尚未完全摆脱手工的方式。

(5)软件成本相当昂贵。

(6)软件本身是复杂的。

2、什么是软件危机,产生软件危机的原因是什么:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

产生软件危的原因一方面是与软件本身的特点有关;另一方面是由软件开发和维护的方法不正确有关。

3、软件工程是什么?软件工程三个要素?软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。

它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。

软件工程三要素:方法、过程、工具。

4、什么叫软件生命周期?它有哪些阶段?概括地说,软件生命周期是由软件定义、软件开发、软件维护3个时期组成的,每个时期又可细分为若干个阶段,分别为:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试以及软件维护。

5、软件过程及常用的软件开发模型?软件过程是为了获得高质量所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

常见的软件开发模型有:瀑布模型(是一种文档驱动的模型,特点是:阶段间距有顺序性和依赖性(想象瀑布的样子,从上至下,联系在一起,上面没有水掉下来下面也就不可能有水)、推迟实现的观点、质量保证的观点)。

快速原型模型(先快速建立一个可以运行的程序,然后在不断地完善,他也是线性顺序进行的)、增量模型、螺旋模型(风险驱动)、喷泉模型、RUP、XP等等。

软件工程考试重点(灰常重要)

软件工程考试重点(灰常重要)

软件工程考试重点(灰常重要)软件工程考试重点(灰常重要)软件工程考试是每个软件工程专业学生所必须面对的一项重要考试。

它是评估学生在软件开发、项目管理、质量保证和软件工程实践等方面的理论知识和实践能力的重要指标。

在这篇文章中,我们将重点介绍软件工程考试的几个重要内容,帮助学生们更好地备考和应对考试。

一、需求工程需求工程是软件工程的基石,它涉及到对软件系统需求的分析、建模和管理。

在软件工程考试中,需求工程占据了重要的比重。

学生们需要掌握需求获取和分析的方法,了解不同类型的需求模型(如用户需求、系统需求、功能需求和非功能需求等),并能够运用适当的需求工程工具和技术来解决实际问题。

二、软件设计软件设计是指将需求转化为可执行代码或软件系统的架构和模块设计。

在考试中,学生们需要熟悉软件设计的原则和方法,包括模块化设计、面向对象设计、设计模式等。

同时,学生们还需要具备使用设计工具和建模语言进行软件设计的实际操作能力。

三、软件开发方法和过程软件工程中的软件开发方法和过程对于考试来说也是非常重要的内容。

学生们需要了解不同的软件开发方法,例如瀑布模型、敏捷开发、迭代开发等,并了解每种方法的特点、适用场景和优缺点。

此外,对于软件开发过程的理解和掌握同样至关重要,学生们需要熟悉软件工程中的需求分析、设计、编码、测试、部署等各个阶段,并了解每个阶段的任务和关键活动。

四、软件测试和质量管理软件测试和质量管理是确保软件开发过程中质量和可靠性的关键环节。

学生们需要了解各种软件测试方法和技术,包括单元测试、集成测试、系统测试、性能测试等,以及软件质量管理的原则和实践。

同时,学生们还需要具备编写测试用例、执行测试计划和分析测试结果的能力。

五、软件项目管理软件项目管理是对软件开发过程进行规划和组织的过程。

在考试中,学生们需要了解软件项目管理的基本概念和方法,包括项目计划、进度管理、风险管理、团队管理等。

此外,学生们还需要了解不同的项目管理工具和技术,如甘特图、敏捷项目管理等。

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

1 软件危机指在计算机软件的开发和维护过程中所遇到的一系列严重问题2 软件危机的原因有:1客观:软件规模大、复杂性高2主观:忽视需求分析3 软件危机的主要表现:(1)对软件开发成本和进度的估计常常不准确(2)用户对已完成系统不满意的现象经常发生(3)软件产品质量往往靠不住(4)软件常常是不可维护的(5)软件通常没有适当的文档资料(6)软件的成本不断提高(7)软件开发生产率的提高赶不上硬件的发展和人们需求的增长4 软件工程:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验、证明正确的管理技术和当前能够得到的做好的技术方法结合起来。

经济地开发出高质量的软件并有效地维护它5 软件工程原理:(1)用分阶段的生命周期计划严格管理(2)坚持进行阶段评审(3)实行严格的产品控制(4)采纳现代程序设计技术(5)结果应能清楚地审查(6)开发小组的人员应少儿精(7)承认不断改进软件工程实践的必要性6 生存期模型:瀑布模型、循环模型、演化模型、螺旋模型7 软件生存周期:从某个待开发软件的目的被提出并着手实现,直到最后停止使用的这个过程。

、8 生存周期阶段:定义阶段(系统分析、制定软件项目计划、需求分析);开发阶段(软件设计、编码、软件测试);维护阶段(改正性维护,适应性维护,完善性维护,预防性维护)9 软件开发的模式:1 瀑布模式(初始目标、需求分析、软件设计、编码、测试、运行维护)2原型法模式3演化模式4螺旋模式10 软件定义过程分阶段:问题的定义、可行性研究、需求分析11 可行性研究目的:以最小的代价在尽可能短的时间内确定问题是否能够解决。

可行性研究包括:经济、技术、法律和方案选择性12 可行性研究包括:经济可行性、技术可行性、法律可行性、方案选择性、13需求分析:软件需求是指用户对于目标系统在功能.、行为、性能、设计约束等方面的期望。

通过对应问题及其环境的理解和分析,为问题涉及的信息、功能及系统行为进行建模,将用户需求精确化、完整化和清晰化,最终形成需求规格说明。

14 需求分析任务:确定系统的综合要求、分析系统的数据要求、导出系统的逻辑模型、修正系统的开发计划、开发原型系统。

15 初步需求获取技术:访谈与会议、观察用户工作流程、用户与开发人员组成联合小组|16 结构化分析方法:简称SA方法,它是一种面向数据流的需求分析方法,适用于分析大型数据处理系统,是一种简单、实用的方法。

17 SA方法分析结果组成:一套分层的数据流图、一本数据字典、一组加工逻辑说明和补充材料18 数据流图(DFD):描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。

是一种用逻辑系统的图形表示,便于用户理解、分析系统数据流程的分析工具19 数据流图基本成分:外部实体-方框、加工-圆、数据存储-平行线、数据流-箭头20 数据字典:就是为数据流图中的每个数据流、文件、加工、以及组成数据流或文件的数据项做出说明21 数据字典条目内容:(1)数据流图中标识数据流、数据源或外部实体的名称与别名(2)数据类型(3)所有以它作为输入流或输出流的转换的列表(4)使用该数据条目的简要说明(5)数据条目的解释性说明(6)其他补充说明在数据流图中,每个加工框中只简单地写上了一个加工名,这显然不能表达加工的全部内容。

随着自顶向下逐步细化,功能越来越具体,加工逻辑也越来越精细。

到最底一层,加工逻辑详细到可以实现的程度,因此称为“原子加工”或“基本加工”。

如果能够写出每一个基本加工的全部详细逻辑功能,再自底向上综合,就能完成全部逻辑加工。

^22 加工逻辑的描述方法:结构化语言、判定表、判定树23 概要设计任务:设计实现软件的最佳方案、设计软件体系结构24 模块化:按照一定原则把程序划分成若干个模块、使每个模块完成一个子功能模块多,开发单个模块工作量减少,与模块接口有关工作增加。

必须减少接口复杂提高独立性。

模块特性:输入输出、功能、内部数据、程序代码25抽象:对事物共同的本质特性进行抽取和概括,忽略次要因素逐步求精:自顶向下的设计策略26 信息隐蔽:在设计和确定模块时,使得一个模块内包含的信息(过程或数据)对于不需要这些信息的模块来说是不能访问的局部化:在设计和确定模块时把一些关系密切的软件元素物理地放的彼此靠近27 模块独立性:每个模块只完成系统要求的独立子功能,并且与模块的联系最少且接口简单模块独立可用两个定向标准度量:内聚性(快内联系,一个模块内部各个元素彼此结合的紧密程度的度量,大)耦合性(块间联系,各模块间相互联系的紧密程度,小)28 内聚度低到高:偶然内聚、逻辑、时间、过程、通信、信息、功能内聚耦合性从高到低:内容耦合、公共、外部、控制、标记、数据、非直接耦合…29 软件结构优化的原则:改善独立性;模块规模应该适中;深度、宽度、扇入和扇出要适当;作用域应在控制域内;设计单入口单出口的模块;力争降低模块接口的复杂程度;功能应该可以预测。

30详细设计的原则:(1)采用自顶向下逐步求精的设计方法。

(2)使用言语中的顺序、选择、重复等有限的基本结构表示程序逻辑。

(3)选用的控制结构只允许一个入口和一个出口。

(4)复杂结构应该用基本控制结构进行组合嵌套来实现。

(5)严格控制GO TO语句。

31 详细设计方法:程序流程图、N-S图、PAD图、PDL)32 程序里程图中主要符号元素的含义:方框表示加工任务:菱形表示逻辑条件;箭头表示控制流.33 程序流程图主要缺点:(1)程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。

(2)程序流程图中用箭头代表控制流,因此,程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。

程序流程图不宜表示数据结构N-S图有下述特点:(1)功能域(即一个特定控制结构的作用域)明确(2)不可能任意转移控制(3)很容易确定局部和全程数据的作用域(4)很容易表现嵌套关系,也可以表示模块的层次结构。

PAD图的主要优点:(1)使用表示结构化控制结构的PAD符号设计出来的程序必然是结构化程序。

(2)PAD图描绘的程序结构十分清晰。

(3)容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成,从而可省去人工编码的工作,有利于提高软件的可靠性和(英文或中文)软件的生产率。

(4)既可用于表示程序逻辑,也可用于描绘数据结构。

(5)PAD图的符号支持自顶向下,逐步求精方法的使用。

、PDL具有以下特点:(1)提供全部结构化控制结构、数据说明和模块特征。

能对PDL正文进行结构分割,使之变得易于理解。

(2)关键字语法固定。

(3)数据处理使用结构化语(4)数据说明应该满足自定义数据类型的要求(5)模块定义和接口描述应该类某种语言风格。

34软件测试的原则:(1)应当经早的和不断的进行软件测试,(2)测试用例应当由测试输入数据和与之对立的与其输出结果组成(3)开发人员和测试队伍要分别建立,为保证测试质量应分别建立开发和测试队伍(4)设计测试用例时应包括合理的输入条件合不合理的输入条件(5)充分注意测试中的群集现象(6)严格执行测试计划排除测试的随意行(7)应当对每一个测试的结果做全面检测(8)在对程序进行修改后要进行回归测试(9)妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。

35 白盒测试又称玻璃盒测试,对软件的过程性描述做细致的检查,把测试对象看着一个打开的盒子,允许利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。

通过在不同点检查程序的状态,取得实际的状态,是否与预期的状态一致,故又称结构测试或逻辑驱动。

可以(1)保证一个模块中的所有独立路径至少被使用一次;(2)对所有逻辑值均需测试真和假;(3)在上下边界及可操作范围内运行所有循环;(4)检查内部数据结构以确保其有效性。

是36 黑盒测试也称作行为测试在完全不考虑程序的内部结构和处理过程的前提下,在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接受输入数据产生正确的输出信息,并且保持外部信息的完整性。

因此,又称为功能测试或数据驱动合理地应用黑盒测试可以导出满足以下标准的测试案例集:能够减少达到合理测试所需的测试数;能够判断某些类型的错误存在与否,且与特定测试无关。

白盒测试技术基本路径测试,控制结构测试黑盒测试技术等价划分,边界值分析。

—软件测试策略:单元、集成、确认、系统37 单元测试集中检验软件设计的最小单元——模块。

单元测试可以使用白盒测试法,而且对多个模块的测试可以并行地进行。

常见的错误有1.不正确的算数优先级2.混合模式操作3.精度不够准确4.错误的初始化。

在单元测试的基础上,我们通常需要对由经过单元测试的模块组装起来形成的一个子系统进行的测试,这样的测试被称为子系统测试。

子系统测试时重点测试模块的接口。

而对由经过测试的子系统测试组装成的系统进行的测试则称为系统测试。

38集成测试又叫组装测试。

通过测试发现和接口有关的问题来构造程序结构的系统化技术,目标是将单元测试通过的模块构造一个符合设计描述的程序结构。

集成测试方法可以分为两类一是非渐增式测试,一是渐增式测试。

集成测试策略:自顶向下集成,自底向上集成,回归测试。

39 确认测试a测试由用户在开发者的场所进行,用户在开发者指导下对软件进行测试,开发者负责记录错误和使用中出现的问题,总的来说,a测试是在受控环境中进行。

B测试由用户在一个或多个用户场所进行,开发者通常不在场,因此,B测试是在开发者不能控制的环境下进行,用户记下所有的问题(实际出现的和可能出现的),并定期记录反馈回开发者,在接到B测试的用户报告后,开发者对系统进行修改。

软件维护:指软件系统交付使用以后,为了改正软件运行错误,或者满足新的需求而加入新功能的修改软件过程。

软件维护:改正性维护、适应性维护、完善性维护、预防性维护文档分为用户文档和系统文档。

相关文档
最新文档