asp.net进销存系统(sqlserver)论文_第1页
asp.net进销存系统(sqlserver)论文_第2页
asp.net进销存系统(sqlserver)论文_第3页
asp.net进销存系统(sqlserver)论文_第4页
asp.net进销存系统(sqlserver)论文_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE39xxx学院毕业设计(论文)题目:商品进销存管理系统作者:学号:系(院):专业班级:指导者:评阅者:2010年5月xxx

基于.NET的商品进销存管理系统摘要目前,大中型城市的多数企业已经实现了商品管理、客户管理、销售管理及销售管理等的信息化和网络化,提高了管理效率。但是,在大多数小企业,企业管理仍然以传统人工管理为主,特别是在的采购、销售、库存环节,传统的手工管理处理信息混乱,账目管理困难,效率低下,浪费严重,造成了资产的流失。使用本系统,可以使管理人员从大量繁琐的手工操作中解放出来,方便企业管理者对进销存的实际情况进行集中的查询与管理工作,改进企业的工作,提高工作效率和服务质量,同时可以适应企业与社会医保综合管理的需求,减少资源的浪费和流失。经过实际调查和综合分析,本系统使用功能强大的MicrosoftVS.NET作为开发环境,使用编程语言C#对整个系统进行设计与开发,后台数据库使用MicrosoftSQLServer2000。本系统可以根据实际应用的具体情况,适当加以修改,以便更好应用。本系统操作简单,灵活性好,系统安全性高,运行稳定。关键字:商品管理,.NET,C#,SQL

TheManagementSystemofMedicineEntersSellsSavesBasedon.NETAbstractAtpresent,thelargeandmiddlescalecitiesmosthospitalsalreadyrealizedtheoutpatientservicemanagement,havebeenhospitalizedthemanagement,thedrugssalemanagementandsoonbecominganinformationbasedsociety,enhancedthemanagementefficiency.But,inthemajoritycountylevelhospitalandthevillagesandtownsclinic,thehospitalmanagementstillbythetraditionalmanualmanagementprimarily,speciallyinthemedicinepurchase,thesale,keptinstockthelink,thetraditionalmanualmanagementprocessinformationchaotic,accountitemmanagementdifficulty,efficiencylow,thewastewasserious,hascreatedstateassetdraining.Themedicineenterssellssavesthemanagementsystemmanagementsystembuttodevelopforthesolutionabovequestion,thissystemmainlyaimsatthesmallhospitalandclinic'smedicinepurchase,thesale,keepsinstockthelink,thesystemmayrealizethedrugstogointostoragefunctionandsoonmanagement,drugsleavesstorehousemanagement,adjustspricesmanagement,inventoryingmanagement,financeinformationmanagement,drugsinformationmanagement,systemmaintenance,mayfacilitatecompleteseachitemofdrugsattribute,thesalescondition,thesupplyanddemandconditionstatistics,causeseachworktheorganizationtobestandarder.Usesthissystem,maycausetheadministrativepersonneltoliberatefromthemassivetediousmanualoperation,theconvenienthospitalsuperintendententerstheactualsituationtothemedicinewhichsellssavestocarryonthecentralismtheinquiryandthesupervisorywork,improvesthehospitalthework,enhancestheworkingefficiencyandthegradeofservice,atthesametimemayadaptthehospitalandthesocialmedicineguaranteesthesynthesismanagementthedemand,reducestheresourcesthewasteanddrains.Afterthoroughinvestigationandgeneralizedanalysis,thissystemusefunctionformidableMicrosoftVS.NETtookthedevelopmentenvironment,useprogramminglanguageC#carriesonthedesignandthedevelopmenttotheoverallsystem,thebackstagedatabaseusesMicrosoftSQLServer2,000.Thissystemmayactaccordingtothepracticalapplicationthespecialdetails,suitablyperformstorevise,inordertobetterapplication.Thissystemoperationsimple,flexibilitygood,systemsecurityhigh,themovementisstable.Keywords:managementsystem,medicine,.NET,C#

目录TOC\o"1-3"\u1绪论 51.1课题研究背景及意义 51.2本系统使用的方法和语言 61.2.1统一建模语言UML 61.2.2.NET和C# 71.3系统描述 81.4分析方法 82需求收集 92.1业务过程分析 92.2研究领域分析 102.2.1初步用例模型开发 112.2.2开发初步类图 122.3系统需求研究 142.3.1收集系统需求 142.3.2开发系统功能包图 143系统分析与设计 163.1开发系统用例模型 163.2系统数据库设计 163.2.1数据流分析 162.3数据字典 173.2.2商品商品进销存管理系统的数据项 193.2.3数据库需求分析 213.2.4数据库概念结构设计 223.2.3数据库逻辑结构设计 244开发系统 274.1编制代码 274.2系统实现 274.2.1用户界面 274.2.2代码 284.3部分系统界面及功能简介 284.3.1用户信息管理界面如图4-2 284.3.2主界面如图4-3 304.3.3客户信息管理界面如图4-4 324.3.4采购管理界面如图4-5 335部署 34结束语 35致谢 36参考文献 37

