2023年倉庫管理系統(tǒng)設(shè)計論文(三篇)

格式:DOC 上傳日期:2023-01-11 11:11:15
2023年倉庫管理系統(tǒng)設(shè)計論文(三篇)
時間:2023-01-11 11:11:15     小編:zdfb

在日常的學(xué)習(xí)、工作、生活中,肯定對各類范文都很熟悉吧。寫范文的時候需要注意什么呢?有哪些格式需要注意呢?這里我整理了一些優(yōu)秀的范文,希望對大家有所幫助,下面我們就來了解一下吧。

倉庫管理系統(tǒng)設(shè)計論文篇一

用visual c++設(shè)計的倉庫管理系統(tǒng)

摘要 本文主要介紹了采用visual studio 2005的一個倉庫管理系統(tǒng)。該系統(tǒng)基于mfc集成開發(fā)環(huán)境,利用ado控件實現(xiàn)基本信息管理、商品信息管理、庫存操作管理、庫存警示管理的功能。詳細(xì)介紹了開發(fā)本系統(tǒng)的步驟:系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實現(xiàn)。在系統(tǒng)分析中采用系統(tǒng)的功能結(jié)構(gòu)圖分析了系統(tǒng)所需的各種數(shù)據(jù)。在系統(tǒng)的設(shè)計中,詳細(xì)的展現(xiàn)了系統(tǒng)的各個功能模塊、所需的數(shù)據(jù)庫表、菜單的設(shè)計等。在系統(tǒng)的實現(xiàn)中,給出了相應(yīng)模塊功能控件的事件及代碼。

關(guān)鍵字:倉庫管理 管理系統(tǒng)

ado控件 面向?qū)ο?/p>

第一章

緒論

1.1系統(tǒng)的開發(fā)背景……………….…………………………………4 1.2當(dāng)前倉庫管理現(xiàn)狀分析及設(shè)計倉庫管理系統(tǒng)的意義………….4 1.2系統(tǒng)開發(fā)工具選擇及介紹………………………….……………5 1.3 ado數(shù)據(jù)訪問技術(shù)………………………………………………7 第二章 系統(tǒng)設(shè)計

2.1系統(tǒng)需求分析?????????????????????9 2.2系統(tǒng)開發(fā)目標(biāo)……………………………………………… ………10 2.3系統(tǒng)功能分析

2.31系統(tǒng)功能描述…………………………………………………..10 2.32 系統(tǒng)功能模塊的劃分………………………………………… 11 2.33系統(tǒng)流程分析…………………………………………………..11 第三章 數(shù)據(jù)庫設(shè)計

3.1數(shù)據(jù)庫需求分析 ……………………………………………….12 3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 ………………………………………….13 3.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計及實現(xiàn) ………………………………….15 第四章 系統(tǒng)各主要功能模塊的實現(xiàn)

4.1主界面的設(shè)置…………………………………………………..18 4.2主要各功能模塊所涉及的類的添加……………………… ……19 4.3登陸模塊設(shè)計 …………………………………………………..19 4.4客戶管理模塊設(shè)計 4.41 設(shè)計客戶信息管理對話框 ………………………………..21 4.42 設(shè)計客戶信息編輯對話框 ……………………………..24 4.5倉庫管理模塊設(shè)計

4.51設(shè)計倉庫信息管理對話框 …………………………………25 4.6用戶管理模塊設(shè)計

4.61設(shè)計用戶信息管理對話框…………………………………...27 4.62 設(shè)計用戶信息編輯對話框…………………………………..28 4.63設(shè)計修改用戶密碼的對話框…………………………………29 4.7商品管理模塊設(shè)計

4.71設(shè)計商品類別管理對話框……………………………………30 4.72 設(shè)計商品類別編輯對話框…………………………………...31 4.73 設(shè)計商品信息管理對話框…………………………………...32 4.8 庫存操作管理模塊設(shè)計

4.81 設(shè)計入庫操作管理對話框…………………………………34 4.82 設(shè)計入庫單編輯對話框……………………………………..35 4.83 設(shè)計出庫操作管理對話框…………………………………..37 4.84 設(shè)計出庫操作編輯對話框 ………………………………..37 4.85 設(shè)計庫存盤點管理對話框…………………………………39 4.86 設(shè)計庫存盤點編輯對話框 …………………………………40 4.9 庫存警示管理模塊設(shè)計

4.91 設(shè)計商品數(shù)量報警管理模塊………………………………...41 4.92 設(shè)計商品失效報警管理模塊 ……………………………….42 第五章 結(jié)束語

5.1開發(fā)中的問題和解決辦法………………………………………….44 5.2系統(tǒng)不足之處………………………………………………………44 第六章 致謝 …………………………………………………………..45 第七章 參考文獻(xiàn) ……………………………………………………..45

1.1系統(tǒng)開發(fā)的背景

20世紀(jì),隨著全球經(jīng)濟(jì)的蓬勃發(fā)展,眾多經(jīng)濟(jì)學(xué)家紛紛提出了新的管理理論。20世紀(jì)50年代,西蒙提出管理依賴于信息和決策的思想。同時期的維納發(fā)表了控制論,他認(rèn)為管理是一個控制過程。1958年,蓋爾寫到:“管理將以較低的成本得到及時準(zhǔn)確的信息,做到較好的控制。”這個時期,計算機(jī)開始用于會計工作,出現(xiàn)數(shù)據(jù)處理一詞。

1970年,walter an給剛剛出現(xiàn)的管理信息系統(tǒng)一詞下了一個定義:“以口頭或書面的形式,在合適的時間向經(jīng)理、職員以及外界人員提供過去的、現(xiàn)在的、預(yù)測未來的有關(guān)企業(yè)內(nèi)部及其環(huán)境的信息,以幫助他們進(jìn)行決策?!痹谶@個定義里強(qiáng)調(diào)了用信息支持決策,但并沒有強(qiáng)調(diào)應(yīng)用模型,沒有提到計算機(jī)的應(yīng)用。

1985年,管理信息系統(tǒng)的創(chuàng)始人,明尼蘇達(dá)大學(xué)的管理學(xué)教授gordon 給了管理信息系統(tǒng)一個較完整的定義,即“管理信息系統(tǒng)是一個利用計算機(jī)軟硬件資源,手工作業(yè),分析、計劃、控制和決策模型以及數(shù)據(jù)庫的人-機(jī)系統(tǒng)。它能提供信息支持企業(yè)或組織的運(yùn)行、管理和決策功能。”這個定義全面地說明了管理信息系統(tǒng)的目標(biāo)、功能和組成,而且反映了管理信息系統(tǒng)在當(dāng)時達(dá)到的水平。1.2當(dāng)前倉庫管理現(xiàn)狀分析及設(shè)計倉庫管理系統(tǒng)的意義

一直以來人們使用傳統(tǒng)的人工方式管理庫存。這種管理方式存在著許多缺點,諸如效率低,保密性差等,而且時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難。對于企業(yè)來說為了管理好倉庫,將付出大量的人力和物力。因此設(shè)計一款倉庫管理系統(tǒng)是非常重要的。它帶來的優(yōu)點是:它可以全面的管理倉庫中儲存的商品和貨物,縮短了庫存信息流轉(zhuǎn)時間,使企業(yè)的物料管理層次分明、井然有序,為采購、營銷和生產(chǎn)提供了依據(jù),從而提高企業(yè)的經(jīng)營效率。因此,庫存管理系統(tǒng)能夠為用戶提供充足的信息和快捷的查詢手段。

隨著科學(xué)技術(shù)的不斷提高,計算機(jī)科學(xué)不斷發(fā)展,其強(qiáng)大的功能已經(jīng)被人們深刻認(rèn)識,它已經(jīng)進(jìn)入了人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用.1.3系統(tǒng)開發(fā)工具的選擇及介紹 ? 系統(tǒng)開發(fā)環(huán)境

操作系統(tǒng):windows xp professional 簡體中文版 開發(fā)平臺: visual studio 2005簡體中文版 ? 系統(tǒng)開發(fā)工具的選擇

實現(xiàn)該系統(tǒng)的方法有很多,之所以選擇visual c++作為開發(fā)工具,不僅僅因為曾經(jīng)有過使用它的經(jīng)驗,看中的更是它的功能強(qiáng)大和使用方便。它本身不僅具有極其強(qiáng)大的編程能力,它允許選擇和管理外接程序,并內(nèi)含多種實用控件,這些對visual c++的擴(kuò)充又進(jìn)一步增強(qiáng)了它的開發(fā)環(huán)境的能力。? 開發(fā)平臺介紹 visual studio 可以用來創(chuàng)建 windows平臺下的 windows 應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和 office 插件。

