基于JAVA的机场航班起降与协调管理系统

  摘要

随着我国经济社会的进一步发展和信息科学技术的进步,信息化时代的来临,各种智能的家庭用电设备也随之而来,迄今为止最原始、最普遍的也许仅仅是计算机在网络上的使用,计算机软件的应用已经成为了计算机科学技术进步的非常重要转折点,对于现代计算机的软件,现代计算机在软件的编写和应用程序语言中,其用途最广泛的莫过于JAVA。在各种新型的电子编程技术语言迅速进步发展的今天,其仍然一直牢牢地保持占据着所有的电子计算机语言的核心重要性和它的核心技术地位,并且已经不断衍生了诸如Jsp、JavaEE和Struts2等多种先进的电子计算机语言和编程技术,为我们现代电子计算机和其他软件工程科学的技术研究以和发展及其作用发挥做出了巨大的技术贡献,也为我们现在人类的现代工业生产和以及现代农业社会的各类经济文明中的发展应用作出了非常卓越的技术贡献,各种基于Java小型平板家用电脑及其应用管理软件及各种移动应用app等都是不断面向市场不断提供新的服务。据不完全调查统计,航班的安全事故大都是直接发生在该机场航班的飞机起飞和起降着陆或者等待起降阶段,为了安全有效地能帮助当地的航班指挥管理人员准确执行一个航班在起飞调度起降过程中与其他一个航班客户机长之间互动信息交流和执行协调起降指令的及时发布等各项重大任务,航班的首飞起降和着陆协调指令管理信息系统就因此而更加显得特别重要,他们必须能够实时准确掌握一个航班的起降信息,及时且明确地对每一个从该航班向他的客户机长发送的起降指令和信息接收传达到每一个其他航班机长发出的起降请求,并对每一项起降请求和协调指令都及时进行了准确编号,清晰地准确记录每一项指令数据。

现在的航班调度这一重要功能中绝大多数还是因为我们需要有专门的地面司令官或者是空间站的指挥人员来对机场的航班进行自动化调度,仅仅是利用无线电方式来进行通信。此次航班的协调管理系统除了采用无线电外,对于塔台和飞机也引入了一套明确的信息检索查看和指令发布的系统,引入了一套可以直观看得见的指令发布系统,大大减少了航空公司地面指挥员的指示和指令发布的操作失误几率,很大程度上是为了规避安全的风险。

本文以开发技术基础知识介绍、机长端的技术需求管理分析、地面起降指挥以及指挥人员客户端的技术需求管理分析、系统的需求分析与软件设计、代码的设计实现几个技术重点领域作为主要研究理论目标,主要内容是通过运用了一些Java(jdk-7u15-windows-i586)技术、mysql-essential-5.1.32-win32、EclipseIDEforJavaDevelopersVersion:LunaServiceRelease2(4.4.2)、apache-tomcat-7.0.77等开发环境与工具;Java、Jsp、JDBC、Servlet和javascript技术以及easyui架包设计实现了机场航班起降与协调管理系统。

  关键词:Java;Jsp;客户端;机场航班;起降与协调管理

  第一章绪论

  1.1课题背景及意义

随着社会的发展和科技的进步,越来越多的行业进行的互联网+的融合。互联网和软件技术的发展为传统行业赋予了更多的可能性。其中尤为出彩的是移动互联网的发展,伴随着近10年的移动互联网和4G的发展,越来越多的行业拥抱了计算机技术。受益于移动互联网的发展,java这门编程语言天生的服务器端的属性,在新时代的发展中占据了市场的主流声音。再由spring社区为java赋予了丰富的开源框架和主键,帮助研发人员更好更快的进行软件开发工作。所以本系统将采用java作为主要开发语言进行设计和开发工作。

在众多传统产业中,其中交通安全和效率在如今这个社会里面已经变得愈来愈重要,近年来随着人们物质和精神素质的进一步提高,外出旅行或者办公的消费者也变得越来愈多,其中远程交通最方便的方式为飞机。所以选择飞机出行的人数也越来越多,一个好的机场信息管理系统就变得越来越重要。

机场信息管理系统是一个传统的B/S架构的应用系统,其中所有的航班信息都将保存至数据库中,因此一个好的数据可设计变得十分重要。号的数据库设计将直接对系统的效率以及实现效果产生巨大的影响。

秉承着互联网+的精神,本文将在后续逐步介绍机场管理系统对机场的日常管理赋能的重要性

  1.2课题目的

通过这个项目可以编写一个基于Java的用于机场管理航班安全飞行和飞机起降跟踪的协调系统。通过这种系统有效地帮助了机场的地面指挥工作人员对航班调度及其指令的发送做出更加清晰明确的计算,尽可能地减少了航班调度的准确性和错误概率,尽可能地规避了航班调度准确性和错误发生的危险,很好地避免了空难事故的频繁发生。减少了地面指挥者的一个指令发布的丢失率,与其他航班相联系建立了一个数据上的不同指令的发布,使得航班在有可能受到无线电干扰的条件下也可以正常飞行或者起降。实时掌握航班信息,建立飞行中的地面司令指挥员和飞行中的船长之间的命令通讯。

  1.3项目可行性分析

对于日常的机场管理工作中,由于日常中机场要接待非常多的飞机班次。简单的书面化或纸质办公和管理的模式已经无法满足现如今大量的飞机班次管理了。该系统实现后可对机场的日常管理和班次管理进行科学化自动化的管理工作。可减轻机场管理人员的管理压力,同时提高机场整体的运转效率。综上,机场运营管理信息化系统的设计是非常有价值得我们去研究和实现的,下面将从其技术上的可行性,经济上的可行性和运营管理操作上的可行性3个主要的几个方面来对其进行阐述:

技术可行性:机场管理系统是一个典型的B/S软件架构模型,我们可以采用市场占有率较高的java语言作为主要的开发语言,既可以满足服务器端的要求,又有丰富的开源框架和设计方案供我们选择。在用户交互的页面方面我们将采用主流的jsp页面进行页面渲染和绘制工作,JavaScript进行页面动态交互的脚本语言选择,二者相互结合可以更好的提高用户体验感。在数据仓储方面我们选择了市面上最为主流和免费使用的关系式数据库MYSQL。因此在整体的技术设计和预演方面是可以实现本系统的。

经济可行性:机场管理系统设计并实现后,可以为许多机场提供飞机的日常管理和班次管理,可以提高管理的工作效率,同时也可以避免一些由于人为操作失误所带来的经济损失。另一方面也可以更加科学和合理的管理机场,提高机场的整体市场竞争力和服务水平。因此,该机场管理系统在经济可行性上是可行的。

操作可行性:通过机场管理系统友好的操作界面和简单操作逻辑的加持下,用户即便不是专业计算机相关的专业人员,只要懂得与计算机密切相关的基本操作,在系统的友好提示下就可以对本系统进行相关操作,从而完成对机场的日常管理工作。因此,具有很强的可操作性。

总体上来来看,本系统满足经济实用,能提高日常交通效率和安全管理。为机场的日常管理工作提供赋能。

  第二章技术介绍与环境的搭建

  2.1Java技术

1、java技术介绍

Java自面世以来,就迅速风靡了整个计算机编程圈,作为一类面向对象的计算机语言,具有极为强大的适用性和实用性,对C语言优点兼收并蓄,却又摒弃了其中对于初学者或仅有简单需要的开发者难以掌握和理解的部分规则和概念如多继承等,强大的功能应用性及极为便于入手的易用性让Java获得众多开发者青睐,自面向对象理论被提出且见于实践以来,Java就成为其中杰出代表,对于Java的合理利用能够让开发者运用简洁优雅的实现路径来实现复杂的编程。

