版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 软件开发过程,软件工程与开发过程 严格地说,软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。 通俗地说,软件工程是实现一个大型程序的一套原则方法,即按工程化的原则和方法组织软件开发工作。 软件测试是软件工程的一个重要环节,相当于工程领域中的质量检验部分,是确保软件工程质量的重要手段,对于软件测试与软件开发过程之间的关系,套用固定的模型不是聪明之举。 比如“程序设计”与“测试”之间的关系,习惯上总以为程序设计在先,测试在后,如图(a)所示。 而对于一些复杂的程序,将测试分为同步测试与总测试更有效,如图(b)所示。,程序设计与测试的关系,软件及其特征 软件定义 软件是由能够完
2、成预定功能和性能的一组计算机程序、能被充分操作的数据结构、描述程序设计和使用的文档三部分组成 软件=程序+数据+文档,软件特征 软件是一种逻辑实体,具有抽象性 软件的生产不同于硬件的制造 软件不会磨损 软件开发和运行对计算机系统有依赖性 软件的开发是一个复杂的过程,软件生命周期 定义 一个软件从它发生到消亡的过程 三个时期 软件定义 软件开发 软件使用与维护,问题定义,可行性研究,需求分析,概要设计,详细设计,编码,测试,维护,生命周期的八个阶段,测试步骤 测试步骤详细规定 如何设置 执行 评估特定的测试用例,软件产品的组成 开发投入,客户需求,产品说明 综合描述 没有统一标准格式,可根据具体
3、情况而定,设计文档 设计方案/计划 软件设计文档内容 架构 数据流示意图 状态变化示意图 流程图 注释代码 测试文档 开发进度表 软件产品组成部分,软件项目组成员 项目管理员 系统设计师 程序员 软件测试人员 技术制作、用户助手、用户培训员、手册编写和文件档案专员 结构管理和制作人员,软件开发模型 软件开发模型 软件开发全部过程、资源、活动和人物的结构框架,规定了完成各项任务的工作步骤 目前主要的六种软件开发模型,1大棒模式 源于能量爆发创造宇宙,万物都由能量和物质积聚而成的理论,但如果不是遵循某种正确的排列和组合,形成的将不是预先期望的事物。 大棒模式与上述理论一样:一大堆能量(这里指开发软
4、件所需的人力和物力)放在一起,巨大的能量进行释放,通常的结果可能是产生了优秀的软件产品或成为一堆“废品”(不成功的软件)。,优点: 思路简单, 通常可能是开发者的“突发奇想”。缺点: 开发过程是非工程化的,随意性大。关于测试: 有的较简单,有的则非常困难。,2.边写边改模式 采用边写边改法的软件开发通常只是有了比较粗略的想法就开始进行简单的设计、然后进行较长的反复编写、测试与修复这样一个循环的过程。 在认为无法更精细的描述软件产品要求时,就发布产品。,优点: 能够较为迅速的展现成果,适合需要快速制作而且用完就扔的小项目,如示范程序、演示程序等。 缺点: 其编码和测试可能将是长期的循环往复的过程
5、。,3.瀑布模式 瀑布过程模型反映了人们早期对软件工程的认识水平,是人们所熟悉的一种线性思维的体现。 瀑布过程模型强调阶段的划分及其顺序性、各阶段工作及其文档的完备性,是一种严格线性的、按阶段顺序的、逐步细化的开发模式。,瀑布过程模型,优点: 1、易于理解; 2、调研开发的阶段性; 3、强调早期计划及需求调查; 4、确定何时能够交付产品及何时进行评审与测试。,缺点: 1、需求调查分析只进行一次,不能适应需求变化; 2、顺序的开发流程,使得开发中的经验教训不能反馈到该项目的开发中去; 3、不能反映出软件开发过程的反复与迭代性; 4、没有包含任何类型的风险评估; 5、开发中出现的问题直到开发后期才
6、能够显露,因此失去及早纠正的机会。,Tom Gilb: “假如你不积极地解决你项目中存在的风险,它们就会积极地解决掉你” 瀑布方法会掩饰项目中真正的风险,当你太晚发现它们时已无济于事。,4.快速原型开发模式 根据客户需求在较短的时间内解决用户最迫切解决的问题,完成可演示的产品。这个产品只实现最重要功能,在得到用户的更加明确的需求之后,原型将丢弃。,需求分析,原型开发,原型评价,最终设计,系统实现,用户反馈,快速原型开发模式示意图,5.螺旋模式 螺旋模式是瀑布模式与边写边改演化模式相结合,并加入风险评估所建立的软件开发模式。 主要思想是在开始时不必详细定义所有细节,而是从小开始,定义重要功能,尽
7、量实现,接受客户反馈,进入下一阶段,并重复上述过程,直到获得最终产品。,每一螺旋(开发阶段)包括5个步骤: 确定目标,选择方案和限制条件 对方案风险进行评估,并能解决风险 进行本阶段的开发和测试 计划下一阶段 确定进入下阶段的方法,优点: 1、严格的全过程风险管理; 2、强调各开发阶段的质量; 3、提供机会评估项目是否有价值继续下去; 4、引入严格的风险识别、分析和控制,要求风险管理技术水平很高,并需要较多的人员、资金和时间上的投入。,软件开发的螺旋模式,6.V模式 与传统的瀑布模型相比,V模式更加强调软件测试过程与分析、设计等开发过程的关联。 V模型反映了测试活动与分析设计活动的关系。,软件
8、开发的V模式,7.喷泉模式 喷泉模式是一种以用户需求为动力、以对象为驱动的模型,主要用于支持面向对象的软件开发过程。,软件开发的喷泉模式,软件测试与软件开发的关系,测试与开发各阶段的关系,测试在开发阶段的作用 项目规划阶段 负责从单元测试到系统测试的整个测试阶段的监控 需求分析阶段 确定测试需求分析、系统测试计划的制定、评审后成为管理项目 详细设计和概要设计阶段 确保集成测试计划和单元测试计划完成,编码阶段 由开发人员进行自己负责部分的测试代码。在项目较大时,由专人进行编码阶段的测试任务 测试阶段(单元、集成、系统测试) 依据测试代码进行测试,并提交相应的测试状态报告和测试结束报告,软件测试的
9、发展历程及趋势 软件测试是伴随着软件的产生而产生的,有了软件的生成和运行就必然有软件测试。 早期的软件开发过程中,测试的含义比较窄,将测试等同于“调试” 目的是纠正软件中已经知道的故障,常常由软件开发人员自己完成这部分工作 对测试的投入极少,测试介入得也晚,常常是等到形成代码,产品已经基本完成时才进行测试,直到1957年,软件测试才开始与调试区别开来,成为一种发现软件缺陷的活动。 直到20世纪80年代早期,“质量”的号角才开始吹响。软件测试的定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。软件开发人员和测试人员开始坐在一起探讨软件工程和测试问题。制定了各类标准,包括
10、IEEE标准、美国ANSI标准和ISO国际标准。,20世纪90年代,测试工具终于盛行起来。到了2002年,Rich和Stefan在系统的软件测试一书中对软件测试做了进一步定义:“测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期过程”。这些经典论著对软件测试研究的理论化和体系化产生了巨大的影响。,近20年来,随着计算机和软件技术的飞速发展,软件测试技术的研究也取得了很大的突破,测试专家总结了很好的测试模型,如著名的V模型,在单元测试、自动化测试等方面涌现了大量优秀的软件测试工具。,虽然软件测试技术的发展很快,但是其发展速度仍落后于软件开发技术的发展速度,使得软
11、件测试在今天面临着很大的挑战,主要体现在以下几个方面。 软件在国防现代化、社会信息化和国民经济信息化领域中的作用越来越重要,由此产生的测试任务越来越繁重。 软件规模越来越大,功能越来越复杂,如何进行充分而有效的测试成为难题。, 面向对象的开发技术越来越普及,但是面向对象的测试技术却刚刚起步。 对分布式系统的整体性能还不能进行很好的测试。 对实时系统缺乏有效的测试手段。 随着安全问题的日益突出,对信息系统的安全性如何进行有效的测试与评估,成为世界性难题。,根据国内外软件测试的发展现状,可以看到软件测试有以下的发展趋势。 测试工作将进一步前移。 软件架构师、开发工程师、QA人员、测试工程师将进行更好的融合。 测试职业将得到充分的尊重。, 设置独立的软件测试部门将成为越来越多的软件公司的共识。软件测试部门将和开发部、质量保证部一样作为一个重要的独立部门存在。 测试外包服务将快速增长。和软件开发外
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钻孔作业安全规定
- 水风光氢多能互补综合能源站项目可行性研究报告
- 智慧工地人员管理手册
- 人工智能应用管理制度
- 育苗大棚升级改造项目建议书
- 营造林低效林改造工程建设设计书
- 营造林低效林改造技术规范
- 污水处理厂项目申请报告
- 企业提示词资产平台建设方案
- 2026年北师大版初二语文上册第三单元基础巩固模拟试卷及答案
- 江西新华发行集团有限公司赣州市分公司2026年公开招聘工作人员笔试参考题库及答案解析
- 2026年成人高考专升本政治真题试卷及完整答案解析(官方标准)
- 2026年江苏盐城市中考物理试题(含解析)
- 2026年大学试题(管理类)-港口规划与布置历年参考题库含答案解析
- 2026年道德与法治四年级上册第5课《生命最宝贵》教案设计(2课时)
- 2026年会计从业资格考试初级会计实务考点精讲课件
- 新版2026秋统编版(新版)小学道德与法治五年级上册(全册)知识点清单梳理
- 2026年湖南省工会人员招聘考试备考题库及答案详解
- 2026公务员行测申论高频刷题题库(含详细解析)
- 给水用聚乙烯(pe)管道系统第部分管件
- 2026年及未来5年市场数据中国流量计仪表行业发展前景预测及投资规划建议报告
评论
0/150
提交评论