1、第4章是介绍系统的设计和实现,包括总体的设计思想、功能模块设计、数据库设计,以及系统登录的实现、角色管理、用户管理和权限管理等等,全面的向读者介绍整个系统;第5章是系统的系统的测试、包括修改密码的测试、角色管理测试等等,验证系统的可行性;第6章是结束语。2 可行性分析和关键技术介绍2.1 可行性分析本篇论文主要是分别从技术可行性、经济行性、操作行性三个方面对物流管理系统进行整体的分析和研究。2.1.1 技术可行性物流管理系统主要采用的是基于JSP技术进行开发的,到目前为止,JSP技术的发展已经非常的成熟了。同时,它也受到了许多开发者的青睐。并且,在技术的层面上MyEclipse平台是决定可以完
2、成该物流管理系统的开发任务的。因此系统开发在技术上是可行的。2.1.2 操作可行性自从我们开发出物流管理系统之后,该系统的操作难度、受益程度以及复杂程度就完全的决定了该系统是不是能够受到推广,这同时也是开发人员必须要考虑的关键问题,物流管理系统易于操作,方便快捷。在操作上,不需要任何的指导就可以自己学会如何去使用,在操作层面上来看,该系统是完全没有任何复杂性的。因此,物流管理系统操作非常简单,易于上手。2.1.3 经济可行性物流管理系统在经济上花销很少,它的设计内容非常的简单,设计过程也是比较简单,一般的设计人员都可以完成,复杂性不高。其次,物流管理系统具有可观的价值,方便消费者的操作,提高管
3、理的效率。另外,管理系统的设计成本相对较低,但其带来的收益却远高于设计的成本。因此,本课题具有经济可行性。2.2 开发语言我们通常情况下称Java是一种面向对象的并且是一种跨平台编程的语言,这种语言具有简单、方便、多线程以及安全的特点。我们都知道,Java语言其实是所有的计算机语言中非常关键的一门语言,它同时也是一种面向对象的比较简单且高级的编程语言,开发者在整体设计的过程中,能自由灵活的构建类,还能进行各种方法的重载,对不同的条件进行智能的选择运行。作为一种跨平台的语言,Java编写的代码无需经过修改,即可在Windows、Linux、MacOS等不同的操作系统下运行。2.3 开发平台一般情
4、况下,我们称MyEclipse是一种开源的、方便的、快捷的代码。到目前为止,我们可以说它只是一种比较便捷的框架,该技术主要是通过计算机插件组件进而来构建计算机的开发环境的。MyEclipse的用途并不仅是局限于 Java技术的 ,这是因为,MyEclipse的框架不仅用于以上的这些部分,它还可以用来作为和软件开发的无关的其他的一些程序类型的基础工作部分进而来作为开发工作。通常情况下MyEclipse的每一样东西都是可以由插件进行构成的,基于这一特点,所以我们对于给MyEclipse提供插件的时候,我们所使用的任何的工具类型,开发人员都需要具有同等的发挥场所。在结构上,我们主要讲MyEclips
5、e的特征分为种主要的类型: 1. JavaEE模型 2. JSP开发工具 3. EJB开发工具 4. 应用程序服务器的连接器 5. JavaEE项目部署服务 6. 数据库服务 7. MyEclipse整合帮助 2.4 JSP技术据研究者调查,JSP技术是有Sun公司进行设计和发明的。JSP技术有许许多多的优势,它的技术特点类似ASP技术,主要是利用HTML网页的插件进行设计,形成JSP文件。利用JSP技术开发网页或者系统是开发者比较喜爱的事情,也在各个行业逐渐的盛行。JSP技术使用的是JAVA语言进行编写的,JAVA语言获得了计算机开发者的喜爱,也是当前开发人员比较常用的一门语言,因此使用便利
6、,学习简单、易懂。本文采用JSP技术进行开发系统,对系统的可扩展性具有非常大的帮助。2.5 MySQL数据库MySQL数据库是由甲骨文公司进行设计和发明的,到目前为止,市面上比较常用的数据库除了Oracle、SqlServer就是MySQL数据库,因此,该款数据库在系统的开发中还是站有非常重要的额度的。本文设计音乐网站使用MySQL数据库的原因是:该数据库可扩展性非常强、稳定性也很强并且数据安全性强。因此选择MySQL数据库是很重要的。2.6 SSH框架集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的JS
7、P应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层。系统的基本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责接收请求和传送响应,然后Struts根据配置文件将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibe
8、rnate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。3 系统需求分析需求分析是介绍我们对于一件事情是如何解决的,我们需要对这件事情进行详细的分析。首先,我们应该清楚这件事情的的目标是什么,它主要是包括我们解决这件事情想要得到一种什么样的结果以及我们需要付出多少的努力,然后,我们需要弄清楚我们该怎样的去解决这件事情,最后,我们需要整体的对这件事情做一个完整的计划,这个计划是可以完成这个系统的。3.1 系统业务流程分析如图3-1所示是系统的业务流程图,详细说明如下:用户通过登录界面登录物流管理系统,如果密码不正确则需要重新进行登录;当用户成功登录系统之后,则可以在系统中对
9、基本功能和系统管理等功能进行新增、修改、删除、查询等操作;当用户想要修改密码时,可以点击“修改密码”按钮进行操作;等用户处理完所有的事情,即可退出系统。图3-1 系统业务流程图3.2 系统功能性需求分析众所周知,系统的功能性需求是一个非常重要的组成成分,是整个系统分析过程中的一个相对比较关键的环节。下面介绍的几点内容是本系统的主要分析情况:(1)当用户打开系统之后,用户就会进入系统的登录页面。在登录页面中,用户可以输入相应的用户名以及密码,然后就可以成功的登录到系统中。(2)当用户成功的登陆到系统之后,用户可以根据自己的需要选择进入系统管理模块。进行相关操作,例如用户可以进行菜单管理、权限管理
10、和角色管理等等操作。(3)进入修改密码界面,用户可以对自己的密码进行修改。(4)当用户处理完所有的事件之后就可以点击页面右上角的退出按钮,然后用户就可以直接的退出系统并跳转到登录页面。3.3 系统非功能需求3.3.1 系统数据安全系统用户在进行数据相关操作时(如新增、删除、修改、审核等),系统为了保证数据的安全可靠性,必须具备以下功能特点:(1)征求询问确认操作:特别是在删除数据的操作上要再次向用户确认,避免不小心失误操作造成的数据损失。(2)数据准确性校验:在填写信息时,特别重要的必填信息确保无误、无漏、合法操作等。避免不合法数据存入数据库。(3)重复数据的冗余性和缺省赋值性:对于一些公用的
11、人员基本信息数据,在是数据库设计上不应该出现数据重复保存的现象。一些常用而且必须显示和输入的数据能够自动附带显示就不必要用户每次都填写,提高数据的缺省赋值性。3.3.2 系统运行状态为了保证系统能够可靠的服务于物流管理工作。必须做到系统能够承受长期运行、稳定操作、高效完成的系统性能需求,因此,必须满足以下要求:(1)系统结构设计合理系统是使用SSH框架开发的项目,其采用了松耦合开发模式,各个模块之间不相互依赖,可满足不断更新的需求,具备了良好的系统扩展性和维护性。(2)系统具备良好的维护性、开放性。考虑到实际工作的需求会更新,系统也做好了这方面的准备,会提供对外开放的规范接口,以便日后进行完善
12、系统功能。(3)系统的安全性高,系统在商业范围内使用,其中的数据涉及到许多物流人员的重要信息,如身份证号、手机号、家庭地址等私密信息。因此,在数据库设计上必须考虑到其重要性。建立起一套安全级别较高的机制是不可或缺的。(4)系统的信息提示及时、处理准确性高。本系统中的任务提示信息,在一定时间内提醒用户有任务可处理,做到了消息及时提醒。系统考虑到以后会出现的数据量超大的问题,在数据的加载上使用了懒加载方式,减轻系统的压力,提高系统的响应速度,以更好的满足用户体验效果。(5)系统的可升级性系统也会考虑到未来的功能会发生某种改变、内容可能更加丰富多彩,所以系统具备可扩展性、升级性才能保证系统的不断发展
13、。4 系统设计与实现4.1 系统设计目标与原则本系统的设计目标构建适应于中等规模的物流管理系统,同时,设计出的系统应该要求系统安全性高、可靠性高、运行相对稳定、性能相对平稳。同时,物流管理系统需要具备一定的可扩展性,这样才能够适应各种各样的小型物流的进一步发展需要。系统稳定性:开发时能够保证系统具有良好的稳定性,同时,采用的数据库也能够长期有效的进行运行;易操作性:系统操作界面友好,用户易使用;数据安全性:系统要求保证数据的完整性和一致性。同时,系统也需要分配给不同用户的系统权限,这样才能够限制用户对数据库的一些相关的操作,保证系统的安全性;实用性:系统需要预留可扩展的接口,这样才能方便软、硬
14、件的扩充。4.2 系统总体设计本系统总体设计图4-1。当用户成功的通过用户名和密码登录到系统之后,就可以进入到系统的主页,用户在主页中就可以进行各种各样的选择的操作。图4-1 系统总体设计图4.3 功能模块设计通过分析系统需求的功能、系统运行过程中的各类数据结构。本课题设计了一种管理系统的软件结构。设计的思想为自顶向下的方式,顶层模块根据需求给不同的下层模块发送不同的指令,各个模块相互协作,完成程序的所有功能,即将整体功能划分为几大功能模块,每个功能模块向下细分为若干子模块,每一个子模块完成一个对应的子功能,如果功能仍复杂则可继续向下划分,通过这种方式把模块组织成良好的层次系统。下面分别给予详
15、细的分析,并结合分析的情况给出合理的功能模块设计。如图4-2所示,是系统的功能模块图。图4-2 系统功能模块图根据图4-2可以看出系统主要划分为业务管理模块、系统管理模块、管理员模块三大模块,而每一模块的具体功能如下:(1)业务管理模块:主要实现的是站点信息管理、订单信息管理和统计管理,主要方便用户对物流相关信息进行查询;(2)系统管理模块:该模块主要实现的是用户对菜单、人员、事件进行新增、修改、删除和查询操作;用户可以通过此模块对物流的相关业务进行合理的管理,大大提高了物流的管理水平和运维速率;(3)管理员模块:该模块主要是对网站的一个管理作用,是管理人员对网站进行合理的操作,方便用户的操作
16、。4.4 数据库设计数据库设计主要是我们需要根据系统的需求,设计出安全的、方便的、有效的、便捷的数据库。物流管理系统主要是采用的MySQL数据库进行开发的。4.4 1 E-R图我们根据系统中具体的用户的功能的需求进行分析,并对物流管理系统的E-R图做一个详细的设计,从而我们就可以得到几各实体之间的详细的关系模型,如下图4-3所示是展示的是实体的关系模型图。图4-3 E-R图4.4.3 数据表结构设计我们根据需求可以对数据结构进行详细的分析,我们按数据额输入输出的要求进行分析,从而确定表何表之间的关系结构,同时我们可以进行验证、调整、完善、查询以及浏览等流程,这样可以使数据库能够实现用户对数据和
17、功能的更多的要求。本系统数据表主要是包含用户信息表、基本功能表、信息中心信息表等几个比较主要的表格。本模型的数据库名:Logistics,其中每张数据表的结构如下所示。表4-1 用户信息表allusers序号列名长度小数位标识主键允许空备注1ID4是否编号2username50姓名3pwd密码near账号5tel手机号表4-2 业务管理信息表mainInfo数据类型intminggchengvarchar优先级nameintr状态wenjian主题sheding设定6text表4-3订单信息表academicactivitiesProjecttheme名称Activitytime关键字Plac
18、eofactivity时间Initiator表4-4 系统管理信息表Winningprizevarcha16Awardcategories23sdnsj20说明wiwoh18表4-5 管理员信息表hprojectgmingcheng账户5 系统功能模块实现5.1 用户登录模块图4-5位用户登录模块的流程图,主要顺序为:1)用户输入用户名和密码进行登录;2)系统对比数据库中的账号和密码进行用户登录的验证;3)如果密码正确,用户登录成功,如果密码错误,用户需要重新输入密码。登录成功之后用户就可进入物流管理系统的主界面进行相关的操作。图4-5 用户登录流程图如图4-6和图4-7是用户的登录模块实现图
19、和物流管理系统的主界面图,我们可以看出登录模块界面简单、快捷,方便用户快速登录,主界面有物流管理系统的相关功能,如基本功能、菜单管理和退出等等,操作简单、快捷。图4-6 用户登录界面图4-6 主界面相关代码如下所示*headmeta http-equiv=Content-Type content=text/html; charset=utf-8 /%include file=/newrisk/jsp/common/taglibs.jsp %link rel=shortcut icon href=$ctx /newrisk/images/title.jpg type=/x-icon/title物
20、流管理系统script type=text/javascript$(function() $(:text).click(function(i).nextAll(span).hide();password ); /输入框X操作text,:).keydown(function() var _this = $(this); _this.nextAll( if(!_this.parent().find(em).size() _this.parent().append(em/em); ).click(function() _this.val( _this.nextAll().show(); _this.
21、focus(); $(this).remove(); ); /input框失去焦点后的提示文字与显示隐藏).blur(function() $().each(function(i) if($(this).val() = ) $(this).nextAll( )5.2 修改密码模块如图4-7所示,使用户的修改密码界面,用户在点击修改密码界面之后可以做相应的修改,首先输入旧密码,然后输入新密码,最后再确认输入一次新密码,就可对自己的密码进行合理的修改。图4-7 修改密码界面相关代码如下所示:generatorConfiguration - context id=oracle_tables targetRuntime=MyBatis3 commentGenerator - 注释控制完毕 -javaTypeResolverforceBigDecimalsfalse/javaTypeResolver- 数据表对应的model 层 -javaModelGenerator targetPackage=config.yunhua_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1