1998 年,微軟公司發(fā)布了 visual studio 6.0。所有開發(fā)語言的開發(fā)環(huán)境版本均升至 6.0。這也是 visual basic 最后一次發(fā)布,從下一個版本(7.0)開始,microsoft basic 進(jìn)化成了一種新的面向?qū)ο蟮恼Z言:microsoft 。由于微軟公司對于 sun 公司 java 語言擴(kuò)充導(dǎo)致與 java 虛擬機(jī)不兼容而 sun 被告上法庭,微軟在后續(xù)的 visual studio 中不再包括面向 java 虛擬機(jī)的開發(fā)環(huán)境。

2002 年, 口號的提出與 windows xp / office xp 的發(fā)布,微軟發(fā)布了 visual (內(nèi)部版本號為 7.0)。在這個版本的 visual studio 中,微軟剝離了 visual foxpro 作為一個單獨的開發(fā)環(huán)境以 visual foxpro 7.0 單獨銷售,同時取消了 visual interdev。.net 的通用語言框架機(jī)制(common language runtime, clr),其目的是在同一個項目中支持不同的語言所開發(fā)的組件。所有 clr 支持的代碼都會被解釋成為 clr 可執(zhí)行的機(jī)器代碼然后運(yùn)行。

visual basic、visual c++ 都被擴(kuò)展為支持托管代碼機(jī)制的開發(fā)環(huán)境,且 visual 更是從 visual basic 脫胎換骨,徹底支持面向?qū)ο蟮木幊虣C(jī)制。而 visual j++ 也變?yōu)?visual j#。后者僅語法同 java 相同,但是面向的不是 java 虛擬機(jī), framework。

2003 年,微軟對 visual studio 2002 進(jìn)行了部分修訂,以 visual studio 2003 的名義發(fā)布(內(nèi)部版本號為 7.1)。visio 作為使用統(tǒng)一建模語言(uml)架構(gòu)應(yīng)用程序框架的程序被引入,同時被引入的還包括移動設(shè)備支持和企業(yè)模版。.net 框架也升級到了 1.1。

2005 年,微軟發(fā)布了 visual studio 2005。.net 字眼從各種語言的名字中被抹去,但是這個版本的 visual studio 框架的(版本2.0)。它同時也能開發(fā)跨平臺的應(yīng)用程序,如開發(fā)使用微軟操作系統(tǒng)的手機(jī)的程序等??傮w來說是一個非常龐大的軟件,甚至包含代碼測試功能。

這個版本的 visual studio 包含有眾多版本,分別面向不同的開發(fā)角色。

microsoft為單獨工作或在小型團(tuán)隊中的專業(yè)開發(fā)人員提供了兩種選擇,visual studio 2005 professional edition和用于microsoft office系統(tǒng)的visual studio 2005工具。每種版本都在標(biāo)準(zhǔn)版的特性上進(jìn)行了擴(kuò)展,包括用于遠(yuǎn)程服務(wù)程序開發(fā)和調(diào)試、sql server2005開發(fā)的工具,以及完整的、沒有限制的開發(fā)環(huán)境。

1.4 ado數(shù)據(jù)訪問技術(shù)

ado(activex data objects,activex數(shù)據(jù)對象)是microsoft提出的應(yīng)用程序接口(api)用以實現(xiàn)訪問關(guān)系或非關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)。象microsoft的其它系統(tǒng)接口一樣,ado是面向?qū)ο蟮?。它是microsoft全局?jǐn)?shù)據(jù)訪問(uda)的一部分,microsoft認(rèn)為與其自己創(chuàng)建一個數(shù)據(jù),不如利用uda訪問已有的數(shù)據(jù)庫。為達(dá)到這一目的,microsoft和其它數(shù)據(jù)庫公司在它們的數(shù)據(jù)庫和microsoft的ole數(shù)據(jù)庫之間提供了一個“橋”程序,ole數(shù)據(jù)庫已經(jīng)在使用ado技術(shù)。ado的一個特征(稱為遠(yuǎn)程數(shù)據(jù)服務(wù))支持網(wǎng)頁中的數(shù)據(jù)相關(guān)的activex控件和有效的客戶端緩沖。作為activex的一部分,ado也是microsoft的組件對象模式(com)的一部分,它的面向組件的框架用以將程序組裝在一起。ado從原來的microsoft數(shù)據(jù)接口遠(yuǎn)程數(shù)據(jù)對象(rdo)而來。rdo與odbc一起工作訪問關(guān)系數(shù)據(jù)庫,但不能訪問如isam和vsam的非關(guān)系數(shù)據(jù)庫。

ado 是對當(dāng)前微軟所支持的數(shù)據(jù)庫進(jìn)行操作的最有效和最簡單直接的方法,它是一種功能強(qiáng)大的數(shù)據(jù)訪問編程模式,從而使得大部分?jǐn)?shù)據(jù)源可編程的屬性得以直接擴(kuò)展到你的active server 頁面上。可以使用ado 去編寫緊湊簡明的腳本以便連接到 open database connectivity(odbc)兼容的數(shù)據(jù)庫和 ole db 兼容的數(shù)據(jù)源,這樣 asp 程序員就可以訪問任何與 odbc 兼容的數(shù)據(jù)庫,包括 ms sql server、access、oracle 等等。

ado是一種面向?qū)ο蟮木幊探涌冢④浗榻B說,與其同ibm和oracle提倡的那樣,創(chuàng)建一個統(tǒng)一數(shù)據(jù)庫,不如提供一個能夠訪問不同數(shù)據(jù)庫的統(tǒng)一接口,這樣會更加實用一些。為實現(xiàn)這一目標(biāo),微軟在數(shù)據(jù)庫和微軟的ole db中提供了一種“橋”程序,這種程序能夠提供對數(shù)據(jù)庫的連接。

開發(fā)人員在使用ado時,其實就是在使用ole db,不過ole db更加接近底層。ado的一項屬性??遠(yuǎn)程數(shù)據(jù)服務(wù),支持“數(shù)據(jù)倉庫”activex 組件以及高效的客戶端緩存。作為activex的一部分,ado也是com組件的一部分。ado是由早期的微軟數(shù)據(jù)接口?遠(yuǎn)程數(shù)據(jù)對象rdo演化而來的。rdo同微軟的odbc一同連接關(guān)系數(shù)據(jù)庫,不過不能連接非關(guān)系數(shù)據(jù)庫。

ado向我們提供了一個熟悉的,高層的對ole db的automation封裝接口。對那些熟悉rdo的程序員來說,你可以把ole db比作是odbc驅(qū)動程序。如同rdo對象是odbc驅(qū)動程序接口一樣,ado對象是ole db的接口;如同不同的數(shù)據(jù)庫系統(tǒng)需要它們自己的odbc驅(qū)動程序一樣,不同的數(shù)據(jù)源要求它們自己的ole db提供者(ole db provider)。目前,雖然ole db提供者比較少,但微軟正積極推廣該技術(shù),并打算用ole db取代odbc。

ado向程序員提供了很多好處。包括易于使用,熟悉的界面,高速度以及較低的內(nèi)存占用(需要占用342k內(nèi)存,的368k略小,大約是dao3.5 所占內(nèi)存的60%)。同傳統(tǒng)的數(shù)據(jù)對象層次(dao和rdo)不同,ado可以獨立創(chuàng)建。因此你可以只創(chuàng)建一個 “connection”對象,但是可以有多個,獨立的“recordset”對象來使用它。ado針對客戶/服務(wù)器以及web應(yīng)用程序作了優(yōu)化。第二章 系統(tǒng)設(shè)計

2.1系統(tǒng)需求分析

隨著科學(xué)技術(shù)的發(fā)展,越來越多的企業(yè)開始用計算機(jī)管理倉庫。而現(xiàn)在的倉庫管理系統(tǒng)多種多樣,而倉庫管理的特點是信息處理量比較大。所以管理的物資設(shè)備種類繁多,而且由于入庫單,出庫單,需求單等單據(jù)發(fā)生量特別大,關(guān)聯(lián)信息多,查詢和統(tǒng)計的方式各不相同。因此在管理上實現(xiàn)起來有一定的困難。在管理的過程中經(jīng)常會出現(xiàn)信息的重復(fù)傳遞,單據(jù),報表種類繁多,各個部門管理規(guī)格不統(tǒng)一等問題。

在本系統(tǒng)的設(shè)計過程中,為了克服以上困難,滿足計算機(jī)管理的需要,我們采取了下面的一些原則。

●統(tǒng)一各種原始的單據(jù)的格式,統(tǒng)一帳目和報表的格式?!駝h除不必要的管理冗余,實現(xiàn)管理規(guī)范化、科學(xué)化。

●程序代碼標(biāo)準(zhǔn)化,軟件統(tǒng)一化,確認(rèn)軟件的可維護(hù)行和實用性。●界面盡量簡單化,做到實用、方便,盡量滿足企業(yè)中不同層次員工的需要。2.2系統(tǒng)開發(fā)目標(biāo)

