張峻華軟件工程_第1頁
張峻華軟件工程_第2頁
張峻華軟件工程_第3頁
張峻華軟件工程_第4頁
張峻華軟件工程_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、石家莊經(jīng)濟(jì)學(xué)院軟件工程課程設(shè)計(jì)報(bào)告課程名稱: 小商店的倉庫管理設(shè)計(jì) 專 業(yè): 軟件工程 姓 名: 張峻華 班 級: 軟件一班 學(xué) 號: 指導(dǎo)教師: 李寧 2014年 04 月15日 一需求分析1.1 背景商店的倉庫物資管理往往是很復(fù)雜、很繁瑣的。由于所掌握的物資種類眾多,訂貨、管理、發(fā)放的渠道各有差異,各個(gè)商店之 間的管理體制不盡相同,各類統(tǒng)計(jì)報(bào)表繁多,因此倉庫的倉庫管理必須編制一套倉庫管理信息系統(tǒng),實(shí)現(xiàn)計(jì)算機(jī)化操作,而且必須根據(jù)商店的具體情況制定相應(yīng)的方案。傳統(tǒng)的商品由進(jìn)貨到發(fā)貨,要經(jīng)過若干環(huán)節(jié),多次賬面轉(zhuǎn)抄,由于物品繁多,規(guī)格型號的標(biāo)識繁多,加之業(yè)務(wù)人員素質(zhì)的因素,易造成倉庫供應(yīng)效率低下,

2、影響生產(chǎn).;由于庫房與管理部門之間存在信息難以交流。供應(yīng)業(yè)務(wù)員、倉庫保管員相互之間信息流通困難,使得倉庫供應(yīng)效率低下,造成庫存積壓。使庫存儲備很大,影響資金周轉(zhuǎn)。另外,使得倉庫的管理數(shù)據(jù)的匯總,以及信息的傳遞困難;手抄的,手工作業(yè)容易造成失誤,同時(shí)每月向上級單位所報(bào)報(bào)表需耗費(fèi)相當(dāng)大的人力資源進(jìn)行大量數(shù)據(jù)計(jì)算,這將影響數(shù)據(jù)的準(zhǔn)確率和效率,從而造成不必要的損失和浪費(fèi)倉庫的倉庫管理是整個(gè)物資供應(yīng)管理系統(tǒng)的核心。因此有必要開發(fā)一套獨(dú)立的倉庫管理系統(tǒng)來提高商店工作效率, 而所使用的這套倉庫管理系統(tǒng)是商店生產(chǎn)經(jīng)營管理活動中的核心,此系統(tǒng)必須可以用來控制合理的倉庫。主要體現(xiàn)在:(1) 極大提高了倉庫工作人員

3、的工作效率,大大減少了以往入出存流程繁瑣,雜亂,周期長的弊端。(2)基于倉庫管理的全面自動化,可以減少入庫管理、出庫管理及庫存管理中的漏洞,可以節(jié)約不少管理開支,增加商店收入。(3)倉庫的管理的操作自動化和信息的電子化,全面提高了倉庫的管理水平。隨著我國改革開放的不斷深入,經(jīng)濟(jì)飛速的發(fā)展,商店要想生存、發(fā)展,要想在激烈的市場競爭中立于不敗之地,沒有現(xiàn)代化的管理是萬萬不行的,倉庫管理的全面自動化、信息化則是其中極其重要的部分。為了加快倉庫管理自動化的步伐,提高倉庫的管理業(yè)務(wù)處理效率,建立倉庫管理系統(tǒng),盡可能地減少倉庫管理的重復(fù)性和低效性,已變得十分必要。1.2 功能需求本軟件是一個(gè)簡單的倉庫管理

