javaEE课程设计报告.docx

上传人:b****6 文档编号:7485405 上传时间:2023-01-24 格式:DOCX 页数:32 大小:1.30MB
下载 相关 举报
javaEE课程设计报告.docx_第1页
第1页 / 共32页
javaEE课程设计报告.docx_第2页
第2页 / 共32页
javaEE课程设计报告.docx_第3页
第3页 / 共32页
javaEE课程设计报告.docx_第4页
第4页 / 共32页
javaEE课程设计报告.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

javaEE课程设计报告.docx

《javaEE课程设计报告.docx》由会员分享,可在线阅读,更多相关《javaEE课程设计报告.docx(32页珍藏版)》请在冰豆网上搜索。

javaEE课程设计报告.docx

javaEE课程设计报告

课程设计

 

课程名称:

JAVAEE/.NET课程设计

设计题目:

校园超市商品信息管理系统

学院:

信息工程与自动化学院

专业:

计算机科学与技术

年级:

2011年级

学生姓名:

指导教师:

日期:

2014-6-30——2014-7-11

教务处制

课程设计任务书

信息工程与自动化学院计算机科学与技术专业2011年级

学生姓名:

张建兴

课程设计题目:

校园超市商品信息管理系统

课程设计主要内容:

本次课程设计自主完成一个系统,题目学生自定。

我设计的是一个校园超市商品信息管理系统,是一个小型系统,适用于一些小型超市,对库存商品,售出商品,日常业务进行管理。

主要采用jsp+servlet+数据库配合的方式工作。

Jsp负责页面显示,servlet处理逻辑业务,后台数据库采用mysql数据库。

用到连接数据库,对数据库的操作,servlet跳转,实现部件之间的合作,前台(jsp)获取并显示后台(数据库)数据,或者后台(数据库)获取并存储前台数据。

 

设计指导教师(签字):

教学基层组织负责人(签字):

年月日

摘要

本次课程设计题目有学生自定,学生可以受日常学习生活启发来设计一个系统。

这次课程设计主要要求学生掌握javaEE网络编程,老师要求学生自主完成规模不限的系统,自定题目,自主设计。

对于这次课程设计,我把它当做一次实践的机会,设计过程中希望通过跟同学讨论,提问老师等方式使自己得到提升,毕竟平时自己一个人琢磨很难解决一些问题,也很难提高技巧。

之前对于MVC编程方法的逻辑不是那么清晰,很难衔接好各个层之间的接口。

如果时间足够,希望这一次通过各种方法,在采用MVC的编程思想的前提下,自己完成一个完整的系统。

这一次我自主设计并完成了校园超市商品信息管理系统,旨在复习javaEE/.net的知识,并从这一次实践中获得技术的提升。

熟练编程中的一些技巧和编程中常见的错误

每个校园内都会有好几个小型的超市,虽然说是小型,但也提供了上万学生日常所需的任何商品,在我印象中在校园里的超市能找到你所需要的一切。

超市的商品肯定很多,零零碎碎很繁杂,难管理,所以一个管理超市商品信息和业务的系统根由必要。

可以减轻店员的工作量,提高效率。

超市商品信息管理系统是一个规划管理超市商品的价格,库存,利润和日常的一些业务的一个小型系统,适用于一些小型超市。

它包括三个主要功能:

库存商品管理,售出商品管理和日常业务管理。

在这三大功能下又各自包括对商品的添加,查询和删除等功能。

是一个小型,便捷地系统。

关键字:

超市,管理商品,业务,功能

 

 

第一章系统概述

1.1课程设计背景

我国超市形成于20世纪90年代初期,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。

随着超市高速的发展,其经营管理也变得愈加复杂,早期的超市商品管理形式不能满足现有销售也的发展,这样就迫切地需要引入新的商品管理技术。

 超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:

不能有效地管理每种商品,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。

而且日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。

因此,在选题过程中,我们小组选择了超市商品管理系统设计题目,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。

1.2开发工具及相关技术

