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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

軟件工程》課程設計標題(如:基于UML倉庫管理系統(tǒng)設計與

實現(xiàn))學號:2009304040140姓名:黃慧芳指導教師:學科專業(yè):09軟件技術荊楚理工學院計算機工程學院二0一一年十二月目錄TOC\o"1-5"\h\z目錄1第一章可行性研究報告2引言2要求和目標21.3.投資及效益分析31.4.社會因素方面的可行性41.5.結論4第二章倉庫管理系統(tǒng)需求分析52.1.本項目概述5系統(tǒng)一般性描述5第三章設計說明書8引言8軟件設計約束8軟件設計描述8系統(tǒng)界面設計描述9數(shù)據(jù)庫設計10第四章系統(tǒng)相關代碼124.1登錄界面(主要代碼)124.2出庫界面(主要代碼)144.3入庫界面184.4庫存管理界面22第五章測試計劃報告265.1.引言265.2測試內(nèi)容26實驗過程265.4范圍29原則29總結29第一章可行性研究報告引言1.1.1目的本軟件是用來有效的管理超市倉庫貨物數(shù)量及種類,以方便超市工作人員可以全面的了解超市倉庫庫存貨物數(shù)量和種類來方便高效的管理超市倉庫。該項目可行性研究報告也是對超市倉庫管理系統(tǒng)的全面考慮,是項目分析員進行進一步工作的前提,是軟件開發(fā)人員成功的開發(fā)項目的前提.此分析研究報告可以使軟件開發(fā)團體盡可能早的估計研制課題的可行性,可以在定義階段較早的認識到系統(tǒng)方案的缺陷,可以節(jié)省時間、財力和精力,并且避免了專業(yè)方面的困難.及早地預測項目的可行性,在可行的前提下獲得最好的實施方案。1.1.2背景隨著社會的不斷發(fā)展,物質(zhì)的不斷豐富,為了滿足人們的需求,超市的貨物也是越來越豐富。為了方便超市管理人員及時有效的了解倉庫情況,更好的管理超市貨物,提高管理效率,從而提出本軟件。系統(tǒng)名稱:超市倉庫管理系統(tǒng)。工程組織者:09軟件班產(chǎn)品所有權:開發(fā)小組任務的詳細信息:任務的提出人:劉珊燕需求分析人:程鵬黃慧芳用戶:具有管理權限的人員(普通用戶、管理員)1.1.3參考資料:[1]李東生、崔冬華等編著的《軟件工程—原理、方法和工具》1.1.4術語C/.S:客戶端/服務器。要求和目標1.2.1基本要求?功能:具有一定權限的管理人員可以對貨物的售出和補充,以及新增加的商品和種類及時的進行修改,同時還具有缺貨提示功能。?性能:詳實有效的羅列出商品貨物的數(shù)量和種類,來方便超市管理人員。?輸入:具有一定權限的管理人員對貨物數(shù)量種類進行修改。?輸出:查詢結果。系統(tǒng)功能模塊圖1-1,數(shù)據(jù)流圖1-2

