Hunan University of Arts and Science
成教本科生毕业论文
GRADUATE DESIGN (THESIS)
设计(论文)题目 基于C# 的仓库管理系统的设计与实现
学 生 :丁超
专 业 :计算机软件 指导老师 : 刘峥
2013 年 4 月 18 日
-I-
湖南文理学院本科毕业设计(论文) 毕业设计(论文)任务书
毕业设计(论文)任务书
毕业设计(论文)题目: 基于C# 的仓库管理系统的设计与实现 设计(论文)的基本内容: 随着我国改革开放步伐的不断深入,经济高速的发展,企业要想生存、发展,要想在激烈的市场竞争中处于不败之地,没有现代化的管理是万万不可的,仓库管理的整体自动化、信息化则是其中极其重要的组成部分。为了加快仓库管理自动化的步伐,,提高仓库的管理业务效率,建立仓库管理信息系统已变得十分重要。设计基于C#的仓库管理系统总体结构,实现企业仓库货物的采购管理、销售管理、库存管理、货物出入库管理等功能,并对所实现的系统进行测试和评价。 毕业设计(论文)专题部分: 题目: 仓库管理系统设计与实现 设计或论文专题的基本内容: 设计基于C#的仓库管理系统总体结构,实现企业仓库货物的采购管理、销售管理、库存管理、货物出入库管理等功能。 学生接受毕业设计(论文)题目日期 第3周 指导教师签字: 2013年4月18日 -II-
湖南文理学院本科毕业设计(论文) 摘 要
工资管理系统的设计与实现
摘 要
对企业而言,人力资源是企业最宝贵的资源,也是企业的“生命线”。而工资管理又是人力资源管理的重中之重。实行电子化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。早期工资管理多采取纸质材料和具有较强的时间限制。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。企业工资管理系统是典型的信息管理系统,前台程序开发工具采用微软的Vs2010,后台数据库采用SQL数据库。运行结果证明,本企业工资管理系统极大提高了工作效率,节省了人力和物力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志。
关键词:管理信息系统,数据库,工资管理,实体关系图(E-R图),数据字典,数据流图。
Design and Implementation of Personnal Salary
-III-
湖南文理学院本科毕业设计(论文) 目 录
Management System
Abstract
Speaking of the enterprise, the human resources is the enterprise is the most precious resource and also is enterprise's lifeline. And salary management is the top priority of the human resource management. Implement electronic salary management, can let the human resources management personnel from heavy trivial paperwork to liberation, to complete the more important work. With the enterprise personnel, the wage increase the number of enterprise management is also becoming more and more complicated. Salary management not only involves to the enterprise labor personnel management, enterprise financial management is also the important component. Early and salary management took paper materials and has strong time limit. Based on the above reasons, enterprise salary management system using computer security save, fast calculation, comprehensive statistics, realize the systematic management of wages, standardization, and automation. Enterprise salary management system is the typical information management system (MIS), front desk program using Microsoft's VB6 development tools, the backend database Access database. The operation results prove, this enterprise salary management system greatly improve work efficiency and save manpower and material resources, finally meet enterprise financial management, staff salary needs, but also as a symbol of modern enterprise management.
Key words:Customer Relationship Management; System Design; Object-Oriented
-IV-
湖南文理学院本科毕业设计(论文) 目 录
目 录
毕业设计(论文)任务书 ..................................................................................................................... II 摘 要 ................................................................................................................................................... III ABSTRACT ......................................................................................................................................... IV 目 录 ..................................................................................................................................................... V 第1章 绪 论 ........................................................................................................................................ 1 1.1 课题研究的背景和来源 ............................................................................................................... 1 1.2 课题研究成果应用的实际意义 ................................................................................................... 1 1.3 实施步骤 ....................................................................................................................................... 2 第2章 相关技术简介 ............................................................................................................................ 3 2.1 系统开发工具 ............................................................................................................................... 3 2.2 VISUAL STUDIO 介绍 ..................................................................................................................... 3 2.2.1 Visual Studio功能 .................................................................................................................. 3 2.2.2 Visual Studio主要部分 .......................................................................................................... 3 2.3 SQL SERVER 2005 简介 ................................................................................................................. 4 本章小结 ............................................................................................................................................. 5 第3章 需求分析 .................................................................................................................................... 7 3.1 系统实现目标 ............................................................................................................................... 7 3.2 系统运行环境 ............................................................................................................................... 7 3.3 系统的开发环境 ........................................................................................................................... 8 3.4 功能性需求描述 ........................................................................................................................... 8 3.4.1 处理对象............................................................................................................................... 9 3.4.2 处理功能及需求 ................................................................................................................... 9 3.4.3 适应性和透明性 ................................................................................................................. 10 3.5 非功能性需求描述 ..................................................................................................................... 10 3.6 逻辑处理 ..................................................................................................................................... 10 3.7 本章小结 ..................................................................................................................................... 11 第4章 系统设计 .................................................................................................................................. 12 4.1 系统设计原则 ............................................................................................................................. 12 4.2 系统总体设计 ............................................................................................................................. 12 4.3 数据库设计 ................................................................................................................................. 13 4.4 输入输出设计 ............................................................................................................................. 20
4.4.1输出设计............................................................................................................................ 20 4.4.2入库设计............................................................................................................................ 21
-V-
湖南文理学院本科毕业设计(论文) 目 录
4.5 本章小结 ..................................................................................................................................... 23 第5章 系统实现 .................................................................................................................................. 24 5.1 登录界面实现 ............................................................................................................................. 24 5.2 主界面的实现 ............................................................................................................................. 27 5.2.1 说明:................................................................................................................................. 27 5.2.2 系统主界面,如图5.3 ...................................................................................................... 27 5.2.3 代码设计............................................................................................................................. 27 5.3 各分界面的实现 ......................................................................................................................... 29 5.3.1 说明 .................................................................................................................................... 29
材料、用户、仓库信息的增、删、改等的实现 ....................................................................... 29
5.3.2 仓库基本信息管理及代码,如图5.4 ............................................................................... 29 5.4 本章小结 ..................................................................................................................................... 40 第6章 结 论 ...................................................................................................................................... 41 6.1 工作总结 ..................................................................................................................................... 41 参考文献 ................................................................................................................................................ 42 致 谢 .................................................................................................................................................... 43
-VI-
湖南文理学院本科毕业设计(论文) 目 录
第1章 绪 论
1.1 课题研究的背景和来源
现代企业的物流日趋复杂,高效的物流系统要求有效地对企业的库存进行管理。目前的仓库管理系统一般技术比较落后、性能较差且很不完备,人工干涉多,操作使用不方便,有的还故障率高而不实用。现阶段仓库管理的特点是信息处理量特别大,所管理的物资设备种类繁多,而且入库单、出库单、需求单等单据的发生量特别大,关联信息多,查询和统计的方式各不相同。因此在管理上实现起来有一定的困难。
仓储管理部门越来越需要一套低成本、高性能、方便使用、功能完善的综合仓库管理信息系统。而现在计算机技术、网络技术、的成熟与发展,为仓储管理自动化提供了强有力的技术支持。课题以某仓库应用背景,通过研究当前仓库系统的管理现状、存在问题以及现实需求,设计一个针对仓库管理工作的管理信息系统。该系统能够提供较为完备的功能,可以全面管理仓库中储存的商品和货物,缩短了库存信息流转时间,使企业的物料管理层次分明,井然有序,为采购、销售和生产提供依据,对于提高企业的经营效率、加快仓库管理的自动化具有重要的意义。
随着我国改革开放步伐的不断深入,经济高速的发展,企业要想生存、发展,要想在激烈的市场竞争中处于不败之地,没有现代化的管理是万万不可的,仓库管理的整体自动化、信息化则是其中极其重要的组成部分。为了加快仓库管理自动化的步伐,,提高仓库的管理业务效率,建立仓库管理信息系统已变得十分重要。
1.2 课题研究成果应用的实际意义
信息技术的日新月异,给仓库管理带来巨大的影响。为了加快仓库管理自动化的步伐,提高仓库的管理业务处理效率,建立仓库管理系统,尽可能地减少仓库管理的重复性和低效性,已变得十分必要。
计算机应用技术的发展,计算机硬件性能的不断改进,为仓库管理系统的开发提供了技术支持和经济可行性。管理系统的应用,可以将工作者从烦杂的劳动中解脱出来,极大提高工作效率,有着较好的营运可行性。
-1-
湖南文理学院本科毕业设计(论文) 目 录
课题以某仓库应用背景,通过研究当前仓库系统的管理现状、存在问题以及现实需求,设计一个针对仓库管理工作的管理信息系统。该系统能够提供较为完备的功能,对于提高工作效率、加快仓库管理的自动化具有较为重要的意义。
课题的目的主要有以下三个:首先学会按照怎样的步骤去开发一个管理信息系统,这是最主要的目的;其次,通过开发数据库相关的应用程序,期望对课堂上讲解的理论知识有更加深刻的理解;最后,通过对毕业论文的撰写过程,对语言文字组织能力、表述能力以及层次分析的能力也进行锻炼。
1.3 实施步骤
仓库管理系统是针对企业仓库的商品货物的经常出入库和查询统计等方面工作而开发的管理软件。仓库管理系统是用于完成众多仓库管理业务所面临的日常工作。
系统的实施遵循软件工程的方法,通常一个管理信息系统的发布需要经过系统分析、系统设计、系统实施三个阶段。 1.系统规划阶段
信息系统规划的主要任务和内容包括三个主要的方面:目标设定、环境分析(技术环境、管理环境、社会环境)、战略选择。 2.系统分析阶段
主要包括组织结构分析、业务流程分析、数据流程分析等。 3系统设计阶段
主要包括总体结构设计(划分子系统、功能结构图设计、处理流程设计、代码详细设计、物理系统配置方案设计、数据文件和数据库设计)和具体物理模型的设计(数据库存设计、输入输出设计、编写程序模块说明书) 4系统实现阶段
系统实现是继系统规划、系统分析、系统设计之后的又一个重要阶段。它将在系统设计的基础上,将系统审计方案的结果具体的在计算机系统上进行实现。主要任务可以概括为:系统环境的建立、程序设计、数据的录入、系统人员的培训、系统调试与转换、文档的建立与完善等。 5系统运行维护阶段
主要是程序的维护、数据文件的维护、代码的维护、机器设备的维护、机器和人员的变动等。
-2-
湖南文理学院本科毕业设计(论文) 第2章 相关技术简介
第2章 相关技术简介
2.1 系统开发工具
本系统采用 Visual Studio 作为前端开发工具,sql server 2005 作为后台数据库。
2.2 Visual Studio 介绍
2.2.1 Visual Studio功能
Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C++、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。
功能如下:
创建满足关键性要求的多层次的智能客户端、Web、移动或基于Microsoft Office的应用程序。使用Visual Studio 2005, 专业开发人员能够: 使用改进后的可视化设计工具、编程语言和代码编辑器,享受高效率的开发环境
在统一的开发环境中,开发并调试多层次的服务器应用程序 使用集成的可视化数据库设计和报告工具,创建SQL Server 2005解决方案
使用Visual Studio SDK创建可以扩展Visual Studio IDE的工具 Microsoft为单独工作或在小型团队中的专业开发人员提供了两种选择,Visual Studio 2005 Professional Edition和用于Microsoft Office系统的Visual Studio 2005工具。每种版本都在标准版的特性上进行了扩展,包括用于远程服务程序开发和调试、SQL Server2005开发的工具,以及完整的、没有限制的开发环境。每种产品都可以单独购买或打包定购。
专业开发人员喜欢自由的使用.NET Framework 2.0,它是一种稳健的、功能齐备的开发环境,支持创建扩展Visual Studio集成开发环境的工具。
2.2.2 Visual Studio主要部分
公共语言运行库:运行库实际上在组件的运行时和开发时操作中都起到很大的作用,尽管名称中没有体现这个意思。在组件运行时,运行库除了
-3-
湖南文理学院本科毕业设计(论文) 第2章 相关技术简介
负责满足此组件在其他组件上可能具有的依赖项外,还负责管理内存分配、启动和停止线程和进程,以及强制执行安全策略。在开发时,运行库的作用稍有变化;由于做了大量的自动处理工作(如内存管理),运行库使开发人员的操作非常简单,尤其是与今天的 COM 相比。特别是反射等功能显著减少了开发人员为将业务逻辑转变为可重用组件而必须编写的代码量。统一编程类:该框架为开发人员提供了统一的、面向对象的、分层的和可扩展的类库集 (API)。目前,C++ 开发人员使用 Microsoft 基础类,而 Java 开发人员使用 Windows 基础类。该框架统一了这些完全不同的模型,还为 Visual Basic 和 JScript 程序员提供了对类库的访问。通过创建跨所有编程语言的公共 API 集,公共语言运行库使得跨语言继承、错误处理和调试成为可能。从 JScript 到 C++ 的所有编程语言具有对框架的相似访问,开发人员可以自由选择它们要使用的语言。
ASP.NET:ASP.NET 建立在 .NET Framework 的编程类的基础上,为 Web 应用程序模型提供了一组可简化 Web 应用程序生成的控件和基础结构。ASP.NET 包括可用于封装通用 HTML 用户界面元素(如文本框、按钮和列表框)的一组控件。但这些控件在 Web 服务器上运行,并以 HTML 的形式将其用户界面呈现在浏览器中。在服务器上,这些控件公布面向对象的编程模型,该模型为 Web 开发人员提供面向对象编程的丰富功能。ASP.NET 还提供基础结构服务,如状态管理和进程回收,从而可以进一步减少开发人员必须编写的代码数量,并提高应用程序的可靠性。另外,ASP.NET 使用这些同样的概念使开发人员能够以服务的形式交付软件。使用 XML Web Services 功,ASP.NET 开发人员可以编写他们的业务逻辑,并使用 ASP.NET 基础结构通过 SOAP 交付该服务。有关更多信息,请参见使用托管代码进行 XML Web services 编程简介。
2.3 SQL Server 2005 简介
2.3.1 企业级数据管理
在当今的互联世界中,数据和管理数据的系统必须始终为用户可用且能够确保安全,有了SQL Server 2005,组织内的用户和IT专家将从减少应用程序宕机时间、提高可伸缩性及性能、更紧密的安全控制中获益。SQL Server 2005 也包括了很多新的和改进的功能来帮助企业的IT团队更有效率的工作。SQL Server 2005 包括了几个在企业级数据管理中关键的增强: 易管理 可用性 可伸缩性 安全性
-4-
湖南文理学院本科毕业设计(论文) 第2章 相关技术简介
2.3.2 开发者的能力
SQL Server 2005 包含了多个能显著提高开发者能力的新技术。从支持.NET Framework 到和Visual Studio的紧密集成,这些新特性使开发人员能够以更低的成本,更容易地创建安全、强大的数据库应用程序。SQL Server 2005 提供了一个端到端的数据库开发环境,使开发人员能够更有效的利用其已有的开发技能。本机XML功能也使开发人员能够创建运行在不同平台或设备上的新型应用程序。 开发人员能力的增强包括: 扩展的语言支持 改进的开发工具 可扩展能力 改进的数据访问 XML 和 Web services 应用程序Framework
2.3.3 查询通知
SQL Server 2005引入了对SQL Server 查询的通知支持。你可以使用这一功能来发送一个命令到SQL Server,并且要求当其后运行的同样命令产生不同的结果时,SQL Server生成一个通知。这一功能是通过从属对象检测到基础数据的改变来实现的。可用通过多种客户端API将命令发送到服务器,如:ADO.NET, OLE DB, Open Database Connectivity (ODBC), Microsoft ActiveX Data Objects (ADO), 或 SOAP等,这些命令可能包含一个通知请求的tag。对于被作为请求一部分的被执行的每一条语句,服务器都会为请求中的每一条语句创建一个“通知订阅”。通知通过一个SQL Service Broker 队列传递,应用程序可以轮询,并且无论通知是否可用,都可以使用活动服务,或者阻碍语句的返回。 查询通知对于在那些数据库驱动Web 站点应用程序中启用结果缓存非常有用。
2.3.4 MARS
多活动结果集 (MARS)允许每个连接有超过1个的挂起请求,特别是允许每个连接有超过1个的打开的默认结果集。默认结果集是一种前向的、只读的结果集,采用默认结果集,客户端驱动可以透明的接受数据块(表格数据流buffer大小的数据块)以满足应用程序的要求,而无需在服务器往返(就像使用服务器游标)。 应用程序可用使用一种简单的一次一行的编程方法而不会有性能上的损失。多活动结果集消除了这一当前的限制:一个打开的默认结果集将阻止发送新的请求给服务器,直到整个结果集关闭为止。
2.4 本章小结
本章首先对Visual Studio技术进行了介绍,包括Visual Studio技术的基本功能、应用范围。然后介绍了SQL Server 2005,说明了SQL Server 2005的概念和
-5-
湖南文理学院本科毕业设计(论文) 第2章 相关技术简介
优点;介绍了ASP.NET:ASP.NET 建立在 .NET Framework 的编程类的基础上,为 Web 应用程序模型提供了一组可简化 Web 应用程序生成的控件和基础结构,使用 XML Web Services 功,ASP.NET 开发人员可以编写他们的业务逻辑,并使用 ASP.NET 基础结构通过 SOAP 交付该服务。SQL Server 2005引入了对SQL Server 查询的通知支持。
-6-
湖南文理学院本科毕业设计(论文) 第3章 需求分析
第3章 需求分析
需求分析就是描述系统的需求,通过定义系统中的关键类来建立模型。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。 需求分析是系统开发设计的第一步。不断地调查与研究,了解组织结构的状况,了解部门的业务流程等系统需求,对于设计好概念模型是非常重要的。在需求分析中,应对现实世界要处理的现象进行详细地调查;在确定系统功能中,收集支持系统功能目标的数据及分析数据之间的关系和处理流程。可以说需求分析的质量直接影响到系统设计的成败。同时需求分析工作量很大,所涉及的业务和人、数据、信息都非常多。
3.1 系统实现目标
为了提高仓库工作效率我们针对原材料库存管理的实际工作,经过了反复地论证,最终确定了仓库管理信息系统的设计方案。 1.功能需求
(1) 系统功能包括 :产品入出库登记、确认入出库信息、删除库内信息、
产品分类管理、数据警告。 (2) 系统管理员功能:查询库内信息。
(3)用户功能包括:查询库内信息、查询出库信息、查询入库信息。 2.用户需求
根据用户需求,该系统应该实现以下功能: (1)进、出库管理。对进、出库信息进行记录。
(2)查询功能。仓库管理对查询要求高,通过主菜单记录当前操作用户的用
户编号,保证了对进、出库信息录入负责人的确认。
(3)应用计算机管理后,由于计算机能存贮大量的数据,而且数据只要一次
存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。
(4)应用计算机管理后,许多重复性的工作,都可由计算机去执行,从而使
管理人员从事务性工作解脱出来,真正变为从事一些信息的分析,判断,决策等创造性的工作。
3.2 系统运行环境
为了充分使用物流企业的现有软硬件资源,在保障物流信息系统稳定、高效运行的前提下,达到降低成本的目的。根据系统需求,设定了物流信息系统的运行环境。
-7-
湖南文理学院本科毕业设计(论文) 第3章 需求分析
网络环境:
服务器和操作主机都需要采用Internet,车辆终端通过GPRS-Internet网关最终连接到Internet。
硬件环境: 系统配置:
处理器(CPU):英特尔 Pentium(奔腾) 4 3.00GHz
主 板:1536 MB ( 金泰克 DDR2 667MHz / 威刚 DDR2 667MHz ) 内 存:1536 MB ( 金泰克 DDR2 667MHz / 威刚 DDR2 667MHz ) 硬 盘:希捷 ST3250310AS ( 250 GB )
显 卡:ATI Radeon X300/X550/X1050 Series (RV370) ( 128 MB )
3.3 系统的开发环境
1开发工具:Microsoft Visual Studio 2005 2数据库:Microsoft SQL Server 2005
3.4 功能性需求描述
为了提高仓库工作效率针对原材料库存管理的实际工作,最终确定了仓库管理信息系统的设计方案。
库存管理业务流程图如图3.4所示
-8-
湖南文理学院本科毕业设计(论文) 第3章 需求分析
图 3.4 工资管理系统用例图
3.4.1 处理对象
用例标识:1.0
参与者:管理人员
简要说明:此用例中操作者可能为管理人员或者发货人。操作者向系统提供货物编号,系统以列表的方式显示货物的当前状态以及其他基本信息。
基本事件流:
(1) 操作者提供货物编号进行查询。 (2) 系统进行查询,显示当前货物状态信息。
3.4.2 处理功能及需求
界面友好,操作方便:全中文界面,界面友好,而且操作的交互方式多采用键盘操作以提高操作的速度。
功能的集中使用:以往的系统,往往功能分散,相关的功能不能集中进行使用,
-9-
湖南文理学院本科毕业设计(论文) 第3章 需求分析
这给用户的实际使用带来了很大的不便。为此,在设计中应进尽可能地将一项工作中可能涉及的相关操作和可能查看的相关数据安排在同一的操作界面中,这样,用户便不需要反复地切换操作界面来修改哪怕是最微不足道的相关数据,这在一定程度上也简化了操作的流程,同时使操作更加灵活。
3.4.3 适应性和透明性
适应性:应该明确的是,实际操作人员对计算机的了解程度和实际的操作能力各不相同,因此软件应具有一定的适应能力。一方面要保证计算机的初级操作人员在经过短期的培训之后能够很好的胜任基本的操作要求,另一方面还要能够满足计算机的熟练人员对操作的灵活性方面的较高层次上的要求。
透明性:在系统设计中,应充分利用计算机在处理数据方面的能力,从而尽可能减轻操作人员的工作,实现一定意义上的透明操作,即用户无须知道模块功能实现的具体过程,只需要设置一定的操作选项,计算机即可按照用户的要求得到所需要的处理结果,具体的操作细节对用户是“透明”的。采用这样的设计一方面可减轻使用者的操作复杂性,另一方面还可使操作折兑数据处理的针对性更强,从而提高了工作的效率
3.5 非功能性需求描述
非功能性需求在整个系统中占有非常重要的位置,对系统的非功能性需求的满足是系统成功的基础,下面列出本系统的非功能性需求:
(1) 系统能够长时间的持续工作。
对于企业应用级的系统来说,软件的稳定性与正确性一样重要。考虑到本系统的实际情况,服务器端的软件必须能够在24*7小时内不间断地稳定运行。
(2) 客户端信息更新更新等待时间不能大于5秒。
客户端对系统的响应是有时间限制的,一般的查询等待时间不能超过2秒,地图数据更新不能超过5秒。
3.6 逻辑处理
对数据进行逻辑处理,如图3.6所示
-10-
湖南文理学院本科毕业设计(论文) 第3章 需求分析
处理编号 01 处理功能 处理过程 判断员工查询涉及的功员工信息模块、工资信息模块、部门类别信息模能模块 块、奖金信息模块、罚款信息模块、管理员模块: 先确定查询所涉及的功能模块;然后,根据要查询的内容,确定查询数据流向;最后显示查询结果 判断工资修改要涉及的员工信息模块、工资信息模块,同时把相应的修改模块、部门类别信息模块、奖金信息模块、罚款数据传到相应的模块之信息模块、管理员模块: 先确定更新所涉及的功中 能模块;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。 图3.6 逻辑处理功能
02 3.7 本章小结
本章首先介绍了系统的实现目标、运行环境和开发环境。然后通过用例分析的方式获取和分析了系统的功能性需求,对需求进行了补充,提出了系统的非功能性需求。从而对系统的整体需求有了完整的了解。最后根据对需求分析中的专有名词的解释,得出了系统术语表。
从本章的需求分析中可以得出,系统的功能性需求相对来说比较易于实现,而非功能性需求比较严格。对于非功能性需求影响最大的就是系统的架构,所以在设计和实现系统时,要在对系统的架构给予充分重视的前提下,实现功能性需求。
-11-
湖南文理学院本科毕业设计(论文) 第4章 系统设计
第4章 系统设计
4.1 系统设计原则
系统设计是管理信息系统开发过程的第二个阶段。在这一阶段中我们将根据系统调查与分析阶段的结果,进行新系统的设计。系统设计包括两个方面的工作:首先是系统总体结构的设计,即把系统的功能分解成许多基本的功能模块,确定它们之间的联系,规定它们的功能和处理流程;其次是具体的物理设计,即对实现系统的各项功能,选择具体的技术手段和处理方式。因此,如果说系统研制人员在系统调查与分析阶段的任务是在逻辑上弄清楚系统“做什么”的话,在系统设计阶段的任务则是在物理上确定系统“如何去做”。
每个系统都有它自己的设计原则。该的主要设计原则有:
简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个系统来说是非常重要的。
针对性:该平台设计是人事管理系统的定向开发设计,所以具有专业突出和很强的针对性。
实用性:该平台能完成企业人事管理信息和管理员管理系统,具有良好的实用性
4.2 系统总体设计
系统设计是信息系统开发过程中的另一个重要的阶段。这一阶段中我们将要根据前一阶段系统分析的结果,在已经获得的批准的系统分析报告的基础上,进行新系统设计。它将系统分析阶段建立的新系统逻辑模型转化为系统的结构模型。
系统设计阶段的主要目的是将系统分析阶段提出的反映了用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案。而系统的总体结构设计是系统设计阶段的主要活动之一,是为了实现系统总体功能,提高系统的各项指标。这一阶段的主要任务就是将整个系统合理的划分为各个功能模块,正确处理模块之间与模块内部的联系以及他们之间的调用关系和数据联系,定义各模块的内部结构等等。
-12-
湖南文理学院本科毕业设计(论文) 第4章 系统设计
仓库管理系统 仓库管理模块 仓库基本信息采购入库、出库库存明细库存汇总 4.3 数据库设计
4.31 数据库设计概念
信息系统的基础和核心就是数据库,它在系统中占得地位可想而知,数据库设计的好坏直接关系到信息系统开发的成败与失败。在信息系统设计中,数据库设计是指根据业务需求、信息需求和处理需求,对信息系统中的数据库结构、数据操作和数据一致性进行约束过程。
数据库设计一般包括需求分析、数据分析、概念设计、逻辑设计和物理设计等步骤。
数据库设计一般分为两种方法:自顶向下与自底向上,但通常是把两种方法综合起来使用。数据库它既包含了数据内容本身,又能反映出数据之间的联系。在数据库中,是用数据模型来抽象表示处理实现世界中的数据和信息的。根据模型应用的不同情况,可以将数据模型分成两个层次:概念模型和具体数据模型。用户和数据库设计人员之间运用概念模型进行交流。
-13-
图 4.1 系统功能结构图
湖南文理学院本科毕业设计(论文) 第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图将系统设计所涵盖的实体以及各个实体之间的关系表现出来。 实体,用方块表示,方块内为实体的名称。
实体的各种属性。用椭圆表示,椭圆内为属性名称。使用线段将其和相应的实体
-14-
湖南文理学院本科毕业设计(论文) 第4章 系统设计
连接起来。
实体之间的联系。用菱形表示,菱形内为联系的名称。
联系
实体 属性 实体间的
图4.2 E-R图的符号
实体和实体之间的联系较多,比较常见的联系有1:1,N:1,N:M这三种
1. 货品信息实体图
货品信息实体图如图4.3所示:
货品编号 货品名称 类型 货品 现有数量
图4.3 货品信息实体图
2.管理员信息实体图
管理员信息实体图如图4.4所示
-15-
湖南文理学院本科毕业设计(论文) 第4章 系统设计
权限 名字 管理员 密码
图4.4管理员信息实体图
3.仓库信息实体图
仓库信息实体图如图4.5所示
地址 名称 备注 仓库 所剩容仓库规则
图4.5 仓库信息实体图
4.入库信息实体图
入库信息实体图如图4.6所示
-16-
湖南文理学院本科毕业设计(论文) 第4章 系统设计
编号 货品编仓库编数量 入库信息 货品进进货日
图4.6 入库信息实体图
5.销售信息实体图
出库信息实体图如图4.7所示
编号 货品编仓库编货品售销售信息 计量单出货日数量 经手人
图4.7 出库信息实体图
6.库存信息实体图
库存信息实体图如图4.8所示
-17-
湖南文理学院本科毕业设计(论文) 第4章 系统设计
货品编货品名计量单库存信息 库存量 货品售
图4.8 库存信息实体图
7.总体E-R图
总体E-R图如图4.9所示
仓库 1 存n 1 货物 n 管1 工n 管理员
图4.9 总体E-R图
4.3.3 数据库逻辑结构设计
根据前文所分析的E-R图以及各实体与实体之间的关系,进行模型化。建立关系
-18-
湖南文理学院本科毕业设计(论文) 第4章 系统设计
数据库模型,如下面的几个表格: 1. Product:
货品信息表设计,如表4.10
表4.10 货品信息表设计
2. Login:
登录表设计,如表4.11
表4.11 登录表设计
3. ProStock:
商品表设计,如表4.12
表4.12商品表设计
-19-
湖南文理学院本科毕业设计(论文) 第4章 系统设计
4. Stock:
仓库信息表设计,如表4.13
表4.13仓库信息表设计
4.4 输入输出设计
输入输出设计在信息系统设计中占据主要地位,因为输入和输出是用户与系统之间沟通的途径,是用户与系统关系最密切的部分,是用户使用系统的方便性及系统的安全可靠性的重要保证。
系统设计时,应该先进行输出设计,之后再对输入进行设计,因为输入信息只有根据输出要求才能确定。
4.4.1输出设计
输出设计是对系统输入数据通过计算机分析处理后的结果通过一定的表现形式,提供用户使用。输出是向用户提供信息处理结果的唯一手段,也是评价一个信息系统的重要依据之一。另一方面,从系统开发的角度来看,输出决定输入,即只有明确了输出,才能最后确定输入,本系统输出大多采用报表的形式。 1.仓库基本信息,如图4.14
-20-
湖南文理学院本科毕业设计(论文) 第4章 系统设计
图3.14 货品信息查询输出界面
4.4.2入库设计
入库设计是系统对数据输入功能的要求设计,是将事务设计变成可使用的格式,把数据提交到计算机中进行处理活动的一系列活动。输入设计首先要做的是要保证向管理信息系统体统正确的输入设计。在保证输入数据正确和满足需要的前提下,应尽量做到输入方法简单、迅速和使用方便。
此系统入库内容是根据输出功能的要求来确定各种输入的数据项;输入方式以键盘人工输入为主;辅助鼠标操作的输入方式。为了实现输入设计的目标,本系统采用了很多的菜单式输入功能。 1. 货品信息输入界面,如图3.15
-21-
湖南文理学院本科毕业设计(论文) 第4章 系统设计
图3.15货品信息退货入库界面
图3.16货品信息采购入库界面
2. 仓库信息出库界面,如图3.17
-22-
湖南文理学院本科毕业设计(论文) 第4章 系统设计
3.17仓库信息输出界面
4.5 本章小结
本章介绍了系统设计的过程,根据系统设计所提出的三个原则对系统进行总体设计。将系统分为实体层、数据访问层、服务层、Web服务层、客户端子系统、消息队列控制层和Socket控制层。对其中的数据库访问层、服务层、Web服务层的作用和结构进行了描述。考虑到系统的扩展性,重点介绍了系统中消息处理部分的设计,包括消息队列、消息处理流程、以及负责消息发送和接收的Socket控制层的位置和功能等。随后对系统中的发送货物、线路编辑、货物运输和操作权限等模块进行详细设计。最后介绍了系统中的数据库设计。
重点介绍的消息处理部分是系统服务器端的核心部分,它提供了Web客户端与车辆终端之间交互的一条通路。考虑到物流企业数据流通方向和消息处理的相似性,此部分是系统中可复用性最强的部分,提升了整个系统的复用性和可扩展性。基于分层概念的设计使得层与层之间只通过接口相互依赖,降低了整个系统的耦合度,提升了系统的可扩展性。
-23-
湖南文理学院本科毕业设计(论文) 第5章 系统实现
第5章 系统实现
根据对系统分析与设计,本章对系统中相关部分的实现情况做了详细的介绍。
5.1 登录界面实现
1.说明:
此模块实现系统登录,用户输入用户名、密码和权限后,系统判断是否正确,如果正确,进入主界面,否则,要求重新输入。
2.模块处理流程图,如图5.1
开始 输入账号、密码、权限 重新输入 退出系统 N 判断 结束 Y 退出系统
图5.1 登录模块处理流程图
3 登录界面,如图5.2
-24-
湖南文理学院本科毕业设计(论文) 第5章 系统实现
图5.2 登录界面
3. 代码设计
public partial class login : Form {
public static string connectionString = \"Data Source=.;Initial Catalog=Qyfx;Integrated Security=True\";
//M_str_sqlcon = \"Data Source=.;Initial Catalog=chaoshi;Integrated Security=True\";
//DateClass.SQL InfData = new Qyfx.DateClass.SQL(); public login() {
InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) {
bool P;
pass Pa = new pass();
P = Pa.Veri(\"Login\ if (P) {
MessageBox.Show(\"登陆成功!\");
-25-
湖南文理学院本科毕业设计(论文) 第5章 系统实现
//this.Close();
stock_MainFrm mfa = new stock_MainFrm(); mfa.Show(); } }
private void button2_Click(object sender, EventArgs e) {
Application.Exit(); }
private void login_Load(object sender, EventArgs e) {
} }
class pass {
public bool Veri(string tb_table, string Id, string Pwd) {
SQL MyClass = new SQL(); bool jud = false;
if (Id != \"\" && Pwd != \"\") {
SqlDataReader temDR = MyClass.getcom(\"select * from \" + tb_table + \" where UserName='\" + Id.Trim() + \"' and Pass='\" + 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); }
-26-
湖南文理学院本科毕业设计(论文) 第5章 系统实现
MyClass.con_close(); } else
MessageBox.Show(\"请将登录信息添写完整!\提示\MessageBoxButtons.OK, MessageBoxIcon.Information); return jud; } }
5.2 主界面的实现
5.2.1 说明:
此模块实现各分模块的进入。
5.2.2 系统主界面,如图5.3
图5.3系统主界面
5.2.3 代码设计
public partial class stock_MainFrm : Form {
public stock_MainFrm() {
InitializeComponent(); }
private void mnu_Stock_Stock_Click(object sender, EventArgs e) {
-27-
湖南文理学院本科毕业设计(论文) 第5章 系统实现
stock_Stock frm = new stock_Stock(); frm.MdiParent = this; frm.Show(); }
private void stock_MainFrm_Load(object sender, EventArgs e) {
//login frm = new login(); //frm.MdiParent = this; //frm.Show(); }
private void mnu_Stock_PurInStock_Click(object sender, EventArgs e) {
stock_PurInStock frm = new stock_PurInStock(); frm.MdiParent = this; frm.Show(); }
private void mnu_Stock_PurOutStock_Click(object sender, EventArgs e) {
stock_PurOutStock frm = new stock_PurOutStock(); frm.MdiParent =this; frm.Show();
}
private void mnu_Stock_SellOutStock_Click(object sender, EventArgs e) {
stock_SellOutStock frm = new stock_SellOutStock(); frm.MdiParent = this; frm.Show();
}
private void mnu_Stock_SellInStock_Click(object sender, EventArgs e) {
stock_SellInStock frm = new stock_SellInStock(); frm.MdiParent = this; frm.Show();
-28-
湖南文理学院本科毕业设计(论文) 第5章 系统实现
}
private void mnu_Stock_Details_Click(object sender, EventArgs e)
{
stock_StockHistoryDetails frm = new stock_StockHistoryDetails();
frm.MdiParent = this; frm.Show(); }
private void mnu_StockStatistic_Click(object sender, EventArgs e)
{
stock_StockHistoryStatistic frm = new stock_StockHistoryStatistic(); frm.MdiParent = this; frm.Show(); }
private void toolStripButton2_Click(object sender, EventArgs e) {
stock_PurInStock frm = new stock_PurInStock(); frm.MdiParent = this; frm.Show(); }
private void toolStripButton1_Click(object sender, EventArgs e) {
stock_SellOutStock frm = new stock_SellOutStock(); frm.MdiParent = this; frm.Show(); } }
5.3 各分界面的实现
5.3.1 说明
材料、用户、仓库信息的增、删、改等的实现
5.3.2 仓库基本信息管理及代码,如图5.4
-29-
湖南文理学院本科毕业设计(论文) 第5章 系统实现
图5.4 仓库基本信息管理
public partial class stock_Stock : Form {
public stock_Stock() {
InitializeComponent(); }
private LinkDataBase link = new LinkDataBase();
private string sendStrSQL = \"select StockID as 编号, StockName as 仓库名称, StockAddress as 仓库地址,StockManagerID as 库管员编号,\"+ \" StockManager as 库管员 ,StockManagerTEL as 联系电话, Memo as 备注 from Stock\"; private DataTable Stock = new DataTable(); DataTable tabel=new DataTable ();
private int flag =-1; //用来标记选择了增加、删除、编辑中的哪个按钮.flag=1增加、flag=2表示删除、flag=3表示编辑
private void stock_Stock_Load(object sender, EventArgs e) {
Stock = this.link.SelectDataBase(sendStrSQL); foreach(DataColumn da in Stock.Columns )
-30-
湖南文理学院本科毕业设计(论文) 第5章 系统实现
cmbZd.Items .Add (da.ColumnName); this.dgvStock.DataSource = Stock; this.dgvStock.Select();
int row=dgvStock .CurrentCell.RowIndex ;
DataGridViewCellStyle style = new DataGridViewCellStyle(); style.ForeColor = Color.Brown; style.BackColor = Color.Beige;
dgvStock.AlternatingRowsDefaultCellStyle = style; dgvStock.SelectionMode = DataGridViewSelectionMode.FullRowSelect; try {
bindControls (Stock,row); } catch {
MessageBox .Show (\"出错信息\"); } }
//自定义绑定控件函数
private void bindControls(DataTable tab,int row) {
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 (); }
//自定义控制按纽可用性函数
private void changeEnabled() {
btnSave.Enabled = !btnSave.Enabled; btnCancel.Enabled = !btnCancel.Enabled; btnDelete.Enabled = !btnDelete.Enabled; btnEdit.Enabled = !btnEdit.Enabled; btnAdd.Enabled = !btnAdd.Enabled; }
//自定义表格可用函数
-31-
湖南文理学院本科毕业设计(论文) 第5章 系统实现
public void setDataGridReadOnly() {
this.dgvStock.ReadOnly = true; }
private void cmbZd_SelectedIndexChanged(object sender, EventArgs e) {
cmbKey.DataSource = Stock;
cmbKey.DisplayMember = cmbZd.Text.Trim(); }
private void btnQuit_Click(object sender, EventArgs e) {
this.Close(); }
private void btnQuery_Click(object sender, EventArgs e) {
try {
string strQuery = \"select StockID , StockName, StockAddress ,StockManagerID ,\" +
\" StockManager ,StockManagerTEL , Memo from Stock\";
tabel = this.link.SelectDataBase(strQuery); string str = sendStrSQL + \" where \" + tabel.Columns[cmbZd.SelectedIndex].ColumnName + \"='\" + cmbKey.Text.ToString().Trim() + \"'\";
Stock = this.link.SelectDataBase(str); dgvStock.DataSource = Stock; dgvStock.Refresh(); } catch {
MessageBox.Show (\"错误信息\"); }
-32-
湖南文理学院本科毕业设计(论文) 第5章 系统实现
}
private void btnAll_Click(object sender, EventArgs e) {
Stock = this.link.SelectDataBase( sendStrSQL); dgvStock.DataSource = Stock; dgvStock.Refresh(); }
private void btnAdd_Click(object sender, EventArgs e) {
DataTable tr= new DataTable ();
string str=\"select * from Worker where WorkerSort='仓库' \"; 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();
}
private void cmbStockManagerNum_SelectionChangeCommitted(object sender, EventArgs e) {
try {
string str1 = cmbStockManagerNum.Text.ToString(); string str = \"select WorkerName from Worker where
-33-
湖南文理学院本科毕业设计(论文) 第5章 系统实现
WorkerID= \" + str1;
DataTable tr = new DataTable(); tr = this.link.SelectDataBase(str);
txtStockManager.Text = tr.Rows[0][0].ToString().Trim(); } catch {
MessageBox.Show(\"错误信息\");
}
}
private void btnEdit_Click(object sender, EventArgs e) {
this.changeEnabled(); flag = 2; }
private void btnDelete_Click(object sender, EventArgs e) {
this.changeEnabled(); flag = 3; }
private void btnSave_Click(object sender, EventArgs e) {
string strUpdate;
string row=dgvStock .CurrentCell.RowIndex .ToString ().Trim (); this.changeEnabled(); if (flag == 1) {
strUpdate = \"Insert into Stock( 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); dgvStock.DataSource = Stock; dgvStock.Refresh();
-34-
湖南文理学院本科毕业设计(论文) 第5章 系统实现
}
if (flag == 2) {
string ID =
Stock.Rows[this.dgvStock.CurrentCell.RowIndex ][0].ToString().Trim(); strUpdate = \" update Stock set StockName ='\" +
txtStockName.Text.Trim() + \"', StockAddress='\" + txtStockAddress.Text.Trim() + \"' ,StockManagerID=\" +
cmbStockManagerNum.Text.ToString().Trim() + xtStockManager.Text.Trim() +
\"' ,StockManagerTEL='\" +
txtStockManagerTel.Text.Trim() + \"', Memo='\" + txtStockMemo.Text.Trim() + \"' where StockID=\" +ID;
this.link.UpdateDataBase(strUpdate); dgvStock.DataSource = Stock; dgvStock.Refresh(); }
if (flag == 3) {
string ID =
Stock.Rows[this.dgvStock.CurrentCell.RowIndex][0].ToString().Trim();
strUpdate = \"Delete from Stock Where StockID=\" + ID; this.link.UpdateDataBase(strUpdate); dgvStock.DataSource = Stock; dgvStock.Refresh(); }
flag = -1;
}
private void btnCancel_Click(object sender, EventArgs e) {
this.changeEnabled();
this.bindControls (Stock,dgvStock .CurrentCell.RowIndex ); if(flag ==1)
for (int i=0;i 湖南文理学院本科毕业设计(论文) 第5章 系统实现 } private void dgvStock_MouseUp(object sender, MouseEventArgs e) { int row = dgvStock.CurrentCell.RowIndex; try { this.bindControls(Stock, row); } catch { MessageBox.Show(\"出错信息\"); } } private void dgvStock_DoubleClick(object sender, EventArgs e) { } private void dgvStock_CellClick(object sender, DataGridViewCellEventArgs e) { if (this.dgvStock.ReadOnly == true)//判断如果是在进货单中生成的窗体则响应DataGrid的双击事件 { int intCurrentRowNumber = this.dgvStock.CurrentCell.RowIndex; string sendStokerID; sendStokerID = this.dgvStock[ 0,e.RowIndex].Value.ToString().Trim(); //stock_ProStock.stockID = sendStokerID; this.Close(); } } } -36- 湖南文理学院本科毕业设计(论文) 第5章 系统实现 3库存汇总信息及代码,如图5.5 图5.5 库存汇总信息 public partial class stock_StockHistoryStatistic : Form { public stock_StockHistoryStatistic() { InitializeComponent(); } DataSet newDataset=new DataSet (); DataTable newTable=new DataTable (); LinkDataBase link=new LinkDataBase (); string SendStr = \"select ProStockBak.StockID,Stock.StockName,Stock.StockAddress,Stock.StockManager,Stock.StockManagerTEL\" + \" from ProStockBak,Stock where ProStockBak.StockID=Stock.StockID \"; //填充仓库名称及设置表格格式 private void fillCombox() { string str = \"select StockName from Stock \"; DataTable tempTable=new DataTable (); tempTable = this.link.SelectDataBase(str); for (int i = 0; i < tempTable.Rows.Count; i++) cmbStockNO.Items.Add(tempTable.Rows[i][0].ToString().Trim()); -37- 湖南文理学院本科毕业设计(论文) 第5章 系统实现 } private void stock_StockHistoryStatistic_Load(object sender, EventArgs e) { fillCombox (); DataGridStateControl(); } //---------绑定数据并设置表格各列的属性 private void DataGridStateControl() { newTable.Columns.Add(\"仓库编号\ newTable.Columns.Add(\"仓库名称\ newTable.Columns.Add(\"仓库地址\ newTable.Columns.Add(\"仓库管理人\ newTable.Columns.Add(\"电话\ newTable.Columns.Add(\" 库存总数量\ newTable.Columns.Add(\"时间\ dgvStockStatistic.DataSource =newTable; DataGridViewCellStyle style = new DataGridViewCellStyle(); style.BackColor = Color.Beige; style.ForeColor = Color.Brown; dgvStockStatistic.AlternatingRowsDefaultCellStyle = style; dgvStockStatistic.SelectionMode = DataGridViewSelectionMode.FullRowSelect; for (int i = 0; i < newTable.Columns.Count; i++) dgvStockStatistic.Columns[i].Width = 130; } private void btnDisplay_Click(object sender, EventArgs e) { string str1 = dtpEndTime.Value.ToShortDateString().Trim().ToString() + \" 23:59:59\"; DateTime dtEnd = DateTime.Parse(str1.Trim()); DataTable tempTable=new DataTable (); str1 = dtpStartTime.Value.ToShortDateString().Trim().ToString() + \" 00:00:00\"; -38- 湖南文理学院本科毕业设计(论文) 第5章 系统实现 DateTime dtStart = DateTime.Parse(str1.Trim()); string TimeInterval = \"select Distinct BakDateTime from ProStockBak where BakDateTime between '\"+dtStart+\"' and '\"+dtEnd +\"'\"; tempTable = this.link.SelectDataBase(TimeInterval); DataTable tempTable1=new DataTable(); DataTable tempTable2 = new DataTable(); newTable.Clear (); for (int i=0 ;i str1 = \"select sum(ProStockBak.ProductAmount) from ProStockBak,Stock where ProStockBak.StockID = Stock.StockID and Stock.StockName='\" + cmbStockNO.Text.ToString().Trim() + \"' and ProStockBak.BakDateTime = '\" + tempTable.Rows[i][0].ToString().Trim() + \"' Group by Stock.StockID \"; newDataset = this.link.SelectDataBase(str1, \"tempTable1\"); tempTable1 = this.newDataset.Tables[0]; int num = 0; if(tempTable1 .Rows .Count!=0) num = int.Parse (tempTable1.Rows[0][0].ToString ().Trim ()); newDataset = this.link.SelectDataBase( SendStr + \" and Stock.StockName='\" + cmbStockNO.Text.ToString().Trim() + \"' and ProStockBak.BakDateTime ='\" + tempTable.Rows[i][0].ToString().Trim() + \"'\ tempTable2=this.newDataset.Tables[0]; newTable.Rows.Add(newTable.NewRow()); int k = tempTable1.Rows.Count; for(int j=0;j newTable.Rows[i][2] = tempTable2.Rows[j][3].ToString().Trim(); newTable.Rows[i][3] = tempTable2.Rows[j][4].ToString().Trim(); newTable.Rows[i][4] = tempTable2.Rows[j][5].ToString().Trim(); newTable.Rows[i][5] = num; -39- 湖南文理学院本科毕业设计(论文) 第5章 系统实现 newTable.Rows[i][6] = tempTable.Rows[i][0].ToString().Trim(); } } dgvStockStatistic.DataSource = newTable; } } 5.4 本章小结 本章介绍了系统实现,系统中Web客户端的框架是搭建在面向接口编程的基础上的,实现了本地对象的保存、检索、查找、删除等操作,简化了客户端的请求机制,具有很大的复用价值。而服务器端不但实现了和Web客户端、仓库间的相互通信,还依赖于消息实例构造和消息队列的设置,实现了Web客户端与Web客户端、Web客户端与仓库、仓库与仓库之间的相互通信。其消息处理的机制有很大的复用价值。整个系统也实现了需求分析中的得到的功能性需求。 -40- 湖南文理学院本科毕业设计(论文) 第7章 结 论 第6章 结 论 6.1 工作总结 本系统以建筑行业原材料库存管理为背景,运用C#编程语言进行设计。在进行一系列工作之后,开发完成了这个渔阳建业库存管理系统。系统基本可以满足开发前的预定要求,实现方便的对公司的库存信息的管理。从很大程度上减轻了工作者的工作量,提高了业务管理的工作效率。 1.功能实现 本系统实现的主要功能如下: (1) 实现了用户的管理,能进行录入,查询,修改,删除的功能。 (2) 分权限的管理。对登录系统的账号做了权限设置,不同的账号,有不同的 功能限制。 (3) 实现了材料信息的添加、修改、删除、查询等功能。 (4) 实现了仓库信息的添加、修改、删除、查询等功能。 (5) 实现了对材料进出记录的添加、修改、删除、查询等功能。 2.系统评价 系统评价就是客观,公正的从各个方面评价系统的各项功能。本部分将具体的从三个方面描述: (1) 系统的优点 A.简单易用的用户界面,基本上能够满足用户需求 B.查询、修改和删除都很方便,都带有提示信息,比较人性化 (2) 系统的缺点 本系统在增加材料是需要录入大量的信息,操作起来比较繁琐,可以实现信息的批量导入,但由于诸多原因在系统中不能体现,还有本系统功能不够完善,逻辑上的严密性不够完美。 (3) 需要改进的地方 录入信息的准确性限制方面有待进一步改进,方便用户操作。本系统应与公司的工程管理系统进行连接,可随时了解材料的优先购进程度,保持库存量,该功能还未实现,有待于进一步的改进。 随着研究的深入,越来越感觉到管理信息系统的建立和实施是一个非常复杂的问题。由于本人没有实际开发经验再加上时间有限,所以本系统功能上并不是非常完善,尚需要在今后的实践中继续完善。 -41- 湖南文理学院本科毕业设计(论文) 参考文献 参考文献 1. 潘锦平.软件系统开发技术.西安:西安电子科大出版社.2002. 2. 安忠,佟志臣.管理信息系统.北京:中国铁道出版社,经济科学出版社. 3. (美)Mickey Williams著.C#.NET技术内幕.北京:清华大学出版社.2003.256-273. 4. 王振江,王添添.C#课程设计案例精编.北京:中国水利水电出版社.2005. 5. 萨师煊,王珊编著.数据库系统概论(第三版).北京:高等教育出版社.101-106,122-123. 6. 黄梯云主编,李一军副主编.管理信息系统.北京:高等教育出版社.1998.107-109. 7. 李律松,陈少刚,沈刚.Visual C#数据库高级教程.北京:清华大学出版社.2005. 8. 甘仞初.管理信息系统.北京:机械工业出版社.2003. 9. 曹锦芳.信息系统分析与设计.北京:北京航空航天大学出版社.2000. 10. 邝孔武.信息系统分析与没计.北京:清华大学出版社.2002. 11. (美)Huddleston James等著,杨浩译.C#数据库入门经典(第2版).北京:清华大学出版社.92-119. 12. 李律松,马传宝,李婷.Visual C#+SQL Server数据库开发实例.北京:清华大学出版社.358-365. 13. (美)Jeffrey D.ULLman,Jennifer Widom著.A First Course in Database Systems(Second Edition).北京:机械工业出版社.2006. 14. 袁鹏飞,孙君安.中文版SQL Server2000数据库系统管理.北京:人民邮电出版社,2001. 15. 郑阿奇主编,刘启芬,顾韵华.SQL Server实用教程(第2版).北京:电子工业出版社. 7,202-203. 16. (美) Ryan K.Stephens Ronald 著.R.Plew数据库设计[M].北京:机械工业出版社.2001. 17. 程学先.数据库原理技术.北京:中国水利水电出版社.2001. 18. 方盈.SQL Server2000彻底研究.北京:中国铁道出版社.2001. 19. Mcleod , Printice Hall 著.Management Information System .北京:机械工业出版社.1998 20. 郑人杰.软件工程(初级).北京:清华大学出版社.1997. -42- 湖南文理学院本科毕业设计(论文) 致 谢 致 谢 在此毕业设计(论文)完成之际,谨向我的指导教师刘峥老师致以衷心的感谢。感谢刘峥老师在我毕业设计期间给予的悉心指导、热诚帮助和大力支持,并为我指点迷津,帮助我开拓研究思路,精心点拨、耐心辅导、热忱鼓励。导师严谨的治学态度和渊博的学识使我受益匪浅。 本论文最终能够顺利完成,也是与信息学院其他老师教育和帮助分不开的,虽然他们没有直接参与我的论文指导,但是在大学的学习过程中,正是他们的悉心教育,帮助我打下了牢固的基础知识,再次向所有敬爱的老师表示深深的感谢! 经过这样一次开发设计实践,我得到了一次用专业知识、专业技能来分析和解决问题的全面而系统的锻炼。 最后,我谨向所有关心和帮助过我的老师、同学、领导、同事和家人致以真诚的谢意。 -43- 因篇幅问题不能全部显示,请点此查看更多更全内容