旅游管理系统论文

更新时间:2024-05-19 10:59:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

JIU JIANG UNIVERSITY

毕 业 论 文

题 目 基于J2EE的制造企业业务管理

系统的设计与实现

英文题目 Design and Implementation of

Manufacturing Enterprise Business Management System Based on J2EE 院 系 信息科学与技术学院 专 业 计算机科学与技术 姓 名 熊小刚 班级学号 A061111 指导教师 魏启明

二○一○年五月

信息科学与技术学院学士学位论文

摘 要

伴随着英特网的蓬勃发展,自动化的管理和办公备受各企业的青睐。自动化办公不仅兼顾个人办公效率的提高,更重要的是可以实现群体进行信息的交流,工作的协调与合作,它可以将诸如信息采集、查询、统计等功能与具体业务密切关联。操作人员只须点击一个按钮就可以得到想要的结果,从而极大得方便了企业领导的管理和决策,从而达到了提高企业效率的目标。

系统主要结合当代制造企业的特点,采用基于J2EE技术构建一个自动化的制造企业的业务管理系统。系统采用基于Windows XP操作系统,SQL Server 2000数据库,Tomcat作为应用服务器的开发环境,使用JSP,JAVABEAN,SERVLET等技术。系统分为三大模块,第一个模块为基础数据的管理,主要实现了对部门、员工、产品、客户、零件等基础数据的增、删、改、查。第二个模块为业务流程的管理,主要实现了业务信息按照预定的流程在各个部门流转,通过流程中的信息可以清晰的观察到当前作业任务的状态以及生产过程中存在的一些问题。第三个模块为统计报表,主要是实现了对订单的统计,用户输入订单的起始时间,就可以一目了然的看到这段时间内的订单统计信息。

通过该业务管理系统,企业员工只需登录就可以观察到整个企业生产作业计划及实际情况,并能和相关部门人员进行交流。

关键词:业务管理系统,信息服务,企业效率

I

信息科学与技术学院学士学位论文

Abstract

In the increasingly fierce market competition, the enterprises must be 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 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 information 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 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 other 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, 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, Business Efficiency.

II

信息科学与技术学院学士学位论文

目 录

摘 要 ............................................... I Abstract ............................................. II 1 概述

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 系统实现

III

信息科学与技术学院学士学位论文

5.1 系统开发环境介绍 ................................... (18) 5.2系统开发主要技术简介 ................................ (18) 5.3系统主要模块的实现 .................................. (19) 5.4系统截图 ........................................... (29) 6 系统测试

6.1 系统测试概述 ....................................... (33) 6.2 系统测试 ........................................... (33) 7 总结

致 谢 ............................................. (39) 参考文献 .......................................... (40)

IV

信息科学与技术学院学士学位论文

1 概述

1.1背景分析

随着计算机技术的迅速发展和普及,管理信息系统已经深入到各行各业。信息是对决策者有价值的数据,主要特征是来源分散,数量庞大,来源于生产第一线,来源于社会环境,来源于市场,来源于行政管理等部门。企业从信息管理的角度可划分为物流和信息流[1]。生产过程是一个物流的投入产出过程,且是不可逆的过程。在这个网络飞速发展以及市场竞争日趋激烈的时代环境下,合适的管理信息系统已成为企业的发展利器。

所谓管理信息系统(Management Information System),主要指的是进行日常事物操作的系统[2]。这种系统主要用于管理需要的记录,并对记录数据进行相关处理,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。目前,企业的计算机网络已成为企业进行技术改造及提高企业管理水平的重要手段。

基于Web的管理信息系统是对传统管理信息系统概念上的扩展,它不仅可以用于高层决策,而且可以用于进行普通的商务管理。通过用户的具名登录(或匿名登录),以及相应的权限控制,可以实现在远端对系统的浏览、查询、控制和审阅。基于Web的MIS系统技术同传统的MIS技术有相似也有区别[3]。相似之处在于技术的理念,区别之处在于技术的实现。

以下将设计与实现一个基于J2EE的制造企业业务管理系统,当然这也是一个基于Web的管理信息系统。

1.2系统研究的意义和内容

