《旅游管理系统论文.doc》由会员分享,可在线阅读,更多相关《旅游管理系统论文.doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流旅游管理系统论文.精品文档.JIU JIANG UNIVERSITY毕 业 论 文 题 目 基于J2EE的制造企业业务管理 系统的设计与实现 英文题目 Design and Implementation of Manufacturing Enterprise Business Management System Based on J2EE院 系 信息科学与技术学院 专 业 计算机科学与技术 姓 名 熊小刚 班级学号 A061111 指导教师 魏启明 二一年五月摘 要伴随着英特网的蓬勃发展,自动化的管理和办公备受各企业的青睐。自动化办公不仅兼顾
2、个人办公效率的提高,更重要的是可以实现群体进行信息的交流,工作的协调与合作,它可以将诸如信息采集、查询、统计等功能与具体业务密切关联。操作人员只须点击一个按钮就可以得到想要的结果,从而极大得方便了企业领导的管理和决策,从而达到了提高企业效率的目标。系统主要结合当代制造企业的特点,采用基于J2EE技术构建一个自动化的制造企业的业务管理系统。系统采用基于Windows XP操作系统,SQL Server 2000数据库,Tomcat作为应用服务器的开发环境,使用JSP,JAVABEAN,SERVLET等技术。系统分为三大模块,第一个模块为基础数据的管理,主要实现了对部门、员工、产品、客户、零件等基
3、础数据的增、删、改、查。第二个模块为业务流程的管理,主要实现了业务信息按照预定的流程在各个部门流转,通过流程中的信息可以清晰的观察到当前作业任务的状态以及生产过程中存在的一些问题。第三个模块为统计报表,主要是实现了对订单的统计,用户输入订单的起始时间,就可以一目了然的看到这段时间内的订单统计信息。通过该业务管理系统,企业员工只需登录就可以观察到整个企业生产作业计划及实际情况,并能和相关部门人员进行交流。关键词:业务管理系统,信息服务,企业效率AbstractIn the increasingly fierce market competition, the enterprises must b
4、e strive to improve their econmic efficiency and enhance their own competitive power to avoid being eliminated. The main method to improve the competitiveness is reinforce the management, in the management methods, models, instruments and tools for practical reforms. With the vigorous development of
5、 the Internet, many enterprises are in favor of the automation management and automation office. Office automation is not only take account of personal office efficiency, more importantly, it enables the exchange of information groups, work coordination and cooperation in, it can be such as informat
6、ion collection, query, statistics and other functions closely related with the specific business. The operator simply clicks a button to get the desired result, so it greatly facilitated for the business leaders at the management and decision-making, also as to achieve the goal of improving business
7、 efficiency.The system is try to use J2EE technology to build an automated manufacturer enterprise bussiness management system, which is in Windows XP, SQL Server 2000 for database development in platform, Tomcat application server as a network information services, use jsp, javabean, servlet and ot
8、her technology development system. The system mainly consists of business issued, design drawings, row materials into the purchase, production scheduling, quality inspection, product leave the factory and other sectors of information flow management. Main achieve the following function, departments,
9、 employees, products, customers and other basic data management, achieve the business information according to scheduled workflow turn in different departments, finally can base on the request forming a variety of statistical reports.KeyWords: Business Management System, Information Services, Busine
10、ss Efficiency.目 录摘 要IAbstractII1 概述1.1背景分析(1)1.2系统研究的意义和内容(1)1.3系统功能简介(2)1.4论文组织(3)2 系统需求分析2.1系统功能需求(4)2.2系统E-R图(5)3 系统总体设计3.1设计目标(8)3.2系统功能结构图(8)3.3系统架构图(10)4 系统详细设计4.1 数据库设计(11)4.2 系统流程图(16)4.3 业务流程图(17)5 系统实现5.1 系统开发环境介绍(18)5.2系统开发主要技术简介(18)5.3系统主要模块的实现(19)5.4系统截图(29)6 系统测试6.1 系统测试概述(33)6.2 系统测试(
11、33)7 总结致 谢(39)参考文献(40)1 概述1.1背景分析随着计算机技术的迅速发展和普及,管理信息系统已经深入到各行各业。信息是对决策者有价值的数据,主要特征是来源分散,数量庞大,来源于生产第一线,来源于社会环境,来源于市场,来源于行政管理等部门。企业从信息管理的角度可划分为物流和信息流1。生产过程是一个物流的投入产出过程,且是不可逆的过程。在这个网络飞速发展以及市场竞争日趋激烈的时代环境下,合适的管理信息系统已成为企业的发展利器。所谓管理信息系统(Management Information System),主要指的是进行日常事物操作的系统2。这种系统主要用于管理需要的记录,并对记录
12、数据进行相关处理,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。目前,企业的计算机网络已成为企业进行技术改造及提高企业管理水平的重要手段。基于Web的管理信息系统是对传统管理信息系统概念上的扩展,它不仅可以用于高层决策,而且可以用于进行普通的商务管理。通过用户的具名登录(或匿名登录),以及相应的权限控制,可以实现在远端对系统的浏览、查询、控制和审阅。基于Web的MIS系统技术同传统的MIS技术
13、有相似也有区别3。相似之处在于技术的理念,区别之处在于技术的实现。以下将设计与实现一个基于J2EE的制造企业业务管理系统,当然这也是一个基于Web的管理信息系统。1.2系统研究的意义和内容传统的制造企业业务管理采用的是人工管理方式,这种管理方式不仅需要投入大量的人力和物力,而且对于庞大的数据和工作流常常缺乏有效的管理。因此,经常出现数据错误的现象。当数据出现问题时又不得不需要更多的人力和物力去核查错误数据,这对于企业造成了极大的浪费4。为了解决上面所描述的传统的制造企业业务管理存在的问题,本文提出一种基于J2EE的制造企业业务管理系统。通过采用计算机技术,对比以往的人工管理方式,可以得到以下改
14、观:节约成本,采用信息化技术可以实现办公无纸化,避免人工进行操作和记录的繁杂手续,减少相关人力和物力资源,从而可以大大节约成本。管理方便,对于大数量的数据,提供高效快捷的管理。提高效率,通过系统使业务管理工作系统化、规范化、自动化,从而达到提高管理效率的目的,同时可以实现群体进行信息的交流,工作的协调与合作。除此之外,业务管理系统为用户提供良好的操作环境,系统由于采用B/S架构,从而能为工作人员提供简洁而高效的服务,只需在浏览器中即可完成工作流程,为企业用户提供了一站式服务5。而B/S架构本身对于系统的升级和维护也非常的方便,从而可以减少日常使用中系统维护的费用,系统采用了目前已经相对成熟的J
15、ava Web技术进行开发。1.3系统功能简介系统主要实现一个用于制造企业的业务管理系统,包含业务下达、设计图纸、原料进购、生产调度、质量检验、产品出厂等环节的信息流管理。主要包含以下功能:(1)基础数据管理部门信息、客户信息、员工信息、零件信息、产品信息等。(2)业务流程管理 实现业务信息按照预定的流程在各个部门的流转,主要包括以下5个流程:营销员下达生产任务。技术部门设计相关图纸。采购部门进行原料的进购。生产部门进行生产调度。质检部门进行质量检验。(3)统计报表根据要求,形成各种业务统计报表。1.4论文组织论文重点介绍了系统的实现过程:包括系统需求分析、系统总体设计、系统详细设计、系统实现
16、、 系统测试和调试。也给出了重要功能的代码实现。全文共分七章。(1)第一章概述,介绍背景分析,系统研究的意义和内容,系统功能,以及论文的结构组织。(2)第二章系统需求分析,主要通过系统功能分析以及系统E-R图来介绍系统的需求分析。(3)第三章系统总体设计,该章首先说明系统的设计目标,以及通过使用系统总体结构图来展示系统的总体设计。(4)第四章系统详细设计,主要介绍系统数据库设计和功能模块的流程。(5)第五章系统实现,首先介绍系统的开发环境,然后通过一些代码和系统运行截图展示一些主要模块的实现。(6)第六章系统测试,通过一些测试数据,以验证系统主要模块正常运行。(7)第七章总结,对本论文所做工作
17、进行了总结以及存在的一些不足之处。2 系统需求分析2.1系统功能需求为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求,对软件需求的深入理解是软件开发工作获得成功的前提条件6。通过实地调研,根据实际需求,确定本系统需要完成以下功能:(1)部门信息管理对企业内部部门分类的各种信息进行管理,例如:部门信息显示、添加部门、修改部门、删除部门。(2)客户信息管理对于工作中客户信息提供必要的数据维护,例如:添加客户,查询客户,客户列表,修改客户,删除客户。(3)员工信息管理对企业各部门内部工作人员的各种信息提供管理,例如:添加员工,删除员工,修改员工信息,员工列表显示等。(4)产品信息管理对企
18、业生产的产品的各种信息提供管理,例如:添加一种新产品、删除产品、修改产品、产品信息显示等。(5)零件信息管理对组装产品所需的各种零件的各种信息提供管理,例如:添加零件、删除零件、修改零件、零件信息显示等。(6)业务流程管理任务管理:对营销员下达的生产任务提供各种信息管理,包括订单及其相应任务的信息管理,其中订单编号要根据当前年月自动生成,如果是本月第一张订单,例如2010年6月,则编号为201006001,其他订单编号为在本月最大订单编号上自动加1,同时提供对订单及任务的增、删、改。图纸设计:技术部门对任务设计相关图纸,实现图纸上传功能。图纸审核:专业的技术人员对前面设计的图纸进行审核,填写审
19、核结果以及审核意见。分配零件清单:对每个生产任务分配所需零件清单,要求填写所需零件名称、型号规格、所需数量等信息。分配生产任务:对每个生产任务安排生产工人以及每个工人所要完成的数量、日期。产品质检:质检部门人员对生产出来的零件和产品填写质检结果。产品出库:填写产品的出库信息。(7)统计报表根据要求,形成各种统计报表。(8)权限分配根据员工所属部门为每一个工作人员授予不同权限。(9)用户密码修改系统默认每个用户刚开始密码都一样,用户进入系统后可以修改设置自己独有的密码。2.2系统E-R图系统基本的E-R图如图2-1所示,对每个实体定义的属性如下:部门(id,部门名称)员工(id,部门id,姓名,
20、工号,性别,出生日期,职务,入职日期,联系电话,身份证号,权限,密码)产品(id,产品名称,型号规格)零件(id,零件名称,型号规格)客户(id,客户名称,客户地址,联系人,联系电话)订单(id,订单编号,客户id,订货日期,订金,营销员)任务(id,任务编号,产品id,数量,单价,交货日期,状态,订单id)状态(id,状态说明)工艺要求(id,任务id,内容,填写人员,填写日期)图纸(id,任务id,图纸名)审核意见(id,任务id,审核结果,审核意见,审核人员,审核日期)零件分配(id,任务id,零件id,数量,填写人员,填写时间)生产安排(id,任务id,工人id,零件id,数量,完工时
21、间,填写人员,填写时间)质检(id,生产安排id,不合格,一等品,二等品,三等品,质检员,质检时间)出库(id,任务id,数量,填写人员,填写时间)图2-1系统E-R图3 系统总体设计3.1设计目标操作方便、使用灵活是计算机软件最基本的特征,也是所有软件设计者在设计软件过程中的共同目标,同时还是计算机软件区别于手工操作的一个重要标志,因此,在编写软件的时候,要尽量从用户的角度出发,使软件具有可操作性、可移植性和可维护性,真正达到软件使用方便、实用性强的目的7。本系统设计需要达到以下几个目标:(1)较为友善的人机交互界面,交互性强。(2)信息的查询快捷方便。(3)某些部分应采取模糊查询。(4)实
22、现高效准确的管理各种信息。(5)实现业务信息按照预定的流程在各个部门的流转。(6)根据用户所在的部门分配权限。3.2系统功能结构图系统采用模块化管理,模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一定的子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。有效模块化的软件比较容易开发出来,同时独立的模块化比较容易测试和维护8。通过前面的需求分析,确定本系统的功能结构图如图3-1所示。图3-1 系统功能结构图 员工登陆系统后,如果拥有管理员权限的话,可以对基础数据进行管理,如果只是普通员工,则根据其所在部门和他所拥有的权限可以查看相应模块并完成相应操作。当然也
23、可以给某人所有权限,比如公司老总,那么他就可以查看图3-1中所有模块信息,这样他就能随时监督整个作业流程的操作并可以看到当前任务的最新进展。3.3系统架构图首先要说明是系统采用是B/S架构,即浏览器和服务器结构,B/S是对C/S(客户端/服务器)结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现9。系统采用传统的Model1开发模式,又被叫做JSP+Bean的开发模式,所有的业务逻辑都被封装到JavaBeans组件中,所有的交互代码,包括解析请求、生成响应的代码都包含到JSP
24、页面中,该模型是以JSP为核心的模型10。系统架构图如图3-2所示。HTTP请求HTTP响应消息JavaBean(Model)数据库浏览器JSP图3-2 系统架构图HTTP响应消息4 系统详细设计4.1 数据库设计4.1.1创建数据库为保障系统的移植性,新建一个数据库。系统使用SQL Server 2000,直接在 SQL Server 2000的企业管理器中新建即可,命名为:ManuFactory。4.1.2 建立表结构根据2.2章节中的内容,依据系统实体关系的分析,建立相应的表结构,并维持其间的关系。主要的数据表结构包括:员工信息表如表4-1所示;部门信息表如表4-2所示;客户信息表如表4
25、-3所示;产品信息表如表4-4所示;零件信息表如表4-5所示;订单信息表如表4-6所示;任务信息表如表4-7所示;图纸信息表如表4-8所示;工艺要求信息表如表4-9所示;审核意见信息表如表4-10所示;状态信息表如表4-11所示;零件分配信息表如表4-12所示;生产安排信息表如表4-13所示;质检信息表如表4-14所示;出库信息表如表4-14所示。表4-1 员工信息表字段名数据类型说明IDint主键,长度4姓名varchar长度20工号varchar长度20年龄int长度4性别varchar长度10部门IDint外键,长度4职务varchar长度20密码varchar长度20表4-2部门信息表
26、字段名数据类型说明IDint主键,长度4部门名称varchar长度20表4-3 客户信息表字段名数据类型说明IDint主键,长度4顾客名称varchar长度20地址varchar长度50电话varchar长度20表4-4 产品信息表字段名数据类型说明IDint主键,长度4产品名称varchar长度20表4-5 零件信息表字段名数据类型说明IDint主键,长度4零件名称varchar长度20规格型号varchar长度20库存量int长度4表4-6 订单信息表字段名数据类型说明IDint主键,长度4订单编号varchar长度50表4-7 任务信息表字段名数据类型说明IDint主键,长度4任务编号v
27、archar长度20单价varchar长度20数量int整型交货日期datetime长度8状态IDint外键,长度4订单IDint外键,长度4产品IDint外键,长度4表4-8 图纸信息表字段名数据类型说明IDint 主键,长度4任务IDint外键,长度4文件名varchar长度20表4-9 工艺要求信息表字段名数据类型说明IDint主键,长度4任务IDint外键,长度4内容varchar长度50填写时间datetime长度8填写人员varchar长度20表4-10 审核意见信息表字段名数据类型说明IDint主键,长度4审核结果varchar长度50审核意见varchar长度50审核人员var
28、char长度20审核时间datetime长度8任务IDint外键,长度4表4-11 状态信息表字段名数据类型说明IDint主键,长度4状态说明varchar长度50表4-12零件分配信息表字段名数据类型说明IDint主键,长度4任务IDint外键,长度4零件IDint外键,长度4所需数量int长度4填写时间datetime长度8填写人员varchar长度20表4-13 生产安排信息表字段名数据类型说明 IDint主键,长度4任务IDint长度4填写人员varchar长度20表4-14 质检信息表字段名数据类型说明IDint主键,长度4任务IDint长度4生产安排IDint长度4不合格int长度
29、4一等品int长度4二等品int长度4三等品int长度4质检人员varchar长度20质检时间datetime长度8表4-15 出库信息表字段名数据类型说明IDint主键,长度4任务IDint外键,长度4数量int长度4填写时间datetime长度8填写人员varchar长度204.2 系统流程图系统总体流程图如图4-1所示。图4-1 系统流程图4.3 业务流程图系统的业务流程图如图4-2所示。 图4-2 业务流程图5 系统实现5.1 系统开发环境介绍系统使用如下开发环境:(1)操作系统:Windows XP。(2)开发工具:MyEclipse , Dreamweaver8.0。(3)WEB服
30、务器:Tomcat 6.0。(4)数据库:SQL server 2000 SP4。5.2系统开发主要技术简介5.2.1 Java及JSP技术简介Java语言是一种简单 、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能、多线程以及动态性的编程语言。Java有如下主要特点:(1)平台无关性;(2)安全性;(3)面向对象;(4)分布式;(5)健壮性11。同时,与C/C+相比,Java去掉了指针运算、结构、typedefs、#define,减少了出错的可能性。Java中还提供了异常处理的策略,而在Java程序的开发中,可以对各种异常和错误进行处理。在B/S开发结构盛行的今天,Ja
31、va语言的地位举足轻重。JSP是Sun公司开发的一种服务器的脚本语言,自从1999年推出以来,逐步发展为开发Web应用的一项重要技术。JSP的本质就是把Java代码嵌套到HTML中 ,然后经过JSP容器的编译执行,可以根据这些动态代码的运行结果生成对应的HTML代码,从而可以在客户端的浏览器中正常显示。由于JSP中使用的是Java的语法,因此Java语言的所有优势都可以在JSP中体现出来,尤其是J2EE中的强大功能,更是成为JSP语言发展的强大后盾12。5.2.2 SQL Server 2000 简介 Microsoft SQL Server 2000 是一个大型关系型数据库管理系统,具有客户
32、机/服务器体系结构,采用Transact-SQL语言在客户机和服务器之间传递客户机的请求和服务器的处理结果。SQL Server 2000 是一个优秀的数据库管理系统,具有易用性、可伸缩性、数据仓库、系统集成性等优秀特点13。5.2.3 Tomcat简介Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成14。由于有了Sun 的参与和支持,最新的SERVLET 和JSP 规范总是能在Tomcat 中得到体现
33、,它是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选15。5.3系统主要模块的实现5.3.1 数据库连接技术数据库的连接和操作采用JavaBean封装起来,JavaBean是Java中的一个组件技术,其本质上是一个封装了一系列属性和方法的类。该类遵循一定的标准,提供公共的方法,只要遵循同样的标准,用户就可以调用封装在JavaBean里面已经设计好的方法,从而达到代码重复利用的目的。其代码如下:package beans; /导入所需的类库import java.sql.Connection;import java.sql.Dri
34、verManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DBbean /数据库操作实体类public Connection getConnection() throws Exception /返回一个Connection对象Connection conn = null; /声明一个Connection局部变量/加载数据库驱动类Class.forName(com.microso
35、ft.jdbc.sqlserver.SQLServerDriver).newInstance();/数据库连接URLString url =jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=ManuFactory; String user = sa; /连接数据库用户名String password = 123456;/连接数据库密码/根据数据库参数取得一个数据库连接conn = DriverManager.getConnection(url, user, password);return conn;/根据传入的SQL语句返回一个结果集
36、public ResultSet select(String sql) throws Exception Connection conn = null; /声明一个Connection连接变量Statement stmt = null; /声明一个Statement变量ResultSet rs = null; /声明一个结果集变量try conn = getConnection();stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); /传入参数可以移动游标rs = st
37、mt.executeQuery(sql); /执行sql语句return rs; /返回结果集 catch (Exception e) /捕获异常throw new Exception(System e exception: + e.getMessage();/ 根据传入的SQL语句向数据库更新一条记录public int update(String sql) throws Exception Connection conn = null;Statement stmt= null;int ret = 0; /声明一个ret变量,初值为0try conn = getConnection(); /
38、取得数据库连接stmt = conn.createStatement(); /创建一个Statement对象 ret=stmt.executeUpdate(sql); /执行sql语句 return ret; /返回结果,也就是更新的记录数 catch (SQLException sqle) throw new Exception(update data exception: + sqle.getMessage(); finally if (stmt != null) /关闭stmt对象stmt.close();if (conn != null) /关闭conn对象conn.close();5
39、.3.2 分页操作JavaBean的具体实现package beans;public class Page /分页实体类 private int currentPage; /当前页数 private int countRecord; /总记录条数 private int countPage; /总页数 private int sizePage; /每页记录条数 public void setAll(int _countRecord,int _sizePage) /给成员变量赋值方法/设置四个成员变量的值 countRecord=_countRecord; sizePage=_sizePage;
40、 if(countRecord%sizePage=0) /如果能整除 countPage=countRecord/sizePage; else /不能整除 countPage=countRecord/sizePage+1; currentPage=1; /默认为1 public int getCurrentPage() /返回当前页数 return currentPage; public int getCountPage() /返回总页数 return countPage; public long getCountRecord() /返回总记录数 return countRecord; pub
41、lic int getSizePage() /返回每页记录数 return sizePage; public void setCurrentPage(int currentPage) /设置当前页数 this.currentPage = currentPage;5.3.3 系统员工信息主页面的实现 /引入数据库操作Dbbean类/引入分页操作Page实体类 String sql; /声明变量sql,用于sql语句 String key= request.getParameter(key); /获取搜索关键字 if(key = null|key.trim()=) /判断关键字是否为空 sql =
42、 select * from v_worker order by 工号; /给sql变量赋值 else sql =select * from v_worker where 工号 like %+key+ or 姓名 like %+key+% or 部门名称 like %+key+% order by 工号; ResultSet rs =db.select(sql); /执行sql语句,返回一个结果集 String pages = request.getParameter(dipage); /读取当前页数 rs.last(); /将游标移到最后一条记录后 int countRecord = rs.
43、getRow(); /得到总记录条数 if(countRecord=0) / 如果总记录数为0 request.setAttribute(search_msg,没有相关记录); int countPageRecord = 6; /设置每页记录的条数 if(pages=null|(pages.trim().length()=0) /如果当前页不存在/参数初始化,使用javabean Page中的setAll,当前页数设为1 pb.setAll(countRecord,countPageRecord); else try pb.setCurrentPage(Integer.parseInt(pages); /获取页数 catch(Exception e) out.print(参数不正确!