欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 软件技术 > 敏捷软件开发模式在Web开发中的应用

敏捷软件开发模式在Web开发中的应用

日期:2023-01-24 阅读量:0 所属栏目:软件技术


  本文将介绍敏捷开发在Web开发中的重要性。通过介绍Scrum和结对编程等常见敏捷开发方法,使读者了解应用尝试敏捷开发。

 

  软件开发模型是计算机应用开发迅速发展形成的产物,目的是为了更快更好的开发出符合用户需求的软件。我们所熟知的软件开发模型有,瀑布模型、快速原型模型、增量模型、螺旋模型、混合模型等等。而近年来,敏捷软件开发模式被越来越多的大公司所采用,我们所熟知的,GoogleFacebookYoutubeBaiduAmazonTaobao等众多知名公司,无一例外。本文将介绍敏捷开发模式的特点及其在web开发中的应用。

 

  1 敏捷开发模式的意义

 

  众所周知,敏捷(Agile)一词来自于2001年初美国犹他州雪鸟滑雪圣地的一次敏捷方法发起者和实践者的聚餐。而早在1990年起,人们就开始寻求一种可以应对迅速变化的需求的软件开发方式。敏捷开发模式能够使得团队频繁交付新软件,减少快速变化的需求带来的困扰,并且迅速提高团队成员的编程能力。

 

  2 敏捷开发模式的原则和方法

 

  敏捷开发模式之所以能够应对快速变化的需求,依赖于以下几个必要原则。

 

  2.1 尽早获取用户需求并不断交付有价值的软件

 

  在一个项目组中,会有不同的角色承担不同的任务。首先是项目经理(Project manager),其主要负责确定用户需求,制定项目开发计划,协调团队成员在规定期限内完成项目开发和交付。当项目经理与用户沟通获取项目目标并制定项目开发计划之后,就需要业务分析师(Business analyst)与用户进行沟通,获得项目开发的具体需求,用户体验设计师(User experience designer)根据需求分析设计界面,软件开发者(Developer)进行软件开发,软件开发完成后交给测试人员(Tester)进行软件测试,从而交付软件。在以前的软件开发模式中,普遍依赖业务分析师和用户沟通所完成的需求分析报告而进行软件开发和交付。这样做的弊端在于,用户在提出需求和得到交付软件之间对需求本身可能发生变化,业务分析师在与用户沟通并创建需求分析报告时对需求本身也可能产生误解,而开发者本身对需求分析也会产生误解。这就使得花费大量人力物力所开发的软件最终不能被用户所接受。而采用敏捷开发可以避免这种情况。

 

  敏捷开发中有一种叫做Scrum的迭代增量式开发过程。其目的在于缩短交付周期,不断交付有价值的软件,使得在软件最终交付时最大程度满足用户需求。这就需要改变传统的软件交付模式,当项目经理和用户沟通时,需要设定阶段行的目标和任务,由业务分析师和用户就已经确定的需求进行需求分析并且在制定需求分析的同时与开发人员及时沟通,避免软件过度开发,这样就可以缩短软件交付期限。将原本一年甚至几年的开发周期缩短至两个星期到一个月,每次交付部分有价值的软件,这样用户可以尽早体验并及时提出问题和调整需求。

 

敏捷软件开发模式在Web开发中的应用


  2.2 制定详尽的开发和交付流程

 

  将软件开发周期从几年缩短到一个月甚至两个星期,这需要制定详尽的软件开发和交付流程。而详尽的软件开发和交付流程也是实现Scrum所必须遵守的。

 

  在Scrum中一个交付周期被称为一个Sprint。在每个Sprint开始之前,要有一个Sprint的计划会议(Sprint plan meeting)Sprint计划会议是在业务分析师和用户确定好当前阶段的需求分析之后,将可以进行开发的部分按照需求的优先级顺序排列好开发任务(Story), 再由开发人员对任务进行难度评分,最后团队根据可变因素如团队成员情况,开发环境状态等确定下一个Sprint的任务。为了加强团队内部的沟通和及时掌握开发交付情况,Scrum要求团队每日开站立会议(Stand up meeting),站立会议通常12分钟每人,主要说明前一天的工作内容,存在什么问题,以及今天的工作计划。当然在每个Sprint快结束的前一天,要开评审会议,来报告进度,通常情况下是软件发布会议制定软件当前Sprint的软件发布计划。中国有句古话叫做吾日三省吾身,每个Sprint结束还有一个最为重要的会议就是回顾会议(Retrospective meeting)。回顾会议主要是总结上一个Sprint,保持优点,克服缺点。确保每个会议的有效性是Scrum实现的基础。

 

  2.3 结对编程,提高软件开发效率

 

  当需求明确且计划详细之后,对于软件开发最重要的就是提高开发效率。只有提高开发效率才能在短时间内向用户提供有价值的交付软件。对于提高软件开发效率,敏捷开发有一个很好的方式叫做结对编程(Pair programming)。所谓结对编程,就是一个任务交给两个开发人员,两个开发人员同时坐在一台电脑前面,一个人编程,另一个人实时检查,然后互换角色。当然,也可以和测试驱动设计(Test Driven Design)相结合,一个写测试用例,另一个通过实现代码使测试通过,然后互换角色。结对编程的好处在于,与传统开发一个人一个任务相比,两个人一起协作,可以尽快确定测试用例和程序接口,实时检查代码减少代码调试时间,互相学习软件开发设计技术,避免因成员变动阻碍开发进度。对于结对编程的两个人,只要两个人有互补,就可以在一起结对编程。例如,一个开发人员可以和一个需求分析师一起结对编程,需求分析师了解任务需求,可以负责编写测试用例,开发人员实现测试用例,从而使开发更满足需求。用户体验师也可以和开发人员结对编程,开发人员每实现一个功能块,用户体验师都可以进行实时的检查,从而更满足用户的体验。结对编程,看似浪费人员,因为同一时间做的任务变少,但是却能够大大提高编程效率和开发质量,是敏捷开发中重要的实现方法之一。

 

  作者:王贯飞 来源:电子技术与软件工程 20159

本文链接:http://www.qk112.com/lwfw/jsjlw/ruanjianjishu/229015.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学