第3章-软件工程基础课件

上传人:风*** 文档编号:253402232 上传时间:2024-12-13 格式:PPT 页数:74 大小:704.56KB
收藏 版权申诉 举报 下载
第3章-软件工程基础课件_第1页
第1页 / 共74页
第3章-软件工程基础课件_第2页
第2页 / 共74页
第3章-软件工程基础课件_第3页
第3页 / 共74页
资源描述:

《第3章-软件工程基础课件》由会员分享,可在线阅读,更多相关《第3章-软件工程基础课件(74页珍藏版)》请在装配图网上搜索。

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,,,*,第3章 软件工程基础,软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。,结构化分析方法,,数据流图,数据字典,,软件需求规格说明书。,结构化设计方法,总体设计与详细设计。,软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。,程序的调试,静态调试与动态调试。,,1,,第3章 软件工程基础软件工程基本概念,软件生命周期概念,软件,3.1 软件工程基本概念,考点1:软件的定义与软件特点,1、软件的组成,2、软件的特点,3、软件的分类,4、软件的作用,,

2、2,,3.1 软件工程基本概念考点1:软件的定义与软件特点2,1、软件的组成,软件由两部分组成:,1)机器可执行的程序和数据,2)机器不可执行的,与软件开发、运行、维护、使用等有关的文档。,常有以下说法:,软件 = 程序+文档,,3,,1、软件的组成软件由两部分组成:3,2、软件的特点,软件是一种逻辑实体,具有抽象性,软件没有明显的制作过程,软件不存在磨损和消耗问题,软件开发、运行受计算机系统的限制,软件开发和维护成本高,软件开发涉及诸多的社会因素,,4,,2、软件的特点软件是一种逻辑实体,具有抽象性4,3、软件的分类,软件可分为应用软件、系统软件和支撑软件三类。,4、软件的作用,软件是用户与

3、硬件之间的接口,是计算机系统的指挥者。,,5,,3、软件的分类软件可分为应用软件、系统软件和支撑软件三类。4,考点2: 软件危机与软件工程,软件生产的发展经历了程序设计时代、程序系统时代和软件工程时代。,1. 软件危机,早期的软件主要指程序,采用个体工作方式,缺少相关文档,质量低,维护困难,这些问题称为“软件危机”,可以将软件危机归结为成本、质量、生产率等问题。,,6,,考点2: 软件危机与软件工程软件生产的发展经历了程序设计时代,2、软件工程,软件工程概念的出现源自于软件危机。,软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。其目的是提高软件生

4、产率、提高软件质量、降低软件成本。,,7,,2、软件工程7,软件工程三要素,方法,:完成软件工程项目的技术手段,工具,:支持软件的开发、管理、文档生成,过程,:支持软件开发的各个环节的控制、管理,,,8,,软件工程三要素8,考点3:软件工程过程,软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。它包含4种基本活动:,软件规格说明、软件开发、软件确认、软件演进,通常也把用户的要求转变成软件产品的过程叫做软件开发过程。,,9,,考点3:软件工程过程软件工程过程是把输入转化为输出的一组彼此,考点4:软件生命周期,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期,分为软件定

5、义、软件开发及软件运行维护3个阶段。,维护是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护代价,,,10,,考点4:软件生命周期将软件产品从提出、实现、使用维护到停止使,软件生命周期的 6个活动阶段,1)可行性研究与计划制定:,确定系统的总体目标。参加人员有用户、项目负责人和系统分析员,产生文档有可行性分析报告、项目计划书等,,11,,软件生命周期的 6个活动阶段1)可行性研究与计划制定:11,2)需求分析:确定系统的逻辑模型。参加人员有用户、项目负责人和系统分析员。产生文档为需求规格说明书,其作用,:,(1)便于用户、开发人员进行理解交流,(2)反

6、映用户问题的结构,可以作为软件开发工作的基础和依据,(3)作为确认测试和验收的依据。,,12,,2)需求分析:确定系统的逻辑模型。参加人员有用户、项目负责人,3)软件设计:软件设计分概要设计和详细设计。参加人员有系统分析员和高级程序员。产生的文档有设计规格说明书。,,13,,3)软件设计:软件设计分概要设计和详细设计。参加人员有系统分,4)软件实现:编码,编程。高级程序员和程序员产生源程序清单,,,14,,4)软件实现:编码,编程。高级程序员和程序员产生源程序清单1,5)软件测试:由另一部门的高级程序员或系统分析员产生软件测试计划和软件测试报告,,15,,5)软件测试:由另一部门的高级程序员或

