超市收银系统j2ee课程设计Word文档下载推荐.docx
《超市收银系统j2ee课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《超市收银系统j2ee课程设计Word文档下载推荐.docx(41页珍藏版)》请在冰点文库上搜索。
所以在这个系统中,要实现的功能主要如下:
(1)对库存产品进行资料管理和统计;
(2)对产品的进货单和产品的销售单进行录入管理和统计;
(3)对进货、销售、库存情况进行查询;
(4)对用户进行管理,通过用户名和密码进行登录;
(5)对供应商基本信息的管理;
(6)对赢利状况分析,进行营业统计;
根据需求确定以下功能模块:
(1)本系统是多用户系统,用户可分为管理员和收银员两类,登录时系统自动判断当前使用人员的权限,避免安全性问题。
①收银员登录系统,进入系统后,开始输入商品ID,销售收费,并可以退货,收费完毕,系统自动清空销售临时数据
图2.1.2前台管理功能模块图
②管理员登录系统以后,可以对商品单位进行添加、删除、修改、查询操作,可以对用户和收银员资料进行添加、删除、修改、查询操作,可以进行采购入库操作,进行库存盘点操作,进行进货和退货统计操作,并查看收银信息。
图2.1.3前台管理功能模块图
本系统有收银员、管理员两种角色,包括登陆、管理用户信息、管理收银员信息、管理商品信息、管理退货信息、管理收银信息等8个用例,用例图如下:
图2.1.4超市收银系统用例图
2.2超市收银系统静态模型
从前面的需求分析中,不难发现需要创建如下10个类,查询货物信息类、查询收银员信息类、查询出货信息类、查询退货信息类、更新货物信息类,更新收银员信息类、更新用户信息类,数据库连接类、数值计算类。
如下图2.5所示。
图2.2超市收银系统类图
主要流程图
图3.7用户登陆流程图
图3.8管理员更改用户信息流程图
图3.9收银员整体操作流程图
2.3超市收银系统动态模型
系统的动态模型可以使用交互作用图、时序图、和活动图来描述。
收支管理活动图如图2.3。
图2.3收支管理活动图
2.4系统目标
系统以界面直观、易学易用、功能全面、系统稳定为主要特点,支持连锁及多业态经营管理模式,能从根本上满足现代商业企业的管理高效、分析精确、降低成本的要求,帮助企业实现物流、信息流、资金流的科学管理,为企业提高自身竞争力奠定坚实的基础。
该系统主要实现以下目标:
2.5运行环境
该系统为B/S三层结构,它的运行环境分客户端、应用服务器端和数据库服务器端三部分。
以下是本系统的软件环境需求表:
表2软件环境需求表
客户端
应用服务器端
数据库服务器端
操作系统
最低要求:
WindowsXP
应用程序
IE6以上,及其它常见浏览器(如FireFox)。
Tomcat5.5或其他更新版本。
MySql5.5及其他更新版本。
备注
最佳分辨率1366*768
Tomcat6.0最佳
MySql5.5最佳
3超市收银系统具体功能描述及实现
3.1具体功能描述
登陆界面:
主要包括登陆信息区和图片区。
图3.1登陆界面
登陆信息区需要输出用户名,密码验证码。
用户名、密码、验证码均不能为空,为空时点击登陆会给出提示。
所有字段不为空时,校验用户名密码是否正确,错误时给出提示。
用户名、密码正确时,校验验证码,错误给出提示。
正确填写用户名、密码和验证码后,通过对当前用户的权限校验,跳转到管理员首页界面或者收银员首页界面。
try
{Stringname=request.getParameter("
name"
);
session.setAttribute("
name);
Stringpw=request.getParameter("
pw"
Stringrond=(String)session.getAttribute("
rand"
Stringtext=request.getParameter("
text"
ConnIndc=newConnInd();
c.setText(name);
c.setPw(pw);
if(c.lpUser()==1){
if(rond.equals(text)){
response.sendRedirect("
admin.jsp"
}
else{
%>
<
scripttype="
text/javascript"
>
alert("
验证码错误"
document.location.replace("
index.jsp"
/script>
%
}
if(c.lpUser()==2)
response.sendRedirect("
cashier.jsp"
%
if(c.lpUser()==0&
&
name!
=null&
pw!
=null){
%>
<
alert("
用户名/密码错误"
document.location.replace("
}
catch(Exceptione)
{
3.1.1用户管理
用户管理包括两个主要功能:
查询用户信息和更改用户信息。
图3.1.1-A查询用户信息界面
查询用户信息:
可以查询数据库里已有的用户信息,包括用户名、密码、角色。
其中角色就是区分管理员和收银员的依据。
图如下:
Java:
Vectorvt=newVector();
try{Conndbcodb=newConndb();
Statements=codb.getconnection().createStatement();
Stringsql="
select*fromuserInfo"
;
ResultSetrs=s.executeQuery(sql);
while(rs.next())
{SelectUserInfosui=newSelectUserInfo();
sui.setText(rs.getString
(1));
sui.setPw(rs.getString
(2));
sui.setRole(rs.getString(3));
vt.add(sui);
}
rs.close();
s.close();
codb.closed();
}catch(Exceptione){e.printStackTrace();
}
Jsp:
<
%for(intj=0;
j<
i;
j++)
SelectUserInfosui=(SelectUserInfo)vt.get(j);
%>
更改用户信息:
图3..1.1-B更改用户信息界面
管理员可以添加用户(只可以添加收银员用户),所有的用户都可以登陆,添加时用户名和密码由管理员手动输入。
try{
Stringsub=request.getParameter("
sub"
Stringtext1=request.getParameter("
text1"
Stringtext2=request.getParameter("
text2"
if(sub.equals("
删除"
))
if(text1!
!
text1.equals("
"
)){%>
jsp:
forwardpage="
addel/delUser.jsp"
paramname="
value="
<
%=text1%>
/>
/jsp:
forward>
%}else{
alert("
删除的用户不能为空!
document.location.replace("
updateUserInfo.jsp"
catch(Exceptione){}
3.1.2商品管理
商品管理包括两个个主要功能:
查询商品信息和更改商品信息
图3.1.2查询商品信息界面
查询商品信息:
可以查询商品的全部信息包括ID、名称、单价、进货量、进价、进货时间、出货量和库存等信息,便于管理员进货维护或者查询货物ID。
JAVA:
Vectorvt=newVector();
try{
Conndbcodb=newConndb();
select*fromgoodsInfo"
{
SelectGoodsInfosgi=newSelectGoodsInfo();
sgi.setS1(rs.getString
(1));
sgi.setS2(rs.getString
(2));
sgi.setS3(rs.getString(3));
vt.add(sgi);
}catch(Exceptione){
e.printStackTrace();
更改商品信息:
可以实现删除、添加商品功能。
图3.1.3更改商品信息界面
try
{Stringsub=request.getParameter("
Stringtext3=request.getParameter("
text3"
Stringtext4=request.getParameter("
text4"
Stringtext5=request.getParameter("
text5"
Stringtext6=request.getParameter("
text6"
Stringtext7=request.getParameter("
text7"
Stringtext8=request.getParameter("
text8"
Stringtext9=request.getParameter("
text9"
Stringtext0=request.getParameter("
text0"
{%>
addel/delGoods.jsp"
%}
添加"
{%>
addel/addGoods.jsp"
%=text2%>
%=text3%>
%=text4%>
%=text5%>
%=text6%>
%=text7%>
%}
3.1.3收银员管理
收银员管理:
分为查看收银员信息和更改收银员信息两大部分。
图3.1.3-A查询收银员信息界面
try{
select*fromcashierInfo"
{SelectCashierInfosci=newSelectCashierInfo();
sci.setS1(rs.getString
(1));
sci.setS2(rs.getString
(2));
sci.setS3(rs.getString(3));
sci.setS4(rs.getString(4));
sci.setS5(rs.getInt(5));
vt.add(sci);
}catch(Exceptione){
更改收银员信息:
图3..1.3-B更改收银员信息界面
更改收银员信息包括添加收银员和删除收银员,当然需要填写一些必要的字段。
{Stringsub=request.getParameter("
addel/delCashier.jsp"
addel/addCashier.jsp"
%}}
3.1.4收银管理
收银管理主要是查看收银信息。
图3.1.4收银管理界面
查看收银信息,可以查看所有收银员的收银情况,包括货物的id,名称,出货量,单价和金额。
但是管理员,不可以随便修改,收银情况由收银员维护。
Vectorvt=SelectCashInfo.selectInfo();
inti=vt.size();
for(intj=0;
SelectCashInfosui=(SelectCashInfo)vt.get(j);
trheight="
50"
tdbgcolor="
#66FF99"
divalign="
center"
%=sui.getId()%>
/div>
/td>
%=sui.getName()%>
%=sui.getNum()%>
%=sui.getPrice()%>
%=sui.getSum()%>
/tr>
%>
3.1.5退货管理
退货管理主要包括查看退货信息功能。
图3.1.5退货信息界面
查看退货信息:
查看退货信息就是展示以记录在退货档案上的数据。
包括交易号,商品ID,进货数量,商品单价,退货原因等字段。
request.setCharacterEncoding("
gb2312"
{Stringid=request.getParameter("
id"
Stringnum1=request.getParameter("
num"
Stringprice1=request.getParameter("
price"
intnum=Integer.parseInt(num1);
floatprice=Float.parseFloat(price1);
ReturnedInfori=newReturnedInfo();
ri.setId(id);
ri.setNum(num);
ri.setPrice(price);
ri.setText(text);
ri.setCount(count);
ri.insertInfo();
}catch(Exceptione){}
3.1.6销售收费
销售收费界面,即收银员登陆后的主页。
主要有商品查询信息区,购买商品信息区,和按钮区组成。
收银员可以录入商品ID和商品数量,购买商品信息区将记录展示已购买的货物,并计算出每样商品的总价。
同一件商品可以多次录入。
界面采用iframe布局,中间部分镶嵌另一个页面,数据多时内