軟件工程課程設(shè)計(jì)-倉庫管理系統(tǒng)_第1頁
軟件工程課程設(shè)計(jì)-倉庫管理系統(tǒng)_第2頁
軟件工程課程設(shè)計(jì)-倉庫管理系統(tǒng)_第3頁
軟件工程課程設(shè)計(jì)-倉庫管理系統(tǒng)_第4頁
軟件工程課程設(shè)計(jì)-倉庫管理系統(tǒng)_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件工程課程設(shè)計(jì)實(shí) 驗(yàn) 報(bào) 告班 級(jí):_計(jì)科06101_學(xué) 號(hào):_200616010108_姓 名:_唐 俊 豪_指導(dǎo)老師:_李 果_湖南文理學(xué)院計(jì)算機(jī)學(xué)院二一年 一 月目 錄第一章 需求分析3一、問題背景及描述3二、功能分析3三、建立系統(tǒng)流程圖3四、建立數(shù)據(jù)流圖5五、建立數(shù)據(jù)字典7六、算法描述9七、建立e-r圖10八、建立狀態(tài)圖12第二章 概要設(shè)計(jì)14一、軟件體系結(jié)構(gòu)模型14二、用面向數(shù)據(jù)流的方法設(shè)計(jì)系統(tǒng)軟件結(jié)構(gòu)17三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)22第三章 詳細(xì)設(shè)計(jì)23一、數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)23二、模塊過程設(shè)計(jì)與界面設(shè)計(jì)24第四章 數(shù)據(jù)庫設(shè)計(jì)30一、數(shù)據(jù)字典的設(shè)計(jì)30二、數(shù)據(jù)表的設(shè)計(jì)31第五章 編碼

2、和單元測試32第六章 程序運(yùn)行36一、登陸界面36二、主控制界面37三、客戶管理子模塊界面38四、用戶管理子模塊界面39五、產(chǎn)品入庫子模塊界面40六、產(chǎn)品出庫子模塊界面41七、產(chǎn)品查詢子模塊界面44八、修改產(chǎn)品信息子模塊界面44九、幫助信息子模塊界面45第七章 心得體會(huì)46參考文獻(xiàn)47第一章 需求分析一、問題背景及描述隨著科學(xué)技術(shù)的發(fā)展,社會(huì)進(jìn)步,計(jì)算機(jī)迅速的發(fā)展,倉庫管理的方法也日新月異,以前全是由人管理的方法現(xiàn)存在很多的缺點(diǎn):管理效率低,勞動(dòng)強(qiáng)度大,信息處理速度低而且準(zhǔn)確率也不夠令人滿意。為了提高倉庫管理效率,減輕勞動(dòng)強(qiáng)度提高,信息處理速度和準(zhǔn)確性;為倉庫管理員提供更方便、科學(xué)的服務(wù)項(xiàng)目。

3、為倉庫管理員提供的一種更先進(jìn)、科學(xué)的服務(wù)系統(tǒng)。于是我們便選擇了由計(jì)算機(jī)來設(shè)計(jì)一個(gè)倉庫管理系統(tǒng)的方案。讓計(jì)算機(jī)對(duì)倉庫進(jìn)行自動(dòng)管理,倉庫管理員可以直接在計(jì)算機(jī)上實(shí)現(xiàn)倉庫的信息管理,并能在一定程度上實(shí)現(xiàn)自動(dòng)化。我們?cè)诂F(xiàn)行系統(tǒng)初步調(diào)查的基礎(chǔ)上提出了新系統(tǒng)目標(biāo),即新系統(tǒng)建立后所要求達(dá)到的運(yùn)行指標(biāo),這是系統(tǒng)開發(fā)和評(píng)價(jià)的依據(jù)。二、功能分析通過初步分析,“倉庫管理系統(tǒng)”應(yīng)該具備以下主要功能:倉庫各種信息的輸入,包括入庫,出庫,還原,需求信息的輸入等倉庫管理的各種信息查詢,修改和維護(hù) 操作日志的管理倉庫管理系統(tǒng)的使用幫助鑒于課程設(shè)計(jì)的緣故,本系統(tǒng)僅僅實(shí)現(xiàn)部分簡單功能。三、建立系統(tǒng)流程圖為了便于問題的論述與展開,

4、在此加入了系統(tǒng)流程圖的內(nèi)容。通過對(duì)倉庫管理過程的了解,可以知道倉庫管理系統(tǒng)管理倉庫信息的大致過程。首先,用戶登陸倉庫管理系統(tǒng),通過一系列對(duì)系統(tǒng)的操作后,由系統(tǒng)返回給用戶相應(yīng)的結(jié)果。圖1描繪了這個(gè)大致的流程。用戶倉庫管理系統(tǒng)用戶輸入數(shù)據(jù)反饋結(jié)果圖1 倉庫管理系統(tǒng)大致處理過程接下來對(duì)圖1的黑匣子(倉庫管理系統(tǒng))的內(nèi)容進(jìn)行分解。通過仔細(xì)分析與了解,確定用戶對(duì)系統(tǒng)的整個(gè)操作過程:用戶登陸倉庫管理系統(tǒng),驗(yàn)證用戶身份與權(quán)限,審核后操作倉庫管理系統(tǒng),用戶可以查詢倉庫里的產(chǎn)品信息,管理員權(quán)限可修改和刪除相關(guān)倉庫的信息,用戶還可以打印相關(guān)報(bào)表,還可以查看幫助文檔。系統(tǒng)會(huì)根據(jù)用戶的操作,給予相應(yīng)的顯示與處理結(jié)果。

5、圖2圖3圖4是分析后得出的系統(tǒng)流程圖。用戶輸入登陸信息審核信息添刪改查信息系統(tǒng)處理用戶的輸入信息顯示處理結(jié)果用戶圖2 倉庫管理系統(tǒng)流程圖1用戶輸入登陸信息審核信息用戶成功登陸系統(tǒng)圖3 倉庫管理系統(tǒng)流程圖2用戶輸入登陸信息審核信息用戶顯示幫助文檔顯示幫助文檔信息圖4 倉庫管理系統(tǒng)流程圖3四、建立數(shù)據(jù)流圖系統(tǒng)流程圖雖然很好地描繪了具體的系統(tǒng),但是在系統(tǒng)流程圖中把“做什么”和“怎樣做”這兩類不同范疇的知識(shí)混合在一起。我們的目標(biāo)不是一成不變地復(fù)制現(xiàn)有的人工系統(tǒng),而是開發(fā)一個(gè)既能夠完成現(xiàn)有的所有功能,又能使操作更加規(guī)范或者功能更加完備的新系統(tǒng),因此,應(yīng)該著重描繪系統(tǒng)的邏輯功能。數(shù)據(jù)流圖描述數(shù)據(jù)在軟件系統(tǒng)

