• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      ROR在Web開(kāi)發(fā)中綜合運(yùn)用的研究

      2009-07-01 02:42:24鮑海燕朱學(xué)玲
      新媒體研究 2009年23期

      鮑海燕 朱學(xué)玲

      [摘要]在社會(huì)信息化程度不斷提高的今天,軟件開(kāi)發(fā)者也在不斷探索著新的軟件開(kāi)發(fā)方法,希望能使軟件開(kāi)發(fā)更加簡(jiǎn)單有效,在這種大前提下,敏捷開(kāi)發(fā)應(yīng)運(yùn)而生。敏捷開(kāi)發(fā)指的是一種面臨迅速變化的需求去快速開(kāi)發(fā)軟件的方法。Ruby on Rails是一種解釋型的方便快捷的面向?qū)ο竽_本語(yǔ)言,利用Ruby語(yǔ)言和Rail相框的強(qiáng)大功能,可以使Web開(kāi)發(fā)更加輕松自如。在不久的將來(lái),Rails技術(shù)會(huì)給我們的開(kāi)發(fā)帶來(lái)更多的進(jìn)步。對(duì)最新Web應(yīng)用開(kāi)發(fā)框架Ruby On Rails的工作原理做簡(jiǎn)單介紹,討論構(gòu)建一個(gè)基于ROR的Web應(yīng)用的實(shí)現(xiàn)方法和所用到的技術(shù),并基于ROR開(kāi)發(fā)一個(gè)在線購(gòu)物系統(tǒng)。

      [關(guān)鍵詞]敏捷開(kāi)發(fā)Ruby on RailsWeb開(kāi)發(fā)

      中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)1210123-01

      一、引言

      Ruby on Rails是一個(gè)使用純Ruby語(yǔ)言編寫(xiě)的、實(shí)現(xiàn)了MVC模型的、易于開(kāi)發(fā)、配置和治理的Web應(yīng)用程序的框架。Rails的設(shè)計(jì)思想由一組關(guān)鍵的概念來(lái)驅(qū)動(dòng):低重復(fù)、約定優(yōu)于配置、快速Web開(kāi)發(fā)框架、對(duì)數(shù)據(jù)庫(kù)訪問(wèn)的支持。ROR是Ruby On Rails的英文簡(jiǎn)稱,ROR是指使用Ruby語(yǔ)言實(shí)現(xiàn)的Rails Web開(kāi)發(fā)框架。Rails是一個(gè)MVC框架。使用Rails開(kāi)發(fā)應(yīng)用時(shí),每個(gè)代碼以及應(yīng)用程序的每個(gè)部分都遵循標(biāo)準(zhǔn)的方式。也就是說(shuō),是在一個(gè)被事先預(yù)備好的框架內(nèi)開(kāi)始應(yīng)用程序設(shè)計(jì)的。Rails應(yīng)用程序是由模塊化的、面向?qū)ο蟮哪_本語(yǔ)言Ruby寫(xiě)成的,這些模塊之間的相互鏈接和關(guān)系驅(qū)動(dòng)著MVC模型的運(yùn)行。ROR這些特點(diǎn)也使它逐步從一個(gè)開(kāi)源和個(gè)人的Web開(kāi)發(fā)框架走向主流,在諸多Web開(kāi)發(fā)框架中以其鮮明的特色占據(jù)了一席之地。將(模型-視圖-控制器)MVC模型用于軟件設(shè)計(jì)中可以使應(yīng)用程序的構(gòu)造更加清晰。Rails是一個(gè)MVC框架。使用Rails開(kāi)發(fā)應(yīng)用時(shí),每個(gè)代碼以及應(yīng)用程序的每個(gè)部分都遵循標(biāo)準(zhǔn)的方式。也就是說(shuō),是在一個(gè)被事先準(zhǔn)備好的框架內(nèi)開(kāi)始應(yīng)用程序設(shè)計(jì)的。Rails應(yīng)用程序是由模塊化的、面向?qū)ο蟮哪_本語(yǔ)言Ruby寫(xiě)成的,這些模塊之間的相互鏈接和關(guān)系驅(qū)動(dòng)著MVC模型的運(yùn)行。[3]

      二、需求分析

      基于ROR在開(kāi)發(fā)應(yīng)用上的諸多優(yōu)勢(shì),本文使用ROR開(kāi)發(fā)了一個(gè)小型的網(wǎng)絡(luò)購(gòu)物系統(tǒng),根據(jù)客戶要求,該系統(tǒng)應(yīng)具備下列主要功能:向客戶提供可預(yù)訂商品的列表和具體信息,供客戶選擇。這些信息的維護(hù)由系統(tǒng)管理員進(jìn)行。向客戶提供一個(gè)訂單提交、瀏覽和處理界面,實(shí)現(xiàn)購(gòu)物車的訂單功能。提供管理員登錄功能,包括增加、刪除和信息修改。系統(tǒng)選用數(shù)據(jù)庫(kù)作為后臺(tái)數(shù)據(jù)庫(kù),運(yùn)行環(huán)境為:WindowsXP、InstantRails1.7、Mysql4.1、

      Ruby-1.8.7及使用notepad++編輯,ROR實(shí)現(xiàn)購(gòu)物系統(tǒng)的技術(shù)路線,將需求模塊化設(shè)計(jì)中將以遞增式開(kāi)發(fā)這個(gè)應(yīng)用程序,首先使用Rails立即創(chuàng)建名為depot具有一些功能的簡(jiǎn)單應(yīng)用Order。使用Rails的第一個(gè)任務(wù)是創(chuàng)建Web接口來(lái)治理系統(tǒng)中的商品信息,包括創(chuàng)建商品信息,編輯現(xiàn)有商品,查看已有的商品信息,刪除不需要的商品。要實(shí)現(xiàn)以上功能,在數(shù)據(jù)庫(kù)中應(yīng)當(dāng)建立幾張表,使用Rails“支架”來(lái)自動(dòng)生成最初的代碼,這也是Rails具有靈敏性開(kāi)發(fā)效率的一個(gè)原因。Rails“支架”是為治理一個(gè)“模型”而自動(dòng)創(chuàng)建的一個(gè)框架。當(dāng)運(yùn)行“生成器”時(shí),告訴它需要“支架”來(lái)生成一個(gè)非凡的“模型”,并且需要通過(guò)給定的“控制器”來(lái)訪問(wèn)它。在應(yīng)用程序中,根據(jù)需要要求有一個(gè)名為product的“模型”,所以Rails將它與叫products的表關(guān)聯(lián)起來(lái)。[3]

      三、系統(tǒng)設(shè)計(jì)與系統(tǒng)實(shí)現(xiàn)

      1.系統(tǒng)分析?;赗OR在開(kāi)發(fā)應(yīng)用上的諸多優(yōu)勢(shì),本文使用ROR開(kāi)發(fā)了一個(gè)小型的在線購(gòu)物系統(tǒng),根據(jù)客戶要求,該系統(tǒng)應(yīng)具備下列主要功能:

      (1)向客戶提供可預(yù)訂商品的列表和詳細(xì)信息,供客戶選擇。(2)向客戶提供一個(gè)訂單提交、瀏覽和處理界面。(3)提供系統(tǒng)管理員登錄功能。(4)提供系統(tǒng)管理員管理商品和訂單的功能。

      為了滿足消費(fèi)者的各種需求,網(wǎng)絡(luò)購(gòu)物車系統(tǒng)對(duì)所有的商品信息都會(huì)不斷的更新。[2]

      2.系統(tǒng)流程圖。本系統(tǒng)為用戶提供了買家及賣家之間的買賣商品交易,客戶可以通過(guò)購(gòu)物車系統(tǒng)功能查看所有商品。賣家可以通過(guò)管理頁(yè)面進(jìn)行商品的添加和修改,賣家還可以查看客戶的訂單情況。[1]

      3.在線購(gòu)物。前臺(tái)主要分為購(gòu)物、商品、訂單功能。

      4.添加商品。管理員添加商品。

      5.添加管理員用戶。給系統(tǒng)后臺(tái)添加管理用戶。

      四、系統(tǒng)測(cè)試

      Rake是使用ruby編寫(xiě)的程序,用Rake來(lái)讀入RakeFile。而Rakefile里包含了定義的任務(wù),每個(gè)任務(wù)都有一個(gè)名字,和它所依賴的一些任務(wù),并且還有一組要執(zhí)行的動(dòng)作?,F(xiàn)在我們來(lái)了解一下Rails中的Rake。當(dāng)使用Rails的generate腳本創(chuàng)建一個(gè)項(xiàng)目的時(shí)候,會(huì)自動(dòng)在項(xiàng)目的根目錄生成一個(gè)Rakefile文件,可以幫助完成很多任務(wù),在Rails的命令行中執(zhí)行:depot>raketasks命令,將會(huì)看到數(shù)據(jù)庫(kù),文檔,測(cè)試,臨時(shí)文件等相關(guān)的命令。如圖4-1所示[1]:

      圖4-1系統(tǒng)測(cè)試圖

      五、結(jié)束語(yǔ)

      在線購(gòu)物系統(tǒng)的開(kāi)發(fā)證明,使用ROR來(lái)開(kāi)發(fā)一個(gè)中小型的Web應(yīng)用是非??焖俸捅憬莸?它和J2EE Web應(yīng)用開(kāi)發(fā)框架相比,開(kāi)發(fā)復(fù)雜程序大大減低,也不用處處使用xml語(yǔ)法來(lái)對(duì)應(yīng)用進(jìn)行配置;但ROR要遵循許多約定和習(xí)慣來(lái)生成框架,而且對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)有一些特殊的要求,一旦要在不符合約定和習(xí)慣的舊系統(tǒng)上進(jìn)行更新設(shè)計(jì),有時(shí)會(huì)使其快速開(kāi)發(fā)的效率受到較大的影響。[1]

      參考文獻(xiàn):

      [1](美)Dave Thomas David Heinemeier Hansson,《Web開(kāi)發(fā)敏捷之道-應(yīng)用Rails進(jìn)行敏捷Web開(kāi)發(fā)》,北京:電子工業(yè)出版社,2007年7月.

      [2]高昂,《面向企業(yè)的Ruby on Rails》,2007年23期.

      [3]宋華、王佐成、汪林林,《基于RoR框架的辦公自動(dòng)化系統(tǒng)的設(shè)計(jì)研究》,2007年11期.

      略阳县| 赣榆县| 宜兰县| 嘉定区| 山西省| 博罗县| 读书| 崇义县| 于都县| 麻江县| 奈曼旗| 榆树市| 赤城县| 饶河县| 屯留县| 精河县| 奇台县| 安溪县| 古浪县| 凯里市| 丰镇市| 乌拉特后旗| 元朗区| 河西区| 建昌县| 交城县| 盐津县| 吉林省| 磐石市| 富宁县| 黄冈市| 化德县| 潜江市| 揭东县| 商水县| 章丘市| 松溪县| 靖州| 新民市| 那曲县| 四会市|