收藏 分享(赏)

仓储管理系统的设计与实现.doc

上传人:wo7103235 文档编号:6267998 上传时间:2019-04-03 格式:DOC 页数:49 大小:1.60MB
下载 相关 举报
仓储管理系统的设计与实现.doc_第1页
第1页 / 共49页
仓储管理系统的设计与实现.doc_第2页
第2页 / 共49页
仓储管理系统的设计与实现.doc_第3页
第3页 / 共49页
仓储管理系统的设计与实现.doc_第4页
第4页 / 共49页
仓储管理系统的设计与实现.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、本 科 毕 业 论 文仓储管理系统的设计与实现The Design and Implementation of Warehousing Management System 姓 名: 学 号:学 院:软件学院系:软件工程专 业:软件工程年 级:校内指导教师: 年 月第一章 绪论I摘 要为解决乡镇地区经营轮胎销售行业的用户对于系统软件平台的需求问题, 设计并实现了一个仓储管理系统。在架构模式上,该系统采用了 BS 架构最常用的 MVC 设计模式,也就是“模型- 视图-控制器”的设计模式。在利用 JAVA 开发技术、Web 服务器、MYSQL 数据库和 Eclipse 3.5 等常用开发技术、工具的

2、同时,系统通过 JPA 持久化规范、Google Web Toolkit 开发工具以及 Spring 开源框架搭建了系统的三层结构, 从而使系统具有了三层分离、高效、利于维护等优点。在开发过程中还引入了持续集成这一个优秀的实践,通过持续集成服务器和自动构建工具,对系统进行自动化的部署、测试,在不断改进代码质量的同时,也保证了系统的性能。在仓储管理系统的具体实现过程中,还对数据库的设计原则进行了探讨和深入的运用,充分保证数据结构的合理性和高效性。在系统的各个重要的模块上,采用适配器模式等几种 GOF 设计模式,使得代码具有高内聚、低耦合的特点。在系统功能模块的划分上,以实际生产需求为基础,使得模

3、块划分更加合理。实际应用结果表明, 该仓储信息管理系统可以适应实际仓储经营的需要,为企业提供便利。关键词:MVC 设计模式;持续集成;仓储管理面向普通个体户的轮胎仓储管理系统IIAbstractTo solve software platform requirements for the people in the sales in the township areas, design and implement a warehousing management information system. First of all, we use the MVC design patterns t

4、o build the system based on a BS Framework. In the same time of using many developing technologies and tools, such like the Java technology, web servers, eclipse and MYSQL , we have persisted in JPA standards, web development tools Google toolkit and spring open framework to put up the system struct

5、ure, so that the system can achieve the MVC model, obtain three layers of separate and be efficient. Then the sustained good practice of Continuous Integration is used in the development process, thus ensuring the quality of the system. In the specific implementation process of the warehousing manag

6、ement system, we also discuss the database design principles so as to making the data structure more rational and efficient. In some important system modules, we use the adapter pattern, which is one of the several GOF design patterns, thus ensuring high cohesion and low coupling for the system.Prac

7、tical application of the results showed that the warehousing management system can be adapted in the practical manufacture, and provide a lot of convenience.Keyword: MVC design pattern; continuous integration; warehousing management第一章 绪论III目录第一章 绪论 11.1 引言 11.2 论文组织结构 1第二章 系统相关技术概述 32.1 持续集成 .32.1.

8、1 持续集成的概念 .32.1.2 Hudson 工具简介 52.1.2 Maven 技术简介 52.2 MVC 设计模式及其实现 62.2.1 MVC 设计模式概述 .62.2.2 Spring 简介 72.2.3 JPA 简介 .92.2.4 Google Web Toolkit 简介 112.3 本章小结 .14第三章 系统设计与实现 153.1 系统概述 153.1.1 开发背景与系统目标 153.1.2 系统功能和模块划分 .153.2 仓储管理系统的功能需求描述 163.2.1 仓储管理系统的用户需求 163.2.2 仓储管理系统的具体功能需求描述 163.3 系统实现 193.3

