基于BS模式的煙草集團物資管理系統(tǒng)設(shè)計與實現(xiàn)第二稿_第1頁
基于BS模式的煙草集團物資管理系統(tǒng)設(shè)計與實現(xiàn)第二稿_第2頁
基于BS模式的煙草集團物資管理系統(tǒng)設(shè)計與實現(xiàn)第二稿_第3頁
基于BS模式的煙草集團物資管理系統(tǒng)設(shè)計與實現(xiàn)第二稿_第4頁
基于BS模式的煙草集團物資管理系統(tǒng)設(shè)計與實現(xiàn)第二稿_第5頁
已閱讀5頁,還剩88頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

分類號:TP311單位代碼:10422密級:學(xué)號:碩士學(xué)位論文論文題目:基于B/S模式的某煙草集團物資管理系統(tǒng)設(shè)計與實現(xiàn)The

designandimplementationaboutthematerialmanagement

system

of

a

certain

tobacco

group

based

on

theB/S

mode作者姓名專業(yè)軟件工程指導(dǎo)教師副專家2023年10月10日分類號:TP311單位代碼:10422密級:學(xué)號:碩士學(xué)位論文論文題目:基于B/S模式的某煙草集團物資管理系統(tǒng)設(shè)計與實現(xiàn)The

designandimplementationaboutthematerialmanagement

system

of

a

certain

tobacco

group

basedon

theB/S

mode作者姓名專業(yè)軟件工程指導(dǎo)教師副專家2023年10月10日原創(chuàng)性聲明和關(guān)于論文使用授權(quán)的說明原創(chuàng)性聲明本人鄭重聲明:所呈交的學(xué)位論文,是本人在導(dǎo)師的指導(dǎo)下,獨立進行研究所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的科研成果。對本文的研究作出重要奉獻的個人和集體,均已在文中以明確方式標明。本聲明的法律責任由本人承擔。論文作者署名:日期:關(guān)于學(xué)位論文使用授權(quán)的聲明本人完全了解山東大學(xué)有關(guān)保存、使用學(xué)位論文的規(guī)定,批準學(xué)校保存或向國家有關(guān)部門或機構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱;本人授權(quán)山東大學(xué)可以將本學(xué)位論文的所有或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用影印、縮印或其他復(fù)制手段保存論文和匯編本學(xué)位論文。(保密論文在解密后應(yīng)遵守此規(guī)定)論文作者署名:導(dǎo)師署名:日期:目錄摘要 ③借助DDL指令實現(xiàn)剔除和升級。(5)ADO.NET還用于對分布式ADO.NET應(yīng)用程序的基本對象“數(shù)據(jù)集”(Dataset)支持基于XML的傳輸格式和持久性,最后達成信息共享。數(shù)據(jù)集作為表達連接交互關(guān)系的數(shù)據(jù)結(jié)構(gòu),借助XML可實現(xiàn)序列化、寫入、讀取。(6)無論是數(shù)據(jù)訪問連接ADO.NET還是ADO,兩項連接都可以到數(shù)據(jù)庫的顯示連接。在ADO.NET中,讀取前保持數(shù)據(jù)庫的連續(xù)連接,立于當前位置保持鎖定模式,開發(fā)人員即可使用數(shù)據(jù)讀取器。當正在傳輸、查看和修改數(shù)據(jù)集中的數(shù)據(jù)時,為了給其他用戶釋放資源或鎖定可以斷開連接。借助ADO.NET,能通過改DataAdapter對象采用的字段,或借助加入能響應(yīng)行升級日記的自定義代碼,來掌控數(shù)據(jù)集更改傳送到信息庫的方法。借助次功能可以簡化功能、修改驗證檢測或增多除此之外的一切解決,并且此類操作都無需對程序進行修改。有關(guān)更多信息,ADO與ADO.NET的比較數(shù)據(jù)更新直接解決類似批解決數(shù)據(jù)訪問速度較慢快(由于在內(nèi)存中)對于數(shù)據(jù)記錄的訪問RecordsetDataSet.Tables(數(shù)據(jù)表名稱)數(shù)據(jù)搜索Recordset.findDataSet.Tables(數(shù)據(jù)表名稱).select數(shù)據(jù)遍歷Recordset.MoveNextMyDataSet.Tables(數(shù)據(jù)表名稱).Rows(I+=1)一個字段Recordset.fields(字段名稱)MyDataSet.Tables(數(shù)據(jù)表名稱).Rows(x,y)通用性較難在主機間傳遞可以轉(zhuǎn)成XML在網(wǎng)絡(luò)間傳遞(可越過防火墻)數(shù)據(jù)表達較單純(僅View和Table)較完整(可涉及多個數(shù)據(jù)表,以及其中的關(guān)聯(lián))系統(tǒng)資源較浪費(必須一直連接)。本章從系統(tǒng)設(shè)計應(yīng)當遵循整體性原則、分解協(xié)調(diào)原則、目的優(yōu)化原則出發(fā)討論了系統(tǒng)設(shè)計應(yīng)遵循的原則,介紹了系統(tǒng)開發(fā)的需求分析對比,分析了MIS結(jié)構(gòu)下的B/S、C/S和兩個方面系統(tǒng)設(shè)計的體系結(jié)構(gòu),從而得出了B/S模式下的數(shù)據(jù)庫結(jié)構(gòu)更加適合用戶的需求,擬定系統(tǒng)架構(gòu)為B/S模式的三層結(jié)構(gòu)體系。具體介紹了VS2023下的ASP.NET和ADO.NET技術(shù),詳盡的描述了系統(tǒng)各個模塊的具體功能設(shè)計和分析,描述了設(shè)備子類的應(yīng)用方式和定義。最后對接下來的第五章將要討論的數(shù)據(jù)庫系統(tǒng)的作用進行了簡要的介紹。(5)B/S架構(gòu)近幾年來,Internet是新興的,并快速流行起來的信息技術(shù)。Interne的核心技術(shù)是WWW技術(shù)。WWW技術(shù)的最基本應(yīng)用模式是瀏覽器/服務(wù)器(Browser/Server,B/S),使用超文本傳輸協(xié)議(HTTP,HypertextTransferProtocol),它采用超文本標記語言(HypertextMarkupLanguage,HTML),這些文獻格式和公開的協(xié)議保證了數(shù)據(jù)在不同機型、不同操作系統(tǒng)平臺下的高度協(xié)同性和一致性,讓跨地區(qū)通信、信息互換非常容易和方便,這正是Internet技術(shù)的優(yōu)越的地方。B/S是個開放、擴展性的結(jié)構(gòu)。由于它的開放性加強了數(shù)據(jù)的共享范圍和效率,并且在多數(shù)信息庫中均合用。BS/結(jié)構(gòu)的性價比比較高,所以B/S必然會成長為最新的信息管理系統(tǒng)。1.6本文的重要奉獻1961年,美國人J.D.GALLAGHER一方面提出了管理信息系統(tǒng)(MIS)的概念,這概念是最全面,集合了各科目,包含了多方面,主描述公司中的數(shù)據(jù)管理,更能講述管理決策的各類信息,幫助單位實現(xiàn)現(xiàn)代化管理。公司管理信息系統(tǒng)具有數(shù)據(jù)解決、評估、掌控、規(guī)劃、協(xié)助決策等效用,如:(1)缺失的前后矛盾的信息拒絕出現(xiàn)。(2)決策及執(zhí)行的相關(guān)條件能及時傳達。(3)具體了解各因素之間的聯(lián)系,準確無誤的鑒定發(fā)展方向。(4)解釋以及分析時間得到縮短。(5)通過提供可靠精確的數(shù)據(jù),達成運用最短時間、最少經(jīng)費的目的,促使領(lǐng)導(dǎo)層選擇最佳的實行方案,達成提高公司經(jīng)濟效益的目的。[5]物資管理系統(tǒng)標志著計算機管理信息系統(tǒng)(MIS)得以成長的又一高度,物資管理系統(tǒng)是為領(lǐng)導(dǎo)者和決定者供應(yīng)資料,用以協(xié)助他們執(zhí)行重要決議,增長決議的科學(xué)性,具有強大的應(yīng)用遠景。隨著電腦科技的進步,電腦應(yīng)用也通過了數(shù)值計算和數(shù)據(jù)解決等歷程,逐步向知識解決新領(lǐng)域進步。電腦在數(shù)據(jù)解決中保持的先進限度,是一個地區(qū)工業(yè)化水準和電腦應(yīng)用科技限度的代表,更是促使電腦工業(yè)進步的能源。計算機在數(shù)據(jù)解決中的應(yīng)用,僅限于在管理事物中發(fā)揚了電腦初級階段的功能,所供應(yīng)的資料一般不是決定者想得到的,但是對高層決定人員所必備的協(xié)助決定能力卻被忽略了。要想使電腦對煙草公司管理事物起到更好的作用,本著管理代表決策的想法,就要使電腦更加直面的面對決策[6]。1.7本文的組織結(jié)構(gòu)為解決某煙草集團中物資管理系統(tǒng)中只限于單地單機的物資管理系統(tǒng)的缺陷,文中研究和實現(xiàn)了一套基于B/S模式的網(wǎng)絡(luò)化、支持遠程異地管理的物資管理系統(tǒng)。開發(fā)和設(shè)計出的系統(tǒng)具有普遍的兼容性和相應(yīng)的輔助管理功能,最終高效有序的實現(xiàn)了遠程化、數(shù)字化的現(xiàn)代化物資運營管理模式。1.概括了國外和國內(nèi)在物資管理系統(tǒng)方面現(xiàn)有狀況,針對于某煙草集團的物資管理狀況,提出了基于瀏覽器和服務(wù)器的(B/S)的網(wǎng)絡(luò)架構(gòu)物資管理系統(tǒng)和物資管理系統(tǒng)的數(shù)學(xué)模型。2.根據(jù)大型煙草公司的管理的特點,選用Rational公司研發(fā)的Rose建模工具對物資管理系統(tǒng)建立數(shù)學(xué)模型。采用UML語言對整個系統(tǒng)進行了分析和設(shè)計。。3.采用WindowsXP操作系統(tǒng),IIS5.0網(wǎng)絡(luò)信息服務(wù)器,基于VS2023的SQLSevrer2023數(shù)據(jù)庫和ASP.NET的C#編程語言搭的物資管理系統(tǒng)平臺。在總體分析的構(gòu)架的基礎(chǔ)上,擬定系統(tǒng)B/S模式的三層結(jié)構(gòu)體系,分析和開發(fā)了了系統(tǒng)各個模塊的具體功能4.設(shè)計實現(xiàn)了獨立化模塊功能,開發(fā)出了“某煙草集團物資管理系統(tǒng)”,實現(xiàn)了用戶的登陸,操作員管理,物資訂單編號,出入庫明細查詢、庫存盤點、品牌、物料預(yù)警查詢、需求提報,決策管理以及設(shè)備子類的管理等功能,并具體敘述了系統(tǒng)的框架界面。實現(xiàn)了煙草公司物資管理系統(tǒng)的數(shù)據(jù)庫的網(wǎng)絡(luò)動態(tài)更新、決策管理、通用化管理和遠程資源共享等功能。

