Java服装销售系统.docx
- 文档编号:11983115
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:61
- 大小:365.46KB
Java服装销售系统.docx
《Java服装销售系统.docx》由会员分享,可在线阅读,更多相关《Java服装销售系统.docx(61页珍藏版)》请在冰豆网上搜索。
Java服装销售系统
目录
摘要I
第1章绪论1
第2章系统功能介绍2
2.1系统功能总框图2
2.2本系统模块功能介绍2
2.2.1登录功能介绍2
2.2.2商品销售功能介绍3
2.2.3权限管理功能介绍3
2.2.4销售管理功能介绍4
2.2.5商品管理功能介绍4
2.3组内任务分工5
第3章数据库设计6
3.1数据库需求分析6
3.2数据库概念结构设计6
3.3数据库表的设计7
第4章系统功能实现8
4.1登录功能实现8
4.2销售界面功能介绍11
4.2.1搜索商品的信息11
4.2.2购买商品11
4.2.3模块的核心代码12
4.3权限管理功能介绍18
4.3.1添加用户功能介绍18
4.3.2修改用户功能介绍19
4.3.3删除用户功能介绍19
4.3.4显示用户信息与刷新按钮介绍20
4.3.5用户管理的实现代码……………………………………………………………....20
4.4销售管理功能介绍27
4.4.1编号查询功能27
4.4.2账单查询功能27
4.4.3销售管理模块的核心代码28
4.4商品管理功能介绍31
4.4.1查询信息31
4.4.2添加信息及提交添加32
4.4.3删除信息及提交删除32
4.4.4修改信息及提交修改33
4.4.5关于33
4.4.6模块的核心代码……………………………………....……………………………34
总结39
致谢40
参考文献41
第2章系统功能介绍
2.1系统功能总框图
小超市管理系统是一个专门针对小型的商店和超市的智能化、自动化的管理系统。
其功能总框图如图2-1所示。
图2-1系统功能总框图
2.2本系统模块功能介绍
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.3组内任务分工
组内人员分工如表2-1所示:
表2-1组内分工
组内分工
姓名
主要任务
成绩
组长
王浩
数据库的设计、商品管理和用户管理等功能
组员
魏兴龙
销售管理界面及功能
组员
王潇伯
商品销售界面及功能
组员
夏恩亮
权限销售界面及功能
第3章数据库设计
在每个管理系统中都一定有储存机制,若单单以文件形式储存,查找和存储时速度比较缓慢,会降低系统的整体运行速度,一定要运用数据库的进行信息管理,所以我们的“小超市管理系统”运用了MicrosoftAccess数据库,存储其后台数据。
下面将介绍本系统的数据库设计。
3.1数据库需求分析
此系统需要有两个实体,账户和商品。
数据项如表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
商品的库存数量
数量
整型
3.2数据库概念结构设计
根据需求分析设计出E-R图如图3-1所示:
图3-1系统E-R图
3.3数据库表的设计
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所示。
图4-1小超市管理系统登录界面
模块核心代码:
publicclassLoginextendsFrameimplementsActionListener,WindowListener//登陆界面
{
publicintscreanWidth,screanHeight;
Stringidin=null;
Stringkeyin=null;
StringpasswordD=null;
publicstaticStringpersontyD=null;
MenuBarmenubar;
Menumenu;
MenuItemquet,help;
Labelid,key;
TextFieldidtf,keytf;
BoxboxV1,boxV2,boxV3,baseBox,boxx;
ButtonenterB;
Login()
{setTitle("超市管理系统登陆界面");
Toolkittool=getToolkit();
Dimensiondim=tool.getScreenSize();
screanWidth=dim.width;
screanHeight=dim.height;
setBounds(dim.width/3,dim.height/3,320,215);
menubar=newMenuBar();
menu=newMenu("功能");
help=newMenuItem("帮助");
quet=newMenuItem("退出");
quet.setShortcut(newMenuShortcut(KeyEvent.VK_E));
quet.addActionListener(newActionListener()//匿名类实例控制
{
publicvoidactionPerformed(ActionEventp){
System.exit(0);
}});
menu.add(help);
menu.add(quet);
menubar.add(menu);
setMenuBar(menubar);
id=newLabel("请输入帐号:
",Label.RIGHT);
key=newLabel("请输入密码:
",Label.RIGHT);
idtf=newTextField(10);
keytf=newTextField(10);
keytf.setEchoChar('*');
enterB=newButton("登陆");
boxV1=Box.createVerticalBox();
boxV1.add(Box.createVerticalStrut(35));
boxV1.add(id);
boxV1.add(Box.createVerticalStrut(15));
boxV1.add(key);
boxV1.add(Box.createVerticalStrut(15));
boxV2=Box.createVerticalBox();
boxV2.add(Box.createVerticalStrut(35));
boxV2.add(idtf);
boxV2.add(Box.createVerticalStrut(15));
boxV2.add(keytf);
boxV2.add(Box.createVerticalStrut(15));
baseBox=Box.createHorizontalBox();
baseBox.add(Box.createHorizontalStrut(25));
baseBox.add(boxV1);
baseBox.add(Box.createHorizontalStrut(5));
baseBox.add(boxV2);
baseBox.add(Box.createHorizontalStrut(70));
boxV3=Box.createHorizontalBox();
boxV3.add(Box.createHorizontalStrut(125));
boxV3.add(enterB);
boxV3.add(Box.createHorizontalStrut(125));
boxx=Box.createVerticalBox();
boxx.add(baseBox);
boxx.add(Box.createVerticalStrut(15));
boxx.add(boxV3);
boxx.add(Box.createVerticalStrut(70));
add(boxx);
enterB.addActionListener(this);
addWindowListener(this);
setResizable(false);
setVisible(true);
}
publicvoidactionPerformed(ActionEvente)
{Connectioncon;
Statementsql;
ResultSetrs;
if(e.getSource()==enterB)
{idin=idtf.getText();
keyin=keytf.getText();
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundExceptionf)
{System.out.println(""+f);}
try
{con=DriverManager.getConnection("jdbc:
odbc:
q","","");
sql=con.createStatement();
rs=sql.executeQuery("SELECT*FROMpasswordwhereID='"+idin+"'");
while(rs.next()){
passwordD=rs.getString
(2);
persontyD=rs.getString(3);}
con.close();}
catch(SQLExceptiong)
{System.out.println(g);}
if(keyin.equals(passwordD))
{View2frame=newView2();
this.setVisible(false);}
else{JOptionPane.showMessageDialog(this,"帐户或密码错误\n请重新输入","提示",JOptionPane.WARNING_MESSAGE);}}}
publicvoidwindowActivated(WindowEvento)
{validate();}
publicvoidwindowDeactivated(WindowEvento)
{setBounds(screanWidth/3,screanHeight/3,320,215);
validate();}
publicvoidwindowClosing(WindowEvento)
{dispose();}
publicvoidwindowClosed(WindowEvento)
{System.exit(0);}
publicvoidwindowIconified(WindowEvento)
{}
publicvoidwindowDeiconified(WindowEvento)
{setBounds(screanWidth/3,screanHeight/3,320,215);
validate();}
publicvoidwindowOpened(WindowEvento){}
}
4.2销售界面功能介绍
该功能是此系统的最关键的模块,是消费者直接使用的功能。
消费者可以根据已看到的商,在搜索栏中打入商品的编号,进行查询商品的信息,然后可以依椐自已的需要购买。
最后单击提交,购买的商品就记录到系统的数据库中。
销售的主界面如图4-2所示:
图4-2销售的主界面
4.2.1搜索商品的信息
消费者可根据自已所需要的商品编号,在销售功能中搜索,查看商品的信息无误后,确定是否购买。
如搜索001号商品,查看它的信息,如图4-3所示。
图4-3搜索001号商品的信息
4.2.2购买商品
在确定自已需要的商品后,然后就是购买商品,消费者可以按“购买”键进行购买物品,购买一份就单击一次“购买”键,购买物品的信息显示在购物信息框中,最后单击“提交”,消费者所购买的物品就作为一个账单号存储在数据库中。
如购买004、005、006、008、010和011号商品时,购买信息如图4-4下:
图4-4购买信息
当购买人不想购买这些商品时,可以点击窗口左下角的清除按钮,来清除刚才购买的商品,数据库中也不会有此记录。
此外,本系统是每购买一件商品向数据库提交一次记录,当未点击提交按钮之前,若要结束此窗口进程,我们在代码中嵌入了一段删除当前帐单的数据库记录代码,以达到没有误提交的操作。
4.2.3模块的核心代码
⑴销售界面的实现
publicclassView2extendsJFrameimplementsActionListener//销售界面
{
Stringnum=null,name=null,time=null,add=null,t1=null,t2=null,t3=null;
intprice=0;
intn1,n2,ap,n3;
privateJPanelsM=newJPanel();//supermarket面板
privateJButton[]pS={newJButton("销售界面"),newJButton("销售管理"),
newJButton("商品管理"),newJButton("权限管理")};//personty按钮
privateJTextAreagoodsShow=newJTextArea(),searchShow=newJTextArea();//文本区
privateJScrollPanejsp=newJScrollPane(goodsShow);//滚动区域设定内容为商品显示的文本区
privateJTextFieldnumSearch=newJTextField(),showGoods=newJTextField();//商品查询/显示商品
privateJButtonsearchGoods=newJButton("搜索"),buyGoods=newJButton("购买"),
clean=newJButton("清空"),ok=newJButton("提交"),print=newJButton("打印并提交");//查询按钮
privateJLabel[]goodsInformation={newJLabel("商品编码",JLabel.CENTER),newJLabel("商品名称",JLabel.CENTER),
newJLabel("商品价格",JLabel.CENTER),newJLabel("生产日期",JLabel.CENTER),newJLabel("生产地",JLabel.CENTER)};
privateJLabel[]goodsI={newJLabel("商品编码",JLabel.CENTER),newJLabel("商品名称",JLabel.CENTER),
newJLabel("商品价格",JLabel.CENTER),newJLabel("生产日期",JLabel.CENTER),newJLabel("生产地",JLabel.CENTER)};
privateJLabelallPrice=newJLabel("商品总价:
\n",JLabel.LEFT),label1=newJLabel("商品信息",JLabel.RIGHT),label2=newJLabel("购物信息",JLabel.RIGHT);
publicView2()
{
sM.setLayout(null);
for(inti=0;i<4;i++)
{
pS[i].setBounds(550+i*110,50,100,22);
sM.add(pS[i]);
pS[i].addActionListener(this);
}
jsp.setBounds(100,180,800,500);
goodsShow.setLineWrap(true)
numSearch.setBounds(100,50,150,22);
searchGoods.setBounds(260,50,60,22);
searchGoods.addActionListener(this);
buyGoods.setBounds(330,50,60,22);
buyGoods.addActionListener(this);
showGoods.setBounds(100,120,800,22);
for(intb=0;b<5;b++)
{
goodsInformation[b].setBounds(100+160*b,87,160,30);
sM.add(goodsInformation[b]);
}
for(intb=0;b<5;b++)
{
goodsI[b].setBounds(100+160*b,150,160,30);
sM.add(goodsI[b]);
}
clean.setBounds(100,690,100,22);
clean.addActionListener(this);
ok.setBounds(690,690,100,22);
ok.addActionListener(this);
print.setBounds(800,690,100,22);
print.addActionListener(this);
allPrice.setBounds(900,480,100,50);
label1.setBounds(20,120,80,22);
label2.setBounds(20,180,80,22);
sM.add(label1);
sM.add(label2);
sM.add(allPrice);
sM.add(print);
sM.add(ok);
sM.add(showGoods);
sM.add(clean);
sM.add(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 服装 销售 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)