6、內(nèi)從輸入流動(dòng)到輸出的過程中所經(jīng)受的變換,通常用數(shù)據(jù)流圖建立軟件的功能模型。數(shù)據(jù)流圖是系統(tǒng)邏輯功能的圖形表示,圖中沒有任何的具體物理部件,僅僅描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過程,不懂計(jì)算機(jī)技術(shù)的人也容易理解它,因此是分析員與用戶之間極好的通信工具。根據(jù)前面劃分的系統(tǒng)模塊可以得到如下數(shù)據(jù)流圖:倉庫管理系統(tǒng)整體數(shù)據(jù)流圖用戶用戶選擇操作1系統(tǒng)管理d1倉庫數(shù)據(jù)2輸入處理3維護(hù)模塊4幫助模塊用戶相應(yīng)結(jié)果圖5 倉庫管理系統(tǒng)數(shù)據(jù)流圖細(xì)化“系統(tǒng)管理”的數(shù)據(jù)流圖1.1客戶管理1.2用戶管理1.3退出系統(tǒng)d2客戶資料d3用戶資料用戶用 戶 數(shù) 據(jù)圖6 對(duì)“系統(tǒng)管理”的細(xì)化細(xì)化“輸入處理”的數(shù)據(jù)流圖2.1產(chǎn)品入庫

7、d1倉庫數(shù)據(jù)2.2產(chǎn)品出庫2.3產(chǎn)品查詢用戶用 戶 數(shù) 據(jù)圖7 對(duì)“輸入處理”的細(xì)化系統(tǒng)帳戶管理數(shù)據(jù)流圖用戶1驗(yàn)證用戶2修改更新授權(quán)用戶用戶數(shù)據(jù)d4用戶資料用 戶 數(shù) 據(jù)圖8系統(tǒng)帳戶管理數(shù)據(jù)流圖五、建立數(shù)據(jù)字典數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的元素的定義的集合。它的作用是在軟件分析和設(shè)計(jì)過程中提供關(guān)于數(shù)據(jù)的描述信息。數(shù)據(jù)字典和數(shù)據(jù)流圖共同構(gòu)成系統(tǒng)的邏輯模型。數(shù)據(jù)字典定義數(shù)據(jù)的方法就是對(duì)數(shù)據(jù)自頂向下地分解,當(dāng)分解到不需要進(jìn)一步定義,每個(gè)和工程有關(guān)的人員都清楚其含義的元素時(shí),這種分解過程就結(jié)束了。本倉庫管理系統(tǒng)根據(jù)劃分的模塊定義了如下數(shù)據(jù)字典:用戶信息表表名:user內(nèi)容:記

8、載用戶登陸的基本信息組成:列名數(shù)據(jù)類型長度精度小數(shù)備注useridint4100關(guān)鍵字(主鍵)usernamevarchar5000不為空userpwdvarchar5000不為空purviewvarchar5000不為空組織:按錄入順序。客戶信息表表名:customerinfo內(nèi)容:記載客戶相關(guān)的基本信息組成:列名數(shù)據(jù)類型長度精度小數(shù)備注cidint4100關(guān)鍵字(主鍵)cnamevarchar5000不為空addrvarchar5000不為空postcodeint4100不為空phonevarchar5000不為空組織:按錄入順序。產(chǎn)品類型表表名:producttype內(nèi)容:記載產(chǎn)品類型的

9、基本信息組成:列名數(shù)據(jù)類型長度精度小數(shù)備注typeidint4100關(guān)鍵字(主鍵)typenamevarchar5000不為空組織:按錄入順序。庫存信息表表名:store內(nèi)容:記載產(chǎn)品庫存的基本信息組成:列名數(shù)據(jù)類型長度精度小數(shù)備注pidint4100關(guān)鍵字(主鍵)pnamevarchar5000不為空ptypevarchar5000不為空ppricefloat8530不為空pnumint4100不為空makedatedatetime800不為空indatedatetime800outdatedatetime800組織:按錄入順序。六、算法描述分析員以黑匣子的方式記錄算法,所謂黑匣子就是不考慮

10、一個(gè)功能的具體實(shí)現(xiàn)方法,只把它看作給予輸入之后就能夠產(chǎn)生一定輸出的匣子。這正是在早期開發(fā)階段分析員對(duì)算法應(yīng)該持有的正確觀點(diǎn),目的是用原理性算法準(zhǔn)確地定義功能,算法的細(xì)節(jié)可以等到以后的詳細(xì)設(shè)計(jì)階段再確定。倉庫管理系統(tǒng)中主要涉及算法方面的主要是產(chǎn)品的庫存數(shù)量,隨著倉庫的使用,入庫數(shù)量和出庫數(shù)量隨時(shí)發(fā)生變化,整個(gè)倉庫中的庫存量也就隨之變化。這里采用ipo表記錄該算法的初步描述。系統(tǒng):倉庫管理系統(tǒng)作者:模塊:產(chǎn)品庫存量算法日期:編號(hào):被調(diào)用:ipo表調(diào)用:輸入:入庫數(shù)量,出庫數(shù)量,倉庫原始數(shù)量輸出:倉庫更新后的數(shù)量處理:倉庫更新后的數(shù)量=倉庫原始數(shù)量入庫數(shù)量出庫數(shù)量局部數(shù)據(jù)元素:注釋:圖9 描繪產(chǎn)品庫