系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)企業(yè)物資設(shè)備管理的系統(tǒng)化,規(guī)范化和自動化,從而達(dá)到提高企業(yè)物資管理的效率的目的。2.3系統(tǒng)功能分析 2.31系統(tǒng)功能描述(1)基本信息管理 基本信息管理包括對客戶信息、倉庫信息和用戶信息信息的管理。(2)商品信息管理

對于商品各種信息的管理。(3)庫存操作管理

庫存操作管理可以實現(xiàn)入庫管理、出庫管理和庫存盤點等功能。(4)庫存警示管理

庫存警示是指對庫存中接近或超過臨界值的商品進(jìn)行報警。在商品信息中,包含商品的合理數(shù)量范圍和有效期限。商品數(shù)量小于合理數(shù)量下限稱為短線;商品數(shù)量大于合理數(shù)量的上限成為超儲。商品出現(xiàn)短線、超儲、接近或超過有效期限時都需要報警。(5)統(tǒng)計查詢管理功能

統(tǒng)計查詢管理可以對庫存商品進(jìn)行各種類型的統(tǒng)計和查詢。從而使用戶能夠全面的了解庫存狀況。2.32 系統(tǒng)功能模塊的劃分

基于對系統(tǒng)的分析,可以得到如圖所示的系統(tǒng)功能模塊圖:

本系統(tǒng)將用戶劃分為兩種類型,即系統(tǒng)管理員用戶和普通用戶。系統(tǒng)管理員用戶可以管理其他用戶信息,而在其他方面與所有用戶的權(quán)限相同。

2.33系統(tǒng)流程分析

所謂系統(tǒng)流程就是用戶在使用系統(tǒng)時的工作過程。對于多類型用戶的管理系統(tǒng)來說,每一類用戶的工作流程都是不相同的。多用戶系統(tǒng)的工作流程都是從用戶登陸模塊開始,對用戶的身份進(jìn)行認(rèn)證。身份認(rèn)證可以分為以下兩個過程:

(1)確認(rèn)用戶是否是有效的系統(tǒng)用戶。(2)確定用戶的類型。

第一個過程決定用戶能否進(jìn)入系統(tǒng)。第二個過程根據(jù)用戶的類型決定用戶的操作權(quán)限,從而決定用戶的工作界面。因此得到它的系統(tǒng)流程分析圖如下:

第三章 數(shù)據(jù)庫設(shè)計 3.1數(shù)據(jù)庫需求分析

在本設(shè)計中,通過對企業(yè)倉庫管理的內(nèi)容和系統(tǒng)流程分析,設(shè)計的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)如下:

(1)客戶信息。包括的數(shù)據(jù)項有客戶編號、名稱、類型等。(2)倉庫信息。包括倉庫編號、名稱和說明等。(3)用戶信息。包括用戶名、密碼、員工姓名等信息。(4)商品管理信息。包括商品類別,商品編號等信息。

(5)庫存操作管理信息。包括入庫和出庫操作需要記錄的商品信息、倉庫信息、經(jīng)辦人、涉及金額和入庫時間等信息。有了上面的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)項,就能進(jìn)行下面的數(shù)據(jù)庫設(shè)計。3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計

這一設(shè)計階段是在需求分析的基礎(chǔ)上,設(shè)計出能夠滿足用戶需求的各種實體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。本設(shè)計根據(jù)上面的設(shè)計規(guī)劃出的實體有客戶實體、倉庫實體、用戶實體、商品類別實體、商品實體、入庫實體、出庫實體、庫存實體。各個實體的e-r圖描述如下:

客戶實體的e-r圖

倉庫實體e-r圖

用戶實體e-r圖

商品類別e-r圖

商品類別e-r圖

入庫實體e-r圖

出庫實體e-r圖

庫存實體 e-r圖

3.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計及實現(xiàn)

倉庫管理系統(tǒng)數(shù)據(jù)庫中的各個表格的設(shè)計結(jié)果如下面的幾個表格所示。每個表格表示在數(shù)據(jù)庫中的一個表。數(shù)據(jù)庫的實現(xiàn)采用sql sever 2005。

(1)客戶信息表(client)

說明:cid為客戶編號、cname為客戶名稱、ctype為客戶類型其中包括(1、供應(yīng)商

2、供貨商)、ctype為聯(lián)系人、address為通信地址、postcode為郵政編碼、phone為聯(lián)系電話、fax為傳真電話、memo為備注信息。

(2)倉庫信息表(storehouse)

說明:sid為倉庫編號、sname為倉庫名稱、memo為倉庫說明。(3)用戶信息表(users)

說明:username為用戶名、pwd為密碼、user_type為用戶類型(1、系統(tǒng)管理員用戶,2、普通用戶)(4)商品類別表(protype)

說明:typeid為商品類別編號、typename為商品類別名稱、upperid為上級商品類別

(5)商品信息表(product)

說明:pid為商品編號、pname 為商品名稱、typeid為商品類型編號、pstyle商品規(guī)格、punit為計量單位、pprice為參考價格、plow為商品數(shù)量下限、phigh為商品數(shù)量上限、valid為有效期、alarmday為在到達(dá)有效期前幾天發(fā)出警告。(6)入庫操作信息表(storeln)

說明:sitype為入庫操作類型,包括銷售出庫、退貨出庫、用料出庫等。pid為入庫商品編號、makedate為生產(chǎn)日期、pprice為入庫商品單價、pnum為入庫商品數(shù)量、cid為客戶編號、sid為倉庫編號、empname為經(jīng)辦人、optdate為入庫日期(7)出庫操作信息表(takeout)

說明:ttype為入庫操作類型,包括銷售出庫、退貨出庫、用料出庫等。pid為入庫商品編號、makedate為生產(chǎn)日期、pprice為入庫商品單價、pnum為入庫商品數(shù)量、cid為客戶編號、sid為倉庫編號、empname為經(jīng)辦人、optdate為入庫日期(8)庫存商品信息表(prolnstore)

說明: spid為商品存儲編號、pid為商品編號、pprice為商品入庫單價、pnum為商品數(shù)量、makedate為生產(chǎn)日期、sid為倉庫編號 第四章 系統(tǒng)各主要功能模塊的實現(xiàn)

4.1主界面的設(shè)置

根據(jù)對系統(tǒng)功能分析,主界面的菜單項包括基本信息管理、商品信息管理、庫操作管理和庫存警示管理。如圖所示:

當(dāng)用戶單擊基本信息管理時,顯示客戶信息管理、倉庫信息管理、用戶信息管理、修改用戶密碼、退出系統(tǒng)菜單項。添加這些菜單項如圖所示:

當(dāng)用戶單擊商品信息管理時,顯示商品類別管理、商品信息管理。添加這些菜單項如圖所示:

當(dāng)用戶單擊庫存操作管理時,顯示入庫操作、出庫操作、庫存盤點。添加這些菜單項如圖所示:

當(dāng)用戶單擊庫存警示管理時,顯示數(shù)量報警和實效報警。添加這些菜單項如圖所示:

4.2主要各功能模塊所涉及的類的添加

根據(jù)數(shù)據(jù)庫邏輯設(shè)計,我們可以為這些表添加相應(yīng)的類。

1、cclient類用來管理客戶表的數(shù)據(jù)庫操作。

2、cstorehouse類用來管理表storehouse的數(shù)據(jù)庫操作。

3、cusers類用來管理表users的數(shù)據(jù)庫操作。

4、cprotype類用來管理表protype的數(shù)據(jù)庫的操作。

5、cproductl類用來管理表product的數(shù)據(jù)庫操作。

6、cstoreln類用來管理表storeln的數(shù)據(jù)庫操作。

7、ctakeout類用來管理表takeout的數(shù)據(jù)庫操作。

8、cproinstore類用來管理表proinstore的數(shù)據(jù)庫操作。4.3登陸模塊設(shè)計 登陸對話框布局如圖:

其id值設(shè)為idd_username_dialog。

用戶要使用系統(tǒng),首先必須通過系統(tǒng)的身份認(rèn)證,這個過程叫做登陸。此模塊的功能就是要進(jìn)行身份認(rèn)證。

在登陸對話框用戶首先輸入用戶名,然后輸入密碼。輸入完畢時,點擊確定將發(fā)送bn_clicked消息。在確認(rèn)按鈕處添加此消息響應(yīng)函數(shù)clogindlg :onok()。此函數(shù)的主要功能是檢查用戶輸入數(shù)據(jù)的有效性,如果輸入的信息不符合要求會自動退出程序。主要代碼如下: clogindlg::onok(){ ……

//檢查數(shù)據(jù)有效性

if(m_username == “"){messagebox(”請輸入用戶名“);

return;} if(m_pwd == ”“){ messagebox(”請輸入密碼“);

return;}

cusers user;//定義cusers對象

a(m_username);//用于從表users中讀取數(shù)據(jù)

//如果讀取的數(shù)據(jù)與用戶輸入數(shù)據(jù)不同,則返回

if(()!= m_pwd){ messagebox(”用戶信息不正確,無法登錄!“);

return;} }