4、系統(tǒng),在滿足用戶需求的基礎(chǔ)上,用計(jì)算機(jī)來實(shí)現(xiàn)系統(tǒng)的信息處理邏輯模型中規(guī)定的輸入、輸出及內(nèi)部處理等多項(xiàng)功能,本軟件產(chǎn)品是一項(xiàng)獨(dú)立的軟件。相應(yīng)的需求有:(1) 用戶登錄:實(shí)現(xiàn)用戶的登錄,并進(jìn)行相應(yīng)的操作。(2) 用戶管理:實(shí)現(xiàn)管理人員添加、修改、刪除信息等功能。(3) 客戶管理:實(shí)現(xiàn)客戶的增加、修改、刪除信息等功能。(4) 員工管理:實(shí)現(xiàn)員工的增刪、修改、刪除信息等功能。(5) 物資管理:實(shí)現(xiàn)管理員對貨物進(jìn)庫、出庫的添加、修改、刪除等功能。(6) 入庫和出庫管理:實(shí)現(xiàn)管理員對貨物進(jìn)行入庫、出庫操作,并可查詢相應(yīng)貨物的出庫信息。 1.3功能模塊圖:如圖1所示圖1 系統(tǒng)主要層次模塊圖1.4數(shù)據(jù)流圖(1

5、)系統(tǒng)流圖:如圖2所示 圖2倉庫管理系統(tǒng)流圖(2)倉庫管理系統(tǒng)第一層數(shù)據(jù)流圖 :如圖3所示圖3 倉庫管理系統(tǒng)第一層數(shù)據(jù)流圖(3)倉庫管理系統(tǒng)第二層數(shù)據(jù)流圖:如圖4所示圖4倉庫管理系統(tǒng)第二層數(shù)據(jù)流圖1.6系統(tǒng)的數(shù)據(jù)字典 數(shù)據(jù)字典通常包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程5個(gè)部分。若每個(gè)部分一一列出,數(shù)量龐大,且并未設(shè)計(jì)的如此詳細(xì),在此只列舉各個(gè)表的大概信息。表名:用戶密碼表說明:記錄用戶的信息和密碼組成:用戶ID+用戶密碼+用戶權(quán)限表名:員工表說明:記錄員工所有信息組成:員工號+員工名+性別+年齡+進(jìn)場時(shí)間+聯(lián)系電話+地址+職務(wù)表名:供應(yīng)商表說明:記錄供應(yīng)商所有信息組成:供應(yīng)商號+供應(yīng)

6、商名+供應(yīng)商聯(lián)系人+聯(lián)系人電話+供應(yīng)商地址表名:庫存表說明:記錄庫存的庫存量和庫存總量組成:倉庫號+物資號+現(xiàn)有庫存+庫存總量表名:倉庫表說明:記錄倉庫所有信息組成:倉庫號+倉庫地址+庫存總量表名:供應(yīng)物資表說明:記錄物資號,供應(yīng)商號,供應(yīng)量組成:物資號+供應(yīng)商號+供應(yīng)量表名:進(jìn)倉單說明:記錄倉庫,物資,供應(yīng)商和庫存的信息組成:物資號+倉庫號+供應(yīng)商號+物資名+時(shí)間+數(shù)量+員工號表名:出倉單說明:記錄倉庫,物資,供應(yīng)商和庫存的信息組成:物資號+倉庫號+物資名+供應(yīng)商號+時(shí)間+數(shù)量+員工號表名:管理表說明:反應(yīng)倉庫和員工的關(guān)系組成:倉庫號+員工號+物資號+員工名+時(shí)間表名:物資表說明:記錄物資所

