版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課程設計課程名稱:JAVAEE/.NET課程設計設計題目:校園超市商品信息管理系統(tǒng)學院:信息工程與自動化學院專業(yè):計算機科學與技術年級:2011年級學生姓名:指導教師:日期:2014-6-30 2014-7-11教務處制課程設計任務書信息工程與自動化學院計算機科學與技術專業(yè)2011年級學生姓名:張建興課程設計題目:校園超市商品信息管理系統(tǒng)課程設計主要內容:本次課程設計自主完成一個系統(tǒng), 題目學生自定。 我設計的是一個校園超市商品信息管理系統(tǒng),是一個小型系統(tǒng),適用于一些小型超市,對庫存商品,售出商品,日常業(yè)務進行管理。主要采用 jsp+servlet+ 數(shù)據(jù)庫配合的方式工作。 Jsp 負責頁面顯
2、示, servlet 處理邏輯業(yè)務,后臺數(shù)據(jù)庫采用 mysql 數(shù)據(jù)庫。用到連接數(shù)據(jù)庫,對數(shù)據(jù)庫的操作, servlet 跳轉,實現(xiàn)部件之間的合作,前臺( jsp )獲取并顯示后臺(數(shù)據(jù)庫)數(shù)據(jù),或者后臺(數(shù)據(jù)庫)獲取并存儲前臺數(shù)據(jù)。設計指導教師(簽字):教學基層組織負責人(簽字) :年月日摘要本次課程設計題目有學生自定, 學生可以受日常學習生活啟發(fā)來設計一個系統(tǒng)。這次課程設計主要要求學生掌握 javaEE 網(wǎng)絡編程,老師要求學生自主完成規(guī)模不限的系統(tǒng),自定題目,自主設計。對于這次課程設計,我把它當做一次實踐的機會,設計過程中希望通過跟同學討論,提問老師等方式使自己得到提升,畢竟平時自己一個人
3、琢磨很難解決一些問題,也很難提高技巧。之前對于 MVC 編程方法的邏輯不是那么清晰,很難銜接好各個層之間的接口。如果時間足夠,希望這一次通過各種方法, 在采用 MVC的編程思想的前提下, 自己完成一個完整的系統(tǒng)。這一次我自主設計并完成了校園超市商品信息管理系統(tǒng),旨在復習 javaEE/.net 的知識,并從這一次實踐中獲得技術的提升。熟練編程中的一些技巧和編程中常見的錯誤每個校園內都會有好幾個小型的超市,雖然說是小型,但也提供了上萬學生日常所需的任何商品, 在我印象中在校園里的超市能找到你所需要的一切。 超市的商品肯定很多, 零零碎碎很繁雜, 難管理,所以一個管理超市商品信息和業(yè)務的系統(tǒng)根由必
4、要。可以減輕店員的工作量,提高效率。超市商品信息管理系統(tǒng)是一個規(guī)劃管理超市商品的價格,庫存,利潤和日常的一些業(yè)務的一個小型系統(tǒng), 適用于一些小型超市。 它包括三個主要功能: 庫存商品管理,售出商品管理和日常業(yè)務管理。 在這三大功能下又各自包括對商品的添加,查詢和刪除等功能。是一個小型,便捷地系統(tǒng)。關鍵字:超市,管理商品,業(yè)務,功能目錄摘 要.3第一章 系統(tǒng)概述 .11.1課程設計背景 .11.2開發(fā)工具及相關技術 .11.2.1 Tomcat 介紹 .11.2.2MySQL 介紹 .11.2.3Eclipse 簡介 .21.3可行性分析 .21.3.1技術可行性分析 .21.3.2經(jīng)濟可行性分
5、析 .21.3.3操作可行性分析 .3第二章 需求分析 .32.1業(yè)務需求概述 .3第三章系統(tǒng)設計 .43.1總體結構設計 .43.2系統(tǒng)數(shù)據(jù)庫設計 .4第四章 編碼實現(xiàn) .5第五章 系統(tǒng)實現(xiàn)及操作說明 .26第六章 總結體會 .32致謝 .33參考文獻 .33第一章系統(tǒng)概述1.1課程設計背景我國超市形成于 20 世紀 90 年代初期,現(xiàn)在已經(jīng)成為我國零售業(yè)的一種重要形態(tài),為國民經(jīng)濟的發(fā)展發(fā)揮了重要的作用。 隨著超市高速的發(fā)展, 其經(jīng)營管理也變得愈加復雜, 早期的超市商品管理形式不能滿足現(xiàn)有銷售也的發(fā)展, 這樣就迫切地需要引入新的商品管理技術。 超市形態(tài)具有種種優(yōu)點,但在目前狀況下,它仍存在零
6、售業(yè)企業(yè)所共有的落后的一面, 如:不能有效地管理每種商品, 不宜進行商品調價,盤點效率低等,而且在超市日常管理中,商品的進、銷、存等決策以經(jīng)驗為主, 缺乏實時分析功能, 管理人員對及時傳遞資料的要求始終得不到滿足。而且日常所需要處理的數(shù)據(jù)量也逐漸增大,商業(yè)運轉的中間環(huán)節(jié)也越來越多,原始的人工管理已無法應對這復雜的市場。因此,在選題過程中,我們小組選擇了超市商品管理系統(tǒng)設計題目,依靠現(xiàn)代化的計算機信息處理技術來管理超市,從而節(jié)省了大量的人力、物力,改善了員工的工作條件,減輕了勞動強度,并且能夠快速反映出商品的進、銷、存等狀況和各種反饋信息分析,使管理人員快速對市場的變化做出相應的決策,加快超市經(jīng)
7、營管理效率。1.2開發(fā)工具及相關技術1.2.1 Tomcat介紹Tomcat 是由 Apache 軟件基金會下屬的 Jakarta 項目開發(fā)的一個 Servlet 容器,按照 Sun Microsystems 提供的技術規(guī)范,實現(xiàn)了對 Servlet 和 JavaServer Page(JSP)的支持,并提供了作為 Web服務器的一些特有功能,如 Tomcat 管理和控制平臺、安全域管理和 Tomcat 閥等。由于 Tomcat 本身也內含了一個 HTTP 服務器,它也可以被視作一個單獨的 Web服務器。1.2.2MySQL 介紹MySQL是一個開放源碼的關系數(shù)據(jù)庫管理系統(tǒng),是一個真正的多用戶
8、、多線程 SQL數(shù)據(jù)庫服務器。 MySQL由于性能高、成本低、可靠性好、小巧、功能齊全、查詢迅捷而且是免費的等優(yōu)點, 已經(jīng)成為最流行的開源數(shù)據(jù)庫, 被廣泛地應用在中小型網(wǎng)站中。11.2.3Eclipse簡介Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。幸運的是, Eclipse 附帶了一個標準的插件集, 包括 Java 開發(fā)工具( Java Development Kit ,JDK)。雖然大多數(shù)用戶很樂于將 Eclipse 當作 Java 集成開發(fā)環(huán)境 (IDE)來使用,但 Eclipse 的目標卻不
9、僅限于此。 Eclipse 還包括插件開發(fā)環(huán)境 (Plug-in Development Environment ,PDE),這個組件主要針對希望擴展 Eclipse 的軟件開發(fā)人員,因為它允許他們構建與Eclipse環(huán)境無縫集成的工具。由于 Eclipse中的每樣東西都是插件,對于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。這種平等和一致性并不僅限于Java開發(fā)工具。盡管Eclipse是使用 Java語言開發(fā)的,但它的用途并不限于Java語言;例如,支持諸如C/C+、 COBOL、PHP等編程語言的插件已經(jīng)可用,或預計將會推出。
10、 Eclipse 框架還可用來作為與軟件開發(fā)無關的其他應用程序類型的基礎, 比如內容管理系統(tǒng)。 基于 Eclipse的應用程序的一個突出例子是IBM Rational Software Architect,它構成了IBM Java 開發(fā)工具系列的基礎。1.3可行性分析1.3.1技術可行性分析基于相對成熟的前臺開發(fā)工具eclipse ,運用 Flex 開發(fā)前臺界面, 其功能完全能夠滿足本系統(tǒng)的實現(xiàn)。使用java 語言進行后臺編碼,運用面向對象的思想和設計模式進行開發(fā),后臺使用簡單快捷的mysql 數(shù)據(jù)庫,運用 tomcat 來部署整個程序。這些技術在當今時代都趨于成熟,并且運用廣泛,所以,本系統(tǒng)
11、的實現(xiàn)在技術上是可行的。1.3.2 經(jīng)濟可行性分析由于開發(fā)設備與人員都已聚齊,開發(fā)所用的成本主要是人力資源的支出。并且系統(tǒng)所發(fā)揮的作用是科學地管理數(shù)據(jù),大大提高了管理效率, 降低了工作人員的負擔,節(jié)省了管理時間,所以,本系統(tǒng)的實現(xiàn)在經(jīng)濟方面是可行的。21.3.3 操作可行性分析本系統(tǒng)功能模塊劃分明確,有較強可操作性;并具有規(guī)范化的工作界面,能夠讓用戶在很短的時間內掌握使用的方法。進入系統(tǒng)后, 系統(tǒng)的界面人性化, 規(guī)范化,而且很美觀, 而該系統(tǒng)是大家熟悉的操作系統(tǒng),對于那些有一般的計算機知識的人員就可以輕松上手。 而整個超市管理系統(tǒng)采用最友好的交互界面,簡介明了,不需要太多的數(shù)據(jù)庫知識。第二章需
12、求分析2.1 業(yè)務需求概述1、售貨業(yè)務售貨管理是企業(yè)生產(chǎn)經(jīng)營活動中及其重要的一環(huán),它關系到產(chǎn)品質量能否得到保證,生產(chǎn)是否能夠順利進行, 采購成本能否得到有效控制等問題。 企業(yè)現(xiàn)代管理理念中對企業(yè)的進貨管理提出新的要求; 企業(yè)進貨時對供貨商的選擇更見慎重,雙方不再是討價還價的買賣關系, 而是一種相互依存的合作伙伴關系, 并且還需要認識到企業(yè)產(chǎn)品質量要從采購抓起,這就關系到供方的供貨、服務質量。下面是進貨業(yè)務程序的主要內容: 供貨商的情況調查:在實施采購之前,超市首先就要對市場上各大商品供貨商進行詳細的調查, 了解公司的具體情況, 評定企業(yè)的信譽級別和公司的市場口碑, 做到準確無誤, 采購順利。
13、實施進貨計劃:根據(jù)供貨商檔案及評審結果, 選定供貨商; 生成訂貨單給選定的供貨商; 雙方就價格、數(shù)量、質量等方面洽談磋商,直至簽訂合同;跟蹤合同執(zhí)行,安排供貨進度和貨物運輸,做好驗收入庫工作。2、庫存業(yè)務:庫存管理是指在生產(chǎn)經(jīng)營中為銷售和耗用而存儲的各種資產(chǎn)。企業(yè)存貨不當都會增加不必要的費用: 存貨過多將導致物資的積壓、 存儲費用增加、 流動資金周轉不利,并且過量的庫存會掩蓋管理不善的問題。 存貨不足則影響企業(yè)的正常銷售活動。庫存管理的目標是需求最佳存貨數(shù)量, 使庫存的成本總額最小化。 其主要業(yè)務如下: 產(chǎn)品入庫、出庫、盤庫等日常處理??茖W合理地確定某庫存物資的庫存控制參數(shù)。如:最佳訂貨批量、
14、最大庫存量、最佳缺貨量、最佳訂購周期等,進行嚴格的庫存控制工作。 匯總統(tǒng)計各類庫存數(shù)據(jù), 反應和監(jiān)督儲備資金占用及采購資金使用情況。3、銷售業(yè)務銷售對一個企業(yè)的生存和發(fā)展是至關重要的, 它不再是傳統(tǒng)意義上的 “賣東西”,它對外關系到企業(yè)產(chǎn)品、 服務和企業(yè)形象等多方面因素, 對內涉及到銷售、庫存、財務等信息。此外信息化的高速發(fā)展為企業(yè)的銷售工作提出了新的挑戰(zhàn),封閉意味著落后,超市要抓住時機, 根據(jù)市場所需,引入現(xiàn)代化的銷售管理模式,實施企業(yè)的信息化、 智能化銷售管理, 才能使超市在激烈的市場競爭中立于不敗3之地第三章系統(tǒng)設計3.1 總體結構設計系統(tǒng)流程圖圖 3-1 系統(tǒng)流程圖3.2 系統(tǒng)數(shù)據(jù)庫設
15、計屬性名屬性類型備注產(chǎn)品名稱Text說明產(chǎn)品名稱產(chǎn)品價格Float說明產(chǎn)品價格庫存數(shù)量Int庫存產(chǎn)品數(shù)量商品編號Int商品代號表 3-1 庫存商品數(shù)據(jù)表4圖 3-2 數(shù)據(jù)庫中的庫存商品表屬性名屬性類型備注商品名稱Text說明商品名稱商品編號Int商品代號售出數(shù)量Int已銷售商品數(shù)量售出獲利Float售出所有商品數(shù)量的利潤表 3-2 售出商品數(shù)據(jù)表圖 3-3數(shù)據(jù)庫中售出商品表截圖屬性名屬性類型備注商品編號Int售出商品的編號商品名稱Text售出商品的名稱商品數(shù)量Int售出商品的數(shù)量顧客姓名Text購買顧客姓名顧客地址Text購買商品顧客的地址表 3-3 業(yè)務數(shù)據(jù)表圖 3-4 數(shù)據(jù)庫中業(yè)務表截圖第
16、四章編碼實現(xiàn)以下代碼只包含本系統(tǒng)部分關鍵代碼,完整代碼另附:(1)數(shù)據(jù)庫連接類,內含連接數(shù)據(jù)庫的方法,還有各種對數(shù)據(jù)庫的操作的方法:Sqlbean:package ConnectionFactory;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;5import java.sql.SQLException;import java.util.ArrayList;import java.util.List;impo
17、rt shopValue.inShopBean;import shopValue.outShopBean;import shopValue.salesBean;public class sqlbean static Connection con;static PreparedStatement pre = null;static ResultSet rs;public sqlbean() System.out.println("kkk");try Class.forName("com.mysql.jdbc.Driver");con = DriverMan
18、ager.getConnection("jdbc:mysql:/localhost:3306/shop", "root", "636692"); System.out.println(con); catch (Exception e1) e1.printStackTrace();public inShopBean searchStore_table(String sql, int id) inShopBean isb = new inShopBean();try new sqlbean();System.out.println(con
19、 + "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.setNumber(rs.getInt("number");
20、 catch (SQLException e) e.printStackTrace();6return 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, isb.getPrice();pre.setInt
21、(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(); catch (SQLException e) e.pr
22、intStackTrace(); finally try pre.close();con.close(); catch (SQLException e) e.printStackTrace();return count;public int getUpdateStore_table(String sql, inShopBean isb) int count = 0;7try new sqlbean();pre = (PreparedStatement) con.prepareStatement(sql);pre.setInt(1, isb.getId();pre.setString(2, is
23、b.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(String sql, int id) outSh
24、opBean 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.
25、getFloat("lirun"); catch (SQLException e) e.printStackTrace();return osb;public salesBean searchBuseness_table(String sql, int id) salesBean sb = new salesBean();try 8new sqlbean();pre = (PreparedStatement) con.prepareStatement(sql); pre.setInt(1, id);rs = pre.executeQuery();while (rs.next
26、() sb.setId(rs.getInt("id");sb.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<in
27、ShopBean> getStoreList(String sql) List<inShopBean> list = new ArrayList<inShopBean>(); try new sqlbean();pre = (PreparedStatement) con.prepareStatement(sql);rs = pre.executeQuery();while (rs.next() inShopBean isb = new inShopBean();isb.setId(rs.getInt("id");isb.setName(rs.g
28、etString("name");isb.setPrice(rs.getFloat("price");isb.setNumber(rs.getInt("number");list.add(isb); catch (SQLException e) e.printStackTrace(); finally try pre.close();con.close(); catch (SQLException e) e.printStackTrace();return list;9public List<outShopBean> ge
29、tsellList(String sql) List<outShopBean> list = new ArrayList<outShopBean>(); try new sqlbean();pre = (PreparedStatement) con.prepareStatement(sql);rs = pre.executeQuery();while (rs.next() outShopBean osb = new outShopBean();osb.setId(rs.getInt("id");osb.setName(rs.getString(&qu
30、ot;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<salesBean> getBusenessList(S
31、tring sql) List<salesBean> list = new ArrayList<salesBean>(); 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"
32、;);sb.setNumber(rs.getInt("number");sb.setCsmname(rs.getString("csmname");sb.setCsmaddr(rs.getString("csmaddr");list.add(sb); catch (SQLException e) 10e.printStackTrace(); finally try pre.close();con.close(); catch (SQLException e) e.printStackTrace();return list;( 2) 三
33、種商品的值類,內含set 和 get 方法,對數(shù)據(jù)進行設置和獲取操作:Inshopbean:package shopValue;public class inShopBean private String name ;private float price ;private int number ;private int id;public inShopBean()public inShopBean(String name,float price, int number, int id)this .name =name;this .price =price;this .number =numb
34、er;this .id=id;public String getName()11return name ;public void setName(String name)this .name =name;public float getPrice()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
35、()return id;public void setId( int id)this .id=id;12Outshopbean:package shopValue;public class outShopBean private String name ;private float lirun ;private int number ;private int id;public outShopBean()public outShopBean(String name,float lirun, int number, int id)this .name =name;this .lirun=liru
36、n;this .number =number;this .id=id;public String getName()return name ;public void setName(String name)this .name =name;13public float getLirun()return lirun;public void setLirun( float lirun)this .lirun=lirun;public int getNumber()return number ;public void setNumber( int number)this .number =numbe
37、r;public int getId()return id;public void setId( int id)this .id=id;Salesbean:package shopValue;14public class salesBean private String goodsname ;private String csmname ;private String csmaddr ;private int number ;private int id;public salesBean()public salesBean(String csmname,String goodsname,int
38、 number, intid,String csmaddr)this .goodsname =goodsname;this .csmname =csmname;this .csmaddr =csmaddr;this .number =number;this .id=id;public String getGoodsname()return goodsname ;public void setGoodsname(String goodsname)this .goodsname =goodsname;15public String getCsmname()return csmname ;publi
39、c void setCsmname(String csmname)this .csmname =csmname;public String getCsmaddr()return csmaddr ;public void setCsmaddr(String csmaddr)this .csmaddr =csmaddr;public int getNumber()return number ;public void setNumber( int number)this .number =number;public int getId()return id;16public void setId(
40、int id)this .id=id;( 3) 庫存商品查找 servlet,完成查找邏輯功能package shopManage;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import jav
41、ax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import shopValue.inShopBean;import ConnectionFactory.sqlbean;public class researchStoreGoods extends HttpServlet private static final long serialVersionUID = 1L; private Connection cn;public researchStoreGoods() super()
42、;public void init(ServletConfig config) throws ServletException super.init(config);try Class.forName("com.mysql.jdbc.Driver"); 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();
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年小學五年級數(shù)學教學計劃樣本(六篇)
- 2024年廁所管理制度模版(三篇)
- 2024年國培個人研修計劃書范本(四篇)
- 2024年工程審計工作的崗位職責描述范本(四篇)
- 2024年圖書館志愿者管理制度范文(二篇)
- 2024年學生會生活部工作計劃例文(五篇)
- 2024年安全主管的職責范本(六篇)
- 2024年衛(wèi)生院明年工作計劃范例(二篇)
- 2024年小學班主任期末工作總結經(jīng)典版(二篇)
- bain -2024年“雙十一”:從AI中尋找新的增長點零售業(yè)需要思考六個問題
- 計算機應用基礎
- 建設工程質量檢測方案-技術標部分
- 全國人工智能應用技術技能大賽理論考試題庫大全-下(多選、判斷題匯總)
- 胸痛鑒別診斷
- 汽車行業(yè)各種縮寫(共7頁)
- 摩托車車架的焊接
- 防火封堵設計說明及施工大樣圖
- 外研(一起)五年級上冊期中模擬測試英語試卷(附答案)
- 鋼材質量檢驗工中級資料
- 最新高壓軟管接頭介紹
- 鋼芯鋁絞線參數(shù)
評論
0/150
提交評論