超市管理系统完整版(共22页)

上传人:沈*** 文档编号:127950286 上传时间:2022-07-31 格式:DOC 页数:22 大小:261KB
收藏 版权申诉 举报 下载
超市管理系统完整版(共22页)_第1页
第1页 / 共22页
超市管理系统完整版(共22页)_第2页
第2页 / 共22页
超市管理系统完整版(共22页)_第3页
第3页 / 共22页
资源描述:

《超市管理系统完整版(共22页)》由会员分享,可在线阅读,更多相关《超市管理系统完整版(共22页)(22页珍藏版)》请在装配图网上搜索。

1、课程设计说明书课程名称: 大型数据库应用 课题名称: 超市管理系统 班 级: 计本041 姓 名: 02号 左文兵 姓 名: 27号 董子冰 姓 名: 31号 刘子豪 指导教师: 满君丰 副教授 湖南工业大学计算机与通信学院2007年12月20日目 录1 绪论21.1课题背景21.2系统开发关键技术介绍22 系统分析42.1 用户工作流程42.2 用户业务需求43 系统设计53.1 设计思想53.2 系统功能结构图53.3模块功能设计64 系统数据库设计74.1系统数据库的建立74.2 系统E-R图74.3 各个数据表的创建94.4存储过程设计114.5 数据库的连接115系统实现135.1

2、系统实现工具与支持平台135.2系统界面135.3系统主要功能实现161. 前台162. 后台175.4系统核心代码176总结与展望216.1收获与体会216.2未来的展望21参考文献22致 谢23课程设计检查表241 绪论1.1课题背景21世纪,超市的竞争也进入到了一个全新的领域,随着超市的发展,其经营管理也变得愈加复杂,迫切地需要引入新的管理技术。超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。竞争已不再是规模的竞争,

3、而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。为了大大提高超市的运作效率;通过全面的信息采集和处理,辅助提高超市的决策水平;使用本系统,可以迅速提升超市的管理水平,为降低经营成本, 提高效益,增强超市扩张力, 提供有效的技术保障。针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它

4、一些子功能。1.2系统开发关键技术介绍本系统采用的是微软公司的Microsoft Visual Basic 6.0开发工具做为开发系统程序。在连接数据库上,利用ADO对象模型,创建几个简单的对象和数据来源进行连接,然后从中取得所需要的数据,进行数据访问操作后保存。在连接数据库上,以往在数据访问应用程序开发中,不管是使用DAO或RDO对象来访问数据来源,都会对这些对象模型众多而且复杂的组成结构印象深刻。但利用ADO对象模型,就可以只创建几个简单的对象和数据来源进行连接,然后从中取得所需要的数据,进行数据访问操作后保存。ADO (ActiveX Data Objects)对象模型主要由三个对象成员

5、:Connection、Command与Record set对象;以及三个集合对象:Errors、Parameters与Fields对象所组成。ADO对象模型与DAO、RDO另一个较大的差异,在于某些ADO对象可以直接创建而不需依据上下层按顺序产生,比如我们可以直接创建一个Command对象而不需要先行创建该对象的上层Connection对象,ADO会在该Command对象产生时自动创建上层Connection对象。下面给出ADO对象间的关系(如下图1):Connection对象Error集合Error对象Command对象Parameters集合Parameters集合Record set对

6、象Fields集合Error集合图1.2 ADO对象关系图对象和集合的功能描述:Connection对象连接数据来源Command对象 从数据来源取得所需的数据Record set对象针对取出的数据进行处理Errors集合对象返回错误信息和其他信息Parameters集合对象执行SQL查询Fields集合对象获取和处理字段数据2 系统分析2.1 用户工作流程本系统主要解决超市的基本管理问题,其中又分别包括后台管理和前台管理,后台包括进货管理,销售管理,库存情况的查询,以及基本用户人员的帐号管理。前台包括商品录入,收银业务。2.2 用户业务需求(1) 进货管理: 根据销售情况及库存情况,自动制定

