快递单打印管理系统方案_第1页
快递单打印管理系统方案_第2页
快递单打印管理系统方案_第3页
快递单打印管理系统方案_第4页
快递单打印管理系统方案_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

/摘要随着网络和计算机技术的发展,网络电子商务在近几年得到了快速的发展,伴随着电子商务发展起来的快递行业,得到了飞速发展。市场上中小型快递公司日益增多,快递单据的计算机管理也日益得到重视。快递单据管理打印系统就是针对这些中小型快递公司而开发的。其目标是为了方便快递公司业务员管理快递单据和人员信息,以及方便用户及时查阅快递业务的相关信息,同时支持快递单据的打印功能。本系统采用C/S架构进行开发,前台工具主要有J2EE、MyEclipse,使用Mysql作为数据库开发工具。系统主要功能模包括:快递单录入、单据信息维护、员工信息管理、账务核算与报表生成等模块。该系统的开发可以减轻快递信息录入人员的工作负担,方便公司管理人员统计公司利润,管理人员信息,从而提高快递公司整体工作效率。关键词:快递单,打印,javaAbstractWiththedevelopmentofnetworkandcomputertechnology,networke-commerceinrecentyearshasbeentherapiddevelopmentofe-commercedevelopedalongwiththecourierindustryhasbeenrapiddevelopment.Onthegrowingmarketforsmallandmediumcouriercompanies,courierreceiptscomputermanagementisincreasinglytakenseriously.ExpressPrintingdocumentmanagementsystemisaimedatthosesmallandmediumcouriercompanydeveloped.Whosegoalistofacilitatethedeliverycouriercompanysalesmandocumentsandpersonnelinformationmanagement,anduser-friendlyaccesstorelevantandtimelyinformationdeliveryservices,whilesupportingthecourierdocumentsprint.ThesystemusesC/Sarchitecturedevelopment,frontdesktoolsareJ2EE,MyEclipse,usingMysqlasdatabasedevelopmenttools.Themainfunctionofthesystemmodeare:expressasingleentry,documentinformationmaintenance,employeeinformationmanagement,financialaccountingandreportgenerationmodule.Developmentofthesystemcanreducetheworkloadofthecourierpersonnelinformationinput,managementpersonnelstatisticstofacilitatecorporateprofits,managementinformation,therebyimprovingtheoverallefficiencyofthecouriercompany.Keywords:expressasingle,print,java目录1概论11.1前言11.2研究背景及意义11.2.1研究背景11.2.2研究意义21.3快递行业的介绍21.3.1快递行业的现状21.3.2快递行业的发展趋势31.3.3目前快递行业存在的问题31.4论文的主要内容简介42系统开发平台介绍62.1三层架构介绍62.2软件开发工具选择72.2.1java语言介绍72.2.2JDBC简介72.2.3MySQL数据库83系统分析93.1系统需求分析93.1.1功能需求分析93.1.2性能需求分析93.1.3界面需求分析103.2系统可行性分析103.2.1经济可行性分析103.2.2技术可行性分析103.2.3运行可行性分析113.2.4操作可行性分析114系统概要设计124.1前台显示说明124.2架构设计目标124.3系统功能模块设计125数据库设计165.1数据库概念设计165.1.1概念结构设计的目的165.1.2概念结构设计的过程165.2表设计195.3数据库的实现与维护226系统详细设计与实现246.1系统主框架的实现与设计246.2快递单定制功能的实现256.3快递单打印功能的实现276.4用户管理功能的实现306.5快递查询功能的实现336.6数据库恢复与备份功能的实现336.7数据库连接实现347系统测试与评价377.1系统测试37系统测试环境37系统测试目标37测试实现38测试结论417.2系统评价418结论42致谢43参考文献441概论1.1前言互联网正在改变世界,由于Internet具有传播信息容量极大、形态多样、迅速方便、全球覆盖、自由和交互的特点,已经发展成为新的传播媒体,现在很多快递公司都已经建立了自己的网站,通过计算机网络实现宣传、交流及资源的整合。快递单据管理系统对于一个快递公司来说是必不可少的办公工具。在这个高度信息化的社会里,建立自己的单据管理系统是最直接的管理各类单据信息的手段。网站的超时空特性,不仅能让本地区的业务员管理单据,更是增加了单据信息的安全性,更加方便公司人员进行沟通信息。快递公司每天都要处理大量的信息,使用该管理系统,可以成为本公司间信息资源分配的桥梁,它使总公司及其下属公司更加方便、及时、有效的进行各类信息通信。本系统是公司管理者统计各项业务数据方便的工具,在本系统中可以方便的对公司人员信息进行管理、统计公司各项数据、对公司利润进行核算。本课题所要解决的问题是能够实现用户快件信息查询,快件信息录入,操作员个人信息修改,公司员工信息维护,经营信息管理,快递信息维护以及快递单据打印等多项功能。1.2研究背景及意义1.2.1研究背景目前邮件快递市场很多小型快递公司仍然使用纸张来维护快递单据信息和职工信息的方式,快递公司的管理者和业务员管理各项单据信息和人员信息都十分烦琐。HTML作为一种样式语言,随着Internet上信息量的增多和交互性的加强使HTML显得越来越难以胜任的情况之下,而java能够彻底实现用户与管理人员的交互性。随着网络技术的发展,基于java技术的邮件单据管理系统可以借助于遍布全球Internet进行,各种信息可以在本公司或者其子公司中快速的流通,大大拓展了交互快递信息的灵活性。1.2.2研究意义随着网上购物的兴起,带动了快递行业的迅速发展,快递公司的订单越来越多,业务量越来越大,快递行业的订单业务流程变成快递企业中重要的一个环节。然而快递公司的组织管理却很混乱,业务受理时客服与客户的沟通非常不通畅。传统的下单方式是通过打电话给快递公司的客服人员,口述收件地址,然后客服人员通知业务员去收件。与快递公司进行电话沟通却让人很头疼。本文要解决的就是设计开发一种软件,使得顾客可以自己下单,同时避免传统的电话沟通或者直接到快递公司的麻烦。通过该快递单打印管理系统能够实现用户快件信息查询,快件信息录入,操作员个人信息修改,公司员工信息维护,经营信息管理,快递信息维护以及快递单据打印等多项功能。1.3快递行业的介绍快递行业的现状在我国,快递行业近几年得到了迅猛的发展,主要有以下几个发展特点:〔1快递业务增长,国际公司挺进。中国国际快递业务于本世纪八十年代初兴起,九十年代随着外商投资和对外贸易的迅猛发展,中国快递业务进入了迅速膨胀的时期。最近几年中国的国际快递业务每年都高速增长,在这一时期,国际跨国公司也丌始向中国快递市场进军。全球最大的四家快递公司DHL、TNT、UPS、FEDXE、都在我国设立了分公司,与中国邮政EMS展开激烈的竞争。〔21991年中国邮政的市场占有率首次低于非邮政部门的企业,随着国际快递公司在中国的迅猛发展,中国邮政的市场份额逐年下降<平均每年丢失4%>,目前已降到40%左右。从快递业务的增长速度来看,90年代初期,中国邮政的国际快递业务量年均增长35%。90年代中后期,由于国际快递公司大规模进入中国市场,导致中国邮政快递业务大量分流,增长速度明显放慢,中国邮政国际快递业务年均增长率仅为2%,其中有些年份还出现了负增长。而与此同时,HDL、NTT、UPS的业务增长速度都在20%以上。DHL、TNT近几年的业务增长速度已达到40%左右。〔3相关行业涉足快递领域。随着邮政专营在中国快递领域被打破,国内相关部门也开始参与这一领域的竞争。大通、中铁外服等一批国内专业运输公司开始涉足国际快递,有些私人企业也开展国际快递业务。中国的国际快递市场正在形成一种多元化的竞争格局。1.3.2快递行业的发展趋势递送包裹也许并不是什么激动人心的行业,但它的确是个庞大的产业而且非常重要。美国四家最大的递送公司一一联合包裹服务<UnietdParCelServiCexnc.简称UPS>、联邦快递集团<FedExCorp.>、美国邮政总局<U.5.PostalServiee>和德国邮政<DeutsehePostAG>旗下的敦豪公司<DHL>每天处理货物达2,300万件。这是一个充满挑战和机遇的行业。下面是该行业的未来发展趋势: 〔1扩大服务领域。各个快递公司都在不停的进行扩张,并不断扩展自己的服务领域。UPS曾经XX大学硕士学位论文出资12.5亿美元收购卡车运输公司OvenriteCorp,这宗UPS历史上最大的收购使得UPS和联邦快递之间的竞争进一步升级。联邦快递曾于20XX收购卡车运输公司AmerieanFreightwaysCorp一扩张使得递送公司更深入地参与到了客户的供应链中,大大地降低了客户运营中的不确定性,也极大地提高了运输效率。〔2"跟踪"竞赛。递送公司在提高包裹跟踪能力和改进顾客导向的特色服务上并没有丝毫放松。很多快递公司己经开始使用现代化的设备来管理货物,一些手持式的扫描机将令邮件跟踪更为便利。对于每天投递的包裹,UPS可以收集到它们95%的电子数据。而联邦快递的在线订单查询不仅可以实时提供递送细节,而且可以提供客户交易记录。 〔3递送服务网点无处不在。随著递送公司对中小型企业客户的争夺日益激烈,递送服务网点也在迅速增加。递送公司在这些客户身上通常是最有利可图的,因为它们不像大公司那样经常需要递送服务,所以也就不具备讨价还价的法码。服务网点的增加可以提高快递公司的竞争能力,并为客户提供更加优良的服务。1.3.3目前快递行业存在的问题虽然快递行业这几年得到了快速的发展,然而作为一个新兴崛起的行业,依旧有着其不成熟的地方,还存在许多的问题。〔1业务响应速度慢,与客户之间互动不够人性化。对于一个快递公司而言,货物运输时间的长短是能否取得成功的关键,也是客户所关心的重点。然而,由于在货物运输过程中需要经历很多的环节,而各个环节之间并不能非常平滑的过渡,在各个环节交接过程中往往消耗了大量的时问,最终导致货物运输时间的增长。客户同快递公司交互方式非常单一,通常需要亲自到柜台办理业务,其相应的软件系统支持跟不上业务的发展。快递公司给客户提供的额外服务较少,通常只有提供货物运输方面的核心业务,而缺乏其他个性化的服务项目。〔2缺乏保证货品准确投递的机制。货物运输过程中需要经历很多的环节,每个环节对于投递成功与否都起到关键性的作用。然而,目前的快递行业各个环节的关系的并没有理顺,缺乏精心的组织安排和周密的衔接,仍停留在粗放式管理的阶段,致使一些环节和部门之问相互脱节,影响了快件传递的速度。同时,由于各个环节各自为政,相对比较独立。所以,一旦货物运输过程中出现问题,很难有一个快捷的方式和统一的平台供快递公司员工使用来讨论解决方案。这将会大大影响员工的工作效率,由于缺乏一个透明、统一的交流平台,也让货物投递出现许多的不确定因素。 〔3系统缺乏对全球化的支持,难以满足跨国业务。随着经济全球一体化,快递行业也逐渐成为了一个全球化的行业。美国四家最大的递送公司都将业务扩展到了全球范围。它们的快递业务在全球各地都得到了迅猛发展,然而其相应的系统确没能跟的上业务的发展步伐。大多数应用系统都没能满足全球化的要求,通常只是对源系统进行语言上的翻译工作。这将成为快递行业发展的一个重要瓶颈,随着业务的不断深化,客户对系统全球化要求也会越来越高。系统缺乏对全球化的支持,往往会导致客户的流失。因为客户始终是倾向与使用符合本地文化风俗习惯的应用程序的。同时,由于系统设计不符合全球化设计理念,也会使得将来系统扩展和维护付出很大的代价。1.4论文的主要内容简介本论文是为了实现代替传统快递公司的快递单数据管理的方式,开发了一个快递单打印管理软件。本文的主要内容如下:第1章:对快递单打印系统研究的背景和意义进行探究,以得出开发此系统的必要性。接下来介绍了其特点,以及未来的发展趋势和存在的问题,为后面系统的开发做好铺垫。第2章:介绍此系统开发所用的开发环境和所用到技术,此系统用到了三层架构和C/S的模式。第3章:介绍了系统的详细分析,从功能需求、性能需求、界面需求、系统可行性分别来对开发的系统进行分析。第4章:是系统概要设计,从页面,模块,显示方面来进行系统初步的构思,为后面的详细设计打下基础。第5章:为数据库描述,从数据库的选择,系统表设计,以及后面的数据的维护来详细说明。第6章:为系统的实现,此章节是从系统的构思到系统的实现详细地进行描述,用图形界面对其直观的介绍。第7章:为系统的测试和评价,从测试的目标,测试的实现,数据库测试,性能测试等直观地说明,又分别从经济,性能,管理方面经行了评价。2系统开发平台介绍2.1三层架构介绍在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层〔又或称为领域层、表示层。三层结构原理:3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。所谓三层体系结构,是在客户端与数据库之间加入了一个"中间层",也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有C/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。表示层位于最外层〔最上层,离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。业务逻辑层〔BusinessLogicLayer无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域〔Domain逻辑有关,很多时候,也将业务逻辑层称为领域层。例如MartinFowler在《PatternsofEnterpriseApplicationArchitecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱EricEvans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。业务逻辑层在体系架构中的位置非常关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是"无知"的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的"抽屉"式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。数据层数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入对象关系映射的元素,那么就会包括对象和数据表之间的映射,以及对象实体的持久化2.2软件开发工具选择2.2.1java语言介绍Java技术是由美国Sun公司倡导和推出的,是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet的开发工具。Java技术包括Java语言和JavaMediaAPIs、SecurityAPIs、ManagementAPIs、JavaApplet、JavaRMI、JavaBeans、JavaOS、JavaServlet、JDBC、JNDI、EnterpriseJavaBeans等。随着JavaServlet的出现和JSP的渐渐成熟,让Java正式的走向了Web开发技术的舞台。Java以其强大的移植能力,多线程处理和网络处理能力已成为研究人员,开发人员瞩目的焦点,它与Web技术的有机结合尤其适宜进行网络计算和动态多媒体信息的开发处理。Java技术带来的是一场革命,它是第一个真正独立于平台的语言,基于Java语言开发的软件可以实现"一次设计,到处运行",即Java程序不经改变即可部署到任何运行Java虚拟机的计算机结构和操作系统,使得整个Web世界发生了翻天覆地的变化。目前,Sun公司已经将Java技术分成了4大类:服务器使用的企业版〔J2EE、台式电脑使用的标准版〔J2SE、小型设备使用的微型版〔J2ME以及在欧洲销售的手机中使用的具有智能卡和标识标签功能的JavaCard。2.2.2JDBC简介JDBC是Java的开发者——Sun公司制定的Java数据库连接〔JavaDataBaseConnectivity技术的简称。它是Sun公司联合数据库开发商开发出来的独立于DBMS的API〔ApplicationProgrammingInterface,应用程序接口,它为Java开发者使用各种数据库提供了统一的API。JDBC的功能和Microsoft的ODBC〔OpenDataBaseConnectivity,开放式数据库连接类似,但与ODBC还是有一定的差别,JDBC是一个真正跨平台的API,而ODBC是一个C语言程序接口,必须在本地执行。大多数ODBC驱动程序需要安装一系列的代码模块在客户机上,而JDBC可以直接在本地或在远程服务器上执行,且JDBC的维护和部署工作更简单。JDBC提供了四种连接数据库的驱动程序方法。第一种是JDBC-ODBC桥驱动程序。第二种是本机代码和Java驱动程序。第三种是纯Java驱动程序。第四种是本机协议Java驱动程序。利用JDBC实现数据库的操作一般可分为以下几个步骤。〔1加载JDBC驱动程序。〔2获取连接接口。〔3创建Statement对象。〔4执行Statement对象。〔5查看返回的结果集。〔6关闭结果集对象。〔7关闭Statement对象。〔8关闭连接接口。2.2.3MySQL数据库网络数据库,就是指把数据库技术引入到计算机网络系统中,借助于网络技术将存储在数据库中的大量信息及时发布出去,实现用户与数据库的实时动态交互。常用的网络数据库管理系统有SQLServer、Oracle、IBMDB2、MySQL、Sybase及Access等。其中MySQL由瑞典的公司负责开发和维护,是一个快速、多线程、多用户和强壮的SQL数据库服务器。SQL是世界上最流行的标准化的数据库语言。MySQL是具有客户机/服务器体系结构的分布式数据库管理系统,是完全网络化的跨平台关系型数据库系统,是目前运行速度较快的SQL语言数据库。MySQL具有功能强,使用简便、管理方便、运行速度快、安全可靠性强等优点,总结其主要特点有〔1完全支持ISO8859-1标准。〔2同时访问数据库的用户数量不受限制。〔3可以保存超过5千万条记录,即处理大型数据。〔4完全支持多线程,适于多CPU使用。〔5提供多种语言的API接口,以及为windows等操作系统提供ODBC接口。〔6支持多种平台。在Unix系统上该软件支持多线程运行方式,从而能获得相当好的性能。在WindowsNT系统上以系统服务方式运行,或者在Windows95/98系统上以普通进程方式运行。〔7开放式的分发,可以获得帮助且源代码公开。〔8提供多样的数据类型,支持多种语言。〔9支持灵活和安全的权限设置、密码加密等。〔10无内存泄露。3系统分析对于一个项目,前期的总体分析规划是很重要的。好的规划能避免后期大规模修改程序。开发快递单打印管理软件系统必须进行一个详细规划从而使开发人员朝着规划好的目标发展。系统分析过程是整个系统开发规划的重要阶段。分析的成功与否,决定着整个系统功能的完善性以及稳定性。3.1系统需求分析功能需求分析传统的快递单多由人工来管理。由工作人员手工写客户信息,并且全都是纸质单据,导致存放大量的文件,不仅查询客户信息麻烦,而且不易保存,还有人为失误。而且随着快递行业的迅速发展,现有的人工管理方式已经不能完全胜任。广大快递行业经营者已经意识到使用计算机信息技术的重要性。本系统是基于一般快递公司便于管理快件的系统,该系统主要包括工作人员的登录,快递信息的查询,修改,添加,快递单管理,打印,系统设置,数据库备份。在一些小公司,这些功能完全可以实现快递单的管理功能,在公司内部有几个快件的管理人员,可以根据其在后台添加几个用户。不同的快件管理人员有自己的用户名和密码。这是系统必须拥有的模块。快件的添加,查询,修改是系统的最重要的部分,对不同的寄件在管理员的操控下可以根据实际情况去更改。所有的功能都是围绕快递单打印而存在,此功能与计算机操作系统上自带的打印管理相结合。附加有打印设置管理,让打印的东西更具有选择性。还需要附带一个数据备份功能,当在不用系统的时候或是已经打印后的信息可以对其进行一个备份,在系统数据丢失或是需要再查询以前旧数据的时候,把其导入系统。方便进行操作和数据的保护。同时这几个模块既相互联系又是相互独立的。3.1.2性能需求分析〔1时间响应特性查询服务部分:用户通过电脑提交查询命令到返回结果不超过5秒钟。数据管理部分:提交某一数据录入到结果返回不超过5秒钟。〔2数据量大系统要记录每个快件和活动的记录,因此,整个系统对信息量的要求相对较高,开发者应采取相应措施,解决存储量大的问题,同时还要兼顾信息的方便利用。〔3系统实用性为了提高系统效率,系统提供了多种形式的对话框,并在设计过程中考虑尽量减少用户的输入。〔4安全可靠性本系统运行在Internet上,要考虑可能会受到外来的安全威胁;操作员口令应采用加密存放方式,不同权限的用户对数据有不同层次的访问;要适当的对系统数据进行备份存档,避免数据的丢失带来不便。3.1.3界面需求分析<1界面美观、操作人性化;<2运行响应速度快,存储数据速度快;<3有相应的错误信息提示;<4系统的工作量大但要有限制;<5维护、更新、扩展等功能的容易实现。3.2系统可行性分析经济可行性分析经济可行性研究的是对开发软件的成本估算和成本效益分析,以确定待开发软件是否有开发的价值。对于本系统的开发,能帮助公司对客户的信息管提高工作效率,并且能非常方便的对其进行一系列的管理和维护,是以前的手工管理不能做到的。而且如今的信息化管理显得尤为重要,公司要想更好的发展就得花费一定的资金来购买此系统产品,而开发此系统并不需要投入多大的人力和物力,只需掌握相关的知识和技术就能很快的得以实现,因此在经济上是可行的。3.2.2技术可行性分析技术方面的可行性就是根据现有的技术条件,能否实现系统的各项要求。就硬件方面来说,该系统对所需的硬件设备,如服务器、pc机等的性能要求一般,现有设备的性能完全能够满足系统功能的要求。而软件方面来说,本系统属于数据库应用程序,本系统需要一个数据库服务器及其运行的操作系统平台,根据客户的数据量并不是十分巨大,我们选择目前市场比较流行的数据库服务器产品mysql数据库及配套的平台Windows7即可。而前台开发工具采用myeclipse,利用其可视化的开发环境、丰富的控件资源,能快速开发出应用程序。这些软件在中小型MIS开发中已被大量应用,技术上都比较成熟。且本方案技术要求不高,系统涉及范围不大,子系统间联系紧密,安全性、可靠性强。可见,从技术上是完全能满足基本功能需要的。3.2.3运行可行性分析本系统在技术上采用java作为编程语言、以MYSQL作为后台数据管理,两者形成数据库访问技术。通过系统分析可知系统各功能之间存在一个严密的逻辑关系,只要把自己分析逻辑上的表连接起来就可以实现本系统的数据库架构。其实说到底该系统就是对后台的数据库信息进行访问、处理等操作,因此建一个合理而又完善的数据库是相当重要的,如果数据结构建立的不完善将直接会影响软件的速度,访问效率。所以,只要建立一个合理、完善的数据库,在C/S下结合ODBC技术。采用java辅助编程,就能够实现快递单打印信息管理系统的运行。操作可行性分析该系统主要面向一般方便快递公司管理自己的业务而开发。系统界面简洁易懂,操作方便快捷。由于现在快递管理层次的人员都具备一定的计算机操作水平,所以能够方便的使用该系统。对于一般用户即使是没有试用过计算机的用户,只需点击一下鼠标就可以进行信息查询、添加、删除等功能,此系统具有良好的可操作性。4系统概要设计4.1前台显示说明〔1本打印软件首先是一个登陆界面,所有公司员工必须拥有公司授予的登陆账号以及密码,从而进行对公司客户信息的修改以及维护。〔2进入系统后,系统页面内含有快递单据管理,其中包括快递单查询,修改快递单,删除快递单等功能。除了快递单据管理,还有打印管理,查询用户,修改用户密码,数据备份等功能。4.2架构设计目标软件架构设计要达到如下的目标:<1可行性〔Feasible。架构具有可行性是架构设计的基石。<2可靠性〔Reliable。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。<3安全行〔Secure。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。<4可定制化〔Customizable。同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。<5可扩展性〔Extensible。在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展。<6可维护性〔Maintainable。软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费。4.3系统功能模块设计本系统根据实际要求,经过需求分析,系统分析后得出主要组成包括:用户登录、单据管理、快递单管理、数据管理、系统选项,帮助,如图4-1所示。快递单管理保存填写快递单数据管理系统选项单据打印收件人数据关于用户管理修改信息系统帮助帮助还原数据备份数据单据模板导出单据模板导入发件人数据定制新单据历史快递单查询快递单打印系统快递单管理保存填写快递单数据管理系统选项单据打印收件人数据关于用户管理修改信息系统帮助帮助还原数据备份数据单据模板导出单据模板导入发件人数据定制新单据历史快递单查询快递单打印系统打印快递单打印快递单图4-1系统主要组成部分〔1用户登录考虑到系统的安全性,本系统的用户登录不能在系统本身注册登录。只能由系统设计人员,在管理界面添加用户,但系统登录成功后可以在本系统中去更改自己的登录密码,使用户更好地管理自己的密码,如图4-2所示。图4-2系统登录界面单据管理单据管理界面下面有二个子功能:打印快递单和填写快递单。快递打印根据后台用户添加的信息一条一条地把信息导入界面,用户可以根据需要打印的要求对其进行打印设置,打印出预期的效果。可一条一条打印,也可以批量打印。此模块最主要的功能是打印功能,本系统全部的工作基本上都是为这个功能在服务,打印按钮连接着计算机操作系统的打印管理软件,对于不同的计算机操作系统可能会出现不兼容的问题。但是对于一般的xp和win7系统都没有这样的问题。填写快递单可以自己根据自己的需求,如果以前就有的用户,可以直接从模版中导出打印,新用户在填写快递单后,会保存一个模版,在以后此用户再来寄快递的时候直接从模版中导入。<3>快递单管理快递单管理下有:历史快递单查询,定制新单据功能。当一个顾客在寄完一次快递后,系统就会把他的信息保存到系统,当用户以后再次需要寄快递时根据用户id或者姓名经行查找,直接导入快递单模版进行打印。定制新单据是系统第一次添加一个新顾客时,需要一个一个去添加到后台数据库,以方便在后来的快件打印时进行批量处理。<4>数据管理此模块中有:收件人数据,发件人数据,单据模版导入,单据模版导出,备份数据,还原数据。收件人数据和发件人用来记录在此系统中有过寄件信息或收件信息的用户,当此用户在以后寄件或收件记录中,可以直接导入到模版中,不用再一个一个添加方便快捷。单据模版导入是根据需求可以自己来设定自己想要的模版信息,寄件信息和寄件的模版都可以自行定义这样才是一个好的快递单打印系统,所以此功能是一个重点信息,单据模版的导出就是把当前的模版导出到系统之外去保存,当下次想用此模版是直接导入系统。数据的备份和恢复是把系统的所存在的用户信息,自定义模版,和一些重要的系统内数据进行保存,防止数据的丢失造成的损失。〔5系统选项系统选项下面有两个自功能:用户管理和修改信息,系统管理员可以根据需求来添加和删除用户,用户可以自行更改自己的密码。<6>帮助帮助下面有系统和关于两个功能,帮助是用来指导用户怎样使用该系统,怎样使用才能体现出系统的价值。关于是一些关于此系统的一些开发者,运行环境等的说明。5数据库设计5.1数据库概念设计在设计数据库时,需要计划要存储有关哪些事物的信息,以及要保存有关各个事物的哪些信息。您还需要确定这些事物的相互关系。如果使用数据库设计中的术语,在这一步创建的数据库原型就称作概念数据库模型。概念结构设计的目的概念结构设计阶段的目标是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。概念结构的设计方法有两种:<1>集中式模式设计法:这种方法是根据需求由一个统一机构或人员设计一个综合的全局模式。这种方法简单方便,适用于小型或不复杂的系统设计,由于该方法很难描述复杂的语义关联,而不适于大型的或复杂的系统设计。<2>视图集成设计法:这种方法是将一个系统分解成若干个子系统,首先对每一个子系统进行模式设计,建立各个局部视图,然后将这些局部视图进行集成,最终形成整个系统的全局模式。概念结构设计的过程数据库概念设计是使用E-R模型和视图集成设计法进行设计的。它的设计过程设计局部应用视图<局部E-R图>,然后经行分析,为后面的数据库设计做必要的准备,根据需求分析,得出需要建立的实体属性图分别如下:<1>admin是系统管理员的基本信息,实体属性主要有编号、生日、性别、性别、名字、密码、地址、注册时间等,其实体属性图如图5-1所示。passwordaddressregist-daybirthdaysexnameNOadminpasswordaddressregist-daybirthdaysexnameNOadmin图5-1管理员实体图<2Experss是快递单信息管理,存放系统的全部快递单信息,主要的实体属性有id号、寄件人id号,收件人id号,模板id号,还有日期,其实体属性图如图5-2所示。sendidsendidtimereceiveIdtimereceiveIdIdIdtemplateidtemplateidExpressExpress图5-2快递单实体图<3receivePerson对收件人信息进行管理,主要的实体属性有id号,收件人姓名,收件人电话,收件人地址,收件人公司,收件人邮编,其实体属性图如图5-3所示。receivenamereceivenameReceivetelIdReceivetelIdreceivepersonreceivepersonreceivecompanyreceivecompanyreceiveaddressreceivepostcodereceiveaddressreceivepostcode图5-3收件人实体图<4SendPerson是对发件人信息进行管理,主要实体属性有id号,发件人姓名,发件人电话,发件人公司,发件人地址,发件人邮编等,其实体属性图如图5-4所示。sendnameIdsendnameIdsendtelsendtelsendpersonsendpersonsendaddresssendaddresssendcompanysendcompanysendpostcodesendpostcode图5-4发件人实体图<5Template是对系统中的快递模版进行管理,主要的实体属性有id号,名字,图片,日期,位置等,其实体属性图如图5-5。timepositionimagenameIdtemplatetimepositionimagenameIdtemplate图5-5模板实体图<6Users是对系统工作人员的基本信息进行管理,主要的实体属性有编号,密码,地址,注册时间,性别,姓名,生日,其实体属性图如图5-6。regist-datetimesexNObirthdayusernamepasswordaddressusersregist-datetimesexNObirthdayusernamepasswordaddressusers图5-6员工实体图<7>根据各个实体图设计出整体E-R图,其中管理员与发件人,收件人,模板,快递单都有关系,管理员具有查询,删除,修改收件人和发件人信息的功能,管理员和收件人发件人是一对多的关系,发件人可以自定义模板,填写快递单,因此发件人和模板还有快递单是多对多的关系,根据分析设计出总体E-R图,如图5-7所示。sendpersonreceivepersonsendpersonreceiveperson查询查询查询查询定制admin定制admin填写template填写templateexpressexpress图5-7整体E-R图5.2表设计现在需要将上面的数据库概念结构转化为MYSQL数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系,快递单打印管理系统数据库中表格的设计分别如以下表所示。每个表格表示在数据库中的一个表。根据实际情况的系统分析,本系统在mysql数据库中建立了DB数据库。其中表有admin表,express表,receivePerson表,SendPerson表,template表,users表。〔1admin表用来记录系统管理员的用户名,密码,生日,性别,注册日期,真实姓名等基本信息,如表5-8所示。表5-8admin信息表序号字段说明类型长度〔字符1NO用户名〔主键varchar502password密码varchar503birthday生日data4sex性别varchar105regist_day注册日期datatime6name姓名varchar507address地址varchar50〔2Experss表是一个寄件信息表,也是此系统最重要的一张表,里面有快件id,发件人id,收件人id,所使用的快件模版和快件所产生的时间等信息,如表5-9所示。表5-9Experss信息表序号字段说明类型长度〔字符1id模版编号〔主键int42sendId发件人编号int43receiveId收件人编号int44templateid模版编号int45time发件时间datatime〔3receivePerson表是一个收件人信息表,包括收件人id,姓名,电话,所在公司,地址,邮编等一些寄件必要的信息,如表5-10所示。图5-10receivePerson信息表序号字段说明类型长度〔字符1id收件人编号〔主键int42receiveName收件人姓名Varchar503receiveTel收件人电话Varchar104receiveCompary收件公司data505receiveAddress收件地址Varchar506receivePostCode收件邮编int10〔4SendPerson表是一个发件人信息表,用来记录所以系统中有过发件信息人的基本信息,包括发件人id,姓名,电话,所在公司,地址,邮编等一些寄件必要的信息,如表5-11所示。图5-11SendPerson信息表序号字段说明类型长度〔字符1id发件人编号〔主键int42sendName发件人姓名Varchar503sendTel发件人电话Varchar104sendCompary发件公司Varchar505sendAddress发件地址Varchar506sendPostCode发件邮编int10〔5Template表是一个模版表,用来记录此系统中所用的模版信息,方便以后直接调入前台使用,其中的信息包括模版的id号,名字,位置,时间,图片等一些必要信息,如表5-12所示。表5-12Template信息表序号字段说明类型长度〔字符1id模版编号〔主键int42name模版名称Varchar103image模版图片路径Varchar504position模版上控件位置,大小,类型Varcharmax5time模版添加时间datatime〔6users表是用户信息表,用来存储所有使用该系统的员工信息,便于系统后台的管理,有用户名,密码,真实姓名,生日,性别,注册时间,电话,地址等信息,如表5-13所示。表5-13users信息表序号字段说明类型长度〔字符1NO用户编号〔主键int42password密码varchar503username用户名varchar504birthday生日data5sex性别varchar106regist_datetime注册时间datatime7address地址varchar505.3数据库的实现与维护根据数据库的概念设计和逻辑结构设计的结果,利用特定的DBMS在计算机系统上建立实际的数据库结构、装入数据、测试和试运行的过程称为数据库的实现阶段。该阶段主要完成以下3项工作:〔1建立实际数据库结构。利用数据库管理系统或应用开发平台的数据库设计工具设计出实际的数据库结构。〔2装入实验数据对应用程序进行调试。实验数据可以是实际数据,也可由手工生成或用随机数发生器生成。应使测试数据尽可能覆盖现实世界的各种情况。〔3装入实际数据,进入试运行状态,测量系统的性能指标,看是否符合设计目标。如果不符合设计目标,则返回前面几步修改数据库的物力结构,甚至逻辑结构。在使用数据库时,有时用户非法操作或系统发生突发事件都会对数据库产生不同程度的影响,所以系统需要时常对数据库进行维护。对于任何一个与数据库挂钩的软件,数据库都可以称的上是该软件的心脏,如果"心脏"都坏了。就意味着系统的奔溃,所以后台数据库的维护是相当重要的。本文对数据库的维护有以下几点建议:=1\*GB3①对事务日志进行备份,对数据库进行备份。=2\*GB3②为了防止用户的失误操作和外人的蓄意破坏,除管理员身份外应对其他身份的用户权限进行设置。根据用户的要求对数据库现有功能进行扩充。=3\*GB3③及时改正运行中发现的系统错误。6系统详细设计与实现6.1系统主框架的实现与设计本系统网站的主界面设计结构采用了弹出窗体的结构,上部分为主功能菜单区,主要是显示网站的主功能,分别有单据打印,快递单管理,数据管理,系统选项,帮助,界面设计如图6-1所示。图6-1系统主框架实现核心代码如下: publicstaticvoidmain<String[]args>{ SwingUtilities.invokeLater<newRunnable<>{ publicvoidrun<>{ newMainFrame<1>; } }>; } privatevoidinitButton<>{ this.jb_PrintExpress=createFrameButton<"打印快递单">; this.jb_PrintExpress.addMouseListener<MainFrameListener.getPrintExpress<>>; this.jb_WriteExpress=createFrameButton<"填写快递单">; this.jb_WriteExpress.addMouseListener<MainFrameListener.getWriteExpress<jp> this.jb_HistoryQuery=createFrameButton<"历史快递单查询">; 6.2快递单定制功能的实现〔1实现目标快递单定制功能,是根据系统需求,用户想用什么快递发快件就从系统外导入图片到自定义模块中,可以根据在系统数据库中的寄件人信息和发件人信息直接导入其中,也可以根据需求使用texbox按钮和checkbox按钮来自己在导入的模版中自定义需要添加的信息。添加到模版后可以在快递模版中进行保存,方便以后在再次使用到此模块或者寄件人收件人信息的时候直接导入,界面设计如图6-2所示。图6-2快递单定制功能〔2实现过程所属页面名:template.java通过template页面去其他页面调用,实现此模块的功能。核心代码如下:publicArrayList<Template>queryAll<>{ //TODOAuto-generatedmethodstub ArrayList<Template>list=newArrayList<Template><>; DBCondb=newDBCon<>; Connectioncon=db.getConnection<>;try{ PreparedStatementps=con.prepareStatement<"select*fromtemplate">; ResultSetrs=ps.executeQuery<>;while<rs.next<>>{ Templatet=newTemplate<>; t.setId<rs.getInt<"id">>; t.setImage<rs.getString<"image">>; t.setName<rs.getString<"name">>; t.setPosition<rs.getString<"position">>; t.setTime<rs.getString<"time">>; list.add<t>; } }catch<SQLExceptione>{ //TODOAuto-generatedcatchblock e.printStackTrace<>; }finally{ db.close<>; }returnlist; } @OverridepublicbooleanaddTemplate<Stringname,Stringimage,Stringposition,Stringtime>{ //TODOAuto-generatedmethodstub DBCondb=newDBCon<>; Connectioncon=db.getConnection<>;booleanok=true;try{ PreparedStatementps=con.prepareStatement<"insertintotemplate<name,image,position,time>values<?,?,?,?>">; ps.setString<1,name>; ps.setString<2,image>; ps.setString<3,position>; ps.setString<4,time>; ps.executeUpdate<>; }catch<SQLExceptione>{ //TODOAuto-generatedcatchblock e.printStackTrace<>; ok=false; }finally{ db.close<>; }returnok; }6.3快递单打印功能的实现快递单打印功能是实现快递单的打印,员工通过登录系统,进入主界面,然后填写快递单的信息,填写完快递单的信息,点击打印按钮,就会出现如图6-3的界面。图6-3快递单保存功能实现的核心代码如下:@OverridepublicvoidmouseDragged<MouseEvente>{ //TODOAuto-generatedmethodstub Pointposition=jp.getMousePosition<>; com.setLocation<position.x-jp.getInsets<>.left-com.getWidth<>/2,position.y-jp.getInsets<>.top-com.getHeight<>/2>; CreateNewE=<Component>e.getSource<>; } @OverridepublicvoidmouseMoved<MouseEvente>{ //TODOAuto-generatedmethodstub } }在上图6-3显示的页面中选择是按钮,接下来就可以进行打印了,如果计算机没有连接打印机,那么系统就会保存成一个PDF格式的图片,如果还想修改快递单的信息,直接点击否按钮,不想打印快递单,直接点击取消按钮,实现的界面如图6-4。图6-4快递单打印功能实现的核心代码如下:@OverridepublicvoidvalueChanged<ListSelectionEvente>{ Componentcoms[]=jp.getComponents<>;for<inti=0;i<coms.length;++i>{ jp.remove<coms[i]>; }intindex=nlist.getSelectedIndex<>; jp.repaint<tlist.get<index>.getImage<>>;add<jp,tlist.get<index>.getPosition<>>; WriteExpress.templateId=tlist.get<index>.getId<>; jp.repaint<>; } }; }publicstaticvoidadd<finalWriteExpress.JpLeftjp,finalStringposition>{ Stringpos[]=position.split<";">;for<inti=0;i<pos.length;++i>{ Stringcom[]=pos[i].split<"">;System.out.println<com.length>;if<com[0].equals<"tf">>{ Textjtf=newText<>; jtf.setContentType<com[1]>; jtf.setSize<Integer.valueOf<com[2].trim<>>,20>; jtf.setLocation<Integer.valueOf<com[3].trim<>>,Integer.valueOf<com[4].trim<>>>;// System.out.println<"w:"+jtf.getWidth<>>;// System.out.println<"x:"+jtf.getX<>>;ln<"y:"+jtf.getY<>>; jp.add<jtf>; }else{ JCheckBoxjcb=newJCheckBox<>; jcb.setSize<Integer.valueOf<com[1].trim<>>,20>; jcb.setLocation<Integer.valueOf<com[2].trim<>>,Integer.valueOf<com[3]>>; jp.add<jcb>; } jp.repaint<>; jp.validate<>; } }6.4用户管理功能的实现〔1实现目标用户管理功能模块是系统对系统工作人员基本信息的管理,当一个系统到了一定达到一定的程度,就得需要对其进行管理。当用户进入时,只能看到自己的信息,更改基本信息,但是不能更改工号。当系统管理员进入系统后,可以看到所以的信息,可以添加新用户,对用户进行权限的管理,实现界面如图6-5所示。图6-5用户管理界面〔2实现过程所属页面名:UserManager.java实现的核心代码如下:@OverridepublicvoidmouseClicked<MouseEvente>{ //TODOAuto-generatedmethodstubintrow=jt.getSelectedRow<>;if<row==-1>{ JOptionPane.showMessageDialog<null,"请选中一行!!">; }else{intoption=JOptionPane.showConfirmDialog<null,"确定要删除吗?">;if<option==JOptionPane.OK_OPTION>{ <newUserImple<>>.deleteUser<jt.getValueAt<row,0>.toString<>>; <<DefaultTableModel><jt.getModel<>>>.removeRow<row>; <<DefaultTableModel><jt.getModel<>>>.fireTableDataChanged<>; } } } }; }〔3管理员添加用过程需要添加的信息有工号,名字,性别,生日,地址,注册时间,原始密码。当用户在使用系统时可以进入系统对原始密码进行更改,添加用户界面如图6-6所示。图6-6用户添加界面实现的核心代码如下:publicclassAdmin{privateStringNO;privateStringpassword;privateStringusername;privateStringbirthday;privateStringsex;privateStringregist_date;privateStringaddress;publicStringgetNO<>{returnNO; }publicvoidsetNO<StringnO>{ NO=nO; }publicStringgetPassword<>{returnpassword; }publicvoidsetPassword<Stringpassword>{this.password=password; }publicStringgetUsername<>{returnusername; }publicvoidsetUsername<Stringusername>{this.username=username; }publicStringgetBirthday<>{returnbirthday; }publicvoidsetBirthday<Stringbirthday>{this.birthday=birthday; }publicStringgetSex<>{returnsex; }6.5快递查询功能的实现〔1实现目标快递单查询可以查询根据需求查询出自己想要的信息进行保存,在想编辑快递单的时候直接导入模块。系统可以进行模糊查询,根据想要的需求,查询出想要的结果。快递单修改时用到了添加的界面,直接把系统后台的数据库中的数据导入界面,用户可自行在界面上任意修改其已经存在的数据。保存成功后提示用户修改成功,界面如图6-7所示。图6-7系统查询功能界面〔2实现过程所属页面名:templateinterface.java6.6数据库恢复与备份功能的实现数据备份功能直接把系统所有的寄件信息、用户信息、快递模版备份成bak文件。本系统可以指定几个用户同时使用,用户可根据自己的需求在使用完系统后对自己的数据经行备份,或是把已打印完成的订单导出数据库进行备份,在有需求的时候,或是需要查询订单信息的时候直接导入系统经行需求性的查询,界面如下图6-8所示。图6-8数据备份界面6.7数据库连接实现Java数据库连接,〔JavaDatabaseConnectivity,简称JDBC是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是SunMicrosystems的商标。它JDBC是面向关系型数据库的。JDBC处理SQL一致性问题是提供ODBC风格的转义子句,是整个连接关系中的核心。转义语法为几个常见的SQL分歧提供了一种标准的JDBC语法。例如,对日期文字和已储存过程的调用都有转义语法。一个好的系统,数据库的连接技术是一个非常重要的系统,它关系到系统的安全,只有做好这方面的工作,系统的安全系数,才会得到保证。在系统的其他访问数据库的过程中,应该把语句完全封装在一个包或类中,这样既方便系统开发人员对其代码的可读性,又加强系统的严谨性。本系统数据库访问实现代码如下:〔1DBCon.java:packagecom.jby.util;importjava.sql.Connection;importjava.sql.DriverManager;publicclassDBCon{publicDBCon<>{}PrivateStringDBDRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver"; privateStringDBURL="jdbc:sqlserver://localhost:1433;database=DB"; privateConnectionconn=null; publicConnectiongetConnection<>{ try{ Class.forName<DBDRIVER>; this.conn=DriverManager.getConnection<DBURL>; }catch<Exceptione>{ e.printStackTrace<>; } returnthis.conn; }publicvoidclose<>{try{conn.close<>;}catch<Exceptione>{e.printStackTrace<>;}}}〔2FileManager.java:packagecom.jby.util;importjava.io.*;publicclassFileManager{ publicstaticvoidcopy<FilefSource,Filedestination> try{ FileInputStreamfis=newFileInputStream<fSource>; FileOutputStreamfos=newFileOutputStream<destination>; inti; while<<i=fis.read<>>!=-1>{ fos.write<i>; } }catch<IOExceptione>{ e.printStackTrace<>; } } publicstaticvoiddelete<Filef>{ if<f.exists<>>{ f.delete<>; } }}7系统测试与评价7.1系统测试系统测试〔SystemTesting是对已经集成好的软件系统进行彻底地测试,以验证软件系统的正确性

温馨提示

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

评论

0/150

提交评论