计算机导论第11章 软件工程_第1页
计算机导论第11章 软件工程_第2页
计算机导论第11章 软件工程_第3页
计算机导论第11章 软件工程_第4页
计算机导论第11章 软件工程_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十一章 软件工程面向职业 体现系统 重视实践 强化应用 计算机导论计算机导论扬州职业大学扬州职业大学第十一章 软件工程面向职业 体现系统 重视实践 强化应用 第十一章第十一章 软件工程软件工程第十一章 软件工程面向职业 体现系统 重视实践 强化应用学习目标学习目标 了解软件的定义和特点了解软件的定义和特点 理解软件工程的概念与思想理解软件工程的概念与思想 熟悉软件生命周期的理论与各阶段的任务熟悉软件生命周期的理论与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用任务任务1 1:了解软件的定义与特点:了解软件的定义与特点 软件的定义软件的定义 软件:软件:是计算机系统中与硬

2、件相互依存的另一部分,它是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合是包括程序,数据及其相关文档的完整集合 。l程序是按事先设计的功能和性能要求执行的指令序程序是按事先设计的功能和性能要求执行的指令序列,程序是软件的主体。列,程序是软件的主体。l数据是使程序能正常操纵信息的数据结构。数据是使程序能正常操纵信息的数据结构。l文档是与程序开发,维护和使用有关的图文材料。文档是与程序开发,维护和使用有关的图文材料。第十一章 软件工程面向职业 体现系统 重视实践 强化应用 软件的特点软件的特点l抽象性抽象性l可复制性可复制性l无磨损性无磨损性l依赖性依赖性l复杂性复

3、杂性任务任务1:了解软件的定义与特点:了解软件的定义与特点第十一章 软件工程面向职业 体现系统 重视实践 强化应用 软件危机软件危机 软件危机主要表现在以下几个方面:软件危机主要表现在以下几个方面:l软件的需求不断地增长,用户对系统不够满意。软件的需求不断地增长,用户对系统不够满意。l软件开发的进度和成本难以控制,经常会出现经费软件开发的进度和成本难以控制,经常会出现经费超预算、完成期限一再拖延的现象。超预算、完成期限一再拖延的现象。l软件需求在开发初期不明确,导致矛盾在后期集中软件需求在开发初期不明确,导致矛盾在后期集中爆发。爆发。l由于缺乏完整规范的资料,加之软件测试不充分,由于缺乏完整规

4、范的资料,加之软件测试不充分,从而造成软件质量低下,运行中出现大量问题。从而造成软件质量低下,运行中出现大量问题。任务任务1:了解软件的定义与特点:了解软件的定义与特点第十一章 软件工程面向职业 体现系统 重视实践 强化应用任务任务2 2:理解软件工程的概念与思想:理解软件工程的概念与思想 软件工程的定义软件工程的定义 软件工程是一门研究用工程化方法构建和维护软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。有效的、实用的和高质量的软件的学科。 它涉及到程序设计语言,数据库,软件开发工它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。具,系统

5、平台,标准,设计模式等方面。 软件工程是应用于计算机软件的定义、开发和软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和维护的一整套方法、工具、文档、实践标准和工序。工序。第十一章 软件工程面向职业 体现系统 重视实践 强化应用 对于软件工程的理解可以包含以下几个方面:对于软件工程的理解可以包含以下几个方面: 软件工程是一门指导计算机软件开发和维护的工软件工程是一门指导计算机软件开发和维护的工程学科。程学科。 软件工程不是传统意义上的工程,没有陈述的系软件工程不是传统意义上的工程,没有陈述的系统化方法。统化方法。任务任务2:理解软件工程的概念与思想:理解软件工程的