7、系统分析员产生软件测试,6)运行和维护:软件投入运行,在使用中不断的维护,根据新的提出的要求进行必要且可能的扩充和修改,,,16,,6)运行和维护:软件投入运行,在使用中不断的维护,根据新的提,考点5:软件工程的目标与原则,1、软件工程的目标:,在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品,软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境,,17,,考点5:软件工程的目标与原则1、软件工程的目标:17,软件工程研究的主要内容:,软件开发技术和软件工程管理,2、软件工程的原则:,抽象、信息隐蔽、模块

8、化、局部化、确定性、一致性、完备性、可验证性,,18,,软件工程研究的主要内容:18,考点6:软件开发工具与软件开发环境,软件工具:用来辅助软件开、运行、维护、管理、支持等过程中的活动的软件,它包括需求分析工具、设计工具、编码工具、测试工具等。,,19,,考点6:软件开发工具与软件开发环境软件工具:用来辅助软件开、,软件开发环境:支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成,,20,,软件开发环境:支持软件产品开发的软件系统,它由软件工具集和环,3.2 结构化分析方法,基本思想:将系统分析看成工程项目,有计划、有步骤地进行工作。,开发策略:自顶向下,逐层分解,,21,,3.2

9、结构化分析方法基本思想:将系统分析看成工程项目,有计,可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。,它涉及到经济、技术、法律等方面。,考点7:可行性研究,,22,,可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否,考点8:需求分析方法,软件需求是指用户对目标软件系统在功能、行为、性能、涉及约束等方面的期望。,需求分析的任务是发现需求、定义需求的过程。,需求分析将创建所需的数据模型、功能模型和控制模型。,,23,,考点8:需求分析方法软件需求是指用户对目标软件系统在功能、行,需求分析的工作可以分为4个方面:,需求获取、需求分析、编写需求规格说明书、需求评审。

10、,需求分析的方法有:结构化分析方法、面向对象分析方法。,,,24,,需求分析的工作可以分为4个方面:24,考点9:结构化分析方法,结构化分析方法是面向数据流进行需求分析的方法。,结果化分析方法以,数据流图(DFD),和,数据字典(DD),为主要工具。此外有判定树和判定表,,25,,考点9:结构化分析方法结构化分析方法是面向数据流进行需求分析,考点10: 结构化分析常用工具,1、数据流图(DFD),2、数据字典(DD),3、判定树,4、判定表,,26,,考点10: 结构化分析常用工具1、数据流图(DFD)26,1、数据流图的基本符号,,,,,,加工,存储文件,数据流,数据的源点或终点,源,潭,含

11、 义,符 号,,27,,1、数据流图的基本符号 加工存储文件数据流数据的源点,建立数据流图的步骤:由外向里,自顶向下,逐层分解。,,28,,建立数据流图的步骤:由外向里,自顶向下,逐层分解。28,工资计算系统的数据流图,,,,水电扣款表,,,出勤表,,,业绩表,,,,,,,,人事部门,,,后勤部门,,,职工工资,,,工资,,计算,,29,,工资计算系统的数据流图 水电扣款表 出勤表 业绩表 人事部,2、数据字典(DD),数据字典是结构化分析方法的核心,它的作用是对数据流图中出现的被命名的图形元素的确切解释。,,30,,2、数据字典(DD)数据字典是结构化分析方法的核心,它

12、的作用,考点11: 结构化方法开发过程,结构化方法将软件生命周期分为,计划、开发、运行,3个时期,计划期,包括可行性研究,开发期,包括需求分析、总体设计、详细设计、编码、测试,运行期,主要任务是软件维护,,31,,考点11: 结构化方法开发过程结构化方法将软件生命周期分为计,考点12:软件需求规格说明书,需求规格说明书应包括如下主要内容。,① 概述,,② 数据描述,,③ 功能描述,④性能描述,⑤参考文献,⑥附录,,32,,考点12:软件需求规格说明书需求规格说明书应包括如下主要内容,需求规格说明书的特点:,正确性、无歧义性、完整性等。其中最重要的是无歧义性。,该说明书必须要让用户看懂,尽量少包

13、含计算机专业术语。,,33,,需求规格说明书的特点:33,3.3 结构化设计方法,考点13:软件设计的基本概念,1、软件设计的基础,软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务。软件设计是确定系统的物理模型。,软件设计是开发阶段最重要的步骤,是将需求准确地转化为完整的软件产品或系统的唯一途径.,,34,,3.3 结构化设计方法考点13:软件设计的基本概念34,从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。,结构设计:定义软件系统各主要部件之间的关系。,数据设计:将分析时创建的模型转化为数据结构的定义。,接口设计:描述软件内部,软件和协作系统之