7、有信息組成:物資號+物資名+備注二 概念設(shè)計(jì)(1)供應(yīng)商E-R圖:如圖5所示圖5 供應(yīng)商E-R圖(2)物質(zhì)E-R圖:如圖6所示圖6 物資E-R圖(3)倉庫E-R圖:如圖7所示圖7倉庫E-R圖(4)員工E-R圖:如圖8所示圖8 員工E-R圖(5)出/入庫存單E-R圖:如圖9所示圖9 出/入庫存單E-R圖(6)倉庫管理系統(tǒng)總E-R圖:如圖10所示圖10 倉庫管理系統(tǒng)總ER圖三 邏輯結(jié)構(gòu)設(shè)計(jì)關(guān)系模型,關(guān)系的碼用下劃線標(biāo)出供應(yīng)商(供應(yīng)商號,供應(yīng)商名,供應(yīng)商聯(lián)系人,聯(lián)系人電話,供應(yīng)商地址)庫存(倉庫號,物資號,現(xiàn)有庫存,庫存總量)倉庫(倉庫號,倉庫地址,庫存總量)員工(員工號,員工名,性別,年齡,進(jìn)場時(shí)

8、間,聯(lián)系電話,地址,職務(wù))管理(倉庫號,員工號,物資號,員工名,時(shí)間)供應(yīng)商供應(yīng)(物資號,供應(yīng)商號,供應(yīng)量)進(jìn)倉單(物資號,倉庫號,供應(yīng)商號,物資名,時(shí)間,數(shù)量,員工號)出倉單(物資號,倉庫號,物資名,供應(yīng)商號,時(shí)間,數(shù)量,員工號)四、數(shù)據(jù)庫物理設(shè)計(jì)數(shù)據(jù)庫表表 1 用戶登陸表字段名稱數(shù)據(jù)類型約束條件說明用戶char主鍵字段大小為20用戶密碼charNULL字段大小為20用戶權(quán)限charNULL字段大小為20表2 供應(yīng)商字段名稱數(shù)據(jù)類型約束條件說明供應(yīng)商號int主鍵字段大小為4供應(yīng)商品名charNULL字段大小為100供應(yīng)商地址charNULL字段大小為100供應(yīng)商聯(lián)系人charNULL字段大小

9、為100供應(yīng)商電話charNULL字段大小為30表 3 員工表字段名稱數(shù)據(jù)類型約束條件說明員工號int主鍵字段大小為4員工姓名charNULL字段大小為20員工性別intNULL字段大小為4員工年齡intNULL字段大小為4進(jìn)工廠時(shí)間datetimeNULL字段大小為8職務(wù)charNULL字段大小為20住址charNULL字段大小為20聯(lián)系電話charNULL字段大小為20表4 物資表字段名稱數(shù)據(jù)類型約束條件說明物資號int主鍵(外鍵)字段大小為4物資名charNULL字段大小為20備注charNULL字段大小為20表5 供應(yīng)物資表字段名稱數(shù)據(jù)類型約束條件說明物資號int主鍵字段大小為4供應(yīng)商

10、號int主鍵字段大小為4供應(yīng)量charNULL字段大小為20表6 進(jìn)倉單字段名稱數(shù)據(jù)類型約束條件說明倉庫號int主鍵字段大小為4物資號int主鍵字段大小為4數(shù)量intNULL字段大小為4時(shí)間datatimeNULL字段大小為8供應(yīng)商號intNULL字段大小為4進(jìn)貨員工號intNULL字段大小為4物資名charNULL字段大小為20表7 出倉單字段名稱數(shù)據(jù)類型約束條件說明倉庫號int主鍵字段大小為4物資號int主鍵字段大小為4數(shù)量intNULL字段大小為4時(shí)間intNULL字段大小為4供應(yīng)商號intNULL字段大小為4出貨員工號intNULL字段大小為4物資名charNULL字段大小為20表8

11、倉庫表字段名稱數(shù)據(jù)類型約束條件說明倉庫號int主鍵字段大小為4庫存總量intNULL字段大小為4現(xiàn)有庫存intNULL字段大小為4倉庫地址charNULL字段大小為20表9 庫存表字段名稱數(shù)據(jù)類型約束條件說明倉庫號int主鍵字段大小為4物資號int主鍵字段大小為4現(xiàn)有庫存intNULL字段大小為4庫存總量intNULL字段大小為4表10 管理表字段名稱數(shù)據(jù)類型約束條件說明倉庫號int主鍵字段大小為4員工號int主鍵字段大小為4物資號int主鍵字段大小為4員工名charNULL字段大小為20時(shí)間datatimeNULL字段大小為8五、數(shù)據(jù)庫的實(shí)施數(shù)據(jù)庫和數(shù)據(jù)庫表的創(chuàng)建語法用戶登錄表create

