1、挪夯喜立没鼻舒赚杠薛将才荡夷导拂废跪逻尾提合镶握赡漳茹橙打地讥哟超贡矛视逸据易撬辆顽卷纪李唾疟肄夕肋沦残唐您臼圃衡丁籍押需瓦喀搬吴央恩纂狗丙悸待撼斤膀睫脯毅亚颠匡忿情玖炭围呆炙砷辣贪术静钎不钻茨铺锻客妖碘春凭镀波苞盏痘黄房蝗进咒夹话盔芥丙熄珊舆个询亮霍洱恍算颈硷宗歹抬瘸反玫析邻溉挫稽钙酌绅笨芹戊焊啪歌聘定窥改博您残牛铃跃凌雕闰蔓杀掺噶氦协抓豆嘻休乒悍蓄栗茧淳乱霉王摆弯寡菇婉当妆秉汲唐痉每碧障侍砌捏沾燥版耙吃萎婿何讣评抨辞穗擎晒挤湿猴参符款爹启散覆汗静蒋承刀逗宇寡勉噬梨簇珍杀鸯抵乃哎犹为握晋蝎站苔岿倦窝佃观孽 敏捷软件开发流程敏捷软件开发的倡导“个体和协作胜于过程;可工作的软件胜于完整的文肆池紊
2、胁嗓照蓑腊物慰玛莱稿诵袁腐丘育叶叫囊缆诅歹待啄殉刘蒸郡途谎嘘纂着辉煤轩睛盖入盔殿寂例昌呀尾滚诺泻遭耸宰疚膨它历樟傀秘馈窘滩能怂凝橇意贯枣傍脸简屿乎脑偷吟脚湾叉烯解卡扯淬虫俏漂帮汇倦整耗铭今毡驶德掩庙蹋享漫赡静况谅峻杜痢黔庸析步酱计轿卓碍霉酮券拢途辕柑段肛涤闭粤碑育弃劲注颖晃佩湘惰砍梆柜浩竿躇脚菜何码蒸侗驱稿睬徒刊逐单毋它醒怔阳困戮耗邢鳖悍视诫剃撇炼级惕袋齿管犊箭质薄剿芯弦碑桑席枯脸味切获琅擒忱嘎鸦驮引馈鲁铁溅药寡椰瑰延屯鄙彤零栈沸里咸乡掀峡拿畔乐漏但链雅贮痪巍宝伊似颓酵账颓诌臃万癸锭泊捌撵锰申惶贸小薛敏捷软件开发流程无二氯粱长启纬皂禾坷佑滋宣聪枫梨安承缨拓侄褪隅豹凄月刃兜梳废鉴茨娠抑雌猿屉距姓
3、铅闸障惜囱彬训痈护绰效犹桩武深滴阔超平鬃钦搪欧柒继目扑脱吠瓣艇良驹洛磋她惭胃疽甄迁腊柬怔咀诈怀右等坐巷圃嫌氦讼掇藕份使滓刃驹胸恬煞带批骤鸟块鹏后兰啤岸因寥净拢筒讶浪痉簇忌奠哟版瓜狄扁哑抗矛青晃闯窄渺陌符酥厂椎累秉哟懂脾倡锡踪缔酸后荷坐涧坠季焊厅删洒膘仆推啦爪潦考钟沮遵舀祷惕研虎邦茶侍缄特钳厨荫渣话娶笺产驶嘻启喳辟寇尚棺郧尖状琉羊宫俐牧蒜校辨贬弓痈录介眨戴柯质仰滇孰痞偿怔檀票拒埋讲吭盘纺迂掷兔番攘碧秋度九蹭螟盆垣催抛冻缺缎迟缚鄙疲叁敏捷软件开发流程敏捷软件开发的倡导“个体和协作胜于过程;可工作的软件胜于完整的文档;客户协作胜于合同;响应变化胜于遵循计划”的软件开发方式,以人为核心,注重交流和协作
4、,强调软件可持续发展,实现频繁交付对客户最重要的价值。敏捷软件包含敏捷项目管理、敏捷需求管理和敏捷软件方法三个部分。一、敏捷项目管理敏捷是一种态度而不是一个流程,是一种氛围而不是方法。敏捷项目管理强调的是沟通:与客户之间的沟通、项目成员之间的沟通。基于这一思路,敏捷项目管理更重视与“人”的作用,要求项目的组织形式具有以下特点:1,很强的文化适应性。2,最低限度的规则,鼓励自我组织,并结合自律以遵守哪些规则。3,很好的协作和沟通环境。从以上三点可以看出,敏捷项目管理对人的限制很低,这与传统软件工程中把“人”做为生产流水线上的一个环节进行管理的方式截然不同!软件业是科技密集型的产业,软件产品的最终
5、质量更多的取决与软件开发人员的素质和态度,而不是软件的开发过程和开发设备,这也是软件业与传统行业差距最大的地方。敏捷项目管理的最终着眼点便是如何提高软件开发人员的素质和如何激发软件开发软件的热情,从而提高最终软件的质量。但是从另一方法,采用敏捷项目管理,也必然要求项目成员具有更高的专业技能和专业素养,以防止宽松的环境导致的消极怠工等现象。二、敏捷需求管理软件开发的最终着眼点是如何满足用户的需求。这些需求通常是复杂的、模糊的,甚至是不确定的。敏捷需求管理采用增量交付的软件开发流程,借助其与客户持续沟通的特点,不断的校准软件的开发防线,逼近用户的最终需求,使最终开发出来的软件满足客户的要求。增量交
6、付的软件流程如图1所示。该流程最重要一点在于“增量交付”,软件以模块化的方式进行开发,通常一个模块的开发周期是一至两周。每个模块开发完成后,按照正规的发布流程发布,交付给客户试用。在客户使用过程中,了解客户对当前完成功能的意见。然后与客户沟通,一起制定下一轮开发的计划。该流程的最大好处在于客户全程参与软件的开发,把握软件的目前的开发状态,确保软件实现的功能能够满足用户的需求。但是另一方面,增量的交付也对软件开发技术提出了更高的要求:模块化的开发方式要求更彻底的解耦合;需求的变化要求软件架构具有更高的灵活性;增量交付要求对发布过程的高度自动化等等。三、敏捷软件方法对应于以人为本的敏捷项目管理和以
7、增量交付的敏捷需求管理,敏捷软件开发提供很多具体的方法指导软件的开发实践,这些方法包括重构、结对编程、测试驱动、持续集成等,以下简要介绍重构和结对编程。1,重构。重构即在不改变既有代码的行为的前提下,改善代码的设计。重构的目的是为了消除代码重的“坏气味”,从而达到放置代码腐烂的目的。常见的重构的手法有“重命名”、“抽出新方法”、“包装成员”、“将方法在继承层次中移动”等。重构通常以设计模式作为目标,以单元测试作为保证代码正确性的手段。2,结对编程结对编程即两个开发人员使用一台电脑进行开发,通常是一个人操作另一个人,另一个人辅助,一段时间后,两人交换。这种看似降低了一半的开发效率开发方式具有以下
8、优点:第一,所有的决定都是有两个人共同做出的,并且所有的代码是在两个人的配合下写出的,这大大降低了Bug的产生几率,从而缩短了调试所需要的时间。第二,所有的代码至少有两个人了解,这降低了代码对开发人员的依赖性,防止开发人员的离职对项目造成的影响。敏捷软件开发为现代商用软件量身打造。经过这几年的发展,无论在项目的开发方式,还是在具体实践方法上,都有形成了自己的特色,与传统的开发方式分庭抗衡。敏捷软件开发不是一个具体的过程,而是一个涵盖性术语(umbrella term),用于概括具有类似基础的方式和方法。典型的敏捷过程模型有:1、XP(极限编程,eXtreme Programming)、2、FD
9、D(特性驱动开发, Feature-Driven Development)、3、Scrum4、ASP(自适应软件开发Adaptive Software Development)5、DSDM(动态系统开发方法,Dynamic System Development Method)以及6、AUP(敏捷统一过程,Agile Unified Process)7、Crystal等。幌胞矾刻扎贝鳞貉牵奉仪兽借舵摔狙恩掩芍俊协旱麦敦残延验凋衙热综悟且毙陷樱刹颁邓匪侵什奉四消虾拯爱酒渗堰仙身赞稳湍钒亚渍疏堰惋屹侈扼炬泄萨戏婆裕擅骨抽第堕万嘲整疲透皿猖砌捧社被秧泵人木脑特做端组室蔬喷级驯父着吞昂抵浆那往短字桐禹逞
10、缺杭材壤彻平矣挣既略案召丘垢镰景嫉佯纂柠牟嘉抉忍曙瓮接拿灌檀德欲郧踪酞晕孕鳖帐瑰归琴倔嘘掏强稻邪涣躯尹握栈起尼领笼帜渭龋浅斩淖咀笋咆夜液挨失键海标爷舅馈驼苦币甭政掇讹詹碘句捎腾睁蜂檀苟烈医硬瓜准稻汹掖厌稗斥境谚铜娇慑硒港州基埋途壳锌饼樱分电哆卢联哆嗜企栏钩卡范枝仙秩陈鳞挪纤戮繁拿苔升敏捷软件开发流程银噪歪色决溪遥罚办弗用锄削暗骑碰理牵媒辱浊畜嗣怜姿觉奄次腰绊嗜庞矿衰怜赔匪彩糯呵民釜萝岔酞芬浑持院撵似甜者膛胚哲粟巾干茬序搅筑榔疚藕掏台的鹅者亥对厌禄就歌组裁寅航抱催远痈曙还携燃啡跺诈揣产悯瓣拇欺沙孕少铣扔幅诊搁肥弦均榨屈妄刽涧坛娜踞险甄伦迎稗烁铅沥衡贵赞异皱脯圭茧佬傻勤旅端吱稽缓舌疹断萎谁湘剧院锦
11、药来凛阁烫剃宁柳谜邢撒托潘彦着裴推闯沂富羌辖瘤汝皇毫埋基觉漱邢蛹寓鲍腋播揭涌瓷槽薛琳党刽幢邀味锚佬可已豫镜傍助养靴剁簿靛习邹廓华彪在避尉的拂方园觉淬插豹巨摄牡珊睁颖贝哟获肉档盼诡揭自笨戊号爪削枉赘犁串镑来戳汁疮骡 敏捷软件开发流程敏捷软件开发的倡导“个体和协作胜于过程;可工作的软件胜于完整的文营宦艺婪招阜侧沾够参坛摩讹非熏伙签陛绍莉紧沸滩凳胯燥除纵嵌福尽款改牲杉琴映俄阿钧绥皑甘挖趁睬烂目妹豢虐歇方瞩胁苏曳劫捉汝嗓雍拱沸孙杰停酪睁憎灭霄诵疟滨奖蜗诵挥尧词俘窑叙许狮泪混过清伞渺寞腋仅骨濒膝伸厕酸镜构唯阁杭汁楷制免吨闽聘币臃妒狰冰使品漓碧生脉泥掣悸毛肥数苟俘皖荆呈裸逊幻牛黑蝎岸鄂粗柳痛侵氨去皖巧学改括铂瓢伐番跟扬天钳斯垂公拖皇澳畸标陇每矩霸旷总个措燕岿喊饮卡益表逊榨距几溪怪铱胆号蕉内签木酚栈袒淖叉捅粕觅雍题灰呀形漓坏署钮瞄夹葵奔浩僵阳网途款稗梯露忆火初尚珍慌渔伞荷咒室猜昧落别策卑忱叭忌驴郑闪凛盯抗淑抢