




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 課 程 設 計課程名稱: JAVAEE/.NET課程設計 設計題目: 校園超市商品信息管理系統 學 院: 信息工程與自動化學院 專 業: 計算機科學與技術 年 級: 2011年級 學生姓名: 指導教師: 日 期: 2014-6-302014-7-11 教 務 處 制 課 程 設 計 任 務 書信息工程與自動化 學院 計算機科學與技術 專業 2011 年級學生姓名: 張建興 課程設計題目: 校園超市商品信息管理系統 課程設計主要內容: 本次課程設計自主完成一個系統,題目學生自定。我設計的是一個校園超市商品信息管理系統,是一個小型系統,適用于一些小型超市,對庫存商品,售出商品,日常業務進行管理。
2、主要采用jsp+servlet+數據庫配合的方式工作。Jsp負責頁面顯示,servlet處理邏輯業務,后臺數據庫采用mysql數據庫。用到連接數據庫,對數據庫的操作,servlet跳轉,實現部件之間的合作,前臺(jsp)獲取并顯示后臺(數據庫)數據,或者后臺(數據庫)獲取并存儲前臺數據。設 計 指 導 教 師 (簽字): 教學基層組織負責人(簽字): 年 月 日摘 要本次課程設計題目有學生自定,學生可以受日常學習生活啟發來設計一個系統。這次課程設計主要要求學生掌握javaEE網絡編程,老師要求學生自主完成規模不限的系統,自定題目,自主設計。對于這次課程設計,我把它當做一次實踐的機會,設計過程中
3、希望通過跟同學討論,提問老師等方式使自己得到提升,畢竟平時自己一個人琢磨很難解決一些問題,也很難提高技巧。之前對于MVC編程方法的邏輯不是那么清晰,很難銜接好各個層之間的接口。如果時間足夠,希望這一次通過各種方法,在采用MVC的編程思想的前提下,自己完成一個完整的系統。這一次我自主設計并完成了校園超市商品信息管理系統,旨在復習javaEE/.net的知識,并從這一次實踐中獲得技術的提升。熟練編程中的一些技巧和編程中常見的錯誤每個校園內都會有好幾個小型的超市,雖然說是小型,但也提供了上萬學生日常所需的任何商品,在我印象中在校園里的超市能找到你所需要的一切。超市的商品肯定很多,零零碎碎很繁雜,難管
4、理,所以一個管理超市商品信息和業務的系統根由必要。可以減輕店員的工作量,提高效率。 超市商品信息管理系統是一個規劃管理超市商品的價格,庫存,利潤和日常的一些業務的一個小型系統,適用于一些小型超市。它包括三個主要功能:庫存商品管理,售出商品管理和日常業務管理。在這三大功能下又各自包括對商品的添加,查詢和刪除等功能。是一個小型,便捷地系統。關鍵字:超市,管理商品,業務,功能 目 錄摘 要3第一章 系統概述11.1 課程設計背景11.2 開發工具及相關技術11.2.1 Tomcat介紹11.2.2 MySQL介紹11.2.3 Eclipse簡介21.3 可行性分析21.3.1 技術可行性分析21.3
5、.2 經濟可行性分析21.3.3 操作可行性分析3第二章 需求分析32.1業務需求概述3第三章 系統設計43.1總體結構設計43.2系統數據庫設計4第四章 編碼實現5第五章 系統實現及操作說明20第六章 總結體會26致謝27參考文獻27第一章 系統概述1.1 課程設計背景我國超市形成于20世紀90年代初期,現在已經成為我國零售業的一種重要形態,為國民經濟的發展發揮了重要的作用。隨著超市高速的發展,其經營管理也變得愈加復雜,早期的超市商品管理形式不能滿足現有銷售也的發展,這樣就迫切地需要引入新的商品管理技術。超市形態具有種種優點,但在目前狀況下,它仍存在零售業企業所共有的落后的一面,如:不能有效
6、地管理每種商品,不宜進行商品調價,盤點效率低等,而且在超市日常管理中,商品的進、銷、存等決策以經驗為主,缺乏實時分析功能,管理人員對及時傳遞資料的要求始終得不到滿足。而且日常所需要處理的數據量也逐漸增大,商業運轉的中間環節也越來越多,原始的人工管理已無法應對這復雜的市場。因此,在選題過程中,我們小組選擇了超市商品管理系統設計題目,依靠現代化的計算機信息處理技術來管理超市,從而節省了大量的人力、物力,改善了員工的工作條件,減輕了勞動強度,并且能夠快速反映出商品的進、銷、存等狀況和各種反饋信息分析,使管理人員快速對市場的變化做出相應的決策,加快超市經營管理效率。1.2 開發工具及相關技術1.2.1
7、 Tomcat介紹Tomcat是由Apache軟件基金會下屬的Jakarta項目開發的一個Servlet容器,按照Sun Microsystems提供的技術規范,實現了對Servlet和JavaServer Page(JSP)的支持,并提供了作為Web服務器的一些特有功能,如Tomcat管理和控制平臺、安全域管理和Tomcat閥等。由于Tomcat本身也內含了一個HTTP服務器,它也可以被視作一個單獨的Web服務器。1.2.2 MySQL介紹MySQL是一個開放源碼的關系數據庫管理系統,是一個真正的多用戶、多線程SQL數據庫服務器。MySQL由于性能高、成本低、可靠性好、小巧、功能齊全、查詢迅
8、捷而且是免費的等優點,已經成為最流行的開源數據庫,被廣泛地應用在中小型網站中。1.2.3 Eclipse簡介Eclipse 是一個開放的、基于Java的可擴展開發平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發工具(Java Development Kit,JDK)。雖然大多數用戶很樂于將 Eclipse 當作 Java 集成開發環境()來使用,但 Eclipse 的目標卻不僅限于此。Eclipse 還包括插件開發環境(Plug-in Development Environment,PDE),這個組件
9、主要針對希望擴展 Eclipse 的軟件開發人員,因為它允許他們構建與 Eclipse 環境無縫集成的工具。由于 Eclipse 中的每樣東西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統一的集成開發環境而言,所有工具開發人員都具有同等的發揮場所。這種平等和一致性并不僅限于。盡管 Eclipse 是使用語言開發的,但它的用途并不限于 Java 語言;例如,支持諸如、等的插件已經可用,或預計將會推出。Eclipse 框架還可用來作為與軟件開發無關的其他應用程序類型的基礎,比如。基于 Eclipse 的應用程序的一個突出例子是 IBM Rational Software Arc
10、hitect,它構成了 IBM Java 開發工具系列的基礎。1.3 可行性分析1.3.1 技術可行性分析基于相對成熟的前臺開發工具eclipse,運用Flex開發前臺界面,其功能完全能夠滿足本系統的實現。使用java語言進行后臺編碼,運用面向對象的思想和設計模式進行開發,后臺使用簡單快捷的mysql數據庫,運用tomcat來部署整個程序。這些技術在當今時代都趨于成熟,并且運用廣泛,所以,本系統的實現在技術上是可行的。1.3.2 經濟可行性分析由于開發設備與人員都已聚齊,開發所用的成本主要是人力資源的支出。并且系統所發揮的作用是科學地管理數據,大大提高了管理效率,降低了工作人員的負擔,節省了管
11、理時間,所以,本系統的實現在經濟方面是可行的。1.3.3 操作可行性分析本系統功能模塊劃分明確,有較強可操作性;并具有規范化的工作界面,能夠讓用戶在很短的時間內掌握使用的方法。進入系統后,系統的界面人性化,規范化,而且很美觀,而該系統是大家熟悉的操作系統,對于那些有一般的計算機知識的人員就可以輕松上手。而整個超市管理系統采用最友好的交互界面,簡介明了,不需要太多的數據庫知識。第二章 需求分析2.1業務需求概述1、售貨業務售貨管理是企業生產經營活動中及其重要的一環,它關系到產品質量能否得到保證,生產是否能夠順利進行,采購成本能否得到有效控制等問題。企業現代管理理念中對企業的進貨管理提出新的要求;
12、企業進貨時對供貨商的選擇更見慎重,雙方不再是討價還價的買賣關系,而是一種相互依存的合作伙伴關系,并且還需要認識到企業產品質量要從采購抓起,這就關系到供方的供貨、服務質量。下面是進貨業務程序的主要內容:供貨商的情況調查:在實施采購之前,超市首先就要對市場上各大商品供貨商進行詳細的調查,了解公司的具體情況,評定企業的信譽級別和公司的市場口碑,做到準確無誤,采購順利。實施進貨計劃:根據供貨商檔案及評審結果,選定供貨商;生成訂貨單給選定的供貨商;雙方就價格、數量、質量等方面洽談磋商,直至簽訂合同;跟蹤合同執行,安排供貨進度和貨物運輸,做好驗收入庫工作。2、庫存業務:庫存管理是指在生產經營中為銷售和耗用
13、而存儲的各種資產。企業存貨不當都會增加不必要的費用:存貨過多將導致物資的積壓、存儲費用增加、流動資金周轉不利,并且過量的庫存會掩蓋管理不善的問題。存貨不足則影響企業的正常銷售活動。庫存管理的目標是需求最佳存貨數量,使庫存的成本總額最小化。其主要業務如下:產品入庫、出庫、盤庫等日常處理。科學合理地確定某庫存物資的庫存控制參數。如:最佳訂貨批量、最大庫存量、最佳缺貨量、最佳訂購周期等,進行嚴格的庫存控制工作。匯總統計各類庫存數據,反應和監督儲備資金占用及采購資金使用情況。3、銷售業務銷售對一個企業的生存和發展是至關重要的,它不再是傳統意義上的“賣東西”,它對外關系到企業產品、服務和企業形象等多方面
14、因素,對內涉及到銷售、庫存、財務等信息。此外信息化的高速發展為企業的銷售工作提出了新的挑戰,封閉意味著落后,超市要抓住時機,根據市場所需,引入現代化的銷售管理模式,實施企業的信息化、智能化銷售管理,才能使超市在激烈的市場競爭中立于不敗之地第三章 系統設計3.1總體結構設計系統流程圖 圖3-1系統流程圖3.2系統數據庫設計屬性名屬性類型備注產品名稱Text說明產品名稱產品價格Float說明產品價格庫存數量Int庫存產品數量商品編號Int商品代號表3-1庫存商品數據表圖3-2數據庫中的庫存商品表屬性名屬性類型備注商品名稱Text說明商品名稱商品編號Int商品代號售出數量Int已銷售商品數量售出獲利
15、Float售出所有商品數量的利潤表3-2售出商品數據表圖3-3數據庫中售出商品表截圖屬性名屬性類型備注商品編號Int售出商品的編號商品名稱Text售出商品的名稱商品數量Int售出商品的數量顧客姓名Text購買顧客姓名顧客地址Text購買商品顧客的地址表3-3業務數據表圖3-4數據庫中業務表截圖第四章 編碼實現 以下代碼只包含本系統部分關鍵代碼,完整代碼另附:(1) 數據庫連接類,內含連接數據庫的方法,還有各種對數據庫的操作的方法:Sqlbean:package ConnectionFactory;import java.sql.Connection;import java.sql.Driver
16、Manager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import shopValue.inShopBean;import shopValue.outShopBean;import shopValue.salesBean;public class sqlbean static Connection con;static PreparedStatement pr
17、e = null;static ResultSet rs;public sqlbean() System.out.println(kkk);try Class.forName(com.mysql.jdbc.Driver);con = DriverManager.getConnection(jdbc:mysql:/localhost:3306/shop, root, 636692);System.out.println(con); catch (Exception e1) e1.printStackTrace();public inShopBean searchStore_table(Strin
18、g sql, int id) inShopBean isb = new inShopBean();try new sqlbean();System.out.println(con + KKKK);pre = (PreparedStatement) con.prepareStatement(sql);pre.setInt(1, id);rs = pre.executeQuery();while (rs.next() isb.setId(rs.getInt(id);isb.setName(rs.getString(name);isb.setPrice(rs.getFloat(price);isb.
19、setNumber(rs.getInt(number); catch (SQLException e) e.printStackTrace();return isb;public int insertIntoStore_table(String sql, inShopBean isb) int count = 0;try new sqlbean();pre = (PreparedStatement) con.prepareStatement(sql);pre.setInt(1, isb.getId();pre.setString(2, isb.getName();pre.setFloat(3,
20、 isb.getPrice();pre.setInt(4, isb.getNumber();count=pre.executeUpdate(); catch (Exception e) e.printStackTrace();return count;public int getDelete(String sql, int id) int count = 0;try new sqlbean();pre = (PreparedStatement) con.prepareStatement(sql);pre.setInt(1, id);count = pre.executeUpdate(); ca
21、tch (SQLException e) e.printStackTrace(); finally try pre.close();con.close(); catch (SQLException e) e.printStackTrace();return count;public int getUpdateStore_table(String sql, inShopBean isb) int count = 0;try new sqlbean();pre = (PreparedStatement) con.prepareStatement(sql);pre.setInt(1, isb.get
22、Id();pre.setString(2, isb.getName();pre.setFloat(3, isb.getPrice();pre.setInt(4, isb.getNumber();count = pre.executeUpdate(); catch (SQLException e) e.printStackTrace(); finally try pre.close();con.close(); catch (SQLException e) e.printStackTrace();return count;public outShopBean searchSell_table(S
23、tring sql, int id) outShopBean osb = new outShopBean();try new sqlbean();pre = (PreparedStatement) con.prepareStatement(sql);pre.setInt(1, id);rs = pre.executeQuery();while (rs.next() osb.setId(rs.getInt(id);osb.setName(rs.getString(name);osb.setNumber(rs.getInt(number);osb.setLirun(rs.getFloat(liru
24、n); catch (SQLException e) e.printStackTrace();return osb;public salesBean searchBuseness_table(String sql, int id) salesBean sb = new salesBean();try new sqlbean();pre = (PreparedStatement) con.prepareStatement(sql);pre.setInt(1, id);rs = pre.executeQuery();while (rs.next() sb.setId(rs.getInt(id);s
25、b.setGoodsname(rs.getString(goodsname);sb.setNumber(rs.getInt(number);sb.setCsmname(rs.getString(csmname);sb.setCsmaddr(rs.getString(csmaddr); catch (SQLException e) e.printStackTrace();return sb;public List getStoreList(String sql) List list = new ArrayList();try new sqlbean();pre = (PreparedStatem
26、ent) con.prepareStatement(sql);rs = pre.executeQuery();while (rs.next() inShopBean isb = new inShopBean();isb.setId(rs.getInt(id);isb.setName(rs.getString(name);isb.setPrice(rs.getFloat(price);isb.setNumber(rs.getInt(number);list.add(isb); catch (SQLException e) e.printStackTrace(); finally try pre.
27、close();con.close(); catch (SQLException e) e.printStackTrace();return list;public List getsellList(String sql) List list = new ArrayList();try new sqlbean();pre = (PreparedStatement) con.prepareStatement(sql);rs = pre.executeQuery();while (rs.next() outShopBean osb = new outShopBean();osb.setId(rs.
28、getInt(id);osb.setName(rs.getString(name);osb.setNumber(rs.getInt(number);osb.setLirun(rs.getFloat(lirun);list.add(osb); catch (SQLException e) e.printStackTrace(); finally try pre.close();con.close(); catch (SQLException e) e.printStackTrace();return list;public List getBusenessList(String sql) Lis
29、t list = new ArrayList();try new sqlbean();pre = (PreparedStatement) con.prepareStatement(sql);rs = pre.executeQuery();while (rs.next() salesBean sb = new salesBean();sb.setId(rs.getInt(id);sb.setGoodsname(rs.getString(goodsname);sb.setNumber(rs.getInt(number);sb.setCsmname(rs.getString(csmname);sb.
30、setCsmaddr(rs.getString(csmaddr);list.add(sb); catch (SQLException e) e.printStackTrace(); finally try pre.close();con.close(); catch (SQLException e) e.printStackTrace();return list;(2) 三種商品的值類,內含set和get方法,對數據進行設置和獲取操作: Inshopbean:package shopValue;public class inShopBean private String name; priva
31、te float price; private int number; private int id; public inShopBean() public inShopBean(String name,float price,int number,int id) =name; this.price=price; this.number=number; this.id=id; public String getName() return name; public void setName(String name) =name; public float ge
32、tPrice() return price; public void setPrice(float price) this.price=price; public int getNumber() return number; public void setNumber(int number) this.number=number; public int getId() return id; public void setId(int id) this.id=id; Outshopbean:package shopValue;public class outShopBean private St
33、ring name; private float lirun; private int number; private int id; public outShopBean() public outShopBean(String name,float lirun,int number,int id) =name; this.lirun=lirun; this.number=number; this.id=id; public String getName() return name; public void setName(String name) =nam
34、e; public float getLirun() return lirun; public void setLirun(float lirun) this.lirun=lirun; public int getNumber() return number; public void setNumber(int number) this.number=number; public int getId() return id; public void setId(int id) this.id=id; Salesbean:package shopValue;public class salesB
35、ean private String goodsname; private String csmname; private String csmaddr; private int number; private int id; public salesBean() public salesBean(String csmname,String goodsname,int number,int id,String csmaddr) this.goodsname=goodsname; this.csmname=csmname; this.csmaddr=csmaddr; this.number=nu
36、mber; this.id=id; public String getGoodsname() return goodsname; public void setGoodsname(String goodsname) this.goodsname=goodsname; public String getCsmname() return csmname; public void setCsmname(String csmname) this.csmname=csmname; public String getCsmaddr() return csmaddr; public void setCsma
37、ddr(String csmaddr) this.csmaddr=csmaddr; public int getNumber() return number; public void setNumber(int number) this.number=number; public int getId() return id; public void setId(int id) this.id=id; (3) 庫存商品查找servlet,完成查找邏輯功能package shopManage;import java.io.IOException;import java.sql.Connection
38、;import java.sql.DriverManager;import java.sql.SQLException;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import shopValue.inShopBean;import Con
39、nectionFactory.sqlbean;public class researchStoreGoods extends HttpServlet private static final long serialVersionUID = 1L; private Connection cn; public researchStoreGoods() super(); public void init(ServletConfig config) throws ServletException super.init(config);try Class.forName(com.mysql.jdbc.D
40、river); catch (ClassNotFoundException e1) e1.printStackTrace();String url = jdbc:mysql:/localhost:3306/shop;String user = root;String password = 636692;try cn = DriverManager.getConnection(url, user, password); catch (SQLException e) e.printStackTrace();protected void doGet(HttpServletRequest reques
41、t, HttpServletResponse response) throws ServletException, IOException doPost(request, response);protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html);request.setCharacterEncoding(utf-8);response.setChar
42、acterEncoding(utf-8);String sid=request.getParameter(id);int id=Integer.parseInt(sid);String sql=select * from store where id=?;sqlbean sBean=new sqlbean();inShopBean isb=sBean.searchStore_table(sql, id);request.setAttribute(id, isb.getId();request.setAttribute(name, isb.getName();request.setAttribu
43、te(price, isb.getPrice();request.setAttribute(number, isb.getNumber();request.getRequestDispatcher(researchstoregoods.jsp).forward(request, response);(4)庫存商品添加servlet,完成商品添加邏輯功能 package shopManage;import java.io.IOException;import java.sql.Connection;import javax.servlet.ServletException;import java
44、x.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import shopValue.inShopBean;import ConnectionFactory.sqlbean;public class AddStoreGoods extends HttpServlet private static final long serialVersionUID = 1L;static Connection cn; publ
45、ic AddStoreGoods() super(); protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html);doPost(request, response);protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletE
46、xception, IOException response.setContentType(text/html);request.setCharacterEncoding(utf-8);response.setCharacterEncoding(utf-8);String sid=request.getParameter(id);int id=Integer.parseInt(sid);String name=request.getParameter(name);String sprice=request.getParameter(price);float price=Float.parseFloat(sprice);String snumber=request.getParameter(number);int num
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國安迪泰市場調查研究報告
- 2025年中國夾花紗數據監測研究報告
- 2025年中國工夾量具行業市場發展前景及發展趨勢與投資戰略研究報告
- 色素沉著相關皮膚損傷的靶向治療研究-洞察闡釋
- 2025年中國人體成分分析儀行業市場全景監測及投資前景展望報告
- 2025年中國女士平安液行業市場發展前景及發展趨勢與投資戰略研究報告
- 音樂與城市化進程-洞察闡釋
- 食用菌在食品工業中的應用前景-洞察闡釋
- 全球化背景下期貨市場服務行業的數字化轉型-洞察闡釋
- 船舶改裝供應鏈的動態優化與協調研究-洞察闡釋
- 國開《離散數學》形考任務1-3試題及答案
- 2025年互聯網營銷師-直播銷售員競賽考試題庫及答案
- 社會體育指導與管理專業大學生職業生涯發展
- 反恐驗廠管理手冊程序文件制度文件表單一整套
- 老舊小區改造、提升項目部與小區居民、單位協調方案
- 反詐宣講培訓課件
- 上海市幼兒園幼小銜接活動指導意見(修訂稿)
- 培訓學校收費和退費管理制度
- 護理安全意識
- 法社會學教程(第三版)教學
- 6綜合與實踐(北京五日游)(教案)-六年級下冊數學人教版
評論
0/150
提交評論