9、.1 系统主要模块实现 193.3.2 主要算法流程图 203.4 系统设计模式 23面向普通个体户的轮胎仓储管理系统IV3.4.1 持久层中的 Adapter 模式 .233.5 数据库的 具体实现 243.5.1 数据库设计原则 .243.5.2 数据库表单 243.6 本章小结 28第四章 实验结果分析 294.1 测试 294.1.1 测试概述 .294.1.2 基于 Hudson 技术的集成测试的配置 294.2 运行结果 .324.2.1 商品管理模块的运行结果 324.2.2 仓库管理模块的运行结果 344.2.3 客户管理模块的运行结果 354.2.4 人性化设计的细节展示 3

10、64.3 本章小结 .38第五章 总结与展望 395.1 论文总结 395.2 工作展望 .39参考文献 .41致 谢 42第一章 绪论VContentChart 1 Introduction 11.1 Preface.11.2 The structure of this paper1Chart 2 System related technologies outline32.1 Continuous Integration .32.1.1 The Conception of CI.32.1.2 Introduction of Hudson52.1.2 Introduction of Maven

11、 .52.2 The Design Pattern of MVC and the Implement 62.2.1 The Summary of the MVC Design Pattern62.2.2 Introduction of Spring Framework .72.2.3 Introduction of JPA Standard 92.2.4 Introduction of Google Web Toolkit .112.3 Summary.14Chart 3 Design and Implementation of System.153.1 System Overview153.

12、1.1 Development Background and Overall Objective .153.1.2 Functional requirements and module division .153.2 Functional Requirements and Description of System 163.2.1The User Requirement of System .163.2.2The Description of the Functional Requirement.163.3 System Implementation .193.3.1 The Implemen

13、tation of the Key Module193.3.2 The Key Algorithm Flowcharts .203.4 System Design Pattern.23面向普通个体户的轮胎仓储管理系统VI3.4.1 The AdapterDesign Pattern233.5The Implement of the Database.243.5.1 The Database Design Principles 243.5.2The Model of the Database .243.6 Summary.28Chart 4 The Experimental Results An

14、alysis294.1System Test294.1.1 Overview Testion.294.1.2 The Configuration of the System Testion based of Hudson294.2 Running Results .324.2.1Commodity Management Module Running Results.324.2.2 Repository Management Module Running Results .344.2.3 Client Management Module Running Results .354.2.4 The

15、Example of the Humanization Design364.3 Summary.38Chart 5 Conclusion and Future works .395.1 Summary of this paper 395.2 Improvements and future works 39References41Acknowledgements .42第一章 绪论1第一章 绪论1.1 引言21 世纪的第一个十年将要结束,而 Internet 技术和企业信息化建设依旧保持着强劲的发展速度,各种高级的软件开发技术层出不穷, 中间件系统稳定性, RAD 快速开发等都和 20 世纪 9

16、0 年代不可同日而语 , 随着 B/S 架构技术的日趋 成熟 , 企业应用开发逐步走向 WEB 开发早已是大势所趋。仓储管理系统是仓储管理信息化的具体形式。它是用来管理仓库内部的人员、库存、工作时间、定单和设备的软件实现工具。仓储管理如何, 直接影响企业的生产秩序和经济效益。而在乡镇个体户当中,对于信息化的仓储管理信息系统平台的需求是十分强烈的,因为其面对复杂的仓储信息常常找不到良好的解决办法,效率低下。因而一个具有高效性能的仓储管理系统对于他们来说,是相当重要的。文章结合某一个体户对于轮胎经营事业的仓储管理, 在开发过程中通过应用 MVC 设计模式实现了表示逻辑和业务逻辑的分离, 为系统的开

17、发和维护提供了更大的灵活性和更好的可管理系性。同时介绍了在开发过程中引入的持续集成这一优秀的开发实践,通过自动话的构建和测试,逐步保证代码的质量,确保系统的稳定性。最终,文章详细介绍乐轮胎仓储管理系统的具体实现过程。1.2 论文组织结构本论文共分为五章,论文首先介绍了新时期各种软件开发技术的高速发展和仓储管理系统对于企业的重要性和发展趋势,并结合了仓储管理对于普通个体户的需求,引出了论文所做的主要工作内容。紧接着论文简单介绍了毕业设计项目中所用到的各项技术,比如持续集成技术和 MVC 架构模式。然后论文具体介绍了仓储管理系统的具体实现,比如系统在各个模块的功能实现、数据库的设计原则和具体实现、

