




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、重慶交通學(xué)院信息科學(xué)與工程學(xué)院程序設(shè)計實訓(xùn)I綜合設(shè)計報告?zhèn)}庫管理系統(tǒng)學(xué)號: 631106050108姓名:王潔松專業(yè):軟件開發(fā)班級:軟件一班實驗室(中心): B01407指導(dǎo)老師:魯云平完成時間: 2012 12 24目錄一、任務(wù)書二、需求分析三、編程與實現(xiàn)四、測試內(nèi)容與結(jié)果五、存在的問題與不足及對策六、對這門課的建議七、參考文獻(xiàn)以下為設(shè)計報告正文內(nèi)容教師評閱意見:一任務(wù)書重慶交通學(xué)院信息科學(xué)與工程學(xué)院綜合設(shè)計任務(wù)書簽名:年 月 日課 程程序設(shè)計實訓(xùn)I班級軟件一班指導(dǎo)教師魯云平成績:題目主要內(nèi)容設(shè)計報告要求版面要求倉庫管理系統(tǒng)完成時間2012-12-241、需求分析;2、系統(tǒng)設(shè)計;3、編程與實
2、現(xiàn)(必須附上自己添加的源代碼并加上注釋);4、測試內(nèi)容與結(jié)果;5、存在的問題與不足及對策;6、對這門課的建議;7、參考文獻(xiàn)設(shè)計成果要求1、兩人一題,分工協(xié)作,獨立完成。(多人協(xié)作完成,要注明分工情況)2、要求能夠?qū)π畔⑦M(jìn)行添加、修改、刪除、查詢、統(tǒng)計等操作。3、數(shù)據(jù)庫中不得少于兩張表,每張表不得少于 7 個字段,每張表中不得少于 30 條記錄。4、使用 MFC完成設(shè)計。5、提交設(shè)計報告,設(shè)計報告內(nèi)容完整、格式規(guī)范考核內(nèi)容與方式1、設(shè)計報告:50%2、程序加演示: 50%每位同學(xué)單獨演示自己的程序并現(xiàn)場回答提問。1題目用黑體三號,段后距18 磅(或 1 行),居中對齊;2標(biāo)題用黑體四號,段前、段
3、后距6 磅(或 0.3 行);3正文用小四號宋體,行距為1.25 倍行距;4標(biāo)題按“一”、“”、“1”、“”順序編號。備請同學(xué)們參考 Visual C+ 實訓(xùn)綜合應(yīng)用實習(xí)部分。注倉庫管理系統(tǒng)設(shè)計報告系統(tǒng)設(shè)計:(一)操作子系統(tǒng)物料入庫管理子系統(tǒng)主要負(fù)責(zé)物料入庫前的審核、入庫辦理及對相應(yīng)數(shù)據(jù)存儲的修改和反饋給物料采購部門到庫信息。其功能主要有:設(shè)備代碼存儲物品代碼;設(shè)備入庫根據(jù)采購計劃核對物料入庫情況;設(shè)備出庫登記物品出庫情況;設(shè)備還庫收到入庫通知后物料入庫,填寫入庫單;設(shè)備需求登記好物品需要的數(shù)量極其種類;(二)查詢子系統(tǒng)物料存儲盤點子系統(tǒng)主要負(fù)責(zé)對庫存物料的管理和倉庫的存儲信息進(jìn)行維護(hù)和管理,
4、同時為管理人員提供對庫存物料的信息查詢功能和調(diào)整物料單價。其功能主要有:庫存信息核對庫存信息和實際物料數(shù)量是否吻合;入庫信息對庫存物料信息按不同要求進(jìn)行進(jìn)行入庫查詢;出庫信息查詢出庫信息;還庫信息記錄好物品的還庫情況;需求信息接受其它外部系統(tǒng)對庫存信息的查詢要求,并返回查詢結(jié)果。(三)其他功能操作子系統(tǒng)物料出庫管理子系統(tǒng)主要負(fù)責(zé)其它部門的領(lǐng)料流程管理,其功能主要是:生成設(shè)備采購計劃報表審查需求物品并反饋給領(lǐng)料部門;查看設(shè)備采購計劃報表總覽需求簡況報表;庫存警告根據(jù)庫存情況適時給出庫存數(shù)量的警告;(四)系統(tǒng)操作子系統(tǒng)報表統(tǒng)計管理子系統(tǒng)主要負(fù)責(zé)對倉庫的總庫存信息進(jìn)行匯總和分析,為其它部門提供相應(yīng)的
5、報表。其功能主要是:操作日志匯總所有操作信息;幫助提供一些操作方法及其說明;關(guān)于此倉庫管理系統(tǒng)的一些信息。退出退出訪問該系統(tǒng)。子系統(tǒng)間數(shù)據(jù)接口設(shè)計:各子系統(tǒng)功能相對獨立,不直接進(jìn)行數(shù)據(jù)交換,但是都對倉庫庫存信息進(jìn)行操作。倉庫管理系統(tǒng)主要針對實際物料的存儲信息進(jìn)行管理,維護(hù)的是數(shù)據(jù)信息的一個“倉庫”,這個“倉庫”的信息必須時刻與實際物料信息保持一致,這就要求各子系統(tǒng)根據(jù)自己的操作情況及時更新庫存信息。倉庫的庫存信息是核心,幾個子系統(tǒng)都是圍繞其進(jìn)行工作的,所以系統(tǒng)的數(shù)據(jù)設(shè)計工作主要在于存儲信息的邏輯結(jié)構(gòu)設(shè)計。系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計:庫存信息中的實體:名稱型號數(shù)量物料編碼類別名稱物料編碼類別單價單位規(guī)格單
6、據(jù)號日期摘要金額物料編碼庫存明細(xì)帳結(jié)余收入支出單價經(jīng)手人采購計劃實體:單據(jù)號時間型號單位采購計劃規(guī)格物料名稱預(yù)計價格負(fù)責(zé)人入庫單實體:日期保管員編號產(chǎn)地物料編碼入庫單驗收單號數(shù)量通知單號會計單價領(lǐng)料單實體:編號日期保管員數(shù)量領(lǐng)料單領(lǐng)料人領(lǐng)料單位物料編碼負(fù)責(zé)人其中領(lǐng)料單和入庫單可以根據(jù)物料編碼在庫存信息的物料表中查詢到該對應(yīng)物料的規(guī)格、型號、單位等相關(guān)具體信息。各種報表均有管理系統(tǒng)依據(jù)上面的實體信息生成。為更好的維護(hù)數(shù)據(jù)存儲信息,底層數(shù)據(jù)庫表結(jié)構(gòu)盡量簡單,不存在復(fù)雜的表間外鍵聯(lián)系,就用上面6 個實體所對應(yīng)的表即可。系統(tǒng)部分界面設(shè)計:系統(tǒng)的程序選擇基于對話框的MFC 應(yīng)用程序,每一個功能具體由一個
7、對應(yīng)的對話框?qū)崿F(xiàn),一些功能界面如下所示,系統(tǒng)所有界面保持一致性。登錄界面:系統(tǒng)界面運行前必須先登錄系統(tǒng)入庫單存儲界面:庫存查詢界面:物料類別管理界面:報表統(tǒng)計界面:入庫管理子系統(tǒng)詳細(xì)設(shè)計:HIPO 圖:入庫管理輸入處理輸出采到核驗入更修反購貨對收庫新改饋計信庫存信劃息存檔息處理流程圖:管理員登錄到貨計劃存檔讀取存檔核對物料計劃信息開驗收單入庫通知提交驗收單等待通知入庫單入庫單存儲刪除計劃通知采購部門已到貨更新庫存庫存信息退出代碼: / DMSDlg.cpp : implementation file/#include "stdafx.h"#include "DMS
8、.h"#include "DMSDlg.h"#include "DlgProxy.h"#include "DlgLogIn.h"#include "DlgDevcode.h"#include "DlgReport.h"#include "DlgViewLog.h"#include "DlgViewDevIn.h"#include "DlgViewRet.h"#include "DlgViewOut.h"#i
9、nclude "DlgViewNeed.h"#include "DlgViewReport.h"#include "DlgDev.h"#include "DlgDevAlert.h"#include "DlgDevIn.h"#include "DlgDevOut.h"#include "DlgDevRet.h"#include "DlgDevNeed.h"#ifdef _DEBUG#define new DEBUG_NEW#undef
10、THIS_FILEstatic char THIS_FILE = _FILE_ 。#endif/ CAboutDlg dialog used for App About class CAboutDlg : public CDialogpublic:CAboutDlg() 。/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX 。/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAboutDlg)protected:virtualvoid D
11、oDataExchange(CDataExchange* pDX) 。DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP()/ 。CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX)
12、。/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers /AFX_MSG_MAPEND_MESSAGE_MAP()/ CDMSDlg dialogIMPLEMENT_DYNAMIC(CDMSDlg, CDialog)。CDMSDlg:CDMSDlg(CWnd* pParent /*=NULL*/): CDialog(CDMSDlg:IDD, pParent)/AFX_DATA_INIT(CDMSDlg)/ NOT
13、E: the ClassWizard willadd member initializationhere/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon inWin32m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME) 。m_pAutoProxy = NULL 。CDMSDlg:CDMSDlg()/ If there is an automation proxy for this dialog, set/ its back pointer to
14、 this dialog to NULL, so it knows/ the dialog has been deleted.if (m_pAutoProxy != NULL)m_pAutoProxy->m_pDialog = NULL 。void CDMSDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX)。/AFX_DATA_MAP(CDMSDlg)/ NOTE: the ClassWizard will add DDX and DDV callshere/AFX_DATA_MAPBEGIN_MESSAGE
15、_MAP(CDMSDlg, CDialog)/AFX_MSG_MAP(CDMSDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_WM_CLOSE()ON_BN_CLICKED(IDC_BTN_BUYDEV, OnBtnBuydev)ON_BN_CLICKED(IDC_BTN_DEV ALERT, OnBtnDevalert)ON_BN_CLICKED(IDC_BTN_DEVCODE, OnBtnDevcode)ON_BN_CLICKED(IDC_BTN_DEVIN, OnBtnDevin)ON_BN_CLICKED(IDC_B
16、TN_DEVOUT, OnBtnDevout)ON_BN_CLICKED(IDC_BTN_DEVRET, OnBtnDevret)ON_BN_CLICKED(IDC_BTN_INFODEV, OnBtnInfodev)ON_BN_CLICKED(IDC_BTN_INFOIN, OnBtnInfoin)ON_BN_CLICKED(IDC_BTN_INFONEED, OnBtnInfoneed)ON_BN_CLICKED(IDC_BTN_INFOOUT, OnBtnInfoout)ON_BN_CLICKED(IDC_BTN_INFORET, OnBtnInforet)ON_BN_CLICKED(I
17、DC_BTN_NEED, OnBtnNeed)ON_BN_CLICKED(IDC_BTN_VIEWLOG, OnBtnViewlog)ON_BN_CLICKED(IDC_BTN_VIEWPRT, OnBtnViewprt)ON_WM_DESTROY()ON_BN_CLICKED(IDC_BTN_ABOUT, OnBtnAbout)ON_BN_CLICKED(IDC_BTN_HELP, OnBtnHelp)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CDMSDlg message handlers BOOL CDMSDlg:OnInitDialog()CDialog:OnIni
18、tDialog() 。/ Add "About." menu item to system menu./ IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX&0xFFF0)=IDM_ABOUTBOX) 。ASSERT(IDM_ABOUTBOX < 0xF000) 。CMenu* pSysMenu = GetSystemMenu(FALSE)。if (pSysMenu != NULL)CString strAboutMenu。strAboutMenu.LoadString(ID
19、S_ABOUTBOX) 。if (!strAboutMenu.IsEmpty()pSysMenu->AppendMenu(MF_SEPARATOR)。pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX, strAboutMenu) 。/ Set the icon for this dialog. The framework does this automatically/ when the application's main window is not a dialogSetIcon(m_hIcon, TRUE)。/ Set big i
20、conSetIcon(m_hIcon, FALSE)。/*/ Set small icon* 在這里彈出用戶登錄對話框*/CDlgLogIn dlg 。doif (!dlg.DoModal()EndDialog(0)。/* 登錄數(shù)據(jù)庫,若失敗,則關(guān)閉程序。*/trym_DBCnt.CreateInstance(_uuidof(Connection)。CString sql_。sql_.Format("DSN=DMS。UID=%s。PWD=%s",dlg.m_UsrName,dlg.m_UsrPwd)。_bstr_t sql=sql_。m_DBCnt->Open(sql
21、,"","",-1) 。m_logMngr.Setup(m_DBCnt,dlg.m_UsrName)。m_logMngr.AddLog(" 登錄數(shù)據(jù)庫 ")。catch(_com_error& e)AfxMessageBox(e.ErrorMessage()。this->EndDialog(0)。return TRUE 。 / return TRUE unless you set the focus to a controlvoid CDMSDlg:OnSysCommand(UINT nID, LPARAM lParam
22、)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout 。dlgAbout.DoModal() 。elseCDialog:OnSysCommand(nID, lParam)。/ If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the document/viewmodel,/ this is automatically done for you by
23、 the framework.void CDMSDlg:OnPaint()if (IsIconic()CPaintDC dc(this)。 / device context for paintingSendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(), 0)。/ Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON) 。int cyIcon = GetSystemMetrics(SM_CYICON) 。CRect rect。GetClientRect(&
24、amp;rect)。int x = (rect.Width() - cxIcon + 1) / 2 。int y = (rect.Height() - cyIcon + 1) / 2 。/ Draw the icon dc.DrawIcon(x, y, m_hIcon)。elseCDialog:OnPaint()。/ The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CDMSDlg:OnQueryDragIcon()return (HC
25、URSOR) m_hIcon。/ Automation servers should not exit when a user closes the UI/ if a controller still holds on to one of its objects. These/ message handlers make sure that if the proxy is still in use,/ then the UI is hidden but the dialog remains around if it/ is dismissed.void CDMSDlg:OnClose()if
26、(CanExit()CDialog:OnClose()。void CDMSDlg:OnOK()if (CanExit()CDialog:OnOK() 。void CDMSDlg:OnCancel()if (CanExit()CDialog:OnCancel()。BOOL CDMSDlg:CanExit()/ If the proxy object is still around, then the automation/ controller is still holding on to this application. Leave/ the dialog around, but hide
27、its UI.if (m_pAutoProxy != NULL)ShowWindow(SW_HIDE) 。return FALSE。return TRUE。void CDMSDlg:OnBtnBuydev()CDlgReport dlg。dlg.Setup(m_DBCnt,&m_logMngr) 。this->ShowWindow(SW_HIDE) 。dlg.DoModal() 。this->ShowWindow(SW_SHOW) 。void CDMSDlg:OnBtnDevalert()CDlgDevAlert dlg 。dlg.Setup(m_DBCnt,&m_
28、logMngr) 。this->ShowWindow(SW_HIDE) 。dlg.DoModal() 。this->ShowWindow(SW_SHOW) 。void CDMSDlg:OnBtnDevcode()CDlgDevcode dlg。dlg.Setup(m_DBCnt,&m_logMngr) 。this->ShowWindow(SW_HIDE) 。dlg.DoModal() 。this->ShowWindow(SW_SHOW) 。void CDMSDlg:OnBtnDevin()CDlgDevIn dlg 。dlg.Setup(m_DBCnt,&
29、;m_logMngr) 。this->ShowWindow(SW_HIDE) 。dlg.DoModal() 。this->ShowWindow(SW_SHOW) 。void CDMSDlg:OnBtnDevout()CDlgDevOut dlg 。dlg.Setup(m_DBCnt,&m_logMngr) 。this->ShowWindow(SW_HIDE) 。dlg.DoModal() 。this->ShowWindow(SW_SHOW) 。void CDMSDlg:OnBtnDevret()CDlgDevRet dlg。dlg.Setup(m_DBCnt,&
30、amp;m_logMngr) 。this->ShowWindow(SW_HIDE) 。dlg.DoModal() 。this->ShowWindow(SW_SHOW) 。void CDMSDlg:OnBtnInfodev()CDlgDev dlg 。dlg.Setup(m_DBCnt,&m_logMngr) 。this->ShowWindow(SW_HIDE) 。dlg.DoModal() 。this->ShowWindow(SW_SHOW) 。void CDMSDlg:OnBtnInfoin()CDlgViewDevIn dlg 。dlg.Setup(m_DBCnt,&m_logMngr) 。this->ShowWindow(SW_HIDE) 。dlg.DoModal() 。this->ShowWindow(SW_SHOW) 。void CDMSDlg:OnBtnInfoneed()CDlgViewNeed dlg。dlg.Setup(m_DBCnt,&m_logMngr) 。this-
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度離職員工保密協(xié)議及競業(yè)限制合同簽訂流程規(guī)范
- 二零二五年度知識產(chǎn)權(quán)保護(hù)合伙人合作協(xié)議范本
- 法律實務(wù)案例分析題及法律理論應(yīng)用題卷
- 共享平臺合作協(xié)議知識產(chǎn)權(quán)合作開發(fā)協(xié)議
- 高峰會議交流與合作備忘錄
- 油漆勞務(wù)合同油漆工用工合同
- 基于大數(shù)據(jù)的農(nóng)業(yè)現(xiàn)代化種植管理系統(tǒng)開發(fā)實踐
- 企業(yè)形象策劃及活動推廣合作協(xié)議
- 精紡織品采購合同
- 高一英語動詞時態(tài)對照分析教案
- 2025屆高考化學(xué)二輪復(fù)習(xí):晶胞的相關(guān)性質(zhì)及計算(含解析)
- 2024年沙洲職業(yè)工學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 2024年山東鋁業(yè)職業(yè)學(xué)院高職單招數(shù)學(xué)歷年參考題庫含答案解析
- 2024年山東勞動職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 融合智慧數(shù)據(jù)的圖書館數(shù)智服務(wù)平臺研究
- 員工外宿免責(zé)協(xié)議書(2篇)
- IT科技產(chǎn)業(yè)云計算服務(wù)平臺開發(fā)方案
- 2025年中國航天科工招聘筆試參考題庫含答案解析
- 血透室停電停水應(yīng)急預(yù)案
- 4《公民的基本權(quán)利和義務(wù)》(第2課時)教學(xué)實錄-2024-2025學(xué)年道德與法治六年級上冊統(tǒng)編版
- 人教版小學(xué)數(shù)學(xué)三年級下冊第一單元《位置與方向(一)》單元測試
評論
0/150
提交評論