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

下載本文檔

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

文檔簡(jiǎn)介

軟件工程課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告班級(jí):__計(jì)科06101__學(xué)號(hào):_16010108_姓名:__唐俊豪____指引教師:____李果_____湖南文理學(xué)院計(jì)算機(jī)學(xué)院二○一○年一月目錄第一章需求分析 3一、問(wèn)題背景及描述 3二、功能分析 3三、建立系統(tǒng)流程圖 3四、建立數(shù)據(jù)流圖 5五、建立數(shù)據(jù)字典 7六、算法描述 9七、建立E-R圖 10八、建立狀態(tài)圖 12第二章概要設(shè)計(jì) 14一、軟件體系構(gòu)造模型 14二、用面向數(shù)據(jù)流辦法設(shè)計(jì)系統(tǒng)軟件構(gòu)造 17三、數(shù)據(jù)庫(kù)邏輯構(gòu)造設(shè)計(jì) 22第三章詳細(xì)設(shè)計(jì) 23一、數(shù)據(jù)庫(kù)物理構(gòu)造設(shè)計(jì) 23二、模塊過(guò)程設(shè)計(jì)與界面設(shè)計(jì) 24第四章數(shù)據(jù)庫(kù)設(shè)計(jì) 30一、數(shù)據(jù)字典設(shè)計(jì) 30二、數(shù)據(jù)表設(shè)計(jì) 31第五章編碼和單元測(cè)試 32第六章程序運(yùn)營(yíng) 36一、登陸界面 36二、主控制界面 37三、客戶(hù)管理子模塊界面 38四、顧客管理子模塊界面 39五、產(chǎn)品入庫(kù)子模塊界面 40六、產(chǎn)品出庫(kù)子模塊界面 41七、產(chǎn)品查詢(xún)子模塊界面 44八、修改產(chǎn)品信息子模塊界面 44九、協(xié)助信息子模塊界面 45第七章心得體會(huì) 46參照文獻(xiàn) 47第一章需求分析一、問(wèn)題背景及描述隨著科學(xué)技術(shù)發(fā)展,社會(huì)進(jìn)步,計(jì)算機(jī)迅速發(fā)展,倉(cāng)庫(kù)管理辦法也日新月異,此前全是由人管理辦法現(xiàn)存在諸多缺陷:管理效率低,勞動(dòng)強(qiáng)度大,信息解決速度低并且精確率也不夠令人滿(mǎn)意。為了提高倉(cāng)庫(kù)管理效率,減輕勞動(dòng)強(qiáng)度提高,信息解決速度和精確性;為倉(cāng)庫(kù)管理員提供更以便、科學(xué)服務(wù)項(xiàng)目。為倉(cāng)庫(kù)管理員提供一種更先進(jìn)、科學(xué)服務(wù)系統(tǒng)。于是咱們便選取了由計(jì)算機(jī)來(lái)設(shè)計(jì)一種倉(cāng)庫(kù)管理系統(tǒng)方案。讓計(jì)算機(jī)對(duì)倉(cāng)庫(kù)進(jìn)行自動(dòng)管理,倉(cāng)庫(kù)管理員可以直接在計(jì)算機(jī)上實(shí)現(xiàn)倉(cāng)庫(kù)信息管理,并能在一定限度上實(shí)現(xiàn)自動(dòng)化。咱們?cè)诂F(xiàn)行系統(tǒng)初步調(diào)查基本上提出了新系統(tǒng)目的,即新系統(tǒng)建立后所規(guī)定達(dá)到運(yùn)營(yíng)指標(biāo),這是系統(tǒng)開(kāi)發(fā)和評(píng)價(jià)根據(jù)。二、功能分析通過(guò)初步分析,“倉(cāng)庫(kù)管理系統(tǒng)”應(yīng)當(dāng)具備如下重要功能:⒈倉(cāng)庫(kù)各種信息輸入,涉及入庫(kù),出庫(kù),還原,需求信息輸入等⒉倉(cāng)庫(kù)管理各種信息查詢(xún),修改和維護(hù)⒊操作日記管理⒋倉(cāng)庫(kù)管理系統(tǒng)使用協(xié)助鑒于課程設(shè)計(jì)緣故,本系統(tǒng)僅僅實(shí)現(xiàn)某些簡(jiǎn)樸功能。三、建立系統(tǒng)流程圖為了便于問(wèn)題闡述與展開(kāi),在此加入了系統(tǒng)流程圖內(nèi)容。通過(guò)對(duì)倉(cāng)庫(kù)管理過(guò)程理解,可以懂得倉(cāng)庫(kù)管理系統(tǒng)管理倉(cāng)庫(kù)信息大體過(guò)程。一方面,顧客登陸倉(cāng)庫(kù)管理系統(tǒng),通過(guò)一系列對(duì)系統(tǒng)操作后,由系統(tǒng)返回給顧客相應(yīng)成果。圖1描繪了這個(gè)大體流程。 顧客顧客倉(cāng)庫(kù)管理系統(tǒng)顧客輸入數(shù)據(jù)反饋成果圖1倉(cāng)庫(kù)管理系統(tǒng)大體解決過(guò)程接下來(lái)對(duì)圖1黑匣子(倉(cāng)庫(kù)管理系統(tǒng))內(nèi)容進(jìn)行分解。通過(guò)仔細(xì)分析與理解,擬定顧客對(duì)系統(tǒng)整個(gè)操作過(guò)程:顧客登陸倉(cāng)庫(kù)管理系統(tǒng),驗(yàn)證顧客身份與權(quán)限,審核后操作倉(cāng)庫(kù)管理系統(tǒng),顧客可以查詢(xún)倉(cāng)庫(kù)里產(chǎn)品信息,管理員權(quán)限可修改和刪除有關(guān)倉(cāng)庫(kù)信息,顧客還可以打印有關(guān)報(bào)表,還可以查看協(xié)助文檔。系統(tǒng)會(huì)依照顧客操作,予以相應(yīng)顯示與解決成果。圖2圖3圖4是分析后得出系統(tǒng)流程圖。 顧客顧客輸入登陸信息審核信息添刪改查信息系統(tǒng)解決顧客輸入信息顯示解決成果顧客圖2倉(cāng)庫(kù)管理系統(tǒng)流程圖1 顧客顧客輸入登陸信息審核信息顧客成功登陸系統(tǒng)圖3倉(cāng)庫(kù)管理系統(tǒng)流程圖2 顧客顧客輸入登陸信息審核信息顧客顯示協(xié)助文檔顯示協(xié)助文檔信息圖4倉(cāng)庫(kù)管理系統(tǒng)流程圖3四、建立數(shù)據(jù)流圖系統(tǒng)流程圖雖然較好地描繪了詳細(xì)系統(tǒng),但是在系統(tǒng)流程圖中把“做什么”和“如何做”這兩類(lèi)不同范疇知識(shí)混合在一起。咱們目的不是一成不變地復(fù)制既有人工系統(tǒng),而是開(kāi)發(fā)一種既可以完畢既有所有功能,又能使操作更加規(guī)范或者功能更加完備新系統(tǒng),因而,應(yīng)當(dāng)著重描繪系統(tǒng)邏輯功能。數(shù)據(jù)流圖描述數(shù)據(jù)在軟件系統(tǒng)內(nèi)從輸入流動(dòng)到輸出過(guò)程中所經(jīng)受變換,通慣用數(shù)據(jù)流圖建立軟件功能模型。數(shù)據(jù)流圖是系統(tǒng)邏輯功能圖形表達(dá),圖中沒(méi)有任何詳細(xì)物理部件,僅僅描繪數(shù)據(jù)在軟件中流動(dòng)和被解決邏輯過(guò)程,不懂計(jì)算機(jī)技術(shù)人也容易理解它,因而是分析員與顧客之間極好通信工具。依照前面劃分系統(tǒng)模塊可以得到如下數(shù)據(jù)流圖:①倉(cāng)庫(kù)管理系統(tǒng)整體數(shù)據(jù)流圖顧客顧客顧客選取操作1系統(tǒng)管理D1倉(cāng)庫(kù)數(shù)據(jù)2輸入解決3維護(hù)模塊4協(xié)助模塊顧客相應(yīng)成果圖5倉(cāng)庫(kù)管理系統(tǒng)數(shù)據(jù)流圖②細(xì)化“系統(tǒng)管理”數(shù)據(jù)流圖 1.11.1客戶(hù)管理1.2顧客管理1.3退出系統(tǒng)D2客戶(hù)資料D3顧客資料顧客用戶(hù)數(shù)據(jù)圖6對(duì)“系統(tǒng)管理”細(xì)化③細(xì)化“輸入解決”數(shù)據(jù)流圖 2.12.1產(chǎn)品入庫(kù)D1倉(cāng)庫(kù)數(shù)據(jù)2.2產(chǎn)品出庫(kù)2.3產(chǎn)品查詢(xún)顧客用戶(hù)數(shù)據(jù)圖7對(duì)“輸入解決”細(xì)化④系統(tǒng)帳戶(hù)管理數(shù)據(jù)流圖 顧客顧客1驗(yàn)證顧客2修改更新授權(quán)顧客顧客數(shù)據(jù)D4顧客資料用戶(hù)數(shù)據(jù)圖8系統(tǒng)帳戶(hù)管理數(shù)據(jù)流圖五、建立數(shù)據(jù)字典數(shù)據(jù)字典是關(guān)于數(shù)據(jù)信息集合,也就是對(duì)數(shù)據(jù)流圖中包括元素定義集合。它作用是在軟件分析和設(shè)計(jì)過(guò)程中提供關(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í),這種分解過(guò)程就結(jié)束了。本倉(cāng)庫(kù)管理系統(tǒng)依照劃分模塊定義了如下數(shù)據(jù)字典:①顧客信息表表名:user內(nèi)容:記載顧客登陸基本信息構(gòu)成:列名數(shù)據(jù)類(lèi)型長(zhǎng)度精度小數(shù)備注useridint4100核心字(主鍵)usernamevarchar5000不為空userpwdvarchar5000不為空purviewvarchar5000不為空組織:按錄入順序。②客戶(hù)信息表表名:customerinfo內(nèi)容:記載客戶(hù)有關(guān)基本信息構(gòu)成:列名數(shù)據(jù)類(lèi)型長(zhǎng)度精度小數(shù)備注Cidint4100核心字(主鍵)Cnamevarchar5000不為空Addrvarchar5000不為空PostCodeint4100不為空Phonevarchar5000不為空組織:按錄入順序。③產(chǎn)品類(lèi)型表表名:producttype內(nèi)容:記載產(chǎn)品類(lèi)型基本信息構(gòu)成:列名數(shù)據(jù)類(lèi)型長(zhǎng)度精度小數(shù)備注Typeidint4100核心字(主鍵)Typenamevarchar5000不為空組織:按錄入順序。④庫(kù)存信息表表名:store內(nèi)容:記載產(chǎn)品庫(kù)存基本信息構(gòu)成:列名數(shù)據(jù)類(lèi)型長(zhǎng)度精度小數(shù)備注Pidint4100核心字(主鍵)Pnamevarchar5000不為空Ptypevarchar5000不為空Ppricefloat8530不為空Pnumint4100不為空MakeDatedatetime800不為空InDatedatetime800OutDateDatetime800組織:按錄入順序。六、算法描述分析員以黑匣子方式記錄算法,所謂黑匣子就是不考慮一種功能詳細(xì)實(shí)現(xiàn)辦法,只把它看作予以輸入之后就可以產(chǎn)生一定輸出匣子。這正是在初期開(kāi)發(fā)階段分析員對(duì)算法應(yīng)當(dāng)持有對(duì)的觀點(diǎn),目是用原理性算法精確地定義功能,算法細(xì)節(jié)可以等到后來(lái)詳細(xì)設(shè)計(jì)階段再擬定。倉(cāng)庫(kù)管理系統(tǒng)中重要涉及算法方面重要是產(chǎn)品庫(kù)存數(shù)量,隨著倉(cāng)庫(kù)使用,入庫(kù)數(shù)量和出庫(kù)數(shù)量隨時(shí)發(fā)生變化,整個(gè)倉(cāng)庫(kù)中庫(kù)存量也就隨之變化。這里采用IPO表記錄該算法初步描述。系統(tǒng):倉(cāng)庫(kù)管理系統(tǒng)作者:系統(tǒng):倉(cāng)庫(kù)管理系統(tǒng)作者:模塊:產(chǎn)品庫(kù)存量算法日期:編號(hào):被調(diào)用:IPO表調(diào)用:輸入:入庫(kù)數(shù)量,出庫(kù)數(shù)量,倉(cāng)庫(kù)原始數(shù)量輸出:倉(cāng)庫(kù)更新后數(shù)量解決:倉(cāng)庫(kù)更新后數(shù)量=倉(cāng)庫(kù)原始數(shù)量+入庫(kù)數(shù)量-出庫(kù)數(shù)量局部數(shù)據(jù)元素:注釋?zhuān)簣D9描繪產(chǎn)品庫(kù)存量初步算法IPO表七、建立E-R圖為了把顧客數(shù)據(jù)規(guī)定清晰、精確地描述出來(lái),系統(tǒng)分析員普通建立一種概念性數(shù)據(jù)模型,概念性數(shù)據(jù)模型是一種面向問(wèn)題數(shù)據(jù)模型,它描述從顧客角度看到數(shù)據(jù)。普通使用實(shí)體-聯(lián)系圖來(lái)建立數(shù)據(jù)模型,可以把實(shí)體-聯(lián)系圖簡(jiǎn)稱(chēng)為E-R圖,相應(yīng)地可以把E-R圖描繪數(shù)據(jù)模型稱(chēng)為E-R模型。E-R圖中包括了實(shí)體(即數(shù)據(jù)對(duì)象)、關(guān)系和屬性等三種基本成分。普通,用矩形框代表實(shí)體,用連接有關(guān)實(shí)體菱形框表達(dá)關(guān)系,用橢圓或圓角矩形表達(dá)實(shí)體或關(guān)系屬性,并用直線把實(shí)體(或關(guān)系)與其屬性連接起來(lái)。 顧客顧客顧客號(hào)顧客名顧客口令顧客權(quán)限圖10顧客E-R圖 客戶(hù)客戶(hù)客戶(hù)號(hào)客戶(hù)名聯(lián)系地址郵編電話號(hào)圖11客戶(hù)E-R圖 產(chǎn)品產(chǎn)品號(hào)產(chǎn)品產(chǎn)品號(hào)產(chǎn)品名生產(chǎn)日期價(jià)格類(lèi)型圖12產(chǎn)品E-R圖 倉(cāng)庫(kù)入庫(kù)倉(cāng)庫(kù)入庫(kù)客戶(hù)顧客產(chǎn)品類(lèi)型屬于出庫(kù)倉(cāng)庫(kù)1NMPNPMNQR圖13倉(cāng)庫(kù)管理系統(tǒng)聯(lián)系圖八、建立狀態(tài)圖狀態(tài)圖(也叫狀態(tài)轉(zhuǎn)換圖)通過(guò)描繪系統(tǒng)狀態(tài)及引起系統(tǒng)轉(zhuǎn)換事件來(lái)表達(dá)系統(tǒng)行為。此外,狀態(tài)圖還指明了作為特定事件成果系統(tǒng)將做哪些動(dòng)作。因而,可以用狀態(tài)圖建立軟件系統(tǒng)行為模型。狀態(tài)是可以被觀測(cè)到系統(tǒng)行為模式,一種狀態(tài)代表系統(tǒng)一種行為模式,狀態(tài)規(guī)定了系統(tǒng)對(duì)事件響應(yīng)方式。在狀態(tài)圖中第一狀態(tài)重要有:初態(tài)、終態(tài)和中間狀態(tài),在一張狀態(tài)圖中只能有一種初態(tài),而終態(tài)則可以有0個(gè)至各種。在狀態(tài)圖中,初態(tài)用實(shí)心圓表達(dá),終態(tài)用一對(duì)同心圓(內(nèi)圓為實(shí)心圓)表達(dá)。中間狀態(tài)用圓角矩形表達(dá),可以使用兩條水平橫線把它提成上、中、下3個(gè)某些,分別防止?fàn)顟B(tài)名、狀態(tài)變量和活動(dòng)表。事件是在某個(gè)特定期刻發(fā)生事情,它是對(duì)引起系統(tǒng)動(dòng)作或(或)從一種狀態(tài)轉(zhuǎn)換到另一種狀態(tài)外界事件抽象。狀態(tài)圖中兩個(gè)狀態(tài)之間帶箭頭連線表達(dá)狀態(tài)轉(zhuǎn)換,箭頭指明了轉(zhuǎn)換方向。狀態(tài)轉(zhuǎn)換普通是由事件觸發(fā),在這種狀況下應(yīng)當(dāng)在表達(dá)狀態(tài)轉(zhuǎn)換箭頭上標(biāo)出觸發(fā)事件表達(dá)式。如下是倉(cāng)庫(kù)管理系統(tǒng)狀態(tài)圖:登陸界面驗(yàn)證帳戶(hù)登陸界面驗(yàn)證帳戶(hù)輸入密碼不合法帳戶(hù)驗(yàn)證權(quán)限合法帳戶(hù)查詢(xún)、修改自身信息;修改其她顧客權(quán)限;添加新顧客;查詢(xún)、修改、注銷(xiāo)、添加客戶(hù)信息;查詢(xún)、修改、添加、刪除產(chǎn)品信息;查詢(xún)、修改、添加、刪除出、入庫(kù)信息查詢(xún)、修改自身信息;查詢(xún)客戶(hù)信息;查詢(xún)出、入庫(kù)信息;查詢(xún)產(chǎn)品信息管理權(quán)限普通權(quán)限圖14倉(cāng)庫(kù)管理系統(tǒng)狀態(tài)圖第二章概要設(shè)計(jì)一、軟件體系構(gòu)造模型大型軟件系統(tǒng)總是被分解成一系列子系統(tǒng),由子系統(tǒng)提供某些有關(guān)服務(wù)。軟件體系構(gòu)造設(shè)計(jì)過(guò)程就是辨認(rèn)出這些子系統(tǒng),并建立子系統(tǒng)控制和通信框架,最后給出軟件體系構(gòu)造一種描述。⒈系統(tǒng)構(gòu)成模型系統(tǒng)構(gòu)成模型有容器模型、客戶(hù)-服務(wù)器模型和抽象機(jī)模型三種。⑴容器模型構(gòu)成一種系統(tǒng)子系統(tǒng)一定要灌溉換信息,以便能有效地在一起工作。子系統(tǒng)互換信息、協(xié)調(diào)工作有兩種基本辦法:所有共享書(shū)防在一種中央數(shù)據(jù)庫(kù)中,所有子系統(tǒng)都能從中存取數(shù)據(jù);每個(gè)子系統(tǒng)用各自數(shù)據(jù)庫(kù)與其她子系統(tǒng)進(jìn)行數(shù)據(jù)交互,通過(guò)消息傳遞來(lái)實(shí)現(xiàn)。普通狀況下,大多數(shù)使用大量數(shù)據(jù)系統(tǒng)都是環(huán)繞共享數(shù)據(jù)庫(kù)(或稱(chēng)為容器)組織,因此,基于一種共享數(shù)據(jù)庫(kù)系統(tǒng)系統(tǒng)模型稱(chēng)為容器模型。這個(gè)模型適合于數(shù)據(jù)由一種子系統(tǒng)產(chǎn)生,而其她子系統(tǒng)共享使用系統(tǒng)構(gòu)造。這種類(lèi)型系統(tǒng)有命令控制系統(tǒng)、管理信息系統(tǒng)、CAD系統(tǒng)和CASE工具集成系統(tǒng)等。共享容器模型長(zhǎng)處是可以高效地共享大量數(shù)據(jù),生產(chǎn)數(shù)據(jù)子系統(tǒng)不需要關(guān)懷數(shù)據(jù)如何被其她子系統(tǒng)使用,可以集中進(jìn)行備份、保密、訪問(wèn)控制和錯(cuò)誤恢復(fù)等活動(dòng)。其缺陷是子系統(tǒng)一定要與容器數(shù)據(jù)一致,系統(tǒng)變更或進(jìn)化比較困難,難以集成,以及很難將容器分布到多臺(tái)機(jī)器上。⑵客戶(hù)-服務(wù)器模型客戶(hù)-服務(wù)器模型重要構(gòu)成某些是:一組給其她子系統(tǒng)提供服務(wù)單機(jī)服務(wù)器;一組向服務(wù)器祈求服務(wù)客戶(hù)機(jī);一種連接客戶(hù)和服務(wù)器網(wǎng)絡(luò)(可選)。客戶(hù)機(jī)必要懂得可用服務(wù)器名字和它們所提供服務(wù),并通過(guò)遠(yuǎn)程調(diào)用獲取服務(wù)器提供服務(wù)。反之,服務(wù)器沒(méi)有必要懂得客戶(hù)機(jī)身份,以及究竟有多少客戶(hù)機(jī)在運(yùn)營(yíng)??蛻?hù)-服務(wù)器模型可以實(shí)現(xiàn)基于容器模型系統(tǒng),容器就充當(dāng)了系統(tǒng)服務(wù)器。子系統(tǒng)需要訪問(wèn)容器,因而扮演了客戶(hù)機(jī)角色。固然,當(dāng)運(yùn)營(yíng)大量數(shù)據(jù)互換時(shí),這種系統(tǒng)就會(huì)產(chǎn)生性能問(wèn)題??蛻?hù)-服務(wù)器模型最大長(zhǎng)處是:這是一種分布式構(gòu)造,通過(guò)網(wǎng)絡(luò)可以很容易地添加新客戶(hù)機(jī)和服務(wù)器,而不會(huì)影響系統(tǒng)其她某些。⑶抽象機(jī)模型抽象機(jī)模型也稱(chēng)為分層模型,是建立子系統(tǒng)接口模型,它把子系統(tǒng)組織成一系列層次,每一層提供一組服務(wù),每一層定義為一種抽象機(jī)。每個(gè)抽象機(jī)都是由其下層抽象機(jī)代碼構(gòu)成。每一層提供應(yīng)上一層服務(wù),同步調(diào)用下一層服務(wù)。每一層實(shí)現(xiàn)只影響相鄰層,不會(huì)影響到系統(tǒng)其她各層。分層辦法支持系統(tǒng)增量式開(kāi)發(fā),若一層開(kāi)發(fā)完畢,該層提供服務(wù)就可以被顧客使用了。分層缺陷是:用這種辦法構(gòu)建系統(tǒng)比較困難。幾乎所有抽象機(jī)都需要基本服務(wù)(如文獻(xiàn)管理)需要由內(nèi)層提供,因而,顧客服務(wù)也許需要訪問(wèn)較深層抽象機(jī)。這一點(diǎn)有悖于一種外層只需要訪問(wèn)臨近下層抽象機(jī)分層原則。性能也也許是一種問(wèn)題,由于需要多層指令解釋過(guò)程。如果層次太多,層次管理就將成為系統(tǒng)一種重要承擔(dān)。依照三種系統(tǒng)構(gòu)成模型簡(jiǎn)介,很明顯地可以懂得本倉(cāng)庫(kù)管理系統(tǒng)是基于容器模型設(shè)計(jì)。倉(cāng)庫(kù)管理系統(tǒng)只使用到一種總數(shù)據(jù)庫(kù),而其中提供所有服務(wù)都直接訪問(wèn)該數(shù)據(jù)庫(kù),因而本倉(cāng)庫(kù)管理系統(tǒng)具備容器模型各種特性。⒉系統(tǒng)控制模式軟件體系構(gòu)造除了要明確系統(tǒng)構(gòu)成模型之外,還要給出子系統(tǒng)控制模式,使子系統(tǒng)可以依照控制模式工作。在體系構(gòu)造層次上控制模式重要反映子系統(tǒng)之間控制流。系統(tǒng)控制模式有兩種普通性建模辦法,即集中式控制和事件驅(qū)動(dòng)控制。⑴集中式控制在集中式控制模型中,一種子系統(tǒng)被定義為系統(tǒng)控制器來(lái)負(fù)責(zé)管理其她系統(tǒng)執(zhí)行。集中式控制模型又可分為調(diào)用-返回模型和管理者模型兩類(lèi)。①調(diào)用-返回模型。這是一種自上而下子過(guò)程模型??刂剖加谙到y(tǒng)(程序)頂層,在子系統(tǒng)(程序)調(diào)用過(guò)程中,控制逐漸傳遞到更低層次中。該模型合用于順序執(zhí)行系統(tǒng)。②管理者模型。這是一種合用于并發(fā)系統(tǒng)模型。一種系統(tǒng)組件被指定為系統(tǒng)管理者,控制其她系統(tǒng)過(guò)程啟動(dòng)、終結(jié)和協(xié)調(diào)。一種過(guò)程就是一種能和其她過(guò)程并發(fā)執(zhí)行子系統(tǒng)或模塊。⑵事件驅(qū)動(dòng)控制在集中式控制模型中,控制決斷普通決定于某些系統(tǒng)狀態(tài)變量值。相反,事件驅(qū)動(dòng)控制模型是通過(guò)外部產(chǎn)生事件驅(qū)動(dòng)系統(tǒng)。有各種不同基于事件驅(qū)動(dòng)系統(tǒng),如電子表格、基于規(guī)則產(chǎn)生式系統(tǒng)等。下面是兩種事件驅(qū)動(dòng)控制模型。①?gòu)V播模型。發(fā)生事件廣播到所有子系統(tǒng),任何能解決該事件子系統(tǒng)都會(huì)響應(yīng)。該模型合用于基于網(wǎng)絡(luò)分布式系統(tǒng)。②中斷驅(qū)動(dòng)模型。由中斷解決器對(duì)來(lái)自外部中斷進(jìn)行檢測(cè),然后在其她組件中解決這些中斷。該模型合用于對(duì)定期有嚴(yán)格規(guī)定實(shí)時(shí)系統(tǒng)。廣播模型中子系統(tǒng)注冊(cè)其感興趣特別事件,當(dāng)這些事件發(fā)生時(shí)候,控制被轉(zhuǎn)換到解決這些事件子系統(tǒng)。所有事件都可以被發(fā)送到所有子系統(tǒng),但這樣做增長(zhǎng)了子系統(tǒng)開(kāi)銷(xiāo)。普通地,事件和消息解決器要維護(hù)子系統(tǒng)注冊(cè)和這些子系統(tǒng)所感興趣事件。廣播模型長(zhǎng)處是進(jìn)化比較簡(jiǎn)樸,解決特別類(lèi)型事件新子系統(tǒng)可以通過(guò)在事件解決器中注冊(cè)這些事件來(lái)達(dá)到集成;其缺陷是子系統(tǒng)互相競(jìng)爭(zhēng)地解決事件,這也許會(huì)引起沖突。中斷驅(qū)動(dòng)模型只用在硬件實(shí)時(shí)系統(tǒng)中,規(guī)定對(duì)某些事件能作出及時(shí)響應(yīng),這可以與集中式控制模型結(jié)合起來(lái)使用。中央管理者解決系統(tǒng)普通性運(yùn)轉(zhuǎn),而中斷控制用于對(duì)緊急事件作出反映。而本倉(cāng)庫(kù)管理系統(tǒng)顯然屬于前者,所有子系統(tǒng)都是由一種總系統(tǒng)控制,觸發(fā)子系統(tǒng)調(diào)用重要取決于系統(tǒng)狀態(tài)量變化。并且可以看出,倉(cāng)庫(kù)管理系統(tǒng)是屬于管理者模型。二、用面向數(shù)據(jù)流辦法設(shè)計(jì)系統(tǒng)軟件構(gòu)造⒈倉(cāng)庫(kù)管理軟件構(gòu)造在需求分析中,已經(jīng)使用構(gòu)造化辦法分析了“倉(cāng)庫(kù)管理系統(tǒng)”。因而,可以從圖16所示倉(cāng)庫(kù)管理系統(tǒng)流圖出發(fā)來(lái)設(shè)計(jì)倉(cāng)庫(kù)管理系統(tǒng)構(gòu)造。顧客顧客數(shù)據(jù)D1倉(cāng)庫(kù)數(shù)據(jù)2.1產(chǎn)品入庫(kù)3.1維護(hù)模塊D1倉(cāng)庫(kù)數(shù)據(jù)顧客1.1客戶(hù)管理1.2顧客管理1.3退出系統(tǒng)D2客戶(hù)資料D3顧客資料2.2產(chǎn)品出庫(kù)2.3產(chǎn)品查詢(xún)用戶(hù)數(shù)據(jù)3.2協(xié)助模塊圖15倉(cāng)庫(kù)管理系統(tǒng)數(shù)據(jù)流圖下一種設(shè)計(jì)環(huán)節(jié)是完畢“第一級(jí)分解”。所謂“第一級(jí)分解”就是擬定系統(tǒng)總體控制構(gòu)造。普通,變換分析得出系統(tǒng)高層構(gòu)造是一種“三叉”控制構(gòu)造。針對(duì)“倉(cāng)庫(kù)管理”得出高層控制構(gòu)造如圖16所示。倉(cāng)庫(kù)管理接受數(shù)據(jù)倉(cāng)庫(kù)管理接受數(shù)據(jù)解決數(shù)據(jù)輸出數(shù)據(jù)圖16倉(cāng)庫(kù)管理“第一級(jí)分解”再下一種設(shè)計(jì)環(huán)節(jié)是完畢“第二級(jí)分解”。所謂“第二級(jí)分解”,就是把數(shù)據(jù)流圖中每個(gè)解決映射成軟件構(gòu)造中一種恰當(dāng)模塊。變換分析映射規(guī)則是從變換中心邊界開(kāi)始沿著輸入通路向外移動(dòng),把輸入通路中每個(gè)解決映射成軟件構(gòu)造中“輸入信息解決控制模塊”控制下一種低層模塊;然后沿著輸出通路向外移動(dòng),把輸出通路中每個(gè)解決映射成直接或間接接受“輸出信息解決控制模塊”控制一種低層模塊;最后把變換中心內(nèi)每個(gè)解決映射成接受“變換中心控制模塊”控制一種低層模塊。對(duì)于“倉(cāng)庫(kù)管理”來(lái)說(shuō),“第二級(jí)分解”成果如圖17所示。倉(cāng)庫(kù)管理倉(cāng)庫(kù)管理接受數(shù)據(jù)解決數(shù)據(jù)輸出數(shù)據(jù)協(xié)助信息驗(yàn)證顧客權(quán)限收集數(shù)據(jù)審核數(shù)據(jù)修改更新記錄數(shù)據(jù)匯總數(shù)據(jù)分析數(shù)據(jù)圖17倉(cāng)庫(kù)管理“第二級(jí)分解”最后洋設(shè)計(jì)環(huán)節(jié)是對(duì)倉(cāng)庫(kù)管理初步成果優(yōu)化。結(jié)合倉(cāng)庫(kù)管理“第二級(jí)分解”圖可以將其優(yōu)化成如下軟件構(gòu)造圖。倉(cāng)庫(kù)管理倉(cāng)庫(kù)管理接受數(shù)據(jù)解決數(shù)據(jù)打印報(bào)表驗(yàn)證顧客權(quán)限收集數(shù)據(jù)審核數(shù)據(jù)修改更新記錄數(shù)據(jù)匯總數(shù)據(jù)分析數(shù)據(jù)圖18優(yōu)化后倉(cāng)庫(kù)管理軟件構(gòu)造⒉系統(tǒng)帳戶(hù)管理軟件構(gòu)造依照數(shù)據(jù)流圖,可以得到系統(tǒng)帳戶(hù)管理軟件構(gòu)造如下圖所示。系統(tǒng)帳戶(hù)管理修改更新授權(quán)系統(tǒng)帳戶(hù)管理修改更新授權(quán)驗(yàn)證顧客查詢(xún)顧客圖19系統(tǒng)帳戶(hù)管理軟件構(gòu)造綜合上面分析,可進(jìn)一步得到包括系統(tǒng)帳戶(hù)管理、倉(cāng)庫(kù)管理和系統(tǒng)數(shù)據(jù)管理三大子功能軟件構(gòu)造如圖20所示。倉(cāng)庫(kù)管理倉(cāng)庫(kù)管理接受數(shù)據(jù)解決數(shù)據(jù)協(xié)助信息驗(yàn)證顧客權(quán)限收集數(shù)據(jù)審核數(shù)據(jù)修改更新記錄數(shù)據(jù)匯總數(shù)據(jù)分析數(shù)據(jù)系統(tǒng)帳戶(hù)管理修改更新授權(quán)查詢(xún)顧客圖20倉(cāng)庫(kù)管理系統(tǒng)細(xì)化軟件構(gòu)造結(jié)合上述分析描述,得到倉(cāng)庫(kù)管理系統(tǒng)完整軟件構(gòu)造圖,如圖21所示。驗(yàn)證顧客驗(yàn)證顧客權(quán)限系統(tǒng)帳戶(hù)管理修改更新授權(quán)倉(cāng)庫(kù)管理系統(tǒng)查詢(xún)顧客協(xié)助模塊協(xié)助信息收集數(shù)據(jù)審核數(shù)據(jù)修改更新匯總數(shù)據(jù)記錄數(shù)據(jù)分析數(shù)據(jù)接受數(shù)據(jù)解決數(shù)據(jù)維護(hù)模塊倉(cāng)庫(kù)管理圖21倉(cāng)庫(kù)管理系統(tǒng)完整軟件構(gòu)造三、數(shù)據(jù)庫(kù)邏輯構(gòu)造設(shè)計(jì)數(shù)據(jù)庫(kù)邏輯構(gòu)造設(shè)計(jì)任務(wù)是依照E-R模型和需求分析所產(chǎn)生文檔,并綜合考慮所選取詳細(xì)DBMS特點(diǎn),設(shè)計(jì)出整個(gè)數(shù)據(jù)庫(kù)邏輯構(gòu)造。普通來(lái)說(shuō),選取哪一種DBMS存儲(chǔ)數(shù)據(jù),是由系統(tǒng)分析員和顧客(普通是公司高檔管理人員)決定。需要考慮因素涉及DBMS產(chǎn)品性能和價(jià)格,以及所設(shè)計(jì)應(yīng)用系統(tǒng)功能復(fù)雜限度。如果選取是關(guān)系型DBMS產(chǎn)品,那么邏輯構(gòu)造設(shè)計(jì)就是指設(shè)計(jì)數(shù)據(jù)庫(kù)中所包括各個(gè)關(guān)系模式構(gòu)造,涉及關(guān)系模式名稱(chēng)、每一關(guān)系模式中各屬性名稱(chēng)、數(shù)據(jù)類(lèi)型和取值范疇等內(nèi)容。邏輯構(gòu)造設(shè)計(jì)過(guò)程是:一方面,依照需求階段設(shè)計(jì)成果和詳細(xì)DBMS產(chǎn)品特點(diǎn),將全局E-R模型轉(zhuǎn)換成一種初始關(guān)系模型。然后,對(duì)其中每個(gè)關(guān)系模式進(jìn)行分析,判斷與否存在不合理關(guān)系模式,如有則運(yùn)用關(guān)系模式規(guī)范化辦法消除之。第三章詳細(xì)設(shè)計(jì)一、數(shù)據(jù)庫(kù)物理構(gòu)造設(shè)計(jì)數(shù)據(jù)庫(kù)物理構(gòu)造設(shè)計(jì)是指為給頂一種邏輯數(shù)據(jù)模型選取最適合應(yīng)用環(huán)境物理構(gòu)造。關(guān)系數(shù)據(jù)庫(kù)物理構(gòu)造重要是指數(shù)據(jù)存取辦法和存儲(chǔ)構(gòu)造。數(shù)據(jù)庫(kù)物理構(gòu)造設(shè)計(jì)分為兩個(gè)某些,一方面是擬定數(shù)據(jù)庫(kù)物理構(gòu)造,另一方面是對(duì)所設(shè)計(jì)物理構(gòu)造進(jìn)行評(píng)估。⒈擬定數(shù)據(jù)庫(kù)物理構(gòu)造為擬定數(shù)據(jù)庫(kù)物理構(gòu)造,設(shè)計(jì)人員必要理解下面幾種問(wèn)題。①詳細(xì)理解給定DBMS功能和特點(diǎn),特別是該DBMS所提供物理環(huán)境和功能;②熟悉應(yīng)用環(huán)境,理解所設(shè)計(jì)應(yīng)用系統(tǒng)中各某些重要限度、解決頻率、對(duì)響應(yīng)時(shí)間規(guī)定,并把它們作為物理構(gòu)造設(shè)計(jì)過(guò)程中平衡時(shí)間和空間效率時(shí)根據(jù);③理解外存設(shè)備特性,如分塊原則、塊因子大小規(guī)定、設(shè)備I/O特性等。在對(duì)上述問(wèn)題進(jìn)行了全面理解之后,就可以進(jìn)行物理構(gòu)造設(shè)計(jì)了。普通地,物理構(gòu)造設(shè)計(jì)內(nèi)容涉及如下幾種方面。①擬定數(shù)據(jù)存儲(chǔ)構(gòu)造。在此過(guò)程中需考慮存取時(shí)間、空間效率和維護(hù)代價(jià)間平衡,如在引入冗余數(shù)據(jù)以加快存取速度時(shí)應(yīng)兼顧系統(tǒng)空間效率。②選取適當(dāng)存取途徑,例如擬定應(yīng)當(dāng)為哪些關(guān)系模式建立索引,索引核心字是什么等。③擬定數(shù)據(jù)存儲(chǔ)位置,例如擬定數(shù)據(jù)存儲(chǔ)在一種磁盤(pán)上還是各種磁盤(pán)上,什么數(shù)據(jù)該存儲(chǔ)在高速存儲(chǔ)器上,什么應(yīng)當(dāng)存儲(chǔ)在低速存儲(chǔ)器上等。④擬定存取分布,許多DBMS都提供了某些存儲(chǔ)分派參數(shù)供設(shè)計(jì)者使用,例如緩沖區(qū)大小和個(gè)數(shù)、塊長(zhǎng)度、塊因子大小等,設(shè)計(jì)者必要規(guī)定其中某些參數(shù)位置。⒉評(píng)估物理構(gòu)造由于在物理設(shè)計(jì)過(guò)程中需要考慮因素諸多,涉及時(shí)間和空間效率、維護(hù)代價(jià)和顧客規(guī)定等,對(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í)間和空間效率,并從各種方案中選出較優(yōu)物理構(gòu)造。二、模塊過(guò)程設(shè)計(jì)與界面設(shè)計(jì)⒈驗(yàn)證顧客身份功能模塊⑴功能描述驗(yàn)證顧客身份功能模塊用于對(duì)登陸系統(tǒng)顧客進(jìn)行身份驗(yàn)證,擬定顧客與否擁有使用該系統(tǒng)資格以及該顧客權(quán)限。因而,任何顧客登陸系統(tǒng)都調(diào)用此模塊。⑵重要算法if顧客名and口令對(duì)的以該顧客身份進(jìn)入系統(tǒng)總控制界面并獲得響應(yīng)系統(tǒng)權(quán)限else提示“顧客名或口令錯(cuò)誤”合計(jì)錯(cuò)誤三次,自動(dòng)關(guān)閉本系統(tǒng)endif⒉系統(tǒng)總控制模塊⑴功能描述系統(tǒng)總控制模塊是系統(tǒng)運(yùn)營(yíng)時(shí)主控制程序,通過(guò)系統(tǒng)主菜單集中各子功能模塊,顧客在該模塊中通過(guò)選取菜單進(jìn)入到相應(yīng)子模塊。⑵菜單設(shè)計(jì)系統(tǒng)菜單設(shè)計(jì)如下表所示。表1系統(tǒng)菜單一級(jí)菜單系統(tǒng)輸入維護(hù)協(xié)助二、三級(jí)菜單客戶(hù)管理產(chǎn)品查詢(xún)修改產(chǎn)品信息系統(tǒng)信息顧客管理產(chǎn)品入庫(kù)退出系統(tǒng)產(chǎn)品出庫(kù)⑶重要算法每個(gè)菜單項(xiàng)調(diào)用相應(yīng)模塊,實(shí)現(xiàn)各自功能。以退出系統(tǒng)為例:if退出系統(tǒng) 提示“確認(rèn)退出系統(tǒng)?”if確認(rèn)退出退出倉(cāng)庫(kù)管理系統(tǒng)else返回到倉(cāng)庫(kù)管理系統(tǒng) endifendif其她功能菜單類(lèi)似。⒊顧客信息管理模塊⑴功能描述顧客信息管理模塊是對(duì)整個(gè)系統(tǒng)顧客進(jìn)行權(quán)限分派模塊,通過(guò)調(diào)用該模塊,具備查詢(xún)顧客基本信息和修改密碼及權(quán)限功能。系統(tǒng)第一次運(yùn)營(yíng)時(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ù)庫(kù)顧客密碼 if與數(shù)據(jù)庫(kù)密碼相似 繼續(xù)輸入新密碼,修改成功else 顯示“您密碼不對(duì)的!”else 顯示“兩次輸入不相似!”④上一頁(yè)按鈕觸發(fā)解決:顯示上一頁(yè)記錄。⑤下一頁(yè)按鈕觸發(fā)解決:顯示下一頁(yè)記錄。⑥首頁(yè)按鈕觸發(fā)解決:顯示第一頁(yè)記錄。⑦末頁(yè)按鈕觸發(fā)解決:顯示最后一頁(yè)記錄。⑧退出按鈕觸發(fā)解決:關(guān)閉顧客信息管理窗口并返回主控制界面。⒋客戶(hù)信息管理模塊⑴功能描述客戶(hù)信息功能模塊是供系統(tǒng)使用人員對(duì)客戶(hù)信息進(jìn)行檢索與查詢(xún)并且進(jìn)行修改模塊。通過(guò)調(diào)用該模塊,可以按照不同條件組合進(jìn)行客戶(hù)信息查詢(xún),并可以對(duì)查詢(xún)到客戶(hù)信息進(jìn)行修改。⑵調(diào)用方式顧客在主控制界面中選取相應(yīng)選項(xiàng)打開(kāi)客戶(hù)信息界面,在界面中選取相應(yīng)功能。⑶重要算法①查詢(xún)條件下拉列表:選取查詢(xún)方式,然后于查詢(xún)框中填寫(xiě)核心字進(jìn)行搜索。②添加按鈕觸發(fā)解決:用于添加新客戶(hù),產(chǎn)生添加客戶(hù)界面。(僅限管理員權(quán)限)③刪除按鈕觸發(fā)解決:用于刪除選中客戶(hù)信息。(僅限管理員權(quán)限)④修改按鈕觸發(fā)解決:用于修改選中客戶(hù)信息,產(chǎn)生客戶(hù)信息修改界面。(僅限管理員權(quán)限)⑤上一頁(yè)按鈕觸發(fā)解決:顯示上一頁(yè)記錄。⑥下一頁(yè)按鈕觸發(fā)解決:顯示下一頁(yè)記錄。⑦首頁(yè)按鈕觸發(fā)解決:顯示第一頁(yè)記錄。⑧末頁(yè)按鈕觸發(fā)解決:顯示最后一頁(yè)記錄。⑨退出按鈕觸發(fā)解決:關(guān)閉客戶(hù)信息管理窗口并返回主控制界面。⒌產(chǎn)品入庫(kù)功能模塊⑴功能描述產(chǎn)品入庫(kù)功能模塊是用于新產(chǎn)品添加到倉(cāng)庫(kù)解決模塊。通過(guò)調(diào)用該模塊,顧客將產(chǎn)品入庫(kù)信息添加到倉(cāng)庫(kù)信息中。⑵調(diào)用方式顧客在主控制界面中選取相應(yīng)選項(xiàng)打開(kāi)產(chǎn)品入庫(kù)界面,在界面中填寫(xiě)相應(yīng)入庫(kù)信息。⑶重要算法①產(chǎn)品類(lèi)型下拉列表:選取入庫(kù)產(chǎn)品類(lèi)型。②產(chǎn)品名輸入框:用于輸入添加產(chǎn)品名稱(chēng)。③產(chǎn)品價(jià)格輸入框:用于輸入添加產(chǎn)品價(jià)格。④入庫(kù)量輸入框:用于輸入添加產(chǎn)品數(shù)量。(按產(chǎn)品類(lèi)型擬定單位)⑤生產(chǎn)日期輸入框:用于填寫(xiě)入庫(kù)產(chǎn)品生產(chǎn)日期。⑥入庫(kù)按鈕觸發(fā)解決:將顧客填寫(xiě)入庫(kù)產(chǎn)品信息添加到庫(kù)存產(chǎn)品信息中。⑦重置按鈕觸發(fā)解決:將顧客填寫(xiě)產(chǎn)品入庫(kù)信息清空重新填寫(xiě)。⑧退出按鈕觸發(fā)解決:關(guān)閉產(chǎn)品入庫(kù)窗口并返回主控制界面。⒍產(chǎn)品出庫(kù)功能模塊⑴功能描述產(chǎn)品出庫(kù)功能模塊是用于產(chǎn)品從倉(cāng)庫(kù)售出解決模塊。通過(guò)調(diào)用該模塊,顧客將產(chǎn)品出庫(kù)信息添加到倉(cāng)庫(kù)信息中。⑵調(diào)用方式顧客在主控制界面中選取相應(yīng)選項(xiàng)打開(kāi)產(chǎn)品出庫(kù)界面,在界面中填寫(xiě)相應(yīng)出庫(kù)信息。⑶重要算法①產(chǎn)品名下拉列表:選取出庫(kù)產(chǎn)品名稱(chēng)。②出庫(kù)量輸入框:用于輸入售出產(chǎn)品數(shù)量。(按產(chǎn)品類(lèi)型擬定單位)③出庫(kù)按鈕觸發(fā)解決:將顧客填寫(xiě)產(chǎn)品出庫(kù)信息添加到庫(kù)存產(chǎn)品信息中。④重置按鈕觸發(fā)解決:將顧客填寫(xiě)產(chǎn)品入庫(kù)信息清空重新填寫(xiě)。⑤退出按鈕觸發(fā)解決:關(guān)閉產(chǎn)品出庫(kù)窗口并返回主控制界面。⒎產(chǎn)品信息管理模塊⑴功能描述產(chǎn)品信息管理模塊是供系統(tǒng)使用人員對(duì)產(chǎn)品信息進(jìn)行檢索與查詢(xún)并且進(jìn)行修改模塊。通過(guò)調(diào)用該模塊,可以按照不同條件組合進(jìn)行產(chǎn)品信息查詢(xún),并可以對(duì)查詢(xún)到產(chǎn)品信息進(jìn)行修改。⑵調(diào)用方式顧客在主控制界面中選取相應(yīng)選項(xiàng)打開(kāi)產(chǎn)品信息界面,在界面中選取相應(yīng)功能。⑶重要算法①查詢(xún)條件下拉列表:選取查詢(xún)方式,然后于查詢(xún)框中填寫(xiě)核心字進(jìn)行搜索。②查詢(xún)按鈕觸發(fā)解決:用于依照查詢(xún)條件和顧客輸入條件進(jìn)行查詢(xún)產(chǎn)品有關(guān)信息并顯示。③修改按鈕觸發(fā)解決:用于修改選中產(chǎn)品信息,產(chǎn)生產(chǎn)品信息修改界面。(僅限管理員權(quán)限)④上一頁(yè)按鈕觸發(fā)解決:顯示上一頁(yè)記錄。⑤下一頁(yè)按鈕觸發(fā)解決:顯示下一頁(yè)記錄。⑥首頁(yè)按鈕觸發(fā)解決:顯示第一頁(yè)記錄。⑦末頁(yè)按鈕觸發(fā)解決:顯示最后一頁(yè)記錄。⑧退出按鈕觸發(fā)解決:關(guān)閉產(chǎn)品信息管理窗口并返回主控制界面。⒏打印功能模塊⑴功能描述打印功能重要用于打印產(chǎn)品信息,以便倉(cāng)庫(kù)管理信息整頓和保存。⑵調(diào)用方式顧客在主控制界面中選取相應(yīng)選項(xiàng)打開(kāi)打印報(bào)表界面,在界面中選取打印功能。⒐數(shù)據(jù)維護(hù)模塊⑴功能描述本模塊重要用于維護(hù)倉(cāng)庫(kù)系統(tǒng)數(shù)據(jù),經(jīng)常備份倉(cāng)庫(kù)各種信息數(shù)據(jù),保證整個(gè)系統(tǒng)可靠性,以便在浮現(xiàn)意外狀況時(shí)可以及時(shí)恢復(fù)倉(cāng)庫(kù)所有數(shù)據(jù)。⑵調(diào)用方式顧客在主控制界面中選取相應(yīng)選項(xiàng)打開(kāi)數(shù)據(jù)恢復(fù)界面,在界面中選取相應(yīng)功能。⑶重要算法①數(shù)據(jù)備份(手動(dòng))按鈕觸發(fā)解決:及時(shí)開(kāi)始備份當(dāng)前倉(cāng)庫(kù)管理系統(tǒng)各種數(shù)據(jù)。②數(shù)據(jù)備份(自動(dòng))按鈕觸發(fā)解決:顧客設(shè)定數(shù)據(jù)自動(dòng)備份時(shí)間,系統(tǒng)依照顧客設(shè)定期間自動(dòng)將倉(cāng)庫(kù)管理系統(tǒng)中此刻各種數(shù)據(jù)進(jìn)行備份。③退出按鈕觸發(fā)解決:關(guān)閉產(chǎn)品信息管理窗口并返回主控制界面。第四章數(shù)據(jù)庫(kù)設(shè)計(jì)一、數(shù)據(jù)字典設(shè)計(jì)依照以上分析,為了簡(jiǎn)便系統(tǒng)設(shè)計(jì)倉(cāng)庫(kù)管理系統(tǒng)決定采用Access數(shù)據(jù)庫(kù)來(lái)設(shè)計(jì)。建立倉(cāng)庫(kù)數(shù)據(jù)庫(kù)storage,并建立顧客基本信息表(user)、客戶(hù)基本信息表(customerinfo)、產(chǎn)品類(lèi)型表(producttype)、庫(kù)存信息表(store)等4張數(shù)據(jù)表。并依照需求分析時(shí)數(shù)據(jù)字典設(shè)計(jì),分別設(shè)計(jì)這5張數(shù)據(jù)表如下。圖23user字段表圖24customerinfo字段表圖25producttype字段表圖26store字段表二、數(shù)據(jù)表設(shè)計(jì)由上面設(shè)計(jì)數(shù)據(jù)字典,結(jié)合實(shí)際狀況給數(shù)據(jù)表錄入數(shù)據(jù)。圖27user表圖28customerinfo表圖29producttype表圖30store表第五章編碼和單元測(cè)試本章重要是給系統(tǒng)劃分模塊進(jìn)行編程測(cè)試,本系統(tǒng)完全采用java語(yǔ)言編程,重要代碼片段如下:⒈系統(tǒng)登陸模塊:try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundExceptione){ //TODO自動(dòng)生成catch塊 e.printStackTrace(); } try{ Connectionconn=DriverManager.getConnection("jdbc:odbc:stodb"); Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); Stringsqlstr="select*fromuser"; finalResultSetrs=stmt.executeQuery(sqlstr); logon.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ try{ while(rs.next()) { if((rs.getString(2).equals(username.getText()))&&(rs.getString(3).equals(pwd.getText()))) fit++; } rs.beforeFirst(); }catch(SQLExceptione1){ //TODO自動(dòng)生成catch塊 e1.printStackTrace(); } if(fit!=0) { mf=newmainFrame(username.getText()); setVisible(false); } else JOptionPane.showMessageDialog(null,"顧客名或密碼錯(cuò)誤!"); } }); //rs.close(); //stmt.close(); }catch(SQLExceptione){ //TODO自動(dòng)生成catch塊 e.printStackTrace(); } cancle.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ dispose(); } });⒉主窗體:cusmgr.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ customermgr=newcusmgr(); } }); usermgr.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ umgr=newusermgr(mname); } }); exit.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ System.exit(0); } }); input.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ proinputpp=newproinput(); } }); output.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ prooutputpp=newprooutput(); } }); search.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ proinfopp=newproinfo(); } }); change.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論