(精品)超市管理系统1(2013年优秀毕业设计)_第1页
(精品)超市管理系统1(2013年优秀毕业设计)_第2页
(精品)超市管理系统1(2013年优秀毕业设计)_第3页
(精品)超市管理系统1(2013年优秀毕业设计)_第4页
(精品)超市管理系统1(2013年优秀毕业设计)_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

大学毕业设计论文课题 超市管理系统姓 名 学 科 专 业 . 指 导 教 师 日期: 年 月-前言-超市管理系统是一个超市不可缺少的部分,它的内容对于超市的决策者和管理者来说都至关重要,所以超市管理系统应该能够为用户提供充足的信息和快捷的销售,查询手段。但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对品质信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高超市管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套超市管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。-摘要-超市管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。本系统主要完成对超市的管理,包括进货管理,销售管理,库存管理和员工管理四个方面。系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。系统的核心是销售、库存查询和进货管理三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成销售或进货操作时系统会自动地完成相对应信息的修改。查询功能也是系统的核心之一,在系统中主要根据商品编号和商品名称等进行查询,其目的都是为了方便用户使用,以求更快的查找到各个物料和产品品质的基本信息。系统有完整的用户添加、删除和密码修改功能,系统采用Microsoft Office中的Access 2000来设计数据库,并使用当前优秀的开发工具VB 6.0 ,它有着最为灵活的数据库结构,对数据库应用有着良好的支持。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。英文摘要Summary This system chiefly accomplishes the stock management to the storehouse, includes being put in storage, goes out the warehouse and stocks, and staffs information, six aspects such as suppliers information as well as cryptogram management etc. What the system can accomplish to various kind the information glances over and the function such as inquires about, adds, deletes andmodification etc. The systematic nucleus is is put in storage, stocks and goes out the contact between the warehouse, and when accomplishes being put in storage or going out a warehouse, the system can accomplish voluntarily the modification of stock to other table of influence that the modification of every table all will be linkageed when operating. Inquiring about the function also is one of systematic nucleus, namely having the wallscroll spare to inquire about and inquires about with many conditions in the system, also having accurately the query to inquire about with bluring, not only there is the condition query of static state in the system, also having the condition query of trends formations, his purpose all is using for convenient user. The system has completeuser to add, deletes and the cipher modification function, and has the reportform and prints the function. The Access 2000 that the system adopted among Microsoft Office comes the design data warehouse, and use before one zorch development tool - VB6.0, it has the most nimble data base structure, and the application has the good support to the data warehouses. The development background of this the subject, course of function and the development that will be accomplished were chiefly introduced to thesis. The emphatic explanation focal point of systems design, design thought and difficult point technology and settlement scheme. The keyword: the data base, SQLs language, vb6.0,s data base package, the Warehouse management.关键字:控件、窗体、数据库,visual basic语言,超市,商品目 录第一章 需求分析11 开发背景1. 2 系统分析第二章 系统实现的理论基础2.1 VISUAL BASIC 6.0 简介2.2 ACCESS数据库介绍2.3 ADO技术2.4 SQL语言第三章 系统数据库设计31数据库的概念32创建数据库文件3.3 怎样创建一个数据表3.4 VB连接ACCESS2000数据库3.5数据库设计第四章 系统总体规划41系统功能42系统功能简介43流程图和E-R图设计结束语参考文献系统代码清单需求分析1.1开发背景随着我国改革开放的不断深入,经济飞速的发展,企业要想生存、发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,超市管理的全面自动化、信息化则是其中极其重要的部分。为了加快超市管理自动化的步伐,提高超市的管理业务处理效率,建立超市管理系统已变得十分心要。将计算机这一信息处理利器应用于超市的日常管理已是势必所然,而且这也将为超市管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业的飞速发展提供无限潜力。采用计算机管理信息系统已成为超市管理科学化和现代化的重要标志,它给企业管理来了明显的经济效益和社会效益。主要体现在:极大提高了超市工作人员的工作效率,大大减少了以往入出存流程繁琐,杂乱,周期长的弊端,可以减少入库管理、出库管理及库存管理中的漏洞,可以节约不少管理开支,增加企业收入。超市的管理的操作自动化和信息的电子化,全面提高了超市的管理水平入库、库存、出库还是现在企业超市管理的常规基本模式,虽然,最近又出现了很多新的管理模式,如:基于零库存思想的沃尔玛特管理方式,但这些新的思想在中国大部分企业的管理中还是难以实现的。所以如何设计好超市管理系统,尽可能地减少超市管理的重复性和低效性就成为当前最为重要的问题。超市供销管理的核心是入库、库存和出库之间的联系,如何处理好三者之间的关系是系统最为关键的部分。另外,经办人信息和厂家信息管理也是超市管理中一个必不可少的部分,它提供着与入库和出库相关的地一些信息,使得整个系统更加完整,更加实用。通过对超市管理日常工作的详细调查,搜集了大量的资料,从系统结构的组织,功能的实现,技术的要求以及可行性等多方面进行考虑,认为本课题是一个适应现今超市供销管理需求的计算机信息管理系统,具有一定的实际开发价值和使用价值。超市管理系统的框架图:顾客 认识商品 进货部 订货确认 超 市 订货报表 消费纪录单 订货报表 结销 帐 售 盘 数 点 量 管理者 業業 1.2系统分析作为一个超市管理系统,其功能是实现超市中商品的进货销售,库存等管理的系统化、规范化和自动化。本系统主要要完成的功能有:(1)交易管理:包括进货登记、销货登记、退货登记等。其中进货登记中还包含进货商登记,如过是新的进货厂商,可以直接在此登记入库。进货和销售的主要交易都是在此进行。每次交易(包括进货、销货和退货)都需要对商品名称、生产厂商、商品型号、单价、数量、总金额、交易日期、经手业务员编号等各项记录。在交易过程中,程序的编写尽可能的方便员工进行交易,比如:进货登记时,如果商品编号相同,则自动添加该商品的其它属性;销货登记时,用户只要输入商品编号,该商品的其它属性即可自动出现。退货登记时,只要输入正确的销货编号,其销售信息也将自动列出,尽量的方便了用户的操作,同时对于登陆的员工编号程序也自动的将其列在进货登记、销货登记中,已防止员工进行非正常的交易。(2)进货统计:包括今日进货统计、本月进货统计、本季度进货统计、本季度进货统计、本年度进货统计等。其中每次进货统计都是按进货厂商和进货总金额统计显示的。使用一个表格显示所选时间段的全部进货数据,包括进货编号、商品名称等。再使用另一个表格显示分别从各个厂商进货的金额,还有一个文本框用于显示次时间段的进货总金额。(3)销货统计:包括今日销售统计、本月销售统计、本季度销售统计、本年度销售统计等,其中每次销售统计都是按生产厂商和销售总金额统计显示的。使用一个表格显示所选时间段的全部销售数据,包括销货编号、商品名称等。再使用另一个表格显示分别从各个厂商进货的金额,还有一个文本框用于显示次时间段的销售总金额。(4)查看数据表:实现各种数据表的浏览,包括进货表,商品库存表、销售表、退货表、员工表、进货商表等。对于员工表管理员还可以对其进行删除或添加用户操作。(5) 系统管理: 包括更换用户、修改密码、退出系统等。更换用户的操作方便了用户的使用,同时更加方便了管理员对于系统数据的查询,可以做到随时查看,以使管理员对帐目一目了然,同时方便了普通用户的交接班使用本系统。修改密码和退出系统都是对于系统管理的辅助功能,再这里就不详细说明了。(6) 其它窗体: 包括主窗体、登陆窗体、系统初始化窗体。主窗体就是将各个模块的大意列在菜单中,然后通过每一个菜单将其它的窗体逐个对应的连到主窗体中。登陆窗体为本系统的启动窗体,其功能是让合法的用户使用本系统,已防止其它的非法人员使用该系统。并对登陆的用户做一下权限的区别:分为管理员和普通员工。系统初始化窗体的主要目的是:在本系统的试运行阶段成功后是管理员可以直接把除了员工表以外的所有数据表的内容清零。登陆窗体中设计了一个权限,可以区分是员工登陆还是管理员登陆,如果是管理员则提示是否进行系统初始化,否则直接进入主窗体。第二章 系统实现的理论基础2.1 VISUAL BASIC 6.0 简介Visual Basic作为当今社会功能强大的可视化开发工具具有以下几大特点:(1)成功的简化了界面的设计过程。它在Windows平台上提供了图形用户界面(GUI)的集成开发环境(IDE)。在集成开发环境中,你可以选择想要显示的工具栏,将按钮添加并移动到工具栏中,在不固定的或固定的工具栏中以及SDI或MDI界面中进行选择,Visual Basic的IDE就像飞机的坐舱,完成你工作所需的所有量表和仪器都已经配备好了。采用简单易学的Basic语言,它既适用于没有任何编程经验的开发者学习,也适合于开发各种复杂的底层应用程序,使用Basic语言编写的应用程序简洁灵巧易于维护,可以说它是一种“天生结构化”的语言。(2)提供了多种向导。利用这些向导,可以快速地完成一般性的任务,例如生成其控件不绑定到数据控件上的纯代码窗体,建立查询,添加工具,制作图表,以及发布创建的应用程序等,这样可以大大加快应用程序的开发过程。(3)具有强大的数据和字符串处理功能。Visual Basic还是一种易于扩充功能的开发系统。一方面,它可以使用第三方厂家提供的各种Visual Basic使用的控件;另一方面,开发者也可以使用其他编程语言编写自己所需的控件,因此它是一种可以不断扩充功能的开发系统。(4)提供了IntelliSense技术。当你在Visual Basic的代码窗口敲进对象名称的时候,IntelliSense技术会自动向你显示一些相关的信息,例如对象的属性和方法等。当一种方法或函数的参数被输入时,IntelliSense有助于确保开发者们为Visual Basic提供正确的变量以及帮助用户自己编写正确的函数。IntelliSense也有助于提高开发者们的开发能力,因为他们此时不必再记忆那些复杂的对象属性及函数参数了。2.2 ACCESS数据库介绍Microsoft Access 是微软公司开发的第一个面向Windows平台的桌面数据库管理系统,它充分利用了Windows平台的优越性,如图形界面和Windows的事件驱动机制等。作为Microsoft的office套件产品之一,access已经卖出了近700万份,成为世界上最流行的桌面数据库系统。Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。它能操作其它来源的资料,包括许多流行的PC数据库程序(如dBASE,Paradox,Microsoft FoxPro)和服务器、小型积极大型机上的许多SQL数据库。Access还完全支持Microsoft的OLE技术。Access还提供windows操作系统的高级应用程序开发系统。Access与其它数据库开发系统之间相当显著的区别就是:您不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一愉快的过程是完全可视的!如果您能给它加上简短的VBA代码,那么您的程序决不比专业程序员潜心开发的程序差。2.3 ADO技术 Active Data Objects(ADO)微软最新的数据库访问技术,它被设计用来同新的数据访问层OLE DB Provider一起协同工作,以提高通用数据访问(Universal Data Access).OLE DB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象。ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation的封装接口。对那些熟悉RAO的程序员来说,可以把OLE DB比作是ODBC驱动程序。如同RAO对象是ODBC驱动程序接口一样,不同的数据源要求它们自己的OLE DB提供者(OLE DB Provider)。ADO最重要的三个对象是:Connection, Command, Recordset。(1) Connection对象Connection对象用于建立与数据库的连接。通过连接可从应用程序访问数据源。它保存诸如指针类型,连接字符串,查询超时,连接超时和缺省数据库这样的连接信息。(2) Command对象在建立Connection后,可以发出命令操作数据源。一般情况下,Command对象可以在数据库中添加,删除或更新数据,或者在表中进行数据查询。Command对象在定义查询参数或执行一个有输出参数的存储过程时非常有用。(3) Recordset对象Recordset对象只代表一个记录集,这个记录集是一个连接的数据库中的表,或者是Command对象的执行结果返回的记录集。在ADO对象模型中,是在行中检查和修改数据的最主要的方法,所有对数据的操作几乎都是在Recordset对象中完成的。Record对象用于指定行,移动行、添加、更改、删除记录。2.4 SQL语言SQL语言是一种介于关系代数与关系演算之间的结构化查询语言,其功能不仅仅是查询。SQL是一个通用的、功能极强的关系数据库语言。SQL语言之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时有简单易学的语言。SQL语言集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体,主要特点包括:(1) 综合统一数据库系统的主要功能是通过数据库支持的数据语言来实现的。SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、建立数据库、插入数据、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,这就为数据库应用系统的开发提供了良好的环境。用户在数据库系统投入运行后,还可根据需要随时地逐步地修改模式,且并不影响数据库的运行,从而是系统具有良好的可扩展性。(2)高度非过程化非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求,必须指定存取路径。而用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无须了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。(3)面向集合的操作方式非关系数据模型采用的是面向记录的操作方式,操作对象是一记录。例如查询所有平均成绩在80分以上的产品姓名,用户必须一条一条地把满足条件的产品记录找出来(通常要说明具体处理过程,即按照哪条路径,如何循环等)。而SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。(4)以同一种语法结构提出两种使用方式SQL语言既是自含试语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作;作为嵌入式语言,SQL语言能够嵌入到高级语言(例如C、COBOL、FORTRAN)程序中,供程序员设计程序时使用。而在两中不同的使用方式下,SQL语言的语法结构基本上是一致的。这种以统一的语法结构提供两种不同的使用方式的做法,提供了极大的灵活性与方便性。(5)语言简捷,易学易用 SQL语言功能极强,但由于设计巧妙,语言十分简捷,完成核心功能只使用了9个动词:数据查询(SELECT)、数据定义(CREATE,DROP,ALTER)、数据操作(INSERT,UPDATE,DELETE)和数据控制(GRANT,REVOKE)。SQL语言接近英语口语,因此容易学习,容易使用。第三章 系统数据库设计31数据库的概念数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。数据库技术能使Internet应用超越具有早期应用特点的简单的发布。同时,Internet技术提供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数据库技术的要求。它们只是加重了数据库技术的重要性。数据库的设计和开发及包括艺术有包括工程。理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密切关注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于Internet的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中。存储器的容量、存储速率直接影响到数据管理技术的发展。从1956年生产出第一台计算机到现在,存储器的发展,为数据库技术提供了良好的物质基础。使用计算机以后,数据处理的速度和规模,无论是相对于手工方式,还是机械方式,都有无可比拟的优势。通常在数据处理中,计算是比较简单的而数据的管理却比较复杂。数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。数据管理技术的优劣,将直接影响数据处理的效率。数据库在一个信息管理系统中占有非常重要的位置,数据库结构设计的好坏将直接对应用系统的效果产生影响。合理的数据库设计可以提高数据库存储效率,保证数据的完整和一致。同时合理的数据结构也将有利于程序的实现。设计数据库系统时,应该首先了解用户的各个方面的需求,包括现有的以及将来可能增加的。32创建数据库文件如果操作系统中安装了ACCESS2000的话,可以在开始菜单的程序菜单中可以找到。如下所示:打开ACCESS2000之后,会开启一个窗口,可选择是打开以前的数据库文件还是新建一个新的空数据库文件,如果选择空ACCESS数据库,然后点击确定按钮。这些就新建了一个数据库文件。最后一步就是要选择一个要保存数据库文件的名字和位置。点击创建就完成。3.3 怎样创建一个数据表 上面已经讲了如何创建一个数据库文件,按照上面的步骤建立一个数据库文件后,需要在数据库文件中建立一个数据表。在下面的对话框中选”使用设计器创建表”,上面还有三个按钮,一个是打开,一个是设计,一个是新建,点击设计,就可以开始设计数据表了。 出现设计的界面后,就可以开始设计数据表了!3.4 VB连接ACCESS2000数据库用vb编写一个管理软件,如果不能连接数据库,那也没有什么用处。先看看VB是如何与ACCESS2000数据库相连接的。Sub ConnStr()连接数据库Set conn = CreateObject(ADODB.Connection) 建立数据库连接对像DBpath = App.Path & & data.mdb 设置数据的路径conn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & DBpath 打开数据库连接Set rs = CreateObject(ADODB.Recordset) 设置数据库对像End Sub上面的一段代码就是连接数据库的。上用到了三个变量conn,Dbpath,rs。其中有两个变量要定义为公用的变量,因为这段代码是放在一个模块中的,为了在每一个窗体中能够使用这个变量,所以必须要声明为公用变量。声明公用变量的方法如下:Public connPublic rs上面就是声明为公用变量,上面的声明一定要放在模块的最上面。如果声明在下面,那就成了局部变量,那么作用范围就会不同了,作用就更不同,而且在其它窗体中使用到了这个变量,程序会出错。34数据库设计上面提到的各种功能的实现都离不开数据库的支持,因此数据库设计作为本系统设计的一部分不可缺少。开发本系统中使用的数据库系统是Windows Access 2000 。从上面的功能分析不难看出本系统需要建立以下几个数据表:buy表(进货表)、goods表(现存商品表)、sell表(销售表)、retreat表(退货表)、employee表(员工表)、manufacturer表(进货商表)。由于数据量比较小,所以这些数据表都存在一个数据库下:sellsystem.mdb 下面对各个数据表的结构做一下简单介绍:在系统的数据库设计中,进货表、销货表、商品库存表和退货表涉及了交易管理三个子菜单的绝大部分数据,是本系统数据库的核心,所以将对其部分表的设置列表显示。Manufacturer表(进货商表)中包括有厂商编号、厂商名称、联系人姓名、电话、厂商地址等字段,表略。employee(员工表)中包括有员工编号、员工姓名、员工密码、员工电话、员工地址等字段,表略。buy表(进货表)中包括有进货编号、商品编号、商品名称、生产厂商、型号、数量、进货价、进货年、进货月、进货日、总金额、业务员编号等。设计该数据表的主要目的是方便管理员的查看,使系统的数据管理能够更加层次化。具体设置如表3-1所示。表3-1 buy表字段名数据类型说明进货编号文本字段大小为20商品名称文本字段大小为20生产厂商文本字段大小为20型号文本字段大小为20数量数字长整型进货价货币货币进货年数字整型进货月数字整型进货日数字整型业务员编号文本字段大小为20总金额货币货币goods表(现存商品表)中包括有商品编号、生产厂商、商品名称、型号、进货价、销货价、数量、进货年、进货月、进货日、业务员编号、总金额等字段。具体设置如表3-2所示。表3-2 goods表字段名数据类型说明商品编号文本字段大小为20商品名称文本字段大小为20生产厂商文本字段大小为20型号文本字段大小为20数量数字长整型进货价货币货币销货价货币货币sell表(销货表)中包括有销货编号、商品编号、商品名称、生产厂商、型号、数量等字段,由于篇幅有限,其表略。 retreat表(退货表)中包括有退货编号、销货编号、生产厂商、商品名称、型号、单价、数量、总金额、退货年、退货月、退货日、业务员编号等。具体设置如表3-3所示。表3-3 retreat表字段名数据类型说明退货编号文本字段大小为20销货编号文本字段大小为20商品名称文本字段大小为20生产厂商文本字段大小为20型号文本字段大小为20单价货币货币数量数字长整型总金额货币货币退货年数字整型退货月数字整型退货日数字整型业务员编号文本字段大小为20第四章 系统总体规划4.1 系统功能1 可以进行文本操作;2 添加一个数据库项目;3 删除一个数据库项目;4 修改一个数据库项目;5 查询信息;6 用户添加和密码修改。42系统功能介绍登陆窗体 该登陆窗体对用户登陆做了一个简单的判断,如果是管理员登陆则可进入初始化界面,然后再进入主界面。 具体做法是:先在窗体级中定义一个记录集,用于打开employee表,打开后将该表中的字段:员工姓名,依次加到combo1中。全加入后关闭记录集,然后对combo1和text1中的内容做一下简单判断:如果combo1和text1中的数据正好和employee表中的某个记录相同,则通过登陆窗体,否则提示用户用户名或密码有误。在通过登陆窗体中还要对用户名做一下判断:如果是管理员登陆,则进入系统初始化窗体,如果是普通用户登陆,则进入主界面。初始化窗体 该初始化窗体为本系统的使用者提供了试运行服务,如果使用者试运行后决定正式使用,可以通过管理员登陆本窗体对系统进行初始化,即清空试运行阶段的所有销售数据。具体实现过程为:定义5个记录集,其每一个记录集控制一个数据表的打开与关闭操作,其记录集的取名与数据表相近:rs_sell, rs_buy, rs_goods, rs_retreat,rs_manufacturer.当管理员点击是标签时,先出现一个消息框,问管理员是否真的要进行初始化。如果是,则5个记录集依次连接到5个数据表上,然后对每个数据表的内容进行删除操作。具体删除方法为:先对表的状态进行判断,如果某个数据表的内容为空,则直接关闭记录集,以免多步操作数据表出现错误;如果该数据表不为空,则依次删除该数据表的每一个记录,对于每一个数据表都要做此判断,并且每打开一个新的数据表都要关闭上一个数据表,这样操作起来层次显得比较清晰,而且维护起来也比较方便。超市管理主界面: 主窗体的建立十分简单,只需将所要实现的功能编辑成菜单即可。该窗体的运行过程为:用户首先进入登陆窗体,如果是管理员登陆,则先进入初始化窗体,经过判断是否需要初始化后,进入主窗体。其权限为:销货统计、进货统计、查看数据表和系统管理。其权限的设置使管理员能够方便的查看任何时间段内的所有信息,还可以对员工表进行管理。如果是普通用户登陆,则直接进入主窗体,其授予的权限只有交易管理和系统管理,也就是说员工只能负责对商品进行如库登记、销货登记和退货登记,另外在一个员工对本系统使用的整个期间内,进货登记、销货登记和退货登记三个窗体中的显示的业务员编号都由系统自动给出的该员工的员工编号。进货登记窗体 本窗体用来实现商品进货功能,将进货信息添加到buy表,再将该信息选择性的加入goods表。如果是新的进货厂商,可以在此入库登记。其具体实现过程如下所述:先在窗体级变量中定义三个记录集:rs_buy,rs_goods,rs_manufacture用来控制三个数据表:buy表,goods表,manufacturer表。在用户点击添加商品中的添加入库操作之前,程序先会检查是否有用户是否有个别属性为空,并做出提示。然后将商品添加到buy表中,再添加到goods表。在添加到goods表时,程序会先判断该商品编号是否已经存在,如果存在则直接将该添加信息的数量加到goods表中相应的记录上。为此,进货编号、商品编号是buy表、goods表中不可重复的属性。为方便用户操作,程序特在商品编号的文本框:text2的Change事件中做了一个判断,即如果该商品编号存在的话直接显示该商品的其他属性。另外,对于总金额文本框也是由数量和进货价两个文本框的Change事件计算入内的。如果是新的进货商,可以将它的信息添加到进货商表。其过程和上面所说的添加到buy表基本相同,这里就不做介绍了。(5) 销货登记窗体 本窗体主要功能是对商品进行销售,首先对员工输入的销货信息进行完整条件的判断,条件符合后进行销售。然后将销售信息存入sell表,并对goods表的数量做相应修改。 具体实现过程为:先在窗体集中定义两个记录集:rs_sell,rs_goods,用来控制两个数据表:sell表和goods表。在销货窗体中,如果用户输入的商品编号已经存在,则该商品的其它属性将随着text2(即商品编号)的Change事件出现在其对应的位置上。而销售日期和业务员编号已经是程序默认给出的系统时间和登陆员工的编号。在判断没有空缺属性后该商品将顺利添加如库,而且该商品在goods表中的数量也将随之做相应的改变,使goods表和sell表的总和保持原来goods表中的数量值。(6)退货窗体 本窗体的功能是实现商品退货功能,当人为判断某商品可以退货时即可将该商品退货。其数据库实现为:先将该信息加入retreat表,然后从sell表中减掉,最后对goods表的数量做一下调整即可。其具体实现过程是:先在窗体集中定义三个记录集:rs_sell,rs_goods,rs_retreat用来控制三个数据表:sell表、goods和retreat表。在退货窗体中,如果用户输入的销货编号存在,则关于该商品的销售信息将依次出现在相应的对话框中。退货成功后,该退货信息先添加到退货表,然后将其退货数量从相应的sell表中减掉,并添加到goods表中。(7)进货统计菜单 进货统计菜单下有4个子菜单,分别是今日进货统计、本月进货统计、本季度进货统计、今年进货统计。由于他们的界面非常相似,本程序中使用了一个SSTab控件以选项卡的形式在一个窗体中实现以上4个子菜单。这样做使窗体显得更加美观。为项目添加了必要的控件之后,开始进行界面设计。先在窗体上添加一个SSTab控件,单击鼠标右键在快捷菜单中选择”属性”命令。将其选项卡的数目定为4个,标题分别为:今日进货、本月进货、本季度进货、本年度进货。由于每个选项卡的界面都一样,现以”今日进货”选项卡为例,加入两个datagrid控件,两个Adodc控件,一个Label控件,一个textbox控件和8个command控件。其中两个Adodc的数据源连接都是才用的相对路径与sellsystem的buy表连接的,两个Adodc连接的SQL语句分别如下:select * from buyselect 生产厂商,sum(总金额) as 各厂商进货总金额 from buy group by 生产厂商。(8)销货统计窗体 销售统计菜单下有4个子菜单,分别是今日销货、本月销货、本季度销货、今年销货。由于它们的界面非常相似,本程序中使用一个SSTab控件以选项卡形式在一个窗体中实现4个子菜单。其界面设计和窗体说明与进货统计大同小异,也一样一个选项卡为例进行说明,现以”今日销货”为例:加入两个datagrid控件,两个Adodc控件,一个Label控件,一个textbox控件和8个command控件。其中两个Adodc的数据源连接都是采用的相对路径与sell表连接的,两个Adodc连接的SQL语句分别如下:select * from sellselect 生产厂商,sum(总金额) as 各厂商销货总金额 from sell group by 生产厂商。 (9)查看进货表 其界面的设计比较简单,只是一个datagrid控件,一个Adodc控件(已隐藏)和四个Command控件。本窗体的主要设计在于其四个命令按纽在进货表为空时不可用。(10)查看进货表 本窗体的主要设计目的是设置一个查询商品库存表的条件 。具体操作为:为查询现存商品表设立了一个简单的查询条件,一个是直接显示现存的全部商品表,一个是按条件对现存商品进行查询,用户可以根据自己需要按商品名称或生产厂商分别进行查找。该窗体的实现是要在窗体集的变量中设置一个记录集rs_goods,用来控制goods表,然后将记录集在打开窗体时的select语句设为与本窗体的text1和text2有关的SQL语句。然后让现存商品表显示出来。(11)管理员工表 本窗体的制作目的在于方便对管理员用户的管理, 本节前面曾经提过系统初始化的功能,但其初始化并不能对员工表进行操作,当管理员登陆本系统时,可以访问此窗体,对用户表进行维护。但不能对管理员进行删除操作,此操作已被本人屏蔽。 (12)更换用户功能 在一个超市可能会存在员工交接班的现象,为了方便用户交接班的操作顺利进行,在系统管理模块中做了一个更换用户子菜单,该子菜单便顺利的实现了此功能,而且它也方便了管理员的登陆管理。(13)修改密码 为了方便用户使用,在本模块中还设置了一个修改密码窗体,该窗体主要包括一个用户名输入、一个原密码输入和两个新密码输入。此窗体实现的功能是显而易见的,方便了用户的操作,增加了系统使用的安全性。具体做法是:先要求用户将四个必填项填写完整,然后对两个新密码进行相同判断,如果相同,则将记录集rs_employee打开,对用户名和原密码进行核对,如果相同,就将老密码替换为新密码。本节总结:对于本超市管理系统功能的实现,重点和难点有以下几处:交易管理模块:在本模块中,对于商品的进货、销货和退货操作时,都要注意其操作过程中商品数量及其它属性的变化,本人在制做此模块时,采用了指导教师的提供给我的思想:进货登记时,将进货信息添加到进货表中。然后对商品库存表的编号进行判断,如果进货信息的商品编号存在,则将商品库存表中相应记录的商品数量做对应调整;如果商品编号不存在,则直接将进货信息添加到商品库存表中。销货登记时,先将商品的销货信息添加到销货表中,然后将商品库存表中响应的商品的数量做相对调整,保证商品数量的一致性。退货登记时将退货信息添加到退货表中,然后将退货数量从销售表中减掉,最后将退货数量加到商品库存表中。在本系统管理员登陆时,显示给管理员的第一个界面:系统初始化也是本系统的又一大功能特色,其实现过程中要严格控制每一个记录集对相应数据表的打开与关闭操作。43程序流程图和E-R图设计登录界面是是面界主面界主查看数据表销售统计进货统计退货登记销售登记进货登记是是否管理员否各模块的E-R图设计:1交易管理模块:用于管理商品的进货,销售,退货登记的操作。实体E-R图如下: 交易管理 销售登记退货登记进货登记 2进货统计管理:主要用于对商品每日,每月,第季度,每年的进货情况进行统计管理,此功能只有以管理员的身份进入时才为可用状态。实体E-R图如下: 进货统计管理 本季度进货今年进货本月进货今日进货3销售统计管理:主要用于对商品每日,每月,第季度,每年的销售情况进行统计管理,此功能只有以管理员的身份进入时才为可用状态。实体E-R图如下:销售统计管理 本季度销售今日销售今年销售本月销售4查看数据表:主要能查看进货表,商品信息表,销售表,退货表等进行查看,以实现对商品信息的及时了解。实体E-R图如下:查看数据表 进货商表管理员工表进货表退货表销售表现存商品表结束语本次超市管理系统是基于Visual Basic 的ADO技术设计的。选择了Access 2000作为后端开发工具,开发数据库功能,并选择了Visual Basic 6.0作为界面前台开发工具。在该系统开发中我通过建立数据库,以及对各种信息库的开发(如:添加、查询、修改、删除)及设计系统维护安全部分,完成了此次对超市管理系统的设计。在本次的开发过程中,我意识到最重要的环节在于对系统的流程、功能模块、框架结构等方面的把握和设计。在需求分析结束以后,我们对一个系统需要具有哪些功能已经有了一定的认识,而如何以一个简洁、合理的系统结构去实现用户要求的功能就成为系统开发的关键环节。在这方面我可以说是深有体会。由于有些急于求成,在对ADO技术不是很了解的情况下就开始着手程序开发,所以当有时间静下来仔细理一下思路的时候发现走了很大的弯路,可以说是整个思路和设计要求有着非常大的差异。值得庆幸的是,发现的比较及时,还有足够的时间让我转变思路,从头开始。因此,通过这次质品管理系统的开发,我深刻认识到系统分析,以及对整个系统的总体设计的重要性。只有走好了这一步,整个系统的开发才能事半功倍,否则就会是“棋差一着,满盘皆输”。同时,在这次的系统开发中我也看到了自己在新知

温馨提示

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

评论

0/150

提交评论