11、存量初步算法的ipo表七、建立e-r圖為了把用戶的數(shù)據(jù)要求清楚、準(zhǔn)確地描述出來,系統(tǒng)分析員通常建立一個(gè)概念性的數(shù)據(jù)模型,概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,它描述從用戶角度看到的數(shù)據(jù)。通常使用實(shí)體-聯(lián)系圖來建立數(shù)據(jù)模型,可以把實(shí)體-聯(lián)系圖簡稱為e-r圖,相應(yīng)地可以把e-r圖描繪的數(shù)據(jù)模型稱為e-r模型。e-r圖中包含了實(shí)體(即數(shù)據(jù)對(duì)象)、關(guān)系和屬性等三種基本成分。通常,用矩形框代表實(shí)體,用連接相關(guān)實(shí)體的菱形框表示關(guān)系,用橢圓或圓角矩形表示實(shí)體或關(guān)系的屬性,并用直線把實(shí)體(或關(guān)系)與其屬性連接起來。用戶用戶號(hào)用戶名用戶口令用戶權(quán)限圖10 用戶e-r圖客戶客戶號(hào)客戶名聯(lián)系地址郵編電話號(hào)圖11

12、客戶e-r圖產(chǎn)品產(chǎn)品號(hào)產(chǎn)品名生產(chǎn)日期價(jià)格類型 圖12 產(chǎn)品e-r圖倉庫入庫客戶用戶產(chǎn)品類型屬于出庫倉庫1nmpnpmnqr 圖13 倉庫管理系統(tǒng)聯(lián)系圖八、建立狀態(tài)圖狀態(tài)圖(也叫狀態(tài)轉(zhuǎn)換圖)通過描繪系統(tǒng)狀態(tài)及引起系統(tǒng)轉(zhuǎn)換的事件來表示系統(tǒng)的行為。此外,狀態(tài)圖還指明了作為特定事件的結(jié)果系統(tǒng)將做哪些動(dòng)作。因此,可以用狀態(tài)圖建立軟件系統(tǒng)的行為模型。狀態(tài)是可以被觀察到的系統(tǒng)行為模式,一個(gè)狀態(tài)代表系統(tǒng)的一種行為模式,狀態(tài)規(guī)定了系統(tǒng)對(duì)事件的響應(yīng)方式。在狀態(tài)圖中第一的狀態(tài)主要有:初態(tài)、終態(tài)和中間狀態(tài),在一張狀態(tài)圖中只能有一個(gè)初態(tài),而終態(tài)則可以有0個(gè)至多個(gè)。在狀態(tài)圖中,初態(tài)用實(shí)心圓表示,終態(tài)用一對(duì)同心圓(內(nèi)圓為實(shí)

13、心圓)表示。中間狀態(tài)用圓角矩形表示,可以使用兩條水平橫線把它分成上、中、下3個(gè)部分,分別防止?fàn)顟B(tài)名、狀態(tài)變量和活動(dòng)表。事件是在某個(gè)特定時(shí)刻發(fā)生的事情,它是對(duì)引起系統(tǒng)動(dòng)作或(或)從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)的外界事件的抽象。狀態(tài)圖中兩個(gè)狀態(tài)之間帶箭頭的連線表示狀態(tài)轉(zhuǎn)換,箭頭指明了轉(zhuǎn)換的方向。狀態(tài)轉(zhuǎn)換通常是由事件觸發(fā)的,在這種情況下應(yīng)該在表示狀態(tài)轉(zhuǎn)換的箭頭上標(biāo)出觸發(fā)事件表達(dá)式。以下是倉庫管理系統(tǒng)的狀態(tài)圖:登陸界面驗(yàn)證帳戶輸入密碼不合法帳戶驗(yàn)證權(quán)限合法帳戶查詢、修改自身信息;修改其他用戶權(quán)限;添加新用戶;查詢、修改、注銷、添加客戶信息;查詢、修改、添加、刪除產(chǎn)品信息;查詢、修改、添加、刪除出、入庫信息

14、查詢、修改自身信息;查詢客戶信息;查詢出、入庫信息;查詢產(chǎn)品信息管理權(quán)限普通權(quán)限 圖14 倉庫管理系統(tǒng)狀態(tài)圖第二章 概要設(shè)計(jì)一、軟件體系結(jié)構(gòu)模型大型軟件系統(tǒng)總是被分解成一系列子系統(tǒng),由子系統(tǒng)提供一些相關(guān)的服務(wù)。軟件體系結(jié)構(gòu)設(shè)計(jì)過程就是識(shí)別出這些子系統(tǒng),并建立子系統(tǒng)控制和通信的框架,最后給出軟件體系結(jié)構(gòu)的一個(gè)描述。系統(tǒng)構(gòu)成模型系統(tǒng)構(gòu)成模型有容器模型、客戶-服務(wù)器模型和抽象機(jī)模型三種。容器模型構(gòu)成一個(gè)系統(tǒng)的子系統(tǒng)一定要澆灌換信息,以便能有效地在一起工作。子系統(tǒng)交換信息、協(xié)調(diào)工作有兩種基本方法:全部共享書防在一個(gè)中央數(shù)據(jù)庫中,所有子系統(tǒng)都能從中存取數(shù)據(jù);每個(gè)子系統(tǒng)用各自的數(shù)據(jù)庫與其他子系統(tǒng)進(jìn)行數(shù)據(jù)交

15、互,通過消息傳遞來實(shí)現(xiàn)。一般情況下,大多數(shù)使用大量數(shù)據(jù)的系統(tǒng)都是圍繞共享數(shù)據(jù)庫(或稱為容器)組織的,所以,基于一個(gè)共享數(shù)據(jù)庫的系統(tǒng)的系統(tǒng)模型稱為容器模型。這個(gè)模型適合于數(shù)據(jù)由一個(gè)子系統(tǒng)產(chǎn)生,而其他子系統(tǒng)共享使用的系統(tǒng)結(jié)構(gòu)。這種類型的系統(tǒng)有命令控制系統(tǒng)、管理信息系統(tǒng)、cad系統(tǒng)和case工具集成系統(tǒng)等。共享容器模型的優(yōu)點(diǎn)是能夠高效地共享大量的數(shù)據(jù),生產(chǎn)數(shù)據(jù)的子系統(tǒng)不需要關(guān)心數(shù)據(jù)如何被其他子系統(tǒng)使用,可以集中進(jìn)行備份、保密、訪問控制和錯(cuò)誤恢復(fù)等活動(dòng)。其缺點(diǎn)是子系統(tǒng)一定要與容器數(shù)據(jù)一致,系統(tǒng)變更或進(jìn)化比較困難,難以集成,以及很難將容器分布到多臺(tái)機(jī)器上。客戶-服務(wù)器模型客戶-服務(wù)器模型的主要組成部分是