7、进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。(2) 销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。(3) 库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。(4) 人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。(5

8、) 收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。 会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。3 系统设计3.1 设计思想(1)系统分成前台和后台几个相对独立的模块,但这些模块都进行集中式管理。(2) 分层的模块化程序设计思想,整个

9、系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。(3) 本系统使用的数据库设计是Oracle+ODBC+ADO控制,同时也尽可能地使用了VB的各种高级控件。(4)在SQL语言的使用上,也使用了较多的技巧,例如组合查询技术,希望通过此次设计能够提供自己各个方面的能力。3.2 系统功能结构图根据对超市管理系统进行的可行性分析和结构化程序设计的要求,得到系统总体结构如图5-1所示:小型超市零售管理系统前台POS销售系统后台管理系统商品录入收银业务进货管理销售管理库存管理人员管理图3-1 超市管理系统功能结构图3.3模块功能设计根据上述系统总体思想的分析,本系统共包括六大模块,分别是商品

10、录入管理模块,收银业务管理模块,人员管理模块,销售管理模块,进货管理模块,库存管理模块。每个模块的功能如下:1. 商品录入管理模块:(1)实现商品的快速录入以快速更新数据;(2)实现支持商品的条形码扫描录入;2. 收银业务管理模块:(1)实现交易总额计算;(2)实现交易总额的查询;3. 人员管理模块功能:(1)实现员工信息的查询;(2)实现员工信息的更新,包括增加、删除、修改功能;(3)实现员工操作权限管理;4. 销售管理模块功能:(1)实现销售信息的查询;(2)实现商品销售的控制;5. 进货管理模块功能:(1)实现进货信息的查询;(2)实现进货信息的更新,包括增加、删除、修改功能;6. 库存

11、管理模块功能:(1)实现商品明细记录的查询;(2)实现商品信息的更新,包括增加、删除、修改功能;(3)实现库存状态自动告警;(4)实现库存信息的更新,包括增加、删除、修改功能。4 系统数据库设计4.1系统数据库的建立数据库应该设计成层次清晰的,高效的,实用数据库,该系统是采用三层架构设计的,可通过应用服务器的扩展来实现新功能的添加。系统对数据记录的操作也因为其课程设计中定义的数据操作方式和操作内容而注定不会产生脏数据及数据读写的不一致性,故在数据库设计方面未采用触发器。我们认为在扩展应用服务器至多种功能后,将应用服务器分为控制部分和客户应用部分,此时在控制部分添加触发器来防止数据读写的不一致性

12、,这已经超出了本次课程设计所涉及的范围,在此不做过多的陈述。4.2 系统E-R图 1. E-R模型超市管理系统数据库E-R模型:员工类型用户姓名用户号用户密码员工ID用户图4.1 用户E-R模型图销售日期销售ID销售销售促销价格图4.2 物品销售E-R模型图价格商品ID商品名称商品允许打折商品名图4.3 物品销售E-R模型图供货商地址供货商ID供货商电话供货商名称供货商图4.4 供货商E-R模型图厂商地址厂商名称厂商ID厂商电话厂商图4.5 厂商E-R模型图消费金额消费购买日期图4.6 消费E-R模型图注册时间会员卡号累计金额厂商ID厂商图4.7会员E-R模型图用户消费商品供货商供货生产消费厂

13、商商品图4.8系统E-R模型图4.3 各个数据表的创建由数据模型利用Oracle10g进行数据库的详细设计,其基本表的设计如下:表4.1商品表(Merchandise)字段名字段类型长度主/外键字段值约束对应中文名MerchIDint4PNot null商品编号MerchNameVarchar50Not null商品名称MerchPriceMoney4Not null价格MerchNumInt4Not null库存数量CautionNumInt4Not null库存报警数量PlanNumInt4null计划进货数BarCodeVarchar50Not null条形码SalesProPriceM

