Java超市管理系统.docx

上传人:b****5 文档编号:28308749 上传时间:2023-07-10 格式:DOCX 页数:36 大小:565.57KB
下载 相关 举报
Java超市管理系统.docx_第1页
第1页 / 共36页
Java超市管理系统.docx_第2页
第2页 / 共36页
Java超市管理系统.docx_第3页
第3页 / 共36页
Java超市管理系统.docx_第4页
第4页 / 共36页
Java超市管理系统.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

Java超市管理系统.docx

《Java超市管理系统.docx》由会员分享,可在线阅读,更多相关《Java超市管理系统.docx(36页珍藏版)》请在冰豆网上搜索。

Java超市管理系统.docx

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

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

当前位置:首页 > 初中教育 > 语文

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

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