16、:一組給其他子系統(tǒng)提供服務(wù)的單機(jī)服務(wù)器;一組向服務(wù)器請(qǐng)求服務(wù)的客戶機(jī);一個(gè)連接客戶和服務(wù)器的網(wǎng)絡(luò)(可選)。客戶機(jī)必須知道可用的服務(wù)器的名字和它們所提供的服務(wù),并通過遠(yuǎn)程調(diào)用獲取服務(wù)器提供的服務(wù)。反之,服務(wù)器沒有必要知道客戶機(jī)的身份,以及到底有多少客戶機(jī)在運(yùn)行。客戶-服務(wù)器模型能夠?qū)崿F(xiàn)基于容器模型的系統(tǒng),容器就充當(dāng)了系統(tǒng)的服務(wù)器。子系統(tǒng)需要訪問容器,因而扮演了客戶機(jī)的角色。當(dāng)然,當(dāng)運(yùn)行大量數(shù)據(jù)交換時(shí),這種系統(tǒng)就會(huì)產(chǎn)生性能問題。客戶-服務(wù)器模型的最大優(yōu)點(diǎn)是:這是一個(gè)分布式結(jié)構(gòu),通過網(wǎng)絡(luò)可以很容易地添加新的客戶機(jī)和服務(wù)器,而不會(huì)影響系統(tǒng)的其他部分。抽象機(jī)模型抽象機(jī)模型也稱為分層模型,是建立子系統(tǒng)的接

17、口模型,它把子系統(tǒng)組織成一系列的層次,每一層提供一組服務(wù),每一層定義為一個(gè)抽象機(jī)。每個(gè)抽象機(jī)都是由其下層的抽象機(jī)的代碼構(gòu)成的。每一層提供給上一層服務(wù),同時(shí)調(diào)用下一層的服務(wù)。每一層的實(shí)現(xiàn)只影響相鄰層,不會(huì)影響到系統(tǒng)的其他各層。分層的方法支持系統(tǒng)的增量式開發(fā),若一層開發(fā)完成,該層提供的服務(wù)就可以被用戶使用了。分層的缺點(diǎn)是:用這種方法構(gòu)建系統(tǒng)比較困難。幾乎所有抽象機(jī)都需要的基本服務(wù)(如文件管理)需要由內(nèi)層提供,因此,用戶的服務(wù)可能需要訪問較深層的抽象機(jī)。這一點(diǎn)有悖于一個(gè)外層只需要訪問臨近下層抽象機(jī)的分層原則。性能也可能是一個(gè)問題,因?yàn)樾枰鄬拥闹噶罱忉屵^程。如果層次太多,層次管理就將成為系統(tǒng)的一個(gè)重

18、要負(fù)擔(dān)。根據(jù)三種系統(tǒng)構(gòu)成模型的介紹,很明顯地可以知道本倉庫管理系統(tǒng)是基于容器模型設(shè)計(jì)的。倉庫管理系統(tǒng)只使用到一個(gè)總數(shù)據(jù)庫,而其中提供的所有服務(wù)都直接訪問該數(shù)據(jù)庫,因此本倉庫管理系統(tǒng)具備容器模型的各種特性。系統(tǒng)控制模式軟件體系結(jié)構(gòu)除了要明確系統(tǒng)構(gòu)成模型之外,還要給出子系統(tǒng)的控制模式,使子系統(tǒng)能夠根據(jù)控制模式工作。在體系結(jié)構(gòu)層次上的控制模式主要反映子系統(tǒng)之間的控制流。系統(tǒng)控制模式有兩種一般性的建模方法,即集中式控制和事件驅(qū)動(dòng)控制。集中式控制在集中式控制模型中,一個(gè)子系統(tǒng)被定義為系統(tǒng)控制器來負(fù)責(zé)管理其他系統(tǒng)的執(zhí)行。集中式控制模型又可分為調(diào)用-返回模型和管理者模型兩類。調(diào)用-返回模型。這是一個(gè)自上而下

19、的子過程模型。控制始于系統(tǒng)(程序)的頂層,在子系統(tǒng)(程序)調(diào)用過程中,控制逐步傳遞到更低的層次中。該模型適用于順序執(zhí)行的系統(tǒng)。管理者模型。這是一種適用于并發(fā)系統(tǒng)的模型。一個(gè)系統(tǒng)組件被指定為系統(tǒng)管理者,控制其他系統(tǒng)過程的啟動(dòng)、終止和協(xié)調(diào)。一個(gè)過程就是一個(gè)能和其他過程并發(fā)執(zhí)行的子系統(tǒng)或模塊。事件驅(qū)動(dòng)控制在集中式控制模型中,控制決斷通常決定于一些系統(tǒng)狀態(tài)變量值。相反,事件驅(qū)動(dòng)的控制模型是通過外部產(chǎn)生的事件驅(qū)動(dòng)系統(tǒng)的。有多種不同的基于事件驅(qū)動(dòng)的系統(tǒng),如電子表格、基于規(guī)則的產(chǎn)生式系統(tǒng)等。下面是兩種事件驅(qū)動(dòng)的控制模型。廣播模型。發(fā)生的事件廣播到所有子系統(tǒng),任何能處理該事件的子系統(tǒng)都會(huì)響應(yīng)。該模型適用于基于

20、網(wǎng)絡(luò)的分布式系統(tǒng)。中斷驅(qū)動(dòng)模型。由中斷處理器對(duì)來自外部的中斷進(jìn)行檢測,然后在其他組件中處理這些中斷。該模型適用于對(duì)定時(shí)有嚴(yán)格要求的實(shí)時(shí)系統(tǒng)。廣播模型中的子系統(tǒng)注冊(cè)其感興趣的特別事件,當(dāng)這些事件發(fā)生的時(shí)候,控制被轉(zhuǎn)換到處理這些事件的子系統(tǒng)。所有的事件都可以被發(fā)送到所有的子系統(tǒng),但這樣做增加了子系統(tǒng)的開銷。一般地,事件和消息處理器要維護(hù)子系統(tǒng)的注冊(cè)和這些子系統(tǒng)所感興趣的事件。廣播模型的優(yōu)點(diǎn)是進(jìn)化比較簡單,處理特別類型事件的新的子系統(tǒng)可以通過在事件處理器中注冊(cè)這些事件來達(dá)到集成;其缺點(diǎn)是子系統(tǒng)相互競爭地處理事件,這可能會(huì)引起沖突。中斷驅(qū)動(dòng)模型只用在硬件實(shí)時(shí)系統(tǒng)中,要求對(duì)一些事件能作出及時(shí)響應(yīng),這可以