6、概念与思想第十一章 软件工程面向职业 体现系统 重视实践 强化应用 软件工程的内容软件工程的内容 软件工程的主要内容:是软件开发技术和软件工程管软件工程的主要内容:是软件开发技术和软件工程管理。理。 软件开发技术:包含软件开发方法、软件工具、软件软件开发技术:包含软件开发方法、软件工具、软件工程环境。工程环境。 软件工程管理:包含软件工程经济、软件管理。软件工程管理:包含软件工程经济、软件管理。任务任务2:理解软件工程的概念与思想:理解软件工程的概念与思想第十一章 软件工程面向职业 体现系统 重视实践 强化应用 软件工程包括软件工程包括3个基本要素:方法、工具和过程。个基本要素:方法、工具和过

7、程。l方法:完成软件工程项目的技术手段、为软件开方法:完成软件工程项目的技术手段、为软件开发提供发提供“如何做如何做”的技术,它涵盖了项目计划、的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护等需求分析、系统设计、程序实现、测试与维护等一系列任务。一系列任务。l工具:支持软件的开发、管理和文档的生成。工具:支持软件的开发、管理和文档的生成。l过程:支持软件开发的各个环节的控制和管理。过程:支持软件开发的各个环节的控制和管理。任务任务2:理解软件工程的概念与思想:理解软件工程的概念与思想第十一章 软件工程面向职业 体现系统 重视实践 强化应用 软件工程的主要目标:软件工程的主要

8、目标:l合理预算成本,降低开发费用合理预算成本,降低开发费用 ,提高开发效率;,提高开发效率;l控制开发进度,实现预期功能,满足用户需求;控制开发进度,实现预期功能,满足用户需求;l提高软件质量,使软件具有可靠性、可理解性、提高软件质量,使软件具有可靠性、可理解性、可重用性、可适应性、可移植性、可追踪性和可可重用性、可适应性、可移植性、可追踪性和可维护性。维护性。 任务任务2:理解软件工程的概念与思想:理解软件工程的概念与思想第十一章 软件工程面向职业 体现系统 重视实践 强化应用 软件工程的思想软件工程的思想 软件工程的核心思想:把软件产品看成一个工程产品软件工程的核心思想:把软件产品看成一

9、个工程产品来处理。来处理。 软件开发阶段包含以下基本思想和方法:软件开发阶段包含以下基本思想和方法:l抽象化:从编程对象中抽取最基本的属性和行为,抽象化:从编程对象中抽取最基本的属性和行为,忽略非基本的细节。忽略非基本的细节。l模块化:通过对象、类等模块化手段,实现系统模块化:通过对象、类等模块化手段,实现系统的模块化和层次化,控制软件系统的复杂性。的模块化和层次化,控制软件系统的复杂性。任务任务2:理解软件工程的概念与思想:理解软件工程的概念与思想第十一章 软件工程面向职业 体现系统 重视实践 强化应用l局部化:在模块内部保持较强的内聚,模块之间保持松散耦局部化:在模块内部保持较强的内聚,模

10、块之间保持松散耦合,控制软件模块的复杂性。合,控制软件模块的复杂性。l隐蔽化:将模块设计成隐蔽化:将模块设计成“黑箱黑箱”,实现细节隐藏在模块内部,实现细节隐藏在模块内部,模块使用者只能通过接口进行访问,达到使用与实现的分离,模块使用者只能通过接口进行访问,达到使用与实现的分离,保证软件系统的可组装性。保证软件系统的可组装性。l确定性:软件开发过程中的所有概念表达应是确定的、无歧确定性:软件开发过程中的所有概念表达应是确定的、无歧义的、规范的。义的、规范的。l一致性:软件系统的各个模块应使用一致的概念、符号和术一致性:软件系统的各个模块应使用一致的概念、符号和术语。语。任务任务2:理解软件工程

11、的概念与思想:理解软件工程的概念与思想第十一章 软件工程面向职业 体现系统 重视实践 强化应用l完备性:软件系统所需要的各个部件应是齐全完备性:软件系统所需要的各个部件应是齐全的、完备的、正确的。的、完备的、正确的。l可验性:软件系统开发过程中的各个环节应是可验性:软件系统开发过程中的各个环节应是可检查的、可测试的、可评审的。可检查的、可测试的、可评审的。任务任务2:理解软件工程的概念与思想:理解软件工程的概念与思想第十一章 软件工程面向职业 体现系统 重视实践 强化应用任务任务3 3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务 软件生命周期的概念软件生命周期的

