版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄 TOC o 1-2 h z HYPERLINK l _Toc167113978 第一章 緒論.1 HYPERLINK l _Toc255755351 1.1開發(fā)項(xiàng)目.1 HYPERLINK l _Toc255755352 1.2開發(fā)背景.1 HYPERLINK l _Toc255755348 1.3開發(fā)平臺2 HYPERLINK l _Toc255755349 1.4運(yùn)行環(huán)境.2可行性設(shè)計(jì).32.1技術(shù)可行性研究.3 HYPERLINK l _Toc167113983 經(jīng)濟(jì)可行性研究.3 2.3操作可行性研究.4 HYPERLINK l _Toc167113985 第三章 需求分析.53
2、.1功能需求.53.2數(shù)據(jù)流程圖.53.3數(shù)據(jù)字典.73.4建立E-R圖.9 HYPERLINK l _Toc167113988 第四章 概要設(shè)計(jì)12 HYPERLINK l _Toc167113989 4.1 系統(tǒng)設(shè)計(jì)12 HYPERLINK l _Toc167113990 系統(tǒng)狀態(tài)圖的設(shè)計(jì).13第五章 詳細(xì)設(shè)計(jì). HYPERLINK l _Toc167113997 5.1 物理結(jié)構(gòu)設(shè)計(jì)17 5.2 邏輯結(jié)構(gòu)設(shè)計(jì). 5.3 模塊功能設(shè)計(jì).第六章 編碼與測試. HYPERLINK l _Toc167114003 6.1 系統(tǒng)編碼23 HYPERLINK l _Toc167114004 6.2
3、系統(tǒng)測試26 HYPERLINK l _Toc167114005 結(jié)束語31 HYPERLINK l _Toc167114007 參考文獻(xiàn)32第一章 緒論: 超市倉庫管理系統(tǒng)。1.2 開發(fā)背景在我國超市形成在20世紀(jì)90年代初期,現(xiàn)在已經(jīng)成為我國零售業(yè)的一種重要形態(tài),為國民經(jīng)濟(jì)的發(fā)展發(fā)揮了重要的作用。隨著超市高速的發(fā)展,其經(jīng)營管理也變得愈加復(fù)雜,早期的售貨員站柜臺的形式早已不能滿足現(xiàn)有銷售也的發(fā)展,這樣就迫切地需要引入新的管理技術(shù)。超市形態(tài)具有種種優(yōu)點(diǎn),但在目前狀況下,它仍存在零售業(yè)企業(yè)所共有的落后的一面,如:不能有效地管理每種商品,收款結(jié)算速度慢,容易出現(xiàn)營業(yè)差錯(cuò),不宜進(jìn)行商品調(diào)價(jià),盤點(diǎn)效率
4、低等,而且在超市日常管理中,商品的進(jìn)、銷、存等決策以經(jīng)驗(yàn)為主,缺乏實(shí)時(shí)分析功能,管理人員對及時(shí)傳遞資料的要求始終得不到滿足。蘇轍超市形態(tài)的高速發(fā)展,其經(jīng)營管理也變得愈加復(fù)雜,日常所需要處理的數(shù)據(jù)量也逐漸增大,商業(yè)運(yùn)轉(zhuǎn)的中間環(huán)節(jié)也越來越多,原始的人工管理已無法應(yīng)對這復(fù)雜的市場。為此,在選題過程中,我選擇了超市管理系統(tǒng)設(shè)計(jì)題目,依靠現(xiàn)代化的計(jì)算機(jī)信息處理技術(shù)來管理超市,從而節(jié)省了大量的人力、物力,改善了員工的工作條件,減輕了勞動(dòng)強(qiáng)度,并且能夠快速反映出商品的進(jìn)、銷、存等狀況和各種反饋信息分析,使管理人員快速對市場的變化做出相應(yīng)的決策,加快超市經(jīng)營管理效率。隨著小超市規(guī)模的發(fā)展不斷擴(kuò)大,商品數(shù)量急劇
5、增加,有關(guān)商品的各種信息量也成倍增長。超市時(shí)時(shí)刻刻都需要對商品各種信息進(jìn)行統(tǒng)計(jì)分析。而大型的超市管理系統(tǒng)功能過于強(qiáng)大而造成操作繁瑣降低了小超市的工作效率。超市管理系統(tǒng)是市場上最流行的超市上常用的系統(tǒng)之一,它主要包含以下幾個(gè)模塊:系統(tǒng)權(quán)限的設(shè)定、原始數(shù)據(jù)錄入、數(shù)據(jù)的匯總及查詢等。從而,實(shí)現(xiàn)對進(jìn)貨、銷售及員工信息等實(shí)現(xiàn)全面、動(dòng)態(tài)、及時(shí)的管理。超市需要處理大量的庫存信息,還要時(shí)刻更新產(chǎn)品的銷售信息,不斷添加商品信息。面對不同種類的信息,需要合理的數(shù)據(jù)庫結(jié)構(gòu)來保存數(shù)據(jù)信息,需要有效的程序結(jié)構(gòu)支持各種數(shù)據(jù)操作的執(zhí)行。1.3 系統(tǒng)開發(fā)平臺 通過研究超市倉庫管理系統(tǒng)任務(wù)書,并對該系統(tǒng)進(jìn)行實(shí)際需求分析,該系統(tǒng)
6、采用了面向?qū)ο蟮腣C軟件作為開發(fā)工具,其功能強(qiáng)大、安全、跨平臺、簡單、適用于網(wǎng)絡(luò)。該系統(tǒng)數(shù)據(jù)庫采用了我們較為熟悉的SQL數(shù)據(jù)庫作為該系統(tǒng)的后臺數(shù)據(jù)庫支持。 1.4 系統(tǒng)運(yùn)行環(huán)境 Windows系統(tǒng)具有完全可視化窗體,直觀、高效的面向?qū)ο蟮膱D形用戶界面,具有普遍的使用人群,所以我們決定該超市倉庫管理系統(tǒng)將運(yùn)行在WINDOWS操作系統(tǒng)下。在 WINDOWS95/98/2000/XP下等都可以運(yùn)行。本次課程設(shè)計(jì)是在WINDOWS XP下運(yùn)行的。 采用VC作為開發(fā)工具,SQL數(shù)據(jù)庫作為該系統(tǒng)的后臺數(shù)據(jù)庫支持創(chuàng)建超市倉庫管理系統(tǒng)。第二章 可行性研究 在IT行業(yè)中從業(yè)的工作人員一般都要求掌握計(jì)算機(jī)技術(shù),具
7、有一定的軟硬件基礎(chǔ),會使用各種管理軟件,熟悉IT產(chǎn)品。因?yàn)?,有的超市對員工的素質(zhì)要求比較高,從管理層到下面的銷售人員,都要求具有一定的計(jì)算機(jī)基礎(chǔ),所以在新系統(tǒng)投入使用時(shí),只要對員工進(jìn)行少量的培訓(xùn),系統(tǒng)的功能和使用方法就基本上能夠是系統(tǒng)順利運(yùn)行。在軟件開發(fā)方面,由于編程語言較多,而 VC 語言是一種面向?qū)ο蟮木幊坦ぞ?,VC 語言 是一種代碼簡單,易懂和維護(hù)的編程語言,為開發(fā)超市庫存管理系統(tǒng)提供技術(shù)支持。VC 不僅基于不同的平臺開發(fā),而且可以在不同的系統(tǒng)上進(jìn)行移植,從而加快了軟件的開發(fā),促進(jìn)了發(fā)展。 超市庫存管理系統(tǒng)就是基于這種簡單的語言,以 SQL 作為數(shù)據(jù)庫的后臺,訪問數(shù)據(jù) 庫,使軟件的開發(fā)更
8、為簡單,同時(shí)也提高了開發(fā)的速度。2.2 經(jīng)濟(jì)可行性研究因?yàn)橥ㄟ^網(wǎng)絡(luò)傳遞銷售信息可以不受距離的限制,因此可以借閱許多的人力和物力,方便管理,由此可以減少不必要的開支,同時(shí)該系統(tǒng)可以提高超市的銷售效率,即提高了超市的經(jīng)濟(jì)效益,所以從經(jīng)濟(jì)上完全是可行的。開發(fā)新系統(tǒng)的工作是一項(xiàng)間距復(fù)雜的工作,它的投資主要是人力和物力的投資。對于本系統(tǒng)的開發(fā)者來說,其主要投資還是在人力和物力兩個(gè)方面。如果是企業(yè)自己安排人手開發(fā)系統(tǒng)的話,其主要的投資還是在人力資源上,從系統(tǒng)的業(yè)務(wù)需求調(diào)查到系統(tǒng)的分析編碼制作都是需要巨大的人力投入的。軟件企業(yè)作為一個(gè)簡短的高科技產(chǎn)業(yè),其員工要求都比一般企業(yè)的要求要高,而且對系統(tǒng)開發(fā)及軟件產(chǎn)
9、業(yè)了解比較多,所以在自我開發(fā)管理系統(tǒng)的過程中,企業(yè)自己比較容易安排人手,這樣就可以為企業(yè)借閱大部分的額外開支。同時(shí)軟件就其它產(chǎn)品來說,屬于高端行業(yè),無論是產(chǎn)品的價(jià)格還是質(zhì)量都比較高,而經(jīng)營產(chǎn)品的經(jīng)銷商或者是商家都要求有雄厚的資金支持。所以,在系統(tǒng)的開發(fā)過程中,企業(yè)完全有能力承擔(dān)開發(fā)費(fèi)用。管理系統(tǒng)是一個(gè)信息化、智能化和先進(jìn)管理理念的集合體。而管理是一個(gè)動(dòng)態(tài)過程,在其運(yùn)行過程中要采取多項(xiàng)措施。所以在管理中獲得經(jīng)濟(jì)效益是一個(gè)綜合效益,要對它進(jìn)行直接定量的分析是比較困難的。一般新系統(tǒng)帶來的經(jīng)濟(jì)效益是簡介的,其最主要的表現(xiàn)就是減少了企業(yè)管理費(fèi)用和人力開支。而其它一些繁瑣的食物都通過新系統(tǒng)來加以分析解決,
10、不僅節(jié)省了大量的時(shí)間,還為企業(yè)的各項(xiàng)決策提供了寶貴的資料,為企業(yè)帶來巨大的經(jīng)濟(jì)效益。本系統(tǒng)采用基于Windows的圖形用戶界面,而該系統(tǒng)是大家熟悉的操作系統(tǒng),對于那些有一般的計(jì)算機(jī)知識的人員就可以輕松上手。而整個(gè)超市管理系統(tǒng)采用最友好的交互界面,簡介明了,不需要對數(shù)據(jù)庫進(jìn)行深入的了解。由此,該系統(tǒng)的操作是可行的,有必要開發(fā)該系統(tǒng)。綜合以上三方面,該系統(tǒng)具有很高的開發(fā)可行性,無論是從技術(shù)上或者經(jīng)濟(jì)上還是操作上。第三章 需求分析功能需求本系統(tǒng)采用自定向下方法開發(fā),為了適應(yīng)社會的發(fā)展和超市管理的需要,可以在原有功能之上進(jìn)行對系統(tǒng)功能的補(bǔ)充和調(diào)整,從而進(jìn)一步完善其需要。通過以上的需求分析,初步確定該系
11、統(tǒng)功能主要包括以下幾個(gè)模塊: 1.系統(tǒng)登錄:根據(jù)提供的用戶名、初始密碼進(jìn)行登錄驗(yàn)證,如果成功則進(jìn)入系統(tǒng),否則提示無法登錄。2.商品入庫:根據(jù)商品編號的首字母來進(jìn)行商品的分類,如果輸入的商品在數(shù)據(jù)庫中存在,則給出已有的信息,可以修改數(shù)量;如果輸入的商品不存在,則需要輸入全部信息。3.商品出庫:用于商品從倉庫售出的處理模塊。通過調(diào)用該模塊,用戶將商品的出庫信息添加到倉庫信息中 4.商品查詢:分類列出數(shù)據(jù)庫里全部的商品信息。5.商品更改、刪除:當(dāng)商品售出對數(shù)量進(jìn)行修改,或?qū)ζ渌畔⑦M(jìn)行修改,商品刪除,商品數(shù)量為0則進(jìn)行刪除。超市倉庫管理系統(tǒng)頂層數(shù)據(jù)流圖如下:商品匯總報(bào)表訂貨報(bào)表出庫單入庫單商品檢驗(yàn)商
12、品分析計(jì)劃超市倉庫管理系統(tǒng)計(jì)劃部門倉庫管理員銷售部門送貨員 超市倉庫管理系統(tǒng)頂層數(shù)據(jù)流2.超市倉庫管理系統(tǒng)0層數(shù)據(jù)流圖如下: 超市倉庫管理系統(tǒng)頂層數(shù)據(jù)流3.入庫信息管理1層數(shù)據(jù)流圖如下: 圖3.3 入庫信息管理1層數(shù)據(jù)流4.出庫信息管理1層數(shù)據(jù)流圖如下: 圖3.4 出庫信息管理1層數(shù)據(jù)流3.3 數(shù)據(jù)字典 數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,它的作用是在軟件分析和設(shè)計(jì)過程中提供關(guān)于數(shù)據(jù)的描述信息。數(shù)據(jù)字典和數(shù)據(jù)流圖共同構(gòu)成系統(tǒng)的邏輯模型。數(shù)據(jù)字典定義數(shù)據(jù)的方法就是對數(shù)據(jù)自頂向下地分解,當(dāng)分解到不需要進(jìn)一步定義,每個(gè)和工程有關(guān)的人員都清楚其含義的元素時(shí),這種分解過程就結(jié)束了。本倉庫管理系統(tǒng)根據(jù)劃分的模
13、塊定義了如下數(shù)據(jù)字典:名字:產(chǎn)生報(bào)表別名: 描述:按順序排列的訂貨信息的總表定義:產(chǎn)生報(bào)表貨物編號+貨物名稱+訂貨數(shù)量+目前價(jià)格+主要供應(yīng)者+次要供應(yīng)者位置:訂貨報(bào)表 訂貨信息 庫存清單 名字: 庫存信息 別名:庫存清單描述:當(dāng)前倉庫所有的貨物的信息定義:庫存信息貨物編號+貨物名稱+貨物數(shù)量+貨物價(jià)格+供應(yīng)商+倉庫號+日期位置:訂貨報(bào)表 訂貨信息 產(chǎn)生報(bào)表名字: 入庫信息表別名: 入庫信息描述: 作為倉庫管理日志和資料,是更新倉庫貨物記錄、保證庫存貨物統(tǒng)一管理的依據(jù)定義: 入庫信息表貨物編號+貨物名稱+貨物數(shù)量+貨物價(jià)格+供應(yīng)商+倉庫號+日期位置:輸出到打印機(jī)名字: 出庫信息表別名: 出庫信息
14、描述:作為倉庫管理日志和資料,是更新倉庫貨物記錄、保證庫存貨物統(tǒng)一管理的依據(jù)定義:出庫信息表貨物編號+貨物名稱+貨物數(shù)量+貨物價(jià)格+供應(yīng)商+倉庫號+日期位置:輸出到打印機(jī)名字:訂貨報(bào)表別名:訂貨信息描述:每天一次送給采購員的需要定貨的貨物表定義:訂貨報(bào)表貨物編號+貨物名稱+訂貨數(shù)量+目前價(jià)格+主要供應(yīng)者+次要供應(yīng)者位置:輸出到打印機(jī)名字: 貨物編號別名: 描述:唯一標(biāo)識庫存清單中一個(gè)特定貨物的關(guān)鍵域定義:貨物編號8字符8位置:訂貨報(bào)表 訂貨信息 庫存清單 事務(wù) 入庫單 出庫單 名字:訂貨數(shù)量別名: 描述:某個(gè)貨物一次定貨的數(shù)量定義:訂貨數(shù)量1數(shù)字5位置:訂貨報(bào)表 訂貨信息 名字: 貨物名稱別名
15、: 描述:貨物的名字定義:位置:訂貨報(bào)表 訂貨信息 庫存清單 事務(wù) 入庫單 出庫單名字:貨物數(shù)量別名: 描述: 入/出庫總的貨物數(shù)量定義:貨物數(shù)量0數(shù)字7位置:入庫單 出庫單名字: 當(dāng)前價(jià)格別名: 描述:特定貨物的單價(jià)定義:貨物價(jià)格1數(shù)字5位置:訂貨報(bào)表 訂貨信息 庫存清單 事務(wù) 名字:供應(yīng)商別名: 描述: 提供貨物的商家定義:供應(yīng)商8字符8位置:訂貨報(bào)表 訂貨信息 庫存清單 入庫單 出庫單名字: 倉庫號別名: 描述:唯一標(biāo)識貨物存放的地點(diǎn)定義:倉庫號8字符8位置:入庫單 出庫單名字:價(jià)格別名: 描述: 貨物入/出庫貨物的單價(jià)以及總價(jià)定義:價(jià)格1數(shù)字5位置:入庫單 出庫單名字: 日期別名: 描
16、述:貨物入/出庫的更新日期定義:日期8字符位置:入庫單 出庫單名字:入庫單別名: 描述:每天入庫貨物的信息匯總定義:入庫單貨物編號+貨物名稱+貨物數(shù)量+貨物價(jià)格+供應(yīng)商+倉庫號+當(dāng)前日期 位置:庫存清單 入庫單 出庫單名字: 出庫單別名: 描述:每天出庫貨物信息的匯總定義:出庫信息表貨物編號+貨物名稱+貨物數(shù)量+貨物價(jià)格+供應(yīng)商+倉庫號+當(dāng)前日期位置:庫存清單 入庫單 出庫單名字:有效單據(jù)別名: 描述:目前有用的入庫出庫信息單據(jù)定義:日期+入出庫貨物信息位置:入庫單 出庫單名字: 無效單據(jù)別名: 描述:目前無用的入庫出庫信息單據(jù)定義:日期+入出庫貨物信息位置:入庫單 出庫單3.4 建立E-R圖
17、通常使用實(shí)體-聯(lián)系圖來建立數(shù)據(jù)模型,可以把實(shí)體-聯(lián)系圖簡稱為E-R圖,相應(yīng)地可以把E-R圖描繪的數(shù)據(jù)模型稱為E-R模型。E-R圖中包含了實(shí)體(即數(shù)據(jù)對象)、關(guān)系和屬性等三種基本成分。通常,用矩形框代表實(shí)體,用連接相關(guān)實(shí)體的菱形框表示關(guān)系,用橢圓或圓角矩形表示實(shí)體或關(guān)系的屬性,并用直線把實(shí)體(或關(guān)系)與其屬性連接起來。1.超市倉庫管理系統(tǒng)數(shù)據(jù)庫E-R模型,如圖3.5所示:2.預(yù)訂單實(shí)體E-R圖如下:3.入庫單實(shí)體E-R圖如下: 4.商品庫存實(shí)體E-R圖如下: 5.商品信息實(shí)體E-R圖如下: 6.商品出庫單實(shí)體E-R圖如下: 第四章 概要設(shè)計(jì) 1.系統(tǒng)分成系統(tǒng)登錄、商品入庫、商品出庫、商品查詢、商
18、品更改、刪除等幾個(gè)功能模塊。但這些模塊都進(jìn)行集中式管理。 2.分層的模塊化程序設(shè)計(jì)思想,整個(gè)系統(tǒng)采用模塊化結(jié)構(gòu)設(shè)計(jì)。作為應(yīng)用程序有較強(qiáng)的可操作性和擴(kuò)展性。 3.合理的數(shù)據(jù)流設(shè)計(jì),在應(yīng)用系統(tǒng)設(shè)計(jì)中,相對獨(dú)立的模塊間以數(shù)據(jù)流相互連接,使各模塊間的耦合性較低,方便系統(tǒng)運(yùn)行,提高系統(tǒng)安全性。每個(gè)模塊又包含多項(xiàng)子功能:(1)登錄模塊:對登陸系統(tǒng)的用戶進(jìn)行身份驗(yàn)證,確定用戶是否擁有使用該系統(tǒng)的資格,任何用戶登陸系統(tǒng)都調(diào)用此模塊。 (2)進(jìn)行身份驗(yàn)證:根據(jù)提供的用戶名、初始密碼進(jìn)行登錄驗(yàn)證,如果成功則進(jìn)入系統(tǒng),否則提示無法登錄。商品入庫:用于新的商品添加到倉庫的處理模塊入庫的商品信息:根據(jù)商品編號的首字母來
19、進(jìn)行商品的分類,如果輸入的商品在數(shù)據(jù)庫中存在,則給出已有的信息,可以修改數(shù)量;如果輸入的商品不存在,則需要輸入全部信息。商品查詢:供系統(tǒng)使用人員對商品信息進(jìn)行查詢的模塊。列出商品信息:分類列出數(shù)據(jù)庫里全部的商品信息。商品修改:供系統(tǒng)使用人員對商品信息進(jìn)行修改的模塊。對商品進(jìn)行修改:選擇需修改的商品信息進(jìn)行修改。商品出庫:用于舊的商品從倉庫中輸出。出庫的商品信息:根據(jù)商品編號的首字母來進(jìn)行商品的分類,如果輸入的商品在數(shù)據(jù)庫中存在,則選擇輸出,可以修改數(shù)量;如果輸入的商品不存在,則不需要輸出。商品刪除:用于商品數(shù)量的刪除。商品數(shù)量的刪除:商品數(shù)量是零。4 系統(tǒng)功能模塊設(shè)計(jì) 在系統(tǒng)功能分析的基礎(chǔ)上,
20、考慮到Visual c+程序編制的特點(diǎn),得到如下圖所示的系統(tǒng)功能模塊圖。圖4.1 系統(tǒng)功能模塊狀態(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ài)主要有:初態(tài)、終態(tài)和中間狀態(tài),在一張狀態(tài)圖中只能有一個(gè)初態(tài),而終態(tài)則可以有0個(gè)至多個(gè)。在狀態(tài)圖中,初態(tài)用實(shí)心圓表示,終態(tài)用一對同心圓(內(nèi)圓為實(shí)心圓)表示。中間狀態(tài)用圓角矩形表示,可以使用兩條水平橫線把它分成上、中、下3個(gè)部分,分別防止?fàn)顟B(tài)名、狀態(tài)變量和活動(dòng)表。事件是在某個(gè)特定時(shí)刻發(fā)生的事情,它是對引起系統(tǒng)動(dòng)作
21、或(或)從一個(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á)式。1.超市倉庫管理登陸轉(zhuǎn)換圖如下:登陸界面驗(yàn)證帳戶輸入密碼不合法帳戶驗(yàn)證權(quán)限合法帳戶查詢、修改自身信息;修改其他用戶權(quán)限;添加新用戶;查詢、修改、注銷、添加客戶信息;查詢、修改、添加、刪除產(chǎn)品信息;查詢、修改、添加、刪除出、入庫信息查詢、修改自身信息;查詢客戶信息;查詢出、入庫信息;查詢產(chǎn)品信息管理權(quán)限普通權(quán)限圖4.2 超市倉庫管理登陸轉(zhuǎn)換圖2.超市倉庫管理入庫、出庫狀態(tài)轉(zhuǎn)換圖如下: 圖4.3
22、 .超市倉庫管理入庫、出庫狀態(tài)轉(zhuǎn)換第五章 詳細(xì)設(shè)計(jì)超市倉庫管理系統(tǒng)它主要包括系統(tǒng)登錄、商品入庫、商品出庫、商品查詢、商品更改、刪除等幾個(gè)功能模塊。本次課程設(shè)計(jì)主要對系統(tǒng)登陸模塊、商品入庫模塊進(jìn)行詳細(xì)設(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ù)的存取方法和存儲結(jié)構(gòu)。數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計(jì)分為兩個(gè)部分,首先是確定數(shù)據(jù)庫的物理結(jié)構(gòu),其次是對所設(shè)計(jì)的物理結(jié)構(gòu)進(jìn)行評估。為確定數(shù)據(jù)庫的物理結(jié)構(gòu),設(shè)計(jì)人員必須了解下面的幾個(gè)問題。(1)詳細(xì)了解給定的DBMS的功能和特點(diǎn),特別是該DBMS所提供的物理環(huán)境和功能;(2)熟悉應(yīng)用環(huán)境,了解所設(shè)計(jì)
23、的應(yīng)用系統(tǒng)中各部分的重要程度、處理頻率、對響應(yīng)時(shí)間的要求,并把它們作為物理結(jié)構(gòu)設(shè)計(jì)過程中平衡時(shí)間和空間效率時(shí)的依據(jù);(3)了解外存設(shè)備的特性, 如分塊原則、塊因子大小的規(guī)定、設(shè)備的I/O特性等。2.在對上述問題進(jìn)行了全面的了解之后,就可以進(jìn)行物理結(jié)構(gòu)的設(shè)計(jì)了。一般地,物理結(jié)構(gòu)設(shè)計(jì)的內(nèi)容包括如下幾個(gè)方面。(1)確定數(shù)據(jù)的存儲結(jié)構(gòu)。在此過程中需考慮存取時(shí)間、空間效率和維護(hù)代價(jià)間的平衡,如在引入冗余數(shù)據(jù)以加快存取速度時(shí)應(yīng)兼顧系統(tǒng)的空間效率。(2)選擇合適的存取路徑,例如確定應(yīng)該為哪些關(guān)系模式建立索引,索引關(guān)鍵字是什么等。(3)確定數(shù)據(jù)的存放位置,例如確定數(shù)據(jù)存放在一個(gè)磁盤上還是多個(gè)磁盤上,什么數(shù)據(jù)該
24、存放在高速存儲器上,什么應(yīng)該存放在低速存儲器上等。(4)確定存取分布,許多DBMS都提供了一些存儲分配參數(shù)供設(shè)計(jì)者使用,例如緩沖區(qū)的大小和個(gè)數(shù)、塊的長度、塊因子的大小等,設(shè)計(jì)者必須規(guī)定其中的一些參數(shù)的位置。數(shù)據(jù)庫表的結(jié)構(gòu)具體情況如下:表5-1預(yù)定單表字段名稱數(shù)據(jù)類型說明預(yù)定單號int(4)主鍵,不能為空商品號int(4)不能為空商品名char(50)不能為空數(shù)量int(4)不能為空價(jià)格money(8)不能為空供應(yīng)商char(50)可以為空采購員Char(10)不能為空收貨時(shí)間int(4)不能為空表5-2入庫單表字段名稱數(shù)據(jù)類型說明入庫單編號int(4)不能為空,主鍵商品號int(4)不能為空商
25、品名Char(50)不能為空數(shù)量int(4)不能為空價(jià)格money(8)不能為空入庫時(shí)間datetime(8)不能為空采購員char(10)不能為空倉庫管理人員char(10)不能為空預(yù)定單號char(10)不能為空表5-3商品庫存表字段名稱數(shù)據(jù)類型說明商品號int(4)不能為空,主鍵商品名char(50)不能為空商品最大庫存int(4)不能為空商品現(xiàn)有庫存int(4)不能為空表5-4出庫單表字段名稱數(shù)據(jù)類型說明出庫數(shù)量int(4)不能為空商品號int(4)不能為空,主鍵商品名char(50)不能為空倉庫管理員char(10)不能為空出庫時(shí)間datetime(8)不能為空表5-6商品信息表字段
26、名稱數(shù)據(jù)類型說明商品號int(4)不能為空,主鍵商品名char(10)不能為空商品數(shù)量int(4)不能為空商品產(chǎn)地char(10)不能為空生產(chǎn)日期Datetime(8)不能為空保質(zhì)期char(10)不能為空商品進(jìn)價(jià)int(4)不能為空備注Char(50)可以為空由于在物理設(shè)計(jì)過程中需要考慮的因素很多,包括時(shí)間和空間效率、維護(hù)代價(jià)和用戶的要求等,對這些因素進(jìn)行權(quán)衡后,可能會產(chǎn)生多種物理設(shè)計(jì)方案。這一階段需對各種可能的設(shè)計(jì)方案進(jìn)行評價(jià),評價(jià)的重點(diǎn)是系統(tǒng)的時(shí)間和空間效率,并從多個(gè)方案中選出較優(yōu)的物理結(jié)構(gòu)。 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是根據(jù)E-R模型和需求分析所產(chǎn)生的文檔,并綜合考慮所選擇的具體DBMS
27、的特點(diǎn),設(shè)計(jì)出整個(gè)數(shù)據(jù)庫的邏輯結(jié)構(gòu)。一般來說,選擇哪一種DBMS存放數(shù)據(jù),是由系統(tǒng)分析員和用戶(一般是企業(yè)的高級管理人員)決定的。需要考慮的因素包括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),將全局E-R模型轉(zhuǎn)換成一個(gè)初始的關(guān)系模型。然后,對其中的每個(gè)關(guān)系模式進(jìn)行分析,判斷是否存在不合理的關(guān)系模式,如有則利用關(guān)系模式的規(guī)范化方法消除
28、之。 將超市倉庫管理系統(tǒng)的E-R圖轉(zhuǎn)換成關(guān)系模式為: (1)預(yù)訂單(預(yù)訂單號,商品號,商品名,數(shù)量,價(jià)格,供應(yīng)商,采購員,收貨時(shí)間); (2)入庫單(入庫單編號,商品號,商品名,數(shù)量,價(jià)格,入庫時(shí)間,采購員,倉庫管理人員,預(yù)訂單號); (3)商品庫存表(商品號,商品名,商品最大庫存,商品現(xiàn)有庫存); (4)出庫單(出庫數(shù)量,商品號,商品名,倉庫管理員,出庫時(shí)間);商品信息(商品號,商品名,商品數(shù)量,商品產(chǎn)地,生產(chǎn)日期,保質(zhì)期,商品進(jìn)價(jià),備注);5.3 模塊功能設(shè)計(jì)本次課程設(shè)計(jì)主要對系統(tǒng)登陸模塊、商品入庫模塊、商品出庫模塊進(jìn)行詳細(xì)設(shè)計(jì)。功能描述對登陸系統(tǒng)的用戶進(jìn)行身份驗(yàn)證,確定用戶是否擁有使用該
29、系統(tǒng)的資格,任何用戶登陸系統(tǒng)都調(diào)用此模塊。主要算法if 用戶名 and 口令 正確以該用戶身份進(jìn)入系統(tǒng)總控制界面并獲得響應(yīng)系統(tǒng)權(quán)限else提示“用戶名或口令錯(cuò)誤”累計(jì)錯(cuò)誤三次,自動(dòng)關(guān)閉本系統(tǒng)end if功能描述產(chǎn)品出庫功能模塊是用于產(chǎn)品從倉庫售出的處理模塊。通過調(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ā)的處理:將用戶填寫的
30、產(chǎn)品入庫信息清空重新填寫。退出按鈕觸發(fā)的處理:關(guān)閉產(chǎn)品出庫窗口并返回主控制界面。第六章 編碼與測試 本次課程設(shè)計(jì)主要對系統(tǒng)登陸模塊、商品出庫模塊進(jìn)行編碼與測試。 (1)功能:用戶輸入用戶名和密碼后,系統(tǒng)進(jìn)行驗(yàn)證,驗(yàn)證通過進(jìn)入程序的主界面。圖6.1 登陸模塊界面 (2)部分主要代碼如下: public bool Veri(string tb_table, string Id, string Pwd) DataClass.MyMeans MyClass = new SMMS.DataClass.MyMeans(); bool jud = false; if (Id != & Pwd != ) Sq
31、lDataReader temDR = MyClass.getcom(select * from + tb_table + where UserName= + Id.Trim() + and Pass= + Pwd.Trim() + ); jud = temDR.Read(); if (jud) DataClass.MyMeans.Login_Name = Id.Trim(); DataClass.MyMeans.Login_ID = temDR.GetString(0); DataClass.MyMeans.My_con.Close(); DataClass.MyMeans.My_con.D
32、ispose(); else MessageBox.Show(用戶名或密碼錯(cuò)誤!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); MyClass.con_close(); else MessageBox.Show(請將登錄信息添寫完整); return jud; (1) 功能:這里包括常用的對倉庫的基本業(yè)務(wù)的處理的過程,包括物品的出庫的管理的過程,能夠準(zhǔn)確的反映對倉庫的管理的過程的實(shí)現(xiàn)的過程。圖6.2 出庫模塊界面(2)部分主要代碼如下: private void btnAdd_Click(object sender, Event
33、Args e) bool t = false; string txt; string RecID; if (txtID.Text = ) MessageBox.Show(請輸入商品名稱!); txtID.Focus(); else if (txtAmount.Text = ) MessageBox.Show(請輸入商品數(shù)量!); txtAmount.Focus(); else txt =txtID.Text.Trim(); SqlDataReader temDR = MyDataClass.getcom(select * from tb_Goods where GoodsID = + txt
34、+ ); t = temDR.Read(); if (!t) MessageBox.Show(此商品不存在!); txtID.Text = ; txtID.Focus(); else string Find_SQL2; string RecID2; try string GoodsID; string SupplierID; string datep; string dateb; datep =comPy.Text + / + comPm.Text + / + comPd.Text; dateb = comBy.Text + / + comBm.Text + / +comBd.Text; Go
35、odsID = txtID.Text; SupplierID = My_Set.Tables0.RowscomSupplier.SelectedIndex0.ToString(); RecID = MyMC.GetAutocoding(tb_Buy, BuyID);/獲取編號 RecID2 = MyMC.GetAutocoding(tb_Stock, StockID);/獲取編號 Find_SQL = insert into tb_Buy(BuyID,GoodsID,EmployeeID,Price,Amount,Datep,Dateb,SupplierID,Remark) values (
36、+ RecID + , +txtID.Text + , + DataClass.MyMeans.Login_Name + ,+txtPrice.Text +,+ txtAmount.Text+ ,+datep+,+dateb+,+SupplierID+,+txtRemark.Text+); Find_SQL2 = Update tb_Stock set Amount = Amount + +txtAmount.Text+where GoodSID=+GoodsID+; MyDataClass.getsqlcom(Find_SQL); MyDataClass.getsqlcom(Find_SQL
37、2);/向庫存添加信息 MessageBox.Show(添加成功!); ListViewItem l = new ListViewItem(); l.Text =RecID; l.SubItems.Add(txtID.Text); l.SubItems.Add(txtPrice.Text); l.SubItems.Add(txtAmount.Text); l.SubItems.Add(comSupplier.Text); l.SubItems.Add(txtRemark.Text); listView1.Items.Add(l); btnCancle_Click(sender, e); catch (Exception ec) MessageBox.Show(e
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ct室裝修合同范例
- 培訓(xùn)機(jī)構(gòu)正規(guī)合同模板
- 商鋪工程維修合同模板
- 床鋪合同范例
- 農(nóng)村樹木采購合同范例
- 廣告燈箱裝飾合同范例
- 與國外合同范例
- 2024年??隈{駛員客運(yùn)從業(yè)資格證模擬考試題庫答案
- 2024年牡丹江客運(yùn)從業(yè)資格證考試模板
- 2024年西藏駕??瓦\(yùn)從業(yè)資格證模擬考試題庫
- 電動(dòng)叉車堆垛車日常點(diǎn)檢表
- 2022年1月浙江高考讀后續(xù)寫分析課件-2023屆高三英語寫作專項(xiàng)突破
- 危險(xiǎn)化學(xué)品和煙花爆竹安全管理
- 山東航空招飛報(bào)名表
- 第23課《孟子三章-富貴不能淫》對比閱讀 (含答案)
- 心力衰竭急性心力衰竭和慢性心力衰竭
- 【醫(yī)院管理案例學(xué)習(xí)】-床單位終末消毒標(biāo)準(zhǔn)的執(zhí)行
- 施工現(xiàn)場移交交接單個(gè)人自制
- 心臟驟停與心源性猝死的急救與護(hù)理
- 甘肅省重點(diǎn)實(shí)驗(yàn)室申請書
- 中國胸痛中心數(shù)據(jù)填報(bào)平臺胸痛患者出院隨訪數(shù)據(jù)信息采集表
評論
0/150
提交評論