第3章 软件工程基础.ppt

上传人:s****8 文档编号:67265921 上传时间:2022-12-24 格式:PPT 页数:44 大小:302.50KB
返回 下载 相关 举报
第3章 软件工程基础.ppt_第1页
第1页 / 共44页
第3章 软件工程基础.ppt_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《第3章 软件工程基础.ppt》由会员分享,可在线阅读,更多相关《第3章 软件工程基础.ppt(44页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第三章第三章 软件工程基础软件工程基础第一节第一节 软件工程基本概念软件工程基本概念第二节第二节 结构化分析方法结构化分析方法第三节第三节 软件测试软件测试第四节第四节 程序的调试程序的调试第一节第一节 软件工程基本概念软件工程基本概念一、软件定义与软件特点一、软件定义与软件特点软件是包括软件是包括程序程序、数据数据及相关及相关文档文档的完整集合。的完整集合。包括包括:(1)机器可执行的)机器可执行的程序程序与与数据数据。(2)机器不可执行的,与软件开发、运行、维护、使用)机器不可执行的,与软件开发、运行、维护、使用等相关的等相关的文档文档。第一节第一节 软件工程基本概念软件工程基本概念一、软

2、件定义与软件特点一、软件定义与软件特点特点:特点:(1)软件是一种逻辑实体,不是物理实体,具有抽象性。)软件是一种逻辑实体,不是物理实体,具有抽象性。(2)软件的生产与硬件不同,没有明显的制作过程。一)软件的生产与硬件不同,没有明显的制作过程。一旦开发成功,可以大量拷贝。旦开发成功,可以大量拷贝。(3)软件在运行、使用期间不存在磨损与老化问题)软件在运行、使用期间不存在磨损与老化问题(4)软件的开发、运行对计算机系统有依赖性)软件的开发、运行对计算机系统有依赖性(5)软件复杂性高,成本昂贵)软件复杂性高,成本昂贵第一节第一节 软件工程基本概念软件工程基本概念二、软件危机与软件工程二、软件危机与

3、软件工程软件危机软件危机是泛指在计算机软件的开发和维护过程中所遇是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。到的一系列严重问题。软件工程软件工程的核心思想是把软件产品看作一个工程产品来的核心思想是把软件产品看作一个工程产品来处理。以期达到工程项目的三个基本要素:处理。以期达到工程项目的三个基本要素:进度、经费进度、经费和和质量质量目标。目标。第一节第一节 软件工程基本概念软件工程基本概念三、软件生命周期三、软件生命周期将软件产品从提出、实现、使用维护到停止使用退役的将软件产品从提出、实现、使用维护到停止使用退役的过程称为过程称为软件生命周期软件生命周期。可行性研究可行性研究初步

4、项目计划初步项目计划需求分析需求分析概要设计概要设计详细设计详细设计实现实现调试调试使用使用维护维护退役退役定义定义阶段阶段开发开发阶段阶段维护维护阶段阶段第一节第一节 软件工程基本概念软件工程基本概念三、软件生命周期三、软件生命周期(1)可行性研究与计划制定)可行性研究与计划制定(2)需求分析)需求分析(3)软件设计)软件设计(4)软件实现)软件实现(5)软件测试)软件测试(6)运行与维护)运行与维护第一节第一节 软件工程基本概念软件工程基本概念三、软件工程的目标三、软件工程的目标在给定成本、进度的前提下,开发出具有有效性、可靠在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可

5、维护性、可适应性、可移植性和可互性、可理解性、可维护性、可适应性、可移植性和可互操作性且操作性且满足用户需求满足用户需求的产品。的产品。第二节第二节 结构化分析方法结构化分析方法一、需求分析与需求分析方法一、需求分析与需求分析方法1、需求分析:指用户对目标软件系统在功能、行为、需求分析:指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。性能、设计约束等方面的期望。需求分析的任务需求分析的任务是发现需求、求精、建模和定义需求的是发现需求、求精、建模和定义需求的过程。过程。第二节第二节 结构化分析方法结构化分析方法一、需求分析与需求分析方法一、需求分析与需求分析方法需求分析阶段的工作:

6、需求分析阶段的工作:(1)需求获取:确定对目标系统的各方面的需求)需求获取:确定对目标系统的各方面的需求(2)需求分析:对获取的需求进行分析与综合,最终给)需求分析:对获取的需求进行分析与综合,最终给出系统的解决方案和目标系统的逻辑模型。出系统的解决方案和目标系统的逻辑模型。(3)编写需求规格说明书)编写需求规格说明书(4)需求评审)需求评审第二节第二节 结构化分析方法结构化分析方法一、需求分析与需求分析方法一、需求分析与需求分析方法2、需求分析方法、需求分析方法(1)结构化分析方法)结构化分析方法(2)面向对象的分析方法)面向对象的分析方法第二节第二节 结构化分析方法结构化分析方法二、结构化

7、分析方法二、结构化分析方法1、结构化分析方法的定义、结构化分析方法的定义结构化分析方法是结构化程序设计理论在软件需求分析结构化分析方法是结构化程序设计理论在软件需求分析阶段的运用。步骤如下:阶段的运用。步骤如下:(1)通过对用户的调查,获得)通过对用户的调查,获得当前系统的具体模型当前系统的具体模型(2)根据具体模型,抽象出)根据具体模型,抽象出当前系统的逻辑模型当前系统的逻辑模型(3)根据计算机的特点,建立)根据计算机的特点,建立目标系统的逻辑模型目标系统的逻辑模型(4)写出目标系统的)写出目标系统的软件需求规格说明书软件需求规格说明书(5)评审直到确认完全符合用户对软件的需求)评审直到确认

8、完全符合用户对软件的需求第二节第二节 结构化分析方法结构化分析方法二、结构化分析方法二、结构化分析方法2、结构化分析的常用工具、结构化分析的常用工具(1)数据流程图()数据流程图(DFDData Flow Diagram)数据流程图是描述数据处理过程的工具,是需求理解的数据流程图是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示。逻辑模型的图形表示。数据流程图中的主要图形元素与说明如下:数据流程图中的主要图形元素与说明如下:第二节第二节 结构化分析方法结构化分析方法加工(转换):输入数据经加工变换加工(转换):输入数据经加工变换产生输出产生输出数据流数据流存储文件(数据源)存储文件(数据

9、源)源,潭:表示系统和环境的接口,属源,潭:表示系统和环境的接口,属系统之外的实体系统之外的实体第二节第二节 结构化分析方法结构化分析方法二、结构化分析方法二、结构化分析方法2、结构化分析的常用工具、结构化分析的常用工具(1)数据流程图()数据流程图(DFDData Flow Diagram)建立数据流程图的步骤建立数据流程图的步骤(1)由外向里)由外向里(2)自顶向下)自顶向下(3)逐层分解)逐层分解银行取款业务的数据流程图银行取款业务的数据流程图帐卡帐卡存折存折检验检验登录登录付款付款日历日历储户储户检验出的问题检验出的问题取款取款年月日年月日付款信息付款信息现金现金存折存折取款单取款单第

10、二节第二节 结构化分析方法结构化分析方法二、结构化分析方法二、结构化分析方法2、结构化分析的常用工具、结构化分析的常用工具(1)数据流程图()数据流程图(DFDData Flow Diagram)建立数据流程图的步骤建立数据流程图的步骤(1)由外向里)由外向里(2)自顶向下)自顶向下(3)逐层分解)逐层分解第二节第二节 结构化分析方法结构化分析方法区别:区别:数据流图和程序设计中的程序流程图(数据流图和程序设计中的程序流程图(Flow Chat)是不同的,数据流图关心的是企业业务系)是不同的,数据流图关心的是企业业务系统中的数据处理加工的客观过程,并不关心未来统中的数据处理加工的客观过程,并不

11、关心未来电子化处理的加工过程;数据流图中流动的只是电子化处理的加工过程;数据流图中流动的只是数据,并没有控制过程,但在程序流程图当中,数据,并没有控制过程,但在程序流程图当中,必须有控制逻辑必须有控制逻辑。第二节第二节 结构化分析方法结构化分析方法三、软件需求规格说明书三、软件需求规格说明书1、作用:、作用:(1)便于用户、开发人员进行理解和交流)便于用户、开发人员进行理解和交流(2)反映出用户问题的结构,可以作为软件开发工作的)反映出用户问题的结构,可以作为软件开发工作的基础和依据基础和依据(3)作为确认测试和)作为确认测试和验收的依据验收的依据第二节第二节 结构化分析方法结构化分析方法三、

