




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 學習報告封皮格式不允許修改,分數(shù)5分軟件工程課程名稱不是教材名稱: 超市管理系統(tǒng)題目名稱: 學生姓名: 學號: 課程成績: 二零一六 年 十二 月目 錄1 前言11。1 系統(tǒng)的背景及開發(fā)意義11。2 系統(tǒng)的開發(fā)環(huán)境及工具12 系統(tǒng)需求分析22。1 系統(tǒng)功能需求分析22.1。1用戶分析需求描述22。1.2 系統(tǒng)功能分析建模22.2 系統(tǒng)數(shù)據(jù)需求分析32.2。1系統(tǒng)數(shù)據(jù)信息描述32。2.2系統(tǒng)數(shù)據(jù)分析建模42.3 其他需求分析53 系統(tǒng)總體設計73。1 整體架構設計73。2 系統(tǒng)總體結構設計73.3 系統(tǒng)數(shù)據(jù)庫設計84 系統(tǒng)詳細設計及編碼實現(xiàn)134.1 公共模塊的設計與實現(xiàn)134。1。1 公共模
2、塊的功能134。1.2 員工管理模塊134。2超市管理系統(tǒng)首頁134。3超市管理系統(tǒng)登錄模塊144。4商品管理155 系統(tǒng)測試 195.1 測試的目的及技術195。1 測試概述195.2 系統(tǒng)測試191 前言5分1。1 系統(tǒng)的背景及開發(fā)意義(1) 系統(tǒng)背景介紹隨著超市的出現(xiàn),為實現(xiàn)超市管理的系統(tǒng)化、規(guī)范化和自動化,超市管理系統(tǒng)應運而生.它依靠現(xiàn)代化的計算機信息處理技術來管理超市,這能夠快速反映出商品的進銷存狀況和各種反饋信息分析,使管理人員快速對市場的變化做出相應決策,加快超市的系統(tǒng)建立的技術基礎;為超市提供方便,快捷的結賬體系,準確,高效的庫存和財務管理系統(tǒng)等; 讓顧客在超市購物更加快捷方便
3、,讓超市的管理和運行工作更加完善,方便。(2)系統(tǒng)開發(fā)的意義使用最少的人力,來完成超市中的日常工作。1.2 系統(tǒng)的開發(fā)環(huán)境及工具(1)系統(tǒng)開發(fā)的環(huán)境硬件:西數(shù) ( 1 TB / 7200 轉/分 )硬盤 、8GB ( DDR3 1333MHz )內(nèi)存軟件:Windows 7 旗艦版 64位 SP1 (2)系統(tǒng)開發(fā)的工具系統(tǒng)采用myeclipse10、SQL Server 2008數(shù)據(jù)庫開發(fā)工具、C/S結構。下面對開發(fā)中采用的工具進行說明:1 MyEclipse簡介MyEclipse,是在eclipse 基礎上加上自己的插件開發(fā)而成的功能強大的企業(yè)級集成開發(fā)環(huán)境,主要用于Java、Java EE
4、以及移動應用的開發(fā)。MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持相當不錯.2 SQL Server 2008數(shù)據(jù)庫簡介SQL Server 2008 在Microsoft的數(shù)據(jù)平臺上發(fā)布,可以組織管理任何數(shù)據(jù)??梢詫⒏鞣N文檔的數(shù)據(jù)直接存儲到數(shù)據(jù)庫中.可以對數(shù)據(jù)進行多種操作。這個平臺具有可信任、高效、智能三大特點。3 B/S結構簡介B/S結構(Browser/Server,瀏覽器/服務器模式),是WEB興起后的一種網(wǎng)絡結構模式,WEB瀏覽器是客戶端最主要的應用軟件.這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務器上,簡化了系統(tǒng)的開發(fā)、維護和使用。客戶機上
5、只要安裝一個瀏覽器(Browser英 'braz美 'braz),如Netscape Navigator或Internet Explorer,服務器安裝SQL Server、Oracle、MYSQL等數(shù)據(jù)庫。瀏覽器通過Web Server 同數(shù)據(jù)庫進行數(shù)據(jù)交互。2 系統(tǒng)需求分析2.1 系統(tǒng)功能需求分析2。1.1用戶分析需求描述需求描述10分(1)該系統(tǒng)管理軟件可以對庫存食品進行資料管理和統(tǒng)計,對產(chǎn)品的進貨和銷售進行錄入跟統(tǒng)計。(2)該系統(tǒng)管理軟件可以對管理員密碼進行修改。(3)該系統(tǒng)管理軟件可以對供應商進行添加,管理;當庫存不足是,可以即時的打電話,及時的供貨.當庫存過多時,可
6、以顯示出來。2.1.2 系統(tǒng)功能分析建模功能模型12分本系統(tǒng)采用數(shù)據(jù)流圖的模型工具建模.(1)數(shù)據(jù)流圖(DFD)的介紹數(shù)據(jù)流圖簡稱DFD圖,是SA方法中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,它只反映系統(tǒng)必須完成的邏輯功能,是一種功能模型。本系統(tǒng)用自定向下方法,其模塊功能主要有以下幾個部分:員工管理模塊、庫存管理模塊、進貨管理模塊、銷售管理模塊、商品信息管理模塊和系統(tǒng)模塊,具體功能如下:員工管理:是對超市的員工和供貨商信息進行管理,包括查詢、添加、刪除和修改。進貨管理:是根據(jù)超市的情況,進行進貨,并可以查詢.庫存管理:是對進貨和銷售的商品,根據(jù)庫存量進行
7、記錄。銷售管理:是對銷售的商品進行查詢。商品信息:是對新商品進行添加,并查詢。系統(tǒng)管理:能夠對供貨商的信息進行添加和查詢。2.2 系統(tǒng)數(shù)據(jù)需求分析數(shù)據(jù)模型12分2。2。1系統(tǒng)數(shù)據(jù)信息描述本系統(tǒng)的數(shù)據(jù)信息有商品信息表、員工信息表、學歷表、商品退貨登記表、商品進貨登記表、員工銷售業(yè)績表。商品信息表 :銷售編號、銷售流水號、商品編號、銷售價格、銷售數(shù)量、銷售總價、銷售時間、售貨員編號。員工信息表 :員工編號、員工姓名、員工密碼、員工性別、員工生日、員工學歷、員工電話、員工手機、員工身份證、員工郵箱、員工住址;學歷表 :學歷編號、學歷名稱;商品退貨登記表 : 退貨編號、商品編號供貨商名稱、單價、數(shù)量、
8、總價、退貨日期、退貨原因、退貨加入日期;商品進貨登記表 : 進貨編號、商品編號、供貨商名稱、單價、數(shù)量、總價、進貨日期、信息加入日期;員工銷售業(yè)績表 : 員工編號、員工姓名、銷售業(yè)績;庫存信息表 :商品編號、庫存數(shù)量;顧客退貨信息表 :銷售編號、銷售流水號、商品編號、銷售價格、銷售數(shù)量、銷售總價、顧客退貨原因、顧客退貨時間;供貨商信息表 :供應商名稱、供應商法人代表、供應商電話、供應商地址。2。2。2系統(tǒng)數(shù)據(jù)分析建模(1) 實體-關系模型建立員工商品銷售進貨編號姓名性別身份證號籍貫銷售單號編號商品名稱價格數(shù)量銷售日期生日學歷層次手機號碼郵件地址居住地址編號商品名稱進貨價進貨數(shù)量進貨總價進貨日期
9、添加時間編號單位名稱類別規(guī)格售價商品產(chǎn)地電話地址型號附加信息供貨商法人代表公司名稱退貨編號價格數(shù)量原因總價日期實體-關系模型簡記E-R圖是指以實體、關系、屬性三個基本概念概括數(shù)據(jù)的基本結構,從而描述靜態(tài)數(shù)據(jù)結構的概念模式。2.3 其他需求分析6分(1)系統(tǒng)性能需求分析1 數(shù)據(jù)精確度需求:商品的進貨和銷售中,單價、金額都是保留至小數(shù)點后兩位2 響應時間需求:無論是客戶端和服務端,當用戶登錄進行操作時,系統(tǒng)反應的時間應在5秒以內(nèi)。系統(tǒng)應能及時反映各種非正常情況,避免用戶出現(xiàn)長時間等待甚至系統(tǒng)無響應。3 用戶使用性需求 :界面設計易于操作,在用戶使用時在客戶端服務器端進行驗證,并提示用戶輸入正確數(shù)據(jù)
10、和正確的操作系統(tǒng).4 安全保密性需求:每個用戶都有權限設置,對用戶的登錄密碼進行加密設置,非本系統(tǒng)用戶不能登錄使用。5 操作性需求:支持Windows2000及以上的操作系統(tǒng),設計連接SQL Server數(shù)據(jù)庫。(2)系統(tǒng)輸入/輸出需求分析符合精度的設定,數(shù)據(jù)的輸入輸出都應該為數(shù)字、字母及漢字,不應該含有字符形式。(3)系統(tǒng)錯誤處理需求分析1 數(shù)據(jù)庫存儲空間不夠,引起數(shù)據(jù)庫訪問變慢等問題需要對磁盤進行擴展和維護。2 執(zhí)行程序非正常退出,響應確實,修改源代碼前應備份。3 數(shù)據(jù)庫沒啟動引起訪問問題,須啟動數(shù)據(jù)庫服務器。3 系統(tǒng)總體設計3.1 整體架構設計5分根據(jù)系統(tǒng)所需功能,決定以Windows作
11、為開發(fā)平臺,采用B/S模式,選擇myeclipse10作為開發(fā)工具,利用軟件工程思想和方法,用面向對象的語言Java開發(fā),數(shù)據(jù)庫采用開源免費的Mysql。本系統(tǒng)具有進貨管理、銷售管理、員工管理,并對超市銷售情況智能給出建議。模塊功能主要有以下幾個部分:員工管理模塊、庫存管理模塊、進貨管理模塊、銷售管理模塊、商品信息管理模塊和系統(tǒng)模塊3。2 系統(tǒng)總體結構設計10分(1)系統(tǒng)分成幾個獨立的模塊,并對其進行集中式管理,更能清晰的表現(xiàn)出超市管理的系統(tǒng)結構,使得系統(tǒng)一目了然,簡便,便于員工的接受,對超市管理系統(tǒng),增加了它的易操作性。(2)分層的模塊化程序設計思想,系統(tǒng)采用分層的模塊化結構設計,具有較強的
12、可操作性和擴展性,這樣更具有邏輯性,分層以后,使得超市管理系統(tǒng)更加的簡便,易使用.(3) 系統(tǒng)功能結構圖超市管理系統(tǒng)商品信息管理員工信息管理商品進貨管理商品銷售管理商品庫存管理添加商品類別商品信息維護添加商品信息添加員工信息員工信息維護商品進貨登記商品進貨查詢進貨退貨登記進貨退貨查詢商品銷售查詢員工業(yè)績查詢顧客退貨辦理商品退貨查詢商品庫存查詢商品庫存報警商品庫存盤點供應商管理3。3 系統(tǒng)數(shù)據(jù)庫設計10分本系統(tǒng)的數(shù)據(jù)庫名稱是Csgl.mdf,里面包含8個表,下面將對這些表格一一介紹.1用戶(admin)中文字段名英文字段名字段類型主鍵允許空賬號adminUsernameVarchar(20)P/
13、F否密碼adminPasswordVarchar(20)否說明:此表存放管理員用戶信息。2。供貨商(supplierInfo)中文字段名英文字段名字段類型主鍵/外鍵允許空供應商公司名稱SupplierNameNvarchar(50)否供應商法人代表supplierLawyernvarchar(4)是供應商電話supplierTelephoneVarchar(11)是供應商地址supplierAddressNvarchar(50)是說明:此表存放供貨商信息。3.員工(employeeInfo)中文字段名英文字段名字段類型主鍵/外鍵允許空員工編號employeeNoVarchar(20)否員工姓名
14、employeeNameNvarchar(20)是登錄密碼employeePasswordVarchar(30)是性別employeeSexNchar(1)是生日employeeBrithdaydatetime是學歷層次employeeEducationIdint是家庭電話employeeHomeTelVarchar(20)是手機employeeMobileVarchar(20)是身份證employeeCardVarchar(20)是郵件地址employeeEmailVarchar(20)是居住地址employeeAddressNvarchar(80)是說明:此表存放員工信息。4.供應商退貨清
15、單(buyBackInfo)中文字段名英文字段名字段類型主鍵/外鍵字段約束值輸入商品編號BuyBackIdintP否退貨價格goodNoVarchar(20)是數(shù)量numberVarchar(50)是進貨總價totalPricefloat是退貨日期buyBackDateint是退貨原因buyBackReasonfloat是退貨當前日期buyBackAddTimedatetime是說明:此表存放供應商退貨信息。5.商品銷售(sellInfo)中文字段名英文字段名字段類型主鍵/外鍵允許空單據(jù)號sellInfoIdintP否商品編號sellNoVarchar(30)否商品名稱goodNoVarcha
16、r(20)是價格Pricefloat是數(shù)量NumberInt是出售時間sellTimedatetime是說明:此表存放銷售信息。6。商品(goodInfo)中文字段名英文字段名字段類型主鍵/外鍵允許空商品編號GoodNoVarchar(20)P否商品類別goodClassIdInt是商品名稱goodNameNvarchar(20)否商品單位goodUnitNvarchar(30)否商品型號goodModelNvarchar(2)是商品規(guī)格goodSpecsNvarchar(20)是商品售價goodPriceFloat是商品產(chǎn)地goodPlaceNvarchar(50)是附加信息goodMemo
17、Char(10)是商品添加時間goodAddTimeDatetime是說明:此表存放商品信息。7.商品進貨表(buyInfo)中文字段名英文字段名字段類型主鍵/外鍵允許空商品編號ouyIdIntP否商品名稱goodNoVarchar(20)是供應商supplierNameNvarchar(50)是商品進貨價格PriceFloat是商品進貨數(shù)量NumberInt是進貨總價totaPriceFloat是進貨日期buyDateDatetime是添加時間addTimeDatetime是說明:此表存放進貨信息8。商品庫存表(goodStockInfo)中文字段名英文字段名字段類型主鍵/外鍵允許空商品編號
18、GoodNoVarchar(50)否庫存數(shù)量goodCountInt是4 系統(tǒng)詳細設計及編碼實現(xiàn)20分4.1 公共模塊的設計與實現(xiàn)4。1。1 公共模塊的功能系統(tǒng)登錄功能:該模塊是提供管理員和員工的登錄,只有輸入正確的用戶名和密碼才能進入系統(tǒng)。4。1。2 員工管理模塊為了解決超市人員流動問題,我們增添了員工管理模塊,用來對新員工信息進行添加,員工信息維護。新員工錄入:在超市招新員工時,對員工基本信息進行錄入并存儲。員工信息的修改:當員工登錄密碼忘記了的時候,可以對員工內(nèi)的登錄密碼進行修改。員工信息維護:可以對員工一段期間的銷售業(yè)績進行查詢。4.2超市管理系統(tǒng)首頁當session中不存在user對
19、象時,則表示用戶沒有登錄,重定向到登錄頁面。當session中存在user對象時,則顯示歡飲您xxx<c:if test=”$user!=null"> 歡迎您 $user.username <a href=”/logout"退出/a></c:if<c:if test="$user=null”<c:redirect url="login” /</c:if>未登錄已登錄4。3超市管理系統(tǒng)登錄模塊前端加javascript代碼驗證用戶名和密碼是否為空,假如為空則無法提交表單。只有當用戶名和密碼都不為空時才可
20、以提交表單,然后到后臺驗證正確性。但假如用戶的瀏覽器禁用了javascript,則前端的驗證無效,傳到后臺的用戶名和密碼可能為空,所以在后臺要注意避免空指針異常。后臺驗證:從user表中根據(jù)前臺輸入的用戶名和密碼查詢獲得User對象,假如User為空則表示用戶名或則密碼錯誤,User不為空則表示登錄成功.訪問數(shù)據(jù)庫是由hibernate完成的,所以不需要考慮sql注入.UserDao類根據(jù)用戶名(username)和密碼(password)從數(shù)據(jù)庫中獲得User對象代碼Overridepublic User find(String name, String password) Session
21、session = sessionFactory.getCurrentSession();String hql = "from User as user where user.username=:name and user.password=:password”;Query query = session。createQuery(hql);query。setString("name", name);query.setString(”password", password);List?> list = query。list();return list
22、。size()=0?null:(User)list。get(0);Hibernate查詢后臺展現(xiàn)的的sql語句Hibernate: select user0_.id as id0_, user0_。password as password0_, user0_.username as username0_ from _user user0_ where user0_.username=? and user0_。password=?4.4商品管理商品管理也面分為顯示和添加,當session中沒有user時,表示用戶沒登錄,應該重定向到登錄頁面。假如已登錄則看以看到管理頁面.4.4。1顯示從數(shù)據(jù)庫商
23、品表中取出所有已有商品,在瀏覽器中以表格顯示.商品過多可以采用分頁顯示。后臺數(shù)據(jù)庫記錄顯示頁面從數(shù)據(jù)庫中取出所有商品,并保存到list集合中,然后在jsp頁面中展現(xiàn)。GoodsDao類的查詢所有商品Overridepublic ListGoods getList() Session session = sessionFactory。getCurrentSession();String hql = ”from Goods as goods”;Query query = session.createQuery(hql);return query.list();Hibernate查詢后臺展現(xiàn)的的sq
24、l語句Hibernate: select goods0_.id as id1_, goods0_。amount as amount1_, goods0_。name as name1_, goods0_。price as price1_ from _goods goods0_4。4。2添加添加時要判斷添加的格式是否符合要求,價格和數(shù)量必須是數(shù)字,不是數(shù)據(jù)要提示輸入錯誤。同樣在前端用javascript驗證,在后臺還是要驗證一下。將從前臺傳過來的price和amount用正則表達式驗證或者用Java的類Integer.praseInt(String )方法將得到的字符串轉成int型,假如出現(xiàn)異常(
25、說明格式錯誤)則表示輸入有誤,通知用戶。double price = Double.parseDouble(formGoods。getPrice();int amount = Integer。parseInt(formGoods.getAmount();GoodsDao類添加商品Overridepublic void add(Goods goods) Session session = sessionFactory。getCurrentSession();String hql = "from Goods as goods where =:name”;Query q
26、uery = session。createQuery(hql);query.setString("name", goods.getName();List?> list = query.list();if(list。size() != 0) double price = goods。getPrice();goods = (Goods) list。get(0);goods.setPrice(price);session。save(goods);輸入的價格不是數(shù)字數(shù)據(jù)庫中的數(shù)據(jù)假如商品名稱存在不應該添加商品,而是更新商品數(shù)據(jù).還要防止表單重復提交。用戶在提交后的頁面上點刷新時,就會產(chǎn)生表單重復提交問題,可以在產(chǎn)生表單給表單一個id,并將id保存到session中,當提交后將表單的id從session清除掉,想再次提交時從session中找不到id就不予提交.由于本系統(tǒng)用到了struts2,可以用struts2的s:token />標簽防表單重復提交。5 系統(tǒng)測試 10分5.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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南環(huán)境生物職業(yè)技術學院《ntroductontoMarketng》2023-2024學年第二學期期末試卷
- 運城師范高等??茖W?!渡鐣喿x》2023-2024學年第二學期期末試卷
- 上海師范大學天華學院《展具設計》2023-2024學年第二學期期末試卷
- 中山職業(yè)技術學院《工程流體學》2023-2024學年第二學期期末試卷
- 贛西科技職業(yè)學院《跨文化商務交際導論》2023-2024學年第二學期期末試卷
- 泉州經(jīng)貿(mào)職業(yè)技術學院《高分子材料加工理論基礎》2023-2024學年第二學期期末試卷
- 哈爾濱傳媒職業(yè)學院《體育概論》2023-2024學年第二學期期末試卷
- 廣東江門幼兒師范高等??茖W?!缎畔⑴c知識獲取》2023-2024學年第二學期期末試卷
- 邢臺應用技術職業(yè)學院《戲曲戲劇鑒賞選修》2023-2024學年第二學期期末試卷
- 遂寧工程職業(yè)學院《家庭社會工作》2023-2024學年第二學期期末試卷
- 幼兒園中班語言《拼小人》課件
- 侵權責任法教程完整版ppt全套教學教程課件(最新)
- 勞務派遣公司介紹ppt課件(PPT 35頁)
- 紀檢監(jiān)察機關派駐機構工作規(guī)則PPT
- 最全麥當勞員工手冊
- 潔凈室管理培訓
- 晶體學之晶體的宏觀對稱PPT課件
- 質量管理體系過程識別矩陣圖及與條款對照表
- 加班調休單(最新版)
- 智慧金字塔立體篇第四冊、第五冊答案全解
- 導論公共財政學概論.ppt
評論
0/150
提交評論