當(dāng)用戶單擊取消時,添加clogindlg::onbnclickedcancel()函數(shù)來響應(yīng)此消息。此函數(shù)的功能是退出程序。主要代碼如下: void clogindlg::onbnclickedcancel(){ oncancel();} 4.4客戶管理模塊設(shè)計

客戶管理模塊可以實現(xiàn)以下功能:

1、添加客戶。

2、修改客戶信息。

3、刪除客戶。

4、查看客戶信息。4.41 設(shè)計客戶信息管理對話框 對話框布局如圖:

其id值設(shè)為idd_clentman_dialog。對話框?qū)?yīng)的類為cclientmandlg。它繼承cdialog類。添加控件包括四個按鈕控件,一個組合框、ado data和datagrid控件。

該對話框的主要函數(shù)為refresh_data()、onaddbuttom()、onmodibutton()、ondelbutton()。h_data()函數(shù)

它的功能是為ado data控件設(shè)置數(shù)據(jù)源,從而決定在datagrid控件中顯示的數(shù)據(jù)內(nèi)容。主要代碼如下: refresh_data(){ cstring csource;

//設(shè)置select語句,按客戶單位排序 ……

ordsource(csource);h();//設(shè)置表格列寬度

} uttom()函數(shù)

當(dāng)用戶單擊“添加”按鈕時,執(zhí)行此函數(shù)。其功能是打開編輯對話框。主要代碼如下: onaddbutton(){ ……

//打開編輯對話框

cclienteditdlg dlg;……

if(l()== idok)…… } button()函數(shù)

當(dāng)用戶單擊“修改”按鈕時,執(zhí)行此函數(shù)。其功能是彈出編輯對話框進(jìn)行修改記錄操作。主要代碼如下: onmodibutton(){ ……

cclienteditdlg dlg; = m(0);//記錄編號

……

if(l()== idok)

refresh_data();} utton()函數(shù)

當(dāng)用戶單擊“刪除”按鈕時,執(zhí)行此函數(shù),其功能是刪除所選擇的記錄。主要代碼如下: ondelbutton(){ ……

cclient clt;

_delete(m(0));刪除記錄

refresh_data();

} 4.42 設(shè)計客戶信息編輯對話框

編輯客戶信息的對話框可以用來添加和修改客戶信息,對話框名稱為idd_clientedit_dialog。對話框的布局如圖:

為對話框創(chuàng)建cclienteditdlg類并繼承與cdialog類。

當(dāng)用戶單擊“確定”按鈕,添加onok()函數(shù),其功能是將輸入的信息保存到數(shù)據(jù)庫中。主要代碼如下: onok(){ …..cclient clt;me(m_cname);//客戶單位

……

_insert();插入進(jìn)數(shù)據(jù)庫

……

_update(ccid);} 4.5 倉庫管理模塊設(shè)計

倉庫管理模塊可以實現(xiàn)以下功能:

1、添加倉庫信息

2、修改倉庫信息

3、刪除倉庫信息

4、查看倉庫信息

4.51 設(shè)計倉庫信息管理對話框

對話框布局如圖:

對話框id為idd_storehouseman_dialog.對話框?qū)?yīng)的類為cstorehousemandlg。該對話框的主要函數(shù)為refresh_data()、onaddbuttom()、onmodibutton()、ondelbutton()。其功能與客戶信息管理對話框函數(shù)的功能一樣。函數(shù)實現(xiàn)過程也非常類似。在此不再詳細(xì)說明。

4.52 設(shè)計倉庫信息編輯對話框

編輯倉庫信息的對話框可以用來添加和修改倉庫信息,其id為idd_storehouseedit_dialog。對話框的布局如圖:

對話框?qū)?yīng)的類為cstorehouseeditdlg。當(dāng)用戶單擊“確定”時,執(zhí)行onok()函數(shù)用來把在對話框輸入的信息添加或修改到數(shù)據(jù)庫中。主要代碼如下:

cstorehouseeditdlg::onok(){ ……

cstorehouse sh;me(m_sname);//倉庫名稱

o(m_memo);//倉庫說明

…… //表示插入新記錄

_insert();

……

} 4.6用戶管理模塊設(shè)計

根據(jù)用戶類型的不同,用戶管理模塊的功能也不相同。可以包含以下情形:

1、admin用戶可以創(chuàng)建系統(tǒng)管理員或普通用戶、復(fù)位用戶密碼、刪除系統(tǒng)管理員或普通用戶,也可以修改自身的密碼。

2、系統(tǒng)管理員用戶可以創(chuàng)建普通用戶、對普通用戶的密碼進(jìn)行復(fù)位、刪除普通用戶,也可以修改自身密碼。

3、普通用戶只能修改自身密碼。4.61設(shè)計用戶信息管理對話框 用戶信息管理對話框id為idd_userman_dialog,對話框的布局如圖:

對話框?qū)?yīng)的類為cusermandlg。對話框中使用datalist控件顯示用戶列表,使用ado data控件為其提供數(shù)據(jù)源。當(dāng)用戶單擊“添加”按鈕時,執(zhí)行onaddbuttom()函數(shù),其功能是顯示用戶信息編輯對話框。主要代碼為: onaddbutton(){ cusereditdlg dlg;ype = 2;if(l()== idok)

h();} 當(dāng)用戶單擊“密碼復(fù)位”按鈕時,執(zhí)行onmodibutton()函數(shù),功能是對用戶密碼進(jìn)行復(fù)位,復(fù)位密碼默認(rèn)值為888888。主要代碼如下:onmodibutton(){ ……

cusers usr;

(”888888“);//設(shè)置默認(rèn)密碼

_updatepwd(t());

messagebox(”密碼已經(jīng)復(fù)位“);} 當(dāng)用戶單擊“刪除”時,執(zhí)行ondelbutton()函數(shù),其功能刪除用戶。主要代碼如下: ondelbutton(){ ……

cusers usr;

_delete(t());

h();} 4.62 設(shè)計用戶信息編輯對話框

用戶信息編輯對話框的id為idd_useredit_dialog,對話框布局如圖:

對話框?qū)?yīng)的類為cusereditdlg。當(dāng)用戶單擊“確定”按鈕時,執(zhí)行onok()函數(shù),其功能是創(chuàng)建一個新用戶,并將其加入到數(shù)據(jù)庫中。主要代碼如下: onok(){cusers usr;……

//插入用戶記錄

_insert();} 4.63設(shè)計修改用戶密碼的對話框 修改用戶密碼對話框的id為idd_changepwd_dialog,對話框的布局如圖:

對話框?qū)?yīng)的類為cchangepwddlg。當(dāng)用戶單擊“確定”按鈕時,執(zhí)行onok()函數(shù),其功能是對用戶密碼進(jìn)行修改。主要代碼如下: cchangepwddlg::onok(){ ……

(m_newpwd1);_updatepwd(m_username);//更新當(dāng)前用戶密碼

…… } 4.7商品管理模塊設(shè)計

商品管理模塊可以實現(xiàn)以下功能:

1、商品類別的添加、修改、刪除。

2、商品信息的添加、修改、刪除。4.71設(shè)計商品類別管理對話框

商品類別管理對話框的id為idd_protypeman_dialog,對話框布局入圖:

對話框?qū)?yīng)的類為cprotypemandlg。當(dāng)用戶單擊一級商品類別列表框時,執(zhí)行onclickdatalist()函數(shù),其功能是選擇一級商品列表的內(nèi)容時,決定二級商品類別列表框顯示的內(nèi)容。主要代碼如下:cprotypemandlg::onclickdatalist1(){ cstring cupper;cupper = ndtext();//讀取選擇類別的編號

//設(shè)置二級類別的記錄源

ordsource(”select * from protype where upperid=“ + cupper);h();} 當(dāng)用戶單擊左側(cè)的“添加”按鈕時,執(zhí)行onadd1buttom()函數(shù),其功能是顯示商品類別編輯對話框。主要代碼如下:cprotypemandlg::onadd1button(){ cprotypeeditdlg dlg;d = ”“;//表示添加記錄

ame = ”“;id = 0;//表示一級類別 //打開編輯對話框

if(l()== idok)

h();} 當(dāng)用戶單擊左側(cè)“修改”按鈕時,執(zhí)行onmodilbutton()函數(shù),其功能與“添加”按鈕功能類似。

當(dāng)用戶單擊左側(cè)的“刪除”按鈕時,執(zhí)行ondel1button()函數(shù),其功能刪除商品類別。主要代碼如下: cprotypemandlg::ondel1button(){ _delete(tid);//刪除

h();//刷新 } 剩下右側(cè)的按鈕與左側(cè)的按鈕功能類似,只不過刪除的商品類別不一樣。參照左側(cè)功能函數(shù)即可。4.72 設(shè)計商品類別編輯對話框

編輯商品類別信息的對話框可以用來添加和修改商品類別信息。對話框id為idd_protypeedit_dialog。其布局如圖:

對話框?qū)?yīng)的類為cprotypeeditdlg。當(dāng)用戶單擊“確定”按鈕時,執(zhí)行onok()函數(shù),其功能是添加商品類別到數(shù)據(jù)庫中。主要代碼如下: cprotypeeditdlg::onok(){ ……

cprotype pt;ename(m_typename);//類別名稱

……

if(ctypeid == ”“)//表示插入數(shù)據(jù)

_insert();

……

else

_update(ctypeid);

……

} 4.73 設(shè)計商品信息管理對話框

