佟海亮 楊征 王鑫



摘 要 研究提出了基于三層架構和SOA體系的種植管理系統(tǒng)服務平臺架構,采用螺旋模型的方法來進行系統(tǒng)開發(fā),用于整合各種農(nóng)業(yè)信息資源,進行海量農(nóng)業(yè)信息存儲、高性能運算、軟件和數(shù)據(jù)共享服務。結合大數(shù)據(jù)思維對設計架構、開發(fā)模式、項目管理、測試方法等進行了分析、設計了,給出了原型系統(tǒng)的部署方案,通過試驗,證明了該體系架構的可行性。
關鍵詞 三層架構;SOA體系;農(nóng)業(yè)種植管理系統(tǒng);農(nóng)業(yè)信息;服務平臺
中圖分類號:TP311.52 文獻標志碼:B 文章編號:1673-890X(2015)03--04
1 設計架構
農(nóng)業(yè)種植基地日常作業(yè)的管理系統(tǒng)平臺基于三層架構和SOA體系開發(fā)(圖1)。SOA是一個面向服務體系結構的組件模型,SOA將應用不同程序的功能單元之間定義良好的接口和契約聯(lián)系起來。其中,接口的定義方式采用了中立的方式進行,并且接口在實際服務的硬件平臺、操作系統(tǒng)及編程語言中是獨立的,這樣在進行各種各樣的系統(tǒng)中的服務交互時可以實現(xiàn)使用一種統(tǒng)一或通用的方式,提高交互服務運行質(zhì)量[1]。
圖1 SOA架構模塊結構圖
通常意義上的三層架構就是將整個業(yè)務應用劃分為:表現(xiàn)層(Presentation Layer)、業(yè)務邏輯層(Business Logic Layer)、數(shù)據(jù)訪問層(Data Access Layer)。區(qū)分層次的目的即為了“高內(nèi)聚低耦合”的思想。分層式結構在一般的軟件體系架構設計過程中是采用較多、較常見的一種,分層式結構從下到上一般可分為三層,即數(shù)據(jù)訪問層、業(yè)務邏輯層、表示層(圖2和圖3)。
圖2 三層架構層次結構圖
圖3 三層架構工程結構圖
2 開發(fā)模式
螺旋模型(Spiral Model)是應用一種周期性的方法來進行系統(tǒng)開發(fā),采用這種方法會開發(fā)出較多的中間版本。螺旋模型是以進化的開發(fā)方式為中心的一種快速原型法,這一模型需求定義、風險分析、工程實現(xiàn)和評審4個階段,且在每一個周期都由這4個階段進行迭代。在軟件開發(fā)過程中,每迭代一次,軟件開發(fā)即可更近一個層次。螺旋模型軟件開發(fā)主要過程見圖4。
圖4 螺旋模型開發(fā)過程部分流程圖
該模型的主要方法是在“瀑布模型”的每一個開發(fā)階段之前將一個非常嚴格的風險識別、風險分析和風險控制引入其中。螺旋模型把軟件開發(fā)過程分解成若干個子項目,一個或多個主要風險都會在每個小的子項目進行標識,直至全部的主要風險因素都被確定。
螺旋模型重點強調(diào)風險分析,每個演化層出現(xiàn)的風險,軟件開發(fā)人員和用戶就會對其有所了解,從而做出應有的判斷和處理[2]。正因如此,這種模式非常適用于具有高風險的、復雜的、龐大的軟件系統(tǒng)。軟件系統(tǒng)開發(fā)過程中存在著各種風險,可在不同程度上影響甚至使開發(fā)過程收到破壞,致使軟件產(chǎn)品的質(zhì)量收到影響。在造成危害之前,及時對風險進行判別、分析,并采取有效對策將風險降到最低進而消除風險隱患就成為軟件開發(fā)過程中最為重要的工作之一。
圖5中的4個象限代表了螺旋模型的活動方式,即進行若干次迭代。
圖5 4個象限代表了螺旋模型的活動方式
4種象限分為制定計劃:明確軟件開發(fā)目標任務,確定設計方案,查找并確定項目開發(fā)的限制因素。風險分析:對確定的方案進行論證和評估,提出對風險識別和消除的方法。實施工程:進行軟件開發(fā)、驗證。客戶評估:開發(fā)工作的優(yōu)劣進行評價,并提出修改意見,制定下一步工作計劃。
螺旋模型由風險驅(qū)動,主要強調(diào)的是可選方案以及約束條件,從而支持軟件的重用,這樣有助于將軟件質(zhì)量作為重要目標納入系統(tǒng)開發(fā)中。
3 開發(fā)管理
3.1 項目管理
項目管理嚴格按照國際標準,整個過程項目的啟動、確定項目章程、生成范圍說明和WBS、資源計劃與估算、制定項目計劃體系、生成項目計劃、項目團隊建設、項目的實施、項目的變更控制和項目的收尾等[3]。
3.2 文檔管理
按照軟件開發(fā)的規(guī)范完成一個軟件設計開發(fā)過程。文檔的分類見表1。文檔與進度見表2。開發(fā)文檔見圖6。
表1 項目管理文檔授權目錄
類型 讀者 時間
設計開發(fā)類 可行性研究報告 管理/研發(fā)人員 可行性研究與計劃階段
項目開發(fā)計劃 管理/研發(fā)人員 可行性研究、需求分析階段
需求規(guī)格說明書 研發(fā)人員 需求分析階段
功能規(guī)格說明書 研發(fā)人員 需求分析階段
概要設計說明書 研發(fā)/維護人員 設計階段
詳細設計說明書 研發(fā)/維護人員 設計階段
數(shù)據(jù)庫設計說明書 研發(fā)/維護人員 設計階段
模塊開發(fā)卷宗 管理/研發(fā)/維護人員 實現(xiàn)、測試階段
測試計劃 研發(fā)人員 需求分析、設計階段
測試分析報告 研發(fā)/維護人員 測試階段
管理類 開發(fā)進度月報 管理人員 貫穿整個開發(fā)過程
項目開發(fā)總結 管理人員 測試階段
職責定義 管理人員 可行性研究與計劃階段
進度變更記錄 管理人員 隨時
產(chǎn)品類 用戶指南 用戶 需求分析、設計、實現(xiàn)階段
操作手冊 用戶 設計、實現(xiàn)階段
信息廣告 用戶 測試階段
表2 項目管理文檔與進度表
圖6 開發(fā)文檔
3.3 測試
測試方案采用專業(yè)軟件測試工具,Selenium是一套完整的測試系統(tǒng),是為正在蓬勃發(fā)展的Web應用開發(fā)的。Selenium主要功能包括:測試與瀏覽器的兼容性——測試你的應用程序看是否能夠很好得工作在不同瀏覽器和操作系統(tǒng)之上。它的測試系統(tǒng)功能——創(chuàng)建衰退測試檢驗軟件功能和用戶需求,支持自動錄制動作和自動生成。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript編寫,所以可運行于任何支持JavaScript的瀏覽器上,包括IE、Mozilla Firefox、Chrome、Safari等。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。
測試方法:白盒測試、黑盒測試、單元測試、集成測試。
4 大數(shù)據(jù)思維
大數(shù)據(jù)實際上是營銷的科學導向的自然演化。大數(shù)據(jù)思維有3個緯度:定量思維、相關思維、實驗思維[4]。第一,定量思維,即提供更多描述性的信息,其原則是一切皆可測。基地種植,從種子育苗、種植、成長、開花、掛果和采摘等客觀標準可以形成大數(shù)據(jù),各節(jié)段都可以測得,大數(shù)據(jù)包含了與種植行為有關的方方面面;第二,相關思維,一切皆可聯(lián),種植節(jié)段不同數(shù)據(jù)都有內(nèi)在聯(lián)系。以據(jù)農(nóng)業(yè)科學,以及自然成熟規(guī)律,這可以用來預測未來情況;第三,實驗思維,一切皆可試,大數(shù)據(jù)所帶來的信息可以幫助科學的發(fā)展。大數(shù)據(jù)運用的3個遞進層次:首先是描述,然后是預測,最后產(chǎn)生攻略。
參考文獻
[1]莫麗麗.基于云存儲的農(nóng)業(yè)虛擬服務平臺架構[J].計算機時代,2013(8):5-8
[2]吳華瑞,孫想,趙春江.農(nóng)業(yè)數(shù)據(jù)網(wǎng)格化體系研究[J].農(nóng)業(yè)工程學報,2006,22(11):137-139
[3]張鳳霞,吳華瑞,楊寶祝.基于構件網(wǎng)格的農(nóng)業(yè)專家系統(tǒng)研究[J].計算機工程與設計,2006,27(3):924-927
[4]梅立軍,付小龍,劉啟新,等.基于SOA 的數(shù)據(jù)交換平臺研究與實現(xiàn)[J].計算機工程與設計,2006,27(19):3601-3627
[5]李曉東,楊揚,郭文彩.基于企業(yè)服務總線的數(shù)據(jù)共享與交換平臺[J].計算機工程,2006,32(21):217-223
(責任編輯:劉昀)