一个定义软件生存期汇总课件.ppt

上传人(卖家):晟晟文业 文档编号:4696963 上传时间:2023-01-02 格式:PPT 页数:42 大小:395.92KB
下载 相关 举报
一个定义软件生存期汇总课件.ppt_第1页
第1页 / 共42页
一个定义软件生存期汇总课件.ppt_第2页
第2页 / 共42页
一个定义软件生存期汇总课件.ppt_第3页
第3页 / 共42页
一个定义软件生存期汇总课件.ppt_第4页
第4页 / 共42页
一个定义软件生存期汇总课件.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、Software Engineering Review 张磊张磊2007.101Review 一个定义一个定义:软件生存期软件生存期 如同任何其他事物一样,软件也有一个孕如同任何其他事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程,育、诞生、成长、成熟、衰亡的生存过程,一般称之为计算机一般称之为计算机软件的生存期软件的生存期。一般说来,软件生命期由软件定义、软件一般说来,软件生命期由软件定义、软件开发和软件维护三个时期组成,每个时期又开发和软件维护三个时期组成,每个时期又可进一步划分成若干个阶段。可进一步划分成若干个阶段。2软件生存期软件生存期1 1软件定义时期软件定义时期 (1

2、1)问题定义:这是软件生存期的第一个阶)问题定义:这是软件生存期的第一个阶段,主要任务是弄清用户要计算机解决的问题段,主要任务是弄清用户要计算机解决的问题是什么。是什么。(2 2)可行性研究:任务是为前一阶段提出的)可行性研究:任务是为前一阶段提出的问题寻求一种至数种在技术上可行、且在经济问题寻求一种至数种在技术上可行、且在经济上有较高效益的解决方案。上有较高效益的解决方案。3软件生存期软件生存期2 2软件开发时期软件开发时期 (1 1)需求分析:弄清用户对软件系统的全部需求,主要)需求分析:弄清用户对软件系统的全部需求,主要是确定目标系统必须具备哪些功能。是确定目标系统必须具备哪些功能。(2

3、 2)总体设计:设计软件的结构,即确定程序由哪些模)总体设计:设计软件的结构,即确定程序由哪些模块组成以及模块间的关系。块组成以及模块间的关系。(3 3)详细设计:针对单个模块的设计。)详细设计:针对单个模块的设计。(4 4)编码:按照选定的语言,把模块的过程性描述翻译)编码:按照选定的语言,把模块的过程性描述翻译为源程序。为源程序。(5 5)测试:通过各种类型的测试)测试:通过各种类型的测试(及相应的调试及相应的调试)使软件使软件达到预定的要求。达到预定的要求。4软件生存期软件生存期3 3软件运行时期软件运行时期 是软件生存周期的最后一个时期。软是软件生存周期的最后一个时期。软件人员在这一时

4、期的工作,主要是做好件人员在这一时期的工作,主要是做好软件维护。维护的目的,是使软件在整软件维护。维护的目的,是使软件在整个生存周期内保证满足用户的需求和延个生存周期内保证满足用户的需求和延长软件的使用寿命。长软件的使用寿命。5需求分析需求分析 需求分析的过程需求分析的过程需求分析阶段可分为四个过程:调查需求分析阶段可分为四个过程:调查研究、分析与综合、书写需求分析的文档研究、分析与综合、书写需求分析的文档和需求评审。和需求评审。6需求分析需求分析7需求分析需求分析8需求分析需求分析9需求分析需求分析10需求分析需求分析 需求分析的原则需求分析的原则(1)能够表达和理解问题的信息域和功能域。)

5、能够表达和理解问题的信息域和功能域。(2)能够对问题进行分解和不断细化,建立问题)能够对问题进行分解和不断细化,建立问题的层次结构。的层次结构。(3)能够给出系统的逻辑视图和物理视图。)能够给出系统的逻辑视图和物理视图。11需求分析需求分析 12需求分析需求分析 结构化分析方法中使用的工具主要包括:结构化分析方法中使用的工具主要包括:数据流图、数据字典、结构化英语、判定表和数据流图、数据字典、结构化英语、判定表和判定树。判定树。其中数据流图用以表达系统内数据的运动其中数据流图用以表达系统内数据的运动情况;数据词典用以定义系统中的数据;结构情况;数据词典用以定义系统中的数据;结构化语言、判定表和

6、判定树都是用以描述数据流化语言、判定表和判定树都是用以描述数据流的加工的工具。的加工的工具。13概要设计概要设计 概要设计又称为总体设计或初步设计,概要设计又称为总体设计或初步设计,它的基本目的就是回答它的基本目的就是回答“概括地说,系统概括地说,系统应该如何实现应该如何实现?”这个问题。在总体设计这个问题。在总体设计阶段,应划分出组成系统的物理元素阶段,应划分出组成系统的物理元素程序、文件、数据库、人工过程和文档等,程序、文件、数据库、人工过程和文档等,并确定系统中每个程序由哪些模块组成以并确定系统中每个程序由哪些模块组成以及这些模块相互间的关系。及这些模块相互间的关系。1415概要设计概要

