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