21、與集中式控制模型結(jié)合起來使用。中央管理者處理系統(tǒng)的一般性運(yùn)轉(zhuǎn),而中斷控制用于對(duì)緊急事件作出反應(yīng)。而本倉庫管理系統(tǒng)顯然屬于前者,所有的子系統(tǒng)都是由一個(gè)總的系統(tǒng)控制的,觸發(fā)子系統(tǒng)的調(diào)用主要取決于系統(tǒng)狀態(tài)量的改變。并且可以看出,倉庫管理系統(tǒng)是屬于管理者模型的。二、用面向數(shù)據(jù)流的方法設(shè)計(jì)系統(tǒng)軟件結(jié)構(gòu)倉庫管理軟件結(jié)構(gòu)在需求分析中,已經(jīng)使用結(jié)構(gòu)化方法分析了“倉庫管理系統(tǒng)”。因此,可以從圖16所示的倉庫管理系統(tǒng)流圖出發(fā)來設(shè)計(jì)倉庫管理系統(tǒng)的結(jié)構(gòu)。用戶數(shù)據(jù)d1倉庫數(shù)據(jù)2.1產(chǎn)品入庫3.1維護(hù)模塊d1倉庫數(shù)據(jù)用戶1.1客戶管理1.2用戶管理1.3退出系統(tǒng)d2客戶資料d3用戶資料2.2產(chǎn)品出庫2.3產(chǎn)品查詢用 戶

22、數(shù) 據(jù)3.2幫助模塊圖15 倉庫管理系統(tǒng)數(shù)據(jù)流圖下一個(gè)設(shè)計(jì)步驟是完成“第一級(jí)分解”。所謂“第一級(jí)分解”就是確定系統(tǒng)的總體控制結(jié)構(gòu)。通常,變換分析得出的系統(tǒng)高層結(jié)構(gòu)是一個(gè)“三叉”控制結(jié)構(gòu)。針對(duì)“倉庫管理”得出的高層控制結(jié)構(gòu)如圖16所示。倉庫管理接收數(shù)據(jù)處理數(shù)據(jù)輸出數(shù)據(jù) 圖16 倉庫管理的“第一級(jí)分解”再下一個(gè)設(shè)計(jì)步驟是完成“第二級(jí)分解”。所謂“第二級(jí)分解”,就是把數(shù)據(jù)流圖中的每個(gè)處理映射成軟件結(jié)構(gòu)中的一個(gè)適當(dāng)?shù)哪K。變換分析的映射規(guī)則是從變換中心的邊界開始沿著輸入通路向外移動(dòng),把輸入通路中每個(gè)處理映射成軟件結(jié)構(gòu)中“輸入信息處理控制模塊”控制下的一個(gè)低層模塊;然后沿著輸出通路向外移動(dòng),把輸出通路中

23、每個(gè)處理映射成直接或間接接受“輸出信息處理控制模塊”控制的一個(gè)低層模塊;最后把變換中心內(nèi)的每個(gè)處理映射成接受“變換中心控制模塊”控制的一個(gè)低層模塊。對(duì)于“倉庫管理”來說,“第二級(jí)分解”的結(jié)果如圖17所示。倉庫管理接收數(shù)據(jù)處理數(shù)據(jù)輸出數(shù)據(jù)幫助信息驗(yàn)證用戶權(quán)限收集數(shù)據(jù)審核數(shù)據(jù)修改更新統(tǒng)計(jì)數(shù)據(jù)匯總數(shù)據(jù)分析數(shù)據(jù)圖17 倉庫管理的“第二級(jí)分解”最后洋設(shè)計(jì)步驟是對(duì)倉庫管理的初步結(jié)果優(yōu)化。結(jié)合倉庫管理的“第二級(jí)分解”圖可以將其優(yōu)化成如下的軟件結(jié)構(gòu)圖。倉庫管理接收數(shù)據(jù)處理數(shù)據(jù)打印報(bào)表驗(yàn)證用戶權(quán)限收集數(shù)據(jù)審核數(shù)據(jù)修改更新統(tǒng)計(jì)數(shù)據(jù)匯總數(shù)據(jù)分析數(shù)據(jù)圖18 優(yōu)化后的倉庫管理軟件結(jié)構(gòu)系統(tǒng)帳戶管理軟件結(jié)構(gòu)根據(jù)數(shù)據(jù)流圖,能

24、夠得到系統(tǒng)帳戶管理軟件結(jié)構(gòu)如下圖所示。系統(tǒng)帳戶管理修改更新授權(quán)驗(yàn)證用戶查詢用戶 圖19 系統(tǒng)帳戶管理軟件結(jié)構(gòu)綜合上面的分析,可進(jìn)一步得到包含系統(tǒng)帳戶管理、倉庫管理和系統(tǒng)數(shù)據(jù)管理三大子功能的軟件結(jié)構(gòu)如圖20所示。倉庫管理接收數(shù)據(jù)處理數(shù)據(jù)幫助信息驗(yàn)證用戶權(quán)限收集數(shù)據(jù)審核數(shù)據(jù)修改更新統(tǒng)計(jì)數(shù)據(jù)匯總數(shù)據(jù)分析數(shù)據(jù)系統(tǒng)帳戶管理修改更新授權(quán)查詢用戶圖20 倉庫管理系統(tǒng)細(xì)化的軟件結(jié)構(gòu)結(jié)合上述的分析描述,得到倉庫管理系統(tǒng)的完整軟件結(jié)構(gòu)圖,如圖21所示。驗(yàn)證用戶權(quán)限系統(tǒng)帳戶管理修改更新授權(quán)倉庫管理系統(tǒng)查詢用戶幫助模塊幫助信息收集數(shù)據(jù)審核數(shù)據(jù)修改更新匯總數(shù)據(jù)統(tǒng)計(jì)數(shù)據(jù)分析數(shù)據(jù)接收數(shù)據(jù)處理數(shù)據(jù)維護(hù)模塊倉庫管理圖21 倉庫