12、概念 软件生命周期,就是从时间角度对软件开发和维软件生命周期,就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生存的周期一次划分护的复杂问题进行分解,把软件生存的周期一次划分为若干阶段,每个阶段有相对独立的子任务,然后逐为若干阶段,每个阶段有相对独立的子任务,然后逐步完成每个阶段的任务。步完成每个阶段的任务。第十一章 软件工程面向职业 体现系统 重视实践 强化应用 软件生命周期的划分软件生命周期的划分 软件的生命周期的阶段划分有两种方式:软件的生命周期的阶段划分有两种方式:6个阶段和个阶段和3个阶段个阶段 。任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶

13、段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用1、计划阶段、计划阶段 可行性研究和计划的制定。确定待开发系统的总体目可行性研究和计划的制定。确定待开发系统的总体目标和范围,研究系统的可行性和可能的解决方案,对标和范围,研究系统的可行性和可能的解决方案,对资源成本以及进度进行合理的估算资源成本以及进度进行合理的估算 。2、需求分析阶段、需求分析阶段 分析整理和提炼所收集到的用户的需求,建立完成的分析整理和提炼所收集到的用户的需求,建立完成

14、的分析模型,编写软件需求规格说明和初步的用户手册,分析模型,编写软件需求规格说明和初步的用户手册,提交评审。提交评审。 任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用3、软件设计阶段、软件设计阶段 系统设计人员和程序设计人员应该在反复理解软件需系统设计人员和程序设计人员应该在反复理解软件需求的基础上,按照需求规格说明书确定软件的结构、求的基础上,按照需求规格说明书确定软件的结构、模块的划分、进而确定每个模块的算法,数据结构和模块的划分、进而确定每个模块的算法,数据结构和结构等,编写概要设计说明书、详

15、细设计说明书和测结构等,编写概要设计说明书、详细设计说明书和测试计划初稿,提交评审。试计划初稿,提交评审。4、软件实现阶段、软件实现阶段 将所设计的各个模块编写成计算机可以接受的程序代将所设计的各个模块编写成计算机可以接受的程序代码以及实现相关的文档。也就是完成源程序的编码,码以及实现相关的文档。也就是完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单编写用户手册、操作手册等面向用户的文档,编写单元测试计划。元测试计划。任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用5、软件测试阶段、软

16、件测试阶段 在设计测试用例的基础上,测试软件的各个组成部分。在设计测试用例的基础上,测试软件的各个组成部分。然后,将各个模块集成起来,测试整个产品的功能和然后,将各个模块集成起来,测试整个产品的功能和性能是否满足已有的规格说明。性能是否满足已有的规格说明。6、软件运行维护阶段、软件运行维护阶段 在运行使用过程中多软件产品进行不断地维护工作。在运行使用过程中多软件产品进行不断地维护工作。维护的是软件过程的一个组成部分,应该在软件的设维护的是软件过程的一个组成部分,应该在软件的设计和实现阶段充分考虑到其可维护性,维护阶段需要计和实现阶段充分考虑到其可维护性,维护阶段需要测试是否正确地实现了所要求的

17、修改,并确保在产品测试是否正确地实现了所要求的修改,并确保在产品维护过程中没有其他无关的改动维护过程中没有其他无关的改动。任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用 软件生命周期理论的应用软件生命周期理论的应用1 1、计划、计划 计划包括问题定义和可行性研究两个方面。计划包括问题定义和可行性研究两个方面。 问题定义:主要确定开发项目要解决的问题是什么。问题定义:主要确定开发项目要解决的问题是什么。 可行性研究:要确定的问题是,对于问题定义阶段确可行性研究:要确定的问题是,对于问题定义阶段确定的项