传统的制造企业业务管理采用的是人工管理方式,这种管理方式不仅需要投入

1

信息科学与技术学院学士学位论文

大量的人力和物力,而且对于庞大的数据和工作流常常缺乏有效的管理。因此,经常出现数据错误的现象。当数据出现问题时又不得不需要更多的人力和物力去核查错误数据,这对于企业造成了极大的浪费[4]。

为了解决上面所描述的传统的制造企业业务管理存在的问题,本文提出一种基于J2EE的制造企业业务管理系统。通过采用计算机技术,对比以往的人工管理方式,可以得到以下改观:

节约成本,采用信息化技术可以实现办公无纸化,避免人工进行操作和记录的繁杂手续,减少相关人力和物力资源,从而可以大大节约成本。

管理方便,对于大数量的数据,提供高效快捷的管理。

提高效率,通过系统使业务管理工作系统化、规范化、自动化,从而达到提高管理效率的目的,同时可以实现群体进行信息的交流,工作的协调与合作。

除此之外,业务管理系统为用户提供良好的操作环境,系统由于采用B/S架构,从而能为工作人员提供简洁而高效的服务,只需在浏览器中即可完成工作流程,为企业用户提供了一站式服务[5]。而B/S架构本身对于系统的升级和维护也非常的方便,从而可以减少日常使用中系统维护的费用,系统采用了目前已经相对成熟的Java Web技术进行开发。

1.3系统功能简介

系统主要实现一个用于制造企业的业务管理系统,包含业务下达、设计图纸、原料进购、生产调度、质量检验、产品出厂等环节的信息流管理。主要包含以下功能:

(1)基础数据管理

部门信息、客户信息、员工信息、零件信息、产品信息等。 (2)业务流程管理

实现业务信息按照预定的流程在各个部门的流转,主要包括以下5个流程: ①营销员下达生产任务。

2

信息科学与技术学院学士学位论文

②技术部门设计相关图纸。 ③采购部门进行原料的进购。 ④生产部门进行生产调度。 ⑤质检部门进行质量检验。 (3)统计报表

根据要求,形成各种业务统计报表。

1.4论文组织

论文重点介绍了系统的实现过程:包括系统需求分析、系统总体设计、系统详细设计、系统实现、 系统测试和调试。也给出了重要功能的代码实现。全文共分七章。

(1)第一章概述,介绍背景分析,系统研究的意义和内容,系统功能,以及论文的结构组织。

(2)第二章系统需求分析,主要通过系统功能分析以及系统E-R图来介绍系统的需求分析。

(3)第三章系统总体设计,该章首先说明系统的设计目标,以及通过使用系统总体结构图来展示系统的总体设计。

(4)第四章系统详细设计,主要介绍系统数据库设计和功能模块的流程。 (5)第五章系统实现,首先介绍系统的开发环境,然后通过一些代码和系统运行截图展示一些主要模块的实现。

(6)第六章系统测试,通过一些测试数据,以验证系统主要模块正常运行。 (7)第七章总结,对本论文所做工作进行了总结以及存在的一些不足之处。

3

信息科学与技术学院学士学位论文

2 系统需求分析

2.1系统功能需求

为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求,对软件需求的深入理解是软件开发工作获得成功的前提条件[6]。通过实地调研,根据实际需求,确定本系统需要完成以下功能:

(1)部门信息管理

对企业内部部门分类的各种信息进行管理,例如:部门信息显示、添加部门、 修改部门、删除部门。

(2)客户信息管理

对于工作中客户信息提供必要的数据维护,例如:添加客户,查询客户,客户列表,修改客户,删除客户。

(3)员工信息管理

对企业各部门内部工作人员的各种信息提供管理,例如:添加员工,删除员工,修改员工信息,员工列表显示等。

(4)产品信息管理

对企业生产的产品的各种信息提供管理,例如:添加一种新产品、删除产品、修改产品、产品信息显示等。

(5)零件信息管理

对组装产品所需的各种零件的各种信息提供管理,例如:添加零件、删除零件、修改零件、零件信息显示等。

(6)业务流程管理