Java在实现过程中看似可以设计得很类似目前c++,但是为了能够让目前人们日常使用的编程设计语言更加体量小和更加易于人们熟悉,开发者也做出了多种不同选择,其中就把C语言中许多具有强大可用性和实现性的特征选择弃而不用或取消掉类似功能区,而这些特性并非毫无用处只是较为艰深或适用范围较为狭小或专业化,因此多数程序员日常用到也基本不需要去学习。典型范例,Java由于复杂性问题而去掉了对于goto语句的支持,与此同时为了实现类似功能,而用break语句等多种方式进行处理,或实际进行异常处理。另外,对于C语言中一些其他类型基本特性也进行了剔除处理,如多文件继承这种特性,以及overload等类似特性,并且对于文件使用也进行了新的规则化,重复使用主文件已经不再成为必要,如此一来,Java就实现了大瘦身,诸多预处理程序被一一剥离和剔除。因此Java具有典型的无结构特征,其对象就是数组和串,基于此,在实际开发过程中指针就不再成为必须。同时Java适用性也极强,能够实现对无用数据单元的处理,对之进行的信息和数据引用和搜集等多方面操作都能够自动化实现,这种特性极为受到企业用户的重视和青睐,可以减轻其中信息存储的压力和问题,同时还能对数据管理更为有序化进而提升管理质量,从而腾出更多的资源和人手用于产品生产和研发中。

作为一类面向对象的计算机语言,在对java具体应用中,对开发者尤为重要的是其中涉及到数据和操纵数据的路径和模式,而需要摒弃或稍微忽略过程思考这种做法和模式。在面向对象的系统中,要特殊关注对类的利用,类一般来说指的是以各种方式实现的数据集合,同时也包括运算数据集合。数据与方法共同描述了对象(object)的状态与行为。每一种对象都是它们的状态与行为所进行封装。类的安排具有一定的规则和指向,通常是依据一定体系而展开,或按照一定层次而实现,在这个过程中让子类能够从上一级超类中脱颖而来。对类进行观察,发现其层次和构架之具有一个基本型,换言之,对于类来说,它内部数据是有一个普遍性特征或行为的。Java语言就需要利用到类。

Java内容中还涉及一个不可扩展性文件集合,分别由它们一起构成各类应用程序扩展包(package),用户随时都都能可以在自己的手机应用程序中对它进行扩展使用。举例来说,Java能够提供java.awt包,这一个接口部件的类,此处的awt包是一个缩写,其实质指代对象是抽象窗口管理工具集,其主要功能是用来对图形输入进行处理和实现,同时也涉及到抽象输出的处理和实现的一个窗口类(java.io包)和其他一些支持图形网络管理功能的窗口类(java.net包)。

2、java基本使用

windows下配置JDK环境变量:

1.安装文件jdk,在过程中可以根据需要进行自定义,比如本文所涉及的安装文件目录是某盘:/java/jdk1.5.0_08;

2.完成相应安装流程并显示成功后,点击“我的电脑”,继续寻找“属性”项点击;

3.选择“高级”,之后对其中的“环境变量”项继续点击;

4.在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”;

5.JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径某盘:/java/jdk1.5.0_08,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依*此变量);

Path使得系统可以在任何路径下识别java命令,设为:

%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin

CLASSPATH为java加载类(classorlib)路径,只有类在classpath中,java命令才能识别,设为:

.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar(要加.表示当前路径)

%JAVA_HOME%就是引用前面指定的JAVA_HOME;

6.“开始”->;“运行”,键入“cmd”;

7.键入命令“java-version”,“java”,“javac”几个命令,出现画面,说明环境变量配置成功;

java几个环境变量的基本含义以及linux下配置的方法:

在进行环境变量设置时,通常会涉及到三个不同变量的具体内容,主要有:JAVA_HOME、PATH和CLASSPATH。

JAVA_HOME:这一变量在部分java语言的开发软件或一些该语言类型的开发工具中都需要用到,同时该变量的最大值范围通常来说也就是java目录,另外在进行另外两个变量设置时,也可以利用该变量以便能够实现更为快捷和有效的设置。

PATH:可以指定一个自动路径文件列表,用来自动搜索并列出一个文件可以被自动执行的路径文件。执行新文件过程中,如果出现可执行文件无法被查找的情况,那么此时就需要利用PATH,其主要作用是实现对每个路径的查找,如果依然无法被查找,俺就会出现链路报错。Java的一些命令,诸如java、javac等,都会被存放到bin目录下。因此需要在PATH变量中进行相应的调用设置,换言之将该类的路径变量进入加入操作。

CLASSPATH:就是我们指定一个程序路径的子类列表,它通常是一个被我们用来通过搜索java在编译或者程序执行时所可能需要的和使用的得到的的子类。而且在包含classpath的文件列表中除了可以允许直接包括文件路径外,还可以允许囊括包含.jar等的文件。java在下次查找该类时将此.jar中的文件目录作为一个文件目录。通常,我们就可能需要将一个jdk在系统安装文件路径下的文件jre/lib/rt.jar(Linux:jre/lib/rt.jar)直接进行包含并放到了CLASSPATH中。

PATH和CLASSPATH都指的是为了用来指定其中一条特殊路径的一个列表,该路径列表在其中的每一个项(也或者就是说意即各条指定路径)之间都分别使用了一个分隔符号用来对其进行路径分隔。在Windows下,分隔符一般都是分号(;),而在Linux下,分隔符通常都是冒号(:)。

  2.2Jsp技术

1、Jsp技术简介:

Jsp是一类以高兼容和高效率而著称的浏览技术标准,最初推出是由Sun公司进行,与传统Java在多平台实现方面具有一致性,其网页浏览功能能够实现多系统和跨平台操作,对当前几大主流操作系统都能实现兼容和在线运行,包括windows和linux等。Jsp其具体实现路径是通过类XML和scriptlets来实现处理逻辑的封装,该处逻辑涉及到动态网页的生成,且该类型程序语言利用的是java,另外,在其他的资源应用逻辑中,其具体路径是通过tags访问实现。Jsp在网页开发领域具有显著优势,那就是能够实现网页开发程序模块间的隔离,也就是前台客户端能够与其他程序模块如管理网页的后台程序等,这就意味着用户使用的简便化和直观化,管理网页的操作和程序能够与后台客户端的管理和操作分开进行,提高了效率,也增强了管理专业性。

对JSP进行深度剖析和观察,对其中工作原理进行分析,每个web服务器在运行时,如果此时用户在当前网页上进行操作和处理访问而向每个客户请求发出的动态网页管理请求时,首先对于网页访问和处理所涉及到的程序段,能够实现自动请求,然后将相关访问结果反馈给用户,或者将其中得到的反馈数据回应给用户,JSP中的服务器java程序段,具有对客户请求实现功能,具体通过对动态数据库和对网站服务器的实时响应然后才有机会自动实现对客户动态访问网页的进行管理。自从JSP出现,就得到了极为强烈的市场反响和使用反馈,并且迅速推广,并被互联网巨头们普遍利用,从而具备了广泛的应用场景,作为一种服务器终端语言以其功能实现的及时性和便捷性受到广泛的追捧,当前很多互联网公司在进行终端服务器搭设时,都会利用到JSP对其进行兼容实现。

2、JSP内置对象:

JSP中预先定义对象,分别为:request、response、session、application、out、pagecontext、config、page、exception

(1)request对象

