基于敏捷软件开发方法的Web2.0网站开发—— 敏捷过程的实施---毕业论文.doc

上传人:滴答 文档编号:1273845 上传时间:2019-01-26 格式:DOC 页数:63 大小:893.50KB
下载 相关 举报
基于敏捷软件开发方法的Web2.0网站开发—— 敏捷过程的实施---毕业论文.doc_第1页
第1页 / 共63页
基于敏捷软件开发方法的Web2.0网站开发—— 敏捷过程的实施---毕业论文.doc_第2页
第2页 / 共63页
基于敏捷软件开发方法的Web2.0网站开发—— 敏捷过程的实施---毕业论文.doc_第3页
第3页 / 共63页
基于敏捷软件开发方法的Web2.0网站开发—— 敏捷过程的实施---毕业论文.doc_第4页
第4页 / 共63页
基于敏捷软件开发方法的Web2.0网站开发—— 敏捷过程的实施---毕业论文.doc_第5页
第5页 / 共63页
点击查看更多>>
资源描述

1、 本 科 毕 业 论 文 基于敏捷软件开发方法的 Web2.0 网站开发 敏捷过程的实施 The Web2.0 website development based on Agile programming Implementation of Agile Development Process 姓 名: 学 号: 学 院:软件学院 系:软件工程 专 业:软件 工程 年 级: 指导教师: 年 月摘 要 自 20世纪 60 年代“软件危机 ” 出现以来,人们提出了软件工程的概念,通过工程学的方法 组织软件的生产和管理。 近年来,人们提出了一系列的软件过程模型,其中具有代表性的是 Rational 公

2、司的 RUP 过程。 然而工程化并没有 给软件开发带来质的变化。 因为 软件不是物化的东西,其中包含着人的因素,它有很多变动的东西。 为了响应变化,出现了一些敏捷软件开发方法,其中具有代表性的是 XP。 传统的软件开发 方法是强调过程化的,它 们 是有序的,有规则的,可管理的,但是不够灵活的,而 敏捷软件开发方法注重人的因素,这种开发方法 是灵活的,适应性强的,但是也是无序的,不易管理的。所以, 在软件开发过程中 可以 结合工程化和人性化 的软件开发方法,使人们可以有效的开发更高质量的软件。 本文 首先分析了敏捷软件开发思想及其代表性的开发方法极限编程 ,随后 介绍了统一过程,接着对两者进行了

3、比较,基于比较的结果,提出 了将两者融合在一起,以适合开发小型项目实际情况的思想。本文探讨了如何在小型项目中应用XP 和 RUP 结合的开发过程, 提出了采用用例 、测试双驱动的开发方案。 通过结合使用 XP 和 RUP,开发团队可以得到一个过程帮助它们快速的完成高质量 软件的开发 。采用 XP 和 RUP 结合起来的开发过程,我们成功的完成了一个网站。 经过实践, 应用该过程 节省了开发时间,提高了开发效率。 关键词 : 敏捷开发;极限编程;统一过程ABSTRACT Since “software crisis” appeared in 1960s, people put forward t

4、he concept of the software engineering; this concept advocated that organizing the production and management of software by engineering. In recent years, people brought forward a series of software development process models, among them RUP by Rational corporation is famous and representative. But t

5、he engineering didnt bring basically of variety for software development. Because software is not physical and chemical things, including the human factor and it has a lot of changes. In response to changes a number of agile software development methods come out, which XP is famous and representativ

6、e. Traditional software development methods put emphasis on process-oriented, they are ordered, ordinate and can manage, but also is not flexibility enough. And agile software development methods focus on the human factor, which is vivid, the adaptability is strong, but also is to have no preface of

7、, not easy management of. So, in the process of software development can be combined with engineering and humanized software development methods so that people can effectively develop higher quality software. This paper first analyzes the agile software development and its a representative agile mod

8、el XP, and then introduces the Unified Process. Then this paper compares XP and RUP, and points out that people can combine XP and RUP to develop the small projects. This paper also discuss how to develop small projects with the combination of XP and RUP. By combining of XP and RUP, the development

9、team can get a process to help them develop software quickly. We adopted this process to finish a web site. After practice, application of the process can save development time and improve the development efficiency. KEY WORDS: Agile development; Extreme Programming; Unified Process 目录 第一章 引言 .1 第二章