任务管理:对营销员下达的生产任务提供各种信息管理,包括订单及其相应任务的信息管理,其中订单编号要根据当前年月自动生成,如果是本月第一张订单,例如2010年6月,则编号为201006001,其他订单编号为在本月最大订单编号上自动加1,同时提供对订单及任务的增、删、改。

4

信息科学与技术学院学士学位论文

图纸设计:技术部门对任务设计相关图纸,实现图纸上传功能。

图纸审核:专业的技术人员对前面设计的图纸进行审核,填写审核结果以及审核意见。

分配零件清单:对每个生产任务分配所需零件清单,要求填写所需零件名称、型号规格、所需数量等信息。

分配生产任务:对每个生产任务安排生产工人以及每个工人所要完成的数量、日期。

产品质检:质检部门人员对生产出来的零件和产品填写质检结果。 产品出库:填写产品的出库信息。 (7)统计报表

根据要求,形成各种统计报表。 (8)权限分配

根据员工所属部门为每一个工作人员授予不同权限。 (9)用户密码修改

系统默认每个用户刚开始密码都一样,用户进入系统后可以修改设置自己独有的密码。

2.2系统E-R图

系统基本的E-R图如图2-1所示,对每个实体定义的属性如下: 部门(id,部门名称)

员工(id,部门id,姓名,工号,性别,出生日期,职务,入职日期,联系电话,身份证号,权限,密码)

产品(id,产品名称,型号规格) 零件(id,零件名称,型号规格)

客户(id,客户名称,客户地址,联系人,联系电话) 订单(id,订单编号,客户id,订货日期,订金,营销员)

5

信息科学与技术学院学士学位论文

任务(id,任务编号,产品id,数量,单价,交货日期,状态,订单id) 状态(id,状态说明)

工艺要求(id,任务id,内容,填写人员,填写日期) 图纸(id,任务id,图纸名)

审核意见(id,任务id,审核结果,审核意见,审核人员,审核日期) 零件分配(id,任务id,零件id,数量,填写人员,填写时间)

生产安排(id,任务id,工人id,零件id,数量,完工时间,填写人员,填写时间)

质检(id,生产安排id,不合格,一等品,二等品,三等品,质检员,质检时间)

出库(id,任务id,数量,填写人员,填写时间)

6

信息科学与技术学院学士学位论文

生产安排1检查1质检使用11图纸1照21N生产N零件N分配1零件分配参照2N出库1对2应11对应11状态N设计11任务NN查看1审核意见1下达工艺要求1员工N属于1部门1负责N订单N订货1顾客参属于1产品

图2-1系统E-R图

7

信息科学与技术学院学士学位论文

3 系统总体设计

3.1设计目标

操作方便、使用灵活是计算机软件最基本的特征,也是所有软件设计者在设计软件过程中的共同目标,同时还是计算机软件区别于手工操作的一个重要标志,因此,在编写软件的时候,要尽量从用户的角度出发,使软件具有可操作性、可移植性和可维护性,真正达到软件使用方便、实用性强的目的[7]。

本系统设计需要达到以下几个目标: (1)较为友善的人机交互界面,交互性强。 (2)信息的查询快捷方便。 (3)某些部分应采取模糊查询。 (4)实现高效准确的管理各种信息。

(5)实现业务信息按照预定的流程在各个部门的流转。 (6)根据用户所在的部门分配权限。

3.2系统功能结构图

系统采用模块化管理,模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一定的子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。有效模块化的软件比较容易开发出来,同时独立的模块化比较容易测试和维护[8]。

通过前面的需求分析,确定本系统的功能结构图如图3-1所示。

8

信息科学与技术学院学士学位论文

系统登录基础数据管理业务流程管理统计报表部门信息管理员工信息管理客户信息管理产品信息管理零件信息管理任务管理图纸设计图纸审核分配零件清单分配生产任务产品质检产品出库订单查询订单统计部门信息列表部门的増删改客户信息列表客户的増删改零件信息列表零件的増删改上传图纸工艺要求修改图纸填写零件清单修改所需零件填写质检信息修改质检信息员工信息列表权限分配员工的増删改产品信息列表产品的増删改订单管理任务录入任务查询填写审核信息

