第一篇:倉庫管理系統(tǒng)課程設(shè)計(jì)報(bào)告
《軟件工程》課程設(shè)計(jì)報(bào)告
倉庫信息管理系統(tǒng)
專業(yè)班級(jí): 學(xué)生學(xué)號(hào): 學(xué)生姓名: 指導(dǎo)教師姓名:
2016年月
目錄
一、系統(tǒng)可行性研究.......................................2
二、系統(tǒng)的需求分析.......................................5
三、系統(tǒng)概要設(shè)計(jì)........................................14
四、系統(tǒng)的詳細(xì)設(shè)計(jì)......................................17
五、系統(tǒng)的實(shí)現(xiàn)和測(cè)試....................................20
六、實(shí)驗(yàn)總結(jié)............................................26
倉庫信息管理系統(tǒng)一、系統(tǒng)可行性研究
1.1引言 1.1.1編寫目的
為了以最小的代價(jià)在最短的時(shí)間內(nèi)確定倉庫管理系統(tǒng)項(xiàng)目是否值得去開發(fā),其中的關(guān)鍵和技術(shù)難點(diǎn)是什么,問題能否得到解決,怎樣達(dá)到目的?我們編寫了可行性報(bào)告以對(duì)這些問題進(jìn)行分析。
除此之外,經(jīng)過對(duì)此項(xiàng)目進(jìn)行詳細(xì)調(diào)查研究,我們初步擬定了系統(tǒng)實(shí)現(xiàn)報(bào)告,對(duì)軟件開發(fā)中將要面臨的問題及其解決方案進(jìn)行初步設(shè)計(jì)及合理安排。明確開發(fā)風(fēng)險(xiǎn)及其所帶來的經(jīng)濟(jì)效益。以便于中小規(guī)模工廠的倉庫管理人員閱讀及理解整個(gè)項(xiàng)目。1.1.2項(xiàng)目背景
開發(fā)的軟件系統(tǒng)的名稱:倉庫信息管理系統(tǒng) 項(xiàng)目提出者: 項(xiàng)目開發(fā)者:
項(xiàng)目使用者:倉庫管理人員 1.2可行性研究的前提 1.2.1要求
A.功能:極大提高倉庫工作人員的工作效率,大大減少以往入貨、出庫流程繁瑣,雜亂,周期長的弊端;基于倉庫管理的全面自動(dòng)化,減少入庫管理、出庫管理及庫存管理中的漏洞,節(jié)約不少管理開支,增加企業(yè)收入;實(shí)現(xiàn)倉庫的管理操作自動(dòng)化和信息的電子化,全面提高倉庫的管理水平。
B.性能:系統(tǒng)的存貨信息必須保持更新狀態(tài),客戶的產(chǎn)品出入庫信息必須無差錯(cuò),及時(shí)的 保存到倉庫管理系統(tǒng)的服務(wù)器上,對(duì)服務(wù)器上的數(shù)據(jù)必須定時(shí)的檢查并與倉庫中存放的貨物進(jìn)行核對(duì)。
C.本系統(tǒng)要求輸出的數(shù)據(jù)有:數(shù)據(jù)完整,詳實(shí),及時(shí)。
在此方面,若此項(xiàng)目投入使用,將給企業(yè)帶來豐厚的經(jīng)濟(jì)效益社會(huì)效益。并且,此項(xiàng)目開發(fā)成本低,占用資源少,在經(jīng)濟(jì)方面可行。1.5操作可行性分析
本系統(tǒng)設(shè)計(jì)思路清晰,操作簡(jiǎn)捷,具有良好的用戶界面,和較為完善的異常處理機(jī)制及信息處理機(jī)制,一般倉庫管理者稍加培訓(xùn)即可使用。在操作方面可行。
二、系統(tǒng)的需求分析
2.1功能描述
本軟件主要有以下幾方面的功能:
(1)信息管理:可對(duì)商品進(jìn)行查詢,刪除,修改操作,完成對(duì)商品信息管理的功能;
(2)庫存管理:對(duì)商品入庫,出庫的管理。2.2數(shù)據(jù)流圖 2.2.1數(shù)據(jù)流分析
數(shù)據(jù)流圖是組織中信息運(yùn)動(dòng)的抽象,是管理信息系統(tǒng)邏輯模型的主要形式。它可以綜合的反映出信息在系統(tǒng)中的流動(dòng)、處理和存儲(chǔ)情況,具有良好的抽象性
商品入庫請(qǐng)求商品入庫管理入庫商品信息更新商品信息出庫商品信息商品出庫請(qǐng)求商品出庫管理庫存商品信息更新后的商品信息修改商品請(qǐng)求刪除商品請(qǐng)求商品信息管理商品信息庫存商品信息表商品清單查詢商品請(qǐng)求圖2-2 二層數(shù)據(jù)流圖
對(duì)每一個(gè)功能模塊的分解圖
(1)對(duì)第一個(gè)模塊“商品入庫管理”的細(xì)分圖
商品入庫管理子系統(tǒng)包含兩個(gè)功能模塊:“商品入庫”、“處理商品”; 一個(gè)文件存儲(chǔ):“入庫商品信息表”
入庫請(qǐng)求1商品入庫商品編號(hào)1.11.21.31.4商品名稱商品數(shù)量商品價(jià)格輸入商品編輸入商品名輸入商品數(shù)輸入商品價(jià)號(hào)稱量格商品信息入庫商品信息表入庫商品信息
圖2-3 “商品入庫管理”分解圖
(2)對(duì)“商品出庫管理”的細(xì)分圖
商品出庫管理子系統(tǒng)包含兩個(gè)功能模塊:“商品出庫”、“處理商品”;
一個(gè)文件存儲(chǔ):“出庫商品信息表”
入庫請(qǐng)求1商品入庫商品編號(hào)1.1輸入商品編號(hào)商品名稱商品價(jià)格1.21.31.4商品數(shù)量輸入商品名輸入商品數(shù)輸入商品價(jià)稱量格商品信息商品商品出庫信息出庫商品信息表入庫商品信息表出庫商品信息出庫請(qǐng)求2商品出庫商品名稱2.1輸入商品名稱商品數(shù)量2.2輸入出庫數(shù)量入庫商品信息6更新商品信息3刪除商品輸入商品編號(hào)3.1輸入商品編號(hào)輸入商品名稱3.2輸入商品名稱商更新后的商品品信息信息輸入編號(hào)4.1.1輸入商品編號(hào)輸入名稱4.1.2輸入商品名稱商品信息庫存商品信息刪除商品請(qǐng)求管理員查詢商品信息請(qǐng)求44.1請(qǐng)求分類查詢商品信按條件查詢息商品信息請(qǐng)求分類4.2查詢所有商品信息庫存商品信息表查詢所有商品信息請(qǐng)求庫存商品信息5.2輸入新的編號(hào)修改后的商品信息輸出信息修改商品信息請(qǐng)求修改編號(hào)商品名稱5修改商品信息5.1輸入商品名稱管理員修改數(shù)量修改后的商品信息5.3輸入新的數(shù)量
圖2-6 底層數(shù)據(jù)流圖
2.3 數(shù)據(jù)字典
數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析后所獲得的主要成果。該系統(tǒng)的數(shù)據(jù)字典如下: 2.3.1 數(shù)據(jù)流
數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析后所獲得的主要成果。該系統(tǒng)的數(shù)據(jù)字典如下:
1.數(shù)據(jù)源點(diǎn)和終點(diǎn)描述(1)名稱:商品
加工編號(hào):1.4 輸入數(shù)據(jù)流:商品數(shù)量
輸出數(shù)據(jù)流:商品信息
加工邏輯:輸入商品價(jià)格,輸出商品信息(6)加工名:商品出庫
加工編號(hào):2 輸入數(shù)據(jù)流:出庫請(qǐng)求
輸出數(shù)據(jù)流:商品名稱
加工邏輯:接收出庫請(qǐng)求(7)加工名:輸入商品名稱
加工編號(hào):1.2 輸入數(shù)據(jù)流:商品名稱
輸出數(shù)據(jù)流:商品數(shù)量
加工邏輯:輸入商品名稱(8)加工名:輸入出庫數(shù)量
加工編號(hào):2.2 輸入數(shù)據(jù)流:商品數(shù)量
輸出數(shù)據(jù)流:商品出庫信息
加工邏輯:輸入出庫數(shù)量(9)加工名:更新商品信息
加工編號(hào):6 輸入數(shù)據(jù)流:出庫商品信息,入庫商品信息,庫存商品信息
輸出數(shù)據(jù)流:更新后的商品信息
加工邏輯:接收修改的商品信息進(jìn)行修改(10)加工名:刪除商品
加工編號(hào):3 輸入數(shù)據(jù)流:刪除商品請(qǐng)求
輸出數(shù)據(jù)流:輸入商品編號(hào)
加工邏輯:接收刪除請(qǐng)求
0 加工邏輯:修改商品信息
3.文件存儲(chǔ)
(1)文件名稱:入庫商品信息表
簡(jiǎn)述:存放入庫的商品信息
輸入數(shù)據(jù):商品信息
輸出數(shù)據(jù):入庫商品信息
文件組成:商品的編號(hào)、名稱、數(shù)量、價(jià)格(2)文件名稱:出庫商品信息表
簡(jiǎn)述:存放出庫的商品信息
輸入數(shù)據(jù):商品的出庫信息
輸出數(shù)據(jù):出庫商品信息
文件組成:出庫商品數(shù)量(3)文件名稱:庫存商品信息表
簡(jiǎn)述:存放所有商品信息
輸入數(shù)據(jù):更新后的商品信息,修改后的商品信息,刪除后的商品信息
輸出數(shù)據(jù):庫存商品信息
文件組成:商品的編號(hào)、名稱、數(shù)量、價(jià)格
4.數(shù)據(jù)流
(1)數(shù)據(jù)流名字:入庫請(qǐng)求 描述:對(duì)商品進(jìn)行入庫 組成:入庫命令
(2)數(shù)據(jù)流名字:入庫商品信息 描述:對(duì)入庫商品信息處理
組成:入庫商品信息=商品編號(hào)+名稱+數(shù)量+價(jià)格(3)數(shù)據(jù)流名字:商品編號(hào) 描述:輸入商品編號(hào) 組成:商品編號(hào)
三、系統(tǒng)概要設(shè)計(jì)
3.1總體結(jié)構(gòu)和模塊設(shè)計(jì) 3.1.1總體結(jié)構(gòu)設(shè)計(jì)
模塊是軟件結(jié)構(gòu)的基礎(chǔ),軟件結(jié)構(gòu)的好壞完全由模塊的屬性體現(xiàn)出來,把軟件模塊化的目的是為了降低軟件復(fù)雜性,使軟件設(shè)計(jì),測(cè)試,調(diào)試,維護(hù)等工作變得簡(jiǎn)易,但隨著模塊數(shù)目的增加,通過接口連接這些模塊的工作量也隨之增加。1.總體結(jié)構(gòu)框圖
倉庫信息管理系統(tǒng)庫存管理信息管理商品入庫商品出庫刪除商品修改商品查詢商品信息按條件查詢商品信息查詢所有商品信息
圖3-1系統(tǒng)總體結(jié)構(gòu)圖
2.模塊說明
信息管理系統(tǒng)刪除請(qǐng)求修改請(qǐng)求輸入名稱輸入商品名稱輸入標(biāo)號(hào)輸入新編號(hào)商品信息查詢請(qǐng)求刪除商品信息刪除商品信息接收信息查詢商品信息反饋信息請(qǐng)求分類請(qǐng)求分類修改商品信息輸入編號(hào)反饋輸入名稱反饋接收信息按條件查詢商查詢所有商品品信息接商收品信信息息輸入商品編號(hào)及名稱輸入商品編號(hào)輸入商品名稱反饋輸入數(shù)量反饋輸入新數(shù)量
圖3-3信息管理子系統(tǒng)結(jié)構(gòu)圖
(3)庫存管理子系統(tǒng)結(jié)構(gòu)圖如圖3-4所示
庫存管理系統(tǒng)入庫請(qǐng)求出庫請(qǐng)求入庫商品信息商品入庫出庫商品信息商品出庫輸入編號(hào)反饋輸入名稱輸入反數(shù)饋量反饋反饋輸入價(jià)格輸入商品價(jià)格輸入名稱反饋信息輸入商品名稱輸入數(shù)量反饋信息輸入商品編號(hào)輸入商品名稱輸入商品數(shù)量輸入商品數(shù)量
圖3-4 庫存管理子系統(tǒng)結(jié)構(gòu)圖
四、系統(tǒng)的詳細(xì)設(shè)計(jì)
4.1總體結(jié)構(gòu)和模塊設(shè)計(jì)
6儲(chǔ)在入庫商品信息表中。
商品出庫模塊模塊:輸入出庫商品的編號(hào)以及出庫的數(shù)量,把出庫后的商品信息保存在出庫商品信息表中。
刪除商品模塊:先輸入商品的編號(hào)及名稱,再刪除該商品在庫存商品信息表中的信息。
修改商品信息模塊:先輸入商品的編號(hào)及名稱,在庫存商品信息表中查詢到該商品信息,再修改其對(duì)應(yīng)信息。
查詢商品信息模塊:輸入編號(hào)查詢商品在庫存商品信息表中的信息或查詢庫存商品信息表中的所有商品的信息。4.1.2各個(gè)模塊設(shè)計(jì)
(1)根據(jù)數(shù)據(jù)畫出的結(jié)構(gòu)圖如圖3-2所示
倉庫信息管理系統(tǒng)商品信息商品信息請(qǐng)求處理庫存管理系統(tǒng)請(qǐng)求處理信息管理系統(tǒng)
圖4-2 倉庫信息管理系統(tǒng)結(jié)構(gòu)圖
(2)信息管理子系統(tǒng)結(jié)構(gòu)圖如圖3-3所示
8商品入庫操作
商品出庫操作
出庫后的商品信息
出庫數(shù)量多余商品數(shù)量時(shí)
0
當(dāng)刪除的商品不存在是
修改商品操作
修改商品界面
商品信息查詢界面
所有商品信息
六、實(shí)驗(yàn)總結(jié)
包括實(shí)驗(yàn)問題中遇到問題,解決過程的分析;實(shí)驗(yàn)心得體會(huì)等,不得抄襲!
第二篇:倉庫管理系統(tǒng)課程設(shè)計(jì)報(bào)告
倉庫管理系統(tǒng)課程設(shè)計(jì)報(bào)告
一、概述
項(xiàng)目背景:
倉庫管理在企業(yè)的整個(gè)供應(yīng)鏈中起著至關(guān)重要的作用,如果不能保證正確的進(jìn)貨和庫存控制及發(fā)貨,將會(huì)導(dǎo)致管理費(fèi)用的增加,服務(wù)質(zhì)量難以得到保證,從而影響企業(yè)的競(jìng)爭(zhēng)力。傳統(tǒng)簡(jiǎn)單、靜態(tài)的倉庫管理已無法保證企業(yè)各種資源的高效利用。如今的倉庫作業(yè)和庫存控制作業(yè)已十分復(fù)雜化多樣化,僅靠人工記憶和手工錄入,不但費(fèi)時(shí)費(fèi)力,而且容易出錯(cuò),給企業(yè)帶來巨大損失。使用倉庫管理系統(tǒng) , 對(duì)倉庫各環(huán)節(jié)實(shí)施全過程控制管理,并可對(duì)貨物進(jìn)行貨位、批次、保質(zhì)期、配送等實(shí)現(xiàn)系統(tǒng)列號(hào)管理,對(duì)整個(gè)收貨、發(fā)貨、補(bǔ)貨、集貨、送貨等各個(gè)環(huán)節(jié)的規(guī)范化作業(yè) , 還可以根據(jù)客戶的需求制作多種合理的統(tǒng)計(jì)報(bào)表。倉庫管理系統(tǒng)能幫助企業(yè)合理有效地利用倉庫空間,以快速、準(zhǔn)確、低成本的方式為客戶提供最好的服務(wù)。
系統(tǒng)特點(diǎn): 本系統(tǒng)是采用面向?qū)ο蟮脑O(shè)計(jì)思想進(jìn)行編制,整個(gè)系統(tǒng)由若干個(gè)表單、報(bào)表及一個(gè)主菜單組成,由項(xiàng)目管理器統(tǒng)一管理全部程序的編寫和調(diào)試.用戶在操作中可以通過主菜單調(diào)用系統(tǒng)的各個(gè)功能.在表單設(shè)計(jì)方面盡量考慮方便用戶,簡(jiǎn)化操作,絕大部分操作只需點(diǎn)擊鼠標(biāo)即可完成,力求突出系統(tǒng)的便利性、實(shí)用性.設(shè)計(jì)環(huán)境與工具: 在現(xiàn)有的DBMS(Visual FoxPro)支持下進(jìn)行。
二、需求分析
問題陳述:
需完成的功能: 產(chǎn)品入庫管理,可以填寫入庫單,確認(rèn)產(chǎn)品入庫;
產(chǎn)品出庫管理,可以填寫出庫單,確認(rèn)出庫;
借出管理,憑借條借出,然后能夠還庫;
初始庫存設(shè)置,設(shè)置庫存的初始值,庫存的上下警戒限;
可以進(jìn)行盤庫,反映每月、年的庫存情況;
可以查詢產(chǎn)品入庫情況、出庫情況、當(dāng)前庫存情況,可以按出庫單、入庫單,產(chǎn)品、時(shí)間進(jìn)行查詢;
三、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
(1)系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)(包括主要功能模塊及功能模塊的細(xì)化。)
本系統(tǒng)應(yīng)能夠方便的實(shí)現(xiàn)倉庫貨物存儲(chǔ)信息的錄入、修改、編輯和瀏覽等功能,高效地完成企業(yè)的各種產(chǎn)品信息的統(tǒng)計(jì)功能,打印出各種產(chǎn)品入庫出庫和盤庫查詢的信息表格,系統(tǒng)的各主要功能的要求如下: 信息錄入功能: 倉庫產(chǎn)品基本信息、產(chǎn)品入庫信息、產(chǎn)品出庫信息、產(chǎn)品清單資料等.瀏覽功能: 瀏覽倉庫產(chǎn)品基本信息,瀏覽產(chǎn)品入庫情況、出庫情況、當(dāng)前庫存情況.查詢功能: 產(chǎn)品標(biāo)號(hào),或者按驗(yàn)收時(shí)間查詢庫存設(shè)置等.報(bào)表打印功能: 打印倉庫產(chǎn)品貨單表,空白產(chǎn)品登記表和各種統(tǒng)計(jì)表.(2)數(shù)據(jù)庫設(shè)計(jì)
一個(gè)數(shù)據(jù)庫中包含許多表,表之間又有關(guān)聯(lián),所以設(shè)計(jì)數(shù)據(jù)庫的步驟為:第一步,確定所需要的表;第二步,確定每個(gè)表所需要的字段;第三,確定各個(gè)表之間的關(guān)聯(lián)關(guān)系;最后形成表的結(jié)構(gòu).定義表(包括表中的字段)、視圖、索引、主關(guān)鍵字、確定表間的聯(lián)系。
數(shù)據(jù)庫要求:在數(shù)據(jù)庫中至少應(yīng)該包含下列數(shù)據(jù)表:
出庫單表(chjy): 記錄產(chǎn)品出庫狀況。
入庫單表(cgdd):記錄產(chǎn)品入庫狀況。
產(chǎn)品供應(yīng)商表(gys):記錄產(chǎn)品提供者。
公司雇員表(gy):記錄來倉庫存取產(chǎn)品的人員名單。產(chǎn)品表(cp):記錄倉庫現(xiàn)存狀況。
庫存情況表;出庫臺(tái)帳; 入庫臺(tái)帳;
借條信息表(反映借出人,借出時(shí)間,借出產(chǎn)品,借出數(shù)量,還庫時(shí)間等)。
(3)系統(tǒng)流程結(jié)構(gòu)圖
數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工具,利用它將對(duì)現(xiàn)有系統(tǒng)的認(rèn)識(shí)或?qū)δ繕?biāo)系統(tǒng)的設(shè)想用數(shù)據(jù)流圖描繪出來,供有關(guān)人員審查確認(rèn): 數(shù)據(jù)流圖的另一個(gè)主要用途是作為分析和設(shè)計(jì)的工具,幫助分析員實(shí)現(xiàn)總結(jié)現(xiàn)有系統(tǒng)的目標(biāo),對(duì)更詳細(xì)的設(shè)計(jì)步驟提供幫助.數(shù)據(jù)流圖是描繪系統(tǒng)的邏輯模型,以圖形的形式表示出來,以下是倉庫管理系統(tǒng)的數(shù)據(jù)流圖.四、系統(tǒng)詳細(xì)設(shè)計(jì)
(1)描述每一個(gè)功能所完成的任務(wù),指明實(shí)現(xiàn)該功能的表單、菜單、報(bào)表等。
系統(tǒng)的功能模塊設(shè)計(jì)
圖1-1
系統(tǒng)功能模塊
(2)說明主要功能的設(shè)計(jì)思想和方法(包括涉及到的數(shù)據(jù)源、關(guān)鍵的屬性和代碼等。)
設(shè)計(jì)思想分析:
將管理系統(tǒng)分為進(jìn)庫操作、出庫操作、損耗操作、查詢操作、報(bào)表操作、維護(hù)操作六部分。
1、入庫時(shí)根據(jù)商品的具體情況進(jìn)行處理,如果庫中已存在此商品,就在原來的數(shù)量基礎(chǔ)上加上進(jìn)貨數(shù)量,如果沒有則自動(dòng)新增此產(chǎn)品,并提醒管理員在最新報(bào)價(jià)表中加上此商品的最新報(bào)價(jià)(為了出庫的正確性,某商品的最新報(bào)價(jià)的存在是其出庫的前提)。如果商品已以入庫,則自動(dòng)在商品進(jìn)出表中加上相關(guān)記錄,以便于以后的核對(duì)。
2、為了達(dá)到出庫價(jià)格的正確性,出庫時(shí)系統(tǒng)自動(dòng)將此商品的售價(jià)和最新報(bào)價(jià)里的價(jià)格進(jìn)行比較,如果不相等則出現(xiàn)提示信息。另外,程序還有其他服務(wù)功能,比如如果商品數(shù)量不足或沒有相關(guān)商品則出現(xiàn)提示信息。
3、商品的查詢專門提供給廣大客戶使用,客戶可以按商品編號(hào)和商品名稱、數(shù)量、單價(jià)、進(jìn)庫出庫信息、對(duì)庫中的具體商品進(jìn)行查詢,查詢有商品代號(hào)和商品名稱兩種方法,這樣,客戶可以輕松掌握倉庫的庫存情況,便于交易。
4、核對(duì)措施也是此系統(tǒng)中必備的,為了便于以后核對(duì),出庫的記錄也將存儲(chǔ)起來。出庫單打印默認(rèn)為2份,其一用交給交易對(duì)方,另一份管理員自己保存。便于核對(duì)。同樣,本系統(tǒng)還會(huì)自動(dòng)對(duì)入庫情況進(jìn)行記錄,這樣,用戶能輕松掌握倉庫的變化,可以隨時(shí)對(duì)庫存進(jìn)行分析核對(duì)。
5、保密性是作為一個(gè)企業(yè)或者機(jī)構(gòu)所十分重視的,給用戶一個(gè)安全的環(huán)境是優(yōu)秀的管理軟件所必須做到做好的,本軟件也做到了安全性,就是說登錄時(shí)要有正確的密碼,這樣一來,只有系統(tǒng)管理員才有權(quán)更改系統(tǒng)里面的數(shù)據(jù)了。
6、本系統(tǒng)還帶有自動(dòng)清除測(cè)試記錄功能(課本是本系統(tǒng)的測(cè)試數(shù)據(jù)),如果用戶要正式使用倉庫,只要選擇操作菜單下的正式使用命令。這樣就不需要用記一條條去刪記錄了。
(3)界面設(shè)計(jì)要合理、簡(jiǎn)明。
五、實(shí)施及測(cè)試 指出已實(shí)現(xiàn)的每個(gè)功能,附上運(yùn)行、測(cè)試結(jié)果。
六、結(jié)束語
心得體會(huì):
經(jīng)過了這次倉庫管理系統(tǒng)的課程設(shè)計(jì)我從中學(xué)到了很多,同時(shí)明白了做一個(gè)小型軟件的步驟和流程.如何讓自己設(shè)計(jì)的軟件運(yùn)用到具體的實(shí)際工作中,這是一個(gè)關(guān)鍵的環(huán)節(jié).還有就是程序設(shè)計(jì)和運(yùn)行測(cè)試中遇到的問題該如何解決,從解決問題中我也學(xué)到了許多平時(shí)課本上所沒有的知識(shí).當(dāng)然,能夠完成這個(gè)倉庫管理系統(tǒng)我自己也感覺很有成就感.運(yùn)用到的開發(fā)工具和軟件技術(shù): 此系統(tǒng)結(jié)合貨物倉庫管理的要求,對(duì)Visual FoxPro(VFP)數(shù)據(jù)庫管理系統(tǒng)、SQL語言的學(xué)習(xí)和應(yīng)用,主要完成貨物倉庫管理系統(tǒng)的需求分析,系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)和實(shí)現(xiàn),系統(tǒng)的表單設(shè)計(jì),主控程序設(shè)計(jì),并由此設(shè)計(jì)了數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序。系統(tǒng)運(yùn)行結(jié)果證明,本人設(shè)計(jì)的貨物倉庫管理系統(tǒng)可以滿足倉庫管理者完成倉庫管理的日常工作,包括材料的入庫,出庫以及庫存材料信息的管理維護(hù)等
軟件還需要哪些改進(jìn):
在編寫源程序代碼的過程中對(duì)語言的運(yùn)用還需要提高,應(yīng)使寫出來的程序更加簡(jiǎn)潔,易讀懂,更加滿足實(shí)際工作的需要.要想使做出來的程序更好的利用還需根據(jù)實(shí)際需要在今后的運(yùn)用中不斷的改進(jìn)和完善.七、參考資料
1.Visual FoxPro 程序設(shè)計(jì)及其應(yīng)用系統(tǒng)開發(fā)
李作緯 等
中國水利水電出版社 2.數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)技術(shù)
劉軍
等
機(jī)械工業(yè)出版社 3.其它資料若干
第三篇:倉庫管理系統(tǒng)課程設(shè)計(jì) UML
無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
二、倉庫信息管理系統(tǒng)分析與設(shè)計(jì)
(一)《倉庫信息管理系統(tǒng)》的需求建模
1、需求分析
倉庫信息管理系統(tǒng)要能完成以下功能:
倉庫存放的貨物品種繁多,堆存方式以及處理方式也非常復(fù)雜,隨著業(yè)務(wù)量的增加,倉庫管理者需要處理的信息量會(huì)大幅上升,因此往往很難及時(shí)準(zhǔn)確的掌握整個(gè)倉庫的運(yùn)作狀態(tài)。針對(duì)這一情況,為了減輕倉庫管理員和操作員的工作負(fù)擔(dān),此系統(tǒng)在滿足倉庫的基本管理功能基礎(chǔ)上發(fā)揮信息系統(tǒng)的智能化。
根據(jù)要求可將系統(tǒng)分為四個(gè)模塊(1)用戶登錄模塊
普通操作員和管理人員登錄此系統(tǒng),執(zhí)行倉庫管理的一些操作,但是普通操作員和管理人員所能執(zhí)行的功能不一樣。(2)倉庫管理模塊
管理員工作需要登陸系統(tǒng),才能夠進(jìn)行操作,系統(tǒng)中的各項(xiàng)數(shù)據(jù)都不允許外人隨便查看和更改,所以設(shè)置登陸模塊是必須的。可以執(zhí)行倉庫進(jìn)貨,退貨,領(lǐng)料,退料;商品調(diào)撥,倉庫盤點(diǎn)等功能。(3)業(yè)務(wù)查詢模塊
在用戶登錄系統(tǒng)后,可以執(zhí)行庫存查詢,銷售查詢,倉庫歷史記錄查詢。
(4)系統(tǒng)設(shè)置模塊
顯示當(dāng)前倉庫系統(tǒng)中的信息,在系統(tǒng)中可以執(zhí)行供應(yīng)商設(shè)置,倉庫設(shè)置。
2、功能模塊分析(1)登錄模塊
? 普通操作員:顯示當(dāng)天倉庫中的所有庫存的信息。? 管理員:修改倉庫中的庫存信息。
? 用戶注銷:在用戶執(zhí)行完倉庫功能時(shí),注銷。? 用戶退出。(2)管理模塊
? 倉庫庫存的進(jìn)貨與退貨;
? 倉庫中的庫存需要領(lǐng)料和退料功能;
? 倉庫也可以完成不同地區(qū)的商品在此倉庫的商品調(diào)撥任務(wù); ? 用戶人員也可以在當(dāng)天之后對(duì)倉庫中的庫存進(jìn)行盤點(diǎn)。(3)查詢模塊
? 顯示當(dāng)前倉庫商品信息,并執(zhí)行庫存查詢; ? 顯示倉庫信息,對(duì)商品的銷售量進(jìn)行查詢; ? 此系統(tǒng)還可以對(duì)倉庫歷史記錄進(jìn)行查詢。(4)設(shè)置模塊
? 供應(yīng)商設(shè)置 ? 倉庫設(shè)置
3、工作內(nèi)容及要求
? 進(jìn)一步細(xì)化需求分析的內(nèi)容,識(shí)別出系統(tǒng)的參與者,并完成用例圖; 無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
將用例圖中的每個(gè)用例都寫成相應(yīng)的事件流文檔;
進(jìn)一步使用活動(dòng)圖來描述每個(gè)用例,為后續(xù)的系統(tǒng)設(shè)計(jì)做好準(zhǔn)備;
按照系統(tǒng)的功能分析,從用例的描述中提取出系統(tǒng)的對(duì)象類和界面類,建立類圖;
分析類圖中的實(shí)體類和實(shí)體類之間的關(guān)系,畫出數(shù)據(jù)庫的邏輯模型圖(只包含實(shí)體類,且注明角色和階元)。
? 對(duì)數(shù)據(jù)庫的邏輯模型進(jìn)行優(yōu)化,取消多對(duì)多的聯(lián)系,完成最終的邏輯模型設(shè)計(jì); ? 使用交互作用圖或狀態(tài)機(jī)圖完成系統(tǒng)動(dòng)態(tài)行為的建模。(建議使用順序圖按功能分別描述)
4、創(chuàng)建SRS文檔:
? 引言
? 倉庫管理系統(tǒng)將24小時(shí)為用戶服務(wù)。? 用途
? SRS文檔將作為SDLC設(shè)計(jì)和編碼階段的輸入。? 作用域
? 管理員直接對(duì)系統(tǒng)進(jìn)行管理。? 功能性需求
? 操作員需要取得管理員的認(rèn)可才可以登錄此系統(tǒng)。? 操作員可以查詢庫存的信息。
? 系統(tǒng)管理員可以管理登錄系統(tǒng)以后對(duì)倉庫進(jìn)行管理
? 因?yàn)椴皇敲總€(gè)人都可以隨便修改系統(tǒng)的,所以系統(tǒng)管理員可以登錄進(jìn)系統(tǒng)以后對(duì)用戶的權(quán)限信息進(jìn)行管理。
? 界面需求
? 界面應(yīng)該清晰易懂。? 運(yùn)行環(huán)境
? 此系統(tǒng)可以在網(wǎng)絡(luò)上進(jìn)行運(yùn)行。? ? ? ? 無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
用例圖如下:
分析:操作員在進(jìn)行驗(yàn)證后登陸系統(tǒng),可以執(zhí)行商品的進(jìn)退貨的記錄信息的查詢與管理等操作。
用戶登錄**倉庫領(lǐng)料倉庫進(jìn)貨**退出系統(tǒng)****商品調(diào)撥**操作員****用戶注銷*倉庫退料*倉庫退貨c
圖1 操作員用例圖
分析:此用戶是管理員,可以對(duì)倉庫信息進(jìn)行維護(hù),倉庫商品進(jìn)行盤點(diǎn),業(yè)務(wù)分析,歷史記錄查詢,供應(yīng)商信息維護(hù)和倉庫查詢操作。
無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
倉庫信息維護(hù)用戶登錄****用戶注銷******管理員***退出系統(tǒng)倉庫盤點(diǎn)*倉庫查詢**供應(yīng)商信息維護(hù)*業(yè)務(wù)分析歷史記錄查詢*
圖2 管理員用例圖
分析:該用戶為供應(yīng)商,可以對(duì)執(zhí)行倉庫進(jìn)貨和退貨的查詢與管理操作。
倉庫進(jìn)貨***商品供應(yīng)商*倉庫退貨
圖3 供應(yīng)商用例圖
(二)《倉庫管理系統(tǒng)》的靜態(tài)建模
靜態(tài)建模用于描述軟件的靜態(tài)成分,又叫結(jié)構(gòu)建模。它包含類關(guān)系圖和對(duì)象關(guān)系圖。用于描述軟件系統(tǒng)的成分之間的關(guān)系和依賴性。1)類的分析與設(shè)計(jì)
? 確定初始類圖 ? 提取類的屬性 ? 提取類的操作 無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
? 類之間的關(guān)系
去除不必要的類和不正確的類:
1.冗余類:若兩個(gè)類表述同一信息,保留最具有描述能力的類; 2.不相干的類:去掉與問題沒有多少關(guān)系和根本不相關(guān)的類;
3.模糊類:類必須是確定的,有些臨時(shí)類邊界定義不對(duì),或范圍太廣,應(yīng)排除; 4.屬性:如果有些名詞是用來描述某個(gè)類的,那么它一定是這個(gè)類的屬性。5.操作:如果所描述的操作并不適用于對(duì)象并且被自身所操作,那么這一定不是類。這樣可以得到相關(guān)的三種類關(guān)系: ? 人員信息包類圖 ? 接口信息包類圖 ? 系統(tǒng)事務(wù)信息包類圖 2)確定類之間的關(guān)系
兩個(gè)類之間的相互依賴就是關(guān)聯(lián),關(guān)聯(lián)常用描述性動(dòng)詞或動(dòng)詞組來表示,其中有物理位置的表示、傳導(dǎo)的動(dòng)作、通信、所有者關(guān)系及條件的滿足等等。通過以上方法可以確定類圖:
① 人員信息包類圖里包含:操作員類、管理員類、供應(yīng)商類、商品進(jìn)貨模塊類、商品退換模塊類、商品打印模塊類、庫存查詢模塊類、商品盤點(diǎn)模塊類、歷史信息查詢模塊類和商品調(diào)撥模塊類。
無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
**操作員-姓名-id號(hào)-權(quán)限+倉庫進(jìn)貨()*+倉庫退貨()+倉庫領(lǐng)料()+倉庫退料()+商品調(diào)撥()*+用戶登錄()+用戶注銷()+退出系統(tǒng)()+盤點(diǎn)信息打印報(bào)表()+進(jìn)貨商品打印報(bào)表()*+退換商品打印報(bào)表()+商品庫存信息()**商品進(jìn)貨模塊+商品清單()+退貨清單()+查詢信息()庫存查詢模塊**商品打印模塊*
圖4 人員信息包類圖
供應(yīng)商-供應(yīng)商姓名-供應(yīng)商id號(hào)-聯(lián)系方法+進(jìn)貨()+退貨()*1管理員-姓名-id號(hào)-權(quán)限+供應(yīng)商信息維護(hù)()+倉庫信息維護(hù)()+盤點(diǎn)信息()+倉庫查詢()+業(yè)務(wù)分析()+用戶注銷()+退出系統(tǒng)()+歷史記錄查詢()+用戶登錄()+查詢結(jié)果()*歷史信息查詢模塊*+查詢條件()+進(jìn)貨記錄()+商品調(diào)撥記錄()+商品盤點(diǎn)信息()*********商品退換模塊*商品盤點(diǎn)模塊*+審核后盤點(diǎn)信息()+查詢信息()**商品調(diào)撥模塊+查詢信息()+查詢條件()*+盤點(diǎn)信息列表()8 無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
② 接口信息包類圖里包含:用戶登錄類、倉庫管理類、系統(tǒng)管理類和業(yè)務(wù)查詢類。
倉庫管理+倉庫進(jìn)貨()+倉庫退貨()+倉庫領(lǐng)料()+倉庫退料()+倉庫調(diào)撥()+倉庫盤點(diǎn)()用戶登錄+用戶登錄()+用戶注銷()+退出系統(tǒng)()系統(tǒng)設(shè)置-供應(yīng)商設(shè)置-倉庫信息維護(hù)業(yè)務(wù)查詢+庫存查詢()+業(yè)務(wù)分析()+歷史記錄查詢()
圖5 接口信息包類圖
③系統(tǒng)事務(wù)信息包類圖包含:用戶登錄類、供應(yīng)商管理類、業(yè)務(wù)分析類、查詢歷史信息類、倉庫信息維護(hù)類、領(lǐng)料類、退料類、退換類、盤點(diǎn)類、調(diào)撥類和倉庫查詢類。
無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
調(diào)撥供應(yīng)商管理-該操作id號(hào)-日期-管理員id號(hào)+增加供應(yīng)商()倉庫信息維護(hù)-該操作id號(hào)-日期退料用戶登錄-該操作id號(hào)-登錄日期-登錄人id-name+用戶登錄()+用戶注銷()+退出系統(tǒng)()退貨-交易id-日期-操作員-交易id-日期-退料人-操作員倉庫查詢-該操作id-日期領(lǐng)料-交易id-日期-領(lǐng)料員-操作員查詢歷史信息-該操作id-日期業(yè)務(wù)分析-操作id號(hào)-日期-管理員id+opname()盤點(diǎn)-交易id-日期-管理員id-倉庫id
圖6 系統(tǒng)事務(wù)信息包類圖
(三)《倉庫管理系統(tǒng)》的動(dòng)態(tài)建模
在完成靜態(tài)建模后,需要對(duì)系統(tǒng)實(shí)現(xiàn)動(dòng)態(tài)建模。需要?jiǎng)?chuàng)建
? 活動(dòng)關(guān)系圖:表示系統(tǒng)的靜態(tài)成分為了完成過程需要執(zhí)行的活動(dòng)的順序;
? 交互關(guān)系圖:表示軟件系統(tǒng)靜態(tài)成分之間的交互,常用序列關(guān)系圖和通信關(guān)系圖。(1)活動(dòng)關(guān)系圖
活動(dòng)關(guān)系圖是用來對(duì)特定過程的控制流進(jìn)行建模。
分析:管理員在登錄系統(tǒng)后,查看銷售記錄和查看商品庫存情況,如果缺貨就通知操作員缺貨商品清單,操作員即可聯(lián)系供應(yīng)商按缺貨清單提供貨物,然后管理員更新數(shù)據(jù)庫結(jié)束,如果不缺貨直接結(jié)束。
無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
通知操作員缺貨商品清單查看銷售記錄聯(lián)系供應(yīng)商按缺貨清單提供貨物查看商品庫存情況[ 缺貨] 接受貨物更新庫存數(shù)據(jù)庫[ 不缺貨 ]
圖7 倉庫系統(tǒng)的活動(dòng)圖
(2)交互關(guān)系圖:通信關(guān)系圖、序列關(guān)系圖
①通信關(guān)系圖以消息的形式表示對(duì)象之間的交互。通信圖集中在活動(dòng)著的對(duì)象上,表現(xiàn)的是相互通信的對(duì)象之間的消息傳遞,不參照時(shí)間。通信圖通過在消息上加序號(hào)表示消息傳遞的次序。序列號(hào)放在消息之前作為消息的前綴。
注:通信關(guān)系圖不描繪對(duì)象的生命線。A.管理員盤點(diǎn)過程協(xié)助圖
分析:操作員把盤點(diǎn)信息發(fā)送給管理員,管理員審查后盤點(diǎn)信息,在倉庫商品盤點(diǎn)模塊中盤點(diǎn)信息列表,然后交由信息打印模塊打印盤點(diǎn)信息列表,給操作員。
無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
操作員盤點(diǎn)信息管理員盤點(diǎn)信息打印列表審查后盤點(diǎn)信息商品信息打印模塊盤點(diǎn)信息列表商品盤點(diǎn)模塊
圖8 管理員盤點(diǎn)過程協(xié)作圖
B.商品管理協(xié)作圖
分析:操作員通知供應(yīng)商進(jìn)貨,供應(yīng)商打印出進(jìn)貨清單,操作員也可以對(duì)進(jìn)貨退貨進(jìn)行管理,供應(yīng)商打印出退貨清單。
商品進(jìn)貨進(jìn)貨商印品打報(bào)表進(jìn)貨清單操作員退貨商品供應(yīng)商表庫存查詢商品退換退貨清單庫存信息進(jìn)貨商品打印報(bào)
圖9 商品管理協(xié)作圖 無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
C.倉庫歷史記錄查詢協(xié)作圖
分析:管理員應(yīng)該先登錄系統(tǒng)。當(dāng)管理員登錄系統(tǒng)以后,可以查詢歷史信息,看到商品進(jìn)貨、商品盤點(diǎn)、商品調(diào)撥的歷史記錄。
商品進(jìn)貨管理員查詢條件歷史信息查詢進(jìn)貨、退貨記錄查詢條件商品調(diào)撥商品盤點(diǎn)圖10 倉庫歷史記錄查詢協(xié)作圖
②序列關(guān)系圖
序列關(guān)系圖以按時(shí)間排序的消息形式來表示對(duì)象之間的交互。序列關(guān)系圖和通信關(guān)系圖的區(qū)別在于通信關(guān)系圖情調(diào)對(duì)象的組織結(jié)構(gòu),而序列關(guān)系圖則按時(shí)間順序顯示對(duì)象之間交互的消息。在序列關(guān)系圖中,可以沿x軸方向排列對(duì)象。將啟動(dòng)交互的對(duì)象放在最左邊。消息序列中后來的對(duì)象則放在交互啟動(dòng)對(duì)象的右邊。在交互中,對(duì)象發(fā)送和接收的消息按時(shí)間升序沿y軸防止。
注:和通信關(guān)系圖不同,序列關(guān)系圖描述對(duì)象生命線。
A.倉庫盤點(diǎn)過程序列圖 分析:操作員將盤點(diǎn)信息發(fā)送給管理員,管理員審查盤點(diǎn)信息,然后盤點(diǎn)信息列表交給商品打印模塊打印后發(fā)給操作員執(zhí)行相關(guān)商品操作。
商品盤點(diǎn)信息
無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
操作員管理員商品盤點(diǎn)模塊商品打印模塊盤點(diǎn)信息盤點(diǎn)信息列表()審核后盤點(diǎn)信息盤點(diǎn)信息打印報(bào)表()
圖11 倉庫盤點(diǎn)過程序列圖
B.商品管理序列圖
分析:操作通知商品供應(yīng)商進(jìn)貨、退貨,商品供應(yīng)商將商品清單和退貨商品清單發(fā)送給商品進(jìn)貨模塊,商品進(jìn)貨模塊將進(jìn)貨商品打印報(bào)表給操作員,商品退貨模塊將商品退換報(bào)表打印發(fā)給操作員,操作員也可以查詢庫存,庫存庫存模塊將庫存查詢信息發(fā)送給操作員。
無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
操作員商品供應(yīng)商商品進(jìn)貨模塊商品退換模塊進(jìn)貨()商品清單()進(jìn)貨商品打印報(bào)表()退貨清單()退貨()退換商品打印報(bào)表()查詢條件()商品庫存信息
圖12 商品管理序列圖
C.倉庫歷史記錄序列圖
分析:管理員登錄系統(tǒng)查詢歷史信息模塊,歷史信息則查詢商品進(jìn)貨退貨模塊、商品調(diào)撥模塊、商品盤點(diǎn)模塊,之后各模塊將查詢得到的信息發(fā)送給歷史信息模塊,最后由歷史信息模塊統(tǒng)一將信息發(fā)給管理員。
無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
管理員歷史信息查詢模塊商品進(jìn)貨退貨模塊商品調(diào)撥模塊商品盤點(diǎn)模塊查詢信息()查詢條件()進(jìn)貨記錄()查詢信息()商品調(diào)撥記錄()查詢信息()商品盤點(diǎn)信息()查詢結(jié)果()
圖13 倉庫歷史記錄序列圖 無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
(四)《倉庫管理系統(tǒng)》的架構(gòu)建模
架構(gòu)建模使您能夠了解組件在組織網(wǎng)絡(luò)中的物理分布。您需要對(duì)軟件系統(tǒng)的架構(gòu)進(jìn)行建模以確定組件的設(shè)計(jì)是否符合軟件系統(tǒng)的需要。軟件架構(gòu)描述軟件按系統(tǒng)的所有組件以及這些組件之間的關(guān)系。要對(duì)系統(tǒng)軟件的架構(gòu)進(jìn)行建模,您需要?jiǎng)?chuàng)建以下關(guān)系圖:
? 包關(guān)系圖:描述根據(jù)特定條件分組在一起的軟件系統(tǒng)構(gòu)成。? 組件關(guān)系圖:描述軟件系統(tǒng)的可執(zhí)行構(gòu)成。
? 部署關(guān)系圖:描述軟件系統(tǒng)組件的各種處理設(shè)備。
a)組件關(guān)系圖:組件可實(shí)現(xiàn)一組接口并構(gòu)成軟件系統(tǒng)的可執(zhí)行部分。
分析:該圖是系統(tǒng)的各個(gè)組件圖,由系統(tǒng)登錄、倉庫管理管理、信息查詢、系統(tǒng)設(shè)置。
倉庫管理信息查詢系統(tǒng)登錄系統(tǒng)設(shè)置
圖14 組件關(guān)系圖
b)部署關(guān)系圖:顯示需要在其中部署軟件組件的硬件。
分析:下圖表明系統(tǒng)采用數(shù)據(jù)庫系統(tǒng)作為后臺(tái)數(shù)據(jù)提供者,然后客戶登錄使用系統(tǒng),也可以對(duì)系統(tǒng)中的信息進(jìn)行打印操作。
無錫職業(yè)技術(shù)學(xué)院實(shí)踐環(huán)節(jié)材料撰寫用紙
數(shù)據(jù)服務(wù)器客戶機(jī)1客戶機(jī)n打印機(jī)
圖15 部署關(guān)系圖
第四篇:C語言課程設(shè)計(jì) 倉庫管理系統(tǒng)
C語言課程設(shè)計(jì) 倉庫管理系統(tǒng)
#include
struct cangku {
int num;
char name[20];
char introdution[50];
float square;
};typedef struct cangku Cangku;
int Input(Cangku t[]);void List(Cangku t[],int n);void SearchOnName(Cangku t[],int n);int DeleteRecord(Cangku t[],int n);int AlterRecord(Cangku t[],int n);int AddRecord(Cangku t[],int n);void SortOnName(Cangku t[],int n);void SortOnSquare(Cangku t[],int n);void SaveRecord(Cangku t[],int n);int LoadRecord(Cangku t[]);int LoadRecord1(Cangku t[]);void Save(Cangku t[],int n);void Load(Cangku t[],int n);void Load1(Cangku t[]);int Menu_select();
void main(){
Cangku ck[50];int i,l,length,w=1;int q[4]={5,2,1,0};
system(“cls”);printf(“請(qǐng)輸入第1個(gè)密碼:n”);for(i=0;i<4;i++)
{
scanf(“%d”,&l);
system(“cls”);
if(l==q[i])
printf(“正確,繼續(xù)輸入第%d個(gè)密碼:.n”,i+2);
else
{
w=0;
printf(“輸入錯(cuò)誤!n”);
break;
} }
while(w)
{
switch(Menu_select())
{
case 1:
length=Input(ck);
SaveRecord(ck,length);
break;
case 2:
length=LoadRecord(ck);
SearchOnName(ck,length);
break;
case 3:
length=LoadRecord(ck);
length=DeleteRecord(ck,length);
SaveRecord(ck,length);
break;
case 4:
length=LoadRecord(ck);
length=AlterRecord(ck,length);
SaveRecord(ck,length);
break;
case 5:
length=LoadRecord(ck);
length=AddRecord(ck,length);
SaveRecord(ck,length);
break;
case 6:
length=LoadRecord(ck);
system(“cls”);
List(ck,length);
break;
case 7:
length=LoadRecord(ck);
system(“cls”);
SortOnName(ck,length);
SaveRecord(ck,length);
break;
case 8:
length=LoadRecord(ck);
system(“cls”);
SortOnSquare(ck,length);
SaveRecord(ck,length);
break;
case 9:
length=LoadRecord(ck);
system(“cls”);
Save(ck,length);
break;
case 0:
length=LoadRecord1(ck);
Load1(ck);
system(“cls”);
Load(ck,length);
break;
case 10: exit(0);
}
} }
int Menu_select(){ int c;
printf(“按任意鍵進(jìn)入倉庫管理菜單n”);
getchar();
system(“cls”);
system(“color F0”);printf(“
******************************倉庫管理*******************************n”);
printf(“
*
1.錄入倉庫初始記錄
*n”);
printf(“
*
2.按倉庫名稱查找記錄
*n”);
printf(“
*
3.刪除倉庫記錄
*n”);
printf(“
*
4.修改倉庫記錄
*n”);printf(“
*
5.增加倉庫信息
*n”);
printf(“
*
6.顯示全部記錄
*n”);
printf(“
*
7.按倉庫名稱排序
*n”);
printf(“
*
8.按倉庫面積排序
*n”);
printf(“
*
9.備份
*n”);printf(“
*
0.恢復(fù)
*n”);printf(“
*
10.退出
*n”);
printf(“
*********************************************************************n”);do {
printf(“n輸入您想要進(jìn)行的操作選項(xiàng)鍵(0-10):”);
if(scanf(“%d”,&c)!=1)
{
while(getchar()!='n')
continue;
} }
while(c<0||c>10);return c;}
int Input(Cangku t[]){ int i,n;
system(“cls”);
printf(“n請(qǐng)輸入要輸入的倉庫數(shù)目:n”);
scanf(“%d”,&n);
printf(“開始輸入倉庫信息:n”);
for(i=0;i { system(“cls”); printf(“n第%d個(gè)倉庫的編號(hào):”,i+1); scanf(“%d”,&t[i].num); printf(“第%d個(gè)倉庫的名稱:”,i+1); scanf(“%s”,t[i].name); printf(“第%d個(gè)倉庫的面積:”,i+1); scanf(“%f”,&t[i].square); printf(“第%d個(gè)倉庫的說明:”,i+1); scanf(“%s”,t[i].introdution);} return(n);} void List(Cangku t[],int n){ int i; printf(“ *********************************************************************n”); printf(“ ** 編號(hào) 名稱 面積 說明n”); printf(“ -------n”);for(i=0;i printf(“%17d%13s%20f%14sn”,t[i].num,t[i].name,t[i].square,t[i].introdution);} printf(“ *********************************************************************n”); printf(“n”);getchar();} void SearchOnName(Cangku t[],int n){ char s[20]; int i,flag=0; system(“cls”); printf(“請(qǐng)輸入要查找的倉庫名稱:n”); scanf(“%s”,s); for(i=0;i { if(strcmp(s,t[i].name)==0) { flag=1; system(“cls”); printf(“nn要查找的倉庫信息如下:n”); printf(“n”); printf(“ *********************************************************************n”); printf(“ ** 編號(hào) 名稱 面積 說明n”); printf(“ -------n”);{ printf(“%17d%13s%20f%14sn”,t[i].num,t[i].name,t[i].square,t[i].introdution);} printf(“ *********************************************************************n”); printf(“n”); } } if(flag==0) printf(“要查找的倉庫不存在!n”);getchar();} int DeleteRecord(Cangku t[],int n){ char s[20]; char ch; int i,j,flag=0; system(“cls”); printf(“請(qǐng)輸入要?jiǎng)h除的倉庫名稱n”); scanf(“%s”,s); for(i=0;i if(strcmp(s,t[i].name)==0) { flag=1; system(“cls”); printf(“nn要?jiǎng)h除的倉庫信息如下:n”); printf(“n”); printf(“ *********************************************************************n”); printf(“ ** 編號(hào) 名稱 面積 說明n”); printf(“ -------n”);{ printf(“%17d%13s%20f%14sn”,t[i].num,t[i].name,t[i].square,t[i].introdution);} printf(“ *********************************************************************n”); printf(“n”); printf(“確定刪除倉庫信息嗎?(Y/N)n”); ch=getchar(); ch=getchar(); if(ch=='Y'||ch=='y') { for(j=i;j t[j]=t[j+1]; n--; i--; printf(“刪除成功.n”); } } } if(flag==0) printf(“要?jiǎng)h除的倉庫不存在!n”); getchar(); return n;} int AlterRecord(Cangku t[],int n){ int i,flag=0; char s[20],ch; system(“cls”); printf(“請(qǐng)輸入要修改的倉庫名稱n”); scanf(“%s”,s); for(i=0;i { if(strcmp(s,t[i].name)==0) { flag=1; system(“cls”); printf(“nn要修改的倉庫信息如下:n”); printf(“n”); printf(“ *********************************************************************n”); printf(“ ** 編號(hào) 名稱 面積 說明n”); printf(“ -------n”); { printf(“%17d%13s%20f%14sn”,t[i].num,t[i].name,t[i].square,t[i].introdution); } printf(“ *********************************************************************n”); printf(“n”); printf(“確定修改倉庫信息嗎?(Y/N)n”); ch=getchar(); ch=getchar(); if(ch=='y'||ch=='Y') { system(“cls”); printf(“請(qǐng)輸入修改后的信息:n”); printf(“請(qǐng)輸入倉庫新的名稱:”); scanf(“%s”,t[i].name); printf(“請(qǐng)輸入%s倉庫新的編號(hào):”,t[i].name); scanf(“%d”,&t[i].num); printf(“請(qǐng)輸入%s倉庫新的面積:”,t[i].name); scanf(“%f”,&t[i].square); printf(“請(qǐng)輸入%s倉庫新的說明:”,t[i].name); scanf(“%s”,t[i].introdution); } } } if(flag==0) printf(“要修改的倉庫不存在!n”); getchar(); return n;} int AddRecord(Cangku t[],int n){ int i,m; system(“cls”); printf(“n請(qǐng)輸入再增加的記錄數(shù):n”); scanf(“%d”,&m); printf(“開始追加記錄n”); for(i=n;i { system(“cls”); printf(“n第%d個(gè)倉庫的編號(hào):”,i+1); scanf(“%d”,&t[i].num); printf(“第%d個(gè)倉庫的名稱:”,i+1); scanf(“%s”,t[i].name); printf(“第%d個(gè)倉庫的面積:”,i+1); scanf(“%f”,&t[i].square); printf(“第%d個(gè)倉庫的說明:”,i+1); scanf(“%s”,t[i].introdution); } return(n+m);} void SortOnName(Cangku t[],int n){ int i,j; struct cangku temp; for(j=1;j for(i=0;i if((strcmp(t[i].name,t[i+1].name))>0) { temp=t[i]; t[i]=t[i+1]; t[i+1]=temp; } printf(“排序成功!!n”); printf(“排序后倉庫信息列表如下:n”); List(t,n);} void SortOnSquare(Cangku t[],int n){ int i,j; struct cangku temp; for(j=1;j for(i=0;i if(t[i].square { temp=t[i]; t[i]=t[i+1]; t[i+1]=temp; } printf(“排序成功!!n”); printf(“排序后倉庫信息列表如下:n”); List(t,n);} void SaveRecord(Cangku t[],int n){ int i; FILE *fp; if((fp=fopen(“record.txt”,“w”))==NULL) { printf(“不能打開文件!n”); exit(1);} for(i=0;i { fwrite(&t[i],sizeof(struct cangku),1,fp); } fclose(fp);} int LoadRecord(Cangku t[]){ int n=0; FILE *fp; if((fp=fopen(“record.txt”,“a+”))==NULL) { printf(“不能打開文件!n”); exit(1);} while(fread(&t[n],sizeof(struct cangku),1,fp))n++; fclose(fp); printf(“從文件中成功讀出記錄!!n”); return n;} int LoadRecord1(Cangku t[]){ int n=0; FILE *fp; if((fp=fopen(“bkrecord.txt”,“a+”))==NULL) { printf(“不能打開文件!n”); exit(1);} while(fread(&t[n],sizeof(struct cangku),1,fp))n++; fclose(fp); printf(“從文件中成功讀出記錄!!n”); return n;} void Save(Cangku t[],int n){ int i; FILE *fp; if((fp=fopen(“bkrecord.txt”,“w”))==NULL) { printf(“不能打開文件!n”); exit(1);} for(i=0;i { fwrite(&t[i],sizeof(struct cangku),1,fp); } fclose(fp); printf(“備份成功.n”); getchar();} void Load1(Cangku t[]){ int n=0; FILE *fp; if((fp=fopen(“bkrecord.txt”,“a+”))==NULL) { printf(“不能打開文件!n”); exit(1); } while (fread(&t[n],sizeof(struct cangku),1,fp))n++; fclose(fp); getchar();} void Load(Cangku t[],int n){ int i; FILE *fp; if((fp=fopen(“record.txt”,“w”))==NULL) { printf(“不能打開文件!n”); exit(1);} for(i=0;i { fwrite(&t[i],sizeof(struct cangku),1,fp); } fclose(fp); printf(“恢復(fù)成功.n”);}1 倉庫管理系統(tǒng)調(diào)研報(bào)告 前言 倉庫管理是與我們?nèi)粘I钕⑾⑾嚓P(guān)的問題,隨著改革開放的不斷深入,經(jīng)濟(jì)飛速的發(fā)展,企業(yè)要想生存、發(fā)展,要想在激烈的市場(chǎng)競(jìng)爭(zhēng)中立于不敗之地,沒有現(xiàn)代化的管理是萬萬不行的,倉庫管理的全面自動(dòng)化、信息化則是其中極其重要的部分。以超級(jí)市場(chǎng)為例,走進(jìn)超級(jí)市場(chǎng),琳瑯滿目,各式各樣的商品應(yīng)有盡有,顧客大都滿載而歸,買到稱心如意的商品。顧客得到極大方便的同時(shí),商家在管理這些商品上卻花費(fèi)了大量的心血。 在本系統(tǒng)的設(shè)計(jì)過程中,為了克服這些困難,滿足計(jì)算機(jī)管理工作的需要,我們采取了下面的一些原則 ●統(tǒng)一各種原始單據(jù)的格式,統(tǒng)一報(bào)表的格式。 ●刪除不必要的管理冗余,實(shí)現(xiàn)管理規(guī)范化、科學(xué)化。 ●程序代碼標(biāo)準(zhǔn)化,軟件統(tǒng)一化,確保軟件的可維護(hù)性和實(shí)用性。 ●界面盡量簡(jiǎn)單化,做到實(shí)用、方便,盡量滿足企業(yè)中不同層次員工的需要。●盡量做到物資分類和管理明確,使供應(yīng)商、客戶和用戶之間往來更方便、快捷。在具體設(shè)計(jì)中,主要實(shí)現(xiàn)入庫、出庫、采購、銷售、基本信息、單據(jù)幾大功能。解決思路:利用便利的網(wǎng)絡(luò)資源和查看相關(guān)書籍等辦法解決各模塊實(shí)現(xiàn)的具體功能分配等操作。 出租倉庫:主要針對(duì)客戶的關(guān)系,實(shí)現(xiàn)預(yù)定倉庫的基本操作。入庫/出庫:主要針對(duì)企業(yè)物資進(jìn)出,實(shí)現(xiàn)采購和銷售等操作。基本信息:介紹產(chǎn)品、供應(yīng)商及客戶的相應(yīng)資料。單據(jù):實(shí)現(xiàn)業(yè)務(wù)上各種單據(jù)的對(duì)應(yīng)操作。 本系統(tǒng)主要步驟有功能需求分析,系統(tǒng)設(shè)計(jì),數(shù)據(jù)庫設(shè)計(jì),程序?qū)崿F(xiàn)等。 1.系統(tǒng)范圍 系統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)企業(yè)物資管理的系統(tǒng)化、規(guī)范化和自動(dòng)化,從而達(dá)到提高企業(yè)管理效率的目的。 第一個(gè)版本的范圍 ◇業(yè)務(wù)處理 |-出庫登記 |-入庫登記 |-其他庫存變動(dòng) |-庫存盤點(diǎn) |-倉庫調(diào)貨 |-貨品拆分與組裝 ◇基本資料 |-貨品類別 |-貨品資料 |-庫存變動(dòng)類型 |-領(lǐng)用人資料 |-供貨單資料 |-倉庫資料 ◇系統(tǒng)維護(hù) |-系統(tǒng)設(shè)置 |-密碼修改 |-操作員管理 |-數(shù)據(jù)備份與恢復(fù) |-打印單修改 |-數(shù)據(jù)清理 ◇統(tǒng)計(jì)報(bào)表 |-當(dāng)前庫存報(bào)表 |-貨物入庫報(bào)表 |-貨物出庫報(bào)表 2.功能簡(jiǎn)介 基礎(chǔ)數(shù)據(jù):商品信息,供應(yīng)商,客戶,商品分類,倉庫,銀行等基本信息的設(shè)置。 入庫管理:進(jìn)行貨品采購入庫,采購?fù)素洠a(chǎn)入庫,生產(chǎn)退料,進(jìn)貨單據(jù)和退貨單據(jù)查詢,供應(yīng)商往來帳務(wù),供應(yīng)商付款。 出庫管理:銷售出貨,客戶退貨,生產(chǎn)領(lǐng)料,銷售單據(jù)和客戶退貨查詢,客戶往來帳務(wù),客戶付款。 庫存管理:包括庫存之間貨品調(diào)拔,庫存報(bào)損、報(bào)溢,庫存盤點(diǎn)功能。 拆分組裝:整進(jìn)散出,或是整出散進(jìn)等可以自由的拆分組合產(chǎn)品。 統(tǒng)計(jì)報(bào)表:完整的統(tǒng)計(jì)查詢功能,每張單據(jù)每次業(yè)務(wù)金額都可以清楚的反映。 權(quán)限管理:可添加刪除系統(tǒng)操作員帳號(hào),強(qiáng)大的權(quán)限控制,可以設(shè)置某用戶對(duì)某窗口某個(gè)按鈕的權(quán)限。 打印設(shè)計(jì):可對(duì)系統(tǒng)內(nèi)每個(gè)單據(jù)進(jìn)行打印的格式設(shè)計(jì),可以導(dǎo)出,導(dǎo)入,每個(gè)操作員可設(shè)計(jì)自己的打印格式。 界面設(shè)計(jì):系統(tǒng)窗口界面名稱可以自定義設(shè)計(jì),表格的顯示順序,寬度,是否顯示等,每個(gè)操作員可以設(shè)計(jì)自己的界面。 系統(tǒng)設(shè)置:可以靈活設(shè)置系統(tǒng)小數(shù)位數(shù),可選0-6位,讓帳務(wù)更精確,可對(duì)以往數(shù)據(jù)進(jìn)行選擇性的清除,以便系統(tǒng)初始化。 3.數(shù)據(jù)識(shí)別 3.1人員基本情況數(shù)據(jù)說明 3.1.1系統(tǒng)管理員數(shù)據(jù)說明 使用者:系統(tǒng)管理員 來源:系統(tǒng)管理員在本系統(tǒng)中注冊(cè) 去向:保存在數(shù)據(jù)庫中 數(shù)據(jù)屬性:編號(hào)、姓名、性別、出生日期、固定電話、移動(dòng)電話、其他 3.1.2倉庫管理員數(shù)據(jù)說明 使用者:倉庫管理員 來源:倉庫管理員職工檔案 去向:保存在數(shù)據(jù)庫的倉庫管理員表中中 數(shù)據(jù)屬性:編號(hào)、姓名、性別、出生日期、所在部門編號(hào)、固定電話、移動(dòng)電話、其他。 3.1.3驗(yàn)收員數(shù)據(jù)說明 使用者:驗(yàn)收員 來源:采購員職工檔案 去向:保存在數(shù)據(jù)庫的驗(yàn)收員表中 數(shù)據(jù)屬性:編號(hào)、姓名、性別、出生日期、所在部門編號(hào)、所屬小組編號(hào)、固定電話、移動(dòng)電話、其他。 3.1.4經(jīng)理數(shù)據(jù)說明 使用者:經(jīng)理 來源:經(jīng)理職工檔案 去向:保存在數(shù)據(jù)庫的經(jīng)理表中 數(shù)據(jù)屬性:編號(hào)、姓名、性別、出生日期、固定電話、移動(dòng)電話、其他 3.1.5 領(lǐng)料員數(shù)據(jù)說明 使用者:倉庫管理員、經(jīng)理 來源:領(lǐng)料員職工檔案 去向:保存在數(shù)據(jù)庫的領(lǐng)料員表中 數(shù)據(jù)屬性:編號(hào)、姓名、性別、出生日期、固定電話、移動(dòng)電話、其他 3.2商品數(shù)據(jù)說明 使用者:倉庫管理員、經(jīng)理 來源:倉庫管理員輸入 去向:保存在數(shù)據(jù)庫中 數(shù)據(jù)屬性:商品編號(hào)、名稱、價(jià)格、儲(chǔ)存位置、數(shù)量、其他 3.3 基本業(yè)務(wù)數(shù)據(jù)說明 3.3.1 驗(yàn)收商品數(shù)據(jù)說明 使用者:倉庫管理員、經(jīng)理 來源:采購計(jì)劃、數(shù)據(jù)庫中倉庫管理員表、商品表和經(jīng)理表 去向:入庫單或直撥單、保存在數(shù)據(jù)庫的驗(yàn)收商品表和商品表中 數(shù)據(jù)屬性:商品編號(hào)、倉庫管理員編號(hào)、經(jīng)理編號(hào) 3.3.2 商品入庫數(shù)據(jù)說明 使用者:倉庫管理員、經(jīng)理 來源:運(yùn)貨單、檢驗(yàn)合格單 去向:收料單、保存在數(shù)據(jù)庫的商品入庫表中 數(shù)據(jù)屬性:商品編號(hào)、倉庫管理員、經(jīng)理編號(hào)、是否合格 3.3.3 保管商品數(shù)據(jù)說明 使用者:倉庫管理員、經(jīng)理 來源:商品保管表 去向:保存在數(shù)據(jù)庫中的保管商品表中 數(shù)據(jù)屬性:商品編號(hào)、倉庫管理員編號(hào)、堆放是否整齊、堆放是否美觀、是否按類堆放、進(jìn)貨日期 3.3.4 商品出庫數(shù)據(jù)說明 使用者:倉庫管理員、經(jīng)理 來源:領(lǐng)料單 去向:發(fā)貨單、保存在數(shù)據(jù)庫的商品出庫表中 數(shù)據(jù)屬性:商品編號(hào)、倉庫管理員、領(lǐng)料員編號(hào)、出庫日期 附錄 由于我們只是網(wǎng)上搜索調(diào)查的形式,所以沒有統(tǒng)計(jì)初詳細(xì)的數(shù)據(jù),該報(bào)告只是反映了調(diào)查中出現(xiàn)的顯著問題,故不能作為有力的論據(jù)。 組員:冉明軒,萬朋鑫,陳強(qiáng),周夢(mèng)秋,王冰,江志華第五篇:倉庫管理系統(tǒng)調(diào)研報(bào)告