毕业论文-船舶计划管理子系统的设计与开发.docx_第1页
毕业论文-船舶计划管理子系统的设计与开发.docx_第2页
毕业论文-船舶计划管理子系统的设计与开发.docx_第3页
毕业论文-船舶计划管理子系统的设计与开发.docx_第4页
毕业论文-船舶计划管理子系统的设计与开发.docx_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

港口是重要的交通基础设施,是实现外向型经济的窗口,为国家经济建设和对外贸易的发展提供基础性支撑。本文通过对港口生产系统中船舶管理子系统的船舶预报计划管理与指泊计划管理的分析、设计及实现,完成调度之前的信息化建设,极大地提高企业在市场经济中的竞争能力,同时也将极大地促进企业管理规范化,实现港口工作的高效率,提升港口生产业务管理水平。本文从实际项目中对船舶计划管理的确实需求出发,采取科学方法,通过专业性分析,设计出了船舶管理子系统。包括船舶预报计划管理与指泊计划管理。系统运用SSH的整合框架,以MySQL作为基本的数据库管理系统,以Eclipse作为主要开发工具,将Tomcat作为B/S结构的应用服务器,加以Model-View-Controller模式的思想,在Java2 Enterprise Edition技术架构的基础上形成。在系统分析和设计阶段,通过合理运用 Rational Rose,Viso建模工具,协助进行业务流程和系统功能的分析和整合,提高系统开发的整体效率。船舶计划管理子系统帮助船舶计划员实现了很多工作的信息化,提前对船舶到港时间进行分析预测,制定船舶预报计划,及时做出指泊计划,极大节约了港口工作的人力与物力,并真实有效地提高了港口工作的效率,更有利于后续调度人员调度船只。关键词: J2EE架构;SSH框架;MVC模式;船舶计划管理子系统AbstractThe port is an important transportation infrastructure and the implementation of export-oriented economy window, providing basic support for the development of theport construction of the national economy and foreign trade. Through the designing and implementation of ship management subsystemof port production system, information to complete man-machine scheduling management, greatly improving the competitive ability of the enterprise in the market economy, but also promoting the standardization of enterprise management. Production and operation of modern port to improve the efficiency of scheduling enhance the business management level of port production.This paper does demand for man-machine scheduling management from actual projects, using real data, through the investigation and data analysis, designs a man-machine scheduling management subsystem. Including staff attendance management, planning information management, attendance information management, car team management, solid team management, flow team management.The system using the integrated framework of SSH, using MySQL as the database management system, using Eclipse as the main development tool, Tomcat as the application server B/S structure, to Model-View-Controller mode of thought, based on Java2 Enterprise Edition technology architecture. In the system analysis and design stage, through the rational use of Rational Rose modeling tool and so on, to assist the analysis and integration of business process and system function, improve the overall efficiency of the system development.The system can help dispatchers to master work with information of personnel and machinery. This way not only improves the real-time management, but also provides a reliable basis for the quality of the rational allocation of resources. In the information era background, the traditional manual operation system will be integrated into a complete logistics management system, provides a practical example for the enterprise paperless and information management.Keywords: J2EE Framework; SSH Frame; MVC Pattern; Ship program management subsystem目录第1章绪论11.1 研究背景11.2 研究意义21.2.1 理论意义21.2.2 实践意义31.3 相关研究领域的现状31.3.1 研究成果31.3.2 有待深入探讨的问题41.4 研究内容和方法51.5 本章小结6第2章船舶计划管理系统规划72.1 系统关键技术规划72.1.1 J2EE体系72.1.2 MVC模式82.2 系统开发框架规划102.2.1 WebWork112.2.2 Spring122.2.3 Hibernate132.3 开发软件规划142.3.1 Tomcat体系142.3.2 Eclipse平台152.3.3 MYSQL数据库152.4 本章小结16第3章船舶计划管理子系统分析173.1 业务流程调查173.1.1 系统性能及运行环境要求173.1.2 系统业务流程图173.2 系统数据流程图193.3 系统逻辑功能结构设计203.3.1 系统用例图设计203.3.2 系统活动图设计213.3.3 系统用例图设计223.3.4 系统时序图设计233.3.5 系统类图设计253.5 本章小结27第4章船舶计划管理系统的系统设计294.1 系统数据库的物理设计294.1.1 数据库基本表设计294.2 系统代码设计324.2.1 代码设计及优化324.2.2 代码示例324.3 系统功能设计454.3.1 船舶计划管理总体功能454.3.2 船舶预报计划管理与指泊计划管理454.4 本章小结45第5章船舶计划管理系统的实现465.1 系统开发过程465.1.1 系统逻辑表现层的实现和业务逻辑层的连接465.1.2 系统数据持久层的实现和业务逻辑层的连接485.2 界面演示545.2.1 船舶预报计划管理545.2.2 指泊计划管理545.3 本章小结58第6章结论59参考文献60致谢62船舶计划管理子系统的设计与开发船舶计划管理子系统的设计与开发第1章绪论本章重点介绍船舶计划管理系统的选题背景、研究意义以及与之相关领域的国内外研究现状等。1.1研究背景随着我国社会经济持续快速的发展,在诸多行业里都出现了基础设施不能满足经济发展的情况。这一点在港口企业体现极其明显。港口企业是重要的物流枢纽,所以如何提高港口工作的效率,对促进经济发展有着很重要的作用。党的十六大报告中指出:“信息化是加快实现我国工业化和现代化的必然选择。坚持以信息化促进工业化,以工业化带动信息化,走出一条环境污染少、资源消耗低、经济效益好、科技含量高、资源消耗低、人力资源优势得到充分发挥的工业化道路。”新时期我国提出了“以信息化带动工业化”的发展战略。交通部出台了公路、水路交通信息化“十五”发展规划,在该规划中交通部提出:要以网络化、信息化为基础,充分发挥水路、公路运输方式的优势。完善和发展特种货物运输、集装箱运输、大宗物资运输等的建设,引导和鼓励公路、水路运输企业利用信息技术,改变企业的生产、管理、营销方式,运用现代经营方式和服务技术构筑交通信息服务产业化的框架。港口和其他行业有着明确的不同,它的主要业务过程就是调配港口资源来完成货物的装卸、堆存、疏运等,如何利用现代信息技术来动态规划资源的调配,使得相关信息能够及时共享,保障生产过程中的计划、组织、协调、控制等行为得以低成本高效率的完成。并为客户提供高效、优质的服务成为港口企业信息化建设的迫切需求。把港口集团建设成为一个港口功能完善、管理科学高效、布局结构合理、综合实力雄厚、经济效益显著的国际化一流企业1。管理信息系统作为一种现代化的、先进的管理手段,是管理科学逐渐发展到达一定层次所形成的重要成果。它对企事业的有效运行、国民经济的快速发展有着重要作用。当今社会中,运用大规模的数据管理方法所开发的高度集成化的管理信息系统,已成为各企业进行数据处理的高效工具。因此,船舶计划管理系统中船舶预报计划与指泊计划管理子系统也不例外,尽可能地将所有业务集中集成在一个系统之中。随着相关应用背景、处理和存储硬件、开发和数据存储软件技术、数据处理方式的不断发展与改进,使得调度管理系统的开发成为可能,如图1.1。图1.1信息系统开发背景1.2研究意义1.2.1理论意义船舶预报计划和指泊计划管理子系统的设计与开发加深了港口管理系统的集中化程度。当生产部船舶计划员接收到船公司或船代将船和货物的信息后,将船与该条船舶对应的货物信息录入系统中作为船舶的预报计划进行管理,预报计划作为后续生产业务的指泊计划的初步数据进行保存。当船舶已到港后,船舶计划员根据船名检索船舶预报计划和经验安排船舶装卸泊位和所需人机资源数量,生成相应的指泊计划,船舶计划员也可以不根据预报计划直接在指泊计划管理模块增加指泊计划。1.2.2实践意义船舶预报计划是制作船舶指泊计划前的准备工作,该模块实现的功能主要是对船舶预报计划的增加、修改和删除,记录船公司或者船代给生产部船舶计划员的关于船和货物信息。生产部船舶计划员根据这些信息可以对于泊位和人员的安排有个初步的认识,为后续指泊计划提供依据且可以通过预报计划直接生成指泊计划信息。船舶指泊计划是生产部船舶计划员制定船舶作业计划前所需要进行的工作,该模块实现的功能是根据船舶预报计划对指泊计划进行制定、修改、查看和删除,只有制定指泊计划的船舶才能进行后续的生产作业流程。1.3相关研究领域的现状1.3.1关于船舶管理研究成果目前,很多港口都步入了信息化,港口都各自有自己的管理信息系统。就大连港而言,其在船舶预报计划管理与指泊计划管理方面已经比较完善。港口在接收到船代发出的国际航行船舶进口岸申请表之后,经过处理提取到船舶预报相关信息建立预报船舶动态信息、查询列表,港口工作人员通过查寻此表了解预报船舶信息是否完整、是否有所更新,然后在系统自动生成船舶预报计划。港口接收船代发出的船舶使费通知单之后,工作人员查阅此表信息是否完整、是否有所更新,然后确认之后导入系统。工作人员检查申请表中的船舶规范信息,对正确的船舶规范信息进行确认,在系统中将新确认的信息替代原有信息。通过日积月累,完善并丰富内部系统资料库的内容,为港口完成计费和统计分析工作奠定了基础。工作人员可以查阅锚地船舶、泊位船舶、离港船舶的动态信息。经过工作人员确认后,将指泊计划表发送给海事局。经过海事局的工作人员批准之后,再将指泊计划表发布在网站上。此系统全面反映港口现场装卸作业、储罐管理、帐目管理、巡检及交班情况,全面反映班组作业及管理工作2。1.3.2关于框架方法研究成果当前,我们正处在网络技术空前发展的时期,java是一种面向对象的语言,非常适用于网络编程3。其所具有的安全性、高效性、健壮性、跨平台性等优势,使其在实际应用中得到广泛使用。发展至今,Java语言已经形成了明确的结构框架:标准型J2SE、企业型J2EE、微型J2ME,应用于不同的商业环境。MVC编程模式用于管理复杂的应用程序,并且简化了分组开发。JavaScript作为一种适用于网页前端的脚本语言,早已被普遍的应用在Web应用程序的开发。它可以在网页上增加各种形式的动态效果,为用户带来更加美观流畅的视觉感受。最初,在企业和组织内部的局域网中,信息系统多采用C/S(客户/服务器)结构,即将数据库存放在服务器端,信息系统则存放在客户端的微机上。B/S(浏览器/服务器)结构是C/S结构的一个升级,能够较好地解决信息的同步问题。因为在B/S结构中,信息系统的数据和应用程序都被集中存放在服务器端,客户端微机通过浏览器方式访问服务器端的应用程序,如图1.2。图1.2B/S体系结构4B/S架构的优势5:(1)灵活性。B/S架构的三个层次之间是彼此独立存在的,其中,任何一个层次的改动都不会对另外两个层次的功能造成影响。这样的结构允许用户使用来自不同厂家的产品进行组装,使系统更加健壮、全面,同时也便于对系统进行升级或改造。(2)客户端负载小。B/S模式下,客户端只负责对执行结果进行显示,操作中的复杂的计算以及相关的数据访问等逻辑事务交给服务器进行处理,这样就使得客户端变“瘦”了,负载变小。(3)开发和维护成本低。在B/S架构下,网络中任何被授权的客户端用户,只需安装上通用的浏览器,就可以使用服务器端的应用程序。系统中的维护和升级工作只需要在服务器端进行,客户端不需要进行任何改变,这样的模式,极大地降低了系统开发和运行维护的成本。(4)采用开放的标准。B/S结构中的标准是经过标准化组织所确定的,是开放的、非专用的,保证了其使用的通用性、移植性和跨平台性。目前,在船舶计划管理信息系统的推广和实施上,花费了很多的人力财力资源,虽然在很多方面取代了手工操作,取得了不错的效果,在一定程度上,提高了工作效率,但是还没有获得理想的经济效益,相反,由于信息系统的构建,在系统中出现了大量的“信息孤岛”,阻碍了信息的共享。另外,由于信息采集渠道的单一,信息基础的不统一,使得信息的使用交流不够灵活,造成了信息资源的浪费6。采用MVC结构为采用其开发管理系统的大型企业提供了分层管理,提高了开发效率。但是MVC还存在很多不足之处,例如:(1)视图和控制器的联系太密切。视图和控制器虽然是彼此分离的,但是实际上它们是连接十分紧密的部分。如果没有视图的显示作用,控制器的应用是非常受限的。相反也是,这种结构阻碍了它们各自的单独使用。(2)增加了系统在结构和执行的复杂程度。在一些简单的程序中,如果一味地遵循MVC模型,追求模型、视图、控制器的分离,这样不仅将系统结构复杂化,而且会产生过多的操作,影响程序运行的效率。(3)视图对数据的访问效率较低。因为模型操作会使用不同的接口,有时视图可能被调用多次才能得到所需求的显示数据,在这个过程中,会产生对没有改变过的数据频繁地进行访问,这在一定程度上也降低了系统运行效率。1.4研究内容和方法本文主要研究港口船舶计划管理的业务流程,根据实际需求进行需求分析,针对分析结果设计系统结构,并实现系统功能。船舶计划管理子系统的实现方法采用传统的信息系统开发方法,本文从一下几个方面阐述:(1)系统总体规划。对系统开发所用到的关键技术、开发框架和开发软件做简要介绍。(2)系统分析。对业务流程进行调研,得到要处理的数据信息,从而进行逻辑结构设计和数据分析。在此同时,完成业务流程图、数据流程图、用例图、活动图、时序图和类图的设计。(3)系统设计。进行系统的数据库物理设计,根据设计结果建立数据库,并进行分类编码设计,最后完善系统的功能。(4)系统实现。在这一阶段,简述开发过程,并实现操作界面。完成系统整体设计,实现功能,并进行调试。1.5本章小结本章通过对港口船舶计划管理的业务现状进行探讨,研究其开发的背景和意义,针对现实中对这一领域探究的发展和局限进行总结,得出船舶计划管理系统研究的方向、内容及方法。第2章船舶计划管理系统规划2.1系统关键技术规划本系统主要采用MVC设计模式,用J2EE体系结构,加之Web软件设计架构模型,如图2.1。图2.1Web软件设计架构模型2.1.1J2EE体系J2EE体系采用多层次、分布式的应用模型。J2EE系统是由多个应用程序组装而成,并且可以被安装在不同的计算机中。J2EE 的典型体系结构被分成 4 个层次7:(1)客户层(Client tier),运行在客户端计算机上的组件。(2)Web层(Web tier),运行在 J2EE服务器 Web 容器中的组件。(3)业务层(Business tier),运行在 J2EE 服务器 EJB (Enterprise JavaBean)容器中的组件。(4)企业信息系统层(EIS),是指运行在EIS 服务器上的软件系统(EIS tier)。其中Web层和业务层合并称为中间层(Middle tier)。图2.2 J2EE架构的多层应用模型J2EE为了满足企业级系统开发的需求,制定并规范了大量的技术,这些技术有效地扩展了开发的外延。J2EE平台在应用时会涉及的一系列的应用组件和API服务,如下8:(1)JSP(Java Server Page): JSP网页是由HTML、XHTML语言以及嵌入其中的JavaScript、Java语言写成。首先,客户端发出请求页面,接着,服务器对其中的代码进行处理,最后再将生成的XHTML/HTML页面返回到客户端的浏览器上进行显示。(2)Java Servlet:Servlet巧妙地扩展了Web的功能,它实质上就是一个小型的Java程序段。作为一种服务器端的应用,很多时候,Servlet提供和JSP相似的功能,只是在实现方式上不同。Servlet是全部由Java语言编写进而生成HTML/XHTML语言的。(3)EJB(Enterprise JavaBean):EJB定义了一种基于企业级、组件、分布式多层应用系统的开发标准。基于这个标准开发的JavaBean封装了该应用系统中的关键业务逻辑,包括会话Bean(SessionBean)、实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。(4)JNDI(Java Name and Directory Interface):Java命名和目录接口。它用于进行名字与目录服务操作。JNDI可以利用统一的模型来对企业级的资源进行存取和操作。这些资源包括LDAP、DNA、本地文件系统以及应用服务器对象。2.1.2 MVC模式MVC即是Model-View-Controller(模型-视图-控制器)的缩写,是一种经典的软件设计模式。MVC非常适用于网络编程,因为它结合了分布在不同层的技术9。Model是整个模型中比较重要的部分,因为所有的程序操作都是通过这一部分进行,它所编写的业务逻辑类,只需要编写一次就能被多个视图多次地进行调用。View提供的是在网页上的显示,在Model执行操作之后,需要视图对结果进行显示。事实上,View只是一种负责数据输出并允许用户进行操作的形式,其中并没有发生处理行为。MVC能够处理大量不同的视图。Controller用于处理视图与用户发生的交互。每一次用户对模型执行操作时,必须通过控制器间接地进行,而不是直接对其操作。三者的关系简述为:控制器从视图中取出值,再传递给模型进行操作。MVC模式工作过程,如图2.3。图2.3 MVC模型视图由图可知,MVC模型的操作过程是:用户发出请求后,首先由控制器接收并选择利用哪个模型进行处理,在利用模型提供的业务逻辑对请求进行处理后,返回的数据由视图进行显示返还给客户。MVC模式的优势10:(1)设计的清晰性:模型中的各个部分分工明确,各有用途。使用模型中通用的方法对数据和行为进行操作,这很好地帮助用户理解如何对模型的行为进行控制。特别是在设计大中型的应用系统时,这样的设计模式是整个程序的开发效率极大地提高,更便于对程序进行维护。(2)模块的可扩展性:视图和控制器可以根据模型发展的需要进行扩展,此时,只要使用一种通用的接口,它们的旧版本还是能够被使用。因为模型返回的数据没有被格式化处理,所以不同的页面可以使用相同的构件。由于模型、视图、控制器彼此之间的相互独立的,所以对系统数据层、业务逻辑层、表示层的改变变得十分方便等。(3)设计的有效模块性:无论是整个模型还是单一的组件都能够根据系统发展的需要换进或换出,在模型、视图或控制器中,无论哪个方面的改变均不会对其他方面造成影响。不同的模块的开发能够同时进行,极大地提高了开发的效率。2.2系统开发框架规划SSH框架是的指Struts 框架+Spring 框架+Hibernate 框架。在框架的设计上,SSH框架参考J2EE框架架构,在应用中采用三层结构:表示层、业务逻辑层、数据持久层。各层次之间具有各自不同的功能,并保持着清楚的隔离,彼此相互独立存在。在各层次封装了内部的实现细节,相互采用接口进行通讯。其实现为web表示层采用Struts框架,业务逻辑层采用Spring框架,而数据持久层采用Hibernate来实现。三者之间的关系如图2.4。图2.4SSH架构模型图如上图所示,SSH框架中的表现层、业务逻辑层(服务层)和数据持久层彼此之间相互配合完成整个系统的功能11:(1)表现层接收用户的请求、转发并且输出一系列的响应。在这一层中,开发人员主要是完成控制器Action的业务逻辑和页面结果展现JSP的编写,并通过编写配置文件来完成映射关系的对应,如:逻辑控制器Action与用户请求URL之间,以及在Action处理后返回的字符串结果和展示页面JSP之间的映射关系。(2)服务层(业务逻辑层)提供了Action在处理用户的请求时所需要完成的业务逻辑。这一层开发技术人员主要通过完成相关的Service类来实现业务处理功能,如果一个业务涉及到多个Service之间的相互操作,那么就可以编写一个Service类来将这些服务协作的细节进行封装,使得Service更加简洁。(3)数据持久层提供了对业务对象的访问和存储。通过封装的Hibernate接口,可以编写Dao类,业务处理过程中,更加简单化服务层对PO的访问和操作2.2.1 Struts Struts开元工具深受开发人员喜爱,是Apache软件基金会(ASF)的项目,通过其可以方便的实现J2EE的WEB应用程序的MVC(Model-View-Cotroller)框架。这个MVC设计模式十分经典。如下图所示12:图2.5 MVC工作原理MVC作为一种普遍的架构设计模式,由三个部分组成:模型(Model)、视图(View)、控制器(Controller),用户通过View层发送请求,到达Controller,控制器通过接收请求并选择相应的Model进行处理,Model将处理结果返回给Controller,Controller选择相应的view将结果显示出来。Struts实现了MVC,服务器启动时将自动加载Struts框架,当接收到客户端的请求时,通过action转达到配置文件,由配置文件找到相应的处理类,最后通过处理类和配置文件将结果显示在对应的页面上13。2.2.2 SpringSpring的用户可以根据自己的实际需求来灵活地对Spring的各个部分进行选择。也就是说,Spring不会强加任何形式的架构风格,而是开发者拥有着选择的权利,用户能够选择使用其中的单项或多个功能,而不是必须使用整个框架。Spring并不是一个全有或全无的解决方案。它具有许多特性,如:Hibernation集成或者JDBC抽象层,均能够作为一个单独的库进行使用,也可以作为Spring整体框架方案的一部分。因此可以得出,Spring为用户提供了很大程度上的灵活性,开发人员既可以选择Spring本身所提供的部分,又可以选择其他领域优秀的工具。Spring基本结构如下。图2.6 Spring框架基本结构14如图所示的7个基本模块,它们是相互独立的,每个基本模块均存在一个对应的jar文件包。其中:Core封装包提供了依赖注入特性和IoC,是框架的最基础部分。作为的基础概念是BeanFactory,可以通过对经典模式Factory的实现使得开发人员真正地从程序逻辑中分离出依赖关系和配置,因为它消除对程序性单例模式的需求。Context封装包建立于Core封装包基础之上,提供的是一种框架式的对象访问方法。DAO提供了JDBC的抽象层,它不仅实现了特定的接口,而且对所有的Pojo都适用。JDBC封装包提供了一种比编程性更好的声明性事务管理方法。它可以消除冗长的JDBC编码和解析数据库厂商特有的错误代码。ORM封装包提供了常用的“对象/关系”映射API的集成层。其中包括JDO、JPA、iBatis与Hibernate。利用ORM封装包,可以混合使用Spring提供所有的特性进行“关系/对象”映射。AOP封装包提供了符合AOP Alliance规范的面向对象的编程实现。让你可以定义切点和方法拦截器,从逻辑上讲,有效地减弱代码的功能耦合。此外,利用Source-lever的元数据功能,各种行为信息也被成功地合并到开发人员的代码中。Web包提供了基础的针对Web开发的集成特性。MVC封装包提供了Web应用的实现。MVC框架不仅提供的是一种传统的实现方法,更是提供了一种清晰的分离模型。2.2.3 HibernateHibernate是一种优秀的持久层框架,它提供了便捷的、高性能的、强大的对象到关系型数据库的持久化服务。用户能够运用面向对象的设计方法来进行持久层的开发。简而言之,Hibernate中的一个作用就是将Java中对象和对象的关系,映射到关系层数据库中表和表之间的关系。也就是说,Hibernate就是一种持久化类与数据库表相互映射的工具。图2.7 Hibernate高层概览2.3开发软件规划港口生产系统中人机调度管理子系统开发所用到的编程语言为面向对象的Java语言,以Tomcat为容器,用Eclipse平台进行操作,最后结合MySql数据库进行合作开发。下面对开发软件进行简要介绍。(1)Tomcat体系Tomcat其实是一种JSP/Servlet容器,是Sun公司在JSWDK的基础上实现的基于JSP和Servlet规范的标准。Tomcat的工作模式:(1)独立的Servlet容器:Tomcat作为独立的Servlet容器,它的默认工作模式是内置于Web服务器内的一个部分,即是使用基于Java的Web服务器。(2)进程里Servlet容器:Servlet容器是Java容器的实现以及基于Web服务器的插件。基于Web服务器的插件和在其内部地址空间的Java虚拟机,使Java容器得以在Servlet内运行。(3)进程外Servlet容器:该Servlet容器运行的地址空间位于Web服务器之外,其作为Web服务器的插件通过IPC和JVM进行通讯。进程外Servlet容器虽然在运行速度上要比进程内Servlet慢,但进程外的Servlet要具有更好的稳定性和伸缩性15。 (2)Eclipse平台Eclipse是一种集成的开发环境,这种集成环境是可以跨平台的并且是自由的。Eclipse不仅可以被广泛地用于开发Java程序,也可以很好地被用于开发基于Python和C+的程序。对比其他的集成开发环境来说,Eclipse更加灵活16。如今,Eclipse在软件开发领域里受到了极大的关注,许多国内外的系统开发公司都开始采用Eclipse作为开发平台。它具有以下优势:(1)Eclipse是真正地可以进行配置和扩展的。Eclipse采用插件机制(2)Eclipse作为一种开放源代码的开发软件。这就是说用户不仅可以免费地使用,而且还可以研究源代码发明先进的编程技术。(3)Eclipse支持多种开发语言,如Java、Python、C+等。Eclipse只是向开发人员提供一个可以进行扩展的系统最小核心。Eclipse之所以能够支持多种语言是因为它的这种基于扩展的插件体系结构。(4)Eclipse能够提供对多重平台的支持。开发者可以使用他们最熟悉、最舒适的平台。(3)Mysql数据库MySQL是由瑞典MySQLAB公司开发的。MySQL作为一个开源的数据库管理系统,它可以运行在Windows和UNIX下的许多版本之中17。如今,它作为小型的数据库管理系统,被广泛地应用在于小型企业或者组织中。它是一个非常易于使用、运行速度快、性能高、多线程、多用户的开源关系型数据库管理系统。MySQL数据库以其其速度快、体积小、总体拥有成本低的优势受到中小型企业的热捧。此外,它还有以下优点18:(1)本地化;(2)客户端和工具;(3)使用多线程方式;(4)允许基于主机的验证;(5)支持很多不同的字符集;(6)函数名不会与表或列名冲突。(7)众多列类型,定长和可变长度记录;(8)用C和C+编写,能在不同平台下运行;(9)在任何平台上,可用TCP/IP协议连接到MySQL服务器;2.4本章小结本章阐述了船舶计划管理系统中船舶预报计划与指泊计划管理子系统的开发规划,对系统关键技术、系统框架和开发软件做了简要介绍,加深对系统的理解,为之后系统的分析和设计奠定了技术基础。第3章船舶计划管理子系统分析3.1业务流程调查采用自顶向下的方式对船舶计划管理的业务流程进行调查,并用业务流程图将其表示出来。船舶预报计划是制作船舶指泊计划前的准备工作,该模块实现的功能主要是对船舶预报计划的增加、修改和删除,记录船公司或者船代给生产部船舶计划员的关于船和货物信息。生产部船舶计划员根据这些信息可以对于泊位和人员的安排有个初步的认识,为后续指泊计划提供依据且可以通过预报计划直接生成指泊计划信息。当生产部船舶计划员接收到船公司或船代将船和货物的信息后,将船与该条船舶对应的货物信息录入系统中作为船舶的预报计划进行管理,预报计划作为后续生产业务的指泊计划的初步数据进行保存。船舶预报计划模块中的预报计划查看功能可以调用指泊计划管理模块中的指泊计划增加功能,船舶计划员可以根据选中的船舶预报计划直接生成相应的指泊计划信息。船舶指泊计划是生产部船舶计划员制定船舶作业计划前所需要进行的工作,该模块实现的功能是根据船舶预报计划对指泊计划进行制定、修改、查看和删除,只有制定指泊计划的船舶才能进行后续的生产作业流程。当船舶已到港后,船舶计划员根据船名检索船舶预报计划和经验安排船舶装卸泊位和所需人机资源数量,生成相应的指泊计划,船舶计划员也可以不根据预报计划直接在指泊计划管理模块增加指泊计划。指泊计划管理模块与大连港集团生产系统通过局序号中间表进行交互,指泊计划管理模块将指泊数据通过中间表传给大连港集团生产系统,大连港集团生产系统根据指泊数据,通过中间表将船舶集团计划号(局序号)传给指泊计划管理模块,在指泊计划增加和修改模块中可以查看到局序号相关信息。指泊计划管理模块中的指泊计划查看功能可以调用昼夜生产计划模块中的昼夜生产计划增加功能,船舶计划员可以根据选中船舶的指泊计划信息增加该条船舶的24小时昼夜生产计划,但只能根据当前日期增加一条下一昼夜的24小时的生产计划。3.1.1系统性能及运行环境要求通过分析得到船舶计划管理调度子系统的组织架构如图3.1。图3. 1 组织架构图3.1.2系统业务流程图通过分析,得到管理系统中船舶计划管理系统的主要业务是根据船舶到港信息,货物信息,船舶靠泊信息等对船舶到港情况进行预测并生成相应的初期指泊计划,为后期调度节约时间,做好前期准备。船舶调度员根据实际情况对船舶预报计划和指泊计划进行新增或修改或者删除,也可以直接根据已存预报计划生成指泊计划,便于单次录入时出现人为错误。业务流程图如图3.2,3.3。 图3. 2指泊计划管理业务流程图图3. 3船舶预报计划管理业务流程图3.2系统数据流程图数据流程图是对需求分析的结果进行功能分析得到的,采用的工作路线是自底向上的,通过对业务流程图的分析和整合,可得到船舶计划管理子系统数据流程图,如图3.7,3.8。图3. 4指泊计划管理数据流程图图3. 5船舶预报计划管理数据流程图3.3系统逻辑功能结构分析根据以上设计结构,得出系统总用例图、活动图、状态图、时序图和系统总类图。3.3.1系统用例图分析用例图是在不展现系统内部结构的情况下,对系统功能的定义与描述,描述了系统在响应来自船舶计划员等角色的请求时的各种操作。根据数据流程图,将其中的每项业务功能的完成人转换成用例中的角色,然后再将每个业务功能转换成用例即可。如图3.6,3.7。图3. 6船舶预报计划管理用例图图3. 7指泊计划管理用例图3.3.2系统活动图分析活动图是描述用力之间以及用例内部关系的。确定用例模型后,画出活动图来表示用例之间的流程关系,同时描述出用例内部的活动关系。例如,对船舶预报计划管理用例进行详细功能分析,可以确定其操作包括五个基本活动,“查询预报计划信息”,“录入预报计划信息”,“删除预报计划信息”,“修改预报计划信息”,与“生成指泊计划”。如图3.8,3.9。图3. 8船舶预报计划管理活动图图3. 9指泊计划管理活动图3.3.3系统用例图分析状态图是反映的是对象在其生存期间,响应事件后状态的变化情况,如图3.10是系统对指泊计划录入过程的状态图。图3. 10指泊计划管理状态图3.3.4系统时序图分析系统时序图设计结构如图3.11,3.12。图3. 11船舶计划管理时序图图3. 12指泊计划管理时序图3.3.5系统类图分析系统类图设计结构如图3.13,3.,14。图3. 13船舶预报计划管理类图图3. 13船舶预报计划管理类图图3. 14指泊计划管理类图3.5本章小结本章主要阐述了船舶管理子系统的分析过程,通过对港口船舶管理业务流程的调查,画出业务流程图。根据业务流程图,整合业务流程,得到数据流程图。在业务流程图和数据流程图的基础上,得到系统的逻辑结构,画出用例图、活动图、状态图和时序图,然后丰富类的细节,得到系统类图。系统分析为之后的系统设计奠定了基础。第4章船舶计划管理系统的系统设计4.1系统数据库的物理设计根据船舶计划管理系统的系统分析结果,考虑到MySQL数据库的具体特点,确定数据库基本表和数据元素总表的结构和所包含的字段。4.1.1数据库基本表设计数据库基本表一览表,如表4.1。表4.1数据库基本表一览表数据库名称基本表标识基本表名称TrainSHIP船舶信息表SPECIFY指泊计划表FORECAST预报计划信息表GOODS船舶货物信息表PRODUCE昼夜生产计划表NUMBER局序号信息表BERTH船舶靠泊信息表确定每个基本表中的字段及属性,得到数据库基本表,下面列出部分基本表及属性,如表4.2-4.8。表4.2船舶信息表NameColumn NameIDPkNull?Data TypeFkCommentIDID11NNUMBER (15)船名SHIP_NAME2YVARCHAR2(20 Char)CODE_NAME船长CAPTAIN3YVARCHAR2(20 Char)航次SEQUENCE4YVARCHAR2(20 Char)CODE_NAME装卸LOADD5YVARCHAR2(20 Char)CODE_NAME流向DIRECTION6YVARCHAR2(20 Char)吞吐量THROUGHPUT8YVARCHAR2(20 Char)时间TIME9YDATE船代SHIP_AGENT10YVARCHAR2(20 Char)开来港FROM_PORT11YVARCHAR2(20 Char)吃水DRINKING12YNUMBER (15)货物信息GOODS_INFO13YVARCHAR2(20 Char)状态STATUS14YVARCHAR2(20 Char)CODE_NAME货代GOODS_AGENT15YVARCHAR2(20 Char)船吊SHIP_DIAO16YVARCHAR2(20 Char)泊位BERTH17YVARCHAR2(20 Char)CODE_NAME备注REMARK18YVARCHAR2(20 Char)日期DATE19YDATE船舶序号SHIP_NO20YNUMBER (15)表4.3指泊计划表NameColumn NameIDPkNull?Data TypeFkCommentIDID11NNUMBER (15)预确报FORECAST_OR2YVARCHAR2 (20 Char)CODE_NAME航次SEQUENCE3YVARCHAR2 (20 Char)中文船名SHIP_NAME4YVARCHAR2 (20 Char)CODE_NAME局序号GAME_NO5YNUMBER (15)船序号SHIP_NO6YNUMBER (15)船长CAPTAIN7YNUMBER (15)预计到港时间FORECAST_ARRIVE_TIME8YDATETIME预计完工时间FORECAST_FINISH_TIME9YDATETIME船舱数SHIP_NUM10YNUMBER (10,4)泊位代码BERTH_NO11YVARCHAR2 (20 Char)CODE_NAME吞吐THROUGHPUT12YNUMBER (15)CODE_NAME电话TEL13YVARCHAR2 (20 Char)型长LENTH14YNUMBER (15)船代SHIP_AGENT15YVARCHAR2 (20 Char)CODE_NAME开来港FROM

温馨提示

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

评论

0/150

提交评论