Java超市管理系统.docx
- 文档编号:28308749
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:36
- 大小:565.57KB
Java超市管理系统.docx
《Java超市管理系统.docx》由会员分享,可在线阅读,更多相关《Java超市管理系统.docx(36页珍藏版)》请在冰豆网上搜索。
Java超市管理系统
沈阳工程学院
课程设计
设计题目:
面向对象程序设计课程设计
小超市管理系统
课程设计任务书
课程设计题目:
面向对象程序设计课程设计
小超市管理系统
用户管理的实现代码……………………………………………………………....20
模块的核心代码……………………………………....……………………………34
第1章绪论
随着人们生活水平的不断提高,购物已成为一种时尚。
每天都有大量的消费者在各大商场中留下消费信息,所以作为商场的管理人员就需要有一个自动化、智能化的管理系统来完成这些信息的处理。
由此我们设计开发小超市管理系统。
目前市场上的超市管理系统,大部分为基于分布式数据库的网络管理系统,对于规模较小的超市没有必要花巨资来购买这样功能全面的管理系统,此外,对于那样功能齐全的管理系统也需要花大精力来维护。
基于这种情况,我们用所学的java知识,可以开发一种既能节约资金,又能完成小超市日常的管理任务。
本系统所包括的功能主要有:
限于不同身份的人登录的登录界面;权限管理功能;商品销售功能;商品管理功能;销售管理功能。
在系统的设计中,用户管理功能可以管理登录本系统的人员,如:
管理员、用户和超级用户等。
在最初的系统使用中只有技术管理员一种身份。
商品销售功能;可以完成商品信息的查询。
如:
输入一种商品的编号在商品信息栏就显示该商品的所有信息,名称、价格、生产日期、生产地。
然后选择购买功能,就可以将商品添加到购物信息栏,最后选择提交,所购买的商品信息同时也添加到数据库中。
在商品管理功能中,可以把一种新引进的商品信息添加到小超市管理系统中。
在销售管理功能中,可以查看超市的销售情况,所有商品的购买信息都存储在数据库中。
在系统的安全性方面,我们规定了不同权限的登录用户,管理员(主要负责用户管理)可以登录到任何一个管理模块,以及后台的数据库,能够改变任一个登录者的用户名和密码。
用户只能进入到销售界面。
老板超级主要查看商品的销售情况和商品管理,他可以进入到商品销售管理查看商品的销售情况。
通过这样的权限限制就可以方便的控制系统的安全性。
总之,小超市管理系统是一个经济、实惠的应用软件,适合小规模的商店和超市。
操作难度小,易学易用。
第2章系统功能介绍
系统功能总框图
小超市管理系统是一个专门针对小型的商店和超市的智能化、自动化的管理系统。
其功能总框图如图2-1所示。
图2-1系统功能总框图
本系统模块功能介绍
2.2.1登录功能介绍
登录功能是进入系统必须经过的验证过程,其主要功能是验证使用者的身份,确认使用者的权限,从而在使用软件过程中能安全地控制系统数据,即不同的工作人员有不同的权限,每个使用人员不得跨越其权限操作软件,可以避免不必要的数据丢失事件发生。
登录的界面如图2-2所示:
图2-2登录的界面
2.2.2商品销售功能介绍
销售界面是本系统直接供销售的店员应用的专管销售功能的界面,首先要查询欲购买的商品,在左侧的查询框内输入商品代号,然后点击搜索按钮,相应的商品信息将显示在“商品信息”一栏中,确认是此商品后点击购买,购买的商品将出现在下面的购物信息一栏中,当所有欲购买的商品都已输入好,点击提交,购买的商品信息将记录到数据库中。
若输入有误,点击清除按钮,刚输入的信息将被清除,可重新输入。
界面的右下方右商品总价的标签,可以时时地显示已购买商品的总价,以供参考。
商品销售功能的主界面如图2-3所示:
图2-3销售窗口的主界面
2.2.3用户管理功能介绍
用户管理功能是管理人员使用的界面。
管理人员可以使用此功能管理所有登录用户的信息。
可以修改所有用户的帐号和密码,设置用户的权限,删除用户的帐号;对于已存在的用户技术管理员可以查询他们的信息,在下面的显示用户信息处显示。
添加、修改、删除等操作后,单击“刷新”后,新的更改信息才可以在下面的用户信息显示处显示。
用户管理的主界面如图2-4所示:
图2-4用户管理的主界面
2.2.4销售管理功能介绍
销售管理功能主要是老板查看超市商品销售情况。
老板可以根据已售出的商品号查询该商品的信息,如可以查询该商品已售出的总数量。
还可以根据销售的账单号查询,就是在消费者每一次购买商品时,就分配一个账单号,如出现消费者退货情况时,老板可以查询账单号解决。
“按编号查询”输入商品的编号,在下面的商品信息处显示该商品的信息;“按账单号查询”输入商品的账单号,在下面的商品信息处显示该商品的信息。
销售管理功能的主界面如图2-5所示:
图2-5商品管理功能主界面
2.2.5商品管理功能介绍
商品管理的功能是店员在进货、商品信息维护时所需要的界面,此界面功能是管理所有商品的信息,在这里可以添加、修改、删除任意商品信息,做到对商品信息的及时维护。
应用时,对应按钮的功能,进行应用,维护方便。
商品管理功能的主界面如图2-6所示:
图2-6商品管理系统的主界面
组内任务分工
组内人员分工如表2-1所示:
表2-1组内分工
组内分工
姓名
主要任务
成绩
组长
王浩
数据库的设计、商品管理和用户管理等功能
组员
魏兴龙
销售管理界面及功能
组员
王潇伯
商品销售界面及功能
组员
夏恩亮
权限销售界面及功能
第3章数据库设计
在每个管理系统中都一定有储存机制,若单单以文件形式储存,查找和存储时速度比较缓慢,会降低系统的整体运行速度,一定要运用数据库的进行信息管理,所以我们的“小超市管理系统”运用了MicrosoftAccess数据库,存储其后台数据。
下面将介绍本系统的数据库设计。
数据库需求分析
此系统需要有两个实体,账户和商品。
数据项如表3-1和3-2所示。
表3-1用户信息数据项
数据项名
数据项含义说明
别名
数据类型
长度
ID
用户登录的帐号
Id
字符型
50
PASSWORD
用户登录帐号对应的密码
Psw
字符型
50
PERSONTY
登录用户的权限
Pst
字符型
50
表3-2商品信息数据项
数据项名
数据项含义说明
别名
数据类型
长度
NUM
商品的编号
编号
字符型
50
NAME
商品的名称
名称
字符型
50
TIME
商品的进货时间
货时
字符型
50
ADD
商品的生产地址
产地
字符型
50
PRICE
商品的单价
价格
整型
50
COUNT
商品的库存数量
数量
整型
数据库概念结构设计
根据需求分析设计出E-R图如图3-1所示:
图3-1系统E-R图
数据库表的设计
Password表,其中存储的是用户的帐号、密码及权限,用于登陆系统时确认身份。
此表设计如3-3表所示:
表3-3Password信息表
字段名称
数据类型
长度
备注
ID
文本
50
PASSWORD
文本
50
PERSONTY
文本
50
Goods表,其中存储的是商品的详细信息,作用是记录商品的信息及在本超市中的数量。
此表设计如3-4标所示。
表3-4Goods信息表
字段名称
数据类型
长度
备注
NUM
文本
50
NAME
文本
50
PRICE
整型
TIME
文本
50
ADD
文本
50
COUNT
文本
50
Information表,其中存储的是顾客在超市中的消费情况,其中有帐单号、商品代号、数量及总价,用来记录超市中销售情况,此表设计如3-5表所示。
表3-5Information信息表
字段名称
数据类型
长度
备注
编号
长整型
销售的每件商品有不同的编号
LISTNUM
文本
50
每提交一次帐单帐单号增加1
GOODSNUM
文本
50
ALLPRICE
整型
每个帐单的最后合出此帐单的总价
第4章系统功能实现
登录功能实现
登录界面是使用者在使用此软件时需要输入自已的账号和密码,从而使用自已的权限来管理超市的运行。
小超市登录界面如4-1所示。
图4-1小超市管理系统登录界面
模块核心代码:
publicclassLoginextendsFrameimplementsActionListener,WindowListenerBoxboxV14.2.14.2.24.2.3etBounds(550+i*110,50,100,22);
(pS[i]);
pS[i].addActionListener(this);
}
(100,180,800,500);
(true)
(100,50,150,22);
(260,50,60,22);
(this);
(330,50,60,22);
(this);
(100,120,800,22);
for(intb=0;b<5;b++)
{
goodsInformation[b].setBounds(100+160*b,87,160,30);
(goodsInformation[b]);
}
for(intb=0;b<5;b++)
{
goodsI[b].setBounds(100+160*b,150,160,30);
(goodsI[b]);
}
(100,690,100,22);
(this);
(690,690,100,22);
(this);
(800,690,100,22);
(this);
(900,480,100,50);
(20,120,80,22);
(20,180,80,22);
(label1);
(label2);
(allPrice);
(print);
(ok);
(showGoods);
(clean);
(numSearch);
(searchGoods);
(buyGoods);
(jsp);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
Connectioncon;
Statementsql;
ResultSetrs;
try
{
if(n3!
=0)
{
inta1=0;
con=("jdbc:
odbc:
q","","");
sql=();
rs=("SELECTMAX(编号)frominformation");
while())
{
a1=
(1);}
for(inti=0;i { ("deletefrominformationwhere编号="+(a1-i)); } (); ap=0; num=null;name=null;price=0;time=null;add=null;n3=0; (null); } } catch(SQLExceptiong) {} (0); } }); (sM); ("销售窗口"); (false); (0,0,1024,768); (true); validate();} ⑵购买商品功能的代码 if()==buyGoods)4.3.14.3.24.3.34.3.44.3.5; import.*; import.*; import.*; importclassView3extendsJFrameimplementsActionListener { Stringurl="jdbc: odbc: driver={MicrosoftAccessDriver(*.mdb)};DBQ=D: \\"; privateJPanelv3=newJPanel(); privateJLabelidl1=newJLabel("ID",,idl2=newJLabel("ID",,idl3=newJLabel("ID",,passwordl1=newJLabel("PASSWORD",,passwordl2=newJLabel("PASSWORD",,perl1=newJLabel("PERSONTY",,perl2=newJLabel("PERSONTY",; privateJLabel[]cho={newJLabel("添加用户",,newJLabel("修改用户",,newJLabel("删除用户",,newJLabel("显示用户信息",}; privateJTextFieldid1=newJTextField(),id2=newJTextField(),id3=newJTextField(),password1=newJTextField(),password2=newJTextField(); privateJButton[]pS={newJButton("销售界面"),newJButton("销售管理"), newJButton("商品管理"),newJButton("用户管理")}; privateJButton[]cB={newJButton("添加"),newJButton("修改"),newJButton("删除")}; privateJButtonaddin=newJButton("添加"),updatein=newJButton("修改"),dele=newJButton("修改"); privateString[]str={"无","管理员","超级用户","用户"}; privateJComboBoxper1=newJComboBox(str),per2=newJComboBox(str); privateJTextAreajtas=newJTextArea(); privateJScrollPanejsp=newJScrollPane(jtas); privateJButtonreShow=newJButton("刷新"); Connectioncon;etBounds(550+i*110,50,100,22); (pS[i]); pS[i].addActionListener(this); } for(inti=0;i<4;i++) {cho[i].setBounds(50,120+i*51,140,22); (cho[i]); } for(inti=0;i<3;i++) {cB[i].setBounds(680,120+i*51,80,22); (cB[i]); cB[i].addActionListener(this); } (200,98,150,22);(370,98,150,22);(540,98,100,22); (200,120,150,22);(370,120,150,22);(540,120,100,22); (200,149,150,22);(370,149,150,22);(540,149,100,22); (200,171,150,22);(370,171,150,22);(540,171,100,22); (200,200,150,22); (200,222,150,22); (865,273,90,22); (this); try { Connectioncon; Statementsql; ResultSetrs; con=(url); sql=(); rs=("SELECT*frompassword"); while()) { Stringa1= (1); Stringa2= (2); Stringa3=(3); ("帐号: "+a1+"密码: "+a2+"权限: "+a3+"\n"); } (); } catch(SQLExceptiong) {} (200,273,650,420); (reShow); (jsp); (per1); (per2); (perl1); (perl2); (idl1); (id1); (idl2); (id2); (idl3); (id3); (passwordl1); (password1); (passwordl2); (password2); addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ (0); } }); (v3); ("权限管理"); (false); (0,0,1024,768); (true); validate(); } db)};DBQ=D: \\"; try{ (""); }catch(ClassNotFoundExceptione){ (null,"数据库操作错误或失败! "); } try{con=(url); st=(); }catch(SQLExceptione){ (null,"数据库连接失败! "); } } rim()).equals("")|| ().trim()).equals("")|| ()==0 )) { (null,"请输入完整信息! "); }else{ Stringuserid=(); Stringusername=(); Stringuserpwd=().toString(); "1111"); StringstrSQL= "insertintopasswordvalues('"+userid+"','"+username+"','"+userpwd+"')"; try{ conDB(); (strSQL); closeDB(); }catch(Exceptionexx){ "添加失败! 原因: 有可能数据库联接失败或以由此ID,尝试换个ID添加"); return; } (this,"添加成功! "); (""); (""); (0); } } rim()).equals("")|| ().trim()).equals("")|| ()==0 )) { (null,"请输入完整信息! "); }else{ Stringuserid=(); Stringusername=(); Stringuserpwd=().toString(); "1111"); StringstrSQL="updatepasswordsetpersonty='"+userpwd+"',password='"+username+"'whereID='"+userid+"'"; try{ conDB(); inta=(strSQL); closeDB(); if(a==0) {(this,"无此id信息,修改失败! "); return; } }catch(Exceptionexx){ "数据库原因,修改失败! "); return; } (this,"修改成功! "); (""); (""); (0); } } rim()).equals("") ) { (null,"请输入完整信息! "); }else{ Stringuserid=(); StringstrSQL="deletefrompasswordwhereID='"+userid+"'"; try{ conDB(); inta=(strSQL); closeDB(); if(a==0) {(this,"没有此用户删除失败! "); return; } }catch(Exceptionexx){ "没有此用户删除失败! "); return; } (this,"删除成功! "); (""); }} if()==pS[0]) {View2ve=newView2(); dispose();} if()==pS[1]) { if"管理员")||"超级用户")||"用户")) { sale2frame1=newsale2(); dispose(); } else (null,"对不起,您没有进入权限! "); } if()==pS[2]) { if"管理员")||"超级用户")) { Frm_Mainframe=newFrm_Main(); dispose(); } else (null,"对不起,您没有进入权限! "); } } 销售管理功能介绍 销售管理功能主要是老板了解商品的销售情况,他可以登录进来,按已销售商品的编号和商品的账单号来查询商品的销售情况。 也可以查询商品的售出的数量,当按编号查询时,后面的数量表示已售出商品的数量;当按账单号进行查询时,后面的数量表示消费者一次购买时,不同商品的总数。 从而了解哪些商品销售的好,对商品的进货做出决定。 商品管理功能的界面如图4-9所示。 图4-9商品管理功能界面 4.4.1编号查询功能 在已销售出的商品中,可以按照它的编号来进行查询,以显示售出商品的各种信息。 其中最后的信息“数量”表示已售出商品的数量。 如: 查询002号商品的销售情况,该商品一共卖出0份。 如图4-10所示。 图4-10002号商品的销售情况 4.4.2账单查询功能 每一种商品在销售时,都有用户提交的一份账单,也就是流水号查询。 消费者购买物品时,可以一次购买不同的商品,商品的编号不同,但是一次购买的账单号是一样的,账号查询的功能就是查询消费者一次购买的商品。 这个功能还可以防止消费者的结账出错时的查询,一次就可以查询出消费者的购买信息,解决错账的情况。 如查询流水号是0号的消费者的购买情况,在这一次的交易中销售如图4-11所示。 图4-11按账单查询情况 4.4.3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 超市 管理 系统