软件工程作业模板资料Word文档格式.docx
- 文档编号:22958409
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:14
- 大小:26.10KB
软件工程作业模板资料Word文档格式.docx
《软件工程作业模板资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程作业模板资料Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
物流;
WebGIS;
消息队
第1章绪论
课题研究的背景和来源
随着现代科学技术迅猛发展,全球经济一体化的趋势加强,各国都面临着前所未有的机遇和挑战。
物流作为一种先进的组织方式和管理技术,被广泛认为是企业在降低物资消耗,提高劳动生产率以外的重要的利润源泉,在国民经济和社会发展中发挥着重要作用。
……..
课题研究成果应用的实际意义
本文研究的主要目的是实现一个Web客户端到GIS数据源之间进行消息传输的通用框架,并在此基础上实现物流系统需求的功能。
本文的内容及主要工作
本文在分析介绍了WebGIS技术,WMS/WMF协议、WebGIS相关的组件的基础上,基于物流系统的需求特点,介绍了GIS数据转发传输和处理架构,并且实现了物流系统的基本功能。
各章的内容组织如下:
第2章介绍了GIS技术、WebGIS技术的协议和开源平台、Ajax技术以及Spring框架技术;
第3章分析了系统的开发环境,利用用例建模分析系统的功能需求,并且根据实际情况补充了部分需求,提出了非功能性需求,并描述了系统术语表;
…………
第2章相关技术简介
GIS技术
GIS是以采集、存储、管理、分析、描述和应用整个或部分地球表面(包括大气层在内)与空间和地理分布有关的数据的计算机系统。
它由硬件、软件、数据和用户有机结合而构成。
GIS要实现的五个基本功能为:
数据输入、数据编辑、数据存储与管理、空间查询与空间分析以及图形输出与交互操作。
……….
WebGIS技术
2.1.1WebGIS介绍
WebGIS是GIS技术与WWW技术的结合,是在Internet网络环境下的一种传输、存储、处理、分析和显示与应用地理信息的计算机系统。
称之为WebGIS的原因是大多数客户端应用采用了WWW协议。
在Internet的支持下,根据TCP/IP和HTTP协议,WebGIS把支持标准的HTML的浏览器作为统一的客户端,所以狭义地讲WebGIS是一种在Internet上发展起来的新技术,其核心是将GIS功能嵌入到满足HTTP和TCP/IP标准的Internet应用体系中,实现Internet环境下地理信息的有效管理和处理。
与传统的地理信息系统相比较,WebGIS有如下特点:
2.1.2WebGIS协议介绍
开放式地理信息系统协会(OpenGISConsortium,OGC)是非营利、国际自发性、研究地理信息系统标准的国际组织。
OGC所提供的规范是帮助GIS开发者创造一个高效、无隔阂和透明的地…..
2.1.2.1GML协议
GML是一种用于建模、传输和存储地理及与地理相关信息的XML编码语言,它包括了地理要素(Feature)与层(Coverage)的空间与非空间特征。
GML建立在W3C系列标准之上,以一种互联网上容易共享的方式来描述、表达地理信息,是第一个被GIS界广泛接受的元标记语言。
在这之前开发的各种用于存储和交换地理信息的文件格式或标准,由于缺少相应的支持工具,而没有被广泛接受。
GML的一个重要优势就是它能够让开发者或用户非常灵活地使用已被广泛接受的XML技术,它建立在XML、XMLSchema、XLink和XPointer基础之上,GML数据能够很容易地与非空间数据集成使用。
GML使用XML对地理数据进行编码,为开发商和用户提供了一种开放的、中立于任何厂商的地理数据建模框架,使地理信息能够在不同领域、不同部门进行语义共享。
2.1.2.2WMS协议
WMS从动态的地理信息中位置数据,产生空间参考数据的地图。
…….
2.1.2.3WFS协议
WFS向用户提供使用GML编码的地理空间要素数据,并支持在HTTP协议的分布式计算机平台上对地理要素进行查询、插入、更新和删除操作等。
这个规范定义了五个操作:
GetCapabilities返回WFS性能描述文档(用XML描述);
DescribeFeatureType向用户提供一个列表,表示WFS服务器能提供的服务的要素类型。
列表还定义了请求具体要素实例时的请求格式以及输出时生成要素实例的方法。
;
GetFeature为一个获取要素实例的请求提供服务;
Transaction为事务请求提供服务;
LockFeature处理在一个事务期….
2.1.2.4WCS协议
WCS协议是面向空间影像数据的,它将包含地理位置值的地理空间数据作为“覆盖(coverage)”在网上相互交换。
WCS规范由三种操作组成:
…….。
2.1.3WebGIS的开源平台
2.1.3.1GeoServer地图服务器
GeoServer是全面遵循OGC开放标准的J2EE实现,可以方便地发布地图数据,并且允许用户对特征数据进行更新、删除、插入等操作,通过GeoServer能够比较容易地在用户之间迅速共享空间地理信息。
GeoServer支持PostGIS、oracle,mysql等数据库数据源以及shapefile,mapinfo等格式的文件数据源;
能够运行在任何基于J2EE/Servlet容器上;
能够通过WMS将数据采用maps/images方式发布,也可以通过WFS协议直接发布实际数据。
………
2.1.3.2PostGIS数据库管理系统
PostGIS是由RefractionsResearchInc开发的,它是对象关系型数据库系统PostgreSQL的一个扩展,允许数据库存储处理GIS对象。
PostGIS提供了基于WKT和WKB格式的EWKT和EWKB格式,存储与访问Geometry对象的功能;
同时,也提供了丰富的维护、检索和空间运算函数,确保能对矢量格式的空间数据及其属性数据进行有效地组织、索引,并能根据用户需求进行自定义函数的扩充。
PostGIS旨在支持开发PostGIS以支持重要的GIS功能,包括对OpenGIS的完整支持,高级拓扑的构建,用于显示和编辑GIS数据的左面用户界面工具和基于网络的访问工具。
……..。
2.1.3.3MapBuilder
MapBuilder是一个基于Ajax(AsynchronousJavaScriptandXML)技术的地图处理显示的Web开源客户端。
它支持InternetExplorer6+、Mozilla1.3+、Netscape6+等浏览器。
支持WMS和WFS-T服务。
它根据WMS协议实现了地图显示、缩放、移动等操作,并且能够利用WFS-T协议修改服务器上的地图数据。
通过简单的配置,MapBuilder中的组件能够轻松的嵌入到网页文件中。
……。
Ajax架构
Ajax是一种创建交互网页的技术,由AdaptivePath的咨询顾问J………。
Spring架构
Spring是一个开源的架构,由RodJohnson开发并在他的著作ExpertOne-on-One:
J2EEDesignandDevelopment中进行描述。
它用来简化企业应用程序的开发,使得程序仅仅利用JavaBean就能够完成以前只能由EJB来完成的工作。
任何的Java应用程序都能从Spring框架的简单、可测试性和松耦合中得到好处,而不仅仅限定为服务器端的程序。
在J2EE中,EJB的原意是为了解决诸如分布式对象和远程事务等问题而设计的复杂的组件。
对于复杂度不高的企业项目,在开发时也必须要承担EJB的众多的Java源文件、繁杂的部署描述以及重型容器等不便。
即使要解决的问题很简单,EJB的使用也会使得企业系统的复杂度大大增加。
所以使用Spring来替代EJB,它使得系统的复杂度依赖于要解决的问题,减少了容器对设计的侵蚀。
在简化开发的同时,它尽量提供了和EJB相同的功能。
Spring的信条是:
J2EE应当是易于使用的。
………..。
第3章需求分析
需求分析是软件开发流程中重要的一个环节,需求分析的基本任务是根据用户的需求,准确定义要完成的系统的目标,回答系统必须“做什么”的问题。
它的主要用途是明确系统需求,是用户和开发人员之间进行讨论的基础,并作为系统设计、实现以及测试的依据。
只有准确全面的需求获取与分析才能保证系统设计、系统实现的顺利进行,为后期测试提供必要的支持。
在参考了现有的GIS物流监控系统的功能,并且考虑到了系统的扩展性和成本的基础上,最后制定了本系统的具体需求。
系统实现目标
物流企业中,首先要对货物从发货人发送货物到收货人提取货物的整个过程进行管理和记录,要求能够随时了解货物的位置、状态等属性。
同时管理人员通过系统能够获取企业里运输车辆的位置、速度、方向、所载货物等参数,并能够发送命令给车辆,实时监控和管理整个货物运输流程。
……….。
系统运行环境
为了充分使用物流企业的现有软硬件资源,在保障物流信息系统稳定、高效运行的前提下,达到降低成本的目的。
根据系统需求,设定了物流信息系统的运行环境。
系统的开发环境
考虑到系统成本问题,全部采用开源软件和框架来构建此系统。
相对来说,开源软件成本低,功能相对简单。
功能性需求描述
在面向对象的系统分析中,获取功能需求的最常用的技术就是用例建模技术。
它能够直观地向客户展示系统的功能,方便技术人员准确地获取需求。
在项目开发的前期,它帮助开发人员理解系统的需求而不考虑具体的实现方法。
用例,表示系统的一种行为或者某个功能。
它是在特定条件下,为了达到某种目的,系统和用户之间进行交互的一个序列。
用例模型由参与者和用例组成。
……..
非功能性需求描述
非功能性需求在整个系统中占有非常重要的位置,对系统的非功能性需求的满足是系统成功的基础,下面列出本系统的非功能性需求:
系统术语表
系统开发过程中使用的一些名词可能和平时代表的意义不同或者是表示范围不同,系统中还会根据实际情况创造一些专有名词表示系统中的某些概念。
为了不造成误解,加快系统开发进度,所以有必要列举系统的术语表,声明系统开发过程中能够遇到的主要的概念和容易误解的概念。
第4章系统设计
系统设计原则
(1)低成本……..。
系统总体设计
在分解复杂的软件系统时,用的最多的技术之一就是分层。
分层设计的好处有:
在无需过多了解其他层的基础上,可以将某一层作为一个有机整体来理解;
只要前后提供的服务相同,可以替换某一个层的具体实现;
能够将层次间的依赖降到最低,有利于标准化;
一旦建设好了某一个层次,就可以用它为很多上层服务提供支持[17]。
在本系统中,首先要完成的工作就是设计系统的总体架构,将系统分解为几个层,规定每个层的功能、相互之间的依赖关系和调用接口。
………。
数据访问层设计
数据访问层是面向对象设计中重要的一个模块,它将对数据库操作的逻辑封装到指定的对象中,从而将对关系型数据库的操作转换为对数据访问层的对象的操作,提高了系统的可扩展性和可移植性。
本系统的数据访问层采用仓储的设计思想,全面地封装了对数据库的各种操作,提供对数据操作的统一接口,其中大部分操作都直接被服务层用来获取系统对象以及操作对象。
………..
服务层设计
面向对象的设计过程中,领域中的一些概念不能作为模型中的对象来处理。
将领域需要的功能强加给实体和值对象,不仅会………。
Web服务层设计
对于一个Web应用来说,Web层是十分关键的。
Spring的Web框架很自然的采用了“控制反转”来管理控制器的依赖。
整个Web框架采用MVC模式进行设计。
消息处理部分设计
消息处理部分的设计目的是用来处理管理人员、车辆以及定时器等外部参与者与系统的交互数据。
系统可以根据传递入的数据进行处理,实现的功能为:
处理车辆传递回来的状态数据、使管理人员与车辆之间可以进行双向通信。
4.1.1消息队列设计
设计模式中的观察者模式,定义了对象间一种一对多的依赖关系,当一个对象的状态改变时,所有依赖于它的对象都得到通知并被自动更新。
它适用的一种情况为:
当一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变的情况[19]。
物流系统中对消息的处理被封装为消息处理类,它的数量会随着业务复杂性而增加。
所以消息队列定义为观察者模式中的目标对象是使用的。
4.1.2消息处理具体功能设计
图4.8所示为消息处理类的设计图。
本系统中为了处理消息队列中的消息,………。
4.1.3Socket控制层详细设计
图4.9所示为消息处理部分的Socket控制层的详细设计图。
SocketMessageProcess类实现自Observer和MsgProcessI接口,从而可以与MessageMediatorI接口交互,处理消息队列中方向值为out的消息,并且可以将消息添加到消息队列中。
它继承了DatagramSocket类,可以利用send()和receive()函数发送和接收DatagramPacket数据包,与多个车辆进行通信。
系统业务功能设计
在大型软件的开发过程中,降低复杂性是成功的关键步骤。
为了高效地进行分析和设计,软件架构和分析每次只能关注问题的一个小的方面。
这是因为人类无法同时关注并处理问题的多个方面。
当进行分析和设计的时候,图尽量简单清晰地描述问题的一个方面。
当关注到具体的图表时,分析和设计就能够解决相关方面的具体问题[21]。
同样对于系统的功能设计,也采用模块分解的方法对具体的功能方面进行设计。
数据库设计
4.1.4发货操作模块的表设计
发货操作过程中主要涉及到发货人和收货人信息的保存,货物基本信息的保存和货物的中转站点的保存。
其中发货人和收获人的数据库表字段参考图3.2中Customer客户类的属性字段来设置,相对来说比较简单。
……
4.1.5线路编辑模块的表设计
系统中对车辆线路进行编辑所涉及到的内容有:
运营线路的名称,车辆的要经过的站点以及站点之间的先后顺序。
4.1.6货物运输模块的表设计
货物运输是伴随着车辆沿着运营线路从一个站点到另一个站点的运动来完成的。
所以在货物运输过程中,车辆的信息是比较重要的。
表4.4是为存储车辆信息而设计的数据库表。
….
4.1.7权限控制模块的表设计
系统中每个公司所管理的车辆、站点、员工等都是不同的。
公司能够管理和处理的系统中的信息只限于所管理的单位。
表4.5所示为系统所设计的公司的数据库表。
第5章系统实现
根据对系统分析与设计,本章对系统中相关部分的实现情况做了详细的介绍。
地图数据传输与显示
本系统中,采用GeoServer作为地图服务器,它支持WMS/WFS协议。
客户端设计与实现
5.1.1JavaScript语言面向对象编程
客户端采用的编程语言为JavaScript,JavaScript是一个基于对象的脚本语言。
但是其中并没有类的定义,在JavaScript中所有的对象都是用Function表示。
在Function中利用this引用定义对象的属性值和方法,如果不用this定义变量或者函数,就会被认为是局部变量或者是全局变量。
5.1.2客户端请求协议和请求流程实现
客户端采用Web形式显示,由于HTTP采用无连接的方式访问服务器,……
5.1客户端请求流程图
5.1.3客户端框架实现
客户端需要在Web浏览器端保存系统中各种对象的信息,所以需要利用JavaScript在客户端实现简单的对象,如车辆、站点、公司、员工、货物等。
实现对客户端对象操作,需要一个架构来支撑。
图5.2所示为客户端子系统的架构基础。
Listener类完美地实
图5.2客户端子系统架构
系统安全控制实现
未登录的用户只能访问登录页面,即使输入其他页面的网址也会跳转回登录页面。
要实现这项功能,需要利用ServletAPI中的过滤器概念。
货物处理模块的实现
货物在系统中进行处理由几部分组成:
发货,装货,运输和卸货。
其中发送货物是货物运输的起点,也是系统必须要实现的功能。
图5.3卸载货物流程图
消息处理模块的实现
消息处理作为管理人员、系统以及车辆三者之间进行交互的方式,在系统中占有很重要的位置。
消息处理模块核心的内容就是消息队列,它的实现方法和功能决定了整个消息处理模块的功能和效率。
图5.4消息处理流程图
第6章系统测试
由于软件开发复杂性的原因,软件开发过程中不可避免的会产生各种错误。
为了在软件开发的顺利完成以及在软件投入实际运营之前,尽可能多地发现软件当中的错误,需要尽可能全面地对软件进行测试。
目前软件测试仍然是保证软件质量的关键步骤,它是对软件需求分析、设计以及编码的最后的检查。
单元测试
单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
集成测试
集成测试,也叫组装测试或联合测试。
它是在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行的测试。
集成测试应该考虑以下问题有:
数据在模块接口之间穿越时是否会丢失;
各个子功能组合起来,能否达到预计要求的父功能;
模块之间是否会有不良的影响;
单个模块中的误差是否会在其他模块中进行放大。
合理地组织集成测试,直接影响到模块测试用例的形式、所用测试工具的类型、模块编号和测试的次序、生成测试用例和调试的费用。
通常,有两种不同的组装方式:
一次性组装方式和增量式组装方式。
系统测试
系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。
......。
第7章结论
本文采用用例建模的方式获取系统功能需求,并根据实际情况补充了非功能性需求。
在充分考虑了系统的扩展性、复用性和开发成本的前提下,采用分层的思想对系统进行总体设计。
然后对消息处理部分等进行了详细的设计,并对系统中的业务流程进行功能设计。
根据实际情况解决了开发中所遇到的地图操作难题,并分别对客户端子系统和服务器端进行了实现。
最后通过测试检验了系统的功能实现情况和运行效果。
本文的开发为类似的WebGIS系统提供了开发思路,并提供了可供复用的Web客户端框架和消息处理模块。
但是,由于开发时间有限,系统还没有完善,主要有一下几个方面:
参考文献
1.
张晓川.物流学——系统、网络和物流链[M].北京:
化学工业出版社,2005.
2.
孟令奎,史文中,张鹏林.网络地理信息系统原理与技术[M].北京:
科学出版社,2005.
3.
Len
Bass,Paul
Clements,Rick
Kazman.SoftwareArchitectureinPractice(SecondEdition)[M],Boston:
AddisonWesley,2003.
4.
刘天北.理解企业应用框架[J],程序员,2003,(5):
47-49.
5.
马庆勋,武法东,韩伟民.基于GML和WFS及SVG的WebGIS实现框架[J],测绘科学,2006,31(4):
140-141,51.
6.
吕家恪,王德晖,汪璇.基于自由软件的WebGIS应用系统研究[J].西南农业大学学报(自然科学版),2006,28(6):
1049-1052.
7.
刘德儿,陶智翔.GML数据存储技术的研究与实现[J].国土资源信息化,2005,(3):
33-36.
8.
OpenGISConsortiumInc.WebMapServiceImplementationSpecification[EB/OL].http:
//www.opengeospatial/org/standards/wms,2002.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 作业 模板 资料