12、软件需求规格说明书三、软件需求规格说明书2、内容、内容(1)概述)概述(2)数据描述:数据流程图,数据字典,系统接口说明,)数据描述:数据流程图,数据字典,系统接口说明,内部接口内部接口(3)功能描述:功能,处理说明,设计的限制)功能描述:功能,处理说明,设计的限制(4)性能描述:性能参数,测试种类,预期的软件响应,)性能描述:性能参数,测试种类,预期的软件响应,应考虑的特殊问题应考虑的特殊问题第三节第三节 结构化设计方法结构化设计方法一、软件设计的概念一、软件设计的概念1、从技术观点来看,软件设计包括:软件结构设计,数、从技术观点来看,软件设计包括:软件结构设计,数据设计,接口设计,过程设计

13、。据设计,接口设计,过程设计。从工程管理角度来看,软件设计分两步:概要设计和从工程管理角度来看,软件设计分两步:概要设计和详细设计。详细设计。第三节第三节 结构化设计方法结构化设计方法一、软件设计的概念一、软件设计的概念2、软件设计的基本原理、软件设计的基本原理(1)抽象)抽象(2)模块化)模块化(3)信息隐蔽)信息隐蔽(4)模块独立性)模块独立性第三节第三节 结构化设计方法结构化设计方法一、软件设计的概念一、软件设计的概念2、软件设计的基本原理、软件设计的基本原理(4)模块独立性)模块独立性内聚性:一个模块内各个元素间彼此紧密程度的度量内聚性:一个模块内各个元素间彼此紧密程度的度量耦合性:模

14、块间互相连接的紧密程度的度量耦合性:模块间互相连接的紧密程度的度量一般较优秀的软件设计,应尽量做到:一般较优秀的软件设计,应尽量做到:高内聚,低耦合高内聚,低耦合第三节第三节 结构化设计方法结构化设计方法二、概要设计二、概要设计任务:任务:(1)设计软件系统结构:在需求分析阶段,已经把系统)设计软件系统结构:在需求分析阶段,已经把系统分解成层次结构,在概要设计阶段,需要进一步分解,分解成层次结构,在概要设计阶段,需要进一步分解,划分为模块以及模块的层次结构。划分为模块以及模块的层次结构。(2)数据结构及数据库设计)数据结构及数据库设计(3)编写概要设计文档)编写概要设计文档(4)概要设计文档评

15、审)概要设计文档评审第三节第三节 结构化设计方法结构化设计方法三、详细设计三、详细设计任务:为软件结构图中的每一个模块确定实现算法的任务:为软件结构图中的每一个模块确定实现算法的局部数据结构,用某种选定的表达工具表示算法和数据局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。结构的细节。第四节第四节 软件测试软件测试一、软件测试的目的一、软件测试的目的使用人工或自动手段来运行或测定某个系统的过程,其使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。与实际结果之间的差别。

16、测试要测试要以查找错误为中心以查找错误为中心,而不是为了演示软件,而不是为了演示软件的正确功能。的正确功能。第四节第四节 软件测试软件测试二、软件测试的准则二、软件测试的准则(1)所有测试都应追溯到需求)所有测试都应追溯到需求(2)严格执行测试计划,排除测试的随意性)严格执行测试计划,排除测试的随意性(3)程序员应避免检查自己的程序)程序员应避免检查自己的程序(4)妥善保管测试计划、测试用例、出错统计和最终分)妥善保管测试计划、测试用例、出错统计和最终分析报告,为维护提供方便析报告,为维护提供方便第四节第四节 软件测试软件测试三、软件测试技术与方法三、软件测试技术与方法从是否需要执行被测软件的