修改审核信息填写生产安排修改生产安排填写出库信息修改出库信息图3-1 系统功能结构图

员工登陆系统后,如果拥有管理员权限的话,可以对基础数据进行管理,如果

9

信息科学与技术学院学士学位论文

只是普通员工,则根据其所在部门和他所拥有的权限可以查看相应模块并完成相应操作。当然也可以给某人所有权限,比如公司老总,那么他就可以查看图3-1中所有模块信息,这样他就能随时监督整个作业流程的操作并可以看到当前任务的最新进展。

3.3系统架构图

首先要说明是系统采用是B/S架构,即浏览器和服务器结构,B/S是对C/S(客户端/服务器)结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现[9]。

系统采用传统的Model1开发模式,又被叫做JSP+Bean的开发模式,所有的业务逻辑都被封装到JavaBeans组件中,所有的交互代码,包括解析请求、生成响应的代码都包含到JSP页面中,该模型是以JSP为核心的模型[10]。

系统架构图如图3-2所示。

HTTP请求 浏览器 HTTP响应消息 JSP JavaBean (Model) 数据库 图3-2 系统架构图

HTTP响应消息

10

信息科学与技术学院学士学位论文

4 系统详细设计

4.1 数据库设计

4.1.1创建数据库

为保障系统的移植性,新建一个数据库。系统使用SQL Server 2000,直接在 SQL Server 2000的企业管理器中新建即可,命名为:ManuFactory。 4.1.2 建立表结构

根据2.2章节中的内容,依据系统实体关系的分析,建立相应的表结构,并维持其间的关系。

主要的数据表结构包括:员工信息表如表4-1所示;部门信息表如表4-2所示;客户信息表如表4-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 员工信息表

字段名 ID 姓名 工号 年龄 性别 部门ID 职务 密码 数据类型 int varchar varchar int varchar int varchar varchar

说明 主键,长度4 长度20 长度20 长度4 长度10 外键,长度4 长度20 长度20 11

信息科学与技术学院学士学位论文

表4-2部门信息表

字段名 ID 部门名称 数据类型 int varchar

表4-3 客户信息表

字段名 ID 顾客名称 地址 电话 数据类型 int varchar varchar varchar

表4-4 产品信息表

字段名 ID 产品名称 数据类型 int varchar 表4-5 零件信息表

字段名 ID 零件名称 规格型号 库存量 数据类型 int varchar varchar int 表4-6 订单信息表

字段名 ID 订单编号 数据类型 int varchar 说明 主键,长度4 长度50 说明 主键,长度4 长度20 长度20 长度4 说明 主键,长度4 长度20 说明 主键,长度4 长度20 长度50 长度20 说明 主键,长度4 长度20 12

信息科学与技术学院学士学位论文

表4-7 任务信息表

字段名 ID 任务编号 单价 数量 交货日期 状态ID 订单ID 产品ID 数据类型 int varchar varchar int datetime int int int

表4-8 图纸信息表

字段名 ID 任务ID 文件名 数据类型 int int varchar

表4-9 工艺要求信息表

字段名 ID 任务ID 内容 填写时间 填写人员 数据类型 int int varchar datetime varchar

说明 主键,长度4 外键,长度4 长度50 长度8 长度20 说明 主键,长度4 外键,长度4 长度20 说明 主键,长度4 长度20 长度20 整型 长度8 外键,长度4 外键,长度4 外键,长度4 13

信息科学与技术学院学士学位论文

表4-10 审核意见信息表

字段名 ID 审核结果 审核意见 审核人员 审核时间 任务ID 数据类型 int varchar varchar varchar datetime int 表4-11 状态信息表

字段名 ID 状态说明 数据类型 int varchar 表4-12零件分配信息表

字段名 ID 任务ID 零件ID 所需数量 填写时间 填写人员 数据类型 int int int int datetime varchar 表4-13 生产安排信息表

字段名 ID 任务ID 填写人员 数据类型 int int varchar

