超市进销存管理系统的设计与实现论文_第1页
超市进销存管理系统的设计与实现论文_第2页
超市进销存管理系统的设计与实现论文_第3页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着信息时代的飞速发展,计算机技术已经渗透到个个领域,成为各行业必不可少的工具,而超市这种形式具有自身的特点:商品一般齐全,商品的进出货关系较为简单,公司员工人数与种类不多;从软件的角度看,系统数据量较少而且对存储总量和存储速度要求不是很高。但也正是由于员工人数较少,为提高生产销售效率,使用系统软件控制销售和管理已势在必行。超市进销存管理系统可以说是典型的信息管理系统,它的开发流程包括后台数据库的建立与维护以与前端系统应用的开发这两个主要方面。该系统实现了基本信息管理、商品进货管理、商品销售管理、库存商品管理以与系统数据库的备份还原等功能。该系统采用的是 C#做幵发语言,使用SQLServer2008作为数据库存储技术,使用VisualStudio2012作为系统开发、调试的主要工具。?关键词:超市;进销存;信息管理系统;数据库技术AbstractWiththerapiddevelopmentofcomputertechnology,peoplearebecomingmoredependentoncomputers,especiallytheuseofacomputerdatabasedevelopmentanddatamanagementsystemapplicationinlifeismoreprominent,thisdevelopmentofthissystem.SowedevelopthatWeusesupermarketinventorymanagementsystems,sothatthemanagementofthesupermarketshopsystematic,standardized,automated,simple,intelligent,andthustoimprovetheefficiencyofthesupermarketinventorymanagementpurposes.KDsupermarketmanagementsystemisatypicalinformationmanagementsystem,whichmainlyincludesdatabasecreationandmaintenance,andfront-endapplicationdevelopmentaspects.Thatrequestsfortheestablishmentofstrongdataintegrityandconsistency,data,goodsafetydatabase.Atthesametimethelatterrequirestheapplicationfunctionalitycomplete,easytouse.Informationmanagementsystemachievesacommodityinformationmanagament,commoditypurchaseoperations,productdeliveryoperationsandinventoryinformationetc.Thispaperintroducesthesoftwaredevelopmentenvironment,databasedesign,thesupermarketInvoicesystemtestingandfunctional,VisualStudio2012asasystemdevelopment,themaintoolfordebugging.Keywords:Supermarket;Purchase-Sell-Stock;ManagementInformationSystem;DatabaseTechnology目录绪论 0 系统概述 1 系统开发背景 1 国内外研究现状 1 系统开发的目的与意义 2...系统设计目标 3 开发平台介绍 3 .NET平台介绍 3 C#语言概述 5 开发工具介绍 6 系统分析 7 需求分析 7 可行性分析 7 技术可行性 7 经济可行性 8 研发的必要性 8 系统流程分析 8 系统总体设计 9 系统体系结构 9 TOC\o"1-5"\h\z数据库设计 10数据库需求分析 10员工信息表 10供应商信息表 13进货信息表 15销售信息表 17退货信息表 19库存信息表 20可选属性列表 23数据库的物理模型 24系统实现 26登陆功能模块 26主界面模块 27基本信息管理模块 30基本信息管理模块简介 30员工信息管理界面 30供应商信息管理界面 34进货管理模块 36进货管理模块简介 36商品进货管理 37商品查询管理 39销售管理模块 42商品销售管理界面 42商品退货信息管理 44库存管理模块 45库存报警模块 45库存查询界面 48系统维护模块 50系统维护模块简介 50数据备份界面 50数据还原界面 52系统运行与测试 57测试计划 57测试方法与用例 57结论 59致谢 60参考文献 61附录A:英文原文 62附录B:汉语翻译 66绪论超市的自动化管理模式在很多发达国家已实行了多年,它也是零售业管理的基础。使用自动化的软件管理可以使经营者准确和实时的控制店内的销售情况。超市行业作为零售业的一种企业形态之一,竞争十分激烈,因此,快速的提高竞争能力和效益已成为各个超市企业共同追求的发展目标。现如今,信息管理方便快捷,这就促使超市进销存管理系统被零售企业所重视。超市引入信息管理系统,已成为零售业经营之中的最热门的话题之一。在我国,超市这种形式在20世纪90年代初期兴起,现已成为我国零售业的一种重要形态。随着超市规模的不断壮大,它的经营管理也变得更加复杂,早期的售货员站柜台的形式已远远不能满足现有超市的发展,这样就迫切地需要引进新的管理技术和思想技术进入到超市管理当中。在目前的状况下,我国零售业商业企业在运营中仍然存在着落后的一面,如:不能有效合理的管理各种货品,收款结算的速度较慢,营业过程中出错次数较多,清点货品效率低下等,而且在超市的日常经营管理中,货品的进入、销售、库存决策以经验为主,缺乏实时分析的功能,日常所需处理的数据量也日益增加,管理人员对与时传递货品需求的要求始终得不到满足,商业运转的中间环节也越来越多,原始的人工管理模式已经无法应对这复杂的市场了。基于以上情况的分析,我在这次设计中选择了超市进销存管理系统,虽然进销存系统还不能够完全说为企业信息化管理的表现形式,但是我们清楚,进销存系统虽然是建立在以往经营管理的过程之上,但是倚仗强大的数据库系统,简单友好的操作界面,依靠现代化的计算机技术来管理超市的运营,这不仅能节省了大量的人力和物力,改善超市员工的工作强度,减轻劳动量,并且能够快速反应出货品的基本状况,使管理人员能快速对市场的变化作出相应决策,增强超市的竞争实力。1系统概述1.1系统开发背景国内外研究现状美国的计算机技术水平一直处于世界领先地位,在将计算机技术应用于企业管理方面,也已取得大量优异成果,其中包括许多有效的库存管理方面的系统,已广泛应用于汽车、电子、教育、化工、食品等商业企业。国外进销存管理软件的发展是比较成熟的,以MAXIMO企业资产管理软件为例进行介绍,它是由MRO公司开发的,国外很多企业如纽约电力管理局、摩托罗拉、可口可乐均采用MAXIMO软件。库存管理是其中一个组成部分,MAXIMO能随时掌握现有的库存情况,制定合理的库存管理计划,灵活地把握库存、采购、销售等一系列的管理。客户关系管理(CustomerRelationshipManagement,CRM )在国外的发展已有十余年的历史背景。大约在80年代初期,最初的CRM应用就开始投入CRM市场。从地域来看,目前CRM商机最大的市场是北美,其次是西欧市场,其中西欧市场正以全球最快的速度飞速发展。而其使用的管理软件产品都是欧美国家软件公司生产开发的。我国计算机技术在企业库存管理中的应用大体起始于70年代,通过计算机技术的应用产生了一些库存管理系统。但由于受到当时计算机软硬件配置的限制,这些库存管理系统仅限于完成一些简单的功能操作。如北京棉纺一厂材料仓库的微机库存管理系统(该系统是在COMEMCO-Z-2H型微型计算机上实现的,系统软件是用BASIC语言编制的)、天津物资微型计算机仓库业务管理系统(该系统是在CROMEMCOCS-3型微型计算机上实现的,系统软件是用COBOL语言编制的)等系统。信息管理系统这种新的服务模式发展到90年代,产生了C/S服务方式,它将一个数据库应用分为客户端和服务器两部分,客户端在作为终端访问数据库服务器的同时,自身也具有处理数据的能力,能够分担一些任务。C/S方式强大的技术优势给企业带来了巨大的管理效益,从而在相当长一段时间内它成为管理系统的主流方式。虽然基于C/S的MIS普遍存在开放性差,软件的开发周期较长,开发费用较高,软件的维护量较大等缺点,但是对于中小企业来说,拥有一套属于自己的基于C/S架构的管理信息系统是符合其根本利益的。从系统本身来说,虽然具有一些不足之处,但是一旦开发完成应用之后,必将会是一套一劳永逸的系统,前期的投入也必将获得物质上以与精神上的回报。从我国目前情况来看,大部分办公自动化软件都是基于国外软件产品之上经过二次开发生产出来的软件,而且这类软件大部分是为政府机关或传统的国有企业开发的,没有能够从中小企业的实际需求出发,因此不能满足现代中小企业管理的需要。开发一套适合于中小企业实际需求的系统,对于中小企业来说是增强其综合市场竞争力的重要手段。该超市进销存管理系统,是基于C/S架构而建立起来的,强大的数据处理能力将大大提高超市员工的工作效率,依仗着Microsoft的SQLServer2008这套功能强大的数据库服务器,使得数据的处理变得不再那样的繁琐。同样是Microsoft出品的开发工具VisualStudio2012有快速开发系统工具之称,该系统的开发主要是基于.NETframework平台[1],利用SQLServer2008[2]数据库中的友好的界面管理程序,可以轻松地连接数据库以与从数据库中读取和写入信息。对于我国中小企业,尤其是中间商企业或公司来说,采用Microsoft的SQLServer2008和VisualStudio2012这两种产品来开发属于自己的企业信息化管理系统是切合实际的。系统开发的目的与意义科学合理的应用计算机技术进行管理企业,不仅可以使管理工作规范化、自动化、系统化,而且可以节省相当的人力和物力。在如今这个时代,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化速度越来越快。纵观全球经济的发展,信息技术和信息产业已经成为经济增长的推动力之一,正在改变着传统的生产和经营方式。信息资源的获取已经成为国民经济和社会发展的源动力,信息的资源管理水平也已成为体现现代化水平和综合国力的重要标志。紧随我国经济的发展,为了抓住市场先机,在竞争中占得优势,作为企业的一个必不可少的重要环节——经营管理的信息化已经迫在眉睫了。开发进销存管理系统既可以顺应时代的信息化和现代化潮流,提高经营效益:又可以提高管理的现代化手段,加强管理货品信息近况,提高员工工作效率,增加有效收益等。从现实来看,在市场经济中,货品销售是企业运营中相当重要的环节。超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对与时传递资料的要求始终得不到满足。随着超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,在这种形式下,依靠管理人员人工传递信息和数据的工作方式就无法满足企业日益增长的业务需求了。超市进销存管理系统正是钟对上述的问题而开发的,通过计算机系统来对超市的进货、销售与库存情况进行统一管理。它的优点主要体现在以下几方面:极大的提高了超市员工的工作效率,大大减少了以往进货商品入库到销售出库流程繁琐、杂乱的弊端;基于现代计算机技术的进销存管理系统,可以减少货品入库、货品出库与货品存库中操作的漏洞,可以减少经营管理成本,增加企业有效收入;进销存管理操作的自动化和信息的实时化,全面提高了超市的管理水平。因此,为进一步提高超市管理流程,建立高效的进销存系统就变得十分重要。系统设计目标根据超市的需求和进销存系统管理的特点,该系统应用后,预计到以下目标:(1)界面美观友好、信息查询灵活、方便、快捷、准确。(2)提高工作效率,降低运营成本,方便员工操作。(3)对用户输入的数据进行过滤,输入有误时提示用户,准确输入才能登录系统。(4)系统最大限度地实现了易安装性、易维护性和易操作性。(5)系统运行稳定、安全可靠,基本不会出现太大错误。(6)强大的库存预警功能,在意外中将损失降到最低。开发平台介绍.NET平台介绍