14、oney4促销价格SalesProDateSDatetime8促销起日期SalesProDateEDatetime8促销止日期AllowAbateInt4Not null允许打折AllowSaleInt4Not null允许销售FactoryIDVarchar10FNot null厂商编号ProvideIDVarchar10FNot null供货商编号表4.2用户表(User)字段名字段类型长度主/外键字段值约束对应中文名UserIDvarchar10PNot null用户编号UserNameVarchar25Not null用户名称UserPWVarchar50Not null用户密码Use

15、rStyleInt4Not null用户类型表4.3会员表(Menber)字段名字段类型长度主/外键字段值约束对应中文名MemberIDVarchar10PNot null会员编号MemberCardVarchar20Not null会员卡号TotalCostMoney4Not null累积消费金额RegDateDatetime8Not null注册日期表4.4销售表(Sale)字段名字段类型长度主/外键字段值约束对应中文名SaleIDVarchar10PNot null销售编号MerChIDVarchar10FNot null商品编号SaleDateDatetime8Not null销售日期

16、SaleNumInt4Not null销售数量SalePriceMoney4Not null销售单额表4.5 交易表(Dealing)字段名字段类型长度主/外键字段值约束对应中文名DealingIDVarchar10PNot null交易编号DealingPriceMoney4Not null交易金额DealingDateMoney4Not null交易日期MemberIDVarchar10会员卡号UserNameVarchar10FNot null用户名称 表4.6入库纪录表(Stock)字段名字段类型长度主/外键字段值约束对应中文名StockIDVarchar10PNot null入库编号

17、MerchIDVarchar10FNot null入库商品编号MerchNumInt4Not null入库数量MerchPriceMoney4Not null单额TotalPriceMoney4Not null总额StockDateDatetime8Datetime入库日期PlanDateDatetime8Datetime计划进货日期StockStateInt4Not null入库状态表4.7供货商表(Provide)字段名字段类型长度主/外键字段值约束对应中文名ProvideIDvarchar10PNot null供货商编号ProvideNameVarchar50Not null供货商名称P

18、rovideAddressVarchar250供货商地址ProvidePhoneVarchar25供货商电话表4.8厂商表(Provide)字段名字段类型长度主/外键字段值约束对应中文名FactoryIDvarchar10PNot null厂商编号FactoryNameVarchar50Not null厂商名称FactoryAddressVarchar250厂商地址FactoryPhoneVarchar25厂商电话4.4存储过程设计创建用于用户登陆的存储过程:create or replace procedure set_User(sUserID in int identity,sUserPW

19、 in varchar,sUserName in varchar,sUserStyle in number)asbegin update User set UserName=sUserName, UserPW=sUserPW, UserStyle=sUserStylewhere UserID=sUserID; if SQL%NOTFOUND THEN insert into User(UserID,UserPW,UserName,UserStyle) values (sUserID,sUserPW,UserName,sUserStyle); end if;end set_User;4.5 数据

20、库的连接应用程序与Oracle10g数据库的连接是通过创建ADO数据源,然后在程序中利用代码与数据库建立连接来实现的。具体实现方法是:在模块中声明调用ADO连接控件,这样便能在任何时间连接数据库了。使用ADOConnection对象连接到Oracle10g。在查询等按钮的单击事件中访问数据库。可以使用应用程序配置文件建立一条到数据库服务器的连接,返回一个关键字ConnectionString,在实体数据链路层定义一个用于存储过程的一个基类DBdata.cs在这个基类中接受该关键字ConnectionString,使用SqlConnection连接数据库。配置文件连接数据库的代码:。存储过程基类