18、目是否有行之有效的解决方法。定的项目是否有行之有效的解决方法。任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用一般从以下一般从以下3个方面进行分析研究:个方面进行分析研究:l技术可行性:使用现有的技术是否能够完成这一项目。技术可行性:使用现有的技术是否能够完成这一项目。l经济可行性:项目完成后产生的经济效益是否能经济可行性:项目完成后产生的经济效益是否能 超出超出开发成本,并能获得预期的收益。开发成本,并能获得预期的收益。l操作可行性:项目实现后的运作方式在用户组织内部是操作可行性:项目实现后的运作方

19、式在用户组织内部是否可以实施。否可以实施。任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用2、需求分析、需求分析 需求分析的目标:是深入描述软件的功能和性能,确定需求分析的目标:是深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求。义软件的其他有效性需求。 (1)需求分析定义)需求分析定义 1997年年IEEE软件工程标准词汇表对需求定义如下:软件工程标准词汇表对需求定义如下:l用户解决问题或达到目标所需

20、要的条件或权能;用户解决问题或达到目标所需要的条件或权能; l系统或系统部件要满足合同、标准、规范或其它正系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。式规定文档所需具有的条件或能力。l一种反映前两点所描述的条件或能力的文档说明。一种反映前两点所描述的条件或能力的文档说明。任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用(2)需求分析过程)需求分析过程 需求分析阶段的工作,可以分成需求分析阶段的工作,可以分成4个方面:个方面:l需求的获取需求的获取 需求获取的目的是确定对

21、目标系统的各个方面的需求。需求获取的目的是确定对目标系统的各个方面的需求。l需求分析需求分析 需求分析主要是对收集到的需求进行提炼、分析和仔细需求分析主要是对收集到的需求进行提炼、分析和仔细审查,以确保所有的风险承担者都明白其含义并找出其审查,以确保所有的风险承担者都明白其含义并找出其中的错误、遗漏或其它不足的地方,形成完整的分析模中的错误、遗漏或其它不足的地方,形成完整的分析模型。型。 任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用l编写软件需求规格说明书编写软件需求规格说明书 软件需求规格说明书

22、是需求开发的最终结果,它精软件需求规格说明书是需求开发的最终结果,它精确地阐述一个软件系统必须提供的功能和性能以及它所确地阐述一个软件系统必须提供的功能和性能以及它所要考虑的限制条件。要考虑的限制条件。 l需求评审需求评审 在需求分析的最后,应该对功能的正确性、一致在需求分析的最后,应该对功能的正确性、一致性、完备性、准确性和清晰性,以及其他需求给予评审性、完备性、准确性和清晰性,以及其他需求给予评审。 任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用(3)需求分析方法)需求分析方法 常见的需求分析方

23、法有:常见的需求分析方法有:l面向数据流的结构化分析方法面向数据流的结构化分析方法(SA,Structure Analysis)l面向数据结构的面向数据结构的Jackson方法方法 (JSD,Jackson system development method)l面向数据结构的结构化数据系统开发方法面向数据结构的结构化数据系统开发方法 (DSSD,Data structure development method)l面向对象的分析方法面向对象的分析方法 (OOA,ObjectOriented method) 任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第

24、十一章 软件工程面向职业 体现系统 重视实践 强化应用3、设计、设计 设计工作通常分两个阶段:概要设计、详细设计设计工作通常分两个阶段:概要设计、详细设计 (1)概要设计的任务:设计软件的系统体系结构以及数)概要设计的任务:设计软件的系统体系结构以及数据库的相关设计并编写概要设计文档,进行概要设计文据库的相关设计并编写概要设计文档,进行概要设计文档评审。档评审。任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用l设计软件体系结构:概要设计阶段将需求分析的结设计软件体系结构:概要设计阶段将需求分析的结果进