.NET(全称DotNET)[3]是由Microsoft公司经过长时间的研发所推出的幵发平台,它吸取了以前幵发平台的经验和教训,定义了幵发和运行企业级客户端应用的一个标准,一个体系结构,它以幵发的可靠性好、可扩展性强、可管理性大和安全性高等很快就被Web和WindowsForm 的幵发者所认同。.NET的体系结构如图1.2:ADO.NET:数据和HL<芝»sudozETADO.NET:数据和HL<芝»sudozETWindows公共谴吉运和时VBCUJScript…一公英博吉规熬ASP,NET Tindows检体A**图1.2.NET的体系结构图.NET体系是由公共语言运行库(CLR全称CommonLanguageRuntime )和.NETFramework类库所构成。CLR是.NETFramework的核心执行环境,也称为.NET运行库。.NETFramework类库是一个内容丰富的类集合,它可以完成以前要通过WindowsAPI来完成的绝大多数任务。CLR概述:CLR主要负责托管代码的编译和运行。在 .NET中代码的编译通过两阶段任务来完成:一是把源代码编译为Microsoft中间语言(IL),二是CLR把IL编译为平台专用的代码。在CLR控制下运行的代码称为托管代码(managedcode)。其优点是:(1)与幵发平台无关。源代码先编译成中间语言, 运行时由CLR将中间语言编译成平台专用的代码,跟Java的字节代码一样,这样即可实现平台无关性。(2)性能大幅度提高。首先,IL比Java的字节码的作用要大,因为 IL是即时编译的,而Java的字节码是解释性的,在转换为平台可执行代的码的时候会导致性能的损失。其次,.NET的即时编译器(JIT全称JustInTime)并非一次性的把全部代码编译完才执行,而是只编译调用的那部分代码,并把得到的这部分内部可执行代码保存起来,下次需要调用的时候无须重新编译。 Microsoft认为这个过程要比一幵始编译整个应用程序代码的效率高得多,因为任何程序的大部分代码实际上并不是在每次运行过程中都执行。最后,传统的编译器会优化代码,但它们的优化过程是独立于代码所运行的特定处理器的。(3)语言的互操作性。互操作性即能将任何一种语言编译为中间代码,编译好的代码可以与从其它语言编译过来的代码进行交互操作。在 .NET中可以交互操作的语言有C#、VB.NET、VisualC++.NET、VisualJ#、脚本语言等。CLR的工作原理如下图1.3所示:图1.3CLR的工作原理.NET的优势:(1)优秀的设计结构。它仅仅有一个类库,并且以一种非常直观的方式设计出来。(2) 语言的无关性。在.NET中,C#、J#、VB.NET和C++等语言都可以编译为通用的中间语言,这说明,语言可以用以前没有的方式进行相互间的操作。(3) 高效的数据库访问系统。一组.NET组件,总称为ADO.NET,提供了对关系数据库和各种数据源的高效访问,这些组件也可以访问文件系统和目录。ADO.NET内置了XML支持,可以处理从非Windows平台导入或导出的数据。(4) 安全性的增强。每个程序集都可以包含内置的安全信息,这些信息可以准确的指出谁或哪种类型的用户或进程可以调用什么类型的哪些方法,这样就可以非常准确的对程序集的使用方式进行控制了。C#语言概述C#语言[4]是由Microsoft幵发的一种功能强大的、易于理解的、面向对象的、现代的全新语言,是Microsoft新一代开发工具的经典编程语言,由于它是从C和C++语言中派生出来的,因此具有C和C++语言的强大功能。同时,由于是Microsoft公司的产品,它又同VB一样简单,易于理解和操作。对于web开发而言,C#像Java,同时具备了Delphi的一些优点,而且C#专门是Microsoft公司为使用.NET平台而设计的,它吸取了以前语言功能不足的教训,考虑了许多其他语言的优点,并合理的将他们的优点结合起来,还剔除了不足之处,可以说是接近完美的语言了。C#语言的优势在于:(1) 语法简单。C#语言不允许直接操作内存,并且去掉了指针操作,简化了程序开发的难度,方便了用户。(2) 完全的面向对象设计。面向对象语言所应有的一切特性——封装、继承和多态,C#语言应有尽有。(3)强大的安全机制设计。 可以消除软件开发过程中的常见错误(如语法错误、拼写错误等),Dot.NET提供的垃圾回收机制能够帮助开发者有效地管理内存资源,用户不需要担心垃圾的回收情况与如何回收垃圾,减轻了开发人员的工作。(4) 兼容性。因为C#遵循.NET的公共语言规范(CLS),从而保证能够与其他语言开发的组件兼容。(5)灵活的版本处理技术。因为 C#语言本身内置了版本控制功能,使得幵发人员可以更容易地开发和维护。(6) 完善的错误、异常处理机制。C#提供了完善的错误和异常处理机制,使程序在交付应用时,能够有良好的健壮性。开发工具介绍由于本超市进销存管理系统采用SQLServer2008[5]做为后台数据库,.选择了运行在.NET平台之上的C#语言作为系统的总体幵发语言,因此采用专门为幵发基于.NET平台的应用程序的VisualStudio2012 ⑹做为系统的幵发工具。VisualStudio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。目前已经开发到12.0版本。VisualStudio2012是一套完整的开发工具集,提供了在设计、开发、调试和部署Windows应用程序、Web应用程序、XMLWebServices和传统的客户端应用程序时所需的工具,可以快速、轻松地生成Windows桌面应用程序、ASP.NETWeb应用程序[7]、XMLWebServices和移动应用程序等。2系统分析需求分析本进销存管理系统主要是为中小型超市而设计,用户首先成功登录系统,这是必要的前提,如果没有成功登陆系统则无法进行任何操作。在用户登录系统后,可以根据需要进行相关模块一些功能的操作。例如添加用户操作:在超市进销存管理系统的主界面上选择基本信息管理下的员工基本信息,在弹出的界面中进行信息的填写,填写完后点击保存,此时数据将会在表格中显示出来。如果发现填写出现错误则选中错误信息,点击修改,数据会自动填充到界面上,方便修改,最后点击保存即可。其他操作的具体流程与此类似。如有不明处可点击帮助按钮寻求帮助。可行性分析技术可行性技术可行性要研究的是现有的技术条件是否能够顺利完成超市进销存系统的开发工作以与软硬件配置是否满足开发的需求等。本次超市进销存管理系统用的是.NET平台下的C#幵发语言,运行调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对趋于成熟,故软件的开发平台成熟可行,它们价格低、速度快、可靠性能高、容量大,完全能满足系统的需求。经济可行性经济可行性研究是对研发组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。由于超市进销存管理系统是作为毕业设计由我自己开发的,在经济上的几乎没有投入,而系统建成之后,它将为超市进销存管理提供很大的方便,因此在经济上是可行的。研发的必要性随着超市销售数据规模的日益庞大,商品数目也在呈指数增长,这样就造成了以下问题:(1)产品库存量大,工作人员在为产品进出、出库登记时的工作负荷重、效率低。(2)在商品进出货过程中,时常会出现错误,增加了业务成本和处理上的麻烦。(3)在对进出货数据进行查询时,需要手工翻阅大量的票据,大大降低了查询效率,而查询的结果也不尽如人意。以上缺点直接或间接地降低了工作效率,最终影响了商品进出库的管理。综上所述,本超市进销存管理系统的研发是可行的。系统流程分析打开系统首先显示登录界面,输入正确的用户名与密码后可进入主界面,根据用户权限可以对系统信息进行相应的操作,若用户名或密码错误,系统将给出提示并且无法进入主界面,直至输入正确的用户名与密码。3系统总体设计系统体系结构超市进销存管理系统研究的内容涉与超市进销存管理的全过程,包括货品的入库、出库、退货、进货、超市销售统计等等。根据工作流程,超市进销存管理系统将包含以下内容:(1)系统登录模块,用户在登陆系统时需要输入用户名和密码,信息正确则进入系统,不正确则提醒用户输入信息有误,请重新输入;如果用户还不是该系统的员工则无法登录系统,除非在职人员将信息录入系统才能登录。(2)基本信息管理模块,包括员工基本信息和供应商基本信息 ,可以对员工和供应商进行增、删、改、查几项操作。进货信息管理模块,包括进货信息的添加、删除、修改和进货信息查询操作,可以对进货的商品做到严格的管理,实时的监控。(4)商品销售管理模块,包括商品销售情况:数量、种类、价格等和商品退货情况:退货时间、退货商品名称、退货原因等。(5)库存商品管理模块,包括库存商品设定:商品名称、所属仓库、报警数量等和库存商品查询:根据所在仓库、商品名、供应商名等进行精确或模糊查询。(6)数据信息管理模块,包括数据库备份、还原,以免使用过程中不必要的麻烦。系统功能模块图[8]如图3.1所示:图3.1系统功能模块图3.2数据库设计321数据库需求分析超市进销存管理系统需要提供各种数据信息的增加、删除、修改、查询、保存等功能,这就要求数据库能充分满足各种信息的输入和输出。不仅如此,因为这些数据信息位于不同的关系表中,在保存数据后,数据应该保存到与之相应的数据表中。因此,为了把表与表中的字段关系和表中的字段的基本信息明了的表现出来,我通过对系统功能关系的分析,针对超市系统营运的特点,总结出如下的实体E-R图和数据字典:员工信息表员工信息表(T_Emplnfo),它的主要功能是存储员工的数据。根据一般企业的员工管理要求,我制定了一些必要的字段,包括员工编号、员工姓名、系统登陆名,登陆密码,员工性别、出生日期、所属部门、员工所在职位、家庭联系电话、家庭住址等,用这些字段能清晰的描述一个员工的基本信息。而且,为了把每个字段的属性信息也表现出来,我用 E-R图[9,10]的形式把它表现出来使文章看起来更加直观,读者能够轻松的理解表的性质和功能。员工信息实体E-R图如图3.2所示:图3.2员工信息实体E-R图E-R图并不是唯一的一个能够表现表中数据关系的形式,数据字典也能够很