18、设计模式在系统当中的应用等等。最后论文通过大量的截图展示了系统的运行结果。面向普通个体户的轮胎仓储管理系统2论文具体安排如下:第一章 简单介绍了仓储管理系统对于普通个体户提高仓储管理的效率的重要性,并引出了论的主要内容。第二章 简要介绍了系统中所使用的主要开发技术的特点和优势。第三章 分模块详细介绍了仓储管理系统的具体实现过程。第四章 详细展示仓储管理系统的测试和运行结果。第五章 最后论文总结了毕业设计所做的工作,并进行了工作展望。第二章 系统相关技术概述3第二章 系统相关技术概述2.1 持续集成2.1.1 持续集成的概念持续集成简称 CI, 是一种软件开发实践,它能够缓和和稳固软件的构建过程

19、 11。CI 可以帮助软件开发团队应对如下挑战: 自动化的软件构建:开发人员只需要进行简单的操作,它会依照预先制定的时间表,开始对目标软件进行一次构建过程。尤其是在开发人员从头到尾构建一个构件的时候,这个构建过程将十分便利,并且它不会是局限于某一特定IDE、电脑或者个人的操作。 可持续的自动化检查:CI 系统能够设定成持续地执行新增或修改后签入的源代码,也就是说,当软件开发团队需要周期性的检查新增或修改后的代码时,CI 系统会不断确认这些新代码是否破坏了原有软件的成功构建。这减少了开发者们在检查彼此相互依存的代码中变化情况需要花费的时间和精力。 可持续的自动化测试:一个构建检查的扩展部分,这个

20、过程确保当新增或修改代码时不会导致预先制定的一套测试在构建构件后失败。构建检查和测试一样,失败的时候会触发通知单(比如 Email、RSS)给相关的当事人,告知对方一次构建或者一些测试失败了。 后续过程的自动化:当自动化检查和测试的构建已经完成的时候,一个软件构件的构建周期中可能也需要一些额外的任务,诸如生成文档、打包软件、部署构件到一个运行环境或者软件仓库。这样,构件才能更迅速地提供给用户使用。关于 CI 系统的基本组成结构,如图 2.1 所示:面向普通个体户的轮胎仓储管理系统4图 2.1 CI 系统的基本结构CI 系统的各个组成部分是按如下顺序来发挥作用的: 1. 开发人员检查新增和、更新

21、存储在源代码仓库的代码。 2. CI 服务器为每一个项目创建一个单独的工作区域。当预设或请求一次新的构建时,它将把源代码仓库的源码存放到对应的工作区,哪里构建就执行哪里。 3. CI 服务器会在新近创建或者更新的工作区内执行构建过程。 4. 一旦构建完成,CI 服务器就会在一个新的构件中选择性地执行原先定义的一套测试。如果构建失败,相关责任人将会通过电子邮件、即时短信或者其他的方式获取到(失败) 通知。 5. 如果构建成功,这个构件会被打包并转移到一个部署目标(如应用服务器) 和/ 或存储为软件仓库中的一个新版本。这个如软件仓库可以是 CI 服务器的一部分,也可以是一个外部的仓库,诸如一个文件

22、服务器或者像 J、Source Forge 分发的一个有效网址。源代码仓库和构件仓库是可以分开的,实际上它可以利用一些根本没有包含任何源代码控制系统(CVS、SVN、CSS 等等)的 CI 服务器。 6. CI 服务器通常会用某种控制台来进行项目的配置和调试,并且根据请求发起相应的操作,诸如即时构建、生成报告,或者检索一些构建好的构件。第二章 系统相关技术概述5因此,一般来说使用持续集成一般来说需要三个组件: 一个具备自动构建功能的工具,比如 Ant 或 Maven。 一个版本管理工具或代码存储库,比如 CVS 或 Subversion。 一个 CI 服务器,比如 Hudson。2.1.2 H

23、udson 工具简介Hudson 是一种开放源码的 CI 服务器,它从以前的 CI 服务器吸取了许多经验教训。Hudson 最吸引人的特性之一是它很容易配置:很难找到更容易设置的 CI 服务器,也很难找到开箱即用特性如此丰富的 CI 服务器。Hudson 容易使用的第二个原因是它具有强大的插件框架 ,所以很容易添加特性。例如,一个 Hudson 插件可以随时间的推移跟踪查找 Bug 并进行代码覆盖。它还可以报告测试结果的趋势以及构建结果和对应的执行时间。2.1.2 Maven 技术简介Maven是一个项目管理工具,它包含了一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统,和用