说明 主键,长度4 长度4 长度20 说明 主键,长度4 外键,长度4 外键,长度4 长度4 长度8 长度20 说明 主键,长度4 长度50 说明 主键,长度4 长度50 长度50 长度20 长度8 外键,长度4 14

信息科学与技术学院学士学位论文

表4-14 质检信息表

字段名 ID 任务ID 生产安排ID 不合格 一等品 二等品 三等品 质检人员 质检时间 数据类型 int int int int int int int varchar datetime

表4-15 出库信息表

字段名 ID 任务ID 数量 填写时间 填写人员 数据类型 int int int datetime varchar 说明 主键,长度4 外键,长度4 长度4 长度8 长度20 说明 主键,长度4 长度4 长度4 长度4 长度4 长度4 长度4 长度20 长度8 15

信息科学与技术学院学士学位论文

4.2 系统流程图

系统总体流程图如图4-1所示。

开始登陆否用户名、密码是否正确?是选择操作基础数据管理业务流程管理统计报表提示信息部门信息管理员工信息管理客户信息管理部门信息管理任务管理图纸设计图纸审核分配零件产品质检产品出库订单查询订单统计否是否有权进行操作?是执行结果图4-1 系统流程图

16

信息科学与技术学院学士学位论文

4.3 业务流程图

系统的业务流程图如图4-2所示。

营销部填写生产任务No技术部设计图纸送审是否同意?Yes生产部填写图纸审核意见质检部填写质检信息分配生产任务进行生产质检申请填写所需零件清单车间No是否合格?Yes产品出库

图4-2 业务流程图

17

信息科学与技术学院学士学位论文

5 系统实现

5.1 系统开发环境介绍

系统使用如下开发环境: (1)操作系统:Windows XP。

(2)开发工具:MyEclipse , Dreamweaver8.0。 (3)WEB服务器: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开发结构盛行的今天,Java语言的地位举足轻重。

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 是一个大型关系型数据库管理系统,具有客户机/服务器体系结构,采用Transact-SQL语言在客户机和服务器之间传递客户机的请求和

18

信息科学与技术学院学士学位论文

服务器的处理结果。SQL Server 2000 是一个优秀的数据库管理系统,具有易用性、可伸缩性、数据仓库、系统集成性等优秀特点[13]。 5.2.3 Tomcat简介

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成[14]。由于有了Sun 的参与和支持,最新的SERVLET 和JSP 规范总是能在Tomcat 中得到体现,它是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选[15]。

5.3系统主要模块的实现

5.3.1 数据库连接技术

数据库的连接和操作采用JavaBean封装起来,JavaBean是Java中的一个组件技术,其本质上是一个封装了一系列属性和方法的类。该类遵循一定的标准,提供公共的方法,只要遵循同样的标准,用户就可以调用封装在JavaBean里面已经设计好的方法,从而达到代码重复利用的目的。其代码如下: package beans; //导入所需的类库 import java.sql.Connection; import java.sql.DriverManager; 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对象

19

信息科学与技术学院学士学位论文

Connection conn = null; //声明一个Connection局部变量 //加载数据库驱动类

Class.forName(\//数据库连接URL

String url =\ String user = \ //连接数据库用户名 String password = \

//连接数据库密码

//根据数据库参数取得一个数据库连接

conn = DriverManager.getConnection(url, user, password); return conn; }

