您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 《软件工程基础》PPT课件
1.3软件工程基础软件工程是指导计算机软件开发和维护的工程学科。通过本章,你可以学习到:1.软件、软件工程及软件生命周期的定义是什么2.结构化分析方法的常用工具有哪些3.结构化设计方法的基本原理与原则是什么4.软件测试的目的以及软件调试的任务是什么1.3.1软件工程的基本概念软件工程的概念源于软件危机。软件工程主要思想是将工程化的方法应用于软件开发过程,包含技术和管理两部分内容。软件工程包含3个要素:(1)方法:完成软件开发各项任务的技术手段(2)工具:支持软件开发、管理、文档的生成(3)过程:支持软件开发的各个环节的控制、管理。1.软件的定义及特点(1)软件的定义计算机软件是由程序、数据及相关文档的集合程序:依据用户需求开发的,能够在计算机中执行的语句序列。数据:是程序能够正常操纵信息的数据结构。文档:与程序开发、维护和使用有关的资料。(2)软件的特点软件是一种逻辑实体,具有抽象性。软件没有明显的制作过程。软件在使用期间不存在磨损老化问题。对硬件和环境具有依赖性。软件复杂性高、成本昂贵。软件开发涉及诸多社会因素。(3)软件的分类计算机软件按功能分以下三种:系统软件——是管理计算机资源、提高计算机的使用效率,为用户提供各种服务的软件。如:操作系统,数据库管理系统,编译程序,汇编程序等。应用软件——为了应用于特定的领域而开发的软件。如:各种应用型的管理系统,office,qq,迅雷等。支撑软件(工具软件)——协助用户开发软件的工具型软件。如:Dephi,VC++6.0等3.软件生命周期软件生命周期:软件产品从提出、实现、使用、维护到停止使用、退役的过程。***软件周期分为3个阶段:(1)软件定义阶段。任务:问题定义、可行性研究和需求分析(2)软件开发阶段。任务:概要设计、详细设计、实现和测试(3)运行维护阶段。1.下列选项中不属于软件生命周期开发阶段任务的是()。A.软件测试B.概要设计C.软件维护D.详细设计2.软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于()阶段。软件开发阶段任务:概要设计、详细设计、实现和测试1.3.2需求分析需求分析是发现,求精,建模,规格说明和复审的过程。1.该阶段的主要任务是:(1)确定系统必须完成哪些工作。(2)编写需求规格说明书2.需求分析方法——结构化分析方法(1)结构化分析方法的常用工具:数据流图(DFD,DataFlowDiagram)系统逻辑模型的图形表示。数据字典(DD,DataDictionary)对数据流图中所有元素的定义(确切解释)。数据流图和数据字段共同构成系统的逻辑模型。(2)数据流图(DFD)数据流图有四种基本图形符号:--:数据流;〇:加工;=:数据源;□:属于系统之外的实体真题回顾1.在软件开发中,需求分析阶段产生的主要文档是()。A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试计划2.在软件开发中,需求分析阶段可以使用的工具是()。A.N-S图B.DFD图C.PAD图D.程序流程图3.在结构化分析使用的数据流图(DFD)中,利用()对其中的图形元素进行确切解释。4.软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中()阶段产生“软件需求规格说明书”。1.3.3软件设计——结构化设计方法软件设计可分为两步:概要设计和详细设计。确定系统的物理模型,是开发阶段的最主要的任务。1.软件设计的原则(1)模块化:将程序划分成独立的模块(2)抽象:抽象出事物本质,忽略细节(3)逐步求精:求精是细化的过程(4)信息隐藏:一个模块内包含的信息,对于不需要这些信息的模块是不能访问的。真题回顾2.概要设计(1)概要设计阶段的主要任务:通过仔细分析软件规格说明,适当地对软件进行分解,把软件划分成模块,并设计出完成预定功能的模块结构。(2)“模块独立”是完成有效地模块设计的基本标准,是模块化、抽象、逐步求精和信息隐藏等概念的直接结果。(3)模块独立程度的度量标准内聚:一个模块内各个元素彼此结合的紧密程度。耦合:对一个软件结构不同模块之间互联程度的度量。设计时力争做到高内聚、低耦合,从而获得较高的模块独立性。3.详细设计详细设计阶段详细地设计每个模块,确定完成每个模块功能所需的算法和数据结构。(1)详细设计的主要任务是过程设计。(2)过程设计工具即描述程序处理过程的工具:图形工具:程序流程图、N-S图、PAD语言工具:PDL(过程设计语言)表格工具(了解):判定表程序流程图(PFD图)方框:加工步骤;菱形:逻辑条件;箭头:控制流X=0b=ac=aendbeginN-S图PDLPDL是过程设计语言,也称为伪码。用PDL表示的基本结构的常用词汇如下所示:例如:查找拼错单词的程序Procedure查找拼错单词isbegin把这个文件分离成单词查字典显示字典中查不到的单词造一新字典end查找拼错单词真题回顾1.在软件设计中,不属于过程设计工具的是()。A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图2.软件详细设计产生的图如下,该图为()。A.N-S图B.PAD图C.程序流程图D.E-R图X=0b=ac=aendbegin1.3.4软件测试1.软件测试的目的2.软件测试方法3.软件测试的实施1.软件测试的目的软件测试的目的(1)测试:为了发现程序中的错误而执行程序的过程,其根本目的是发现并排除软件中隐藏的错误。(2)好的测试用例很可能发现迄今为止尚未发现的错误。(3)一次成功的测试是指发现了迄今为止尚未发现的错误。2.软件测试方法(1)根据软件是否被执行分为:静态测试:通过人工进行分析,不实际运行软件。动态测试:上机测试,通过运行软件检查软件中的动态行为和运行结果的正确性。(2)按照功能分白盒测试:在程序内部进行,完成软件内部操作的验证,对程序所有的逻辑路径进行测试。主要技术有:逻辑覆盖测试、基本路径测试测试原则:保证所测模块中每一个独立路径至少要执行一次。黑盒测试:主要测试软件功能,用于软件的确认测试。常用的方法和技术:等价类划分法、边界值分析法、错误推测法和因果图等。3.软件测试的实施(1)软件测试的实施过程主要有4个步骤:单元测试集成测试确认测试系统测试模块测试,对模块进行正确性校验组装测试,对各模块按照设计要求组装成的程序进行测试,尽早发现与接口有关的错误。检查软件功能、性能及其他特征是否与用户的需求一致。在实际运行的环境下进行一系列的集成测试和确认测试。(2)单元测试也称模块测试。驱动模块:相当于一个“主程序”,用于接收测试数据,把数据传送给被测模块,输出有关结果。桩模块:代替被测试模块所调用的模块。它接受被测模块的调用,检验调用参数,模拟被调用的模块的功能,把结果送回被测试的模块。驱动模块被测模块桩模块2桩模块1桩模块3单元测试环境图1.3.5程序的调试1.程序调试的基本概念调试(也称为Debug,排错)是测试发现错误之后排除错误的过程。2.软件调试的目的:诊断和改正程序中的错误,改正以后还需要进行测试。3.软件调试的基本步骤。(1)错误定位。(2)修改设计和代码,排除错误。(3)回归测试,防止引入新的错误。
本文标题:《软件工程基础》PPT课件
链接地址:https://www.777doc.com/doc-1864306 .html