25、管理系統(tǒng)的完整軟件結(jié)構(gòu)三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是根據(jù)e-r模型和需求分析所產(chǎn)生的文檔,并綜合考慮所選擇的具體dbms的特點(diǎn),設(shè)計(jì)出整個(gè)數(shù)據(jù)庫的邏輯結(jié)構(gòu)。一般來說,選擇哪一種dbms存放數(shù)據(jù),是由系統(tǒng)分析員和用戶(一般是企業(yè)的高級(jí)管理人員)決定的。需要考慮的因素包括dbms產(chǎn)品的性能和價(jià)格,以及所設(shè)計(jì)的應(yīng)用系統(tǒng)的功能復(fù)雜程度。如果選擇的是關(guān)系型dbms產(chǎn)品,那么邏輯結(jié)構(gòu)的設(shè)計(jì)就是指設(shè)計(jì)數(shù)據(jù)庫中所包含的各個(gè)關(guān)系模式的結(jié)構(gòu),包括關(guān)系模式的名稱、每一關(guān)系模式中各屬性的名稱、數(shù)據(jù)類型和取值范圍等內(nèi)容。邏輯結(jié)構(gòu)的設(shè)計(jì)過程是:首先,根據(jù)需求階段的設(shè)計(jì)結(jié)果和具體的dbms產(chǎn)品的特點(diǎn),將全

26、局e-r模型轉(zhuǎn)換成一個(gè)初始的關(guān)系模型。然后,對(duì)其中的每個(gè)關(guān)系模式進(jìn)行分析,判斷是否存在不合理的關(guān)系模式,如有則利用關(guān)系模式的規(guī)范化方法消除之。第三章 詳細(xì)設(shè)計(jì)一、數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計(jì)是指為給頂?shù)囊粋€(gè)邏輯數(shù)據(jù)模型選擇最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)。關(guān)系數(shù)據(jù)庫的物理結(jié)構(gòu)主要是指數(shù)據(jù)的存取方法和存儲(chǔ)結(jié)構(gòu)。數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計(jì)分為兩個(gè)部分,首先是確定數(shù)據(jù)庫的物理結(jié)構(gòu),其次是對(duì)所設(shè)計(jì)的物理結(jié)構(gòu)進(jìn)行評(píng)估。確定數(shù)據(jù)庫的物理結(jié)構(gòu)為確定數(shù)據(jù)庫的物理結(jié)構(gòu),設(shè)計(jì)人員必須了解下面的幾個(gè)問題。詳細(xì)了解給定的dbms的功能和特點(diǎn),特別是該dbms所提供的物理環(huán)境和功能;熟悉應(yīng)用環(huán)境,了解所設(shè)計(jì)的應(yīng)用系統(tǒng)中各部

27、分的重要程度、處理頻率、對(duì)響應(yīng)時(shí)間的要求,并把它們作為物理結(jié)構(gòu)設(shè)計(jì)過程中平衡時(shí)間和空間效率時(shí)的依據(jù);了解外存設(shè)備的特性, 如分塊原則、塊因子大小的規(guī)定、設(shè)備的i/o特性等。在對(duì)上述問題進(jìn)行了全面的了解之后,就可以進(jìn)行物理結(jié)構(gòu)的設(shè)計(jì)了。一般地,物理結(jié)構(gòu)設(shè)計(jì)的內(nèi)容包括如下幾個(gè)方面。確定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。在此過程中需考慮存取時(shí)間、空間效率和維護(hù)代價(jià)間的平衡,如在引入冗余數(shù)據(jù)以加快存取速度時(shí)應(yīng)兼顧系統(tǒng)的空間效率。選擇合適的存取路徑,例如確定應(yīng)該為哪些關(guān)系模式建立索引,索引關(guān)鍵字是什么等。確定數(shù)據(jù)的存放位置,例如確定數(shù)據(jù)存放在一個(gè)磁盤上還是多個(gè)磁盤上,什么數(shù)據(jù)該存放在高速存儲(chǔ)器上,什么應(yīng)該存放在低速存儲(chǔ)器

28、上等。確定存取分布,許多dbms都提供了一些存儲(chǔ)分配參數(shù)供設(shè)計(jì)者使用,例如緩沖區(qū)的大小和個(gè)數(shù)、塊的長度、塊因子的大小等,設(shè)計(jì)者必須規(guī)定其中的一些參數(shù)的位置。評(píng)估物理結(jié)構(gòu)由于在物理設(shè)計(jì)過程中需要考慮的因素很多,包括時(shí)間和空間效率、維護(hù)代價(jià)和用戶的要求等,對(duì)這些因素進(jìn)行權(quán)衡后,可能會(huì)產(chǎn)生多種物理設(shè)計(jì)方案。這一階段需對(duì)各種可能的設(shè)計(jì)方案進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是系統(tǒng)的時(shí)間和空間效率,并從多個(gè)方案中選出較優(yōu)的物理結(jié)構(gòu)。二、模塊過程設(shè)計(jì)與界面設(shè)計(jì)驗(yàn)證用戶身份功能模塊功能描述驗(yàn)證用戶身份功能模塊用于對(duì)登陸系統(tǒng)的用戶進(jìn)行身份驗(yàn)證,確定用戶是否擁有使用該系統(tǒng)的資格以及該用戶的權(quán)限。因此,任何用戶登陸系統(tǒng)都調(diào)用此模

29、塊。主要算法if 用戶名 and 口令 正確以該用戶身份進(jìn)入系統(tǒng)總控制界面并獲得響應(yīng)系統(tǒng)權(quán)限else提示“用戶名或口令錯(cuò)誤”累計(jì)錯(cuò)誤三次,自動(dòng)關(guān)閉本系統(tǒng)end if系統(tǒng)總控制模塊功能描述系統(tǒng)總控制模塊是系統(tǒng)運(yùn)行時(shí)的主控制程序,通過系統(tǒng)的主菜單集中各子功能模塊,用戶在該模塊中通過選擇菜單進(jìn)入到相應(yīng)的子模塊。菜單設(shè)計(jì)系統(tǒng)菜單設(shè)計(jì)如下表所示。表1 系統(tǒng)菜單一級(jí)菜單系統(tǒng)輸入維護(hù)幫助二、三級(jí)菜單客戶管理產(chǎn)品查詢修改產(chǎn)品信息系統(tǒng)信息用戶管理產(chǎn)品入庫退出系統(tǒng)產(chǎn)品出庫主要算法每個(gè)菜單項(xiàng)調(diào)用相應(yīng)模塊,實(shí)現(xiàn)各自的功能。以退出系統(tǒng)為例:if 退出系統(tǒng)提示“確認(rèn)退出系統(tǒng)?”if 確認(rèn)退出退出倉庫管理系統(tǒng)else返回到