request这个对象类型指的也就是javax.servlet.httpServletRequest这个对象类型。该对象代表了一个网络请求服务器和网络客户端的所有网络请求数据信息,主要作用目标意义是用户接受一个网络请求服务器经由HTTP协议发送到网络客户端的请求数据。(其中信息应当明确包含系统头部数据信息,系统内部资料,请求执行方式和它所需要的系统参数。request在该对象的一个作用域可能是一次新的请求。

(2)response对象

response所代表的就是对于一个客户端反馈进行一次反馈,主要操作目的就是将JSP通过容器中已经进行处理好的反馈对象再次进行传回给其他客户端。response对象也同样需要具有一个作用域,它只需要能够在位于jsp的一个页面内有效。

(3)session对象

session对象结构就是由用户服务器进行自动操作创造开发出来的和根据用户操作要求密切交互相关的。服务器给每个密码用户都自动提供了一个名为session的密码对象,它被自动设置为可以保存该对象用户的每个密码登录信息,跟踪每个密码用户的正常运行密码状态。session语言中的每个对象内部通常采用一个MAP的类型文件来用于进行信息保存和数据分析,因此所有的需要用来保存分析数据的类型文件格式被人们称为”key/value”。session一个对象的类型value类型可以用来导致复杂的一个对象函数类型,而不再仅仅局限于其他带有字符串的对象类型。

(4)application对象

application这个对象可允许它们自己可以把这些基本信息直接把它保存下来到一个服务器中,直到这时服务器被自动关闭,否则它在application这个对象中所有直接保存的这些信息将来都会在整个新的应用程序过程系统中都认为是有效的。相较于其他对象系统,application具有更为显著和长效的系统生命周期,类似于该对象系统的”全局变量”。

(5)out对象

out对象被用于设计和构成可以用于在一个web应用浏览器内部同时输出一个输入信息,并且通常是用于管理在一个web应用服务器上的一个内部输出信息缓冲区。在用户需要通过out自动对象向某个缓冲区对象输出大量数据时,可以通过这个自动操作过程来对输出数据的某个缓冲区对象执行,并及时清除当中的一些残余数据,从而为其他对象数据留下一个属于缓冲区的空间。等到所有数据进出输入线路工作进行完毕后,需要及时自行停止或手动关闭数据输出线路电源。

(6)pageContext对象

pageContext对象的基本功能和主要作用就是我们可以快速取得一个任何不同类型或大小范围内的对象参数,通过其中我们就已经可以从一个JSP的网站上快速获取并得到out、request、reponse、session、application等多个对象。

(7)config对象

config对象的主要应用功能就是可以实现快速地实时取得各个伺服机构的系统配置基本信息。使用Pageconext获取对象的方法Getservletconfig()获取方法是用来自动获取一个含有config(的对象。例如,当一个容器servlet对象进行文本初始化时,容器就可能会将某些文本信息经过Config这个对象向它进行传递发送到这个对象servlet。开发人员甚至可以在web.xml文件中为其在应用程序运行环境下的所有servlet应用程序及JSP页面文件进行程序初始化。

(8)page对象

page的合法对象,也就是说它代表了一个JSP本身,只有在一个JSP的合法页面内才被明确认为本身是合法的。page所示的对象隐含接口对象实际上来说就是一个对象包含当前接口servlet并在接口中被对象引用的一个对象变量,这种使用方式与诸如java等编程语言中的this指针相似。

(9)exception对象

exception这个对象的主要功能性和作用主要目的是为了准确显示异常的基本信息,只有真正当一个包含了在iserrorpage=”true”的异常页面中才应该能够正常可以被用户看到,在一般化的JSP异常页面中如果不能正常使用这个异常对象的则即使也无法对其进行任何编译新的JSP异常文件。excepation的所有对象与java的所有其他对象一样,都必须同时具备为整个系统所用而需要的各种继承性和框架。exception的一个对象已经几乎可以确定了全部的异常。在一个java的程序中,可以通过分别使用try/catch两个不同关键词的转换方式使用来快速地自动处理这些发生异常情况;如果在一个JSP的指令页面中突发性错误地提示出现了一个没有任何通过捕获方法得到的异常,就系统可能会自动重新生成一个称为exception的错误对象,并把这个称为exception的错误对象发送到一个在page的指令中自动重新设定的一个发生错误对象页面中,然后再从这个发生错误的对象页面中自动重新处理一个对象相应的称为exception错误对象。

  2.3MySQL技术

1、MySQL技术简介:

MySQL是一个基于MySQL的关系式大型数据库资源管理的软件系统,由一家瑞典MySQL公司专门自主开发研制,为瑞典oracle两家企业所有。MySQL已经被广泛认为已经是最佳的广受企业欢迎和广泛用户使用的各种关系式企业数据库系统之一。另外在web应用中,该数据库系统也具有广阔发挥空间。

MySQL其基本实现原理是基于关系式数据库管理,在这种模式中,数据会保存在基于不同核心和特性而分成的不同列表中,而非把数据放在一个并不具有高识别和高分辨的仓库中,这种方式为数据库增加了快捷性和效率,也提高了数据的灵活性。

目前使用的MySQL语言其实就是目前最常见的一种用来处理访问库和数据库相关信息的一种标准化编程语言。MySQL在开发该软件上全部采用了双软件许可和一授权的开放政策,分为企业社交主站网络企业版和商务网络版,其基本优势和特点是体积轻巧及运行效率较为令人满意,且开发成本维持在一个较低的水平,其中还具有显著的开源优势,以上显著优势让其成为中小型互联网企业进行网站搭建和网络开发中进行数据库选择时首选。

2、MySQL基本配置:

基本配置:

datadir:可以用来指定存放mysql的整个数据库在目录中的位置,用来指示存放mysql的整个数据库的源文件、日志以及档案等。

配置示例:datadir=D:/wamp/mysqldata/Data

default-character-set:mysql服务器默认字符集设置。

配置示例:default-character-set=utf8

skip-grant-tables:当我们发现自己忘记了mysql的用户名和密码时,可以直接在mysql的配置文件中重新配置这个参数,跳过对权限列表进行验证,不再需要输入密码就可以直接登录到mysql。

日志相关:

log-error:一个指定有错误的日志文件名称,用来记录服务器在mysql启动和停止时,以及当一个服务器运行的过程中可能发生任何严重或者错误时。

配置示例:log-error=”WJT-PC.err”(默认在mysql数据目录下)

log-bin:一个指定为二进制的日志文件名字,用来记录给数据构造的所有变化可以修改的查询语句。

配置示例:log-bin=”WJT-PC-bin.log”(默认在mysql数据目录下)

binlog-do-db:如果指定将一个没有更新的进制的记录日志放入缓存到一个含有二进制更新日志的记录数据库,其他所有未经显式忽略指定的日志数据库中其更新记录都会被全部显式忽略,不再将它们中的记录放入到这个进制日志中。

配置示例:binlog-do-db=db_name

binlog-ignore-db:用户指定一个不将自己的更新日志记录为一个二进制日志的数据库,其他一些没有明确或者是被明显地忽略的数据库都会对这个日志进行记录。

配置示例:binlog-ignore-db=db_name如果想记录或忽略多个数据库,可以对上面两个选项分别使用多次。

sync-binlog:在指定多少次书写日志后自动同步一个磁盘。

配置示例:sync-binlog=N

general-log:是否开启查询日志记录。

配置示例:general-log=1

general_log_file:可以指定一个用于查询记录日志的两个文件名,用来分别记录所有一个查询日志语句。

配置示例:general_log_file=”WJT-PC.log”(默认在mysql数据目录下)

slow-query-log:是否开启慢查询日志记录。

配置示例:slow-query-log=1

slow_query_log_file:指定慢查询日志文件名称,用于记录消耗时间较长的查询语句。

配置示例:slow_query_log_file=”WJT-PC-slow.log”(默认在mysql数据目录下)

long_query_time:设置缓慢查询的时间,超过这个查询时间的话只有通过查询语句来记录当前的日志。

配置示例:long_query_time=10(单位:秒)

log-slow-admin-statements:否将缓慢的数据管理日志语句(也比如说OPTIMIZETABLE、ANALYZETABLE和ALTERTABLE)写入慢查询日志

存储引擎相关:

default-table-type:设置mysql的默认存储引擎。

innodb_data_home_dir:InnoDB引擎的共享表空间数据文件根目录。若没有对它进行任何设置,则我们可以通过使用mysql的datadir设置目录示例来将它作为一个可以缺省的设置目录。

innodb_data_file_path:单独指定共享表空间数据文件的路径与大小。数据文件的完整路径由innodb_data_home_dir与这里配置的值组合起来,文件大小以MB单位指定。

配置示例:innodb_data_home_dir=innodb_data_file_path=ibdata1:12M;/data/mysql/mysql3306/data1/ibdata2:12M:autoextend

针对innodb空间文件进行对应的数据类型指定,同时还需要进行数据文件的非目录指定,就需要先进行函数指定,此处函数是innodb_data_home_dir=。在当前应用样本中,通过在datadir下直接建立一个ibdata1,在/data/mysql/mysql3306/data1/或在目录下直接进行文件创建建立ibdata2。

innodb_file_per_table:它表示是否允许可以直接开启一个独立的格式表设计空间,若有人愿意开启,innodb将可能会通过一个独立的.idb的文件格式来自动创建一个新的独立的表而不是在共享表的空间中创建。

配置示例:innodb_file_per_table=1

innodb_autoinc_lock_mode:配置为在向一张带有auto_increment列的文件中插入相关锁的数据时,相关锁行为。该参数有3个取值:

0:tradition传统,所有insert语句在它们开始的阶段就会得到一个代码表级别为auto_inc的锁,在语句终了的阶段时候它们才能够被释放出来,影响并发语言插入。

1:consecutive连续,mysql我们可以一次不断地连续生成几个连续的语句auto_inc的连续值,auto_inc不必再连续需要一直连续维护到每一个编程语句连续完成,只要在每一个编程语言中连续得到了一个语句相应的连续值后就已经开始可以连续进行一次提前和最后释放闭锁(这种操作方法也是mysql的一个基本默认闭锁模式)。

2:interleaved如果交错,这个操作模式下自己就已经不再需要使用一个auto_inc锁,因此它的性能确实应该是最佳的,但对于相同的两个语句而言,它所需要获得的一个auto_inc锁的值很少是有可能而且并非不是连续的。

配置示例:innodb_autoinc_lock_mode=1

low_priority_updates:在myisam引擎系统进行自动锁存的实际使用中,默认的这种情况下用户写入一个锁存请求将会优先于用户读出一个锁存请求,可以通过考虑我们通过将该引擎参数设置的值为1来用以保证例如myisam这个引擎系统能够自动给予用户读出一个锁存请求的一定优先级和权限,所有的例如insert、update、delete和/或locktablewrite这的语句可能会自动让所有人需要等待一个时间直至被事件影响的指令表不能同时挂起例如select或locktableread。

配置示例:low_priority_updates=0(默认配置)

max_write_lock_count:当一个基于myisam表的所有写阅读请求在其锁定优先值已经完全达到这个单表数据库的锁定值后,mysql就临时将所有写阅读请求的锁定优先级全部减少,给了一些部分所有人可以用来重复阅读的写请求而不是获得一个锁定的大好机会。

innodb_lock_wait_timeout:InnoDB锁等待超时参数,若事务在该时间内没有获得需要的锁,则发生回滚。

配置示例:innodb_lock_wait_timeout=50(默认50秒)

max_heap_table_size:通过设置memory表的最大空间尺寸,这个变量就可以被广泛应用于计算memory表的max_rows值。在一个已经有memory的表上进行设置这个参数时,会没有任何效果,除非再次重建。

查询相关:

max_sort_length:配置对blob或text两种类型的列表进行排序时所需要使用的字节次数(仅对配置的前max_sort_length个别的字节次数进行了排序,其他的被省略)。

max_length_for_sort:mysql有两种传统的排序方式,两次数据传输排序和一次数据传输排序。例如,当一个查询请求需要所有数据列的总长度不可能超过max_length_for_sort时,mysql会采取单次传输排序,否则将采取两次传输排序。

optimizer_search_depth:在一个新的关联表格查询中,当一个优化器所选的需要进行关联的每个表格顺序数量已经大于或几乎超过了一个optimizer_search_depth的整数情况下,优化器就可能会通过一种使用”贪婪”进行搜索的一种计算机排序方式算法来准确地排序查找”最优”的每个关联表格顺序。

  2.4项目环境的搭建

1、MySQL的安装与配置:

在浏览器地址栏中输入:https://dev.mysql.com/downloads/mysql/,选择microsoftwindows和64位的安装包,点击“download。oracle为了积累用户,会跳转到用户注册、登录页面,点击页面下端的“Nothanks,juststartmydownload.”进行下载可免注册;

下载完毕后点击安装如下图所示:

基于JAVA的机场航班起降与协调管理系统

安装完毕后将mysql端口设置为3306默认端口,账号密码设置为默认账号密码root,root

2、Jdk的安装与配置:

想要顺利进行基于Java的开发,就需要先进行JDK安装。

JDK是个大型的工具集合包,其中涉及到编译器及其他不同类型和功能的打包工具。通常来说,可以对现在运用的Java源代码等诸多内容进行编译,也可能用于java其他应用程序而重新设计和广泛使用所需且必须的,具体来说包括代码jvm、编译器等诸多工具和内容。不论Java应用服务器是在什么类型平台上运行,都绝对应该指的是已经内置了最新版的JDK,因此对于JDK的有效运用通常是Java前期学习内容重心。

JDK部分工具介绍:

java编译器:javac.exe

java解释器:java.exe

java文档生成器:javadoc.exe

java调试器:jdb.exe

前文所提及的Java版本,大多数时候指的就是JDK版本。

当前主流市场上应用的JDK都是来自于其初创者Sun公司所开发和推出,但除了Sun公司,还有一些商业公司看到JDK广泛应用场景及市场前景也开始进行JDK开发,另外一些民间组织也在进行该方面的开拓工作。如IBM公司自己研制的各种JDK、BEA公司自己开发的各种Jrocket,以及由gnu公司等等。其中IBM的JDK开发工作尤为值得关注,其包含的整个JVM功能可能要显著高于其JDK初创者Sun公司的,而专门针对windowsx86而进行开发和设计的Jrocket,在平台伺服机上和终端上的软件运行系统效率也极有可能会比SunJDK好很多,但不论怎么样的来说,SunJDK依然具有毋庸置疑的地位和优势,因此需要进行优先掌握。

JDK的下载

初次接触Java,需要对JDK不同版本进行选择,通常从J2SE着手进行,其下载提地址是:

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

进入网页,会看到如下网页显示:

基于JAVA的机场航班起降与协调管理系统

在下载JDK过程中,有一个默认的使用规则和条款,需要进行对应选择操作后才能够实现下载,具体来说就是将要适用的操作系统,选择完成后对右上角的下载按钮进行点击。

之后还需要对环境变量进行对应的选择操作,网页会进入具体的配置选择窗口,其中就有多方面变量选择,在“用户变量”这一选项上,进行需要的属性设置,分别是JAVA_HOME、PATH、CLASSPATH,此处输入并不涉及到对大小写的要求,若其中已经有相同属性设置,那么就进入“编辑”,如果没有,那就进入“新建”:

JAVA_HOME:在对该变量进行路径设置时,通常将至列入JDK的初始路径(示例例如:jd:\programfiles\jdk1.7.0_71),这个初始路径通常包含许多功能文件夹,涉及到lib或bin等,在实际开发时,对于该类型变量的设置方式,通常来说不建议手动进行,因为部分操作系统运行时可能不会需要用到该类型变量如linux系统。

Path:该变量的具体功能是让Java命令具备多系统多路径可识别性,具体设置内容为%JAVA_HOME%\bin。

CLASSPATH:该变量的具体功能是对java中控制加载类进行实现,换言之,该变量环境,对于加载类功能实现是一种基础和前提,具体设置内容是.;%java_home%\lib,在进行设置时尤其要留意前面的点阵符号,不要漏设。

进入CMD窗口,输入“java-version”或者“javac”命令,此时页面会自动出现说明信息,意味着安装已经实现,且配置完整没有错误。

  第三章系统需求分析及总体设计

  3.1需求分析

一般来说,需求分析指的是对研究所涉及的具体对象和问题展开全面而细致的分析,并对其中功能和问题的解决和实现进行要求设想,主要涉及的是输入数据,并想要实现的成效。在进行实际系统开发前,都需要进行相应的配套需求分析,主要目的是对此次开发的软件进行功能设想,也就是软件具体的应用作用和效果是什么,并且对这些功能具体要达到什么程度和效果进行初步描述。

因此,软件需求分析是软件开发的前置步骤,其具体目标是是系统应用范围进行明确划定,对系统定义和功能进行明确描述,与此同时也对系统性能提出清晰的标准和要求。要让这个系统来完成什么事项和目标,综合来说就是对系统的工作和功能进行完整性分析和描述,这就是通常意义上的需求分析。这是软件开发中值得重点关注的步骤和环节,决定了软件设计方案是否能够切实满足客户诉求,对功能的需求是否得到充分实现和满足,从而让用户真正满意。

本文所涉及的航班的起降和运输协调管理体系开发中,主要的用户人群包括了地面指挥工作人员,同时也包括了飞行机长。具体的功能实现来说,地面员工需要借助该管理系统实现对航班信息的管理,同时还需要进行航班指令或请求的接发,并能够同步航班信息并对相应动态进行实时掌握。

图3-1地面指挥人员端用例图

基于JAVA的机场航班起降与协调管理系统

而该系统中涉及到机长的部分,会有专用终端,其中可以对飞行员信息进行查看操作,同时还能实现塔台命令的实时接收,对航班当前飞行状态等相关情况实现实时反馈和更新等多种不同功能。

图3-2机长端用例图

基于JAVA的机场航班起降与协调管理系统

在进行需求分析时,首要步骤就是对开发软件功能进行详细规划,对系统系统性能展开详实而丰富的优劣比对。通过对当前软件开发领域的观察,发现诸多开发者完全忽略或不太重视需求分析,但这一情况已有所改变,伴随着开发技巧和技术的流程化和专业化,需求分析重要性日益凸显并摆上前台。进行需求分析时,必须切实把握客户真正的诉求,那么最终开发出来的成果也就难以与客户预期达成一致,换言之,难以符合客户期望,可能会需要对软件进行修改或重做,这无疑是一件浪费资源的事,因此需求分析就必须要做到细处和实处。本文所涉及的系统开发,对需求进行了两方面的对象设计,一面是地面指挥人员,一面是飞行机长,在功能设计和性能规范方面也主要基于两个需求对象进行分析和讨论。

  3.2地面指挥端需求分析

地面指挥人员的日常工作主要以安排航班信息,设置航班的起飞和降落时间。由于日常的飞机数目较多,需要指挥人员不停的工作去安排航班信息,且需要有人来对安排的航班信息进行检查,以防止由于人为失误造成的经济和财产损失。所以我们需求的重点应当放在如何快速的管理和安排航班信息,且怎么样准确的校验航班信息安排的合理性。这两个方面就是地面指挥人员日常工作当中的痛点,也是我们系统价值的体现。需要我们重点去研究的地方,后续的整体设计和解决方案都将以上述两点为重点进行展开和探讨。

地面指挥端需求描述:用户可以通过软件端实现对航班信息的实时跟踪和浏览,换言之能够对飞行航班进行实时掌握和相应搜索。用户可以实现对航班等相关数据的管理操作,具体涉及到修改或删除等,同时也可以实现航班数据的添加操作。用户可以实现对航班航班指令或请求的接发,并能够同步航班信息并对相应动态进行实时掌握。

需求内容整理列表:

1.登录

2.浏览航班信息

3.搜索航班信息

4.操作航班信息

修改航班信息

增加航班信息

删除航班信息

5.发送航班指令

6.接收航班请求

7.修改航班指令

8.获取航班状态

  3.3机长端需求分析

机长的日常工作当中主要需要对自己今日以及未来的航班信息进行查询操作,同时需要接收地面指挥人员的相关指令从而对飞机进行相对应的日常操作。面对以上的两个工作重点,我们由此得知机长每天都需要自己的航班信息列表,且要记住自己的航班信息。同时要接收地面指挥人员的相关飞行指令,这期间存在着信息延迟和信息不稳定的异常情况,因此一趟航班一般由两名或者是两名以上的飞行人员进行相互监督和检查的工作。

对于上述需求中的人员浪费和消息传递的不确定性我们需求的重点应当是如何快速且方面的让机长等人查询到自己的航班相关信息,且需要实时准确的推送地面指挥员的飞行指令信息。只要能够完成上述两个需求的重点,我们就能够为机长人员提供赋能操作。

机长端需求描述:用户可以对飞行员信息进行查看操作,同时还能实现塔台命令的实时接收,对航班当前飞行状态等相关情况实现实时反馈和更新等多种不同功能。

需求内容整理列表:

1.登录

2.查看航班信息

3.接收塔台指令

4.发送航班请求

5.修改航班请求

6.更新航班状态

  3.4系统总体设计与描述

图3-3功能模块图

基于JAVA的机场航班起降与协调管理系统

系统总体设计描述:

系统主要采用soa的架构思想,将航班信息管理和指挥信息管理分开部署,以减少两者之间的耦合关系。同时在数据库读写方面采用目前市面上比较主流的读写分离的设计方案。用以解决在大量请求情况下数据库的读写压力过大,从而可能会成为系统的访问瓶颈的问题。

  第四章数据库设计

  4.1数据库的分析与设计

对于系统而言,数据库设计至关重要,是信息管理的基石所在,数据库方案的有效性和简洁性,关乎到系统开发进度和最终检测结果,并对实际应用后的维护流程产生重要成本效应。对于数据库分析目前主要三个角度,一个是概念化结构分析,一个是逻辑化结构分析,同时还有一个较为简单的物理化结构分析。由于在前文中关于用户需求分析是已经涉及到该方面的内容,并且还描绘了概念化结构分析图,也就是通常所说的数据库ER图,因此就不再就这一点继续进行重复阐述,而是将重点放在后两者,也就是对数据库逻辑结构进行详细论述和分析,同时对数据库仪表结构进行详细论述和分析,这两者中的后者就是前面所提及的物理结构分析。

数据库ER图:

基于JAVA的机场航班起降与协调管理系统

  4.2数据库逻辑结构设计

通常来说,对数据库进行逻辑结构设计,其具体路径是在前面所涉及到的概念结构设计,其中的第一环节已经被我们设计良好的各种e-r-s图转换成与我们所需要选择的各种DBMS图在产品中所支持的数据模型一致的一种逻辑性数据结构。当我们需要对数据库进行类型结构设计时,需要对它们之间的物理逻辑进行充分掌握,对其中的基本结构做到充分考虑,如此才能让数据库最终架构呈现出可用性和完整性,并且还能有效保证数据库的有效性和安全性,需要对其中表项组成进行明确的定义,并且对数据库类型进行清晰界定,对其中涉及到的取值范围也需要进行相应的明确区分。

在我们之前自己设计的机场航班起降与协调管理系统e-r图中,由我们的数据库逻辑结构设计完成的关系数据模型展开分析和观察,得到如下关系设置,其中虚线下划线代表着外键,同时实现下划线则意味着逐渐。具体如下:

机长(机长编号,姓名,密码);

……

航班编号,发布时间,指挥员编号,机长编号)。

  4.3数据库表设计与结构图

基于前面所述的对指挥端及机长端分别进行的功能诉求分析,首先需要搭建一个注册流程才能正式进入系统,为了实现这一功能,需要配备一个具体的指挥人员代码:t_user;机长列表:t_polit;还需要使用的航班资料表:t_grade;在与航班进行信息交互时,还会出现相应的请求和指令表,也就是:t_standard,具体说明如下:

1.指挥人员表:该表也就是t_user主要项目包括了一个主键,也就是指挥人员编号userID、指挥人员的真实姓名userName、指挥人员密码userPassword。

表4-1指挥员表

基于JAVA的机场航班起降与协调管理系统

表4-2机长表

基于JAVA的机场航班起降与协调管理系统

航班指挥信息表:t_standard主要包括两个代码;编号称为staid(外部主键);指令、请求代码编号称为staNo;指令、请求的指令名称称为staName;的终端指令、请求和被送入的终端称为sex;指令、请求的送入内容称为staDesc;整个航班系统代码称为gradeId(外部主键);指令、请求在航班系统中每次发出的截止时间称为staDate。

3.

表4-4航班指挥信息表

基于JAVA的机场航班起降与协调管理系统

基于JAVA的机场航班起降与协调管理系统

  第五章系统的实现

  5.1登录功能的实现

5.1.1指挥员登陆

打开软件,进入地面指挥登录界面,如图5-1所示:

图5-1地面指挥登录界面

基于JAVA的机场航班起降与协调管理系统

地面指挥人员在登录页在用户名和密码处分别填写自己的用户名和密码,然后点击按钮之后即可开始登录操作。如果填写错误,则系统会出现相应提示,随后填写正确后将直接进入当地指挥员登录网站首页,就可以进行相对应的操作。

5.1.2机长登录

打开软件,出现一个机长登录的操作界面,如图5-2所示:

图5-2机长登录界面

基于JAVA的机场航班起降与协调管理系统

机长的登录页面大致如上图5-1所示,机长可以在修改页面的每个用户名和密码处分别填写他自己的注册用户名和密码,然后点击登录按钮后进行登录操作。如果您的用户名或者密码填写有误,后台将会出现一个信息表中的用户名或者密码不正确。

填写正确后将进入机长登录首页,就可以进行相对应的操作。

  5.2主界面的实现

5.2.1地面指挥端主界面的实现

5.2.1地面指挥端主界面的实现

首先是要完成登录操作,当登录实现后会进入重点主界面,该界面主要内容包括一个主功能菜单,当对该菜单进行点击会展现一个分页树,其中涉及到两个分列项,该主界面的具体实现路径是经由对jquery-easyui的利用。在页面右上角可以直观查看登陆者的用户名及当前系统时间,而界面左侧功能栏也可以在有需要时实现隐藏或显示这两个操作。对分页数项进行对应点击,系统会弹出窗口,完成相关操作后可以选择关闭操作。该界面具体详情见图5-3:

图5-3地面指挥系统主界面

基于JAVA的机场航班起降与协调管理系统

5.2.2机长端主界面的实现

首先完成登录操作,当登录成功会跳转进入机长端主界面,主页面是由jsp以及jquery绘制而成。主要包含了航班信息的查询和智慧信息管理两个大模块的内容,默认进入的首页有欢迎使用的几个字,右上角显示登录用户的基本信息和当前系统的时间。如图6-4所示:

图6-4机长系统客户端主界面

基于JAVA的机场航班起降与协调管理系统

  5.3地面指挥管理功能的实现

5.3.1地面指挥端航班信息管理功能的实现

点击该终端页面的航班信息按钮,将直接进入导航员信息管理操作界面,该界面中可以对航班信息进行新增,修改,删除和搜索的相关功能操作。点击新增,页面会跳出弹框,进行航班信息录入,完成后进行保存并推出,新增航班信息操作即可实现。点击修改的按钮之后将会弹出一个修改的界面,可以对原来的航班信息做一个修改的操作,在修改完成后点击一个保存的按钮,这样就可以有效地保存原来航班的信息。地面人员还可以在搜索窗口进行航班信息搜索,输入所需要搜索的航班名称即可实现。如图5-5航班信息的管理所示:

图5-5航班信息管理

基于JAVA的机场航班起降与协调管理系统

服务器端主要是根据用户需求需要来运行读取各种变量数据的行和整个网页,这里的运行服务器端还是需要运用运行doget和运用dopost的操作方法。

数据处理操作包括添加、删除等功能和修正等,如下图所示:

基于JAVA的机场航班起降与协调管理系统

基于JAVA的机场航班起降与协调管理系统

5.3.2地面指挥端航班指挥信息管理功能的实现

从我们网站的一个主模板页面直接点击就可以对应的航班指挥信息即可实现分页,进而对其中信息进行管理即可。具体详情见图5-9:

图5-9航班指挥信息管理

基于JAVA的机场航班起降与协调管理系统

航班指挥管理页上的主要内容涉及到对航班信息的各种管理功能,包括修改,删除和查询功能。点击航班信息新增后弹出新增页面,按照实际的航班信息录入相对应的内容后点击保存按钮,即可完成一条航班指令的录入。点击修改系统就会出现弹窗,根据提示进行相应的信息输入,完成后点击退出即可,主页面中提供了指令的搜索框,输入想要搜索的内容后点击查询按钮,可以查询出指定条件的志林信息。如图:

基于JAVA的机场航班起降与协调管理系统

基于JAVA的机场航班起降与协调管理系统

在进行航班信息指令的相关操作时如进行显示等,都需要进行数据库访问,亦或是根据实际操作功能的不同将修改文件进行写入等,本文主要以阅读指令信息为例。

  5.4机长端功能的实现

机长端航班信息显示的实现:

登录后跳转页面,主要是航班信息的查询功能和指挥信息的相关查询功能,右上角为当前登录者的相关用户信息和当前登录时间等。点击航班信息查询可以查询出该机场的所有的航班细心你,用以机长了解当天的航班信息内容。点击指挥信息查询管理按钮后可以查询出航班的指令信息,机长以此信息可以做出相对应的飞行操作。如图5-13所示:

图5-13航班信息查询

基于JAVA的机场航班起降与协调管理系统

机长有权限对航班目前的状态进行修改,操作示例,当飞机将要起飞,机长会对系统中的航班状态进行适时修改,也就是当前航班状态变更为起飞模式,确定修改内容正确后点击保存退出,即可实现前述状态修改,如图5-14所示:

图5-14更新航班状态

基于JAVA的机场航班起降与协调管理系统

  第六章系统的测试与维护

  6.1测试描述

在进行软件开发的过程中,虽然我们采用了很多的数据分析,设计和研究如何实现自己应用软件的手段和方法以及如何提高应用软件的性能和质量,但是由于面对复杂的实践和问题,人的主观意识与其他客观事物和现实之间往往还是存在着有一定的区别和差距的,并且在软件开发的过程中,由于每一类人员并不都是完美无缺的,各个年龄阶段的科学技术复审也是不太有可能被检查出所设计上的错误,再者由于编码阶段也可能会导致引入一些新的错误,这就导致了开发该阶段很有可能会遇到很多的问题和漏洞。软件的测试工作是一项十分重要的任务,在一个软件正式进行到生产和运营之间,尽可能多的去发现一些软件存在的错误,以便及时进行纠正,避免因为一个软件正式进行到运营之后才暴露错误从而给我们带来无法挽回或者弥补的经济损失。进行软件检验是确保软件质量的关键性环节。

统计结果表明,软件测试的时间和工作量预计将达到整体的软件寿命周期总数中的40%以上,研发费用的50%都用以软件测试上面。因此我们应当定制良好的测试计划,并且彻底的进行测试。

  6.2测试方法

接口测试

所谓接口网络测试,其主要实现目标和功能是用来对系统组件间的接口进行功能实现的一种检测手段和方法。

接口测试的好处:

在实际测试中,对接口测试器进行观察,会发现其基础源代码可能具有一致性,也就是说junit是同一的(当然接口代码类型并不具有一致性,并且没有一定的需要通过junit代码来实现进行接口实现)的编码方式编写来实现进行接口测试),在技术技术实现路径上可以是来自于工业自动化技术,基于此,也就具有了传统工业测试技术的一些基本特征,涉及到一些功能实现和固有技术等方面。