商品信息管理對話框可以按照商品類別查詢商品信息,也可以對商品信息進(jìn)行添加,修改和刪除等操作。對話框id為idd_proman_dialog。對話框的布局如圖:

為對話框添加cpromandlg類。在對話框中有3個ado data控件,它們分別為一級商品類別、二級商品類別和商品表格提供數(shù)據(jù)源。添加、修改、刪除操作函數(shù)的功能與其他對話框功能類似在此不再詳述。此對話框用的主要函數(shù)是當(dāng)用戶單擊一級商品類別時,執(zhí)行onclickdatacombol()函數(shù),其功能是根據(jù)用戶選擇的一級類別來設(shè)置要顯示的二級商品類別。主要代碼如下: cpromandlg::onclickdatacombo1(short area){ ……

cupper = ndtext();//讀取選擇類別的編號

//設(shè)置二級類別的記錄源

ordsource(”select * from protype where upperid=“ + cupper);h();} 4.74 設(shè)計商品信息編輯對話框 編輯商品信息的對話框

當(dāng)用戶單擊“確定”按鈕時,執(zhí)行onok()函數(shù),功能將輸入的數(shù)據(jù)保存到數(shù)據(jù)庫中。其代碼如下: cproeditdlg::onok(){ cproduct pr;……

_insert();//插入數(shù)據(jù)庫

_update(cpid);cdialog::onok();} 4.8 庫存操作管理模塊設(shè)計

庫存操作管理模塊可以實現(xiàn)以下功能:

1、入庫操作的添加、修改、刪除、2、出庫操作的添加、修改和刪除。

3、庫存盤點的添加、修改、刪除。4.81 設(shè)計入庫操作管理對話框

入庫單管理對話框的id為idd_storeinman_dialog。對話框的布局如圖:對話框所對應(yīng)的類為cstoreinmandlg。調(diào)用的主要函數(shù)是

refresh_data()、onaddbutton()函數(shù)。refresh_data()的功能是設(shè)置ado data控件的記錄源與其他對話框的ado控件的功能類似,onaddbutton()函數(shù)與其他對話框的添加函數(shù)類似。代碼不再詳細(xì)描述。

4.82 設(shè)計入庫單編輯對話框

入庫單編輯對話框的id為idd_storeindit_dialog。對話框的布局如圖:

對話框?qū)?yīng)的類為cstoreineditdlg。在此對話框中使用了5個ado data控件,功能與其他對話框的ado data控件相同。此對話框主要函數(shù)是onselchangeclttypecombo()和onchangeppriceedit()函數(shù)。

1、onselchangeclttypecombo()函數(shù)功能是當(dāng)用戶在客戶類別組合框中選擇不同類別時,根據(jù)用戶所選擇的客戶類別設(shè)置查詢條件。主要代碼如下: onselchangeclttypecombo(){ //設(shè)置查詢客戶的select語句

cstring csource;csource = ”select * from client“;//根據(jù)客戶類別設(shè)置查詢條件

if(sel()== 0)

csource += ” where ctype = 1“;else

csource += ” where ctype = 2“;t(”“);//清除客戶組合框的顯示內(nèi)容

ordsource(csource);//設(shè)置數(shù)據(jù)源,重新客戶列表

h();}

2、onchangeppriceedit()函數(shù)功能是當(dāng)用戶改變商品單價數(shù)據(jù)時,總價格也隨著變化而變化。主要代碼如下: cstoreineditdlg::onchangeppriceedit(){ updatedata(true);//讀取輸入數(shù)據(jù)到成員變量 (”%.2f“, m_pprice * m_pnum);//計算總價格

updatedata(false);

//顯示成員變量值 } 當(dāng)用戶單擊“確定“按鈕時執(zhí)行onok()函數(shù),將輸入的信息插入到數(shù)據(jù)庫中。

4.83 設(shè)計出庫操作管理對話框

出庫操作管理對話框的id為idd_takeoutman_dialog.對話框布局如圖:

對話框所對應(yīng)的類為ctakeoutmandlg。主要函數(shù)refresh_data()、onaddbutton()。功能與入庫管理對話框相似。不再詳述。4.84 設(shè)計出庫操作編輯對話框

出庫操作編輯對話框的id為idd_takeoutedit_dialog。對應(yīng)的類為ctakeouteditdlg。布局如圖:

對話框中的datagrid控件用于根據(jù)用戶選擇的商品和倉庫信息顯示相關(guān)的庫存商品,用戶可以從其中選擇需要出庫的商品,然后輸入出庫數(shù)量。在顯示庫存商品時,需要查詢默認(rèn)商品的價格數(shù)量,并顯示在表格下方。因此,需要調(diào)用onclickdatagrid2()函數(shù)。程序?qū)膁atagrid控件中讀取商品價格和庫存數(shù)量等信息,并顯示在對話框的相關(guān)位置。主要代碼如下:onclickdatagrid2(){ ……

m_pprice = m(1);//從表格中讀取產(chǎn)品價格

m_pnum1 = m(2);//從表格中讀取產(chǎn)品庫存數(shù)量

updatedata(false);……

} 當(dāng)用戶點擊“確定“按鈕時,執(zhí)行onok()函數(shù),將編輯的倉庫出庫單保存到數(shù)據(jù)庫中。主要代碼如下: { ……

cproinstore pi;ctakeout to;cstring ctype;//插入出庫數(shù)量

_insert();//@@@@@ 保存庫存產(chǎn)品信息 @@@@@ ……

_insert();} 4.85 設(shè)計庫存盤點管理對話框

庫存盤點管理對話框的id為idd_checkman_dialog。對話框的布局如圖:對話框?qū)?yīng)的類為ccheckmandlg。對話框主要函數(shù)是

refresh_data()。功能是設(shè)置數(shù)據(jù)源,查詢相關(guān)庫存盤點信息。主要代碼如下:refresh_data(){cstring cpid;//保存當(dāng)前選擇的產(chǎn)品編號 ……

cstring csid;//保存當(dāng)前選擇的倉庫編號

…..//設(shè)置select語句

cstring csource;csource = ”select spid, pprice as 產(chǎn)品入庫單價, pnum as 庫存數(shù)量, makedate as 生產(chǎn)日期“;csource += ” from proinstore where pid=“ + cpid + ” and sid=" + csid;//設(shè)置記錄源

ordsource(csource);h();……} 4.86 設(shè)計庫存盤點編輯對話框

庫存盤點編輯對話框用于編輯指定商品的庫存數(shù)量,從而糾正庫存數(shù)量可能存在的錯誤。對話框的id為idd_checkedit_dialog。對話框的布局如圖: 對話框類為ccheckeditdlg。當(dāng)用戶單擊“確定”按鈕時,執(zhí)行onok()函數(shù)。其功能是更新庫存數(shù)量。代碼如下: onok(){ updatedata(true);//將用戶輸入數(shù)據(jù)讀取到成員變量中

//更新庫存數(shù)量

cproinstore obj;m(m_newnum);_updatepnum(cspid);} 4.9 庫存警示管理模塊設(shè)計

庫存警示管理模塊可以實現(xiàn)以下功能:

1、實現(xiàn)數(shù)量報警管理。即當(dāng)庫存商品的數(shù)量低于下線或超過上線時報警。

2、實現(xiàn)失效報警管理,即當(dāng)庫存商品即將達(dá)到有效期時報警。4.91 設(shè)計商品數(shù)量報警管理模塊

商品數(shù)量報警信息管理對話框用來顯示所有需要進(jìn)行數(shù)量報警的商品信息。為了更方便的統(tǒng)計商品數(shù)量報警信息,需要創(chuàng)建一個視圖total_num,它的作用是統(tǒng)計每種庫存商品數(shù)量。主要代碼如下: use [stock] go alter view [dbo].[total_num] as select tore.pid, sum(tore.pnum)as total from tore inner join t on tore.pid = group by tore.pid go 商品數(shù)量報警信息管理對話框的id為idd_numalarm_dialog。對話框布局如圖:對話框?qū)?yīng)的類為cnumalarmdlg。主要函數(shù)是refresh_data()。功能與其他對話框的refresh_data()類似。在此不再詳述。

警告類型分為短線和超儲兩種情況,程序?qū)⒏鶕?jù)用戶選擇的類型進(jìn)行統(tǒng)計。

4.92 設(shè)計商品失效報警管理模塊