7、设计l实施总体设计的过程如下实施总体设计的过程如下:1设想供选择的方案设想供选择的方案 2选取合理的方案选取合理的方案 3推荐最佳方案推荐最佳方案 4功能分解功能分解 5设计软件结构设计软件结构6数据库设计数据库设计7制定测试计划制定测试计划 8书写文档书写文档 9审查和复审审查和复审 16概要设计概要设计总体设计的图形工具总体设计的图形工具一、层次图一、层次图 层次图是在总体设计阶段最常使用的层次图是在总体设计阶段最常使用的图形工具之一,它常用于描绘软件的层次图形工具之一,它常用于描绘软件的层次结构。层次图中的每个方框代表一个模块,结构。层次图中的每个方框代表一个模块,方框间的连线表示模块间

8、的调用关系。方框间的连线表示模块间的调用关系。17概要设计概要设计二、二、HIPOHIPO图图 HIPO图实际上由图实际上由H图和图和IPO图两部分组成。图两部分组成。H图图即即层次图,为了能使层次图,为了能使HIPO图具有可跟踪性,在图具有可跟踪性,在H图里除了图里除了最顶层的方框之外,每个方框都加了编号最顶层的方框之外,每个方框都加了编号;和和H H图中的图中的每个方框相对应,有一张每个方框相对应,有一张IPOIPO图描述这个方框代表的模图描述这个方框代表的模块的处理过程。块的处理过程。IPOIPO图能够方便地描述数据输入、数据图能够方便地描述数据输入、数据处理和数据输出之间的关系。它的基

9、本形式是:在左边处理和数据输出之间的关系。它的基本形式是:在左边的框中列出有关的输入数据,在中间的框中列出主要的的框中列出有关的输入数据,在中间的框中列出主要的处理处理处理框中列出的处理次序暗示了执行的次序,处理框中列出的处理次序暗示了执行的次序,在右边的框中列出产生的输出数据。另外,还用类似向在右边的框中列出产生的输出数据。另外,还用类似向量符号的粗大箭头清楚地指出数据通信的情况。量符号的粗大箭头清楚地指出数据通信的情况。18概要设计概要设计三、结构图三、结构图 结构图中的每个方框代表一个模块,框内注明模块结构图中的每个方框代表一个模块,框内注明模块的名字或主要功能;方框之间的箭头(或直线)

10、表示模的名字或主要功能;方框之间的箭头(或直线)表示模块间的调用关系。块间的调用关系。在结构图中通常还用带注释的箭头表示模块调用过在结构图中通常还用带注释的箭头表示模块调用过程中模块之间传递的信息。可以利用注释箭头尾部的不程中模块之间传递的信息。可以利用注释箭头尾部的不同形状来区分:尾部是空心圆表示传递的是数据,尾部同形状来区分:尾部是空心圆表示传递的是数据,尾部是实心圆则表示传递的是控制信息。是实心圆则表示传递的是控制信息。19详细设计详细设计详细设计以总体设计阶段的工作为基础的,但又不同于总详细设计以总体设计阶段的工作为基础的,但又不同于总体设计,主要表现为以下两个方面:体设计,主要表现为

11、以下两个方面:(1)在总体设计阶段,数据项和数据结构以比较抽象的)在总体设计阶段,数据项和数据结构以比较抽象的方式描述,而详细设计阶段则应在此基础上给出足够详方式描述,而详细设计阶段则应在此基础上给出足够详细描述。细描述。(2)详细设计要提供关于算法的更多的细节,例如:总)详细设计要提供关于算法的更多的细节,例如:总体设计可以声明一个模块的作用是对一个表进行排序,体设计可以声明一个模块的作用是对一个表进行排序,详细设计则要确定使用哪种排序算法。在详细设计阶段详细设计则要确定使用哪种排序算法。在详细设计阶段为每个模块增加了足够的细节后,程序员才能够以相当为每个模块增加了足够的细节后,程序员才能够

12、以相当直接的方式进行下一阶段的编码工作。直接的方式进行下一阶段的编码工作。20详细设计详细设计详细设计的任务详细设计的任务 (1 1)确定每个模块的算法。)确定每个模块的算法。(2 2)确定每一个模块的数据组织。)确定每一个模块的数据组织。(3 3)为每个模块设计一组测试用例。)为每个模块设计一组测试用例。(4 4)编写详细设计说明书。)编写详细设计说明书。21详细设计详细设计详细设计的原则详细设计的原则(1 1)模块的逻辑描述正确可靠、清晰易读。)模块的逻辑描述正确可靠、清晰易读。(2 2)采用结构化程序设计方法,改善控制)采用结构化程序设计方法,改善控制结构,降低程序复杂度,提高程序的可读