24、来运行定义在生命周期阶段中插件目标的逻辑。当使用Maven的时候,开发人员可以用一个明确定义的项目对象模型来描述他们的项目,然后 Maven 可以应用横切的逻辑,这些逻辑来自一组共享的或者自定义的插件。 4如图2.2所示,我们可以看到Maven 的主要组件:图 2.2 Maven 的主要组件面向普通个体户的轮胎仓储管理系统6Maven 维护了一个项目的模型,开发人员不仅仅需要把源码编译成字节码,还需要开发软件项目的描述信息,为项目指定一组唯一的坐标。开发人员要描述项目的属性,比如:项目的许可证是什么、谁开发这个项目、谁为这个项目做过贡献、这个项目是否依赖于其它什么项目等等。 Maven不仅仅是

25、一个构建工具,因为它不仅仅是在类似于 make 和 Ant 的工具的基础上的改进,而是包含了一组关于软件项目和软件开发的语义规则的平台。这个基于每一个项目定义的模型实现了如下特征: 依赖管理 远程仓库 全局性构建逻辑重用 工具可移植性/集成 便于搜索和过滤构件 Maven 为软件项目的语义一致性描述的开端提供了一个基础。2.2 MVC 设计模式及其实现2.2.1 MVC 设计模式概述MVC设计模式是“Model-View-Controller“的缩写,中文翻译为“模式-视图-控制器“。MVC是一个架构模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、

26、视图、控制器。它们各自处理自己的任务。 2视图 视图是用户看到并与之交互的界面。对老式的 Web 应用程序来说,视图就是由 HTML 元素组成的界面,在新式的 Web 应用程序中,HTML 依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括 Adobe Flash 和象XHTML,以及本次毕设当中使用的 GWT Module。模型 模型表示企业数据和业务规则。在 MVC 的三个部件中,模型拥有最多的处理任务。例如在本次毕设当中使用的模型层构建 JPA,它可以用来处理数据库的第二章 系统相关技术概述7业务罗杰。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个

27、视图提供数据。模型层的代码如果经过良好的设计,比如使用适配器模式进行编写,就能被多个视图重用,因此模型层里可以减少代码的重复性。 控制器 接受用户的输入并调用模型和视图去完成用户的需求是控制器能够完成的功能。当点击 Web 页面中的超链接和发送 HTML 表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。 例如轻量级框架 Spring,能够处理构件之间的调配,而本身却不处理任何的数据。在这次毕业设计当中,为实现 MVC 主要使用到了以下三种技术: Spring 2.5 Java Persistence AP

28、I(JPA) Google Web Toolkit(GWT)下面开始介绍这三种技术。2.2.2 Spring 简介Spring 是一种开源的技术,它致力于 J2EE 应用的各层的解决方案,而不是仅仅专注于某一层的方案。Spring 在企业开发应用中有着不俗的表现,它能够贯穿表现层、业务层及持久层,因为 Spring 能够与来自这三层的不同框架做到无缝的整合。 14Spring 也是一种轻量级的框架,它主要具有控制反转技术 IOC 和面向方面编程 AOP 的功能。控制反转技术的设计模式是“基于组件的体系架构”。其 基本概念为不创建对象,而是描述创建它们的方式。在程序代码中不直接与对象和服务器相连

29、接,而在其配置文件中对哪个组件需要哪项服务进行了描述。由控制反转技术容器负责将这些联系结合在一起。从结构上来说,Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如图 2.3 所示。面向普通个体户的轮胎仓储管理系统8图 2.3 Spring 框架的 7 个模块组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下: 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。B

30、eanFactory 使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。 SpringAOP:通过配置管理特性,SpringAOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。SpringAOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 SpringAOP,不用依

31、赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。 SpringDAO:JDBCDAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。SpringDAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。第二章 系统相关技术概述9 SpringORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatisSQLMap。所有这些都遵从Spring 的通用事务和 DA

32、O 异常层次结构。 SpringWeb 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 JakartaStruts的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。 SpringMVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity 和 POI。 另外,Spring2.5 提供了完全基于注释配置 Bean、装配 Bean 的功能,开发人员可以使用基于注释的 S