1绪论1.1课题研究背景及意义随着生产技术的进步、现代化科学技术和社会经济的迅速发展,世界正在向信息化社会前进,信息正在同物质、能源一起构成当代社会的三大支柱产业。社会活动的日益复杂,也使得各种管理工作越来越依赖计算机进行信息的操作处理。与我们的健康有着密切关系的卫生系统,目前也面临着信息时代的巨大挑战,旧有的企业管理模式已不能适应新型的社会主义市场经济的要求,再者产品种类繁多、业务量大,单凭手工记账很难适应工作的需要。同时,作为一个关系到人民群众健康的特殊行业,国家对行业又有一些不同于其他行业的管理政策,这些都加大了管理的难度。如何尽快建立和完善行业的信息化管理体制,已成为影响行业生存发展的关键所在。商品进销存管理系统就是为了解决传统管理过程中的进销存人工处理混乱、账目管理困难等问题,可以使管理人员从大量繁琐的手工操作中解放出来,方便地完成信息管理、入库出库等操作,方便灵活地完成各项属性、销售状况、供需状态的统计,使得各个工作环节的组织更加规范,提高工作效率与服务质量;同时可以适应企业与社会医保综合管理的需求。从而可以改变企业药库管理的传统模式,加强药库管理,减少资源浪费和流失。软件开发可以采用多种开发方法,如生命周期法和面向对象方法等。面向对象技术是软件工程领域中的重要技术,它不仅是一种程序设计方法,更重要的是,它是一种对真实世界的抽象思维方式。UML(UnifiedModelingLanguage)就是一种特别适合采用面向对象思维方式的软件建模语言。UML伙伴组织于1996年由Rational公司创立。对象管理组织(OMG)于1997年11月将UML的1.1版接纳为标准。UML是多种方法相互借鉴、相互融合、趋于一致、走向标准化的产物。这样的统一建模语言为软件开发商及其用户带来诸多便利。许多计算机技术发达的国家已有大量的软件开发组织开始用UML进行系统建模,学习和使用UML已经成为一种潮流。我国软件界对UML也相当关注,越来越多的人投入到了对UML的学习和研究中。UML只是一种建模语言,在系统的具体编制过程中,我使用了Microsoft专门为使用.NET平台而创建的语言C#。1.2本系统使用的方法和语言1.2.1统一建模语言UML统一建模语言(UnifiedModelingLanguage,UML)是一种可视化的建模语言,它能让系统构造者用标准的、易于理解的方式建立起能够表达出他们想象力的系统蓝图,并且提供了便于不同人之间有效的共享和交流涉及结果的机制。UML包括了一些可以相互组合图表的图形元素。由于UML是一种语言,所以UML具有组合这些元素的法规。UML提供了系统设计所需要的多种图,这些图是在用多个视图来展示一个系统,这组视图被称为一个模型(Model)。一个UML模型描述了一个系统需要做什么。同时,UML提供了组织和扩展这些图的方法。关于标准建模语言UML的内容,首先,UML融合了Booch、OMT和OOSE方法中的基本概念,而且这些基本概念与其他面向对象技术中的基本概念大多相同,因而,UML必然成为这些方法以及其他方法的使用者乐于采用的一种简单一致的建模语言;其次,UML不仅仅是上述方法的简单汇合,而是在这些方法的基础上广泛征求意见,集众家之长,几经修改而完成的,UML扩展了现有方法的应用范围;第三,UML是标准的建模语言,而不是标准的开发过程。尽管UML的应用必然以系统的开发过程为背景,但由于不同的组织和不同的应用领域,需要采取不同的开发过程。作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。(1)UML语义描述基于UML的精确元模型定义。(2)UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。