12、table 用戶表用戶ID char(20) primary key,用戶密碼 char(20) ,用戶權(quán)限 char(20);/*供應(yīng)商表*/create table 供應(yīng)商表(供應(yīng)商號 int primary key,商品名 char(20) ,商品地址 char(20) ,供應(yīng)商聯(lián)系人 char(20),聯(lián)系電話 char(20);/*員工表*/create table 員工表(員工號 int primary key,員工名 char(20) ,性別 char(20) ,員工年齡 char(20),進(jìn)廠時(shí)間 datetime,職務(wù) char(20),住址 char(20),聯(lián)系電話 ch

13、ar(20);/*物資表*/create table 物資表(物資號 int primary key,物資名 char(20),備注 char(20);/*供應(yīng)物資表*/create table 供應(yīng)物資表(物資號 int primary key,供應(yīng)商號 int UNIQUE,供應(yīng)量 char(20);/*進(jìn)倉表*/create table 進(jìn)倉表(倉庫號 int primary key,物資號 int UNIQUE,數(shù)量 int,時(shí)間 datetime,供應(yīng)商號 int,進(jìn)貨員工號 int,物資名 char(20);/*出倉表*/create table 出倉表(倉庫號 int prima

14、ry key,物資號 int UNIQUE,數(shù)量 int,時(shí)間 datetime,供應(yīng)商號 int,出貨員工號 int,物資名 char(20),);/*庫存表*/create table 庫存表(倉庫號 int primary key,物資號 int UNIQUE,現(xiàn)有庫存 int,庫存總量 int);/*倉庫表*/create table 倉庫表(倉庫號 int primary key,現(xiàn)有庫存 int,庫存總量 int,倉庫地址 int);/*管理表*/create table 管理表( 倉庫號 int primary key, 員工號 int UNIQUE, 物資號 int UNIQU

15、E, 員工名 char(20), 時(shí)間 datetime );六、系統(tǒng)運(yùn)行結(jié)果()登陸界面:如圖11所示圖11 登錄界面主要代碼UpdateData(true);if(!m_database.IsOpen() if(!m_database.Open(_T(cangkuguanlixitong)MessageBox(不能打開到數(shù)據(jù)庫系統(tǒng)的連接!); return; CLoginSet m_userset; /聲明一個(gè)數(shù)據(jù)集,用來保存從數(shù)據(jù)庫中讀取到的數(shù)據(jù)CString str;if(m_userset.IsOpen()/如果這個(gè)數(shù)據(jù)集已經(jīng)打開,則關(guān)閉它,重新讀取,以免出錯(cuò)m_userset.Cl

16、ose();/str保存SQL語句,用于讀到數(shù)據(jù)庫中的數(shù)據(jù)str.Format(select * from 用戶密碼表 where 用戶ID=%s and 用戶密碼=%s,m_userid,m_password);m_userset.m_pDatabase=&m_database;/使用Open函數(shù)執(zhí)行SQL語句m_userset.Open(AFX_DB_USE_DEFAULT_TYPE,str);/當(dāng)讀到的數(shù)據(jù)為空時(shí),則輸出提示語句if(m_userset.IsEOF()MessageBox(數(shù)據(jù)庫里沒有相應(yīng)資料,請檢查用戶名密碼是否正確);m_userid=;m_password=;els

17、e/讀取數(shù)據(jù)成功,則進(jìn)行賦值,并進(jìn)行其他操作username.Format(%s,m_userset.m_ID);userpower=m_userset.m_column2;MainDlg-ShowWindow(SW_SHOW); /MainDlg-ShowWindow(SW_SHOW);/ShowWindow(SW_HIDE);CDialog:OnOK();(3)主窗口界面:如圖12所示圖12 主窗口界面(3)物質(zhì)管理界面:如圖13所示圖13 物資管理界面主要代碼void CMainDlg:OnMaterialManage() showdlg-ShowWindow(SW_SHOW);CStr

18、ing sql=select * from 物資表 order by 物資號;showdlg-OnRefreshData(sql);ShowWindow(SW_HIDE);(3)插入物資界面:如圖14所示圖14 插入物資界面(3)插入結(jié)果圖:如圖15所示圖15 插入結(jié)果主要代碼UpdateData(true);CString sql;char temp15;if(isupdate)UpdateData(true);sql.Format(update 物資表 set 物資名稱=%s,數(shù)量=%d,備注=%s where 物資號=%s,m_name,m_num,m_mark,itemnum);try

19、 m_database.ExecuteSQL(sql);/執(zhí)行插入操作sql=select * from 物資表 order by 物資號;showdlg-OnRefreshData(sql);catch (CDBException e) MessageBox(更新失敗);CDialog:OnOK();elseint maxnum;sql.Format(select * from 物資表 order by 物資號);CMessSet m_record;m_record.m_pDatabase=&m_database;m_record.Open(AFX_DB_USE_DEFAULT_TYPE,s

20、ql);/獲取物次表的最大物資號,最動生成物資號if(m_record.IsEOF()maxnum=0;elsem_record.MoveLast();maxnum=m_record.m_column1;maxnum+;/生成插入資料的SQL語句sql.Format(insert into 物資表 values();itoa(maxnum,temp,10);sql=sql+temp+,+m_name+,;itoa(m_num,temp,10);sql=sql+temp+,+m_mark+);try m_database.ExecuteSQL(sql);/執(zhí)行插入操作sql=select * f

21、rom 物資表 order by 物資號;showdlg-OnRefreshData(sql);catch (CDBException e) MessageBox(插入失敗);return;(3)刪除操作圖:如圖16所示圖16 刪除操作主要代碼CString sql;CString item;int index=-1;char buf100;if (m_List.GetNextItem(index,LVNI_SELECTED) = -1)MessageBox(請先選中一條記錄);return;int num;int preindex=-1;/刪除List Control控件中選中的記錄。whi

22、le (index = m_List.GetNextItem(preindex,LVNI_SELECTED) != -1) item=m_List.GetItemText(index,0);/從選中的記錄中獲取用戶名try/生成刪除用戶的SQL語句sql.Format(delete from 物資表 where 物資號=%s,item);m_database.ExecuteSQL(sql);catch(CDBException e1)AfxMessageBox(數(shù)據(jù)庫操作失敗);catch(CMemoryException e2)AfxMessageBox(數(shù)據(jù)庫操作失敗);preindex=

23、index;/更新顯示數(shù)據(jù)sql=select * from 物資表 order by 物資號;this-OnRefreshData(sql);OnPaint();(3)修改物質(zhì)界面:如圖17所示圖17 修改物資主要代碼CString sql;CString item;int index=-1;char buf100;if (index=m_List.GetNextItem(index,LVNI_SELECTED) = -1)MessageBox(請先選中一條記錄);return;int preindex=-1;while (index = m_List.GetNextItem(preindex,LVNI_SELECTED) != -1) adddlg-itemnum=m_List.GetItemText(index,0);adddlg-m_name=m_List.GetItemText(index,1);adddlg-m_num=atoi(m_List.GetItemText(index,2);adddlg-m_mark=m_List.GetItemText(index,3);adddlg-isupdate=true;adddlg-UpdateData(FALSE);adddlg-ShowWindow(SW_SHOW);preindex=index;break;(3)物資號

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論