33、pringIoC 替换原来基于 XML 的配置。注释配置相对于 XML 配置具有很多的优势: 效率提升:注释配置可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。而采用独立的 XML 配置文件,开发人员在编写一个功能时,往往需要在程序文件和配置文件中不停切换,这种思维上的不连贯会降低开发效率。 程序的内聚性:注释和 Java 代码位于一个文件中,而 XML 配置采用独立的配置文件,大多数配置信息在程序开发完成后都不会调整,如果配置信息和 Java 代码 放在一起,有助于增强程序的内聚性。2.2.3 JPA 简介JPA 的全称为 Java Persistence

34、API,它作为 Java EE 5.0 平台标准的 ORM 规范,得到了所有 Java EE 服务器的支持。作为它的开发者,Sun 在充分吸收现有 ORM 框架的基础上,得到了一个易于使用、伸缩性强的 ORM 规范。从目 前的开源社区的反应上看,JPA 受到了较大的支持和赞扬,JPA 作为 ORM 领域标准化整合者的目标应该不难实现。 JPA 通过 JDK 5.0 注解或 XML 描述对象关系表的映射关系,并将运行期的实体面向普通个体户的轮胎仓储管理系统10对象持久化到数据库中,图 2.4 很好地描述了 JPA 的结构:图 2.4 JPA 的结构总的来说,JPA 包括以下 3 方面的技术: O

35、RM 映射元数据JPA 支持 XML 和 JDK 5.0 注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中; JPA 的 API用来操作实体对象,执行 CRUD 操作,框架在后台替我们完成所有的事情,开发者从繁琐的 JDBC 和 SQL 代码中解脱出来。 查询语言JPA 规范中使用的查询语言名为 JPQL。JPQL 是一种与数据库无关的,基于实体的查询语言。它是 EJB QL 的一个扩展,并加入了很多 EJB QL 中所没有的新特性。JPA 具有以下优势: 标准化第二章 系统相关技术概述11JPA 是 JCP 组织发布的 Java EE 标准之一,因

36、此任何声称符合 JPA 标准的框架都遵循同样的架构,提供相同的访问 API,这保证了基于 JPA 开发的企业应用能够经过少量的修改就能够在不同的 JPA 框架下运行。 对容器级特性的支持JPA 框架中支持大数据集、事务、并发等容器级事务,这使得 JPA 超越了简单持久化框架的局限,在企业应用发挥更大的作用。 简单易用,集成方便JPA 的主要目标之一就是提供更加简单的编程模型:在 JPA 框架下创建实体和创建 Java 类一样简单,没有任何的约束和限制;JPA 的框架和接口也都非常简单,没有太多特别的规则和设计模式的要求,开发者可以很容易的掌握。JPA 基于非侵入式原则设计,因此可以很容易的和其

37、它框架或者容器集成。 可媲美 JDBC 的查询能力JPA 的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句,可以看成是 Hibernate HQL 的等价物。 支持面向对象的高级特性JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,这样的支持能够让开发者最大限度的使用面向对象的模型设计企业应用,而不需要自行处理这些特性在关系数据库的持久化。2.2.4 Google Web Toolkit 简介Google Web Toolkit 简称 GWT 5,是一个由用于快速开发 Ajax 应用程序的 Java 开源框架,它是 Google 公司发布的基

38、于 Java 语言开发 Web2.0 应用的工具包。开发人员可以在他使用的 Java 开发工具(如 Eclipse)中用 GWT 来开发 Ajax 应用程序。当开发人员把程序部署到项目中时,GWT 编译器会把 Java 程序编译成适合于多种浏览器的 JavaScript 脚本和 html 文本,而在与后台交互方面实现了对 Ajax 的封装。 GWT 的核心是一个把 Java 源码编译成 JavaScript 代码的编译器,它能把开发人员的 Java 程序转换成一个界面美观、功能完全一样的 JavaScript 程序,GWT 有两种运行模式,主机模式和 Web 模式。当开发人员在做开发的时候,G

