- 1.11 MB
- 2022-05-16 18:34:44 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
湖南文理学院本科毕业设计(论文)毕业设计(论文)任务书HunanUniversityofArtsandScience设计(论文)题目基于C#的仓库管理系统的设计与实现GRADUATEDESIGN(THESIS)成教本科生毕业论文学生:丁超专业:计算机软件2013年4月18日指导老师:刘峥-V-
湖南文理学院本科毕业设计(论文)毕业设计(论文)任务书毕业设计(论文)任务书毕业设计(论文)题目:基于C#的仓库管理系统的设计与实现设计(论文)的基本内容:随着我国改革开放步伐的不断深入,经济高速的发展,企业要想生存、发展,要想在激烈的市场竞争中处于不败之地,没有现代化的管理是万万不可的,仓库管理的整体自动化、信息化则是其中极其重要的组成部分。为了加快仓库管理自动化的步伐,,提高仓库的管理业务效率,建立仓库管理信息系统已变得十分重要。设计基于C#的仓库管理系统总体结构,实现企业仓库货物的采购管理、销售管理、库存管理、货物出入库管理等功能,并对所实现的系统进行测试和评价。毕业设计(论文)专题部分:题目: 仓库管理系统设计与实现 设计或论文专题的基本内容:设计基于C#的仓库管理系统总体结构,实现企业仓库货物的采购管理、销售管理、库存管理、货物出入库管理等功能。学生接受毕业设计(论文)题目日期 第3周指导教师签字:2013年4月18日-V-
湖南文理学院本科毕业设计(论文)摘要工资管理系统的设计与实现摘要对企业而言,人力资源是企业最宝贵的资源,也是企业的“生命线”。而工资管理又是人力资源管理的重中之重。实行电子化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。早期工资管理多采取纸质材料和具有较强的时间限制。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。企业工资管理系统是典型的信息管理系统,前台程序开发工具采用微软的Vs2010,后台数据库采用SQL数据库。运行结果证明,本企业工资管理系统极大提高了工作效率,节省了人力和物力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志。关键词:管理信息系统,数据库,工资管理,实体关系图(E-R图),数据字典,数据流图。-V-湖南文理学院本科毕业设计(论文)目录DesignandImplementationofPersonnalSalary-V-
湖南文理学院本科毕业设计(论文)目录ManagementSystemAbstractSpeakingoftheenterprise,thehumanresourcesistheenterpriseisthemostpreciousresourceandalsoisenterprise"slifeline.Andsalarymanagementisthetoppriorityofthehumanresourcemanagement.Implementelectronicsalarymanagement,canletthehumanresourcesmanagementpersonnelfromheavytrivialpaperworktoliberation,tocompletethemoreimportantwork.Withtheenterprisepersonnel,thewageincreasethenumberofenterprisemanagementisalsobecomingmoreandmorecomplicated.Salarymanagementnotonlyinvolvestotheenterpriselaborpersonnelmanagement,enterprisefinancialmanagementisalsotheimportantcomponent.Earlyandsalarymanagementtookpapermaterialsandhasstrongtimelimit.Basedontheabovereasons,enterprisesalarymanagementsystemusingcomputersecuritysave,fastcalculation,comprehensivestatistics,realizethesystematicmanagementofwages,standardization,andautomation.Enterprisesalarymanagementsystemisthetypicalinformationmanagementsystem(MIS),frontdeskprogramusingMicrosoft"sVB6developmenttools,thebackenddatabaseAccessdatabase.Theoperationresultsprove,thisenterprisesalarymanagementsystemgreatlyimproveworkefficiencyandsavemanpowerandmaterialresources,finallymeetenterprisefinancialmanagement,staffsalaryneeds,butalsoasasymbolofmodernenterprisemanagement.Keywords:CustomerRelationshipManagement;SystemDesign;Object-Oriented-V-
湖南文理学院本科毕业设计(论文)目录目录毕业设计(论文)任务书II摘要IIIABSTRACTIV目录V第1章绪论11.1课题研究的背景和来源11.2课题研究成果应用的实际意义11.3实施步骤2第2章相关技术简介32.1系统开发工具32.2VisualStudio介绍32.2.1VisualStudio功能32.2.2VisualStudio主要部分32.3SQLServer2005简介4本章小结5第3章需求分析73.1系统实现目标73.2系统运行环境73.3系统的开发环境83.4功能性需求描述83.4.1处理对象93.4.2处理功能及需求103.4.3适应性和透明性103.5非功能性需求描述103.6逻辑处理103.7本章小结11第4章系统设计124.1系统设计原则124.2系统总体设计124.3数据库设计134.4输入输出设计204.4.1输出设计204.4.2入库设计21-V-
湖南文理学院本科毕业设计(论文)目录4.5本章小结23第5章系统实现245.1登录界面实现245.2主界面的实现275.2.1说明:275.2.2系统主界面,如图5.3275.2.3代码设计275.3各分界面的实现295.3.1说明29材料、用户、仓库信息的增、删、改等的实现295.3.2仓库基本信息管理及代码,如图5.4295.4本章小结40第6章结论416.1工作总结41参考文献42致谢43-V-
湖南文理学院本科毕业设计(论文)目录第1章绪论1.1课题研究的背景和来源现代企业的物流日趋复杂,高效的物流系统要求有效地对企业的库存进行管理。目前的仓库管理系统一般技术比较落后、性能较差且很不完备,人工干涉多,操作使用不方便,有的还故障率高而不实用。现阶段仓库管理的特点是信息处理量特别大,所管理的物资设备种类繁多,而且入库单、出库单、需求单等单据的发生量特别大,关联信息多,查询和统计的方式各不相同。因此在管理上实现起来有一定的困难。仓储管理部门越来越需要一套低成本、高性能、方便使用、功能完善的综合仓库管理信息系统。而现在计算机技术、网络技术、的成熟与发展,为仓储管理自动化提供了强有力的技术支持。课题以某仓库应用背景,通过研究当前仓库系统的管理现状、存在问题以及现实需求,设计一个针对仓库管理工作的管理信息系统。该系统能够提供较为完备的功能,可以全面管理仓库中储存的商品和货物,缩短了库存信息流转时间,使企业的物料管理层次分明,井然有序,为采购、销售和生产提供依据,对于提高企业的经营效率、加快仓库管理的自动化具有重要的意义。随着我国改革开放步伐的不断深入,经济高速的发展,企业要想生存、发展,要想在激烈的市场竞争中处于不败之地,没有现代化的管理是万万不可的,仓库管理的整体自动化、信息化则是其中极其重要的组成部分。为了加快仓库管理自动化的步伐,,提高仓库的管理业务效率,建立仓库管理信息系统已变得十分重要。1.2课题研究成果应用的实际意义信息技术的日新月异,给仓库管理带来巨大的影响。为了加快仓库管理自动化的步伐,提高仓库的管理业务处理效率,建立仓库管理系统,尽可能地减少仓库管理的重复性和低效性,已变得十分必要。计算机应用技术的发展,计算机硬件性能的不断改进,为仓库管理系统的开发提供了技术支持和经济可行性。管理系统的应用,可以将工作者从烦杂的劳动中解脱出来,极大提高工作效率,有着较好的营运可行性。-48-
湖南文理学院本科毕业设计(论文)目录课题以某仓库应用背景,通过研究当前仓库系统的管理现状、存在问题以及现实需求,设计一个针对仓库管理工作的管理信息系统。该系统能够提供较为完备的功能,对于提高工作效率、加快仓库管理的自动化具有较为重要的意义。课题的目的主要有以下三个:首先学会按照怎样的步骤去开发一个管理信息系统,这是最主要的目的;其次,通过开发数据库相关的应用程序,期望对课堂上讲解的理论知识有更加深刻的理解;最后,通过对毕业论文的撰写过程,对语言文字组织能力、表述能力以及层次分析的能力也进行锻炼。1.1实施步骤仓库管理系统是针对企业仓库的商品货物的经常出入库和查询统计等方面工作而开发的管理软件。仓库管理系统是用于完成众多仓库管理业务所面临的日常工作。系统的实施遵循软件工程的方法,通常一个管理信息系统的发布需要经过系统分析、系统设计、系统实施三个阶段。1.系统规划阶段信息系统规划的主要任务和内容包括三个主要的方面:目标设定、环境分析(技术环境、管理环境、社会环境)、战略选择。2.系统分析阶段主要包括组织结构分析、业务流程分析、数据流程分析等。3系统设计阶段主要包括总体结构设计(划分子系统、功能结构图设计、处理流程设计、代码详细设计、物理系统配置方案设计、数据文件和数据库设计)和具体物理模型的设计(数据库存设计、输入输出设计、编写程序模块说明书)4系统实现阶段系统实现是继系统规划、系统分析、系统设计之后的又一个重要阶段。它将在系统设计的基础上,将系统审计方案的结果具体的在计算机系统上进行实现。主要任务可以概括为:系统环境的建立、程序设计、数据的录入、系统人员的培训、系统调试与转换、文档的建立与完善等。5系统运行维护阶段主要是程序的维护、数据文件的维护、代码的维护、机器设备的维护、机器和人员的变动等。第2章-48-
湖南文理学院本科毕业设计(论文)第2章相关技术简介第1章相关技术简介1.1系统开发工具本系统采用VisualStudio作为前端开发工具,sqlserver2005作为后台数据库。1.2VisualStudio介绍1.2.1VisualStudio功能VisualStudio是一套完整的开发工具集,用于生成ASP.NETWeb应用程序、XMLWebServices、桌面应用程序和移动应用程序。VisualBasic、VisualC++、VisualC#和VisualJ#全都使用相同的集成开发环境(IDE),利用此IDE可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了.NETFramework的功能,通过此框架可使用简化ASPWeb应用程序和XMLWebServices开发的关键技术。功能如下: 创建满足关键性要求的多层次的智能客户端、Web、移动或基于MicrosoftOffice的应用程序。使用VisualStudio2005,专业开发人员能够: 使用改进后的可视化设计工具、编程语言和代码编辑器,享受高效率的开发环境 在统一的开发环境中,开发并调试多层次的服务器应用程序 使用集成的可视化数据库设计和报告工具,创建SQLServer2005解决方案 使用VisualStudioSDK创建可以扩展VisualStudioIDE的工具 Microsoft为单独工作或在小型团队中的专业开发人员提供了两种选择,VisualStudio2005ProfessionalEdition和用于MicrosoftOffice系统的VisualStudio2005工具。每种版本都在标准版的特性上进行了扩展,包括用于远程服务程序开发和调试、SQLServer2005开发的工具,以及完整的、没有限制的开发环境。每种产品都可以单独购买或打包定购。专业开发人员喜欢自由的使用.NETFramework2.0,它是一种稳健的、功能齐备的开发环境,支持创建扩展VisualStudio集成开发环境的工具。1.2.2VisualStudio主要部分公共语言运行库-48-
湖南文理学院本科毕业设计(论文)第2章相关技术简介:运行库实际上在组件的运行时和开发时操作中都起到很大的作用,尽管名称中没有体现这个意思。在组件运行时,运行库除了负责满足此组件在其他组件上可能具有的依赖项外,还负责管理内存分配、启动和停止线程和进程,以及强制执行安全策略。在开发时,运行库的作用稍有变化;由于做了大量的自动处理工作(如内存管理),运行库使开发人员的操作非常简单,尤其是与今天的COM相比。特别是反射等功能显著减少了开发人员为将业务逻辑转变为可重用组件而必须编写的代码量。统一编程类:该框架为开发人员提供了统一的、面向对象的、分层的和可扩展的类库集(API)。目前,C++开发人员使用Microsoft基础类,而Java开发人员使用Windows基础类。该框架统一了这些完全不同的模型,还为VisualBasic和JScript程序员提供了对类库的访问。通过创建跨所有编程语言的公共API集,公共语言运行库使得跨语言继承、错误处理和调试成为可能。从JScript到C++的所有编程语言具有对框架的相似访问,开发人员可以自由选择它们要使用的语言。ASP.NET:ASP.NET建立在.NETFramework的编程类的基础上,为Web应用程序模型提供了一组可简化Web应用程序生成的控件和基础结构。ASP.NET包括可用于封装通用HTML用户界面元素(如文本框、按钮和列表框)的一组控件。但这些控件在Web服务器上运行,并以HTML的形式将其用户界面呈现在浏览器中。在服务器上,这些控件公布面向对象的编程模型,该模型为Web开发人员提供面向对象编程的丰富功能。ASP.NET还提供基础结构服务,如状态管理和进程回收,从而可以进一步减少开发人员必须编写的代码数量,并提高应用程序的可靠性。另外,ASP.NET使用这些同样的概念使开发人员能够以服务的形式交付软件。使用XMLWebServices功,ASP.NET开发人员可以编写他们的业务逻辑,并使用ASP.NET基础结构通过SOAP交付该服务。有关更多信息,请参见使用托管代码进行XMLWebservices编程简介。1.1SQLServer2005简介2.3.1企业级数据管理在当今的互联世界中,数据和管理数据的系统必须始终为用户可用且能够确保安全,有了SQLServer2005,组织内的用户和IT专家将从减少应用程序宕机时间、提高可伸缩性及性能、更紧密的安全控制中获益。SQLServer2005也包括了很多新的和改进的功能来帮助企业的IT团队更有效率的工作。SQLServer2005包括了几个在企业级数据管理中关键的增强: 易管理 可用性 可伸缩性 安全性-48-
湖南文理学院本科毕业设计(论文)第2章相关技术简介2.3.2开发者的能力SQLServer2005包含了多个能显著提高开发者能力的新技术。从支持.NETFramework到和VisualStudio的紧密集成,这些新特性使开发人员能够以更低的成本,更容易地创建安全、强大的数据库应用程序。SQLServer2005提供了一个端到端的数据库开发环境,使开发人员能够更有效的利用其已有的开发技能。本机XML功能也使开发人员能够创建运行在不同平台或设备上的新型应用程序。 开发人员能力的增强包括: 扩展的语言支持 改进的开发工具 可扩展能力 改进的数据访问 XML和Webservices 应用程序Framework2.3.3查询通知SQLServer2005引入了对SQLServer查询的通知支持。你可以使用这一功能来发送一个命令到SQLServer,并且要求当其后运行的同样命令产生不同的结果时,SQLServer生成一个通知。这一功能是通过从属对象检测到基础数据的改变来实现的。可用通过多种客户端API将命令发送到服务器,如:ADO.NET,OLEDB,OpenDatabaseConnectivity(ODBC),MicrosoftActiveXDataObjects(ADO),或SOAP等,这些命令可能包含一个通知请求的tag。对于被作为请求一部分的被执行的每一条语句,服务器都会为请求中的每一条语句创建一个“通知订阅”。通知通过一个SQLServiceBroker队列传递,应用程序可以轮询,并且无论通知是否可用,都可以使用活动服务,或者阻碍语句的返回。查询通知对于在那些数据库驱动Web站点应用程序中启用结果缓存非常有用。2.3.4MARS多活动结果集(MARS)允许每个连接有超过1个的挂起请求,特别是允许每个连接有超过1个的打开的默认结果集。默认结果集是一种前向的、只读的结果集,采用默认结果集,客户端驱动可以透明的接受数据块(表格数据流buffer大小的数据块)以满足应用程序的要求,而无需在服务器往返(就像使用服务器游标)。应用程序可用使用一种简单的一次一行的编程方法而不会有性能上的损失。多活动结果集消除了这一当前的限制:一个打开的默认结果集将阻止发送新的请求给服务器,直到整个结果集关闭为止。1.1本章小结本章首先对VisualStudio技术进行了介绍,包括VisualStudio技术的基本功能、应用范围。然后介绍了SQLServer2005,说明了SQLServer2005的概念和优点;-48-
湖南文理学院本科毕业设计(论文)第2章相关技术简介介绍了ASP.NET:ASP.NET建立在.NETFramework的编程类的基础上,为Web应用程序模型提供了一组可简化Web应用程序生成的控件和基础结构,使用XMLWebServices功,ASP.NET开发人员可以编写他们的业务逻辑,并使用ASP.NET基础结构通过SOAP交付该服务。SQLServer2005引入了对SQLServer查询的通知支持。-48-
湖南文理学院本科毕业设计(论文)第3章需求分析第1章需求分析需求分析就是描述系统的需求,通过定义系统中的关键类来建立模型。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。需求分析是系统开发设计的第一步。不断地调查与研究,了解组织结构的状况,了解部门的业务流程等系统需求,对于设计好概念模型是非常重要的。在需求分析中,应对现实世界要处理的现象进行详细地调查;在确定系统功能中,收集支持系统功能目标的数据及分析数据之间的关系和处理流程。可以说需求分析的质量直接影响到系统设计的成败。同时需求分析工作量很大,所涉及的业务和人、数据、信息都非常多。1.1系统实现目标为了提高仓库工作效率我们针对原材料库存管理的实际工作,经过了反复地论证,最终确定了仓库管理信息系统的设计方案。1.功能需求(1)系统功能包括 :产品入出库登记、确认入出库信息、删除库内信息、产品分类管理、数据警告。(2)系统管理员功能:查询库内信息。(3)用户功能包括:查询库内信息、查询出库信息、查询入库信息。2.用户需求根据用户需求,该系统应该实现以下功能:(1)进、出库管理。对进、出库信息进行记录。(2)查询功能。仓库管理对查询要求高,通过主菜单记录当前操作用户的用户编号,保证了对进、出库信息录入负责人的确认。(3)应用计算机管理后,由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。(4)应用计算机管理后,许多重复性的工作,都可由计算机去执行,从而使管理人员从事务性工作解脱出来,真正变为从事一些信息的分析,判断,决策等创造性的工作。1.2系统运行环境为了充分使用物流企业的现有软硬件资源,在保障物流信息系统稳定、高效运行的前提下,达到降低成本的目的。根据系统需求,设定了物流信息系统的运行环境。-48-
湖南文理学院本科毕业设计(论文)第3章需求分析网络环境:服务器和操作主机都需要采用Internet,车辆终端通过GPRS-Internet网关最终连接到Internet。硬件环境:系统配置:处理器(CPU):英特尔Pentium(奔腾)43.00GHz主板:1536MB(金泰克DDR2667MHz/威刚DDR2667MHz)内存:1536MB(金泰克DDR2667MHz/威刚DDR2667MHz)硬盘:希捷ST3250310AS(250GB)显卡:ATIRadeonX300/X550/X1050Series(RV370)(128MB)1.1系统的开发环境1开发工具:MicrosoftVisualStudio20052数据库:MicrosoftSQLServer20051.2功能性需求描述为了提高仓库工作效率针对原材料库存管理的实际工作,最终确定了仓库管理信息系统的设计方案。库存管理业务流程图如图3.4所示-48-
湖南文理学院本科毕业设计(论文)第3章需求分析图3.4工资管理系统用例图1.1.1处理对象用例标识:1.0参与者:管理人员简要说明:此用例中操作者可能为管理人员或者发货人。操作者向系统提供货物编号,系统以列表的方式显示货物的当前状态以及其他基本信息。基本事件流:(1)操作者提供货物编号进行查询。(2)系统进行查询,显示当前货物状态信息。1.1.2处理功能及需求界面友好,操作方便:全中文界面,界面友好,而且操作的交互方式多采用键盘操作以提高操作的速度。-48-
湖南文理学院本科毕业设计(论文)第3章需求分析功能的集中使用:以往的系统,往往功能分散,相关的功能不能集中进行使用,这给用户的实际使用带来了很大的不便。为此,在设计中应进尽可能地将一项工作中可能涉及的相关操作和可能查看的相关数据安排在同一的操作界面中,这样,用户便不需要反复地切换操作界面来修改哪怕是最微不足道的相关数据,这在一定程度上也简化了操作的流程,同时使操作更加灵活。1.1.1适应性和透明性适应性:应该明确的是,实际操作人员对计算机的了解程度和实际的操作能力各不相同,因此软件应具有一定的适应能力。一方面要保证计算机的初级操作人员在经过短期的培训之后能够很好的胜任基本的操作要求,另一方面还要能够满足计算机的熟练人员对操作的灵活性方面的较高层次上的要求。透明性:在系统设计中,应充分利用计算机在处理数据方面的能力,从而尽可能减轻操作人员的工作,实现一定意义上的透明操作,即用户无须知道模块功能实现的具体过程,只需要设置一定的操作选项,计算机即可按照用户的要求得到所需要的处理结果,具体的操作细节对用户是“透明”的。采用这样的设计一方面可减轻使用者的操作复杂性,另一方面还可使操作折兑数据处理的针对性更强,从而提高了工作的效率1.2非功能性需求描述非功能性需求在整个系统中占有非常重要的位置,对系统的非功能性需求的满足是系统成功的基础,下面列出本系统的非功能性需求:(1)系统能够长时间的持续工作。对于企业应用级的系统来说,软件的稳定性与正确性一样重要。考虑到本系统的实际情况,服务器端的软件必须能够在24*7小时内不间断地稳定运行。(2)客户端信息更新更新等待时间不能大于5秒。客户端对系统的响应是有时间限制的,一般的查询等待时间不能超过2秒,地图数据更新不能超过5秒。1.3逻辑处理对数据进行逻辑处理,如图3.6所示处理编号处理功能处理过程-48-
湖南文理学院本科毕业设计(论文)第3章需求分析01判断员工查询涉及的功能模块员工信息模块、工资信息模块、部门类别信息模块、奖金信息模块、罚款信息模块、管理员模块:先确定查询所涉及的功能模块;然后,根据要查询的内容,确定查询数据流向;最后显示查询结果02判断工资修改要涉及的模块,同时把相应的修改数据传到相应的模块之中员工信息模块、工资信息模块、部门类别信息模块、奖金信息模块、罚款信息模块、管理员模块:先确定更新所涉及的功能模块;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。图3.6逻辑处理功能1.1本章小结本章首先介绍了系统的实现目标、运行环境和开发环境。然后通过用例分析的方式获取和分析了系统的功能性需求,对需求进行了补充,提出了系统的非功能性需求。从而对系统的整体需求有了完整的了解。最后根据对需求分析中的专有名词的解释,得出了系统术语表。从本章的需求分析中可以得出,系统的功能性需求相对来说比较易于实现,而非功能性需求比较严格。对于非功能性需求影响最大的就是系统的架构,所以在设计和实现系统时,要在对系统的架构给予充分重视的前提下,实现功能性需求。第2章-48-
湖南文理学院本科毕业设计(论文)第4章系统设计第1章系统设计1.1系统设计原则系统设计是管理信息系统开发过程的第二个阶段。在这一阶段中我们将根据系统调查与分析阶段的结果,进行新系统的设计。系统设计包括两个方面的工作:首先是系统总体结构的设计,即把系统的功能分解成许多基本的功能模块,确定它们之间的联系,规定它们的功能和处理流程;其次是具体的物理设计,即对实现系统的各项功能,选择具体的技术手段和处理方式。因此,如果说系统研制人员在系统调查与分析阶段的任务是在逻辑上弄清楚系统“做什么”的话,在系统设计阶段的任务则是在物理上确定系统“如何去做”。每个系统都有它自己的设计原则。该的主要设计原则有:简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个系统来说是非常重要的。针对性:该平台设计是人事管理系统的定向开发设计,所以具有专业突出和很强的针对性。实用性:该平台能完成企业人事管理信息和管理员管理系统,具有良好的实用性1.2系统总体设计系统设计是信息系统开发过程中的另一个重要的阶段。这一阶段中我们将要根据前一阶段系统分析的结果,在已经获得的批准的系统分析报告的基础上,进行新系统设计。它将系统分析阶段建立的新系统逻辑模型转化为系统的结构模型。系统设计阶段的主要目的是将系统分析阶段提出的反映了用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案。而系统的总体结构设计是系统设计阶段的主要活动之一,是为了实现系统总体功能,提高系统的各项指标。这一阶段的主要任务就是将整个系统合理的划分为各个功能模块,正确处理模块之间与模块内部的联系以及他们之间的调用关系和数据联系,定义各模块的内部结构等等。-48-
湖南文理学院本科毕业设计(论文)第4章系统设计仓库管理系统仓库管理模块仓库基本信息采购入库、出库库存明细库存汇总-48-
湖南文理学院本科毕业设计(论文)第4章系统设计图4.1系统功能结构图1.1数据库设计4.31数据库设计概念信息系统的基础和核心就是数据库,它在系统中占得地位可想而知,数据库设计的好坏直接关系到信息系统开发的成败与失败。在信息系统设计中,数据库设计是指根据业务需求、信息需求和处理需求,对信息系统中的数据库结构、数据操作和数据一致性进行约束过程。数据库设计一般包括需求分析、数据分析、概念设计、逻辑设计和物理设计等步骤。数据库设计一般分为两种方法:自顶向下与自底向上,但通常是把两种方法综合起来使用。数据库它既包含了数据内容本身,又能反映出数据之间的联系。在数据库中,是用数据模型来抽象表示处理实现世界中的数据和信息的。根据模型应用的不同情况,可以将数据模型分成两个层次:概念模型和具体数据模型。用户和数据库设计人员之间运用概念模型进行交流。-48-
湖南文理学院本科毕业设计(论文)第4章系统设计数据模型是由概念模型转化而来的,是根据计算机系统的观点来对数据进行建模的。数据库设计的六个阶段:用户需求分析阶段概念结构设计阶段逻辑结构设计阶段数据库物理结构设计阶段数据库实施阶段数据库运行和维护阶段数据库设计是在选定的数据库管理系统基础上建立数据库的过程。使用原型法开发系统,该过程主要包括:概念结构设计、逻辑结构设计和物理结构设计,与上面进行的系统分析和设计的阶段相对应。4.3.2数据库概念结构设计数据库结构的设计包括逻辑设计、物理设计,其中逻辑设计是把概念模式转化为与选用的具体机器上DBMS所支持的数据模型相符合的逻辑结构,而物理设计主要是设计DB在物理设备上的存储结构与存取方法等,数据库结构的设计在生存期中的地位很重要。概念设计是建立在数据分析的基础之上,自底向上的建立整个系统的数据库概念结构,即首先从用户的角度进行设计,然后将所得的视图集成,最后对集成后的结构分析优化得到最终的结果。根据用户需求来设计数据库的概念模型。我们所建立概念模型其实是从用户角度看到的数据库,因为我们是从用户的角度进行设计的。它可以用E-R模型来表示也可以用3NF关系群来表示。概念设计的主要步骤为:(1)对数据进行抽象化并设计局部概念模式(2)将所有局部概念模式联系起来构成全局概念模式(3)核对并优化E-R图是用来表示数据库概念设计E-R模型的工具,它使用图形来表示实体、属性和联系之间的关系。构成E-R图的基本要素是实体、属性和联系。利用E-R方法进行数据库的概念设计,可以分成三步进行:首先要设计局部E-R模式,然后把各部E-R模式结合成一个全局的E-R模式,最后对全局E-R进行优化,得到最终的E-R模式,即概念模式。通过对渔阳建业库存管理系统的了解,现使用E-R图将系统设计所涵盖的实体以及各个实体之间的关系表现出来。实体,用方块表示,方块内为实体的名称。-48-
湖南文理学院本科毕业设计(论文)第4章系统设计实体的各种属性。用椭圆表示,椭圆内为属性名称。使用线段将其和相应的实体连接起来。实体之间的联系。用菱形表示,菱形内为联系的名称。实体属性实体间的联系图4.2E-R图的符号实体和实体之间的联系较多,比较常见的联系有1:1,N:1,N:M这三种1.货品信息实体图货品信息实体图如图4.3所示:货品货品编号现有数量货品名称类型-48-
湖南文理学院本科毕业设计(论文)第4章系统设计图4.3货品信息实体图2.管理员信息实体图管理员信息实体图如图4.4所示管理员权限名字密码-48-
湖南文理学院本科毕业设计(论文)第4章系统设计图4.4管理员信息实体图3.仓库信息实体图仓库信息实体图如图4.5所示仓库地址名称所剩容量仓库规则备注-48-
湖南文理学院本科毕业设计(论文)第4章系统设计图4.5仓库信息实体图4.入库信息实体图入库信息实体图如图4.6所示入库信息编号货品编号仓库编号进货日期货品进价数量-48-
湖南文理学院本科毕业设计(论文)第4章系统设计图4.6入库信息实体图5.销售信息实体图出库信息实体图如图4.7所示销售信息编号货品编号仓库编号出货日期数量经手人货品售价计量单位-48-
湖南文理学院本科毕业设计(论文)第4章系统设计图4.7出库信息实体图6.库存信息实体图库存信息实体图如图4.8所示库存信息货品编号货品名称计量单位库存量货品售价-48-
湖南文理学院本科毕业设计(论文)第4章系统设计图4.8库存信息实体图7.总体E-R图总体E-R图如图4.9所示1n货物仓库存放管理员工作管理n11n-48-
湖南文理学院本科毕业设计(论文)第4章系统设计图4.9总体E-R图4.3.3数据库逻辑结构设计根据前文所分析的E-R图以及各实体与实体之间的关系,进行模型化。建立关系数据库模型,如下面的几个表格:1.Product:货品信息表设计,如表4.10-48-
湖南文理学院本科毕业设计(论文)第4章系统设计表4.10货品信息表设计1.Login:登录表设计,如表4.11表4.11登录表设计2.ProStock:商品表设计,如表4.12表4.12商品表设计3.Stock:仓库信息表设计,如表4.13-48-
湖南文理学院本科毕业设计(论文)第4章系统设计表4.13仓库信息表设计1.1输入输出设计输入输出设计在信息系统设计中占据主要地位,因为输入和输出是用户与系统之间沟通的途径,是用户与系统关系最密切的部分,是用户使用系统的方便性及系统的安全可靠性的重要保证。系统设计时,应该先进行输出设计,之后再对输入进行设计,因为输入信息只有根据输出要求才能确定。4.4.1输出设计输出设计是对系统输入数据通过计算机分析处理后的结果通过一定的表现形式,提供用户使用。输出是向用户提供信息处理结果的唯一手段,也是评价一个信息系统的重要依据之一。另一方面,从系统开发的角度来看,输出决定输入,即只有明确了输出,才能最后确定输入,本系统输出大多采用报表的形式。1.仓库基本信息,如图4.14-48-
湖南文理学院本科毕业设计(论文)第4章系统设计图3.14货品信息查询输出界面4.4.2入库设计入库设计是系统对数据输入功能的要求设计,是将事务设计变成可使用的格式,把数据提交到计算机中进行处理活动的一系列活动。输入设计首先要做的是要保证向管理信息系统体统正确的输入设计。在保证输入数据正确和满足需要的前提下,应尽量做到输入方法简单、迅速和使用方便。此系统入库内容是根据输出功能的要求来确定各种输入的数据项;输入方式以键盘人工输入为主;辅助鼠标操作的输入方式。为了实现输入设计的目标,本系统采用了很多的菜单式输入功能。1.货品信息输入界面,如图3.15图3.15货品信息退货入库界面-48-
湖南文理学院本科毕业设计(论文)第4章系统设计图3.16货品信息采购入库界面1.仓库信息出库界面,如图3.173.17仓库信息输出界面1.1本章小结-48-
湖南文理学院本科毕业设计(论文)第4章系统设计本章介绍了系统设计的过程,根据系统设计所提出的三个原则对系统进行总体设计。将系统分为实体层、数据访问层、服务层、Web服务层、客户端子系统、消息队列控制层和Socket控制层。对其中的数据库访问层、服务层、Web服务层的作用和结构进行了描述。考虑到系统的扩展性,重点介绍了系统中消息处理部分的设计,包括消息队列、消息处理流程、以及负责消息发送和接收的Socket控制层的位置和功能等。随后对系统中的发送货物、线路编辑、货物运输和操作权限等模块进行详细设计。最后介绍了系统中的数据库设计。重点介绍的消息处理部分是系统服务器端的核心部分,它提供了Web客户端与车辆终端之间交互的一条通路。考虑到物流企业数据流通方向和消息处理的相似性,此部分是系统中可复用性最强的部分,提升了整个系统的复用性和可扩展性。基于分层概念的设计使得层与层之间只通过接口相互依赖,降低了整个系统的耦合度,提升了系统的可扩展性。-48-
湖南文理学院本科毕业设计(论文)第5章系统实现第1章系统实现根据对系统分析与设计,本章对系统中相关部分的实现情况做了详细的介绍。1.1登录界面实现1.说明:此模块实现系统登录,用户输入用户名、密码和权限后,系统判断是否正确,如果正确,进入主界面,否则,要求重新输入。2.模块处理流程图,如图5.1开始输入账号、密码、权限判断重新输入退出系统结束退出系统NY-48-
湖南文理学院本科毕业设计(论文)第5章系统实现图5.1登录模块处理流程图3登录界面,如图5.2-48-
湖南文理学院本科毕业设计(论文)第5章系统实现图5.2登录界面1.代码设计publicpartialclasslogin:Form{publicstaticstringconnectionString="DataSource=.;InitialCatalog=Qyfx;IntegratedSecurity=True";//M_str_sqlcon="DataSource=.;InitialCatalog=chaoshi;IntegratedSecurity=True";//DateClass.SQLInfData=newQyfx.DateClass.SQL();publiclogin(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){boolP;passPa=newpass();P=Pa.Veri("Login",textBox1.Text,textBox2.Text);if(P){MessageBox.Show("登陆成功!");-48-
湖南文理学院本科毕业设计(论文)第5章系统实现//this.Close();stock_MainFrmmfa=newstock_MainFrm();mfa.Show();}}privatevoidbutton2_Click(objectsender,EventArgse){Application.Exit();}privatevoidlogin_Load(objectsender,EventArgse){}}classpass{publicboolVeri(stringtb_table,stringId,stringPwd){SQLMyClass=newSQL();booljud=false;if(Id!=""&&Pwd!=""){SqlDataReadertemDR=MyClass.getcom("select*from"+tb_table+"whereUserName=""+Id.Trim()+""andPass=""+Pwd.Trim()+""");jud=temDR.Read();if(jud){SQL.Login_Name=Id.Trim();SQL.Login_ID=temDR.GetString(0);SQL.My_con.Close();SQL.My_con.Dispose();}else{MessageBox.Show("用户名或密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);}-48-
湖南文理学院本科毕业设计(论文)第5章系统实现MyClass.con_close();}elseMessageBox.Show("请将登录信息添写完整!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);returnjud;}}1.1主界面的实现1.1.1说明:此模块实现各分模块的进入。1.1.2系统主界面,如图5.3图5.3系统主界面1.1.3代码设计publicpartialclassstock_MainFrm:Form{publicstock_MainFrm(){InitializeComponent();}privatevoidmnu_Stock_Stock_Click(objectsender,EventArgse)-48-
湖南文理学院本科毕业设计(论文)第5章系统实现{stock_Stockfrm=newstock_Stock();frm.MdiParent=this;frm.Show();}privatevoidstock_MainFrm_Load(objectsender,EventArgse){//loginfrm=newlogin();//frm.MdiParent=this;//frm.Show();}privatevoidmnu_Stock_PurInStock_Click(objectsender,EventArgse){stock_PurInStockfrm=newstock_PurInStock();frm.MdiParent=this;frm.Show();}privatevoidmnu_Stock_PurOutStock_Click(objectsender,EventArgse){stock_PurOutStockfrm=newstock_PurOutStock();frm.MdiParent=this;frm.Show();}privatevoidmnu_Stock_SellOutStock_Click(objectsender,EventArgse){stock_SellOutStockfrm=newstock_SellOutStock();frm.MdiParent=this;frm.Show();}privatevoidmnu_Stock_SellInStock_Click(objectsender,EventArgse){stock_SellInStockfrm=newstock_SellInStock();frm.MdiParent=this;-48-
湖南文理学院本科毕业设计(论文)第5章系统实现frm.Show();}privatevoidmnu_Stock_Details_Click(objectsender,EventArgse){stock_StockHistoryDetailsfrm=newstock_StockHistoryDetails();frm.MdiParent=this;frm.Show();}privatevoidmnu_StockStatistic_Click(objectsender,EventArgse){stock_StockHistoryStatisticfrm=newstock_StockHistoryStatistic();frm.MdiParent=this;frm.Show();}privatevoidtoolStripButton2_Click(objectsender,EventArgse){stock_PurInStockfrm=newstock_PurInStock();frm.MdiParent=this;frm.Show();}privatevoidtoolStripButton1_Click(objectsender,EventArgse){stock_SellOutStockfrm=newstock_SellOutStock();frm.MdiParent=this;frm.Show();}}1.1各分界面的实现1.1.1说明材料、用户、仓库信息的增、删、改等的实现-48-
湖南文理学院本科毕业设计(论文)第5章系统实现1.1.1仓库基本信息管理及代码,如图5.4图5.4仓库基本信息管理publicpartialclassstock_Stock:Form{publicstock_Stock(){InitializeComponent();}privateLinkDataBaselink=newLinkDataBase();privatestringsendStrSQL="selectStockIDas编号,StockNameas仓库名称,StockAddressas仓库地址,StockManagerIDas库管员编号,"+"StockManageras库管员,StockManagerTELas联系电话,Memoas备注fromStock";privateDataTableStock=newDataTable();DataTabletabel=newDataTable();privateintflag=-1;//用来标记选择了增加、删除、编辑中的哪个按钮.flag=1增加、flag=2表示删除、flag=3表示编辑privatevoidstock_Stock_Load(objectsender,EventArgse){-48-
湖南文理学院本科毕业设计(论文)第5章系统实现Stock=this.link.SelectDataBase(sendStrSQL);foreach(DataColumndainStock.Columns)cmbZd.Items.Add(da.ColumnName);this.dgvStock.DataSource=Stock;this.dgvStock.Select();introw=dgvStock.CurrentCell.RowIndex;DataGridViewCellStylestyle=newDataGridViewCellStyle();style.ForeColor=Color.Brown;style.BackColor=Color.Beige;dgvStock.AlternatingRowsDefaultCellStyle=style;dgvStock.SelectionMode=DataGridViewSelectionMode.FullRowSelect;try{bindControls(Stock,row);}catch{MessageBox.Show("出错信息");}}//自定义绑定控件函数privatevoidbindControls(DataTabletab,introw){txtStockName.Text=tab.Rows[row][1].ToString().Trim();txtStockAddress.Text=tab.Rows[row][2].ToString().Trim();cmbStockManagerNum.Text=tab.Rows[row][3].ToString().Trim();txtStockManager.Text=tab.Rows[row][4].ToString().Trim();txtStockManagerTel.Text=tab.Rows[row][5].ToString().Trim();txtStockMemo.Text=tab.Rows[row][6].ToString().Trim();}//自定义控制按纽可用性函数privatevoidchangeEnabled(){btnSave.Enabled=!btnSave.Enabled;btnCancel.Enabled=!btnCancel.Enabled;btnDelete.Enabled=!btnDelete.Enabled;btnEdit.Enabled=!btnEdit.Enabled;btnAdd.Enabled=!btnAdd.Enabled;-48-
湖南文理学院本科毕业设计(论文)第5章系统实现}//自定义表格可用函数publicvoidsetDataGridReadOnly(){this.dgvStock.ReadOnly=true;}privatevoidcmbZd_SelectedIndexChanged(objectsender,EventArgse){cmbKey.DataSource=Stock;cmbKey.DisplayMember=cmbZd.Text.Trim();}privatevoidbtnQuit_Click(objectsender,EventArgse){this.Close();}privatevoidbtnQuery_Click(objectsender,EventArgse){try{stringstrQuery="selectStockID,StockName,StockAddress,StockManagerID,"+"StockManager,StockManagerTEL,MemofromStock";tabel=this.link.SelectDataBase(strQuery);stringstr=sendStrSQL+"where"+tabel.Columns[cmbZd.SelectedIndex].ColumnName+"=""+cmbKey.Text.ToString().Trim()+""";Stock=this.link.SelectDataBase(str);dgvStock.DataSource=Stock;dgvStock.Refresh();}catch{MessageBox.Show("错误信息");-48-
湖南文理学院本科毕业设计(论文)第5章系统实现}}privatevoidbtnAll_Click(objectsender,EventArgse){Stock=this.link.SelectDataBase(sendStrSQL);dgvStock.DataSource=Stock;dgvStock.Refresh();}privatevoidbtnAdd_Click(objectsender,EventArgse){DataTabletr=newDataTable();stringstr="select*fromWorkerwhereWorkerSort="仓库"";txtStockName.Text="";txtStockAddress.Text="";txtStockManager.Text="";txtStockManagerTel.Text="";txtStockMemo.Text="";cmbStockManagerNum.Text="";//将仓库编号自动从职工表中提取 tr=this.link.SelectDataBase(str);cmbStockManagerNum.DataSource=tr;cmbStockManagerNum.DisplayMember="WorkerID";this.changeEnabled();flag=1;this.txtStockName.Focus();}privatevoidcmbStockManagerNum_SelectionChangeCommitted(objectsender,EventArgse){try{-48-
湖南文理学院本科毕业设计(论文)第5章系统实现stringstr1=cmbStockManagerNum.Text.ToString();stringstr="selectWorkerNamefromWorkerwhereWorkerID="+str1;DataTabletr=newDataTable();tr=this.link.SelectDataBase(str);txtStockManager.Text=tr.Rows[0][0].ToString().Trim();}catch{MessageBox.Show("错误信息");}}privatevoidbtnEdit_Click(objectsender,EventArgse){this.changeEnabled();flag=2;}privatevoidbtnDelete_Click(objectsender,EventArgse){this.changeEnabled();flag=3;}privatevoidbtnSave_Click(objectsender,EventArgse){stringstrUpdate;stringrow=dgvStock.CurrentCell.RowIndex.ToString().Trim();this.changeEnabled();if(flag==1){strUpdate="InsertintoStock(StockName,StockAddress,StockManagerID,StockManager,StockManagerTEL,Memo)"+"values(""+txtStockName.Text.Trim()+"",""+txtStockAddress.Text.Trim()+"","+cmbStockManagerNum.Text+",""+txtStockManager.Text.Trim()+"",""+txtStockManagerTel.Text.Trim()+"",""+txtStockMemo.Text.Trim()+"")";this.link.UpdateDataBase(strUpdate);-48-
湖南文理学院本科毕业设计(论文)第5章系统实现dgvStock.DataSource=Stock;dgvStock.Refresh();}if(flag==2){stringID=Stock.Rows[this.dgvStock.CurrentCell.RowIndex][0].ToString().Trim();strUpdate="updateStocksetStockName=""+txtStockName.Text.Trim()+"",StockAddress=""+txtStockAddress.Text.Trim()+"",StockManagerID="+cmbStockManagerNum.Text.ToString().Trim()+",StockManager=""+txtStockManager.Text.Trim()+"",StockManagerTEL=""+txtStockManagerTel.Text.Trim()+"",Memo=""+txtStockMemo.Text.Trim()+""whereStockID="+ID;this.link.UpdateDataBase(strUpdate);dgvStock.DataSource=Stock;dgvStock.Refresh();}if(flag==3){stringID=Stock.Rows[this.dgvStock.CurrentCell.RowIndex][0].ToString().Trim();strUpdate="DeletefromStockWhereStockID="+ID;this.link.UpdateDataBase(strUpdate);dgvStock.DataSource=Stock;dgvStock.Refresh();}flag=-1;}privatevoidbtnCancel_Click(objectsender,EventArgse){this.changeEnabled();this.bindControls(Stock,dgvStock.CurrentCell.RowIndex);if(flag==1)-48-
湖南文理学院本科毕业设计(论文)第5章系统实现for(inti=0;i