30、倉庫管理系統(tǒng)end ifend if其他功能菜單類似。用戶信息管理模塊功能描述用戶信息管理模塊是對(duì)整個(gè)系統(tǒng)的用戶進(jìn)行權(quán)限分配的模塊,通過調(diào)用該模塊,具有查詢用戶基本信息和修改密碼及權(quán)限的功能。系統(tǒng)第一次運(yùn)行時(shí)只有超級(jí)用戶具有用戶權(quán)限分配的權(quán)限。調(diào)用方式用戶在主控制界面中選擇調(diào)用該模塊。主要算法添加按鈕觸發(fā)的處理:用于添加新的用戶,產(chǎn)生添加用戶的界面。(僅限管理員權(quán)限)刪除按鈕觸發(fā)的處理:用于刪除選中的系統(tǒng)用戶。(僅限管理員權(quán)限)修改密碼按鈕觸發(fā)的處理:用于修改當(dāng)前用戶的密碼,產(chǎn)生新的密碼修改界面。修改密碼處理流程:輸入原始密碼重復(fù)輸入原始密碼if 兩次密碼相同匹配數(shù)據(jù)庫用戶密碼if 與數(shù)據(jù)庫密

31、碼相同繼續(xù)輸入新密碼,修改成功else顯示“您的密碼不正確!”else顯示“兩次輸入不相同!”上一頁按鈕觸發(fā)的處理:顯示上一頁的記錄。下一頁按鈕觸發(fā)的處理:顯示下一頁的記錄。首頁按鈕觸發(fā)的處理:顯示第一頁的記錄。末頁按鈕觸發(fā)的處理:顯示最后一頁的記錄。退出按鈕觸發(fā)的處理:關(guān)閉用戶信息管理窗口并返回主控制界面。客戶信息管理模塊功能描述客戶信息功能模塊是供系統(tǒng)使用人員對(duì)客戶信息進(jìn)行檢索與查詢并且進(jìn)行修改的模塊。通過調(diào)用該模塊,能夠按照不同的條件組合進(jìn)行客戶信息的查詢,并可以對(duì)查詢到的客戶信息進(jìn)行修改。調(diào)用方式用戶在主控制界面中選擇相應(yīng)選項(xiàng)打開客戶信息界面,在界面中選擇相應(yīng)功能。主要算法查詢條件下拉

32、列表:選擇查詢的方式,然后于查詢框中填寫關(guān)鍵字進(jìn)行搜索。添加按鈕觸發(fā)的處理:用于添加新的客戶,產(chǎn)生添加客戶的界面。(僅限管理員權(quán)限)刪除按鈕觸發(fā)的處理:用于刪除選中的客戶的信息。(僅限管理員權(quán)限)修改按鈕觸發(fā)的處理:用于修改選中的客戶的信息,產(chǎn)生客戶信息修改界面。(僅限管理員權(quán)限)上一頁按鈕觸發(fā)的處理:顯示上一頁的記錄。下一頁按鈕觸發(fā)的處理:顯示下一頁的記錄。首頁按鈕觸發(fā)的處理:顯示第一頁的記錄。末頁按鈕觸發(fā)的處理:顯示最后一頁的記錄。退出按鈕觸發(fā)的處理:關(guān)閉客戶信息管理窗口并返回主控制界面。產(chǎn)品入庫功能模塊功能描述產(chǎn)品入庫功能模塊是用于新的產(chǎn)品添加到倉庫的處理模塊。通過調(diào)用該模塊,用戶將產(chǎn)品

33、的入庫信息添加到倉庫信息中。調(diào)用方式用戶在主控制界面中選擇相應(yīng)選項(xiàng)打開產(chǎn)品入庫界面,在界面中填寫相應(yīng)入庫信息。主要算法產(chǎn)品類型下拉列表:選擇入庫產(chǎn)品的類型。產(chǎn)品名輸入框:用于輸入添加的產(chǎn)品的名稱。產(chǎn)品價(jià)格輸入框:用于輸入添加的產(chǎn)品的價(jià)格。入庫量輸入框:用于輸入添加的產(chǎn)品的數(shù)量。(按產(chǎn)品類型確定單位)生產(chǎn)日期輸入框:用于填寫入庫產(chǎn)品的生產(chǎn)日期。入庫按鈕觸發(fā)的處理:將用戶填寫的入庫產(chǎn)品的信息添加到庫存的產(chǎn)品信息中。重置按鈕觸發(fā)的處理:將用戶填寫的產(chǎn)品入庫信息清空重新填寫。退出按鈕觸發(fā)的處理:關(guān)閉產(chǎn)品入庫窗口并返回主控制界面。產(chǎn)品出庫功能模塊功能描述產(chǎn)品出庫功能模塊是用于產(chǎn)品從倉庫售出的處理模塊。通

34、過調(diào)用該模塊,用戶將產(chǎn)品的出庫信息添加到倉庫信息中。調(diào)用方式用戶在主控制界面中選擇相應(yīng)選項(xiàng)打開產(chǎn)品出庫界面,在界面中填寫相應(yīng)出庫信息。主要算法產(chǎn)品名下拉列表:選擇出庫產(chǎn)品的名稱。出庫量輸入框:用于輸入售出的產(chǎn)品的數(shù)量。(按產(chǎn)品類型確定單位)出庫按鈕觸發(fā)的處理:將用戶填寫的產(chǎn)品出庫信息添加到庫存的產(chǎn)品信息中。重置按鈕觸發(fā)的處理:將用戶填寫的產(chǎn)品入庫信息清空重新填寫。退出按鈕觸發(fā)的處理:關(guān)閉產(chǎn)品出庫窗口并返回主控制界面。產(chǎn)品信息管理模塊功能描述產(chǎn)品信息管理模塊是供系統(tǒng)使用人員對(duì)產(chǎn)品信息進(jìn)行檢索與查詢并且進(jìn)行修改的模塊。通過調(diào)用該模塊,能夠按照不同的條件組合進(jìn)行產(chǎn)品信息的查詢,并可以對(duì)查詢到的產(chǎn)品信

