軟件工程倉庫管理系統(tǒng)_第1頁
軟件工程倉庫管理系統(tǒng)_第2頁
軟件工程倉庫管理系統(tǒng)_第3頁
軟件工程倉庫管理系統(tǒng)_第4頁
軟件工程倉庫管理系統(tǒng)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

少運(yùn)城學(xué)院軟件設(shè)計(jì)書倉庫管理系統(tǒng)系別:應(yīng)用數(shù)學(xué)系專業(yè):信息與計(jì)算科學(xué)班級:1204學(xué)號:2012060437姓名:閆丹愛第一章可行性研究報(bào)告1.1引言目的本軟件是用來有效的管理超市倉庫貨物數(shù)量及種類,以方便超市工作人員可以全面的了解超市倉庫庫存貨物數(shù)量和種類來方便高效的管理超市倉庫。該項(xiàng)目可行性研究報(bào)告也是對超市倉庫管理系統(tǒng)的全面考慮,是項(xiàng)目分析員進(jìn)行進(jìn)一步工作的前提,是軟件開發(fā)人員成功的開發(fā)項(xiàng)目的前提.此分析研究報(bào)告可以使軟件開發(fā)團(tuán)體盡可能早的估計(jì)研制課題的可行性,可以在定義階段較早的認(rèn)識到系統(tǒng)方案的缺陷,可以節(jié)省時(shí)間、財(cái)力和精力,并且避免了專業(yè)方面的困難.及早地預(yù)測項(xiàng)目的可行性,在可行的前提下獲得最好的實(shí)施方案。背景隨著社會(huì)的不斷發(fā)展,物質(zhì)的不斷豐富,為了滿足人們的需求,超市的貨物也是越來越豐富。為了方便超市管理人員及時(shí)有效的了解倉庫情況,更好的管理超市貨物,提高管理效率,從而提出本軟件。要求和目標(biāo)基本要求功能:具有一定權(quán)限的管理人員可以對貨物的售出和補(bǔ)充,以及新增加的商品和種類及時(shí)的進(jìn)行修改,同時(shí)還具有缺貨提示功能。性能:詳實(shí)有效的羅列出商品貨物的數(shù)量和種類,來方便超市管理人員。輸入:具有一定權(quán)限的管理人員對貨物數(shù)量種類進(jìn)行修改。輸出:查詢結(jié)果。系統(tǒng)功能模塊圖1-1,倉庫管理人員圖1-1系統(tǒng)功能模塊圖錄入貨物信息、更新系統(tǒng)功能模塊圖1-1,倉庫管理人員圖1-1系統(tǒng)功能模塊圖錄入貨物信息、更新倉庫管理查看管理人員功能模塊及流圖的簡要描述:首先超市管理人員需要登錄系統(tǒng),如果登陸成功則以進(jìn)入系統(tǒng)進(jìn)行操作,否則會(huì)提示錯(cuò)誤,要求重新登錄。登錄成功后,管理人員可以根據(jù)自己的需要進(jìn)行操作。當(dāng)添加貨物種類,更改貨物數(shù)量,都需要管理人員登錄系統(tǒng)后才能操作。當(dāng)貨物數(shù)量較少時(shí),系統(tǒng)會(huì)自動(dòng)提示管理人員要進(jìn)貨了。本系統(tǒng)還可以管理管理人員的登錄,即可以對有權(quán)限操作該系統(tǒng)的人員進(jìn)行增、刪、改功能。在安全與方面的要求:對于有權(quán)限的人員才可以進(jìn)行對系統(tǒng)的操作。開發(fā)目標(biāo)①方便使用者對倉庫貨物的查詢、刪除、更新,減少人力和設(shè)備的需求。②方便了解進(jìn)出倉庫貨物情況。③及時(shí)為用戶發(fā)出缺貨提示。④提高工作的效率。⑤降低倉庫管理及維護(hù)費(fèi)用。具備條件①開發(fā)條件:計(jì)算機(jī)實(shí)驗(yàn)室所提供的環(huán)境即可。②開發(fā)時(shí)間:開發(fā)的全過程必須在3個(gè)月完成。③開發(fā)所需的經(jīng)費(fèi):無。④運(yùn)行的系統(tǒng):Window7以上版本即可⑤數(shù)據(jù)庫:sqlserver2000或者sqlsever2005社會(huì)因素方面的可行性法律方面的可行性該系統(tǒng)的開發(fā)和研制,將不會(huì)侵犯他人、集體和國家的利益,不會(huì)違犯國家政策和法律。使用方面的可行性該系統(tǒng)操做簡單,不需要專業(yè)培訓(xùn),一般人員即可勝任。結(jié)論綜上所述,該項(xiàng)目應(yīng)立即開始進(jìn)行研發(fā)。從人力資源優(yōu)化角度來說,可以充分利用人力資源。從經(jīng)濟(jì)利益的角度來看,即時(shí)開發(fā)完成即可用,可以立即贏利。但系統(tǒng)仍舊有些不足,例如修改方面還需人工手動(dòng)修改數(shù)量等。在系統(tǒng)的交付使用中如有不足還望指出,以便改進(jìn)。第二章倉庫管理系統(tǒng)需求分析本系統(tǒng)的主要需求者是超市后臺(tái)管理員。本項(xiàng)目概述本項(xiàng)目所開發(fā)的超市倉庫管理系統(tǒng)完成超市管理員對貨物的管理,減少數(shù)據(jù)漏掉的情況,更方便管理人員的瀏覽和操作,節(jié)省了人力物力。系統(tǒng)一般性描述由于本系統(tǒng)的數(shù)據(jù)還算不上大型的。所以數(shù)據(jù)庫服務(wù)器與web服務(wù)器共用同一臺(tái)計(jì)算機(jī)。系統(tǒng)中的貨物信息和管理員信息都存放在sqlserver數(shù)據(jù)庫中。系統(tǒng)的用例圖'圖2-1系統(tǒng)用例圖',用例圖說明:

圖2-1系統(tǒng)用例圖本系統(tǒng)主要只針對具有權(quán)限的理員進(jìn)行操作,首先管理員必須具有正確的賬號和密碼才能進(jìn)入系統(tǒng)進(jìn)行操作。進(jìn)入系統(tǒng)后的主要功能模塊如下:添加功能:可以添加貨物的具體信息同時(shí)還可以增加管理員。修改功能:可以對貨物的所有信息進(jìn)行修改。刪除功能:刪除超市已經(jīng)不存在的貨物的信息同時(shí)還可以刪除不存在的管理員。查詢功能:可根據(jù)貨物的品牌或者名稱對貨物進(jìn)行查詢,也可以根據(jù)管理員賬號或者管理員用戶名對用戶進(jìn)行查詢。進(jìn)貨出貨功能:可以對貨物的數(shù)量進(jìn)行修改。缺貨提示:當(dāng)貨物的數(shù)量小于50件時(shí)在主頁面會(huì)為管理員進(jìn)行提示已缺貨。更改密碼功能:當(dāng)某個(gè)管理員登錄系統(tǒng)后可以更改自己的密碼。系統(tǒng)的用類‘圖2-2類圖’,類圖說明:DBConnectionurlusernampassword管理PageUtilpageSizerecordCountcurrentPage+getConnection()+closeConnection()+closeStatement()+closeResultSet()+增加管理員()管理PageUtilpageSizerecordCountcurrentPage+getConnection()+closeConnection()+closeStatement()+closeResultSet()+增加管理員()+修改管理員信息刪除管理員信息管理員(User)管理人員ID(Uid)管理員賬號 (Uname)管理員密碼 (Upassword)()()商品(shop)商品號(Sid)商品品牌(Ssign)商品名稱(Sname)進(jìn)價(jià)(Sinprice)賣價(jià)(Soutprice)貨物數(shù)量(Snum)+登陸系統(tǒng)()+增加商品()+刪除過時(shí)商品 ()+修改商品信息()+查詢商品信息()+商品詳細(xì)信息()+缺貨提示()ShopDAO+get()+update()+delete()+save()+quickSeach()+upNumIn()+PageUtil()+getRecordCount()+getCurrentPage()+setCurrentPage()+getNextPage()+getPrePage()+getPageSize()+getPageCount()+getFromIndex()+getToIndex()UserDAO+queryAll()+delete()+save()+quickSeach()+login()+updatePassword()+UserModel()圖2-2類圖類的詳細(xì)說明:商品類:屬性:商品編號:商品編號是用來確定商品唯一性的。商品數(shù)量:說明商品的庫存量。商品名稱:說明商品的名稱。方法:登錄系統(tǒng):用于驗(yàn)證管理身份。增加商品:用于增加系統(tǒng)沒有的商品信息。刪除商品:倉庫沒有的商品信息。修改商品:用于修改商品的具體信息。進(jìn)貨:用于只對要增加貨物量的商品進(jìn)行操作。出貨:用于只對要減少貨物量的商品進(jìn)行操作。缺貨提示:當(dāng)商品數(shù)量低于10后會(huì)在主頁上提示缺貨。管理員類:屬性:管理員ID:該屬性是自動(dòng)增長型,具有唯一性。管理員賬號:用于登錄時(shí)的賬號。管理員名稱:該屬性和賬號一起可以識別唯一的管理員。管理員密碼:用于登錄時(shí)和賬號一起用于身份驗(yàn)證。方法:增加管理員:可以賦予沒有權(quán)限的人管理權(quán)限。刪除管理員:可以刪除不存在的管理員。數(shù)據(jù)流圖對用戶需求進(jìn)行分析,畫出系統(tǒng)的數(shù)據(jù)流圖,如圖3.1——圖3.2所示。圖3.1系統(tǒng)的頂層數(shù)據(jù)流圖圖3.2系統(tǒng)的0層數(shù)據(jù)流圖圖3.3倉庫管理系統(tǒng)的1層DFD——“貨物入庫管理”加工的分解圖2.2.5倉庫管理系統(tǒng)的E-R圖根據(jù)系統(tǒng)數(shù)據(jù)流程圖,我們可以列出以下系統(tǒng)所需的數(shù)據(jù)項(xiàng):員工(員工號,,密碼,證件號,員工類型,是否員工)商品(商品編號,商品名稱,商品數(shù)量)倉庫(商品編號,商品名稱,庫存量)入庫(入庫編號,商品編號,商品名稱,入庫數(shù)量,入庫人,入庫時(shí)間)出庫(出庫編號,商品編號,商品名稱,出庫數(shù)量,出庫人,出庫時(shí)間)倉庫管理系統(tǒng)的E-R模型如圖3.3-圖所示。通過對系統(tǒng)結(jié)構(gòu)化的分析得到本系統(tǒng)有四大模塊:系統(tǒng)管理:對用戶的一些添加,刪除,修改。信息管理:對一些基本信息(商品,往來單位,倉庫)的管理。出入庫管理:對出庫入庫的管理。查詢管理:對出庫、入庫單、庫存信息的查詢。圖3.3實(shí)體之間關(guān)系E-R圖第三章設(shè)計(jì)說明書3.1引言

