




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件項(xiàng)目開發(fā)綜合實(shí)踐大作業(yè)題 目: 商品庫(kù)存管理系統(tǒng) 專 業(yè): 09計(jì)算機(jī)應(yīng)用技術(shù) 作 者: 指導(dǎo)教師: 黃 鋼 目 錄第1章:系統(tǒng)的可行性分析- 2 -1.1 商品庫(kù)存管理系統(tǒng)的主要任務(wù)- 2 -1.2 可行性分析- 2 -第2章:需求分析- 3 -2.1 系統(tǒng)的需求分析- 3 -2.2 系統(tǒng)功能- 3 -2.2.1 商品管理模塊- 3 -2.2.2 商家管理模塊- 4 -2.2.3 入庫(kù)管理模塊- 4 -2.2.4 出庫(kù)管理模塊- 4 -第3章:設(shè)計(jì)過程- 5 -3.1 商品庫(kù)存管理系統(tǒng)用例圖- 5 -3.2 數(shù)據(jù)庫(kù)操縱- 5 -3.3 登錄對(duì)話框- 12 -3.3.1 刪除無(wú)關(guān)控件- 1
2、2 -3.3.2 制作登錄封面- 12 -3.3.3 界面設(shè)計(jì)- 12 -3.3.4 編寫代碼- 13 -3.3.5 主界面的實(shí)現(xiàn)- 14 -第4章:系統(tǒng)總結(jié)- 18 -第1章:系統(tǒng)的可行性分析1.1 商品庫(kù)存管理系統(tǒng)的主要任務(wù)商品庫(kù)存管理系統(tǒng)是對(duì)商品庫(kù)存進(jìn)行整理, 使得能方便快捷地對(duì)人事檔案進(jìn)行查詢、統(tǒng)計(jì)、更新并且能按一定要求輸出報(bào)表。通過該系統(tǒng)、使企業(yè)的商品庫(kù)存管理工作系統(tǒng)化、規(guī)范化、自動(dòng)化, 從而提高企業(yè)人事管理的效率。1.2 可行性分析(1) 技術(shù)可行性隨著國(guó)內(nèi)軟件開發(fā)的日益發(fā)展壯大,各種中小企事業(yè)單位已具備獨(dú)立開發(fā)各種類型的軟件的能力,能夠滿足不同行業(yè)的特別的需求。而這個(gè)系統(tǒng)盡管其在
3、組織關(guān)系上存在著很大的復(fù)雜性,繁瑣性,但是就整個(gè)系統(tǒng)的技術(shù)構(gòu)成上來(lái)看,它還是屬于一個(gè)數(shù)據(jù)庫(kù)應(yīng)用類的系統(tǒng)。其基本操作還是對(duì)存在數(shù)據(jù)庫(kù)進(jìn)行瀏覽、添加、刪除、修改等。所以就單純的數(shù)據(jù)庫(kù)應(yīng)用來(lái)看,暫不存在太大的技術(shù)問題。(2) 經(jīng)濟(jì)可行性對(duì)于整個(gè)系統(tǒng)而言,在系統(tǒng)未運(yùn)行之前,初期投資比較大,花費(fèi)相對(duì)而言比較多。各部門必須配置電腦、服務(wù)器、打印機(jī)、傳真機(jī)及相關(guān)的網(wǎng)絡(luò)設(shè)備, 但是在整個(gè)系統(tǒng)投入運(yùn)行之后,因?yàn)楝F(xiàn)在計(jì)算機(jī)已經(jīng)普及了,相關(guān)的人員培訓(xùn)費(fèi)可以減少很多。而同時(shí)又減少了數(shù)據(jù)的流通環(huán)節(jié),不必要花費(fèi)那么多的時(shí)間,也就是說(shuō)最重要的是就是提高了效率,而又保證了各項(xiàng)數(shù)據(jù)的準(zhǔn)確性,也避免了工作人員的流動(dòng)造成的收據(jù)丟失
4、等問題,適應(yīng)了當(dāng)前的發(fā)展形式。(3) 管理可行性 隨著時(shí)代的發(fā)展,人員素質(zhì)己逐步提高,不論是對(duì)于電腦系統(tǒng)的基本操作還是對(duì)于系統(tǒng)的維護(hù)都有了一定的基礎(chǔ)。同時(shí)還可以配置專業(yè)的電腦維護(hù)人員來(lái)維護(hù)電腦,不必?fù)?dān)心電腦故障問題。(4) 開發(fā)環(huán)境可行性Visual C+ + 為用戶提供了ODBC (Open Database Connec2 tivity , 開放式數(shù)據(jù)庫(kù)連接) 、DAO (Data Access Object , 數(shù)據(jù)訪問對(duì)象) 和OLEDB (OL E Data Base , OL E 數(shù)據(jù)庫(kù)) 三種數(shù)據(jù)庫(kù)訪問技術(shù), 它們都具有簡(jiǎn)單、靈活、訪問速度快、可擴(kuò)展性強(qiáng)的特點(diǎn), 這些正是Visu
5、al C 6 較其它開發(fā)工具所具有的優(yōu)勢(shì)。ODBC 是一種使用SQL 的程序設(shè)計(jì)接口, 它使得編寫應(yīng)用程序避免了與數(shù)據(jù)源相聯(lián)的復(fù)雜過程。第2章:需求分析2.1 系統(tǒng)的需求分析伴隨著計(jì)算機(jī)的發(fā)展及網(wǎng)絡(luò)技術(shù)的應(yīng)用,我們正在快速地向信息化社會(huì)邁進(jìn),信息自動(dòng)化的作用變得越來(lái)越大。在倉(cāng)庫(kù)管理領(lǐng)域中,倉(cāng)庫(kù)管理的規(guī)模正在不斷擴(kuò)大,倉(cāng)庫(kù)管理的復(fù)雜度正在急劇地增加,有關(guān)倉(cāng)庫(kù)管理的各種信息量也成倍地增長(zhǎng)。面對(duì)龐大的信息量,就需要有商品庫(kù)存管理系統(tǒng)來(lái)提高庫(kù)存管理工作的效率。通過這樣的系統(tǒng),可以方便的查詢、添加和修改商品及供貨商的基本情況,掌握入庫(kù)出庫(kù)的各種情況,實(shí)現(xiàn)信息的規(guī)范管理、科學(xué)統(tǒng)計(jì)和快速查詢,從而減少管理方
6、面的工作量,同時(shí)避免由于人為因素造成數(shù)據(jù)遺漏和誤報(bào)等。商品庫(kù)存管理系統(tǒng)的功能要求如下:提供倉(cāng)庫(kù)各類信息的瀏覽、添加、刪除、修改等操作??梢赃M(jìn)行入庫(kù)出庫(kù)操作,并保證安全性??蛇M(jìn)行日志管理,方便事后查看。系統(tǒng)其他的相關(guān)功能。2.2 系統(tǒng)功能本系統(tǒng)主要模塊有4個(gè):商品信息管理、商家管理、入庫(kù)信息管理、出庫(kù)管理。其他模塊如預(yù)警模塊和日志管理都是為了增強(qiáng)系統(tǒng)的安全性和擴(kuò)展功能而設(shè)計(jì)的。下面分別對(duì)這4個(gè)模塊進(jìn)行介紹(系統(tǒng)的整體設(shè)計(jì)如圖1.1所示)。2.2.1 商品管理模塊倉(cāng)庫(kù)管理模塊通過此模塊來(lái)管理商品信息,包括瀏覽、查詢、添加、修改和刪除功能。在進(jìn)行商品信息的添加時(shí),系統(tǒng)會(huì)自動(dòng)檢測(cè)所添加的商品信息中的商
7、品號(hào)在商品表中是否已經(jīng)存在,如果存在,會(huì)提示用戶該商品已經(jīng)存在。在進(jìn)行商品信息的刪除時(shí),要首先彈出提示窗口讓用戶確認(rèn)是否刪除,只有用戶確認(rèn)后才能進(jìn)行商品信息的刪除。在進(jìn)行商品信息的修改時(shí),不準(zhǔn)用戶修改商品號(hào),因?yàn)樯唐诽?hào)作為數(shù)據(jù)庫(kù)中商品表的主鍵是不同商品的唯一標(biāo)識(shí),不準(zhǔn)修改商品號(hào)可以防止不經(jīng)意將商品號(hào)改錯(cuò);如果確實(shí)要修改商品號(hào),可以通過數(shù)據(jù)庫(kù)管理員來(lái)實(shí)現(xiàn),也可以先將錯(cuò)誤商品號(hào)信息刪除再添加正確的商品信息,這樣在刪除時(shí)會(huì)彈出提示窗口,讓用戶確認(rèn)是否刪除,給用戶以提示,防止意外錯(cuò)誤。登陸界面庫(kù)存預(yù)警操作日志修改密碼商品管理商家管理入庫(kù)管理出庫(kù)管理主界面幫助圖1.1 系統(tǒng)整體設(shè)計(jì)2.2.2 商家管理模
8、塊倉(cāng)庫(kù)管理員通過此模塊來(lái)管理商家信息,包括瀏覽、查詢、添加、修改和刪除功能。在進(jìn)行商家信息的添加時(shí),系統(tǒng)會(huì)自動(dòng)檢測(cè)所添加的商家信息的商家號(hào)在商家表中是否已經(jīng)存在,如果存在,會(huì)提示用戶該商家在商家表中已經(jīng)存在。在進(jìn)行商家信息的刪除時(shí),要首先彈出提示窗口讓用戶確認(rèn)是否刪除,只有用戶確認(rèn)后才能進(jìn)行商家信息的刪除。在進(jìn)行商家信息的修改時(shí),不準(zhǔn)用戶修改商家號(hào)。2.2.3 入庫(kù)管理模塊倉(cāng)庫(kù)管理員通過此模塊來(lái)管理入庫(kù)信息,包括瀏覽、查詢、添加、修改和刪除功能。在進(jìn)行入庫(kù)信息的添加時(shí),系統(tǒng)會(huì)自動(dòng)檢測(cè)所添加的入庫(kù)信息中的商品號(hào)在商品表里是否存在,商家號(hào)在商家表中是否存在,只要有一個(gè)不存在,就會(huì)提示用戶輸入有誤;
9、同時(shí)檢驗(yàn)所添加的商品號(hào)和商家號(hào)的組合在入庫(kù)表中同一時(shí)間是否已經(jīng)存在,如果存在,會(huì)提示用戶該入庫(kù)信息在入庫(kù)表中已經(jīng)存在。2.2.4 出庫(kù)管理模塊倉(cāng)庫(kù)管理員通過此模塊來(lái)進(jìn)行出庫(kù)操作。選擇相應(yīng)的商品,系統(tǒng)自動(dòng)顯示被選擇商品的數(shù)量。若出庫(kù)數(shù)量大于當(dāng)前商品數(shù)量,則操作不能完成。第3章:設(shè)計(jì)過程3.1 商品庫(kù)存管理系統(tǒng)用例圖商品庫(kù)存管理系統(tǒng)用例圖如圖3.1所示。圖3.1商品庫(kù)存管理系統(tǒng)用例圖3.2 數(shù)據(jù)庫(kù)操縱E-R圖: 商品商品編號(hào)商品名稱當(dāng)前庫(kù)存量最大庫(kù)存量最小庫(kù)存量圖3.2 商品信息供貨商商家編號(hào)商家名稱商家地址負(fù)責(zé)人電話Email圖3.3 供貨商信息入庫(kù)商品編號(hào)商家編號(hào)入庫(kù)數(shù)量購(gòu)入價(jià)格入庫(kù)日期圖3.
10、4 入庫(kù)信息出庫(kù)商品編號(hào)出庫(kù)數(shù)目負(fù)責(zé)人出庫(kù)者出庫(kù)日期圖3.5 出庫(kù)信息日志操作員操作時(shí)間操作名圖3.6 日志信息管理員管理員號(hào)用戶名密碼圖3.7 管理員信息引入數(shù)據(jù)庫(kù)鏈接代碼如下:#import"C:programfilescommonfilesSystemadomsado15.dll" no_namespace rename("EOF","adoEOF") rename("LockTypeEnum","newLockTypeEnum")rename("DataTypeEnum&quo
11、t;,"newDataTypeEnum")rename("FieldAttributeEnum","newFieldAttributeEnum")rename("EditModeEnum","newEditModeEnum")rename("RecordStatusEnum","newRecordStatusEnum")rename("ParameterDirectionEnum","newParameterDirection
12、Enum")class CGMSApp : public CWinApppublic:CGMSApp();public:_RecordsetPtr m_pRs;bool ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL);CLogManager m_log;/ Overrides/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CGMSApp)public:virtual BOOL InitInstance();/AFX_VIRTUAL/
13、 Implementation/AFX_MSG(CGMSApp)/ NOTE - the ClassWizard will add and remove member functions here./ DO NOT EDIT what you see in these blocks of generated code !/AFX_MSGDECLARE_MESSAGE_MAP()private:/ Define ADO Database Connnection_ConnectionPtr m_pConn;BOOL CGMSApp:InitInstance()AfxEnableControlCon
14、tainer();/ Standard initialization/ If you are not using these features and wish to reduce the size/ of your final executable, you should remove from the following/ the specific initialization routines you do not need.#ifdef _AFXDLLEnable3dControls();/ Call this when using MFC in a shared DLL#elseEn
15、able3dControlsStatic();/ Call this when linking to MFC statically#endif/ Create ADO Connectionif( FAILED(:CoInitialize(NULL) ) AfxMessageBox("ADO Init failed");return false;trym_pConn.CreateInstance(_uuidof(Connection);m_pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=GMS
16、.mdb","","",adConnectUnspecified);/ Catch Exceptionscatch(_com_error &e)CString err;err.Format("%s", (char*)(e.Description() );AfxMessageBox(err);catch(.)AfxMessageBox("Unknown Error.");/ Init ADO RecordSetm_pRs.CreateInstance(_uuidof(Recordset);CGMSD
17、lg dlg;m_pMainWnd = &dlg;int nResponse = dlg.DoModal();if (nResponse = IDOK)/ TODO: Place code here to handle when the dialog is/ dismissed with OKelse if (nResponse = IDCANCEL)/ TODO: Place code here to handle when the dialog is/ dismissed with Cancel/ Since the dialog has been closed, return F
18、ALSE so that we exit the/ application, rather than start the application's message pump.return FALSE;bool CGMSApp:ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL)if ( ADOSet->State = adStateOpen)ADOSet->Close();try ADOSet->Open(strSQL, m_pConn.GetInterfacePtr(), adOpenStati
19、c, adLockOptimistic, adCmdUnknown); return true;catch(_com_error &e) CString err; err.Format("ADO Error: %s",(char*)e.Description(); AfxMessageBox(err); return false;數(shù)據(jù)庫(kù)表如圖3.8,圖3.9, 圖3.10, 圖3.11, 圖3.12, 圖3.13,圖3.14所示。圖3.8 數(shù)據(jù)庫(kù)圖3.9 管理員信息圖3.10 商品信息圖3.11 入庫(kù)信息圖3.12 日志表圖3.13 出庫(kù)信息圖3.14 供貨商信息3
20、.3 登錄對(duì)話框3.3.1 刪除無(wú)關(guān)控件 在主對(duì)話框IDD_GMS_DIALOG中將提示文本“TODO:在這里設(shè)置對(duì)話控制”刪除。同時(shí),把兩個(gè)命令按鈕“確定”和“取消”刪除。3.3.2 制作登錄封面登錄封面的主要作用有:說(shuō)明系統(tǒng)名稱、版權(quán);修飾應(yīng)用程序。如圖3.15所示。圖3.15 系統(tǒng)封面位圖3.3.3 界面設(shè)計(jì)設(shè)計(jì)界面如圖3.16所示。圖3.16 登錄對(duì)話框設(shè)計(jì)界面3.3.4 編寫代碼 “確定”按鈕:void CGMSDlg:OnButtonOk() CString strSql;_variant_t strQuery;UpdateData(TRUE);if (m_strName.IsEm
21、pty() /*判斷用戶名信息是否為空*/AfxMessageBox("請(qǐng)輸入用戶名!");return;strQuery = "SELECT * FROM admin WHERE Admin_name='"+m_strName+ "' AND Admin_passwd='" + m_strPasswd+ "'"theApp.ADOExecute(theApp.m_pRs, strQuery); int iCount = theApp.m_pRs->GetRecordCount
22、();if ( 0=iCount ) AfxMessageBox("用戶名或密碼錯(cuò)誤!");m_strName=""m_strPasswd=""UpdateData(false);elsestrAdminName=m_strName;:Sleep(300);OnOK();CMainDlg dlg;dlg.DoModal();“取消”按鈕void CGMSDlg:OnButtonCancle() OnCancle();/ TODO: Add your control notification handler code here3.3.5
23、 主界面的實(shí)現(xiàn)界面設(shè)計(jì)設(shè)計(jì)界面如圖3.17所示。圖3.17 主界面設(shè)計(jì)代碼編寫:void CMainDlg:OnButtonGoodsadd() CGoodsDlg dlg;this->ShowWindow(SW_HIDE);dlg.DoModal();this->ShowWindow(SW_SHOW);/ TODO: Add your control notification handler code herevoid CMainDlg:OnButtonProvideradd() CProviderDlg dlg;this->ShowWindow(SW_HIDE);dlg.
24、DoModal();this->ShowWindow(SW_SHOW);/ TODO: Add your control notification handler code herevoid CMainDlg:OnButtonGoodsin() CInDlg dlg;this->ShowWindow(SW_HIDE);dlg.DoModal();this->ShowWindow(SW_SHOW);/ TODO: Add your control notification handler code herevoid CMainDlg:OnButtonGoodsout() COu
25、tDlg dlg;this->ShowWindow(SW_HIDE);dlg.DoModal();this->ShowWindow(SW_SHOW);/ TODO: Add your control notification handler code herevoid CMainDlg:OnButtonGoods() CViewDlg dlg;this->ShowWindow(SW_HIDE);dlg.Init(1);dlg.DoModal();this->ShowWindow(SW_SHOW);/ TODO: Add your control notification
26、 handler code herevoid CMainDlg:OnButtonProvider() CViewDlg dlg;this->ShowWindow(SW_HIDE);dlg.Init(2);dlg.DoModal();this->ShowWindow(SW_SHOW);/ TODO: Add your control notification handler code herevoid CMainDlg:OnButtonIn() CViewDlg dlg;this->ShowWindow(SW_HIDE);dlg.Init(3);dlg.DoModal();th
27、is->ShowWindow(SW_SHOW);/ TODO: Add your control notification handler code herevoid CMainDlg:OnButtonOut() CViewDlg dlg;this->ShowWindow(SW_HIDE);dlg.Init(3);dlg.DoModal();this->ShowWindow(SW_SHOW);/ TODO: Add your control notification handler code herevoid CMainDlg:OnButtonAlert() CAlertDlg dlg;dlg.DoModal();/ TODO: Add your control notification handler code herevoid CMainDlg:OnButtonAdmin() CPasswdDlg dlg;dlg.DoModal();/ TODO: Add your co
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司組織團(tuán)日活動(dòng)方案
- 公司熒光夜跑活動(dòng)方案
- 公司疫情理發(fā)活動(dòng)方案
- 公司溫情環(huán)節(jié)活動(dòng)方案
- 公司激勵(lì)經(jīng)銷商活動(dòng)方案
- 公司新年娛樂活動(dòng)方案
- 公司活動(dòng)創(chuàng)新活動(dòng)方案
- 公司線上中秋節(jié)活動(dòng)方案
- 公司月主體研討活動(dòng)方案
- 公司紀(jì)念畫冊(cè)策劃方案
- 醫(yī)學(xué)高級(jí)職稱評(píng)審答辯報(bào)告PPT模板
- 《緩解新入園幼兒焦慮策略的研究》課題結(jié)題材料(開題報(bào)告、中期報(bào)告、結(jié)題報(bào)告、調(diào)查問卷、課題論文)
- 健康生活方式基本的知識(shí)講座
- 消防管理檢查評(píng)分表
- 制造執(zhí)行系統(tǒng)SMT MES解決方案
- 高二區(qū)域地理 撒哈拉以南的非洲課件
- 數(shù)字化精密加工車間項(xiàng)目可行性研究報(bào)告建議書
- 2022年《內(nèi)蒙古自治區(qū)建設(shè)工程費(fèi)用定額》取費(fèi)說(shuō)明
- Q∕GDW 10799.6-2018 國(guó)家電網(wǎng)有限公司電力安全工作規(guī)程 第6部分:光伏電站部分
- 寧波市建設(shè)工程資料統(tǒng)一用表(2022版)1 通用分冊(cè)
- 危險(xiǎn)化學(xué)品安全技術(shù)說(shuō)明書MSDS—汽油
評(píng)論
0/150
提交評(píng)論