超市管理系统完整版_第1页
超市管理系统完整版_第2页
超市管理系统完整版_第3页
超市管理系统完整版_第4页
超市管理系统完整版_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书课程名称:大型数据库应用计本课题名称:超市管理系统班级计本041姓名:02号左文兵姓名:27号董子冰姓名:31号刘子豪指导教师:满君丰副教授湖南工业大学计算机与通信学院2007年12月20日课程设计检查表课程设计检查表.书签错误!未定目录1绪论1.1课题背景1.2系统开发关键技术介绍系统分析.2.1用户工作流程.2.2用户业务需求.系统设计.3.1设计思想3.2系统功能结构图3.3模块功能设计.系统数据库设计.TOC\o"1-5"\h\z4.1系统数据库的建立74.2系统E-R图74.3各个数据表的创建94.4存储过程设计114.5数据库的连接115系统实现135.1系统实现工具与支持平台135.2系统界面135.3系统主要功能实现161.前台162.后台175.4系统核心代码176总结与展望216.1收获与体会216.2未来的展望21参考文献.错误!未定义书致谢参考文献.错误!未定义书致谢.签错误!未定义绪论1.1课题背景21世纪,超市的竞争也进入到了一个全新的领域,随着超市的发展,其经营管理也变得愈加复杂,迫切地需要引入新的管理技术。超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。为了大大提高超市的运作效率;通过全面的信息采集和处理,辅助提高超市的决策水平;使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张力,提供有效的技术保障。针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。1.2系统开发关键技术介绍本系统采用的是微软公司的MicrosoftVisualBasic6.0开发工具做为开发系统程序。在连接数据库上,利用AD0对象模型,创建几个简单的对象和数据来源进行连接,然后从中取得所需要的数据,进行数据访问操作后保存。在连接数据库上,以往在数据访问应用程序开发中,不管是使用DAO或RDO对象来访问数据来源,都会对这些对象模型众多而且复杂的组成结构印象深刻。但利用ADO对象模型,就可以只创建几个简单的对象和数据来源进行连接,然后从中取得所需要的数据,进行数据访问操作后保存。ADO(ActiveXDataObjects)对象模型主要由三个对象成员:Connection、Command与Recordset对象;以及三个集合对象:Errors、Parameters与Fields对象所组成。ADO对象模型与DAO、RDO另一个较大的差异,在于某些ADO对象可以直接创建而不需依据上下层按顺序产生,比如我们可以直接创建一个Command对象而不需要先行创建该对象的上层Connection对象,ADO会在该Comman对d象产生时自动创建上层Connection对象。下面给出ADO对象间的关系下面给出ADO对象间的关系(如下图1):图1.2ADO对象关系对象和集合的功能描述:Connection对象和集合的功能描述:Connection对象Command对象Recordset对象Errors集合对象Parameters集合对象Fields集合对象连接数据来源从数据来源取得所需的数据针对取出的数据进行处理返回错误信息和其他信息执行SQL查询获取和处理字段数据2系统分析2.1用户工作流程本系统主要解决超市的基本管理问题,其中又分别包括后台管理和前台管理,后台包括进货管理,销售管理,库存情况的查询,以及基本用户人员的帐号管理。前台包括商品录入,收银业务。2.2用户业务需求进货管理:根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。按计划单有选择性地进行自动入库登记。综合查询打印计划进货与入库记录及金额。销售管理:商品正常销售、促销与限量、限期及禁止销售控制。综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。库存管理:综合查询库存明细记录。库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。库存自动盘点计算。人员管理:员工、会员、供货商、厂商等基本信息登记管理。员工操作权限管理。客户销售权限管理。收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。3系统设计3.1设计思想(1)系统分成前台和后台几个相对独立的模块,但这些模块都进行集中式管理。(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。(3)本系统使用的数据库设计是0racle+ODBC+AD控0制,同时也尽可能地使用了VB的各种高级控件。(4)在SQL语言的使用上,也使用了较多的技巧,例如组合查询技术,希望通过此次设计能够提供自己各个方面的能力。3.2系统功能结构图根据对超市管理系统进行的可行性分析和结构化程序设计的要求,得到系统总体结构如图5-1所示:3.3模块功能设计根据上述系统总体思想的分析,本系统共包括六大模块,分别是商品录入管理模块,收银业务管理模块,人员管理模块,销售管理模块,进货管理模块,库存管理模块。每个模块的功能如下:商品录入管理模块:(1)实现商品的快速录入以快速更新数据;(2)实现支持商品的条形码扫描录入;收银业务管理模块:(1)实现交易总额计算;(2)实现交易总额的查询;人员管理模块功能:(1)实现员工信息的查询;(2)实现员工信息的更新,包括增加、删除、修改功能;(3)实现员工操作权限管理;销售管理模块功能:(1)实现销售信息的查询;(2)实现商品销售的控制;进货管理模块功能:(1)实现进货信息的查询;(2)实现进货信息的更新,包括增加、删除、修改功能;库存管理模块功能:(1)实现商品明细记录的查询;(2)实现商品信息的更新,包括增加、删除、修改功能;(3)实现库存状态自动告警;4.1系统数据库的建立数据库应该设计成层次清晰的,高效的,实用数据库,该系统是采用三层架构设计的,可通过应用服务器的扩展来实现新功能的添加。系统对数据记录的操作也因为其课程设计中定义的数据操作方式和操作内容而注定不会产生脏数据及数据读写的不一致性,故在数据库设计方面未采用触发器。我们认为在扩展应用服务器至多种功能后,将应用服务器分为控制部分和客户应用部分,此时在控制部分添加触发器来防止数据读写的不一致性,这已经超出了本次课程设计所涉及的范围,在此不做过多的陈述。4.2系统E-R图1.E-R模型超市管理系统数据库E-R模型:类型用户姓名用户用户密码ID员用户号类型用户姓名用户用户密码ID员用户号图41用户E-R模型图销書销售I期D促销价格商品:徊尔名商品图销書销售I期D促销价格商品:徊尔名商品图4.2物胡销售E^R模型图价格允许打折图4.3物品销售E-R模型图图4.8系统E-R模型图4.3各个数据表的创建由数据模型利用OraclelOg进行数据库的详细设计,其基本表的设计如下:表4.1商品表(Merchandise)字段名—字段类型长度主/外键字段值约束对应中文名MerchlDint4PNotnull商品编号MerchNameVarchar50Notnull商品名称MerchPriceMoney4Notnull价格MerchNumInt4Notnull库存数量CautionNumInt4Notnull库存报警数量PlanNumInt4null计划进货数BarCodeVarchar50Notnull条形码SalesProPriceMoney4促销价格SalesProDateSDatetime8促销起日期SalesProDateEDatetime8促销止日期AllowAbateInt4Notnull允许打折AllowSaleInt4Notnull允许销售FactoryIDVarchar10FNotnull厂商编号ProvidelDVarchar10FNotnull供货商编号表4.2用户表(User)字段名字段类型长度主/外键字段值约束对应中文名UserIDvarchar10PNotnull用户编号UserNameVarchar25Notnull用户名称UserPWVarchar50Notnull用户密码UserStyleInt4Notnull用户类型表4.3会员表(Menber)字段名字段类型长度主/外键字段值约束对应中文名MemberIDVarchar10PNotnull会员编号MemberCardVarchar20Notnull会员卡号TotalCostMoney4Notnull累积消费金额RegDateDatetime8Notnull注册日期表4.4销售表(Sale)字段名字段类型长度主/外键字段值约束对应中文名SaleIDVarchar10PNotnull销售编号MerChIDVarchar10FNotnull商品编号SaleDateDatetime8Notnull销售日期SaleNumInt4Notnull销售数量SalePriceMoney4Notnull销售单额表4.5交易表(Dealing)字段名字段类型长度主/外键字段值约束对应中文名DealingIDVarchar10PNotnull交易编号DealingPriceMoney4Notnull交易金额DealingDateMoney4Notnull交易日期MemberIDVarchar10会员卡号UserNameVarchar10FNotnull用户名称表4.6入库纪录表(Stock)字段名字段类型长度主/外键字段值约束对应中文名StockIDVarchar10PNotnull入库编号MerchIDVarchar10FNotnull入库商品编号MerchNumInt4Notnull入库数量MerchPriceMoney4Notnull单额TotalPriceMoney4Notnull总额StockDateDatetime8Datetime入库日期PlanDateDatetime8Datetime计划进货日期StockStateInt4Notnull入库状态表4.7供货商表(Provide)字段名字段类型长度主/外键字段值约束对应中文名ProvidelDvarchar10PNotnull供货商编号ProvideNameVarchar50Notnull供货商名称ProvideAddressVarchar250供货商地址ProvidePhoneVarchar25供货商电话表4.8厂商表(Provide)字段名字段类型长度主/外键字段值约束对应中文名FactoryIDvarchar10PNotnull厂商编号FactoryNameVarchar50Notnull厂商名称FactoryAddressVarchar250厂商地址FactoryPhoneVarchar25厂商电话4.4存储过程设计创建用于用户登陆的存储过程:createorreplaceprocedureset_User(sUserIDinintidentity,sUserPWinvarchar,sUserNameinvarchar,sUserStyleinnumber)asbeginupdateUsersetUserName=sUserName,UserPW=sUserPW,UserStyle=sUserStylewhereUserID=sUserID;ifSQL%NOTFOUNDTHENinsertintoUser(UserID,UserPW,UserName,UserStyle)values(sUserID,sUserPW,UserName,sUserStyle);endif;endset_User;4.5数据库的连接应用程序与OraclelOg数据库的连接是通过创建ADO数据源,然后在程序中利用代码与数据库建立连接来实现的。具体实现方法是:在模块中声明调用ADO连接控件,这样便能在任何时间连接数据库了。使用ADOConnection对象连接到Oracle10g。在查询等按钮的单击事件中访问数据库。可以使用应用程序配置文件建立一条到数据库服务器的连接,返回一个关键字ConnectionString,在实体数据链路层定义一个用于存储过程的一个基类DBdata.cs在这个基类中接受该关键字,使用ConnectionString连接数据库。配置文件连接数据SqlConnection库的代码:<addkey="ConnectionString"value="server=(local);uid=sa;pwd="/>。存储database=Supermark过程基类接受该关键字的代码:et;System.Configuration.ConfigurationSettings.AppSettings[ing"].ToString();用户名用户名5系统实现5.1系统实现工具与支持平台(1)用户界面本系统采用MicrosoftVisualBasic6.0设计,用户交互界面采用的是基于Windows的窗口界面。硬件接口运行本系统的硬件基本要求如下:CPU:IntelP3及以上;内存:512MB及以上;硬盘:40GB及以上。软件接口数据库服务器:OraclelOg。ADO对象模型5.2系统界面下面为运行后的界面图服务器(S)确定图5.1系统登录界面

图5.3销售管理员界面计划进贷入库记录Listl忝加(K)删除报表CR)会扇卡号:消费金前:登记日瑚:裔品辜形码:计划逬贷日期:ij确走眼消图5.4进货管理界面删除0)渚理(C)确定取消图5.5会员管理界面图5.6厂商/供货商管理界面5.3系统主要功能实现1.前台前台仅包括销售商品时必须且仅需的功能,尽可能地做到简化操作程序,利于收银员快捷、准确地进行收款。功能包括前台交易开单、收款、退货、会员卡、折扣和优惠等;下载后台资料和将清款后的业务数据上传后台;完成前台交易中的扫描条码或输入商品编码、收款、打印收据、弹出银箱等一系列操作。支持多种收款方式:顾客交款、营业员收款。支持会员制折扣卡销售,可以采用严格会员制或自由会员制。记录顾客信息、累计顾客消费金额等功能。支持多种付款方式:现金、支票、记帐、赠券等。支持多种促销方式:折扣、折让、VIP优惠卡、赠送。收款员非常规操作记录,有助于减少财务损失,方便汇总打印各种营业报表。该系统包含两个对象,包括收银员和客户。系统用例:收银员:结算收款客户:结帐2.后台充分利用数据库的大容量、高效率等特点,为用户提供强大的功能支持,对超市进货业务、库房业务进行管理,并处理分公司销售数据和后台批发业务,利用商业流通超市的商品管理和往来客户管理,为经营管理者提供分析与决策必需的数据和信息。该后台包含3个对象,包括:超市经理,销售管理员,进货管理员。系统用例:超市经理:操作软件录入商品,供货商,厂商;操作软件制定进货计划;查询打印计划进货与入库记录;操作软件控制商品销售与否;查询打印销售情况;操作软件生成销售排行榜;查询库存明细记录;根据软件发出的库存告警进行入货;操作软件进行盘点计算。销售管理员:销售管理,因为要向系统提供货架管理信息,所以也参与货源管理进货管理员:具体采购进货,采购单查询。5.4系统核心代码此处指选取主要代码进行说明,数据库连接、用户登陆、主窗体数据库连接:<appSettings><addkey="ConnectionString"value="server=(local);database=Supermarket;uid=sa;pwd="/></appSettings>在基类DBdat中打开数据库链接对象,publicclassDBdat{privatestaticSqlConnectionMyConnection;privatestaticreadonlystringRETURNVALUE="RETURNVALUE";privatestaticreadonlyStringStringConnection=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString()publicstaticvoidOpen(){//打开链接对象if(MyConnection==null){MyConnection=newSqlConnection(StringConnection);}if(MyConnection.State==ConnectionState.Closed){MyConnection.Open();///打开数据库连接}}///关闭链接对象登陆PrivateSuballen_Click()EndSubPrivateSubcboUser_GotFocus()cboUser.SelAllEndSubPrivateSubcmdExit_Click()UnloadMeEndSub检查是否连接服务器PrivateSubcmdOK_Click()//'如果还没有服务器信息IfstrSQLServer=""ThenMsgBox"您必须先设置cmdServer_ClickExitSubEndIfIfcboUser.Text=""Then//MsgBox"请填写用户名。cboUser.SetFocusSQL服务器信息。"vbInformation填写用户名〃vbInformationcboUser.SetFocusExitSubEndIfIftxtPW.Text=""Then//填写密码MsgBox"请填写密码。",■,txtPW.SetFocusExitSubvbInformationEndIfOnErrorGoToaaaa//检查是否存在用户sqlConnectcnMain,strSQLServer,strSQLUser,strSQLPW,strSQLDBDimrsAsNewADODB.Recordset,strMD5AsStringstrMD5=GetMD5(txtPW.Text)rs.Open"Select*From[User]WhereUserStyle>1",cnMain,11Ifrs.EOFThenMsgBox"找不到任何用户!",vbCriticalcnMain.CloseElseDoUntilrs.EOFIfStrComp(rs("UserName"),cboUser.Text,1)=0AndStrComp(rs("UserPW"),GetMD5(txtPW.Text),1)=0ThencurUserName=rs("UserName")curUserStyle=CLng(rs("UserStyle"))cboUser.AddItemcurUserName,0SaveUserListfrmMain.Icon=Me.IconUnloadMe//卸载主窗体frmMain.Show//显示主窗体ExitSubEndIfrs.MoveNextLoopEndIfMsgBox"用户名或密码错误,登陆失败!",vbCriticalcnMain.CloseExitSubaaaa:MsgBoxErr.Description,vbCriticalIfcnMain.State=1ThencnMain.CloseEndSubPrivateSubcmdServer_Click()//创建服务器命令按纽WithfrmServer.txtServer.Text=strSQLServer.txtUser.Text=strSQLUserIfstrSQLPW<>""Then.lbPW.Visible=True.txtDB.Text=IIf(strSQLDB<>"",strSQLDB,"SuperMarketdb").Show1EndWithEndSubPrivateSubForm_Activate()//设置光标点OnErrorResumeNextcboUser.SetFocuscboUser.SetFEndSubPrivateSubForm_Load()IfcnMain.State<>0ThencnMain.CloseLoadUserListIfcboUser.ListCount>0ThencboUser.ListIndex=0EndSubPublicSubLoadUserList()OnErrorGoToaaaaDimstrTmpAsString,jAsLongOpenGetApp&"Files\user.inf"ForInputAs#1DoUntilEOF(1)LineInpu

温馨提示

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

评论

0/150

提交评论