倉庫管理系統(tǒng)倉庫管理人員錄入貨物信息、更新查看管理人員圖1-2數(shù)據(jù)流圖倉庫管理系統(tǒng)倉庫管理人員錄入貨物信息、更新查看管理人員圖1-2數(shù)據(jù)流圖功能模塊及流圖的簡要描述:首先超市管理人員需要登錄系統(tǒng),如果登陸成功則以進入系統(tǒng)進行操作,否則會提示錯誤,要求重新登錄。登錄成功后,管理人員可以根據(jù)自己的需要進行操作。當添加貨物種類,更改貨物數(shù)量,都需要管理人員登錄系統(tǒng)后才能操作。當貨物數(shù)量較少時,系統(tǒng)會自動提示管理人員要進貨了。本系統(tǒng)還可以管理管理人員的登錄,即可以對有權限操作該系統(tǒng)的人員進行增、刪、改功能。?在安全與保密方面的要求:對于有權限的人員才可以進行對系統(tǒng)的操作。1.2.2開發(fā)目標方便使用者對倉庫貨物的查詢、刪除、更新,減少人力和設備的需求。方便了解進出倉庫貨物情況。及時為用戶發(fā)出缺貨提示。提高工作的效率。降低倉庫管理及維護費用。1.2.3具備條件開發(fā)條件:計算機實驗室所提供的環(huán)境即可。開發(fā)時間:開發(fā)的全過程必須在3個月內(nèi)完成。開發(fā)所需的經(jīng)費:無。運行的系統(tǒng):WindowXP以上版本即可數(shù)據(jù)庫:sqlserver2000或者sqlsever20051.2.4評價尺度本軟件在投入使用起,維護費用較少,操作方便。1.3.投資及效益分析支出由于是學生自行開發(fā)的項目,無需任何費用。收益系統(tǒng)完成后即可交付使用,主要是為了方便超市貨物管理,有著重大的意義。投資回收周期即時。1.4.社會因素方面的可行性法律方面的可行性該系統(tǒng)的開發(fā)和研制,將不會侵犯他人、集體和國家的利益,不會違犯國家政策和法律。使用方面的可行性該系統(tǒng)操做簡單,不需要專業(yè)培訓,一般人員即可勝任。其它方面的可行性作為計算機工程學院軟件班的學生,通曉一些計算機軟件知識。我們學習過J2EE和JSP課程,可用到該系統(tǒng)網(wǎng)頁的制作,我們小組有2個人,開發(fā)此程序足以應付。當然,我們作為學生,在開發(fā)系統(tǒng)上面,經(jīng)驗甚少,當我們技術上遇到難以解決的問題是可以求助于老師的。所以技術方面是可行的。1.5.結論綜上所述,該項目應立即開始進行研發(fā)。從人力資源優(yōu)化角度來說,可以充分利用人力資源。從經(jīng)濟利益的角度來看,即時開發(fā)完成即可用,可以立即贏利。但系統(tǒng)仍舊有些不足,例如修改方面還需人工手動修改數(shù)量等。在系統(tǒng)的交付使用中如有不足還望指出,以便改進。第二章倉庫管理系統(tǒng)需求分析本系統(tǒng)的主要需求者是超市后臺管理員,該系統(tǒng)的圖是用StarUML繪制的。本項目概述本項目所開發(fā)的超市倉庫管理系統(tǒng)完成超市管理員對貨物的管理,減少數(shù)據(jù)漏掉的情況,更方便管理人員的瀏覽和操作,節(jié)省了人力物力。系統(tǒng)一般性描述由于本系統(tǒng)的數(shù)據(jù)還算不上大型的。所以數(shù)據(jù)庫服務器與web服務器共用同一臺計算機。系統(tǒng)中的貨物信息和管理員信息都存放在sqlserver數(shù)據(jù)庫中。系統(tǒng)的用例圖‘圖2-1系統(tǒng)用例圖',用例圖說明:圖2-1系統(tǒng)用例圖本系統(tǒng)主要只針對具有權限的理員進行操作,首先管理員必須具有正確的賬號和密碼才能進入系統(tǒng)進行操作。進入系統(tǒng)后的主要功能模塊如下:添加功能:可以添加貨物的具體信息同時還可以增加管理員。修改功能:可以對貨物的所有信息進行修改。刪除功能:刪除超市已經(jīng)不存在的貨物的信息同時還可以刪除不存在的管理員。查詢功能:可根據(jù)貨物的品牌或者名稱對貨物進行查詢,也可以根據(jù)管理員賬號或者管理員用戶名對用戶進行查詢。進貨出貨功能:可以對貨物的數(shù)量進行修改。缺貨提示:當貨物的數(shù)量小于50件時在主頁面會為管理員進行提示已缺貨。更改密碼功能:當某個管理員登錄系統(tǒng)后可以更改自己的密碼。2.2.2系統(tǒng)的用類‘圖2-2類圖',類圖說明:

DBConnectionurlusernamepassword商品(shop)商品號(Sid)商品品牌(Ssign)商品名稱(sname)進價(Sinprice)賣價(Soutprice)貨物數(shù)量(Snum)+登陸系統(tǒng)()+增加商品()+刪除過時商品()+修改商品信息()+查詢商品信息()+商品詳細信息()+缺貨提示()管理PageUtilpageSizerecordCountcurrentPage+getConnection()+closeConnection()+closeStatement()+closeResultSet()管理員(User)管理人員ID(Uid)管理員賬號(uname)管理員密碼(upassword)+增加管理員()+修改管理員信息()+刪除管理員信息()ShopDAO+get()+update()+delete()+save()+quickSeach()+upNumIn()+PageUtil()+getRecordCount()+getCurrentPage()+setCurrentPage()+getNextPage()+getPrePage()+getPageSize()+getPageCount()+getFromlndex()卜getToIndex()UserDAO+queryAll()+delete()+save()+quickSeach()+login()+updatePassword()+UserModel()圖2-2類圖類的詳細說明:商品類:屬性:商品編號:商品編號是用來確定商品唯一性的。商品數(shù)量:說明商品的庫存量。商品名稱:說明商品的名稱。方法:登錄系統(tǒng):用于驗證管理身份。增加商品:用于增加系統(tǒng)內(nèi)沒有的商品信息。刪除商品:倉庫沒有的商品信息。修改商品:用于修改商品的具體信息。進貨:用于只對要增加貨物量的商品進行操作。出貨:用于只對要減少貨物量的商品進行操作。缺貨提示:當商品數(shù)量低于10后會在主頁上提示缺貨。管理員類:屬性:管理員ID:該屬性是自動增長型,具有唯一性。管理員賬號:用于登錄時的賬號。管理員名稱:該屬性和賬號一起可以識別唯一的管理員。管理員密碼:用于登錄時和賬號一起用于身份驗證。方法:增加管理員:可以賦予沒有權限的人管理權限。刪除管理員:可以刪除不存在的管理員。2.2.3狀態(tài)圖(圖2-3狀態(tài)圖):圖2-3狀態(tài)圖2.2.4時序圖(圖2-4時序圖):圖2-4時序圖第三章設計說明書引言系統(tǒng)概要及其運行環(huán)境軟件詳細設計階段是軟件設計的重要階段,本階段的工作就是要對系統(tǒng)中的每個模塊給出足夠詳細的過程性描述,因此也稱為“過程設計”。詳細設計的根本目的就是確定應該怎樣具體實現(xiàn)所需求的系統(tǒng),也就是說經(jīng)過這一階段的設計,會得出對學生選課系統(tǒng)的精確描述。其根本任務就是設計出程序的“藍圖”系統(tǒng)的組成部分及其結構本系統(tǒng)分為四大模塊,即用戶管理模塊、出庫模塊、入庫模塊、庫存管理模塊。管理員模塊可分為普通用戶模塊和管理員模塊,庫存管理模塊包括查詢模塊和修改模塊。詳細操作請見類圖參考資料軟件工程——原理,方法和工具Java核心思想軟件設計約束本系統(tǒng)采用JavaUI技術,基本上沒有什么平臺約束。在數(shù)據(jù)庫方面,需要創(chuàng)建本地數(shù)據(jù)源。設計目標和原則本設計欲達到的目標:能夠使用戶簡單快捷的完成商品出庫和入庫的功能及庫存管理功能。系統(tǒng)的性能達到高效,實用,易于維護。為實現(xiàn)上述目標,在設計軟件過程中采用UML繪圖來描述整個系統(tǒng),利用前人的專家級經(jīng)驗,提高開發(fā)效率。設計約束(1)無論是普通用戶還是管理員,都可以在本地訪問該系統(tǒng)。完成各自授權的活動和工作。(2)該系統(tǒng)采用C/S模式,并且考慮性能、安全、可靠性、易用、可擴展和可維護。(3)整個開發(fā)過程應滿足軟件需求分析的進度要求所規(guī)定的時間。軟件設計描述總體結構設計本系統(tǒng)由以下幾個功能模塊組成:用戶管理模塊匯總:(1)添加普通用戶信息(僅管理員可以使用,可以添加用戶到數(shù)據(jù)庫中)(2)管理普通用戶信息(僅管理員可以使用,可以對普通用戶進行修改刪除等操作)庫存管理模塊匯總(1)查詢?nèi)霂煨畔ⅲㄆ胀ㄓ脩羰褂?,對自己入庫的商品進行查詢操作)(2)查詢出庫信息(普通用戶使用,對所出庫的商品進行相關操作)(3)所有庫存信息(對所有商品信息進行查詢)詳細結構設計