//根据传入的SQL语句返回一个结果集 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 = stmt.executeQuery(sql); //执行sql语句 return rs; //返回结果集

} catch (Exception e) { //捕获异常 }

throw new Exception(\

20

信息科学与技术学院学士学位论文

// 根据传入的SQL语句向数据库更新一条记录 public int update(String sql) throws Exception { }

5.3.2 分页操作JavaBean的具体实现 package beans;

public class Page{ //分页实体类 private int currentPage; //当前页数

}

Connection conn = null; Statement stmt= null;

int ret = 0; //声明一个ret变量,初值为0 try {

conn = getConnection(); //取得数据库连接 stmt = conn.createStatement(); //创建一个Statement对象

ret=stmt.executeUpdate(sql); //执行sql语句 return ret; //返回结果,也就是更新的记录数 } catch (SQLException sqle) {

throw new Exception(\

} finally

{

if (stmt != null) { //关闭stmt对象 }

stmt.close();

if (conn != null) { //关闭conn对象

conn.close();

} }

21

信息科学与技术学院学士学位论文

private int countRecord; //总记录条数 private int countPage; //总页数 private int sizePage; //每页记录条数

public void setAll(int _countRecord,int _sizePage) //给成员变量赋值方法 //设置四个成员变量的值 {

countRecord=_countRecord; sizePage=_sizePage;

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; }

public int getSizePage() { //返回每页记录数 return sizePage; }

public void setCurrentPage(int currentPage) { //设置当前页数

22

信息科学与技术学院学士学位论文

this.currentPage = currentPage; } }

5.3.3 系统员工信息主页面的实现 //引入数据库操作Dbbean类

String sql; //声明变量sql,用于sql语句

String key= request.getParameter(\ //获取搜索关键字 if(key == null||key.trim()==\ //判断关键字是否为空 sql = \工号\给sql变量赋值 } else {

sql =\工号 like '%\姓名 like '%\部门名称 like '%\工号\

}

ResultSet rs =db.select(sql); //执行sql语句,返回一个结果集

String pages = request.getParameter(\ //读取当前页数 rs.last(); //将游标移到最后一条记录后 int countRecord = rs.getRow(); //得到总记录条数 if(countRecord==0){ // 如果总记录数为0 request.setAttribute(\没有相关记录\ }

int countPageRecord = 6; //设置每页记录的条数

if(pages==null||(pages.trim()).length()==0){ //如果当前页不存在

23

信息科学与技术学院学士学位论文

//参数初始化,使用javabean Page中的setAll,当前页数设为1 pb.setAll(countRecord,countPageRecord); }

else {

try{

pb.setCurrentPage(Integer.parseInt(pages)); //获取页数

}catch(Exception e){ }

out.print(\参数不正确!\ }

int currentRecord = (pb.getCurrentPage()-1)*pb.getSizePage(); //计算当前条数

if(currentRecord==0) //如果当前记录数为0 rs.beforeFirst(); else

rs.absolute(currentRecord); //游标移动到当前记录

%>

 

24

信息科学与技术学院学士学位论文

<%=request.getAttribute(\

style=\

姓名

<%

String url = request.getRequestURL().toString(); //获取当前页面url地址 url+=request.getQueryString()==null? \

%>

<%

int i=0;

while (rs.next() ) { //开始遍历结果集

i++;

%>

<%=rs.getString(\姓名\

25

信息科学与技术学院学士学位论文

<%=rs.getString(\部门名称\

<%=rs.getString(\性别\ <%=rs.getString(\职务\

<%=rs.getString(\出生日期\

href=\修改 

<%

if(i>=pb.getSizePage()) break; //结束本次遍历

}

rs.close(); //关闭结果集 %>

条记录|总<%=pb.getCountPage()%>页|当前第<%=pb.getCurrentPage()%>页|每页<%=pb.getSizePage()%>条记录| <%

if(pb.getCurrentPage()==1);//当前是首页

else //当前不是首页 {

out.print(\首页|\ out.print(\

href=yuangong_index.jsp?dipage=\上一页|\

26

信息科学与技术学院学士学位论文

}

if(pb.getCurrentPage()==pb.getCountPage());//当前是末页 else //当前不是末页 {

out.print(\

href=yuangong_index.jsp?dipage=\下一页|\ out.print(\

href=yuangong_index.jsp?dipage=\末页\ } %>

最终显示效果如下图5-1所示:

图5-1 员工信息主页面

27

信息科学与技术学院学士学位论文

5.3.4 任务管理模块的实现

任务管理是本系统的一个的核心模块,业务流程的管理都是基于任务的,每个阶段任务都有一个状态与之对应。以下给出关键代码,根据当前年月以及是本月第几张订单自动生成一个订单号: <%

//创建一个时间格式化SimpleDateFormat对象

SimpleDateFormat sdf = new SimpleDateFormat(\

String date = sdf.format(new Date()); //格式化日期得到一个字符串 String sql =\订单编号) from 订单信息表 where 订单编号 like

\

ResultSet rs = db.select(sql); //执行sql语句 rs.next(); //移动游标到第一条记录

String a = rs.getString(1); //获取当月最大订单号 String str=\ //声明一个string类型变量并赋初值 if(a==null){ //如果当月还没有订单

} else{

str = a.substring(6);

int b = Integer.valueOf(str)+1; //最大订单号加1 if(b<10){

str = \ // 拼接字符串

}else if(b<100){ }

str =\

}else{ }

str =String.valueOf(b); //将b转换为String对象

rs.close(); //关闭结果集

28

信息科学与技术学院学士学位论文

%>

5.3.5 订单统计模块

根据用户输入订单起止时间查询这段时间内的订单报表。 <%

String startTime = request.getParameter(\获取起始时间

String endTime = request.getParameter(\获取结束时间 String sql=\

//根据用户输入的情况得到不同的sql语句,执行不同的结果

if( startTime.trim().length()==0&&endTime.trim().length()==0) sql = \ order by 任务编号 \ else if( startTime.trim().length()==0&&endTime.trim().length()>0)

sql = \订货时间 <= '\ str = date+str; //得到本次订单号

任务编号 \

else if( startTime.trim().length()>0&&endTime.trim().length()==0)

sql = \订货时间 >= '\

任务编号 \

ResultSet rs = db.select(sql); //执行sql语句,返回结果集 %>

5.4系统截图

系统登录界面如图5-2所示;系统主界面如图5-3所示;订单通知列表界面如图5-4所示;订单详细任务列表如图5-5所示;订单统计页面如图5-6所示;图纸设计页面如图6-7所示。

29

信息科学与技术学院学士学位论文

图5-2 系统登陆截图

图5-3 系统主界面截图

30

信息科学与技术学院学士学位论文

图5-4 详细通知列表截图

图5-5 详细任务截图

图5-6 订单统计截图

31

信息科学与技术学院学士学位论文

图5-7 图纸设计截图

32

信息科学与技术学院学士学位论文

6 系统测试

6.1 系统测试概述

系统测试是软件的一个重要的组成部分。软件测试在软件生命周期里横跨两个阶段。通常在编写出每个模块之后就对它做必要的测试。软件测试的目的与其它阶段的目的相反。软件测试的目的是发现错误。一般说来,测试不是由编写程序本人进行,它由专门的人员对它进行测试。软件一般有两种方法:黑盒测试和白盒测试。黑盒测试把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。白盒测试是把程序看成一个透明的盒子里,也就是完全了解程序的结果和处理过程。

本系统使用黑盒子法进行测试。下面就输入一些信息,看能不能输出相应正确的结果。

6.2 系统测试

系统采用对整个业务流程以及订单统计进行测试。下面对几个主要模块进行测试:

(1)对任务管理模块进行测试

测试用例:添加一个新订单,并添加订单的相应任务。

预期结果:订单号根据当前年月和本月第几张订单自动生成一个编号。

点击新增订单列表,并填写如下:

33

信息科学与技术学院学士学位论文

图6-1 新增订单

点击提交后可以看到刚才添加的这条记录如下:

图6-2 新订单记录

点击201006002这个订单编号链接,可以填写此订单详细信息:

图6-3 新订单任务通知单

点击添加订单任务填写如下信息:

34

信息科学与技术学院学士学位论文

图6-4 填写新订单任务信息

点击提交后可以看到如下信息,因为是刚添加的任务,所以状态为初始状态“任务下达,等待设计图纸”:

图6-5 添加任务后的界面

测试结果:订单号和任务号根据当前日期自动生成,符合预期结果。 对后面的流程都针对这个任务进行测试,经测试发现从订单通知→添加任务→图纸设计→图纸审核→分配零件→分配生产任务→产品质检→产品出库,整个流程都正常,而且各个阶段都正确对应相应的状态。

(2)对统计报表模块进行测试

测试用例:输入订单起止时间,查询这段时间内的订单统计信息。 预期结果:根据用户输入的起止时间统计出相应结果。

35

本文来源:https://www.bwwdw.com/article/xrm7.html

Top