21、接受该关键字的代码:System.Configuration.ConfigurationSettings.AppSettingsConnectionString.ToString();5系统实现5.1 系统实现工具与支持平台(1)用户界面本系统采用Microsoft Visual Basic 6.0设计,用户交互界面采用的是基于Windows的窗口界面。(2)硬件接口运行本系统的硬件基本要求如下:CPU:Intel P3及以上;内存:512MB及以上;硬盘:40GB及以上。(3)软件接口数据库服务器:Oracle10g。ADO对象模型5.2系统界面下面为运行后的界面图:图5.1 系统登录界面图

22、5.2 系统管理界面图5.3 销售管理员界面图5.4 进货管理界面图5.5 会员管理界面图5.6 厂商/供货商管理界面5.3系统主要功能实现1. 前台前台仅包括销售商品时必须且仅需的功能,尽可能地做到简化操作程序,利于收银员快捷、准确地进行收款。功能包括前台交易开单、收款、退货、会员卡、折扣和优惠等;下载后台资料和将清款后的业务数据上传后台;完成前台交易中的扫描条码或输入商品编码、收款、打印收据、弹出银箱等一系列操作。支持多种收款方式:顾客交款、营业员收款。支持会员制折扣卡销售,可以采用严格会员制或自由会员制。记录顾客信息、累计顾客消费金额等功能。支持多种付款方式:现金、支票、记帐、赠券等。支

23、持多种促销方式:折扣、折让、VIP优惠卡、赠送。收款员非常规操作记录,有助于减少财务损失,方便汇总打印各种营业报表。该系统包含两个对象,包括收银员和客户。系统用例:收银员:结算收款客户:结帐 2. 后台充分利用数据库的大容量、高效率等特点,为用户提供强大的功能支持,对超市进货业务、库房业务进行管理,并处理分公司销售数据和后台批发业务,利用商业流通超市的商品管理和往来客户管理,为经营管理者提供分析与决策必需的数据和信息。该后台包含3个对象,包括:超市经理,销售管理员,进货管理员。系统用例:超市经理:操作软件录入商品,供货商,厂商;操作软件制定进货计划;查询打印计划进货与入库记录;操作软件控制商品

24、销售与否;查询打印销售情况;操作软件生成销售排行榜;查询库存明细记录;根据软件发出的库存告警进行入货;操作软件进行盘点计算。销售管理员:销售管理,因为要向系统提供货架管理信息,所以也参与货源管理进货管理员:具体采购进货,采购单查询。5.4系统核心代码此处指选取主要代码进行说明,数据库连接、用户登陆、主窗体数据库连接:在基类DBdat中打开数据库链接对象,public class DBdatprivate static SqlConnection MyConnection;private static readonly string RETURNVALUE = RETURNVALUE;priva

25、te static readonly String StringConnection = System.Configuration.ConfigurationSettings.AppSettingsConnectionString.ToString()public static void Open()/ 打开链接对象if (MyConnection = null)MyConnection = new SqlConnection(StringConnection);if (MyConnection.State = ConnectionState.Closed)MyConnection.Open(

26、);/打开数据库连接/ 关闭链接对象登陆Private Sub allen_Click()End SubPrivate Sub cboUser_GotFocus() cboUser.SelAllEnd SubPrivate Sub cmdExit_Click() Unload MeEnd SubPrivate Sub cmdOK_Click() /检查是否连接服务器 如果还没有服务器信息 If strSQLServer = Then MsgBox 您必须先设置 SQL 服务器信息。, vbInformation cmdServer_Click Exit Sub End If If cboUse

27、r.Text = Then /填写用户名 MsgBox 请填写用户名。, vbInformation cboUser.SetFocus cboUser.SetFocus Exit Sub End If If txtPW.Text = Then /填写密码 MsgBox 请填写密码。, vbInformation txtPW.SetFocus Exit Sub End IfOn Error GoTo aaaa /检查是否存在用户 sqlConnect cnMain, strSQLServer, strSQLUser, strSQLPW, strSQLDB Dim rs As New ADODB.