1.2.1Tomcat介绍

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照SunMicrosystems提供的技术规范,实现了对Servlet和JavaServerPage(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。

由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。

1.2.2MySQL介绍

MySQL是一个开放源码的关系数据库管理系统,是一个真正的多用户、多线程SQL数据库服务器。

MySQL由于性能高、成本低、可靠性好、小巧、功能齐全、查询迅捷而且是免费的等优点,已经成为最流行的开源数据库,被广泛地应用在中小型网站中。

1.2.3Eclipse简介

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。

虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。

Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。

由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

 

这种平等和一致性并不仅限于 Java 开发工具。

尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。

Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。

基于Eclipse的应用程序的一个突出例子是IBMRationalSoftwareArchitect,它构成了IBMJava开发工具系列的基础。

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:

packageConnectionFactory;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.util.ArrayList;

importjava.util.List;

importshopValue.inShopBean;

importshopValue.outShopBean;

importshopValue.salesBean;

 

publicclasssqlbean{

staticConnectioncon;

staticPreparedStatementpre=null;

staticResultSetrs;

publicsqlbean(){

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(Exceptione1){

e1.printStackTrace();

}

}

publicinShopBeansearchStore_table(Stringsql,intid){

inShopBeanisb=newinShopBean();

try{

newsqlbean();

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(SQLExceptione){

e.printStackTrace();

}

returnisb;

}

publicintinsertIntoStore_table(Stringsql,inShopBeanisb){

intcount=0;

try{

newsqlbean();

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(Exceptione){

e.printStackTrace();

}

returncount;

}

publicintgetDelete(Stringsql,intid){

intcount=0;

try{

newsqlbean();

pre=(PreparedStatement)con.prepareStatement(sql);

pre.setInt(1,id);

count=pre.executeUpdate();

}catch(SQLExceptione){

e.printStackTrace();

}finally{

try{

pre.close();

con.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

returncount;

}

publicintgetUpdateStore_table(Stringsql,inShopBeanisb){

intcount=0;

try{

newsqlbean();

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(SQLExceptione){

e.printStackTrace();

}finally{

try{

pre.close();

con.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

returncount;

}

publicoutShopBeansearchSell_table(Stringsql,intid){

outShopBeanosb=newoutShopBean();

try{

newsqlbean();

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(SQLExceptione){

e.printStackTrace();

}

returnosb;

}

publicsalesBeansearchBuseness_table(Stringsql,intid){

salesBeansb=newsalesBean();

try{

newsqlbean();

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(SQLExceptione){

e.printStackTrace();

}

returnsb;

}

publicListgetStoreList(Stringsql){

Listlist=newArrayList();

try{

newsqlbean();

pre=(PreparedStatement)con.prepareStatement(sql);

rs=pre.executeQuery();

while(rs.next()){

inShopBeanisb=newinShopBean();

isb.setId(rs.getInt("id"));

isb.setName(rs.getString("name"));

isb.setPrice(rs.getFloat("price"));

isb.setNumber(rs.getInt("number"));

list.add(isb);

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

try{

pre.close();

con.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

returnlist;

}

publicListgetsellList(Stringsql){

Listlist=newArrayList();

try{

newsqlbean();

pre=(PreparedStatement)con.prepareStatement(sql);

rs=pre.executeQuery();

while(rs.next()){

outShopBeanosb=newoutShopBean();

osb.setId(rs.getInt("id"));

osb.setName(rs.getString("name"));

osb.setNumber(rs.getInt("number"));

osb.setLirun(rs.getFloat("lirun"));

list.add(osb);

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

try{

pre.close();

con.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

returnlist;

}

publicListgetBusenessList(Stringsql){

Listlist=newArrayList();

try{

newsqlbean();

pre=(PreparedStatement)con.prepareStatement(sql);

rs=pre.executeQuery();

while(rs.next()){

salesBeansb=newsalesBean();

sb.setId(rs.getInt("id"));

sb.setGoodsname(rs.getString("goodsname"));

sb.setNumber(rs.getInt("number"));

s

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1