39、WT 可以像他所期望的那样动行在主机模式(如图 2.4 、图 2.5),此时,面向普通个体户的轮胎仓储管理系统12GWT 运行在计算机的 Java 虚拟机中,这种运行模式主要是用在对 GWT 程序的调试阶段。当完成 GWT 程序的开发后,开发人员可以用编译器将把应用程序编译成 JavaScript 和 html 文件,之后程序就能够像在主机模式下一样的运行于多种浏览器中,此时称为 Web 模式。图 2.4 Host 模式启动时第二章 系统相关技术概述13图 2.5 在 Host 模式下的 Hello World 例子GWT 有如下特性:1动态,可重用的 UI 组件GWT 提供的组件库使用户可以

40、很容易的开发出漂亮的 UI, 每个组件对应于GWT 的一个类。2简单的 RPC 调用使用 GWT,可以方便的实现客户端和服务器端的通信,特别是使得异步通信变的非常简单。3更加方便的调试由于在开发阶段不需要生成 HTML 截面,用户开发的代码实际上是在 JVM 上运行的,这样用户就可以用传统的调试 Java 代码的方法对程序进行调试,从而加快了调试的速度,减少了软件开发的时间。4浏览器兼容性在大多数情况下,用 GWT 开发出来的程序会支持IE、Firefox、Mozilla、Safari 和 Opera,用户在开发的时候不必担心浏览器面向普通个体户的轮胎仓储管理系统14的兼容性问题。而浏览器的兼

41、容性问题也是用直接用 JavaScript 进行 Ajax 应用开发所面临的一个另程序员棘手问题。5可扩展性如果觉得 GWT 提供的 API 不能满足需求,开发人员可以利用 JSNI 将JavaScript 语句直接嵌入至 Java 代码中。 72.3 本章小结在这一章节里面,我们列举并介绍了本次毕设所应用的集中开源框架和技术知识。首先,我们阐述了持续集成的概念,简单介绍了持续集成这一开发实践所能够为开发团队带来的优势。然后我们分析了持续集成的一般过程,以及进行这个过程所需要的三种工具:自动构建工具、持续集成服务器和版本管理工具。由于在持续集成服务器上我们选择了 Hudson,因此接着我们讲述

42、了 Hudson 这一新型的持续集成服务器的特点和优势。然后我们介绍了 Maven 定义和组成结构,以及使用 Maven 能够为开发团队的方便。其次,我们具体介绍了实现轮胎仓储管理系统的架构模式MVC 设计模式。简要介绍了 MVC 的三层结构:模型、视图、控制器,以及他们在实现过程当中起的作用。接着,我们讲述了这三层结构实现所依赖的技术:JPA、 GWT 和 Spring2.5。我们介绍了 JPA 这一规范的优势,因为通过 JPA 所实现的持久层是仓储管理系统的重要组成部分。而 GWT 不仅通过实现前台页面为客户带来了最直观的感受,也提供了和后来数据交互所须的功能,因而我们也介绍了 GWT 这

43、个工具的特点和优势所在。我们还介绍了 Spring 这一轻型框架,同时讲述了 Spring2.5 在系统实现过程中优秀的新特性:基于注释配置。下一章中我们将详细介绍仓储管理系统的具体实现,包括系统的主要功能需求、系统模块划分、系统主要模块的具体实现、系统主要应用的设计模式以及数据库的具体实现等。第三章 系统设计与实现15第三章 系统设计与实现3.1 系统概述3.1.1 开发背景与系统目标本人因于接受一位个体户的委托,为他所经营的轮胎销售仓储行业制作一个仓储系统。然后本人在经过一些调查后发现,在乡镇还有很多其他的个体户在从事同样的行业,并且他们使用人工手段进行商品出库入库管理,因此运作模式的信息

44、化程度极低,发展速度缓慢。因而本人希望用所学的知识,立足周围实际的社会需要,以真实的普通用户需求为基础,完成一套据有轮胎销售仓储管理职能的系统。通过这个轮胎仓储系统为用户提供方便、高效的运作环境,用自动化系统处理代替手工处理的繁琐和误差,及时、准确地反映仓储运营情况,从而为用户提高服务质量,从而为企业获得更好的经济效益。3.1.2 系统功能和模块划分结合实际的生产需求,经过一系列的调查和精心的设计,我们为仓储管理系统划分了一套系统的功能模块。主要的模块有:系统管理模块,商品管理模块,仓储管理模块、客户管理模块、查询管理模块以及票据管理模块。仓储管理系统功能模块图如图 3.1 所示:图 3.1

