1、 本 科 毕 业 论 文 基于敏捷软件开发方法的 Web2.0 网站开发 基于 ruby on rails 的拼客网站架构设计 The Web 2.0 site develoment based on Agile programming Design of PinKeWeb based on Ruby on Rails Framework 姓 名: 学 号: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 指导教师: 年 月摘要 随着 Web 应用的日益广泛和 Web 开发技术的不断发展,开发者迫切希望一种能够简化开发过程、降低开发难度,提高开发效率的框架。目前在 Web 开发平台
2、上人们使用最多的是 J2EE。但随着需求的多样化,不断加入的各种组件和逐渐膨胀的 XML 配置管理文件使得 J2EE 应用体系变得臃肿不堪,在开发和运行速度上越来 越不能满足开发者的需求。 因此,高效、高质 的 Web开发成为了发展的必然趋势,而基于 Ruby on Rails 的 Web 开发正是这一发展趋势的产物。 Ruby on Rails 框架与 J2EE 架构相比在迅速开发和部署上占了很大优势。ROR(Ruby on Rails)框架自身包含构建 Web 应用的完整组件,不需要与其他框架整合就能高效开发应用程序,从而使得开发变得简单而快捷,极大满足了开发者的需求。 本文通过对 ROR
3、(Ruby on Rails)框架作了简单描述,同时将其与 J2EE 典型框架作了比较,对 ROR(Ruby on Rails)架构下进行 Web 开发作了探索与研究,并利用 ROR 框架具体构建了 PinKeWeb(我们的拼客网)。在开发 PinKeWeb 时,解决了 ROR 框架的 中文乱码应用问题 ,相信这一改进在一定程度上进一步优化了 ROR框架 ,对今后使用 ROR 框架开发 Web 应用有指导意义。 关键词 : Ruby on Rails 框架 ; J2EE 典型框架; 拼客网 ABSTRACT With the spread of Web application and the
4、development of Web technology,developers urgently require a kind of Web Development Framework which can simplify development course,make development more convenient and imporve development efficiency.J2EE is a popular Web Development Platform used by developers at the present time.With the diversifi
5、cation of developers demands,more and more components have been added to J2EE,and XML configuration management files have become enlarged. All of these make J2EE overstaffed,which affects software development cycle and application running speed.So nowadays J2EE can not meet the needs of developers c
6、ompletely.Now the effective web development have become main trend,and the web development based on ROR framework becomes the product. Compared with J2EE,ROR(Ruby on Rails) Framework has a great advantages in development speed and deloying Web application. Rails emcompasses the whole components for
7、constructing Web application,so developers could develop web application without integrating other frameworks into Rails.It makes web development more convenient and efficient. In this paper, It makes a brief description of ROR Framework and a compare between J2EE and ROR Framework.It also explores
8、a PinKeWeb was constructed with ROR(Ruby on Rails) in this paper.In the course of PinKeWeb development,this paper put forward the solutions to the problems that Web applications developed with Rails could not display Chinese.I think this would optimize ROR(Ruby on Rails)Framework in some extent,whic
9、h provide a guide for ROR(Ruby on Rails)Frmework in future. KEY WORDS: Ruby on Rails Frmework; J2EE Framework; PinKeWeb 目录 第一章 引言 . 1 1.1 研究背景 . 1 1.2 本文的主要工作 . 2 第二章 Ruby on Rails 框架介绍 . 3 2.1 Ruby on Rail 概述 . 3 2.2 Ruby 语言 . 3 2.3 Rails 框架 . 4 2.3.1 Rails 框架的主要特点 . 4 2.3.2 MVC 设计模式 . 6 2.3.3 Acti
10、ve Record:Rails 的模型支持 . 8 2.3.4 Action Pack:视图与控制器 . 9 第三章 Rails 框架和 J2EE 典型架构的比较 . 12 3.1 Rails 和典型的 J2EE Web 堆栈比较 . 12 3.2 前端控制器比较 . 13 3.3 动作和模型 . 15 3.4 持久化框架比较 . 18 第四章 基于 ROR 的拼客网站框架设计 . 23 4.1 拼客网简介 . 23 4.1.1 拼客网的产生 . 23 4.1.2 我们的拼客网的特色 . 23 4.2 拼客网需求分析 . 24 4.3 拼客网的设计 . 25 4.3.1 拼客网的活动流程 .
11、25 4.3.2 系统功能模块的划分 . 27 第五章 拼客网 ROR 框架的实现 . 28 5.1 开发工具和运行环境 . 28 5.2 环境配置 . 28 5.2.1 运行时环境 . 28 5.2.2 环境配置 . 29 5.3 PinKeWeb 的数据库与模型类的 设计 . 29 5.3.1 数据库的的建立 . 29 5.3.2 数据库的连接 . 30 5.3.3 PinKeWeb 的模型设计 . 31 5.3.4 迁移任务 . 32 5.3.5 基于模型的校验 . 32 5.4 控制层和视图层的设计 . 33 5.4.1 控制器设计 . 33 5.4.2 视图设计 . 36 5.5 R
12、ails 的中文乱码应用问题 . 40 结论 . 42 参考文献: . 44 致谢 . 45 Contents Chapter 1 Introduction . 1 1.1 Background .1 1.2 Content.2 Chapter2 The Instruction of Ruby on Rails Frame . 3 2.1 Overview of Ruby on Rails .3 2.2 Ruby Language .3 2.3 Rails Frame .4 2.3.1 Main Features of Rails Frame.4 2.3.2 MVC Design Patter
13、n.6 2.3.3 Active Record:The Supputed Model of Rails .8 2.3.4 Action Pack:View and Controller .9 Chapter3 Competition between Rails Frame and J2EE Instructure. 12 3.1 The Competition between Rails and J2EE in Stack .12 3.2 The Competition in Controller .13 3.3 Action and Model .15 3.4 The Competition
14、 in ORM .18 Chapter4 The Design of PinKeWeb based on ROR. 23 4.1 The Instruction on PinKeWeb .23 4.1.1 The Generaftion of PinKeWeb.23 4.1.2 The Feature of PinKeWeb.23 4.2 Requirement of PinKeWeb .24 4.3 The Design of PinKeWeb .25 4.3.1 Activity Flow of PinKeWeb.25 4.3.2 Patition of PinKeWeb Function
15、 Modules .27 Chapter5 The Realize of ROR Frame in PinKeWeb . 28 5.1 Development Tools and Environment .28 5.2 Environment Deploy .28 5.2.1 Development Environment .28 5.2.2 Environment Deploy.29 5.3 The Design of DataBase and Model in PinKeWeb. 29 5.3.1 The Build of DataBase.29 5.3.2 The Connection
16、of DataBase .30 5.3.3 The Design of Model in PinKeWeb.31 5.3.4 Migration Task .32 5.3.5 The Validation based on Model .32 5.4 The Design of Controller and View . 33 5.4.1 The Design of Controller .33 5.4.2 The Desgin of View .36 5.5 International Problem on Rails Frame . 40 Conclusions. 42 Reference
17、s . 44 Acknowledgements . 45 基于敏捷开发方法的 web2.0 网站开发 基于 ruby on rails 的拼客网站架构设计 1 第一章 引言 1.1 研究背景 随着 web2.0 时代的来临,对于应用软件行业来说,软件开发逐渐由以内容为主演变成以人为主,更多地考虑了客户的需求,形成这样一种尽可能灵活应变、尽可能快速开发、尽可能迅速提供用户反馈的软件发展趋势。 ROR(Ruby on Rails)框架以其开发快速、简单易用的特点极大地简化了开发过程,降低了 开发成本,并同时较好地兼顾开发、运行效率。它的及时响应更好的满足了瞬息万变的客户需求,逐渐成为 Web 应用
18、开发者关注的焦点。 ROR(Ruby on Rails)框架的简单易用源于它在开发过程中一直体现的“敏捷 (Agile)”的思想。敏捷,不是一个新的概念,早在 2001 年 KenBeck、Dava Thomas 等人就提出了敏捷宣言。敏捷宣言最核心的价值观就是 (1) 人与交互于过程和工具。 (2) 可以工作的软件重于求全责备的文档 (3) 与客户合作重于合同谈判 (4) 随时应对变化重于循规蹈矩 敏捷,不仅 意味着开发速度开,而且还意味着应用程序具有能够随时应对变化的灵活性,修改现有代码与添加新功能易如反掌的优越性,以及在快速迭代中反复折腾也不会散架的高质量。 11敏捷开发说到底就是把当前
19、软件开发过程中优秀的开发原则、模式与时间应用到软件开发过程中,采用增量式的迭代开发应用程序,迭代开发并不是一开始就弄清楚所有的需求,而是只找出部分需求,立即动手实现这部分功能,然后不断尝试、收集反馈、继续下一个“设计 -开发”的小循环,这就要求在开发过程中必须要不断听取 用户的反馈和交互体验。 ROR(Ruby on Rails)框架正是由于充分渗透了这一敏捷思想才得以在 Web 开发领域中快速盛行。 基于敏捷开发方法的 web2.0 网站开发 基于 ruby on rails 的拼客网站架构设计 2 1.2 本文的主要工作 本文研究的 目的是针对建立 Web 应用的 ROR(Ruby on
20、Rails)框架,主要研究了该框架与 J2EE 典型框架的主要区别,重点突出了 ROR(Ruby on Rails)框架存在的优势,及其关键技术。并针对该框架存在的问题提出解决方案,同时利用 ROR框架设计 PinKeWeb(我们的拼客网 )。 主要做了以下的工作: (1) 对 ROR(Ruby on Rails)框架进行简要介绍,描述了 rails 框架的特点 (2) 通过 ROR 框架与 J2EE 框架的比较分析,重点突出了 ROR 的优势 (3) 对 PinKeWeb(我们的拼客网 )做了简单描述 (4) 重点描述了 PinKeWeb 的 ROR 框架设计,同时针对 ROR 框架在该应用实例中存在的问题提出解决方案。