Java数据库服装销售系统剖析Word下载.docx
《Java数据库服装销售系统剖析Word下载.docx》由会员分享,可在线阅读,更多相关《Java数据库服装销售系统剖析Word下载.docx(29页珍藏版)》请在冰豆网上搜索。
参考文献………………………………………………………………………30
摘要
本设计以服装销售业务为对象,系统实现用的前台开发工具是Eclipse,后台数据库为SQL
Server
2008。
设计过程中的重点和难点是对整个系统的需求分析和数据库详细设计。
该系统对数据进行保存、修改、删除等管理。
为用户提供了一个友好、简单快捷的运行操作平台。
本系统的主要功能是在用户通过选择登录身份并验证后登录本系统,对本系统所提供的功能进行选择使用。
管理员可以对用户账户进行操作,也可以对商品信息进行操作。
店长可以进行商品信息的操作,也可以查看销售员的销售记录。
销售员只能进行商品的浏览,并且出售商品和查看自己的记录。
本系统的各界面设计友好,流程正确,功能也较为完善。
旨在为用户提供方便快捷的服务,使得服装销售公司的管理更加简洁明了,推动公司管理效率的提高。
关键词:
服装销售;
用户管理;
SQLServer
引言
随着现代科学技术的迅速发展,计算机已经在各个领域得到发展,为企业不可缺少的工具,特别是信息高速公路的建立,使IT产业在市场竞争中显示出其独特的优势,步入信息化时代,企业都有巨大的数据信息需要加工处理和传输,这使得对数据库的开发和利用显得尤为重要。
在这种信息环境下,我们对信息的手工管理已经落后于信息化管理。
作为一些小型服装店,他们的信息化程度远远落后与大中型服装公司,但这些小型服装店的信息资源也要处理,这些小型的服装店要跟上时代的发展要求,适应市场的激烈竞争,就需要高效的处理方式和管理方式。
因此,加快小型服装店的信息化进程是必不可少的。
针对这些问题,可以看出对开发管理信息系统迫切。
在开发过程中,采用了易学易用的操作环境,在系统设计过程中,尽量采用易懂易读的界面,使用可以在短期内可以完全掌握。
把系统的正确性放在第一位,力求数据的完整和处理的正确性
1需求分析
对服装店的销售信息进行管理,主要包括用户登录,服装基本信息,销售员销售记录等三类信息。
M
1
N
1.1任务与分析
向管理员提供以下功能:
自身密码修改,其他用户添加删除,用户信息修改、统计。
商品信息添加、修改、删除、查找、统计。
向店长提供以下功能:
登陆、注销、自身密码修改、自身信息修改。
商品信息修改,商品信息统计。
察看日报表、月报表、商品销售量报表、营业员业绩报表、查找浏览修改商品储备信息。
向销售员提供以下功能:
商品浏览、查找、出售商品、察看自己本日报表、本月报表。
1.2测试数据
表userindex
name
pwd
leixing
admin
123456
管理员
李刚
ligang
店长
小刚
xiaogang
销售员
小明
xiaoming
小王
xiaowang
张强
zhangqiang
表dress
dressname
price
num
红色裙子
134
9
蓝色男长裤
189
48
男鞋
248
58
女鞋
344
14
外套女
329
24
表report
salesman
salenum
salevalue
11
1474
12
4128
8
2632
3
402
2728
987
10
3440
2概要设计
根据用户界面划分了三个模块,分别为管理员模块,店长模块和销售员模块。
登录界面为主函数,验证登录后进入选择的模块。
各个模块有相应的功能,调用的方法操作封装好了的对象Dress,Report和UserIndex,方法的抽象定义在jdbc.dao里。
方法的实现在jdbc.dao.impl里。
3 详细设计
1.管理员模块
按钮响应事件调用confirm(),然后判断10个单选按钮选中的哪一个执行相应的输入判断。
voidconfirm()
{
user.setName(t1.getText());
user.setPwd(t2.getText());
user.setLeixing(t3.getText());
dress.setDressname(t1.getText());
try
{
dress.setPrice(Integer.parseInt(t2.getText()));
dress.setNum(Integer.parseInt(t3.getText()));
}
catch(NumberFormatExceptione)
dress.setNum(-1);
dress.setPrice(-1);
//e.printStackTrace();
}
ta.setText("
"
);
if(r1.isSelected())
r1cfm();
//执行添加用户
elseif(r2.isSelected())
r2cfm();
//执行删除用户
elseif(r3.isSelected())
r3cfm();
//执行修改用户
elseif(r4.isSelected())
r4cfm();
//执行统计用户
elseif(r5.isSelected())
r5cfm();
//执行添加商品
elseif(r6.isSelected())
r6cfm();
//执行修改商品
elseif(r7.isSelected())
r7cfm();
//执行删除商品
elseif(r8.isSelected())
r8cfm();
//执行查找商品
elseif(r9.isSelected())
r9cfm();
//执行统计商品
elseif(r10.isSelected())
r10cfm();
//执行密码修改
else
ta.setText("
请选择操作类型!
}
客户端对输入信息进行判断
voidr1cfm()//添加用户
{
if(t1.getText().equals("
)||t2.getText().equals("
)||t3.getText().equals("
))
请输入用户名,密码和用户类型"
else
if(t3.getText().equals("
销售员"
店长"
))
{
if(dao.queryUser(user.getName()))
ta.setText("
用户已存在!
else
{
dao.addUser(user);
增加用户成功"
}
}
else
用户类型必须为销售员或者店长"
voidr2cfm()//删除用户
请输入要删除的用户"
elseif(t1.getText().equals("
admin"
不能删除管理员"
{
if(dao.queryUser(user.getName()))
dao.deleteUser(user.getName());
已删除用户"
{
未找到用户"
}
voidr3cfm()//修改用户
不能修改管理员!
dao.updateUser(user);
信息修改成功"
else
ta.setText("
voidr4cfm()//统计用户
inti=1;
List<
UserIndex>
users=dao.showUserAll();
for(UserIndexuser:
users)
ta.append(i+"
"
+(user)+"
\n"
i++;
voidr5cfm()//添加商品
请输入商品名,数量和单价"
if(dress.getNum()>
0||dress.getPrice()>
0)
if(dressdao.SearchDress(dress.getDressname()))
商品已存在!
dressdao.AddDress(dress);
增加商品成功"
数量和单价必须为非负整数!
voidr6cfm()//修改商品
if(dressdao.SearchDress(dress.getDressname()))
dressdao.UpdateDress(dress);
商品修改成功!
else
商品不存在"
voidr7cfm()//删除商品
请输入删除的商品名"
if(dressdao.SearchDress(dress.getDressname()))
dressdao.DeleteDress(dress.getDressname());
voidr8cfm()//查找商品
请输入要查找的商品名"
ta.setText(dressdao.FindDerss(dress.getDressname()).toString());
voidr9cfm()//统计商品
Dress>
dresses=dressdao.ShowAllDress();
for(Dressdress:
dresses)
ta.append("
+i+dress+"
voidr10cfm()//密码修改
user.setName("
user.setLeixing("
管理员"
dao.updateUser(user);
if(t2.getText().equals("
新密码不能为空!
管理员密码修改成功!
2.店长模块
事件处理函数对按钮选择进行界面变换和按钮响应调用相应操作
publicvoidactionPerformed(ActionEvente){
//TODO自动生成的方法存根
if(e.getSource()==r1)
r1slt();
if(e.getSource()==r2)
r2slt();
if(e.getSource()==r3)
r3slt();
if(e.getSource()==r4)
r4slt();
if(e.getSource()==r5)
r5slt();
if(e.getSource()==r6)
r6slt();
if(e.getSource()==confirm)
dress.setDressname(t1.getText());
try
dress.setPrice(Integer.parseInt(t2.getText()));
dress.setNum(Integer.parseInt(t3.getText()));
catch(NumberFormatExceptionne)
dress.setNum(-1);
dress.setPrice(-1);
//ne.printStackTrace();
}
if(r1.isSelected())
cfm1();
//商品修改
elseif(r2.isSelected())
cfm2();
//商品统计
elseif(r3.isSelected())
cfm3();
//商品查找
elseif(r4.isSelected())
cfm4();
//查看销售量报表
elseif(r5.isSelected())
cfm5();
//查看营业员报表
elseif(r6.isSelected())
cfm6();
//账号密码修改
if(e.getSource()==exit)
newlogin();
dispose();
客户端对输入数据进行判断
voidcfm1()//商品修改
请输入商品名,单价和数量"
=0||dress.getPrice()>
=0)
}
voidcfm2()//商品统计
商品:
+(dress)+"
voidcfm3()//商品查找
voidcfm4()//查看销售量报表
Report>
reports=reportdao.ShowDressReports();
for(Reportreport:
reports)
ta.append(i+(report.ShowDressReport())+"
voidcfm5()//查看营业员报表
reports=reportdao.ShowSaleReports();
ta.append(i+(report.ShowReport())+"
voidcfm6()//账号密码修改
if(pf1.getText().equals("
)||pf2.getText().equals("
请输新的密码"
elseif(pf1.getText().equals(pf2.getText()))
user.setName(logname);
user.setLeixing("
user.setPwd(pf2.getText());
userdao.updateUser(user);
密码修改成功"
两次输入的密码不一致!
}
3.销售员模块
事件相应函数实现页面切换以及执行相应操作
dress.setNum(Integer.parseInt(t2.getText()));
catch(NumberFormatExceptionnfe)
//商品浏览
/