第1章緒論
本章主要介紹了論文的背景及意義,通過對比國內外的發展狀況,根據可 行性分析報告、需求分析以及參考一些大型煤企的出貨業務管理系統,結合本 項目實際需求,開發一套適用于某煤企自身發展需求的出貨業務信息管理系統。
1.1系統開發背景
煤炭作為我國使用最廣泛的能源物質之一,在工業生產的諸多領域中都得 到了大量使用,煤炭的穩定供應對國民經濟的平穩健康發展有著重要的積極作 用。對煤炭企業來說,煤炭產品的出貨銷售是企業管理中的重要難題,直接影 響著企業的資金周轉效率,隨著煤炭企業規模的不斷擴展,傳統的管理模式己 經難以滿足企業發展的需要,采用信息化的管理理念與管理手段己經勢在必行。 應用信息化的煤炭出貨管理系統,不僅能夠提高企業的管理效率,更能有效加 快企業的資金周轉,對降低企業管理成本,提升企業經濟效益,加強企業市場 競爭力都有著重要的現實意義
我國作為一個煤炭大國,煤炭的儲量豐富,需求量也較大。煤炭發電作為 我國最主要的發電方式,對煤炭有著大量的需求,同時冬季北方采暖用煤也是 煤炭的主要消耗方式。煤炭作為一種能源物質,開釆后存儲不僅成本高,還容 易造成安全隱患,因此如何提高煤炭企業產出煤炭的出貨效率對煤炭企業的發 展有著重要的影響囚。以筆者所在的某煤企為例,公司每年平均鐵路運輸煤炭 量約為90萬噸,為了保證企業的正常穩定運行,需要提高對煤炭出貨運輸的管 理力度,提升出貨管理效率。
當前來看,煤炭企業出貨管理仍主要采用人力為主的管理模式,由專門的 配貨人員負責煤炭產品的配貨運輸,根據不同用戶的需求不同合理安排火車及 貨車的進出廠時間⑶。傳統的管理模式下,配貨管理人員配貨安排的合理性與 科學性直接影響著煤炭企業配貨的效率,一旦配貨管理人員在配貨安排中發生 疏忽,將直接影響配貨的效率與安全。另一方面,科學的配貨往往依賴于配貨 人員的經驗,新員工的上崗難度較高。傳統的出貨管理模式下,煤炭企業與用
戶間的溝通主要依賴于電話,導致信息傳遞較為不暢,難以有效保證信息的時 效性和可靠性,導致整個出貨過程效率低下,出錯率較高。
針對傳統管理模式存在的弊端,本文從煤炭企業出貨管理的實際需求出發, 利用互聯網技術、計算機技術等先進的信息化手段,以煤炭出貨流程為管理對 象,利用信息系統實現了煤炭配貨出貨全過程信息的采集與實時共享,管理人 員以及用戶等可以實時了解煤炭產品的出貨情況及相應的帳款信息,不僅大大 提高了出貨管理效率,降低了管理成本,更減少了管理過程中的錯誤率,避免 了可能的損失。
1.2國內夕卜研究現狀
對煤炭企業而言,煤炭的開采、存儲、銷售以及運輸是企業管理的基本環 節,其中煤炭產品的銷售和運輸是企業經濟效益的直接來源,是企業管理的重 中之重。我國作為一個煤炭大國,擁有豐富的煤炭資源,儲量客觀,促進了我 國煤炭企業在上世紀末的迅速發展⑷。進入二十一世紀以來,隨著我國對環境 保護、資源節約認識程度的不斷加深,同時國際煤炭巨頭企業在國內市場的布 局進度不斷加快,加劇了國內煤炭市場的競爭力度,給傳統的煤炭企業帶來了 巨大的挑戰。與國內相比,國外信息技術的起步較早,發展更為成熟,管理信 息系統很早便在煤炭企業的管理中得到應用,信息化的管理理念與管理模式使 得國際煤炭巨頭企業的管理成本遠低于國內企業,增大了國外企業的市場競爭 力,相比之下,我國煤炭企業雖然近年來在信息化建設中取得了可圈可點的成 績,但與國外企業相比仍有一定差距⑸。
歐美、日本等西方發達國家鐵路等基礎設施建設較為完善,鐵路運輸信息 化程度較高,智能調度管理系統已經較為成熟,能夠根據預設的管理計劃自主 制定列車的運行時刻表,并在實行過程中不斷根據實際情況進行優化調整,不 僅最大程度上利用了有限的鐵路資源,更有效避免了列車間的沖突,提高了鐵 路運輸的運行效率【61。
隨著國內外煤炭市場競爭日趨激烈,國內煤炭企業想要在市場競爭中占據 優勢地位,就需要順應信息化大潮,轉變傳統的管理理念與管理模式,利用最 先進的信息化手段實現公司經營管理的信息化變革。煤炭作為煤炭企業的最主
要產品,煤炭產品的銷售、出貨以及運輸全過程等構成了企業管理的主線,特 別是煤炭的出貨環節,作為煤炭企業與用戶的對接環節,對煤炭企業的日常經 營活動有著重要的影響⑺。采用信息化的管理手段,應用信息化的管理理念, 通過信息管理系統實時采集煤炭出貨的全部相關信息,不僅有助于管理人員及 時了解掌握企業當前的銷售運輸情況,適時調整銷售目標、生產運輸計劃等, 同時可以及時發現企業生產管理中存在的各類問題,保障企業的平穩正常運營。
近年來,我國鐵路、公路等基礎設施建設的日趨完善,信息化水平也不斷 提高,全國范圍內的鐵路智能調度系統已經開始得到應用,公路管理信息系統 也已經上線,信息化給鐵路、公路運輸帶來了新的動力,也給煤炭企業岀貨的 信息化管理提供了便利。當前來看,已有部分煤炭企業開始應用了信息化管理 系統,通過與鐵路、公路智能化系統的交互,實現了物流運輸的自動化管理, 大大提高了管理效率,有效提升了企業的經濟效益。
13本文研究的主要內容
隨著信息技術的不斷發展,互聯網、計算機等在人們生產生活中的諸多領 域已經得到了普及。在煤炭產業中,由于受到人力、物力、財力以及技術手段 等方面的限制,煤炭企業的信息化水平仍相對較低,煤炭的生產、存儲、銷售、 運輸等仍主要以人工管理的方式為主,嚴重影響了企業的經營管理效率,限制 了企業的進一步發展。當前來看,雖然部分煤炭企業對信息化的重視程度得到 改善,并開始在出貨管理中應用信息化手段,但總的來看,仍存在以下兩點問 題;
一是多數煤炭出貨業務管理系統多處于起步階段,多處于試運行狀態,相 關業務流程管理仍不夠完善,在實際管理中發揮效用甚微;
二是由于煤炭出貨流程較為繁瑣復雜,涉及配貨、車輛管理、運輸管理等 諸多環節,而當前出貨業務管理系統的功能集成化水平較低,系統功能模塊只 以完成單一功能為目的,而不注重功能模塊間信息的交互,難以實現煤炭出貨 的統籌式管理。
隨著煤炭企業的不斷發展壯大,煤炭產量運輸量不斷增長,由于缺乏統一 的出貨管理系統,導致出貨管理人員工作負擔較重,需要對大量的出貨任務進
行規劃,不僅工作效率較低,準確率更難以得到保證,經常出現配貨沖突、裝 錯車、裝載量錯誤等,不僅影響了企業的經濟效益,更造成了嚴重的安全隱患。 因此設計開發一套適應煤炭企業實際出貨管理需求的煤炭出貨管理信息系統, 實現煤炭企業對煤炭出貨的信息化管理有著重要的意義。
本文針對某煤企出貨工作需要處理的主要工作內容,討論一套結合實際應 用需求的出貨業務信息管理系統的解決方案。在對實際應用需求進行深入分析 研究之后,根據實際的使用情況,提出包含出貨合同管理、出貨裝車管理、出 貨銷帳管理以及出貨運雜費管理。
1.4論文的組織結構
根據本文所涉及的內容,文章的組織結構主要分為7個章節:
第1章緒論,通過本章結合本系統的具體開發背景,對其所屬煤企的日常 出貨業務管理系統的開發意義進行了詳細分析,并結合所查資料以及所屬煤企 和出貨業務有關的各個部分實際調研,對國內關于出貨業務信息管理系統的研 究和使用情況進行了深入分析,進而對本系統的主要研究內容進行了確認。
第2章系統所用主要技術介紹,通過本章將對煤企出貨業務信息管理系統 中開發所需主要技術選取進行說明,包括設計所需架構設計、開發所用語言以 及實現所需的數據庫等方面。
第3章系統需求分析,通過本章主要對系統業務流程以及功能與非功能性 需求進行分析,其中,在功能需求分析過程中,主要借助功能用例與相應說明 對其進行全面分析和描述。
第4章系統詳細設計,通過本章對系統對具體設計目標進行了明確,結合 所用的主要技術,完成系統總體架構和網絡拓撲設計,重點完成系統各核心功 能模塊的設計以及數據庫設計,主要對功能結構圖、流程圖以及通過利用UML 建模方式對類圖進行設計與分析。
第5章系統實現,在系統詳細設計基礎上,首先對煤企出貨業務信息管理 系統開發環境進行介紹,對各功能模塊的部分實現界面進行全面展示,并給出 相應的核心代碼。
第6章系統測試。利用本章將對系統測試環節進行介紹,重點對煤企出貨
業務信息管理系統的測試方法、測試環境以及功能性能測試結果等進行了闡述 和分析。根據功能測試與性能測試,進一步對整個系統存在的問題進行完善與 驗證。
第7章節為研究總結和未來展望,簡明扼要的總結出本文主要的研究工作, 并提出在研究中系統存在的問題,以及對未來研究工作的展望。
第2章系統所用主要技術介紹
本次出貨管理系統開發主要是針對我公司業務操作人員需求為目的,不僅 要在功能實現上滿足用戶的需求,而且要做到相對較低的投入成本。根據本人 的開發水平和現有的條件,以及系統的功能需求,擬采用較為成熟的Protal架 構、Java語言以及SQL Server 2012數據庫技術進行開發。
2.1 Portal技術與架構介紹
Portal技術作為系統的門戶,其面向用戶進行服務,為用戶提供統一的身 份認證與登陸服務,從而實現對系統訪客的集中管理與控制。通過Portal技術, 系統能夠將用戶所需的各類信息進行匯總,并在視窗內進行合理的歸納排版與 統一展示⑴〕。Portal技術具備定制功能,煤企各部門可以根據自身業務需求, 為本煤企定制相應的信息門戶,當用戶登陸系統時,系統就可以將用戶相關的 信息整理后在門戶進行展示,從而避免了過多無用信息的干擾,有助于提高煤 企出貨業務工作管理效率。Portal技術還具備訪問權限的管理控制功能,能夠 在用戶登陸過程中完成用戶權限的鑒別和分配,并對用戶的相應操作進行監控。
為了實現強大的數據整合展示功能,Portal具有比傳統方式更復雜的系統 架構,一般多采用四層架構,有些場合會根據需求采用更多層的架構。在典型 的四成Portal架構中,展現層主要負責面向用戶的輸入及輸出,即采集用戶的 輸入指令,同時將數據信息展示給用戶;應用邏輯層主要負責在后臺對大量數 據進行邏輯處理。系統各層具體情況如下所述說〕:
(1) 系統接入層
系統接入層即系統客戶端,主要負責控制用戶的接入。通常情況下,有多 種方法通過接入層將用戶接入系統之中,當前主要采用的是系統用戶直接借助 筆記本或臺式電腦或者智能手機等終端,利用在瀏覽器中輸入系統主頁待系統 認證后即可直接進入系統中。
(2) 業務展示層
業務展示層主要用于將各類有效的信息資源進行較好的整合與處理,便于 用戶及時掌握和發現相關信息。為了實現了最新信息的更新顯示,業務展示層 多采用動態刷新策略,當相關信息資源發生變更時,能夠及時對顯示信息進行 更新。
(3) 業務邏輯層
業務邏輯層主要負責完成Portal相關的數據處理業務,用戶身份的鑒別、 訪問權限控制、各類信息資源的搜索、整合以及篩選等邏輯操作均在業務邏輯 層中予以實現。
(4) 核心數據層
核心數據層是Portal中進行數據交互采集的交互平臺,主要包括多媒體服 務器、訪問控制數據庫、目錄服務數據庫、網管等核心業務系統,負責根據關 鍵詞信息對核心數據源進行搜索與查詢。
2.2 Java語言介紹
根據系統所選取的架構,為了能夠進一步提高系統的擴展性與兼容性,結 合系統所需采用的面向對象的方式進行開發,通過分析,在對系統開發過程中, 主要采取Java語言對本系統進行開發。Java語言屬于面向對象的用于分布式環 境開發中的一種語言,與C++較為相類似。相比于其他語言,Java語言具有開 發簡單,實用性強以及適應性強等諸多優點,可以適用于各種不同的操作系統 與環境,及時針對不同硬件,也能夠靈活開發,在一定程度上能夠有效提高開 發效率以及成本[⑴。
特別是互聯網的大力發展,由于其便捷性與較強的適應性,在互聯網的應 用開發過程中,Java語言越來越受到重視,得到廣泛使用。當前各種主流的操 作系統均將Java程序作為了標準配置,越來越多的瀏覽器中的重要組件也將其 Java虛擬機視為必選組件,從而使得Java語言能夠在各種主流的操作系統和瀏 覽器中進行開發,保證其有較強的兼容性和擴展性,同時還能夠保證其穩定可 靠運行。
通過總結與分析,結合煤企出貨業務信息管理系統硬軟件需求,在Java語 言版本選取時將采用Java7.0版本進行開發。
2.3 SQL Server 2012 數據庫介紹
根據整個煤企出貨業務信息管理系統的實際應用需求,并通過對比多款數 據庫管理系統,最終選定SQL Server 2012為本系統所要應用的數據庫管理平 臺。SQL Server 2012是微軟公司所開發出的關系型數據管理平臺,該數據庫表 現出鮮明的windows DNA,使得熟悉windows操作系統的用戶更容易上手及方 便使用。SQL Server屬于跨平臺的數據庫管理系統,可以運行于各類主流操作 系統中,其具備強大的數據處理能力,數據管理功能完備,正是這些特征確保 其能夠滿足本系統對數據管理方面的實際需求網。從整體來看,SQL Server 2012 與其他數據管理系統相比,具有明顯優勢,具體表現在以下幾個方面:
(1) 具有較高的數據存儲安全性。從管理數據的安全性能需求角度分析, SQL Server 2012能夠提供較多對稱與非對稱的加密算法,可以加密處理數據庫 內部的數據,從而保護數據庫信息,避免信息泄露情況出現,確保用戶相關數 據安全。
(2) 具有較高的平臺適應性。SQL Server 2012能夠跨平臺運行,且適應能 力較強,無論大型服務器還是個人PC機都能夠平穩運行,適用于諸多當前主 流的操作系統和各類硬件平臺,靈活性強。而SQL Server 2012強大的可伸縮性 能保障了其能夠滿足各類部署在環境方面的要求,結合實際應用中的軟硬件環 境來科學的調整自身功能,從而實現系統的高效運行[⑴。
(3) 具有強大的數據引擎功能。正是由于SQL Server 2012數據引擎功能 強大,使得其具有完備的數據處理能力。SQL Server 2012能夠實現數據查詢, 其中包括英文查詢和中文查詢,與系統的實際應用需求完全相符;此外,SQL Server所管理的數據庫能夠實現數據庫間的數據共享和交互卩句;SQL Server 2012在數據處理方面,可以統計分析數據庫內所涵蓋的信息,并對分析結果進 行多元化展示,從而滿足客戶的多方位需求。
(4) 具有便捷的安裝使用路徑。相較于其他數據庫,SQL Server 2012安裝 非常簡單易操作。SQL Server 2012由于設計過程中集成了許多Windows DNA, 從而表現岀強大的平臺適應性和可伸縮性,從而在各類設備、平臺下安裝幾乎 不會受到任何困擾。從另一個角度來看,SQL Server 2012以視圖化的交互模式 將操作過程簡化,更為方便用戶的操作和使用。
2.4本章小結
本章對煤企出貨業務信息管理系統所用主要技術進行了詳細闡述,主要對 系統界面開發所用的技術、設計所需的架構、開發語言以及所用數據庫進行了 講述,通過比較和分析,最終選用Protal架構為系統所用架構、Java語言為系 統開發語言以及SQL Server 2012數據庫技術作為系統的數據庫。
第3章煤企出貨業務信息管理系統需求分析
系統需求分析是系統開發前的重要環節,需要明確用戶的真正需求,確保 系統的開發設計能夠滿足用戶的使用需要,是系統開發設計與實現過程的重要 保障。
3.1系統業務需求分析
隨著信息化時代的到來,信息技術開始在日常生活、工業生產等諸多領域 中得到廣泛應用,給人們帶來了極大的便利。在煤炭企業中,傳統的出貨管理 模式較為粗獷,不僅管理效率低下,錯誤率也較高,車輛擁堵、調度不力甚至 裝錯車等現象屢見不鮮,大大提高了企業的管理成本,同時影響了企業的形象, 不利于企業經濟效益的提升。隨著信息化管理理念開始得到人們的廣泛認可, 信息化手段開始在煤炭企業中得到應用,并取得了較好的成效,因此筆者所在 企業開始重視企業出貨管理的信息化建設,相關投入也逐年提高[⑺。
本課題設計開發的煤炭企業出貨業務信息管理系統實現了對煤炭產品出貨 全流程的管理,通過對煤炭出貨銷帳流程的梳理,條理簡化了傳統的出貨管理 模式,實現了線下到線上管理的轉變,將煤炭出庫、裝車等調度管理轉移到系 統中完成,不僅大大提高了調度決策效率,更節約了裝車時間,提升了企業的 運營效率。系統根據出貨任務,自動生成出貨計劃,通知各裝車車輛,司機及 裝車人員根據系統安排,按時進入廠區進行配貨裝貨,之后根據系統指示完成 煤炭產品的運輸任務。出貨過程中的全部信息都由系統采集和處理,不僅提高 了管理的效率,更有效避免了可能產生的錯誤,同時管理人員可以通過系統及 時了解企業當前的出貨情況,有助于及時調整生產、銷售策略。
通過對企業出貨業務流程的實地調研與考察,結合用戶的實際需求,設計 了出貨業務信息管理系統的四大功能模塊:
(1)出貨合同管理模塊
本模塊是整個煤企出貨業務信息管理系統最為基礎的功能模塊,通過本模 塊能夠對出貨所需的合同信息進行創建,并能夠通過在線的方式對其進行審批, 同時還能夠對合同的具體狀態進行查詢,極大的提高了工作效率。
(2) 出貨裝車管理模塊
裝車是煤炭出貨的第一個環節,根據鐵路運輸與公路運輸方式的不同,各 自有不同的管理流程。當選擇鐵路運輸時,需要提前制定好鐵路拉運計劃并提 交至鐵路運輸部門,待鐵路運輸部門審核通過后,按照預期的時間節點完成煤 炭的配貨與裝車。當選擇公路運輸時,同樣需要提前制定好配貨計劃,之后通 知貨車司機按照時間節點前往廠區配貨裝車。
(3) 出貨銷帳管理模塊
完成煤炭的裝車后,需要及時辦理出貨手續,即在核對貨物數量等信息之 后,完成貨權的轉移。出貨銷帳管理模塊主要負責出貨及銷帳手續的辦理,通 過信息化手段不僅能夠有效提高核對效率,更能夠有效避免各類錯誤造成的不 必要損失。
(4) 出貨運雜費管理模塊
運雜費管理模塊主要負責對公路、鐵路運輸過程中產生的運雜費進行管理, 系統將自動把運雜費信息與相應的出貨信息進行匹配記錄,之后將最終結果傳 遞至結算系統進行最終結算。
3.2系統功能需求分析
結合本煤企的日常出貨業務需求以及系統建設的目的,整個煤企出貨業務 信息管理系統設計與實現主要需要實現出貨合同管理、貨品裝車管理、出貨銷 帳管理以及出貨運雜費管理四大功能,各個功能的具體需求分析如下所述。
3.2.1出貨合同管理需求分析
整個出貨合同管理功能是待出貨訂單確認后的后續功能,合同管理員根據 具體銷售訂單情況,對貨品出貨合同進行制定,待項目經理審核通過以及分公 司的領導審批后才能夠進行蓋章,而后和相應廠商進行合同簽訂操作,同時還 能夠隨時對合同狀態進行查詢,具體的出貨合同管理用例圖設計見圖3-1所示。
從整個出貨合同用例圖可以看出,整個出貨合同管理功能主要包括出貨合 同信息管理、合同評審與簽訂以及出貨合同狀態查詢這樣三個部分,具體的出 貨合同管理用例說明如表3-1所示。
表3-1出貨合同管理的具體用例說明
闡述名稱 詳細內容
功能用例名稱 出貨合同管理
功能詳細描述 對本模塊主要角色所進行的出貨管理功能中的出貨合同信息 管理、合同評審與簽訂和出貨合同狀態查詢各種子功能主要操作 過程進行描述
操作前提條件 合同管理員、項目經理以及分公司領導已經成功進入出貨業
務信息管理系統主頁
詳細操作流程 (1)合同管理員授權成功進入系統后,在“出貨合同信息管 理”操作界面中選擇“合同創建”,能夠實現合同信息的編輯、修 改等相關操作,操作完成后可以實現保存;
表3-1 (續表)
闡述名稱 詳細內容
詳細操作流程 (2) 選擇“合同評審與簽訂”,項目經理能夠對新上傳的出貨 合同信息進行查詢,結合出貨清單對合同內容進行審核,通過后, 可以直接將其評審意見進行上傳;
(3) 對于評審通過的合同,直接進入合同簽訂環節,待蓋章 完成后,直接對審核結果進行公布,同時對數據庫信息進行更新。
可選操作流程 合同管理員和項目經理根據具體需求能夠通過輸入合同編號 的方式對合同狀態詳細信息進行査詢
3.2.2出貨裝車管理fit求分析
在煤企銷售階段,貨品在生產完成一直到出貨銷賬的這一段過程中,需要 經歷多次的移動、搬送,貨品可能是調換存貨區,也可能是運送給客戶,整個 移動、搬送過程必須要制定嚴格的運輸計劃,完成貨品的鐵路或是汽運的裝載 作業,從而確保貨運在與客戶溝通好的指定地點及指定時間下完成配送。應用 系統的出貨裝車管理功能,能夠為企業提供合理規劃,實現貨品信息的實時傳 遞,各級廠商能夠實時追蹤,提高了貨品運送效率,從而大大提高了企業競爭
從該用例圖能夠看出,整個出貨裝車管理功能主要包括配車計劃管理、鐵 路裝車管理以及公路裝車管理三大功能,通過結合簽訂完畢的出貨合同,配貨 人員制定相應貨品的配車計劃,而后通過鐵路或者公路裝車方式進行裝車運輸, 具體的出貨裝車管理功能用例描述如表3-2所示。
表3-2出貨裝車管理的具體用例說明
闡述名稱 詳細內容
功能用例名稱 出貨裝車管理
功能詳細描述 對本模塊主要角色所進行的出貨裝車管理功能中的配車計劃 管理、鐵路裝車管理和公路裝車管理各種子功能主要操作過程進 行描述
操作前提條件 配貨人員以及分公司領導已經成功進入出貨裝車管理系統主
頁
詳細操作流程 (1)在系統主頁中點擊“出貨裝車管理”,選擇“配車計劃管 理”,在顯示的界面中,依據銷售人員通知的拉運量及其產品外發 的目的站、專用線、收貨人的鐵路局批準量的限制等信息后經過 計算,而后選擇好相應的模版對具體配車計劃進行制定,待制定 完成后提交至系統等待分公司領導審核;
(2)在系統主頁中點擊“出貨裝車管理”,選擇“鐵路裝車管 理”,配貨人員根據審核通過的鐵路日計劃申請,利用系統形成裝 車作業單號,庫區管理人員可以拉運人員提供的裝車作業單號在 系統中找到對應的拉運信息,然后進行裝車處理;
(3)在系統主頁中點擊“出貨裝車管理”,選擇“公路裝車管 理”,配貨人員根據出貨合同清單中的收貨人信息、車輛信息、裝 載信息等錄入到系統中,然后形成一筆裝車作業單,庫區管理人 員可以拉運人員提供的裝車作業單號在系統中找到對應的拉運信 息,然后進行裝車處理。
可選操作流程 無
3.2.3出貨銷帳管理需求分析
出貨銷帳管理是本系統的一大主要功能,本功能主要用于當系統將出貨的 相關數據信息傳至系統數據庫后,通過此模塊能夠及時的將發貨與存貨數據以 及所產生的賬目數據信息進行更新,將其結合相應公式進行自動轉換成為客戶
應收款,同時還能夠對裝車作業單對具體追蹤數據信息進行更新。此功能所描
述的出貨銷帳主要是指的貨權發生轉變的鐵路和公路出貨管理,相應的銷帳人 員通過結合作業單直接對具體對出貨車皮需要進行全面核對與確認。具體的出 貨銷帳管理用例圖的設計如圖3-3所示。
出貨銷帳管理
路出貨銷帳處聖) 包含 >>
鐵路出貨銷帳管理伺令 、
合"毬路出貨銷帳確吵 2< 包含 >>一———
貨品庫存處理
(公路出貨銷帳處理
-<< 包含>> 一-——
公路出貨銷帳管理 、
' «包含"(知出貨銷帳確認
2<包含〉〉、- —— /
貨品庫存處理
圖3-3出貨銷帳管理用例圖
從該用例圖能夠看出,該出貨銷帳管理功能由鐵路出貨銷帳管理和公路出 貨銷帳管理組成,通過結合出貨裝車實際情況,對不同方式出貨情況進行銷帳 處理以及貨品庫存的處理操作,詳細的出貨銷帳管理功能用例描述見表3-3。
表3-3出貨銷帳管理的具體用例說明
闡述名稱 詳細內容
功能用例名稱 出貨銷帳管理
功能詳細描述 對本模塊主要角色所進行的出貨銷帳管理功能中的鐵路出貨 銷帳管理和公路出貨銷帳管理各種子功能主要操作過程進行描述
操作前提條件 銷帳人員已經成功進入出貨銷帳管理系統主頁
詳細操作流程 (1)在系統主頁中點擊''出貨銷帳管理”,選擇“鐵路出貨銷 帳管理”,在顯示的界面中,通過系統中裝車作業單獲取到車皮裝 載信息,通過打印裝車明細表來核對拉運的貨品是否符合,確認 無誤后錄入裝車重量,而后進行鐵路出貨銷帳確認操作,并對貨 品庫存進行處理;
表3-3 (續表)
闡述名稱 詳細內容
詳細操作流程 (2)待打印的裝車作業單遞交到出貨銷帳人員處,出貨銷帳 人員在系統主頁中點擊“出貨銷帳管理”,選擇“公路出貨銷帳管 理”,在顯示的界面中,根據裝車作業單信息查詢到待銷帳車輛, 然后錄入實際重量后,進行銷帳,庫存量被扣除。
可選操作流程 無
3.2.4出貨運雜費管理需求分析
當前整個煤企公司管理上只有鐵運運雜費需要公司提前給用戶做墊付,系 統利用運費基礎數據計算出一份參考運費,通過將之前運雜費費用做依據,等 到裝車作業單開立后,確定實際的運雜費用后,便將該筆運雜費記錄儲存到備 付運雜費信息數據庫中,日后給客戶再做訂單的時候,作為運雜費參考依據。 承運過程中產生的其他運雜費用也需運轉費管理系統進行記錄。具體的出貨運 雜費管理功能用例圖的設計如圖3-4所示。
從該用例圖能夠看出,該出貨運雜費管理功能由運雜費基礎數據管理、鐵 路運雜費借支管理以及鐵路運雜費報支管理組成,通過結合鐵路裝車所產生的 實際費用,將出貨的數據關聯到本模塊后,產生準確的帳務數據,具體的出貨
運雜費管理功能用例描述如表3-4所示。
表34出貨運雜費管理的具體用例說明
闡述名稱 詳細內容
功能用例名稱 岀貨運雜費管理
功能詳細描述 對本模塊主要角色所進行的出貨運雜費管理功能中的運雜費 基礎數據管理、鐵路運雜費借支管理和鐵路運雜費報支管理各種 子功能主要操作過程進行描述
操作前提條件 結算員已經成功進入岀貨運雜費管理系統主頁
詳細操作流程 (1) 在系統主頁中點擊“出貨運雜費管理”,選擇“運雜費基 礎數據管理”,根據對出貨數據信息的調用,在相應表格中對所產 生的運雜費信息進行錄入與查詢,待操作完成后,直接進行保存 并生成運雜費清單;
(2) 在系統主頁中點擊“出貨運雜費管理”,選擇“鐵路運雜 費借支管理”,結算員能夠根據先前的支付清單情況,點擊“新增” 按鈕,對所需的借支基本信息進行錄入,系統會將在數據庫中新 增一筆預支資料,點擊“借支”按鈕后,形成一筆借支單;
(3) 在系統主頁中點擊“出貨運雜費管理”,選擇“鐵路運雜 費報支管理”,結算員通過調取運雜費清單信息對實際付出費用進 行核實,形成一筆報支單號,單擊“報支”后沖抵預支金額,而后 發送給財務部門進行報支處理。
可選操作流程 財務人員能夠對借支或報支情況進行審核與批復,對于實際 支出與計算支出不符合的內容能夠及時反饋給結算員進行處理
3.3系統非功能需求分析
在全面分析系統需求過程中,除了系統所需實現的日常業務需求之外,為 確保系統的平穩可靠運行,包括在特殊情況下的穩定運行,不影響出貨業務信 息管理日常業務的處理,還需進一步分析系統的非功能需求。
3.3.1系統安全性需求
本論文所開發與設計的出貨業務信息管理系統由于存儲大量的煤企出貨相 關的合同以及賬目等保密信息,為了對系統數據的安全性有較好的保障,在本 系統設計開發中,為了增強系統的安全性能,專門配置了用戶身份鑒別與權限 控制模塊,對訪問系統的用戶進行身份鑒別〔⑴。在整個出貨業務信息管理系統 所有用戶身份通過系統鑒定完畢后,系統將根據用戶身份為其配置相應的權限, 并確保用戶只能在權限范圍內進行操作,只能訪問權限范圍內的數據。用戶權 限控制機制有效保證了系統數據的安全性,一旦用戶出現異常操作,系統便會 對該用戶訪問進行立刻停止[網。
除了通過添加相關控制模塊,對用戶具體身份進行確認以及操作權限進行 鑒權之外,為了系統能夠穩定安全可靠運行還需要對數據備份以及災難恢復等 模塊進行配置〔切。本系統設計了能夠定期對系統數據庫進行備份,一旦由于自 然災難或突發事故發生時,導致主服務損毀后,系統能夠迅速啟動相應的災難 恢復機制,同時還能夠將備份數據進行快速恢復,從而保證系統正常可靠運行, 從而減輕甚至避免系統損毀造成的損失。同時,系統還需建立起相應的規范以 及完備的錯誤處理機制,能夠確保系統長期可靠運行,便于系統發生錯誤時能 夠及時得到解決。
本課題在系統設計過程中,還主要采用了一種模糊檢測方法,從而能夠實 現對整個系統數據庫的安全進行實時檢測。在系統測試環節中,利用海量測試 數據進行數據庫測試,發現模糊檢測方法能夠有效地發現系統存在的漏洞,并 對漏洞進行修復,能夠滿足系統投入使用后的應用需求。
3.3.2系統性能需求
在多名用戶同時訪問本煤企出貨業務信息管理系統時,為了能夠進行正常 的業務操作外,當訪問的界面信息量較少的情況下,系統反應時間能夠控制在 兩秒內,當訪問的界面信息量較大且高峰情況下系統反應時間應該控制在四秒 以內。當系統繁忙時,系統應該具備相應的操作提示功能,便于用戶及時做出 相應操作[20】。系統用戶的并發能力結合系統實際的日常業務需求,需要將并行 能力設計在300人以內,其最大用戶數結合本企業的規模控制在2萬人以內。
由于整個煤企出貨業務信息管理系統中存儲著許多合同、裝車以及賬目等 基本信息,而且隨著出貨規模的不斷擴大,在后期的系統運行過程中,相應的 數據信息量也會隨之逐步增多,因此,要確保系統在設計開發階段數據存儲空
間要能夠至少在1TB以上。
3.3.3系統可用性需求
為了保證本課題所開發的煤企出貨業務信息管理系統的實用性與可用性需 求,系統主要具備了以下幾點優勢:
(1) 系統設界面設計簡潔大方,操作流程科學合理,在設計系統操作響應 機制時充分考慮了用戶的實際需求,使得系統具有較高的實用性以及較好的使 用體驗。
(2) 系統設置了科學完備的用戶操作引導機制,能夠通過系統提示等操作 引導用戶完成相應的操作,并熟悉系統的基本功能,對用戶的上手使用有著重 要的積極作用。
(3) 系統設計了完備的容錯機制,當系統運行過程中由于人為因素等發生 故障時,系統將通過提示信息引導用戶對系統進行故障的檢測與排除。
(4) 系統采用了模塊的設計理念,不同模塊間耦合程度較低,使得系統能 夠根據用戶需求快速完成系統的更新與維護。
3.4本章小結
通過結合整個煤企公司日常工作的實際需求所需實現的功能,本章對整個 系統的具體業務需求、功能需求以及非功能需求進行了詳細分析與闡述。
第4章煤企出貨業務信息管理系統詳細設計
本章為整個煤企岀貨業務信息管理系統的詳細設計章節,通過本章將主要 根據系統設計原則,完成系統總體架構、網絡拓撲結構、功能模塊以及數據庫 的設計,具體內容闡述如下。
4.1系統設計目標
針對本課題設計開發的煤企出貨業務信息管理系統來說,根據煤企的實際 應用需求,確定系統設計的主要目標如下:
(1)界面設計更為多樣化:針對集團公司內部不同層次、不同部門且不同 類型的用戶,基于角色的充分考慮,本課題所開發的煤企出貨業務信息管理系 統都會設置不同的操作權限,為此,系統應針對不同類型的實際應用需求設計 出個性化且簡潔明了的操作界面卩氏
(2)安全性與穩定性:在企業出貨與運營過程中往往會在系統中存儲一些 敏感信息,因此系統的安全與穩定便是開發重點考慮內容,從而確保系統安全 平穩運行。
(3)對客戶端配置需要具有較低要求:考慮到方便對系統的訪問與操作, 確保用戶能夠在瀏覽器中就可以使用系統,本系統采用B/S架構,客戶端設備 無需安裝客戶端軟件,從而有效降低了系統對客戶端設備的硬件要求,大大提 升了系統在客戶端的適應能力。
(4)標準化與規范化:為了方便系統間的數據共享和交互,應確保系統在 開發過程中數據與接口的設計符合標準化與規范化要求[2鐵
(5)具備良好的擴展性:設計系統過程應考慮到各個模塊之間的低耦合狀 態,用戶可能會在系統使用過程中出現業務變更,從而確保系統業務流程發生 改變時,能夠就特定板塊進行完善修改。
4.2系統總體架構設計
為了能夠保證整個煤企出貨業務信息管理系統的安全運行以及確保系統具
有較強的性能,并確保所設計的煤企出貨業務信息管理系統能夠在后續與煤企 其它相關子系統進行較好的兼容與數據交互,通過詳細的分析和商討,整個煤 企出貨業務信息管理系統最終采用的是B/S模式以及Portal三層應用架構方式 相互結合來進行實現的,通過獨立的三層架構模式,從而可以使得系統各方面 性能得到有效提高,整個煤企出貨業務信息管理系統總體架構的設計如圖4-1 所示。從該總體架構圖能夠看出,整個煤企出貨業務信息管理系統所采用的是 三層架構來進行設計,主要包括接入層、業務層以及核心數據層這樣三大層次。 其中,接入層主要為用戶提供相應的登錄界面,對于系統認證通過的用戶,能 夠直接進入系統進行相關業務操作;業務層主要包括業務匯聚層以及業務展示 層這樣兩種結構方式,在業務匯聚層中則主要包括出貨合同管理、出貨裝車管 理、出貨銷帳管理以及出貨運雜費管理等核心業務功能,業務展示層則主要包 括用戶注冊、統信息設置以及參數設置等內容,并利用Protal-168技術標準進 行設計,核心數據層主要包括貨品庫區信息數據庫、裝車信息數據庫、合同信 息數據庫以及運雜費信息數據庫為業務具體開展提供相應數據。
用戶登錄
圖4?1系統總體架構圖
4.3系統網絡拓撲結構設計
整個煤企出貨業務信息管理系統網絡由主干網、局域網和廣域網組成,廣 域網進入到局域網通過路由器和防火墻進行安全甄別,保障系統平臺的安全性。 服務器由應用服務器群、數據服務器、DNS服務器構成,保證了系統服務器 的獨立運行。大多數情況下,工作人員在局域網內實現系統的訪問和操作。為 了滿足一些特殊情況下,用戶不能在局域網內登陸系統,我們設計中提供了遠 程VPN登錄系統服務。整個出貨業務信息管理系統網絡拓撲圖如圖4-2所示。
圖4-2系統網絡拓撲結構圖
4.4系統功能橫塊設計
結合煤企出貨業務信息管理系統的功能需求以及總體架構的詳細設計,整 個煤企出貨業務信息管理系統由出貨合同管理、貨品裝車管理、出貨銷帳管理 和出貨運雜費管理模塊幾個大主要功能模塊構成,系統總體功能結構圖的設計 見圖4-3。各個功能模塊的詳細設計如下所述。
煤企出貨業務信息管理
圖4-3系統總體功能模塊結構圖
4.4.1出貨合同管理橫塊設計
整個出貨合同管理模塊是本出貨業務信息管理系統的基礎模塊,主要用于 實現合同信息管理、評審和搶訂與合同狀態查詢等功能,便于煤企中的相關項 目經理及領導通過本模塊進行合同簽訂全流程的網絡化辦理,全面提高工作效 率和規范性。
(1)合同信息管理
合同信息管理子模塊主要包括合同創建和合同修改這樣兩個子功能,合同 管理員根據銷售部門人員所上傳的進銷計劃信息,根據實際情況在系統中選擇 相應合同模板進行合同創建和編輯,待操作完成即可上傳到數據庫中,供項目 經理初審,審核通過后即可進入后續的合同評審和簽訂環節。具體的合同信息 管理子模塊類圖的設計如圖4-4所示。其中contractVO()負責存放合同創建時的 信息,getContractName()與+setContract()是兩個函數,可進行不同參數的置取。
contractManageFunc()是邏輯層,通過對前臺VO內容的加工完成合同的查詢與
創建操作。addContract ()負責將合同數據寫入數據庫以及修改數據庫。 contractManageDAO( 責從數據表抓取合同基本數據。
contractVO
0
con tractManageFu nc
addContract
-addConfractVO
+createcontracVODatabase(contractID) +updateeccmtracDatabase(contractID)
圖4-4合同信息管理子模塊類圖
(2)合同評審與簽訂
合同評審與簽訂子模塊主要包括合同評審、出貨清單調看以及合同簽訂這 樣三個子功能,通過該子模塊,項目經理和分公司領導可以分級對整個購銷合 同進行評審,提高評審效率。
(3)出貨合同狀態查詢
出貨合同狀態查詢子模塊主要包括合同狀態查詢和合同交底管理這樣兩個 子功能,由于整個合同在審核和簽訂過程中所涉及到的人員比較復雜,合同管 理員或者項目經理通過選擇相應的查詢方案,例如通過合同編號或合同名稱等 內容,完成所需查找的合同狀態詳細信息。通過該子模塊,還能夠對已經簽訂 并履行完畢的合同詳細內容進行整理并存檔,進行合同交底操作,并對交底人、 接收交底人、交底日期以及交底內容摘要進行添加,便于后續合同查詢。
4.4.2出貨裝車管理橫塊設計
整個出貨裝車管理模塊主要用于實現配車計劃管理、鐵路裝車管理以及公 路裝車管理等相關的裝車功能,由于本系統的上游業務是公司的銷售業務,所 以做配車計劃時要以公司銷售合同作為參考依據,然后匯總該月須向鐵路局申 請的當月運輸計劃量,同時將月計劃的內容作為物流部門當月的工作計劃。結 合實際業務,詳細的出貨裝車工作流程圖見圖4-5。結合本流程圖可知,操作人 員通過鐵路裝車管理操作,利用本模塊能夠根據企業內部的實際月度計劃制定 出相應的月度用車計劃,待制定完成后向鐵路部門提交月度用車計劃,待鐵路 部門結合計劃內容對其進行審批完成并通過后,即可按照相應計劃進行后續的 裝車管理操作;針對汽運出貨的部分,目前由于通過貨車拉運都是客戶自己雇 傭的車隊來廠區進行拉運,所以不會存在做計劃的步驟。
圖4-5岀貨裝車管理工作流程圖
(1)配車計劃管理
配車計劃管理子模塊主要包括配車計劃制定以及配車計劃審批兩大功能,
公司根據訂單內容提前做好的申請計劃,以出貨合同中的出貨清單對某月份的
銷售訂購量的匯總作為數據來源,匯總該月須向鐵路局申請的月運輸計劃量, 提供給裝車管理部門的計劃員作為申請的參考,鐵路部門根據我公司的車皮申
請計劃安排車皮。具體的配車計劃管理模塊類圖的設計如圖4-6所示。
圖4-6配車計劃管理類圖
從整個配車計劃管理類圖能夠看出,PlanFunc是整個配車計劃管理模塊的 主要商業邏輯,通過 queryPlan( )、createPlan( )、updatePIan()以及 delete Plan() 通過賦值不同的VO參數,進行不同的配車計劃查詢、創建、更新和刪除等操 作»PlanVO責收集配車計劃頁面信息,主要屬性包括custld(客戶信息)、planYM (計劃年月)、stationNo(到站代碼)、prodType (產品種類)等,通過setPlanVO() 和getPlanVO()兩個方法來獲取VO的數據。PlanDAO負責鏈接數據庫。通過 利用findSql()賦予不同的值,來對數據庫數據表進行查詢,create(PlanVO)方法 用來創建數據表,并保存。當對鐵運計劃數據表做修改的時候,調用 update(PlanVO)方法。
(2)鐵路裝車管理
鐵運裝車管理由庫管人員登錄系統,依據鐵運計劃發貨量及其產品外發的 到站、專用線、收貨人的鐵路局批準量的限制信息后經過計算,進行鐵路車皮 裝載作業,即進行鐵運車皮裝車明細登錄(產品裝載),將產品裝載于車皮上準 備進行出貨,具體的鐵路裝車管理模塊類圖的設計如圖4-7。從整個鐵路裝車管 理模塊類圖可以看出,TrainFunc()類是整個鐵路裝車作業的主要邏輯類,類中 首先實例化TrainVO()以及TrainDAO(),然后通過定義的幾種方法來對模塊進 行基本操作。方法query( )、create()、update( )、delete()通過不同的賦值對裝車 資料進行不同的査詢、新增、修改和刪除的動作,方法sure()負責資料新增后 的確認動作,確認后的裝車作業單信息被拋送到鐵路出貨銷帳作業數據表中。 方法print()負責打印裝車作業單明細,拉運人憑單拉運貨物。
圖4-7鐵路裝車管理模塊類圖
(3)公路裝車管理
公路出貨的部分相對獨立,工作人員將公路裝車作業單交給客戶,客戶根 據裝車作業單內容派車進廠后即可進行裝車,將產品裝載于汽車上準備進行出 貨。具體的公路裝車管理模塊類圖的設計如圖4-8所示。從整個公路裝車管理 模塊類圖能夠看出,TrunkFunc()類是整個公路裝車作業的主要邏輯類,類中首 先實例化TrunkVO()以及TrunkDAO(),然后通過定義的幾種方法來對模塊進 行基本操作。方法query( )、create()、update( )、delete()通過不同的賦值對裝車 資料進行不同的査詢、新增、修改和刪除的動作,方法sure( )負責資料新增后 的確認動作,確認后的裝車作業單信息被拋送到公路出貨銷帳作業數據表中。 方法print()負責打印裝車作業單明細,拉運人憑裝車作業單進廠拉運貨物。
圖4-8公路裝車管理類圖
4.4.3出貨銷帳管理橫塊設計
根據系統功能需求分析可以得知,出貨銷帳管理模塊主要包括鐵路出貨銷 帳管理以及公路出貨銷帳管理兩大功能。通過建立統一的出貨銷帳點,可以提 供有效的出貨管理,同時出貨的數據拋送到相關聯的系統后,保證產生準確的 帳務數據。具體的出貨銷帳管理模塊工作流程的設計如圖4-9所示。車皮裝載 完畢后,銷帳是整個出貨環節的最后一步,從該工作流程圖能夠看出,出貨銷 帳人員通過系統中裝車作業單獲取到車皮裝載信息,通過打印裝車明細表來核 對拉運的貨物是否符合,確認無誤后錄入裝車重量,車皮銷帳成功,庫存量被 扣除,車皮即可出廠。系統后臺需將這些出貨信息拋送到出貨運雜費管理模塊 和結算模塊中。
(1)鐵路出貨銷帳管理
整個鐵路出貨銷帳管理子模塊主要包括鐵路出貨銷帳處理、鐵路出貨銷帳 確認以及貨品庫存處理三大功能。配貨人員做完鐵路運輸計劃后,會向鐵路局 申請車皮數,經鐵路局審核批準后,車皮于隔日進廠。進廠車皮拉至發貨倉庫 后即進行產品的裝載,裝載完畢后過磅,車皮拉至交接口與鐵路局人員交接, 交接無誤后,由鐵路局人員接手將車皮運送至指定的客戶送貨地點,車皮交接 后由出貨銷帳人員于系統上執行鐵路出貨銷帳操作,確認銷帳后,系統將銷帳 信息發送到運雜費模塊,并且將配貨管理中的產品重量按照銷帳過磅重量扣除。
具體的鐵路出貨銷帳管理模塊類圖的設計如圖4-10所示。
圖4-10鐵路出貨銷帳管理類圖
從該鐵路出貨銷帳管理類圖能夠看出,類TrainOutFun是鐵路出貨銷帳的
主要邏輯,首先實例化TrainOutVO以及TrainOutDAO,然后通過定義的幾種方
法來對模塊進行基本操作。方法query()按照裝車作業單條件查詢出貨資料。方 法shipOut()響應出貨銷帳按鈕,此方法執行后,鐵路裝車作業單狀態發生改變, 由已裝載變為已銷帳,同時拋數據給其它模塊,系統設計時只有檢測到狀態“H” (已裝載)才能進行出貨銷帳。方法deshipOutO表示返銷帳,它是銷帳的逆操 作,只有status為“S”(已銷帳)才能進行返銷帳,返銷帳后拋送的數據,會被重 新寫回到鐵路裝車作業單數據表中,值得注意的是只有其他系統未做處理的數 據才能允許返銷帳。方法getWet()負責獲取重量并且進行分配,配合公司計量 衡將過磅重量上傳到系統中。方法print()負責打印出貨資料。
(2)公路出貨銷帳
公路出貨銷帳管理子模塊主要包括公路出貨銷帳處理、公路出貨銷帳確認 以及貨品庫存處理三大子模塊,汽車于庫區裝載完煤炭后,經過磅后由岀貨銷 帳人員執行出貨銷帳并開立出門證交給司機,司機持出門證于廠門口由保衛部 人員檢查后收回,車輛才可出廠,執行出貨銷帳時,產品貨權移轉給客戶并產 生對應要向客戶收取的應收帳款。具體的公路出貨銷帳模塊類圖的設計如圖 4-11所示。
TrunkOutVO
+setTrunkOutVOQ +getTrunkOutVOO -loadNo -outDate •prodType -actWgt
TrunkOutFunc
+feedBackRealWei(loadNo)
+queryO +shipOut(J +deshipOut() +getWgtQ +printQ +printCard()
圖4-11公路出貨銷帳管理模塊類圖
從該公路出貨銷帳管理模塊類圖能夠看出,類TrunkOutFunc負責公路出貨 銷帳主要邏輯,類中的方法與鐵路出貨銷帳類似,方法quejy()負責查詢出貨資 料,shipOut()負責出貨銷帳,deshipOut()負責返銷帳,getWgt()負責獲取過磅 重量,并且分配到拉運明細中,print()打印出貨資料,方法printCard()負責打印 出門證。
4.4.4出貨運雜費管理橫塊設計
根據系統功能需求分析可以得知,出貨運雜費管理模塊主要包抵運雜費基 礎數據管理、鐵路運雜費借支管理以及鐵路運雜費報支管理三大功能。目前公 司管理上只有鐵運運費需要公司提前給用戶做墊付,具體出貨運雜費管理模塊 工作流程圖的設計如圖4-12所示。從整個工作流程圖能夠看出,系統利用運費 基本數據計算出一份參考運費,主要利用之前運費費用做依據,等到裝車作業 單開立后,確定實際的運輸費用后,便將該筆運費記錄儲存到備付汽運費檔里, 日后給客戶再做訂單的時候,作為運費的參考依據。
圖4-12運雜費管理工作流程圖
(1)運雜費基礎數據管理
鐵路運輸所產生的運雜費用于數日后,由工作人員至鐵路局索取鐵路發票 后,在經由鐵路本模塊將實際發生的鐵路運雜費用輸入系統中,系統將輸入的 運雜費資料拋送運費系統做紀錄以供備查,同時也會將輸入的運雜費用以報文 的形式拋送到公司結算系統,產生對應要向客戶收取的應收帳款,結算系統不 在本次論文討論的范圍之內。具體的運雜費基礎數據管理模塊類圖的設計如圖 4-13所示。在運雜費基礎數據管理類圖中,FeeVO是界面管理類,在此V0中 可通過set()與get()方法獲取到拉運運費的基本信息,諸如客戶ID,裝車作業 單ID等;FeeFunc是運雜費錄入管理邏輯類,類中的方法query()負責查詢需 要錄入運雜費信息的裝車作業單,方法shipOut()負責拋運雜費到運雜費基礎數 據管理模塊中,方法deshipOut()負責將已拋運費的資料重新更新為未拋運費, 前提條件是運雜費管理系統未對資料做處理;FeeDAO實體類負責操作數據庫, 其中有很多需要提交保存到后臺的數據,并且在FeeDAO中有通過findSql()方 法進行數據庫的查詢,create()和update ()進行數據的新增和修改。
I
I 里
linkSeiFcc
-updaicSetFee(loadNoi
圖4-13運費基礎數據管理模塊類圖
(2)鐵路運雜費借支管理
整個鐵路運雜費借支管理子模塊主要包括信息調取和預支管理兩大功能, 由于鐵路部門承運后,需要公司提前預支運費,所以系統有必要設計鐵路運費
預支作業來完成這種需求。設計中考慮到預支運費金額額度問題,可以參照之 前承運條件相同的客戶運費金額,當然系統也提供了手動錄入金額的功能。具 體的鐵路運雜費借支管理模塊類圖的設計如圖4-14所示。從整個鐵庫運雜費借 支管理模塊類圖能夠看出,prebillV0負責鐵路運雜費借支界面管理,諸如借支 運費單號、報支單號、鐵路裝車作業單號以及客戶ID等。prebillFunc是借支運 費邏輯類,此類中方法query()可以查詢借支運費資料,方法create()進行借支 運費的建立,方法delete()進行表示刪除資料,方法bill()負責運費的借支動作, 方法cancle()表示取消該筆借支,方法print()負責打印借支清單報表。類
prebillDAO負責數據庫操作。
prebill V0
+setprebillVOO +gctprcbillVO()
+findSql(j)rcbillNo)
+findSql(prebillNo,outDatc,custld)
+create(prebillVO)
prebillFunc
-prcbillVO
-prebillDAO
+query()
+creatc()
+delctc()
+bill()
+canclc()
+prinl()
圖4-14鐵路運雜費借支管理模塊類圖
(3)鐵路運雜費報支管理
鐵路運費報支管理子模塊主要包括運費核實與報支管理兩大功能。鐵路運 雜費錄入作業完成后,在鐵路運費報支作業中匹配到該筆裝車作業單,進行報 支沖抵預支作業,并且將金額以報文的形式拋送到公司的財務系統中。在本系 統中仍需要錄入客戶信息、發票號碼等基本信息以匹配運雜費錄入作業中的信 息。具體的鐵路運雜費報支管理模塊類圖的設計如圖4-15所示。
從整個鐵路運雜費報支管理模塊類圖能夠看出,類billVO負責鐵路報支運
費界面管理,報支單號、裝車作業單號以及客戶ID等都在主檔中有顯示。類
billFunc是運雜費報支邏輯類,此類中方法query()可以查詢運雜費報支資料, 方法create()進行運雜費報支的建立,方法delete()進行表示刪除資料,方法 bill()負責運雜費的報支動作,方法cancle()表示取消該筆報支,方法print()負 責打印報支清單報表。類billDAO負責數據庫操作。類linkPrebill()負責將運雜 費報支與運雜費借支進行關聯。
bUlVO
billDAO +findSql(billNo)
+findSql(billNo.outDate,custId)
+createCbillVO)
linkPrebill
-billVO -billDAO
+query() +civateO +delete() +bi!10 +cancleO +printf)
圖4-15鐵路運雜費報支管理模塊類圖
4.5系統數據庫設計
在進行系統數據庫設計過程中,通常需要對系統邏輯結構以及相應數據信 息表進行全面設計,本節將主要結合以上兩個方面的具體設計情況展開闡述。
4.5.1數據庫邏輯結構設計
在數據庫邏輯結構設計過程中,主要是對數據庫的整體邏輯結構進行設計, 通常邏輯結構的具體設計方法主要包括自上而下、自下而上和逐一擴張三種。 其中,自上而下主要是通過對整體數據結構的設計,數據庫邏輯結構較為抽象, 待整體設計完成后對數據整體結構進行局部細化操作,然后分別定義局部的數 據結構,便于進行后續數據信息表的設計;自下而上根據數據間的邏輯關系對 數據結構進行合并,匯總全局數據,直至完成整體數據結構的設計[23〕。根據實
際數據庫的設計需求,綜合考慮數據庫的邏輯結構設計,選定設計方式為自上 而下與自下而上相互結合的方式進行。
在對本節數據邏輯結構設計過程中,主要結合系統四大模塊各自的數據庫 邏輯結構,做出了系統相應總體E-R圖,具體的各實體之間的總體E-R圖如圖
4-16所示。
圖4-16煤企出貨業務信息系統總體E-R圖
4.5.2敷據信息表的設計
結合煤企出貨業務信息管理系統總體E_R圖的詳細設計以及具體的數據邏 輯結構規則,本節將對系統所包括的系統用戶信息、合同信息、貨品庫區信息、 裝車信息、出貨銷帳信息以及運雜費信息等主要數據信息表的設計情況進行闡 述。
具體的系統用戶信息表的設計見表4-1所示,從該信息表能夠看出,整個
系統用戶信息主要包括人員ID、人員名稱、登錄密碼、操作權限、聯系電話以 及所屬部門等信息。
表4-1系統用戶信息表
No 列名 數據類型 長度 主鍵 說明
1 personld Int 20 是 人員ID
2 personName Varchar 16 人員名稱
3 personPWD Varchar 32 登錄密碼
4 personQx Varchar 8 操作權限
5 personPhone Int 16 聯系電話
6 department Varchar 16 所屬部門
7 PS Varchar 255 備注
(2)合同信息表
整個合同信息表的設計見表4-2所示,具體的合同信息主要包括合同編號、
合同名稱、合同對方、合同狀態、合同金額以及合同成因等基本信息。
表4-2合同信息表
No 列名 數據類型 長度 主鍵 說明
1 contractID Int 20 是 合同編號
2 contractName Varchar 32 合同名稱
3 contractAttribute Varchar 16 合同對方
4 contractstatus Bool 4 合同狀態
5 contractMoney Float 4 合同金額
6 contractNumb Int 4 數量
7 contractReason Varchar 400 合同成因
8 clearingUnit Varchar 16 結算單位
(3)貨品庫區信息表
整個貨品庫區信息表的設計見表4-3所示,具體的貨品庫區信息主要包括 庫區ID、庫區類別、庫區名稱、庫區位置以及庫存量等基本信息。
表4-3貨品庫區信息表
No 列名 數據類型 長度 主鍵 說明
1 Area Id Int 20 是 庫區ID
2 AreaType Varchar 8 庫區類別
3 AreaName Varchar 32 庫區名稱
4 AreaAddress Varchar 16 庫區位置
5 AreaWgt Int 8 庫存量
6 PS Varchar 255 備注
整個裝車信息表的設計見表44所示,具體的裝車信息主要包括車號、所 屬客戶ID、拉運類型、負責人姓名、營業執照、入廠時間以及出廠時間等基本 信息。
表44裝車信息表
No 列名 數據類型 長度 主鍵 說明
1 Number Int 10 是 車號
2 Compyld Int 20 否 所屬客戶ID
3 TransportType Varchar 8 否 拉運類型
4 PicName Varchar 16 否 負責人姓名
5 Industry Varchar 16 否 車行
6 License Varchar 32 否 營業執照
7 InDate Datetime 否 入廠時間
8 OutDate Datetime 否 出廠時間
9 IsFull Boolean 2 否 是否已裝車
10 CompyPhone Int 16 否 聯系電話
11 CompyAddress Varchar 50 否 公司地址
12 StuZipcode Int 8 否 郵編
13 PS Varchar 255 否 備注
(5)出貨銷帳信息表
整個出貨銷帳信息表的設計見表4-5所示,具體的出貨銷帳信息主要包括 車號、所屬客戶ID、拉運類型、負責人姓名、營業執照、入廠時間以及出廠時 間等基本信息。
表4-5出貨銷帳信息表
No 列名 數據類型 長度 主鍵 說明
1 LoadNo Int 20 是 裝車作業單號
2 PersonlD Int 20 否 操作人員ID
3 Status Char 8 否 裝車作業單狀態
4 Custld Int 20 否 客戶ID
5 Number Int 16 否 車號
6 LoadDate Datetime 否 裝載日期
7 ShipOutDate Datetime 否 銷帳日期
8 LoadWgt Float 8 否 拉運量
9 PS Varchar 255 否 備注
整個運雜費信息表的設計見表4-6所示,具體的運雜費信息主要包括預支
單號、報支單號、預支日期、 報支日期、車號以及報支金額等基本信息。 表4-6運費信息表
No 列名 數據類型 長度 主鍵 說明
1 PrebillNo Int 20 是 預支單號
2 BillNo Int 20 否 報支單號
3 PrebillDate Date 否 預支日期
4 BillNo Date 否 報支日期
5 IsPay Bool 4 否 是否已報支
6 LoadNo Int 20 否 裝車作業單號
7 CustID Varchar 20 否 客戶ID
8 Number Varchar 10 否 車號
9 PrePayFee Float 8 否 預支金額
10 PayFee Float 8 否 報支金額
11 PersonlD Varchar 32 否 操作人員
12 CardNo Varchar 32 否 銀行帳號
4.6本章小結
本章是本文的重點章節,通過分析整個煤企出貨業務信息管理系統的具體 設計目標,在系統業務需求以及功能需求基礎上,分別從總體架構、網絡拓撲、 功能結構以及數據庫等方面對系統進行了全面而又詳細的設計。
第5章煤企出貨業務信息管理系統實現
本章為系統的實現章節,在系統詳細設計的基礎上,將分別從系統開發所 需環境以及各主要功能模塊的具體實現兩大部分展開詳細闡述。
5.1系統開發環境
通過對煤企出貨業務信息管理系統的功能模塊以及數據庫等內容設計完成 之后,需要結合系統詳細設計,對系統各功能模塊的操作界面進行設計與實現, 結合系統詳細設計,通過前臺操作界面對系統的具體實現進行全面展示,在實 現過程中,需要借助相應的硬件與軟件進行支持,為了滿足實現界面能夠穩定 可靠運行,需要對系統實現所需的開發端和服務器端的硬軟件配置:
(1)開發端硬軟件配置
在開發端,為了便于整個煤企出貨業務信息管理系統調試更加便捷,在開 發端終端選取過程中,主要選取的是聯想Y9000X系列筆記本,本終端處理器 選用的17-9750H,六核CPU,內存容量為32GB,硬盤類型為SSD固態硬盤大 小為1TB,軟件開發主要選擇的是Eclipse 5.0。
(2)服務器硬軟件配置
在服務器端,結合系統開發所需要求,服務器端支持RDIMM/LRDIMM, 最小內存64GB,具有加密簽名固件、安全引導、系統鎖定以及安全擦除等數 據保護功能,在數據庫軟件選取中選取的是SQL Server 2012版本數據庫。
5.2系統各模塊具體實現
結合第四章中的系統詳細設計的具體內容可知,整個煤企出貨業務信息管 理系統需要實現出貨合同管理模塊、貨品裝車管理模塊、出貨銷帳管理模塊和 出貨運雜費管理模塊。在進行各個模塊的具體操作前,需要對系統的登錄界面 進行設計與實現,本系統登錄界面的實現見圖5-1 o
5.2.1出貨合同管理模塊實現
通過前序章節的設計可知,整個出貨合同管理模塊按照需求可以分為三大
獨立的子模塊進行實現,分別是出貨合同信息管理、合同評審與簽訂以及出貨 模塊進行送審,具體的合同送審操作界面的實現如圖5?2所示。從該實現界面 能夠看出,待出貨合同創建完畢后,需要對合同送審表進行編輯,主要包括送 審部門、合同名稱、送審號、合同類別、對方單位以及結算單位等信息。
部分合同信息管理模塊核心代碼的實現如下所述:
public void sycf(Hash contract) throws contractException {
// TODO Auto-generated method stub
if( contract =null){
throw new contractException(n合同清單數據為空,不能保存,請確 認后重新生成”);
}
String key = contract.get(',key,')==null?n1': contract.get("key").toString();
〃更新合同送審單表體
if(HXLHn.equals(key)){
AggregatedValueObjectaggvo = (Aggregated ValueObject) contract.get('!von);
List<String> billcodes = (List<String>) contract.get("billcodes"); ifi(aggvo!=null){
insertSCXLH(aggvo,billcodes);
}
}else if(nSLCFn.equais(key)){
AggregatedValueObject aggvo = (AggregatedValueObject) contract.get(nvo");
List<String> billcodes = (List<String>) contract.get("billcodes"); double[] cftl = (doublefJJcontract.getC'cfsr');
if(aggvo!=null){
insertSLCF(aggvo,billcodes,cfsl);
}
}
else ifi(,,DELETE".equals(key)){
Aggregated Vai ueObj ect aggvo = (AggregatedValueObject) contract.get("vo");
if(aggvo!=null){
delete(aggvo);
}
}
}
待合同送審表提交成功后,則可以對具體的合同審核狀態進行查詢,具體 的合同審核狀態查詢操作界面的實現如圖5-3所示。從該實現界面能夠看出, 操作人員能夠對合同評審的處理情況進行查詢,同時分公司領導也能夠對合同 評審具體意見進行錄入與提交。
圖5-3合同評審狀態查詢操作界面
5.2.2出貨裝車管理模塊實現
通過前序章節的設計可知,整個出貨裝車管理模塊按照需求可以分為三大 獨立的子模塊進行實現,主要包括配車計劃管理、鐵路裝車管理以及公路裝車 管理三大功能。
在配車計劃管理功能模塊下,配車管理員可以通過計劃的制定和追加來完 成與鐵路局的申請車動作。具體的鐵路配車計劃管理操作界面的實現如圖54 從本操作界面能夠看出,此模塊能夠實現基本的計劃錄入功能,系統默認的計 劃時間是當月,到站以及專用線會根據收貨人信息自動帶入到系統中,產品類 型表示這筆計劃的產品是屬于哪個品級的產品,在錄入申請車皮數量后,用戶 單擊新增,系統會將這筆資料添加到數據庫中,通過打印計劃表獲取紙質版車 皮申請文件。
①,i印 丄
圖5-4鐵路配車計劃管理操作界面
用戶可以一次批量做計劃的申請和追加,代碼中將通過一個VOS將這些數 據進行存放,新增后,調用Func類中的create方法將界面顯示的內容保存到后 臺數據表中,部分核心實現代碼如下:
create(){
//從頁面提取所勾選的資料
List PlanVOList = infbIn.getSequenceVOs(Mv 1"box”);
DAO = new PlanDAO;
〃計劃日期
String planYM = infoIn.getParameter(nplanYM_qryn).replaceAll("/H,Hn);
for(int i=0; i < PlanVOList.size(); i卄){
PlanVO=PlanVOList.get(i);
〃己配貨車數
PlanVO.setAssignCars(new BigDecimal(”O”));
〃已出貨車數
PlanVO.setUsedCars(new BigDecimal(”O"));
〃己出貨噸數
PlanVO.setUsedMTs(new BigDecimafO”));
〃利用畫面上輸入的到站,向上找出相對的局
PlanVO.setSiteNo(Plan.getStationNo().substring(0,1));
//批準號
PlanVO.setApprovedNo(,n,);
}
//新增
DAO.createList(PlanVOList);
}
在鐵路裝車管理模塊下,用戶進行鐵路拉運的配貨和裝車作業。具體的鐵 路裝車管理模塊實現界面如圖5-5所示,首先用戶要在鐵路出庫車號登錄作業 中填寫或者選擇必要的字段,例如車皮號、客戶信息、車型以及裝車人和裝車 時間等。用戶將這些基本信息輸入到系統后,點擊新增按鈕,系統會自動生成 一筆裝車作業單,點擊“打印發車明細單”按鈕,可打印對應的紙質裝車作業單, 憑此單可以進行裝貨,裝車結束后,點擊發送計量可以獲取過磅的重量,然后 點擊“裝載完畢確認”調用TrainFunc()類中的sure()方法,裝車單狀態由N(新增) 變為L (已裝載)。
象路期庫車號登wt
圖5-5鐵路裝車管理
TrainFunc()類中,方法sure()的部分實現代碼如下:
Sure(){
VO = new TrainVO();
DAO =new TrainDAOQ;
VO.getLoadNo());
//set最后修改人
VO.setModifyEmpNo(user.ID);
//set最后修改日期
VO.setModifyDate(de3 0&getCmtDateWFmtl ());
//set狀態為裝載完畢(L)
VO.setStatus("L");
//set裝載確認日期及時間
VO. setConfirmDate(nowDate);
VO.setConfirmTime(nowTime);
DAO .update(TrainVO);
System.out("確認成功");
}
在公路裝車管理模塊下,用戶進行公路拉運的配貨和裝車作業。具體的公 路裝車管理模塊操作界面的實現如圖5-6所示,首先用戶要在公路出庫車號登 錄作業中填寫或者選擇必要的字段,由于廠內有每部轉庫操作,所以在公路裝 車作業中有是否出門崗一欄字段供用戶選擇,完成其他信息的填寫后,點擊“新 增”產生一筆裝車作業單,點擊“裝載完成確認”裝車作業單狀態由N變為Lo
5.2.3出貨銷帳管理橫塊實現
通過前序章節的設計可知,整個出貨銷帳管理模塊按照需求可以分為兩大 獨立的子模塊進行實現,主要包括鐵路出貨銷帳管理以及公路出貨銷帳管理兩 大功能。
在鐵路出貨銷帳管理子模塊中,裝車完畢后,車皮要拉運出廠,這個關節 點進行出貨銷帳操作。具體的鐵路出貨銷帳管理操作界面的實現如圖5-7,從本 實現界面能夠看出,用戶進入到出貨銷帳系統后,通過錄入裝車作業單號來查 詢之前已裝車完畢的車皮,其他信息會以裝車作業單號為條件直接帶到鐵路出 貨銷帳模塊中,點擊“取得過磅數據”獲取到過磅的實際數據,然后再點擊“銷帳” 按鈕將這筆資料進行出貨銷帳。
鐵路出貨銷嵌
I步賀料
圖5-7鐵路出貨銷帳
此模塊的主要功能是銷帳作業,銷帳調用的是類TrainOutFunc()中的
shipOut()方法,銷帳后,資料被拋送到運雜費管理模塊中,部分核心實現代碼
如下:
〃從畫面上取得資料
TrainOutVO TrOutVO = TrainOut.get (VO);
〃從裝車作業中獲取資料
TrainVO TrVO screen = TrainVO.get(VO, LoadNo); String loadNo = TrOutVO.getLoadNo();
TrainDAO TrDAO = new TrainDAO();
TrainOutDAO TrOutDAO = new TrainOutDAO();
//查出裝車主檔(鐵路配貨)
TrVO = TrDAO.query(cusfld,loadNo); if(null=TrVO)
throw new Exception^該裝車單不存在”);
〃判斷裝車作業單狀態
if(!nLn .equals(TrVO.getStatxis()))
throw new Exception(”該裝車單不為可銷帳狀態!”); 〃如需過磅,獲取重量
if(MYH.equals(iIVO.getIsPound()))
realWgt = realWgt.add(ilVO.getWetQ);
〃銷帳完成,裝車作業單狀態改變
setStatus("S”);
根據功能模塊的設計,具體的公路出貨銷帳管理操作界面的實現如圖5-8 所示,從該操作界面能夠看出,用戶通過裝車作業單號查找帶公路待銷帳資料, 然后點下銷帳按鈕后,系統調用方法shipOut(),改變裝車單狀態,數據存檔, 物權進行轉移。與鐵路出貨銷帳不同的是公路出門崗需要打印一張出門證,以 供門崗工作人員進行最后的核對檢驗,拉運貨物與出門證上的信息匹配方可方 形。
0基本浚希
圖5-8公路出貨銷帳
5.2.4出貨運雜費管理榛塊實現
通過前序章節的設計可知,整個出貨運雜費管理模塊按照需求可以分為三 大獨立的子模塊進行實現,主要包括運雜費基礎數據管理、鐵路運雜費借支管 理以及鐵路運雜費報支管理三大功能。
在運雜費基礎數據管理子模塊中,運雜費的錄入時最為基本的操作,具體 的運雜費錄入作業操作界面的實現如圖5-9所示,從該實現界面能夠看出,用 戶登錄運費錄入作業后,首先將一些查詢條件輸入到系統中,然后按“查詢”按 鈕,將信息檢索出來,在錄入運費的欄位中將運費信息錄入到系統中,最后點 擊“拋運費”按鈕,將運費存入到系統中,同時裝車作業單狀態由“S”(銷帳)變 為“H”“拋運費”。
圖5-9運費錄入作業
由于鐵路局在為開除承運發票的時候就要收取相關運費,所以公司需要提 前將運費估算到產品中,待承運完成后,可在運費管理系統中將實際的運費錄 入到系統中。本模塊中,用戶通過查找到的資料信息錄入含稅金額和印花稅以 后,系統會自動算出未稅金額,這部分代碼可以直接在.jsp中實現,核心代碼 如下:
〃獲取JSP界面中輸入的含稅金額
var textl=document.getElementById(HfeeWithTaxM).value;
〃獲取JSP界面中輸入的印花稅金額
var text2=document.getElementById(nstampTaxn).value;
//把含稅金額扣除到印花稅然后除以稅率計算岀未稅金額
document.getElementById(Mfeen).value=((parseFloat(textl)-parseFloat(text2))/ l.ll).toFixed(2);
通過前面的系統分析可知,運雜費的管理通過兩個子模塊來實現其需求, 分別是鐵路借支運費和鐵路報支運費,公路出貨一般是客戶自提,所以不存在 運費的墊付,此處不需要考慮。具體的鐵路借支管理操作界面的實現如圖5-10 所示。用戶進入鐵路運雜費借支模塊中,首先需要填寫基本信息,包括廠商編 號、承運合同、付款方式以及預支金額等,然后點擊“新增”按鈕,系統會將在 數據庫中新增一筆預支資料,點擊“借支”按鈕后,形成一筆借支單,“打印借支 清單”可打印借支單信息,憑此單到財務領取借支運費。
鐵路運雜費借支作業
做發票信息的錄入工作。具體的鐵路運雜費報支管理模塊操作界面的實現如圖 5-11所示,打開運費報支畫面后,結算人員需填入一些基本信息,例如本次報 支所對應的預支單號、產品信息、客戶信息以及報支的金額和發票號碼。結算 人員單擊“新增”后,資料建立,形成一筆報支單號,單擊“報支”后沖抵預支金 額,然后通過單擊“列印報支清單”來打印報支信息,憑此可以去財務進行報支。
5.3本章小結
本章根據系統功能需求及詳細設計,對系統具體實現所需的硬軟件要求進 行了詳細闡述,在此基礎上,完成了系統所包括的主要核心功能模塊的界面實 現,并對其部分核心代碼進行了全面展示。
第6章煤企出貨業務信息管理系統測試
任何軟件在開發過程中都不可能保證不存在任何錯誤,為了避免各類錯誤 可能導致的系統的崩潰,系統在對各功能模塊設計以及前臺操作界面設計完成 后,需要在軟件開發完成對對其進行科學全面的測試,及時發現軟件開發過程 中存在的錯誤并加以糾正。軟件測試作為軟件生命周期的重要組成部分,是軟 件質量的重要保證,對提高軟件的可用性與實用性有著重要的意義。
6.1系統所用軟件測試方法
功能性測試主要負責對系統是否能夠完成預期的功能進行測試,是最為重 要的系統測試環節。通常進行系統測試過程中,所選用的方式主要由黑盒測試 以及白盒測試兩種類型所組成。黑盒測試主要是側重于系統整體功能的測試, 不考慮系統內部的具體邏輯結構,利用測試用例對系統整體是否能夠實現預期 的功能進行測試。由于系統測試不可能遍歷各種可能的場景,因此多采用一些 測試技術提高測試效率,盡可能多地發現系統存在的問題〔24]。
黑盒測試是對系統整體功能性的一種測試手段,測試人員在進行黑盒測試 時,主要從用戶角度考慮,通過利用相應的功能測試用例,將系統的實際測試 情況和預期情況相互比較,便于發現系統所存問題。在進行黑盒測試過程中, 主要采取的是錯位分析和邊界值分析方式進行處理。系統的錯誤通常發生在輸 入或輸出值的邊界處的概率遠高于內部,因此邊界值分析法就是在確定好輸入 輸出范圍后,選取邊界值對系統進行測試,進一步判斷系統的穩定性與可靠性。
6.2系統測試環境
整個煤企出貨業務信息管理系統測試環境主要是值進行軟件測試所需的具 體工具,煤企出貨業務信息管理系統主要采用的是JAVA語言進行開發,在進 行測試過程中選擇的是Loadrunnerll.O版本的壓力測試軟件以及利用QTP10.0 軟件進行系統功能測試。
6.3功能測試
功能測試是通過模擬用戶對系統的一種測試形式,是測試環節中非常重要 的一部分內容,通過測試可以得知系統的設計是否滿足用戶的需求,是否達到 了預期的效果。具體測試流程如下。
(1)出貨合同管理測試用例
出貨合同管理測試過程中主要對出貨合同的創建以及合同審批兩大子功能 進行全面測試,具體的出貨合同管理測試用例描述如表6-1所示。
表6-1出貨合同管理測試用例表
用例說明 出貨合同管理 具體編號 0001
具體測試功能 分別以合同管理員以及分公司領導角色進行出貨合同的創建、審批以 及狀態查詢等基本的操作功能
測試步驟 實際操作步 創建操作功能測 驟:第一步進入出貨合同管理界面;第二步進行出貨合同 試;第三步進行合同審批功能操作測試。
測 試 過 程 序號 操作內容 預期結果 測試結果
1 出貨合同 創建功能操作 測試 選擇“出貨合同管理”,而后點擊“出貨 合同信息管理”,合同管理員根據合同編輯 模版中錄入合同基本信息,如合同編號、 合同名稱、合同對方等,操作完成后直接 點擊“保存”,數據庫信息能夠得到及時更 新 與預期一致
2 出貨合同 創建功能操作 測試 在系統主頁中點擊“出貨合同管理”, 而后選擇“出貨合同信息管理”,分公司領 導對新上傳的合同的信息進行在線審核 與批復,對于己經審核通過的能夠對其狀 態進行更改 與預期一致
(2)出貨裝車管理測試用例
出貨裝車管理測試過程中主要對配車計劃管理以及鐵路裝車管理兩大子功 能進行全面測試,具體的出貨裝車管理測試用例描述如表6-2所示。
表6-2岀貨裝車管理測試用例表
用例說明 出貨裝車管理 具體編號 0002
具體功能描述 分別以配貨人員角色進行配車計劃管理以及鐵路裝車管理等基本的 操作功能
測試步驟 實際操作步驟:第一步進入出貨裝車管理界面;第二步進行配車計劃 管理操作功能測試;第三步進行鐵路裝車管理功能操作測試。
續表6-2
測 試 過 程 序號 操作內容 預期結果 測試結果
1 配車計劃 管理功能操作 測試 在系統主頁中點擊“出貨裝車管理”, 而后選擇“配車計劃管理”,配貨人員根據 訂單內容在申請表中,對裝車計劃進行制 定,操作完成后直接點擊“保存”,數據庫 信息得到及時更新 與預期一致
2 鐵路裝車 管理功能操作 測試 在系統主頁中點擊“岀貨裝車管理”, 而后選擇“鐵路裝車管理”,配貨人員根據 審批通過的裝車計劃,對具體的鐵路裝車 安排進行分配,能夠實現裝車計劃的調取 以及裝車信息的更新等 與預期一致
(3)出貨運雜費管理測試用例
出貨運雜費管理測試主要對運雜費基礎數據管理與鐵路運雜費借支管理兩 大子功能展開全面測試,具體的出貨運雜費管理測試用例描述如表6-3所示。
表6-3出貨運雜費管理測試用例表
用例說明 出貨運雜費管理 具體編號 0003
具體功能描述 分別以結算員以及財務人員角色進行運雜費基礎數據管理以及鐵路 運雜費借支管理等基本的操作功能
測試步驟 實際操作步驟:第一步進入岀貨運雜費管理界面;第二步進行運雜費 基礎數據管理操作功能測試;第三步進行鐵路運雜費借支管理功能操作測 試。
測 試 過 程 序號 操作內容 預期結果 測試結果
1 運雜費基 礎數據管理功 能操作測試 在系統主頁中點擊“出貨運雜費管 理”,而后選擇“運雜費基礎數據管理”,結 算員能夠對具體運雜費信息進行計算與 錄入,操作完成后直接點擊“保存”,數據 庫信息得到及時更新,并能夠生成具體的 運雜費清單 與預期一致
2 鐵路運雜 費借支管理功 能操作測試 在系統主頁中點擊“出貨運雜費管 理”,而后選擇“鐵路運雜費借支管理”,財 務人員根據具體的借支申請,能夠正常借 支運費 與預期一致
6.4負載測試
在對整個煤企出貨業務信息管理系統性能進行負載測試過程中,筆者主要
對整個系統的并發用戶性能來進行,詳細測試情況見表6-4。結合煤企出貨業務
信息管理日常實際性能需求,在進行具體測試時,選取的并發用戶數為300人,
測試過程中所采取的主要工具為LoadRunnerll.O進行測試。
表I并發性能測試用例表
測試用戶數 期望測試值(秒) 實際測試值(秒)
50 2.0 1.444
100 3.0 2.732
150 3.5 3.411
300 4.0 3.937
6.5 CPU與內存使用1W況測試
結合實際測試情況,在對CPU和內存使用情況能夠全面測試過程中,具體 對測試情況分別見圖6-1和6-2,從上述圖可以看出,在系統正常使用期間,CPU 和內存使用平穩,無異常增長,符合預期結果。
CPU Total W119PC06VM07
■ User% BSys% ■ Wait%
100
80
60 -
40
2Q 1
圖6-1應用服務器CPU資源使用測試圖
100.00%
80.00%
60.00%
圖6?2應用服務器內存資源使用測試圖
6.6本章總結
本章為煤企出貨業務信息管理系統的測試章節,該章節主要是對系統進行
功能與性能測試,測試系統內的各項功能指標。筆者也為此制定出多種較為典 型的測試方案,從而全面檢測系統及各項性能。
第7章總結與展良
出貨業務信息管理系統具有復雜性,對其進行需求開發需要完成大量繁雜 且細致的分析任務,本課題針對不同發展階段下所表現的不同需求,以及系統 的延伸性和數據的兼容性,提出了一整套完備方案。本課題首先對國內外相關 研究現狀進行了綜述,從而對類似技術成果研究有一個全面的掌握,其次對本 文的研究內容和研究架構做了闡述分析。本文在對軟件工程相關方法進行研究 后,首先對出貨業務信息管理系統的需求進行了全面的梳理和分析,之后對本 系統進行了全面的設計和實現。在設計過程中,除了系統需求方面的考慮,還 重點考慮了系統的可擴展性可維護性,最終制定了本系統的整體設計方案。從 系統的架構設計、功能結構以及數據庫結構等方面對系統設計進行了詳細的描 述。主要體現在以下幾個方面:
(1) 出貨業務信息管理系統的需求分析:細致的分析梳理出集團公司的出 貨業務流程,對出貨合同管理、出貨銷帳管理、出貨裝車管理及出貨運雜費管 理四個方面進行功能需求分析,并描述出系統數據處理需求。
(2) 對出貨業務信息管理系統的詳細設計。完成了系統總體架構以及功能 模塊的設計,利用UML建模方式完成了出貨業務信息管理系統所包括的四大 核心功能模塊的具體設計,設計過程中主要通過類圖、流程圖和功能結構圖進 行展示,并完成了系統總體數據庫對設計,設計出了總體E_R圖和主要數據信 息表;
(3) 系統的實現,主要通過搭建開發環境,將系統各個模塊進行多元化視 圖展示。
(4) 測試與驗證:利用等價類劃分以及邊界值分析方法完成了系統功能測 試以及系統性能測試,測試結果均能滿足預期指標要求。
因為受到時間、條件的限制,且本人能力有限,所以系統測試過程不能做 到完整有限,在實際運行中無法避免會出現很多BUG,因此在今后的維護工作 這也是一個重要環節。同時本人也會在以后的工作中加強該系統測試環節所運 用的方法學習,提升自身的開發能力。
參考文獻
[1]董輝琴.基于ASP平臺的配件出貨管理系統及二級庫存控制的研究與實現 [D],西南交通大學,2014:1-2.
[2]鄭煒.如何塑造與管理現代化物流配送中心(中——詳細介紹出貨出庫系 統[J].信息與電腦,2013(10):45-49.
[3]劉慶斐.通過人工神經網絡改進出貨的倉儲管理系統設計與實現[M].北京 大學,2013.
[4]陳曉偉,李浩平•地倉在巖巷掘進出貨系統中的應用[J].煤炭科技, 2011(3):61-62.
⑸黃書生.PCB企業出貨條碼標簽管理軟件的實現[J].印制電路信息, 2011(8):52-55.
[6]付偉.質量管理流程與節點精細化設計[M].人民郵電,2015:34.
[7]陳升•淺談庫存管理存在的問題及其對策[J].科技展望,2014(13):13-14.
[8]耿祥義,張躍平.JSP實用教程[M].北京:清華大學.2015:11-12.
[9]郭賽芬.JSP技術開發新思維[M].北京:清華大學出版,2015:5-9.
[10]趙東風.JSP網絡編程[M].北京:電子工業出版社,2011(2):98-9&
[11]王志坤.基于Portal技術的Web應用集成研究與實現[叨.北京:北京科技大 學,2015:20-22.
[12]陳定方.基于Portal架構的交通管理系統的研究與實現[J].武漢理工大學學 報:交通科學與工程版,2012(1):22-24.
[13]Speed M P. Mistakes not necessary for Mullerian mimicry[J]. Nature, 1998, 396(6709):323.
[14]Johnson R. J2EE development frameworks [J]. Computer, 2012, 38(1):107-110.
[15]Alur D, Malks D, Crupi J, et al. Core Portal Patterns (Core Design Series): Best
Practices and Design Strategies[M], Sun Microsystems, Inc., 2013:19-21.
[16]Yang J, Zhang L J. The design of special equipment technical service system
based on J2EE multi-architecture[J]. Electronic Design Engineering, 2014:12-14.
[17]Minoru S, Sheng L, Ning K, et al. Effects of age and gender on finger coordination in Protal and submaximal force-matching tasks [J]. Journal of Applied Physiology, 200& 94(1):259-270.
[18]Diaconu, Cristian, Freedman, Craig, Ismert, Erik.Hekaton: SQL server's memory-optimized OLTP engine[J]. Sigmod, 2013:1243-1254.
[19]Paul S. Pro SQL Server 2012 Replication[M]. Springer, Berlin, 2013:13-15
[20]Larson P A, Clinciu C, Fraser C, et al. Enhancements to SQL server column stores[C] Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data. ACM, 2013:1159-116&
[21]Beatty L J, Payne M A, Devos S R, et al. Method and system of performing incremental SQL server database backups: US, US8635187[P]. 2014:13-14
[22]Jorgensen A, Jorgensen A, Jorgensen A, et al. Professional Microsoft SQL Server 2014 Administration[M]. Wiley & Sons, 2014:13-14
[23]Joachim Karlsson.Managing software requirements using quality function deployment[JJ. Computer Supported Cooperative Work, 2015 (3):16-19.
[24]Lawson B, Sharp R.System analysis and test methods(Fifth Edition) [M].Higher Education Press,2012 (4):25-31.