商品失效報警信息管理對話框用來顯示所有需要進(jìn)行失效報警的商品信息。為了更好方便的統(tǒng)計商品失效報警信息,需要創(chuàng)建一個視圖vaild,它的功能是統(tǒng)計庫存商品價格、數(shù)量、生產(chǎn)日期、倉庫名稱和距離失效期的天數(shù)等信息。主要代碼如下: use [stock] go alter view [dbo].[valid] as select as 庫存記錄編號, as 商品名稱, as 商品價格, tore.pnum as 商品數(shù)量,tore.makedate as 生產(chǎn)日期, ouse.sname as 倉庫名稱,round(datediff(day, dateadd(day,, tore.makedate),getdate()), 0)as 距離失效期的天數(shù) from tore inner join t on tore.pid = and datediff(day,getdate(), tore.makedate)

>= ays inner join ouse on tore.sid = ouse.sid go 在select語句中,使用了如下的sql server函數(shù):

1、dateadd 在向指定日期加上一段時間的基礎(chǔ)上,返回新的datatime值。

2、datediff 返回兩個指定日期的時間差。

3、round 根據(jù)指定的長度和精度對數(shù)字表達(dá)式進(jìn)行四舍五入。

4、getdate 按datetime值的sql server標(biāo)準(zhǔn)內(nèi)部格式返回當(dāng)前系統(tǒng)日期和時間。

商品失效報警信息管理對話框id為idd_valid_dialog。對應(yīng)的類為cvaliddlg。對話框的布局與商品數(shù)量報警信息管理對話框類似。因為功能已經(jīng)在視圖里實現(xiàn)了所以此對話框不用添加額外的函數(shù)。第五章 結(jié)束語

5.0 開發(fā)中的問題和解決辦法

如何高效的在vc++中添加類與對話框及消息響應(yīng)函數(shù)。為了解決這些問題,本設(shè)計中的所設(shè)計的類與對話框采用利用vc++向?qū)?,然后在自動生成的基礎(chǔ)上修改,節(jié)省了相當(dāng)一部分繁瑣的時間加快了程序開發(fā)的速度,節(jié)省了開發(fā)的時間。

在設(shè)計中使用了大量的數(shù)據(jù),設(shè)計了大量的表格。為了便于實現(xiàn)數(shù)據(jù)與表的連接、表與類的連接,采用了數(shù)據(jù)庫軟件。這樣只要調(diào)用數(shù)據(jù)庫本身的查詢、插入、修改等語句就以輕松的操作這些數(shù)據(jù)。使理論上的知識很好的與實際問題相結(jié)合。5.1 系統(tǒng)不足之處

在本設(shè)計中,還有很多不足之處:界面的美觀還可以進(jìn)行更進(jìn)一步的改善,還可以再增加一些功能,比如在狀態(tài)欄增加時間顯示,可以讓使用人員很方便的看到當(dāng)前時間。也可以增加實時的通訊功能,可以讓管理員與普通用戶之間進(jìn)行實時通訊。本系統(tǒng)在處理大量的數(shù)據(jù)時能力還很欠缺,應(yīng)該再設(shè)計時采用一些適當(dāng)?shù)乃惴▽Ρ鞠到y(tǒng)進(jìn)行優(yōu)化。第六章 致謝

在論文完成之際,我要特別感謝我的指導(dǎo)老師呂知辛老師的熱情關(guān)懷和悉心指導(dǎo)。在我撰寫論文的過程中,呂知辛老師傾注了大量的心血和汗水,無論是在論文的選題、構(gòu)思和資料的收集方面,還是在論文的研究方法以及成文定稿方面,我都得到了呂知辛老師悉心細(xì)致的教誨和無私的幫助,特別是他廣博的學(xué)識、深厚的學(xué)術(shù)素養(yǎng)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和一絲不茍的工作作風(fēng)使我終生受益,在此表示真誠地感謝和深深的謝意。

在論文的寫作過程中,也得到了許多同學(xué)的寶貴建議,在此一并致以誠摯的謝意。感謝所有關(guān)心、支持、幫助過我的良師益友。

參考文獻(xiàn)

【1】++深入詳解.北京:電子工業(yè)出版社.2006

【2】屈磊 c++開發(fā)入門與編程實踐.北京:電子工業(yè)出版社2007

【3】(美)sartaj sahni.數(shù)據(jù)結(jié)構(gòu)、算法與應(yīng)用——c++語言描述.北京:機(jī)械工業(yè)出版社.2001 【4】王立副 麻志毅 張世琨.軟件工程.北京:北京大學(xué)出版社.1999.【5】苗雪蘭 劉瑞新 宋會群.數(shù)據(jù)庫技術(shù)及應(yīng)用.北京:機(jī)械工業(yè)出版社.2005 【6】李濤 劉凱奎 王永晈.數(shù)據(jù)庫開發(fā)與實例.北京:清華大學(xué)出版社.2006 【7】 server 2005 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā).北京:人民郵電出版社.2007 【8】(美)timothy .面向?qū)ο缶幊虒?dǎo)論.北京:機(jī)械工業(yè)出版社.2003 【9】 c++教程[m].北京:機(jī)械工業(yè)出版社,2004 【10】 c++ 6.0范例入門與提高[m].北京:清華大學(xué)出版社.2003

【11】:劉誠方,dc++windows初級程序設(shè)計.天津:天津科學(xué)技術(shù)出版社.1997.1

【12】陳慧南.數(shù)據(jù)結(jié)構(gòu):使用c++描述.南京:東南大學(xué)出版社.2001

倉庫管理系統(tǒng)設(shè)計論文篇二

畢業(yè)實習(xí)報告

一、實習(xí)目的

信息與計算科學(xué)是一門需要實踐性的課程,平時大多數(shù)時間都在講理論, 所 以實踐的機(jī)會是十分重要的并且珍貴的。為了能更好的把理論與實踐相結(jié)合, 增 強(qiáng)對 java 語言的應(yīng)用能力,增強(qiáng)知識運(yùn)用能力,我們專業(yè)在學(xué)院的安排下于今 年暑假進(jìn)行了畢業(yè)實習(xí)。

二、實習(xí)時間

實習(xí)時間為 2011-7-4—— 2011-7-23, 主要有學(xué)習(xí)java 相關(guān)知識、分小組做項目、答辯幾個階段組成。

三、實習(xí)地點 數(shù)學(xué)實驗室。

四、實驗方式

重慶達(dá)內(nèi)軟件有限公司兼學(xué)院老師指導(dǎo)的校內(nèi)實習(xí)。

五、實習(xí)主要內(nèi)容 1 初期知識積累

實習(xí)開始于放假后的幾天 在重慶炎熱的夏天 在機(jī)房雖然有空調(diào)但依然很 熱。但是值得慶幸的是我們都學(xué)到了一些東西 ,這就是俗話說的陽光總在風(fēng)雨 后吧。

實習(xí)的主要內(nèi)容是 java 的運(yùn)用。java 的主要特點是 java 的安全性高,不 能寫病毒, 所以適用于金融等對安全性要求較高的行業(yè)。但是病毒可以通過 java 虛擬機(jī)寫。java 和 flash 一起可以達(dá)到很好的頁面效果, 單單 java 是做不到的。數(shù)據(jù)庫和 java 的連接需要在程序中寫好代碼, 外部用建好的數(shù)據(jù)庫, 只要 設(shè)置正確就可以實現(xiàn)數(shù)據(jù)的調(diào)用。若某些操作可能拋出異常, 則先將其選中, 然 后右

擊鼠標(biāo)—包圍方式— 塊,即可自動生成 try-catch 語句。建立 一個類之后, 定義相關(guān)的屬性, 右擊鼠標(biāo)—源代碼—生成 get 和 set 語句, 即可 快速地生成每個屬性的 set 與 get 函數(shù), 減少了工作量。這些簡易高效率的操作 也更加證明了 java 作為一門語言的強(qiáng)大。

三層架構(gòu)在寫代碼時起到了很重要的作用,一切的工作都需要依附于這一 結(jié)構(gòu)才能夠真正地去構(gòu)建要實現(xiàn)的系統(tǒng)。它們是組織整個系統(tǒng)的骨骼, 支撐起整 個系統(tǒng)的各項功能。action 層是返回層, biz 層是業(yè)務(wù)邏輯層, dao 層是數(shù)據(jù)訪 問層。