1)提高测试质量

在实际软件开发中,并非是一蹴而就的,而是一个长期且持续性过程,并且其中还可能需要集成多种可能才能进行实现,并且在其中还有一个不断优化和完善的需要,在每次系统优化和完善中,都会对程序语言进行更改进而引入或出现一些新bug,因此一旦出现系统修改的情况,不管是部分还是整体,都需要在实际应用前展开新一轮测试流程。测试主要目标是一方面验证软件是否能够正常且顺利运行,另一方面也是验证修改后的程序是否与开发者预期目标一致或符合用户修改的具体需求。而且还可能出现测试源代码并没有进行自动化预设,导致回归不充分,进而让软件系统在其中出现了bug丢失这一情况,甚而还会导致bug遗漏等测试失误或不完全现象。

2)提高测试效率

由于市场对测试需求越来越多,因此软件测试系统也日益庞杂,开发规模也日益庞大,针对各种应用场景和系统需求而设置的测试特点和功能也越发齐全。在各种测试手段和方式中,如果由开发者在开发之后还需要进行自测,或由专门的软件测试员进行一对一的人工调试和测验,太过费时费力且检测效率也非常低下,面对此种情况,自动化测试就应运而生了,能够科学而合理的解决繁琐而冗长的测试工作,解放了大量人力。只要具有外部软件接口能够保持一致性和基础性的功能实现这一条件,那么进行通用型的测试软件编写,就可以实现多数场景下的一劳永逸式自动检测。