17、角度分为:从是否需要执行被测软件的角度分为:静态测试和动态测试静态测试和动态测试按照功能划分:白盒测试与黑盒测试按照功能划分:白盒测试与黑盒测试第四节第四节 软件测试软件测试三、软件测试技术与方法三、软件测试技术与方法1、静态测试与动态测试、静态测试与动态测试(1)静态测试包括:代码检查,静态结构分析,代码质)静态测试包括:代码检查,静态结构分析,代码质量度量等。静态测试不实际运行软件,由人工进行。量度量等。静态测试不实际运行软件,由人工进行。(2)动态测试:是基于计算机的测试,是为了发现错误)动态测试:是基于计算机的测试,是为了发现错误而执行程序的过程。设计高效、合理的测试用例是动而执行程序

18、的过程。设计高效、合理的测试用例是动态测试的关键。态测试的关键。第四节第四节 软件测试软件测试三、软件测试技术与方法三、软件测试技术与方法2、白盒测试方法与测试用例设计、白盒测试方法与测试用例设计白盒测试白盒测试也称结构测试或逻辑驱动测试。它是根据软件也称结构测试或逻辑驱动测试。它是根据软件产品的产品的内部工作过程内部工作过程,检查内部成分,以确认每种内部,检查内部成分,以确认每种内部操作符合设计规格要求。操作符合设计规格要求。白盒测试把测试对象看成一个打开的盒子,允许测试人白盒测试把测试对象看成一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息来设计或选择测员利用程序内部的逻辑结构

19、及有关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试。试用例,对程序所有的逻辑路径进行测试。第四节第四节 软件测试软件测试三、软件测试技术与方法三、软件测试技术与方法2、白盒测试方法与测试用例设计、白盒测试方法与测试用例设计原则:原则:(1)保证所测模块中每一独立路径至少执行一次)保证所测模块中每一独立路径至少执行一次(2)保证所测模块所有判断的每一分支至执行一次)保证所测模块所有判断的每一分支至执行一次(3)保证所测模块每一循环都在边界条件和一般条件下)保证所测模块每一循环都在边界条件和一般条件下至少各执行一次至少各执行一次(4)验证所有内部数据结构的有效性)验证所有内部数据结构的有

20、效性第四节第四节 软件测试软件测试三、软件测试技术与方法三、软件测试技术与方法2、白盒测试方法与测试用例设计、白盒测试方法与测试用例设计白盒测试是白盒测试是“穷举穷举”路径测试。主要方法有逻辑覆盖、路径测试。主要方法有逻辑覆盖、基本路径测试等。基本路径测试等。逻辑覆盖包括:语句覆盖,路径覆盖,判定覆盖,逻辑覆盖包括:语句覆盖,路径覆盖,判定覆盖,条件覆盖和判断条件覆盖和判断条件覆盖条件覆盖第四节第四节 软件测试软件测试三、软件测试技术与方法三、软件测试技术与方法3、黑盒测试方法与测试用例设计、黑盒测试方法与测试用例设计黑盒测试黑盒测试也称功能测试或数据驱动测试。也称功能测试或数据驱动测试。黑盒

21、测试是对软件已经实现的功能是否满足需求进行测黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。黑盒测试完全不考虑程序内部的逻辑结构和试和验证。黑盒测试完全不考虑程序内部的逻辑结构和内部特征,只依据程序的需求和功能规格说明,检查程内部特征,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明。序的功能是否符合它的功能说明。第四节第四节 软件测试软件测试三、软件测试技术与方法三、软件测试技术与方法3、黑盒测试方法与测试用例设计、黑盒测试方法与测试用例设计黑盒测试只要诊断功能不对或遗漏、界面错误、数据结黑盒测试只要诊断功能不对或遗漏、界面错误、数据结构或外部数据访问错误、性能错

22、误、初始化或终止条件构或外部数据访问错误、性能错误、初始化或终止条件错误。错误。主要方法有:等价类划分法、边界值分析法、错误推测主要方法有:等价类划分法、边界值分析法、错误推测法、因果图等,主要用于软件确认测试。法、因果图等,主要用于软件确认测试。第四节第四节 软件测试软件测试四、软件测试的实施四、软件测试的实施软件测试是保证软件质量的重要手段,分四个步骤:软件测试是保证软件质量的重要手段,分四个步骤:(1)单元测试)单元测试(2)集成测试)集成测试(3)验收测试(确认测试)验收测试(确认测试)(4)系统测试)系统测试第四节第四节 软件测试软件测试四、软件测试的实施四、软件测试的实施1、单元测