用戶用戶管理商品出入庫主界面>?退出系統(tǒng)用戶用戶管理商品出入庫主界面>?退出系統(tǒng)庫存管理圖3-1倉庫管理系統(tǒng)順序圖3.4系統(tǒng)界面設計描述當用戶啟動程序后真接顯示主界面,在主界面中有'用戶管理','商品入庫','商品出庫'‘庫存管理'以及退出系統(tǒng)。當用戶在未登錄的狀態(tài)下執(zhí)行任何操作時系統(tǒng)會自動判斷是否已經(jīng)登錄,若用戶還沒有登錄則顯示登錄界面,讓用戶進行登錄。若登錄的帳號不存在則表示該用戶還不是員工,故需要用戶重新申請新的用戶,新用戶的類型為普通員工,當普通用戶已經(jīng)通過管理員審核,并且分配了相關的權限后就可以登錄系統(tǒng)。若用戶是管理員則該用戶可以對普通用戶進行相關的修改和刪除,而且還可以修改、查詢、刪除庫存表及商品出入庫表中的相關信息。若用戶是普通員工則只能進行商品的出入庫及查詢。3.4.1登錄界面設計用戶通過輸入登錄的賬號和密碼及類型系統(tǒng)進行驗證3.4.1登錄界面設計用戶通過輸入登錄的賬號和密碼及類型系統(tǒng)進行驗證圖3-2用戶登錄界面3.4.2商品出入庫界面設計F3口口扁右商品呂稱入庫數(shù)墾入庫人.?爰庫時間|112345567234旺旺小謾頭1Q05821485621...2011-10^3;出庫編號商口口歸方商品名鍬出庫數(shù)量出庫人出庫時聞112345567234旺旺小慢頭250-5321485621...2011-10:25...[商品名稱商品數(shù)量出庫圖3-3商品出入庫界面設計3.4.3庫存界面設計圖3-4庫存界面設計3.5數(shù)據(jù)庫設計數(shù)據(jù)庫名:StoreHouseDB用戶表:Users主鍵:員工號商品入庫表:InStore主鍵:入庫編號商品出庫表:OutStore主鍵:出庫編號庫存表:StoreManage主鍵:商品編號3.5.1建表下面具體給出各個表表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)入庫時間Datetime()表3-3OutStrore列名屬性出庫編號Int商品編號Varchar(20)商品名稱Varcahr(50)出庫數(shù)量Int出庫人Varchar(13)出庫時間Datetime()表3—4StoreManage列名屬性商品編號Varchar(20)商品名稱Varchar(50)庫存量Int第四章系統(tǒng)相關代碼4.1登錄界面(主要代碼)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;}else{error.errorDialog((String)id);}}catch(Exceptione){e.printStackTrace();}returnflags;}//根據(jù)‘工號'分別獲取對應的的信息publicvoidgetInfo(Stringuid){try{fromStringsql2="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();}}//對登錄的'工號'進行密碼驗證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.noEmplo0y(UID);returnisE;}returnisE;}4.2出庫界面(主要代碼)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;}else{returnflags;}}catch(Exceptione){e.printStackTrace();}returnflags;}//判斷庫存表中的庫存量是否滿足出庫的笨條件publicbooleanlookNumber(Stringgid,intnumber){booleanflags=false;try{intnum=0;Stringsql4="select庫存量fromStoreManagewhere商品編號=?";?7PreparedStatementps=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ù)量,出庫人,出庫時間)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;}4.3入庫界面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){tryStringsql3="insertintoInStore(商品編號,商品名稱,入庫數(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!沒有注意到出庫表會存在多條相同的記錄//向入庫表模型中添加一條入庫記錄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();}}4.4庫存管理界面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.setTitie(“天涯倉庫管理");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.setGridColor(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);//dtm1.addTableModelListener(jtable);this.add(pane1);this.add(jp1);this.show();}publicbooleanUpdateStoreDate1(Stringgoodid,Stringgoodname,intgoodnum){booleanflags=false;tryStringSql3="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;第五章測試計劃報告5.1.引言5.1.1目的本軟件是用來有效的管理超市倉庫貨物數(shù)量及種類,以方便超市工作人員可以全面的了解超市倉庫庫存貨物數(shù)量和種類來方便高效的管理超市倉庫。該項目可行性研究報告也是對超市倉庫管理系統(tǒng)的全面考慮,是項目分析員進行進一步工作的前提,是軟件開發(fā)人員成功的開發(fā)項目的前提.此分析研究報告可以使軟件開發(fā)團體盡可能早的估計研制課題的可行性,可以在定義階段較早的認識到系統(tǒng)方案的缺陷,可以節(jié)省時間、財力和精力,并且避免了專業(yè)方面的困難.及早地預測項目的可行性,在可行的前提下獲得最好的實施方案。5.1.2背景隨著社會的不斷發(fā)展,物質(zhì)的不斷豐富,為了滿足人們的需求,超市的貨物也是越來越豐富。為了方便超市管理人員及時有效的了解倉庫情況,更好的管理超市貨物,提高管理效率,從而提出本軟件。系統(tǒng)名稱:超市倉庫管理系統(tǒng)。5.1.3測試環(huán)境測試的重點是選課管理系統(tǒng)的選課功能和登錄界面的功能。5.1.4測試過程及結果根據(jù)需求分析文檔,設計測試用例,填寫預期結果,在測試時,填寫實際結果。5.1.5參考資料[1]李東生、崔冬華等編著的《軟件工程—原理、方法和工具》5.1.6術語①c/.s:客戶端/服務器。5.2測試內(nèi)容5.2.1測試名稱給出第N項測試的名稱(N為測試序號)5.2.2測試進度給出測試的日期和工作內(nèi)容的詳細安排5.2.3測試人員給出測試負責人和所有參加測試的單位及負責人5.2.4測試用例重點給出輸入數(shù)據(jù),輸出結果,及測試步驟5.2.5評價說明所選擇的測試用例能夠檢查的范圍和局限性5.2.6附錄列出測試用例清單,分別標志每個測試用例并給出驅(qū)動程序清單等實驗過程5.3.1登錄界

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論