第2章系統(tǒng)需求分析在軟件開發(fā)的過程中,無論項目大小,在系統(tǒng)設(shè)計之前,都應(yīng)當對系統(tǒng)用戶的需要有一個比較全面的了解,即要知道本次設(shè)計的系統(tǒng)究竟是要“干什么”,要完畢哪些任務(wù)、能實現(xiàn)什么功能。這些準備工作便是系統(tǒng)的需求分析。一個系統(tǒng)的設(shè)計全過程中,需求分析扮演了非常重要的角色。此項工作的好壞將直接影響到本次系統(tǒng)的設(shè)計是否可以成功,假如需求分析做不好,即使你有很強的編碼能力,也無法設(shè)計出好的應(yīng)用系統(tǒng)。2.1系統(tǒng)概述目前,在物流公司、倉儲公司的物資管理中,物資的管理與相關(guān)的信息管理是靠人力來完畢的,因此,經(jīng)常具有以下特點:管理過程復(fù)雜,需要工作人員靠人力用筆記錄所有的物資信息;涉及物資存儲位置、物資數(shù)量、物資周轉(zhuǎn)信息等。管理結(jié)果比較雜亂,有些物資已經(jīng)移出倉庫出而工作人員并沒有記錄或記錄的不清楚等。信息更新速度比較慢,有很多新的物資情況僅靠人力無法及時地更新。由于人力的管理能力有限,致使物資由于長期堆放在倉庫,導(dǎo)致物資霉變,不能使用,導(dǎo)致了資源的浪費。而本次設(shè)計的物資管理系統(tǒng)系統(tǒng),基本上可以解決倉庫物資管理原有的種種問題,實現(xiàn)預(yù)先設(shè)計的功能。2.1.1系統(tǒng)的業(yè)務(wù)模型物資管理系統(tǒng)的業(yè)務(wù)模型,是對整個系統(tǒng)的應(yīng)有的總體業(yè)務(wù)流程的總體概括和簡樸描述,可以幫助讀者或用戶對系統(tǒng)有一個總體性的結(jié)識和了解。物資管理系統(tǒng)的業(yè)務(wù)用例模型如圖2-1所示:圖2-1物資管理系統(tǒng)的系統(tǒng)用例圖2.1.2系統(tǒng)的業(yè)務(wù)流程由圖中可以看出,在系統(tǒng)接受了用戶指令之后,會根據(jù)得到的指令向下進行,或查詢信息或管理數(shù)據(jù)庫,在完畢用戶所指定的操作之后,關(guān)閉本次業(yè)務(wù)。2.1.3系統(tǒng)的總體規(guī)定本次煙草集團物資管理系統(tǒng)的設(shè)計,是要完畢一個B/S結(jié)構(gòu)的、可以在局域網(wǎng)內(nèi)部對片庫中所有物資進行有效管理的應(yīng)用系統(tǒng)。系統(tǒng)將可以執(zhí)行倉庫管理,卷煙物資采購計劃,調(diào)撥配送管理,協(xié)議管理。假如本次的系統(tǒng)開發(fā)成功,那本系統(tǒng)不僅承擔著倉庫物資的管理任務(wù),還擔負著其他一些卷煙物資采購計劃制定,調(diào)撥配送管理,協(xié)議管理的管理工作。這樣不僅僅給與物資管理的各個科室的工作減輕,還使物資的管理工作向信息化、規(guī)范化管理前進一大步。2.2系統(tǒng)目的和解決的問題2.2.1系統(tǒng)目的和解決的問題設(shè)計和實現(xiàn)一個功能相對完善的物資管理系統(tǒng),是本次開發(fā)設(shè)計的目的。本系統(tǒng)不僅可以完畢物資信息的管理功能,并且用戶可以對與物資有關(guān)聯(lián)的相關(guān)信息進行管理,還可以根據(jù)自身情況制定卷煙物資采購計劃、物資調(diào)撥配送管理等。本系統(tǒng)的設(shè)計和實行,不僅解決了本來物資管理混亂和物資存儲混論與物資采購、物資調(diào)度帶不明確的問題,并且減少了物資損耗率、提高了物資的有效運用;杜絕了物資資源的浪費、大大提高了工作效率;節(jié)省了大量的人力、物力和財力;此系統(tǒng)的實現(xiàn)還填補了物資管理的內(nèi)部的一項技術(shù)空白,使物資管控更加現(xiàn)代化、工作更加人性化2.2.2頻道片庫磁帶管理工作調(diào)查在起初獲取系統(tǒng)需求時,由于缺少經(jīng)驗碰到了一些困難。例如由于被調(diào)查人員(也就是將來的系統(tǒng)用戶)并不是學(xué)習(xí)計算機或軟件工程專業(yè)的,所以交流時,經(jīng)常由于他們對性能和需求的描述不是很準確,而導(dǎo)致設(shè)計人員的理解錯誤。這也給系統(tǒng)的需求分析帶來了一定的困難。但是通過與用戶的多次的溝通,最終使雙方在系統(tǒng)需求方面達成了共識。近年來倉庫物資管理工作的調(diào)查表如表2-1所示。表2-1倉庫物資管理人員和工作對比表時間人員數(shù)量倉庫物資總數(shù)(噸)物資調(diào)撥借出數(shù)量(噸)物資庫存數(shù)量平均每噸的周轉(zhuǎn)時間(天)2023572023年19221277932.872023年210871639242.232023年2152031012101.172023年3210851115930.71由表2-1不難看出,在連續(xù)幾年內(nèi),倉庫內(nèi)物資的數(shù)量承上升趨勢。特別是近兩年,倉庫的庫物資數(shù)量增長迅速。在這個過程中,盡管也增長了工作人員的數(shù)量,但是仍然不能應(yīng)付越來快的物資周轉(zhuǎn)時間和周轉(zhuǎn)數(shù)量。并且,由于之前一直是將陳舊的物資和剛?cè)霂斓奈镔Y混在一起管理,事后很難記錄周轉(zhuǎn)的物資中陳舊物資和剛?cè)霂炀烤垢髯哉级嗌?。因此,本次物資管理系統(tǒng)的設(shè)計與實現(xiàn)是非常適應(yīng)工作需要。2.3系統(tǒng)需求問題描述2.3.1系統(tǒng)功能性需求本系統(tǒng)的設(shè)計,是按照UML的規(guī)定來嚴格實行的。在需求分析階段,作者將系統(tǒng)的功能性需求先以UML用例圖的形式表達出來,這對于系統(tǒng)的設(shè)計和實行是非常有利的。圖中很清楚地表白了在磁帶信息管理系統(tǒng)中包含的重要功能有:倉庫管理、物資協(xié)議管理、卷煙物資采購計劃、調(diào)撥配送管理。這些功能各自還包具有一定的子功能。并且根據(jù)用戶的需求和實際管理工作的需要,系統(tǒng)要可以區(qū)分普通用戶和系統(tǒng)管理員,普通用戶和系統(tǒng)管理員的權(quán)限是不同的。系統(tǒng)管理員除了可以對系統(tǒng)中的物資倉庫管理進行操作以外,還可以物資協(xié)議管理、卷煙物資采購計劃制定、物資調(diào)撥。而普通用戶只可以在系統(tǒng)中進行物資查詢,協(xié)議查閱等功能,這也是根據(jù)需求調(diào)查時用戶的規(guī)定來設(shè)計的。系統(tǒng)功能的用例圖如圖2-3所示。畫用例并且對每個用例進行說明2.3.2系統(tǒng)非功能性需求非功能需求[7]涉及產(chǎn)品必須遵從的標準、規(guī)范和合約;外部界面的具體細節(jié)和性能規(guī)定;設(shè)計或?qū)崿F(xiàn)的約束條件及質(zhì)量屬性。(1)環(huán)境需求表3.1服務(wù)器端環(huán)境系統(tǒng)所使用數(shù)據(jù)庫MicrosoftSQLServer2023SP1操作系統(tǒng)Windows2023R2Web服務(wù)器IIS7.5數(shù)據(jù)庫SQLServer2023客戶端:表3.2客戶端環(huán)境操作系統(tǒng)WindowsXP或其以上版本操作系統(tǒng)瀏覽器IE6.0以及其以上版本(IE7.0、IE8.0)分辨率最佳效果為1024×768像素(2)性能需求可維護性維護方法:系統(tǒng)能真正做到使自身在數(shù)據(jù)損壞、丟失等情況下將備份數(shù)據(jù)倒回,實現(xiàn)數(shù)據(jù)的恢復(fù)。提供對系統(tǒng)自身的集中操作維護的功能。易操作性界面設(shè)計:系統(tǒng)應(yīng)提供美觀實用,方便和直觀的圖形用戶管理界面,充足考慮員工的習(xí)慣,簡樸易學(xué),操作方便,所有菜單驅(qū)動的解決和各種快捷鍵,一鍵功能以保證多數(shù)達成??蓴U展性功能擴展:系統(tǒng)從系統(tǒng)結(jié)構(gòu)、功能設(shè)計、管理對象等各方面的功能擴展來考慮,以滿足用戶此后系統(tǒng)擴充和擴大使用范圍的規(guī)定。軟硬件升級:系統(tǒng)應(yīng)采用的硬件和軟件平臺,軟件和硬件的負載平衡機制的可擴展性充足考慮。系統(tǒng)要具有靈活的擴展能力,來適應(yīng)關(guān)鍵的軟件和硬件的開發(fā)及管理能力的上升。開放性系統(tǒng)的數(shù)據(jù)格式應(yīng)符合國家相關(guān)標準及行業(yè)標準,以此保證應(yīng)用程序具有良好的互操作性和移植的也許。(3)安全需求容錯性當用戶輸入或誤操作導(dǎo)致非法數(shù)據(jù)產(chǎn)生時,系統(tǒng)應(yīng)具有一定的容錯機制。在這種情況下,系統(tǒng)應(yīng)給出和諧的提醒,提醒用戶重新輸入或者進行自動的修復(fù)校正。系統(tǒng)的外在環(huán)境安全安全系統(tǒng)要以充足考慮網(wǎng)絡(luò)的高級別,多層次的安全性措施為前提,涉及系統(tǒng)的備份,防火墻,用戶權(quán)限和其他措施,以保證數(shù)據(jù)安全和機密信息不被泄露;考慮到系統(tǒng)的硬件和軟件故障恢復(fù)等應(yīng)急措施,以保障網(wǎng)絡(luò)的安全和解決安全性。形成相對獨立的安全機制,以防止來自系統(tǒng)外的未經(jīng)授權(quán)的訪問。系統(tǒng)內(nèi)部安全保證外部系統(tǒng)安全的同時,該系統(tǒng)還必須保證授權(quán)用戶的合法使用。系統(tǒng)運營安全從邏輯上講,該系統(tǒng)應(yīng)具有抵抗非法入侵的能力;在物理方面,該系統(tǒng)應(yīng)保證沒有潛在的單點故障,并提供資源的數(shù)據(jù)備份功能。系統(tǒng)支持定期自動和手動數(shù)據(jù)備份,可以在數(shù)據(jù)損壞或數(shù)據(jù)丟失的情況下找回數(shù)據(jù),實現(xiàn)一定限度的數(shù)據(jù)恢復(fù)。1、可行性:在實現(xiàn)一個軟件系統(tǒng)之前,一方面要判斷這個軟件系統(tǒng)的可行性。這就是需求分析所要完畢的任務(wù),良好的需求分析有助于我們隊可行性的分析。可行性分析的目的不是要去解決問題,分析各種方案的可行性,而是分析問題是否可以得到解決??尚行苑治鲋匾婕耙韵聨追矫?經(jīng)濟可行性、技術(shù)可行性、方案可行性等。2、科學(xué)性:正如我們前面所說的,一個車輛管理系統(tǒng)必須是科學(xué)有效的,車輛的內(nèi)容重要由各個環(huán)節(jié)組成,在保證功能性的同時,各個環(huán)節(jié)的時效性和對的性應(yīng)當?shù)玫奖WC。3、安全性:安全性是每一個管理系統(tǒng)都要碰到的問題。系統(tǒng)必須制定一套完整防御方案,可有效抵制惡意用戶對系統(tǒng)進行的襲擊,有力提高系統(tǒng)的安全性,保證系統(tǒng)可以相對安全的部署、運營、維護、升級。4、可擴展性:在軟件系統(tǒng)的使用過程中,系統(tǒng)的功能也許需要得到擴展,不斷的加入新的功能,這就需要在設(shè)計系統(tǒng)時,重要涉及開發(fā)環(huán)境、系統(tǒng)界面、數(shù)據(jù)庫設(shè)計等,要考慮到系統(tǒng)的可擴展性。5、有效性:良好的車輛管理系統(tǒng)應(yīng)當必須是給公司帶來經(jīng)濟效益的,所以在設(shè)計系統(tǒng)時,應(yīng)充足調(diào)研公司的實際情況以及單位領(lǐng)導(dǎo)的規(guī)定,保證系統(tǒng)的科學(xué)性、有效性。

