目錄
摘 要 I
ABSTRACT II
第一章 緒論 1
1.1論文研究背景 1
1.2國內外研究現狀 1
1.2.1國外研究現狀 1
1.2.2國內研究現狀 2
1.3論文的研究目的及意義 3
1.4論文的研究內容和研究結構 4
1.5本章小結 4
第二章 系統開發技術相關內容概述 5
2.1前后端開發使用工具介紹 5
2.1.1WEB 5
2.1.2HTML 6
2.1.3JSP 6
2.1.4JAVA 6
2.1.5Eclipse 6
2.1.6HBuilder 7
2.1.7Navicat 7
2.2數據庫技術 7
2.2.1Apache Tomcat 7
2.2.2Apache Maven 7
2.2.3MySQL 7
2.3系統框架 8
2.3.1J2EE 8
2.3.2系統架構 9
2.4系統開發環境 10
2.5本章小結 11
第三章 生鮮農產品信息管理系統可行性及需求分析 12
3.1現行的農產品信息管理系統存在的問題 12
3.2生鮮農產品信息管理系統的可行性分析 12
3.2.1技術可行性 13
3.2.2經濟可行性 13
3.2.3社會可行性 13
3.2.4法律可行性 13
3.3系統的設計原則 13
3.4系統需求分析 14
3.4.1生鮮農產品信息管理系統需求分析 14
3.4.2系統性能需求分析 15
3.4.3系統非功能性需求分析 15
3.4.4系統用戶用例分析 15
3.5本章小結 16
第四章 信息管理系統設計 17
4.1系統業務流程模型設計 17
4.2系統服務內容 17
4.3系統數據庫設計 18
4.4系統界面設計 26
4.5系統功能模塊設計 28
4.5.1注冊模塊 28
4.5.2登錄模塊 29
4.5.3普通用戶(消費者)模塊 29
4.5.4農戶模塊 32
4.5.5商家(零售、批發)模塊 32
4.5.6承運商模塊 32
4.5.7視頻監控模塊 33
4.5.8管理員模塊 34
4.6支付模塊 34
4.7本章小結 34
第五章 信息管理系統實現 35
5.1系統平臺實現 35
5.2系統功能實現 36
5.3數據庫實現 43
5.4本章小結 46
第六章 系統測試 47
6.1系統測試環境 47
6.2系統測試原則 47
6.3系統測試方案 49
6.3.1數據庫測試 50
6.3.2系統性能測試 50
6.3.3系統界面測試 52
6.4本章小結 53
第七章 總結與展望 54
7.1總結 54
7.2展望 54
參考文獻 55
致 謝 58
在讀期間發表的學術論文及研究成果 59
第一章 緒論1
1.1論文研究背景
當前,各城市已有的和生鮮農產品有關的信息平臺仍處于初步構建階段,和國外 當前的研究進度相比,我國距建成一個完整可行的生鮮農產品銷售平臺的目標還有一 段距離,當前依然存在著較多復雜的問題沒有好的解決方案[1]。基于這一點,本文對 于各城市生鮮蔬果農產品發生交易行為時產生的各類活動進行研究分析,同時,對于 農產品供應鏈發生斷裂這一問題進行分析,致力于構建出一個適用于我國城鎮的生鮮 農產品信息管理平臺,找出解決供應鏈斷裂這一問題的有效對策,使我國的城鎮生鮮 農產品行業得到長足的發展,同時提高我國城鎮的農業信息化程度[2]。
當前的互聯網技術已經得到了充分的發展,諸如JSP技術、各類架構的發展成熟 已經使得要在用戶和互聯網頁面之間形成一種動態的信息共享關系成為了可能[3]。通 過一個構建完成的、各個角色單位能夠分享農產品生產、運輸、銷售信息的互聯網平 臺,就能夠解決當前的這類供應鏈斷裂的問題[4]。同時,通過互聯網平臺,形成一個 有序的、優勝劣汰的農產品銷售體系,也能形成一定的農產品品牌效應。這對于提高 我國農民的收入水平、推進現代化農業的建設有著不可忽視的作用。
1.2國內外研究現狀
1.2.1國外研究現狀
國外對農產品信息管理平臺的研究起步較國內早一些,在諸如美英日德等國家在 用于構建農產品信息管理平臺的基本理論和知識框架已經形成了一套較為完備的體 系時,我國在這一方面還處于研究的初級階段。同國內的專家學者們研究方式不同的 是,國外的專家學者的研究切入點主要是類似于農產品的物理特征、實用功能和交易 行為發生時的主體等等這類農產品基本信息[5]。
英國的學者Poole (2001)在他的著作中指出:對農產品信息管理平臺進行研究 的角度的不同將會導致構建出來的農業信息管理平臺的側重點的不同。他認為,建立 一個合格的農產品信息管理系統能夠加快農產品信息的流通速度,這對農業的協調、 農產品價格的定制起著至關重要的作用。Norbert在他編寫的文獻中指出:要使農產 品能夠在電子化的供應鏈中獲得必要的差異性增值,一個完備的農產品信息管理系統 是必不可少的。而對于農產品信息管理系統中的農產品價格變化, Ruiz. Garcia 等人 研究指出:只有當整個農產品銷售流程中的物流信息有著較高的準確度的情況下,才 能夠確保構建出來的農產品信息管理系統是以價格變化作為基準的I6】。Hau L. Lee在
1.[作者簡介] 劉凱文,浙江海洋大學農業信息化碩士研究生,湖北嘉魚人。 2002 年提出了農產品信息在農產品供應鏈的流通過程中也會發生“牛鞭效應”的觀 點,而要減緩這種信息的扭曲會被逐級放大的效應,就需要在農產品供應鏈中的各個 主體之間實現信息共享[7]。而Towill (2002)在對農產品銷售情況進行研究時,結合 了計算機研究分析的方法,這樣就能夠有效地實現信息共享,減少信息扭曲的可能。 Tan Gek Woo 等人(2005)在進行信息共享研究時,是以農產品的需求變化為研究基 礎的,并得出了以下結論:在市場的需求總量不變的前提下,如果沒有對信息共享進 行及時調整,就會給整個產品供應鏈帶來不利影響[8]。
1.2.2國內研究現狀
我國的農業信息化起步較晚,相應的研究較之國外稍有滯后。因此,我國對農產 品信息管理的這類系統的研究也還沒有形成基本的理論框架體系。我國在 2000 年之 際就有專家學者提出過構建農產品信息管理平臺的概念,但在當時并沒有得到多少關 注。后來隨著互聯網的飛速發展和電子商務的崛起,這一概念才慢慢地進入人們研究 的領域。隨著電子商務的成熟應用、網絡營銷逐漸成為了銷售的主要手段之一,電商 平臺對于各類商品銷售的積極影響的進一步增強,此時才有學者開始投身于研究如何 構建農產品信息管理平臺來為農產品的銷售創造一個更好的環境[9]。
基于此,我國商務部于 2006 年發布了名為“農村商務信息服務”的工程,這是 一個基于開拓農村消費市場目的而發布的工程。工程針對農村商務信息化給出了指導 性的方針并對農副產品的商務信息確定了發布規范。但是,目前我國對構建一個成熟 的農產品信息管理平臺的研究進展依然還停留在理論階段,經營模式的選擇還未能確 定,一個合理可用的物流體系還沒有構建完成。
同我國其他行業的市場情況進行對比之后發現,農村信息服務者有著更加明顯的 市場優勢,但是由于部分黑心企業會通過發布虛假農產品信息的方式來獲取更多的非 法收益,這會侵犯到農戶的合法權利。而且,我國的農民的受教育程度較發達國家的 相比通常較低,法律意識也更弱,一般情況下不會選擇走法律程序來維護自身的合法 利益、獲得經濟上的補償,往往會選擇息事寧人忍氣吞聲,這也是黑心企業觸碰國家 法律和自身道德底線的底氣所在。而將生產銷售公開透明化的互聯網農產品信息管理 系統將很好地改善這一點[10]。農產品供應鏈信息管理是農產品信息管理的核心,應當 在現代農產品的供應鏈上實現信息的共享,設計并實現一個農產品供應鏈信息系統是 農產品供應鏈信息管理的可靠保證[11]。運用好現代化的網絡載體和信息技術就可以建 立一個農產品信息管理平臺,將傳統的農產品市場交易模式進行重組,使農產品交易 市場能夠實現有序的、高效的規范化管理,降低農產品的生產銷售成本,提高整個農 產品行業的交易水平[12]。由于物流運輸成本是企業日常生產經營成本的重要組成部分, 而高效合理的物流活動是企業高盈利的保證,體現了農產品物流信息管理實現信息化 的重要性[13]。對農業進行現代化改造,在種植方式上實現自動化和智能化,能夠使現 有的農業資源得到科學合理的分配,降低務農人員的工作強度,同時實現農作物的高 質量高產,使更加綠色安全的農產品流向百姓的餐桌[14]。而當前的傳統農產品批發市 場經營管理方式落后,無法滿足當前這個農產品種類和數量逐日增加的農產品批發市 場的需求,急需運用互聯網技術開發出一套信息管理系統對農產品批發市場進行科學 合理的管理[15]。
1.3論文的研究目的及意義
本文旨在研究如何建立一個兼具信息流通快速、使用簡單、覆蓋面廣等優點,又 能夠適應我國當前城市化快速發展的生鮮農產品信息管理系統,并構建一個完整的生 鮮農產品供應鏈平臺[16]。
本文所設計的智慧監管生鮮農產品信息管理系統中涉及到的生鮮農產品供應鏈 中各個角色之間的信息實時交互研究能夠大力推動我國農業的現代化發展:
(1)有利于我國農產品與國際市場進行接軌
隨著經濟全球化的不斷發展加深,建立在世界范圍內的全球化農產品市場已經基 本形成,面對外國的大型機械化作業、價格低廉的農產品涌入國內市場的情況,我國 的本土農產品在國內市場上迎來了銷售壓力的逐年增大,農產品的行業競爭也變得更 加激烈。而由于多方面的原因,農戶可能對農產品市場信息的了解不準確,自身的權 益在交易行為產生時可能會受到侵害,相對來說信息流通更加迅速、交易更加公開公 正透明的互聯網銷售平臺就成為了一種可行的解決方式之一。
(2)農產品信息化銷售平臺已成為當前農業競爭的主要方式之一
互聯網銷售平臺與傳統的農貿交易行為相比,有著更快、更方便、更安全的優勢。 通過互聯網銷售平臺,農戶可以更加直觀地了解到消費者的需求,并以此進行有選擇 的農業生產活動,這樣一方面可以保障我國農戶的既得利益,另一方面又能夠促進我 國農產品貿易的快速發展[17]。
(3)農產品信息化銷售平臺能夠提升農產品的市場份額
互聯網銷售平臺打破了傳統,不僅突破了地域上的空間限制,更加突破了工休上 的時間限制,能夠達到 24 小時不間斷運營,可以極大地方便農戶對銷售相關信息的 獲取,也就能夠在一定層面上增加農產品的銷售量[18]。不僅如此,互聯網銷售平臺上 對農產品的分類操作處理能夠提高農產品貿易的交易效率。與此同時,農產品市場也 能夠及時的了解各類農產品銷售信息的變化,并根據這一點來提供與之相匹配的服務 [19]。
(4)農產品信息化銷售平臺能夠降低各方面的經營成本
對農戶來說,使用互聯網銷售平臺對自產的農產品進行銷售,能夠減少各類不必 要的費用支出,這也就相當于提高了農戶實際獲得的經濟收入,對于減少我國的貧困 人口也是一種可以落實的方案。而且,憑借著快速、便捷的互聯網銷售平臺和發的物 流業的加持,農戶甚至可以直接與消費者建立起交易關系,在沒有中間商的情況下將 產品直接銷售給消費者,進一步地降低了成本。據相關部門的統計,如果以傳統的交 易模式進行農產品銷售,農民需要支付給各類中間商(批發商、零售商以及之間的運 輸商)的費用將會占到農民總收入的兩成,而通過互聯網銷售平臺的投入使用,就能 夠降低此類成本費用[20]。另一方面,農戶可以在互聯網銷售平臺上給自己的農產品進 行廣告推銷,而在互聯網銷售平臺上進行廣告宣傳所需要的費用更低速度更快、覆蓋 面更廣,消費者也能第一時間接收到農產品的變化信息。
對于消費者而言,農戶銷售農產品所需要支出的額外費用的減少也就意味著消費 者在這一環節需要分攤的費用也相應減少,能夠在購買生鮮農產品時得到更多的價格 優惠[21]。同時,互聯網銷售平臺也是一個農戶自由競爭的市場,能夠通過市場的淘汰 機制體顯出優質農產品和劣質農產品的差異,也能夠給消費者帶來更加優質的農產品, 有助于構建一個生產更加趨于標準化的農產品生產環境。
1.4論文的研究內容和研究結構
第一章 緒論 主要介紹了本文所研究的項目的背景和科學意義、國內外研究現狀, 本文的研究內容、研究思路、研究方法和論文結構。
第二章 系統開發相關技術介紹 主要介紹系統設計開發過程中所使用的互聯網 相關技術,如 WEB、HTML、JAVA、JSP、Tomcat、MySQL、Eclipse、HBuilder 等。
第三章 系統需求分析 主要說明該系統的需求,其中包括現行系統的缺陷、生鮮 農產品信息管理系統的可行性分析、系統的服務內容以及系統的角色用例分析等。
第四章 系統設計 以做一個什么樣的系統、怎樣做這個系統為中心,對系統的各 個大小模塊進行設計,如數據庫設計、后臺設計、頁面設計等。
第五章 系統實現 系統設計中的內容的展示,如數據庫、網頁頁面等。
第六章 系統測試 系統各模塊完成后的連接建立以及系統初步開發完成后需要 進行的一系列相關測試說明。
第七章 總結與展望 主要是對論文的工作和系統的設計的總結,對系統存在或可 能存在的問題進行補充說明,并對未來系統的開發完善和應用前景的展望。
1.5本章小結
本章主要介紹了本文所涉及的項目的研究背景和研究這個課題的意義,到目前為 止的一些國內外研究情況,以及本文的主要研究內容、研究思路、研究方法和論文整 體結構,為接下來的論文內容奠定了基礎。
第二章 系統開發技術相關內容概述
2.1前后端開發使用工具介紹
2.1.1WEB
WEB是互聯網的總稱,通常用來表示超文本傳輸協議。WEB具有很多優勢,如: 對系統平臺的選擇沒有限制,所有系統平臺通過瀏覽器(Browser)都可以訪問WEB 頁面;可以在一個界面中顯示豐富的內容,包括文本、圖片、音頻視頻等;對用戶磁 盤空間占用較低;擁有較高的信息動態性和交互性。
WEB 技術主要包括服務器端和客戶端兩個部分。其中,服務器端的技術主要包 括通用網關接口技術(CGI)、動態服務器頁面(ASP、ASP.NET)等技術。CGI是 服務器運行外部程序的規范,這項技術的出現使服務器能夠在不同的運行情況發生時 生成不同的 HTML 頁面,使客戶端和服務器端的動態信息交互操作有了一定的可行 性[22]。 ASP 技術通過頁面可以對用戶提交的信息做出即時反應,根據實際需要來改 變頁面中的數據,而無須對網頁文件進行人工更新操作,使人們可以更方便的創建復 雜的 WEB 應用程序[23]。
客戶端(即網頁程序),主要起到對服務器中內容的展示作用,它主要包括超文 本標記語言(HTML)、可擴展標記語言(XML)、層疊樣式表(CSS)、小應用程 序(JAVAApplet)和各類WEB插件技術等。HTML是制作WEB網頁的重要工具之 一,也是網頁制作必備的編程語言。 XML 是一種標記語言,主要用于標記電子文件, 并使其具有一定的結構性。 CSS 主要用來表現 HTML 和 XML 等文件的樣式,配合各 種腳本語言之后,能夠使網頁中的各元素被動態地格式化,使對網頁中的內容進行樣 式編輯的主要方式之一。 JAVAApplet 的應用能夠實現頁面中的各類人機交互和網絡 交流等功能,而插件技術則拓寬了頁面在瀏覽器中所能顯示的內容的格式。
使用 WEB 軟件開發作為本系統的開發方式,農戶或商家能夠連接到因特網的設 備和相應的瀏覽器就可以對系統進行操作使用。而使用 WEB 模式下的互聯網系統, 所有的用戶直接通過網頁進入系統,所有的用戶數據信息都將被統一放置于遠端的數 據庫中,這一特點適合用戶分布特點較為分散的系統。同時,只能通過 WEB 頁面進 入的系統可以有效地避免軟件類系統中可能會出現的用戶信息、系統數據泄露等問題。 與軟件類系統不同的是,用戶在軟件類系統進行更新換代升級操作時,需要同時對自 己已經安裝的客戶端進行對應的軟件更新,用戶數量若較為龐大,這種更新方式就會 導致維護難度的增大。而在使用 WEB 模式的系統中,運行維護人員只需要對遠端的 服務器、數據庫進行維護升級操作就可以完成包括客戶端在內的整個系統的升級更新, 能大量地節省客戶端的系統維護成本。
2.1.2HTML
HTML即Hyper Text Markup Language (超文本標記語言)的縮寫。網頁的本質 就是HTML,它是所有WEB編程的基礎。而之所以將其稱之為超文本標記語言,是 因為文本中還包含有“超鏈接”。
2.1.3JSP
JSP 是 JAVAServer Pages(JAVA 服務器頁面)的簡稱,是基于 JAVA 的動態網頁 技術,它屬于 JAVAServlet (小服務程序或服務連接器) ,類似于 ASP 技術,是一種 運行在服務器端的JAVA頁面,是在傳統的HTML文件中通過插入JAVA程序段和JSP 標記的方式生成的,JSP將JSP標簽和JAVA程序端寫入HTML文件中,然后將HTML 文件的后綴.HTML修改為.JSP。由JSP開發的WEB繼承了 JAVA開發的跨平臺性, 可以在多個操作系統中運行,它以<%%>的格式在 HTML 文件中插入 JAVA 語句,實 現了對 HTML 語法的 JAVA 擴展,用戶只需要瀏覽器就能查看在服務器端所執行的 JSP 頁面中的信息[24][25]。
2.1.4JAVA
JAVA是一門繼承了 C++語言中的各種優點尤其是面向對象編程這一核心的編程 語言[26]。它簡單易用、功能強大,摒棄了 C++語言中難以理解的概念,如多繼承、 指針等。一個JAVA程序是由JAVA編程語言、JAVA類文件格式、JAVA虛擬機和JAVA 應用程序接口組成運行的,主要應用于網站、嵌入式開發、大數據、金融業服務器程 序等領域。 JAVA 語言具有很好的安全性、穩健性、多線索性、動態性、可移植性, 是一種分布式語言,它的“及時”編譯程序使得它同時具備了優良的性能,能夠實現 全編譯(即在運行時就能夠將 JAVA 代碼翻譯成中央處理器的機器代碼) [27]。同時, JAVA 語言的優良特性還使得保證用戶操作體驗良好的前提下減少應用系統的維護費 用,是目前來說比較成熟且流行的編程語言,用來完成本文所設計的生鮮農產品信息 管理系統切實可行[28]。
2.1.5Eclipse
Eclipse 是一個基于 JAVA 的跨平臺自由集成開發環境,是一個支持 JAVA、 C++ 等多種編程語言的可擴展系統應用的開發平臺軟件。就 Eclipse 軟件本身來說,它只 是通過插件組件構建開發環境的一個框架和一組服務,但是各種插件的靈活運用使得 Eclipse 具備其他固定的集成開發環境所沒有的靈活性。本文所設計的生鮮農產品信 息管理系統將使用 Eclipse 作為開發平臺。
2.1.6HBuilder
HBuilder是DCloud (數字天堂)推出的一款支持HTML5的WEB開發IDE,其 本身主體是由JAVA編寫,因為它的主要架構是基于Eclipse的,所以它兼容了幾乎 所有的 Eclipse 插件。
2.1.7Navicat
Navicat是一款成本低、安全可靠的數據庫管理工具,它的介入使用能夠簡化數 據庫管理、降低系統管理成本。它的設計能夠滿足絕大多數中小企業中的數據庫管理 員、開發人員的需要。Navicat可以用直覺化的圖形用戶界面建立起來,它自帶一套 完整的采用圖形方式顯示的計算機操作用戶界面(Graphical User Inteface),用戶可 以以簡單而安全的方式連接到任何本機或遠程服務器進行各類如訪問、共享、導入、 導出等信息交互活動。
2.2數據庫技術
2.2.1Apache Tomcat
Tomcat是應用于JSP/Servlet的用來解釋JAVA程序的一種免費的、開放源代碼 的輕量級應用服務器,主要用來發布JSP和JAVA,適用于并發用戶少的系統,如中 小型的系統[29]。
2.2.2Apache Maven
Maven項目對象模型,簡稱POM(Project Object Model),它是一個項目管理工 具軟件,主要用于構建項目和生成項目的報告文檔,而且一般只需要用一個中央信息 片段就可以完成一個程序項目的構建活動。Maven包含了一個項目對象模型、一組標 準集合、一個項目生命周期、一個依賴管理系統,用來運行定義在Maven生命周期 階段中的插件目標邏輯oMaven也可以被用于構建和管理如C++等的語言所編寫的各 種項目。需要注意的是,在計算機中安裝好 JDK 之后再配置好環境變量才可以使用 Maven。
2.2.3MySQL
MySQL 是目前最流行的一款關系型數據庫管理系統,主要應用于一般的個人使 用者或中小型企業,因此適用范圍比較廣闊。由于 MySQL 在具備開源性特征的同時 還有著良好的穩定性、安全性、可移植性和支持多線程,所以使用 MySQL 作為本文 所設計的生鮮農產品信息管理系統數據庫不僅在功能上完全滿足要求,還可以大大降 低構建系統的成本[30]。
2.3系統框架
2.3.1J2EE
J2EE 是 JAVA2 Platform, Enterprise Edition 的簡稱,是一個 JAVA 平臺,目的是 簡化應用程序的開發、規范應用系統的開發部署,這能提高應用系統的可移植性和安 全性[31]。 J2EE 克服了傳統的 C/S 架構的弊病,迎合了目前流行的 B/S 架構[32]。它給 本文設計的生鮮農產品信息管理系統需要用到的 JSP 技術、 JSPServlet 技術創造了合 適的 JAVA 工作環境,同時也降低了多層級應用系統的開發難度。由于 J2EE 的應用 服務器都遵循了 J2EE 的企業級應用規范,所以使用了 J2EE 技術開發的應用系統可 以部署在各種不同類型的 J2EE 應用服務器上[33]。
J2EE 技術架構如圖 2-1 所示。
圖 2-1 J2EE 技術架構圖
Fig 2.1 J2EE technology architecture
2.3.2系統架構
( 1) B/S 架構
B/S架構,即瀏覽器(Browser) /服務器(Server)模式,是伴隨著因特網的興起 而出現的一種較之前的 C/S 架構結構更加優化的網絡結構模式。使用 B/S 架構的應用 系統有著更簡化的開發方式,維護和使用也更加便捷[34]。用戶只需要安裝有任意一個 能夠瀏覽網頁的瀏覽器和通暢的網絡環境通過WEB Server與遠端的數據庫進行數據 交互。這使得B/S架構適用于開發類似于本文中設計的生鮮農產品信息管理系統中的 B2C 型在線購物模塊。同時, B/S 架構也是目前應用最為廣泛的一類系統架構。它打 破了傳統的 C/S 結構,是隨著 WEB 瀏覽器技術不斷成熟而發展出來的一種結構更加 優化的系統架構。在 B/S 架構中的瀏覽器頁面、服務器和數據庫這三層結構是相對獨 立的,發生在任何一層之上的變更內容都會及時地反映到另外兩層之上。因此,使用 B/S 架構的系統能夠擺脫時間和空間上的種種限制、方便用戶使用系統和對系統中的 用戶進行管理,用戶能夠通過各類終端連接到互聯網就能夠取得服務。作為一個帶有 銷售行為的系統,需要將消費者和農戶鏈接起來。該系統涉及到了農戶、承運商、銷 售商(批發和零售)和消費者,所以本系統需要能夠憑借互聯網這一特性進行操作運 行,使消費者能夠及時地獲得各種生鮮農產品的信息;使農戶及時更新自己產出的生 鮮農產品的信息;使系統管理員能夠方便地對其他各類系統角色進行監督和管理工作 [35]o B/S架構如圖2-2所示。
圖 2-2 B/S 架構示意圖 Fig 2.2 B/S Schematic diagram
B/S 架構的開發總成本更低,使用 B/S 架構的系統只需要將系統安裝在免費的 Linux 服務器上、用戶只需要下載瀏覽器就可以使用系統,安全性也能夠得到保障。 對于系統需要的日常維護升級,運行維護人員只需要管理好運行系統的服務器,不需 要對客戶端進行任何的維護操作,節省了人力財力和時間成本。
(2)SSH 框架
SSH 框架主要是由 Struts、 Spring 和 Hibernate 三層集成而成。 SSH 也是當前用來 開發信息管理系統的主要框架之一[36]。
SSH 三層架構中的每一層都是分工明確的, Struts 層主要用來控制整個架構, controller 層是核心控制器。 Hibernate 是用來控制管理整個系統的數據庫操作的,用 戶在系統中的所有數據交互操作都是通過這一層來實現的。 Spring 則起到了 Struts 和 Hibernate 這兩層的連接和調節管理作用。整個 SSH 框架中的三層是以不同模式的頁 面存在的,但是它們之間相互聯系[37]。
Struts 框架是搭建互聯網銷售平臺的一個重要框架之一,它是一個基于模型、視 圖和控制器(MVC)進行互相統計模式的應用架構。在進行大型的WEB程序應用時, 可以用來進行設計模式控制[38]。
2.4系統開發環境
本次設計的系統利用 JAVA 語言進行開發,采用 Spring MVC 作為本次設計的開 發框架,而 WEB 服務器部分采用的目前主流的 Tomcat 服務器。本次設計中的數據 庫采用的是關系型數據庫中,最常用于中小型企業系統開發過程中的MySQL,它能夠 滿足本次設計中對于數據庫的要求[39]。本次設計的系統中主要采用分布式的內容管理 技術來滿足系統設計中對各個項目,以及各項內容的管理,采用模糊化的搜索以及智 能提示,使用戶搜索更加的簡單高效;前端頁面中采用靜態訪問的頁面訪問技術,提 高用戶訪問頁面時的請求速度,減輕服務器的負擔,為使用者提供更好的服務體驗; 頁面登陸的過程中采用單點登錄的技術,用戶只需進行一次登錄進可直接進行關聯頁 面的訪問[40]。
系統使用的前端技術如下:
(1)采用 AJAX 構建業務交互功能
AJAX 并不是一種 JavaScript 的規范,而是 Asynchronous JavaScript and XML 即 JavaScript 執行異步網絡請求的縮寫, WEB 網頁運行的原理是每一次 HTTP 請求對應 一個頁面,而 AJAX 的作用是進行少量的數據更新時重載需要更新的部分。在本次設 計的頁面中,大部分的頁面的工作都不需要大量的交互性操作,而 AJAX 的使用,能 夠大幅減少頁面進行操作時的等待時間。
(2)采用頁面靜態化技術
為什么要采取靜態化頁面?本次設計中頁面的主題變化的幅度的并不大,做成動 態頁面的話,訪問人數一旦過大就會對服務器造成負擔,影響用戶的使用體驗,雖然 靜態頁面的交互性對比動態頁面的性能稍弱,但也能夠滿足用于商品展示的頁面。
系統使用的后臺技術如下:
( 1)核心框架 Spring
Spring被創建的目的是解決過去企業級應用開發中存在的問題,提高應用開發過 程中的開發效率,降低代碼之間的耦合性,提高應用使用時的性能,降低代碼開發過 程中的開發難度[41]o Spring Framework作為的一個容器框架,它設計的核心內容是 IOC(控制反轉)和AOP(面向切面),IOC的設計大大的降低的對象之間的耦合性,面 向切面的設計使得應用對象只需完成他本身的業務邏輯即可[42]。
( 2)持久層框架 MyBatis
MyBatis 可以對配置和原生 Map 使用簡單的 XML 或注解,將接口和 JAVA 的 POJOs(Plain Old JAVA Objects,普通的JAVA對象)映射成數據庫中的記錄。MyBatis的 使用不會影響原有的程序和數據庫,直接將SQL語句寫入XML中,方便開發人員對 數據庫中數據的管理和優化,即使不使用其他數據訪問框架,也可以通過 SQL 實現 需要實現的功能,降低 SQL 語句與程序開發代碼的耦合度,使設計更加清晰明了, 方便后期的維護和測試[43]。
2.5本章小結
本章內容主要為系統設計開發過程中所需要使用到的關鍵技術、軟件內容和系統 框架的介紹。技術如WEB等、軟件如Eclipse等,系統框架如J2EE等。這些技術、 軟件和框架都是系統開發過程中所必不可少的,熟練掌握這些技術、軟件和框架,才 能開發出一個合格的系統。
第三章 生鮮農產品信息管理系統可行性及需求分析
3.1現行的農產品信息管理系統存在的問題
根據對相關部門當前管理流程與處理現狀的分析,由于對完備的生鮮農產品信息 管理系統的需求正在逐年增加,在當前的大環境下傳統的銷售模式和信息平臺的組合 已經無法適應當前的需求[44]。近年來,生鮮農產品信息管理系統所要承擔的任務越來 越重,而相關的門類數量也越來越多,因此,對傳統信息管理平臺模式的特點進行分 析之后,我們得出現有的信息管理系統還有以下幾點內容需要進行修正[45]:
(1) 系統之間重復率較高導致了資源浪費
目前,農產品管理信息系統都是獨立建設的,每個部門都擁有著獨立于其他部門 的完整的系統設計,但是,這些系統無論是在管理層面上還是功能層面上的設計開發 重復率都過高,功能重疊重復的情況太多,導致了農產品信息管理系統之間的功能不 能被共享利用,也就造成了一定的人力物力資源的浪費。并且由于系統與系統之間的 獨立,不同的系統之間的接口對接、維護、管理導致需要花費極高的時間、金錢和人 力來維護,這樣就無法有效地保障每個系統之間信息共享的實現和數據的訪問。
(2) 系統的管理流程復雜、處理過程冗雜
在信息管理系統管理信息的過程中,信息一般分布在各個不同的管理系統之中, 因此,想要實現對信息的共享和信息的整合處理就變得相對困難了,而這一困難通常 帶來的一個后果就是,信息管理系統的系統管理在不管是操作層面還是流程方面都會 更加的復雜、繁瑣,在環節與環節之間會產生更多的障礙。只有先把所有的系統數據 都匯集到相應的系統中之后才能夠完成對信息的審核處理,然后才能夠進一步的實現 信息管理系統的系統管理功能,這一過程往往在能夠遞交與系統管理者審核之前要經 過多個在某些層面上來說是不必要的操作步驟,而這些步驟就會導致系統管理流程更 加復雜、處理的過程更加冗雜。
(3) 系統數據共享性差、數據整合度低下
當前大部分的系統的數據存儲是較為分散的,還沒能夠實現集中管理的存儲模式,
導致了系統內的數據沒有一個良好的共享渠道,就會影響到數據的應用和系統功能的 實現[46]。而出于對系統安全和數據安全的考慮,系統中數據的存儲位置分散導致了系 統數據缺乏統一性和完整性,造成生鮮農產品信息管理系統對農產品的信息管理困難 [47]。
3.2生鮮農產品信息管理系統的可行性分析
智慧監管生鮮農產品管理系統是農戶和消費者之間的橋梁,對于農戶來說,需要 做好農產品的監測、展示、銷售等方面。而對于消費者來說,及時、準確地獲取自己 想要的農產品信息是十分重要的,而能夠便利、實惠地購買到想要的農產品更是重中 之重。
本論文所要設計的互聯網銷售平臺的可行性分析,主要從技術可行性、經濟可行 性、社會可行性和法律可行性四個主要方面進行介紹。
3.2.1技術可行性
該生鮮農產品信息管理系統在平臺開發期時,選用了目前來說較為先進的 B/S 軟 件設計架構。采用這種架構的系統所需要的運行數據全部是放置在遠端的服務器中的, 而用戶在使用系統時能夠方便快捷地遠程調用服務器中所需要的所有數據。
本系統采用的是目前用于商業用途較為熱門的 JAVA 語言、 JSP 頁面技術和 MySQL數據庫[48]o其中,JAVA語言所具備的跨平臺性能夠兼容較多的系統平臺, 而JSP頁面技術則具有語言良好的特性昭。MySQL數據庫則是應用較為廣泛的數據 庫,它具備著數據處理速度快的優點,能夠實現信息的實時性更新,也能夠滿足該信 息系統建設初期對數據進行管理的要求[50]。
3.2.2經濟可行性
本文設計的生鮮農產品信息管理平臺結構清晰、系統穩定、頁面簡潔、開發維護 成本低、開發所需時間較短,建立的需求目標相對容易完成。而且通過互聯網銷售平 臺進行的交易活動,同傳統的產供銷模式相比成本更低,因此從經濟的角度上來看是 可行的[51]。
3.2.3社會可行性
本文設計的生鮮農產品信息管理系統平臺構建完成并投入實際運行之后,農戶可 以便捷地對自產農產品進行銷售、商家可以迅速地找到農產品貨源、消費者也能夠及 時的獲悉各類農產品銷售信息,因此從社會的層面上來說具有較好的社會可行性[52]。
3.2.4法律可行性
本系統的開發是完全獨立自行設計的,不存在侵權問題,使用的都是正版軟件以 防止使用盜版軟件將會出現的法律糾紛。
3.3 系統的設計原則
對于本文設計的生鮮農產品信息管理系統來說,在設計時應當參照技術先進性、 系統實用性、安全性、經濟性、可維護性、可擴展性這六個系統設計原則。
( 1)技術先進性
在系統的設計上,系統的各種軟硬件設備的設計應當要緊跟當前各類高新技術的 潮流,盡量減少使用過時的技術。而且,在某種意義上來說,如果系統在設計之初就 具有一定的前瞻性,這一系統在今后較長的一段時間內都能夠保持住一定的技術先進 性。
(2) 系統實用性 一個優秀的中文系統應當具備一個簡單清晰的中文人機交互界面,用戶在系統中
進行的操作是越簡單越好的,應該容易學習理解,而且對于維護人員來說,管理和維 護方面的便利性也不容忽視。系統還應當具備各類兼容性才能夠保證真正的實用。
(3) 安全性 對于一個開放的多用戶互聯網系統,應當配套有全面的安保措施,不但要具有很
高的安全性和保密性,而且需要在抗病毒感染和防止黑客攻擊供給方面做足文章。而 系統對于內部的關鍵數據、程序應當采取類似于備份、冗余的防護措施以保證系統具 備較強的容錯性和系統自我恢復能力。只有具備以上條件的系統才能夠滿足長期正常 運行的條件。
(4)經濟性 對于一個系統的開發來說,應當在實現系統所有設計的功能的前提下盡可能的降 低系統的建設以及運行維護成本。因此,需要在系統建立時將現有的可用資源進行充 分的考慮和整合,而且要盡量將系統從設計到完成交付、運行維護時的費用計算在內。
(5)可維護性 一個良好的系統應當做好收尾工作和日志記錄,這個日志能夠記錄下所有有效的 用戶操作以便于系統管理員的查看分析,而系統應當具有專業的管理維護終端,然后 及時采納用戶所提出的要求和建議并做出相應的處理。
(6)可擴展性 系統應當事先預留好各類輸入和輸出的接口,方便后期對系統功能進行擴展升級 和定制開發。
3.4系統需求分析
3.4.1生鮮農產品信息管理系統需求分析
農業是一個國家發展的基石,我國仍處在社會主義發展的初級階段,農業是經濟 發展的重要保障之一,同時,農業也是一個國家的國民賴以生存的重要產業[53]。在居 民的日常生活中,生鮮農產品是需求量最大的消費品種類之一,而生鮮農產品的質量 保障、來源信息等就成為了居民比較關心的內容。本設計旨在創造一個普適性強、涵 蓋范圍廣的生鮮農產品管理系統,從源頭上將城市居民所關心的生鮮農產品相關信息 全面、透明地展示出來,讓居民“看得見”、吃得放心。
3.4.2系統性能需求分析
(1)系統的實時性要求將系統當前的工作量以及未來發展過程中將要承擔的工 作量都考慮進來,這樣才能讓系統在運行的過程中能夠有效地解決用戶的需求。
(2)為了方便用戶的操作,系統在進行界面設計時,應當遵循各種設計原則, 讓用戶用得輕松、方便、可靠。并且要能夠在用戶界面中進行問題設計,確保用戶在 使用中遇到的問題能夠被及時解決[54]。
(3)進行系統開發設計時,必須確保數據表能夠明確相關領域的變化,并隨著 系統所執行的相關變化進行及時的調整,還要能夠不斷完善現有用戶的查詢需求,只 有在完成了以上要求以后,一個系統才能成為一個成熟開放的系統。
(4)由于系統需要進行一定量的數據處理,所以設計的系統必須對數據有著準 確的掌握,需要實現數據錄入后進行數據共享的及時性。
3.4.3系統非功能性需求分析
一個系統不但要滿足功能性需求,還要滿足必需的非功能性需求。
非功能性需求雖然不是系統運行的關鍵性需求,沒有達到非功能性需求的要求, 系統中的用戶體驗就會變差,會影響到用戶對系統的使用頻率,而使用頻率關系到一 個系統的壽命[55]。
本文設計的智慧監管生鮮農產品管理系統的非功能性需求如下:
(1)人機交互界面簡單方便用戶使用,在各個功能模塊中用戶都能自如地完成 想要執行的操作。
(2)作為一個互聯網平臺系統,系統中網頁的響應時間在網絡通暢的條件下一 般不應超過 3 秒。
(3)在開發完成初期系統要能夠容納大概 150~300 個用戶的同時登錄。
(4)對于系統的功能的使用,要對用戶提供有效的引導功能。
(5)系統要具備一定的容錯能力。
3.4.4系統用戶用例分析
系統內部主要包括三類用戶,用戶用例如圖 3-1 所示:
(1)系統管理員:系統管理員居于幕后,擁有這個系統中最高的權限,主要負 責對系統內的用戶、產品信息、服務、權限分配進行管理工作。
(2)普通用戶(消費者):普通用戶可以注冊賬號、登入登出系統。在進入系 統后,普通用戶可以在首頁中瀏覽農產品信息、商家信息、購物車、訂單等等,也能
在個人中心對用戶的各類個人信息進行修改。
(3)商家(產運銷):商家主要包括四個角色:農戶、承運商、批發商和零售 商。在注冊時以對角色進行分流選擇的方式獲取對應的權限和功能。
①農戶角色的主要功能是農產品的出售和生產過程中的監控。
②承運商角色的主要功能是農產品的運輸訂單管理。
③批發商角色的主要功能是農產品的分銷管理。
④零售商角色的主要功能是農產品的購入訂單和銷售管理。
圖 3-1 系統整體用戶用例圖
Fig 3.1 Overall user use case diagram of the system
3.5本章小結
本章主要說明該系統的需求,其中包括現行的系統的缺陷、生鮮農產品信息管理 系統的可行性分析、系統服務內容以及系統的用戶用例分析等。明確一個系統的需求 目標是完成一個系統構建的重中之重。
第四章 信息管理系統設計
4.1系統業務流程模型設計
制作系統的人員對系統設計時的各種業務流程的理解深刻與否是該系統能否順 利構建完成并實現投入使用的決定性因素。因此,如果要能夠準確地理解并完成本文 中所要構建的系統的業務流程,不僅要將系統中的所有業務內容熟悉了解,還要捋清 這個系統中的各個業務內容流程的關系,將各個業務流程按重要程度進行排序,根據 這兩點將系統內業務之間的管理關系整理好[56]。
同時,系統的業務流程圖也是一個軟件系統分析設計的重要環節之一。
系統業務流程圖如圖 4-1 所示。
圖 4-1 系統業務流程圖
Fig 4.1 System business flow chart
4.2系統服務內容
本系統是應用于高效的、直接的對生鮮農產品進行系統管理的,它將涵蓋生鮮農 產品的生產、運輸、批發和零售這四個環節。
為了提升農業生產的質量、推動農業產業的全面升級,同時也為了贏得消費者的 信任,使消費者看到農產品的整個生產過程、滿足消費者對食品質量的要求,而不是 只允許消費者看到最后能夠購買到的成熟的農產品。
系統在農戶選定攝制信息(錄制時間、錄制地點、錄制內容)后,通過硬件設備 (高清攝像頭、DVR模塊、WIFI模塊等)進行農產品生產視頻的錄制,并將錄制完 成的視頻存儲到數據庫,作為農業生產的記錄信息和農產品的基本信息,系統內的所 有用戶都可以瀏覽這類信息,使系統實現了初步的農業可視化。
4.3系統數據庫設計
對計算機程序人員來說,要設計一個計算機軟件系統的數據庫,首先必須要建立 數據庫的概念模型:E-R模型圖。它是關系型數據庫的直觀表述。在E-R模型圖中, 規定用橢圓形或者圓角矩形來表示實體 E 或關系 R 的相關屬性,并且用直線把實體 或關系與其相關的屬性連接起來。用矩形框來表示實體,用菱形框來表示實體間的聯 系。E-R圖中的關系同數據庫中的表對應關系一樣,也分為:一對一、一對多、多對 多三個類型[57]。
普通用戶實體屬性包括用戶編號、用戶類型、用戶名、用戶密碼、用戶郵箱、用 戶手機號、性別、生日和頭像。
用戶必須在系統中填寫并選擇收貨地址才能夠完成購買農產品的步驟。 系統中的普通用戶實體的屬性如圖 4-2 所示。
圖 4-2 普通用戶實體 Fig 4.2 Ordinary user entities
農產品實體的屬性包括農產品編號、農產品種類、農產品名稱、農產品視頻、農
產品詳細信息、農產品圖片、單價、銷量、評論以及與之有關聯的商家編號。
農產品實體的屬性如圖 4-3 所示。
圖 4-3 農產品信息實體
Fig 4.3 Agricultural products information entities
商家實體的屬性如圖 4-4 所示。
圖 4-4 商家實體屬性
Fig 4.4 Business entity attributes
用戶訂單實體的屬性如圖 4-5 所示。
圖 4-5 用戶訂單實體
Fig 4.5 User order entities
購物車實體的屬性如圖 4-6 所示。
圖 4-6 購物車實體 Fig 4.6 Shopping cart entity
普通用戶實體與收貨地址實體的關系如圖 4-7 所示。
圖 4-7 普通用戶與收貨地址
Fig 4.7 Ordinary user and receiving address
商家實體與農產品實體的關系如圖 4-8 所示。
圖 4-8 商家與農產品
Fig 4.8 Businessmen and agricultural products
普通用戶實體與訂單實體的關系如圖 4-9 所示。
圖 4-9 普通用戶與訂單
Fig 4.9 Ordinary users and orders
訂單實體與農產品實體的關系如圖 4-10 所示。
圖 4-10 普通用戶與訂單
Fig 4.10 Ordinary users and orders
普通用戶實體、促銷信息實體、農戶/商家實體的關系如圖 4-11 所示。 農戶或商家端可以發布農產品的促銷信息,這類信息會被普通用戶端接收。
圖 4-11 促銷信息關系
Fig 4.11 Promotion information relations
普通用戶實體與購物車實體關系如圖 4-12 所示。
圖 4-12 用戶與購物車關系 Fig 4.12 User and shopping cart relation
購物車實體與農產品實體的關系如圖 4-13 所示。
圖 4-13 購物車與農產品關系
Fig 4.13 Shopping cart and agricultural products relation
在 E-R 模型圖的基礎之上,結合文中的需求分析結果,初期本系統中將會建立共
9 張數據庫表,分別為:用戶表、農產品表、農戶表、零售商表、批發商表、承運商 表、訂單表、促銷農產品表和收貨地址表。
根據普通用戶信息與收貨地址關系實體圖,對數據庫用戶表設計圖 4-1 所示。
表 4-1 數據庫用戶表
Tab 4.1 Database user table
字段名稱 字段內容 字段類型 字段長度 是否主鍵 是否為空
userid 用戶編號 varchar 64 是 否
username 用戶名 varchar 64 否 是
password 密碼 varchar 64 否 是
usertype 用戶類型 varchar 32 否 是
email 郵箱 varchar 64 否 是
tel 手機號 varchar 16 否 是
birthday 生日 varchar 16 否 是
sex 性別 varchar 1 否 是
headsculpture 頭像 varchar 255 否 是
數據庫用戶表內主要為普通用戶(消費者)的各類信息,包括用戶的編號、用戶 名、密碼、用戶類型(即普通用戶)、郵箱、手機號、生日、性別、頭像。根據農產 品信息實體圖,對數據庫農產品表的設計如圖 4-2 所示。
表 4-2 數據庫農產品表
Tab 4.2 Database agriculture products table
字段名稱 字段內容 字段類型 字段長度 是否主鍵 是否為空
productid 農產品編號 varchar 64 是 否
productname 農產品名稱 varchar 16 否 是
producttype 農產品類型 varchar 16 否 是
productdetail 農產品詳情 varchar 255 否 是
unitprice 農產品單價 varchar 16 否 是
productpicture 農產品圖片 varchar 255 否 是
salesvolume 農產品銷量 varchar 64 否 是
farmersellerid 商家編號 varchar 64 否 是
productcomment 農產品評論 varchar 255 否 是
promotionornot 是否促銷 varchar 1 否 是
video 農產品視頻 varchar 255 否 是
數據庫農產品表包括農產品的相關信息,主要是農產品的編號、名稱、類型、單 價、詳情、圖片、銷量、評論、商家編號和農產品是否為促銷產品。其中商家編號主 要代表著農產品產自哪個農戶、由哪個承運商運輸、從哪個批發商處批發、在哪家零 售商出售。根據商家信息與農產品關系圖,對數據庫農戶表、數據庫零售商表、數據 庫承運商表、數據庫批發商表進行設計:數據庫農戶表設計如表4-3 所示。
表 4-3 數據庫農戶表 Tab 4.3 Database farmer table
字段名稱 字段內容 字段類型 字段長度 是否主鍵 是否為空
farmerid 農戶編號 varchar 64 是 否
farmername 農戶名 varchar 64 否 是
password 密碼 varchar 64 否 是
usertype 用戶類型 varchar 32 否 是
email 郵箱 varchar 64 否 是
tel 手機號 varchar 16 否 是
birthday 生日 varchar 16 否 是
sex 性別 varchar 1 否 是
headsculpture 頭像 varchar 255 否 是
數據庫零售商表設計如表4-4 所示。
表 4-4 數據庫零售商表
Tab 4.4 Database retailer table
字段名稱 字段內容 字段類型 字段長度 是否主鍵 是否為空
sellerid 零售商編號 varchar 64 是 否
sellername 零售商名 varchar 64 否 是
password 密碼 varchar 64 否 是
usertype 用戶類型 varchar 32 否 是
email 郵箱 varchar 64 否 是
tel 手機號 varchar 16 否 是
birthday 生日 varchar 16 否 是
sex 性別 varchar 1 否 是
headsculpture 頭像 varchar 255 否 是
數據庫批發商表設計如表 4-5 所示。
表 4-5 數據庫批發商表
Tab 4.5 Database wholesaler table
字段名稱 字段內容 字段類型 字段長度 是否主鍵 是否為空
wholesalerid 批發商編號 varchar 64 是 否
wholesalername 批發商名 varchar 64 否 是
password 密碼 varchar 64 否 是
usertype 用戶類型 varchar 32 否 是
email 郵箱 varchar 64 否 是
tel 手機號 varchar 16 否 是
birthday 生日 varchar 16 否 是
sex 性別 varchar 1 否 是
headsculpture 頭像 varchar 255 否 是
數據庫承運商表設計如表 4-6 所示。
表 4-6 數據庫承運商表 Tab 4.6 Database carrier table
字段名稱 字段內容 字段類型 字段長度 是否主鍵 是否為空
carrierid 承運商編號 varchar 64 是 否
carriername 承運商名 varchar 64 否 是
password 密碼 varchar 64 否 是
usertype 用戶類型 varchar 32 否 是
email 郵箱 varchar 64 否 是
tel 手機號 varchar 32 否 是
birthday 生日 varchar 32 否 是
sex 性別 varchar 1 否 是
headsculpture 頭像 varchar 255 否 是
需要注意的是,農戶、承運商、批發商、零售商這四個系統角色的數據庫表基本
信息類別都相同,需要通過用戶類型將這四個角色區分開。
根據用戶與農產品訂單關系圖、訂單與農產品關系圖,
數據庫訂單表設計如表4-7 所示。 數據庫訂單表設計如下:
表 4-7 數據庫訂單表 Tab 4.7 Database order table
字段名稱 字段內容 字段類型 字段長度 是否主鍵 是否為空
orderid 訂單編號 varchar 64 是 否
userid 用戶編號 varchar 64 否 是
productid 農產品編號 varchar 64 否 是
farmerid 農戶編號 varchar 64 否 是
sellerid 零售商編號 varchar 64 否 是
wholesalerid 批發商編號 varchar 64 否 是
carrierid 承運商編號 varchar 64 否 是
productamount 農產品數量 varchar 8 否 是
totalprice 總價 varchar 32 否 是
根據促銷信息關系圖,數據庫促銷農產品表設計如下:
數據庫促銷農產品表設計如表4-8 所示。
表 4-8 數據庫促銷農產品表 Tab 4.8 Database promotion table
字段名稱 字段內容 字段類型 字段長度 是否主鍵 是否為空
productid 農產品編號 varchar 64 是 否
productname 農產品名稱 varchar 16 否 是
producttype 農產品類型 varchar 16 否 是
productdetail 農產品詳情 varchar 255 否 是
unitprice 農產品單價 varchar 16 否 是
productpicture 農產品圖片 varchar 255 否 是
salesvolume 農產品銷量 varchar 64 否 是
farmersellerid 商家編號 varchar 64 否 是
productcomment 農產品評論 varchar 255 否 是
promotions 促銷信息 varchar 255 否 是
數據庫收貨地址表設計如表 4-9 所示。
表 4-9 數據庫收貨地址表 Tab 4-9 Database receiving address table
字段名稱 字段內容 字段類型 字段長度 是否主鍵 是否為空
userid 用戶編號 varchar 64 是 否
address 收貨地址 varchar 255 否 是
4.4系統界面設計
系統界面是人與系統之間進行信息交互的媒介,界面設計(即 User Interface 簡
稱UI)可以說是一個國際計算機界和設計界最為活躍的研究方向之一。
一組優秀的系統界面在設計時應當遵循以下幾點基本設計原則[58]:
(1) 用戶導向原則 因為一個系統是以最終交付于用戶使用為目的開發的,因此,界面的設計必須站
在用戶的角度來對系統界面進行設計,即用戶導向原則。只有和用戶群體在需求和偏 好方面進行必要的溝通和了解之后,才能夠做到這一點。而且,如果要使界面的受眾 面更廣,就需要采納各種不同群體的不同要求。因此,需要界面的設計者將這種差別 進行相當復雜的考慮和衡量[59]。
(2) KISS 原則
KISS(Keep It Simple And Stupid 的縮寫)原則,翻譯過來是“使它保持簡單和 乏味”,它強調的是界面的設計要遵循簡潔、簡便的原則。系統的界面是用來實現各 種類型的功能的,沒有必要添加過多的操作步驟或者復雜花哨的圖片。而要滿足這一 原則,就需要在界面中使用盡可能少的圖片、音頻和視頻,盡量使用文本,將操作設 計得簡單明了,并配以相應的操作提示,將所有內容和服務的說明都布置在界面的顯 眼處。
(3) 視覺平衡 由于在同一個界面內,不同的視覺元素如文字、圖片、空白部分等等內容對同一
個頁面瀏覽者起到的視覺效果是不同的,需要用控制不同元素占頁面的大小來控制頁 面的視覺效果平衡。而在視覺原理的理論中,同等面積的圖片和文字塊在一個頁面中 時,圖片對瀏覽者產生的視覺作用明顯。因此,在兼顧 KISS 原則的前提下,為了達 到視覺平衡的效果,應當使用視覺效果等量的文字來平衡一幅圖片。同時,界面的頁 眉和頁腳部分需要考慮視覺平衡的原則。而且,界面中留存的空白區域也有著它自己 的價值,不應當被忽略。一個合理布局的界面,應當留有一些適當的空白區域來達到 視覺平衡的效果,使界面給人一種簡潔大方的感覺。反之,如果界面中的內容十分密 集,不但會造成用戶本不必要的閱讀麻煩,甚至還有可能引起反感,破壞整個系統給 人的印象,間接造成系統用戶的流失。
(4)布局控制
對于界面的排版和布局的設計,不應過于單一和死板,更不能跟風抄襲他人。在 這一方面上,很多的設計者做的都不夠到位。試想一下,把大量的信息堆積在頁面中, 即使這些信息是用戶十分需要獲得的,也會對用戶造成不必要的干擾和麻煩。因此, 對于排版和布局,應當遵循以下兩個原理:
①米勒公式
根據美國心里學家喬治?A米勒的研究表明,一個正常人一次所能接受的信息大 小一般宜控制在 7±2 個 Bite 左右。如果將這一原理應用到界面設計中的話,就意味 著一個合理的界面布局應當將它一次所能展示的所有欄目控制在 5~9 個,因為過多的 欄目設置會讓界面的瀏覽者感到信息過于密集冗雜,無法一次性瀏覽完全,會造成心 理上的壓抑和厭煩。然而國內的很多界面設計時都沒有遵循這一原則,對欄目數量的 設置遠超過了 9 個[60]。
②分組處理
根據米勒公式,界面中的欄目數量不宜超過 9 個,但是,當界面內容實在過多無 法一次性用九個欄目展示完全的話,就需要對界面中所包含的內容進行分組處理。即 若界面中需要排列幾十個不同的農產品信息簡介框體,就需要每隔 7~9 篇加一個空行 或者平行線來對這些框體進行分組處理。
(5)對于界面中需要進行輸入操作的內容需要遵循的原則 系統各類輸入界面(輸入框、選擇框、多媒體內容選取器等)是用戶使用時間最 長,同時也是最容易出錯的環節之一。因此,為了使用戶體驗更佳、將用戶輸入內容 時產生錯誤的頻率降低,需要對用戶使用的界面采取多種設計方式來簡化用戶需要進 行的操作,盡可能地降低用戶輸入出錯的頻率。同時,界面上需要進行輸入操作的內 容最好能夠兼容用戶輸入時產生的錯誤。如能夠使用列表選擇框的內容就不要使用文 本輸入框,列表選擇框能夠在減少用戶需要進行記憶的內容的同時降低用戶可能因輸 入產生錯誤的可能,還能夠減少用戶輸入內容所需要的時間。此外,系統也應當對用 戶已經輸入過的內容進行保存處理。對于用戶的信息刪除操作,應當設立一個提醒機 制來防止用戶因誤刪操作而造成信息丟失和經濟損失。
4.5系統功能模塊設計
4.5.1注冊模塊
注冊:未使用過系統的新用戶可以通過用戶名、手機號和密碼在注冊界面注冊。
用戶通過在注冊界面中輸入手機號進行注冊,在注冊時需要通過手機發送的驗證 碼輔助完成注冊,在用戶注冊時默認選擇注冊角色為普通用戶(消費者)。若需要注 冊成為商家則要進行手動選擇。當確認用戶名未重復、手機號格式正確、手機號驗證 碼匹配、兩次輸入的密碼相同時,注冊才能夠成功。用戶進行注冊操作流程如圖 4-14 所示。
圖 4-14 用戶注冊系統流程圖
Fig 4.14 Flow chart of user registration system
需要注意的是,已經注冊過的用戶名將無法再次注冊,系統將會給出無法注冊的 提示。而注冊商家角色需要系統管理員的確認操作才可以完成注冊,在完成注冊之前 商家將使用普通用戶(消費者)的權限對系統進行操作。
4.5.2登錄模塊
登錄:已注冊的用戶可以通過用戶名和密碼在登錄界面登錄進入系統。
系統需要先判定用戶輸入的用戶名是否存在,若用戶名不存在,則提示用戶重新 輸入用戶名;若用戶名存在,則校驗用戶密碼是否正確。只有當用戶名和輸入的密碼 匹配時,用戶才能夠登入系統。
用戶登錄系統流程如圖 4-15 所示。
圖 4-15 用戶登錄流程圖 Fig 4.15 User login flow chart
4.5.3普通用戶(消費者)模塊
展示首頁:用戶可以在系統的首頁瀏覽生鮮農產品信息。
購物車:用戶可以將想要購買的生鮮農產品添加到購物車,添加完成后進行結算、
付款。用戶購買農產品流程圖如圖 4-16 所示。
Fig 4.16 User purchasing agricultural products flow chart
個人中心:用戶可以在個人中心對各類個人信息(用戶名、生日、頭像等)、安 全信息(手機號、郵箱、密碼等)進行完善和修改。
用戶修改密碼流程如圖 4-17 所示。
圖 4-17 修改密碼流程圖
Fig 4.17 Modify password flow chart
歷史訂單:用戶可以通過歷史訂單界面查找自己過去的購買記錄。用戶瀏覽訂單 流程圖如圖 4-18 所示。
圖 4-18 訂單瀏覽流程圖
Fig 4.18 Order browsing flow chart
4.5.4農戶模塊
生鮮農產品出售管理:農戶可以通過農產品管理頁面對自己生產出售的農產品進 行增加、刪除、修改、查詢操作。農戶進行農產品信息修改流程如圖 4-19 所示。
圖 4-19 農產品信息修改流程圖
Fig 4.19 Agricultural product information modification flow chart
訂單管理:農戶可以通過訂單管理模塊發布農產品訂單,批發商、零售商、承運
商可以根據需要或者農戶的指定進行相應的接單操作。
4.5.5商家(零售、批發)模塊
商品管理:商家可以通過農產品管理頁面對自家分銷、零售的農產品進行信息的
修改操作。
訂單管理:商家通過訂單管理模塊接收或者發布農產品訂單,其他角色根據訂單 需要或商家指定進行對應的接單操作。
4.5.6承運商模塊
運單管理:承運商可以在農戶、批發商、零售商任何一端發出需要第三方進行運
輸的訂單時接收運輸訂單。
4.5.7視頻監控模塊
系統可以通過在農戶的大棚、果林、菜地內安裝的攝像頭、DVR設備、WIFI設 備根據用戶的需要錄制生產場所內生鮮農產品的生長過程和生長環境,并將這類視頻 信息上傳至系統。農戶自己也可以通過手機、相機拍照等方式完善自家的生鮮農產品 信息。系統內的其他用戶通過視頻監控模塊,可以直觀地看到生鮮農產品的這類生長 信息,以此實現農業生產的可視化。
本次設計中的視頻采集模塊采用的是睿智 OV7670 CMOS 攝像頭。將采集到的視 頻信息存入到系統數據庫中,前端頁面訪問對應的數據接口獲取視頻信息。由于農作 物生長過程較為緩慢,視頻中大部分的畫面背景靜止,畫面主體運動較小,沒有必要 對每一幀圖像單獨進行編碼。因為沒有在數據庫中存儲原始采集視頻的必要,同時為 了減少視頻對數據庫的占用,提高視頻傳輸的速率,還需要使用視頻壓縮編碼對視頻 進行壓縮處理[61]。本次設計中采用的壓縮算法為運動估計和運動補償,該算法是消除 圖像序列時間方向相關性的有效手段。通過該算法可以消除圖像內部各像素間在空間 上的相關性,只對相鄰視頻幀之間變化的部分進行編碼,從而達到減小數據量的目的。 農產品生長視頻在采集后通過運動估計、運動補償算法處理后存儲到數據庫。用戶在 前端頁面選擇視頻時向后臺發送請求,由后臺根據用戶請求從數據庫中獲取視頻數據 返回到前端頁面中顯示。視頻采集流程、前端頁面獲取視頻信息流程如圖 4-20 所示。
圖 4-20 視頻采集模塊流程圖 Fig 4-20 Flow chart of video acquisition module
在系統完善的后期,條件允許的情況下,在視頻監控模塊內加入數字圖像處理技 術,系統可以對部分種類的生鮮農產品在病蟲害的預防方面進行實時監控。再配合自 動化的農產品分揀裝置,可以實現將農產品根據外觀、大小、品質進行自動分類分批, 方便農戶對農產品進行篩選分裝處理,減少農戶的人工勞動量,提高生鮮農產品的分 裝效率。
4.5.8管理員模塊
登錄:管理員通過登錄界面登錄,身份認證通過后進入系統。
用戶管理:管理員可以對系統內的所有用戶進行管理操作,如修改、刪除用戶的 密碼、賬號等個人信息;添加系統管理員角色等等。
4.6支付模塊
出于安全和便捷性的考慮,系統將暫時僅使用第三方支付平臺實現支付功能。系 統前期將使用的主要的支付方式為微信 Native 支付和支付寶電腦網站支付。其中, 由于支付寶電腦網站支付僅支持具有營業執照的企業或個體工商戶且網站需要通過 ICP 備案,系統的主要支付方式為微信 Native 支付。
4.7本章小結
本章主要內容以做一個什么樣的系統、怎樣做這個系統為中心,對系統的各個大 小模塊進行設計,如數據庫設計、后臺設計、頁面設計等。本章的描述還不夠詳細, 將在后續的論文工作中補充完整。
第五章 信息管理系統實現
5.1系統平臺實現
在本文的智慧監管生鮮農產品信息管理系統設計之初,采用的是 B/S 架構,因此, 用戶在使用該信息管理系統時,只需要在通暢穩定的網絡環境下有可以瀏覽網頁的瀏 覽器即可。
(1)服務器的配置
本文所設計的生鮮農產品信息管理系統是以三層 B/S 架構作為技術支持的,因此, 在數據安全方面,如果要對本系統的數據庫系統提供安全方面的保障,就需要將系統 在實際運行時的應用端和數據庫端作分離處理,這種做法在一定程度上可以保證系統 中的數據安全。
對于生鮮農產品信息管理系統來說,WEB服務器的應用主要體現在對管理人員 相關業務工作邏輯上的處理方式,同時,系統通過對 ADOVS2015 類的調用就能夠處 理好數據庫的相關操作,并在服務器端通過數據庫軟件的運行,來實現服務器所需的 對于 ADOVS2015 類的相關操作。因此,生鮮農產品信息管理系統的經濟可行性必須 考慮在服務器配置之初,同時,還要能夠兼顧生鮮農產品信息管理系統在性能方面的 運行需求。將這些因素統統進行綜合考慮之后,才能夠確保硬件配置達到該系統的最 低運行標準。
(2) 客戶端的配置
由于本系統是以三層 B/S 架構為核心設計開發的,用戶只需要在 WEB 瀏覽器中 就可以正常使用生鮮農產品信息管理系統。但是,在某些情況下瀏覽器的運行狀況會 受到影響,如果用戶所使用的硬件設備性能不良或者設備所使用的網絡環境條件不好, 就可能會導致系統無法正常使用。所以,為了確保生鮮農產品信息管理系統能夠滿足 正常運行的要求,并且還要能夠對用戶的所有正常業務操作進行快速的響應,就需要 對用戶所使用的硬件設備的配置有一個最為基礎的要求。
(3) 系統環境配置
①硬件環境
只需要有普通的運營商網絡設備環境即可。
②軟件環境 該系統中的軟件部分分為服務器端軟件和客戶端軟件兩個部分[62]。其中,服務器 軟件主要采用的有:WindowslO操作系統、Tomcat服務器以及MySQL數據庫。而在 客戶端方面,采用的主要是 Windows7 以上或 Android 或 IOS 操作系統和 IE6.0 以上 版本的瀏覽器[63]。
5.2系統功能實現
該系統使用Eclipse Oxygen作為開發工具,Tomcat作為該系統的應用服務器。系 統構建完成,經過調試、運行和發布環節后,用戶在瀏覽器地址欄中直接輸入網址就 可以進入到網站首頁。
網頁首頁設計如圖5-1 所示。
圖 5-1 系統首頁展示圖
Fig 5.1 System home page display chart
首頁中可以瀏覽當前最新的生鮮農產品信息,并且可以根據農產品的基本分類進 行帶有選擇性的瀏覽[64]。
系統首頁按農產品分類顯示界面如圖 5-2 所示。
圖 5-2 系統首頁農產品分類信息展示圖
Fig 5.2 System home page agricultural product classification information display chart
用戶通過點擊首頁中的某個農產品的展示框可以進入到農產品詳情頁面。詳情頁
面主要為商家設置的用于介紹各類在售生鮮農產品的信息,如農產品的價格、產地、
文字介紹、圖片、視頻以及商家信息等。農產品詳細信息界面如圖 5-3 所示。
進入商家首頁
越南進口紅心曲果
橋格¥ 18.88 月銷量:o
S3送 廣西玉林至上海”快逸免運費"48小時內發貨
商品詳情
圖 5-3 農產品詳情頁面
Fig 5.3 Agricultural products details page
用戶可以通過首頁頂部的商家標簽頁中選擇想要瀏覽的商家店鋪直接進入并查
找自己想要的生鮮農產品。商家名稱選擇瀏覽界面如圖5-4 所示。
商品列表
關鍵字:
1/34 下一頁》
限時低價 搭配a®價 通用排序 確定
圖 5-4 商家農產品展示頁面
Fig 5.4 Show page of commercial agricultural products
通過添加購物車功能用戶可以將想要購買的生鮮農產品添加到自己的購物車中, 添加完成后確認好各類購物信息后通過支付頁面完成整個支付流程。用戶購物車界面 如圖5-5 所示。
圖 5-5 購物車界面
Fig 5.5 Shopping cart interface
用戶訂單支付界面如圖 5-6 所示。
圖 5-6 支付界面
Fig 5.6 Payment interface
用戶通過點擊系統首頁中的注冊按鈕來打開注冊界面進行用戶的注冊。注冊時需 要填寫用戶的用戶名、手機號、密碼并選擇用戶類型,再通過所輸入的手機號收取短 信驗證碼并填入注冊界面后注冊進入系統。系統注冊界面如圖 5-7 所示。
圖 5-7 系統注冊界面
Fig 5.7 System registration interface
需要注意的是,用戶需要選擇自己的角色內容來進行注冊,當用戶注冊的系統角 色為普通用戶時,可以直接進入系統使用,選擇注冊農戶或商家時,還需要經過相應 的驗證信息輸入才能夠使用農戶或商家的功能。
注冊成功的用戶通過賬號(手機號等)+密碼的形式登錄進入系統,系統在用戶 做出登錄操作時需要對用戶的身份完成相應的驗證操作之后用戶才能進入系統。
系統登錄界面如圖 5-8 所示。
系統個人中心頁如圖 5-9 所示。
親愛的劉"寶.填寫真實的資料,有助于好友找到你哦.
•屁稱: 劉哇
”呢稱11寫須知:與洵蛍業務或典彖品牌沖臾的呢稱.溝寶將有可擺收回
•實姓名:
•頤 男O女
生日: f 1995 $)[ 2 s][s J 仙生年盼為8K:[水16座訂
居住地; 1 iJL^LU
彖鄉: zz^oq
123
圖 5-9 系統個人中心頁
Fig 5.9 System personal center page
用戶在進入系統后通過個人中心按鈕進入個人中心界面,可以對自己的各類信息 如昵稱、頭像、生日、性別等做出修改操作。修改的內容在系統驗證通過后會更新到 系統數據庫中。用戶收貨地址管理如圖 5-10 所示。
智慧監管生鮮農產品信息管理系統 挪威森林注銷
首頁 購物車 個人資料 收貨地址 安全設置
收貨地址
斷it收黃地址
當前配送至中國大陸
*地址信思:謁選樣省佈/區償道 v I
山東嘗H鳥市 城陽區上馬街 廣博路325號QSTII軟實訓總部 000000 MS 冊除 設為默認
基地
XBteS 山東骨WS5P 城陽區上馬街 廣H路325號QSTK軟實訓總部 基地 000000 86~J5*******02 修改 設為獸認
圖 5-10 收貨地址管理
Fig 5.10 Receiving address management
用戶安全信息認證界面如圖 5-11 所示。
陌于»HK號的安全性和值任圾別.認證后的有賣累記錄的厳號不 卻改認證值乩
支全性■的輙可以便■;號更史全.it議悠定期更ASK. aiflv 一個包含井長|»歯過6位以上的廐碼.
圖 5-11 用戶安全信息認證
Fig 5.11 User security information authentication
用戶在個人中心界面的安全設置界面中可以完善自己的各類安全信息,如身份認 證、密保問題、個人郵箱等。由于這類信息涉及到用戶的賬戶安全,用戶應當盡量完 善以方便對賬戶的安全管理。用戶通過安全認證之后才可以進行修改密碼操作,修改 的密碼需要輸入相同的兩次才可以完成修改,否則修改失敗。
用戶密碼修改界面如圖5-12 所示。
圖 5-12 用戶密碼修改界面
Fig 5.12 User password modification interface
農戶商家農產品信息修改、增加、刪除界面如圖5-13 所示。
智慧監管生鮮農產品信息管理系統
saitts
圖 5-13 農戶商家添加或修改農產品信息界面
Fig 5.13 Farmer businessmen adding or modifying agricultural products information interface
農戶或商家可以通過該界面對已有的生鮮農產品信息進行修改,或者添加新的生 鮮農產品。在完成新增、修改或者刪除操作后,生鮮農產品的信息內容將會通過數據 庫實時同步更新至整個系統中。用戶視頻監控界面如圖 5-14 所示。
5.3數據庫實現
根據 4.3 節中的數據庫設計,通過 Navicat 數據庫管理軟件以新建查詢的方式, 輸入新建查詢代碼來完成對數據庫標的創建操作。完成數據庫表的創建后,才可以通 過后臺完成前端頁面與數據庫之間的數據互通。
根據表 4-1 設計完成的數據庫用戶表如圖 5-15 所示。
圖 5-15 數據庫用戶表 Fig 5.15 Database user table
根據表4-2 設計完成的數據庫農產品表如圖5-16 所示。
圖 5-16 數據庫農產品表
Fig 5.16 Database agriculture products table
根據表4-3 設計完成的數據庫農戶表如圖5-17 所示。
B glxt farmer @mysql (localhost_3306)-表 — □ X
文件 扁覇 查看 窗匚 辛助
tr導入向導EE導出向導v 弟選向導 網格查看 3羨單查看 ■ B 十六進制 圖像 »
farmend farmername password usertype email tel birthday sex headsculpture A
? dv4a2g112v 百果園 bgyl 23456 0 74746! 15061! http://bk.image.st
ef591a6a1d-萬里陽光果園 66668888 0 98196; 188517 V
Y V A ?! ■■厶 C O »♦喇
SELECT * FROM 'qlxt farmer' UM 篝1條記錄(共2條)于1頁
圖 5-17 數據庫農戶表
Fig 5.17 Database farmer table
根據表4-4 設計完成的數據庫零售商表如圖5-18 所示。
圖 5-18 數據庫零售商表
Fig 5.18 Database retailer table
根據表 4-5 設計完成的數據庫批發商表如圖 5-19 所示。
圖 5-19 數據庫批發商表
Fig 5.19 Database wholesaler table
根據表 4-6 設計完成的數據庫承運商表如圖 5-20 所示。
圖 5-20 數據庫承運商表
Fig 5.20 Database carrier table
根據表 4-7 設計完成的數據庫訂單表如圖 5-21 所示。
B glxt order @mysql (localhost_3306) -表 - □ X
文件 漏輯 童看 窗口 超助
C5導入向導££導岀向導j鋒選向導 Smn Osa令 ' sa i 番十六進制 L罔燻 銘升肘箱 :
ord erid usend procuctid farmend sellend wholesalerid carrierid prod ucta mount totalprice
卜 (Null) 丨(Null) (Null) (Nulf) (Null) (Null)
■fr ■ C 0 比• 1 41 X
SELECT * FROM qlxt order' LIMf 第 1 頁無記錄
圖5-21數據庫訂單表
Fig 5.21 Database order table
根據表4-8 設計完成的數據庫促銷農產品表如圖5-22 所示。
圖 5-22 數據庫促銷農產品表
Fig 5.22 Database promotion table
根據表4-9 設計完成的數據庫收貨地址表如圖5-23 所示。
圖 5-23 數據庫收貨地址表
Fig 5.23 Database receiving address table
5.4本章小結
本章內容為如何完成系統設計中的內容,主要包括系統界面的完成、系統數據庫 的構建以及系統的配置。
第六章 系統測試
根據本人在校外軟件公司實習期間的工作經驗,一個系統在設計、開發、完成、 交付等階段都需要進行大量的測試,在整個系統設計階段的功能基本上都開發完成之 后的測試尤為重要。因為這個階段時進行的系統的、全面的測試,能夠暴露出系統在 設計之處到開發完成的過程中產生的各種各樣的缺陷和問題,這些問題需要經過反復 的測試和修改才能夠滿足交付使用時的要求。
6.1系統測試環境
由于當前的用戶群體使用著各種不同種類的操作平臺,因此,系統在投入使用之 前還需要在各個不同的操作平臺中通過相應的測試,同樣的,還要將用戶所使用的不 同的瀏覽器同樣考慮進去。為了保證系統的適用性和有效性,就必須改變測試環境參 數來進行系統操作實驗。本課題的生鮮農產品管理系統將會在 Windows7 以上、 Android、IOS 等不同平臺不同類型不同版本的瀏覽器中實行測試方案[65]。
6.2系統測試原則
對系統所進行的測試,應當是由第三方或獨立的測試團隊在系統建立之初定義的 質量標準下從系統設計伊始直至系統交付時都需要不斷進行的。
就對系統進行測試的人員安排來說,由于人們的潛意識里都不希望自己的錯誤被 找到的這一心理因素的影響,對于自身犯下的錯誤,是很難被找到的。因此,第三方 或獨立的測試團隊相對于系統開發人員本身來說,對錯誤的查找發現具備更好的能力, 他們所得到的測試結果也會相對更加的客觀公正,能夠較好地完成測試活動。但這并 不意味著系統開發人員就不需要自己對系統進行測試了,一定程度上的自主測試也是 能夠起到發現系統中錯誤的作用的,這是因為作為開發人員本身,對自己編寫的代碼、 程序的熟悉程度是第三方所不能達到的。同時,開發人員對程序的自測也是對于開發 人員來說必須具備的基本能力。
作為一個用于交付的產品,應當在設計之時就建立好完備的質量標準,因為只有 建立了有效的質量標準之后,所有對軟件進行的測試結果才具備被分析或評估的價值。 對于測試的結果,應當根據質量標準確定出一個期望結果來確定測試的內容是否做到 了有的放矢。
由于系統軟件的制作周期一般不會太短,而系統軟件本身又具備抽象性和復雜性 的特征,因此,一個系統軟件的整個生命周期(設計提出到交付使用)內都必然會有 錯誤的產生。因此,需要對系統軟件進行的測試,從軟件設計之時測試人員就應當開 始介入測試了,并且在這整個軟件的生命周期內,測試都應當不間斷地進行,而不是 等到軟件開發完成之后將測試作為軟件的最后一個開發步驟。根據可靠的統計,我們 得出了一個結論:在一個軟件的生命周期中,在初始階段就產生的錯誤基本上會占到 整個生命周期中會出現的所有錯誤的 50%甚至是 60%。而根據缺陷的滾雪球效應, 早期的錯誤如果不能夠得到有效的解決處理,到了軟件開發的后期修正早期的錯誤需 要進行的工作量就會越來越多。因此,為了降低軟件的測試成本(開發成本)、測試 人員壓力、測試資源的投入,軟件測試人員要在軟件的開發生命周期前期就不斷地對 軟件進行測試,并且,在每個階段需要進行的測試都不應是完全相同的,比如在軟件 的設計階段,測試人員就需要對產品經理所提出的需求文檔進行評審,而不是將自己 獨立于需求文檔設計這一關鍵步驟之外。
而在對系統進行測試時,需要注意以下幾點:
(1)軟件的缺陷具有集群效應 根據帕累托法則(即著名的“二八定律”),我們可以得出“80%的系統錯誤集 中于 20%的程序模塊”這一結果,而且,在我自身接觸的項目實際的開發過程中也好、 其他人絕大多數的實際開發敬業也好,都能夠證明這一點的正確性。軟件中的缺陷通 常不是平均分布于整個系統之中,而是具備集群效應集中分布的。因此,在對系統進 行測試時,如果在某一處發現了多個缺陷的話,通常意味著在這些缺陷所在的模塊中 會有著更多的問題。因此,對于在測試過程中發現了較多錯誤的模塊或程序,應當注 意缺陷的集群效應,對該段內容進行反復深入的測試來確保錯誤的減少和消除。
(2)將用戶的需求作為軟件測試的標準 這里的“用戶”并不是狹隘的指軟件在交付后的使用者,而是軟件在整個生命周 期中所有的參與者。比如在做軟件系統需求分析和設計的測試時,作為測試人員,就 是系統需求分析和設計的“用戶”,而一個系統是否有用,起到決定性作用的還是它 能否滿足所有用戶的需求,這也是軟件產生的根本。因此,需要測試人員能夠在進行 軟件生命周期內的測試活動時,站在不同用戶角度看待系統測試這個問題。
(3) 沒有測試出缺陷不代表沒有缺陷 通常情況下,對軟件系統進行的測試是能夠找到存在于系統中的缺陷的,但是,
沒有任何一種測試行為能夠證明系統中不存在任何缺陷。一次完整的測試流程如果沒 有發現任何問題,只能說是減少了軟件或系統中存在缺陷的可能,而不能作為軟件或 系統是完全正確的證明。
(4) 進行窮盡測試的不可能性 對軟件或系統進行的測試應當是有始有終的,因為窮盡測試要做的測試內容將會
是一個天文數字,所以窮盡測試幾乎是不可能完成的,即使有數量再龐大的測試人員 也無法執行和完成數量無限大的測試用例。因此,我們對系統進行的測試,應當以抽 樣測試的方式來進行。而要進行抽樣測試,就需要根據測試的對象的優先級別對測試 的工作量進行一定的控制,在測試的成本、收益和風險之間謀求一個平衡,并在抽樣 測試的結果能夠滿足一定的測試出口準則時終止當前的測試活動[66]。
(5)用戶在系統構建時的介入
如果用戶能夠在一個軟件或系統的開發過程中進行介入,就能夠對這個軟件或系 統的質量特征提出建設性要求。質量特征指的不僅僅是系統中的功能性要求,還包括 了類似于穩定性、兼容性等等許多其他方面的要求。一個系統,功能性做得再強,但 兼容性差、用戶體驗差的話,同樣無法滿足用戶的需求和渴望,這也將會意味著開發 的階段性失敗,而在這之后即使對任何發現的缺陷進行修改或彌補也將會失去意義。 而用戶的提前介入就是為了避免這類問題的產生,一個用戶不買賬的產品自然會是一 個失敗的產品。
(6)殺蟲劑悖論
殺蟲劑悖論原本指的是在農業生產活動中,如果害蟲適應了一種殺蟲劑而產生了 免疫力,使得這種殺蟲劑逐漸失去了殺蟲的功效,變得毫無用處。而在軟件測試中, 則用來描述這樣一個原理:對軟件進行的測試越多,那這個軟件對測試人員要進行的 測試就越具有免疫力。而殺蟲劑悖論產生的根本原因是測試人員所使用的測試用例沒 有得到及時的更新換代,一旦殺蟲劑悖論發生,測試人員接下來所做的一切測試行為 都將是無用功。因此,為了避免殺蟲劑悖論的產生,測試人員的測試用例要時刻保持 更新乃至最新,不能一直依賴于現有的測試技術,對正在使用的測試用例要經常進行 評審和修改、不斷地提升測試方法以提高測試效率。測試人員在每次的測試工作完成 后,要養成在系統說明文檔中添加包含著最后一次代碼更新的文字信息說明。同時, 一個專業的測試人員,需要熟練運用的不僅僅是將輸出結果與期望值進行比較,還要 具備一定的探索性思維和對系統測試進行逆向思考的能力[67]。
(7)測試活動依賴于測試內容
由于軟件負責的業務上的不同,軟件的測試也要根據不同的行業來進行區別對待。 比如電子游戲和電子商務所需要進行測試活動的側重點是不會相同的,電子游戲的側 重點在于用戶體驗,而電子商務更多關注的則是系統的安全性和性能,會導致測試活 動在開展時所選用的測試技術、測試工具、測試流程、測試階段和測試出口的準則等 等因素都不盡相同。而即便是同類型的軟件系統,也不存在一種可以以完全相同的方 式進行的測試活動,因為測試活動的進行必須要于系統運行的環境和使用中可能存在 的風險進行關聯。
6.3系統測試方案
系統在開發完成之后,應當對其功能性、兼容性、安全性、性能指標、用戶界面 方面進行必要的測試[68]。
首先,系統最重要的部分是其功能。一個正常的系統的功能是需要各個功能模塊 通力合作才能實現的。在測試功能性時,需要將整個系統的業務流程進行完整的操作 測試,譬如用戶間信息交互是否通暢、頁面信息是否完整、功能是否完全滿足系統需 求等等。類似于以上的測試內容將關系到這個系統在進行實際的業務處理過程中的準 確度和可靠性,因此這是每一個系統軟件都無法跳過的測試內容。
次于系統功能性的是系統的兼容性。一個好的 WEB 系統,即使在不同的操作系 統平臺中,也應當能夠保證正常的運行。而要在不影響系統功能使用的情況下做到盡 可能多的兼容,就需要在不同類型的操作系統、不同類型的瀏覽器中進行兼容性測試, 以避免系統由于兼容性問題產生無法運行的情況。
在保證了系統的功能和兼容性之后,需要對安全性進行一定程度的測試。在互聯 網環境下,系統中的數據應當不會被輕易地泄露和篡改。同時,對于不同類型的用戶, 系統應當以不同的驗證方式來驗證不同的操作權限。而且,對來源于系統外部的惡意 侵入行為, 系統也應當具備一定的防護措施。
性能指標也是一個系統中的重要參數之一。如系統在大數據流產生、多用戶同時 操作時,不會發生系統崩潰等相關的異常現象并對用戶進行的操作給出快速準確的應 答。
系統還需要對用戶的界面(UI)進行測試,檢查并核實各個頁面窗口中的文字是 否統一、界面風格是否相同、圖標是否匹配、標題是否合理、布局是否整潔、用戶的 接受程度是否合格等等。
6.3.1數據庫測試
通常來說,數據庫是一個項目中最為核心的資產,因為數據庫不具備類似于代碼、 程序的可重寫性,一旦數據庫中的數據因為各種原因發生不可找回的丟失情況,損失 將會是巨大的。
而一個好的數據庫,只有通過了數據庫設計的測試、數據一致性測試、數據庫容 量測試、數據庫的性能測試和數據庫的壓力測試才能夠投入使用。
本系統的后臺所使用的數據庫是 MySQL, MySQL 數據庫系統可以使用官方的 Employees Sample Database 測試庫進行測試。
6.3.2系統性能測試
( 1)鏈接速度測試
在一般情況下,本系統的用戶是通過客戶端電腦或者手機上的瀏覽器使用該系統 的。但是由于用戶所處的環境、上網方式的不同,用戶終端訪問系統時系統的反應時
間也會有相應的變化。用戶在終端設備連接到這個系統時,系統的響應速度直接可以 作為系統服務器配置和網絡環境配置情況是否合理的參考。同時也是該系統是否需要 做更進一步的優化措施的參考內容之一。進行鏈接速度測試得到的結果如表6-1所示, 其中的延遲速度以秒(S)為單位。
表 6-1 鏈接速度測試結果表 Tab 6.1 Link Speed TeSt ReSult Table
A用 B用戶 C用戶 D用戶 E用戶 F用戶 G用戶 H用戶
實驗次數1 0戶.5 0.5 1.4 0.8 1 1.7 0.6 2.3
實驗次數2 1.3 0.7 1.9 0.4 2.5 1.1 1.2 1.6
實驗次數3 1.2 0.5 0.5 1.6 0.9 0.6 2.4 2
實驗次數4 0.4 1.4 0.7 1.4 1.2 0.7 0.8 1
實驗次數5 0.9 1 0.7 0.7 0.5 1.5 0.5 0.8
實驗次數6 1.7 2.1 1.1 1.2 0.5 0.7 1.3 1.3
實驗次數7 2.2 0.5 1.5 0.5 0.5 1.6 2 1.6
實驗次數8 0.6 0.9 1.5 0.7 1.1 1.9 1.5 0.4
實驗次數9 1.5 0.1 0.8 1.3 2 2.2 1.5 1.4
實驗次數 10 1.2 1.7 1.2 1 0.7 1.1 0.9 1.4
( 2 )系統負載測試
系統負載測試又可以稱為系統壓力測試,主要的測試方法就是測試系統能夠在同 一段時間內為多少數量的用戶提供服務,它能夠檢測出系統可以提供穩定服務的臨界 值。而對系統進行負載測試時需要用到名為 Load Runner 的測試軟件。系統負載測試 結果表明:同時在線人數150 并相繼提交請求時,系統都能夠保持較為穩定的工作。
進行系統負載測試得到的結果如表6-2所示,其中的延遲速度以秒(s)為單位。
表 6-2 系統負載測試結果表 Tab 6.2 System Load Test Result Table
延遲(S) A用 B用戶 C用戶 D用戶 E用戶 F用戶 G用戶 H用戶
實驗次數1 0戶.5 0.5 1.4 0.8 1 1.7 0.6 2.3
實驗次數2 1.3 0.7 1.9 0.4 2.5 1.1 1.2 1.6
實驗次數3 1.2 0.5 0.5 1.6 0.9 0.6 2.4 2
實驗次數4 0.4 1.4 0.7 1.4 1.2 0.7 0.8 1
實驗次數5 0.9 1 0.7 0.7 0.5 1.5 0.5 0.8
實驗次數6 1.7 2.1 1.1 1.2 0.5 0.7 1.3 1.3
實驗次數7 2.2 0.5 1.5 0.5 0.5 1.6 2 1.6
實驗次數8 0.6 0.9 1.5 0.7 1.1 1.9 1.5 0.4
實驗次數9 1.5 0.1 0.8 1.3 2 2.2 1.5 1.4
實驗次數 10 1.2 1.7 1.2 1 0.7 1.1 0.9 1.4
進行系統負載測試得到的結果如圖6-2所示,其中的延遲速度以秒(s)為單位。
6.3.3系統界面測試
系統界面測試并不屬于系統的功能或性能范疇之內,但是如今的軟件開發越來越 重視用戶的體驗感,用戶對系統界面的接受程度在某種程度上來說決定了一個系統是 否會流行起來,受到更多用戶的歡迎。一個優秀的界面設計語言能夠為系統吸引到更 多的用戶來進行使用。因此,即便是一個其他各個方面都較為完善的系統,如果它無 法吸引到更多用戶的注意、甚至無法挽留住已有的用戶群體,這個系統也會因為界面 設計的失敗而成為一個失敗的系統[69]。
6.4本章小結
本章內容為系統各模塊完成后的連接建立以及系統初步開發完成后需要進行的 一系列相關測試的要求和內容。
第七章 總結與展望
7.1總結
本課題的宗旨是設計并開發一個能夠智慧監管生鮮農產品的信息管理系統。
而在系統開發過程中,而在系統開發過程中,最為重要的步驟之一是設計系統時 的需求分析。一個合理且準確的需求分析能夠對系統的開發進程起到加速效果,也能 夠在一定程度上避免系統在完成后發生返工現象的可能。要做到準確的需求分析就需 要對系統所涉及的實際業務內容進行詳細的分析和研究,需要確定生鮮農產品信息管 理系統的功能和系統所需要管理的內容。其次,展開系統的概念設計,并逐步將空泛 的概念設計豐富為詳盡的實用設計。系統的實現是基于J2EE平臺和JAVA語言的使 用,并最終實現各個功能模塊之間的交互功能以達到生鮮農產品信息管理系統應當具 備的業務要求。此外,為了保證系統的各項功能正常運作,還需要在系統上線之前進 行一系列的測試。
經過對“智慧監管生鮮農產品管理系統的設計”的研究,基本實現了系統的用戶注 冊、登錄、生鮮農產品農戶監管輔助、生鮮農產品信息展示、生鮮農產品促銷信息推 送等功能。經過測試,該系統完全具有可行性。同時,系統若能進行推廣,對于推進 農業信息化發展和農業現代化能夠起到一定的輔助作用。
總的來說,這個系統基本能夠滿足消費者對生鮮農產品的信息的獲取需求,并且 能夠在生產方面給農戶帶來一定的便利。
7.2展望
理論上,本系統是能夠滿足小范圍內的使用需求的,功能較為簡單,它連接了果 農、運輸單位、銷售單位以及消費者這四個獨立的角色,而它主要實現的是對生鮮農 產品的管理上的智能化。但是,由于時間和能力水平的限制,系統還存在了很多的不 足:
系統所設計的數據庫較為簡單,無法滿足更加復雜的數據處理,數據庫所能容納 的數據量較小,服務范圍也相應較小,用戶量增加以后可能會造成阻塞。而如果要將 該系統進行大規模的推廣使用,還需要結合各銷售單位的 ERP 系統來形成一個統一 的整體。系統的功能還可以進行拓展,系統中依然有多個功能模塊可以添加完善,來 形成一個功能更加全面、性能更加良好、用戶體驗更佳的生鮮農產品信息管理系統, 為用戶提供更好的服務。如在視頻監控模塊內添加機器視覺分析模塊,通過對農產品 的實時照片、視頻文件的分析來實現對農產品的病蟲害預測;引進先進的農產品分揀 裝置完成對農產品的機械化分揀;在農戶的大棚中加入各類傳感器和對應的硬件模塊 來實現對大棚中的農產品的無人監管控制等等。
參考文獻
[1]宿紅日.黑龍江省生鮮農產品流通模式研究[D].哈爾濱:東北農業大學,2015.
[2]邢士賓.河北省果蔬類農產品物流發展對策研究[D].石家莊:河北科技大學,2015.
[3]黃桂林.綠色農產品電子商務系統的設計與實現[D].成都:電子科技大學,2011.
[4]田源,李伊松,易華.物流運作管理[M].北京:清華大學出版社,北京交通大學出版社,2007: 24-37.
[5]楊躍輝.農產品電子商務研究文獻綜述[J].安徽農業科學,2011(18): 10915-10916.
[6]陳學芹.內蒙古農產品電子商務的發展研究[D].呼和浩特:內蒙古農業大學,2012.
[7]李豐泉.基于物聯網的農產品供應鏈管理研究[J].物流技術,2015(4):227-229,240.
[8]比干強.供應鏈信息共享平臺的分析與設計[D].湘潭:湘潭大學,2014.
[9]趙巧.基于電子商務時代農產品網絡營銷體系構建模式研究[J].現代經濟信息,2017(30): 276.
[10]莊傳禮.農村信息服務中的"道德風險"與防范對策[J].中國城市經濟,2007(11): 55-57.
[11]鄭佩君.農產品供應鏈信息管理系統構建的研究[J].現代經濟信息,2012(02): 300-301.
[12]高忠新.基于網絡的農產品信息管理平臺研究[J].品牌(下半月),2012(03):38.
[13]王康佳.農產品企業物流信息管理系統的結構設計與應用[J].中國商貿,2013(26): 126-127.
[14]孫洪波.現代農業種植和農產品信息管理系統設計[J].赤子(上中旬),2016(15): 158.
[15]王雨晨.農產品批發市場管理信息系統的設計[D].秦皇島:河北科技師范學院,2016.
[16]黃新華.泰州市生鮮農產品供應鏈模式研究[D].南京:南京農業大學,2015.
[17]李輝,曾艷,曹晶晶.農產品國際貿易制度的演進與我國的對策[J].廣西財經學院學報, 2015(1): 74-78.
[18]郭立宏,李志新,侯金柱.我國農產品品牌營銷現狀及對策[J].中外企業家,2016(27):33-34.
[19]冼瑤,鄧佳佳.農產品交易模式對我國農民銷售行為的影響[J].江蘇商論,2018(6): 19-21.
[20]蔣建軍."互聯網+"背景下現代農業經濟發展路徑研究J].經濟研究導刊,2018(12):36-38.
[21]吳岳.基于網絡消費信任的生鮮農產品管理評價體系的構建與研究[D].南昌:南昌航空大學,
2017.
[22]徐旭東,尚艷玲.基于Agent的一種有效負載均衡的WEBGIS體系模型[D].北京:北京聯合 大學, 2008.
[23]林嵐.不確定函數可視化系統的實現[D].成都:電子科技大學,2012.
[24]張趙輝.探析網頁前端技術及其升華[J].科技致富向導,2015(2):67.
[25]呂毅.引入JavaScript框架解決WEB程序開發中瀏覽器兼容性問題[J].科技致富向導, 2010(8): 67-68.
[26]Eric ASmith. Active ServerPages 寶典[M].北京:電子工業出版社,2000.
[27]李勁松,孫東興,劉光成.現代跨平臺開發技術在移動終端層面的應用J].科技創新與應用,
2015(32): 91.
[28]刁志國.家庭農場信息化管理系統的設計與實現[D].秦皇島:河北科技師范學院,2016.
[29]蔡雅祥.高清網絡字幕機的應用[J].西部廣播電視,2015(15):216-217.
[30]郭鋒.通用技術課程資源網站的設計與建設[D].天津:天津師范大學,2015.
[31]王延超.煙草營銷管理系統的設計與實現[D].南昌:江西財經大學,2017.
[32]胡志僕.基于J2EE的互聯網購物系統設計與實現[D].天津:天津大學,2015.
[33]Johnson R. J2EEdevelopment frameworks[J]. Computer, 2005, 38(1): 4.
[34]蔣友好,彭文,蔣寧峰,孔令偉,馬力,殷佩浩,孫成.RIA技術在醫療設備報修系統中的應用 [J]. 中國醫療器械雜志,2013(2): 150-151.
[35]Shi Qang Chen, Bin Ying Wu. Design and Application of Book Information Retrieval System Based on B/S[J]. Advanced Materials Research 2013 2657(798).
[36]吳鵬.MVC模式與Struts架構的研究[J].軟件導刊,2010(8): 17-18.
[37]胡朋.基于Struts框架的綜合業務平臺系統的設計與實現[D].武漢:華中科技大學,2015.
[38]謝亮.Struts和BC4J技術在圖書館系統中的應用[D].大連:大連理工大學,2005.
[39]李平勇.J2EE框架組件的研究與實現[D].成都:電子科技大學,2004.
[40]馮學軍.基于SSH框架的WEB網站設計與實現[D].長春:長春理工大學,2010.
[41]Peng H. To Implement MVC Architecture' Excel Report and Scheduled Tasks by Using Spring Framework[J].電信研究;TL Technical Journal, 2008(38): 22.
[42]PAU Valentin Corneliu, MIHAILESCU Marius Iulian, STANESCU Octavian. Model View Presenter Design Pattern[J]. Journal of Computer Science and Control Systems, 2010, 3(1).
[43]李炳勝.基于SQLite的小型關系數據庫服務器的設計與實現[D].南京:東南大學,2012.
[44]葉柯.基于前后臺數據對象統一模式的資產管理系統的研究與開發[D].南京:東南大學, 2010.
[45]呂慶,費紅英.上海市生鮮農產品物流資源分配優化研究[J].當代經濟,2016(10):33-35.
[46]邰永梅.諸城市果蔬農產品供應鏈信息銷售平臺構建研究[D].成都:成都理工大學,2017.
[47]林茵.生鮮農產品電子商務配送模式的優化探討[J].電子商務,2016(5): 7-8.
[48]董正言.JAVA跨平臺特性的實現原理[J].科技資訊,2014(18): 20-21.
[49]VLADIMIR MATENA, MARK W. HAPNER.Method and apparatus for implementing timers for enterprise JAVAbean components[P]. AU7185301, 2002-01-21.
[50]Cay S.Horstmann. JAVA2 核心技術卷 I[M].北京:機械工業出版社,2005(3):45-46.
[51]段春梅.動態網頁制作技術ASP與JSP的比較[J].福建電腦,2008(6): 77.
[52]李曉晟,楊黎民,白良義超市主導的生鮮農產品供應鏈研究[J].蘭州學刊,2009(9):76-78.
[53]丁俊萍,熊啟珍.中國化的馬克思主義概論[M].武漢:武漢大學出版社,2003:23&
[54]郭安.手機音樂分享社區應用的交互設計研究[D].杭州:浙江工業大學,2014.
[55]何成萬,聶志杰.基于領域的需求規格生成工具的設計與實現[J].計算機工程,2008(8):
87-89.
[56]許晨.企業員工培訓管理系統[D].成都:電子科技大學,2012.
[57]吳浩然.淺析計算機數據庫軟件設計的原則與實踐J].科教導刊-電子版(下旬),2017(11): 247-248.
[58]張波.淺論界面設計的“簡”與“繁”[J].美與時代(上旬刊),2015(8): 46-47.
[59]鄭莉.界面交互設計與運用[D].上海:華東師范大學,2010.
[60]George A. Miller. The Magic Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information[D]. 1956.
[61]張斌.基于H.264/AVC的快速運動估計算法研究[D].太原:中北大學,2016.
[62]張家坤.基于WEBGIS的空間信息發布系統的設計與實現[D].長沙:湖南大學,2006.
[63]劉春燕."農超對接"-移動門戶網站的研究與設計[D].南京:南京農業大學,2013.
[64]張芳,王玨.基于WEB的農業信息管理系統建設研究[J].農業網絡信息,2013(7):20-21,37.
[65]向春梅,陳超.基于WEB的農業信息管理系統[J].運營一線,2017(09):28-31.
[66]陳炳燦.基于QF-Test的自動化功能測試框架的研究與實現[D].上海:上海交通大學,2012.
[67]俞映雪.郵政定制賀卡設計系統的設計與實現[D].成都:電子科技大學,2013.
[68]劉勇文.四川中聯工程設計建設有限責任公司網上辦公系統的設計與實現[D].成都:電子科 技大學, 2013.
[69]劉洪輝.用戶使用軟件系統行為模式挖掘算法研究[D].武漢:華中科技大學,2006.