标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:第一类是用例图,第二类是静态图(Staticdiagram),包括类图、对象图和包图。第三类是行为图(Behaviordiagram),描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。第四类是交互图(Interactivediagram),描述对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择协作图。这两种图合称为交互图。第五类是实现图(Implementationdiagram),包括构件图和配置图。1.2.2.NET和C#微软的.NET是为了解决因特网应用中存在的普遍问题而预先建立的基础设施。.NET的服务器版可运行在WindowsNT.Windows2000以及WindowsXPProfessional操作系统下.其客户版可运行在Windows98、WindowsMe、WindowsXPHome下。目前它只是一个附加的服务补丁,以后的.NET版本极有可能成为操作系统的一部分,今后的版本也有可能会允许.NET的—部分运行在其他版本的Windows操作系统下,微软的.NET提供了下述服务,具体如下.NET提供了一种新的运行环境.即.NET框架,它使得程序员能够更容易、迅速地写出优良、健壮的程序代码,并且能够方便地管理、部署和修改代码,所编写的程序和组件都在该环境中执行。它为程序员提供了一些新功能,例如自动内存管理(垃圾收集).以及更方便地访问所有系统服务。它添加了许多实用功能、例如易于访问因特网和数据库。它还为代码复用提供了一种新的机制一一更易于使用.并且比COM更加有效和灵活。.NET框架更易于部署.因为它不需要进行注册设置。它还为版本的制定提供了标准化、系统级别的支持。程序员可以在任一种与.NET兼容的编程语言中使用上述全部功能.NET为创建HTML页面提供了一种新的编程模型,称为ASP.NET.尽管智能的单机程序仍在不断涌现,但是在不久的将来,大多数因特网通信都会以通用浏览器作为前端,这就要求服务器能够使用HTML语言来构造页面,以便浏览器识别并显示给用户。ASP.NET是一种运行在因特网信息服务(IIS)下的新环境,它使得程序员能够更容易地编写代码来构造基于HTML语言的web页面,供浏览器查看。ASP.NET提供了一种新的与语言无关的代码编写方式,并将其与web页面请求相关联。它提供了.NET的Web窗体,它是一种与控件交互的事件驱动编程模型、这使得编写web页面变得就像编写普通的VB窗体一样。ASP.NET包含了良好的会话状态管理和安全功能,它比原来的ASP更加健壮,性能也得以提高。.NET提供了windows窗体,它是一种使用.NET框架编写各种客户程序的新方法。一个使用XMLWeb服务的专用客户端应用程序必须提供良好的用户界面。高质量的界面能够提供更佳的用户感受,.NET提供了一种新的软件包,它被称为.NETwindows窗体.这使得程序员能够使用.NET框架轻易地编写出专用的windows客户应用程序。C#是可用于创建要运行在.NET上的应用程序的语言之一,它从C和C++语言演化而来,是Microsoft专门为使用.NET平台而创建的。因为C#是近期发展起来的,所以吸取了以前的教训,考虑了其他语言的许多优点,并解决了它们的问题。使用C#开发应用程序比使用C++简单,因为其语法比较简单。但是,C#是一种强大的语言,在C++中能完成的任务在C#中也能完成,C#中与C++比较高级的功能等价的功能(例如直接访问和处理系统内存),只能在标记为“不安全”的代码中使用。这个高级编程技术是非常危险的(正如它的名称),因为它可能覆盖系统中重要的内存块,导致严重的后果。C#代码常常比C++略长一些。这是因为C#是一种类型安全的语言(与C++不同),一旦为某些数据指定了类型,就不能转换为另一个不相关的类型。所以,在类型之间转换时,必须遵守严格的规则。执行相向的任务时,用C#编写的代码通常比C++长。但C#代码更健壮,调试也比较简单,.NET总是可以随时跟踪数据的类型。在C#中,不能完成如“把4字节的内存放在数据中,并把它解释为x”等的任务。C#只是.NET开发的一种语言,是目前最好的一种语言。C#的优点是,它是唯一为.NETFramework而设计的语言,是移植到其他操作系统上的.NET版本中使用的主要语言。C#能使用.NETFramework代码库提供的每种功能1.3系统描述本系统运用面向对象的思想,基于UML进行管理系统的分析与设计。本文运用UML来分析和描述企业管理所涉及的基本信息管理、入库、出库、调价、查询、统计、盘点等一系列功能。系统维护包括:新建操作用户、修改用户信息、删除用户等。物流管理包括:商品信息的添加、修改和删除和查询等。客户管理包括:供应客户信息的添加修改和删除等。采购管理包括:登记公司向供应客户采购商品的入库单等。盘点管理包括:盘点库存、生成入库出库清单等。1.4分析方法为了适应开发过程多方面的挑战,不同的组织和不同的应用领域需要采取不同的开发过程才能提高开发效率。我在系统的设计开发中,使用了“快速应用工程指导原则”(GuidelinesforRapidAPPLicationEngineering),简称GRAPPLE。GRAPPLE的思想并没有脱离以往的UML分析方法——RUP(RationalUnifiedProcess,统一开发过程)。它是一组可以自适应的,灵活的开发思想,可以适应与许多不同组织的软件开发过程,让开发者发挥自己的创造力和好的思想来构建自己的组织。GRAPPLE由5个段组成,即需求收集,分析,设计,开发,部署。本次的论文,便是以GRAPPLE方法的基本结构、步骤来构架的,由于在软件的构建阶段,设计和分析都可以往返进行直到设计完成,所以在论文中,我将分析与设计合并为一个章节来叙述。之后在设计的基础上使用微软的VisualC#完成系统的实现。2需求收集2.1业务过程分析开发一个系统的起点就是获得对客户业务过程的理解,特别是获得使用目标系统的客户的理解。这就需要系统分析员与客户进行充分的交流。首先要在调研的过程中了解到一套业务领域的词汇。“商品进销存管理系统”需要实现的功能有主要有:“系统维护”,“入库管理”,“调价管理”,“出库管理”,“财务信息管理”,“信息管理”等,可以用下面的业务流程图来表示它们之间的关系:图2-1系统业务流程此次设计的“商品进销存管理系统”需要完成的主要功能有:“系统维护”,“入库管理”,“调价管理”,“出库管理”,“财务信息管理”,“信息管理”等一系列与业务流程相配套的完整功能。在系统中,主要的业务流通领域词汇有以下几大类:采购计划,入库,财务验收,付款处理,出库,调价处理,库存盘点,查询。信息管理的总体活动可以由以下的图来描述:图2-2信息管理的活动图2.2研究领域分析现在仍然处在需求收集阶段的概念性分析。这个阶段需要开发出初步的类图、建立和标记类之间的关联,同时填充类的信息。2.2.1初步用例模型开发用例是由参与者发起的,参与者能够从用例的执行中获得有价值的事物。用例模型的图形表示法很直观。用例用一个椭圆形表示,直立人形图表表示参与者。用例的发起参与者在用例图的左侧,接受参与者在用例图的右侧。参与者的名字放在参与者图表的下方,用例的名字可以放在椭圆形里面也可以放在椭圆形下方。关联线连接参与者和用例,并且表示参与者与用例之间有通信关系。关联线是实现,和类之间的关联线类似。用例分析的一个好处是它能展现出系统和外部世界之间的边界。参与者是典型的系统外部实体,而用例属于系统内部。系统的边界用一个矩形(里面写着系统的名字)来代表。系统的用例装入矩形之内。参与者、用例和互连线共同组成了用例模型(usecasemodel).下图说明了这些符号:图2-4用例模型示例开发系统业务角色首先,需要确定整个系统的业务角色。业务角色,顾名思义,就是与业务交流的人或物,都可以被称为业务角色。在本管理系统中,大体上可以分为生产厂家、供应商、采购员、销售员、基本操作员、系统管理员这六类业务角色。开发初步用例图接下来,需要对每个业务角色标识业务用例,这些业务用例包括:生产、购入、批发销售、输入相关信息、售出、管理整个系统流程等等。这个阶段的任务,就是描述系统用例与系统业务角色之间的关系,如图2-6中所示。图2-6业务角色与系统用例2.2.2开发初步类图系统中的类类图(ClassDiagram)描述类和类之间的静态关系。与数据模型不同,它不仅显示了信息的结构,同时还描述了系统的行为。类图是定义其它图的基础。在类图的基础上,状态图、合作图等进一步描述了系统其他方面的特性。对象(Object)与对客观世界的理解相关。通常用对象描述客观世界中某个具体的实体。所谓类(Class)是对一类具有相同特征的对象的描述。而对象是类的实例(Instance)。建立类模型时,应尽量与应用领域的概念保持一致,以使模型更符合客观事实,易修改,易理解和易交流。类描述一类对象的属性(Attribute)和行为(Behavior)。在UML中,类的可视化表示为一个划分成三个格子的长方形(下面两个格子可省略)。图1中,"客户"就是一个典型的类。类的获取和命名:最顶部的格子包含类的名字。类的命名应尽量用应用领域中的术语,应明确、无歧义,以利于开发人员与用户之间的相互理解和交流。类的获取是一个依赖于人的创造力的过程,必须与领域专家合作,对研究领域仔细地分析,抽象出领域中的概念,定义其含义及相互关系,分析出系统类,并用领域中的术语为类命名。一般而言,类的名字是名词。下面分析领域一下类中的动词和名词,其中的一些名词将可能成为模型中的类,另一些名词成为类的属性。而动词或者动词短语则成为类的操作或类之间的关联标记。系统中涉及到的名词有:(drug),用户(user),管理员(administrator),普通用户(commonuser),信息录入员(informationrecorder),盘点员,调价员,采购员(buyer),仓库保管员(depositorykeeper),销售员(seller),账目(account),发票(invoice),账单(bill),入库单(enterdepositorybill),出库单(outdepositorybill),调价单(changepricebill),客户(client),供应商(merchant),等等。系统中涉及到的动词有:入库(enterdepository),出库(outdepository),盘点(check)、调价(changeprice)、付账(pay)、信息录入(informationenter),等等。类之间的关系在这个阶段,对开发出来的初步类图中的类,根据其意义来分成一些组。人组成的一组:用户(user),管理员(administrator),过期日期(Duedate),普通用户(commonuser),客户(client),生产厂家(manufacturer),供应商(merchant),销售员(seller),采购员(Buyer)物品组成的一组:(drug),药库(Depository)生成的单据组成的一组:账目(account),发票(invoice),Check(支票),账单(bill),入库单(enterdepositorybill),出库单(outdepositorybill),调价单(changepricebill)构建系统类图在完成了初步类图的构建之后,需要建立和标记出类之间的关联。具体的表述关联的方法策略是:先从几个类开始,找出与这个类存在关联的其他类,然后再寻找另外一组类与其他类的关联,直到穷尽了所有的类为止。下面先介绍一下类之间常用的几种关系以及他们的概念:关联关系:关联(Association)表示两个类之间存在某种语义上的联系。角色:关联两头的类以某种角色参与关联。关联类:一个关联可能要记录一些信息,可以引入一个关联类来记录。聚集和组成:聚集(Aggregation)是一种特殊形式的关联。聚集表示类之间的关系是整体与部分的关系。聚集可以进一步划分成共享聚集(SharedAggregation)和组成。继承关系:人们将具有共同特性的元素抽象成类别,并通过增加其内涵而进一步分类。继承(Generalization)定义了一般元素和特殊元素之间的分类关系。在UML中,继承表示为一头为空心三角形的连线。如图2-8中,将User进一步分为commonuser,administrator和businessuser,使用的就是继承关系。依赖关系:有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X。2.3系统需求研究2.3.1收集系统需求在对一个系统的开发中,必须集中考虑用户的需求,这个步骤需要开发出系统的功能包图,每个包应代表系统的一个功能模块。包:将许多类集合成一个更高层次的单位,形成一个高内聚、低耦合的类的集合。UML中这种分组机制叫包(Package)。任何模型元素都运用包的机制。如果没有任何启发性原则来指导类的分组,分组方法就是任意的。在UML中,最有用的和强调最多的启发性原则就是依赖。包图主要显示类的包以及这些包之间的依赖关系。有时还显示包和包之间的继承关系和组成关系。2.3.2开发系统功能包图现在可以开发出系统功能包图如图2-11。在图2-11中,“系统”包由“界面”包和“单据”包和“使用者”包组成。这里称它们为"系统"包的内容。当不需要显示包的内容时,包的名字放入主方框内,否则包的名字放入左上角的小方框中,而将内容放入主方框内。包的内容可以是类的列表,也可以是另一个包图,还可以是一个类图。图2-11系统功能包图