14、间以及软件与人之间如何通信。,过程设计:把系统结构部件转换成软件的过程描述。,,35,,从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计,从工程管理角度来看:,概要设计和详细设计。,软件设计是一个迭代的过程,先进行高层次的结构设计,后进行低层次的过程设计,穿插进行数据设计和接口设计。,,,36,,从工程管理角度来看:36,2、软件设计的基本原理,抽象、模块化、信息隐藏、模块独立性,衡量软件模块独立性使用,耦合性,和,内聚性,两个定性的度量标准。,耦合:模块间相互连接的紧密程度,内聚:模块内部各元素间结合的紧密程度,在程序结构中各模块的内聚性越强,则耦合性越弱。优秀软件应高内聚,低耦

15、合。,,37,,2、软件设计的基本原理抽象、模块化、信息隐藏、模块独立性37,考点14:概要设计任务,1、软件概要设计的基本任务是:,,(1)设计软件系统结构;,(2)数据结构及数据库设计;,,38,,考点14:概要设计任务1、软件概要设计的基本任务是: (1),(3)编写概要设计文档;,概要设计说明书,数据库设计说明书,集成测试计划等。,(4)概要设计文档评审.,,,39,,(3)编写概要设计文档; 39,2、软件设计工具:程序结构图(SC)P76,结构图的基本图符有三种:一般模块,数据信息,控制信息,结构图的基本形式:基本形式,顺序形式,重复形式,选择形式.,结构图有四种模块类型:传入模块

16、,传出模块,变换模块和协调模块,,40,,2、软件设计工具:程序结构图(SC)P7640,考点15:面向数据流的设计方法,典型的数据流类型有两种:变换型和事务型。,变换型系统结构图由输入、中心变换、输出三部分组成。,事务型数据流的特点是:接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。,,41,,考点15:面向数据流的设计方法典型的数据流类型有两种:变换型,考点16:设计准则,设计准则包括以下几点:,分解—协调原则,自顶向下的原则,信息屏蔽、抽象的原则,一致性原则,明确性原则,模块间的耦合度尽可能小,模块内部组合尽可能紧凑(内聚性高),模块的扇入和扇出系数合理

17、,模块的规模适当,,42,,考点16:设计准则设计准则包括以下几点:42,考点17:详细设计,详细设计:是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。,常见的过程设计工具有:,图形工具(程序流程图(PFD),N-S,PAD,HIPO),表格工具(判定表),语言工具(PDL)。,,43,,考点17:详细设计详细设计:是为软件结构图中的每一个模块确定,程序流程图的基本图标:,,,,44,,程序流程图的基本图标:44,3.4 软件的测试,定义:使用人工或自动手段来运行或测定某个系统的过程。,软件测试通常占软件开发总成本的40%左右。,,,45,

18、,3.4 软件的测试定义:使用人工或自动手段来运行或测定某个系,考点18:软件测试的目的和准则,1、软件测试的目的:,1)发现错误 2)检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别,,46,,考点18:软件测试的目的和准则46,2、软件测试的准则:,所有测试都应追溯到需求,严格执行测试计划,排除测试的随意性,充分注意测试中的群集现象,程序员应避免检查自己的程序,穷举测试不可能,妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便,,47,,2、软件测试的准则:47,从被测软件是否要被执行来看分为静态测试和动态测试,按照功能划分分为白盒测试和黑盒测试,,考点19:软

19、件测试技术与方法,,48,,从被测软件是否要被执行来看分为静态测试和动态测试考点19:软,1、静态测试和动态测试,静态测试:人工评审软件文档或程序,包括代码检查,静态结构分析,代码质量度量。不实际运行软件,主要通过人工进行。,动态测试:上机测试。测试能否发现错误取决于测试实例的设计。,设计高效、合理的测试用例是动态测试的关键,测试用例由测试输入数据和预期输出结果两部分组成。,,49,,1、静态测试和动态测试49,动态设计主要包括白盒测试方法和黑盒测试方法.,2、白盒测试和黑盒测试,1)白盒测试,:,在程序内部进行,主要用于完成软件内部操作的验证。,白盒测试是穷举路径测试,验证所有内部数据结构的

20、有效性。,,,50,,动态设计主要包括白盒测试方法和黑盒测试方法.50,此方法是将测试对象比作一个打开的盒子,它允许测试人员利用程序内部的逻辑结构和相关信息来设计或选择测试用例,对穿过软件的逻辑路径进行测试,可以在不同点检查程序的状态,以确定实际状态与预期状态是否一致。,,,51,,此方法是将测试对象比作一个打开的盒子,它允许测试人员利用程序,主要方法有逻辑覆盖,基本基路径测试。,逻辑覆盖包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖。,,52,,主要方法有逻辑覆盖,基本基路径测试。52,2)黑盒测试:主要诊断功能错误或遗漏,界面错误,数据结构或外部数据库访问错误,性能错误,初始化

