• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 作文范文 > 正文

    软件工程中敏捷型方法的研究|敏捷型软件工程

    时间:2020-03-28 07:26:34 来源:雅意学习网 本文已影响 雅意学习网手机站

       摘 要:敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,是在20世纪90年代后期逐渐发展起来的软件开发方法。包括XP,FDD,ASD等多种方法。    关键词:极限编程;物征驱动开发FDD;ASD
      
       所谓软件开发方法就是使用定义好的技术及表示符号来组织软件生产过程的方法。现代软件开发中的主流方法就是敏捷型开发,敏捷型开发是一种以人为核心、迭代、循序渐进的开发方法,是在20世纪90年代后期逐渐发展起来的软件开发方法。
       一、敏捷型开发方法的特征
       传统的“边编程边改”的开发方法一度尝试针对某一个项目在项目周期内给出完整详细的时间计划,然后按照制定的时间计划进行项目的开发。这种方法带有非常大的局限性,只能针对性地优化好的表象,不能随着项目的需求以及开发环境的变化而自动变化,不具各自适应性。而现代敏捷型软件工程开发方法却是与传统的恰恰相反,其突出的特征便是“适应性”,敏捷型的适应特性使得敏捷性开发变得相对比较轻松。其次,敏捷型方法另外一个特征便是其开发的整个过程中一直是面向人的,“以人为本”理念不仅是社会发展的关键考量因素,也是敏捷型软件开发的理念。敏捷型软件开发思想在实施的过程中最为关键的就是让工作组工作人员去接受这个软件开发过程。一般情况下软件开发的过程是与工作组技术员分开的,整个过程的决策权在管理者的手中,从而在一定程度上抵制了整个过程的进展,特别是决策过程的管理人员不懂技术或者很久没有从事软件开发工作。因此,强调接受过程关键是调动技术人员的积极性,使得他们自愿地投入到整个过程的工作中。并不是传统的面向过程,面向过程中强调的是过程,整个过程不会因人而变,不会因时间而改变。敏捷型方法则主要强调的是整个开发团队中人的技能水平,过程只是敏捷型方法中的一个小部分,用于支持团队工作人员的工作。
       二、敏捷型开发方法的种类
       (一)XP(Extreme Programming。即极限编程)
       敏捷型方法中最为出色的方法就是XP方法,是一门新型的软件开发学科,也是一个实践体系,能满足不断变化的业务需求,构建快速优质的软件。它涵盖了小型团队开发的所有方面――设计、实现、测试、部署和维护,在实施的过程中必须遵守四条价值准则:交流、反馈、简洁和勇气。XP方法实施过程中极端重视测试。XP方法的基础工作便是测试,在实施的过程中强调每一个技术程序员在进行编程的时候必须保证源码与测试代码同步进行,并且这些测试代码不断地积累,当整个项目完成的时候,则这些测试程序也被整合到系统中,这样的过程会产生一个高度可靠的建造平台,为进一步开发提供了良好的基础。XP方法最终体现的是“纪律性”与“适应性”的统一。
       (二)水晶系列方法(Crystal)
       在众多的敏捷方法中Crystal方法是一种实施难度较小而且能起作用的方法,很适用于现场开发。Crystal是Alistair Cockbum 提出的一组开发方法.分为Crystal Clear,Crystal Yellow,Crystal Orange和Crystal Red。分别适用于不同的项目。项目可以按照参加的人员数目和重要性划分。水晶系列的方法继承了敏捷型开发“以人为本”的理念,与XP方法实施过程中有所不同,水晶系列在不断完善,并且被很多的软件编程技术人员所采用。
       (三)High smith的ASD方法
       ASD的核心是:猜测、合作与学习。这三个软件开发阶段是非线性的、重迭的。该方法把一些源于复杂适配性系统的思想在软件开发中加以应用。在一个适配性环境中,因为结果是不可预测的,为了对付这种环境中的很多未知的不确定性,因此需要编程人员在实施的过程中要思考出各种各样的方法。这样的思考学习是连续不断的,这是这种方法的一个重要特点,因此,必须要认识到计划和设计都得随开发的推进而改变。在管理上,其重点不在予告诉大家做什么,而是鼓励大家交流沟通,从而使得他们自己能自己提出创造性的解决方案。
       (四)Coad的物征驱动开发(FDD)方法
       FDD致力于短时的迭代阶段和可见可用的功能,关注了设计和实现,需要有其他过程的支持才能使用。FDD有以下五项任务:建立总体模型、提出功用清单、针对功用逐项制定计划、针对功用逐项进行设计、针对功用逐项开发实现。编程开发人员分两类:首席程序员和“类”程序员(class owner),他们各司其职。首席程序员负责开发实现系统的各项功能,对每一项功能,首席程序员要定出需要哪些类(class)来实现这项功能,并召集“类”程序员们组成一个针对这项功能的开发组。首席程序员作为协调者,设计者和指导者,而“类”程序员则主要作源码编写。
       敏捷型方法的适用范同限制于小型的项目和小型的开发团队之中,在小型的开发项目上已经证明敏捷型开发方法是十分有效的。已经有多个成功的实践证明在大型系统开发的时候,对于局部的模块实施敏捷型方法也是有利的,至少系统开发的速度是加快了,整个软件工程方法学的发展方向正在朝合并和取长补短的方向发展。
      
       参考文献:
       [1] 郑人杰,软件T程(高级)[M],北京清华大学出版社,1999,8.
       [2] James Newkirk,Robert C Martin著,王钧译,极限编程实践[M],北京人民邮电出版社,2002.

    推荐访问:软件工程 敏捷 方法 软件工程中敏捷型方法的研究

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章