资源描述
商畀网站模拟与实现系一题目亨物流配送系统商务网站设计业_班级学号姓名指导教师2009年6月课程设计任务书课程设计时间:年 月 日至 年 月 日课程设计地点课程设计内容及要求:1、 设计题目物流配送系统商务网站设计2、 总体目标(一)、设计目标及要求设计目标:物流配送系统的作用就是为了给客户提供物流配送信息发布的平 台。使用ASP技术设计的物流配送系统可以使物流配送的管理变得很轻 松。管理员只需设置订单号、出发地点和目的地等运单信息元素就可以 了,系统将自动生成对应得运送。而使用 Access数据库,将减轻维护人 员的工作量,使系统便于维护和管理。本物流信息网分为前台和后台两个部分进行设计。前台主要用于客 户浏览站内信息,并了解本公司和物流行业的相关信息;后台主要用于 管理员对管理员信息、公司简介、仓库服务、运输服务、配送服务、运 单管理、联系我们等模块的管理。(二)系统目标如下:该物流配送系统是针对中小型企业的运营管理过程进行设计的,主要实现如下目标:1、操作简单方便、界面简洁美观。2、网站整体结构和操作流程合理顺畅,实现人性化设计。3、向客户全面展示该系统的各项业务。4、提供货物运单信息添加功能。5、提供密码修改功能。6、为管理员提供登录窗口。7、通过后台,管理员可以对运单信息进行全面管理。8、系统最大限度的实现了易维护和易操作。9、系统运行稳定、安全可靠(三)、设计完成后,应提交设计结果及设计说明书,设计结果以光 盘形式提交,设计说明以 A4纸打印好提交。设计说明书应体现设计思想、设计过程、设计创意及资料来源等 还说明设计结果在应用时的应用时的注意事项、 局限性、适宜的应用 环境条件等。三、设计内容(1) 网站设计的策划1、 主题:物流配送系统商务网站设计2、 网站要提供对管理员信息、仓库管理、运输管理、配送管理、运单管理等模块的管理。3、 确定网站名称及网站虚拟域名。(2) 网站总体设计1、 网站CI设计符合规范、版面整洁朴素。2、 网站以浅紫色为背景颜色及视觉效果。3、 网页基本要素设计。4、 网页布局及版面设计、栏目设计。5、 网站导航图用自己设计的图片作为导航。6、 网页层次设计7、 网站文件有效保存设计(存在“曾岩网站”的文件夹)(3) 网站分步设计1、 主页的设计制作 页面设计 页面图片设计制作 页面文档设计排版 超链接设计,表单设计 动态图标、文字、层的设计 其他相关信息设计2、 次级页面设计 页面结构设计(框架网页、共享边框) 超链接及信息项表设计 与主页协调的风格设计 次级页面图片、文档的布局设计(4) 网站数据库及网站管理设计(可选)(5) 网站统计分析计数系统设计(可选)(6) 相关服务器扩展功能设计四、设计环境要求1、 硬件要求586以上多媒体电脑2、 软件环境 Windows 98/2000 office 97/2000 Dreamweaver 4.0 Fireworks 5.0 Flash 5.0 Microsoft Visio五、设计时间安排 网站设计总体策划(定题) 网站设计制作(操作系统)(字处理软件)(专业网页制作工具)(网页图像处理软件)(网页图像处理软件)(绘图工具)1周周基础资料收集加工1 网站测试调整、网站设计说明书撰写、提交及通过测试的网站1周前言一.XXXXX策划书 二.网站功能需求设计分析三、网站概要设计四、网站详细设计五、网站测试设计六、网站开发总结性报告结束语1 .选题背景在市场竞争的激烈的时代,建立科学,规范,高效管理体系是非常重要的。随着经 济的快速发展,对库存的高效管理十分重要,高效的库存管理离不开信息技术,信息技 术的飞速发展也为库存管理提供了广阔的舞台,采用现代化的手段管理库存,可以及时准确地反映库存状况,保证库存的数量保持在合理的水平,在满足客户的需要的同 时最大限度地减少库存占用,从而在竞争中保持优势。传统的库存管理靠人工完成,需要大量的人力物力,人工管理方式有许多缺点和 不便的地方,易出错,不能及时地把库存信息反映出来,大量的文件和数据不利于查找 更新和维护。利用信息技术开发信息管理系统对库存进行管理,可以方便地实现快速 查询,入库出库方便,可靠性高。因此,建立库存管理系统,对库存进行优化存储、管 理,从而提高企业的科学管理水平,节省开支,使企业在竞争中立于不败之地。2 .解决方案的选择(一)系统说明设计和实现库存管理系统,使库存管理的工作系统化、规范化和自动化,从而达 到提高管理效率的目的。1 .利用计算机系统实现商品库存管理。2 .流程符合库存管理要求。3 .查询方便,无论是按商品名称、仓库、区域、货位、时间、操作员其中任一项 都可以进行有效查询。4 .系统扩充容易,有很多地方还需要更好地完善。5 .友好的用户界面,既面向系统开发者,又面向用户。(二)系统初步调查库存管理需要有:产品相关信息设置,产品入库、出库、移库、采购、库存盘点、 库存查询等功能。应有入库信息的输入窗口,出库信息输入窗口,移库信息输入窗口、 采购信息的输入窗口,产品相关信息设置的输入窗口,并且界面要自然、简便,要有 充分的提示和帮助,以便于操作人员学习使用和掌握。对输入的错误又有好的措施, 并随时掌握任务的进展情况,输出的形式要易于理解,结果要正确。当然了,对于用 户来说,界面就是系统本身。用户特别关心能否有效地使用软件来解决问题,用户对 软件功能的理解都在界面上表现出来。 人机界面体现了系统的功能,以及操作的方便 程度是否符合使用的要求与工作习惯。总之,应使管理部门及时掌握产品库存全面情况, 并通过这样的系统,做到信息 的规范管理,科学统计和快速查询,从而减少管理方面的工作量。根据用户提出的建议,为了开发出有效的库存管理系统,遵循以下原则:1 .满足用户需要。之所以开发新系统是因为旧系统存在问题, 束缚着组织的发展, 不能适应用户的需要。系统必须能被用户接受,实现用户的初衷。2 .功能更完善。功能是否完整,是指能否覆盖组织的主要业务管理范围。同时, 还表现在各部分接口是否完备,数据采集和存储格式是否统一,各部分是否协调一致。3 .技术更先进。正确认识各种先进技术的优劣长短, 从而根据组织的实际情况和 未来得发展将其合理的运用到库存管理系统的开发中去。要努力发挥其高速度、高精度、高密度的优点,也要避免其缺乏灵活性,不便于处理意外情况的缺点。同时,不 要为了一味的先进,而忽视了技术本身的成熟性。4 .实现辅助决策。许多组织的决策任务非常复杂、耗时,而决策关系到组织的兴 衰。因此,所有的组织都需要能够帮助他们做出最佳的决策支持系统。(三)可行性研究可行性分析研究的目的就是用最小的代价在尽可能短的时间里确定问题是否能 解决,通过研究与此类似的系统后,我们具体从下面三方面考虑。1 .经济可行性库存管理系统是一个小型的管理系统,在开发时需要软件开发人员花费一定的时 问和精力,因此需要一定的资金。但它给企业带来的利润是不可估量的, 节省了许多 人力,物力上的开支,使库存管理工作变繁为简,使其更加合理化、规范化。工作效 率的提高就意为着整体水平的提高,是非常值得投资的 。2 .操作可行性系统采用了可视化面向对象的工具开发, 其窗口、界面简洁易懂,所以系统在操 作上是可行的。随着计算机知识的普及和推广,越来越多的人掌握了计算机的基本 使用方法和基本。目前,公司的管理人员已经具备了一定的计算机基础知识和实际操 作经验。对于局域网、 WINDOWS环境下的软件使用比较熟悉,对于新系统的开发, 用户表现出极大的兴趣和热情,提出了各种很好的建议和要求。(四)对设计工具和相关技术的说明系统是采用 JavaBean, Servlet,JSP 开发,以 MyEclipse,Dreamweaver 作为开发 工具,以SQLServer开发数据库,以Tomcat为服务器。1 .系统开发技术(1) JSP技术介绍JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起 建立的一种技术标准。JSP技术有点类似技术,它是在传统的网页文件(*.htm,*.html) 中插入程序段(Scriptlet) 和JSP标记(tag),从而形成JSP文件(*jsp) 。JSP技术 的强势:一次编写,到处运行。在这一点上Java比更出色,除了系统之外,代码不用做任何更改。系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP勺局限性是显而易见的。强大的可伸缩性。从只有一个小的文件就可以运行 Servlet/JSP ,到由多台服 务器进行集群和负载均衡,到多台Application 进行事务处理,消息处理,一台服务 器到无数台服务器,Java显示了一个巨大的生命力。多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于 多种平台之下。(2) JavaBean技术介绍JavaBean是一种写成的可重用组件。用户可以使用JavaBean将功能、处理、值、 数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可 以通过内部的JSP页面、Servlet、其他JavaBears applet程序或者应用来使用这些 对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关 心任何改变。(3) Servlet技术介绍Servlet是一种独立于平台和协议的服务器端的应用程序,可以生成动态的贡 面。它担当WebM览器或其他客户程序发出请求,与HTTP!务器上的或应用程序之 问的中间层。Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Wet务器必须 包含支持Servlet的Java。2 .系统开发环境和相关开发工具(1) Tomcat 介绍Tomcat服务器是一个免费的开放源代码的Web应用服务器。Tomcat 是 Apache 软件基金会( Apache Software Foundation ) 的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet 和JSP规范总是能在Tomcat中得到体现,Tomcat 5 支持最新的 Servlet 2.4 和JSP 2.0 规范。 因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。Tomcat和IIS、Apache等Web服务器一样,具有处理HTMLM面的功能,另外它还是一个Servlet和JSP容器,独立的 Servlet容器是Tomcat的默认模式。不过, Tomcat处理 静态HTML的能力不如 Apache服务器。(2) MyEclipse 介绍MyEclipse企业级工作平台是对Eclipse IDE的扩展,利用它我们可以在数据库 和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是 功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整 支持 HTML, CSS, JavaScript, SQL, Struts , Hibernate 等。(3) Dreamweaver介绍Dreamweaver是公司开发的集网页制作和管理网站于一身的所见即所得网页编 辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。系统开发中, MyEclipse负责后台数据、业务逻辑的开发,而 Dreamweaver负责前台网页的开发及 美化。三、系统设计(一)系统设计原则(1)简单性:在达到预定的目标、具备所需要的功能前提下,系统应尽量简单, 这样可减少处理费用,提高系统效益,便于实现和管理。(2)灵活性和适应性:以便适应外界的环境变化。可变性是现代化企业的特点 之一,是指其对外界环境的变化的适应能力。作为企业的管理信息系统也必须具有相 当的灵活性,以便适应外界环境的不断变化,而且系统本身也需不断修改和改善。 因 此,在这里系统的可变性是指允许系统被修改和维护的难易程度。一个可变性好的系统,各个部分独立性强,容易进行变动,从而可提高系统的性能,不断满足对系统目 标的变化要求。(3) 一致性和完整性:一致性是指系统中信息编码、采集、信息通信要具备一 致性设计规范应标准;完整性是指系统作为一个统一的整体而存在, 系统功能应尽量 完整。(4)可靠性:系统的可靠性指系统硬件和软件在运行过程中抵抗异常情况的干 扰及保证系统正常工作的能力。衡量系统可靠性的指标是平均故障间隔时间和平均维 护时间。前者指平均的前后两次发生故障的时间, 反映了系统安全运行时间,后者指 故障后平均每次所用的修复时间,反映系统可维护性的好坏。只有可靠的系统,才能 保证系统的质量并得到用户的信任,否则就是没有使用价值。(5)经济性:系统的经济性是指系统的收益应大于系统支出的总费用。系统支 出费用包括系统开发所需投资的费用与系统运行维护费用之和;系统收益除有货币指标外,还有非货币指标。系统应该给用户带来相应的经济效益。系统的投资和经营费 用应当得到补偿。需要指出的是,这种补偿有时是间接的或不能定量计算的。(二)总体设计通过对库存信息流程的详细调查分析,弄清了库存管理工作的业务流程和管理功 能,符号定义如下:图3.1系统符号定义图系统业务流程图如下:图3.2基础数据管理图(三)系统数据字典的创建为了对数据流程图中的各个元素做出详细的说明,有必要建立数据字典。数据字 典的内容主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储 和外部实体等六个方面进行具体的定义。表3.1数据项的定义数据项编 号数据项名 称简述类型及其宽度U-01用户编号用户的编码数值型U-02用户名用户的名称字符型,20位U-03用户帝他用户登录时的密 码字符型,16位U-04用户级别用户使用权限数值型U-05用户Email用户的电子邮件字符型,20位U-06用户手机用户的手机号码字符型,11位W-01仓库编号仓库的编号数值型W-02仓库名仓库的名称字符型,50位W-03最大区域 数允许的最大区域 数数值型W-04地址仓库所在的地址字符型,100 位A-01区域编号仓库的编号数值型A-02区域名仓库的名称字符型,50 位A-03最大货位数允许的最大货位 数数值型A-04所在仓库区域所在的仓库数值型S-01货位编号货位的编号数值型S-02货位名货位的名称字符型,50 位S-03最大货物 数允许的最大货物 数数值型S-04所在区域货位所在的区域数值型ST-01类别编号类别的编号数值型ST-02类别名类别的名称字符型,50 位G-01货物编号货物的编号数值型G-02货物名货物的名称字符型,50 位G-03类别货物所属的类别数值型G-04最大库存允许存储的最大 货物数数值型G-05最小库存允许存储的最小 货物数数值型G-06价格货物的价格数值型表3.2数据结构的定义数据结构 编号数据结构名 称简 述数据结构组成DS-01用户表记录用户信 息U-01+U-02+U-03+U-04DS-02仓库表记录仓库信息W-01+W-02+W-03+W-04DS-03区雨!记录区域信息A-01+A-02+A-03+A-04DS-04货位表记录货位信息W-01+W-02+W-03+W-04DS-05类别表记录类别信息ST-01+ST-02+ST-03+ST-04DS-06货物表记录货物信息G-01+G-02+G-03+G-04+G-05+G-06表3.3数据流的定义数据流 编号数据流 名称简述数据流 来源数据流 去向数据流组成D-01入库 单用户入库 填写的单 据用户入库管 理模块商品名称,数量,仓 库,区域,货位,备注D-02出库 单用户出库 时填写的 单据用户出库管 理模块商品名称,数量,仓 库,区域,货位,备注D-03移库 单用户移库 时填写的 单据用户移库管 理模块商品名称,数量,移 入仓库,移入区域, 移入货位,移出仓 库,移出区域,移出货位,备注D-04采购 单用户采购 时填写的 单据用户采购管 理模块商品名称,数量, 备注表3.4处理逻辑的定义处理 逻辑 编号处理逻辑名称简述输入 的 数据 流处理输出的数 据流P1入库处 理向入库表 中添加信 息,更新 库存信息入库 单查收货物要入库的货 物,判断库存量是否满 足入库量,登记入库信 息,更新库存信息入库单P2出库处 理向出库表 中添加信 息,更新 库存信息出库 单查收货物要出库的货物,判断出库后库存是 否低于安全库存,登记出库信息,更 新库存信息出库单P3移库处 理向移库表 中添加信 息,更新 库存信息移库 单查收货物要移库的货 物,登记移库信息,更 新库存信息移库单P4采购处 理向采购表 中添加信 息,更新 库存信息采购 单查收货物要采购的货 物,登记采购信息,更 新库存信息采购单表3.5数据存储的定义数据 存储 的编 号数据存 储的名 称简述数据存储的组成关键字F1用户表存储用户信 息用户编号,用户名,省码,级 别,电子邮件,用户手机用户编号F2仓库表存储仓库信 息仓库编号,仓库名,最大区域 数,地址仓库编号F3区域表存储区域信 息区域编号,区域名,最大货位 数,仓库区域编号F4货位表存储货位信 息货位编号,货位名,最大货物 数,区域货位编号F5类别表存储类别信类别编号,类别名类别编号息F6货物表存储货物信 息货物编号,货物名,类别,最 大库存,最小库存,价格货物编号F7库存表存储库存信 息库存编号,货物名,数量,仓 库,区域,货位库存编号F8入出库 表存储入出库 信息入出库编号,货物名,仓库, 区域,货位,操作员,数量, 操作时间,类型,备注入出库编 号F9移库表存储移库信 息移库编号,货物名,操作员, 数量,操作时间,移入仓库, 移入区域,移入货位,移出仓 库,移出区域,移出货位移库编号F10米购表存储采购信 息采购编号,货物名,数量,操 作时间,操作员,备注米购编勺(四)系统功能模块划分根据用户操作需求,将系统划分如下,并对其模块的划分和功能进行描述1.基础数据管理(1)仓库信息管理(2)区域信息管理(3)货位信息管理(4)类别信息管理(5)用户信息管理(6)货物信息管理2.库存管理(1)入库管理(2)出库管理(3)移库管理(4)库存盘点管理(5)库存统计管理(6)采购管理整个系统的模块结构如图所示*存旨押区凄信n管邳吨庠管网图3.4系统的功能模块图(五)系统功能模块明细系统共包括2大功能模块,12个小功能模块1 .基础数据管理主要完成基本信息(仓库、区域、货位、类别、货物、用户)的维护工作,包括 添加、修改、删除、浏览等功能。2 .库存管理(1)入库管理。完成货物入库的管理,包括填写入库单,浏览入库信息等功能。 货物入库时需要检查入库后货物库存是否超过货物最大库存,超出时,返回错误提示信息,禁止货物入库。货物入库后更新库存信息。(2)出库管理。完成货物出库的管理,包括填写出库单,浏览出库信息等功能。 货物出库时需要检查出库后货物库存是否低于货物安全库存,低于时,返回错误提示信息,禁止货物出库。货物出库后更新库存信息。(3)移库管理。完成货物移库的管理,包括填写移库单,浏览移库信息等功能。 货物移库后更新库存信息。(4)库存盘点管理。完成库存盘点的管理,包括浏览、查找库存信息,更新库 存数目等功能,保证库存信息与实际保持一致,还可以通过仓库、区域、货位单条件 或多条件浏览货物库存信息。(5)库存统计管理。可以对库存信息、入库、出库、采购操作进行详细的查询。 查询条件包括按仓库、区域、货位查询,按时间查询,按操作员查询。四、数据库设计(一)数据库设计概述1 .数据库概念结构设计这一阶段是在需求分析的基础上, 设计出能够满足客户需求的各种实体, 以及他 们之间的关系,为后面的逻辑设计打下基础。本例的实体有:入库实体、出库实体、 移库实体、采购实体。库存管理系统的局部E-R视图:图4.1系统局部E-R图库存管理系统的集成E-R视图:图4.2系统集成E-R图2 .数据库逻辑结构设计现在需要将上面的数据库概念结构设计转化为SQLServer2000所支持的实际数据类型,也就是数据库逻辑结构。在上面的实体和实体关系的基础上, 形成数据库的 表格和个表格之间的关系。本系统的各个表格的设计结果如下:表4.1用户表编R字段名称数据结构说明1useridInt用户编号2usernameVarchar(20)用户名称3passwordVarchar(16)用户密码4gradeInt用户级别,1超级用户,2管理员,3-普通用户5emailVarvhar (20)电子邮件6mobileVarchar(11)手机号码表4.2仓库表编R字段名称数据结构说明1wareidInt仓库编号2warenameVarchar(50)仓库名称3maxareaInt最大区域数4addressVarchar(100)地址表4.3区域表编R字段名称数据结构说明1areaidInt区域编号2areanameVarchar(50)区域名称3wareidInt所在仓库4maxspaceInt最大货位数表4.4货位表编R字段名称数据结构说明1spaceidInt货位编号2spacenameVarchar(50)货位名称3areaidInt所在区域4maxgoodsInt最大货物数表4.5类别表编p字段名称数据结构说明1sortidInt类别编号2sortnameVarchar(50)类别名称表4.6货物表编p字段名称数据结构说明1goodsidInt货物编号2goodsnameVarchar(20)货物名称3sortidInt所属类别4maxnumberInt取大库存5minnumberInt最小库存6priceInt价格表4.7库存表编R字段名称数据结构说明1stockidInt库存编p2goodsidInt货物名称3numberInt数量4wareidInt所属仓库5areaidInt所属区域6spaceidInt所属货位表4.8入出库表编p字段名称数据结构说明1inventoryidInt入出库编号2goodsidInt货物名称3wareidInt所在仓库4areaidInt所在区域5spaceidInt所在货位6usernameVarchar(20)操作员7numberInt入出库数量8modifytimedatetime入出库时间9typeVarchar(10)入出库类型10remarkVarchar(500)备注表4.9移出库表编p字段名称数据结构说明1transferidInt移库编号2goodsidInt货物名称3usernameVarchar(20)操作员4numberInt移库数量5transtimedatetime移库时间6inputwareidInt移入仓库7inputareaidInt移入区域8inputspaceidInt移入货位9outputwareidInt移出仓库10outputareaidInt移出区域11outputspaceidInt移出货位表4.10采购表编p字段名称数据结构说明1purchaseidInt米购编号2goodsidInt货物名称3numberInt采购数量4purtimedatetime采购时间5usernameVarchar(20)操作员6remarkVarchar(500)备注表4.11系统表编R字段名称数据结构说明1wareinitialInt仓库是否初始化(0- 否,1-是)2areainitialInt区域是否初始化(0-1=i, 1-是)3spaceinitialInt货位是否初始化(0-1=i, 1-是)4sortinitialInt类别是否初始化(0-1=i, 1-是)5goodsinitialInt货物是否初始化五、详细设计(一)引言为使用本系统的用户提供完善的库存管理服务,以及精确的库存查询服务,为企 业管理者提供实时库存信息,帮助企业决策者了解库存状态,辅助做出合理的决策。该部分所有业务逻辑代码详见附录n。(二)系统程序设计1 .用户登录设计说明该程序检查用户登录信息是否合法, 合法用户的信息会被保存到Session中,如 果未登录用户想使用系统其它功能都会被拒绝。该程序的设计可有效避免SQLa入漏 洞。如图5.1为用户登陆界面,用户登录时要求用户名长度在20个字符以内,密码长度为6-16个字符图5.1系统登录界面如图5.2所示为用户登录后界面。图5.2用户管理主界面该功能流程逻辑图如下所示:图5.3用户管理流程逻辑图LoginServlet 彳马至U用户提交的数据 username, password,然后调用 UserProcess 类的loginCheck(String u,String p)方法对数据进行检查。检查方法如下:(1) 首先检查用户名为 username时的密码 (select top 1 password from users where username= + u +皿 ),若不存在,表明不存在该用户,返回用户名错误提 示信息。(2 ) 若存在,检查 username 的密码与 password 是否相等 (p.equals(rs.getString(1) ),若相等,登录成功,跳转到用户管理界面;否则, 返回密码错误提示信息。该算法有效避免了 SQLtt入漏洞。因为如果采用以下SQL查询语句:select top 1 * from users where username= + u + and password= + p+ 时, 用户在登录时随意输入用户名,而输入以下密码:or 1=1 就可以成功登录到系统。2 .实体添加设计说明该程序功能是添加实体到数据库,以仓库添加为实例,其他实体的添加过程与仓 库类似,不在一一赘述。如图5.4为仓库添加界面,添加仓库时要求仓库名长度在50个字符以内,地址长度为100个字符以内。图5.4添加仓库界面如图5.5所示为成功添加仓库后界面。图中第一条数据即为刚刚添加数据。图5.5成功添加仓库界面该功能流程逻辑图为:图5.6添加仓库流程逻辑图WareServlet 得到用户提交的数据warename, maxarea,address ,然后调用WareProcess类的addWare(WareBean wb方法将数据添加到数据库,SQL语句如下:String sql = insert into warehouse values ( + wb.getWarename() + , + wb.getMaxarea () + ,+ wb.getAddress () +);3 .分页浏览设计说明该程序功能是添加实体到数据库,以仓库添加为实例,其他实体的添加过程与仓 库类似,不在一一赘述。如图5.7为仓库分页浏览界面图5.7仓库分页浏览界面1如图5.8所示为点击下一页后仓库分页浏览界面。图5.8仓库分页浏览界面2该算法有四个主要的参数,pageNo代表当前的页数,pageSize代表每页显示几 行记录,pageCount代表共有多少页,rowCount代表共有多少行记录。其中rowCount 由以下 SQL语句求出:select count(*) from warehouse ; pageSize 由程序员自己 设置,pageCount的值可由以下方法求出:如果rowCount%pageSize=0, pageCount=rowCount/ageSize,否则 pageCount=rowCount/ageSize+1 ; pageNo的值是 通过参数传递过来的,那么上述四个参数确定后,第pageNo页的记录通过以下的SQL 语句求的: String sql1 = select top + pageSize + * from warehouse where wareid not in(select top + (pageNo-1)*pageSize+ wareid from warehouse) order by wareid desc;4 .实体修改设计说明该程序功能是修改实体的信息, 然后保存到数据库,以仓库修改为实例,其他实 体的修改过程与仓库类似,不在一一赘述。如图5.9为仓库修改界面,修改仓库时要求仓库名长度在50个字符以内,地址长度为100个字符以内。图5.9添加仓库界面如图5.10所示为成功修改仓库后界面。图5.10成功修改仓库界面该功能流程逻辑图为:图5.11成功修改仓库流程逻辑图WareServlet 得到用户提交的数据 wareid , warename maxarea,address ,然后 调用 WareProcess类的modifyWare(WareBean wb)方法修改仓库信息,然后将数据保 存到数据库,SQL语句如下:String sql = update warehouse set warename = + wb.getWarename () + , maxarea = + wb.getMaxarea () + , address = + wb.getAddress () + where wareid = + wb.getWareid ();5 .实体删除设计说明该程序功能是删除实体的信息,以仓库删除为实例,其他实体的删除过程与仓库 类似,不在一一赘述。如图5.12为仓库删除界面图5.12仓库删除界面如图5.13所示为成功删除仓库后界面。图5.13成功删除仓库界面该功能流程逻辑图为:图5.14删除仓库业务逻辑流程图WareServlet得到用户提交的数据 wareid ,然后调用 WareProcess类的 deleteWare(int wareid)方法删除仓库信息,SQL语句如下:String sql = delete from warehouse where wareid = + wareid;6 .入库设计说明该程序功能是实现货物的入库。如图 5.15、5.16所示为入库界面图5.15入库界面1图5.16入库界面2如图5.17所示为成功入库后界面。图5.17成功入库界面该功能流程逻辑图为:图5.18入库流程逻辑图InventoryServlet得到用户提交的数据,然后调用InventoryProcess 类的addInventory(InventoryBean ib)方法添加入库信息,同时更新库存信息,更新库存 信息的SQL句如下:String sql = update stock set number = number + + number + where goodsid = + gb.getGoodsid () + and wareid = + wb.getWareid () + and areaid = + ab.getAreaid () + and spaceid = + sb.getSpaceid ();7 .移库设计说明该程序功能是实现货物的移库。如图 5.19所示为移库界面图5.19移库界面如图5.20所示为成功移库后界面。图5.20成功移库界面该功能流程逻辑图为:图5.21移库流程逻辑图TransferServlet 得到用户 提交 的数据,然后调用TransferProcess 类的 addTransfer(TransferBean tb)方法添加移库信息,同时更新库存信息:sp.putin (gb, inputware, inputarea, inputspace, number);sp.putout (gb, outputware, outputarea, outputspace, number);8 .采购设计说明该程序功能是实现货物的采购。如图5.22所示为采购界面图5.22采购界面如图5.23所示为成功采购后界面。图5.23成功采购界面该功能流程逻辑图为:图5.24采购流程逻辑图PurchaseServlet 得到用户提交的数据,然后调用 PurchaseProcess 类的 addPurchase(PurchaseBean pb)方法添加采购信息,同时更新库存信息。六、系统安装与调试本系统顺利运行需要以下安装环境:jdk1.6.0 以上,Tomcat6.0以上, SQLServer2000以上以及SP4升级包。开发环境为: MyEclispe6.0 。(一)系统安装1 .jdk安装首先下载jdk安装包,地址如下:;下载完成后,双击安装文件,按提示完成安装。2 . Tomcat 安装首先下载Tomcat安装包,地址如下:下载完成后,双击安装文件,按提示完成 安装。安装完成后,进入 Tomcat主目录下Tomcat 6.0bin ,双击tomcat6.exe ,启 动tomcat;新建IE窗口,在地址栏中输入如下地址:,如果页面访问成功,则Tomcat 安装成功。3.系统安装打开SQLServer查询分析器,输入数据库建表语句(建附录I ),点击运行,完 成数据库的建立。将本系统文件夹拷贝到Tomcat主目录下Tomcat 6.0webapps目录 下,在IE窗口地址栏中输入,如果访问成功则表示本系统安装成功。(二)系统调试错误 1: java.lang.NumberFormatException: For input string:解决方法:检查输入的数据是否为空。错误 2: java.sql .SQLException: Error establishing socket.解决方法:检查是否SQLServer服务器是否启动。错误 3: java.sql .SQLException:违反了 UNIQUE KEY勺束.解决方法:输入的数据项与数据库中已有的数据重复,而该数据项对应的数据库字段设定了 UNIQUE勺束,即该字段数据不允许重复,修改输入数据即可解决。错误 4: java.sql .SQLException: DELETES旬与 COLUMNEFERENCEM冲突。解决方法:删除数据时违反了数据库的外键约束,即删除的数据的字段是其他表的外键。首先删除与该记录有关的记录,再删除该记录。结束语本系统的设计与实现历时两个多月的时间,目前基本的功能均已实现。本系统的 主要特点有以下几个方面:(1)由于本系统采用的设计语言是基于 java的,所以本系统能够跨平台运行, 即在windows, unix , linux等不同的操作系统环境下均可运行。(2)由于本系统的设计遵循MVC勺设计模式,所以代码可重用性高,低耦合性, 代码维护方便。(3)系统查错能力强,而且对于用户的操作错误都有友好而详细的提示。(4)界面设计简洁,以浅绿色为主色调,操作方便、简洁。但是,本系统设计依然不够完善,有许多不足之处。主要有以下几点:(1)前期系统调研不足,系统功能还不够完善。(2)系统的可扩展性不佳,往往系统的一小部分修改会牵扯到许多地方的改动, 工作量大且容易出错。(3)数据库设计不够合理,数据冗余多,安全性不够。综合以上不足,系统的仍需不断改进。包括进行更加详细的系统调研,了解用户 的真正需求,不断完善系统的功能,增加系统的实用性。技术方面可以考虑目前比较 流行的SSHlf架,提高系统的可扩展性。参考文献1王斌斌,吴孝丽.库存管理系统UML设计J.平顶山工学院学报,2008, (03).2陈瑞斌,南理勇.基于Wet务的仓库管理系统设计J.信息服务报,2008,(02).3杜来红.基于Web的物料库存管理系统的研究J.物流技术,2006, (8).4朱士高,朱军,朱彩霞.基于WEB的企业进销存管理系统的设计J.淮阴工学院 学报,2007, (5).5Huang S C,Huang Y M,Shieh S M Vibration and stabilityof a rotating shaftcontaining a transerse crack J.J Sound and Vibration, 1993, 162(3):387-401 .6汪旭敏,陈晓川,杨建国等.基于 WEB的库存管理系统的设计和实现J.机械设计 与制造,2008, (1).7俞文跃,张长胜.基于 Web Service三层体系结构的库存管理系统的开发J.福 建电脑报,2008, (12).8乔荣丽,高淑芝,孙水亮.基于MVC模式的物资供应管理信息系统的设计J.化工 之友,2007, (15).9张兴旺,赵嘉.基于JSP的物流管理系统的设计与实现J.物流工程,2007, (7).10马颖,张劳模.基于J2EE平台的库存管理系统设计与实现J.郑州铁路职业技 术学院学报,2006 , 18 (4).11许维.J2EE架构下的物流信息系统设计J.中国管理信息化,2006 ,9 (5).12Manuel.D Rossetti, Mehmet Miman, Vijith Varghese.Object-Oriented Framework for Simulating Multi-Echelon Inventory Systems J, 2006.13薛小锋.企业采购管理系统的设计与实现J.数据库及信息管理,2007,(06).14许跟勇,周炳海.基于RFID的第三方物流仓储管理系统设计应用J.物流科技,2008,(11).15陈潇.第三方物流管理信息系统设计一一库存管理信息系统J.山西财经大学学报,2008 ,11 (1).经过长达三个月的努力我的毕业论文终于完成了。在这期间,指导教师xxx老师给了我细致、专业的指点以及耐心的辅导,在此深表敬意和感谢!同时,在我完成毕 业论文的过程中,教研室的老师、辅导员老师以及同学们也给予了我莫大的帮助,对他们的关心、帮助我深表感谢!我更要感谢大学四年来所有教过我的老师, 没有他们 深厚的专业理论知识和经验的授予,就没有我今天的成绩。附录I数据库建表语句create database inventory;use inventory;create table users (userid int primary key identity(1,1), username varchar(20) unique ,password varchar(12) ,grade int);insert into users(username, password, grade) values(sa, sa ,1);select * from users;create table warehouse (wareid int primary key identity(1,1),warename varchar(50) unique);select * from warehouse;create table area (areaid int primary key identity(1,1), areaname varchar(50) unique, wareid int, foreign key(wareid) references warehouse(wareid); select * from area;create table space (spaceid int primary key identity(1,1), spacename varchar(50) unique, areaid int, foreign key(areaid) references area(areaid);select * from space;create table sort (sortid int primary key identity(1,1), sortname varchar(50) unique);select * from sort;create table goods(goodsid int primary key identity(1,1), goodsname varchar(50), price int,number int, sortid int, wareid int,areaid int,spaceid int, maxnumber int, minnumber int, foreign key(sortid) references sort(sortid), foreign key(wareid) references warehouse(wareid), foreign key(areaid) references area(areaid), foreign key(spaceid) references space(spaceid) );select * from goods;create table stock(stockid int primary key identity(1,1) ,goodsid int, username varchar(20), number int, modifytime datetime, type varchar(10),audit bit,remark varchar(500)foreign key(username) references users(username), foreign key(goodsid) references goods(goodsid) );select * from stock;create table transfer(transferid int primary key identity(1,1),goodsid int,username varchar(20), number int, transtime datetime, inputware int,inputarea int,inputspace int, outputware int,outputarea int,outputspace int, foreign key(username) references users(username), foreign key(goodsid) references goods(goodsid), foreign key(inputwar
展开阅读全文