13、结构,降低程序复杂度,提高程序的可读性、可测试性和可维护性。性、可测试性和可维护性。22详细设计详细设计 详细设计的工具详细设计的工具一、一、程序流程图程序流程图 二、二、N-SN-S图图 三、三、PADPAD图图(问题分析图问题分析图)四、四、PDLPDL语言语言 23软件测试软件测试 软件测试是保证软件质量的关键步骤,它是软件测试是保证软件质量的关键步骤,它是对软件系统规格说明、设计和编码的最后复审。对软件系统规格说明、设计和编码的最后复审。广义上讲,测试是指软件产品生存周期内所广义上讲,测试是指软件产品生存周期内所有的检查、评审和确认活动。如:设计评审、有的检查、评审和确认活动。如:设计

14、评审、系统测试。系统测试。狭义上讲,测试是对软件产品质量的检验和狭义上讲,测试是对软件产品质量的检验和评价。它一方面检查软件产品质量中存在的质评价。它一方面检查软件产品质量中存在的质量问题,同时对产品质量进行客观的评价。量问题,同时对产品质量进行客观的评价。24软件测试l单元测试l集成测试l系统测试l安全测试l配置测试l负载测试l自动化回归测试贯穿整个测试过程25单元测试l单元测试的相关概念l什么是JUnitl一个简单的例子26单元测试l什么是单元测试?单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件

15、(或者场景)下某个特定函数的行为。27单元测试l单元测试的执行者程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试 l单元测试的重要进行充分的单元测试,是提高软件质量,降低开发成本的必由之路。28单元测试l单元测试对象单元测试,应专门编写测试代码,并与产品代码隔离在结构化程序时代,单元测试所说的单元是指函数,在当今的面向对象时代,单元测试所说的单元是指类。l单元测试时间单元测试越早越好!29单元测试l单元测试一般方法编写产品函数的框架然后编写测试函数,针对产品函数的功能编写测试用例,然后编写产品函数的代码,每写一个功能点都运行测试,随时补充测试用例。30The Testing P

16、roblemsprogrammersShould write fewDoWhy?I am so busyIt is difficult 31单元测试l为什么单元测试难以真正实施:代码“难以”编写单元测试 项目进度要求和时间限制不想编写单元测试l带来的后果:项目后期质量问题 代码逐渐”腐烂”32JUnit Tutoriall单元测试的相关概念l什么是JUnitl一个简单的例子33 JUnitlJUnit基于面向对象构建的java单元测试框架.方便开发者编写单元测试并运行它也是第一个单元测试框架.lJUnit测试可以通过多种方式运行:1.Swing GUI2.Eclipse Plugin3.Com

17、mand Line4.Ant Script34JUNITlJUnit的架构:lTestCase:由开发者编写lTestSuite:一组TestCase的集合lTestRunner:运行TestCase/TestSuitelTestResult:收集测试结果lTestListener:测试运行过程中监听事件35JUnit Tutoriall单元测试的相关概念l什么是JUnitl一个简单的例子36More Readinglhttp:/www.junit.org/index.htmlhttp:/open.ncsu.edu/se/tutorials/junit/lhttp:/www.cs.umanit

18、oba.ca/eclipse/10-JUnit.pdflhttp:/supportweb.cs.bham.ac.uk/documentation/tutorials/docsystem/build/tutorials/junit/junit.pdflhttp:/ 38当前软件过程普遍存在的测试问题l手工过多,缺少测试工具,自动化测试方式缺失l缺乏文档测试、检查l测试在开发基本完成时才启动l测试案例、测试方案的重用率低下l测试人员素质低,缺乏相关知识培训l测试进度的错误估算39自动化测试的好处l执行一遍测试的速度大约是人工测试的1/10l每次测试正确执行相同的动作,避免人工测试的错误l重复执行相

19、同的测试l可以撰写复杂测试脚本,以带出隐藏在应用程序中的信息l建立广泛的测试脚本,涵盖应用程序所有功能40自动化测试应该做的l测试应用程序做期望要做的事情(建设性或积极的测试)l测试应用程序不做不期望做的任何事情(破坏性或消极的测试)l测试应用程序是健壮的(如:能够处理假的数据而不崩溃)41主要的自动化测试工具lRational Robot:业界最顶尖的功能测试工具,集成在测试人员的桌面 IBM Rational TestManager 上,测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。l QuickTest Professional:功能测试自动化工具,主要应用在回归测试中。QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以及现在越来越流行的Web应用。lQA Run:QARun的测试实现方式是通过鼠标移动、键盘点击操作被测应用,既而得到相应的测试脚本,对该脚本可以进行编辑和调试。42

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(一个定义软件生存期汇总课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|