第3章系統(tǒng)架構(gòu)設(shè)計這章重要是物資管理系統(tǒng)在煙草集團方面的研究,采用第一章提到的UML設(shè)計相關(guān)的模型,運用一切與文章有關(guān)因素建模。3.1系統(tǒng)目的和原則3.1.1系統(tǒng)的設(shè)計目的本次的開發(fā),希望可以設(shè)計并實現(xiàn)一個信息安全、可靠,使用簡潔、明了,安裝方便、快捷,易學(xué)、易用并且易于擴展的磁帶信息管理系統(tǒng),可以通過電視臺內(nèi)部的局域網(wǎng)讓編輯、記者或片庫管理員在片庫以外的地方正常使用系統(tǒng),并完畢他們所需要的功能。系統(tǒng)可以完畢的重要功能有:可以區(qū)分管理員和普通用戶的系統(tǒng)登錄、磁帶的借閱管理、磁帶信息的查詢、磁帶信息排序、系統(tǒng)數(shù)據(jù)庫的管理、報表記錄和打印、幫助等。除此以外,還可以根據(jù)用戶需要,對與磁帶有關(guān)的相關(guān)信息進行一定范圍內(nèi)的查詢。3.1.2系統(tǒng)的設(shè)計原則本次系統(tǒng)的開發(fā),一方面要遵守的是軟件開發(fā)的統(tǒng)一過程,并用統(tǒng)一建模語言(UML)來嚴格控制實行。另一方面,本系統(tǒng)的設(shè)計還要遵循的一系列原則是:系統(tǒng)安全性原則系統(tǒng)數(shù)據(jù)的可靠性原則[2]系統(tǒng)安裝的方便、快捷原則系統(tǒng)的易學(xué)、易用、使用簡潔的原則[3]系統(tǒng)的可擴展性原則3.2系統(tǒng)技術(shù)架構(gòu)設(shè)計3.2.1系統(tǒng)總體架構(gòu)由于本系統(tǒng)是B/S架構(gòu)的,所以系統(tǒng)的總體架構(gòu)可以用B/S結(jié)構(gòu)圖來表達。系統(tǒng)的B/S結(jié)構(gòu)圖如圖3-1所示。圖3-1B/S結(jié)構(gòu)圖B/S結(jié)構(gòu)的應(yīng)用系統(tǒng),只需要打開瀏覽器,通過網(wǎng)絡(luò)訪問服務(wù)器。系統(tǒng)的很多工作直接提交給服務(wù)器。3.2.2數(shù)據(jù)架構(gòu)系統(tǒng)數(shù)據(jù)庫是整個系統(tǒng)的基礎(chǔ),其中數(shù)據(jù)架構(gòu)可以由圖表達出來,各種數(shù)據(jù)之間存在著一定的聯(lián)系,具體系統(tǒng)數(shù)據(jù)架構(gòu)圖如圖3-2所示。圖3-2系統(tǒng)數(shù)據(jù)結(jié)構(gòu)圖3.2.3部署架構(gòu)部署架構(gòu)說明用來部署和運營該軟件的物理配置。本部分重要表白系統(tǒng)重要功能在物理節(jié)點上的分布情況,重點內(nèi)容是本系統(tǒng)的軟件部署情況,忽略例如操作系統(tǒng)、防火墻等第三方軟件系統(tǒng),可以把整個應(yīng)用系統(tǒng)的部署簡化如圖3-3所示。圖3-3應(yīng)用系統(tǒng)部署圖由于目前的系統(tǒng)是在的局域網(wǎng)內(nèi)部安裝并使用的,所以本系統(tǒng)的部署圖結(jié)構(gòu)比較簡樸,只涉及到的局域網(wǎng)內(nèi)的客戶端和服務(wù)器,圖中系統(tǒng)的終端就是用戶使用的客戶端機器,服務(wù)器和數(shù)據(jù)庫都安裝在域網(wǎng)內(nèi)的擔任的服務(wù)器機器上。3.3系統(tǒng)功能架構(gòu)設(shè)計一個系統(tǒng)的設(shè)計,要考慮整個系統(tǒng)實現(xiàn)的功能,所以在進入編碼之前,要有系統(tǒng)的功能架構(gòu)圖。根據(jù)這個架構(gòu)圖可以清楚地看到系統(tǒng)的各個模塊以及各模塊可以完畢的功能。系統(tǒng)的設(shè)計將根據(jù)圖中的各個模塊,分別進行各種功能的實現(xiàn)。系統(tǒng)的功能架構(gòu)如圖3-4所示。圖3-4系統(tǒng)功能架構(gòu)圖BS模式的某煙草集團的物資管理系統(tǒng)使用的模塊有倉庫管理、卷煙物資采購技術(shù)管理、物資協(xié)議管理。其中每個模塊的如下:倉庫管理模塊里面涉及的功能有,員工管理、倉庫管理、貨品管理、存儲規(guī)則管理、貨品進出控制和倉庫需求生成。卷煙物資采購計劃管理模塊涉及的有,制定采購計劃、修改采購計劃、查詢采購計劃、刪除采購計劃。物資協(xié)議管理模塊的功能有,協(xié)議編輯、協(xié)議插敘、協(xié)議修改、協(xié)議記錄分析。調(diào)撥配送管理模塊的功能有,供應(yīng)商選擇、物資轉(zhuǎn)移。

