基于JAVA语言的物流管理系统的设计与实现毕业论文.doc_第1页
基于JAVA语言的物流管理系统的设计与实现毕业论文.doc_第2页
基于JAVA语言的物流管理系统的设计与实现毕业论文.doc_第3页
基于JAVA语言的物流管理系统的设计与实现毕业论文.doc_第4页
基于JAVA语言的物流管理系统的设计与实现毕业论文.doc_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

齐齐哈尔大学毕业设计(论文) 基于JAVA语言的物流管理系统的设计与实现毕业论文目 录摘要IAbstractII第1章绪论11.1选题依据和意义11.2本课题在国内外的研究现状11.3课题研究的内容及拟采取的方法2第2章系统开发模式、工具及环境32.1系统开发模式32.2系统开发环境的选择32.3系统运行环境的选择32.4系统实现过程中技术的选择3第3章需求分析软件需求规格说明书43.1引言43.2背景43.3任务概述53.3.1 目标53.3.2 用户的特点53.4需求规定53.4.1 对性能的规定63.4.2 系统用例图63.5运行环境规定9第4章系统总体设计104.1设计目的104.2系统模块结构设计:104.3系统功能结构描述114.4系统功能机构图11第5章系统的数据库设计145.1数据库的概念145.2数据库的选择145.3数据库设计14第6章系统开发技术介绍226.1JAVA开发语言的选择226.2MVC设计模式描述246.3Struts2,Hibernate技术描述256.3.1 Struts2描述256.3.2 Hibernate描述276.4SQL语言描述27第7章系统的详细设计与实现287.1架构Struts2框架和描述287.2架构Hibernate框架和描述297.3系统功能的实现307.3.1 系统的登录功能实现317.3.2 运通物流系统首页面设计317.3.3 人事管理模块实现327.3.4 货物信息管理实现357.3.5 车辆信息管理实现407.3.6 订单信息查询467.3.7 费用统计48结论49参考文献50致谢5152第1章 绪 论1.1 选题依据和意义此次毕业设计的选题主要来源于对齐齐哈尔市周边中小型物流公司和超市走访,了解到仍然有很多中小企业和超市对物流管理方面仍然处于纸和笔的操作。因此,在种种因素的影响下,使其部分物流管理仍然处于业务处理繁琐,工作效率低下的状态。为了达到信息化仓储、运输、车辆调度等管理,基于java的物流管理系统能够解决这一问题,并实现人机结合的方式,这也将是现代工作方式的主流。管理信息系统作为各项技术、业务、高水平管理及工作自动化的方法和式,正在广泛应用,它是为了实现系统的硬件、系统软件、应用软件及数据的共享,已经成为越来越破切的任务。人们生活工作与通信,目前都与信息的日益紧密,但很多的国内企业的仓库作业没有达到信息化,因此为实现信息数字化,开发中小型物流管理系统正是实现利用现有的信息基础设施,重点开发和推广应用于各类科技经济等数据库和网络资源服务系统,以便取得更大的社会效益有着总要的意义和价值。1.2 本课题在国内外的研究现状中国物流业近几年才开始起步,并进入发展期。由于我国计算机软件技术的发展迅速,也同时也解决了国内很多生产和管理技术的提升。因此,多数软件公司都以应用软件开发为主,实现办公自动化软件的推广和应用。多数以中小型企业管理软件为主,不论是制造还是运输、销售、仓储等方面都离不开计算机软件的管理。目前国内的物流管理系统都是根据公司规模的差距使物流管理系统的管理的内容也不尽相同,但是主要目的都是要以计算机为载体来解决当前庞大的数国外物流的发展不仅与社会经济和生产力的发展水平有关,同时也与科学技术发展的水平有关。国外的物流管理系统,随着新经济和现代信息技术的迅还发展,不论是物流管理软件系统的开发,还是其他应用型软件开发,在实现的功能上都达到了很高的水平。1.3 课题研究的内容及拟采取的方法研究内容及方法:物流管理系统包含的内容非常的广泛,但是对于不同的公司对软件功能的需求有所不同,所以我们对物流管理系统的功能模块的构思和设计也有所不同。主要运用Java web应用技术来实现该系统的功能,通过动态页面jsp来实现页面的显示和验证,应用Hibernate框架和Struts2框架来封装从而实现与数据库的交互和页面跳转达到了快速的软件开发。 第2章 系统开发模式、工具及环境2.1 系统开发模式在软件系统开发模式中,一般采用mvc模式,即视图层,逻辑层和控制层,但是在项目开发中,目前已经不局限于这种模式。 对于本系统的开发模式,我此次采用的是重新构建MVC架构:1系统开发模式主要分五层:JSP(HTML)视图层13、Struts2(使用它对动作Action的跳转进行管理)控制层、具体的业务逻辑(javaBean)、数据持久层(DAO,基于Hibernate的DAO)、service层(该层用来负责为模式层提供对应的DAO的接口,而不是直接在模式层中进行调用,降低对数据持久层的依赖度)。2service层的介绍:本次应用service层,主要是对数据持久层进行再次的封装,使得上层的操作不用理解底层的具体使用,只需要通过service提供相应的接口方法即可。这种做法降低了各层之间的耦合度。2.2 系统开发环境的选择 本次系统的开发环境我选择MyEclipse 7.0 软件作为编写程序的软件。该软件广泛应用于软件开发行业。由于版本的问题,MyEclipse6.0以下版本不支持Hibernate框架,所以我此次选择7.0版本。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。 2.3 系统运行环境的选择 系统运行环境,运通物流管理系统是基于Java Web 应用的系统软件,那么它就离不开服务器对它的支持,所以在服务器上我选择tomcat6.0版本,在对Java代码的编译上,本系统应用的是Sun公司出品的Jdk6.0版本。Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是6.0。2.4 系统实现过程中技术的选择目前软件开发都是基于框架开发的,目的是为了达到开发的快捷性,所以本次对运通物流管理系统的开发上,我也运用了这样的开发手段。应用的技术简介:在当今企业级的开发环境之下处理面向对象与关系数据库的转化是非常繁琐也相当费时的。1Hibernate是适合与处理对象关系映射的一个工具。Hibernate 2是对象/关系对应(Object/Relational Mapping)的解决方案,简写为ORM,简单的说就是将 Java 中的对象与对象关系,映像至关系型数据库中的表格与表格之间的关系,ORM这个术语指代一种映射数据的技术,它能够通过基于SQL的语法映射对象模型的数据到关系模型数据。这样就简化了对数据库的操作。2struts2框架:Struts是一个MVC框架(Framework),用于快速开发Java Web应用。 对于这两种技术,主要对项目的类,和方法,对象进行封装,因为在Java编程中,时刻都要将“封装”考虑在项目开发的整个过程中。这也降低了系统模块与模块,类与类之间的耦合度,使系统的结构更稳定。第3章 需求分析软件需求规格说明书3.1 引言 需求分析是软件开发的重要组成部分,需求分析是用户对软件功能需求的描述,通过详细了解用户对软件功能的要求从而达到软件需求面向用户的目的。该软件需求规格说明书正是对用户需求做的详细分析的文档。以便作为程序员今后编写该软件时进行参考。3.2 背景编写背景:因对该运通管理系统的功能进行用户需求分析,从而编写该文档,该文档是对运通管理系统的功能进行描述和可行性分析,达到正确的功能描述的目的。3.3 任务概述3.3.1 目标通过对运通管理系统用户的功能需求,编写需求文档,来记录分析该系统的具体功能和逻辑。 从而达到实现系统登录,入库管理,出入管理,库存管理,人事管理,以及车辆调度管理等模块的实现。为今后编写该软件程序做准备。运通管理系统,主要是为了方便对物流过程中对货物流通进行科学化管理,方便管理过程中的繁琐过程,提高物流管理的效率,通过客户的订单的生成,其他的一系列任务直接由操作员在电脑前完成所有繁琐操作。3.3.2 用户的特点该系统是对企业内部人员使用的应用软件,它是基于web应用的,因此面向的用户是企业内部人员。 具备基础的计算机知识的人即可对本系统进行操作。该系统包含了对企业内部的人事管理、客户信息管理、车辆调度和货物出入库信息管理、以及对货物状态的全程监管。确保了货物的流通状态的管理的顺畅。3.4 需求规定能够完全实现对公司产品流通过程中所有业务的包含,实现综合的管理和简单的操作即可,使操作简单化,可视化。在对系统要求方面要达到系统的稳定性。3.4.1 对性能的规定对系统的时间性要求:要求系统能够有快捷的操作响应。对系统编写代码是,优化系统结构和层次,达到提高系统性能的可操作性,提高系统效率。对精度要求:对数据库信息的存储,减少对数据库信息的冗余。减少页面缓存。3.4.2 系统用例图系统用例图(Use Case Diagram)是在软件需求分析到最终实现的第一步,也是软件开发中重要的组成部分。用例图定义:由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。 用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。 用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。用例图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素。以下是系统的用例图,使用用例图主要原因是它具有三个主要的作用:(1)获取需求;(2)指导测试;(3)还可在整个过程中的其它工作流起到指导作用。1登录模块用例图: 图3-1登录模块用例图图3-1登陆了模块用例图:主要来描述系统的操作人员通过访问主页面来登录本系统。此图也描述了系统的整个功能组成部分。2人事管理模块用例图:图3-2人事管理模块用例图图3-2人事管理模块用例图: 此图描述的是系统人事管理模块下的子系统的功能描述。通过访问系统的人事管理功能模块,来进行对员工信息管理,对客户信息管理。 从而对员工信息和客户信息进行操作。3货物信息管理用例图:图3-3货物信息管理模块用例图:此图是对货物信息管理模块的用例进行描述,该模块主要包含货物出库,货物入库和盘点三个功能点,此图详细的描述了该系统货物信息管理中子系统的关系和功能点。图3-3货物信息管理模块用例图4车辆信息管理用例图:图3-4车辆信息管理模块用例图图3-4车辆信息管理模块图:主要为客户描述车辆信息模块下的铁运、汽运、空运以及对车辆分配的功能描述。5货物信息查询模块用例图:图3-5货物基本信息查询管理模块用例图图3-5货物基本信息查询管理模块用例图:用于描述用户对货物信息的查询操作描述。6盘点信息模块用例图: 图3-6盘点信息管理模块用例图图3-6盘点信息管理模块用例图:主要描述盘点库存功能用例内容,来对其子系统的概要描述。此模块包含对货物信息的费用计算。3.5 运行环境规定要对Windows XP 或Windows 7 系统兼容。系统必须具备安装Oracle10g和Tomcat6.0 的基本硬件要求。第4章 系统总体设计4.1 设计目的系统设计又称为物理设计,是开发管理信息系统的第二阶段,本章是总体设计,其任务是设计系统的框架和概貌,此阶段是开发人员进行的工作,他们将系统设计阶段得到的目标系统的逻辑模型转换为目标系统的物理模型,该阶段得到工作成果系统总体设计是下一个阶段系统实施的工作依据。4.2 系统模块结构设计图4-1是系统模块结构图,主要描述对此系统的功能结构的总体描述。该系统包含登录模块,人事管理模块,货物信息管理模块,车辆信息管理模块,货物信息查询以及费用统计等。此图采用Microsoft Office Visio 2003软件来生成的。 它详细的描述了本系统中各个模块的应用功能内容。 图 4-1 系统模块结构图4.3 系统功能结构描述1.用户登录模块:实现用户登录后可对用户名和密码进行修改。并要求用户的验证在数据库后台进行验证,不是前台页面中对用户名和密码进行检验。为了达到安全性,系统登陆后不能再通过web浏览器的后退按键会退到此登陆页面。2人事管理模块:任何操作都离不开人员,因此对人员管理方面要实现对员工的信息的添加和更新删除等操作。另一方面是对客户信息的管理,也要具有查询和修改的功能。3货物信息模块: 要对货物入库和出库进行管理,对已经处理完的内容进行删除,并存入其他表中,达到数据有据可寻的目的。 另一点是对库存的信息进行定期盘点。对在途货物信息进行监控。4对公司运输车辆进行管理:主要是对车辆的调度,都要具备增加和更新的功能。对订单中采用车辆运输的部分,进行车辆分配。5对本系统基本信息的综合查询功能:按照订单查询,按车牌号查询车辆,按日期查询盘点内容等。4.4 系统功能流程图该图主要是对系统的功能流程的描述:当系统的客户有货物运输需求时,系统的管理员会对客户的需求进行分析,从而对客户的信息进行编辑。首先生成客户订单,客户订单中主要包含了客户的基本信息,比如客户的编号、客户的所属公司、客户的公司的所在地以及客户的联系方式等。当客户订单生成后,会对客户的收货人进行添加。客户的收货人主要是对货物到达目的地后接受货物的人员的信息进行管理。主要包含联系人的姓名、地址、电话、以及Email等信息。客户订单以及客户的联系人已经产生,那么此时就要对订单详细进行编辑,客户订单详细主要是对运输的货物进行详细的描述,包含数量,类别,货物名,货物条形码,以及货物的颜色,体积等内容。 它是对货物的信息的一个详细的描述,为系统管理员提供货物的详细信息作依据。 此时是货物的入库操作,当货物到达仓库后,要对货物进行货物入库操作,此时要记录货物是属于哪个订单货物,此时管理员要对其进行记录。 当货物入库后,系统操作员可以查看在库货物的信息。当货物出库时,要记录出库货物是属于哪个订单的,同时要分配出库货物订单运输方式,管理员根据货物订单要求的运输方式分配相对应的运输方式。此操作包含汽运,铁运以及空运等方式,每次分配操作时,同时记录一条数据,使此数据和订单一一对应。当货物出库分配运输方式后一律可以看做是“在途”状态。图4-2 系统功能流程图 分配运输方式时,铁运信息根据铁路运输的车次进行分配,空运按照不同时间的航班进行分配,汽运管理信息是按照本公司内部的车辆进行有序化管理的。汽运管理分配的就是本公司内部的车辆,不同车辆的详细信息可以通过系统来管理。 在货物到达目的地时,收货人确认收货后,操作员改变货物“在途”状态,其订单上由操作员编辑货物是“否到达目的地”一项来标注货物订单。此时货物的订单就已经处理完毕。第5章 系统的数据库设计5.1 数据库的概念当人么从不同角度描述数据库的概念是,往往会有不同的概念。例如,有人称数据库是一个“记录保存系统”(该定义强调了数据库是若干记录的集合)。又比如说数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。也有人将数据库当做是“一个数据仓库”。当然,这些描述都很形象,但是并不是那么严谨。严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。本系统将使用一直以来使用都最为广泛的关系模型作为数据库的建设依据。在用户的观点下,关系模型中数据的逻辑结构是一张二维表,一个关系对应通常说的一张表,并且关系的每一个分量必须是一个不可分的数据项。而一个基于关系模型的数据库则是由若干个二维表组成的。对于一些大型和中型的数据库,如Oracle,SQL Server 2000/7.0等都属于关系型数据库,同时它们所带有的数据库管理工具是其他小型数据库所没有的,而同时这些工具又为管理员的工作节省了很多的时间和财力。5.2 数据库的选择在选择数据库上,我选择目前市场上占有率最大的Oracle数据库,这次我应用的是Oracle 10g. 我们以前使用数据库连接,都是使用单联接(或单例模式),但是在大并发量出现的时候,总有可能会达到数据库连接数的上限。那么应用数据池(DATA POOL)可以解决系统因访问量过多而崩溃的问题。但是使用了数据池并不是为了解决连接数据库速度的问题,而是为了实现数据连接的稳定性和提高并发的能力。但是由于此系统是用于企业内部的,访问量的并发性要求不高,因此此系统部分内容采用数据库的单链接。5.3 数据库设计概念模型是对信息世界建模,其表示方法有很多,其中最为常用的是实体联系模型,即ER模型,它是用ER图来描述现实世界的概念模型。ER图中用矩形表示实体;用菱形表示联系。如图:5-1系统E-R图。 图5-1 系统E-R图该图只是描述了系统的实体与实体之间的关系,并没有添加实体的属性内容。由图可知,系统的管理员对系统员工信息、货物入库出库信息、车辆信息、以及货物订单和客户信息都是一对多的关系。Office Visio 2003 或者Office Visio2010 是一种便于 IT 和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流的构图软件。因此这里用了此软件来画各种流程图,而不是用Microsoft Word2003或者是Microsoft Word2007,因为这会使开发更加的快捷,而不至于因构图而浪费时间。为了清楚简便的描述出实体与其性之间的关系,用Microsoft Office Visio 2003软件生成了一张包含实体属性的完ER图,见图5-2和图5-3。图 5-2 系统表的完整关系模型图 5-3 系统表的完整关系模型以上两个图 5-2和图5-3描述了运通物流管理系统的表与表之间的字段的关系,它更鲜明的显示了表结构的关系。例如:系统的人事表 ytrenshi 与车辆信息表 chenliang 对应的主外键关系一目了然,cheliang表中主键是cheliang_num 外键是cheliang_siji (员工编号),对应ytrenshi表中的主键ytrenshi_worknum 关系。系统表的建立:表5-1 用户表 ytuser字段描述字段名数据类型是否为空主键编号ytuser_idvarchar2(10)notnullPK用户名ytuser_namevarchar2(30)notnull用户密码ytuser_pwdvarchar2(30)notnull表5-1 用户表中主键是用户编号,其中用户名唯一,不能为空,用户密码不能为空,其中用户名和用户密码是用户进入系统的为一标识。表5-2人事表 ytrenshi字段描述字段名数据类型是否为空主键工作证号ytrenshi_worknumvarchar2(30)notnullPK姓名ytrenshi_namevarchar2(30)notnull性别ytrenshi_sexvarchar2(30)notnull出生年月ytrenshi_chushengvarchar2(50)notnull身份证号ytrenshi_cardnovarchar2(30)notnull居住地址ytrenshi_addressvarchar2(50)notnull联系电话ytrenshi_telvarchar2(20)notnull部门编号tyrenshi_bumennumvarchar2(30)notnullFK表5-2是系统的人事表信息,它存储了该系统的使用的公司的整体员工信息。 其中员工的工作证号是主键,它存储了员工的姓名、性别、出生年月、省份证号、居住地址、联系方式、部门编号等信息,其中部门编号是外键。由于任何一个系统或者一个企业都离不开人员,因此此处设计一个对企业内部人员信息的表,其中部门编号标识了员工所在的部门,部门编号是部门表的主键,那么此处可以通过部门编号来查询部门信息。从而查看员工所在的部门信息。表5-3用户部门表 ytbumem字段描述字段名数据类型是否为空主键部门编号ytbumen_numvarchar2(30)notnullPK部门名称 ytbumen_name varchar2(30) notnull表5-3用户部门表 主要由部门编号和部门名称组成,其中部门编号是主键。它存储了部门信息的详细内容。 表5-4客户信息表 ytclient 字段描述字段名数据类型是否为空主键客户编号ytclient_numvarchar2(30)notnullPK公司名称ytclient_gsnamevarchar2(30)notnull公司所在地址ytclient_gsaddvarchar2(50)notnull联系人姓名ytclient_pervarchar2(30)notnull联系电话ytclient_telvarchar2(20)notnullemailytclient_emailvarchar2(30)notnull订单号ytclient_dingnumvarchar2(50)notnull备注ytclient_beizhuvarchar2(100)表5-4客户信息表主要存储客户的基本信息,主要由客户编号、公司名称、公司所在地址、联系人姓名、联系电话、Email和订单号、备注组成。它主要是存储客户的基本信息。表5-5收货人信息表 shouhren字段描述字段名数据类型是否为空主键编号shouhren_numvarchar2(30)notnullPK收获公司shouhren_gongsivarchar2(30)notnull收货人shouhren_namevarchar2(30)notnull所在地shouhren_addressvarchar2(50)notnull联系电话shouhren_telvarchar2(30)notnullemailshouhren_emailvarchar2(50)notnull订单号shouhren_dingvarchar2(50)notnull收获状态shouhren_typevarchar2(10)notnull备注shouhren_beizhuvarchar2(100) 表5-5收货人信息表,主要存储收货人的基本信息。 其中主键是收货人编号。表5-6 客户订单表 khdingdan字段描述字段名数据类型是否为空主键客户编号khdingdan_knumvarchar2(50)notnull订单编号khdingdan_dnumvarchar2(50)notnullPK运输方式khdingdan_ystypevarchar2(30)notnull发货目的地khdingdan_fhvarchar2(50)notnull收获人编号khdingdan_shrnumvarchar2(50)notnull预发时间khdingdan_ftimevarchar2(50)notnull遇到达时间khdingdan_dtimevarchar2(50)notnull订单生成时间khdingdan_stimevarchar2(50)notnull是否已经发货hkdingdan_typevarchar2(10)notnull操作员姓名hkdingdan_czyuanvarchar2(30)notnull操作员人所在地hkdingdan_czaddvarchar2(50)notnull备注khdingdan_beizhuvarchar2(100)表5-6客户订单表主要描述的是客户编号、客户发货时间、到达时间等基本信息,为订单详细信息提供客户的基本信息作简单描述和存储。表5-7订单详细表 ddxiangxi字段描述字段名数据类型是否为空主键订单序号dd_idvarchar2(50)notnullPK订单编号dd_ddnumvarchar2(50)notnull产品编号dd_cpnumvarchar2(50)notnull产品条形码dd_cptmvarchar2(50)notnull产品类别dd_cpleibievarchar2(50)notnull产品名称dd_cpnamevarchar2(50)notnull产品颜色dd_cpyansevarchar2(50)notnull产品体积dd_cptijivarchar2(50)notnull产品数量dd_cpshuliangvarchar2(30)notnull单位dd_cpdanweivarchar2(20)notnull产品箱号dd_xianghaovarchar2(50)notnull运输方式dd_ysfangshivarchar2(20)notnull运输编号dd_ysbianhaovarchar2(50)notnull备注dd_beizhuvarchar2(100)表5-7订单详细表,主要存储订单的详细信息,它主要是对货物信息的描述。通过客户订单的订单编号可以查找到详细的订单内容。也就是这个表的内表5-8入库信息表 Inputimage字段描述字段名数据类型主键入库编号input_numvarchar2(50)notnullPK订单号input_ddnumvarchar2(50)notnull产品类别input_cpleibievarchar2(50)notnull产品名称input_cpnamevarchar2(50)notnull产品所属公司input_suoshuvarchar2(50)notnull产品编码input_cpnumvarchar2(50)notnull产品箱号input_cpxianghaovarchar2(50)notnull产品总数量input_cpshuliangvarchar2(50)notnull实际入库数量input_shijirukuvarchar2(50)notnull单位input_danweivarchar2(10)notnull入库时间input_rutimevarchar2(50)notnull入库是否已完成input_rutypevarchar2(10)notnull备注input_beizhuvarchar2(50)表5-8入库信息表主要存储已经入库的货物信息,也就是货物信息的详细记录。其中主键是入库编号。由系统自动生成。表5-9 出库信息表 outputimage字段描述字段名数据类型是否为空主键出库编号output_numvarchar2(50)notnullPK订单号output_ddnumvarchar2(50)notnull产品类别output_cpleibievarchar2(50)notnull产品名称output_cpnamevarchar2(50)notnull产品所属公司output_suoshuvarchar2(50)notnull产品编号output_cpnumvarchar2(50)notnull产品条形码output_cptiaovarchar2(50)notnull产品箱号output_cpxianghaovarchar2(50)notnull应出库总数量output_yckshuliangvarchar2(30)notnull实际出库数量output_shijichukuvarchar2(30)notnull单位output_danwei varchar2(10)notnull出库时间output_outtimevarchar2(50)notnull是否已完全出库output_outtypevarchar2(10)notnull是否已到达目的地output_mddtypevarchar2(10)notnull备注output_beizhuvarchar2(100)表5-9出库信息表,主要存储出库信息记录。标识货物的状态,是否已经完成出库货物的操作。表5-10库存信息表 Kucunxinxi字段描述字段名数据类型是否为空主键入库编号kucun_numvarchar2(50)notnullPK订单号kucun_ddnumvarchar2(50)notnull产品类别kucun_leibievarchar2(50)notnull产品名称kucun_cpnamevarchar2(50)notnull产品所属公司kucun_suoshuvarchar2(50)notnull产品编号kucun_cpnumvarchar2(50)notnull产品条形码kucun_tiaoxingvarchar2(50)notnull产品箱号kucun_xianghaovarchar2(30)notnull产品数量kucun_cpshuliangvarchar2(30)notnull实际入库数量kucun_rukushuvarchar2(30)notnull单位kucun_danweivarchar2(10)notnull入库时间kucun_rktimevarchar2(50)notnull出库数量kucun_ckshuvarchar2(30)notnull备注kucun_beizhuvarchar2(100)表5-10库存信息表主要存储已经入库的信息。在这里它是辅助入库信息的记录的,为了达到便于用户查询的目的建立的一张信息表。第6章 系统开发技术介绍6.1 JAVA开发语言的选择现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行,使用最多,最为先进的可用作企业级开发语言的产品有:SUN公司的JavaMicrosoft公司的Visual BasicMicrosoft公司的Visual CBorland公司的DelphiPowersoft公司的PowerBulider在目前市场上这些众多的程序开发工具中,有些强调语言的弹性与执行效率;有些偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的不同需求。我的网站选择Java语言开发,其原因基于以下几点:Java是一种简单的、面向对象的、分布式的、健壮的、安全的、结构中立的、可移植的、性能很优异的12、多线程的、动态的语言。 1. 简单 Java的风格类似于C+,并且摒弃了C+中容易引发程序错误的地方,如指针和内存管理。 此外Java提供了丰富的类库。 2. 面向对象 面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的。Java支持静态和动态风格的代码继承及重用。 3. 分布式14 Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。4. 健壮 Java致力于检查程序在编译和运行时的错误。Java自己操纵内存减少了内存出错的可能性。Java提供Null指针检测数组边界、检测异常出口、字节代码校验。 5. 安全 Java的安全性可从两个方面得到保证。一方面,在Java语言里,像指针和释放内存等C+功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。6结构中立 为了建立Java作为网络的一个整体,Java将它的程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。Java源程序被编译成一种高层次的与机器无关的byte-code格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。 7. 可移植的 Java的可移植性一直是Java程序设计师们的精神指标,也是Java之所以能够受到程序设计师们喜爱的原因之一,最大的功臣就是JVM的技术。JAVA编译器产生的目标代码(J-Code) 是针对一种并不存在的CPU-JAVA虚拟机(JAVA Virtual Machine),而不是某一实际的CPU。JAVA虚拟机能掩盖不同CPU之间的差别,使J-Code能运行于任何具有JAVA虚拟机的机器上。 8. 高性能 Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300,000个过程。翻译目标代码的速度与C/C+的性能没什么区别。 9. 多线程16 Java支持多线程,多线程功能使得在一个程序里可同时执行多个小任务。线程,有时也称小进程,是一个大进程里分出来的小的独立的进程。10. 动态 Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类,这是C+语言进行面向对象程序设计所无法实现的。Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。6.2 MVC设计模式描述MVC12是Model-View-Controller的简称,它是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。视图是用户看到并与之交互的界面,作用包括向用户显示相关的数据、接受用户的输入、向模型查询业务状态、接受模型发出的数据更新事件,从而对用户界面进行同步更新。模型表示业务数据和业务逻辑,是应用程序的主体部分。一个模型能为多个视图提供数据,因此提高了代码的可重用性。控制器接受用户的输入并调用模型和视图去完成用户的需求。当Web用户单击Web页面中的递交按钮来发送HTML表单时,控制器本身不输出任何东西和做任何处理。控制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。MVC的优点表现在如下几个方面:1首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。2由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松偶合的构件。3此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。MVC处理过程的结构图,见图6-1。图6-1 MVC模式图6.3 Struts2,Hibernate技术描述6.3.1 Struts2描述Struts29 是目前JavaWebMVC框架中不争的王者。Struts2由一组相协作的类(组件)、Serlvet以及jsptaglib组成。由于Struts 实质上就是在JSP Model2的基础上实现的一个MVC框架,所以基于struts构架的web应用程序基本上符合JSPModel2即MVC的设计标准。其中的模型是JavaBean,控制器是ActionServlet、Action,视图是JSP、Struts客户化标签。 Struts2的体系与Struts1体系的差别非常大,因为Struts2使用WebWork的设计核心,而不是Struts1的设计核心。Struts2中大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与Servlet API分离。Struts2 控制器组件主要包括:充当Struts2框架的中央控制器的ActionServlet组件、充当每个子应用模块的请求处理器的RequestProcessor组件、负责处理一项具体的业务的Action组件。其工作流程如图6-2:图6-2 Struts2流程图Struts2的另一特点是使用Acti

温馨提示

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

评论

0/150

提交评论