好的说明表中字段的属性关系。 数据字典从字段名、字段的描述说明、字段类型、字段是否可为空和是否是主键(PrimaryKey)这几个方面描述表格。数据字典的表现形式如表3.1员工信息表(T_Emplnfo)所示:表3.1员工信息表(T_EmpInfo)

字段名描述-说明类型是否可为空是否是主键EmpID员工编号int否是EmpName员工登录名nvarchar否否EmpLoginP登录密码nvarchar否否wd员工性别nvarchar否否EmpSex出生日期datetime否否EmpBirthda部门nvarchar否否y职位nvarchar否否EmpDept固定电话nvarchar是否EmpPost移动电话nvarchar否否EmpPhone家庭住址nvarchar否否EmpPhone真实姓名nvarchar否否M教育程度nvarchar否否EmpAddres婚姻状况nvarchar否否sEmpRealNameEducationMarriage在基本的数据表的结构确定后,就可以在 SQLServer中完成数据表的创建工作,下面给出建立员工信息数据表(T_EmpInfo)的SQL脚本:CREATETABLE[dbo].[T_Emplnfo]([EmpID][int]IDENTITY(1,1)NOTNULL, --员工编号[EmpName][nvarchar](50)NOTNULL, --系统登陆名--登陆系统密码--员工性别----登陆系统密码--员工性别--出生日期--员工所属部门[EmpSex][nvarchar](10)NOTNULL,[EmpBirthday][datetime]NOTNULL,[EmpDept][nvarchar](50)NOTNULL,

[EmpPost][nvarchar](50)NOTNULL,--职位名称[EmpPhone][nvarchar](50)NULL,--固定电话[EmpPhoneM][nvarchar](50)NOTNULL,--移动电话[EmpAddress][nvarchar](150)NOTNULL,--家庭住址[EmpRealName][nvarchar](50)NOTNULL,--员工姓名[Education][nvarchar](50)NOTNULL,--文化程度[Marriage][nvarchar](50)NOTNULL,--婚姻状况[PartyStatus][nvarchar](50)NOTNULL--政治面貌供应商信息表供应商信息表(T_Company):用于存放供应商的基本信息。 在供应商信息表中包括供应商编号、供应商名称、联系人姓名、联系电话、公司传真、起始进货时间、公司地址和公司的备注描述等,商家用这些信息描述一个生产厂家的具体情况。我将字段用E-R图的方式展示出来,使读者更容易理解表中字段的关系。供应商信息表对于超市来说是非常重要的,为了便于读者的分析理解,我将各字段的字段名和字段说明展示出来做成数据字典,其中还包括了字段类型,字段是否可为空和是否是主键。数据字典的表现形式如表 3.2供应商信息表(T_Company)所示:表3.2供应商信息表(T_Company)字段名描述-说明类型是否可为空是否是主键CompanylD供应商编号nvarchar否是CompanyNam供应商名称nvarchar否否e公司联系人nvarchar否否CompanyDirec供应商的电话nvarchar否否tor公司传真nvarchar是否CompanyPhon供应商地址nvarchar否否e加入时间datetime否否CompanyFax公司描述nvarchar是否CompanyAddressReDateTimeCompanyRemark在基本的数据表的结构确定后,就可以在 SQLServer中完成数据表的创建工作,下面给出建立员工信息数据表( T_Company)的SQL脚本:CREATETABLE[dbo].[T_Company]([CompanylD][nvarchar](50)NOTNULL, --供应商编号[CompanyName] [nvarchar](100) NOTNULL, --供应商名称[CompanyDirector][nvarchar](50)NOTNULL, --公司联系人

[CompanyPhone][nvarchar](20)NOTNULL,--供应商电话[CompanyFax][nvarchar](20)NULL,--公司传真[CompanyAddress][nvarchar](250)NOTNULL,--公司地址[CompanyRemark][nvarchar](450)NULL,--公司备注[ReDateTime][datetime]NOTNULL--公司首次合作时间进货信息表进货信息表(T_lnGoodsInfo):主要用于存放进货商品的基本信息。其中包括商品的编号、商品的名称、进货员工编号、进货公司名称、进货数量、进货单价、所属仓库、进货时间、应付金额、实付金额等字段,用这些来描述每次进货的情况,便于管理者分析和统计。进货信息表实体 E-R图如图3.4所示:进货信息表的数据字典包括以下内容:各字段名称、字段说明、字段类型、

是否可为空、是否为主键。数据字典的表现形式如表3.3进货信息表(T_lnGoodslnfo)所示:表3.3进货信息表(T_lnGoodslnfo)字段名描述-说明类型是否可为空是否为主键GoodslD商品编号nvarchar否是Empld操作员编号nvarchar否否InCompanyNa进货公司名称nvarchar否否me仓库名称nvarchar否否DepotName进货商品名称nvarchar否否GoodsName进货商品数量int否否GoodsNum商品单位nvarchar否否GoodsUnit进货商品单价nvarchar否否GoodsInPrice销售商品单价nvarchar否否GoodsSellPric应付金额nvarchar否否e实付金额nvarchar否否GoodsNeedPr进货商品描述nvarchar是否ice进货时间datetime否否GoodsNoPriceGoodsRemarkGoodsTime在基本的数据表的结构确定后,就可以在 SQLServer中完成数据表的创建工作,下面给出建立员工信息数据表( T_lnGoodslnfo)的SQL脚本:CREATETABLE[dbo].[T_lnGoodslnfo]([GoodslD][nvarchar](50)NOTNULL, --进货商品编号--进货员工--供应商名称----进货员工--供应商名称--所属仓库--商品名称[InCompName][nvarchar](150)NOTNULL,[DepotName][nvarchar](50)NOTNULL,[GoodsName][nvarchar](50)NOTNULL,

[GoodsNum][int]NOTNULL,--商品数量[GoodsUnit][nvarchar](50)NOTNULL,--商品单位[GoodsInPrice][nvarchar](10)NOTNULL,--商品单价[GoodsSellPrice][nvarchar](10)NOTNULL,--商品售价[GoodsNeedPrice][nvarchar](20)NOTNULL,--应付金额[GoodsNoPrice][nvarchar](20)NOTNULL,--实付金额[GoodsRemark][nvarchar](250)NULL,--商品描述[GoodsTime][datetime]NOTNULL--进货时间)325销售信息表销售信息表(T_SellGoods),主要用于存放货品销售情况的基本信息。主要包括销售商品编号、销售员工、销售商品名称、销售时间、销售数量、销售单价、商品应付金额、商品实付金额等。销售信息实体 E-R图如图3.5销售信息表(T_SellGoods),主要用于存放货品销售情况的基本信息。主要包括销售商品编号、销售员工、销售商品名称、销售时间、销售数量、销售单价、商品应付金额、商品实付金额等。销售信息实体 E-R图如图3.5所示:图3.5商品销售信息实体E-R图我们可以知道,每个E-R图都对应了一个数据表,每个表也相应的对应着自己的数据字典。商品销售信息表的数据字典包括以下内容:字段名称、字段描述、字段类型、哪个字段为主键,那些字段不能为空等。数据字典的表现形式如表3.4销售信息表(T_SellGoods)所示:表3.4销售信息表(T_SellGoods)字段名描述-说明类型是否可为空是否为主键SellID商品销售编号nvarchar否是EmpName操作员名称nvarchar否否GoodsName销售商品名称nvarchar否否SellGoodsN销售商品数量int否否um销售时间nvarchar否否SellGoodsTi销售商品单价nvarchar否否me应付金额nvarchar否否SellPrice已付金额nvarchar否否SellNeedPaySellHasPaySellRemark销售商品说明nvarchar是否在基本的数据表的结构确定后,就可以在SQLServer中完成数据表的创建工作,下面给出建立员工信息数据表( T_SellGoods)的SQL脚本:CREATETABLE[dbo].[T_SellGoods]([SellID][nvarchar](50)NOTNULL, --销售编号[EmpName][nvarchar](50)NOTNULL, --售货员工[GoodsName][nvarchar](50)NOTNULL, --商品名称[SellGoodsNum][int]NOTNULL, --销售数量[SellGoodsTime][datetime]NOTNULL, --销售时间[SellPrice][nvarchar](10)NOTNULL, --销售价格[SellNeedPay][nvarchar](10)NOTNULL, --应付金额

--已付金额----已付金额--售货评价[SellRemark][nvarchar](250)NULL退货信息表退货信息表(T_BackGoodsInfo),是存放被退回的商品的信息。具体包括退货编号、退货商品名称、销售编号、退货商品数量、 退货商品单价、应退金额、已退金额、退货原因等。商品退回信息实体 E-R图如图3.6所示:商品退货信息表同以上表相同,都有一个对应的数据字典。添加数据字典的目的就是将各字段的属性设置呈现给读者。此表的数据字典包括退货商品字段名、字段描述说明、字段类型、那个是主键、哪些可为空等。数据字典的表现形式如表3.5退货信息表所示:表3.5退货信息表(T_BackGoodsInfo)字段名描述-说明 类型字段名描述-说明 类型是否可为空 是否为主键BackGoodsID退货商品编号nvarchar否是SellID商品销售编号nvarchar否否BackGoodsNa退货商品名称nvarchar否否me退货商品数量int否否BackGoodsNu退货时间datetime否否m退货商品单价nvarchar否否BackGoodsTi应退金额nvarchar否否me已退金额nvarchar否否BackGoodsPri商品退货原因nvarchar是否ceBackNeedPayBackHasPayBackGoodsResult在基本的数据表的结构确定后,就可以在 SQLServer中完成数据表的创建工作,下面给出建立员工信息数据表(T_BackGoodslnfoCREATETABLE[dbo].[T_BackGoodslnfo]([BackGoodsID][nvarchar](50)NOTNULL,[SellID][nvarchar](50)NOTNULL,[BackGoodsName][nvarchar](50)NOTNULL,[BackGoodsNum][int]NOTNULL,[BackGoodsTime][datetime]NOTNULL,[BackGoodsPrice][nvarchar](10)NOTNULL,[BackNeedPay][nvarchar](10)NOTNULL,[BackHasPay][nvarchar](10)NOTNULL,[BackGoodsResult][nvarchar](250)NULL)的SQL脚本:)的SQL脚本:--退货编号--销售编号--退货商品名称--退货商品数量--退回时间--退货商品单价--应退金额--已退金额--退货原因库存信息表(T_KcGoods),是用于存放仓库中商品的信息。它可以说是一个

汇总,因为所有的商品都存放在仓库中。此表的意义在于管理者可以查看库存的分配情况、商品的种类与数量。可以随时进行商品的调度和调整。该表含有以下字段:商品编号、供应商名称、商品名称、所属仓库、库存数量、报警数量、商品单位、进货单价、销售单价、进货员工和备注说明这些字段。库存信息实体E-R图如图3.7所示:库存信息表数据字典的内容有字段名、字段说明、字段类型、是否为主键和是否可以为空。数据字典的表现形式如表3.6库存信息表(T_KcGoods)所示:表3.6库存信息表(T_KcGoods)字段名描述-说明类型字段名描述-说明类型是否可为空 是否为主键KcID库存编号int否否GoodsID商品编号nvarchar否是InCompNa供应商名称nvarchar否否me所属仓库名称nvarchar否否KcDeptNam库存商品数量int否否e商品报警数量int否否KcNum商品单位nvarchar否否KcAlarmNu存库时间datetime否否m库存商品进价nvarchar否否KcUnit库存商品售价nvarchar否否KcTime操作员名称nvarchar否否KcGoodsPric存库描述nvarchar是否e库存商品名称nvarchar否否KcSellPriceKcEmpKcRemarkKcGoodsName在基本的数据表的结构确定后,就可以在 SQLServer中完成数据表的创建工作,下面给出建立员工信息数据表(T_KcGoods)的SQL脚本:CREATETABLE[dbo].[T_KcGoods]([KcID][int]IDENTITY(1,1)NOTNULL, --仓库编号[GoodsID][nvarchar](50)NOTNULL, --商品编号--供应商名称--供应商名称[KcGoodsName][nvarchar](50)NOTNULL,--库存商品名称[KcNum][int]NOTNULL,--库存数量[KcAlarmNum][int]NOTNULL,--报警数量[KcDeptName][nvarchar](50)NOTNULL,--所属仓库

[KcUnit][nvarchar](50)NOTNULL,--计量单位[KcTime][datetime]NOTNULL,--存库时间[KcGoodsPrice][nvarchar](50)NOTNULL,--库存商品价格[KcSellPrice][nvarchar](50)NOTNULL,--销售单价[KcEmp][nvarchar](50)NOTNULL,--进货人[KcRemark][nvarchar](250)NULL--描述328可选属性列表可选属性列表(T_ldName)是专门为ComboBox控件准备的,这里提供了一些可选字段下的各种可选项。这样使他们独自成为一个表,目的是为了方便管理。此表包括编号、可选字段名称和可选字段类型 3个字段。可选属性列表实体此表的数据类型少,相对来说简单易懂。它的数据字典也是用字段名、字段说明、字段类型、是否可为空和是否是主键 这几个属性来描述。数据字典的表现形式如表3.7可选属性列表(T_IdName)所示:表3.7可选属性列表(T_IdName)字段名描述-说明字段名描述-说明类型是否可为空 是否为主键Id字段编号Int否是Name可选字段名称Nvarchar否否Category可选字段类型Nvarchar否否在基本的数据表的结构确定后,就可以在 SQLServer中完成数据表的创建工作,下面给出建立员工信息数据表( T_ldName)的SQL脚本:CREATETABLE[dbo].[T_ldName]([Id][int]IDENTITY(1,1)NOTNULL, --编号[Name][nvarchar](50)NOTNULL, --可选字段名称[Category][nvarchar](50)NOTNULL --可选字段类型)数据库的物理模型在数据库中,各表与各表之间也存在着直接或间接地联系,为了让读者完全领悟该超市进销存管理系统中数据库的设计,我将各表间的物理关系图也画了出来,这只是根据我的理解简单的将表进行了关系连接,并不完全准确,仅供读者参考。数据库的物理模块图如图3.9所示:Q时1E 亠Bnpr-jTie3T]LjqrPflCTEmplnfoT_InGoodsInfoFjoadsuTConipany0[ffupa问 *Com^anyfJireT厂a i!T_SellGoods/\T_KcGoods用SdDEm[Art3KdDInCofflfAane•a〈/图3.9数据库的物理模型图4系统实现4.1登陆功能模块系统登陆界面用户在使用本系统时要进行身份验证,将用户名和密码输入对应的文本框中,然后系统会自动连接数据库,判断用户表中是否存在此用户,验证成功后才可进入系统,否则会发出报错信息。登陆后可进行后续操作。(注:首次使用该软件的用户可以用用户名: yangdi密码:123456登陆。)系统登陆功能界面如图4.1所示:图4.1系统登陆功能界面后台主代码[11,12,13]Privateoidkd'tn?ogin_Click(objectsender,RoutedEventArgse)({'S?ringusername=tbUserName.Text;Stringpwd=pwdPassword.Password;Emplnfoempinfo=newEmpInfoDAL().GetByUserName

(username);If(empinfo==null){MessageBox.Show("用户名或密码错误");tbUserName.Focus();}Elseif(empinfo.EmpLoginPwd==pwd){MessageBox.Show("登录成功");DialogResult=true;}Else{MessageBox.Show("用户名或密码错误");tbUserName.Focus();}}主界面模块4.2.1主界面用户可以根系统维用户可以根系统维据需要对系统进行基本信息管理、进货管理、销售管理、库存管理、

护等相关模块的操作,通过对以上大模块下小功能模块进行增加、删除、修改和查询等操作,得到自己想要的结果。主窗体界面如图 4.2所示:图4.2主窗体界面后台主代码:v/Window> Title二"超市进销存管理系统”WindowState二"Maximized"Loaded二"Window_Loaded"><Grid>vDockPanel><MenuDockPanel.Dock="Top"Height二"30"><MenultemHeader二" 基本信息管理”><Menultem Header二" 员工信息Click二"Menultem_Click"></Menultem〉<Menultem Header二" 供应商信息"Click二"Menultem_Click_1"></Menultem〉</Menultem〉<MenultemHeader二" 进货管理"><Menultem Header二" 商品进货”Click二"Menultem_Click_2"〉</Menultem〉<Menultem Header=" 商品查询"Click二"Menultem_Click_3"x/Menultem〉v/Menultem〉<MenultemHeader二" 销售管理">TOC\o"1-5"\h\z<Menultem Header二" 商 品 销 售”Click二"Menultem_Click_亍></Menultem〉<Menultem Header二" 商 品 退 货”Click二"Menultem_Click_6"x/Menultem〉</Menultem〉<MenultemHeader二" 库存管理"><Menultem Header二" 库 存 报 警”Click二"Menultem_Click_7"x/Menultem〉<Menultem Header=" 库 存 查 询”Click二"Menultem_Click_8"〉</Menultem〉</Menultem〉<MenultemHeader=" 系统维护”〉<Menultem Header=" 数 据 备 份"Click="Menultem_Click_9"〉</Menultem〉<Menultem Header=" 数 据 还 原"Click二"Menultem_Click_10"x/Menultem>v/Menultem><Menultem Header二" 退 出Click="Menultem_Click_11"></Menultem></Menu>vlmage DockPanel.Dock二"Top" Source二"images/a.jpg"Stretch二"Fill"/>v/DockPanel></Grid>4.3基本信息管理模块基本信息管理模块简介在该模块中有两个小的基本模块(员工基本信息管理和供应商基本信息管理),用户根据需要选择需要进行操作的模块。在使用过程中,界面加载后有些操作是不可见的,只有可见的按钮才可以进行选择,当用户选择后,之前界面加载时可见的一些按钮变成不可见,但同时会出现一些变得可见的按钮,用户具体想继续进行什么操作, 可以根据界面上的可见按钮进行选择员工信息管理界面

员工信息管理界面可以对员工进行增加、删除、修改、查询等操作。以添加员工为例,当操作员要添加员工时,首先登陆员工信息表界面,点击添加按钮,此时界面的可编辑区域由原来的不可用变为可用,并且在工具栏中还会出现保存和取消按钮,而删除和修改按钮却消失不见,这时将要添加的员工信息填入编辑框点击保存后,界面下的表中就会出现刚刚添加的员工信息。员工信息界面如图4.3所示:图4.3员工信息界面后台主代码:privatevoidbtnSave_Click(objectsender,RoutedEventArgse) //保存{boolisOK=true;// 数据检验是否通过CheckTextboxNotEmpty(refisOK,txtEmpNametxtEmpAddress , txtEmpPhone,txtEmpPhoneM,txtEmpLoginPwd,txtEmpRealName);CheckComboBoxNotEmpty (refisOK,cbEmpSex,

cbMarriage,cbPartyStatus,cbEducation,cbEmpDept.cbEmpPost);If(isOK==false)return;emp.Insert(empinfo);}btnCancel_Click(this.newRoutedEventArgs());EmpInfoDALdal=newEmpInfoDAL();gridEmpInfos.ltemsSource=dal.ListAll();btnEdit.Visibility=Visibility.Visible;btnDelete.Visibility=Visibility.Visible;btnAdd.Visibility=Visibility.Visible;btnCancel.Visibility=Visibility.Hidden;btnSave.Visibility=Visibility.Hidden;}TextBox[]检验是否填入数据:TextBox[]privatevoidCheckTextboxNotEmpty(refboolisOK,paramstextboxes)//检查Texkbox是否为空,为空标记为红色{foreach(TextBoxtxtBoxintextboxes){

if(txtBox.Text.Length<=0){isOK=false;{ txtBox.Background=null;}privatevoidCheckComboBoxNotEmpty(refboolisOK,paramsComboBox[]cmbs)//检查ComboBox是否为空,为空标记为红色foreach(ComboBoxcmbincmbs)if(cmb.SelectedIndex<0){isOK=false;Color=cmb.Effect=newDropShadowEffect{Color={433供应商信息管理界面生产厂家是超市进货的主要来源,超市可根据进货的需求对供应商进行选择。对此模块,我进行删除供应商的操作,首先登陆系统到供应商信息界面,在下表中选中要删除的数据,点击工具栏中的删除按钮,这时界面会弹出你确定要删除此项信息吗,最后点击确定,数据就会删除了。供应商信息管理界面如图4.4所示:图4.4供应商信息管理界面

删除供应商信息后台主代码:privatevoidbtnDelete_Click(objectsender,RoutedEventArgse) //删除的方法Company com(Company)gridCompanylnfo.Selectedltem;Company com(Company)gridCompanylnfo.Selectedltem;MessageBox.Show(”没有选中任何行!");return;if(MessageBox.Show("是否确认删除此项!","消息"MessageBoxButton.OKCancel,MessageBoxImage.Warning)MessageBoxButton.OKCancel,MessageBoxImage.Warning)MessageBoxResult.OK){CompanyDALdal=newCompanyDAL();dal.Delete(com);gridCompanylnfo.ItemsSource=dal.ListAll();调用方法:publicvoidDelete(Companycompany)// 删除数据方法

{T_CompanySqlHelper.ExecuteNonQuery (@"deletefromT_CompanywhereCompanylD二"+company.CompanyID);字段的声明和定义(Model):publicclassCompany{publicstringCompanylD{get;set;}publicstringCompanyName{get;set;}publicstringCompanyDirector{get;set;}publicDateTimeReDateTime{get;set;}publicstringCompanyPhone{get;set;}publicstringCompanyFax{get;set;}publicstringCompanyAddress{get;set;}publicstringCompanyRemark{get;set;}4.4进货管理模块进货管理模块简介进货管理模块主要负责进货信息的管理,此模块下有商品进货和商品查询两个小模块,用户根据需求的不同选择不同的模块进行操作。442商品进货管理当用户登录选择商品进货模块时,屏幕上会出现商品进货界面的窗体,在窗体的表格中会加载此前进货商品的信息,然后根据用户需要对这些数据进行删除和修改工作。我们对此模块进行修改操作。用户登录到此界面后选中要修改的数据信息,然后点击修改数据信息就会自动加载到可编辑框中,如果没有选中,它会提示你没有选中任何行。进货信息管理界面如图 4.5所示:图4.5进货信息管理界面修改进货信息后台主要代码:internalvoidbtnEdit_Click(objectsender,RoutedEventArgse) //编

{

InGoodsings=(InGoods)gridInGoodsInfo.Selectedltem;publicstringGoodsID{get;set;}publicstringEmpId{get;set;}publicstringInCompName{get;set;}publicDateTimeGoodsTime{get;set;}publicstringDepotName{get;set;}publicstringGoodsName{get;set;}publicInt32GoodsNum{get;set;}publicstringGoodsUnit{get;set;}publicstringGoodsInPrice{get;set;}publicstringGoodsSellPrice{get;set;}publicstringGoodsNeedPrice{get;set;}publicstringGoodsNoPrice{get;set;}publicstringGoodsRemark{get;set;}443商品查询管理return;return;}else{DataContext=ings.Clone();}IsAddNew=false;btnDelete.Visibility=Visibility.Hidden;btnAdd.Visibility=Visibility.Hidden;btnCancel.Visibility=Visibility.Visible;btnSave.Visibility=Visibility.Visible;字段的声明和定义:btnCancel.Visibility=Visibility.Visible;btnSave.Visibility=Visibility.Visible;字段的声明和定义:publicclassInGoods//publicclassInG

温馨提示

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

评论

0/150

提交评论