欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    9软件工程ppt-PowerPointPresenta.ppt

    • 资源ID:6280707       资源大小:1.54MB        全文页数:97页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    9软件工程ppt-PowerPointPresenta.ppt

    软件工程,公共基础第三部分,本章考核内容约占8%,主要包括一下几个方面:软件工程的一些基本概念以及它们之间的关系结构化分析方法中的数据流图、数据树、数据表以及软件规格说明书的特点结构化设计方法中的概要设计和详细设计静态测试和动态测试,考点1 软件的定义与特点1.软件定义 计算机软件(Software)是计算机系统中与硬件相依存的另一部分,是包括程序、数据及相关文档的完整集合。程序:软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。数据:使程序能正常操纵信息的数据结构。文档:与程序开发、维护和使用有关的图文资料。国标(GB)中对软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。,考点1 软件的定义与特点1.软件定义【2007年9月】:软件是指()A)程序 B)程序和文档 C)算法加数据结构 D)程序、数据与相关文档的完整集合,答案,D,考点1 软件的定义与特点2.软件组成 软件由两部分组成:1)机器可执行的程序和数据;2)机器不可执行的,与软件开发、运行、维护、使用等有关的文档。,考点1 软件的定义与特点3.软件特点 与计算机硬件相比,软件在开发、生产、维护和使用方面都存在明显的差异,主要体现在:1)软件是一种逻辑实体,而不是物理实体,具有抽象性;2)软件的生产与硬件不同,它没有明显的制作过程;3)软件在运行、使用期间不存在磨损、老化问题;4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;5)软件复杂性高、成本昂贵;6)软件开发涉及诸多的社会因素。,考点1 软件的定义与特点3.软件特点【2005年4月】下列描述中正确的是()A)程序就是软件 B)软件开发不受计算机系统的限制 C)软件既是逻辑实体,又是物理实体 D)软件是程序、数据与相关文档的集合,答案,D,考点1 软件的定义与特点4.软件分类 软件根据应用目标的不同,是多种多样的。软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)。1)应用软件是为解决特定领域应用而开发的软件。2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具性软件。,考点1 软件的定义与特点4.软件分类【2009年3月】:软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件),下面属于应用软件的是()A)编译软件 B)操作系统 C)教务管理系统 D)汇编程序,答案,C,考点2 软件工程的定义1.软件危机 软件工程概念的出现源自于软件危机。20世纪60年代末以后,“软件危机”这个词频繁出现。软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。在软件开发和维护过程中,可以将软件危机归结为成本、质量、生产率等问题。造成这些问题的原因:一是与软件本身的特点有关;另一方面与软件的开发和维护方法不正确有关,这是主因。,考点2 软件工程的定义1.软件危机 例:美国IBM公司在1963年至1966开发的IBM360机的操作系统。这一项目花了5000人一年的工作量,最多时有1000人投入开发工作,写出了近100万行源程序。.据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。.这个项目的负责人F.D.Brooks事后总结了他在组织开发过程中的沉痛教训时说:“.正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。.,程序设计工作正像这样一个泥潭,.一批批程序员被迫在泥潭中拼命挣扎,.谁也没有料到问题竟会陷入这样的困境.”。IBM360操作系统的历史教训成为软件开发项目的典型事例为人们所记取。,考点2 软件工程的定义2.软件工程 软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。软件工程三要素:方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。软件工程的核心思想是把软件当作一个工程产品来处理,以期达到工程项目的三个基本要素:进度、经费和质量的目标。,考点2 软件工程的定义2.软件工程【2005年9月】:下列描述中正确的是()A)软件工程只是解决软件项目的管理问题 B)软件工程主要解决软件产品的生产率问题 C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 D)软件工程只是解决软件开发中的技术问题,答案,C,考点2 软件工程的定义2.软件工程【2008年9月】:软件工程三要素包括方法、工具和过程,其中,支持软件开发的各个环节的控制和管理。,答案,过程,考点3 软件工程过程和软件生命周期1.软件工程过程 软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。软件工程过程通常包含4种基本活动:P(Plan)-软件规格说明;D(Do)-软件开发;C(Check)-软件确认;A(Action)-软件演进;软件工程的过程是将软件工程的方法和工具综合起来,以达到合理、及时地进行计算机软件开发的目的。软件工程过程应确定方法使用的顺序;要求交付的文档资料;为保证质量和适应变化所需要的管理;软件开发各个阶段完成的任务。,考点3 软件工程过程和软件生命周期2.软件生命周期 生命周期:将软件产品从提出、实现、使用、维护到停止使用退役的全过程成为生命周期。软件生命周期包括三个阶段:软件定义:可行性研究与计划指定、需求分析 软件开发:软件设计(概要设计和详细设计阶段)、实现和测试 软件维护:运行和维护阶段,考点3 软件工程过程和软件生命周期2.软件生命周期 1)可行性研究与计划制定:确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。2)需求分析:对准备开发的软件提出的需求进行分析并给出详细定义,编写软件规格说明书及初步用户手册,提交评审。3)概要设计。这一阶段也称为总体设计,其任务是划分出构成系统的各种物理元素(如程序、文件、数据库、人工过程与文档等)以及设计出软件的结构(如确定模块以及模块间的关系)。这一阶段的重点是解决“概要地描述如何解决问题”。,考点3 软件工程过程和软件生命周期2.软件生命周期 4)详细设计:总体设计是对软件抽象和概括的设计,而详细设计是在总体设计的基础之上,把解决问题的方法具体化,重点解决的是“怎样具体实现这个系统”的问题。工作成果:设计出程序的详细规格说明(主要利用HIPO图、PDL语言等工具)。5)软件编码:编码是将概要设计与详细设计阶段中的结果翻译成用某种程序设计语言书写的程序。虽然程序的质量基本上是由设计的质量决定,但选择恰当的编码语言,对写出容易理解和维护的程序模块有重大的影响。,考点3 软件工程过程和软件生命周期2.软件生命周期 6)软件测试:在设计测试用例的基础上,检验软件的各个组成部分,编写测试分析报告。7)运行和维护:软件维护虽然是软件生命周期的最后一个阶段,但也是持续时间最长、付出代价最大的阶段。注意:在软件生命周期的各个阶段都必须充分考虑维护的问题,并且为维护做好准备。软件维护不仅包括程序代码的维护,还包括文档的维护。,考点3 软件工程过程和软件生命周期2.软件生命周期【2005年9月】下列叙述中正确的是()A)软件交付使用后还需要进行维护 B)软件一旦交付使用就不需要再进行维护 C)软件交付使用后其生命周期就结束 D)软件维护是指修复程序中被破坏的指令,答案,A,考点3 软件工程过程和软件生命周期2.软件生命周期【2006年9月】:下列选项中不属于软件生命周期开发阶段任务的是()A)软件测试 B)概要设计 C)软件维护 D)详细设计【2007年4月】:软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于 阶段。,答案,开发阶段,C,考点4 软件工程的目标与原则1.软件工程的目标 软件工程的目标是:在给定成本、进度的前提下,开发出具有时效性,可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性全满足用户需求的产品。软件工程需要达到的基本目标应是:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发,及时交付使用。,考点4 软件工程的目标与原则1.软件工程的目标 基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。,考点4 软件工程的目标与原则2.软件工程原则 软件工程原则包括:抽象、信息隐蔽、模块化、局部化(保证模块间具有松散的耦合关系,模块内部有较强的内聚性)、确定性、一致性、完备性和可验证性。,考点5 软件开发工具与开发环境1.软件开发工具 软件开发工具的开发是从单项工具的开发逐步向集成工具发展的,软件工具为软件工程的方法提供了自动的或半自动的软件支撑环境。2.软件开发环境 软件开发环境或称软件工程环境是全面支持软件开发全过程的软件工具集合。,考点6 需求分析概述 软件开发方法是软件开发过程所遵循的方法和步骤,其目的在于有效地得到一些工作产品,即程序和文档,并且满足质量要求。软件开发方法包括分析方法、设计方法和程序设计方法。,考点6 需求分析概述1.需求分析定义:软件需求分析是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析的任务是发现需求、求精、建模和定义需求的过程。需求分析将创建所需的数据模型、功能模型和控制模型。,考点6 需求分析概述 1.需求分析需求分析阶段的工作 1)需求获取。需求获取的目的是确定对目标系统的各方面需求。涉及的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。2)需求分析。对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。3)编写需求规格说明书。作为需求分析的阶段成果的需求规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。4)需求评审。在需求分析的最后一步,对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。,考点6 需求分析概述2.常用需求分析方法1)结构化的分析方法 主要包括面向数据流的结构化分析方法(SA)、面向数据结构的Jackson方法(JSD)和面向数据结构的结构化数据系统开发方法(DSSD)。2)面向对象的分析方法(OOA)从需求分析建立的模型的特性来分,需求分析方法又分为静态分析方法和动态分析方法。,考点7 结构化分析方法 结构化方法经过30多年的发展,已经成为系统、成熟的软件开发方法之一。结构化方法包括已经形成了配套的结构化分析方法、结构化设计方法和结构化编程方法,其核心和基础是结构化程序理论。结构化分析方法是结构化程序设计理论在软件需求阶段的运用。它是20世纪70年代中期倡导的基于功能分解的分析方法,其目的是弄清用户对软件的需求。,考点7 结构化分析方法1.结构化分析方法中的步骤 1)通过对用户的调查,以软件的需求为线索,获得当前系统的具体模型;2)去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型;3)根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型;4)完善目标系统并补充细节,写出目标系统的软件需求规格说明书;5)评审知道确认完全符合用户对软件的需求。,考点7 结构化分析方法2.结构化分析的常用工具1)数据流图(DFDdata flow diagram)定义:数据流图(Data Flow Diagram,DFD)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。数据流图从数据传递和加工的角度,来刻画数据流从输出的移动变换过程。,考点7 结构化分析方法2.结构化分析的常用工具1)数据流图(DFDdata flow diagram)图形元素:,考点7 结构化分析方法2.结构化分析的常用工具1)数据流图(DFDdata flow diagram)步骤:一般通过对实际系统了解和分析后,使用数据流图为系统建立逻辑模型。建立数据流图的步骤如下:步骤1:由外向里,先画系统输入输出,再画系统内部。步骤2:自顶向下,完成顶层、中间层、底层数据流图。步骤3:逐层分解。,考点7 结构化分析方法2.结构化分析的常用工具1)数据流图(DFDdata flow diagram)数据流图的构造要遵循如下一些规则对加工处理建立唯一、层次性的编号,且每个加工处理通常要求既有输入又有输出;数据存储之间不应该有数据流;数据流的一致性:数据流图中的数据要守恒,数据存储文件的使用要有写入也要有读出;父图、子图关系与平衡规则:子图个数不大于父图中的处理个数。所有子图输入、输出和父图中相应的输入、输出数据流必须一致;,考点7 结构化分析方法2.结构化分析的常用工具1)数据流图(DFDdata flow diagram)【2004年9月】:在结构化方法中,用数据流图(DFD)作为描述工具的软件开发阶段是()。A)可行性分析 B)需求分析 C)详细设计 D)程序编码【2008年9月】:在软件开发中,需求分析阶段可以使用的工具是()A)N-S图 B)DFD图 C)PAD图 D)程序流程图,答案,B,B,考点7 结构化分析方法2.结构化分析的常用工具2)数据字典(DDdata dictionary)数据字典是结构化分析方法的核心。数据字典的作用是对DFD中出现的被命名的图形元素的确切解释。数据字典和DFD经常配合使用。通常数据字典包含的信息有:名称、别名、何处使用/如何使用、内容描述及补充信息等。,考点7 结构化分析方法2.结构化分析的常用工具3)判定树 使用判定树进行描述时,应先从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,根据描述材料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。4)判定表 判定表与判定树相似。当数据流图中的加工要依赖于多个逻辑条件的取值时,即完成该加工的一组动作是由于一组条件取值的组合引发的,使用判定表比较适宜。注意:判定表和判定树是以图形的形式描述数据图的加工逻辑。,考点7 结构化分析方法3.软件需求规格说明书1)定义 软件需求规则说明书(SRS,Software Requirement Specification)是需求分析阶段的最后成果,是软件开发中重要文档之一。2)作用便于用户、开发人员进行理解和交流。反映出用户问题的结构,可以作为软件开发工作的基础和依据。作为确认测试和验收的依据。,考点7 结构化分析方法3.软件需求规格说明书3)内容概述:从系统角度描述软件的目标和任务;数据描述:对软件系统所必须解决的问题做出详细说明,主要包括数据流图、数据字典、系统接口说明、内部接口;功能描述:描述为解决用户问题所需要的每一项功能的过程细节,主要包括功能、处理说明、设计的限制等;性能描述:说明系统应达到的性能和应该满足的限制条件,检测的方法和标准,预期的软件响应和可能需要考虑的特殊问题;参考文献:包括与该软件有关的全部参考文献;附录:包括一些补充资料;如列表数据、算法的详细说明、框图、图表和其他材料。,考点7 结构化分析方法3.软件需求规格说明书4)特点衡量一个软件需求规则说明书质量的标准:正确性、无歧义性、完整性、可验证性、一致性、可理解性、可修改性和可追踪性。软件需求规格说明书在开发早期就为尚未诞生的软件系统建立了一个可见的逻辑模型。作为设计的基础和验收的依据,软件需求规格说明书应该是精确而无二义性的。,考点7 结构化分析方法3.软件需求规格说明书【2007年9月】:软件需求规格说明书应具有完整性,无岐义性、正确性、可验证性、可修改性等特征,其中最重要的是。【2008年4月】:在软件开发中,需求分析阶段产生的主要文档是()A)可行性分析报告 B)软件需求规格说明书 C)概要设计说明书 D)集成测试计划,答案,B,无歧义性,考点8 软件设计概述1.定义 软件设计是软件工程的重要阶段,是一个把软件需求转换为软件表示的过程。2.实现模型 软件设计的基本目标是用比较抽象概况的方式确定目标系统如何完成预定的任务,即软件设计是确定系统的物理模型。,考点8 软件设计概述3.软件设计的重要性和地位 1)软件开发阶段(设计、编码、测试)占据软件项目开发总成本绝大部分,是在软件开发中形成质量的关键环节;2)软件设计是开发阶段最重要的步骤,是将需求准确地转化为完整的软件产品或系统的唯一途径;3)软件设计作出的决策,最终影响软件实现的成败;4)软件是软件工程和软件维护的基础。,考点8 软件设计概述4.软件设计的内容 从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计。从工程管理角度来看,软件设计分为两步完成即概要设计和详细设计。5.软件设计的过程 软件设计是一个迭代的过程,先进行高层次的结构设计;后进行低层次的结构设计;穿插进行数据设计和接口设计。,考点8 软件设计概述【2006年9月】从工程管理角度,软件设计一般分为两步完成,它们是()A)概要设计与详细设计 B)数据设计与接口设计C)软件结构设计与数据设计 D)过程设计与数据设计,答案,A,考点8 软件设计概述6.软件设计原理 1)抽象:提取共同特性忽略细节。抽象的层次从概要设计到详细设计逐步降低。2)模块化:功能分解,划分模块。注意控制模块数量。3)信息隐蔽:模块内的数据和细节对其他模块是不可见的。4)模块独立性:每个模块只完成系统要求的独立子功能,与其他模块的联系最少且接口简单。注意:模块独立性是评价设计好坏的标准。度量模块独立性的两个定性的标准是模块内部的内聚性和模块间的耦合性。,考点8 软件设计概述6.软件设计原理 内聚性:一个模块内各个元素彼此结合的紧密程度的度量,理想内聚的模块只做一件事情。设计时应该力求做到高内聚,或中等程度的内聚,低内聚不要使用。内聚是从功能角度来度量模块内的联系,内聚从内聚性的由弱到强可以分为:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。,考点8 软件设计概述6.软件设计原理 耦合性:模块彼此间互相依赖的紧密程度的度量。一般来说,要求模块之间的耦合尽可能弱,即模块尽可能独立。模块间的耦合有以下几种,它们由强到弱排列为:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合。,考点8 软件设计概述6.软件设计原理 注意:耦合与内聚是相互关联的,各模块的内聚性越强,则耦合性越弱。软件设计,应尽量做到高内聚,低耦合。【2005年4月】:为了使模块尽可能独立,要求()A)内聚程度要尽量高,且各模块间的耦合程度要尽量强 B)内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C)内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D)内聚程度要尽量低,且各模块间的耦合程度要尽量强,答案,B,考点8 软件设计概述6.软件设计原理【2006年4月】:两个或两个以上模块之间关联的紧密程度称为()A)耦合性 B)内聚性 C)复杂度 D)数据传输特性【2007年4月】:在结构化程序设计中,模块划分的原则是()A)各模块应包括尽量多的功能 B)各模块的规模应尽量大 C)各模块只见的联系应尽量紧密 D)模块内具有高内聚性、模块间具有低耦合度,答案,A,D,考点8 软件设计概述6.软件设计原理【2008年4月】:软件设计中模块划分应遵循的准则是()A)低内聚低耦合 B)高内聚低耦合 C)低内聚高耦合 D)高内聚高耦合,答案,B,考点9 概要设计概要设计又称为总体设计。1.任务 概要设计的任务是将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式。任务如下:设计软件系统结构(常用工具:结构图)数据结构及数据库设计编写概要设计文档(概要设计说明书、数据库设计说明书、集成测试计划等)概要设计文档评审,考点9 概要设计2.软件结构设计工具结构图(SC)在结构化的设计方法中使用SC图描述软件的总体结构。结构图:structured chart,也称为程序结构图。结构图的基本图符:,考点9 概要设计2.软件结构设计工具结构图(SC)结构图有四种模块类型:传入模块类型、传出模块类型、变换模块类型和协调模块类型。程序结构图的有关术语:深度:表示控制的层数 上级模块、从属模块 宽度:整体控制跨度(最大模块数的层)的表示 扇入:调用一个给定模块的模块个数 扇出:一个模块直接调用的其他模块数,考点9 概要设计2.软件结构设计工具结构图(SC)【2006年9月】下列软件系统结构图的宽度为。,答案,3,考点9 概要设计2.软件结构设计工具结构图(SC),考点9 概要设计3.面向数据流的设计方法 在需求分析阶段得到的数据流图中,数据流类型可以划分为两种:变换型和事务型。数据流图向结构图转化时,两种类型的数据流需要分别转换,称为变换分析和事务分析。,考点9 概要设计4.设计准则 在软件设计中应该遵循以下准则:提高模块独立性;模块规模适中;深度、宽度、扇出和扇入适当;(顶层高扇出,中间扇出较少,低层高扇入)使模块的作用域在该模块的控制结域内;应减少模块的接口和界面的复杂性;设计成单入口、单出口的模块;设计功能可预测的模块。,考点10 详细设计1.定义 详细设计是软件设计的第二阶段,主要确定每个模块的具体执行过程,因此也称为过程设计。2.任务 为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示。编写详细设计说明书。(为每个模块设计一组测试用例,便于编码测试)3.详细设计的常用工具 图形工具:程序流程图(PFD),N-S,PDA,HIPO 表格工具:判定表 语言工具:PDL(伪代码),考点10 详细设计3.详细设计的常用工具1)程序流程图(PFD)程序流程图又称为程序框图,它是软件开发者最熟悉的一种算法描述工具。基本图符:流程图中的流程线用以指明程序的动态执行顺序,也称为控制流。,考点10 详细设计3.详细设计的常用工具1)程序流程图 结构化程序设计限制流程图只能使用顺序、选择、多分支选择结构、当型循环结构、直到型循环结构五种基本控制结构。,考点10 详细设计3.详细设计的常用工具2)N-S图 N-S图又称盒图,N-S图被开发的目的是开发一种不允许破坏结构化原则的图形算法描述工具。在N-S图中,去掉了流程图中容易引起麻烦的流程线,全部算法都写在一个框内,每一种基本结构也是一个框。N-S图具有和程序流程图同样的五种基本控制结构。,考点10 详细设计3.详细设计的常用工具2)N-S图,考点10 详细设计3.详细设计的常用工具3)PAD图 PAD图是问题分析图:problem analysis diagram。1973年由日立公司提出的,主要用于描述软件详细设计。,考点10 详细设计3.详细设计的常用工具4)PDL图 过程设计语言(Program Design Language,PDL)又称结构化语言或伪代码。它是一种“混合”语言,采用英语的词汇和一种结构化语言的语法。【2005年9月】:在软件设计中,不属于过程设计工具的是()A)PDL(过程设计语言)B)PAD图 C)N-S图 D)DFD图,答案,D,考点11 软件测试概述,考点11 软件测试概述1.概念 软件测试代表了需求分析、设计、编码的最终复审。1983年IEEE将软件测试定义为:使用人工或自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差异。2.目的 软件测试是为了发现错误而执行程序的过程;一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。(测试用例:为测试设计的数据。由输入值集和输出值集组成。),考点11 软件测试概述3.测试准则 所有测试都应追溯的需求。严格执行测试计划,排除测试的随意性。充分注意测试中的群集现象。程序员应避免检查自己的程序。穷举测试不可能。妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。,考点11 软件测试概述【2005年4月】:下列对于软件测试的描述中正确的是()A)软件测试的目的是证明程序是否正确 B)软件测试的目的是使程序运行结果正确 C)软件测试的目的是尽可能多地发现程序中的错误 D)软件测试的目的是使程序符合结构化原则【2008年4月】:测试用例包括输入值集和 值集。,答案,C,输出,考点11 软件测试概述【2007年4月】:下列叙述中正确的是()A)软件测试的主要目的是发现程序中的错误 B)软件测试的主要目的是确定程序中错误的位置 C)为了提高软件测试效率,最好由程序编制者自己来完成软件测试的工作 D)软件测试是证明软件没有错误,答案,A,考点12 软件测试技术 从是否需要执行被测软件的角度,可分为静态测试和动态测试方法。若按照功能划分可以分为白盒测试和黑盒测试方法。1.静态测试 静态测试是指人工评审软件文档或程序,借以发现其中的错误。由于被评审的文档或程序不必运行,所以称为静态的。静态测试可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。静态测试包括代码检查、静态结构分析、代码质量度量等。其中代码检查包括代码审查、代码走查、桌面检查、静态分析。,考点12 软件测试技术1.静态测试【2006年4月】:程序测试分为静态分析和动态测试。其中 是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。,答案,静态分析,考点12 软件测试技术2.动态测试 动态测试是基于计算机的测试,是为了发现错误而执行程序的过程。或者说,根据软件开发各阶段精心设计的测试用例,去运行程序,以发现错误的过程。设计高效、合理的测试用例是动态测试能否发现错误的关键。设计测试用例的方法有两类:白盒测试方法和黑盒测试方法。,考点12 软件测试技术2.动态测试1)白盒测试方法 白盒测试方法也称为结构测试或逻辑驱动测试。在程序内部进行,主要用于完成软件内部操作的验证。白盒测试的基本原则:(穷举法路径测试)保证所测模块中每一独立路径至少执行一次;保证所测模块所有判断的每一分支至少执行一次;保证所测模块每一循环都在边界条件合一般条件下至少各1执行一次;验证所有内部数据结构的有效性。,考点12 软件测试技术2.动态测试1)白盒测试方法 白盒测试的主要方法:逻辑覆盖测试方法:泛指一系列以程序内部的逻辑结构为基础的测试用例设计技术。逻辑覆盖测试方法有语句覆盖、路径覆盖、判定覆盖、条件覆盖以及判断条件覆盖。基本路径测试:基本路径测试的思想和步骤是,根据软件过程性描述中的控制流程确定程序的环路复杂性度量,用此度量定义基本路径集合。环路复杂度=程序流程图中的判断框数+1(环路复杂度的值即要设计的测试路径数目),考点12 软件测试技术2.动态测试2)黑盒测试方法 黑盒测试方法也称功能测试或数据驱动测试。黑盒测试是在软件接口处进行,完成功能验证。黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例。主要诊断功能不正确或遗漏、接口错误、数据结构或外部数据库访问错误、性能错误、初始化和终止条件错误。黑盒测试方法主要有等价类划分法、边界值分析法、错误推测法。,考点12 软件测试技术2.动态测试,考点12 软件测试技术2.动态测试【2007年4月】:软件测试分为白箱(盒)测试和黑箱(盒)测试。等价类划分法属于 测试。【2007年9月】:在两种基本测试方法中,测试的原则之一是保证所测模块中每一个独立路径至少执行一次。,答案,黑盒,白盒,考点12 软件测试技术 注意:没有一种用例设计方法能适用全部的测试方案,综合使用各种方法来确定合适的测试方案。在测试成本和测试效果之间合理折中。,考点13 软件测试实施 软件测试的实施过程一般按4个步骤进行:单元测试-集成测试-确认测试-系统测试。通过这些步骤的实施来验证软件是否合格,能否交付用户使用。1.单元测试 单元测试是对软件设计的最小单位模块(程序单元)进行正确性检验的测试。目的是发现各模块内部可能存在的各种错误。单元测试的依据是详细设计说明书和源程序。单元测试的技术可以采用静态分析和动态测试。对动态测试通常以白盒动态测试为主,辅之以黑盒测试。,考点13 软件测试实施1.单元测试 单元测试针对某个模块,在测试过程中常使用模拟环境测试,即为被测模块搭建驱动模块和桩模块。驱动模块相当于被测模块的主程序。它接收测试数据,并传给被测模块,显示测试结果;桩模块通常用于代替被测模块调用的其他模块,是一个模拟子程序,不必将子模块的所有功能带入。,考点13 软件测试实施1.单元测试【2005年9月】:在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。,答案,驱动模块,考点13 软件测试实施2.集成测试 集成测试是测试和组装软件的过程。它是把模块在按照设计要求组装起来的同时进行测试,目的是发现与结构有关的错误。集成测试的依据是概要设计说明书。集成测试时组装模块有两种方法:非增量方式组装和增量方式组装。非增量方式组装:将测试好的模块一次性的组装在一起,在进行整体测试。增量方式组装:边装边测。增量方式包括:自顶向下、自底向上、混合增量发(三明治)。,考点13 软件测试实施2.集成测试【2008年9月】:按照软件测试的一般步骤,集成测试应在 测试之后进行。,答案,单元,考点13 软件测试实施3.确认测试 确认测试的目的是验证软件的功能和性能及其他特性是否满足了需要规格说明中确定的各种需求以及软件配置是否完全、正确。实施确认测试,首先运用黑盒测试进行有效性测试。,考点13 软件测试实施4.系统测试 系统测试是将通过测试确认的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、支持软件、数据和人员等其他系统元素组合在一起,在实际运行(使用)环境下对计算机系统进行一系列的集成测试和确认测试。系统的目的是在真实的系统工作环境下检验软件是否能与系统正确连接,发现软件与系统需求不一致的地方。,考点13 软件测试实施,考点13 软件测试实施,考点14 程序调试1.概念 在对程序进行了成功的测试之后将进入程序调试(Debug,排错)。程序调试的任务是诊断和改正程序中的错误。测试贯穿于整个软件的生命周期,调试主要在开发阶段。2.基本步骤 调试不是测试,但是它总是发生在测试之后。主要包括错误定位-纠正错误-回归测试3个步骤。,考点14 程序调试3.程序调试的原则 确定错误的性质和出错位置时的注意事项分析思考与错误征兆相关的信息避开死胡同只把调试工具当作辅助手段来用避免用试探法,最多只能把它当作最后手段 修改错误时应遵循如下原则 在出现错误的地方,还可能有别的错误不应只修改了错误的征兆或表现而没有修改错误本身注意修正一个错误的同时有可能会引入新的错误修改错误的过程将迫使人们暂时回到程序设计阶段修改源代码程序,不要改变目标代码,考点14 程序调试【2005年4月】:诊断和改正程序中错误的工作通常称为。【2006年9月】:_的任务是诊断和改正程序中的错误。【2007年9月】:软件调试的目的是()A)发现错误 B)改正错误 C)改善软件的性能 D)验证软件的正确性,答案,调试,调试,B,考点14 程序调试【2005年9月】:下列叙述中正确的是()A)程序设计就是编制程序 B)程序的测试必须由程序员自己去完成 C)程序经调试改错后还应进行再测试 D)程序经调试改错后不必进行再测试【2006年4月】:下列叙述中正确的是()A)软件测试应该由程序开发者来完成 B)程序经调试后一般不需要再测试 C)软件维护只包括对程序代码的维护 D)以上三种说法都不对,答案,C,D,考点14 程序调试4.软件调试方法 静态调试:通过人的思维分析源程序代码和排错,是主要的调试手段。(类似于测试中的静态测试)动态调试:辅助静态调试,包括强行排错法、回溯法、原因排除法。强行排错法:目前使用较多、效率较低的方法。涉及的主要技术是设置断点和监视表达式。回溯法:适用较小规模的程序。从发现“症状”的地方开始,逆向跟踪程序代码。原因排除法:通过演绎、归纳以及二分法来实现。,考点15 软件维护 软件维护处于系统投入生产性运行以后,是软件生命周期的最后一个阶段。软件维护在不同应用领域维护成本差别很大,大型软件的维护成本高达开发成本的四倍左右。目前国外许多软件开发组织把60以上的人力用于维护已有的软件。1.软件维护的分类:1)改正性维护;2)适应性维护;3)完善性维护。2.决定软件可维护性的因素:1)可理解性;2)可测试性;3)可修改性。,

    注意事项

    本文(9软件工程ppt-PowerPointPresenta.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开