- 1.72 MB
- 2022-05-16 18:34:46 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
需要程序,源文件,原创设计加10590222或10140642开题xxx学院毕业设计(论文)题目:仓库管理系统设计与实现作者:学号:系(院):计算机科学系专业班级:计算机科学与技术37
需要程序,源文件,原创设计加10590222或10140642基于.NET的仓库管理系统系统摘要目前,大中型城市的多数商品店已经实现了商品管理、客户管理、销售管理及销售管理等的信息化和网络化,提高了管理效率。但是,在大多数小商品店,商品店管理仍然以传统人工管理为主,特别是在商品的采购、销售、库存环节,传统的手工管理处理信息混乱,账目管理困难,效率低下,浪费严重,造成了资产的流失。使用本系统,可以使管理人员从大量繁琐的手工操作中解放出来,方便商品店管理者对商品进销存的实际情况进行集中的查询与管理工作,改进商品店的工作,提高工作效率和服务质量,同时可以适应商品店与社会医保综合管理的需求,减少资源的浪费和流失。经过实际调查和综合分析,本系统使用功能强大的MicrosoftVS.NET作为开发环境,使用编程语言C#对整个系统进行设计与开发,后台数据库使用MicrosoftSQLServer2000。本系统可以根据实际应用的具体情况,适当加以修改,以便更好应用。本系统操作简单,灵活性好,系统安全性高,运行稳定。关键字:管理系统,商品,.NET,C#,仓库,库存37
需要程序,源文件,原创设计加10590222或10140642TheManagementSystemofMedicineEntersSellsSavesBasedon.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#37
需要程序,源文件,原创设计加10590222或10140642目录1绪论41.1课题研究背景及意义41.2本系统使用的方法和语言51.2.1统一建模语言UML51.2.2.NET和C#61.3系统描述71.4分析方法72需求收集82.1业务过程分析82.2研究领域分析92.2.1初步用例模型开发102.2.2开发初步类图112.3系统需求研究132.3.1收集系统需求132.3.2开发系统功能包图133系统分析与设计153.1开发系统用例模型153.2系统数据库设计153.2.1数据流分析152.3数据字典163.2.2商品进销存管理系统的数据项183.2.3数据库需求分析203.2.4数据库概念结构设计213.2.3数据库逻辑结构设计234开发系统264.1编制代码264.2系统实现264.2.1用户界面264.2.2代码274.3部分系统界面及功能简介284.3.1用户信息管理界面如图4-2284.3.2货物类别管理如图4-3304.3.3客户信息管理界面如图4-5315部署33结束语34致 谢35参考文献3637
需要程序,源文件,原创设计加10590222或101406421绪论1.1课题研究背景及意义随着生产技术的进步、现代化科学技术和社会经济的迅速发展,世界正在向信息化社会前进,信息正在同物质、能源一起构成当代社会的三大支柱产业。社会活动的日益复杂,也使得各种管理工作越来越依赖计算机进行信息的操作处理。与我们的健康有着密切关系的商品卫生系统,目前也面临着信息时代的巨大挑战,旧有的企业管理模式已不能适应新型的社会主义市场经济的要求,再者商品产品种类繁多、业务量大,单凭手工记账很难适应工作的需要。同时,商品作为一个关系到人民群众健康的特殊行业,国家对商品行业又有一些不同于其他行业的管理政策,这些都加大了管理的难度。如何尽快建立和完善商品行业的信息化管理体制,已成为影响商品行业生存发展的关键所在。仓库管理系统系统就是为了解决传统商品管理过程中的进销存人工处理混乱、账目管理困难等问题,可以使管理人员从大量繁琐的手工操作中解放出来,方便地完成商品信息管理、商品入库出库等操作,方便灵活地完成各项商品属性、销售状况、供需状态的统计,使得各个工作环节的组织更加规范,提高工作效率与服务质量;同时可以适应商品店与社会医保综合管理的需求。从而可以改变商品店药库商品管理的传统模式,加强药库管理,减少资源浪费和流失。软件开发可以采用多种开发方法,如生命周期法和面向对象方法等。面向对象技术是软件工程领域中的重要技术,它不仅是一种程序设计方法,更重要的是,它是一种对真实世界的抽象思维方式。UML(UnifiedModelingLanguage)就是一种特别适合采用面向对象思维方式的软件建模语言。UML伙伴组织于1996年由Rational公司创立。对象管理组织(OMG)于1997年11月将UML的1.1版接纳为标准。UML是多种方法相互借鉴、相互融合、趋于一致、走向标准化的产物。这样的统一建模语言为软件开发商及其用户带来诸多便利。许多计算机技术发达的国家已有大量的软件开发组织开始用UML进行系统建模,学习和使用UML已经成为一种潮流。我国软件界对UML也相当关注,越来越多的人投入到了对UML的学习和研究中。UML只是一种建模语言,在系统的具体编制过程中,我使用了Microsoft专门为使用.NET平台而创建的语言C#。37
需要程序,源文件,原创设计加10590222或101406421.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),包括37
需要程序,源文件,原创设计加10590222或10140642构件图和配置图。 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#是近期发展起来的,所以吸取了以前的教训,考虑了其他语言的许多优点,并解决了它们的问题。37
需要程序,源文件,原创设计加10590222或10140642使用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#完成系统的实现。37
需要程序,源文件,原创设计加10590222或101406422需求收集2.1业务过程分析开发一个系统的起点就是获得对客户业务过程的理解,特别是获得使用目标系统的客户的理解。这就需要系统分析员与客户进行充分的交流。首先要在调研的过程中了解到一套业务领域的词汇。“仓库管理系统系统”需要实现的功能有主要有:“系统维护”,“入库管理”,“调价管理”,“出库管理”,“财务信息管理”,“商品信息管理”等,可以用下面的业务流程图来表示它们之间的关系:图2-1系统业务流程此次设计的“商品进销存商品管理系统”需要完成的主要功能有:“系统维护”,“入库管理”,“调价管理”,“出库管理”,“财务信息管理”,“商品信息管理”等一系列与业务流程相配套的完整功能。37
需要程序,源文件,原创设计加10590222或10140642在系统中,主要的业务流通领域词汇有以下几大类:采购计划,入库,财务验收,付款处理,出库,调价处理,库存盘点,查询。商品信息管理的总体活动可以由以下的图来描述:图2-2商品信息管理的活动图2.2研究领域分析37
需要程序,源文件,原创设计加10590222或10140642现在仍然处在需求收集阶段的概念性分析。这个阶段需要开发出初步的类图、建立和标记类之间的关联,同时填充类的信息。2.2.1初步用例模型开发用例是由参与者发起的,参与者能够从用例的执行中获得有价值的事物。用例模型的图形表示法很直观。用例用一个椭圆形表示,直立人形图表表示参与者。用例的发起参与者在用例图的左侧,接受参与者在用例图的右侧。参与者的名字放在参与者图表的下方,用例的名字可以放在椭圆形里面也可以放在椭圆形下方。关联线连接参与者和用例,并且表示参与者与用例之间有通信关系。关联线是实现,和类之间的关联线类似。用例分析的一个好处是它能展现出系统和外部世界之间的边界。参与者是典型的系统外部实体,而用例属于系统内部。系统的边界用一个矩形(里面写着系统的名字)来代表。系统的用例装入矩形之内。参与者、用例和互连线共同组成了用例模型(usecasemodel).下图说明了这些符号:图2-4用例模型示例2.2.1.1开发系统业务角色首先,需要确定整个系统的业务角色。业务角色,顾名思义,就是与业务交流的人或物,都可以被称为业务角色。在本管理系统中,大体上可以分为生产厂家、供应商、采购员、销售员、基本操作员、系统管理员这六类业务角色。2.2.1.2开发初步用例图接下来,需要对每个业务角色标识业务用例,这些业务用例包括:生产商品、购入商品、批发销售商品、输入商品相关信息、售出商品、管理整个系统流程等等。这个阶段的任务,就是描述系统用例与系统业务角色之间的关系,如图2-6中所示。37
需要程序,源文件,原创设计加10590222或10140642图2-6业务角色与系统用例2.2.2开发初步类图2.2.2.1系统中的类类图(ClassDiagram)描述类和类之间的静态关系。与数据模型不同,它不仅显示了信息的结构,同时还描述了系统的行为。类图是定义其它图的基础。在类图的基础上,状态图、合作图等进一步描述了系统其他方面的特性。对象(Object)与对客观世界的理解相关。通常用对象描述客观世界中某个具体的实体。所谓类(Class)是对一类具有相同特征的对象的描述。而对象是类的实例(Instance)。建立类模型时,应尽量与应用领域的概念保持一致,以使模型更符合客观事实,易修改,易理解和易交流。37
需要程序,源文件,原创设计加10590222或10140642类描述一类对象的属性(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),等等。2.2.2.2类之间的关系在这个阶段,对开发出来的初步类图中的类,根据其意义来分成一些组。人组成的一组:用户(user),管理员(administrator),过期日期(Duedate),普通用户(commonuser),客户(client),生产厂家(manufacturer),供应商(merchant),销售员(seller),采购员(Buyer)物品组成的一组:商品(drug),药库(Depository)生成的单据组成的一组:账目(account),发票(invoice),Check(支票),账单(bill),入库单(enterdepositorybill),出库单(outdepositorybill),调价单(changepricebill)2.2.2.3构建系统类图在完成了初步类图的构建之后,需要建立和标记出类之间的关联。具体的表述关联的方法策略是:先从几个类开始,找出与这个类存在关联的其他类,然后再寻找另外一组类与其他类的关联,直到穷尽了所有的类为止。37
需要程序,源文件,原创设计加10590222或10140642下面先介绍一下类之间常用的几种关系以及他们的概念:关联关系:关联(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中,“系统”包由“界面”包和“单据”包和“使用者”包组成。这里称它们为"系统"包的内容。当不需要显示包的内容时,包的名字放入主方框内,否则包的名字放入左上角的小方框中,而将内容放入主方框内。包的内容可以是类的列表,也可以是另一个包图,还可以是一个类图。37
需要程序,源文件,原创设计加10590222或10140642图2-11系统功能包图37
需要程序,源文件,原创设计加10590222或101406423系统分析与设计3.1开发系统用例模型用例能够帮助系统开发者理解系统的预期行为,因而是一个强有力的工具,它能够帮助开发者从用户的观点收集需求。用例是一个强有力的工具,当使用UML可视化的表达出这些概念后,用例甚至会变得更加强大。可视化可以向用户显示用例,他们可以提供更多的信息。实际生活中用户常常知道的比他们清楚表达出来的要多:用例能够帮助用户解决这个问题。另外,可视化的表达形式允许将用例图和其他种类的图结合起来。系统分析过程中的一个目标是产生一组用例。此想法是要对用例进行分类整理,以便于引用。这些用例代表着用户对系统的观点。当要对系统升级时,用例目录可以作为进一步收集升级需求的基础。3.2系统数据库设计3.2.1数据流分析数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(dataflowdiagram,简称DFD)来实现的。其具体的做法是:按业务流程图理出的务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图。商品进销存管理系统的数据流程:对本系统操作的数据源的用户为管理员用户。管理员用户可以进行信息查询、添加、修改、删除等相关操作。通过对本系统的需求分析,系统的基本功能已经确定。整个系统的数据流程图如2-2:37
需要程序,源文件,原创设计加10590222或10140642进入系统登录界面管理员登录系统维护操作页面基本信息维护商品信息维护数据库采购信息管理销售信息维护财务信息维护退出系统供应商管理数据库维护图2-2系统数据流程图2.3数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型。2.3.1商品进销存管理系统的数据字典1.数据字典列表——数据流37
需要程序,源文件,原创设计加10590222或10140642数据存储名称:管理员信息数据来源:管理员信息表数据去向:管理员登陆模块数据组成:管理员信息=管理信息唯一标识+管理员帐号+管理员密码+管理员权限+注册时间描述:存储了管理员的基本信息数据存储名称:商品类别信息数据来源:商品类别信息表数据去向:商品类别模块数据组成:商品类别信息=商品类别信息唯一标识+商品类别+添加时间+经手人描述:存储了商品类别的注册信息数据存储名称:商品信息数据来源:商品信息表数据去向:商品信息模块数据组成:商品信息=商品信息唯一标识+货物名称+供货编号+进价+售价+数量+厂商等描述:存储了商品信息数据存储名称:客户信息数据来源:客户信息表数据去向:客户信息模块数据组成:客户信息=客户信息唯一ID+客户编号+姓名+地址+身份证+性别+电话等描述:存储了客户信息数据存储名称:库存信息数据来源:库存信息表数据去向:库存信息模块数据组成:库存信息=库存信息唯一标识+商品名称+价格+数量+添加时间+单位+编号等描述:存储了库存信息数据存储名称:销售信息数据来源:销售信息表数据去向:销售信息模块数据组成:销售信息=销售信息唯一标识+货物名称+数量+价格+时间等描述:存储了销售详细信息描述:管理员登录系统进行管理员登录管理输入:管理员的用户名、密码过程:判断是否为合法的管理员输出:系统主界面名称:查询信息描述:根据条件查询所需信息:货物信息等输入:输入查询的条件过程:查询系统的用户所需的信息输出:查询得到的信息页面2.数据字典列表——数据处理37
需要程序,源文件,原创设计加10590222或10140642名字:录入信息描述:职员信息,货物信息等的录入输入:输入要添加录入的信息过程:将需要添加录入的信息加入数据库中输出:系统新的信息表页面输出:查询得到的信息页面名字:修改、删除信息描述:对职员信息,货物信息等修改或删除后存入数据库中输入:输入要修改或删除的信息过程:对需要修改的信息做修改、删除过时的信息输出:系统新的信息表页面输出:查询得到的信息页面名字:数据库信息别名:无描述:存储了数据库的基本信息数据组成:数据库信息=管理员信息+客户信息+货物信息+库存信息+销售信息位置:数据库输出:查询得到的信息页面3.数据字典列表——数据存储3.2.2商品进销存管理系统的数据项名称:管理员帐号简述:管理员的帐号信息数据类型:文本字段大小:20名称:管理员密码简述:每个管理员所对应的密码数据类型:文本字段大小:20管理员数据项:37
需要程序,源文件,原创设计加10590222或10140642名称:注册时间简述:管理员的注册时间数据类型:日期时间字段大小:8名称:管理员权限简述:管理员的权限数据类型:文本字段大小:30货物数据项:名称:货物编号简述:货物对应的编号数据类型:文本字段大小:50名称:货物名称简述:货物的名称数据类型:文本字段大小:50名称:颜色简述:货物的颜色数据类型:文本字段大小:50名称:货物单位简述:货物的计量单位数据类型:文本字段大小:50名称:售价简述:货物的售价数据类型:数字型字段大小:8名称:单价简述:货物的单价数据类型:数字型字段大小:8名称:厂商名称简述:供货厂商的名称数据类型:文本字段大小:40名称:厂商编号简述:供货厂商的编号数据类型:自动编号字段大小:长整型厂商数据项名称:负责人简述:供货厂商的负责人数据类型:文本字段大小:10名称:电话简述:供货厂商的联系电话数据类型:文本字段大小:12名称:时间简述:供货厂商信息的添加时间数据类型:时间字段大小:8名称:经手人简述:厂商信息的管理经手人数据类型:文本字段大小:1037
需要程序,源文件,原创设计加10590222或10140642名称:ID简述:货物入库信息唯一标识数据类型:自动编号字段大小:长整型名称:货物名称简述:入库货物的名称数据类型:字符串字段大小:50名称:数量简述:货物的数量数据类型:数字型字段大小:8名称:进价简述:入库货物的进价数据类型:数字型字段大小:8库存数据项名称:ID简述:货物出库信息唯一标识数据类型:自动编号字段大小:长整型名称:货物名称简述:出库货物的名称数据类型:字符串字段大小:50名称:数量简述:货物的数量数据类型:数字型字段大小:8名称:销售价格简述:入库货物的销售价格数据类型:数字型字段大小:8销售数据项3.2.3数据库需求分析用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。1)用户为管理员用户;2)管理员用户登陆后可进行管理员信息、货物信息及厂商信息等的维护,以且货物入库、货物出库及统计信息的维护;37
需要程序,源文件,原创设计加10590222或10140642经过系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:1)管理员信息,包括数据项:帐号,密码,权限等。2)职员信息,包括数据项:职员ID,职员姓名,性别,电话,所在部门等。3)货物信息,包括数据项:俄编号,货物名称,计量单位,供货厂商等。5)销售信息,包括数据项:系统编号,货物名称,货物数量,销售价格等。6)库存信息,包括数据项:系统编号,货物名称,统计数据等。7)厂商信息,包括数据项:系统编号,厂商名称,负责人,电话,厂商地址等。3.2.4数据库概念结构设计得到上面数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。设计规划出的实体有:管理员信息实体、客户信息实体、货物信息实体、库存信息实体、销售信息实体和厂商信息实体。管理员信息实体E-R图如图4-2所示:管理员帐号密码权限图4-2管理员信息实体ER图职员信息实体ER图如图4-3所示:职员信息系统编号姓名所在部门电话......图4-3职员信息实体ER图37
需要程序,源文件,原创设计加10590222或10140642图书实体ER图如图4-4所示:商品信息作者出版社名称馆藏编号......图4-4图书实体ER图货物入库信息货物入库信息实体ER图如图4-5所示:货物名称编号图4-5商品进出信息实体ER图进货价格数量货物出库信息实体ER图如图4-6所示:货物出库信息.....销售价格数量货物名称编号37
需要程序,源文件,原创设计加10590222或10140642图4-6图书续借实体ER图货物信息实体ER图如图4-7所示:货物信息编号名称供货厂商数量......图4-7货物信息实体ER图3.2.3数据库逻辑结构设计数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。商品进销存管理系统数据库中各个表的设计结果如表所示。每个表格表示在数据库中的一个表。表1为管理员信息表,存储系统中的管理员信息。表1管理员信息表(allusers)37
需要程序,源文件,原创设计加10590222或10140642表2为客户信息表,记录系统中客户的详细信息。表2客户信息表(kh)表3为货物信息表,记录系统中已有货物的信息。表3货物信息表(allpro)37
需要程序,源文件,原创设计加10590222或10140642表4为库存信息表,记录货物库存的信息。表4货物入库信息表(kc)表5为销售统计信息表,记录在销售统计的信息。表5销售统计信息表(xiaoshou)37
需要程序,源文件,原创设计加10590222或101406424开发系统这是真正开始实施编程的阶段,有了充分的分析和设计结果,这个阶段的工作就能快速平稳的进行。4.1编制代码根据前阶段开发出来的类图、对象图、活动图,下一步的工作就是编制实现系统的代码。本设计我使用的编程语言是VisualC#。4.2系统实现VS.NET编程环境提供了一个统一的集成开发环境,其中集成了许多可视化辅助工具,因此对于用户界面的建立和代码的生成来说是比较简单的。4.2.1用户界面用户界面决定了系统可使用性的好坏。用户界面的设计同样需要讲究艺术性和科学性,在利用艺术角度的见解和人性因素的研究之外,还要考虑到系统用户的直观感觉。下面以商品销售出库模块为例,来介绍程序的界面。如图4-137
需要程序,源文件,原创设计加10590222或10140642图4-1仓库管理系统系统登录界面系统界面设计十分简单,只有“用户名”、“密码”两个输入框及“登陆”一个按钮组成。此页面肩负着系统的安全,所以其安全性能要求很高。4.2.2代码仓库管理系统系统登录界面部分代码如下:if(TextBox2.Text.ToString().Trim()==""||TextBox1.Text.ToString().Trim()==""){Response.Write("");Response.End();}stringsql;sql="select*fromalluserswhereusername=""+TextBox2.Text.ToString().Trim()+""andpwd=""+TextBox1.Text.ToString().Trim()+""";37
需要程序,源文件,原创设计加10590222或10140642DataSetresult=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("");}}else{Response.Write("");}4.3部分系统界面及功能简介4.3.1用户信息管理界面如图4-237
需要程序,源文件,原创设计加10590222或10140642图4-2用户信息管理界面此界面所完成的功能,为管理的系统用户信息,内容包括用户名、密码及再次确认密码。37
需要程序,源文件,原创设计加10590222或101406424.3.2货物类别管理如图4-337
需要程序,源文件,原创设计加10590222或10140642图4-3商品信息管理界面此系列页面所实现的功能为管理商品(商品)信息,包括分类管理、添加、管理及查询等。4.3.3客户信息管理界面如图4-537
需要程序,源文件,原创设计加10590222或10140642图4-5客户信息管理界面此系列页面所实现的功能为添加删除修改查询本系统中的所有客户信息。实现本模块最难的问题在于上传头像,下面简单介绍一下实现本模块的主要代码:protectedvoidPage_Load(objectsender,EventArgse)37
需要程序,源文件,原创设计加10590222或10140642{if(!IsPostBack){xingbie.Items.Add("male");xingbie.Items.Add("female");//addxiala("kehuxinxi","bianhao","kehubianhao");}}protectedvoidButton1_Click(objectsender,EventArgse){stringsql;sql="insertintoyonghuzhuce(yonghuming,mima,xingming,dianhua,youxiang,QQ,touxiang,jiguan,dizhi,xingbie,beizhu)values(""+yonghuming.Text.ToString().Trim()+"",""+mima.Text.ToString().Trim()+"",""+xingming.Text.ToString().Trim()+"",""+dianhua.Text.ToString().Trim()+"",""+youxiang.Text.ToString().Trim()+"",""+QQ.Text.ToString().Trim()+"",""+touxiang.Text.ToString().Trim()+"",""+jiguan.Text.ToString().Trim()+"",""+dizhi.Text.ToString().Trim()+"",""+xingbie.Text.ToString().Trim()+"",""+beizhu.Text.ToString().Trim()+"")";intresult;result=newClass1().hsgexucute(sql);if(result==1){Response.Write("");}else{Response.Write("");}}5部署在以上的设计过程中,只是属于软件的设计阶段,当开发完成后,系统就要被部署到适当的硬件上运行并要与协同系统集成起来。在多数系统中,硬件是一个重要方面,一个系统可能要包括多种操作平台,并且要跨越很长的物理距离。一个坚实的系统硬件部署图对系统设计来说是必需的。UML提供了一组图符,用户创建一幅图来描述最终系统的硬件设置。主要的硬件术语有:37
需要程序,源文件,原创设计加10590222或10140642节点(node):各种计算资源的通用名称。节点有两种类型。处理器(processor)是能够处理软件构件的节点,设备(device)是不能执行软件构件的节点。设备,如打印机或显示器通常都具有某种形式的与外部世界的接口。本系统的硬件部署图如图5-1所示:图5-1硬件部署图结束语经过这几个月的设计和开发,“基于.NET的仓库管理系统系统”已经完成了,其功能符合设计需求,能够完成入库、出库、调价、盘点、商品信息维护、查询等功能。经过最后的使用,证明系统完全具有可行性与可扩充性。此次设计中,我用SQLServer2000建立后台数据库,用VS.NET的C#作为主要的应用程序开发工具,应用所学的UML知识进行了系统设计。运行环境是Windowsxp/2000/2000Server.37
需要程序,源文件,原创设计加10590222或10140642在设计开始阶段,我用了一个半月的时间进行相关知识的学习、资料的搜集、熟悉开发工具及环境等工作,并到商品店进行了实地的调研与学习。随后,在UML的快速应用工程指导原则(GRAPPLE)的指导下展开了业务过程建模,系统用例建模,分析模型建立,设计模型建立,硬件部署,编码以及系统的维护与调试,最后完成毕业设计论文的编写和答辩准备工作。在开发过程中,我也遇到了各种各样的困难,在指导老师王会青老师和周围同学的指导、帮助下,得到解决,最终顺利完成了本系统的开发工作。本系统的成功运行证明了统一建模语言可以满足商品进销存、系统管理的复杂要求。在系统的分析阶段,主要是分析系统的需求,理解系统要完成的基本功能,找出系统的用例(UseCase)和角色(Actor),画出系统的用例模型图,用例模型是此后系统建模的基础。通过分析每个用例的顺序图和协作图,找到系统中的各个对象,建立系统的对象模型。抽象出系统的类,并将系统中联系紧密的类划分为若干个包,画出包图。在系统的设计阶段,需要做出高层的系统决策、确定基本的软件结构并且对应用系统进行结构划分。统一建模语言(UML)出现以及在建模中的应用是软件工程发展过程中的巨大革命,标志着软件工程的新的发展阶段。在设计的过程中,我对UML理论知识与建模过程有了更深入的理解,独立解决实际问题的能力进一步增强,综合运用所学知识解决实际问题的能力得到很大提高,为我今后的学习和工作积累了经验,为以后完成更复杂的工作奠定了一定的基础。但是由于毕业设计时间较短,该系统还有待于进一步改进,因此,仍有大量的工作需要开展,以使其更趋于完善!致 谢在本次毕业设计中,我得到了许多老师和同学的关怀和帮助,在此我要向他们表达我真挚的谢意。首先,我要感谢我的指导老师——老师37
需要程序,源文件,原创设计加10590222或10140642。老师在从我接触这个课题开始,就指导我广泛接触先进的技术。在系统设计与论文的写作过程中,王老师也不断的督促检查,并提出了许多宝贵的有建设性的意见。王老师的精心指导和深切关怀,以及认真负责的工作态度,严谨的治学精神都使我获益匪浅。在此谨向王会青老师表示崇高的敬意和衷心的感谢!在程序的编码阶段,我也得到了许多同学的帮助,从他们身上我学到了许多的东西。最后,我还要感谢所有评阅老师对我的论文的悉心评阅,答辩委员会老师对我的系统的关注与批评,院领导小组对我的综合评定。再次感谢广大老师和同学们对我的帮助!参考文献1.(美)WendyBoggs,MichaelBoggs.UML与RationalRose2002从入门到精通.北京:电子工业出版社,2002.2.(美)JosephSchmuller.UML基础、案例与应用.北京:人民邮电出版社,2001.3.李满潮.VisualC#.NET编程基础.北京:清华大学出版社,2002.4.MeilirPage.JonesUML.面向对象设计基础.北京:科学出版社,2003.5.刘润东.UML对象设计与编程.北京:希望电子出版社2002.37
需要程序,源文件,原创设计加10590222或101406426.MartinFlower,KendallSott.UML精粹——标准对象建模语言简明指南.北京:清华大学出版社,1999.7.KarliWatsonMarcoBellinaso.康博译.C#入门经典.北京:清华大学出版社,2002.8.孙三才张智凯许薰尹.C#与.NET技术平台实战演练.北京:中国青年出版社,2002.9.(美)普拉持(Platt,D.s.).黄惠萍等译.Microsoft.NET精髓著.北京:机械工业出版社,2003.10.http://www.vchelp.net11.http://www.yesky.com12.http://www.quicksoft.com.cn/13.http://www.enut.com.cn/html/case/szyaopin.htm14.http://www.yygl.com/15.http://www.sql-server-performance.com/16.http://www.phei.com.cn17.http://www-306.ibm.com/software/rational/18.http://www.rational.com37