3系统分析与设计3.1开发系统用例模型用例能够帮助系统开发者理解系统的预期行为,因而是一个强有力的工具,它能够帮助开发者从用户的观点收集需求。用例是一个强有力的工具,当使用UML可视化的表达出这些概念后,用例甚至会变得更加强大。可视化可以向用户显示用例,他们可以提供更多的信息。实际生活中用户常常知道的比他们清楚表达出来的要多:用例能够帮助用户解决这个问题。另外,可视化的表达形式允许将用例图和其他种类的图结合起来。系统分析过程中的一个目标是产生一组用例。此想法是要对用例进行分类整理,以便于引用。这些用例代表着用户对系统的观点。当要对系统升级时,用例目录可以作为进一步收集升级需求的基础。3.2系统数据库设计3.2.1数据流分析数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(dataflowdiagram,简称DFD)来实现的。其具体的做法是:按业务流程图理出的务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图。商品商品进销存管理系统的数据流程:对本系统操作的数据源的用户为管理员用户。管理员用户可以进行信息查询、添加、修改、删除等相关操作。通过对本系统的需求分析,系统的基本功能已经确定。整个系统的数据流程图如2-2:进入系统登录界面进入系统登录界面管理员登录管理员登录系统维护系统维护操作页面基本信息维护操作页面基本信息维护商品信息维护数据库商品信息维护数据库采购信息管理采购信息管理销售信息维护销售信息维护财务信息维护财务信息维护退出系统退出系统供应商管理供应商管理数据库维护数据库维护图图2-2系统数据流程图2.3数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型。2.3.1商品商品进销存管理系统的数据字典1.数据字典列表——数据流数据存储名称:管理员信息数据来源:管理员信息表数据去向:管理员登陆模块数据组成:管理员信息=管理信息唯一标识+管理员帐号+管理员密码+管理员权限+注册时间描述:存储了管理员的基本信息数据存储名称:商品类别信息数据来源:商品类别信息表数据去向:商品类别模块数据组成:商品类别信息=商品类别信息唯一标识+商品类别+添加时间+经手人描述:存储了商品类别的注册信息数据存储名称:商品信息数据来源:商品信息表数据去向:商品信息模块数据组成:商品信息=商品信息唯一标识+货物名称+供货编号+进价+售价+数量+厂商等描述:存储了商品信息数据存储名称:客户信息数据来源:客户信息表数据去向:客户信息模块数据组成:客户信息=客户信息唯一ID+客户编号+姓名+地址+身份证+性别+电话等描述:存储了客户信息数据存储名称:库存信息数据来源:库存信息表数据去向:库存信息模块数据组成:库存信息=库存信息唯一标识+商品名称+价格+数量+添加时间+单位+编号等描述:存储了库存信息数据存储名称:销售信息数据来源:销售信息表数据去向:销售信息模块数据组成:销售信息=销售信息唯一标识+货物名称+数量+价格+时间等描述:存储了销售详细信息描述:管理员登录系统进行管理员登录管理输入:管理员描述:管理员登录系统进行管理员登录管理输入:管理员的用户名、密码过程:判断是否为合法的管理员输出:系统主界面名称:查询信息描述:根据条件查询所需信息:货物信息等输入:输入查询的条件过程:查询系统的用户所需的信息输出:查询得到的信息页面名字:录入信息名字:录入信息描述:职员信息,货物信息等的录入输入:输入要添加录入的信息过程:将需要添加录入的信息加入数据库中输出:系统新的信息表页面输出:查询得到的信息页面名字:修改、删除信息描述:对职员信息,货物信息等修改或删除后存入数据库中输入:输入要修改或删除的信息过程:对需要修改的信息做修改、删除过时的信息输出:系统新的信息表页面输出:查询得到的信息页面名字:数据库信息别名:无描述:存储了数据库的基本信息名字:数据库信息别名:无描述:存储了数据库的基本信息数据组成:数据库信息=管理员信息+客户信息+货物信息+库存信息+销售信息位置:数据库输出:查询得到的信息页面3.2.2物流系统的数据项名称:管理员帐号名称:管理员帐号简述:管理员的帐号信息数据类型:文本字段大小:20名称:管理员密码简述:每个管理员所对应的密码数据类型:文本字段大小:20名称:注册时间简述:管理员的注册时间名称:注册时间简述:管理员的注册时间数据类型:日期时间字段大小:8名称:管理员权限简述:管理员的权限数据类型:文本字段大小:30货物数据项:名称:名称:货物编号简述:货物对应的编号数据类型:文本字段大小:50名称:货物名称简述:货物的名称数据类型:文本字段大小:50名称:颜色名称:颜色简述:货物的颜色数据类型:文本字段大小:50名称:货物单位简述:货物的计量单位数据类型:文本字段大小:50名称:售价名称:售价简述:货物的售价数据类型:数字型字段大小:8名称:单价简述:货物的单价数据类型:数字型字段大小:8名称:厂商名称名称:厂商名称简述:供货厂商的名称数据类型:文本字段大小:40名称:厂商编号简述:供货厂商的编号数据类型:自动编号字段大小:长整型名称:负责人简述:供货厂商的负责人名称:负责人简述:供货厂商的负责人数据类型:文本字段大小:10名称:电话简述:供货厂商的联系电话数据类型:文本字段大小:12名称:时间简述:供货厂商信息的添加时间名称:时间简述:供货厂商信息的添加时间数据类型:时间字段大小:8名称:经手人简述:厂商信息的管理经手人数据类型:文本字段大小:10名称:ID简述:货物入库信息唯一标识名称:ID简述:货物入库信息唯一标识数据类型:自动编号字段大小:长整型名称:货物名称简述:入库货物的名称数据类型:字符串字段大小:50名称:数量简述:货物的数量数据类型:数字型字段大小:8名称:进价简述:入库货物的进价数据类型:数字型字段大小:8名称:ID简述:货物出库信息唯一标识数据类型:自动编号名称:ID简述:货物出库信息唯一标识数据类型:自动编号字段大小:长整型名称:货物名称简述:出库货物的名称数据类型:字符串字段大小:50名称:数量简述:货物的数量数据类型:数字型字段大小:8名称:销售价格简述:入库货物的销售价格数据类型:数字型字段大小:83.2.3数据库需求分析用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。1)用户为管理员用户;2)管理员用户登陆后可进行管理员信息、货物信息及厂商信息等的维护,以且货物入库、货物出库及统计信息的维护;经过系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:1)管理员信息,包括数据项:帐号,密码,权限等。2)职员信息,包括数据项:职员ID,职员姓名,性别,电话,所在部门等。3)货物信息,包括数据项:俄编号,货物名称,计量单位,供货厂商等。5)销售信息,包括数据项:系统编号,货物名称,货物数量,销售价格等。6)库存信息,包括数据项:系统编号,货物名称,统计数据等。7)厂商信息,包括数据项:系统编号,厂商名称,负责人,电话,厂商地址等。3.2.4数据库概念结构设计得到上面数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。设计规划出的实体有:管理员信息实体、客户信息实体、货物信息实体、库存信息实体、销售信息实体和厂商信息实体。管理员信息实体E-R图如图4-2所示:管理员管理员帐号密码权限图4-2管理员信息实体ER图职员信息实体ER图如图4-3所示:职员信息职员信息系统编号姓名所在部门电话图4-3职员信息实体ER图图书实体ER图如图4-4所示:物资物资产家仓库名称编号产家仓库名称编号图4-4图4-4物资实体ER图货物入库信息货物入库信息实体ER图如图4-5所示:货物入库信息货物名称编号货物名称编号图4-5物资信息实体ER图图4-5物资信息实体ER图进货价格数量货物出库信息实体ER图如图4-6所示:货物出库信息货物出库信息销售价格数量货物名称编号销售价格数量货物名称编号图4-6图4-6物资续借实体ER图货物信息实体ER图如图4-7所示:货物信息货物信息编号名称供货厂商数量图4-7货物信息实体ER图3.2.3数据库逻辑结构设计数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。商品商品进销存管理系统数据库中各个表的设计结果如表所示。每个表格表示在数据库中的一个表。表1为管理员信息表,存储系统中的管理员信息。表1管理员信息表(allusers)表2为客户信息表,记录系统中客户的详细信息。表2客户信息表(kh)表3为货物信息表,记录系统中已有货物的信息。表3货物信息表(allpro)表4为库存信息表,记录货物库存的信息。表4货物入库信息表(kc)表5为销售统计信息表,记录在销售统计的信息。表5销售统计信息表(xiaoshou)