第4章系統(tǒng)的具體設(shè)計4.1系統(tǒng)建模系統(tǒng)的具體設(shè)計是對系統(tǒng)架構(gòu)的細化,重要是在系統(tǒng)的需求分析和架構(gòu)設(shè)計的基礎(chǔ)上對系統(tǒng)用例中使用的類和對象進行進一步的精細,擬定類的屬性和方法,擬定系統(tǒng)執(zhí)行的時序和對象之間的協(xié)作關(guān)系。本章對系統(tǒng)具體設(shè)計進行了比較具體的闡述。4.1.1系統(tǒng)的靜態(tài)結(jié)構(gòu)圖系統(tǒng)的靜態(tài)結(jié)構(gòu)圖是指系統(tǒng)的關(guān)系類圖,系統(tǒng)的關(guān)系類圖一般都是在需求分析過程中產(chǎn)生的領(lǐng)域模型的基礎(chǔ)上精化產(chǎn)生的。在本系統(tǒng)中,為了清楚地抽取出系統(tǒng)的核心架構(gòu),采用的是分層設(shè)計類圖的方式,一方面設(shè)計整個系統(tǒng)的類圖,另一方面設(shè)計每個子系統(tǒng)(包)的類圖,最后設(shè)計每一個用例的類圖。這里只舉出系統(tǒng)關(guān)系類圖,系統(tǒng)的關(guān)系類圖如圖4-1所示。圖4-1系統(tǒng)的關(guān)系類圖4.1.2系統(tǒng)的動態(tài)結(jié)構(gòu)圖圖4-2某煙草集團物資庫存管理順序圖圖4-3系統(tǒng)活動圖4.2系統(tǒng)數(shù)據(jù)庫設(shè)計4.2.1系統(tǒng)數(shù)據(jù)庫的邏輯結(jié)構(gòu)工作倉庫信息工作倉庫信息用戶信息用戶信息進出記錄進出記錄存放貨品信息存放貨品信息協(xié)議協(xié)議項目信息項目信息協(xié)議過程協(xié)議過程工作員工信息當前單位信息工作員工信息當前單位信息圖4-4系統(tǒng)E-R圖4.2.2系統(tǒng)數(shù)據(jù)表關(guān)系既然是數(shù)據(jù)庫的建立,就應(yīng)當對有關(guān)數(shù)據(jù)的獲得、數(shù)據(jù)來源的分析、數(shù)據(jù)可靠性的判斷、數(shù)據(jù)的篩選、數(shù)據(jù)的分析和總結(jié)等等多個有關(guān)數(shù)據(jù)的問題進行考慮和分析,由于只有得到精確、可靠的數(shù)據(jù),建立的數(shù)據(jù)表格才更具有說服力,同時有關(guān)提到的模型的運用才會更加準確和接近實際。那么就應(yīng)當要有數(shù)據(jù),數(shù)據(jù)的可靠性為表的制作提供了來源,建立數(shù)據(jù)庫時不僅應(yīng)當想到所使用的數(shù)據(jù)是否具有極大的準確性和安全性,并且數(shù)據(jù)庫還應(yīng)當擁有這樣的一些功能,比如進行訪問者的身份辨認功能等等,只有這樣,才干使數(shù)據(jù)庫之間的內(nèi)容有著更加緊密的關(guān)聯(lián)性,由于數(shù)據(jù)表格相對于有關(guān)的文字性信息來說的話,其所代表的信息更加具體和有規(guī)律性,因此在已經(jīng)建立好的數(shù)據(jù)表格中尋找模型所需要的各種數(shù)據(jù)信息,同時根據(jù)這些數(shù)據(jù)各自的特點和屬于的類型來分別帶入到模型中進行分析,這樣所建模型才會更加準確;但是僅僅有一個帶有數(shù)據(jù)的數(shù)據(jù)表格完全是不夠的,應(yīng)當還要對該表格中的數(shù)據(jù)建立相應(yīng)的數(shù)據(jù)庫,因此就應(yīng)當擁有一套完整的數(shù)據(jù)庫,相對于數(shù)據(jù)表格來說數(shù)據(jù)庫是相對龐大的,它會對有關(guān)數(shù)據(jù)表格中的所有數(shù)據(jù)建立一個比較龐大的數(shù)據(jù)體系,由于一次操作所得到的的數(shù)據(jù)內(nèi)容也許會存在一定的偏差,因此要在更多的數(shù)據(jù)中尋找彼此之間的關(guān)系,例如:可以通過對一個數(shù)據(jù)表格中在相應(yīng)的數(shù)據(jù)庫中的很多數(shù)據(jù)求平均值、或者將數(shù)據(jù)庫中的數(shù)據(jù)與某一特定的數(shù)據(jù)通過SPSS等建立一個多元或者一元線性回歸方程來建立彼此之間的關(guān)系等,此外數(shù)據(jù)庫要充足考慮到整體性,這樣是由于在一個數(shù)據(jù)庫當中,由于沒有考慮到它的整體性,數(shù)據(jù)信息的不對的錄入導(dǎo)致了這樣的結(jié)果,那就是操作沒有效果與得出的結(jié)果是錯誤的,由于對于錯誤數(shù)據(jù)的操作也會對有關(guān)模型的建立產(chǎn)生一定的促進作用,由于只有存在了錯誤才會使相關(guān)建立模型的人員找犯錯誤的存在之處,這樣通過有關(guān)對立面的完善也能使有關(guān)模型和數(shù)據(jù)的相應(yīng)上做出更好完善和修復(fù),這樣對模型和數(shù)據(jù)都會產(chǎn)生很好的促進作用;最后是數(shù)據(jù)庫的通用性設(shè)計,設(shè)計出來的數(shù)據(jù)庫應(yīng)適合更多的運用,由于只有將建立好的數(shù)據(jù)庫運用到多種計算中,才干體現(xiàn)該數(shù)據(jù)庫的價值,這樣在對該數(shù)據(jù)庫的建立才會更故意義,由于數(shù)據(jù)庫的建立是要花費一定的人力、物力、財力的,假如花費了很多精力所建的數(shù)據(jù)庫僅僅合用于一個模型或者一個計算中,那么這個數(shù)據(jù)庫存在的價值也就會大大下降,同時對所花費的成本也達不到預(yù)期的效果,甚至?xí)霈F(xiàn)本末倒置的現(xiàn)象,假如所建立的一個數(shù)據(jù)庫是全面的、相對完整的,同時也能合用于多種模型軟件中,那么在此后的工作或者操作過程中只需要對數(shù)據(jù)庫中的數(shù)據(jù)進行不斷的更新或者不斷的完善就能滿足不斷變化的內(nèi)外部環(huán)境,這樣建立的數(shù)據(jù)庫才干達成長期被應(yīng)用的作用,同時一個通用性的MIS軟件在數(shù)據(jù)結(jié)構(gòu)方面應(yīng)具有自適應(yīng)能力。在對有關(guān)物資的設(shè)計過程,應(yīng)當根據(jù)具體的規(guī)定,或者是有關(guān)的特定規(guī)定等,并且還應(yīng)當緊隨著大表細分當中提到的問題,在構(gòu)建這樣的相關(guān)物資表時候,可以制作出9個數(shù)據(jù)表,以滿足物資管理系統(tǒng)的需求,比如用戶信息表這個表格當中,是由Member,MemberName,DepartmentId,Pwd和Role這5個方面所組成的了;在部門信息表這一個表格中,是由DepartmentId和DepartmentName這2個方面所構(gòu)成的,而角色權(quán)限表這一塊當中,內(nèi)容比較多些,重要是由RoleId,ControllName,ControllWeb,Rolel,Role2和Role3這6個方面構(gòu)成。以上這些列名、數(shù)據(jù)類型、長度和字段描述如表4-1、4-2和4-3所示,其中4-1重點記錄的是有關(guān)用戶的一些信息內(nèi)容、4-2記錄的是有關(guān)部門的信息表、4-3則記錄的是有關(guān)角色權(quán)限的一些內(nèi)容。這三個表達系統(tǒng)級別的共用信息,信息是共享的,由于這三張表中的內(nèi)容是互相貫通和互相聯(lián)系的,只有具有了用戶信息后才干生成部門信息,同時也只用當用戶信息表和部門信息表都建立完善之后才干根據(jù)用戶和部門的信息內(nèi)容建立相相應(yīng)的角色權(quán)限表,因此這三張表是缺一不可,并且彼此之間存在一定的邏輯性和關(guān)聯(lián)性,因此也只有具有最高管理權(quán)限(系統(tǒng)管理員)的用戶才干對這些表進行編輯。這三個系統(tǒng)之間屬于不同的模塊,由于各個模塊不同,再根據(jù)不同的模塊的功能規(guī)定建立相應(yīng)的表,模塊擬定數(shù)據(jù)表的多樣性,同時也只有以上三個表格的數(shù)據(jù)都比較完善后才干建立有關(guān)倉庫上的管理信息、貨品上的信息、存儲信息當中的規(guī)則信息、貨品入庫以及出庫時候的相關(guān)信息記錄、簽訂的關(guān)于協(xié)議方面的信息以及進行系統(tǒng)日記解決的信息數(shù)據(jù)表。但是需要的注意的是在已建立成的用戶信息表、部門信息表和角色權(quán)限表到最后的倉庫信息表、貨品信息表、存儲規(guī)則信息表等的這幾個表格中,應(yīng)當建立有關(guān)的系統(tǒng)日記信息表、系統(tǒng)協(xié)議信息表,由于對有關(guān)物資數(shù)據(jù)庫的建立少不了物資的管理時間,以及有關(guān)物資的協(xié)議信息等內(nèi)容,這樣建立的數(shù)據(jù)庫才會更加完善和精確。其重要的數(shù)據(jù)庫的內(nèi)容見4-4到4-8所示。把該數(shù)據(jù)庫名定義為mydatabase。表4-1用戶信息表(Memberinfo)列名數(shù)據(jù)類型長度字段描述MemberIdvarchar15用戶ID(用戶登陸時的ID,設(shè)計時要考慮字符長度)MemberNamevarchar15用戶名DepartmentIdint4所屬部門ID,區(qū)別其他部門Pwdvarchar15用戶密碼(在設(shè)計時密碼暫時為空,由使用者自由設(shè)定)Roleint5用戶角色(1代表物資管理系統(tǒng)的管理員身份,2代表部門領(lǐng)導(dǎo)身份3代表一般的用戶身份)表4-2系統(tǒng)協(xié)議信息表(contractinfo)列名數(shù)據(jù)類型長度字段描述contractIdint6每份協(xié)議的唯一IDDepartmentIdint6協(xié)議簽署部門的ID號ContractSnvarchar10具體的特定編號ContractTitlevarchar15分類協(xié)議的標題TotalChargedecimal15單份協(xié)議的金額SubscribeDateDate10具體的協(xié)議簽訂日期ContractStatevarchar15表達協(xié)議目前的簽訂狀態(tài)ContractRemarktext20對協(xié)議一些附屬規(guī)定進行備注說明表4-3部門信息表(Departmentinfo)列名數(shù)據(jù)類型長度字段描述DepartmentIdint4部門ID(自增字段,主鍵)DepartmentNamevarchar20部門名稱表4-4角色權(quán)限表(Roleinfo)列名數(shù)據(jù)類型長度字段描述RoleIdint5部門權(quán)限ID號(該字段可以自由設(shè)定)ControllNamevarchar25操作名稱(用來詮釋操作對象或過程的方向)Roleint5角色組表4-5貨品信息數(shù)據(jù)表列名數(shù)據(jù)類型長度字段描述GIDint5明確具體貨品的單一ID號(主鍵)GNamevarchar15具體貨品的名稱GDescribevarchar15描述商品的特性,如規(guī)格,存貯規(guī)定,保質(zhì)期或存放說明等GAmountint25描述具體商品的數(shù)量表4-6倉庫信息數(shù)據(jù)表(Warehouses)列名數(shù)據(jù)類型字段長度字段描述WIdint8惟一ID號,作為索引(主鍵)WNamevarchar15該倉庫的名稱WAddressvarchar15所述倉庫的具體位置WDescribevarchar80描述倉庫的一些具體屬性,如存儲量等表4-7貨品進出庫記錄數(shù)據(jù)表列名數(shù)據(jù)類型長度字段描述RWIDint8貨品入庫的倉庫號RQuantityFloat10表達貨品的進出場的數(shù)量及規(guī)格RtypeBit5記錄目的貨品是否入庫,1表達入庫,2表達不入庫RManagerint5特定貨品進出倉庫負責人的實際IDRHandlerVarchar15具體貨品進出倉庫的實際經(jīng)辦人表4-8存儲規(guī)則信息數(shù)據(jù)表列名數(shù)據(jù)類型長度字段描述SIDint5記錄商品狀態(tài)存儲規(guī)律的僅有ID號(主鍵)STopLineFloat10該商品目前的最高儲存量SbaseLineFloat10該商品目前的最低臨界點SQuantityFloat5該商品目前的實際存貨量通過以上這九個表格的建立,已經(jīng)對有關(guān)物資系統(tǒng)數(shù)據(jù)庫從開始到最后的各個庫存和存儲中心的數(shù)據(jù)建立有了相對清楚的結(jié)識,因此在建立相相應(yīng)的數(shù)據(jù)庫的過程時就應(yīng)當從以上的這幾個方面進行考慮,從數(shù)據(jù)庫建立的每個細節(jié)和每個模塊進行入手,以其達成數(shù)據(jù)庫建立的完備性和可靠性。