3)提高测试覆盖

在传统的手工测试中,具有很大视野局限,也就是说对一些深层次系统异常难以进行有效分辨和识别,同时对一些整体性安全问题也难以明确判断和辨别,而借助一些辅助测试工具,可以对深层次异常进行有效识别,具体路径是对代码覆盖率进行精准的判断和分析,并且能够精确到每个代码,从而大为增加了测试精度和深度。

4)更好地重现软件缺陷

在实际开发者能够,每次执行操作利用到的代码都是不变的,这也意味着代码需要完全的准确率,否则就必然出现回归不充分或错误。

5)更好定位错误

同时该种测试方法还具有更好的定位性。这是因为该种测试其实质是一种过程类测试,且具体方式是由下而上的,这种途径也就意味着检测中如果出现接口出错,就能极快实现错误反馈并得到具体定位分析,进而对是否出错开展针对性的bug判断。而一般的通信系统测试,如果在测试中发现出错,往往并不能确定具体层次而是需要展开多层测试,才能实现对bug位置的识别判断和精准定位。

6)该种测试方法可以实现接口编码测试过程与开发者的编写过程同时进行操作甚而交互进行,以上前提让发现用户存在的编码问题时其可能性就会比我们传统的接口测试方式要早修复很多,降低了开发者识别和修改bug这一过程所需要付出的人力和其他成本耗费。