系統(tǒng)概要及其運(yùn)行環(huán)境軟件詳細(xì)設(shè)計(jì)階段是軟件設(shè)計(jì)的重要階段,本階段的工作就是要對系統(tǒng)中的每個(gè)模塊給出足夠詳細(xì)的過程性描述,因此也稱為“過程設(shè)計(jì)”。詳細(xì)設(shè)計(jì)的根本目的就是確定應(yīng)該怎樣具體實(shí)現(xiàn)所需求的系統(tǒng),也就是說經(jīng)過這一階段的設(shè)計(jì),會(huì)得出對學(xué)生選課系統(tǒng)的精確描述。其根本任務(wù)就是設(shè)計(jì)出程序的“藍(lán)圖”系統(tǒng)的組成部分及其結(jié)構(gòu)本系統(tǒng)分為四大模塊,即用戶管理模塊、出庫模塊、入庫模塊、庫存管理模塊。管理員模塊可分為普通用戶模塊和管理員模塊,庫存管理模塊包括查詢模塊和修改模塊。詳細(xì)操作請見類圖軟件設(shè)計(jì)約束本系統(tǒng)采用Java技術(shù),基本上沒有什么平臺(tái)約束。在數(shù)據(jù)庫方面,需要?jiǎng)?chuàng)建本地?cái)?shù)據(jù)源。設(shè)計(jì)目標(biāo)和原則本設(shè)計(jì)欲達(dá)到的目標(biāo):能夠使用戶簡單快捷的完成商品出庫和入庫的功能及庫存管理功能。系統(tǒng)的性能達(dá)到高效,實(shí)用,易于維護(hù)。設(shè)計(jì)約束(1)無論是普通用戶還是管理員,都可以在本地訪問該系統(tǒng)。完成各自授權(quán)的活動(dòng)和工作。(2)該系統(tǒng)考慮性能、安全、可靠性、易用、可擴(kuò)展和可維護(hù)。(3)整個(gè)開發(fā)過程應(yīng)滿足軟件需求分析的進(jìn)度要求所規(guī)定的時(shí)間。軟件設(shè)計(jì)描述總體結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)由以下幾個(gè)功能模塊組成:用戶管理模塊匯總:(1)添加普通用戶信息(僅管理員可以使用,可以添加用戶到數(shù)據(jù)庫中)(2)管理普通用戶信息(僅管理員可以使用,可以對普通用戶進(jìn)行修改刪除等操作)庫存管理模塊匯總(1)查詢?nèi)霂煨畔ⅲㄆ胀ㄓ脩羰褂?,對自己入庫的商品進(jìn)行查詢操作)(2)查詢出庫信息(普通用戶使用,對所出庫的商品進(jìn)行相關(guān)操作)(3)所有庫存信息(對所有商品信息進(jìn)行查詢)用戶用戶管理商品出入庫主界面庫存管理詳細(xì)結(jié)構(gòu)設(shè)計(jì)用戶用戶管理商品出入庫主界面庫存管理退出系統(tǒng)圖3-1倉庫管理系統(tǒng)順序圖系統(tǒng)界面設(shè)計(jì)描述當(dāng)用戶啟動(dòng)程序后真接顯示主界面,在主界面中有‘用戶管理’,‘商品入庫’,‘商品出庫’,‘庫存管理’以及退出系統(tǒng)。