struts 框架工具是 apache 基金會 jakarta 項目中推出的一個子項目。struts 在英文中是支架、支撐的意思, 這也體現(xiàn)出 struts 在開發(fā) web 應(yīng)用程 序過程所起到的重要作用, struts 為 web 應(yīng)用提供了通用的框架,讓開發(fā)人 員可以把主要精力集中在如何解決實際業(yè)務(wù)問題上, 與此同時 struts 框架也允 許開發(fā)人員根據(jù)實際需要進(jìn)行擴(kuò)展和定制, 從而可以更好的適應(yīng)用戶的需求。采 用 struts 可以簡化遵循 mvc 設(shè)計模式的 web 應(yīng)用的開發(fā)工作, 很好地實現(xiàn)代 碼重用,使開發(fā)人員從一些繁瑣的工作中解脫出來,快速開發(fā)能夠充分發(fā)揮 jsp/servlet 優(yōu)點、并具有強(qiáng)可擴(kuò)展性的 web 應(yīng)用??傊? struts 的出現(xiàn)使 得 web 應(yīng)用的開發(fā)過程大大簡化,從而能夠縮短開發(fā)周期、提高開發(fā)效率。struts 架構(gòu)一經(jīng)推出, 即受到 java 開發(fā)群體的廣泛重視, 從 2004 年開 始逐漸升溫,并日漸成為 java 創(chuàng)建 web 應(yīng)用開發(fā)的最流行的框架工具,在目 前 java web 程序員的招聘要求中,幾乎都提出了對 struts 的要求,精通 struts 架構(gòu)已經(jīng)成為 java web 程序員必備的技能。

2實習(xí)中遇到的問題及解決方案

實習(xí)前期最重要的是安裝軟件 又由于學(xué)校的機(jī)房的電腦的配置不是很好故不 是每一臺電腦都可以用的, 所以好多的同學(xué)都得帶自己的電腦來。就在這個安裝 的過程中問題又是很多種的路勁的問題最多。最后在老師的幫助下這個問題算是 很快的解決了。java 對于某些細(xì)節(jié)的東西要求是很嚴(yán)格的 對于代碼是不能出錯 的這是絕對的因為如果你出了一點點的小錯誤可能導(dǎo)致你的整個程序都跑步起 來, 或者是其中某些重要的功能不能實現(xiàn)。再有對于頁面的設(shè)置頁面之間的跳轉(zhuǎn) 傳值字體 的設(shè)置是關(guān)鍵雖然這是一個在老師看來是不為問題的問題但還是經(jīng)常 出錯 utf-8這個就是頁面上的設(shè)置。是一個很小的細(xì)節(jié)問題。這里也體現(xiàn)了 java 細(xì)節(jié)重要性。

3倉庫管理系統(tǒng)的設(shè)計過程

實習(xí)的最后要求是做一個項目可供選擇的項目有 4個,我們小組做的項 目是倉庫管理系統(tǒng)。該系統(tǒng)又又前臺和后臺組成我主要的分工是做前臺頁面的設(shè) 計, 設(shè)計用戶的登陸和注冊。在用戶表中插入一條管理員的相關(guān)信息的記錄, 在 登陸界面上用戶可以選擇登錄或者注冊。若選擇登錄,即要輸入用戶名和密碼, 系統(tǒng)要判斷輸入的用戶名是否存在, 密碼是否一致。若滿足條件, 則可以順利登 陸,即頁面跳轉(zhuǎn)至顯示有用戶信息的頁面;若選擇注冊,則跳轉(zhuǎn)至注冊頁面,用 戶需輸入各種信息以完成注冊。如果輸入合法, 則注冊成功并能夠跳轉(zhuǎn)至登錄頁 面。這一塊只是外部的一個框架包括顏色的配比什么的。主要的內(nèi)容還是內(nèi)部的 代碼的運(yùn)用。

物資入庫,往一個表中插入物品記錄。這個表中的數(shù)據(jù)記錄在數(shù)據(jù)庫當(dāng)中 這一功能的實現(xiàn)需要用戶輸入物資名、數(shù)量等信息, 這樣即可將相應(yīng)的物資入庫。物資查詢,就是將數(shù)據(jù)庫中的數(shù)據(jù)把要求的在頁面顯示,這一功能比較容 易實現(xiàn)。點擊物資查詢的鏈接后就可以跳至查詢界面,并顯示物資的各項信息。庫存系統(tǒng)的設(shè)計中,各種功能較多,實現(xiàn)的頁面跳轉(zhuǎn)尤其多,所以需要一 個主頁面,使得操作簡單明了,不至于混亂。

主頁面要實現(xiàn)把各個部分分塊,即先把頁面的格局分好,再分別在每一個 小區(qū)塊中寫相應(yīng)的頁面。有固定的導(dǎo)航塊, 所以對各種功能的操作更加容易實現(xiàn) 了。

主頁面的外部設(shè)計用了學(xué)校的主頁頁面圖片看上去比較氣氛。我們又在主 頁面的最上部加了滾動條這讓整個頁面顯得更加又生氣。中間部分, 左邊顯示用 戶信息, 右上部分是各種操作功能的鏈接。在鏈接處都放上了按鈕的圖片, 使這 一部風(fēng)看起來像是按鈕圖片。(其實是連接所以有了具有按鈕效果的鏈接,這 是一個小技巧, 因為直接用按鈕是實現(xiàn)不了相應(yīng)的跳轉(zhuǎn)功能的, 只有鏈接才可以 做到, 于是鏈接加上按鈕的圖片就是最好的解決方案了。右下部分跳轉(zhuǎn)頁面, 即 點擊鏈接后, 右下 的頁面跳轉(zhuǎn)至相應(yīng)的頁面。總之, 主頁面的設(shè)計讓一系列復(fù)雜 繁瑣的操作有了較強(qiáng)的連貫性,使用戶使用該系統(tǒng)的舒適感倍增。

剛開始時,實現(xiàn)的物資出庫功能沒有考慮要出庫的數(shù)量是否多于庫存的數(shù) 量, 所以貌似完成的庫存系統(tǒng)是一個可以無限出庫的系統(tǒng), 不能滿足對系統(tǒng)的安 全性和穩(wěn)定性的要求??紤]到上述因素, 又對系統(tǒng)有了進(jìn)一步的完善, 即增加了 出庫時的數(shù)量判斷。編寫一個判斷函數(shù)即可滿足要求。輸入了出庫信息后, 提交 時即判斷庫存量是否滿足需求:若出庫量過大, 則顯示物品在倉庫中不存在。通 過這一系列的提示即可滿足倉庫系統(tǒng)的實際性要求。

六、實習(xí)總結(jié)及體會

一個項目是一個團(tuán)隊的工作一個人不能把一個項目搞定的幾時可以那花的 時間也是非常的巨大的還有很多的地方不一定能涉及到。團(tuán)隊的力量才是最厲害 的俗話說人心其泰山移說的就是這個道理。再有一點就是我們要充分相信我們的 隊友, 我們也要為我們的團(tuán)隊盡自己的最大努力。我們最終寫了一個庫存系統(tǒng)雖 然在老師的眼里不是很好但是這個項目也是我們實習(xí)里的最好的一個對于我們 來說這個項目是我們以團(tuán)隊做的第一個項目即時它很爛我們也覺得很好因為我 們努力去做了以團(tuán)隊去做了。

對于這個 java 項目它對代碼要求很高特別是細(xì)節(jié)問題。在平時學(xué)習(xí)的知識 太有限了, 與實際的應(yīng)用的技能有較大的差距, 我們必須加強(qiáng)相關(guān)的訓(xùn)練以增強(qiáng) 編程、網(wǎng)頁設(shè)計等方面的技能,只有把理論運(yùn)用到實踐才是正真的理會。總的來說, 實習(xí)雖然是個艱辛的過程但只有經(jīng)歷風(fēng)雨我們才能成長經(jīng)歷磨難 錯誤我們才會成功,這是這個項目教會我的。

倉庫管理系統(tǒng)設(shè)計論文篇三

畢業(yè)實習(xí)報告

一、實習(xí)目的信息與計算科學(xué)是一門需要實踐性的課程,平時大多數(shù)時間都在講理論,所以實踐的機(jī)會是十分重要的并且珍貴的。為了能更好的把理論與實踐相結(jié)合,增強(qiáng)對java語言的應(yīng)用能力,增強(qiáng)知識運(yùn)用能力,我們專業(yè)在學(xué)院的安排下于今年暑假進(jìn)行了畢業(yè)實習(xí)。

二、實習(xí)時間

實習(xí)時間為2011-7-4——2011-7-23,主要有學(xué)習(xí)java相關(guān)知識、分小組做項目、答辯幾個階段組成。

三、實習(xí)地點

數(shù)學(xué)實驗室。

四、實驗方式

重慶達(dá)內(nèi)軟件有限公司兼學(xué)院老師指導(dǎo)的校內(nèi)實習(xí)。

五、實習(xí)主要內(nèi)容初期知識積累

實習(xí)開始于放假后的幾天 在重慶炎熱的夏天 在機(jī)房雖然有空調(diào)但依然很熱。但是值得慶幸的是我們都學(xué)到了一些東西,這就是俗話說的陽光總在風(fēng)雨后吧。

實習(xí)的主要內(nèi)容是java的運(yùn)用。java的主要特點是java的安全性高,不能寫病毒,所以適用于金融等對安全性要求較高的行業(yè)。但是病毒可以通過java虛擬機(jī)寫。java和flash一起可以達(dá)到很好的頁面效果,單單java是做不到的。

