ERP倉(cāng)庫(kù)管理系統(tǒng)課設(shè)報(bào)告_第1頁(yè)
ERP倉(cāng)庫(kù)管理系統(tǒng)課設(shè)報(bào)告_第2頁(yè)
ERP倉(cāng)庫(kù)管理系統(tǒng)課設(shè)報(bào)告_第3頁(yè)
ERP倉(cāng)庫(kù)管理系統(tǒng)課設(shè)報(bào)告_第4頁(yè)
ERP倉(cāng)庫(kù)管理系統(tǒng)課設(shè)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

上海應(yīng)用技術(shù)學(xué)院課程設(shè)計(jì)2014~2015學(xué)年第一學(xué)期設(shè)計(jì)題目倉(cāng)庫(kù)信息管理系統(tǒng)院(系)計(jì)算機(jī)科學(xué)與信息工程專(zhuān)業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)學(xué)號(hào)學(xué)生姓名設(shè)計(jì)時(shí)間指導(dǎo)教師提交日期

概述1.1課程設(shè)計(jì)選題背景ERP市場(chǎng)當(dāng)前狀況:我們可以從多個(gè)方面對(duì)當(dāng)前的市場(chǎng)需求和變化進(jìn)行考察。其一,實(shí)踐證明,有的國(guó)內(nèi)企業(yè)采用自主開(kāi)發(fā)的模式,采用了不成熟的系統(tǒng),在投入較少的情況下,這種模式的應(yīng)用效果并不好。雖然,從理論上來(lái)講,自主開(kāi)發(fā)模式最能符合企業(yè)對(duì)信息系統(tǒng)的要求。因?yàn)榇嬖谏?jí)和昂貴的集成費(fèi)用等潛在困難,中型用戶越來(lái)越遠(yuǎn)離這種定制的ERP系統(tǒng)。經(jīng)過(guò)多年的發(fā)展,全球范圍內(nèi)的ERP軟件的模式已經(jīng)有了事實(shí)上的行業(yè)標(biāo)準(zhǔn),已經(jīng)完全成熟,這種商品化和模塊化的ERP產(chǎn)品越來(lái)越獲得用戶的青睞。其二,所有的ERP廠商都在和軟件系統(tǒng)的復(fù)雜性作斗爭(zhēng),使得缺乏IT資源和人力的中型企業(yè)能應(yīng)用ERP系統(tǒng)。SAP、PeopleSoft、Oracle和Baan都在縮短實(shí)施周期上做出了切實(shí)的進(jìn)展,國(guó)內(nèi)的很多ERP廠商等也認(rèn)識(shí)到了這一點(diǎn),這是中型企業(yè)實(shí)施成功的關(guān)鍵之一。其三,中國(guó)企業(yè)的信息化水平還是比較低的,有著廣闊的市場(chǎng)和利潤(rùn)空間?,F(xiàn)在,越來(lái)越多的企業(yè)正在從“系統(tǒng)集成”階段向“應(yīng)用集成”和“信息集成”等更高級(jí)的階段邁進(jìn)。也就是說(shuō),很多企業(yè)經(jīng)歷了購(gòu)置電腦、構(gòu)建網(wǎng)絡(luò)的階段,跨越了辦公自動(dòng)化的階段,產(chǎn)生了對(duì)ERP等應(yīng)用軟件的巨大需求。其四,在信息化人員配備方面,企業(yè)中既懂管理又對(duì)企業(yè)信息化有深刻理解的員工越來(lái)越多。經(jīng)過(guò)多年的發(fā)展,很多企業(yè)負(fù)責(zé)信息化的員工建立起了對(duì)大型的、跨越業(yè)務(wù)領(lǐng)域、跨越地域的企業(yè)管理軟件系統(tǒng)的概念。而提供ERP咨詢和服務(wù)的軟件商、咨詢機(jī)構(gòu)也越來(lái)越多。其五,競(jìng)爭(zhēng)的加劇使得ERP廠商不得不降低價(jià)格,提供針對(duì)性的實(shí)施方法,縮短ERP軟件實(shí)施過(guò)程,從而使得ERP系統(tǒng)整體擁有成本的下降,使得越來(lái)越多的企業(yè)有能力擁有ERP這種過(guò)去只有大企業(yè)才能用得起的系統(tǒng)。對(duì)產(chǎn)品的預(yù)期和定位要想取得產(chǎn)品的成功,必須對(duì)自己開(kāi)發(fā)的產(chǎn)品有清晰明確的定位,對(duì)于市場(chǎng)上琳瑯滿目的ERP產(chǎn)品,我必須做出自己的特色才能有立足之地。所以,我計(jì)劃做個(gè)性價(jià)比較高的ERP庫(kù)存管理系統(tǒng),系統(tǒng)具有界面友好,用戶易操作、易學(xué)習(xí),維護(hù)簡(jiǎn)單的特點(diǎn)。面向的客戶為小微型企業(yè),小微型客戶會(huì)因?yàn)橐?guī)模小而忽略對(duì)數(shù)字化的信息管理系統(tǒng)的使用,而開(kāi)發(fā)ERP系統(tǒng)的軟件公司也“懶得”對(duì)這一部分潛在客戶下力氣。其實(shí)這是一個(gè)市場(chǎng)的盲區(qū),我認(rèn)為小微型企業(yè)是一個(gè)潛力股,往往在這些小微型成長(zhǎng)起來(lái)后,會(huì)持續(xù)給公司帶來(lái)大量客觀的業(yè)務(wù),我們前期用心給他們做管理系統(tǒng),相當(dāng)于是對(duì)他們的幫助,這為未來(lái)的友好合作關(guān)系打下牢固的基礎(chǔ)!1.2課程設(shè)計(jì)目標(biāo)通過(guò)五周的課程設(shè)計(jì),要求學(xué)生加深對(duì)ERP模塊設(shè)計(jì)和數(shù)據(jù)庫(kù)技術(shù)相關(guān)理論的理解,增強(qiáng)動(dòng)手能力,掌握使用現(xiàn)行較為流行的數(shù)據(jù)庫(kù)理論和數(shù)據(jù)庫(kù)開(kāi)發(fā)工具進(jìn)行管理信息系統(tǒng)設(shè)計(jì)(如前臺(tái)界面和后臺(tái)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行查詢,更改等操作)的方法,以及全面采用面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù),使用事件驅(qū)動(dòng)機(jī)制進(jìn)行程序設(shè)計(jì)。本系統(tǒng)主要針對(duì)物流供應(yīng)鏈中的庫(kù)存管理環(huán)節(jié),實(shí)現(xiàn):基本信息管理,指對(duì)供應(yīng)商信息,客戶信息,貨品信息的管理?;拘畔⒉樵児芾恚笇?duì)供應(yīng)商信息,客戶信息,貨品信息的查詢管理。(1)系統(tǒng)管理:指對(duì)供應(yīng)商信息,客戶信息,貨品信息的管理。(2)設(shè)備管理:指對(duì)設(shè)備的基本信息管理及查詢(3)設(shè)備入庫(kù)管理:指對(duì)入庫(kù)的設(shè)備進(jìn)行管理(4)設(shè)備出庫(kù)管理:指對(duì)出庫(kù)的設(shè)備進(jìn)行管理(5)設(shè)備還庫(kù)管理:指對(duì)還回來(lái)的設(shè)備進(jìn)行管理(6)庫(kù)存信息管理:指對(duì)庫(kù)存信息及采購(gòu)的管理(7)設(shè)備需求管理:指對(duì)設(shè)備供求的管理2、系統(tǒng)分析2.1倉(cāng)庫(kù)管理分析2.1.1整體分析企業(yè)的庫(kù)存物資管理往往是很復(fù)雜、很繁瑣的。由于所掌握的物資種類(lèi)眾多,訂貨、管理、發(fā)放的渠道各有差異,各個(gè)企業(yè)之間的管理體制不盡相同,各類(lèi)統(tǒng)計(jì)報(bào)表繁多,因此倉(cāng)庫(kù)的庫(kù)存管理必須編制一套庫(kù)存管理信息系統(tǒng),實(shí)現(xiàn)計(jì)算機(jī)化操作,而且必須根據(jù)企業(yè)的具體情況制定相應(yīng)的方案。由于家電產(chǎn)品行業(yè)產(chǎn)品種類(lèi)繁多,業(yè)務(wù)量巨大,若仍然采用人工記賬的方式,必然不能滿足企業(yè)的需求,企業(yè)需要利用計(jì)算機(jī)來(lái)進(jìn)行庫(kù)存管理,因此需要構(gòu)造一個(gè)庫(kù)存管理系統(tǒng)。一個(gè)完整的企業(yè)物資供應(yīng)管理系統(tǒng)應(yīng)包括采購(gòu)計(jì)劃管理,合同收托管理、倉(cāng)庫(kù)庫(kù)存管理、定額管理、統(tǒng)計(jì)管理、財(cái)務(wù)管理等模塊。其中倉(cāng)庫(kù)的庫(kù)存管理是整個(gè)物資供應(yīng)管理系統(tǒng)的核心。因此有必要開(kāi)發(fā)一套獨(dú)立的庫(kù)存管理系統(tǒng)來(lái)提高企業(yè)工作效率,而所使用的這套庫(kù)存管理系統(tǒng)是企業(yè)生產(chǎn)經(jīng)營(yíng)管理活動(dòng)中的核心,此系統(tǒng)必須可以用來(lái)控制合理的庫(kù)存費(fèi)用、適時(shí)適量的庫(kù)存數(shù)量,使企業(yè)生產(chǎn)活動(dòng)效率最大化。通過(guò)對(duì)這些情況的仔細(xì)調(diào)查,我開(kāi)發(fā)了下面的倉(cāng)庫(kù)庫(kù)存管理系統(tǒng)。2.1.2細(xì)化分析1)庫(kù)存種類(lèi)的細(xì)分(物料編碼)物料編碼:編碼結(jié)構(gòu)和企業(yè)管理方式有關(guān)系,生產(chǎn)型企業(yè)建議結(jié)構(gòu)是物料性質(zhì)+分類(lèi)+材質(zhì)+倉(cāng)庫(kù)+流水號(hào)+補(bǔ)碼。物料性質(zhì),一般指成品、半成品、原材料;分類(lèi),就是常規(guī)物料分類(lèi);材質(zhì),倉(cāng)庫(kù),這個(gè)倉(cāng)儲(chǔ)有關(guān)總之,物料編碼應(yīng)該盡可能細(xì)化。庫(kù)存物品的分類(lèi),庫(kù)存管理是企業(yè)物資流通管理的核心,是為生產(chǎn)、銷(xiāo)售等活動(dòng)而發(fā)生的物料接收、發(fā)放以及存儲(chǔ)管理等一系列管理活動(dòng)。庫(kù)存物料按完成情況分類(lèi)可分為:原材料——采購(gòu)部門(mén)從供應(yīng)商那里采購(gòu)來(lái)的,準(zhǔn)備投入生產(chǎn)加工的物料。在制品——正在加工或等待加工的物料。產(chǎn)成品——已經(jīng)完工的最終產(chǎn)品,就是企業(yè)生產(chǎn)出來(lái)準(zhǔn)備銷(xiāo)售的產(chǎn)品。庫(kù)存物料按價(jià)值劃分——ABC分類(lèi)ABC分類(lèi)法是庫(kù)存控制的基本方法之一,并廣泛應(yīng)用于庫(kù)存控制、生產(chǎn)控制、質(zhì)量控制及其他許多管理問(wèn)題。ABC分類(lèi)法的基本概念如下。A類(lèi)物品(高值):總價(jià)值占庫(kù)存總值70%-80%的相對(duì)少數(shù)物品。通常為物品的15%-20%。B類(lèi)物品(中值):總價(jià)值占庫(kù)存總值的15%-20%。物品數(shù)居中,通常占物品的30%-40%。C類(lèi)物品(低值):庫(kù)存總價(jià)值小,只占5%-10%。這是物品的大多數(shù),通常占60%-70%。2)庫(kù)存與其他模塊的聯(lián)系物料需求計(jì)劃(MRP)的計(jì)算,需要考慮現(xiàn)有庫(kù)存、在單量(在途PO和生產(chǎn)在制),舉個(gè)例子:生產(chǎn)1個(gè)A,需要2個(gè)a,3個(gè)b,這是BOM?,F(xiàn)在接到客戶訂單需要100個(gè)A,現(xiàn)有的狀況是庫(kù)存有50個(gè)a,產(chǎn)線正在生產(chǎn)的A有20個(gè)(無(wú)對(duì)應(yīng)客戶訂單),已經(jīng)發(fā)出PO尚未收料的b有100個(gè),則,MRP運(yùn)算結(jié)果是生產(chǎn)計(jì)劃80個(gè)A,采購(gòu)計(jì)劃2*80-50=110個(gè)a,3*80-100=140個(gè)b.本例沒(méi)有考慮時(shí)間的連動(dòng)關(guān)系。從這個(gè)簡(jiǎn)單的例子中就可以ERP的資源共享的優(yōu)點(diǎn),這些連接BOM、在單量、庫(kù)存繁瑣的運(yùn)算,在ERP中你只要點(diǎn)擊一下“運(yùn)算”就可以得出結(jié)果。2.2可行性分析可行性研究的目的,就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。要達(dá)到這個(gè)目的,必須分析幾種主要的可能解法的利弊,從而判斷原定的系統(tǒng)規(guī)模和目標(biāo)是否現(xiàn)實(shí),系統(tǒng)完成后所能帶來(lái)的效益是否大到值得投資開(kāi)發(fā)這個(gè)系統(tǒng)的程度。因此,可行性研究實(shí)質(zhì)上是要進(jìn)行一次大大壓縮簡(jiǎn)化了的系統(tǒng)分析和設(shè)計(jì)的過(guò)程,也就是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計(jì)的過(guò)程。一般來(lái)說(shuō),可行性分析應(yīng)從經(jīng)濟(jì)可行性、技術(shù)可行性、操作可行性等方面進(jìn)行研究。本系統(tǒng)的可行性分析如下:1)經(jīng)濟(jì)可行性分析由于本庫(kù)存管理系統(tǒng)所要求的硬件(計(jì)算機(jī)及相關(guān)硬件)和軟件環(huán)境(VisualC#.NET+SQLServer2005),市場(chǎng)上都容易購(gòu)買(mǎi)到或從相關(guān)網(wǎng)站下載,系統(tǒng)成本主要集中在本管理系統(tǒng)的開(kāi)發(fā)與維護(hù)上,對(duì)用戶不造成過(guò)重的經(jīng)濟(jì)負(fù)擔(dān)。而一旦此系統(tǒng)投入使用,不僅可以減少庫(kù)存的工作強(qiáng)度,提高工作效率,而且方便了庫(kù)存對(duì)信息的管理,延續(xù)了傳統(tǒng)的管理模式,極大限度地方便了庫(kù)存管理人員,而且,目標(biāo)系統(tǒng)不是很復(fù)雜,開(kāi)發(fā)的周期較短,人員經(jīng)濟(jì)支出不大,所節(jié)省的大量人力、財(cái)力產(chǎn)生的效益將遠(yuǎn)遠(yuǎn)大于本系統(tǒng)的開(kāi)發(fā)成本,所以從經(jīng)濟(jì)方面講開(kāi)發(fā)此系統(tǒng)是可行的。2)技術(shù)可行性分析技術(shù)上的可行性分析要考慮現(xiàn)有技術(shù)條件能否順利完成開(kāi)發(fā)工作及將來(lái)要采用的硬件和軟件技術(shù)能否滿足用戶提出的要求(如計(jì)算機(jī)的容量、速度等)。本系統(tǒng)采用VisualC#.NET作為系統(tǒng)前臺(tái)應(yīng)用程序開(kāi)發(fā)工具,采用SQLServer2005工具建立數(shù)據(jù)庫(kù),并通過(guò)VisualC#.NET中的ADO控件使兩者進(jìn)行連接從而進(jìn)行系統(tǒng)軟件開(kāi)發(fā)。VisualC#.NET不僅能幫助軟件開(kāi)發(fā)者提高軟件開(kāi)發(fā)的質(zhì)量和效率,縮短開(kāi)發(fā)周期,而且還具備強(qiáng)大的數(shù)據(jù)庫(kù)管理功能,完全能夠滿足本系統(tǒng)的開(kāi)發(fā)需求。此外,從開(kāi)發(fā)人員的水平考慮,作為計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)畢業(yè)的學(xué)生,大學(xué)四年所積累的專(zhuān)業(yè)知識(shí)使我們從一定程度上具備了開(kāi)發(fā)一個(gè)小型系統(tǒng)的能力,而且學(xué)?,F(xiàn)有的計(jì)算機(jī)設(shè)備也完全能夠滿足開(kāi)發(fā)的需要。3)操作可行性分析傳統(tǒng)的庫(kù)存管理系統(tǒng),一般有兩種方式:一是手工管理,這種方式應(yīng)用最傳統(tǒng)的“筆紙操作系統(tǒng)”,將庫(kù)存的貨物信息、銷(xiāo)售信息、廠商信息管理及單據(jù)管理等均以純手工的形式進(jìn)行,將信息以表格文件的表現(xiàn)形式記錄在紙上,再進(jìn)行統(tǒng)一保存。這種方式雖然在簡(jiǎn)單信息查詢時(shí)會(huì)有一定的方便,但是存在著更多的不便:信息保存時(shí)間和條件很受限制、容易被損壞、信息查詢不便、信息傳達(dá)容易造成失誤等。另一種常見(jiàn)的信息管理方法是應(yīng)用單機(jī)版的管理系統(tǒng),本系統(tǒng)就是一款做的相對(duì)到位的單機(jī)版的庫(kù)存管理系統(tǒng),在庫(kù)存信息處理方面做得很精準(zhǔn)規(guī)范。因?yàn)閹?kù)存管理人員已經(jīng)有豐富的信息管理經(jīng)驗(yàn),加之有相當(dāng)?shù)挠?jì)算機(jī)應(yīng)用經(jīng)驗(yàn),所以對(duì)于此系統(tǒng)一定很容易就可操作熟練。綜上所述,本庫(kù)存管理系統(tǒng)投資少、收益大,且其運(yùn)行操作簡(jiǎn)單易學(xué),具備了開(kāi)發(fā)的可行性。2.3系統(tǒng)需求分析功能需求及用戶需求1)功能需求該系統(tǒng)主要分為三大功能:管理員功能、信息安全功能、一般用戶功能。a.管理員功能:產(chǎn)品入庫(kù)登記、確認(rèn)入庫(kù)信息、刪除庫(kù)內(nèi)信息、借出信息登記、產(chǎn)分類(lèi)管理、添加人員、刪除人員、查詢庫(kù)內(nèi)信息。b.信息安全功能:人員權(quán)限區(qū)分、事件記錄。c.一般用戶功能:查詢庫(kù)內(nèi)信息、查詢出庫(kù)信息、查詢?nèi)霂?kù)信息;d.報(bào)表生成:庫(kù)存信息報(bào)表生成。2)用戶需求根據(jù)用戶需求,該系統(tǒng)應(yīng)該實(shí)現(xiàn)以下功能:a.進(jìn)、出庫(kù)管理。對(duì)進(jìn)、出庫(kù)信息進(jìn)行記錄。b.查詢功能。倉(cāng)庫(kù)管理對(duì)查詢要求高,通過(guò)主菜單記錄當(dāng)前操作用戶的用戶編號(hào),保證了對(duì)進(jìn)、出庫(kù)信息錄入負(fù)責(zé)人的確認(rèn)。c.部門(mén)資料管理與庫(kù)存報(bào)表生成。資料管理包括了人員信息管理,財(cái)政支出信息管理,以及各項(xiàng)業(yè)務(wù)單據(jù)的資料管理。報(bào)表主要分類(lèi)為:日?qǐng)?bào)表,月報(bào)表,銷(xiāo)售報(bào)表,入庫(kù)報(bào)表等等。d.由于計(jì)算機(jī)能存貯大量的數(shù)據(jù),而且數(shù)據(jù)只要一次存入,便可多次重復(fù)使用,所以管理數(shù)據(jù)達(dá)到完整,統(tǒng)一,原始記錄能保證及時(shí),準(zhǔn)確。e.許多重復(fù)性的工作,都可由計(jì)算機(jī)去執(zhí)行,從而使管理人員從事務(wù)性工作解脫出來(lái),真正變?yōu)閺氖乱恍┬畔⒌姆治?,判斷,決策等創(chuàng)造性的工作3)系統(tǒng)需求分析就是在用戶需求調(diào)研的基礎(chǔ)上,確定系統(tǒng)的總體結(jié)構(gòu)方案,完成相應(yīng)的需求分析報(bào)告。在確定系統(tǒng)的總體結(jié)構(gòu)方案過(guò)程中,包括確定應(yīng)用程序的結(jié)構(gòu)、系統(tǒng)開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具的選擇。a.應(yīng)用程序結(jié)構(gòu)確定從用戶應(yīng)用角度來(lái)看,可把應(yīng)用程序系統(tǒng)的組成部分分成數(shù)據(jù)存儲(chǔ)層、業(yè)務(wù)處理層和界面表示層等3個(gè)層次,而應(yīng)用程序結(jié)構(gòu)可歸納為:集中式應(yīng)用程序結(jié)構(gòu)、單機(jī)板應(yīng)用程序結(jié)構(gòu)、多層服務(wù)器應(yīng)用程序結(jié)構(gòu)、瀏覽器/服務(wù)器應(yīng)用程序結(jié)構(gòu)、客戶機(jī)/服務(wù)器應(yīng)用程序結(jié)構(gòu)等5種類(lèi)型。b.確定系統(tǒng)開(kāi)發(fā)環(huán)境由于大多數(shù)公司內(nèi)部使用的計(jì)算機(jī)平臺(tái)都是基于Windows環(huán)境的。為了降低系統(tǒng)成本,應(yīng)最大程度地利用現(xiàn)有的資源、兼容現(xiàn)有的環(huán)境,可確定使用下面的開(kāi)發(fā)環(huán)境:★數(shù)據(jù)庫(kù):MicrosoftSQLServer2005;★前端開(kāi)發(fā)工具:VisualC#.NET;★數(shù)據(jù)訪問(wèn)對(duì)象:ADO。c.開(kāi)發(fā)工具的選擇可視化(visual)程序設(shè)計(jì)是一種全新的程序設(shè)計(jì)方法,全面采用面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù),使用事件驅(qū)動(dòng)機(jī)制進(jìn)行程序設(shè)計(jì)。利用可視化開(kāi)發(fā)工具可以快速、高效地開(kāi)發(fā)應(yīng)用程序??梢暬拈_(kāi)發(fā)工具很多,如Microsoft公司推出的VisualStudio軟件系列,Borland公司的Delphi、C++Builder系列等。VisualStudio是微軟公司推出的集成開(kāi)發(fā)環(huán)境,是目前最流行的Windows平臺(tái)應(yīng)用程序開(kāi)發(fā)環(huán)境。它是把代碼的編寫(xiě)、程序的調(diào)試、編譯、運(yùn)行以及其他的相關(guān)操作都集成在一起的“編程工具”。作用是程序員通過(guò)它這個(gè)平臺(tái),利用編程語(yǔ)言來(lái)寫(xiě)程序,調(diào)試,運(yùn)行。SQLServer2000是Microsoft公司推出的SQLServer數(shù)據(jù)庫(kù)管理系統(tǒng)。該版本繼承了SQLServer7.0版本的優(yōu)點(diǎn)同時(shí)又比它增加了許多更先進(jìn)的功能,具有使用方便,可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn),可跨越從運(yùn)行MicrosoftWindows98的膝上型電腦到運(yùn)行MicrosoftWindows2000的大型多處理器的服務(wù)器等多種平臺(tái)使用。經(jīng)分析,本庫(kù)存管理系統(tǒng)選用VisualC#.NET來(lái)設(shè)計(jì)界面,選用SQLServer2005來(lái)建立后臺(tái)數(shù)據(jù)庫(kù)。功能結(jié)構(gòu)圖倉(cāng)庫(kù)信息管理系統(tǒng)倉(cāng)庫(kù)信息管理系統(tǒng)設(shè)備需求管理庫(kù)存信息管理設(shè)備還庫(kù)管理設(shè)備出庫(kù)管理設(shè)備入庫(kù)管理設(shè)備需求管理庫(kù)存信息管理設(shè)備還庫(kù)管理設(shè)備出庫(kù)管理設(shè)備入庫(kù)管理設(shè)備管理系統(tǒng)管理采購(gòu)計(jì)劃采購(gòu)計(jì)劃查詢添加用戶修改密碼設(shè)備信息退出系統(tǒng)設(shè)備信息查詢?cè)O(shè)備入庫(kù)入庫(kù)信息查詢?cè)O(shè)備出庫(kù)出庫(kù)信息查詢?cè)O(shè)備還庫(kù)還庫(kù)信息查詢庫(kù)存量查詢采購(gòu)計(jì)劃采購(gòu)計(jì)劃查詢添加用戶修改密碼設(shè)備信息退出系統(tǒng)設(shè)備信息查詢?cè)O(shè)備入庫(kù)入庫(kù)信息查詢?cè)O(shè)備出庫(kù)出庫(kù)信息查詢?cè)O(shè)備還庫(kù)還庫(kù)信息查詢庫(kù)存量查詢安全性要求和完整性要求1)安全性要求系統(tǒng)安全性要求至少達(dá)到TCSEC(TDI)的C1級(jí)。即只提供了非常初級(jí)的自主安全保護(hù)。能夠?qū)崿F(xiàn)對(duì)用戶和數(shù)據(jù)的分離,進(jìn)行自主存取控制(DAC),保護(hù)或限制用戶權(quán)限的傳播。實(shí)行用戶標(biāo)識(shí)與鑒別,具有數(shù)據(jù)備份和日志審計(jì)功能。本系統(tǒng)中共分為三類(lèi)不同的用戶,分別具有不同的權(quán)限2)完整性要求每個(gè)關(guān)系中都至少要有一個(gè)主鍵,并且都有一個(gè)聚集索引(ClusteredIndex)。關(guān)系與關(guān)系之間通過(guò)主外鍵關(guān)聯(lián)。定義屬性上的約束條件,定義觸發(fā)器。2.4系統(tǒng)的開(kāi)發(fā)及功能描述1)開(kāi)發(fā)方法的選擇信息系統(tǒng)的開(kāi)發(fā)是一項(xiàng)比較復(fù)雜的工作,因此我們必須選用科學(xué)有效的開(kāi)發(fā)方法。本系統(tǒng)的開(kāi)發(fā)采用了生命周期法。在系統(tǒng)設(shè)計(jì)時(shí)遵循系統(tǒng)調(diào)查研究、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施四個(gè)主要階段進(jìn)行設(shè)計(jì),而在具體的設(shè)計(jì)上,則通過(guò)在系統(tǒng)的使用及對(duì)系統(tǒng)了解的不斷加深中,對(duì)某一部分或幾部分進(jìn)行重新分析、設(shè)計(jì)、實(shí)施,使系統(tǒng)逐步完善。2)系統(tǒng)功能描述及系統(tǒng)安全性本庫(kù)存管理系統(tǒng)是一套對(duì)貨品入庫(kù)、出庫(kù)、庫(kù)存進(jìn)行全面管理的系統(tǒng)。在管理內(nèi)容上,它的主要功能包括:進(jìn)貨管理:進(jìn)行填寫(xiě)貨品信息,貨品采購(gòu)入庫(kù),入庫(kù)單據(jù)的填寫(xiě)和修改最低庫(kù)存量。出貨管理:進(jìn)行貨品出庫(kù),出貨單據(jù)的填寫(xiě)和獲取采購(gòu)員信息。信息查詢:貨品信息查詢,庫(kù)存信息查詢,入庫(kù)、出庫(kù)單據(jù)查詢,日?qǐng)?bào)表、月報(bào)表查詢。統(tǒng)計(jì)報(bào)表:完整的日?qǐng)?bào)表、月報(bào)表統(tǒng)計(jì)查詢功能,每張單據(jù)每次業(yè)務(wù)金額都可以清楚地反映。系統(tǒng)管理:身份驗(yàn)證,修改本人密碼,注冊(cè)用戶,修改刪除用戶。總體設(shè)計(jì)3.1成本效益分析由于本庫(kù)存管理系統(tǒng)所要求的硬件(計(jì)算機(jī)及相關(guān)硬件)和軟件環(huán)境(VisualC#.NET+SQLServer2005),市場(chǎng)上都容易購(gòu)買(mǎi)到或從相關(guān)網(wǎng)站下載,系統(tǒng)成本主要集中在本管理系統(tǒng)的開(kāi)發(fā)與維護(hù)上,對(duì)用戶不造成過(guò)重的經(jīng)濟(jì)負(fù)擔(dān)。而一旦此系統(tǒng)投入使用,不僅可以減少庫(kù)存的工作強(qiáng)度,提高工作效率,而且方便了庫(kù)存對(duì)信息的管理,延續(xù)了傳統(tǒng)的管理模式,極大限度地方便了庫(kù)存管理人員,而且,目標(biāo)系統(tǒng)不是很復(fù)雜,開(kāi)發(fā)的周期較短,人員經(jīng)濟(jì)支出不大,所節(jié)省的大量人力、財(cái)力產(chǎn)生的效益將遠(yuǎn)遠(yuǎn)大于本系統(tǒng)的開(kāi)發(fā)成本,所以從經(jīng)濟(jì)方面講開(kāi)發(fā)此系統(tǒng)是可行的。3.2進(jìn)度計(jì)劃高層設(shè)計(jì)階段詳細(xì)設(shè)計(jì)階段用戶界面設(shè)計(jì)用戶界面設(shè)計(jì)需求開(kāi)發(fā)數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)模塊設(shè)計(jì)實(shí)現(xiàn)與測(cè)試需求開(kāi)發(fā)數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)模塊設(shè)計(jì)實(shí)現(xiàn)與測(cè)試3.3系統(tǒng)流圖3.4數(shù)據(jù)描述3.4.1數(shù)據(jù)字典1)基本數(shù)據(jù)項(xiàng)及數(shù)據(jù)結(jié)構(gòu)設(shè)備信息。包括的數(shù)據(jù)項(xiàng)有設(shè)備號(hào)、設(shè)備名稱、規(guī)格、單價(jià)、描述。倉(cāng)庫(kù)信息。包括的數(shù)據(jù)項(xiàng)有倉(cāng)庫(kù)號(hào)、已用庫(kù)存、庫(kù)存總量、負(fù)責(zé)人、電話號(hào)碼。供應(yīng)商信息。包括的數(shù)據(jù)項(xiàng)有編號(hào)、供應(yīng)商、電話號(hào)碼、地址。部門(mén)信息。包括的數(shù)據(jù)項(xiàng)有部門(mén)號(hào)、名稱、電話。數(shù)據(jù)項(xiàng)名稱別名簡(jiǎn)述類(lèi)型長(zhǎng)度取值范圍設(shè)備號(hào)-設(shè)備的編號(hào)字符型7第1位:進(jìn)口/國(guó)產(chǎn)(I/D)第2-4位:類(lèi)別第5-7位:物資編號(hào)設(shè)備名稱-設(shè)備的名稱字符型20-規(guī)格-設(shè)備規(guī)格字符型10單價(jià)-設(shè)備的單位價(jià)格貨幣型6默認(rèn)計(jì)量單位:元描述-設(shè)備描述/說(shuō)明文本型--倉(cāng)庫(kù)號(hào)-倉(cāng)庫(kù)的編號(hào)字符型3-已用庫(kù)存-倉(cāng)庫(kù)已用存儲(chǔ)容量數(shù)值型6>0:倉(cāng)庫(kù)非空=0:空倉(cāng)庫(kù)<0:不允許庫(kù)存總量-倉(cāng)庫(kù)總存儲(chǔ)容量數(shù)值型6>0:物資存量=0:空倉(cāng)庫(kù)<0:不允許負(fù)責(zé)人-倉(cāng)庫(kù)負(fù)責(zé)人字符型20-供應(yīng)商編號(hào)-供應(yīng)商編號(hào)字符型3-供應(yīng)商-供應(yīng)商名稱字符型20-地址-供應(yīng)商聯(lián)系地址文本--部門(mén)號(hào)-公司部門(mén)編號(hào)字符型3-部門(mén)名-公司部門(mén)名稱字符型20-電話-電話號(hào)碼字符型15-2)數(shù)據(jù)流條目名稱別名簡(jiǎn)述來(lái)源去向入庫(kù)單-入庫(kù)單位在把相應(yīng)的零件送人倉(cāng)庫(kù)時(shí)必須填寫(xiě)的單據(jù)供應(yīng)商庫(kù)存出庫(kù)單-領(lǐng)料人員從倉(cāng)庫(kù)中領(lǐng)取零件時(shí)必須填寫(xiě)的單據(jù)庫(kù)存公司部門(mén)客戶還庫(kù)單-設(shè)備使用后歸還入庫(kù)必須填寫(xiě)的單據(jù)公司部門(mén)庫(kù)存需求單-對(duì)新設(shè)備需求所填寫(xiě)的單據(jù)公司部門(mén)庫(kù)存采購(gòu)單-購(gòu)買(mǎi)新設(shè)備所填寫(xiě)的單據(jù)采購(gòu)員供應(yīng)商3)數(shù)據(jù)存儲(chǔ)條目名稱別名簡(jiǎn)述組織方式查詢要求倉(cāng)庫(kù)庫(kù)存-存放索引文件,以倉(cāng)庫(kù)編號(hào)為關(guān)鍵字要求立即查詢?cè)O(shè)備庫(kù)存-存放索引文件,以零件編號(hào)為關(guān)鍵字要求立即查詢4)加工條目加工名激發(fā)條件優(yōu)先級(jí)輸入輸出設(shè)備入庫(kù)接收到合格入庫(kù)單時(shí)普通合格入庫(kù)單庫(kù)存滿,設(shè)備成功入庫(kù)加工邏輯根據(jù)庫(kù)存記錄。Loop:If(入庫(kù)物資的數(shù)量+物資現(xiàn)有存量)<=該物資庫(kù)存量臨界值Then物資存入倉(cāng)庫(kù);物資現(xiàn)有存量=物資現(xiàn)有存量+入庫(kù)物資的數(shù)量;Else物資庫(kù)存已足,If物資現(xiàn)有存量=該物資庫(kù)存量臨界值Then結(jié)束,入庫(kù)失敗Endif;調(diào)整入庫(kù)單;gotoloop,直到(入庫(kù)物資的數(shù)量+物資現(xiàn)有存量)<=該物資庫(kù)存量臨界值;Endif;零件入庫(kù);統(tǒng)計(jì)倉(cāng)庫(kù)庫(kù)存已用量;加工名激發(fā)條件優(yōu)先級(jí)輸入輸出設(shè)備出庫(kù)接收到合格出庫(kù)單時(shí)普通合格出庫(kù)單庫(kù)存量不足,零件成功出庫(kù)加工邏輯根據(jù)庫(kù)存記錄。Loop:零件是否存在?是:If需求單物資的數(shù)量<該物資庫(kù)存量的臨界值Then設(shè)備出庫(kù)物資現(xiàn)有存量=物資現(xiàn)有存量-出庫(kù)零件的數(shù)量;Else物資短缺,If物資現(xiàn)有存量<=物資最少存量Then結(jié)束,出庫(kù)失敗Endif;調(diào)整入庫(kù)單;gotoloop,直到(物資現(xiàn)有存量-出庫(kù)零件的數(shù)量)>=該物資庫(kù)存量臨界值;Endif;否:零件不存在,gotoloop;零件入庫(kù);統(tǒng)計(jì)倉(cāng)庫(kù)庫(kù)存已用量;3.4.2數(shù)據(jù)流圖本系統(tǒng)的頂層數(shù)據(jù)流圖細(xì)化后的數(shù)據(jù)流圖貨物入庫(kù)信息管理細(xì)化貨物出庫(kù)信息管理細(xì)化4.系統(tǒng)詳細(xì)設(shè)計(jì)4.1概念結(jié)構(gòu)設(shè)計(jì)1)庫(kù)存實(shí)體E-R圖:2)入庫(kù)實(shí)體E-R圖:3)出庫(kù)實(shí)體E-R圖:4)部門(mén)需求實(shí)體E-R圖:5)還庫(kù)實(shí)體E-R圖:6)計(jì)劃采購(gòu)實(shí)體E-R圖:7)實(shí)體和實(shí)體之間的關(guān)系圖如圖所示:倉(cāng)庫(kù)管理E-R圖如圖所示4.2系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)4.2.1關(guān)系模型設(shè)計(jì)倉(cāng)庫(kù)表storehouseNO.字段名代碼類(lèi)型約束1倉(cāng)庫(kù)號(hào)stoIDChar(3)主鍵2已用庫(kù)存Used_volumeSmallint非空,默認(rèn)0,unsigned,<=All_volume3庫(kù)存總量All_volumeSmallint非空,默認(rèn)10000,unsigned4負(fù)責(zé)人principalVarchar(20)非空5電話號(hào)碼stoTELVarchar(15)零件表partsNO.字段名代碼類(lèi)型約束1設(shè)備號(hào)parIDChar(7)主鍵2名稱partVarchar(20)非空3規(guī)格specChar(10)4單價(jià)priceDecimal(6,2)非空,默認(rèn)0,unsigned5計(jì)量單位mensurationChar(4)非空,默認(rèn)“元”6描述descriptionText供應(yīng)商supplierNO.字段名代碼類(lèi)型約束1編號(hào)supIDChar(3)主鍵2供應(yīng)商supNameVarchar(20)非空3電話號(hào)碼supTELVarchar(15)非空4地址addressText部門(mén)表deptNO.字段名代碼類(lèi)型約束1部門(mén)號(hào)depIDChar(3)主鍵2名稱depNameVarchar(20)非空3電話depTELVarchar(15)庫(kù)存表storageNO.字段名代碼類(lèi)型約束1倉(cāng)庫(kù)號(hào)stoIDChar(3)主鍵,與storehouse表中的stoID外鍵關(guān)聯(lián),級(jí)聯(lián)刪除、更新2設(shè)備號(hào)parIDChar(7)主鍵,與parts表中的parID外鍵關(guān)聯(lián),級(jí)聯(lián)刪除、更新3現(xiàn)有存量Now_volumeSmallint非空,默認(rèn)0,>=Min_volume,<=Max_volume4最小存量Min_volumeSmallint非空,默認(rèn)0,unsigned5最大存量Max_volumeSmallint非空,默認(rèn)0,unsigned供應(yīng)表supplyNO.字段名代碼類(lèi)型約束1供應(yīng)商號(hào)supIDChar(3)主鍵,與supplier表中的supID外鍵關(guān)聯(lián),級(jí)聯(lián)刪除、更新2設(shè)備號(hào)parIDChar(7)主鍵,與parts表中的parID外鍵關(guān)聯(lián),級(jí)聯(lián)刪除、更新3供應(yīng)量supVolumeSmallint非空,默認(rèn)0,unsigned4供應(yīng)時(shí)間supDateTimestamp非空部門(mén)需求表demandNO.字段名代碼類(lèi)型約束1設(shè)備號(hào)parIDChar(7)主鍵,與parts表中的parID外鍵關(guān)聯(lián),級(jí)聯(lián)刪除、更新2部門(mén)號(hào)depIDChar(3)主鍵,與dept表中的depID外鍵關(guān)聯(lián),級(jí)聯(lián)更新、刪除3需求數(shù)量demVolumeSmallint非空,默認(rèn)0,unsigned4開(kāi)始時(shí)間startTimeTimestamp非空5結(jié)束時(shí)間endTimeTimestamp非空設(shè)備歸還表restoreNO.字段名代碼類(lèi)型約束0編號(hào)resIDSmallint主鍵,AUTO_INCREMENT1倉(cāng)庫(kù)號(hào)stoIDChar(3)主鍵,與storehouse表中的stoID外鍵關(guān)聯(lián),級(jí)聯(lián)刪除、更新2零件號(hào)parIDChar(7)主鍵,與parts表中的parID外鍵關(guān)聯(lián),級(jí)聯(lián)更新、刪除3部門(mén)號(hào)depIDChar(3)主鍵,與dept表中的depID外鍵關(guān)聯(lián),級(jí)聯(lián)更新、刪除4歸還數(shù)量resVolumeSmallint非空,默認(rèn)0,unsigned5經(jīng)手人cmakerVarchar(20)非空6歸還者returnerVarchar(20)非空7歸還時(shí)間resDateTimestamp非空零部件采購(gòu)計(jì)劃表stockNO.字段名代碼類(lèi)型約束1設(shè)備號(hào)parIDChar(7)主鍵,與parts表中的parID外鍵關(guān)聯(lián),級(jí)聯(lián)更新、刪除2采購(gòu)量stoVolumeSmallint非空,默認(rèn)0,unsigned3供應(yīng)商號(hào)supIDChar(3)與supplier表中的supID外鍵關(guān)聯(lián)4采購(gòu)時(shí)間stoDateTimestamp主鍵5采購(gòu)員buyerVarchar(20)入庫(kù)表warehousingNO.字段名代碼類(lèi)型約束0編號(hào)inIDSmallint主鍵,AUTO_INCREMENT1倉(cāng)庫(kù)號(hào)stoIDChar(3)主鍵,與storehouse表中的stoID外鍵關(guān)聯(lián),級(jí)聯(lián)刪除、更新2供應(yīng)商號(hào)supIDChar(3)非空,與supplier表中的supID外鍵關(guān)聯(lián)3設(shè)備號(hào)parIDChar(7)主鍵,與parts表中的parID外鍵關(guān)聯(lián),級(jí)聯(lián)更新、刪除4入庫(kù)數(shù)量inVolumeSmallint非空,默認(rèn)0,unsigned5經(jīng)手人cmakerVarchar(20)非空6入庫(kù)時(shí)間inDateTimestamp非空,默認(rèn)當(dāng)前時(shí)間出庫(kù)表stockoutNO.字段名代碼類(lèi)型約束0編號(hào)outIDsmallint主鍵,,AUTO_INCREMENT1倉(cāng)庫(kù)號(hào)stoIDChar(3)主鍵,與storehouse表中的stoID外鍵關(guān)聯(lián),級(jí)聯(lián)刪除、更新2設(shè)備號(hào)parIDChar(7)主鍵,與parts表中的parID外鍵關(guān)聯(lián),級(jí)聯(lián)更新、刪除3出庫(kù)數(shù)量outVolumeSmallint非空,默認(rèn)0,unsigned4使用者userVarchar(20)非空5經(jīng)手人cmakerVarchar(20)非空6領(lǐng)取人receiptorVarchar(20)非空7出庫(kù)時(shí)間outDateTimestamp非空,默認(rèn)當(dāng)前時(shí)間4.2.2用戶子模式設(shè)計(jì)倉(cāng)庫(kù)信息視圖storehouse_viewNO.字段名代碼類(lèi)型備注1倉(cāng)庫(kù)號(hào)stoIDChar(3)連storehouse表2已用庫(kù)存Used_volumeInt連storehouse表3庫(kù)存總量All_volumeInt連storehouse表4負(fù)責(zé)人principalVarchar(20)連storehouse表6電話號(hào)碼stoTELVarchar(15)連storehouse表設(shè)備件庫(kù)存視圖parts_storage_viewNO.字段名代碼類(lèi)型備注1倉(cāng)庫(kù)號(hào)stoIDChar(3)連storage表2設(shè)備號(hào)parIDChar(7)連parts表3名稱partVarchar(20)連parts表4規(guī)格specChar(10)連parts表5單價(jià)priceDecimal(6,2)連parts表6計(jì)量單位mensurationChar(4)連parts表7現(xiàn)有存量Now_volumeSmallint連storage表8最小存量Min_volumeSmallint連storage表9最大存量Max_volumeSmallint連storage表設(shè)備入庫(kù)視圖warehousing_viewNO.字段名代碼類(lèi)型備注0倉(cāng)庫(kù)號(hào)stoIDChar(3)連warehousing表1設(shè)備號(hào)parIDChar(7)連parts表,更新warehousing表的parID項(xiàng)2供應(yīng)商號(hào)supIDChar(3)連supplier表3供應(yīng)商supNameVarchar(20)連supplier表4電話supTELVarchar(15)連supplier表5設(shè)備名partVarchar(20)連parts表NO.字段名代碼類(lèi)型備注6規(guī)格specChar(10)連parts表7單價(jià)priceDecimal(6,2)連parts表8計(jì)量單位mensurationChar(4)連parts表9入庫(kù)數(shù)量inVolumeSmallint連warehousing表,更新parts_storage_view視圖的Now_volume項(xiàng)10描述descriptionText連parts表11經(jīng)手人cmakerVarchar(20)連warehousing表12入庫(kù)時(shí)間inDateTimestamp連warehousing表設(shè)備出庫(kù)視圖stockout_viewNO.字段名代碼類(lèi)型備注0倉(cāng)庫(kù)號(hào)stoIDChar(3)連stockout表1設(shè)備號(hào)parIDChar(7)連parts表,更新stockout表的parID項(xiàng)2出庫(kù)數(shù)量outVolumeSmallint連stockout表,更新storage表的now_volume3使用單位userVarchar(20)連stockout表4經(jīng)手人cmakerVarchar(20)連stockout表5領(lǐng)取人receiptorVarchar(20)連stockout表6出庫(kù)時(shí)間outDateTimestamp連stockout表零部件計(jì)劃采購(gòu)視圖stock_viewNO.字段名代碼類(lèi)型備注1設(shè)備號(hào)parIDChar(7)連stock表2采購(gòu)量stoVolumeSmallint連stock表3供應(yīng)商號(hào)supIDChar(3)連supplier表,更新stock表的supName4電話supTELVarchar(15)連supplier表NO.字段名代碼類(lèi)型備注5價(jià)格priceDecimal(6,2)連parts表6計(jì)量單位mensurationChar(4)連parts表7規(guī)格specChar(10)連parts表8采購(gòu)時(shí)間stoDateTimestamp連stock表9采購(gòu)員buyerVarchar(20)連stock表部門(mén)需求視圖demand_viewNO.字段名代碼類(lèi)型備注1設(shè)備號(hào)parIDChar(7)連demand表2部門(mén)號(hào)depIDChar(3)連demand表3需求數(shù)量demVolumeSmallint連demand表4開(kāi)始時(shí)間startTimeTimestamp連demand表5結(jié)束時(shí)間endTimeTimestamp連demand表供應(yīng)商零件供應(yīng)視圖supply_viewNO.字段名代碼類(lèi)型備注1供應(yīng)商號(hào)supIDChar(3)連supplier表2設(shè)備號(hào)parIDChar(7)連supply表3單價(jià)priceDecimal(6,2)連parts表4計(jì)量單位mensurationChar(4)連parts表5規(guī)格specChar(10)連parts表6供應(yīng)量supVolumeSmallint連supply表7供應(yīng)時(shí)間supDateTimestamp連supply表8電話supTELVarchar(15)連supplier表設(shè)備歸還入庫(kù)視圖restore_viewNO.字段名代碼類(lèi)型備注0倉(cāng)庫(kù)號(hào)stoIDChar(3)連restore表1設(shè)備號(hào)parIDChar(7)連restore表2部門(mén)號(hào)depIDChar(3)連restore表3歸還數(shù)量resVolumeSmallint連restore表4經(jīng)手人cmakerVarchar(20)連restore表5歸還者returnerVarchar(20)連restore表6歸還時(shí)間resDateTimestamp連restore表4.2.3數(shù)據(jù)庫(kù)物理設(shè)計(jì)1)建立索引,各表索引設(shè)計(jì)如下:表名索引字段索引類(lèi)型零件零件號(hào)聚集索引零件名非聚集索引供應(yīng)商供應(yīng)商號(hào)聚集索引供應(yīng)商名非聚集索引部門(mén)部門(mén)號(hào)聚集索引部門(mén)名非聚集索引庫(kù)存零件號(hào)非聚集索引供應(yīng)供應(yīng)商號(hào)非聚集索引零件號(hào)非聚集索引供應(yīng)時(shí)間聚集索引部門(mén)需求零件號(hào)非聚集索引部門(mén)號(hào)非聚集索引開(kāi)始時(shí)間非聚集索引結(jié)束時(shí)間非聚集索引零件歸還歸還時(shí)間聚集索引零件號(hào)非聚集索引部門(mén)號(hào)非聚集索引零件采購(gòu)零件號(hào)非聚集索引采購(gòu)時(shí)間聚集索引零件入庫(kù)入庫(kù)時(shí)間聚集索引零件號(hào)非聚集索引零件出庫(kù)出庫(kù)時(shí)間聚集索引零件號(hào)非聚集索引2)確定數(shù)據(jù)的存放位置 該數(shù)據(jù)庫(kù)的數(shù)據(jù)文件都存放在MySQL的安裝目錄的WINDOWS-RQV4LBM\數(shù)據(jù)庫(kù)\storage文件夾下.確定系統(tǒng)配置a.運(yùn)行環(huán)境操作系統(tǒng):Windows2003或WindowsXP,以上開(kāi)發(fā)平臺(tái):VisualC#.NET+SQLServer2005b.數(shù)據(jù)庫(kù)配置#適合于內(nèi)存256M--512M的用戶。用于服務(wù)器搭建[client]port=3306[mysql]default-character-set=gbk[mysqld]port=3306basedir="D:/PC_webserver/mysql/"datadir="D:/PC_webserver/mysql/Data/"default-character-set=gbkdefault-storage-engine=INNODBsql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"max_connections=447query_cache_size=12Mtable_cache=128tmp_table_size=8Mthread_cache_size=4myisam_max_sort_file_size=100Gmyisam_max_extra_sort_file_size=100Gmyisam_sort_buffer_size=16Mkey_buffer_size=32Mread_buffer_size=64Kread_rnd_buffer_size=256Ksort_buffer_size=2Minnodb_data_home_dir="D:/PC_webserver/mysql/datafiles/"innodb_additional_mem_pool_size=2Minnodb_flush_log_at_trx_commit=1innodb_log_buffer_size=1Minnodb_buffer_pool_size=29Minnodb_log_file_size=10Minnodb_thread_concurrency=8log=D:\PC_webserver\mysql\log\sql.loglog-output=FILE3)模塊設(shè)計(jì)倉(cāng)庫(kù)管理HIPO圖4.3各功能模塊及界面設(shè)計(jì)4.3.1本系統(tǒng)的主要功能如下表所示:不同的用戶類(lèi)型具有不同的功能。Inf用戶類(lèi)型:注銷(xiāo)、登錄、退出、信息查詢;Dba用戶類(lèi)型:系統(tǒng)管理、倉(cāng)庫(kù)管理;Sys用戶類(lèi)型:系統(tǒng)管理、倉(cāng)庫(kù)管理、備份恢復(fù)。正確登錄系統(tǒng),選擇程序菜單上的菜單項(xiàng)進(jìn)入相應(yīng)的功能窗體進(jìn)行操作。4.3.2系統(tǒng)管理界面4.3.3設(shè)備管理界面4.3.4設(shè)備入庫(kù)管理界面4.3.5設(shè)備出庫(kù)管理界面4.3.6設(shè)備還庫(kù)管理界面4.3.7庫(kù)存信息界面4.3.8設(shè)備需求界面4.3.9關(guān)鍵代碼1)添加用戶并分配權(quán)限 publicAddUser() //Windows窗體設(shè)計(jì)器支持所必需的 InitializeComponent(); //TODO:在InitializeComponent調(diào)用后添加任何構(gòu)造函數(shù)代碼 ///<summary> ///清理所有正在使用的資源。 ///</summary> protectedoverridevoidDispose(booldisposing) if(disposing) if(components!=null) components.Dispose(); base.Dispose(disposing);privatevoidenter_button_Click(objectsender,System.EventArgse) if(textID.Text.Trim()==string.Empty)//判斷用戶ID是否輸入 MessageBox.Show("請(qǐng)輸入用戶ID或密碼"); return; NewID=this.textID.Text.Trim(); if(textPwd.Text.Trim()==string.Empty)//判斷用戶密碼是否輸入 MessageBox.Show("請(qǐng)輸入用戶ID或密碼"); return; NewPwd=this.textPwd.Text.Trim(); if(boGrp.SelectedItem.Equals("1-經(jīng)理人員"))//選擇權(quán)限 NewGrp="1"; else if(boGrp.SelectedItem.Equals("2-倉(cāng)庫(kù)管理員")) NewGrp="2"; else NewGrp="3"; SqlConnectionmyConn=null; SqlTransactionUserInsertTra=null; DataSetUserInfoSet=newDataSet(); try myConn=newSqlConnection("server=.;Trusted_Connection=yes;user=sa;pwd=1;database=storage");//建立連接 AddAdapter.SelectCommand.Connection=myConn; AddAdapter.SelectCommand.CommandText="SELECT*FROMLonInFrmWHEREUserID='"+NewID+"'"; myConn.Open(); AddAdapter.Fill(UserInfoSet,"UserInfo");//填充數(shù)據(jù)集 if(UserInfoSet.Tables["UserInfo"].Rows.Count!=0)//判斷輸入的ID號(hào)是否唯一 MessageBox.Show("員工ID必須唯一!"); return; UserInsertTra=myConn.BeginTransaction(); UserInfoSet.Clear(); DataRowNewUserInfoRow=UserInfoSet.Tables["UserInfo"].NewRow();//建立新記錄 NewUserInfoRow["UserID"]=NewID; NewUserInfoRow["Password"]=NewPwd; NewUserInfoRow["GroupID"]=NewGrp; UserInfoSet.Tables[0].Rows.Add(NewUserInfoRow); AddAdapter.SelectCommand.Connection=myConn; AddAdapter.InsertCommand.Connection=myConn; AddAdapter.UpdateCommand.Connection=myConn; AddAdapter.InsertCommand.Transaction=UserInsertTra; this.AddAdapter.Update(UserInfoSet.Tables["UserInfo"]);//更新數(shù)據(jù)集 UserInsertTra.Commit(); MessageBox.Show("OK"); catch(Exceptionex) if(UserInsertTra!=null) UserInsertTra.Rollback(); MessageBox.Show(ex.Message); privatevoidesc_button_Click(objectsender,System.EventArgse)//退出操作 this.Close();2)修改密碼privateSystem.ComponentModel.Containercomponents=null; publicPwdUpdate() //Windows窗體設(shè)計(jì)器支持所必需的 InitializeComponent(); //TODO:在InitializeComponent調(diào)用后添加任何構(gòu)造函數(shù)代碼 ///<summary> ///清理所有正在使用的資源。 ///</summary> protectedoverridevoidDispose(booldisposing) if(disposing) if(components!=null) components.Dispose(); base.Dispose(disposing);privatevoidsure_button_Click(objectsender,System.EventArgse) if(textID.Text.Trim()!=string.Empty)//判斷是否輸入了ID userID=textID.Text.Trim(); else MessageBox.Show("此字段不能為空!"); return; if(textPwdOld.Text.Trim()!=string.Empty)//判斷是否輸入了原有密碼 passWord=textPwdOld.Text.Trim(); else MessageBox.Show("此字段不能為空!"); return; if(textPwdNew1.Text.Trim()!=string.Empty)//判斷是否輸入了新密碼 NewPassWord1=textPwdNew1.Text.Trim(); else MessageBox.Show("此字段不能為空!"); return; if(textPwdNew2.Text.Trim()!=string.Empty)//判斷是否再次輸入了新密碼 NewPassWord2=textPwdNew2.Text.Trim(); else MessageBox.Show("此字段不能為空!"); return; SqlConnectionmyConn=null; SqlTransactionUserInsertTra=null; DataSetUserInfoSet=newDataSet(); if(NewPassWord1==NewPassWord2)//強(qiáng)制兩次輸入新密碼必須相同 try myConn=newSqlConnection("server=.;Trusted_Connection=yes;user=sa;pwd=1;database=storage");//連接字符串 myConn.Open(); PwdAdapter.SelectCommand.CommandText="SELECT*FROMLonInFrmWHEREUserID='"+userID+"'"; PwdAdapter.SelectCommand.Connection=myConn; PwdAdapter.Fill(UserInfoSet,"UserInfoTab"); if(UserInfoSet.Tables["UserInfoTab"]==null||UserInfoSet.Tables["UserInfoTab"].Rows.Count==0)//判斷用戶是否存在 MessageBox.Show("Userisnotexist"); this.textID.Focus(); this.textID.Select(0,this.textID.Text.Length); return; if(UserInfoSet.Tables["UserInfoTab"].Rows[0]["PassWord"].ToString().Trim()!=passWord)//用戶原有密碼輸入錯(cuò)誤 MessageBox.Show("PassWordError!"); this.textPwdOld.Focus(); this.textPwdOld.Select(0,this.textPwdOld.Text.Length); return; UserInfoSet.Tables["UserInfoTab"].Rows[0]["PassWord"]=NewPassWord1;//更新密碼 UserInsertTra=myConn.BeginTransaction(); PwdAdapter.UpdateCommand.Connection=myConn; PwdAdapter.UpdateCommand.Transaction=UserInsertTra; PwdAdapter.Update(UserInfoSet.Tables[0]); UserInsertTra.Commit(); MessageBox.Show("OK"); catch(Exceptionex) UserInsertTra.Rollback(); MessageBox.Show(ex.Message); finally if(myConn.State!=ConnectionState.Closed)//關(guān)閉數(shù)據(jù)庫(kù) myConn.Close(); privatevoidesc_button_Click(objectsender,System.EventArgse) this.Close();3)主程序publicclassMainFrm:System.Windows.Forms.Form privateSystem.Windows.Forms.MainMenumainMenu1; privateSystem.Windows.Forms.MenuItemmenuItem1; privateSystem.Windows.Forms.MenuItemmenuItem2; privateSystem.Windows.Forms.MenuItemmenuItem3; privateSystem.Windows.Forms.MenuItemmenuItem4; privateSystem.Windows.Forms.MenuItemmenuItem5; privateSystem.Windows.Forms.MenuItemmenuItem6; privateSystem.Windows.Forms.MenuItemmenuItem7; privateSystem.Windows.Forms.MenuItemmenuItem8; privateSystem.Windows.Forms.MenuItemmenuItem9; privateSystem.Windows.Forms.MenuItemmenuItem10; privateSystem.Windows.Forms.MenuItemmenuItem11; privateSystem.Windows.Forms.MenuItemmenuItem12; privateSystem.Windows.Forms.MenuItemmenuItem13; privateSystem.Windows.Forms.MenuItemmenuItem19; privateSystem.Windows.Forms.MenuItemmenuItem21; privateSystem.Windows.Forms.MenuItemmenuItem14; privateSystem.Windows.Forms.MenuItemmenuItem15; privateSystem.Windows.Forms.MenuItemmenuItem20; privateSystem.Windows.Forms.MenuItemmenuItem16; privateSystem.Windows.Forms.MenuItemmenuItem17; privateSystem.Windows.Forms.MenuItemmenuItem18; privateSystem.Windows.Forms.StatusBarstatusBar1; ///<summary> ///必需的設(shè)計(jì)器變量。 ///</summary> privateSystem.ComponentModel.Containercomponents=null; publicMainFrm() //Windows窗體設(shè)計(jì)器支持所必需的 InitializeComponent(); //TODO:在InitializeComponent調(diào)用后添加任何構(gòu)造函數(shù)代碼 ///<summary> ///清理所有正在使用的資源。 ///</summary> protectedoverridevoidDispose(booldisposing) if(disposing) if(components!=null) components.Dispose(); base.Dispose(disposing);staticvoidMain()//主程序 LongInFormLonInForm=newLongInForm(); LonInForm.ShowDialog(); if(LongInForm.lfstate==true) Application.Run(newMainFrm()); privatevoidmenuItem2_Click(objectsender,System.EventArgse)//添加用戶 if(this.checkExist("AddUser")==true) return; AddUsernewFrm=newAddUser(); newFrm.MdiParent=this; newFrm.Show(); privatevoidmenuItem3_Click(objectsender,System.EventArgse)//系統(tǒng)用戶修改密碼 if(this.checkExist("PwdUpdate")==true) return; PwdUpdatenewFrm=newPwdUpdate(); newFrm.MdiParent=this; newFrm.Show(); privatevoidmenuItem4_Click(objectsender,System.EventArgse)//退出系統(tǒng) if(MessageBox.Show("確實(shí)要退出系統(tǒng)嗎","詢問(wèn)",MessageBoxButtons.YesNo)==DialogResult.Yes) this.Close(); privatevoidmenuItem6_Click(objectsender,System.EventArgse)//入庫(kù)管理 if(this.checkExist("InStorage")==true) return; InStoragenewFrm=newInStorage(); newFrm.MdiParent=this; newFrm.Show(); privatevoidmenuItem7_Click(objectsender,System.EventArgse)//入庫(kù)信息查詢 if(this.checkExist("SelInStg")==true) return; SelInStgnewFrm=newSelInStg(); newFrm.MdiParent=this; newFrm.Show(); privatevoidmenuItem9_Click(objectsender,System.EventArgse)//出庫(kù)管理 if(this.checkExist("OutStorage")==true) return; OutStoragenewFrm=newOutStorage(); newFrm.MdiParent=this; newFrm.Show(); privatevoidmenuItem10_Click(objectsender,System.EventArgse)//出庫(kù)信息查詢 if(this.checkExist("SelOutStg")==true) return; SelOutStgnewFrm=newSelOutStg(); newFrm.MdiParent=this; newFrm.Show(); privatevoidmenuItem12_Click(objectsender,System.EventArgse)//還庫(kù)管理 if(this.checkExist("ReturnStg")==true) return; ReturnStgnewFrm=newReturnStg(); newFrm.MdiParent=this; newFrm.Show(); privatevoidmenuItem13_Click(objectsender,System.EventArgse)//還庫(kù)信息查詢 if(this.checkExist("SelReturn")==true) return; SelReturnnewFrm=newSelReturn(); newFrm.MdiParent=this; newFrm.Show(); privatevoidmenuItem15_Click(objectsender,System.EventArgse)//設(shè)備代碼管理 if(this.checkExist("FaclityNum")==true) return; FaclityNumnewFrm=newFaclityNum(); newFrm.MdiParent=this; newFrm.Show(); privatevoidmenuItem20_Click(objectsender,System.EventArgse)//設(shè)備代碼查詢 if(this.checkExist("SelFacNum")==true) return; SelFacNumnewFrm=newSelFacNum(); newFrm.MdiParent=this; newFrm.Show(); privatevoidmenuItem17_Click(objectsender,System.EventArgse)//生成采購(gòu)計(jì)劃 if(this.checkExist("buyFrm")==true) return; buyFrmnewFrm=newbuyFrm(); newFrm.MdiParent=this; newFrm.Show(); privatevoidmenuItem18_Click(objectsender,System.EventArgse)//采購(gòu)計(jì)劃查詢 if(this.checkExist("SelBuy")==true) return; SelBuynewFrm=newSelBuy(); newFrm.MdiParent=this; newFrm.Show(); privatevoidmenuItem21_Click(objectsender,System.EventArgse)//采購(gòu)計(jì)劃查詢 if(this.checkExist("SelDriveInfo")==true) return; SelDriveInfonewFrm=newSelDriveInfo(); newFrm.MdiParent=this; newFrm.Show(); privateboolcheckExist(stringchildFrmName)//驗(yàn)證子窗體是否存在 foreach(FormchildFrminthis.MdiChildren) if(childFrm.Name==childFrmName) if(childFrm.WindowState==FormWindowState.Minimized) childFrm.WindowState=FormWindowState.Normal;

溫馨提示

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

評(píng)論

0/150

提交評(píng)論