10、 敏捷软件开发分析 .2 2.1 敏捷软件开发的研究现状 .2 2.2 敏捷软件开发方法 .3 2.2.1 敏捷软件开发方法概述 .3 2.2.2 敏捷软件开发价值观 .3 2.2.3 敏捷软件开发原则 .4 2.2.4 敏捷软件开发的方法 .5 2.3 极限编程 .5 2.3.1 极限编程概述 .5 2.3.2 XP 开发的生命周期 .6 第三章 RUP 分析 .9 3.1 RUP 简介 .9 3.2 RUP 的核心思想 .10 第四章 XP 与 RUP 结合的分析 .12 4.1 XP 与 RUP 的比较 .12 4.2 XP 结合 RUP 过程的研究 .14 4.2.1 XP 结合 RU

11、P 的开发过程 .14 4.2.2 迭代过程 .15 第五章 XP 与 RUP 结合在拼客 网站中的应用 .20 5.1 项目背景 .20 5.1.1 拼客网站的简介 .20 5.1.2 网站功能模块划分 .21 5.1.3 人员组成与分配 .23 5.1.4 网站的相关技术 .24 5.2 网站实施过程 .33 5.2.1 网站整体框架的搭建 .33 5.2.2 第一次迭代过程 .34 5.2.3 第二次迭代过程 .42 5.2.4 网站的实施效果 .44 第六章 结论 .45 参考文献 .46 致谢语 .47 Contents Chapter 1 Introduction. 错误 !未定义

12、书签。 Chapter 2 Analysis of Agile Software Development错误 !未定义书签。 2.1 Agile Software Development Research. 错误 !未定义书签。 2.2 Agile Software Development Methods .3 2.2.1 Introduction .3 2.2.2 Value. 错误 !未定义书签。 2.2.3 Principle . 错误 !未定义书签。 2.2.4 Method . 错误 !未定义书签。 2.3 Extreme Programming . 错误 !未定义书签。 2.3.1

13、 Introduction . 错误 !未定义书签。 2.3.2 Life Cycle.6 Chapter 3 Analysis of RUP .9 3.1 RUP Introduction .9 3.2 The code idea of RUP.10 Chapter 4 Combination of XP and RUP Analysis .12 4.1 Compartion of XP and RUP. 错误 !未定义书签。 4.2 Combination of XP and RUP Research.14 4.2.1 Dvelopment Process.14 4.2.2 Interat

14、ive Process . 错误 !未定义书签。 Chapter 5 Application in PinKeWeb of combination of XP and RUP .20 5.1 Project Background .20 5.1.1 Introduction .20 5.1.2 Division of Function Model . 错误 !未定义书签。 5.1.3 Division of Labor . 错误 !未定义书签。 5.1.4 Devlopment Related Skills . 错误 !未定义书签。 5.2Implementation of PinKeWeb

15、.33 5.2.1 Framework .33 5.2.2 First Interative Process.34 5.2.3 Second Interative Process . . .42 5.2.3 Effect of Implementation .44 Chapter 6 Conclusions .45 References .46 Acknowledgements .47 基于敏捷软件开发方法的 web2.0 网站敏捷开发过程的实施 1 第一章 引言 在软件业的发展过程中,软件开发的工程化对缓解“软件危机”起了一定的作用,但是软件开发的风险还是没有明显的减少。近二十年来,人们提出

16、了多种软件过程模型,这些过程模型便形成了传统的软件开发方法。传统的软件开发方法认为更改程序会随时间的推移而以指数的方式上升。所以它强调尽量在需求定义和分析阶段做的细致些,以便在下一个阶段的设计和实现中能发生少的变动,以保证软件成本。这种思想如果运用在一个需求明确,变化不大的项目中,显然是一个很好的方法,但在软件业中变化和不确定是不可避免的。很多项目的需求在项目起始阶 段是模糊的,是变化频繁的,这样就导致了进度延迟、项目取消、系统恶化等增加软件风险的情况。这些情况可能导致软件质量不能保证,软件不能及时交付等问题,以致造成巨大经济损失。造成这些现象的原因有许多,其中最为重要的一点是开发团队不能快速

17、响应变化。 为了能够快速响应软件项目的变化,在过去几年中出现了一类新方法。尽管它们还没有正式的名称,但是一般被称为“敏捷型”方法。敏捷软件开发思想提倡快速交付,注重沟通,以人为本,用小增量迭代的开发模式使开发团队响应变化的能力得到增强。因此,敏捷可以看作是对变化和不确定的全面反应。 敏捷开发是在无过程和过于繁琐的过程中达到了一种平衡,使得能以不多的步骤过程获取较满意的结果,它可理解为在原有软件开发方法基础上的整合取其精华,去其糟粕。所以它是改善,而非创新。 本文首先对敏捷开发思想进行了分析和其中最为流行的极限编程做了介绍,接着对传统软件开发中统一过程做了描述,随后对极限编程过程和统一过程做了比

