收藏 分销(赏)

JavaEE专业课程设计方案报告.doc

上传人:w****g 文档编号:2511805 上传时间:2024-05-31 格式:DOC 页数:42 大小:1.72MB 下载积分:12 金币
下载 相关 举报
JavaEE专业课程设计方案报告.doc_第1页
第1页 / 共42页
JavaEE专业课程设计方案报告.doc_第2页
第2页 / 共42页


点击查看更多>>
资源描述
课 程 设 计 课程名称: JAVAEE/.NET课程设计 设计题目: 校园超市商品信息管理系统 学 院: 信息工程和自动化学院 专 业: 计算机科学和技术 年 级: 级 学生姓名: 指导老师: 日 期: -6-30——-7-11 教 务 处 制 课 程 设 计 任 务 书 信息工程和自动化 学院 计算机科学和技术 专业 年级 学生姓名: 张建兴 课程设计题目: 校园超市商品信息管理系统 课程设计关键内容: 此次课程设计自主完成一个系统,题目学生自定。我设计是一个校园超市商品信息管理系统,是一个小型系统,适适用于部分小型超市,对库存商品,售出商品,日常业务进行管理。关键采取jsp+servlet+数据库配合方法工作。Jsp负责页面显示,servlet处理逻辑业务,后台数据库采取mysql数据库。用到连接数据库,对数据库操作,servlet跳转,实现部件之间合作,前台(jsp)获取并显示后台(数据库)数据,或后台(数据库)获取并存放前台数据。 设 计 指 导 教 师 (签字): 教学基层组织责任人(签字): 年 月 日 摘 要 此次课程设计题目有学生自定,学生能够受日常学习生活启发来设计一个系统。这次课程设计关键要求学生掌握javaEE网络编程,老师要求学生自主完成规模不限系统,自定题目,自主设计。对于这次课程设计,我把它当做一次实践机会,设计过程中期望经过跟同学讨论,提问老师等方法使自己得到提升,毕竟平时自己一个人琢磨极难处理部分问题,也极难提升技巧。之前对于MVC编程方法逻辑不是那么清楚,极难衔接好各个层之间接口。假如时间足够,期望这一次经过多种方法,在采取MVC编程思想前提下,自己完成一个完整系统。这一次我自主设计并完成了校园超市商品信息管理系统,意在复习javaEE/.net知识,并从这一次实践中取得技术提升。熟练编程中部分技巧和编程中常见错误 每个校园内全部会有好多个小型超市,即使说是小型,但也提供了上万学生日常所需任何商品,在我印象中在校园里超市能找到你所需要一切。超市商品肯定很多,零零碎碎很繁杂,难管理,所以一个管理超市商品信息和业务系统根由必需。能够减轻店员工作量,提升效率。 超市商品信息管理系统是一个计划管理超市商品价格,库存,利润和日常部分业务一个小型系统,适适用于部分小型超市。它包含三个关键功效:库存商品管理,售出商品管理和日常业务管理。在这三大功效下又各自包含对商品添加,查询和删除等功效。是一个小型,便捷地系统。 关键字:超市,管理商品,业务,功效 目 录 摘 要 3 第一章 系统概述 1 1.1 课程设计背景 1 1.2 开发工具及相关技术 1 1.2.1 Tomcat介绍 1 1.2.2 MySQL介绍 1 1.2.3 Eclipse介绍 2 1.3 可行性分析 2 1.3.1 技术可行性分析 2 1.3.2 经济可行性分析 2 1.3.3 操作可行性分析 3 第二章 需求分析 3 2.1业务需求概述 3 第三章 系统设计 4 3.1总体结构设计 4 3.2系统数据库设计 4 第四章 编码实现 5 第五章 系统实现及操作说明 20 第六章 总结体会 26 致谢 27 参考文件 27 第一章 系统概述 1.1 课程设计背景 中国超市形成于20世纪90年代早期,现在已经成为中国零售业一个关键形态,为国民经济发展发挥了关键作用。伴随超市高速发展,其经营管理也变得愈加复杂,早期超市商品管理形式不能满足现有销售也发展,这么就迫切地需要引入新商品管理技术。 超市形态含有种种优点,但在现在情况下,它仍存在零售业企业所共有落后一面,如:不能有效地管理每种商品,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品进、销、存等决议以经验为主,缺乏实时分析功效,管理人员对立即传输资料要求一直得不到满足。而且日常所需要处理数据量也逐步增大,商业运转中间步骤也越来越多,原始人工管理已无法应对这复杂市场。所以,在选题过程中,我们小组选择了超市商品管理系统设计题目,依靠现代化计算机信息处理技术来管理超市,从而节省了大量人力、物力,改善了职员工作条件,减轻了劳动强度,而且能够快速反应出商品进、销、存等情况和多种反馈信息分析,使管理人员快速对市场改变做出对应决议,加紧超市经营管理效率。 1.2 开发工具及相关技术 1.2.1 Tomcat介绍 Tomcat是由Apache软件基金会下属Jakarta项目开发一个Servlet容器,根据Sun Microsystems提供技术规范,实现了对Servlet和JavaServer Page(JSP)支持,并提供了作为Web服务器部分特有功效,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。因为Tomcat本身也内含了一个HTTP服务器,它也能够被视作一个单独Web服务器。 1.2.2 MySQL介绍 MySQL是一个开放源码关系数据库管理系统,是一个真正多用户、多线程SQL数据库服务器。MySQL因为性能高、成本低、可靠性好、小巧、功效齐全、查询迅捷而且是无偿等优点,已经成为最流行开源数据库,被广泛地应用在中小型网站中。 1.2.3 Eclipse介绍 Eclipse 是一个开放源代码、基于Java可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于经过插件组件构建开发环境。幸运是,Eclipse 附带了一个标准插件集,包含Java开发工具(Java Development Kit,JDK)。即使大多数用户很乐于将 Eclipse 看成 Java 集成开发环境(IDE)来使用,但 Eclipse 目标却不仅限于此。Eclipse 还包含插件开发环境(Plug-in Development Environment,PDE),这个组件关键针对期望扩展 Eclipse 软件开发人员,因为它许可她们构建和 Eclipse 环境无缝集成工具。因为 Eclipse 中每样东西全部是插件,对于给 Eclipse 提供插件,和给用户提供一致和统一集成开发环境而言,全部工具开发人员全部含有相同发挥场所。  这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用Java语言开发,但它用途并不限于 Java 语言;比如,支持诸如C/C++、COBOL、PHP等编程语言插件已经可用,或估计将会推出。Eclipse 框架还可用来作为和软件开发无关其它应用程序类型基础,比如内容管理系统。基于 Eclipse 应用程序一个突出例子是 IBM Rational Software Architect,它组成了 IBM Java 开发工具系列基础。 1.3 可行性分析 1.3.1 技术可行性分析 基于相对成熟前台开发工具eclipse,利用Flex开发前台界面,其功效完全能够满足本系统实现。使用java语言进行后台编码,利用面向对象思想和设计模式进行开发,后台使用简单快捷mysql数据库,利用tomcat来布署整个程序。这些技术在当今时代全部趋于成熟,而且利用广泛,所以,本系统实现在技术上是可行。 1.3.2 经济可行性分析 因为开发设备和人员全部已聚齐,开发所用成本关键是人力资源支出。而且系统所发挥作用是科学地管理数据,大大提升了管理效率,降低了工作人员负担,节省了管理时间,所以,本系统实现在经济方面是可行。 1.3.3 操作可行性分析 本系统功效模块划分明确,有较强可操作性;并含有规范化工作界面,能够让用户在很短时间内掌握使用方法。进入系统后,系统界面人性化,规范化,而且很美观,而该系统是大家熟悉操作系统,对于那些有通常计算机知识人员就能够轻松上手。而整个超市管理系统采取最友好交互界面,介绍明了,不需要太多数据库知识。 第二章 需求分析 2.1业务需求概述 1、售货业务  售货管理是企业生产经营活动中及其关键一环,它关系到产品质量能否得到确保,生产是否能够顺利进行,采购成本能否得到有效控制等问题。企业现代管理理念中对企业进货管理提出新要求;企业进货时对供货商选择更见慎重,双方不再是讨价还价买卖关系,而是一个相互依存合作伙伴关系,而且还需要认识到企业产品质量要从采购抓起,这就关系到供方供货、服务质量。下面是进货业务程序关键内容: 供货商情况调查:在实施采购之前,超市首先就要对市场上各大商品供货商进行具体调查,了解企业具体情况,评定企业信誉等级和企业市场口碑,做到正确无误,采购顺利。 实施进货计划:依据供货商档案及评审结果,选定供货商;生成订货单给选定供货商;双方就价格、数量、质量等方面洽谈磋商,直至签署协议;跟踪协议实施,安排供货进度和货物运输,做好验收入库工作。  2、库存业务:  库存管理是指在生产经营中为销售和耗用而存放多种资产。企业存货不妥全部会增加无须要费用:存货过多将造成物资积压、存放费用增加、流动资金周转不利,而且过量库存会掩盖管理不善问题。存货不足则影响企业正常销售活动。库存管理目标是需求最好存货数量,使库存成本总额最小化。其关键业务以下: 产品入库、出库、盘库等日常处理。科学合理地确定某库存物资库存控制参数。如:最好订货批量、最大库存量、最好缺货量、最好订购周期等,进行严格库存控制工作。汇总统计各类库存数据,反应和监督贮备资金占用及采购资金使用情况。  3、销售业务  销售对一个企业生存和发展是至关关键,它不再是传统意义上“卖东西”,它对外关系到企业产品、服务和企业形象等多方面原因,对内包含到销售、库存、财务等信息。另外信息化高速发展为企业销售工作提出了新挑战,封闭意味着落后,超市要抓住时机,依据市场所需,引入现代化销售管理模式,实施企业信息化、智能化销售管理,才能使超市在猛烈市场竞争中立于不败之地 第三章 系统设计 3.1总体结构设计 系统步骤图 图3-1系统步骤图 3.2系统数据库设计 属性名 属性类型 备注 产品名称 Text 说明产品名称 产品价格 Float 说明产品价格 库存数量 Int 库存产品数量 商品编号 Int 商品代号 表3-1库存商品数据表 图3-2数据库中库存商品表 属性名 属性类型 备注 商品名称 Text 说明商品名称 商品编号 Int 商品代号 售出数量 Int 已销售商品数量 售出赢利 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.DriverManager; 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 pre = 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(String 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.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, 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(); } catch (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.getId()); 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(String 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("lirun")); } } 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")); 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<inShopBean> 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.getString("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; } public List<outShopBean> getsellList(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("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(String 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")); sb.setNumber(rs.getInt("number")); sb.setCsmname(rs.getString("csmname")); sb.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; 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=number; this.id=id; } public String getName(){ return 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(){ return id; } public void setId(int id){ this.id=id; } } Outshopbean: 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=lirun; this.number=number; this.id=id; } public String getName(){ return name; } public void setName(String name){ this.name=name; } 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 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 number,int id,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; } public String getCsmname(){ return csmname; } public 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; } public void setId(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 javax.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(); } 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(); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServl
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服