7)该种测试方法还能促进测试开发者与编程开发者间的互相了解,他们为了能够更好完成工作,就必须对彼此间的工作内容和开发工具进行必要的了解甚而能够进行一定的应用,从而促进两个领域的交流,对行业整体发展有推动效用。

8)该种测试方法也能在一定程度上保障了测试项目能够按时按质的进行发布。这是因为系统接口源相关的测试项目早就已经有人着手开发和实现,这也就意味着针对当前软件进行的系统性接口测试之前,对其中需要进行测试的几个核心项目原和代码模块已经具备和实现了完全的接口测试,因此在当前软件的测试中就可以极大缩短测试时间进而推进整个测试进度,由此测试项目也就能够按照计划和摄像进行按时按量发布。

9)该种测试方法也能增强被测试者技能水平。通常来说接口测试都需要对当前被测试软件和系统所涉及到的基本开发流程,同时也需要对测试开发技巧进行基础性或更深入的掌握,换言之,对测试工具要进行全盘而深入的了解,不光是对其中所涉及到的应用方式,同时也包括其中涉及到的测试理念,如此一来,对测试开发者的行业知识储备和自身认知理念要求就更高,技术附加值提升也会十分显著,从而让市场竞争力也跃上新台阶。

10)促使项目开发过程的规范化