35、息進(jìn)行修改。調(diào)用方式用戶在主控制界面中選擇相應(yīng)選項(xiàng)打開產(chǎn)品信息界面,在界面中選擇相應(yīng)功能。主要算法查詢條件下拉列表:選擇查詢的方式,然后于查詢框中填寫關(guān)鍵字進(jìn)行搜索。查詢按鈕觸發(fā)的處理:用于根據(jù)查詢條件和用戶輸入的條件進(jìn)行查詢產(chǎn)品的相關(guān)信息并顯示。修改按鈕觸發(fā)的處理:用于修改選中的產(chǎn)品的信息,產(chǎn)生產(chǎn)品信息修改界面。(僅限管理員權(quán)限)上一頁按鈕觸發(fā)的處理:顯示上一頁的記錄。下一頁按鈕觸發(fā)的處理:顯示下一頁的記錄。首頁按鈕觸發(fā)的處理:顯示第一頁的記錄。末頁按鈕觸發(fā)的處理:顯示最后一頁的記錄。退出按鈕觸發(fā)的處理:關(guān)閉產(chǎn)品信息管理窗口并返回主控制界面。打印功能模塊功能描述打印功能主要用于打印產(chǎn)品的信息

36、,方便倉庫管理信息的整理和保存。調(diào)用方式用戶在主控制界面中選擇相應(yīng)選項(xiàng)打開打印報(bào)表界面,在界面中選擇打印功能。數(shù)據(jù)維護(hù)模塊功能描述本模塊主要用于維護(hù)倉庫系統(tǒng)的數(shù)據(jù),經(jīng)常備份倉庫的各種信息數(shù)據(jù),確保整個(gè)系統(tǒng)的可靠性,以便在出現(xiàn)意外情況時(shí)可以及時(shí)恢復(fù)倉庫的全部數(shù)據(jù)。調(diào)用方式用戶在主控制界面中選擇相應(yīng)選項(xiàng)打開數(shù)據(jù)恢復(fù)界面,在界面中選擇相應(yīng)功能。主要算法數(shù)據(jù)備份(手動(dòng))按鈕觸發(fā)的處理:立即開始備份當(dāng)前倉庫管理系統(tǒng)的各種數(shù)據(jù)。數(shù)據(jù)備份(自動(dòng))按鈕觸發(fā)的處理:用戶設(shè)定數(shù)據(jù)自動(dòng)備份的時(shí)間,系統(tǒng)根據(jù)用戶設(shè)定的時(shí)間自動(dòng)將倉庫管理系統(tǒng)中此刻的各種數(shù)據(jù)進(jìn)行備份。退出按鈕觸發(fā)的處理:關(guān)閉產(chǎn)品信息管理窗口并返回主控制界

37、面。第四章 數(shù)據(jù)庫設(shè)計(jì)一、數(shù)據(jù)字典的設(shè)計(jì)根據(jù)以上分析,為了簡便系統(tǒng)設(shè)計(jì)倉庫管理系統(tǒng)決定采用access數(shù)據(jù)庫來設(shè)計(jì)。建立倉庫數(shù)據(jù)庫storage,并建立用戶基本信息表(user)、客戶基本信息表(customerinfo)、產(chǎn)品類型表(producttype)、庫存信息表(store)等4張數(shù)據(jù)表。并根據(jù)需求分析時(shí)數(shù)據(jù)字典的設(shè)計(jì),分別設(shè)計(jì)這5張數(shù)據(jù)表如下。圖23 user字段表圖24 customerinfo字段表圖25 producttype字段表圖26 store字段表二、數(shù)據(jù)表的設(shè)計(jì)由上面設(shè)計(jì)的數(shù)據(jù)字典,結(jié)合實(shí)際情況給數(shù)據(jù)表錄入數(shù)據(jù)。圖27 user表圖28 customerinfo表圖

38、29 producttype表圖30 store表第五章 編碼和單元測試本章主要是給系統(tǒng)劃分的模塊進(jìn)行編程測試,本系統(tǒng)完全采用java語言編程,主要代碼片段如下:系統(tǒng)登陸模塊:try class.forname("sun.jdbc.odbc.jdbcodbcdriver"); catch (classnotfoundexception e) / todo 自動(dòng)生成 catch 塊e.printstacktrace();try connection conn=drivermanager.getconnection("jdbc:odbc:stodb");st

39、atement stmt=conn.createstatement(resultset.type_scroll_insensitive,resultset.concur_read_only);string sqlstr="select * from user"final resultset rs=stmt.executequery(sqlstr);logon.addactionlistener(new actionlistener()public void actionperformed(actionevent e)try while(rs.next()if(rs.gets

40、tring(2).equals(username.gettext() && (rs.getstring(3).equals(pwd.gettext()fit+;rs.beforefirst(); catch (sqlexception e1) / todo 自動(dòng)生成 catch 塊e1.printstacktrace();if(fit!=0)mf=new mainframe(username.gettext();setvisible(false);elsejoptionpane.showmessagedialog(null,"用戶名或密碼錯(cuò)誤!"););/r

41、s.close();/stmt.close(); catch (sqlexception e) / todo 自動(dòng)生成 catch 塊e.printstacktrace();cancle.addactionlistener(new actionlistener()public void actionperformed(actionevent e)dispose(););主窗體:cusmgr.addactionlistener(new actionlistener()public void actionperformed(actionevent e)customermgr=new cusmgr(

42、););usermgr.addactionlistener(new actionlistener()public void actionperformed(actionevent e)umgr=new usermgr(mname););exit.addactionlistener(new actionlistener()public void actionperformed(actionevent e)system.exit(0););input.addactionlistener(new actionlistener()public void actionperformed(actionev

43、ent e)proinput pp=new proinput(););output.addactionlistener(new actionlistener()public void actionperformed(actionevent e)prooutput pp=new prooutput(););search.addactionlistener(new actionlistener()public void actionperformed(actionevent e)proinfo pp=new proinfo(););change.addactionlistener(new actionlistener()pu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論