开发过程与程序调试课件

上传人:仙*** 文档编号:241309725 上传时间:2024-06-17 格式:PPT 页数:45 大小:1.59MB
返回 下载 相关 举报
开发过程与程序调试课件_第1页
第1页 / 共45页
开发过程与程序调试课件_第2页
第2页 / 共45页
开发过程与程序调试课件_第3页
第3页 / 共45页
点击查看更多>>
资源描述
9.1 软件开发过程概述v9.1.1软件生命周期v9.1.2软件开发过程9.1 软件开发过程概述程序设计是设计、编制和调试程序的过程。它是目标明确的智力活动。由于软件的质量主要是通过程序来体现的,程序设计工作在软件开发过程中的地位就显得非常重要。因此,了解软件开发的生命周期,熟悉软件的开发过程对于程序设计人员来说非常重要。9.1.1 软件生命周期多年来,软件专家们认识到:计算机软件开发有它们自己的周期,称为系统开发生命周期(SDLC)。SDLC分为多个阶段,每个阶段有包括许多任务,SDLC有多种变形。一个常见的SDLC分析需求维护系统运行系统创建系统设计系统问题发现系统运行问题陈述解决方案描述软件和硬件实现9.1.1 软件生命周期9.1.1 软件生命周期一个企业级应用系统的典型SDLC通常是这样进行的:可行性研究设计实现验收测试运行维护逐渐作废9.1.2 软件开发过程1.软件开发过程的基本概念一个软件系统的开发过程实际上是对人、数据、处理过程和信息表示的统筹。一个好的软件系统通过人机交互,支持和改进了用户在业务管理、问题解决、辅助决策等多方面的需要。在软件的开发中,尤其要从参与者的角度、数据的角度、处理的角度、界面的角度和开发的角度深入了解系统的内在关系,正确把握系统开发的方法,少走弯路。9.1.2 软件开发过程为此,我们首先需要建立以下基本概念:软件系统的开发涉及到系统所有者、使用者、分析者、设计者、构建者以及IT供货商和顾问这6类参与者。软件系统的开发应该作为一个或多个项目来进行科学系统地管理。软件开发的项目管理是和软件开发的基本过程紧密结合的。软件开发的知识和技术基础来自于IT技术和结构体系。9.1.2 软件开发过程2.软件开发过程的管理由于现代软件系统的开发大多是建立在软件工程理论基础上的团队集体合作开发,单靠个人的能力是无法完成。因此,如何管理开发团队,进行分工协作,共同完成一个大型软件系统往往成为项目成败的关键。9.1.2 软件开发过程一个典型的项目管理的实施过程,涵盖了项目管理的8个功能。它包括了以下阶段:确定系统边界确定任务估计工作量安排进度组织分配资源指导团队工作监控进程总结经验9.1.2 软件开发过程3.软件开发过程的实施软件开发过程可以分为若干个不同的开发阶段实施。开发阶段的划分和定义没有严格的标准,但大多会覆盖软件生命周期中的分析、设计、创建等阶段。通常软件开发过程的每个阶段都由不同角色的开发人员担当,并产生可交付的软件制品,如:文档、图表、代码等。随着每个阶段的完成,软件制品不断积累,并传递到下一阶段,最终汇集成系统知识库。9.1.2 软件开发过程一个典型的软件系统开发过程包含7个阶段:定义边界阶段问题分析阶段 需求分析阶段 系统分析阶段系统设计阶段 构造实现阶段测试和发布阶段 9.2 调试与测试v9.2.1程序调试v9.2.2软件质量与测试9.2 调试与测试程序是软件的本体,又是软件研究的对象。程序的质量决定软件的质量。在软件开发过程中,程序编码、调试、测试是一个持续的循环过程,只有在对程序进行了彻底地调试与测试后才能交付最终用户使用。9.2.1 程序调试1.程序调试的概念通常程序写完以后并不能保证运行不出问题,在程序能够运行起来后还要进行大量的调试和测试,Delphi提供了一个功能强大的内置调试器(Integrated Debugger),因而对程序的调试不用离开集成开发环境就可以进行。程序错误基本可以分为两类:v运行时刻错误v逻辑错误9.2.1 程序调试对于这两类错误,调试器都可以帮助我们快速定位错误,并通过对程序运行的跟踪和对变量值的监视帮助我们找到错误的真正原因和解决错误的途径。程序调试的主要内容可以概括为如下的几方面:v调试的准备和开始v控制程序的执行v断点的使用v监视和检查数据的值9.2.1 程序调试调试计划准备好后就可以开始程序的调试。开始一个调试过程包括:编译时产生调试信息 从Delphi里运行程序程序运行控制方法程序运行控制方法使用途径使用途径运行到光标位置(Run to Cursor)RunRun to Cursor菜单项或F4跟踪(Trace Into)RunTrace Into菜单项或F7步进(Step Over)RunStep Over菜单项或F8运行到断点设置断点并按正常方式运行暂停程序执行 RunProgram Pause菜单项程序运行控制的方法和使用途径9.2.1 程序调试9.2.1 程序调试2.使用断点通过在可执行代码行上设置断点,可以使程序运行到该行代码时中断以便调试。要设置断点,可在代码编辑器中选定想设置断点的代码行,而后单击选定代码行左边的空白或按F5,如图 9 6所示。断点必须位于可执行代码行上,凡设置在注释、空白行、变量说明上的都是无效的。另外,断点既可以在设计状态下设置也可以在运行调试状态下设置。通过断点列表窗口(BreakPoint List Window)可以查看所有断点所在的源文件名、行号、条件以及已通过的次数。如果一个断点非法或失去功能,则在列表窗口中标出。9.2.1 程序调试断点列表窗口可以通过选择ViewDebug WindowsBreakPoint菜单打开。断点列表窗口是断点操作的基础。断点操作主要有:显示和编辑断点处的代码 断点功能的丧失和恢复 断点的删除 设置断点属性 9.2.1 程序调试3.监视和检查数据的值监视列表窗口(Watch List)计算/修改对话框(Evaluate/Modify)调栈窗口(Call Stack)9.2.2 软件质量与测试优质软件是这样定义的:软件能够满足用户显式或隐式的需求,文档齐全,符合规定的操作标准,在其开发使用的硬件上高效运行。9.2.2 软件质量与测试1.黑盒测试与白盒测试黑盒测试是指在不知道程序的内部细节也不知道程序是怎样工作的情况下测试程序。换言之,程序就像看不见内部的黑盒。与黑盒测试假设对程序一无所知相反,白盒测试是假定知道有关程序的一切而进行的测试。在这种情况下,程序就像玻璃房子,其中的每件事都是可见的。9.2.2 软件质量与测试2.测试中要考虑的问题系统测试的目的是在系统开发的每一阶段,通过适当的测试手段,检查其是否按正确方向发展,及时发现不足与错误之处,予以改正。在测试中要考虑到以下几个问题:v完全的测试是不可能的 v测试要有独立性 v测试是有风险的 9.2.2 软件质量与测试3.软件测试一般来说,软件测试可分为三种测试,即程序测试、系统测试和用户测试。程序测试是软件测试中的一个部分,通常指在程序编完后的检查和测试。系统测试是指在系统开发的整个生命周期中,对各个阶段所进行的测试工作。9.2.2 软件质量与测试质量管理和系统测试过程示意图9.3 异常与异常处理v9.3.1异常与Delphi的异常类v9.3.2异常保护与处理机制v9.3.3利用异常处理编程9.3 异常与异常处理在应用程序开发中如何检测、处理程序的运行错误是一个很重要的问题。在Delphi的集成开发环境中提供了一个完善的内置调试器,可以帮助我们发现大部分程序错误。但并不是所有的错误都可以被发现。针对这些问题,Delphi同时提供了一套强大的异常处理机制,可以帮助我们处理和预防潜在的错误。9.3.1 异常与Delphi的异常类Delphi异常处理机制建立在保护块的概念上。所谓保护块是用保留字try和end封装的一段代码。保护块的作用是当应用程序发生错误时自动创建一个相应的异常类。异常类是Delphi异常处理机制的核心,也是Delphi异常处理的主要特色。Delphi提供了一个很庞大的异常类体系,这些异常类几乎涉及到编程的各个方面。我们可以把异常类分为运行时刻库异常、对象异常、组件异常三类。9.3.1 异常与Delphi的异常类1.运行时刻库异常运行时间库异常(RTL Exception)可以分为七类,它们都定义在SysUtils库单元中。主要包括:I/O异常堆异常整数异常 浮点异常 类型匹配异常类型转换异常硬件异常9.3.1 异常与Delphi的异常类2.对象异常所谓对象异常是指非组件的对象引发的异常。Delphi定义的对象异常主要包括:流异常打印异常图形异常字符串链表异9.3.1 异常与Delphi的异常类2.组件异常组件异常分为通用组件异常和专用组件异常:通用组件异常专用组件异常9.3.2 异常保护与处理机制1.需要保护的资源一般说来需要保护的资源包括:文件内存Windows资源对象数据库9.3.2 异常保护与处理机制2.创建一个资源保护块Delphi提供了一个保留字finally,用于实现资源的保护:分配资源try 资源使用情况finally 释放资源end;tryfinallyend就形成了一个资源保护块。finally后面的语句是在任何情况下,不论程序是否发生异常,都会执行的。9.3.2 异常保护与处理机制3.异常处理异常处理为开发者提供了一个按自己的需要处理异常的机制。try except end形成了一个异常处理保护块。与finally不同的是:正常情况下except后面的语句并不被执行,而当异常发生时程序自动跳到except,进入异常处理模块。当异常被处理后,异常类会自动释放。9.3.2 异常保护与处理机制4.使用异常实例上面所使用的异常处理方法可总结为如下的形式:on ExceptionType do处理某一类的异常这种方法唯一使用的信息是异常的类型。9.3.2 异常保护与处理机制5.提供缺省处理在异常处理模块中,一般我们只对希望响应的特定异常进行处理。如果一个异常发生而响应模块并没有包含对它的处理代码,则退出当前响应模块,异常类仍被保留。6.异常嵌套下面的代码同时使用了异常处理和异常保护。异常处理用于设置变量的值,异常保护用于释放资源。当异常处理结束时利用raise重引发一个当前异常。9.3.3 利用异常处理编程利用异常处理编程不仅能使程序更加健壮,而且使程序更加简洁、明了。1.异常编程示例比如为了防止零作除数,可以在进行除法运算前使用ifthenelse语句进行判断。但如果大量使用这样的语句则程序的繁琐程度令人难以忍受。这时候使用EDivByZero异常就比较简洁。9.3.3 利用异常处理编程2.自定义异常编程还有一种利用异常处理编程的方式是使用自定义异常类。利用Delphi的异常机制我们可以定义自己的异常类来处理程序执行中的异常情况。与标准异常不同的是:这种异常情况并不是相对于系统的正常运行,而是应用程序的预设定状态。使用自定义异常一般需要:自己定义一个异常类;自己引发一个异常。9.4 本章小结v计算机软件开发有它们自己的周期,称为系统开发生命周期(SDLC)。SDLC分为多个阶段,包括:分析需求、设计系统、创建系统、运行系统、维护系统。每个阶段包括有许多任务。v开发一个软件系统的参与者包括:系统所有者、使用者、分析者、设计者、构建者以及IT供货商和顾问这6类。他们的共同目标是创建符合需要的软件系统,但能否很好地合作和沟通将是成败的关键。9.4 本章小结v软件开发的项目管理是和软件开发的基本过程紧密结合的。一个典型的项目实施过程涵盖了项目管理的8个阶段,他们是:确定系统边界、确定任务、估计工作量、安排进度、组织分配资源、指导团队工作、监控进程、总结经验。v通常软件开发过程可以分为若干个不同的开发阶段实施,每个阶段都由不同角色的开发人员担当,并产生可交付的软件制品。一个典型的软件系统开发过程包含了定义边界、问题分析、需求分析、系统分析、系统设计、构造实现、测试和发布等7个阶段。9.4 本章小结v程序错误基本可以分为运行时刻错误和逻辑错误。通过程序调试可以发现和解决这些错误。v程序调试的主要内容包括:调试的准备和开始、控制程序的执行、断点的使用、监视和检查数据的值。vDelphi提供了功能强大的内置调试器,因而调试程序不用离开集成开发环境就可以进行。通过调试器运行程序,当程序处于等待状态(中断)时调试器可以获得控制。调试中,可以选择跟踪和步进这两种单步调试方式,并调用各种功能强大的调试窗口(或对话框)来检查当前程序的状态,监视和观察数据的值。9.4 本章小结v通过在可执行代码行上设置断点,可以使程序运行到该行代码时中断以便调试。Delphi中,断点既可以在设计状态下设置也可以在运行调试状态下设置v通过Delphi调试环境提供的监视列表窗口、计算/修改对话框、调栈窗口等工具可以监视和检查程序运行中数据的值。v优质软件的定义是:软件能够满足用户显式或隐式的需求,文档齐全,符合规定的操作标准,在其开发使用的硬件上高效运行。9.4 本章小结v软件测试是软件质量的首要保证。测试应包括黑盒测试和白盒测试。一般来说,软件测试可分为三种测试,即程序测试、系统测试和用户测试。程序测试是软件测试中的一个部分,通常指在程序编完后的检查和测试。系统测试是指在系统开发的整个生命周期中,对各个阶段所进行的测试工作。v调试可以帮助我们发现大部分程序错误,但并不是所有的错误都可以被发现。Delphi提供了一套强大的异常处理机制。可以帮助我们处理和预防潜在的错误,使程序更为健壮。9.4 本章小结v异常类是Delphi异常处理机制的核心,Delphi提供的所有异常类都是类Exception的子类。用户也可以从Exception派生一个自定义的异常类。vDelphi提供了一个很庞大的异常类体系,这些异常类几乎涉及到编程的各个方面。异常类大致分为运行时刻库异常、对象异常、组件异常三类。v通过Delphi异常保护与处理机制,可以确保回收受保护的资源、按自己的需要处理异常、使未处理的异常获得缺省处理。9.4 本章小结v使用tryfinallyend语句可构造一个资源保护块。finally后面的语句是在任何情况下,不论程序是否发生异常,都会得到执行。v使用try except end语句可构造一个异常处理保护块。正常情况下except后面的语句并不被执行,而当异常发生时程序自动跳到except,进入异常处理模块。当异常被处理后,异常类会自动释放。v利用异常处理编程不仅能使程序更加健壮,而且使程序更加简洁、明了。利用Delphi的异常机制我们可以定义自己的异常类来处理程序执行中的异常情况。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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