• 579.00 KB
  • 2022-04-22 13:37:55 发布

小超市管理系统开发毕业论文.doc

  • 43页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'小超市管理系统开发毕业论文目录摘要ISupermarketManagementSystemIIAbstractII目录1第1章绪论31.1开发超市管理系统的背景31.2开发超市管理系统的意义3第2章可行性研究42.1引言42.2市场调查42.3技术可行性42.3.1VB42.3.2数据库的选择62.4经济可行性72.5操作可行性8第3章需求分析93.1需求分析的作用93.2需求的任务93.3业务流程图103.4数据流图123.5数据字典14第4章总体设计174.1总体设计引言174.2系统总体设计方案174.3系统实现的主要功能174.3.1系统功能介绍174.3.2系统的功能模块图19第5章数据库设计20 5.1数据库设计引言205.2概念设计205.3逻辑设计22第6章详细设计256.1详细设计的引言256.2系统的登录设计256.3系统主界面的设计286.4供应商管理模块306.5商品信息管理模块326.6商品分类管理346.7商品入库管理346.8前台销售模块356.9权限管理模块36第7章软件测试387.1软件测试的概念387.2软件测试的策略387.3软件测试的过程387.3.1单元测试387.3.2集成测试407.3.3确认测试417.3.4系统测试41第8章系统维护42结论43致谢44参考文献44 绪论1.1开发超市管理系统的背景Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。而作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的信息处理方式和管理方法,因此加快超市的信息化进程是必可少的。1.2开发超市管理系统的意义小超市形态本身具有种种特点,在原先状况下不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。小超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。为此,超市管理系统便显得尤为重要了,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。 可行性研究1.1引言可行性研究是一次压缩简化的系统分析和设计的过程,是在较高层次上以较抽象的方式进行的系统分析和设计的过程。而在系统开发前期对系统进行可行性分析是十分必要的一个环节,这对于保证资源的合理使用,避免浪费是十分必要的,也是项目一旦开始以后能顺利进行的必要保证。可行性是指在当前情况下是否从技术、管理、社会等方面进行分析和研究,以避免投资失误,保证系统的开发成功。1.2市场调查可行性分析的基础是对系统的市场调查。市场调查主要由两部分组成:一般调查和信息需求调查。一般调查包括找出类似的超市,对这些超市的一般情况进行了分析,并了解整个超市运作情况,以便充分发挥系统的优势。信息需求的初步调查是通过查询书籍,网上浏览相关信息所得。第二步的深入调查则是真正进去驰锐超市进行实习,以了解书本上所不知道的相关的第一手资料,以开发出真正的具有实用性的系统1.3技术可行性1.3.1VBVB语言即VisualBasic。Visual。意即可视的、可见的,指的是开发像Windows操作系统的图形用户界面(GraphicUserInterface,GUI)的方法,它不需要编写大量代码去描述界面元素的外观和位置,只要把预先建立好的对象拖放到屏幕上相应的位置即可。Basic实际上是一个短语的缩写,这个短语就是Beginnersall_purposesymbolicinstructioncode,其中文意思为“初始者通用符号指令代码语言”。VisualBasic 是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。它简单易学、效率高,且功能强大可以与Windows专业开发工具SDK相媲美。在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。随着版本的提高,VisualBasic的功能也越来越强。VisualBasic6.0作为VisualStudio6.0的一员发布,证明微软正在改变VisualBasic的产品定位,他想让VisualBasic成为企业级快速开发的利器。VisualBasic6.0在数据访问方面有了很大的改进,新的ADO组件让对大量数据快速访问成为可能。数据环境和新的报表功能也让数据开发有了全新的体验。VisualBasic借助COM/COM+强大的功能,可以开发具有N层结构的分布式应用程序。同时,VisualBasic还可以在IIS上开发性能超群的Web应用程序。VisualBasic6.0在语言方面和IDE方面的改进都不大,但是许多新增的组件成为VisualBasic开发人员手中的利器,如FileSystemObject等。新的字符串函数Split和Replace等也给VisualBasic的程序员带来很大方便。  总之VisualBasic6.0已经是非常成熟稳定的开发系统,能让企业快速建立多层的系统以及Web应用程序,成为当前Windows上最流行的VisualBasic版本。  因此选择VisualBasic6.0作为开发驰锐超市管理系统的语言。1.1.1数据库的选择人们在总结信息资源开发、管理和服务的各种手段时,认为最有效的是数据库技术。数据库的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统,在都用先进的数据库技术来保持系统数据的整体性、完整性和共享性。数据库技术所研究的问题是如何科学的组织和存储数据,如何高效的获取和处理数据。通常,数据库所包含的大量信息都以表的形式存储。数据库包含多个表,有的独立的,有的表相互之间存在着一定关系。设计数据库就是将大量信息经过分析和归纳,分储互多个表中,确定表之间的相互关系,使表内的信息完整的反映主题。为了数据库的建立、使用和维护,在操作系统的基础上,配置一定的软件,对数据库进行统一的管理和控制,即数据库管理管理系统DBMS。数据库管理系统DBMS具有数据库定义功能,数据存取功能以及对数据库运行的管理和数据库的建立和维护功能。MicrosoftSQLServer2000是一种功能强大的关系型数据库管理系统。下面将对MicrosoftSQLServer2000的特点和性能进行介绍:MicrosoftSQLServer2000 是下一代的数据库和数据分离系统,可以帮助用户建立他们的Internet商务体系。MicrosoftSQLServer2000已经在性能和可扩展性方面确立了世界领先的地位,是一套完全的数据库和数据分析解决方案,使用户可以快速创建下一代的可扩展电子商务和数据仓库解决方案。MicrosoftSQLServer2000具有高度的扩展性和高可靠性。MicrosoftSQLServer2000使用了工业界最先进的数据结构,能够为要求最苛刻的企业应用提供高度的可扩展性和高可靠性。MicrosoftSQLServer2000在许多工业基准测试中的性能都创立了新的世界纪录,包括事务处理性能委员会的TPC-C基准,它击败了运行于任何硬件或操作系统环境下的同类数据库产品。MicrosoftSQLServer2000的性能还在Windows平台下为SAPR/3SalesandDistribution(SD)标准应用程序据基准创立了新的世界纪录。虽然MicrosoftSQLServer2000被设计用来充分利用最近和将来的高端对称多处理器(SMP)技术,它还是可以把数据库的工作负荷分布到普通的服务器集群上。这样可以实现高度的可扩展性,即只需要向数据库集群中增加新的普通服务器即可,而不用把老系统替换为更大、更昂贵的新机器。MicrosoftSQLServer2000引入了一个新的特性,被称为分布式数据库分区视图(DistributedPartitionedViews)它可以把工作负荷划分到多个独立的SQLServer服务器上去,从而为实施电子商务的客户提供了无限制的可扩展性。MicrosoftSQLServer2000直接支持最新的、高速的系统区域网络(SAN)技术。MicrosoftSQLServer2000在它的管理控制台和安装向导中紧密集成了4节点故障恢复技术,从而保证了高度的系统可用性。MicrosoftSQLServer2000还引用了索引视图技术,运用该技术可以为关系型数据库设计出功能的报表应用程序。MicrosoftSQLServer2000可以进行最快速的应用程序开发。微软提供了许多技术和工具,作为数据库系统的标准集成组件。而且通过巧妙的设计以及自动调整、自动管理特性,MicrosoftSQLServer2000是客户可以更快、更容易的享受所有这些最先进的分析技术所带来的好处,能够快书提交应用,从而赢得竞争上的优势。微软在开发数据库服务器自动调整和自动管理技术方面一直在工业界处于领先地位。这种技术使客户可以集中精力处理商业战略上的问题,而不是去细微调整数据库服务器的各项参数。MicrosoftSQLServer2000可以为最新的硬件进行优化,包括大内存、超高速磁盘子系统以及SAN等,从而扩展了这项功能。MicrosoftSQLServer2000与Windows2000的活动目录服务的紧密集成允许集中管理功能。MicrosoftSQLServer2000和其他企业资源,从而极大地简化了大型组织中的体统管理任务。1.1经济可行性 超市管理系统,其前期的投入比较小,主要是系统的设计费用:其中包括软件开发费用、管理和维护费等。而后续的投入相对较小,很长时间内都不会需要进一步投资,管理和维护费用也很少,而系统实际能够起到的作用会远远大于投入的开发费用,相信会有十分可观的前景。因此这个系统很有开发价值。1.1操作可行性是指驰锐超市管理系统在以后的超市日常运行中实际所起到的作用。超市可以把日常的管理交给这个系统来完成。不但能快速的完成很多费时费力的工作,还很少的出问题,将它和原先的人力管理相结合,会取得很好的效果。利用系统和数据库,统一记录商品,记录和计算销售交易信息,产生货物进货管理,减少员工工作量和帮助管理人员规范化管理。 需求分析1.1需求分析的作用软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。需求分析是介于系统分析和软件设计阶段之间的重要桥梁。一方面,需求分析以系统规格说明和项目规划为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。1.2需求的任务软件需求分析的任务是:深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。需求提出主要集中于描述系统目的。需求提出和分析仅仅集中在使用者对系统的观点上。用户、开发人员和用户确定一个问题领域,并定义一个描述该问题的系统。这样的定义称作系统规格说明,并且它在用户和开发人员之间充当合同。在问题分析阶段分析人员的主要任务是:对用户的需求进行鉴别、综合和建模,清除用户需求的模糊性、歧义性和不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑模型。分析人员要将对原始问题的理解与软件开发经验结合起来,以便发现哪些要求是由于用户的片面性或短期行为所导致的不合理要求,哪些是用户尚未提出但具有真正价值的潜在需求。在需求评审阶段,分析人员要在用户和软件设计人员的配合下对自己生成的需求规格说明和初步的用户手册进行复核,以确保软件需求的完整、准确、清晰、具体,并使用户和软件设计人员对需求规格说明和初步的用户手册的理解达成一致。一旦发现遗漏或模糊点,必须尽快更正,再行检查。 驰锐超市管理系统需要满足几个方面的需求,一是商品销售结算的需求,这是超市的第一位的;二是供应商管理的需求,记录相关的信息。三是入库和管理库存的需求。四是登录权限的需求,给予不同员工不同的权限。1.1业务流程图系统流程图是概括地描述物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每一个部件。系统流程图表达的是数据在系统各部件之间流动的情况。驰锐超市管理系统的系统流动分为两个部分,分别为:管理员系统流程图如图3.1所示前台流程图如图3.2所示。 管理员登录供应商管理商品分类商品管理入库管理权限管理前台销售添加供应商编辑供应商删除供应商添加商品编辑商品删除商品添加权限入库操作编辑权限安全退出图3.1管理员业务流程图 前台收银员登录查看商品收银找零入库编辑商品更新库存退出图3.2前台收银员业务流程图3.4数据流图 数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经过的变换。在数据流图中没有任何的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具。此外设计数据流图纸需要考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能。后台数据流图如图3.3所示,前台数据流图如图3.4所示。管理员图3.3后台数据流图 A-3供应商管理A-4商品信息管理A-7权限管理A-6入库管理A-5前台销售管理A-2登录B-3.1显示供应商信息B-4.1显示商品信息B-5.1显示商品销售信息B-6.1显示库存信息B-7.1显示用户权限信息添加修改删除收款结算修改权限添加修改删除添加退出 收银员A-3供应商管理A-4商品管理A-6入库管理A-5前台销售管理A-2登录B-3.1查看供应商信息B-4.1显示商品信息B-5.1显示商品销售信息B-6.1显示库存信息查看收款结算找零添加修改添加退出图3.4前台数据流图3.5数据字典数据字典是关于数据信息的集合,也就是对数据流图中包含的所有元素定义的集合。任何字典最主要的用途都是供人查阅不了解的条目的解释,数据字典的作用也正是在软件分析和设计过程中给人提供关于数据的描述信息。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图精确的定义放在一起,才能共同构成系统的规格说明。由于元素太多我们只对其中主要的元素定义说明。 数据字典的主要用途是作为分子阶段的主要工具。在数据字典中建立一组严密一致的定义很有助于改进分析员和用户之间的通信,因此将消除很多可能的误解。数据字典包含的每个数据元素的控制信息是很有价值的。因为列出了使用一个给定的数据元素所有程序,很容易估计改变一个元素将产生的影响,并且能对所有受影响的程序或模块做出相应改变。由于暂时还没有自动的数据字典处理程序,我们采用卡片形式书写数据字典,每张卡片上保存描述一个数据元素的信息。这种做法较好的实现了上述要求,特别是更新修改起来很方便,能够单独处理每个数据元素的信息。每张卡片上包含的信息有:名字,别名,描述,定义,位置。以下是数据流图中主要元素的数据字典卡片:名称:供应商信息别名:描述:记录供应商的具体的信息,方便管理员和仓库管理员与之联系。定义:供应商信息=供应商代码+供应商名称+供应商说明位置:系统数据库供应商信息名称:商品信息别名:描述:记录商品的具体信息,以便管理员和收银员查看。定义:商品信息=商品代码+商品名称+商品库存+商品单价+商品销售数量+商品供货商位置:系统数据库商品信息名字:商品分类信息别名:描述:主要记录商品的分类信息。定义:商品分类信息=商品类代码+商品的具体分类位置:系统数据库商品分类信息名称:管理员信息别名:描述:记录管理员的一些具体的情况,以便管理员的密码和等级修改。定义:管理员信息=管理员帐号+密码+等级+生日位置:系统数据库 管理员信息管理员信息名称:入库信息别名:描述:记录商品入库的具体情况,以便管理者和销售者即使了解到具体情况。定义:入库信息=入库商品名称+入库商品代码+入库商品数量+库存数量+入库价钱位置:系统数据库入库信息 系统设计1.1总体设计总体设计就是决定“怎么做”的时候。总体设计的基本目的就是回答“概括地说,系统应该如何实现?”这个问题,总体设计将划分组成系统的物理元素——程序、文件、数据库、人工过程和文档等,但是每个物理元素仍然处于黑盒子级,具体的以后设计。总体设计的另一项重要任务是设计软件的结构,也就是说要确定系统中每个程序是由哪些模块组成,以及这些模块之间的关系。1.2系统总体设计方案本系统采用了C/S模型。系统前台采用VB语言来设计,访问数据库服务器;后台采用Microsoft公司的SQLServer2000。SQLServer2000开发后台数据库,用于提供数据服务。SQLServer2000是一种典型关系型数据库管理系统,该系统具有数据一致性好,完整性强,安全性高的优点,系统采用结构化设计方法,按超市实际工作内容来确定所需,将整个系统作为一个大模块自顶向下,以模块化结构设计技术进行模块分解,然后再自底向上,按照系统的结构将整个模块进行组合,最终实现驰锐超市管理系统的开发。1.3系统的功能设计1.3.1系统主要功能系统大致分为六个功能模块。系统的每一个功能模块都包含了多个功能。功能权限实现了对这些功能点的权限控制:①.登录模块②.商品信息模块③.供应商管理模块④.商品销售模块⑤.入库模块⑥.权限管理模块。①.登录模块:登录模块主要进行用户权限的验证,只有具备一定权限的人才能登录到系统,这样才能保证系统的安全。同时不同的用户有不同的权限。管理员在权限管理模块中可以制定其他人的权限。②.商品信息模块:该模块主要是管理具体的商品,通过该模块能够查看每种产品的具体信息。 ③.供应商管理模块:该模块管理了供应商的信息,以方便统计进货。④.商品销售模块:这模块是系统的前台销售模块,一般收银员都是在这个界面操作以实现对顾客的购买商品信息的登记收款等业务。⑤.入库模块:该模块主要是将新采购的商品登记入库,使其有存货信息。⑥.权限管理模块:该模块是任何一个系统所必须的。本系统采用了多级权限管理,可以为每一个用户指定一项或多项的功能。1.1.1系统的功能结构图超市管理系统入库管理模块权限管理模块商品销售模块供应商管理模块商品信息模块登录管理模块 入库分类管理权限管理设置商品前台销售供应商的操作修改商品信息删除商品信息新增商品信息系统主页面图4.1系统的功能结构图 数据库设计1.1数据库设计引言数据库设计是建立数据库及应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及应用系统,使之能够有效地存储数据,满足各种用户的要求。驰锐超市管理系统的数据库设计分为下面的几个步骤:1.2概念设计概念结构设计是整个数据库设计的关键,它能通过对需求进行综合,归纳与抽象,形成一个独立于具体DBMS的概念模型,既E-R图如图5.1所示。管理员用户名用户密码用户等级图5.1管理员实体与其属性商品信息编码名称单价分类库存销售 图5.2商品信息的E-R图供应商编码名称说明图5.3供应商实体的E-R图仓库内的商品分类码分类编码名称数量图5.4仓库的E-R图 图5.5各个实体之间的联系图1.1逻辑设计逻辑结构是把概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。超市管理系统的数据库建立了以下的一些表:表5.1商品分类表(Category) 注释:id(分类id)、CatCode(分类编码)、CatDes(分类说明)。表5.2商品信息表(Prod-Stocks)注释:ProdDes(商品分类)、ProdCode(商品代码)、GenericName(商品名称)、CatCode(商品分类码)、Quan(商品库存)、Reorder(商品销售)、Selling-Price(商品售价)、Unit-Cost(商品进价)PDate(上货日期)、Picture(商品图片)、id(商品id)。表5.3销售信息表(Stocks-History)注释:acqProdCode(编码)、acqPrice(销售价钱)、acqDate(销售日期)、id(销售id)。表5.4供应商信息表(Suppliers) 注释:SupCode(供应商编码)、SupDes(供应商商品)、SupName(供应商名称)、supno(供应商电话)。表5.5登录权限表(Users-Password)注释:user-name(登录名)、user-password(登录密码)、user-birthdate(用户生日)、user-type(登录类型)、user-allow-XX(用户被给予某项权利)、user-picture(用户图片)、id(用户id)。 系统实现1.1引言详细设计的根本目标是确定应该怎样具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该的出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某个设计的语言书写的程序。详细设计的任务不是具体的编写程序,而是要设计出程序的“蓝图”,以后可根据这个蓝图写出实际的程序代码。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。本系统所包括几大模块:①.登录模块②.商品信息模块③.供应商管理模块④.商品销售模块⑤.入库模块⑥.权限管理模块。1.2系统登录为了提高软件操作安全性,用户进入系统前,需进行身份验证,通过此窗体输入个人信息以验证身份。登录界面如图6.1所示。如果用户名和密码都正确,单击登录按钮,则进入系统,如果输入错误,则会提示密码错误,继续输入,如果连续3次错误,则会退出系统。图6.1登录界面如果输入错误则弹出如下对话框 图6.2登录错误界面实现功能的部分代码:登录代码如下:PrivateSubcmdOk_Click()DimstrsAsStringIfGet_User(txtUserName,txtPassword)ThenMe.HidefrmMain.ShowToday=NowfrmMain.StatusMessage="当前用户:"+txtUserName+_""+Format(Today,"dddd")+""+Format(Today,"yyyy-mm-dd")frmMain.MenuList.SetFocusElsectr=ctr+1Ifctr=4ThenEndElseCallMessageBox("frmLogin","非法用户!!!!请重试....你还剩"+str(4-ctr)+"机会",0)SendKeys"{Home}+{End}"EndIfEndIfEndSubPrivateSubcmdOk_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)CallMacButton("确定",cmdOk,0,0,73,50,Source,74,0,1)EndSub PrivateSubcmdOk_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)CallMacButton("确定",cmdOk,0,0,73,50,Source,0,0,1)EndSubPrivateSubForm_Load()OnErrorResumeNextDimThwndAsLongDimRetValue"RetValue=ChangeRes(800,600,32)CallCreateMacOSTitleBar(titleBar,"系统登录")CallMacButton("登录",cmdOk,0,0,73,50,Source,0,0,1)CallMacButton("退出",cmdCancel,0,0,73,50,Source,0,0,1)6.3系统主界面登录成功后,可以直接进入系统的主界面,界面分成了功能导航区、系统信息以及时间等几个部分。图6.3所示的是用管理员账号进行登录的界面。左边的功能列表中,点击供应商,则进入了供应商界面;点击商品信息,则进入商品信息界面;点击商品分类,进入商品分类界面;点击前台销售,进入销售界面;点击入库信息,进入入库界面;点击权限设置,则进入权限设置界面。 图6.3系统的总界面主窗体载入事件代码PrivateSubForm_Load()DimVolNameAsString,fSysAsStringDimDriveAsString,DriveTypeAsLong,ergAsLongCallColForm(BoxContainer,217,211,213,125)CallColForm(MenuContainer,217,211,213,125)CallColForm(Applets,217,211,213,125)CallCreateMacOSTitleBar(titleBar,"驰锐超市管理系统")CallCreateMacOSTitleBar(MenuHeader,"功能列表")CallMacButton("退出系统",frmMain.cmdShutdown,0,0,170,30,frmLogin.Source,147,0,2)CallBitBlt(frmMain.Closed.hDC,0,0,73,50,frmLogin.Source.hDC,0,107,SRCCOPY)frmMain.Closed.RefreshCallBitBlt(frmMain.Maximized.hDC,0,0,73,50,frmLogin.Source.hDC,0,72,SRCCOPY)frmMain.Maximized.Refresh CallBitBlt(frmMain.Minimized.hDC,0,0,73,50,frmLogin.Source.hDC,0,124,SRCCOPY)frmMain.Minimized.RefreshKeyPreview=TrueStatusMessage.Caption="今天是"+Date$"创建Recordset实例datsecondarySetdatsecondary=Newadodb.Recordset"从INVOICE中获得信息datsecondary.Open"select*fromINVOICEorderbyINVOICE_NO",myDB,1,3"创建datthirdarySetdatthirdary=Newadodb.Recordset"从INVOICE_DETAIL表中获得信息datthirdary.Open"select*fromINVOICE_DETAILorderbyINVOICE_NOD",myDB,1,3"创建datprimarySetdatprimary=Newadodb.Recordset"从SETUP表获得信息datprimary.Open"select*fromSETUPorderbyCOMPANY_NAME",myDB,1,36.4供应商管理模块供应商管理模块比较简单,主要是登记供货单位的一些基本情况。该模块如图6.4所示。首先点添加,然后输入代码,再加上名称、说明。点保存,就可以增加供应商了。还可以删除、查找。 图6.4供应商管理模块界面Save按钮单击事件代码如下:PrivateSubcmdSave_Click()OnErrorResumeNextIfEditMode=TrueThenCallMacButton("编辑",frmSupplier.cmdEdit,0,0,73,50,frmLogin.Source,0,0,1)Press_Buttons("Save")ElseCallMacButton("添加",frmSupplier.cmdNew,0,0,73,50,frmLogin.Source,0,0,1)IfGet_Supplier_CodeThenCallMessageBox("frmSupplier","供应商代码存在",0)frmMessageBox.SetFocustxtField(0)=""Press_Buttons("Undo")ElseIftxtField(0)=""ThenCallMessageBox("frmSupplier","供应商代码不能为空",0)frmMessageBox.SetFocustxtField(0)=""Press_Buttons("Undo") ElsePress_Buttons("Save")EndIfEndIfCallMacButton("保存",frmSupplier.cmdSave,0,0,73,50,frmLogin.Source,0,0,1)EndSub6.5商品信息管理模块商品管理模块主要用于编辑每种商品的具体信息,如商品代码、商品名称、商品价格、库存数量等。用户可以通过该模块添加、编辑、删除、查找商品信息、同时还可以为商品添加图片。其界面如图6.5所示。图6.5商品信息管理模块界面在其他的功能都类似的情况下,我们看下查找商品的功能。界面如图6.6所示。在目前情况下,只支持名称查询。 图6.6商品查询界面6.6商品分类管理商品分类管理用于使整个系统更加的完善,能够自定义的管理。如当需要增加商品分类时,只需要在商品分类模块中增加,而其它模块中的代码不需要改动。商品分类的系统界面如图6.7所示。图6.7商品分类管理界面 6.7商品入库管理商品入库管理是超市管理系统中一个很重要的组成部分,当某些商品库存不足时,必须要入库新的商品。商品入库管理的界面如图6.8所示。图6.8商品入库管理界面6.8前台销售模块前台销售管理模块是整个超市管理系统的核心模块,系统大部分的业务都是在该模块中实现的。进入界面后,光标会自动定位到“商品编号”文本框,用户只需输入编号,然后回车,商品便会加入商品列表中。然后显示栏会显示商品的名称、价格。如果再增加一条记录,商品总额也会增加。每增加完一条记录,焦点都会自动回到商品编号的文本框中,同时应付款也会显示商品的总额。如果顾客购买完毕,直接按回车,焦点会到“收款”文本框。输入实际收的金额,系统会显示找零的金额。前台销售模块的界面如图6.9所示 图6.9前台销售模块的界面6.9权限管理模块权限管理也是一个系统不可缺少的模块,在实现的时候有很多的方法,本系统使用的是给每个用户设定一个用户和密码,然后采用分级权限管理,管理员可以为每个用户分配不同的权限。在权限管理模块中,可以新建用户、编辑用户、删除用户和查找用户。在新建的时候,只要选中各种权限的检查框,就代表该用户具备了该权限。权限管理模块的界面如图6.10。 图6.10权限管理模块的界面 第1章软件测试1.1软件测试的概念使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别.它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness)、完全度(completeness)和质量(quality)的软件过程;是SQA(softwarequalityassurance)的重要子域。GrenfordJ.Myers曾对软件测试的目的提出过以下观点:(1)测试是为了发现程序中的错误而执行程序的过程;(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; (3)成功的测试是发现了至今为止尚未发现的错误的测试。7.2软件测试的策略软件测试的策略主要考虑如何把设计测试用例的技术组织成一个系统的、有计划的测试步骤。从模块开始,一级一级向外扩展,直至整个系统测试完毕。测试策略应包括测试规划、测试用例设计、测试实施和测试结果收集评估等。其中,测试规划包括测试的步骤、工作量、进度和资源等。7.3软件测试的过程测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试7.3.1单元测试开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。单元测试的内容 在单元测试时,测试者需要依据详细设计说明书和源程序清单,了解该模块的I/O条件和模块的逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例,使之对任何合理的输入和不合理的输入,都能鉴别和响应。(1)模块接口测试在单元测试的开始,应对通过被测模块的数据流进行测试。测试项目包括:  –调用本模块的输入参数是否正确;  –本模块调用子模块时输入给子模块的参数是否正确;  –全局量的定义在各模块中是否一致;  在做内外存交换时要考虑:  –文件属性是否正确;  –OPEN与CLOSE语句是否正确。(2)局部数据结构测试  不正确或不一致的数据类型说明  使用尚未赋值或尚未初始化的变量  错误的初始值或错误的缺省值  变量名拼写错或书写错  不一致的数据类型  全局数据对模块的影响(3)路径测试选择适当的测试用例,对模块中重要的执行路径进行测试。应当设计测试用例查找由于错误的计算、不正确的比较或不正常的控制流而导致的错误。对基本执行路径和循环进行测试可以发现大量的路径错误。7.3.2集成测试集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。通常,在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。这时需要考虑的问题是:  –在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;  –一个模块的功能是否会对另一个模块的功能产生不利的影响;  –各个子功能组合起来,能否达到预期要求的父功能;  –全局数据结构是否有问题;  –单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。在单元测试的同时可进行集成测试,发现并排除在模块连接中可能出现的问题,最终构成要求的软件系统。子系统的集成测试特别称为部件测试,它所做的工作是要找出集成后的子系统与系统需求规格说明之间的不一致。 进行有效性测试(黑盒测试)  有效性测试是在模拟的环境(可能就是开发的环境)下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。  首先制定测试计划,规定要做测试的种类。还需要制定一组测试步骤,描述具体的测试用例。  通过实施预定的测试计划和测试步骤,确定  –软件的特性是否与需求相符;  –所有的文档都是正确且便于使用;  –同时,对其它软件需求,例如可移植性、兼容性、出错自动恢复、可维护性等,也都要进行测试7.3.3确认测试确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。7.3.4系统测试系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。系统测试(SystemTesting)系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统的定义不符合或与之矛盾的地方。 第1章系统维护为了清除系统运行中发生的故障和错误,软、硬件维护人员要对系统进行必要的修改与完善;为了使系统适应用户环境的变化,满足新提出的需要,也要对原系统做些局部的更新,这些工作称为系统维护。系统维护的任务是改正软件系统在使用过程中发现的隐含错误,扩充在使用过程中用户提出的新的功能及性能要求,其目的是维护软件系统的"正常运作"。这阶段的文档是软件问题报告和软件修改报告,它记录发现软件错误的情况以及修改软件的过程。软件维护共包括以下四项:改正性维护,用户在程序使用期间发现错误,并把他们遇到的问题报告给维护人员,我们把诊断和改正的过程叫改正性维护。适应性维护,也就是为了和变化的环境适当地配合而进行修改软件的活动。完善性维护,在使用软件的过程中用户往往提出增加新功能或修改以有功能的建议,为了满足这类要求需要完善性维护。预防性维护,就是为了改进未来的可维护性或可操作性,或为了给未来的改进奠定更好的基础而修复软件时,出现了预防性维护新系统在正式投入正常运行后,为了预防自然和人为对数据的破坏,让系统长期高效地工作,必须适当对系统维护。主要做两方面的工作,日常维护和系统维护。在日常维护中,一个重要的环节是数据的备份和刷新,一定要有计划的、定期的对数据进行更新和备份。恢复数据对应数据的备份功能。在系统维护中,主要是对数据库的结构的改进,和对程序代码做适当修改,以适应系统的需求。 结论大学四年的最后一个学期就在毕业设计的忙忙碌碌中过去了,回想起这一个学期,从开始选择题目、系统的规划再到后来系统的一点点的设计与实现期间,从开始的对语言和环境的知之甚少,到后来成功的完成系统,这期间,收获颇丰。我这次毕业设计开发的驰锐超市管理系统用到的开发工具是VB语言和SQL。驰锐超市管理系统首先实现了超市一般的一些功能,像入库、销售管理等功能。对于一般的小超市来说还是很有实际意义以及很强的实用性的。驰锐超市管理系统具有以下特点:可以很快更新商品的信息和库存的信息,具有功能强大,扩展性能好,以及非常快速便捷的操作能力。系统比较安全可靠,用户管理权限很明确。此系统采用相应的技术,具有很好的安全严密性,系统完善的功能设置、比较友好的流程化界面,节省了大量的人力物力和财力,同时也降低了超市的运营成本。总的来说该系统是一个比较好的比较适合小超市的系统,它通过前台和数据库,将原来比较繁琐、浪费时间精力还易出错误的工作,变得简单。另外,这次毕业设计对我们所有的毕业生来说不单单是一次实践考核,更是一种深层次的学习,毕业设计使我们必须把这几年来所学的一些专业课运用到毕业设计中,使原本不甚了解的知识得到进一步的巩固和提高,这比单纯在课堂上学习要来的有效的多。而且,在设计的过程中,遇到了很多的问题,这些问题自己要想尽办法区解决,克服困难,实在不行再去麻烦老师、同学。在解决这些困难的过程中提高我们的能力,提高了解决问题和实际动手的能力,这些同样也是书本上所学习不到的。 致谢虽然经历了很多的问题和挫折,但这次毕业设计也终于临近尾声了。通过这次的毕业设计,让我真正了解了软件开发的整个过程,而不是在课堂上那些简简单单的定义。毕业设计的目的是让我们把在大学四年中所学知识的都综合运用起来,为我们即将踏入社会打下一个良好的基础。同时它也教会我们一些除了设计本身的一些东西。像人与人之间的沟通,合作。诚然,你可以自己独立完成很多事情,但是在现在这个社会,很多东西大家团结协作要比每个人单打独斗要有效的多。下面开始致谢。首先,毫无疑问的是我的指导老师,在这次毕业设计中,老师不辞辛劳的一点一点的帮助我们,从选题的指导到系统设计的修改,让我们从刚开始的摸不到头脑到后来的日益纯熟,都是老师辛勤付出的结果。在设计中我们还领略到了老师认真负责的工作态度,严谨的治学精神,以及乐观热情的生活态度,老师不仅仅的在指导我们的毕业设计,也在指导着我们今后的人生,她教导我们的这些东西,会对我们以后的学习生活大有裨益。所以在这里我真诚的对给予我认真指导和耐心帮助的老师表示最深切的谢意!谢谢您,!同时,还要感谢大学,这个我学习、生活了四年的地方。她像一位母亲给我们提供了良好的学习环境!感谢母校对我四年来的培养和教育,让我们能够在这里学习、成长。也同时感谢我所有的同学,是他们给我了很多的帮助和关心,陪我走了这么一段很快乐的人生。大学生活很快就将结束了,可能我的学生生涯也就就此结束了,所以本次毕业设计也很可能是我人生最后一次课堂作业了,所以最后我感谢我自己,感谢我用心的写下每个字,感谢自己非常认真的对待它。 参考文献[1]陈紫红.VisualBasic项目开发全程实录.第一版.北京:清华大学出版社,2008:87-199[2]刘军.VisualBasic灵感编程.第一版.北京:电子工业出版社,2008:26-73[3]刘韬.VisualBasic实效编程百例.第一版.北京:人民邮电出版社,2004:47-98[4]钱雪忠.新编VisualBasic程序设计实用教程.第一版.北京:机械工程出版社,2004:44-128[5]张海藩.软件工程导论.第四版.北京:清华大学出版社,2004:65-92[6]博彦科技.VisualBasic编程高手.第二版.北京:北京大学出版社,2002:122-149[7]郑阿奇.VisualBasic实用教程.第一版.北京:电子工业出版社,2004:103-143[8]匡松.VisualBasic程序设计及应用.第三版.北京:清华大学二出版社,2008:151-209[9]谭浩强.VisualBasic程序设计案例教程.第四版.北京:清华大学出版社,2008:36-171[10]张德强.VisualBasic案例开发.第二版.北京:中国水利水电出版社,2005:127-156[11]清汉科技.VisualBasic数据库开发实例.第一版.北京:机械工业出版社,2001:93-142[12]DianeZak.VisualBasic6.0程序设计.第二版.北京:电子工业出版社,2007:85-136[13]InmonWH.数据库管理.第二版.北京:电子工业出版社,2000:66-107[14]MattisonRWeb.仓库工程与知识管理.第一版.北京:清华大学出版社,2003:185-301[15]ImhoffC.数据库设计.第四版.北京:机械工业出版社,2004:171-197'