java超市管理系统实训报告.docx
《java超市管理系统实训报告.docx》由会员分享,可在线阅读,更多相关《java超市管理系统实训报告.docx(23页珍藏版)》请在冰豆网上搜索。
![java超市管理系统实训报告.docx](https://file1.bdocx.com/fileroot1/2023-1/3/e525efe4-f051-4202-b237-82b45aca7355/e525efe4-f051-4202-b237-82b45aca73551.gif)
java超市管理系统实训报告
1.1课程设计的目的
通过本次课程设计,使学生能够全面、深刻地掌握数据库系统的设计流程。
根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,最终开发出一个较为实用的数据库系统。
1.2课程设计的背景和意义
1.2.1课程设计的背景
20世纪90年代后期特别是近儿年,我国的超市产业飞速发展,其经营模式更为复杂,旧的管理体制己经无法适应超市的发展,这就迫切的需要引进新的管理技术。
超市的数据和业务越來越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起來,从而超市管理系统应运而生。
依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,改善了员工的并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。
1.2.2课程设计的意义
“数据库课程设计”的设计思想旨在强调学生的实际编程能力的培养与创意灵感的发挥。
为此,本课程结合学科特点,除了让学生掌握数据库原理的理论知识,还增加了需求功能让学生完成,并鼓励学生的创作出个性的程序,满足客户需求,与市场的实际项目相结合。
学生对此热情高,实际收获大,效果好。
通过课堂学习和参与相关项目设计,学生对书本支持有了深刻的理解,实践性教学取得了良好效果。
1.3课程设计环境
操作系统:
Windowsxp
开发软件:
MicrosoftVisualStudio2005
数据库:
MicrosoftSQLServe】2005
第2章系统需求分析
随着人们生活水平的不断提高,对于物质的需求也越來越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。
2.1问题的提出
在信息化高速发展的今天,超市商品管理的信息化管理己成为必不可缺的一部分,但是目前的大多是超市商品管理系统应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确;改版工作量大,系统扩展能力差,应用时更是降低了灵活性,这就使得一套完善的、能够正常工作的商品管理系统应运而生。
2.2可行性分析
系统的可行性分析是对课题的通盘考虑,是系统开发者进行进一步工作的前提,是系统设计与开发的前提与基础。
系统的可行性分析可以使系统开发者尽可能早的估计到课题开发过程中的困难,并在定义阶段认识到系统方案的缺陷,这样就能花费较少的时间和精力,也可以避免许多专业方面的困难。
所以,系统的可行性分析在整个开发过程中是非常重要的。
2.2.1经济可行性分析
因为通过网络传递销售信息可以不受距离的限制,因此可以借阅许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高超市的销售效率,即提高了超市的经济效益,所以从经济上完全是可行的。
2.2.2技术可行性分析
本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。
而整个超市管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。
由此,该系统的操作是可行的,有必要开发该系统。
综合以上三方面,该系统具有很高的开发可行性,无论是从技术上或者经济上还是操作上。
因此,可以设计该系统的数据流程图,建立数据字典。
2.3系统的设计目标
本系统主要包括四大模块,分别是人事管理模块,销售管理模块,进货管理模块,库存管理模块。
每个模块的功能如下:
1.人事管理模块功能:
(1)实现职工信息的查询;
(2)实现职工信息的更新,包括增加、删除、修改功能;
(3)实现供货商信息的查询;
(4)实现供货商信息的更新,包括增加、删除、修改功能。
2.销售管理模块功能:
(1)进行前台的销售;
(2)将前台的销售与后台的数据库联系起來。
3.进货管理模块功能:
(1)实现进货信息的查询;
(2)实现进货信息的更新,包括增加、删除、修改功能。
4•库存管理模块功能:
(1)实现商品库存信息的查询;
第3章系统开发的技术背景
3.1开发技术及运行环境
3.1.1系统所采用的开发技术
通过权衡对各种编程语言和数据库使用的熟练程度,本系统选用EclipseS.1作为前台开发工具,后台数据库釆用SQLSeivei2005,整体设计以软件工程思想为指导思想,力求开发一个实用性强、操作简单且功能完整的超市商品管理系统。
3.1.2系统运行环境
操作系统:
WindowsXP
数据库:
MicrosoftSQLServe】2005
前台:
MicrosoftVisualStudio2005
第4章系统分析与总体设计
4.1系统结构框架
一般的超市商品管理系统,主要由五大模块组成,即商品信息管理模块,人事管理模块,销售管理模块,进货管理模块,库存管理模块,此系统也不例外,主要有此五大模块组成。
图4-1系统功能结构图。
图4-1系统功能结构图
4.2系统功能设计
系统功能设计是使整个系统能基本实现超市的进、销、存等管理功能,能让超市管理者更直观的了解超市的经营状况,以做出相应的经营决策。
管理信息系统(MIS)就是要对这些资源建立正确的数据库,并进行信息的收集、传送、存储、编制成各种凭证、报表、台帐、图形等信息,同时对这些信息进行维护,通过实测超市的各种运行情况,并利用过去的历史数据预测未來的发展,从超市全局的角度出发进行决策,利用信息控制超市的行为,附注超市完成其目标。
本系统主要包括四大模块,分别是人事管理模块,销售管理模块,进货管理模块,库存管理模块。
每个模块的功能如下:
1.商品管理模块功能:
(1)实现商品信息的查询;
(2)实现职工信息的更新,包括增加、删除、修改功能;
2.人事管理模块功能:
(1)实现职工信息的查询;
(2)实现职工信息的更新,包括增加、删除、修改功能;
(3)实现供货商信息的查询;
(4)实现供货商信息的更新,包括增加、删除、修改功能。
3.销售管理模块功能:
(1)实现前台商品的销售;
(2)将商品的销售信息与数据库联系起來。
4.进货管理模块功能:
(1)实现进货信息的查询;
(2)实现进货信息的更新,包括增加、删除、修改功能。
5.库存管理模块功能:
(3)实现库存信息的查询;
第5章系统数据库设计
5.1超市管理系统数据库E-R模型
5.2数据库表设计5.2.1职工信息表
职工信息表(StaffBill)用于存储职工信息,职工编号为主键是唯一标识。
表中各字段功能定义如表5-1所示。
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约朿
职工编号
staffID
char
6
p
NOTNULL
姓名
name
nvarchar
8
NOTNULL
性別
sex
nchar
2
NOTNULL
类別
kind
nvarchar
10
NULL
身份证号
idCard
varchar
18
NOTNULL
备注
others
ntext
50
NULL
表5-1职工信息表(StaffBill)
5.2.2用户登录表
用户登录表(Useis.Iiifo)用于存储用户的基本登录信息。
表中各字段功能定义如表
5-2所示。
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约朿
帐号
loginlD
char
6
P/F
NOTNULL
密码
passWord
char
6
NOTNULL
表5-2用户信息表(Users_Info)
5.2.3商品信息表
商品信息表(GoodsIiifo)用于存储商品的信息。
表中各字段功能定义如表5-3所示。
中文字段名
英文字段名
字段类型
兵度
主键/外键
字段值约朿
商品编号
merchlD
char
6
p
NOTNULL
供货商号
profferlD
char
6
F
NOTNULL
名称
fullName
nvarchar
80
NOTNULL
类别
kind
nvarchar
8
NULL
单价
unitCost
money
1
NOTNULL
备注
others
ntext
50
NULL
表5-3商晶信息表(Goods_Info)
5.2.4供货商信息表
供货商信息表(Sup_Info)用于存储供货商的信息。
表中各字段功能定义如表5-4所
z5o
中文字段名
英文字段名
字段类型
兵度
主键/外键
字段值约朿
供货商号
SupplierlD
char
6
p
NOTNULL
名称
Name
nvarchar
50
NOTNULL
联系人
contactPer
son
nvarchar
8
NOTNULL
联系电话
phone
varchar
12
NOTNULL
联系地址
address
nvarchar
50
NOTNULL
备注
others
ntext
50
NULL
表5-4供货商信息表(Sup_Info)
5.2.5进货信息表
进货信息表(Buy)存储进货信息。
表中各字段功能定义如表5-5所示。
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约朿
进货单号
BuyID
char
6
p
NOTNULL
商品编号
GoodsID
char
6
P/F
NOTNULL
供货商号
SupplierlD
char
6
F
NOTNULL
进货价
Price
money
4
NOTNULL
数量
Amount
int
4
NOTNULL
金额
Sum
money
4
NOTNULL
进货日期
Date
datetime
8
NOTNULL
备注
Remark
ntext
50
NULL
表5-5进货信息表(Buy)
5.2.6销售信息表
销售信息表(Sell)用于存储销售信息。
表中各字段功能定义如表5-6所示。
中文字段名
英文字段名
字段类型
兵度
主键/外键
字段值约朿
销售单号
SeellD
char
6
p
NOTNULL
商品编号
GoodsID
char
6
P/F
NOTNULL
销售数量
Amount
int
4
NOTNULL
销售日期
Date
datetime
8
NOTNULL
表5-6销售信息表(Sell)
5.2.7库存信息表
库存信息表(Stock)存储库存信息。
表中各字段定义如表5-7所示。
中文字段名
英文字段名
字段类型
兵度
主键/外键
字段值约朿
商品编号
GoodsID
char
6
P/F
NOTNULL
库存数量
Amount
int
4
NOTNULL
表5-7库存信息表(Stock)
5.3创建数据库
(1)使用T-SQL语句创建超市商品管理系统数据库。
CREATEDATABASEdbSMMSONPRIMARY
(NAME=N'db_SMMS;FILENAME=F:
\SMMS\SMMSVDataBase\db_SMMS.mdf,SIZE=3072KB,FILEGROWTH=1024KB)
LOGON
(NAME=N'db_SMMS」og:
FILENAME=NT:
\SMMS\SMMSDataBase\db_SMMS_log.ldf,SIZE=1024KB,FILEGROWTH=10%)
(2)使用T-SQL语句创建库存表。
CREATETABLEStock(
GoodsIDvarchar(10)COLLATEChinese_PRC_CI_ASNOTNULL,
AmountintNOTNULL,
PRIMARYKEY(StockID),
FOREIGNKEY(GoodsID)REFERENCEStb_Goods(GoodsID));
(3)使用T-SQL语句创建库存视图。
createviewv_StockS
AS
SELECTtb_Stock.StockID,tb__Goods.GoodsName,tb_Stock.Amount,tb_
Stock.RemarkFROM
tbStockINNERJOINtbGoodsONtbStock.G
第6章系统功能模块实现
6.1系统登录模块
用户登录模块在本系统的首页。
用户输入用户名和密码后,系统进行验证,验证通过进入程序的主界面。
界面如图6-1所示。
图6-1用户登录界面
主要实现代码如下:
publicboolVeri(strmgtb_table.stringId,stringPwd)
{
booljud=false;
if(Id!
="&&Pwd!
=nn)
{
SqlDataReadertemDR=MyClass.getcom(uselect*fromn+
tb.table+vwhereUserName=m+Id.Trim()+m
andPass=Ht+Pwd.Tnm()+HH,);
jud=teniDR.ReadQ;
if(jud)
{
}
else
{
MessageBox.Show(nffl户名或密码错误!
罗提示”,
MessageBoxButtons.OK,MessageBoxIcon.Information);
}
MyClass.con^closeQ;
}
else
MessageBox.Sho\v("请将登录信息添写完整”);
returnjud;
}
6.2商品信息管理模块
此模块进行对商品信息的录入,能够对商品进行合理的管理,界面如图6-2所示。
图6-2商品信息管理界面
主要实现代码如下:
privatevoidbtnAdd__Click(objectsender.EventArgse)
boolt=false;stringtxt;
stringRecID;
stringTypelD;
if(txtName.Text==,,n)
{
MessageBox.ShowC1储输入筒品名称!
”);
txtName.FocusQ;
}
elseif(txtPnce.Text==,M,)
{
MessageBox.Show(,储输入筒品单价!
”);
txtPrice.FocusQ;
}
elseif(comboxType.Text=,H,)
{
MessageBox.Show(H请选择商品类型!
");
comboxType.FocusQ;
}
elseif(txtKeep.Text=nn)
{
MessngeBox.Show(/储输入保质期”);
txtKeep.FocusQ;
}
else
{
SqlDataReadertemDR=MyDataClass.getcom(Hselect*fromtb_GoodswhereGoodsName+txt+
t=temDR.ReadQ;
lf(t)
{
MessageBox.Show(Hjht商品名称已存在!
M);
txtName.Text=,H,;
txtName.FocusQ;
}
else
{
stringFind_SQL2;
stringRecID2;
try
{
TypeED=My_Set・Table或0].Rows[comboxType.Selectedlndex][0].ToString();
RecID=MyMC.GetAutocoding(Htb_Goods,\MGoodsIDH);//获取编号
RecID2=MyMC.GetAutocoding(Htb-Stock,\nStockIDM);//获取编号
Find_SQL=Hinsertinto
tb_Goods(GoodsID,GoodsName,TypeID,Remark,Price,Keep)values+RecID
++txtName.Text++TypelD++txtRemark.Text++
txtPnce.Text+”畀+txtKeep.Text+T;
Fmd_SQL2="insertintotb_Stock(StockId,GoodsID,Amount)values(川+RecID2+
V+RecID+n\Or;
MyDataClass.getsqlcom(Fmd_SQL);
MyDataChss.getsqlcom(Find_SQL2);//向库存添加信息
MessageBox.Show(H添加成功!
M);
ListViewItem1=newListViewltem();
l.Text=txtName.Text;btnCancle_Click(sender,e);
}
catch(Exceptionec)
{
MessageBox.Show(ec.Message);
MessageBox.Show(H添加失败”);
}
}
}
}
6.3职工信息管理模块
此模块有对职工的添加,修改,删除等功能,能够对用户进行合理的管理,界面如
图6-2所不。
图6-3职工信息管理界面
主要实现代码如下:
privatevoidbtnSave_Click(objectsender,EventArgse)
{
stringRecID;
if(txtName.Text==,H,)
{
MessageBox-ShowC1储添加职工姓名!
H);
txtName.FocusQ;
}
else
{
if(Jud=1)
{
RecID=MyMC.GetAutocodmgC^b-Workef1,HWorkerIDM);//获取编号Find_SQL="insertintotb_Worker(WorkerID,WorkerName.Remark)values(n,+RecID+,'7n+txtName.Text+IM;,,+txtRemark.Text+H,)H;
MyDataClass.getsqlcom(Fmd_SQL);
MessageBox.Show(H添加成功!
n);
InfLoadQ;
WinstateTQ;
}
if(Jud=2)
Find_SQL=Hupdatetb_Workerset
Woi:
kei:
N:
ime='”+txtN:
ime・Text+'”・Remm:
k="'+txtRemMk・Text+”'whe比WorkeHD」+txtWoi:
kerID・Text+”'";
}
}
MyDataClass.getsqlcom(Find_SQL);MessageBox.Show(n修改成功!
H);InfLoadQ;
WinstateTQ;
}
6.4供货商信息管理模块
此模块有对供货商的添加,修改,删除等功能,能够对供货商进行合理的管理。
界面如图6-3所示。
图6-4供货商管理界面
主要实现代码如下:
privatevoidbtnSave_Click(objectsender,EventArgse)
{
boolt=false;
stringtxt;
stringRecID;
if(txtName.Text==nn)
{
MessageBox.Show("请输入供货商名称!
");
txtName.FocusQ;
}
else
{
if(Jud==1)
{
SqlDataReaderteniDR=MyDataClass.getcom(nselect*fromtb^Supplierwhere
SupplierName=m+txt+,nn);
t=temDR.ReadQ;
lf(t)
{
MessageBox・Show("此供货商名称已存在!
”);
txtName.Text=nM;
txtName.FocusO;
}
else
{
RecID=MyMC.GetAutocoding(Htb_Supplier,r,^SupplierDD11);//获取编号
Find_SQL=ninsertintotb_supplier(SupplierID,SupplierName,TeLAddress,Remark)
values「+RecID
+H7M+txtName.Text++txtTel.Text+”畀+txtAddress.Text++
txtRemark.Text+"')H;
MyDatnCbss・getsqlcom(Find_SQL);
MessageBox.Shoxv("添加成功!
H);
InfLoadQ;
WinstateT();
}
}
if(Jud==2)
{
Find_SQL="select*fromtb_SupplierwhereSupplierName-n+txt+,HandSupplierID!
=HI+ID+,MM;
SqlDataReaderteniDR=MyDataClass.getcom(Find_SQL);
t=temDR.ReadQ;
lf(t)
{
MessngeBox.ShowC此供货商名称己存在!
”);
txtName.Text=,M,;
txtName.FocusO;
}
else
{
Find_SQL=^updatetb__SuppliersetSupplierName=H,+txtName.Text+H\Tel=,u+txtTel.Text+
nAddress-H+txtAddress.Text+H,.Remark=n,+txtRemark.Text+'"whereSupplierID=n,+ID+nm;
MyDataCbss・getsqlcom(Find_SQL);
MessogeBox.ShowC修改成功!
H);
InfLoadQ;
WinstateT();
}
}
}
6.5添加销售信息模块
销售员将销售信息录入方便了销售工作,提高了工作效率。
界面如图6-4所示。
图6-5添加销