4开发系统 这是真正开始实施编程的阶段,有了充分的分析和设计结果,这个阶段的工作就能快速平稳的进行。4.1编制代码根据前阶段开发出来的类图、对象图、活动图,下一步的工作就是编制实现系统的代码。本设计我使用的编程语言是VisualC#。4.2系统实现VS.NET编程环境提供了一个统一的集成开发环境,其中集成了许多可视化辅助工具,因此对于用户界面的建立和代码的生成来说是比较简单的。4.2.1用户界面用户界面决定了系统可使用性的好坏。用户界面的设计同样需要讲究艺术性和科学性,在利用艺术角度的见解和人性因素的研究之外,还要考虑到系统用户的直观感觉。下面以销售出库模块为例,来介绍程序的界面。如图4-1图4-1商品进销存管理系统登录界面系统界面设计十分简单,只有“用户名”、“密码”两个输入框及“登陆”一个按钮组成。此页面肩负着系统的安全,所以其安全性能要求很高。4.2.2代码商品进销存管理系统登录界面部分代码如下:protectedvoidButton1_Click(objectsender,EventArgse){if(TextBox2.Text.ToString().Trim()==""||TextBox1.Text.ToString().Trim()==""){Response.Write("<script>javascript:alert('请输入完整');history.back();</script>");Response.End();}stringsql;sql="select*fromalluserswhereusername='"+TextBox2.Text.ToString().Trim()+"'andpwd='"+TextBox1.Text.ToString().Trim()+"'";DataSetresult=newDataSet();result=newClass1().hsggetdata(sql);//result=newTestOnline.Class1().hsggetdata(sql);if(result!=null){if(result.Tables[0].Rows.Count>0){Session["username"]=TextBox2.Text.ToString().Trim();Session["role"]=result.Tables[0].Rows[0]["cx"].ToString().Trim();Response.Redirect("manage.aspx");}else{Response.Write("<script>javascript:alert('对不起,用户名或密码不正确!');</script>");}}else{Response.Write("<script>javascript:alert('对不起,系统错误,请不要越权操作!');</script>");}}4.3部分系统界面及功能简介4.3.1用户信息管理界面如图4-2图4-2用户信息管理界面此界面所完成的功能,为管理的系统用户信息,内容包括用户名、密码及再次确认密码。4.3.2主界面如图4-3图4-3商品信息管理界面此系列页面所实现的功能为管理商品()信息,包括分类管理、添加、管理及查询等。4.3.4入库管理界面如图4-5实现本模块的主要代码如下所示:protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){stringsql;sql="selectbhfromallproorderbyiddesc";getdata(sql);}}privatevoidgetdata(stringsql){DataSetresult=newDataSet();result=newClass1().hsggetdata(sql);if(result!=null){if(result.Tables[0].Rows.Count>0){intk=0;for(k=0;k<result.Tables[0].Rows.Count;k++){bh.Items.Add(result.Tables[0].Rows[k]["bh"].ToString().Trim());}}}}protectedvoidButton1_Click(objectsender,EventArgse){stringsql;sql="select*fromkucunwherebh='"+bh.SelectedItem.ToString().Trim()+"'";DataSetresult=newDataSet();result=newClass1().hsggetdata(sql);if(result!=null){if(result.Tables[0].Rows.Count>0){sql="updatekucunsetshuliang=shuliang+"+shuliang.Text.ToString().Trim()+"wherebh='"+bh.SelectedItem.ToString().Trim()+"'";}else{sql="insertintokucun(bh,ggxh,dw,promc,price,shuliang,gys,rkprice)values('"+bh.SelectedItem.ToString().Trim()+"','"+ggxh.Text.ToString().Trim()+"','"+dw.Text.ToString().Trim()+"','"+promc.Text.ToString().Trim()+"',"+price.Text.ToString().Trim()+","+shuliang.Text.ToString().Trim()+",'"+gys.Text.ToString().Trim()+"',"+rkprice.Text.ToString().Trim()+")";}}intresult2;result2=newClass1().hsgexucute(sql);sql="insertintoruku(bh,ggxh,dw,promc,price,shuliang,gys,rkprice)values('"+bh.SelectedItem.ToString().Trim()+"','"+ggxh.Text.ToString().Trim()+"','"+dw.Text.ToString().Trim()+"','"+promc.Text.ToString().Trim()+"',"+price.Text.ToString().Trim()+","+shuliang.Text.ToString().Trim()+",'"+gys.Text.ToString().Trim()+"',"+rkprice.Text.ToString().Trim()+")";result2=newClass1().hsgexucute(sql);if(result2==1){Response.Write("<script>javascript:alert('操作成功');</script>");}else{Response.Write("<script>javascript:alert('系统错误,您输入了非法字符!');</script>");}图4-5退货登记界面此系列页面所实现的功能为管理采购信息,包括支付、退货等。实现本模块的主要代码如下所示:protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){stringsql;sql="select*fromkucunorderbyiddesc";getdata(sql);}}privatevoidgetdata(stringsql){DataSetresult=newDataSet();result=newClass1().hsggetdata(sql);if(result!=null){if(result.Tables[0].Rows.Count>0){intk=0;for(k=0;k<result.Tables[0].Rows.Count;k++){promc.Items.Add(result.Tables[0].Rows[k]["promc"].ToString().Trim());}}}}protectedvoidButton1_Click(objectsender,EventArgse){stringsql;sql="insertintotuihuo(promc,price,rkprice,gys,thsl,memo)values('"+promc.SelectedItem.ToString().Trim()+"',"+price.Text.ToString().Trim()+","+rkprice.Text.ToString().Trim()+",'"+gys.Text.ToString().Trim()+"',"+thsl.Text.ToString().Trim()+",'"+memo.Text.ToString().Trim()+"')";intresult;result=newClass1().hsgexucute(sql);if(result==1){Response.Write("<script>javascript:alert('添加成功');</script>");}else{Response.Write("<script>javascript:alert('系统错误,您没有设置好数据库的连接!');</script>");}}protectedvoidpromc_SelectedIndexChanged(objectsender,EventArgse){stringsql;sql="select*fromkucunwherepromc='"+promc.SelectedItem.ToString().Trim()+"'";getdata2(sql);}privatevoidgetdata2(stringsql){DataSetresult=newDataSet();result=newClass1().hsggetdata(sql);if(result!=null){if(result.Tables[0].Rows.Count>0){price.Text=result.Tables[0].Rows[0]["price"].ToString().Trim();

温馨提示

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

评论

0/150

提交评论