28、Recordset, strMD5 As String strMD5 = GetMD5(txtPW.Text) rs.Open Select * From User Where UserStyle1, cnMain, 1, 1 If rs.EOF Then MsgBox 找不到任何用户!, vbCritical cnMain.Close Else Do Until rs.EOF If StrComp(rs(UserName), cboUser.Text, 1) = 0 And StrComp(rs(UserPW), GetMD5(txtPW.Text), 1) = 0 Then curUser

29、Name = rs(UserName) curUserStyle = CLng(rs(UserStyle) cboUser.AddItem curUserName, 0 SaveUserList frmMain.Icon = Me.Icon Unload Me /卸载主窗体 frmMain.Show /显示主窗体 Exit Sub End If rs.MoveNext Loop End If MsgBox 用户名或密码错误,登陆失败!, vbCritical cnMain.CloseExit Subaaaa: MsgBox Err.Description, vbCritical If cnMa

30、in.State = 1 Then cnMain.CloseEnd SubPrivate Sub cmdServer_Click() /创建服务器命令按纽 With frmServer .txtServer.Text = strSQLServer .txtUser.Text = strSQLUser If strSQLPW Then .lbPW.Visible = True .txtDB.Text = IIf(strSQLDB , strSQLDB, SuperMarketdb) .Show 1 End WithEnd SubPrivate Sub Form_Activate() /设置光标点

31、On Error Resume Next cboUser.SetFocus cboUser.SetFEnd SubPrivate Sub Form_Load() If cnMain.State 0 Then cnMain.Close LoadUserList If cboUser.ListCount 0 Then cboUser.ListIndex = 0End SubPublic Sub LoadUserList()On Error GoTo aaaa Dim strTmp As String, j As Long Open GetApp & Filesuser.inf For Input

32、As #1 Do Until EOF(1) Line Input #1, strTmp strTmp = Trim(strTmp) If strTmp Then cboUser.AddItem strTmp j = j + 1 If j = 10 Then Close #1: Exit Sub End If Loop Close #1aaaa:End SubPublic Sub SaveUserList()/保存用户信息On Error GoTo aaaa Dim strTmp As String, i As Long, j As Long If cboUser.ListCount = 10

33、Then Exit For Next Open GetApp & Filesuser.inf For Output As #1 /读取用户信息 Print #1, strTmp Close #1aaaa:End Sub6总结与展望6.1收获与体会这次课程设计让我有以下几点体会:通过使用VB和数据库Oracle编程以及对对三层体系架构的系统开发的第一次尝试,使我们认识和掌握了到很多东西。而且也让我们知道了什么是学以致用,学用结合,这既是学习理论知识目的,也是检验学习的最好方法。这次课程设计不仅仅使我更深刻的理解了Oracle数据库,也让我们懂得了在做编程时大方向的设计才是主要的。我们能够懂得怎样

34、依据实际情况以及课堂上所学习的知识,应用到自己的实际工作,帮助解决工作过程中的问题,对实施方法程序有深刻理解,在数据库设计方面,编程技术方面有了一定的进步。在本次课程设计中,首先要解决的是数据库的连接问题,避免数据库验证时候出现错误。应用程序作为最后实现的部分,它的是面向最终用户的,所以需要一定的图形届面,和适用性,在这点上,我们要多加努力。最后,我们还要感谢老师对我们的帮助,使得我们更顺利和完善地完成了超市管理系统的设计和开发工作。6.2未来的展望 此次课程设计通过对VB和数据库Oracle编程以及三层体系架构的系统的应用,使我们对这学期所学过的知识更加熟悉。并且让我们了解到严格按照软件工程和软件开发标准来开发系统是很有必要的,数据库的开发要保证避免产生读写数据时的冲突,应用程序开发始遇到的问题要多参考资料。并要严格按照书本上的所学知识来进行设计。这些都对我们以后的学习以及工作有很大帮助。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!