超市进销存管理系统设计论文.docx
《超市进销存管理系统设计论文.docx》由会员分享,可在线阅读,更多相关《超市进销存管理系统设计论文.docx(21页珍藏版)》请在冰点文库上搜索。
![超市进销存管理系统设计论文.docx](https://file1.bingdoc.com/fileroot1/2023-4/29/206dc80b-116f-4d35-8e68-de21d66e7eab/206dc80b-116f-4d35-8e68-de21d66e7eab1.gif)
超市进销存管理系统设计论文
课程设计任务书1
一前言
1.1项目背景
随着我国社会经济的日新月异和飞速发展,人们对物质的需求也越来越高,伴随着不断加快的还有人们的生活节奏。
越来越多的便利店、超市和商场等涌现出来,去超市购物已经是人们业余、休闲生活必不可少的一部分。
超市的商品管理在不断膨胀的需求促进下,也在发生着一场科技的革新运动,由最初的靠人力操作的资料整理、买卖交易处理到近年来超市管理系统的科技化与科学化,只需简单的通过界面几个按钮的操作就可以完成商品信息记录的处理,同时对人力的要求也转为知识化。
超市经营规模的日趋扩大,销售额和门店数量大幅度增加,许多超市正在突破以食品为主的传统格局,像品种多样化发展……这种商品多样化的发展趋势,无疑使超市管理的重要性显得尤为突出。
随着超市里货物种类和数量的大量增加,超市工作人员的工作量也随之增多。
然而,日益繁重的工作使超市工作人员身心俱疲,每位同志都在超负荷的运转,工作失误的发生率也随之提高。
对于此,超市的管理层也在急寻一种好的管理方法,在提高工作效率的同时又能减少工作失误,更好的管理整个超市系统的运做。
经过对这种情况的了解,我们小组成员集中讨论设计一个小型的超市管理系统,它的应用将会大大提高超市的运做效率,提高效益,同时对工作人员的要求也不再单纯的体力的过分消耗。
1.2编写目的
超市的目标是以优质的服务和品种齐全的商品,面向本地区的所有消费者,以使经营者能够实现最大利润,具体的目标为:
最方便的提供消费者所需购买物品,详细如实的记录物品的品种分类,了解市场发展方向,及时修正进货信息,修改库存管理方法,提高工作效率节余才力物力资源。
需求说明书重点体现了该系统的主要功能,详细的分析了系统的主要结构与流程,为开发人员提供了清晰的指导方案,为下一步的数据库搭建和详细设计提供了可靠地支持。
为了开发出真正满足用户需求的使用软件,首先必须知道用户的需求。
通过需求分析阶段与用户的交流方式获取用户对系统的功能要求,确定系统必须完成的哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
最后在此基础上结合一定的专业知识设计出用户满意的实用软件。
二需求分析
1.项目概述
1.1项目开发目标
(1)为超市提供方便快捷的销售管理体系;
(2)为超市提供准确高效的进、出库和库存统计系统;
(3)为超市管理人员提供管理和统计商品、资金管理的功能。
1.2用户需求及特点
该系统最终涉及到的是超市的管理人员、商品采购人员、销售人员和超市会员。
不同的用户拥有不同的访问权限,既方便了各个角色对其本职业务的具体操作,又极大的保证了超市进销存管理系统的合理运行和数据信息的安全。
1.3项目解决方案
一个超市内部使用的小型超市进销存管理系统,超市销售人员和采购人员50人以内,管理人员5人,商品数量1000以内。
用户分类:
超市管理员、商品采购人员、销售人员和超市会员。
商品:
商品根据使用功能进行分类,分别进行管理。
超市管理员能够使用所有功能。
销售人员和采购人员只能查看商品的相关信息。
2.用户需求分析
超市的销售业务一直使用着传统的手工管理方式,其工作效率、管理方式、管理水平已远不能满足现代化企业的管理要求,其中也有部分大中型超市应用了计算机,但他们的运营方式大多采取的是单独运营。
要改变这种部分小型超市手工管理的落后状态,将工作人员从枯燥乏味的重复劳动中解救出来,计算机管理系统的使用将是历史性发展的必然。
经过小组成员的讨论,我们决定设计出一个简单的超市进销存管理系统。
下面针对系统的设计流程做一简单描述:
进销存管理系统:
超市对各类货物的进销存管理的一个软件系统,旨在提高超市的工作效率和销售目标。
(1)管理口令:
超市管理人员在输入正确口令后,能够成功登录对系统进行操作管理。
(2)管理工具:
超市管理人员通过使用该系统来对超市商品进销存及员工信息进行合理有效地查询和管理。
(3)用户需求:
超市对系统需要实现全方位的功能等方面的要求,开发人员必须要尽量的满足用户的要求。
(4)需求分析:
根据从用户那里获得的需求进行系统性的分析、审查、并以次进一步的获取超市用户的需求。
(5)功能模块:
系统开发过程中将系统划分为不同的部分,以便更好、更方便的开发。
该系统可以实现如下功能:
(1)基础信息管理、进货管理、销售管理、库存管理、查询统计、系统管理。
(2)基础信息管理包括客户信息管理(添加、修改与删除)、商品信息管理(添加、修改与删除)、供应商信息管理(添加、修改与删除);进货管理包括进货单、进货/退货;销售管理包括销售单、销售退货;库存信息管理包括库存盘点,、库存价格调整;系统管理包括操作员管理、更改密码、权限管理、退出系统;查询统计包括客户查询、商品查询、供应商查询、销售查询、销售退货查询、入库查询、入库退货查询以及销售排行。
(3)根据超市职责的不同设计了不同的用户操作界面——操作员界面,管理员界面,会员的界面且系统操作简单界面友好。
(4)为方便用户系统支持多条件查询。
(5)系统具有一定的安全性。
三系统设计
1.系统功能设计
为了改善目前的超市货物的进销存管理方式和严峻形势,本小组成员致力于开发此系统软件。
该软件在超市管理的运用中能够精确、稳定、快速的对货物进行进销存管理和员工信息修改。
(1)需要实现超市进货管理、销售管理、库存管理、商品信息查询统计、基本员工信息管理、会员信息管理、系统管理等。
(2)保证超市进销存管理系统资源的安全性和稳定性。
(3)真正实现进、销、存一体化的管理维护。
主要模块功能如下层次方框图2所示:
图1超市进销存管理系统功能模块图
2.数据结构设计
1)数据库概念设计
ER图有多种绘制方式,图2是其中的一种表达方式。
如图2中所示,该管理系统E-R图一共由七个实体组成:
tblGoods商品基本信息表:
商品的基本信息。
tblInput商品进库信息表:
商品进库数量、价格及经手人等信息。
tblOnput商品销售出库信息表:
商品销售出库数量、价格、规格及经手人等信息。
tblCategory商品总分类信息表:
商品总体分类基本信息。
tblSubCategory商品子分类信息表:
商品详细分类基本信息。
tblStuff员工基本信息表:
员工的基本信息。
tblCustomer超市会员基本信息表:
超市会员的基本信息。
图2超市进销存管理系统E-R图
2)数据字典
超市进销存管理系统共有7张表,此处是完整的数据字典,详细如表1-表7所示。
表1商品基本信息表tblGoods
列名
数据类型(长度)
为空性
含义
备注
goods_id
varchar(36)
NOTNULL
商品ID
主键
goods_name
varchar(50)
NULL
商品名
goods_stock
varchar(50)
NULL
商品存货
goods_type
varchar(50)
NULL
商品类型
goods_size
varchar(50)
NULL
商品尺寸
goods_specification
varchar(50)
NULL
商品型号
goods_brand
varchar(50)
NULL
商品品牌
goods_model
varchar(50)
NULL
商品型号
SubCategory_id(FK)
varchar(36)
NULL
小类ID
外键
表2商品进库信息表tblInput
列名
数据类型(长度)
为空性
含义
备注
input_id
varchar(36)
NOTNULL
进货ID
主键
input_price
float
NULL
进货价格
input_quantity
varchar(50)
NULL
进货数量
goods_id(FK)
varchar(36)
NULL
商品ID
外键
stuff_id(FK)
varchar(36)
NULL
经手人ID
外键
表3商品销售出库信息表tblOnput
列名
数据类型(长度)
为空性
含义
备注
output_id
varchar(36)
NOTNULL
售货ID
主键
output_price
float
NULL
售货
output_quantity
varchar(50)
NULL
售货
output_type
varchar(50)
NULL
售货
1=正常售出,0=损坏
goods_id(FK)
varchar(36)
NULL
商品ID
外键
stuff_id(FK)
varchar(36)
NULL
经手人ID
外键
Customer_id(FK)
varchar(36)
NULL
客户ID
外键
表4商品总分类信息表tblCategory
列名
数据类型(长度)
为空性
含义
备注
Category_id
varchar(36)
NOTNULL
大类ID
主键
name
varchar(50)
NULL
大类名
表5商品子分类信息表tblSubCategory
列名
数据类型(长度)
为空性
含义
备注
SubCategory_id
varchar(36)
NOTNULL
小类ID
主键
name
varchar(50)
NULL
小类名
Category_id(FK)
varchar(36)
NULL
大类ID
外键
表6员工基本信息表tblStuff
列名
数据类型(长度)
为空性
含义
备注
stuff_id
varchar(36)
NOTNULL
经手人ID
主键
stuff_name
varchar(50)
允许
经手人行姓名
stuff_duty
varchar(50)
允许
经手人职务
stuff_tel
varchar(50)
允许
经手人号码
stuff_sex
varchar(50)
允许
经手人性别
表7超市会员基本信息表tblCustomer
列
数据类型
为空性
含义
备注
Customer_id
varchar(36)
NOTNULL
客户ID
主键
name
varchar(50)
NULL
姓名
VIP
varchar(50)
NULL
类型
1=会员,0=非会员
3.运行环境
1)硬件环境
服务器端:
服务器1台,作为数据库服务器。
客户端:
主流配置的任何类型计算机。
2)软件环境
1、服务器端:
使用SQLServer2000数据库。
2、客户端:
安装本系统的客户端软件。
四系统实施
1.开发技术和开发工具
1)开发技术
超市进销存管理系统采用B/S结构。
B/S结构特点:
优点:
B/S结构具有分布性特点,是三层结构的一种变体,客户端采用浏览器,不需安装专用软件。
可以随时性的进行业务处理,业务扩展简单方便。
维护简单方便。
只要更新网页就可以实现所有用户的同步更新,开发简单共享性强。
缺陷:
其个性化特点明显降低,无法实现具有个性化的具体要求,操作的习惯性是以鼠标为基本的操作方式,无法满足快速操作的要求。
页面动态刷新,响应速度明显降低。
专用型打印输出难以实现,无法实现分页显示,给数据库访问造成较大压力。
功能相对较弱难以实现传统模式下的特殊功能要求。
B/S结构适用场合:
B/S结构既适用于广域网,也适用于局域网环境。
2)开发工具
SQLServer2000企业管理器、查询分析器;
VisualBasic6.0;
MicrosoftVisualStudio.NET2003;
MicrosoftVisio。
2.系统实施
1)数据库的实施
利用查询分析器创建supmarketsales数据库。
代码如下:
usemaster
go
createdatabasesupmarketsales
利用查询分析器创建数据表的过程,仅以一个表的创建为例:
创建tblgoods货位信息表如下代码
Usesupmarketsales//使用数据库
createtabletblgoods(
goods_idvarchar(36)notnull,
goods_namevarchar(50)null,
goods_stockvarchar(50)null,
goods_typevarchar(50)null,
goods_sizevarchar(50)null,
goods_specificationvarchar(50)null,
goods_brandvarchar(50)null,
goods_modelvarchar(50)null,
SubCategory_idvarchar(36)null)
第一列是字段名称,第二列为字段的数据类型,第三段是字段的约束。
在表tblgoods中添加外键约束。
与父表连接,在创建表的过程中,要先创建父表,在创建子表,否则将出现错误。
altertabletblgoods
addconstrainttblSubCategory_tblgoods_FK1foreignkey(
SubCategory_id)referencestblSubCategory(SubCategory_id)
2)数据库连接的实现
下面是VS2005与数据库连接的实现。
staticStringconstr="datasource=127.0.0.1;integratedsecurity=false;initialcatalog=dyz;pwd='123';userid='123'";
SqlConnectioncon=newSqlConnection(constr);
数据连接之后是数据库的打开:
con.open()
数据库中有数据资源的连接,数据库用户名和密码。
数据库的关闭:
con.close();
3)用户登陆界面程序的实现
下面是用户登陆界面的实现的代码:
staticStringconstr="datasource=127.0.0.1;integratedsecurity=false;initialcatalog=dyz;pwd='123';userid='123'";
SqlConnectioncon=newSqlConnection(constr);
首先是页面连接数据库,如上面代码所示.
其次是对登陆界面的登陆按钮进行单击事件,双击btn_denglu进入编写代码.
protectedvoidbtn_denglu_Click(objectsender,EventArgse)
{
con.Open();//打开数据库
SqlCommandcmd=newSqlCommand("login",con);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add(newSqlParameter("@account",SqlDbType.VarChar,20));
cmd.Parameters["@account"].Value=txt_name.Text;
cmd.Parameters.Add(newSqlParameter("@password",SqlDbType.VarChar,20));
cmd.Parameters["@password"].Value=txt_pass.Text;
cmd.Parameters.Add(newSqlParameter("@type",SqlDbType.VarChar,20));
cmd.Parameters["@type"].Direction=ParameterDirection.Output;
cmd.ExecuteNonQuery();
Stringtype=cmd.Parameters["@type"].Value.ToString();
Response.Write("alert('登录成功!
');location='Default.aspx'");
}
数据库的连接,登陆界面将数据库与login页面连接在一起打开数据库,定义一个对象,连接数据库。
当用户在界面上输入用户登录信息,点击提交后,就运行上面的程序。
调用数据库中的数据表,作为临时数据库,将用户输入的信息与数据库中的信息作比较,如果,两方的数据是一致的,则用户正确,可以登录系统,显示对话框,“登录成功!
”如果双方的信息不一致,那么无法登录系统。
3.创新点和重难点
我们在设计超市进销存管理系统时,利用了B/S,即浏览器和服务器的结构,这样的结构比C/S结构更有优点。
此外,我们组还在数据库中创建了存储器和触发器,这两个是重难点,但是能把这两个在数据库中很好的实现,就能实现突出的功能。
然而在系统中重难点同样也是触发器和存储器的应用。
五系统维护
1.系统安装
介绍一下你组开发的软件是如何系统的。
2.数据库安全策略
2.1安全策略
(1)SQL注入的防护
SQL注入的防护SQL注入就是利用插入有害字符进行攻击的技术,也称SQL注射式攻击。
SQL注入攻击是攻击者把SQL语句插入到Web表单的输入域或页面请求查询字符串中,欺骗服务器执行恶意SQL语句的操作,它是应用程序级攻击Web主要途径,是黑客攻击的最常见手段,是构建网络安全的一大障碍。
目前来说,对于SQL注入攻击的防范主要是要找到一种能保证代码兼容性的方法。
SQLServer虽然没有直接提供防止SQL注入攻击的对象和方法,但它却提供了丰富的、强大的防御工具。
合理地利用这些机制,对防止SQL注入攻击很重要。
(2)采用标准协议,并利用防火墙限制外部IP地址直接访问在网络上访问数据库采用TCP/IP网络库,它是微软推荐使用的库,已经受长期的实践考验,而且可以跨交换机和跨操作系统平台使用。
如果服务器与网络连接,使用非标准端口可能会受到攻击,而且不一定能实现跨平台或跨交换机访问,同时要及时更新操作系统和SQLServer数据库。
由于WinDows和SQLServer的广泛使用,因此微软的产品经常受到别人的攻击。
稳妥的办法就是经常到微软网站下载补丁,对WinDows操作系统和SQLServer数据库升级,及时补住WinDows和SQLServer自身存在的技术漏洞,防止遭到他人的攻击。
另外要安装防火墙,限制外部IP对数据库服务器的直接访问,数据库服务器连接互联网潜在的危险就是可能受到外部的攻击,限制外部IP直接访问数据库服务器将有效保证数据库安全。
一般允许局域网IP、相关单位IP以及软件供应商的指定IP,可以访问数据库,其它IP不允许直接访问数据库服务器。
(3)SQLServer数据库的备份隔离服务器,定期备份。
物理和逻辑上的隔离组成了SQLServer数据库安全性的基础。
驻留数据库的机器应该处于一个从物理形式上受到保护的地方。
数据库应该安装在企业内部网的安全区域中,不要直接连接到网络。
定期备份所有数据,同时注意这并不意味着数据库备份就安全,如出现硬盘的损坏有可能造成数据的丢失,因此一般应将数据库备份同时保存到备份机上。
将服务器上的备份数据复制到备份机上是一种办法,但明显这种效率较低,需要备份人员每天坚持去做。
通过建立SQLServer数据库备份用户和共享文件夹,也可以直接将数据库备份到客户端。
做好数据库异地备份。
(4)数据库的加密保护
2.2注意事项
(1)不要使用游标
(2)规范化你的数据表
(3)不要使用SELECT*
(4)了解你将要对数据进行的操作
(5)不要给“性别”列创建索引
(6)使用事务
(7)小心死锁
(8)不要打开大的数据集
(9)不要使用服务器端游标
(10)使用参数查询
(11)在程序编码时使用大数据量的数据库
(12)不要使用INSERT导入大批的数据
(13)注意超时问题
(14)不要忽略同时修改同一记录的问题
(15)避免将列设为NULLable
(16)尽量不要使用TEXT数据类型
(17)尽量不要使用临时表
(18)学会分析查询
(19)使用参照完整性
3.数据备份与恢复策略
3.1备份方案
(1)根据系统运行的实际情况(如数据库的实际大小)有规律地进行完全备份,如每星期进行一次。
对非常重要的数据库可考虑每天进行一次。
由于全库备份工作量大,一般安排在晚间进行。
(2)以较小的时间间隔进行差异备份,如每几个小时就进行一次。
对更新非常频繁的数据库可以将时间间隔设置得更小。
(3)在相邻的两次差异备份之间进行事务日志备份,最好是每隔5min或更短的时间进行一次。
3.2恢复方案
(1)利用最近一次全库备份进行全库备份的恢复。
(2)还原最近一次的差异备份。
(3)再按时间先后顺序依次还原在差异备份后进行的所有事务日志备份。
六.使用说明
本小组所设计的超市进销存管理系统使用说明简述如下:
(1)运行系统软件,首先进入登录页面,用户可以选择登录身份进入系统。
如选择管理员,张三,输入登录密码,点击确定即可进入相应的管理页面。
图3登录页面
(2)用户登录系统后,从站点地图页面中选择你所要进入的页面,每个页面对应不同的功能,当然也会有管理权限。
图4站点地图
(3)如进入超市进货管理界面,根据页面提示,填写相关内容,可添加、修改、删除货物信息。
图5进货管理界面
(4)从站点地图中进入出货管理界面,在见面中输入已出货物的相关信息,点击、确定,货物的出货信息就会被录入系统数据库,然后可以进入下一个界面。
图6出货管理界面
七结语
本系统是根据现在超市进货、销售工作来设计的一个超市进销存管理系统,这个系统改变了以前简单且易出错的人力记录的缺陷。
系统根据不同用户的权限不同,设置了管理员和采购员和销售员三个用户,权限的不同保证了系统的安全性。
另外我们根据用户的功能需求,给系统添加了出库、入库、库存、商品信息显示功能。
出库管理中通过输入商品编码,价格、数量和类型就可查出此商品将他做出库处理;入库管理中通过输入商品编码,价格、数量和类型就可以将该商品加入库存系统中;在查询商品库存中,通过出库和入库功能后,系统自动做库存调整,省去仓库管理员再去计算库存数量;对于查询商品信息,我们只需根据页面中提示的信息填写相关信息就可查询出该商品的详细信息。
本系统的优点是将超市出库、入库和销售功能用不同的页面给显示出来,系统功能清晰,方便用户查阅,其中设置不同的用户,可以让不同的用户拥有不同的权限,以保证系统的安全性,录入方便。
缺点是由于时间有限系统还不是很完善,代码编写可能考虑不周全,功能并没有能很好