21、和终止条件错,用于软件确认。,黑盒测试又称功能测试和数据驱动测试;它在软件接口处进行,进行功能验证。,,53,,2)黑盒测试:主要诊断功能错误或遗漏,界面错误,数据结构或外,3、黑盒测试方法与测试用例设计,主要方法有等价类划分法,边界值分析法,错误推测法,因果图等。,等价分类法是一种黑盒测试技术。它的基本思想是把输入数据划分成若干个等价类,在每个等价类中选取一组作为该等价类的测试用例。,,54,,3、黑盒测试方法与测试用例设计54,考点20:软件测试的实施,软件测试过程一般按4个步骤进行:单元测试,集成测试,验收测试(确认测试)和系统测试。,,,55,,考点20:软件测试的实施软件测试过程一般

22、按4个步骤进行:单元,1、单元测试,:对软件中模块进行正确性检验的测试;它的目的是发现模块内部可能存在的各种错误。,单元测试的依据是详细设计说明书和源程序,,56,,1、单元测试:对软件中模块进行正确性检验的测试;它的目的是发,2、集成测试:,是测试和组装软件的过程,目的是发现与接口有关的错误;它的依据是概要设计说明书。,集成测试涉及的内容有:单元接口测试,全局数据结构测试,边界条件和非法输入测试,,57,,2、集成测试:是测试和组装软件的过程,目的是发现与接口有关的,3、确认测试,:验证软件的功能和性能是否满足需求,以及软件配置是否正确。,确认测试首先运用黑盒测试方法。,,58,,3、确认测

23、试:验证软件的功能和性能是否满足需求,以及软件配置,4、系统测试:,在真实的系统工作环境下检验软件是否能与系统正确连接、发现软件与系统需求不一致的地方。,系统测试的措施包括:功能测试,性能测试,操作测试,配置测试,外部接口测试,安全测试等。,,59,,4、系统测试:在真实的系统工作环境下检验软件是否能与系统正确,3.5 程序的调试,考点21:程序调试的概念,:,程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进行。 程序调试的基本步骤有: (1)错误定位;,(2)修改设计和代码,以排除错误;,(3)进行回归测试,防止引进新的错误.,,60,,3.5 程序的调试考点21:程序调试的概念:

24、60,程序调试的原则:见教材97~98页,,61,,程序调试的原则:见教材97~98页61,考点22:程序调试的方法,软件调试可分表静态调试和动态调试.静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的设计手段,而动态调试是辅助静态调试.,程序调试的主要方法有: (1)强行排错法;(2)回溯法;(3)原因排除法.,,,62,,考点22:程序调试的方法62,习题讲解,,63,,习题讲解63,,数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是 A)控制流

25、B)加工 C)数据存储 D)源和潭,A,,64,,数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的,,在数据流图(DFD)中,带有名字的箭头表示 A)模块之间的调用关系,B)程序的组成成分 C)控制程序的执行顺序,D)数据的流向,D,,65,,在数据流图(DFD)中,带有名字的箭头表示 A)模块之间的,,下列叙述中,正确的是 A)软件就是程序清单,B)软件就是存放在计算机中的文件 C)软件应包括程序清单及运行结果,D)软件包括程序和文档,D,,66,,下列叙述中,正确的是 A)软件就是程序清单D66,,在软件生产过程中,需求

26、信息的给出是 A)程序员 B)项目管理者 C)软件分析设计人员 D)软件用户,D,,67,,在软件生产过程中,需求信息的给出是 A)程序员,,在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是,A)路径的集合 B)循环的集合 C)目标的集合 D)地址的集合,A,,68,,在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程,,完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是 A)黑箱

27、测试法    B)白箱测试法 C)错误推测法     D)安装测试法,A,,69,,完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测,,在程序设计阶段应该采取 【 】 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。 自顶向下,,70,,在程序设计阶段应该采取 【 】 和逐步求精的方法,把一个模块,,耦合和内聚是评价模块独立性的两个主要标准,其中 【】 反映了模块内各成分之间的联系。耦合,,71,,耦合和内聚是评价模块独立性的两个主要标准,其中 【】 反映了,精品课件,!,,72,,精品课件!72,精品课件,!,,73,,精品课件!73,,常用的黑箱测试有等价分类法、 【】 、因果图法和错误推测法4种。 边值分析法,,74,,常用的黑箱测试有等价分类法、 【】 、因果图法和错误推测法4,

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

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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