45、系统功能模块图系统管理商品管理仓库管理查询管理票据管理用户角色角色授权用户增加 用户增加 用户维护新增商品商品分类商品浏览商品出库新增仓库入库查询出库查询用户查询商品查询打印票据仓储管理系统票据模板商品入库管理仓库维护客户管理新增客户客户维护面向普通个体户的轮胎仓储管理系统163.2 仓储管理系统的功能需求描述3.2.1 仓储管理系统的用户需求仓储管理系统是针对企业仓库的商品货物的经常出入库和查询统计等方面工作而开发的管理软件。根据用户的要求,实现仓库的商品管理、出入库管理、查询管理及用户管理等功能。用户通过相应的模块,对仓库里的商品的基本情况进行更新、删除和查询,对商品的出库和入库进行管理,

46、对出入库明细进行查询,对使用该系统的用户进行更新、删除和查询,对库存数量进行查询,用户通过简单的操作即可轻松的管理仓库。3.2.2 仓储管理系统的具体功能需求描述系统管理模块对有权使用该系统的用户的基本情况数据进行更新、查询、删除等操作,并可以对用户进行授权,设置用户角色等,实现用户管理功能。如图 3.2 所示。图 3.2 用户管理用例图第三章 系统设计与实现17商品管理模块对仓库里所有商品货物的种类(包括名称、厂家等信息)进行更新、删除和查询等操作,实现商品管理功能。如图 3.3 所示。图 3.3 商品管理用例图仓储管理模块对仓库里商品货物实现出库和入库管理,查询出库和入库记录,办理货品的出

47、库和入库,并且能打印出入库单据,方便用户进行财务管理,并能提供出库和入库的明细帐,方便用户查询。如图 3.4 所示。面向普通个体户的轮胎仓储管理系统18图 3.4 仓储管理用例图客户信息管理模块对货物提供商、货物经销商的客户的信息进行维护,能够增加新用户、查询符合条件的客户,并对与客户有关的商品记录、出库入库记录进行维护。如图 3.5 所示。第三章 系统设计与实现19图 3.5 客户信息管理用例图3.3 系统实现3.3.1 系统主要模块实现系统管理模块:主要有用户增加、用户删除、用户修改、用户浏览等四个子模块组成。 用户增加子模块:主要实现用户增加功能,用户可以录入使用该系统的用户的详细资料,

48、并设定用户代码和密码。 用户授权子模块:主要实现用户授权功能,用户可以增加或删除用户权限。 用户修改子模块:主要实现用户修改功能,用户可以修改资料,不过为保证用户代码的唯一性,在这里用户代码不能修改。如面向普通个体户的轮胎仓储管理系统20确实需要修改,只能先删除该用户,在重新录入。 用户浏览子模块:主要实现浏览用户的功能,可以浏览使用该系统的所有用户。商品管理模块:主要有商品增加、商品删除、商品浏览 等三个子模块组成。 商品增加子模块:主要实现商品增加功能,用户录入商品的代码、规格、型号等一些商品的详细资料。 商品删除子模块:主要实现商品删除功能,可以删除商品资料。 商品浏览子模块:主要实现浏

49、览功能,用户可以浏览商品库里的所有商品的详细资料。仓储管理模块:主要有入库管理子模块和出库管理子模块组成。 入库管理子模块:主要实现商品货物的入库管理功能,商品的入库主要的操作来实现。 出库管理子模块:主要实现商品货物的出库管理功能,商品的出库主要的操作来实现。查询管理模块:主要实现商品货物的查询功能,它由入库查询、出库查询、商品查询、仓库查询这四个子模块组成。 入库查询子模块:主要实现商品入库查询功能,可以使用不同的关键字和不同地时间来查询商品入库情况。 出库查询子模块:主要实现商品出库查询功能,可以使用不同的关键字和不同的时间来查询商品出库情况。 商品查询子模块:主要实现商品查询功能,可以使用不同的关键字来查询商品的详细资料。 仓库查询子模块:主要实现仓库查询功能,可以使用不同的关键字来查询仓库里的商品的资料及库存数量。第三章 系统设计与实现213.3.2 主要算法流程图1.入库流程图开始选择入库商品的商品代号显示相关商品的资料输入入库商品的数量判断数据是否完整输入?完成入库,向入库表中添加入库记录,增加仓库表该商品的库存量。结束打印入库单据面向普通个体户的轮

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报