在实际测试项目中,如果想要实现更好更完整的接口测试效果,那么就需要对测试文件展开较为细致而完善的保护,这是因为没有测试文件,也就无从谈起也无法正确进行接口测试,这就要求项目开发流程和领域进行基于合理规则的规范化生产,反过来这种模式的生产也将确保接口测试的高效率和高质量。

逆向测试:

通常来说,对于逆向测试有多种不同的别称,如反向测试等,具体来说就是对系统正常化运行所展开的一类型检测方法,不过具有特殊性,是一种反向测试。

负面测试与正面测试的比较:

一般而言,负面测试也就是前文所提及的逆向测试,是与其他正向检测,详细地说就是正面质量测试,前者所指的,正是后者所无法相比的。它们同时也看作是在产品进行质量测试和完成设计制造过程中十分重要的两个关键部件一并进行严格划分。简单地来说,正面性的系统测试通常是仅仅指通过系统检查一个操作系统在正常运行整个过程中本身是否已经安全完成了其所可能需要的某些任务;而负面的系统测试通常是仅仅指在某些特殊情况下,对系统运行过程中是否存在不当执行情况进行检测,所谓不当执行,有两方面内容,一个是应当完成而不进行有效完成,或不当完成却进行了有效执行。用比喻来说,正面测试通常来说可以把被测类比为一个普通学生,老师常常会说你让我自己动手去教你做什么,学生按照老师的要求去教了;与此同时,负面测试也可以将被测类别为一个调皮学生,你让怎么做,我不但不照着办还反向操作和你对着干。而且一个开发者也应该是最多人喜欢自己修改这种类的bug的。