數(shù)據(jù)庫和java的連接需要在程序中寫好代碼,外部用建好的數(shù)據(jù)庫,只要設(shè)置正確就可以實現(xiàn)數(shù)據(jù)的調(diào)用。若某些操作可能拋出異常,則先將其選中,然后右擊鼠標(biāo)—包圍方式—try.catch塊,即可自動生成try-catch語句。建立一個類之后,定義相關(guān)的屬性,右擊鼠標(biāo)—源代碼—生成get和set語句,即可快速地生成每個屬性的set與get函數(shù),減少了工作量。這些簡易高效率的操作也更加證明了java作為一門語言的強(qiáng)大。

三層架構(gòu)在寫代碼時起到了很重要的作用,一切的工作都需要依附于這一結(jié)構(gòu)才能夠真正地去構(gòu)建要實現(xiàn)的系統(tǒng)。它們是組織整個系統(tǒng)的骨骼,支撐起整個系統(tǒng)的各項功能。action層是返回層,biz層是業(yè)務(wù)邏輯層,dao層是數(shù)據(jù)訪問層。

struts 框架工具是 apache 基金會 jakarta 項目中推出的一個子項目。struts 在英文中是支架、支撐的意思,這也體現(xiàn)出 struts 在開發(fā) web 應(yīng)用程序過程所起到的重要作用,struts 為 web 應(yīng)用提供了通用的框架,讓開發(fā)人員可以把主要精力集中在如何解決實際業(yè)務(wù)問題上,與此同時 struts 框架也允許開發(fā)人員根據(jù)實際需要進(jìn)行擴(kuò)展和定制,從而可以更好的適應(yīng)用戶的需求。采用 struts 可以簡化遵循 mvc 設(shè)計模式的 web 應(yīng)用的開發(fā)工作,很好地實現(xiàn)代碼重用,使開發(fā)人員從一些繁瑣的工作中解脫出來,快速開發(fā)能夠充分發(fā)揮 jsp/servlet 優(yōu)點、并具有強(qiáng)可擴(kuò)展性的 web 應(yīng)用。總之,struts 的出現(xiàn)使得 web 應(yīng)用的開發(fā)過程大大簡化,從而能夠縮短開發(fā)周期、提高開發(fā)效率。

struts 架構(gòu)一經(jīng)推出,即受到 java 開發(fā)群體的廣泛重視,從 2004 年開始逐漸升溫,并日漸成為 java 創(chuàng)建 web 應(yīng)用開發(fā)的最流行的框架工具,在目前 java web 程序員的招聘要求中,幾乎都提出了對 struts 的要求,精通 struts 架構(gòu)已經(jīng)成為 java web 程序員必備的技能。實習(xí)中遇到的問題及解決方案

實習(xí)前期最重要的是安裝軟件 又由于學(xué)校的機(jī)房的電腦的配置不是很好故不是每一臺電腦都可以用的,所以好多的同學(xué)都得帶自己的電腦來。就在這個安裝的過程中問題又是很多種的路勁的問題最多。最后在老師的幫助下這個問題算是很快的解決了。java對于某些細(xì)節(jié)的東西要求是很嚴(yán)格的 對于代碼是不能出錯的這是絕對的因為如果你出了一點點的小錯誤可能導(dǎo)致你的整個程序都跑步起來,或者是其中某些重要的功能不能實現(xiàn)。再有對于頁面的設(shè)置頁面之間的跳轉(zhuǎn)傳值字體的設(shè)置是關(guān)鍵雖然這是一個在老師看來是不為問題的問題但還是經(jīng)常出錯utf-8這個就是頁面上的設(shè)置。是一個很小的細(xì)節(jié)問題。這里也體現(xiàn)了java細(xì)節(jié)重要性。倉庫管理系統(tǒng)的設(shè)計過程

實習(xí)的最后要求是做一個項目可供選擇的項目有4個,我們小組做的項目是倉庫管理系統(tǒng)。該系統(tǒng)又又前臺和后臺組成我主要的分工是做前臺頁面的設(shè)計,設(shè)計用戶的登陸和注冊。在用戶表中插入一條管理員的相關(guān)信息的記錄,在登陸界面上用戶可以選擇登錄或者注冊。若選擇登錄,即要輸入用戶名和密碼,系統(tǒng)要判斷輸入的用戶名是否存在,密碼是否一致。若滿足條件,則可以順利登陸,即頁面跳轉(zhuǎn)至顯示有用戶信息的頁面;若選擇注冊,則跳轉(zhuǎn)至注冊頁面,用戶需輸入各種信息以完成注冊。如果輸入合法,則注冊成功并能夠跳轉(zhuǎn)至登錄頁面。這一塊只是外部的一個框架包括顏色的配比什么的。主要的內(nèi)容還是內(nèi)部的代碼的運(yùn)用。

物資入庫,往一個表中插入物品記錄。這個表中的數(shù)據(jù)記錄在數(shù)據(jù)庫當(dāng)中這一功能的實現(xiàn)需要用戶輸入物資名、數(shù)量等信息,這樣即可將相應(yīng)的物資入庫。

物資查詢,就是將數(shù)據(jù)庫中的數(shù)據(jù)把要求的在頁面顯示,這一功能比較容易實現(xiàn)。點擊物資查詢的鏈接后就可以跳至查詢界面,并顯示物資的各項信息。

庫存系統(tǒng)的設(shè)計中,各種功能較多,實現(xiàn)的頁面跳轉(zhuǎn)尤其多,所以需要一個主頁面,使得操作簡單明了,不至于混亂。

主頁面要實現(xiàn)把各個部分分塊,即先把頁面的格局分好,再分別在每一個小區(qū)塊中寫相應(yīng)的頁面。有固定的導(dǎo)航塊,所以對各種功能的操作更加容易實現(xiàn)了。

主頁面的外部設(shè)計用了學(xué)校的主頁頁面圖片看上去比較氣氛。我們又在主頁面的最上部加了滾動條這讓整個頁面顯得更加又生氣。中間部分,左邊顯示用戶信息,右上部分是各種操作功能的鏈接。在鏈接處都放上了按鈕的圖片,使這一部風(fēng)看起來像是按鈕圖片。(其實是連接)所以有了具有按鈕效果的鏈接,這是一個小技巧,因為直接用按鈕是實現(xiàn)不了相應(yīng)的跳轉(zhuǎn)功能的,只有鏈接才可以做到,于是鏈接加上按鈕的圖片就是最好的解決方案了。右下部分跳轉(zhuǎn)頁面,即點擊鏈接后,右下的頁面跳轉(zhuǎn)至相應(yīng)的頁面??傊?,主頁面的設(shè)計讓一系列復(fù)雜繁瑣的操作有了較強(qiáng)的連貫性,使用戶使用該系統(tǒng)的舒適感倍增。

剛開始時,實現(xiàn)的物資出庫功能沒有考慮要出庫的數(shù)量是否多于庫存的數(shù)量,所以貌似完成的庫存系統(tǒng)是一個可以無限出庫的系統(tǒng),不能滿足對系統(tǒng)的安全性和穩(wěn)定性的要求??紤]到上述因素,又對系統(tǒng)有了進(jìn)一步的完善,即增加了出庫時的數(shù)量判斷。編寫一個判斷函數(shù)即可滿足要求。輸入了出庫信息后,提交時即判斷庫存量是否滿足需求:若出庫量過大,則顯示物品在倉庫中不存在。通過這一系列的提示即可滿足倉庫系統(tǒng)的實際性要求。

六、實習(xí)總結(jié)及體會

一個項目是一個團(tuán)隊的工作一個人不能把一個項目搞定的幾時可以那花的時間也是非常的巨大的還有很多的地方不一定能涉及到。團(tuán)隊的力量才是最厲害的俗話說人心其泰山移說的就是這個道理。再有一點就是我們要充分相信我們的隊友,我們也要為我們的團(tuán)隊盡自己的最大努力。我們最終寫了一個庫存系統(tǒng)雖然在老師的眼里不是很好但是這個項目也是我們實習(xí)里的最好的一個對于我們來說這個項目是我們以團(tuán)隊做的第一個項目即時它很爛我們也覺得很好因為我們努力去做了以團(tuán)隊去做了。

對于這個java項目它對代碼要求很高特別是細(xì)節(jié)問題。在平時學(xué)習(xí)的知識太有限了,與實際的應(yīng)用的技能有較大的差距,我們必須加強(qiáng)相關(guān)的訓(xùn)練以增強(qiáng)編程、網(wǎng)頁設(shè)計等方面的技能,只有把理論運(yùn)用到實踐才是正真的理會。

總的來說,實習(xí)雖然是個艱辛的過程但只有經(jīng)歷風(fēng)雨我們才能成長經(jīng)歷磨難錯誤我們才會成功,這是這個項目教會我的。

【本文地址:http://www.aiweibaby.com/zuowen/1082638.html】

全文閱讀已結(jié)束,如果需要下載本文請點擊

下載此文檔