《仓储调度-毕业设计说明书.doc》由会员分享,可在线阅读,更多相关《仓储调度-毕业设计说明书.doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学校代码: 10128学 号: 040201026 本科毕业设计说明书(题 目:仓储调度系统遗传算法算法研究与实现学生姓名:高 权学 院:信息工程学院系 别:计算机系专 业:计算机科学与技术班 级:计算机04-4指导教师:苏依拉 副教授 钱庭荣 工程师二八年六月内蒙古工业大学本科毕业设计说明书摘 要目前各行各业智能化已充分展开,传统的手工进货或者采用较为落后的进货方式已经不能满足规模越来越大的商场的需求,也跟不上现今世界经济急剧发展的局势,因此急需一种智能化系统代替原始方式,从而提高作业效率,节省时间和人员开销,最大程度的降低成本。本系统就是基于目前现状为某公司开发的一个仓储调度系统。仓储调度
2、系统为物流系统的一个子系统,主要负责产品的调货,出货,以及对仓库中物品进行盘查。本系统主要实现了商品信息模块,公告信息模块(及时发现需进货商品信息),出库信息模块,管理员模块,商品调度模块,日志信息模块。在本系统中使用了遗传算法,可以同时对多种商品进行调度,该算法会根据供应商报价以及运输成本去自动选择一种最优方式,这种方式在很大程度上减少了管理员操作时间,节约了进货成本。系统的实现主要采用MVC(Model View Controller)设计模式,使用Struts框架和Hibernate等技术。关键词:遗传算法;MVC;JSPAbstractAt present, intelligentiz
3、ing has been widely developed in all walks of life. The traditional and uncultured method of stock is unable to meet the needs of shopping malls, also failed to keep pace of rapid economic development. Therefore, it is necessary to develop an intelligent System and replace the original for enhancing
4、 operational efficiency, saving time and personnel expenses, and reducing the cost to the greatest degree.The warehouse scheduling system, a sub-system of logistics system, was developed for a company under its current status. This system mainly manages the allocation and shipment of the product as
5、well as the storage of inventory items. The system mainly includes the commodity information module, notice of information module (purchase of goods timely information to be found), the Library module, the administrator module, the value of scheduling module, and log information module. The genetic
6、algorithm used in this system supplies a way to dispatch various goods simultaneously. The algorithm will automatically select a optimal way according to quoted price of suppliers and transportation costs, which reduce the operation time of administrator and save the cost of stock to a large extent.
7、The System mainly uses MVC (Model View Controller) design patterns, Struts framework, and Hibernate technique.Keywords: GA;MVC;JSP目 录引 言1第一章 仓储调度系统背景21.1 物流的概念21.1.1 物流的信息化21.1.2 现代化物流信息系统的功能21.2 仓储调度的地位21.2.1 仓储在物流系统中的功能和作用31.2.2 仓储作业流程管理41.2.3 管理信息系统对企业的影响4第二章 遗传算法及其工程应用62.1 遗传算法简介62.2 遗传算法的基本原理62
8、.3 遗传算法的基本描述62.3.1 基本遗传算法定义62.3.2 基本遗传算法流程72.3.3 遗传编码72.3.4 评价函数82.3.5 遗传算子92.3.6 群体设定92.3.7 和其他算法比较10第三章 系统功能需求分析113.1 设计思想113.2 系统功能需求113.3 系统模块功能需求123.3.1 管理员登录模块123.3.2 公告信息模块123.3.3 商品信息模块123.3.4 供应商模块123.3.5 商品调度模块123.3.6 日志信息模块123.3.7 出库模块123.3.8 管理员信息修改134.4 系统整体流程设计13第四章 技术可行性分析144.1 JSP技术简
9、介144.2 JAVA技术简介154.3 MVC设计模式164.4 STRUTS框架174.5 ORACLE数据库简介18第五章 数据库设计205.1 数据库功能概述205.2 数据库逻辑关系205.3 数据字典21第六章 系统实现236.1 系统总体功能介绍236.2 系统各模块功能实现23结 论29参考文献30谢 辞31引 言面对节奏加快的世界经济,如何在商品经济中立足,具有足够强的竞争力,已经成为一个永不过时的话题。中国进入WTO对中国既是一个机遇也是一个挑战。从这里开始中国的市场要走向国际化,中国的商品走出国门,让世界上所有国家的人们来使用它,检验它的好与坏。面对世界上一流大企业,我们
10、应该怎么做才能使自己生存下来呢?其中需要特别注意:进货迅速,这就要很好的去衡量各个厂商相对自己的距离;其次供应商的单价和运输成本,怎么去选择和计算哪个供应商的性价比最高;再次,如何使自己的产品和资金能够有效的运行。只有具有迅速,成本低,资金运转效率高等现代竞争中不可缺少的因素,才能在日益竞争激烈的市场中生存甚至脱颖而出。面对激烈的全球市场竞争环境,我国明确提出发展现代化的仓储管理行业,加快资金流,商品流的快速循环,提高企业赢利能力和竞争力。速度已经是企业发展过程中一个不容忽视的问题,不论是在决策中,销售中还是仓储运输中,都是十分重要的因素。中国入世后经济的繁荣发展离不开仓储业的支持,它给国内经
11、济的繁荣、企业的资金的加速流转、商品的及时传递、安全的库存提供的保证。安全的库存并不是最好的,例如日本丰田公司的零库存计划给业界就是一个创举,每年光零部件库存费用的减少就是一个惊人的数字,所以库存管理是否合理是减少不必要库存费用浪费的一个重要途径,合理的库存不但能满足生产销售的需要而且可以在管理方面提升竞争力。进入新世纪,由于全球经济一体化进程日益加快,企业面临着更加激烈的竞争环境,资源在全球范围内的流动和配置大大加强,世界各国更加重视物流发展对于本国经济的发展、国民生活素质和军事实力增强的影响,都十分重视仓储业的现代化,从而使现代物流呈现出一系列新的发展趋势。根据国内外仓储业发展的情况,21
12、世纪物流的发展趋势可以归纳为信息化、网络化、自动化、电子化、智能化、标准化、全球化等十二大趋势。为了解决传统方案的不足,该系统期望采用遗传算法,对仓储管理实现智能化控制,从而大大提高了工作效率,同时该系统能够及时查询商品的库存情况,减少了传统需要人工进行查询的劣势。速度,效率,最少的成本才是制胜的关键。第一章 仓储调度系统背景1.1 物流的概念物流(Logistics)可以从不同的角度进行定义,但最为广泛的定义为:物流是供应链运作中,以满足顾客要求为目的,对货物、服务和相关信息在产出地和销售地之间实现高效率和低成本的正向和反向的流动和存储所进行的计划、执行和控制的过程。1.1.1 物流的信息化
13、现代物流信息系统是以现代物流思想体系为基础,依靠现代化科学技术,特别是计算机和网络通讯等信息技术。在计划,管理和控制以及作业环节等方面充分利用信息,快速反馈信息,为决策提供依据并辅助决策,通告物流效率和优化供应链的信息系统。物流信息系统的目的是在提高物流业务的效率和降低成本的同时,支持提高对顾客的服务水平。1.1.2 现代化物流信息系统的功能物流业务是企业的根基业务之一,为了打好业务根基,建立强固的基础,物流信息系统起着非常重要的作用。现代物流信息系统的基本功能有以下几个方面:(1)正确掌握订货信息并进行传送的功能正确掌握订货信息是物流信息系统的入口,订货信息是企业从外部得到的重要信息,根据订
14、货信息能够掌握畅销产品和滞销产品,灵活的应用和分析订货信息能够使企业得到大的发展,主要的信息包括:订货信息的出库业务,订货信息的市场业务,订货信息的销售商的基本信息等。(2)正确掌握库存的移动和传送的功能争取掌握库存信息是物流信息系统的出口,库存信息是企业内部存货数量等企业内部信息,精确的掌握企业内部信息对其他企业订货有着无可比拟的重要性。主要信息包括:库存信息,库存的移入移出等信息。(3)对顾客提供信息的功能信息不仅是在企业内部应用,与顾客交换信息已是企业战略的重要部分,对顾客提供信息包括:到货信息,订货信息,市场状况信息等。1.2 仓储调度的地位作为一个企业的最基本也是最核心的流程,采购,
15、销售,库存涉及到企业大部分物流,资金流,信息流以及全比的商业流。因此,仓储调度在一个企业中有着不容忽视的地位。(1)采购采购是企业向供应商获取商品或服务的一种商业行为,企业经营活动所需要的物流绝大部分是通过采购获得的,采购物流是企业供应物流的重要起点,是企业供应物流管理的主要环节。采购物流管理是否有效,对整个物流费用能否降低,物流经营效率能否提高有着非常重要的影响。原材料采购是指企业为满足生产经营活动的需要,选择和购买原材料的过程,这个过程包括:原材料的需要,选择供应商,商议下家,签订购货合同,选择运输方式等事项,结合企业的库存及运输条件,针对不同的原材料,应采以不同的采购策略,以最大限度降低
16、采购综合成本。(2)销售销售在一个企业中的作用是不容忽视的,它是实现商流转换的过程,在这个转换过程,企业实现了利润,这是一个企业存在的最终目的。现代企业营销活动中,不但要具备良好的产品组合,准确把握产品不同时期生命周期,产品包装,品牌管理等环节的策划与设计,而且还要在产品开发前就应考虑推向市场后,产品销售环节中的物流系统运作设计与策划。(3)库存在企业中,库存是一个“蓄水池”的作用,调节着生产和需求之间的不平衡,因为生产和需求是不能同步进行的,生产必须在需求之前作好准备,当需求开始的时候供应到市场上去。1.2.1 仓储在物流系统中的功能和作用(1)便于形成先进的物流系统,提高企业的竞争优势传统
17、的仓库只是货物存储的场所,保存货物是唯一的功能,是一种“静态存储”。现代仓库功能与传统的仓库功能相比已经发生了重大的变化,现代仓库不仅能使货物在仓库内自动存取,而且可以与仓库以外的生产环节进行有机的连接,并通过计算机管理系统使仓库成为企业生产物流中的一个重要环节。因为仓储调度系统是整个企业管理大系统(从订货、必要的设计和规划、计划编制和生产安排、制造、装配、试验、发运等)的一个子系统,因此,只有建立仓储调度系统与企业大系统之间的实时连接,才能为企业领导者制定相应的战略、指挥、监督和调整企业的行动提供依据。(2)降低周转时间,减轻劳动强度,提高生产效率建立以仓储调度为中心的物流系统,通过对物资货
18、位的合理布局,以较短周转时间、较低存货率、较低的成本和顾客服务为内容的物流目标,即能快速妥善的将物资存入仓库中(商品入库),也能快速及时地将生产所需零部件和原材料送达生产线(商品出库),而且能用较低的成本较快的速度完成物流的整个过程。1.2.2 仓储作业流程管理仓储调度的一个非常重要的内容就是仓储作业管理,仓储作业是完成仓库物资储存、入库、出库以及流通加工等不可缺少的手段,它是由各个环节、作业单位协同配合,共同完成的。仓储作业流程的管理不但包括具体的作业实际流程管理,还包括作业信息流程的管理,即管理信息系统。整个仓储作业,基本上包括采购入库,货物存储和销售出库三个阶段,这三个阶段相互衔接,共同
19、实现仓库的所有功能。仓储作业的最根本的目的就是满足用户对商品的需要。1.2.3 管理信息系统对企业的影响(1)管理体制的科学化建立企业的仓储调度系统之后,可以充分的发挥计算机的高速运算和大的数据存储容量,通信设备等快速信息传送的特点。这样一方面可以利用数学模型对企业的管理活动进行模拟,以提高管理决策的准确性,避免其主观意愿性,使管理工作更加精确有效。另一方面,可以对过去大量实际管理数据进行分析,总结,找出成长规律,用来预测未来仓储调度走向,使管理工作由粗变细,由事后管理向实时管理方向发展你,做到事前有预测,事后有改动,使管理工作由被动状态逐渐变为主动状态。由于对企业外部环境进行有效的分析和预测
20、,据此来不断改变企业的经营方向和管理策略,以适用客观环境的要求,不仅可以避免因市场环境变化给企业带来的经济损失,还可以获得更多的利润,成为市场竞争中的胜利者。同时由于网络和通讯的快速性,可以及时的传送信息,对企业进行实时管理和控制,以避免出现及时变化而发生问题,造成重大损失。()管理体制的合理化信息是企业管理的资源,是各级管理人员决策的重要依据。企业管理的过程实际上是对信息的处理过程。而仓储调度系统能使信息由分散处理转变为集中控制,从而适应市场经济体制下的管理需求,从而充分发挥信息综合利用的作用,同时还提高信息的质量,大大增加信息的处理量,以满足企业各级管理人员决策所需的信息。()提高管理人员
21、的素质和管理水平开发仓储调度是对企业的人、财、物资源和商品的购、销、存、调环节的信息处理、工作方式、管理机制、工作习惯等方面的变革。因此,必须促进管理人员思想观念的变革,管理业务水平的提高,才能适应这一套变革,开发仓储管理系统齐天,管理人员可从中学习,掌握信息技术。仓储管理系统建成之后,管理人员可以从繁琐,重复的事务工作中解脱出来,进行调查研究,使用各种数据分析手段和方法对企业的管理活动进行分析,制定改进和提高管理工作效率的措施,即从事信息分析,判断和决策等真正的信息管理工作,充分发挥信息在管理中的作用。()提供企业的经济效益和竞争地位仓储管理系统使企业管理规范华,科学化,高速化,资源利用合理
22、化,它给企业带来的直接经济效益是显著的。由于仓储管理系统准确及时提供信息,加强了信息的反馈,企业各个部门据此可以合理的组织商品的流通,减少库存积压,从而加快资金周转,使企业的经济效益大大提高。仓储管理系统对企业内部资金统一管理,及时掌握,调配内部资源的使用,大大提高了效率,从而减少成本的开支,在增加企业经济效益的同时,增加了企业在市场中的竞争能力。第二章 遗传算法及其工程应用2.1 遗传算法简介遗传算法(Genetic Algorithm,简称GA)是生命科学与工程科学相互交叉、相互渗透的结果。它启迪于自然界生物从低级、简单,到高级、复杂,以及人类这样一个漫长而充满奥秘的进化过程,同时借鉴了达
23、尔文的物竞天择、优胜劣汰、适者生存的自然选择和自然遗传机理,并将其引入编码串结构,在串与串之间进行有组织的但又是随机的信息交换,优良的品质被逐渐保留并加以组合,从而不断产生出更优的个体,其本质是一种求解问题的高效并行全局的搜索方法。自20世纪60年代中期美国Michigan大学Holland教授提出遗传算法以来,其应用研究越来越深入,应用领域也越来越广泛。遗传算法在智能控制系统设计、组合优化、模式识别、机器学习、规划策略、信号处理和生命领域的应用中显示出其无以伦比的优越性和魅力。2.2 遗传算法的基本原理GA是基于自然选择和遗传机制,在计算机上模拟生物进化机制的搜索寻优算法。在自然界的演化过程
24、中,生物体通过遗传(传宗接代、后代和双亲非常相象)、变异(后代与双亲又不完全相象)来适应外界环境,一代又一代地优胜劣汰、繁衍进化。GA模拟了上述进化现象,它把搜索空间(所求问题的解的隶属空间)映射为遗传空间,即把每一个可能的解编码为一个向量,称为一个染色体或个体,向量的每个元素称为基因,所有染色体组成群体或种群,并按预定的目标函数对每个染色体进行评价,据其结果给出一个适应度的值。算法开始时先随机地产生一些染色体(所求问题的侯选解),计算其适应度,跟据适应度大小对诸染色体进行选择、交叉、变异等遗传操作,剔除适应度低(性能不佳)的染色体,留下适应度高(性能优良)的染色体,从而得到新的群体。由于新群
25、体的成员是上一代群体的优秀者,继承了上一代的优良性能,因而明显优于上一代。GA就通过这样的反复地操作,向着更优解的方向进化,知道满足某种预定的优化收敛指标。GA是一个重复的搜索过程,但这一过程并不简单地重复搜索,而是一个带着“记忆”的搜索,算法本身使搜索不会向一个低的区域进化。GA就是靠着自身的这种“意向”,不断地产生新的个体,不断地淘汰劣的个体,从而进化到较高阶段或者说趋于收敛5。2.3 遗传算法的基本描述2.3.1 基本遗传算法定义基本遗传算法可定义为一个八元组,其基本关系表述如公式(2-1) K=(C,E,P,M,L,G,T,U) (2-1)式中各参数代表含义如下:C:个体的编码方法;E
26、:个体的适应度评价函数;P:初始群体;M:群体大小;L:选择算子;U:变异算子;G:交叉算子;T:算法终止条件; 2.3.2 基本遗传算法流程如图2-1,算法的运行过程为一个典型的迭代过程,其必须完成的工作内容和基本步骤如下:(1)选择编码策略,把参数集合X和域转换为位串结构空间S;(2)定义适应度值函数f(x);(3)确定遗传策略,包括选择群体大小n,选择、交叉、变异方法,以及确定交叉概率Pc,变异概率Pm等遗传参数;(4)随机初始化生成群体P;(5)计算群体中个体位串解码后的适应值f(X);(6)按照遗传策略,运用选择、交叉、和变异作用于群体,形成下一代群体;判断群体性能是否满足某一指标,
27、或者已完成预定迭代次数,不满足则返回步骤(6),或者修改遗传策略再返回步骤(6)6。2.3.3 遗传编码按照遗传算法的工作流程,当用遗传算法求解问题时,必须在目标问题实际表示与遗传算法的染色体位串之间建立联系,即确定编码和解码运算。一般来说,参数集及适应函数是与实际问题密切相关的,往往由用户斟酌确定。定义 由问题空间向GA编码空间映射称作编码(encoding),而由编码空间向问题空间映射称作译码。编码一般应满足以下3个原则:完备性:问题空间中的所有点都能成为GA编码空间中的点的表现型。健全性:GA编码空间中的染色体位串必须对应问题空间中某一潜在解。图2-1 遗传算法流程图2.3.4 评价函数
28、评价函数也称为适应函数。遗传算法将问题空间表示为染色体位串空间,为了执行适者生存的原则,必须对个体位串的适应性进行评价。因此,适应函数就构成了个体的生存环境。根据个体的适应值,就可决定它在此环境下的生存能力。一般来说,好的染色体位串结构具有比较高的适应函数值,即可以获得较高的评价,具有较强的生存能力。对于给定的优化问题,目标函数有正有负,甚至可能是复数值,所以有必要通过建立适应函数与目标函数的映射关系,保证映射后的适应值是非负的,而且目标函数的优化方向应对于适应值增大方向。2.3.5 遗传算子标准遗传算法的操作算子一般包选择,交叉,变异三种形式,他们构成了遗传算法强大的搜索能力的核心,是模拟自
29、然选择以及遗传过程中发生的繁殖、杂交和突变现象的主要载体。在Holland的早期著作中,极力推荐采用逆转算子,使得关键基因在交叉操作中便于保留下来,以便形成紧密的基因联结。遗传算法利用遗传算子产生新一代群体来实现群体进化,算子的设计是遗传策略的主要组成部分,也是调整和控制进化过程的基本工具。1、选择适应值比例选择是最基本的选择方法,其中每个个体被选择的期望数量与其适应值和群体平均适应值的比例有关,通常采用轮盘赌方式实现。这种方式首先计算每个个体的适应值,然后计算出此适应值在群体适应值总和中所占的比例,表示该个体在选择过程中被选中的概率。选择过程体现了生物进化过程中“适者生存,优胜劣汰”的思想,
30、并且保证优良基因遗传给下一代个体。2、交叉交叉操作是进化过程中遗传算法具备的原始性的独有特征,GA交叉算子是模仿自然界有性繁殖的基因重组过程,其作用在于将原由的优良基因遗传给下一代群体,并生成包含更复杂基因结构的新个体。交叉操作一般分为以下几个步骤:从群体中随机取出要交叉的一对个体;根据位串长度L,对要交叉的一对个体,随机选取1,L-1中一个或多个的整数K作为交叉位置;根据交叉概率实施交叉操作,配对个体在交叉位置处,相互交换各自的部分内容,从而形成新的一对个体。3、变异算子变异操作模拟自然界生物体进化中染色体上某位基因发生的突变现象,从而改变染色体的结构和物理形状。2.3.6 群体设定根据模式
31、定理,群体规模对遗传算法的性能影响很大。若群体规模为n,则遗传算子可以从这n个个体中生成和检测n的三次方个模式,并在此基础上不断形成和优化模块,直到找到问题的最优解。群体规模越大,群体中个体的多样性越高,算法陷入局部解的危险就越小。但是随着群体规模的增大,计算量也增大。若群体规模太小,使遗传算法的搜索空间受到限制,则可能产生未成熟收敛的现象。初始群体中的个体一般是随机产生的。在不具有关于问题解空间的先验知识的情况下,很难判定最优解的数量及其在可行解空间中的分布状况。因此往往希望在问题解空间均匀采样,随机生成一定树木的个体,然后从中挑出较好的个体构成初始群体。对于二进制编码,染色体位串上的每一位
32、基因在(0,1)上随机均匀选择,所以群体初始化至少需要L*N次随机取值5。2.3.7 和其他算法比较在GA被广泛应用之前,优化问题主要有以下几种:(1)基于计算的方法:通过求目标函数导数的零点或一系列迭代计算过程来求最优解。对多峰问题,这类方法容易陷入局部最优点附近,且要求目标函数有较好的连续性或可微性。(2)枚举法:在有限的或被离散化的无限搜索空间中比较每一点的目标函数值,求出最优解。当搜索空间大时,计算量的迅速增加使这类算法失效。(3)随机算法:这类算法主要有模拟退火算法,模拟退火法在实际应用中较成功,但从一点到另一点的迭代过程使多峰问题陷入局部最优解。与传统优化算法相比,GA具有如下特点
33、:(1)搜索过程不直接作用在变量上,而是作用在将变量编码后的字符串上;(2)搜索过程是从一组解迭代到另一组解,这样可降低陷入局部最优解的可能性;(3)使用的是随机搜索过程而非确定性搜索过程;对搜索空间没有任何特殊要求,只利用适应性值信息,不需要导数等其它辅助信息,因而适用范围更广。第三章 系统功能需求分析3.1 设计思想系统设计遵循了仓储调度的概念,在设计中模拟实现了仓储调度的过程。仓储调度主要是从整个商品流通过程的购、销、储、运等各个环节的链式关系中,研究货物储存的收、管、发以及其相关的经营活动,以及围绕货物储存业务所开展的对人、财、物的运用与管理。要包括商品在库信息、入库信息、出库信息、商
34、品位置信息、仓库位置信息以及管理仓库的负责人情况,供应商信息、商品分类信息等。经过分析和调研,本系统设计实现仓储调度的主要几个模块。其中这几个模块分为管理员登录模块,公告信息模块,商品信息模块,供应商模块,商品调度模块,日志信息模块,出库模块,管理员信息修改模块。在以上这几个模块中,商品调度模块使用遗传算法会减少对人力和财力的消耗,会比普通的仓储调度更加优化。因此本课题对遗传算法进行了初步研究,期望能在系统的商品调度模块应用该算法。3.2 系统功能需求图3-1 系统功能模块图在系统的八大模块中,各个模块需要实现其特有的功能。作为系统的一部分,各个模块之间都存在着相互的联系,系统功能模块划分如图
35、3-1所示。3.3 系统模块功能需求3.3.1 管理员登录模块设立管理员登录模块的目的就是为了系统的安全性着想。也就是说只有是该系统的管理员,有该系统的用户名和密码,才能够登录本系统,对系统进行操作。在管理员模块,需要与数据库进行交互,来取得正确的用户名和密码,这样才能成功登录系统,对系统进行操作。3.3.2 公告信息模块系统中设计公告信息模块的目的是为了减少管理员盘点货物的工作量。在登录系统后管理员就会看到公告信息中哪些货物库存量不够,需要进行调度,这样管理员就不用去仓库进行盘点,查看商品的数量等。3.3.3 商品信息模块商品信息栏显示了目前库中所有商品的相关信息,当商品出库或者入库后,商品
36、信息都会动态更新。在这个模块,可以查看到商品的一些基本信息,也可以了解到仓库中存在哪些商品。3.3.4 供应商模块这个模块的功能就是为了查看供应商货品的信息,查看的方式有两种,一种是查看一个供应商提供了多少种商品,一种是查看一舰商品有多少个供应商。这样的设置可以为商品的调度提供方便。3.3.5 商品调度模块商品调度模块是系统的一个核心模块,在调度方面,如何调度,如何最大程度上的降低成本,如何减少工作人员的工作量,如何减少操作时间都是非常关键的,而这一模块的设计,采用遗传算法是最合适的。当进行商品调度时,选中商品进行调度,这时系统就会根据遗传算法进行匹配,寻求最优解,即寻找出一种最佳方案,使调度
37、的成本最低。3.3.6 日志信息模块日志信息模块中显示的内容为记录信息,即每次对商品进行操作以后都会有相应的记录,通过日志信息就可以查看这些信息。3.3.7 出库模块这个模块就是对仓库中的商品进行操作,即如果有顾客需要某种商品,那么就是通过出库模块来体现的,即为客户提供相应数量的商品就是出库模块的功能。3.3.8 管理员信息修改管理员信息修改设置比较简单,管理员可以对自己登录的密码进行修改。这样可以避免一个密码使用时间过长而被泄露的情况发生。3.4 系统整体流程设计在系统的流程设计中,首先要能够登录系统,只有登录系统以后才能对系统进行其他的操作,所以首先需要设计的就是登录模块。在系统中,当管理
38、员登录成功以后,最先看到的应该是公告信息,当管理员看到公告信息后就会去根据实际情况处理公告信息中的提示信息。那么处理提示信息就是对其他模块的操作,具体流程见图3-2所示。图3-2 系统整体流程图第四章 技术可行性分析4.1 JSP技术简介JSP 全称Java Server Pages,此技术可以让web开发人员和设计人员非常容易的创建和维护动态网页,特别是目前的商业系统。作为Java技术的一部分,JSP能够快速开发出基于web、独立于平台的应用程序。JSP 把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变整个网页布局。JSP网页就是在HTML网页中包含了能够生成
39、动态内容的可执行应用程序代码。此应用程序可能包含JavaBean,JDBC对象,Enterprise Java Bean (EJB)和Remote Method Invocation (RMI)对象,所有的部分都可以非常容易的从JSP网页上访问到。例如,一个JSP网页可以包含 HTML代码所显示的静态文本和图像,也可以调用一个JDBC对象来访问数据库;当网页显示到用户界面上以后,它将包含静态HTML内容和从数据库中找到相应的动态信息。 在JSP网页中,要把用户界面和应用程序分开可以考虑在网页设计人员和开发人员之间执行一个非常方便的授权任务。它也允许开发人员去建立灵活的代码,从而非常容易的进行更
40、新和重复利用。由于JSP网页能够根据需要自动进行编译,web设计人员无须重新编译应用程序逻辑就可以改变表述代码。这也使得JSP与Java servlet(它是JavaSever Pages功能的扩展)相比成为一种可以更灵活生成动态web内容的方法。 Servlet可以建立动态生成的网页,而网页中包含有从服务器方的Java对象中所获得的数据。servlet 生成网页的方法就是在Java类中嵌入HTML标签和表述代码。这就意味着改变表述代码需要修改和重新编译servlet源文件。因为设计HTML页面的设计人员可能与编写servlet代码的开发人员不是同一个人,更新基于servlet的web应用程序
41、就成了一件非常棘手的事情。 Enter JavaServer Page是Servlet API的一个扩展。事实上,JSP网页在编译成servlet之前也可以使用,所以它们也具有servlet的所有优势,包括访问Java API。由于JSP 是嵌入到servlet中关于应用程序的一般表述代码,所以他们能够被看成一种“彻底”的servlet。 JSP网页主要提供了一种建立servlet的高水平方法,它还带来了其他的优点。即使你已经为web应用程序编写了servlet,使用JSP仍然有很多优势: JSP网页可以非常容易的与静态模板结合,包括HTML 或XML 片段,以及生成动态内容的代码。 JSP网
42、页可以在被请求的时候动态的编译成servlet,所以网页的设计人员可以非常容易的对表述代码进行更新。如果需要的话,JSP网页还可以进行预编译。 为了调用JavaBean组件,JSP标签可以完全管理这些组件,避免网页设计人员复杂化应用程序。 开发人员可以提供定制化的JSP标签库。 网页设计人员能够改变和编辑网页的固定模板部分而不影响应用程序。同样,开发人员也无须一个个编辑页面而只须对组件进行合理的改变。 通常,JSP允许开发人员向许多网页设计人员分发功能性应用程序。这些设计人员也不必知道Java编程语言或任何servlet代码,所以他们能够集中精力去编写HTML代码,而编程人员就可以集中精力去建
43、立对象和应用程序。4.2 JAVA技术简介Java是一种简单的,面向对象的,分布式的,解释的,键壮的,安全的,结构的中立的,可移植的,性能很优异的,多线程的,动态的语言。 Java的开发环境有不同的版本,如sun公司的Java Developers Kit, 简称JDK。后来微软公司推出了支持Java规范的Microsoft Visual J+ Java开发环境,简称VJ+。 Java的特点(1)平台无关性平台无关性是指Java能运行于不同的平台。Java引进虚拟机 原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,J
44、ava虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。 (2)安全性 Java的编程类似C+,学习过C+的读者将很快掌握Java的精髓。Java舍弃了C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。 (3)向对象Java吸取了C+面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只
45、需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java 提供Object类及其子类的继承关系如同一棵倒立的树形,根类为Object 类,Object类功能强大,经常会使用到它及其它派生的子类。(4)分布式Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。(5)键壮性Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。J
46、ava自已操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发Java应用程序的周期。Java提供:Null指针检测、数组边界检测、异常出口、Byte code校验。4.3 MVC设计模式MVC设计模式是一种著名的用户界面软件开发设计模式,它是模型-视图-控制器(Model-View-Controller)缩写。MVC设计模式最早由Xerox在20世纪八十年代为Smaltalk-80语言发展提出的,但是这种设计思想并没有局限于该语言,而是被广泛地应用到了其他面向对象的编程语言中。在MVC设计模式中,它把应用程序分成了三个部分,如图4-1所示(
47、1) 模型(Model)模型封装了用户数据和处理数据的业务逻辑,体现了应用程序的当前状态,而且可以将用户数据状态的变化提供给多个显示该数据的视图共用。模型是应用程序的核心。 (2)视图(View)视图提供了用户界面,是用户和应用程序的交互的窗口,既接受用户输入,也把模型数据状态显示给用户,但是视图不负责任何业务逻辑处理,仅仅是将用户输入数据传递给控制器或将模型数据显示给用户。(3)控制器(Controller)控制器连接了模型和视图,根据用户请求判断将请求交给哪个模型来完成,然后调用视图来显示模型处理后的用户请求结果。MVC设计模式将应用程序进行了分层,视图和模型通过控制器连接,从而减少了用户界面和业务逻辑之间的耦合,使程序设计更加清晰、灵活,也提高了软件的可扩展性、可维护性。图4-1 MVC模型组件关系图4.4 STRUTS框架Struts框架是Apache开源软件联盟