摘 要
伴隨着全球化的發展,碼頭的物流和客運增多,碼頭業務迎來新的高峯。然而碼頭業務的增加,導致了人員成本和工作量的增多。爲了解決這一基本問題,碼頭船隻出行及配套貨櫃碼放管理系統應運而生。
此次碼頭船隻出行及配套貨櫃碼放管理系統的開發與設計將使用當前主流的程式語言Java來開發,採用流行的Java三大框架(Spring + Struts +Hibernate)實現出一個功能相對齊全、介面簡潔、使用方便、使用者體驗度相對較高的碼頭船隻出行及配套貨櫃碼放管理系統。
該系統爲使用者提供了一個碼頭船隻出行及配套貨櫃碼放管理系統,在系統中可以管理使用者、管理船隻、管理貨櫃等等,另外設定了兩種許可權(管理員和員工),不同許可權的使用者登錄後操作不一樣,讓使用者體會到一個真實的碼頭船隻出行及配套貨櫃碼放管理系統。
本設計遵循碼頭業務流程,從實際出發,多方調研,反覆 反復測試,實現一個功能穩定、效能極佳的碼頭船隻出行及配套貨櫃碼放管理系統。
關鍵詞:系統,Java,管理,web
1.5 論文內容安排
該碼頭船隻出行及配套貨櫃碼放管理系統,我計劃完成對碼頭船隻分配貨櫃和路線的管理問題。論文內容分爲六大部分。
第一部分是引言,簡要描述課題的背景、課題的意義以及研究目的等。從而得到開發一個針對碼頭工作者的碼頭船隻出行和貨櫃碼放管理系統的可行性與必要性
第二部分則是系統開發工具及環境分析,對系統中用到的的關鍵語言和技術進行大致的解釋
第三部分對碼頭船隻出行及配套貨櫃碼放管理系統的需求進行了分析,列出了詳細的需求列表,對系統的功能、效能、執行等方面進行有效的分析
第四部分對該系統進行詳細的設計與實現,針對各個模組的流程與類進行了詳細設計,最後對系統的數據庫進行了設計。通過該章,爲之後的編碼提供了基礎
第五部分則主要描述了對系統核心功能的測試
第六部分進行結論的總結,總結論文的研究方法與成果,並且說明系統目前存在的問題,並展望今後的擴充套件方向
2 系統開發技術及環境
2.1 java語言
本次開發中我使用了java語言進行實現。採用該語言的原因主要是它在跨平臺、動態的Web、Internet計算等方面很出色。並且常用的瀏覽器現在均支援Java applet。另一方面,Java技術在不斷更新。Java是一種簡單的,物件導向的,分佈式的,解釋型的,健壯安全的,結構中立的,可移植的,效能優異、多執行緒的動態語言,是一種非常實用的語言 [8][9] 。
Java平臺由Java虛擬機器(Java Virtual Machine)和Java 應用程式設計介面(Application Programming Interface,簡稱API)構成。Java 應用程式設計介面爲Java應用提供了一個獨立於操作系統的標準介面,可以分爲基本部分和擴充套件部分。在硬體或操作系統平臺上安裝一個Java平臺之後,Java應用程式就可執行。現在Java平臺已經嵌入了幾乎所有的操作系統。這樣Java程式可以只編譯一次,就可以在各種系統中執行。
2.2 開發工具MyEclipse
MyEclipse 是一個開放原始碼的、基於Java的可延伸開發平臺。就其本身而言,它只是一個框架和一組服務,用於通過外掛元件構建開發環境。對於程式設計人員來說,MyEclipse 附帶了一個標準的外掛集,包括Java開發工具(Java Development Kit,JDK)會提供很大的便利。由於My Eclipse 中的每樣東西都是外掛,對於給 MyEclipse 提供外掛,以及給使用者提供一致和統一的整合開發環境而言,所有工具開發人員都具有同等的發揮場所。這種平等和一致性並不僅限於 Java 開發工具。儘管 MyEclipse 是使用 Java 語言開發的,但它的用途並不限於 Java 語言;例如,支援諸如 C/C++ 、 COBOL、PHP 等程式語言的外掛已經可用。
2.3 MySQL數據庫
MySQL是一個關係型數據庫管理系統,是最流行的關係型數據庫管理系統。MySQL是一種關聯數據庫管理系統,關聯數據庫將數據儲存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。MySQL軟體採用了雙授權政策(本詞條「授權政策」),它分爲社羣版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型網站的開發都選擇MySQL作爲網站數據庫。MySQL所使用的SQL語言是用於存取數據庫的最常用標準化語言。SQL語句可以用來執行各種各樣的操作,例如更新數據庫中的數據,從數據庫中提取數據等。目前,絕大多數流行的關係型數據庫管理系統,如Oracle,Sybase,Microsoft SQL Server,Access等都採用了SQL語言標準。雖然很多數據庫都對SQL語句進行了再開發和擴充套件,但是包括Select,Insert,Update,Delete,Create,以及Drop在內的標準的SQL命令仍然可以被用來完成幾乎所有的數據庫操作 [10] 。
2.4 JSP技術
JSP是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態技術標準。在傳統的網頁HTML檔案(.htm,.html)中加入Java程式片段(Scriptlet)和JSP標籤,就構成了JSP網頁java程式片段可以操縱數據庫、重新定向網頁以及發送E-mail等,實現建立動態網站所需要的功能。所有程式操作都在伺服器端執行,網路上傳送給用戶端的僅是得到的結果,這樣大大降低了對客戶瀏覽器的要求,即使客戶瀏覽器端不支援Java,也可以存取JSP網頁。
JSP全名爲java server page,其根本是一個簡化的Servlet設計,他實現了HTML語法中的java擴張(以 <%, %>形式)。JSP與Servlet一樣,是在伺服器端執行的,通常返回給用戶端的就是一個HTML文字,因此用戶端只要有瀏覽器就能瀏覽。Web伺服器在遇到存取JSP網頁的請求時,首先執行其中的程式段,然後將執行結果連同JSP檔案中的HTML程式碼一起返回給用戶端。插入的Java程式段可以操作數據庫、重新定向網頁等,以實現建立動態網頁所需要的功能 [11] 。
JSP技術使用Java程式語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets存取存在於伺服器端的資源的應用邏輯。JSP將網頁邏輯與網頁設計的顯示分離,支援可重用的基於元件的設計,使基於Web的應用程式的開發變得迅速和容易。 JSP(JavaServer Pages)是一種動態頁面技術,它的主要目的是將表示邏輯從Servlet中分離出來。
JSP頁面由HTML程式碼和嵌入其中的Java程式碼所組成。伺服器在頁面被用戶端請求以後對這些Java程式碼進行處理,然後將生成的HTML頁面返回給用戶端的瀏覽器。Java Servlet是JSP的技術基礎,而且大型的Web應用程式的開發需要Java Servlet和JSP配合才能 纔能完成。JSP具備了Java技術的簡單易用,完全的物件導向,具有平臺無關性且安全可靠,主要面向因特網的所有特點。
2.5 Servlet
Servlet是在伺服器上執行的小程式。這個詞是在Java applet的環境中創造的,Java applet是一種當作單獨檔案跟網頁一起發送的小程式,它通常用於在伺服器端執行,結果得到爲使用者進行運算或者根據使用者互作用定點陣圖形等服務 [11]。
伺服器上需要一些程式,常常是根據使用者輸入存取數據庫的程式。這些通常是使用公共閘道器介面(CGI(Common Gateway Interface))應用程式完成的。然而,在伺服器上執行Java,這種程式可使用Java程式語言實現。在通訊量大的伺服器上,Java servlet的優點在於它們的執行速度更快於CGI程式。各個使用者請求被啓用成單個程式中的一個執行緒,而無需建立單獨的進程,這意味着伺服器端處理請求的系統開銷將明顯降低。
最早支援Servlet技術的是JavaSoft的Java Web Server。此後,一些其它的基於Java的WebServer開始支援標準的ServletAPI。Servlet的主要功能在於互動式地瀏覽和修改數據,生成動態Web內容。這個過程爲:
用戶端發送請求至伺服器端
伺服器將請求資訊發送至Servlet
Servlet生成響應內容並將其傳給伺服器。響應內容動態生成,通常取決於用戶端的請求
伺服器將響應返回給用戶端
Servlet看起來像是通常的Java程式。Servlet匯入特定的屬於Java ServletAPI的包。因爲是物件位元組碼,可動態地從網路載入,可以說Servlet對Server就如同Applet對Client一樣,但是,由於Servlet執行於Server中,它們並不需要一個圖形用戶介面。從這個角度講,Servlet也被稱爲FacelessObject。
一個Servlet就是Java程式語言中的一個類,它被用來擴充套件伺服器的效能,伺服器上駐留着可以通過「請求-響應」程式設計模型來存取的應用程式。雖然Servlet可以對任何型別的請求產生響應,但通常只用來擴充套件Web伺服器的應用程式。
2.6 系統開發環境
J2EE的開發平臺是一個開放的平臺,可以選用Sun公司的開發平臺NetBeans、也可以使用最爲流行的開發平臺Eclipse等。在這個課題裡我選用現在最爲通用的,也是開發效率最高的開發平臺My eclipse。由於本課題採用的SSH架構在開發和使用階段對硬體沒有特殊要求,所以在設計開發過程中,出於效能和效率的考慮,我們採用了較爲簡單的Tomcat作爲Web伺服器。如下是該碼頭船隻出行及其配套貨櫃碼放管理系統的開發環境:
操作系統:Windows 7
數據庫:MySQL 5.0
Web伺服器:Tomcat 6.0
Java編譯器:JDK 1.6
開發框架:Struts 2 + Spring 2.5+ Hibernate 3.1
開發工具:My eclipse
3 系統需求分析
一款實用的軟體就是要能夠讓使用者得到很好的體驗,本系 本係統開發就是本着這樣的目標,首先必須瞭解使用者真正的需要。做好一個強大的市場調查和合理的需求分析,在開發過程中多問自己一些「使用者需要什麼」的問題。
3.1 系統功能需求
軟件開發前的需求分析[12]是軟體最終成敗的關鍵,如果沒有進行詳細的需求分析,沒有充分理解系統中各類使用者的實際需求,那麼最終的軟體成品充其量只能說是軟件開發者的作品而已,而沒有任何實用價值可言。所以,在開發碼頭船隻出行及其配套貨櫃碼放管理系統之初 ,要對系統需求進行詳細的分析,本系 本係統所實現的最終目標:就是要使碼頭管理實現全面的規範化、科學化、自動化、高效化和流程化。對於碼頭日常管理來說,主要是碼頭船隻的管理,碼頭資訊的發佈,碼頭船隻配套貨櫃的管理,碼頭出行路線的管理等等。該系統爲基於web開發的碼頭船隻出行及配套貨櫃碼放管理系統,通過ssh框架實現的。擁有的功能有:使用者登錄、修改個人資訊、檢視碼頭資訊;增加、刪除、修改系統管理人員;增加、刪除、修改船隻資訊;刪除、增加、修改船隻路線資訊;增加、修改、刪除貨櫃資訊。因此,該系統應具有如下的功能,如圖3.1.1。
使用者登錄:該模組分爲三種使用者的登錄,一是一般(檢視)使用者,他的許可權只有修改個人資訊和檢視功能;二是一般(操作)使用者登錄,他可以修改自己的資訊,還可以對系統內容進行增加、刪除和修改;三是具有最大許可權的系統管理員,他可以修改自己的資訊,並且不僅有檢視、增刪改的基本許可權,還有對使用者的管理和註冊許可權
使用者管理:該模組實現對使用者的增加,刪除和修改
個人資訊維護:該模組實現使用者對自己的名字和密碼等個人資訊的修改
新聞公告管理:該模組實現新聞公告的增加,刪除和修改
船隻管理:該模組實現船隻的增加,刪除和修改
路線管理:該模組實現路線的增加,刪除和修改,以及船隻與路線關係的管理
貨櫃管理:該模組實現貨櫃的增加,刪除和修改,以及船隻與貨櫃關係的管理
完整的原始碼和詳細的文件,上傳到了 WRITE-BUG技術共用平臺 上,需要的請自取:
https://www.write-bug.com/article/3218.html