當(dāng)用戶在未登錄的狀態(tài)下執(zhí)行任何操作時(shí)系統(tǒng)會(huì)自動(dòng)判斷是否已經(jīng)登錄,若用戶還沒有登錄則顯示登錄界面,讓用戶進(jìn)行登錄。若登錄的不存在則表示該用戶還不是員工,故需要用戶重新申請新的用戶,新用戶的類型為普通員工,當(dāng)普通用戶已經(jīng)通過管理員審核,并且分配了相關(guān)的權(quán)限后就可以登錄系統(tǒng)。若用戶是管理員則該用戶可以對普通用戶進(jìn)行相關(guān)的修改和刪除,而且還可以修改、查詢、刪除庫存表及商品出入庫表中的相關(guān)信息。若用戶是普通員工則只能進(jìn)行商品的出入庫及查詢。3.4.1登錄界面設(shè)計(jì)用戶通過輸入登錄的賬號和密碼及類型系統(tǒng)進(jìn)行驗(yàn)證圖3-2用戶登錄界面3.4.2商品出入庫界面設(shè)計(jì)圖3-3商品出入庫界面設(shè)計(jì)

3.4.3庫存界面設(shè)計(jì)圖3-4庫存界面設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫名:StoreHouseDB用戶表:Users主鍵:員工號商品入庫表:InStore主鍵:入庫編號商品出庫表:OutStore主鍵:出庫編號庫存表:StoreManage主鍵:商品編號商品表:goods主鍵:商品編號3.5.1建表下面具體給出各個(gè)表表3-1Users列名屬性員工號Varchar(13)員工Varcahar(20)密碼Varchar(16)證件號Varchar(18)員工類型Varchar(8)是否員工Varchar(2)表3-2InStore列名屬性入庫編號int商品編號Varchar(20)商品名稱Varchar(50)入庫數(shù)量Int入庫人Varchar(13)入庫時(shí)間Datetime()表3-3OutStrore列名屬性出庫編號Int商品編號Varchar(20)商品名稱Varcahr(50)出庫數(shù)量Int出庫人Varchar(13)出庫時(shí)間Datetime()表3-4StoreManage列名屬性商品編號Varchar(20)商品名稱Varchar(50)庫存量Int表3-5goods列名屬性商品編號Varchar(20)商品名稱Varchar(50)商品數(shù)量Int第四章系統(tǒng)相關(guān)代碼登錄界面(主要代碼)publicbooleanisExistsEmply(Stringid){booleanflags=false;try(intcount=0;Stringsql1="select員工號fromUserswhere員工號二?”;PreparedStatementps=conn.prepareStatement(sql1);ps.setString(1,(String)id);ResultSetresult=ps.executeQuery();while(result.next())(count=result.getRow();)result.close();ps.close();if(count>0)(this.UID=id;flags=true;getInfo(id);returnflags;)elseerror.errorDialog((String)id);))catch(Exceptione)(e.printStackTrace();)returnflags;)〃根據(jù)‘工號’分別獲取對應(yīng)的的信息publicvoidgetInfo(Stringuid){try(Stringsql2="select員工,密碼,員工類型,是否員工fromUserswhere員工號=?〃;PreparedStatementpps=conn.prepareStatement(sql2);pps.setString(1,uid);ResultSetresult=pps.executeQuery();while(result.next())(name=result.getString(1).toString().trim();password=result.getString(2).trim();employtype=result.getString(3).toString().trim();emplooy=result.getString(4).toString().trim();)result.close();pps.close();)catch(Exceptione)(e.printStackTrace();))〃對登錄的‘工號'進(jìn)行密碼驗(yàn)證publicbooleanlogin(Stringid,Stringpwd,Stringtype){booleanisEmploy=false;try(if(id.equals(UID)&&pwd.equals(password)&&type.equals(employtype))(isEmploy=true;returnisEmploy;)else(returnisEmploy;))catch(Exceptione)(e.printStackTrace();)returnisEmploy;)〃判斷用戶是否已經(jīng)通過管理員的審核publicbooleanY_NEmply(){booleanisE=false;if(this.emplooy.equals(〃是“))(System.out.println("員工號:"+UID+"已經(jīng)通過了審核 〃);main.showMainFarme();isE=true;returnisE;)elseif(this.emplooy.equals(〃否〃))(error.noEmp100y(UID);returnisE;)returnisE;)出庫界面(主要代碼)publicObjectsetSdata2(){try(Stringsql2=〃select*fromOutStore";Statementst=conn.createStatement();ResultSetresult=st.executeQuery(sql2);Sdata2=newObject[Row2][Column2];intn=0;while(result.next())(Sdata2[n][0]=result.getString(1).toString().trim();Sdata2[n][1]=result.getString(2).toString().trim();Sdata2[n][2]=result.getString(3).toString().trim();Sdata2[n][3]=result.getString(4).toString().trim();Sdata2[n][4]=result.getString(5).toString().trim();Sdata2[n][5]=result.getString(6).toString().trim();n++;)result.close();st.close();returnSdata2;)catch(Exceptione)(e.printStackTrace();)returnSdata2;)〃先判斷庫存表中是否存在要出庫的商品編號publicbooleanisExistsGid(Stringgid){booleanflags=false;try(intcount=0;Stringsql3="selectcount(商品編號)fromStoreManagewhere商品編號二?〃;;PreparedStatementps=conn.prepareStatement(sql3);ps.setString(1,gid);ResultSetresult=ps.executeQuery();while(result.next())(count++;)result.close();ps.close();if(count>0)(flags=true;returnflags;)elsereturnflags;))catch(Exceptione)(e.printStackTrace();)returnflags;)〃判斷庫存表中的庫存量是否滿足出庫的笨條件publicbooleanlookNumber(Stringgid,intnumber){booleanflags=false;try(intnum=0;Stringsql4="select庫存量fromStoreManagewhere商品編號二?”;PreparedStatementps=conn.prepareStatement(sql4);ps.setString(1,gid);ResultSetresult=ps.executeQuery();while(result.next())(num=result.getInt(1);)result.close();ps.close();if(number<=num)(flags=true;)elseflags=false;returnflags;)catch(Exceptione)(e.printStackTrace();)returnflags;)〃商品出庫向出庫表寫入一條數(shù)據(jù)的出庫記錄publicvoidnewStoreOuput(Stringoutgid,Stringoutgname,intoutgnum){try(Stringsql5="insertintoOutStore商品編號,商品名稱,出庫數(shù)量,出庫人,出庫時(shí)間)values(?,?,?,?,getdate())";PreparedStatementps=conn.prepareStatement(sql5);ps.setString(1,outgid);ps.setString(2,outgname);ps.setInt(3,outgnum);ps.setString(4,outpeople);ps.executeQuery();ps.close();)catch(Exceptione)(e.printStackTrace();))〃這是要修改庫存表中的庫存量publicvoidupdateStoreManage(Stringoutgid,intnum){try(Stringsql6="updateStoreManageset庫存量=(select庫存量fromStoreManagewhere商品編號二?)-?where商品編號二?“;PreparedStatementps=conn.prepareStatement(sql6);ps.setString(1,outgid);ps.setInt(2,num);ps.setString(3,outgid);ps.executeQuery();ps.close();)catch(Exceptione)(e.printStackTrace();))〃向出庫表模型中添加一條新一出庫記錄publicObjectaddOutStoreToTable(Stringoutgid){try(Stringsql7="select*fromOutStorewhere商品編號二?and出庫編號=(selectcount(*)fromOutStore)";PreparedStatementps=conn.prepareStatement(sql7);ps.setString(1,outgid);ResultSetresult=ps.executeQuery();while(result.next())(newStoreOfOut[0]=newInteger(result.getInt(1));newStoreOfOut[1]=result.getString(2).toString().trim();newStoreOfOut[2]=result.getString(3).toString().trim();newStoreOfOut[3]=newInteger(result.getInt(4));newStoreOfOut[4]=result.getString(5).toString().trim();newStoreOfOut[5]=result.getString(6).toString().trim();)result.close();ps.close();returnnewStoreOfOut;)catch(Exceptione)(e.printStackTrace();)returnnewStoreOfOut;)入庫界面publicObjectsetSdata(){try(Stringsq2="select*fromInStore";Statementst=conn.createStatement();ResultSetresult=st.executeQuery(sq2);Sdata=newObject[Row][Column];intn=0;while(result.next())(Sdata[n][0]=result.getString(1).toString().trim();Sdata[n][1]=result.getString(2).toString().trim();Sdata[n][2]=result.getString(3).toString().trim();Sdata[n][3]=result.getString(4).toString().trim();Sdata[n][4]=result.getString(5).toString().trim();Sdata[n][5]=result.getString(6).toString().trim();n++;)result.close();st.close();returnSdata;)catch(Exceptione)(e.printStackTrace();)returnSdata;)〃向入庫表中插入新的數(shù)據(jù)publicvoidgoodsInserData(Stringgid,Stringgname,intgnum){try(Stringsql3="insertintoInStore(商品編號,商品名稱,入庫數(shù)量,入庫人,入庫時(shí)間)values(?,?,?,?,getdate())”;PreparedStatementps=conn.prepareStatement(sql3);ps.setString(1,gid);ps.setString(2,gname);ps.setInt(3,gnum);ps.setString(4,inpeople);ps.executeUpdate();ps.close();)catch(Exceptione)(e.printStackTrace();))〃判斷庫存表中是否有相同商品編號的商品存在publicbooleanisExistsGood(Stringgid){booleanflags=false;try(Stringsql4="select*fromStoreManagewhere商品編號二?“;PreparedStatementps=conn.prepareStatement(sql4);ps.setString(1,gid);ResultSetresult=ps.executeQuery();inti=0;while(result.next())(i++;)result.close();ps.close();if(i>0)(〃如果庫存表中存在該商品的商品編號,則調(diào)用修改函數(shù)flags=true;returnflags;)else(〃若庫存表中不存在則調(diào)用插入函數(shù)新插入一條數(shù)據(jù)returnflags;))catch(Exceptione)(e.printStackTrace();)returnflags;)〃若庫存表中不存在則新建一條信息publicvoidinsertStoreManage(Stringgid,Stringgname,intgnum){try(Stringsql5="insertintoStoreManage(商品編號,商品名稱,庫存量)values(?,?,?)”;PreparedStatementps=conn.prepareStatement(sql5);ps.setString(1,gid);ps.setString(2,gname);ps.setInt(3,gnum);ps.executeUpdate();ps.close();)catch(Exceptione)(e.printStackTrace();〃如果存在直接修改原有的數(shù)量〃1、先獲取原有的庫存量publicintgetStoreNumber(Stringgid){intnum=0;try(Stringsql6="select入庫數(shù)據(jù)fromStoreManagewhere商品編號二?”;PreparedStatementps=conn.prepareStatement(sql6);ps.setString(1,gid);//ps.executeQuery();ResultSetresult=ps.executeQuery();while(result.next())(num=result.getInt(1);)result.close();ps.close();returnnum;)catch(Exceptione)(e.printStackTrace();)returnnum;)〃2、再修改庫存量publicvoidupdateStoreManage(intcount,Stringgid){try(intNUM=getStoreNumber(gid)+count;Stringsql7="updateStoreManageset庫存量=NUMwhere商品編號二?”;PreparedStatementps=conn.prepareStatement(sql7);ps.setString(1,gid);//ps.setInt(1,count);//ps.setString(2,gid);ps.executeUpdate();ps.close();)catch(Exceptione)(e.printStackTrace();//error!沒有注意到出庫表會(huì)存在多條相同的記錄〃向入庫表模型中添加一條入庫記錄publicvoidaddStoreOnInStore(Stringgid){Object口newRow=newObject[6];try(Stringsql8="select*fromInStorewhere商品編號二?and入庫編號=(selectcount(*)fromInStore)";PreparedStatementps=conn.prepareStatement(sql8);ps.setString(1,gid);ResultSetresult=ps.executeQuery();while(result.next())(newRow[0]=newInteger(result.getInt(1));newRow[1]=result.getString(2).toString().trim();newRow[2]=result.getString(3).toString().trim();newRow[3]=newInteger(result.getInt(4));newRow[4]=result.getString(5).toString().trim();newRow[5]=result.getString(6).toString().trim();)result.close();ps.close();〃向表模式中添加一行新數(shù)據(jù)dtm1.addRow(newRow);)catch(Exceptione)(e.printStackTrace();))庫存管理界面publicObjectsetSData(){try(Stringsql2="select*fromStoreManage";Statementst=conn.createStatement();ResultSetresult2=st.executeQuery(sql2);Sdata=newObject[Row][Column];intn=0;while(result2.next())(Sdata[n][0]=result2.getString(1).toString().trim();Sdata[n][1]=result2.getString(2).toString().trim();Sdata[n][2]=result2.getInt(3);n++;)result2.close();st.close();returnSdata;)catch(Exceptione)(System.out.println(e.getMessage());)returnSdata;)publicvoidinit(){〃先調(diào)用方法獲得表頭和二維表的表數(shù)據(jù)//this.setSData();//this.setHeader();this.setTitle(〃天涯倉庫管理”);this.setSize(700,300);this.setLocation(300,150);this.setLayout(newGridLayout(2,1));dtm1=newDefaultTableModel(Sdata,Sheader);jtable=newJTable(dtm1);pane1=newJScrollPane(jtable);jtable.setRowHeight(30);jtable.setGridC010r(Color.blue);jp1.add(jlbl1);jp1.add(jtxt1);jp1.add(jlbl2);jp1.add(jtxt2);jp1.add(jlbl3);jp1.add(jtxt3);jp1.add(btnupdate);jp1.add(btndel);btnupdate.addActionListener(this);btndel.addActionListener(this);jtable.addMouseListener(this);//dtml.addTableModelListener(jtable);this.add(panel);this.add(jpl);this.show();)publicbooleanUpdateStoreDate1(Stringgoodid,Stringgoodname,intgoodnum){booleanflags=false;try(StringSql3="updateStoreManageset商品名稱二?,庫存量二?where商品名稱='goodid'";PreparedStatementps=conn.prepareStatement(Sql3);ps.setString(1,goodname);ps.setInt(2,goodnum);ps.executeUpdate();flags=true;)catch(Exceptione)(System.out.println(e.getMessage());)returnflags;)〃更新數(shù)據(jù)publicbooleanUpdateStoreDate(Stringgoodid,Stringgoodname,intgoodnum){booleanflags=false;try(StringSql3="updateStoreManageset商品名稱二?,庫存量二?where商品名稱=?";PreparedStatementps=conn.prepareStatement(Sql3);ps.setString(1,goodname);ps.setInt(2,goodnum);ps.setString(3,goodid);ps.executeUpdate();ps.close();flags=true;)catch(Exceptione)(System.out.println(e.getMessage());)returnflags;)〃刪除選中的數(shù)據(jù)publicbooleanDelStoreDate(Stringgoodid){booleanflags=false;try(Stringsql4="deletefromStoreManagewhere商品編號二?“;PreparedStatementps=conn.prepareStatement(sql4);ps.setString(1,goodid);ps.executeUpdate();ps.close();flags=true;)catch(Exceptione)(System.out.println(e.getMessage());)returnflags;)〃判斷是否缺貨publicbooleanIsDeletio(){booleanflags=false;try(Stringsql5="selectcount(商品編號)fromStoreManagewhere庫存量<=50";Statementst=conn.createStatement();ResultSetresult=st.executeQuery(sql5);intm=0;while(result.next())(m++;〃判斷是否有商品缺失if(m>0)flags=true;catch(Exceptione)System.out.println(e.getMessage());returnflags;第五章測試計(jì)劃報(bào)告引言目的本軟件是用來有效的管理超市倉庫貨物數(shù)量及種類,以方便超市工作人員可以全面的了解超市倉庫庫存貨物數(shù)量和種類來方便高效的管理超市倉庫。該項(xiàng)目可行性研究報(bào)告也是對超市倉庫管理系統(tǒng)的全面考慮,是項(xiàng)目分析員進(jìn)行進(jìn)一步工作的前提,是軟件開發(fā)人員成功的開發(fā)項(xiàng)目的前提.此分析研究報(bào)告可以使軟件開發(fā)團(tuán)體盡可能早的估計(jì)研制課題的可行性,可以在定義階段較早的認(rèn)識到系統(tǒng)方案的缺陷,可以節(jié)省時(shí)間、財(cái)力和精力,并且避免了專業(yè)方面的困難.及早地預(yù)測項(xiàng)目的可行性,在可行的前提下獲得最好的實(shí)施方案。背景隨著社會(huì)的不斷發(fā)展,物質(zhì)的不斷豐富,為了滿足人們的需求,超市的貨物也是越來越豐富。為了方便超市管理人員及時(shí)有效的了解倉庫情況,更好的管理超市貨物,提高管理效率,從而提出本軟件。系統(tǒng)名稱:超市倉庫管理系統(tǒng)。測試環(huán)境測試的重點(diǎn)是選課管理系統(tǒng)的選課功能和登錄界面的功能。測試過程及結(jié)果根據(jù)需求分析文檔,設(shè)計(jì)測試用例,填寫預(yù)期結(jié)果,在測試時(shí),填寫實(shí)際結(jié)果。參考資料[1]東生、冬華等編著的《軟件工程一原理、方法和工具》術(shù)語①0忑:客戶端/服務(wù)器。試容測試名稱給出第N項(xiàng)測試的名稱(N為測試序號)測試進(jìn)度給出測試的日期和工作容的詳細(xì)安排測試人員給出測試負(fù)責(zé)人和所有參加測試的單位及負(fù)責(zé)人測試用例重點(diǎn)給出輸入數(shù)據(jù),輸出結(jié)果,及測試步驟評價(jià)說明所選擇的測試用例能夠檢查的圍和局限性附錄列出測試用例清單,分別標(biāo)志每個(gè)測試用例并給出驅(qū)動(dòng)程序清單等實(shí)驗(yàn)過程登錄界面的測試測試1:名稱:系統(tǒng)登錄操作測試目的:測試系統(tǒng)登錄界面的穩(wěn)定性容:賬號,密碼的合法性檢查數(shù)據(jù)庫數(shù)據(jù)表3-1管理

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論