JAVA课程设计进销存管理系统Word格式文档下载.docx
- 文档编号:20032142
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:34
- 大小:302.28KB
JAVA课程设计进销存管理系统Word格式文档下载.docx
《JAVA课程设计进销存管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计进销存管理系统Word格式文档下载.docx(34页珍藏版)》请在冰豆网上搜索。
(2)系统运行稳定,安全可靠;
(3)操作灵活,界面友好,充分满足各类企业的进销存管理需求;
(4)实施规范的进、销、存一体化业务管理;
(5)强大的查询分析功能;
(6)灵活、细分的权限控制功能.
本系统是一款将进货、销售、库存进行一体化管理的系统.系统由基本信息、进货管理、销售管理、库存管理和系统管理等模块组成.特规划功能模块如下:
(1)基础信息模块:
商品信息、供应商信息、客户信息。
(2)进货管理:
商品进货、进货退货。
(3)销售管理:
商品销售、客户退货。
(4)库存管理:
库存查询、库存盘点。
(5)系统管理模块:
用户管理、更改资料。
2.1系统主模块图
基基本信息
进进货管理
系系统管理
销销货管理
库存货管理
基于java进销存管理系统
图1系统主模块图
3系统分析
3。
1可行性分析
3.1。
1技术可行性分析
企业进销存管理系统的开发基于B/S模式,主要包括前端应用程序的开发以及后台数据库的建立和维护两个方面.对于前者要求应具备功能完备、易于使用等特点,而对于后者则要求能建立数据一致性和完整性强、数据安全性好的库.本系统拟采用JSP和SQLSever分别作为前端和后端的开发工具.JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准.JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*。
htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*。
jsp)。
用JSP开发的Web应用是跨平台的,JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑.网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易.SQLSever作为微软在Windows系列平台上开发的数据库,一经推出就以其易用性得到了很多用户的青睐,相信大多数将自己的业务建立在Windows平台上的用户都会对它有相当的亲切感。
区别于FoxPro、Sql2005小型数据库,SQLSever是一个功能完备的数据库管理系统。
它包括支持开发的引擎、标准的SQL语言、扩展的特性等功能.而像存储过程、触发器等特性,也是大型数据库才拥有的。
因此从技术方面讲开发此系统是可行的。
2经济可行性分析
企业进销存管理系统从中小企业的实际出发,可有效地管理企业的进销存情况,并降低企业运营成本、及时调整营销策略、提高库房的利用率。
当前许多中小型企业都使用人工管理方式(即纸和笔)来管理企业的进销存,这样的管理方式既困难又浪费时间和成本,并且容易出现漏账、差账的情况,因此中小企业应该向大型企业那样采用先进的管理方式,提高企业效率、降低企业运营成本。
企业进销存管理系统是一个信息化、智能化和先进管理理念的集合体。
而管理是一个动态过程,在其运行过程中要采取多项措施。
所以在管理中获得经济效益是一个综合效益,要对它进行直接定量的分析是比较困难的。
一般新系统带来的经济效益是简介的,其最主要的表现就是减少了企业管理费用和人力开支。
而其它一些繁琐的步骤都通过新系统来加以分析解决,不仅节省了大量的时间,还为企业的各项决策提供了宝贵的资料,为企业带来巨大的经济效益.
3.1.3操作可行性分析
本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。
而整个企业进销存管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。
由此,该系统的操作是可行的,有必要开发该系统。
综合以上三方面,该系统具有很高的开发可行性,无论是从技术上或者经济上还是操作上。
因此,可以设计该系统的数据流程图,建立数据字典。
2需求性分析
通过调研和分析,本文将系统分成销售,进货,库管,基本信息管理,系统管理五大子模块。
其操作范围内的系统内容信息进行操作管理,完成满足日常经营、管理的要求。
3.2。
1销售子系统需求
(1)用户登录
要进入系统的用户都要进行登陆才能进入系统界面,
用户打开登陆框,输入用户名和密码:
用户名和密码输入正确方可进入系统。
注:
此用户名和密码都是管理员事先分配好的,此用户只能有更改自己密码的权限。
(2)商品销售
此用户具有查看并填写销售业务单,查看历史销售业务单,并可以更改,删除本用户负责的销售单。
(3)客户退货
此用户具有查看并填写客户退货单,查看历史客户退货单,并可以更改,删除本用户负责的客户退货单。
销售管理子系统
基用户登陆
系客户退货管理
销销售管理
图2销售管理子系统的主要功能图
2仓库管理子系统需求
用户打开登陆框,输入用户名和密码:
此用户名和密码都是管理员事先分配好的,此用户只能有更改自己密码的权限.
(2)仓库盘点
此用户具有查看并填写,删除,修改其负责仓库产品入库,出库的功能.
(3)仓库管理
管理员具有查看并填写,删除,修改仓库的功能。
仓库管理子系统
系仓库管理
销仓库盘点
图3仓库管理模块功能图
2.3进货管理子系统需求
要进入系统的用户都要进行登陆才能进入系统界面,
用户打开登陆框,输入用户名和密码:
用户名和密码输入正确方可进入系统.
(2)进货管理
此用户具有查看并填写进货单,查看历史进货单,并可以更改,删除本用户负责的进货单。
(3)进货退货单
此用户具有查看并填写进货退货单,查看历史进货退货单,并可以更改,删除本用户负责的进货退货单。
进货管理子系统
系退货管理
销进货管理
图4进货模块功能图
3.2.4基本信息管理子系统需求
注:
此用户名和密码都是管理员事先分配好的,此用户只能有更改自己密码的权限。
(2)产品基本信息管理
用户具有查看并填写产品基本信息单,查看产品基本信息单,并可以更改,删除的产品基本信息单。
(3)客户基本信息管理
用户具有查看并填写客户基本信息单,查看客户基本信息单,并可以更改,删除的客户基本信息单.
(4)供应商基本信息管理
用户具有查看并填写供应商基本信息单,查看供应商基本信息单,并可以更改,删除的供应商基本信息单。
基本信息管理子系统
供应商基本信息管理
客户基本信息管理
产品基本信息管理
用户登录
图5基本信息功能图
4系统总体设计
4。
1系统总体架构与设计
1设计原则
根据商品贸易原则,实现买卖双方有效交易,特别在销售,库存,以及进货这三个模块之间实现互联,以达到对产品信息进行及时更新及记录。
1模块设计
整个系统的模块划分如下:
图7各模块在导航栏的体现
2系统E—R图
图8进销存管理系统E—R图
3数据库设计
本系统采用微软公司的SQLServer2000数据库管理系统,下面就该系统的数据库表做如下设计(主键都是自动增长):
产品基本信息表:
产品的信息,与销售,库存,进货产品之间的信息一一对应,product_id用来标记产品编号,产品ID不一样则无法进行该品的进货,销售,库存功能,表结构见附录一
5功能模块详细设计及实现
5.1系统主界面
模块是本系统的界面,在本界面上集成了本系统的所有功能,共有五个功能菜单和10个子菜单(功能模块),从而实现了本系统从销售管理,进货管理,产品基本信息管理,库存管理,系统管理等系统的具体功能。
系统主界面如图所示.
图9系统主界面
5。
2基本信息管理
2.1功能分析
方便用户对产品基本信息,客户信息,供应商信息进行多条件查询,增加,修改,删除.
2.2实现原理
用hibernate语句里的查询、增加、修改、删除语句,对数据库里对应的产品信息表,供应商信息表,客户信息表进行相应的操作.
图10产品基本信息管理界面
图11客户信息管理界面
图12供应商信息管理界面
2.3核心代码
/**
*数据库中获取所有
*@paramcondtions保存前台传递的数据
*@return
*/
publicListRangefindAll(Mapconditions){
//数据库读出的所有顾客信息
List<
Customer〉list=pojod。
findAll();
if(list。
size()〉0){
//转换成所需要的格式,传递到前台显示
infoList=convertFormat(list);
returnPageShow。
pageHandle(conditions,infoList);
}else{
infoList。
add(newCustomer());
returnnewListRange(infoList。
subList(0,1).toArray(),infoList。
size());
}
}
3销售管理
5.3.1功能分析
销售货物时,用户可以填写销售单,并可以查看,修改,删除销售单,同时仓库中该产品数量发生相应变动.
顾客退货时,用户可以填写销售退货单,并可以查看,修改,删除销售退货单,同时仓库中产品数量发生相应变动。
5.3。
2实现原理
用hibernate语句里的查询、增加、修改、删除语句,对数据库里对应的销售单信息,销售退货表信息,客户信息表进行相应的操作。
同时对产品仓库表中的产品数量进行相应变动。
图13销售登记界面
图14销售退货界面
图15填写销售单界面
5.3.3核心代码
/**
*增加销售单
*@params
*@return最后一个销售单ID
publicintsave(ios。
web.form.sale。
Sales){
Saless=newSale();
Customerc=newCustomer();
//根据顾客ID增加
c。
setCustomerId(s。
getSalCustomerId());
ss。
setCustomer(c);
//用户的ID保存在session中,从session中获得
ios.pojo。
sys.Useru=newios.pojo。
sys。
User();
u。
setUserId(s。
getSalUserId());
setUser(u);
ios.pojo.iosinfo。
Productp=newios.pojo。
iosinfo.Product();
p。
setProductId(s。
getSalProductId());
setProduct(p);
ss。
setSadate(s.getSadate());
ss.setSanumber(s.getSanumber());
sd。
save(ss);
//同时产品仓库表中相应的产品数量减少
StoreHandle.decreNum(p,u,s。
getSanumber());
returnsd.findlastID();
}
4进货管理
4.1功能分析
进货时,用户可以填写进货单,并可以修改,查看,删除进货单,同时仓库中相应产品信息发生相应变动.
进货退货时,用户可以填写进货退货单,并可以修改,查看,删除进货退货单,同时仓库中相应产品信息发生相应变动.
用hibernate语句里的查询、增加、修改、删除语句,对数据库里对应的进货退货单信息表,进货信息表进行相应的操作。
图16购买进货界面
图17进货退货界面
3核心代码
/**
*更新
*@params
publicbooleansaveorupdate(ios。
web。
form。
purchase。
Purchases){
Purchasess=newPurchase();
Supplyc=newSupply();
//根据顾客ID增加
c。
setSupplyId(s。
getPsupplyId());
ss。
setSupply(c);
ios。
pojo。
Useru=newios。
User();
u.setUserId(s。
getPuserId());
ss.setUser(u);
ios。
pojo.iosinfo。
Productp=newios。
p。
setProductId(s.getPproductId());
setPudate(s.getPudate());
ss.setPunumber(s.getPunumber());
setPurchaseId(s.getPurchaseId());
booleanisSuccess=true;
try{
pojod。
saveorupdate(ss);
}
catch(Exceptione){
isSuccess=false;
e.printStackTrace();
System.out。
println(”修改失败”);
returnisSuccess;
5库存管理
1功能分析
仓库盘点时,用户可以进行产品入库,产品出库,入库修改操作,同时可以进行相应地查询。
仓库管理时,用户可以分配仓库,修改仓库,查询、删除仓库.
5.2实现原理
用hibernate语句里的查询、增加、修改、删除语句,对数据库里对应的产品仓库表,仓库表进行相应的操作.
图19仓库管理界面
5.3核心代码
*根据条件查询
*@paramcondtions
*@return
*/
publicListRangegetSaleByParames(Mapconditions){
StringproductName=”"
;
Stringusername=””;
//仓库名字
Stringdbasename=”"
try{productName=(conditions.get(”pname”)!
=null)?
(conditions。
get(”pname”).toString()):
"
”;
username=(conditions.get(”username”)!
=null)?
get(”username”)。
toString()):
”"
;
dbasename=(conditions.get(”dbase"
)!
=null)?
(conditions.get(”dbase”)。
””;
}catch(Exceptionef){
ef。
printStackTrace();
}
System。
out.println(”-—-—-———-—-——————-—传递的"
+productName+username+dbasename);
//条件SQL语句
Stringsql="
fromStoreasmwherem.flag=1andm。
storeId!
=0”;
if(!
(”"
。
equals(productName))){
sql=sql+”andm。
product。
pname=’”+productName+"
'
"
}
("
”。
equals(dbasename))){
sql=sql+”andm.dbase。
dbasename='
”+dbasename+”'
”;
}
if(!
(””。
equals(username))){
sql=sql+"
andm.user.username='
”+username+”'
}
System。
out。
println("
sqlis:
+sql);
List〈Store>
slist=pojod.findByPropertysSQL(sql);
if(slist。
returnPageShow.pageHandle(conditions,convertFormat(slist));
}else{
infoList。
add(newStore());
subList(0,1)。
toArray(),infoList.size());
5.6系统管理
5.6。
管理员可以进行分配用户,修改用户信息,同时查看,删除用户信息。
6.2实现原理
用hibernate语句里的查询、增加、修改、删除语句,对数据库里对应的用户表进行相应的操作。
图20用户管理界面
6。
*逻辑删除
*@paramids要删除的ID存放在数组当中
publicbooleandelete(Listids){
booleanisSuccess=true;
intsaleId=0;
try{
for(inti=0;
i<
ids。
size();
i++){
saleId=(Integer)ids。
get(i);
Users=pojod.findById(saleId);
s.setFlag
(2);
pojod。
saveorupdate(s);
}catch(Exceptione){
isSuccess=false;
e.printStackTrace();
println(”删除失败"
);
}//返回产ID
returnisSuccess;
6系统测试
1系统开发环境
操作系统:
Windows7;
开发工具:
Myeclipse6.0。
1;
开发语言:
UML;
应用数据库:
SQLServer2000;
应用服务器:
Tomcat6。
0;
6.2系统测试
2.3测试项目说明
在测试过程中对每个功能逐一测试,其具体操作如下:
(1)测试是否能够正常登陆
当用户输入用户名不存在,或用户名与其所输入的密码不准确时,就无法正常登陆.必须输入正确的用户名和密码。
(2)测试基本信息,销售,进货,仓库管理,系统管理五个模块功能是否正常执行
在测试销售管理下添加销售单时,要输入产品数量,否则无法变更仓库中相应的产品数量,只有准确输入各个产品信息才能成功添加销售单;
在测试进货管理下添加进货单时,要输入产品数量,否则无法变更仓库中相应的产品数量,只有准确输入各个产品信息才能成功添加进货单;
在测试仓库管理下分配仓库管理时,仓库与用户必须保证一对一的关系,否则提示“添加不成功”;
在测试基本信息下添加产品时,必须要输入产品所有信息,否则会提示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 课程设计 进销存 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)