第5章 系統(tǒng)的實現(xiàn)5.1系統(tǒng)的總體實現(xiàn)在系統(tǒng)的實現(xiàn)上,本文的作者依據(jù)文章第三章和第四章對系統(tǒng)體系結(jié)構(gòu)、業(yè)務(wù)模塊和數(shù)據(jù)庫的具體設(shè)計,分別對各個功能模塊進行了具體的實現(xiàn),對數(shù)據(jù)庫進行的設(shè)計后的實際實行,將業(yè)務(wù)邏輯映射為系統(tǒng)操作,進而完畢設(shè)計與代碼之間的映射工作。開發(fā)語言選擇的Delphi7語言環(huán)境,數(shù)據(jù)庫采用InterBase數(shù)據(jù)庫系統(tǒng)。在連接技術(shù)上,由于BDE(數(shù)據(jù)庫引擎)被自動地包含在Delphi7中,并且Delphi7的安裝程序自動為InterBaseServer安裝相應(yīng)的驅(qū)動程序,并建立了有關(guān)的配置,所以,就直接建立了應(yīng)用程序與數(shù)據(jù)庫之間的信息連接。系統(tǒng)的總體實現(xiàn),是需要多個環(huán)節(jié)、多個層次的。作者通過在主界面設(shè)立磁帶候選欄的方法,來減少系統(tǒng)中的對話框的數(shù)目;作者運用了在查詢條件處設(shè)計下拉菜單項的方式,使繁瑣、復(fù)雜、涉及面較廣的信息查詢功能在一個對話窗口中就可以完畢;作者還運用了特別設(shè)計的右鍵菜單功能項,來簡化系統(tǒng)的操作環(huán)節(jié),使用戶在找到了所需要的數(shù)據(jù)信息后,就可以直接點擊右鍵,通過右鍵彈出的菜單功能項來完畢下一步的操作,節(jié)省用戶了再次調(diào)出相關(guān)的功能窗口的時間和精力,使系統(tǒng)的操作更加地簡樸、方便。對于系統(tǒng)的總體實現(xiàn),還可以通過系統(tǒng)的狀態(tài)流程圖來表現(xiàn)。具體如圖5-1所示。5.2用戶身份驗證模塊的實現(xiàn)重要是驗證登陸煙草物資管理系統(tǒng)的用戶身份,根據(jù)用戶權(quán)限的不同,重要有以下幾個控件組成:一個部門按鈕、一個職位按鈕、一個姓名按鈕、一個工號按鈕尚有一個取消按鈕組成。Objectobj=hrequest.getSession().getAttribute("currentUserBean"); if(obj!=null){ userCommon=(UserCommonBean)obj; if(!userCode.equals(userCommon.getUserCode())&&!"".equals(userCode)){ Enumeratione=hrequest.getSession().getAttributeNames(); while(e.hasMoreElements()){ StringsessionName=(String)e.nextElement(); if(isDeleSessionAttribute(sessionName)){ hrequest.getSession().removeAttribute(sessionName); System.out.println("sessionName==="+sessionName); } } userCommon=null; } } if(userCommon==null&&!uri.equals("/index.jsp") &&!uri.equals("/login/resp/selectResp.jsp")){ }else{ if(userCommon==null){ StringrespId=XzUtils .notNull(hrequest.getParameter("respId")); if(!respId.equals("")){ UserCommonBeanuser=xzpLoginVAction.getlogonUser( userCode,respId); StringfunctionId=XzUtils.notNull(hrequest .getParameter("FunctionId")); if(functionId==null||functionId.equals("")){ functionId="0"; } user.setCurrentFunctionId(functionId); user.setCurrentFunctionCode(XzUtils.notNull(xzpLoginVAction .getFunctionCode(functionId))); user.setOrgId(XzUtils.notNull(hrequest .getParameter("orgId"))); ((HttpServletRequest)request).getSession().setAttribute( "currentUserBean",user); } }else{ StringfunctionId=XzUtils.notNull(hrequest .getParameter("FunctionId")); StringrespId=XzUtils .notNull(hrequest.getParameter("respId")); StringorgId=XzUtils.notNull(hrequest.getParameter("orgId")); if(respId!=null&&(!respId.equals(""))){ if(!respId.equals(userCommon.getCurrentRespId())){ userCommon.setCurrentRespId(respId); ((UserCommonBean)((HttpServletRequest)request) .getSession().getAttribute("currentUserBean")) .setCurrentRespId(respId); } }其中查詢、刪除的SQL語句如下:Stringsql="selectxd.id,,xd.description"+ "fromxsr_pub_userdutyxu,xsr_pub_dutyxd"+ "wherexu.user_id='"+userId+"'"+ "andxu.enabled='Y'"+ "andxu.duty_id=xd.id";其中查詢、刪除的SQL語句如下:Stringsql="selectxd.id,,xd.description"+ "fromxsr_pub_userdutyxu,xsr_pub_dutyxd"+ "wherexu.user_id='"+userId+"'"+ "andxu.enabled='Y'"+ "andxu.duty_id=xd.id";5.3用戶信息管理模塊的實現(xiàn)重要有用戶信息編輯按鈕和用戶密碼的修改按鈕組成,前提是該用戶已經(jīng)通過了用戶身份的驗證。publicvoidcreate(){ HashMapoutDto=newHashMap(); StringBuffermsg=newStringBuffer(); BigDecimalkeyId=newBigDecimal("-1"); try{ keyId=(BigDecimal)xzpUserVService.editObject(xzpUserV); if(keyIValue()>0){ msg.append(XzConstants.SUCCESS); msg.append("記錄號"+keyId+"保存成功!"); }else{ msg.append(XzConstants.ERROR); msg.append("當前記錄保存失??!"); } }catch(Exceptione){ msg.append(XzConstants.ERROR); msg.append(XzUtils.formatException(e.getCause().getMessage())); e.printStackTrace(); }finally{ try{ this.showMsg(msg.toString(),outDto); outDto.put("keyId",keyIValue()+""); write(JsonHelper.encodeObject2Json(outDto),this.getResponse()); }catch(IOExceptione){ e.printStackTrace(); } } } publicvoiddelete(){ HashMapoutDto=newHashMap(); StringBuffermsg=newStringBuffer(); try{ intcount=(Integer)xzpUserVService.delete(xzpUserV); if(count>0){ msg.append(XzConstants.SUCCESS); msg.append("記錄"+xzpUserV.getUserId()+"刪除成功!"); }else{ msg.append(XzConstants.ERROR); msg.append("記錄"+xzpUserV.getUserId()+"刪除成功!"); } }catch(Exceptione){ msg.append(XzConstants.ERROR); msg.append(XzUtils.formatException(e.getCause().getMessage())); e.printStackTrace(); }finally{ try{ this.showMsg(msg.toString(),outDto); write(JsonHelper.encodeObject2Json(outDto),this.getResponse()); }catch(IOExceptione){ e.printStackTrace(); } } }其中查詢、修改的SQL語句如下SelectUSER_ID,USER_CODE,USER_NAME,PASSWORD,LAST_UPDATE_DATE,LAST_UPDATED_BY,CREATION_DATE,CREATED_BY,LAST_UPDATE_LOGIN,CLEAR_PASSWORD,ENCRYPTED_PASSWORD,START_DATE,END_DATE,PASSWORD_DATE,PERSON_ID,PERSON_NAME,IS_BUYERxzp_userinsertintoXZP_USER_V(USER_ID,USER_CODE,USER_NAME,PASSWORD,LAST_UPDATE_DATE,LAST_UPDATED_BY,CREATION_DATE,CREATED_BY,LAST_UPDATE_LOGIN,CLEAR_PASSWORD,ENCRYPTED_PASSWORD,START_DATE,END_DATE,PASSWORD_DATE,PERSON_ID,PERSON_NAME,IS_BUYER)values(#userId:DECIMAL#,#userCode:VARCHAR#,#userName:VARCHAR#,#password:VARCHAR#,#lastUpdateDate:DATE#,#lastUpdatedBy:VARCHAR#,#creationDate:DATE#,#createdBy:VARCHAR#,#lastUpdateLogin:VARCHAR#,#clearPassword:VARCHAR#,#encryptedPassword:VARCHAR#,#startDate:DATE#,#endDate:DATE#,#passwordDate:DATE#,#personId:DECIMAL#,#personName:VARCHAR#,#isBuyer:DECIMAL#)updateXZP_USER_VsetUSER_ID=#record.userId:DECIMAL#,USER_CODE=#record.userCode:VARCHAR#,USER_NAME=#record.userName:VARCHAR#,PASSWORD=#record.password:VARCHAR#,LAST_UPDATE_DATE=#record.lastUpdateDate:DATE#,LAST_UPDATED_BY=#record.lastUpdatedBy:VARCHAR#,CREATION_DATE=#record.creationDate:DATE#,CREATED_BY=#record.createdBy:VARCHAR#,LAST_UPDATE_LOGIN=#record.lastUpdateLogin:VARCHAR#,CLEAR_PASSWORD=#record.clearPassword:VARCHAR#,ENCRYPTED_PASSWORD=#record.encryptedPassword:VARCHAR#,START_DATE=#record.startDate:DATE#,END_DATE=#record.endDate:DATE#,PASSWORD_DATE=#record.passwordDate:DATE#,PERSON_ID=#record.personId:DECIMAL#,PERSON_NAME=#record.personName:VARCHAR#,IS_BUYER=#record.isBuyer:DECIMAL#圖5-2用戶信息管理模塊的實現(xiàn)界面圖5.4部門信息管理模塊的實現(xiàn)在用戶信息編輯系統(tǒng)中將各個部門的員工的進行歸類,因此在這個模塊的現(xiàn)實重要基于用戶身份驗證和用戶信息管理的實現(xiàn)。重要由部門按鈕、一個工號按鈕和一個推出按鈕組成。publicvoidcreate(){ HashMapoutDto=newHashMap(); StringBuffermsg=newStringBuffer(); BigDecimalkeyId=newBigDecimal("-1"); try{ keyId=(BigDecimal)xzpOrganizationVService .editObject(xzpOrganizationV); if(keyIValue()>0){ msg.append(XzConstants.SUCCESS); msg.append("記錄號"+keyId+"保存成功!"); }else{ msg.append(XzConstants.ERROR); msg.append("當前記錄保存失??!"); } }catch(Exceptione){ msg.append(XzConstants.ERROR); msg.append(XzUtils.formatException(e.getCause().getMessage())); e.printStackTrace(); }finally{ try{ this.showMsg(msg.toString(),outDto); outDto.put("keyId",keyIValue()+""); write(JsonHelper.encodeObject2Json(outDto),this.getResponse()); }catch(IOExceptione){ e.printStackTrace(); } } } publicvoiddelete(){ HashMapoutDto=newHashMap(); StringBuffermsg=newStringBuffer(); try{ intcount=(Integer)xzpOrganizationVService .delete(xzpOrganizationV); if(count>0){ msg.append(XzConstants.SUCCESS); msg.append("記錄"+xzpOrganizationV.getOrganizationId() +"刪除成功!"); }else{ msg.append(XzConstants.ERROR); msg.append("記錄"+xzpOrganizationV.getOrganizationId() +"刪除成功!"); } }catch(Exceptione){ msg.append(XzConstants.ERROR); msg.append(XzUtils.formatException(e.getCause().getMessage())); e.printStackTrace(); }finally{ try{ this.showMsg(msg.toString(),outDto); write(JsonHelper.encodeObject2Json(outDto),this.getResponse()); }catch(IOExceptione){ e.printStackTrace(); } } }其中其中查詢、修改的SQL語句如下SelectORGANIZATION_ID,ORGANIZATION_CODE,ORGANIZATION_NAME,LAST_UPDATE_DATE,LAST_UPDATED_BY,CREATED_BY,LAST_UPDATE_LOGIN,CREATION_DATE,START_DATE_ACTIVE,END_DATE_ACTIVEfromXZP_ORGANIZATION_VinsertintoXZP_ORGANIZATION_V(ORGANIZATION_ID,ORGANIZATION_CODE,ORGANIZATION_NAME,LAST_UPDATE_DATE,LAST_UPDATED_BY,CREATED_BY,LAST_UPDATE_LOGIN,CREATION_DATE,START_DATE_ACTIVE,END_DATE_ACTIVE)values(#organizationId:DECIMAL#,#organizationCode:VARCHAR#,#organizationName:VARCHAR#,#lastUpdateDate:DATE#,#lastUpdatedBy:VARCHAR#,#createdBy:VARCHAR#,#lastUpdateLogin:VARCHAR#,#creationDate:DATE#,#startDateActive:DATE#,#endDateActive:DATE#)updateXZP_ORGANIZATION_VsetORGANIZATION_ID=#anizationId:DECIMAL#,ORGANIZATION_CODE=#anizationCode:VARCHAR#,ORGANIZATION_NAME=#anizationName:VARCHAR#,LAST_UPDATE_DATE=#record.lastUpdateDate:DATE#,LAST_UPDATED_BY=#record.lastUpdatedBy:VARCHAR#,CREATED_BY=#record.createdBy:VARCHAR#,LAST_UPDATE_LOGIN=#record.lastUpdateLogin:VARCHAR#,CREATION_DATE=#record.creationDate:DATE#,START_DATE_ACTIVE=#record.startDateActive:DATE#,END_DATE_ACTIVE=#record.endDateActive:DATE#圖5-4部門信息管理模塊實現(xiàn)的界面圖5.5協(xié)議管理模塊的的實現(xiàn)該模塊涵蓋了大量的協(xié)議信息,分為協(xié)議編輯、協(xié)議查詢、協(xié)議修改和協(xié)議記錄分析幾個子模塊,在協(xié)議編輯模塊的實現(xiàn)中又需要有協(xié)議編號、名稱、簽訂單位、金額等信息。因此要查找一個協(xié)議就很困難,所以協(xié)議管理模塊用于根據(jù)用戶輸入的條件查出特定的協(xié)議,查詢條件重要是根據(jù)唯一的協(xié)議編號。publicvoidactionLister(ActionEventactionEvent){//CurrentUser.setTemporaryFunctionCode(FacesContext.getCurrentInstance(),//"SUPPLIER_SELECT_LV");CurrentUser.setTemporaryFunctionCode(FacesContext.getCurrentInstance(),"PRUDUCT_SUPPLIER_SELECT_LOV");CurrentUser.setTemporaryFunctionParamMap(FacesContext.getCurrentInstance(),"");}publicvoidgetReturnLisener(ReturnEventreturnEvent){DCDataControldc=getDCBindingContainer().findDataControl("xzDefaultAMDataControl");xzDefaultAMappAM=null;appAM=(xzDefaultAM)dc.getDataProvider();/*設(shè)立功能名稱*///Stringtemp1=//QueryPublicTools.getPublicAttributeByColCode(appAM,"SUPPLIER_SELECT_LV",//"SUPPLIER_ID");//Stringtemp2=//QueryPublicTools.getPublicAttributeByColCode(appAM,"SUPPLIER_SELECT_LV",//"SUPPLIER_NAME");Stringtemp1=QueryPublicTools.getPublicAttributeByColCode(appAM,"PRUDUCT_SUPPLIER_SELECT_LOV","SUPPLIER_ID");Stringtemp2=QueryPublicTools.getPublicAttributeByColCode(appAM,"PRUDUCT_SUPPLIER_SELECT_LOV","SUPPLIER_NAME");Objecto=returnEvent.getReturnValue();if(o!=null){JUCtrlValueBindingReftableRowRef=(JUCtrlValueBindingRef)o;StringProvSupplierId=tableRowRef.getRow().getAttribute(temp1).toString();StringProvSupplierName=tableRowRef.getRow().getAttribute(temp2).toString();if(ProvSupplierId!=null&&ProvSupplierId.length()>0){this.getProvSupplierId().setSubmittedValue(null);this.getProvSupplierId().setValue(ProvSupplierId);AdfFacesContext.getCurrentInstance().addPartialTarget(this.getProvSupplierId());}if(ProvSupplierName!=null&&ProvSupplierName.length()>0){this.getProvSupplierName().setSubmittedValue(null);this.getProvSupplierName().setValue(ProvSupplierName);AdfFacesContext.getCurrentInstance().addPartialTarget(this.getProvSupplierName());}}if(o==null){this.getProvSupplierId().setSubmittedValue(null);this.getProvSupplierId().setValue("");AdfFacesContext.getCurrentInstance().addPartialTarget(this.getProvSupplierId());this.getProvSupplierName().setSubmittedValue(null);this.getProvSupplierName().setValue("");AdfFacesContext.getCurrentInstance().addPartialTarget(this.getProvSupplierName());}}DataSetmyds=datacon.getds("selectstor_noas所屬倉庫號,P_noas零件號,Amountsas庫存量froms_p","s_p");dataGridView1.DataSource=myds.Tables["s_p"];doperate.cboxBind("selectstor_nofromstorage","storage","stor_no",cmbStorage);doperate.cboxBind("selectP_nofrompart","part","P_no",cmbPart);顯示庫存也就是從數(shù)據(jù)庫中把信息顯示到界面上,這里以dataGridView作為容器存放。記錄庫存代碼:DataSetmyds=datacon.getds("selectAmountsas庫存量froms_pwherestor_no='"+cmbStorage.Text+"'andP_no='"+cmbPart.Text+"'","s_p");dataGridView1.DataSource=myds.Tables[0];至于入庫與出庫操作則需要依靠DataOperate類中的相關(guān)操作。5.6重要技術(shù)分析本次的設(shè)計實現(xiàn)中,重要涉及到了兩方面的技術(shù),一是數(shù)據(jù)庫的技術(shù),二是ASP的使用技術(shù)。對于ASP技術(shù)自身存在的技術(shù)特點如下:1.無需編譯ASP腳本集成于HTML當中,容易生成,無需編譯或鏈接即可直接解釋執(zhí)行。2.易于生成使用常規(guī)文本編輯器(如WINDOWS下的記事本),即可進行*.asp頁面的設(shè)計。若從工作效率來考慮,不妨選用品有可視化編輯能力的VisualInterDev。3.獨立于瀏覽器用戶端只要使用可解釋常規(guī)HTML碼的瀏覽器,即可瀏覽ASP所設(shè)計的主頁。ASP腳本是在站點服務(wù)器端執(zhí)行的,用戶端的瀏覽器不需要支持它。因此,若不通過從服務(wù)器下載來觀測*.asp主頁,在瀏覽器端見不到對的的頁面內(nèi)容。4.面向?qū)ο笤贏SP腳本中可以方便地引用系統(tǒng)組件和ASP的內(nèi)置組件,還能通過定制ActiveXServerComponent(ActiveX服務(wù)器組件)來擴充功能。5.與任何ActiveXscripting語言兼容除了可使用VBScript和JScript語言進行設(shè)計外,還可通過Plugin的方式,使用由第三方所提供的其它scripting語言。6.源程序碼不會外漏ASP腳本在服務(wù)器上執(zhí)行,傳到用戶瀏覽器的只是ASP執(zhí)行結(jié)果所生成的常規(guī)HTML碼,這樣可保證辛辛勞苦編寫出來的程序代碼不會被別人盜取。對于SQLServer有如下的技術(shù)優(yōu)勢其重要特點如下:(1)高性能設(shè)計,可充足運用WindowsNT的優(yōu)勢。(2)系統(tǒng)管理先進,支持Windows圖形化管理工具,支持本地和遠程的系統(tǒng)管理和配置。(3)強壯的事務(wù)解決功能,采用各種方法保證數(shù)據(jù)的完整性。(4)支持對稱多解決器結(jié)構(gòu)、存儲過程、ODBC,并具有自主的SQL語言。SQLServer以其內(nèi)置的數(shù)據(jù)復(fù)制功能、強大的管理工具、與Internet的緊密集成和開放的系統(tǒng)結(jié)構(gòu)為廣大的用戶、開發(fā)人員和系統(tǒng)集成商提供了一個杰出的數(shù)據(jù)庫平臺。5.7系統(tǒng)的測試系統(tǒng)設(shè)計和實現(xiàn)完畢之后,由于時間的限制,只在小范圍內(nèi)做了軟件的測試。測試時間為2023年1月4日至2023年1月20日。在為期16天的測試工作中,一方面做的單元測試;另一方面是系統(tǒng)的集成測試,測試系統(tǒng)數(shù)據(jù)是否符合規(guī)定;之后測試系統(tǒng)的性能是否達成了設(shè)計規(guī)定;最后是確認測試,擬定系統(tǒng)是否完畢是用戶的需求。在測試之后,作者改善了系統(tǒng)中一些局限性之處,使系統(tǒng)更加的完善,系統(tǒng)性能也得到了相應(yīng)的提高。5.8對升級版本的規(guī)劃

第6章 結(jié)論本文重要基于B/S網(wǎng)絡(luò)化模式下,討論了XX物資管理系統(tǒng)所涉及的理論、方法和系統(tǒng)的。歸納總結(jié)了某煙草集團物資管理信息系統(tǒng)開發(fā)和使用情況,提出了重要問題的系統(tǒng)規(guī)定,系統(tǒng)的決策支持功能,來解決這些問題,論文研究的重要方法根據(jù)一個煙草公司的物資管理活動,以及系統(tǒng)需求分析的特點,信息系統(tǒng)必須采用模塊化的方法,煙草集團將繼續(xù)擴大和完善在使用過程中,以適應(yīng)不斷變化的物資管理,并在的PMEIS發(fā)展過程中,這些想法的實行,開發(fā)物資管理信息系統(tǒng),通過了系統(tǒng)測試。大型煙草公司的物資管理活動,結(jié)合煙草(集團)物資管理標準的管理信息系統(tǒng)開發(fā),物資管理信息系統(tǒng)是煙草公司和用戶需求運營的一個實際應(yīng)用的實際需求特點的分析。本論文重要存在以下特點:1.本文通過B/S三層結(jié)構(gòu)的采用,簡化了軟件系統(tǒng)的操作性。2.采用面向?qū)ο蟮慕<夹g(shù)和方法,并能更好地把握用戶的需求,奠定了必要的基礎(chǔ),該系統(tǒng)的成功開發(fā)和軟件維護。3.物資管理系統(tǒng)得以實現(xiàn),各個部分都得到合理高效的發(fā)揮出來。4.每個管理過程都要有單位,來保證它的順利進行,合理運用物資資源。5.靈活運用方法對數(shù)據(jù)庫的管理,模型庫采用了新的表達方法,即數(shù)據(jù)表達法。在現(xiàn)代的物資管理系統(tǒng)中,無論是在理論研究或應(yīng)用程序開發(fā)領(lǐng)域的物資管理系統(tǒng),都取得了豐碩的成果,但在過去幾年中,系統(tǒng)科學(xué)領(lǐng)域,系統(tǒng)的分析和建模、通訊、新工具、新方法、開發(fā)的物資管理系統(tǒng)的性能良好,也是一次機會,給予新一代的物資管理系統(tǒng)一個新生機會,表現(xiàn)出極大的優(yōu)勢表現(xiàn)出極大的優(yōu)勢。例如,用于決策支持、專家系統(tǒng)和物資管理系統(tǒng)的集成多媒體技術(shù)的發(fā)展,數(shù)據(jù)倉庫的數(shù)據(jù)源,人工智能、聯(lián)機分析解決、數(shù)據(jù)挖掘技術(shù)、Internet/Intranet技術(shù)給物資管理系

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論