敏捷开发初探.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:17 大小:26KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

敏捷开发初探.doc

敏捷开发初探.doc

预览

免费试读已结束,剩余 7 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

敏捷开发初探敏捷开发AgileDevelopment简介软件开发模式介绍软件生命周期-同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、-衰亡等阶段,这一般称为软件生命周期。-软件开发生命周期(SDLC)是指软件开发的全部过程、活动和任务的结构框架。SDLC的一般步骤包括:确定问题、可行性分析与开发计划、收集需求、分析与设计、编码开发、测试、安装、维护。软件生命周期模式典型的几种生命周期模式包括:瀑布模式、演化模式、螺旋模式、快速原型模式、喷泉模式和混合模式等。在这里只介绍其中最常用的几种模式:软件生命周期模式瀑布式它首先是由Royce提出,该模式由于酷似瀑布闻名。在该模式中首先确定需求,然后拟定规格说明,在通过验证后方可进入计划阶段。因此,瀑布模式中至关重要的一点是只有当一个阶段的文档获得认可才可以进入下一只有当一个阶段的文档获得认可才可以进入下一个阶段。瀑布模式通过强制性规约来确保每个阶段都能个阶段很好的完成任务,但是实际上却往往难以办到。因为整个瀑布模式几乎都是以文档驱动的,这对于非专业的用户来说是难以阅读和理解的。虽然瀑布模式有很多很好的思想可以借鉴,但是在过程能力上有天生的缺陷。软件生命周期模式瀑布模型的主要缺陷:1).强调文档性:导致了往往要到开发的后期,才能看到软件的模样.为软件的开发极大的增加了风险性.2).没有迭代与反馈:导致了无法应对客户的需求变化.而在当今ERP盛行的软件市场里面,由于市场带动的软件需求变化和软件初期客户对需求描述的不清楚,嘉?布模型的使用带来了困难.3).采用瀑布模型开发的软件,极大的带来了更改的成本结果:我们需要一种能够针对需求变化作出快速有效反馈并且能够让客户在短期内看到软件模型,减少风险的开发方法-------Agile{Scrum}需求,设计阶段的问题软件生命周期模式演化模式它主要是针对事先不能完整定义需求的软件开发。它的方法是用户先给出待开发系统的核心需求核心需求,并且在核心核心需求需求实现后,再提出反馈以支持系统的最终设计和实现。也就是说:开发人员首先会根据用户的需求开发核心系统,然后提供给用户试用;用户试用后再提出增强系统能力的需求;最后开发人员再根据用户的反馈,实施迭代开发。实际上,这个模式可看作是重复执行的多个瀑布模式。演化模式要求开发人员把项目的产品需求分解为不同组,以便分批循环开发。但这种分组并不是随意性的,而是要根据功能的重要性及对总体设计的基础结构的影响而作出判断。软件生命周期模式螺旋模式:它是瀑布模式与演化模式相结合,并加入两者所忽略的风险分析所建立的一种软件开发模式。螺旋模式基本的做法是在瀑布模式的每一个开发阶段开发阶段之前,引入非常严格的风险识别、风险分析和风险控制直到采取了消除风险识别、之前风险识别风险分析和风险控制。直到采取了消除风险的措施之后,才开始计划下一阶段的开发工作。否则,项目就很可能风险的措施之后,才开始计划下一阶段的开发工作被暂停。另外,如果有充足的把握判断遗留的风险已降低到一定的程度,项目管理人员还可作出决定让余下的开发工作采用另外的生命周期模式,如演化模式,瀑布模式或自定的混合模式。过程开发模式:它又叫混合模式或元模式,是指把几种不同模式组合成一种混合模式混合模式,它混合模式允许一个项目能沿着最有效的路径发展项目能沿着最有效的路径发展。因为上述的模式中都有自己独特项目能沿着最有效的路径发展的思想,现在的软件开发团队中很少说标准的采用那一种模式的,因为模式和实际应用还是有很大的区别的。实际上,许多软件开发团队都是在使用几种不同的开发方法组成他们自己的混合模式。敏捷开发(敏捷开发(Agile)是什么?)是什么?定义–敏捷开发(Agile)是一种关注价值、消除浪敏捷开发()是一种关注价值、以人为核心、迭代、循序渐进的开发方费、以人为核法。宣言与价值观?敏捷宣言人和交互重于过程和工具。可以工作的软件重于求全责备的文档。客户合作重于合同谈判。随时应对变化重于循规蹈矩。?核心价值观沟通,简单,反馈,勇气,尊重特点–是一种开发方法学(Methodology),可以应对客户快速变更的需求。–强调以人为核心,采用迭代的方式,循序渐进地开发软件。–在敏捷开发过程中,软件项目被划分成多个相互联系但也能独立运行的子项目。–每个子项目在开发、测试直至完成的过程中一直保持可使用的状态。–这个过程就是要形成开发过程中团队之成员之间更加有效的合作关系,使其灵活性更高,以适应不断变化的需求。敏捷团队成员优秀的沟通能力–这一点的重要性不言而喻,敏捷里最强调的就是沟通,最有效的沟通方式就是面对面的交流。那种只会埋头干活,不会沟通的就需要提高自己的沟通