23、试、单元测试是针对软件设计的最小单位是针对软件设计的最小单位模块进行正确性检验的模块进行正确性检验的测试。测试。单元测试的目的是发现各模块内部存在的各种错误。单元测试的目的是发现各模块内部存在的各种错误。单元测试可以采用静态分析和动态测试,动态测试以白单元测试可以采用静态分析和动态测试,动态测试以白盒测试为主,辅之以黑盒测试。盒测试为主,辅之以黑盒测试。第四节第四节 软件测试软件测试四、软件测试的实施四、软件测试的实施2、集成测试、集成测试集成测试是测试和组装软件的过程。它是把模块在按照集成测试是测试和组装软件的过程。它是把模块在按照设计要求组装起来的同时进行测试,设计要求组装起来的同时进行测

24、试,主要目的是发现与主要目的是发现与接口有关的错误接口有关的错误。集成测试时将模块组装成程序通常采用两种方式:集成测试时将模块组装成程序通常采用两种方式:非增量方式组装与增量方式组装。非增量方式组装与增量方式组装。第四节第四节 软件测试软件测试四、软件测试的实施四、软件测试的实施2、集成测试、集成测试非增量方式组装也称为一次性组装方式非增量方式组装也称为一次性组装方式增量方式组装是将已经测试好的模块逐步组装成较大增量方式组装是将已经测试好的模块逐步组装成较大系统系统第四节第四节 软件测试软件测试四、软件测试的实施四、软件测试的实施3、验收测试(确认测试)、验收测试(确认测试)确认测试的任务是验

25、证软件的功能和性能及其他特征是确认测试的任务是验证软件的功能和性能及其他特征是否满足了需求规格说明书中确定的各种需求,以及软件否满足了需求规格说明书中确定的各种需求,以及软件配置是否完全、正确。配置是否完全、正确。第四节第四节 软件测试软件测试四、软件测试的实施四、软件测试的实施4、系统测试、系统测试系统测试是将通过确认测试的软件,作为基于整个计算系统测试是将通过确认测试的软件,作为基于整个计算机系统的一个元素,与计算机硬件、外设、支持软件、机系统的一个元素,与计算机硬件、外设、支持软件、数据和人员等其他系统元素组合在一起,在实际运行数据和人员等其他系统元素组合在一起,在实际运行(使用)环境下

26、对计算机系统进行一系列的集成测试(使用)环境下对计算机系统进行一系列的集成测试和确认测试。和确认测试。第五节第五节 程序的调试程序的调试程序调试的任务是程序调试的任务是诊断和改正诊断和改正程序中的错误。程序中的错误。软件测试是尽可能多地发现软件中的错误。软件测试是尽可能多地发现软件中的错误。先要发现软件中的错误,然后借助于一系列的调试工具先要发现软件中的错误,然后借助于一系列的调试工具去执行找出软件错误的具体位置。去执行找出软件错误的具体位置。软件测试贯穿于软件生命期,调试主要在开发阶段软件测试贯穿于软件生命期,调试主要在开发阶段。第五节第五节 程序的调试程序的调试程序调试由两部分构成:程序调试由两部分构成:(1)根据错误的迹象确定程序中错误的确切性质、原因)根据错误的迹象确定程序中错误的确切性质、原因和位置。和位置。(2)对程序进行修改,排除这个错误。)对程序进行修改,排除这个错误。第五节第五节 程序的调试程序的调试1、程序调试的基本步骤、程序调试的基本步骤(1)错误定位)错误定位(2)修改设计和代码,以排除错误)修改设计和代码,以排除错误(3)进行回归调试,防止引进新错误)进行回归调试,防止引进新错误第五节第五节 程序的调试程序的调试2、程序调试方法、程序调试方法(1)强行排错法)强行排错法(2)回溯法)回溯法(3)原因排除法)原因排除法

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com