鮑海燕 朱學玲
[摘要]在社會信息化程度不斷提高的今天,軟件開發者也在不斷探索著新的軟件開發方法,希望能使軟件開發更加簡單有效,在這種大前提下,敏捷開發應運而生。敏捷開發指的是一種面臨迅速變化的需求去快速開發軟件的方法。Ruby on Rails是一種解釋型的方便快捷的面向對象腳本語言,利用Ruby語言和Rail相框的強大功能,可以使Web開發更加輕松自如。在不久的將來,Rails技術會給我們的開發帶來更多的進步。對最新Web應用開發框架Ruby On Rails的工作原理做簡單介紹,討論構建一個基于ROR的Web應用的實現方法和所用到的技術,并基于ROR開發一個在線購物系統。
[關鍵詞]敏捷開發Ruby on RailsWeb開發
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)1210123-01
一、引言
Ruby on Rails是一個使用純Ruby語言編寫的、實現了MVC模型的、易于開發、配置和治理的Web應用程序的框架。Rails的設計思想由一組關鍵的概念來驅動:低重復、約定優于配置、快速Web開發框架、對數據庫訪問的支持。ROR是Ruby On Rails的英文簡稱,ROR是指使用Ruby語言實現的Rails Web開發框架。Rails是一個MVC框架。使用Rails開發應用時,每個代碼以及應用程序的每個部分都遵循標準的方式。也就是說,是在一個被事先預備好的框架內開始應用程序設計的。Rails應用程序是由模塊化的、面向對象的腳本語言Ruby寫成的,這些模塊之間的相互鏈接和關系驅動著MVC模型的運行。ROR這些特點也使它逐步從一個開源和個人的Web開發框架走向主流,在諸多Web開發框架中以其鮮明的特色占據了一席之地。將(模型-視圖-控制器)MVC模型用于軟件設計中可以使應用程序的構造更加清晰。Rails是一個MVC框架。使用Rails開發應用時,每個代碼以及應用程序的每個部分都遵循標準的方式。也就是說,是在一個被事先準備好的框架內開始應用程序設計的。Rails應用程序是由模塊化的、面向對象的腳本語言Ruby寫成的,這些模塊之間的相互鏈接和關系驅動著MVC模型的運行。[3]
二、需求分析
基于ROR在開發應用上的諸多優勢,本文使用ROR開發了一個小型的網絡購物系統,根據客戶要求,該系統應具備下列主要功能:向客戶提供可預訂商品的列表和具體信息,供客戶選擇。這些信息的維護由系統管理員進行。向客戶提供一個訂單提交、瀏覽和處理界面,實現購物車的訂單功能。提供管理員登錄功能,包括增加、刪除和信息修改。系統選用數據庫作為后臺數據庫,運行環境為:WindowsXP、InstantRails1.7、Mysql4.1、
Ruby-1.8.7及使用notepad++編輯,ROR實現購物系統的技術路線,將需求模塊化設計中將以遞增式開發這個應用程序,首先使用Rails立即創建名為depot具有一些功能的簡單應用Order。使用Rails的第一個任務是創建Web接口來治理系統中的商品信息,包括創建商品信息,編輯現有商品,查看已有的商品信息,刪除不需要的商品。要實現以上功能,在數據庫中應當建立幾張表,使用Rails“支架”來自動生成最初的代碼,這也是Rails具有靈敏性開發效率的一個原因。Rails“支架”是為治理一個“模型”而自動創建的一個框架。當運行“生成器”時,告訴它需要“支架”來生成一個非凡的“模型”,并且需要通過給定的“控制器”來訪問它。在應用程序中,根據需要要求有一個名為product的“模型”,所以Rails將它與叫products的表關聯起來。[3]
三、系統設計與系統實現
1.系統分析?;赗OR在開發應用上的諸多優勢,本文使用ROR開發了一個小型的在線購物系統,根據客戶要求,該系統應具備下列主要功能:
(1)向客戶提供可預訂商品的列表和詳細信息,供客戶選擇。(2)向客戶提供一個訂單提交、瀏覽和處理界面。(3)提供系統管理員登錄功能。(4)提供系統管理員管理商品和訂單的功能。
為了滿足消費者的各種需求,網絡購物車系統對所有的商品信息都會不斷的更新。[2]
2.系統流程圖。本系統為用戶提供了買家及賣家之間的買賣商品交易,客戶可以通過購物車系統功能查看所有商品。賣家可以通過管理頁面進行商品的添加和修改,賣家還可以查看客戶的訂單情況。[1]
3.在線購物。前臺主要分為購物、商品、訂單功能。
4.添加商品。管理員添加商品。
5.添加管理員用戶。給系統后臺添加管理用戶。
四、系統測試
Rake是使用ruby編寫的程序,用Rake來讀入RakeFile。而Rakefile里包含了定義的任務,每個任務都有一個名字,和它所依賴的一些任務,并且還有一組要執行的動作。現在我們來了解一下Rails中的Rake。當使用Rails的generate腳本創建一個項目的時候,會自動在項目的根目錄生成一個Rakefile文件,可以幫助完成很多任務,在Rails的命令行中執行:depot>raketasks命令,將會看到數據庫,文檔,測試,臨時文件等相關的命令。如圖4-1所示[1]:
圖4-1系統測試圖
五、結束語
在線購物系統的開發證明,使用ROR來開發一個中小型的Web應用是非常快速和便捷的,它和J2EE Web應用開發框架相比,開發復雜程序大大減低,也不用處處使用xml語法來對應用進行配置;但ROR要遵循許多約定和習慣來生成框架,而且對數據庫設計有一些特殊的要求,一旦要在不符合約定和習慣的舊系統上進行更新設計,有時會使其快速開發的效率受到較大的影響。[1]
參考文獻:
[1](美)Dave Thomas David Heinemeier Hansson,《Web開發敏捷之道-應用Rails進行敏捷Web開發》,北京:電子工業出版社,2007年7月.
[2]高昂,《面向企業的Ruby on Rails》,2007年23期.
[3]宋華、王佐成、汪林林,《基于RoR框架的辦公自動化系統的設計研究》,2007年11期.