25、一步分解,划分为模块和模块的层次结构。概果进一步分解,划分为模块和模块的层次结构。概要设计首先采用某设计方法,将一个复杂的系统按要设计首先采用某设计方法,将一个复杂的系统按照功能划分成若干个模块,确定个模块的功能以及照功能划分成若干个模块,确定个模块的功能以及调用关系,而后确定模块间的接口,最后模块的质调用关系,而后确定模块间的接口,最后模块的质量进行评价。量进行评价。任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用l数据设计:确定软件涉及的文件系统的结构以及数数据设计:确定软件涉及的文件系统的结构以

26、及数据库的模式、子模式,进行数据完整性和安全性的据库的模式、子模式,进行数据完整性和安全性的设计确定输入,输出文件的详细的数据结构结合算设计确定输入,输出文件的详细的数据结构结合算法设计,确定算法所必需的逻辑数据结构及其操作,法设计,确定算法所必需的逻辑数据结构及其操作,确定对逻辑数据结构所必需的那些操作的程序模块确定对逻辑数据结构所必需的那些操作的程序模块(软件包软件包);数据的保护性设计:防卫性设计、一致;数据的保护性设计:防卫性设计、一致性设计、冗余性设计、可靠性设计。性设计、冗余性设计、可靠性设计。任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第

27、十一章 软件工程面向职业 体现系统 重视实践 强化应用l编写概要设计文档:在概要设计阶段,要编写概要编写概要设计文档:在概要设计阶段,要编写概要设计说明书、数据库设计说明书、用户手册以及制设计说明书、数据库设计说明书、用户手册以及制定初步的测试计划。定初步的测试计划。l概要设计文档评审:在概要设计阶段,对设计部分概要设计文档评审:在概要设计阶段,对设计部分是否完成地实现了需求中规定的功能、性能等要求。是否完成地实现了需求中规定的功能、性能等要求。对设计方案的实用性、技术清晰度、可维护性、质对设计方案的实用性、技术清晰度、可维护性、质量等问题进行评审。量等问题进行评审。 任务任务3:熟悉软件生命

28、周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用 具体进行模块设计时,一般遵循以下原则:具体进行模块设计时,一般遵循以下原则:l提高模块的独立性提高模块的独立性l模块的规模要适中模块的规模要适中l模块之间的控制以及调用关系要适度模块之间的控制以及调用关系要适度l模块的作用域应该在该模块的控制域内模块的作用域应该在该模块的控制域内l减少模块接口和界面的复杂度减少模块接口和界面的复杂度l设计成单路口、单出口的模块设计成单路口、单出口的模块l设计功能可以预测的模块设计功能可以预测的模块任务任务3:熟悉软件生命周期的思想与各阶段的任

29、务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用(2)详细设计)详细设计 详细设计也叫做过程设计或程序设计,它不同于编码或详细设计也叫做过程设计或程序设计,它不同于编码或编程详细设计,是为软件结构图中的各个模块确定实现编程详细设计,是为软件结构图中的各个模块确定实现算法以及数据结构,并用相应的描述工具加以细节性表算法以及数据结构,并用相应的描述工具加以细节性表达。达。 任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用4、编码、编码 编码的主要任务:写出正

30、确的容易理解的、容易维护的编码的主要任务:写出正确的容易理解的、容易维护的程序模块。程序模块。5、测试、测试 测试阶段的主要任务:通过各种类型的测试,保证项目测试阶段的主要任务:通过各种类型的测试,保证项目软件达到预定的要求。软件达到预定的要求。任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用(1)测试的目的)测试的目的 广义上讲,测试是指软件产品生存周期内所有的检查、广义上讲,测试是指软件产品生存周期内所有的检查、评审和确认活动,如设计评审、系统测试。评审和确认活动,如设计评审、系统测试。 狭义上讲

31、,测试是对软件产品质量的检验和评价,它一狭义上讲,测试是对软件产品质量的检验和评价,它一方面检查软件产品质量中存在的质量问题,同时对产品方面检查软件产品质量中存在的质量问题,同时对产品质量进行客观的评价。质量进行客观的评价。任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用(2)测试的原则)测试的原则 软件测试过程中,软件测试人员要遵循一些基本原则:软件测试过程中,软件测试人员要遵循一些基本原则:l所有的测试都应该追溯到需求。所有的测试都应该追溯到需求。l在设计测试用例时,应当包括合理的输入条件和不在设

