超市信息管理系统课设报告.docx
《超市信息管理系统课设报告.docx》由会员分享,可在线阅读,更多相关《超市信息管理系统课设报告.docx(28页珍藏版)》请在冰豆网上搜索。
![超市信息管理系统课设报告.docx](https://file1.bdocx.com/fileroot1/2023-2/22/6a263a60-0bfb-46f6-8ef3-0ffc7f5be1c9/6a263a60-0bfb-46f6-8ef3-0ffc7f5be1c91.gif)
超市信息管理系统课设报告
一、超市信息管理系统问题综述
随着商品化经济的发展,超市规模的不断扩大,商品的不断曾多,随之而来的就是商品管理的问题,只依靠人工的记账管理体制已经无法适应当代超市的发展,这就需要有一个先进的管理系统来管理如此繁杂的商品信息。
超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。
依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,改善了员工的并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率
超市管理系统是市场上最流行的超市上常用的系统之一,它主要包含以下几个模块:
员工管理,进货管理,销售管理,库存管理,信息统计。
从而,实现对进货、销售及员工信息等实现全面、动态、及时的管理。
本文系统的分析了软件开发的背景和流程。
对系统的各模块进行了详细的说明,通过应用程序与数据库的连接进一步提升了软件的性能。
二、系统需求分析
随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。
在信息化高速发展的今天,超市商品管理的信息化管理已成为必不可缺的一部分,但是目前的大多是超市商品管理系统应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确;改版工作量大,系统扩展能力差,应用时更是降低了灵活性,这就使得一套完善的、能够正常工作的商品管理系统应运而生。
系统的可行性分析是对课题的通盘考虑,是系统开发者进行进一步工作的前提,是系统设计与开发的前提与基础。
系统的可行性分析可以使系统开发者尽可能早的估计到课题开发过程中的困难,并在定义阶段认识到系统方案的缺陷,这样就能花费较少的时间和精力,也可以避免许多专业方面的困难。
所以,系统的可行性分析在整个开发过程中是非常重要的。
因为通过网络传递销售信息可以不受距离的限制,因此可以借阅许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高超市的销售效率,即提高了超市的经济效益,所以从经济上完全是可行的。
本系统主要包括四大模块,分别是人事管理模块,销售管理模块,进货管理模块,库存管理模块。
每个模块的功能如下:
1.人事管理模块功能:
(1)实现职工信息的查询;
(2)实现职工信息的更新,包括增加、删除、修改功能;
(3)实现供货商信息的查询;
(4)实现供货商信息的更新,包括增加、删除、修改功能。
2.销售管理模块功能:
(1)进行前台的销售;
(2)将前台的销售与后台的数据库联系起来。
3.进货管理模块功能:
(1)实现进货信息的查询;
(2)实现进货信息的更新,包括增加、删除、修改功能。
4.库存管理模块功能:
(1)实现商品库存信息的查询;
系统的数据流图如下
顶层图
第二层
三、系统总体设计
系统结构框架:
一般的超市商品管理系统,主要由五大模块组成,即商品信息管理模块,人事管理模块,销售管理模块,进货管理模块,库存管理模块,此系统也不例外,主要有此五大模块组成。
系统功能结构图如下。
系统功能设计:
系统功能设计是使整个系统能基本实现超市的进、销、存等管理功能,能让超市管理者更直观的了解超市的经营状况,以做出相应的经营决策。
管理信息系统(MIS)就是要对这些资源建立正确的数据库,并进行信息的收集、传送、存储、编制成各种凭证、报表、台帐、图形等信息,同时对这些信息进行维护,通过实测超市的各种运行情况,并利用过去的历史数据预测未来的发展,从超市全局的角度出发进行决策,利用信息控制超市的行为,附注超市完成其目标。
四、数据库设计
1、数据库概念结构设计。
数据结构反映了数据之间的组合关系。
一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。
本系统中对数据结构的具体描述如下:
1.数据结构:
职工
含义说明:
是超市管理系统的主体数据结构,定义了员工的有关信息。
组成:
职工编号,姓名,性别等
2.数据结构:
商品
含义说明:
是超市管理系统的主体结构,定义了商品的有关信息。
组成:
商品编号,名称,价格等
3.数据结构:
供货商
含义说明:
是超市管理系统的主体结构,定义了商品的有关信息
组成:
供货商编号,供货日期,名称,地址,电话等。
4.数据结构:
进货
含义说明:
是超市管理系统的主体结构,定义了商品的有关信息
组成:
进货单号,进货日期等。
5.数据结构:
销售
含义说明:
是超市管理系统的主体结构,定义了商品的有关信息
组成:
销售单号,销售日期,数量等。
各子系统的分E-R图设计好以后,下一步就是将所有的分E-R图综合成一个总的E-R图。
由于各个局部所面向的问题不同,这就导致各个分E-R图之间必定会存在许多不一致的问题,称之为冲突。
因此合并分E-R图并不能简单地将各个分E-R图画到一起,而是必须合理消除各分E-R图中的不一致,以形成一个能为全系统中所有用户共同理解和接受的统一的概念模型,是合并E-R图的主要工作和关键。
各E-R图之间的冲突主要有三种:
属性冲突、命名冲突、结构冲突。
超市信息管理系统数据流图如E-R图所示,其中所涉及到的数据存储文件,详细见下表:
(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
(2)用户登录表:
用户登录表用于存储用户的基本登录信息。
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约束
帐号
loginID
char
6
P/F
NOTNULL
密码
passWord
char
6
NOTNULL
(3)商品信息表:
商品信息表用于存储商品的信息。
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约束
商品编号
merchID
char
6
P
NOTNULL
供货商号
profferID
char
6
F
NOTNULL
名称
fullName
nvarchar
80
NOTNULL
类别
kind
nvarchar
8
NULL
单价
unitCost
money
4
NOTNULL
备注
others
ntext
50
NULL
(4)供货商信息表:
供货商信息表用于存储供货商的信息。
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约束
供货商号
SupplierID
char
6
P
NOTNULL
名称
Name
nvarchar
50
NOTNULL
联系人
contactPerson
nvarchar
8
NOTNULL
联系电话
phone
varchar
12
NOTNULL
联系地址
address
nvarchar
50
NOTNULL
备注
others
ntext
50
NULL
(5)进货信息表:
进货信息表(Buy)存储进货信息。
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约束
进货单号
BuyID
char
6
P
NOTNULL
商品编号
GoodsID
char
6
P/F
NOTNULL
供货商号
SupplierID
char
6
F
NOTNULL
进货价
Price
money
4
NOTNULL
数量
Amount
int
4
NOTNULL
金额
Sum
money
4
NOTNULL
进货日期
Date
datetime
8
NOTNULL
备注
Remark
ntext
50
NULL
(6)销售信息表:
销售信息表)用于存储销售信息。
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约束
销售单号
SeelID
char
6
P
NOTNULL
商品编号
GoodsID
char
6
P/F
NOTNULL
销售数量
Amount
int
4
NOTNULL
销售日期
Date
datetime
8
NOTNULL
(7)库存信息表:
库存信息表存储库存信息。
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约束
商品编号
GoodsID
char
6
P/F
NOTNULL
库存数量
Amount
int
4
NOTNULL
E-R图:
数据库E-R模型图
2、逻辑结构设计,将上述概念模型转换为关系模式,并进行优化分析
职工/用户(职工编号,姓名,性别,身份证号)
商品(商品编号,商品名称,商品价格)
供货商(供货商编号,名称,地址,电话)
销售(销售单号)
进货(进货单号)
3、物理设计,选择实施环境,即选择SQLServer2000和VisualStudio2008作为本信息系统的数据库管理系统。
五、系统详细设计
系统的登陆模块:
用户登录模块在本系统的首页。
用户输入用户名和密码后,系统进行验证,验证通过进入程序的主界面。
主要实现代码如下:
publicboolVeri(stringtb_table,stringId,stringPwd)
{
DataClass.MyMeansMyClass=newSMMS.DataClass.MyMeans();
booljud=false;
if(Id!
=""&&Pwd!
="")
{
SqlDataReadertemDR=MyClass.getcom("select*from"+
tb_table+"whereUserName='"+Id.Trim()+"'
andPass='"+Pwd.Trim()+"'");
jud=temDR.Read();
if(jud)
{
DataClass.MyMeans.Login_Name=Id.Trim();
DataClass.MyMeans.Login_ID=temDR.GetString(0);
DataClass.MyMeans.My_con.Close();
DataClass.MyMeans.My_con.Dispose();
}
else
{
MessageBox.Show("用户名或密码错误!
","提示",
MessageBoxButtons.OK,MessageBoxIcon.Information);
}
MyClass.con_close();
}
else
MessageBox.Show("请将登录信息添写完整");
returnjud;
}
商品信息管理模块:
此模块进行对商品信息的录入,能够对商品进行合理的管理。
主要实现代码如下:
privatevoidbtnAdd_Click(objectsender,EventArgse)
{
boolt=false;
stringtxt;
stringRecID;
stringTypeID;
if(txtName.Text=="")
{
MessageBox.Show("请输入商品名称!
");
txtName.Focus();
}
elseif(txtPrice.Text=="")
{
MessageBox.Show("请输入商品单价!
");
txtPrice.Focus();
}
elseif(comboxType.Text=="")
{
MessageBox.Show("请选择商品类型!
");
comboxType.Focus();
}
elseif(txtKeep.Text=="")
{
MessageBox.Show("请输入保质期");
txtKeep.Focus();
}
else
{
txt=txtName.Text.Trim();
SqlDataReadertemDR=MyDataClass.getcom("select*fromtb_GoodswhereGoodsName='"+txt+"'");
t=temDR.Read();
if(t)
{
MessageBox.Show("此商品名称已存在!
");
txtName.Text="";
txtName.Focus();
}
else
{
stringFind_SQL2;
stringRecID2;
try
{
TypeID=My_Set.Tables[0].Rows[comboxType.SelectedIndex][0].ToString();
RecID=MyMC.GetAutocoding("tb_Goods","GoodsID");//获取编号
RecID2=MyMC.GetAutocoding("tb_Stock","StockID");//获取编号
Find_SQL="insertintotb_Goods(GoodsID,GoodsName,TypeID,Remark,Price,Keep)values('"+RecID
+"','"+txtName.Text+"','"+TypeID+"','"+txtRemark.Text+"',"+txtPrice.Text+","+txtKeep.Text+")";
Find_SQL2="insertintotb_Stock(StockId,GoodsID,Amount)values('"+RecID2+"','"+RecID+"',0)";
MyDataClass.getsqlcom(Find_SQL);
MyDataClass.getsqlcom(Find_SQL2);//向库存添加信息
MessageBox.Show("添加成功!
");
ListViewIteml=newListViewItem();
l.Text=txtName.Text;
l.SubItems.Add(comboxType.Text);
l.SubItems.Add(txtPrice.Text);
l.SubItems.Add(txtKeep.Text);
l.SubItems.Add(txtRemark.Text);
listView1.Items.Add(l);
btnCancle_Click(sender,e);
}
catch(Exceptionec)
{
MessageBox.Show(ec.Message);
MessageBox.Show("添加失败");
}
}
}
}
职工信息管理模块:
此模块有对职工的添加,修改,删除等功能,能够对用户进行合理的管理。
主要实现代码如下:
privatevoidbtnSave_Click(objectsender,EventArgse)
{
stringRecID;
if(txtName.Text=="")
{
MessageBox.Show("请添加职工姓名!
");
txtName.Focus();
}
else
{
if(Jud==1)
{
RecID=MyMC.GetAutocoding("tb_Worker","WorkerID");//获取编号
Find_SQL="insertintotb_Worker(WorkerID,WorkerName,Remark)values('"+RecID+"','"+txtName.Text+"','"+txtRemark.Text+"')";
MyDataClass.getsqlcom(Find_SQL);
MessageBox.Show("添加成功!
");
InfLoad();
WinstateT();
}
if(Jud==2)
{
Find_SQL="updatetb_WorkersetWorkerName='"+txtName.Text+"',Remark='"+txtRemark.Text+"'whereWorkerID='"+txtWorkerID.Text+"'";
MyDataClass.getsqlcom(Find_SQL);
MessageBox.Show("修改成功!
");
InfLoad();
WinstateT();
}
}
}
供货商信息管理模块:
此模块有对供货商的添加,修改,删除等功能,能够对供货商进行合理的管理。
主要实现代码如下:
privatevoidbtnSave_Click(objectsender,EventArgse)
{
boolt=false;
stringtxt;
stringRecID;
if(txtName.Text=="")
{
MessageBox.Show("请输入供货商名称!
");
txtName.Focus();
}
else
{
if(Jud==1)
{
txt=txtName.Text.Trim();
SqlDataReadertemDR=MyDataClass.getcom("select*fromtb_SupplierwhereSupplierName='"+txt+"'");
t=temDR.Read();
if(t)
{
MessageBox.Show("此供货商名称已存在!
");
txtName.Text="";
txtName.Focus();
}
else
{
RecID=MyMC.GetAutocoding("tb_Supplier","SupplierID");//获取编号
Find_SQL="insertintotb_supplier(SupplierID,SupplierName,Tel,Address,Remark)values('"+RecID
+"','"+txtName.Text+"','"+txtTel.Text+"','"+txtAddress.Text+"','"+txtRemark.Text+"')";
MyDataClass.getsqlcom(Find_SQL);
MessageBox.Show("添加成功!
");
InfLoad();
WinstateT();
}
}
if(Jud==2)
{
txt=txtName.Text.Trim();
Find_SQL="select*fromtb_SupplierwhereSupplierName='"+txt+"'andSupplierID!
='"+ID+"'";
SqlDataReadertemDR=MyDataClass.getcom(Find_SQL);
t=temDR.Read();
if(t)
{
MessageBox.Show("此供货商名称已存在!
");
txtName.Text="";
txtName.Focus();
}
else
{
Find_SQL="updatetb_SuppliersetSupplierName='"+txtName.Text+"',Tel='"+txtTel.Text+
"',Address='"+txtAddress.Text+"',Remark='"+txtRemark.Text+"'whereSupplierID='"+ID+"'";
MyDataClass.getsqlcom(Find_SQL);
MessageBox.Show("修改成功!
");
InfLoad();
WinstateT();
}
}
}
添加销售信息模块:
销售员将销售信息录入方便了销售工作,提高了工作效率。
主要实现代码如下:
privatevoidbutton2_Click(objectsender,EventArgse)
{
if(txtSum.Text.Trim().Length!
=0)
{
strings1;
strings2;
strings3;
strings4;
floatzl;
floatPayS;
if(txtPayS.Text=="")
{
PayS=0;
}
else
{
PayS=float.Parse(txtPayS.Text);
}
zl=PayS-TotalPrice;
txtPayS.Text=PayS.ToString();
txtPayY.Text=TotalPrice.ToString();
txtZL.Text=zl.ToString();
s1="商品数量"+Amount1+"件"+"\n"+"\n";
s2="实付款"+PayS+"元"+"\n"+"\n";
s3="应付款"+TotalPrice.ToString()+"元"+"\n"+"\n";
s4="找零"+zl.ToString()+"元";
MessageBox.Show(s1+s2+s3+s4,"系统提示");
txtPayS.Text="";
txtPayY.Text="";
txtZL.Text="";
txtID.Text="";