18、较分析,得出一个较为合理的开发过程,最后本文将这个开发过程应用到拼客网站。 基于敏捷软件开发方法的 web2.0 网站敏捷开发过程的实施 2 第二章 敏捷软件开发分析 本章介绍了敏捷软件开发方法的研究现状及思想 以及 和方法,并以 XP为例,介绍了这种轻量 级软件开发方法。首先 2.1 节描述了敏捷开发方法的研究现状,2.2 节介绍了敏捷开发的思想和 敏捷开发的 方法 , 2.3 节着重介绍了敏捷开发方法中最流行的极限编程技术。 2.1 敏捷软件开发的研究现状 20 世纪 80 年代后期, Kent Beck 和 Ward Cunningham 共事期间他们一直探索着新的软件开发方法, 后来

19、Kent 在 在一个项目中引入了新的软件开发观念即 极限编程 (Extreme Programming,简称 XP)1。美国的 Jim High Smith 在 20世纪 90 年代中期研究复杂适应性系统的语言和商业用途, 并在他的书 Adaptive Software Development(自适应软件开发 )中描述了这种软件开发语言的应用。 在20 世纪 90 年代早期 , Ken Schwaber 和 Jeff Sutherland 共同开发了 Scrum流程,协助困境中的机构处理复杂的开发项目。 Peter Coad、 Jeffde Luca、Eric Lefebvre 在完成了一项新

20、加坡大型项目后,共同研究发明了一套针对中小型软件开发项目的开发模式,叫特征驱动开发。这些专家总结的思想都有共同的特点,就是运用“轻但够用”的原则,以及以人为本和以沟通 为中心的原则,这些开发方法体现的思想就是敏捷软件开发思想的前身,在 2001 年 2 月,在美国的犹他州的雪鸟城,这些提倡“敏捷”开发的专家聚集在一 起,讨论得出了敏捷软件开发宣言,从此,敏捷软件开发思想正式提出 2。 许多软件公司的项目经理,开发人员都沿着某种敏捷开发方法进行实践,取得了非常好的效果。 Robert C. Martin 所著的 Agile Software Development Principles, Pat

21、terns, and Practices 一书更获得了 2002 年度美国 Jolt 一般类图书震撼大奖; 极限编程创始人 Kent Beck 撰写的 Test-Driven Development 一书又获得 2002 年度 Jolt 技术类图书效能大奖; Dave Astels 所著的 Test Driven Development: A Practical Guide 获得了 2003 年度 Jolt 技术类图书震撼大奖。可见,敏捷开发方法正在被越来越多的开发团队所接受和实践。 基于敏捷软件开发方法的 web2.0 网站敏捷开发过程的实施 3 2.2 敏捷软件开发方法 2.2.1 敏捷软

22、件开发方法概述 敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子 项目都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可适用状态。 敏捷软件开发主要由两方面构成 :(1)由敏捷软件开发价值观和敏捷原则构成的敏捷软件开发的一个高层需求,这个高层需求构成了一个有效的软件方法的准则 (2)用于软件开发的实践指导的以敏捷软件过程为基础的敏捷方法。 2.2.2 敏捷软件开发价值观 敏捷软件开发的价值观由 4个部分组成: 个体和交互胜过过程和工具;可以工作的软件

23、胜过面面俱到的文档 ;客户合作胜过合同谈判 ;响应 变化胜过遵循计划。 敏捷软件开发的这个价值观强调了敏捷软件开发中应该集中精力注意每项的前半部分,但不是完全排除每项的后面部分 2。 (1)个体和交互胜过过程和工具 人是获得成功的最为重要的因素。如果团队中没有优秀的成员,那么就是使用好的过程也不能从失败中挽救项目,但是不好的过程却可以使最优秀的团队成员失去效用。如果不能作为一个团队进行工作,那么即使拥有一批优秀的成员也一样会惨败。团队的构建要比环境的构建重要得多。许多团队和管理者就犯了先构建环境,然后期望团队自动凝聚在一起的错误。相反,应该首先致力于构建团队 ,然后再让团队基于需要来配置环境。 团队建设关键在于人和人与人之间沟通 ,环境构建主要是开发过程制定以及开发软件的确定。 (2)可以工作的软件胜过面面俱到的文档 没有文档的软件是一种灾难。代码不是传达系统原理和结构的理想媒介。团队更需要编制易于阅读的文档,来对系统及其设计决策的依据进行描述。然而,过多的文档比过少的文档更糟。编制众多的文档需要花费大量的时间,并且要使这些文档和代码保持同步,就要花费更多时间。如果文档和代码之间失去同步,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。