32、计测试用例时,应当包括合理的输入条件和不合理的输入条件。合理的输入条件。l严格执行测试计划,排除测试的随意性。严格执行测试计划,排除测试的随意性。l充分注意测试中的群集现象。充分注意测试中的群集现象。l程序员应避免检查自己的程序。程序员应避免检查自己的程序。l完全测试程序是不可能的。完全测试程序是不可能的。任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用(3)测试的方法)测试的方法 从是否需要执行被测软件的角度来看:可分为静态测试从是否需要执行被测软件的角度来看:可分为静态测试和动态测试;和动态测试;

33、 从测试是否针对系统的内部结构和具体实现算法的角度从测试是否针对系统的内部结构和具体实现算法的角度来看:可以分为白盒测试和黑盒测试。来看:可以分为白盒测试和黑盒测试。任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用l静态测试静态测试 静态测试指被测试程序不在机器上运行,而是采静态测试指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检用人工检测和计算机辅助静态分析的手段对程序进行检测。静态测试包括代码检查、静态结构分析、代码质量测。静态测试包括代码检查、静态结构分析、代码

34、质量度量等。度量等。l 动态测试动态测试 动态测试是指基于计算机的测试,通过运行程序动态测试是指基于计算机的测试,通过运行程序发现错误。发现错误。 任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用l白盒测试白盒测试 白盒测试也称结构测试或逻辑驱动测试。它是根据白盒测试也称结构测试或逻辑驱动测试。它是根据软件产品的内部工作过程,在计算机上进行测试,以证软件产品的内部工作过程,在计算机上进行测试,以证实每种内部操作是否符合设计规格要求,所有内部成分实每种内部操作是否符合设计规格要求,所有内部成分是否已经过

35、检查。是否已经过检查。 白盒测试主要方法有逻辑覆盖、基本路径测试等。白盒测试主要方法有逻辑覆盖、基本路径测试等。 任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用l黑盒测试黑盒测试 黑盒测试着眼于程序外部结构、不考虑内部逻辑结黑盒测试着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。它是根据软件构、针对软件界面和软件功能进行测试。它是根据软件产品的功能设计规格,在计算机上进行测试,以证实每产品的功能设计规格,在计算机上进行测试,以证实每个实现了的功能是否符合要求。个实现了的功能是

36、否符合要求。(4)测试过程)测试过程 测试过程一般分为测试过程一般分为4个步骤进行:个步骤进行: 单元测试、集成测试、确认测试和系统测试。单元测试、集成测试、确认测试和系统测试。 任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用l单元测试单元测试 单元测试是对源程序中每一个程序单元进行测试,检查单元测试是对源程序中每一个程序单元进行测试,检查各个模块是否正确实现了规定的功能,从而发现模块在各个模块是否正确实现了规定的功能,从而发现模块在编码中或算法中的错误。编码中或算法中的错误。l集成测试集成测试 集

37、成测试是组装软件的系统测试技术,按设计要求把通集成测试是组装软件的系统测试技术,按设计要求把通过单元测试的各个模块组装在一起之后,进行综合测试过单元测试的各个模块组装在一起之后,进行综合测试以便发现与接口有关的各种错误。以便发现与接口有关的各种错误。任务任务3:熟悉软件生命周期的思想与各阶段的任务:熟悉软件生命周期的思想与各阶段的任务第十一章 软件工程面向职业 体现系统 重视实践 强化应用l确认测试确认测试 确认测试是验证软件的功能和性能及其他特性是否满足确认测试是验证软件的功能和性能及其他特性是否满足了需求规格说明中确定的各种需求,以及软件配置是否了需求规格说明中确定的各种需求,以及软件配置是否完全、正确。完全

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论