1、超市信息管理系统课设报告一、 超市信息管理系统问题综述随着商品化经济的发展,超市规模的不断扩大,商品的不断曾多,随之而来的就是商品管理的问题,只依靠人工的记账管理体制已经无法适应当代超市的发展,这就需要有一个先进的管理系统来管理如此繁杂的商品信息。超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,改善了员工的并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率超市管理系统是市场上最流
2、行的超市上常用的系统之一,它主要包含以下几个模块:员工管理,进货管理,销售管理,库存管理,信息统计。从而,实现对进货、销售及员工信息等实现全面、动态、及时的管理。本文系统的分析了软件开发的背景和流程。对系统的各模块进行了详细的说明,通过应用程序与数据库的连接进一步提升了软件的性能。二、系统需求分析随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。在信息化高速发展的今天,超市商品管理的信息化管理已成为必不可缺的一部分
3、,但是目前的大多是超市商品管理系统应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确;改版工作量大,系统扩展能力差,应用时更是降低了灵活性,这就使得一套完善的、能够正常工作的商品管理系统应运而生。系统的可行性分析是对课题的通盘考虑,是系统开发者进行进一步工作的前提,是系统设计与开发的前提与基础。系统的可行性分析可以使系统开发者尽可能早的估计到课题开发过程中的困难,并在定义阶段认识到系统方案的缺陷,这样就能花费较少的时间和精力,也可以避免许多专业方面的困难。所以,系统的可行性分析在整个开发过程中是非常重要的。因为通过网络传递销售信息可以不受距离的限制,因此可以借阅许多的人力和物力,方
4、便管理,由此可以减少不必要的开支,同时该系统可以提高超市的销售效率,即提高了超市的经济效益,所以从经济上完全是可行的。本系统主要包括四大模块,分别是人事管理模块,销售管理模块,进货管理模块,库存管理模块。每个模块的功能如下:1. 人事管理模块功能:(1)实现职工信息的查询;(2)实现职工信息的更新,包括增加、删除、修改功能;(3)实现供货商信息的查询;(4)实现供货商信息的更新,包括增加、删除、修改功能。2. 销售管理模块功能:(1)进行前台的销售;(2)将前台的销售与后台的数据库联系起来。3. 进货管理模块功能:(1)实现进货信息的查询;(2)实现进货信息的更新,包括增加、删除、修改功能。4
5、. 库存管理模块功能:(1)实现商品库存信息的查询;系统的数据流图如下 顶层图 第二层三、系统总体设计系统结构框架:一般的超市商品管理系统,主要由五大模块组成,即商品信息管理模块,人事管理模块,销售管理模块,进货管理模块,库存管理模块,此系统也不例外,主要有此五大模块组成。系统功能结构图如下。系统功能设计:系统功能设计是使整个系统能基本实现超市的进、销、存等管理功能,能让超市管理者更直观的了解超市的经营状况,以做出相应的经营决策。管理信息系统(MIS)就是要对这些资源建立正确的数据库,并进行信息的收集、传送、存储、编制成各种凭证、报表、台帐、图形等信息,同时对这些信息进行维护,通过实测超市的各
6、种运行情况,并利用过去的历史数据预测未来的发展,从超市全局的角度出发进行决策,利用信息控制超市的行为,附注超市完成其目标。四、数据库设计1、数据库概念结构设计。数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。本系统中对数据结构的具体描述如下:1. 数据结构:职工含义说明:是超市管理系统的主体数据结构,定义了员工的有关信息。组成:职工编号,姓名,性别等2. 数据结构:商品 含义说明:是超市管理系统的主体结构,定义了商品的有关信息。 组成:商品编号,名称,价格等3. 数据结构:供货商 含义说明:是超市管理系统的主
7、体结构,定义了商品的有关信息 组成:供货商编号,供货日期,名称,地址,电话等。4. 数据结构:进货 含义说明:是超市管理系统的主体结构,定义了商品的有关信息 组成:进货单号,进货日期等。5. 数据结构:销售 含义说明:是超市管理系统的主体结构,定义了商品的有关信息 组成:销售单号,销售日期,数量等。各子系统的分E-R图设计好以后,下一步就是将所有的分E-R图综合成一个总的E-R图。由于各个局部所面向的问题不同,这就导致各个分E-R图之间必定会存在许多不一致的问题,称之为冲突。因此合并分E-R图并不能简单地将各个分E-R图画到一起,而是必须合理消除各分E-R图中的不一致,以形成一个能为全系统中所
8、有用户共同理解和接受的统一的概念模型,是合并E-R图的主要工作和关键。各E-R图之间的冲突主要有三种:属性冲突、命名冲突、结构冲突。超市信息管理系统数据流图如E-R图所示,其中所涉及到的数据存储文件,详细见下表:(1)职工信息表职工信息表用于存储职工信息,职工编号为主键是唯一标识。中文字段名英文字段名字段类型长度主键/外键字段值约束职工编号staffIDchar6PNOT NULL姓名namenvarchar8NOT NULL性别sexnchar2NOT NULL类别kindnvarchar10NULL身份证号idCardvarchar18NOT NULL备注othersntext50NULL
9、(2)用户登录表:用户登录表用于存储用户的基本登录信息。 中文字段名英文字段名字段类型长度主键/外键字段值约束帐号loginIDchar6P/FNOT NULL密码passWordchar6NOT NULL(3)商品信息表:商品信息表用于存储商品的信息。中文字段名英文字段名字段类型长度主键/外键字段值约束商品编号merchIDchar6PNOT NULL供货商号profferIDchar6FNOT NULL名称fullNamenvarchar80NOT NULL类别kindnvarchar8NULL单价unitCostmoney4NOT NULL备注othersntext50NULL(4)供货
10、商信息表:供货商信息表用于存储供货商的信息。中文字段名英文字段名字段类型长度主键/外键字段值约束供货商号SupplierIDchar6PNOT NULL名称Namenvarchar50NOT NULL联系人contactPersonnvarchar8NOT NULL联系电话phonevarchar12NOT NULL联系地址addressnvarchar50NOT NULL备注othersntext50NULL(5)进货信息表:进货信息表(Buy)存储进货信息。中文字段名英文字段名字段类型长度主键/外键字段值约束进货单号BuyIDchar6PNOT NULL商品编号GoodsIDchar6P/
11、FNOT NULL供货商号SupplierIDchar6FNOT NULL进货价Pricemoney4NOT NULL数量Amountint4NOT NULL金额Summoney4NOT NULL进货日期Datedatetime8NOT NULL备注Remarkntext50NULL(6)销售信息表:销售信息表)用于存储销售信息。中文字段名英文字段名字段类型长度主键/外键字段值约束销售单号SeelIDchar6PNOT NULL商品编号GoodsIDchar6P/FNOT NULL销售数量Amountint4NOT NULL销售日期Datedatetime8NOT NULL(7)库存信息表:库
12、存信息表存储库存信息。中文字段名英文字段名字段类型长度主键/外键字段值约束商品编号GoodsIDchar6P/FNOT NULL库存数量Amountint4NOT NULLE-R图:数据库E-R模型图2、逻辑结构设计,将上述概念模型转换为关系模式,并进行优化分析职工/用户(职工编号,姓名,性别,身份证号)商品(商品编号,商品名称,商品价格)供货商(供货商编号,名称,地址,电话)销售(销售单号)进货(进货单号)3、物理设计,选择实施环境,即选择SQLServer2000和Visual Studio 2008作为本信息系统的数据库管理系统。五、系统详细设计系统的登陆模块:用户登录模块在本系统的首页
13、。用户输入用户名和密码后,系统进行验证,验证通过进入程序的主界面。主要实现代码如下: public bool Veri(string tb_table, string Id, string Pwd) DataClass.MyMeans MyClass = new SMMS.DataClass.MyMeans(); bool jud = false; if (Id != & Pwd != ) SqlDataReader temDR = MyClass.getcom(select * from + tb_table + where UserName= + Id.Trim() + and Pass=
14、 + 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); MyCl
15、ass.con_close(); else MessageBox.Show(请将登录信息添写完整); return jud; 商品信息管理模块:此模块进行对商品信息的录入,能够对商品进行合理的管理。主要实现代码如下: private void btnAdd_Click(object sender, EventArgs e) bool t = false; string txt; string RecID; string TypeID; if (txtName.Text = ) MessageBox.Show(请输入商品名称!); txtName.Focus(); else if (txtPri
16、ce.Text = ) MessageBox.Show(请输入商品单价!); txtPrice.Focus(); else if (comboxType.Text = ) MessageBox.Show(请选择商品类型!); comboxType.Focus(); else if (txtKeep.Text = ) MessageBox.Show(请输入保质期); txtKeep.Focus(); else txt = txtName.Text.Trim(); SqlDataReader temDR = MyDataClass.getcom(select * from tb_Goods whe
17、re GoodsName = + txt + ); t = temDR.Read(); if (t) MessageBox.Show(此商品名称已存在!); txtName.Text = ; txtName.Focus(); else string Find_SQL2; string RecID2; try TypeID = My_Set.Tables0.RowscomboxType.SelectedIndex0.ToString(); RecID = MyMC.GetAutocoding(tb_Goods, GoodsID);/获取编号 RecID2 = MyMC.GetAutocoding
18、(tb_Stock, StockID);/获取编号 Find_SQL = insert into tb_Goods(GoodsID,GoodsName,TypeID,Remark,Price,Keep) values ( + RecID + , + txtName.Text + , + TypeID + , + txtRemark.Text + , + txtPrice.Text + , + txtKeep.Text + ); Find_SQL2 = insert into tb_Stock(StockId,GoodsID,Amount) values ( + RecID2 + , + Rec
19、ID + ,0); MyDataClass.getsqlcom(Find_SQL); MyDataClass.getsqlcom(Find_SQL2);/向库存添加信息 MessageBox.Show(添加成功!); ListViewItem l = new ListViewItem(); l.Text = txtName.Text; l.SubItems.Add(comboxType.Text); l.SubItems.Add(txtPrice.Text); l.SubItems.Add(txtKeep.Text); l.SubItems.Add(txtRemark.Text); listV
20、iew1.Items.Add(l); btnCancle_Click(sender, e); catch (Exception ec) MessageBox.Show(ec.Message); MessageBox.Show(添加失败); 职工信息管理模块:此模块有对职工的添加,修改,删除等功能,能够对用户进行合理的管理。主要实现代码如下: private void btnSave_Click(object sender, EventArgs e) string RecID; if (txtName.Text = ) MessageBox.Show(请添加职工姓名!); txtName.Foc
21、us(); else if (Jud = 1) RecID = MyMC.GetAutocoding(tb_Worker, WorkerID);/获取编号 Find_SQL = insert into tb_Worker(WorkerID,WorkerName,Remark) values(+RecID+,+txtName.Text+,+txtRemark.Text+); MyDataClass.getsqlcom(Find_SQL); MessageBox.Show(添加成功!); InfLoad(); WinstateT(); if (Jud = 2) Find_SQL =update t
22、b_Worker set WorkerName=+txtName.Text+,Remark=+txtRemark.Text+ where WorkerID=+txtWorkerID.Text+; MyDataClass.getsqlcom(Find_SQL); MessageBox.Show(修改成功!); InfLoad(); WinstateT(); 供货商信息管理模块:此模块有对供货商的添加,修改,删除等功能,能够对供货商进行合理的管理。主要实现代码如下: private void btnSave_Click(object sender, EventArgs e) bool t = fa
23、lse; string txt; string RecID; if (txtName.Text = ) MessageBox.Show(请输入供货商名称!); txtName.Focus(); else if (Jud = 1) txt = txtName.Text.Trim(); SqlDataReader temDR = MyDataClass.getcom(select * from tb_Supplier where SupplierName = + txt + ); t = temDR.Read(); if (t) MessageBox.Show(此供货商名称已存在!); txtNa
24、me.Text = ; txtName.Focus(); else RecID = MyMC.GetAutocoding(tb_Supplier, SupplierID);/获取编号 Find_SQL = insert into tb_supplier(SupplierID,SupplierName,Tel,Address,Remark) values ( + RecID + , + txtName.Text + , + txtTel.Text + , + txtAddress.Text + , + txtRemark.Text + ); MyDataClass.getsqlcom(Find_
25、SQL); MessageBox.Show(添加成功!); InfLoad(); WinstateT(); if (Jud = 2) txt = txtName.Text.Trim(); Find_SQL = select * from tb_Supplier where SupplierName = + txt + and SupplierID!=+ ID+; SqlDataReader temDR = MyDataClass.getcom(Find_SQL); t = temDR.Read(); if (t) MessageBox.Show(此供货商名称已存在!); txtName.Tex
26、t = ; txtName.Focus(); else Find_SQL = update tb_Supplier set SupplierName= + txtName.Text + ,Tel= + txtTel.Text + ,Address= + txtAddress.Text + ,Remark= + txtRemark.Text + where SupplierID=+ID+; MyDataClass.getsqlcom(Find_SQL); MessageBox.Show(修改成功!); InfLoad(); WinstateT(); 添加销售信息模块:销售员将销售信息录入方便了销
27、售工作,提高了工作效率。主要实现代码如下: private void button2_Click(object sender, EventArgs e) if (txtSum.Text.Trim().Length != 0) string s1; string s2; string s3; string s4; float zl; float PayS; if (txtPayS.Text = ) PayS = 0; else PayS = float.Parse(txtPayS.Text); zl = PayS - TotalPrice; txtPayS.Text = PayS.ToStrin
28、g(); 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 = ;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1