非功能性测试:

该类型测试,其具体含义指的是一类与产品功能并存在直接或密切关联的需求,针对该种需求所进行的一种性能测试,也可以称之为可用性需求测试等。

为什么非功能性需求很重要?

在开发过程中进行功能方案设计及需求解决计划时,其中最为关键的部分自然是针对各种功能化需求进行逐一的实现和满足,但在各过程中,如果不重视非功能性需求并也进行相应的实现和满足,那么前者的功能方案也常常难以取得预期效果。

非功能自动化的系统需求基本特征:

1.通常来说,对系统可靠性和稳定性要求非常高;2.要具有多应用场景和多操作环境的适用性;3.一般来说,需要系统具有有效性和可用性;4.系统信息的实时有效性;5.必须具有良好的系统可维修性;6.具有可移植的基础作用。

集成测试

所谓集成测试,是一种较为宽泛的测试活动指代,指的是对系统各组件间展开功能和运行联合测试,对它们的协调性进行检测,对是否能够同时有效工作进行确定性和稳定性检测,这些组件涉及到代码模块和部分、独立应用程序模块和部分、客户端模块和部分或者或者伺服机器人端程序。此类型的检验在客户服务器测试需求中有着显著用武之地,同时对分布式系统也能够展开有效测试。通常情况下,整体性测试在整个测试流程中位于前列,也就是说单元测试排在后面。

集成测试本质上来说是也属于单元测试序列,只是基于此而进行的一种拓扑扩展。其具体实现路径中最简单的模式是,对两个已经完成前期测试并已经符合标准的单位基于功能或其他因素将之列入同一单元,对两者间的连接展开相应的测试。从前述可以看出,所谓组件聚合,就是指的是这种类型的单元组合或集合。在现场检测流程中,对这些单位进行聚合再聚合,最终形成程序中的较大部分或较大组件。集成测试是一种累进和递增的模式,对程序各个片段进行测试,并最终通过片段聚合再集合测试一路延伸到模块测试或模块间测试,其最终测试对象将会变成系统模块的整体性测试。另外如果程序是由多进程构成,此种类型程序不必要对进程展开同时检测,而是对进程进行有需要的一对测试。

集成测试具体来说指的是对组合单位的功能实现和运行效果进行判断和检测。在进行组合单位测试前,需要对其中涉及到的单元进行功能和要求设计,并对单元存活性进行相关能力进行对应的测试计划,那么在集成测试时如果发现组合单元的错误进行快速识别和归类,并与组合内部单元间的接口相关。该方法把可能会发生的事件数量降低到较为简易的分析层次。

  6.3测试目的

1.确定该系统中的各数据信息和该测试的各个部件。

2.确定该系统能够很好的处理以下的几点功能:

地面指挥员端:

1.指挥员登录

2.航班信息的浏览

3.航班信息的操作

航班的删除

航班的添加

航班信息的修改

航班信息的搜索

4.指挥信息的操作

指挥信息的查询

指令的发布

指令的修改

指令的删除

机长端:

1.机长登录

2.航班信息的查询

3.航班指挥信息的操作

航班指挥信息查询

航班请求的发布

航班请求的删除

航班请求的修改

  6.4测试结果分析

本次测试非常成功,在所有功能实现项目中,涉及到按钮测试项目、输入框测试项目、其他功能组测试项目等,都顺利完成相关测试任务并达成预期功能设想,测试结果显示,以前这些功能项目都具备一定完整性,基础开发框架和功能设计都已经实现了系统开发最初预设的目标,通过单元类功能项目测试、集成类功能测试、系统类整体构架测试以及最后的一体化验收测试,都较为圆满完成,并达到测试标准,当软件已经完成后,可以进行验收。

  结语

通过此次较为完整的研究生机场管理系统设计与开发,我彻底地摆脱了简单的理论性学习状态,和实际设计相有机地结合的锻炼了我在现实中的综合应用能力,解决了现实生活中的一些实际困惑。同时也大大提高了我在网上查阅的相关资料和文献,规范化的设计以及软件设计等各个方面的专业技术能力水平,而且通过我进行整体的设计和掌握工作,都使我的专业技术能力有很大的锻炼,丰富了我的学习和工作的经验。这是我们都期待看到的也正是我们开始毕业设计的最终目标所在。

提高是有限的但是提高也是全面的,正式这次的设计让我学习到了很多课本上面没有的知识和能力,使得我们个人能力得到了不小的提升,更强的沟通和理解能力。

通过此次研究生毕业设计学习,我不仅将自己过去的一些实践和课本上所学习到的知识更好地加以运用,同时也为自己查找了许多的书籍和课外材料,开拓了我的视野,认识到了互联网+为传统行业所带来的改变和赋能。如此我们所学所思才能与实操结合,借此个人能力获得质的飞跃。

毕业设计也是过往数年学习生涯最后一次大作业,它既是在学校我过去所有学习的一次总结和综合应用,又是今后我走向其他舞台的一次良好的开端和历练,毕业设计使得我对所学有所感悟和总结。

  致谢

时光匆匆,转眼间四年已然而过,在毕业论文完成之际,我要向所有曾给予我支持和帮助的人表达我诚挚的感谢。首先,我要感谢两位导师。从接受这个课题到最终完成论文,我遇到了很多困难,非常感谢在此期间为我指明方向并给予指导和帮助的老师,使我能够顺利完成毕业论文。最后,感谢我的家人在此期间给予我的包容和支持,以及所有陪伴我一路走来的同学和朋友,正是由于他们的支持和照顾,我才能安心学习并顺利完成我的学业。毕业是大学学业的结束也是人生新的开始,我将会以积极的态度面对未来,努力生活、不断向上,丰富自己的人生画卷。

参考文献

[1]郑戟明,董云朝,肖宇,钱之琳.MySQL数据库课程的设计[J].电脑知识与技术,2020,16(03):21-22+24.

[2].JSPvolume49issue1CoverandFrontmatter[J].JournalofSocialPolicy,2020,49(1).

[3]UrszulaBoryczka,KrzysztofSzwarc.SelectedvariantsofaMemeticAlgorithmforJSP–acomparativestudy[J].InternationalJournalofProductionResearch,2019,57(22).

[4]曹文渊.JAVA语言在计算机软件开发中的应用[J].电子技术与软件工程,2019(02):53-54.

[5]贾俊奇.软件开发下的JAVA语言[J].中国科技信息,2014(13):133-134.

[6]丁海燕.“网页设计与制作”教学实践与实验教学设计[J].云南大学学报(自然科学版),2012,34(S2):327-330.

[7]欧锋,邹敏,李晓桢.Java技术框架概述[J].计算机系统应用,2012,21(08):236-239.

[8]林元元.JDBC连接MySQL数据库的方法浅析[J].长沙通信职业技术学院学报,2009,8(01):27-30.

[9]刘洪星,谢玉山.Eclipse开发平台及其应用[J].武汉理工大学学报(信息与管理工程版),2005(02):89-92.

[10]Awad,M.G.,Hani,N.B.,Al-Kalani,F.,Sahawneh,R..Webdesign:OptimizingmodelfordesigningE-learningwebsite[P].CADSystemsinMicroelectronics(CADSM),201111thInternationalConferenceTheExperienceofDesigningandApplicationof,2011.

 

原创文章,作者:打字小能手,如若转载,请注明出处:https://www.sbvv.cn/chachong/33552.html,文章版权申述

(0)
上一篇 2022年7月1日 下午2:11
下一篇 2022年7月1日 下午4:00

相关推荐

My title page contents