LBS-PTGRP系统的设计与实现.doc
LBS-PTGRP系统的设计与实现信息科学技术学院电子学系99级 谭跃摘要(Abstract)基于地理信息的移动通信服务(Location based service),是指在移动通信平台上提供的地理信息服务。作为LBS的一种运用实例,PTGRP(Public transportation guiding/routing plan)是指通过使用短消息业务(Short Message Service)的方式,向移动用户提供城市道路交通信息相关的地理信息服务的业务计划。本文所描述的是作为该业务实现的一个验证性系统。通过对软件工程和面向对象的分析和设计方法的运用完成了从系统定义、需求分析、系统设计到模拟程序的设计及测试的一系列工作。关键词:基于地理位置 移动通信业务 短消息 交通/地理信息 软件工程 面向对象方法Abstract:LBS(Location based service), provides customers on the mobile platform kinds of geographic related information. To be a practical application example of LBS, PTGRP(Public transportation guiding/routing plan) release urban road traffic information to the customers by SMS(Short message service). This thesis describes a system prototype for the verification of PTGRP.The concepts and methods of Software Engineering and Object Oriented Analysis and Design are employed through the design and development process from requirement analysis, architecture design, coding to system test. Keywords:Location based Service Mobile Service SMS Traffic/Geographic information Software Engineering Object oriented第一章 引言(Introduction)这是一个信息的社会,人类的社会、经济、生活一切的一切,甚至信息本身都在信息中涤荡。这就导致了:信息交流方式日趋多元化,同时,我们所需要的信息也日趋广泛。于是,在当今信息交流方式和信息自身拓展的两个方向上衍生出了一系列的热点,其中,结合移动通信业务和地理信息服务这两大热点,LBS(Location based service)应运而生。一、背景l 移动通信领域:今天,借助信息革命的推动,移动通信以惊人的速度不断发展和完善,其空间和时间上的能动性使其成为信息的交流中一种不可替代的主流通信方式。同时,随着移动通信的技术的成熟和发展,特别是近年来数字蜂窝移动电话网络(Cell Phone Network, CPN)技术的发展,使对移动用户的精确定位成为可能。目前较成熟的GSM技术已经能够达到50m量级的定位精度,而CDMA技术更能达到m量级的定位精度。这就使得我们借助移动通信的平台向用户提供相关的地理信息服务成为可能。同时,随着移动通信技术的成熟,其服务也得到了广泛的拓展。除了基本的通话业务外,各种基于这一平台的其它移动服务不断出现,诸如普通短消息服务、移动聊天服务和移动邮箱服务等等。身处信息时代的移动用户已经习惯于使用各种移动性的服务,并且对其功能、性能和易用性的要求不断提高,希望得到功能更丰富、性能更强劲并且更为简单易用的移动服务。这就为我们的应用技术提供了潜在的市场。l 地理信息系统领域:地理信息是表征地理系统诸要素的数量、质量、分布特征、相互联系和变化规律的数字、文字、图形和图像等的总称。随着社会的不断发展,人类对自然界的改造能力和认识能力不断得到提高,地理信息的种类不断增加,内容也更为丰富,这就使得地理信息的数量出现了多维急剧膨胀的趋势。与此同时,人类对于地理信息的获得和处理手段也在不断的进步:借助先进的卫星遥感和GPS技术,可以获得具有足够精确度和数据量的数字化电子地图;另外,各种地理信息处理工具也在不断的发展,出现了专业化处理地理信息的地理信息系统(Geographic Information System, GIS)。在现实工作中,地理信息在地理资源管理、城市宏观规划、环境保护和公共交通等方面有非常广泛的应用。尤其是进入信息社会以后,社会竞争日趋白热化,无论是一个个人还是一个团队,对于能动性更强、更可靠的地理信息资源提出了更高和更迫切的要求。二、LBS的概念基于位置的服务(Location Based Service, LBS)是指在移动通信的平台上,面向用户提供地理信息的相关服务总称。从概念上看,LBS包含两个要素,即移动通信平台和动态地理信息。l 移动通信平台:LBS的服务对象是移动用户,具有高度能动性;l 动态地理信息:LBS的服务内容是地理信息,随着实际地理情况不断更新。LBS的核心是位置(Location),这是两个要素相关联的关键点,即将移动用户不断变化的位置和对应的地理位置信息相联系,并提供相应的服务。三、LBS的实例PTGRP基于上面的分析,LBS系统将移动通信平台和动态地理信息相结合,面向移动用户提供服务。在实际应用中,由于所选用的移动通信方式和地理信息内容的差异,LBS可以有若干种应用实例。公共交通向导/道路计划服务(Public Transportation Guiding / Route Planning, PTGRP)是LBS的一个应用实例,它面向移动用户,提供与城市道路交通信息相关的地理信息服务。相应于所有LBS应包含的两个要素,具体到PTGRP本身,包括:l 地理信息城市道路交通信息l 移动通信短消息(SMS)四、PTGRP系统的设计和实现本文研究的PTGRP系统是一个验证性的系统原型(Prototype),是为了检验PTGRP概念的可行性和正确性而提出的。在PTGRP系统的设计和实现过程中,作者与合作伙伴主要经历了以下三方面的工作阶段:(一)、前期:调研由于PTGRP是一个全新的概念,而且还涉及到我们不熟悉的地理信息领域,因此在项目初期需要相应的调研工作,以确定系统的可行性和用户需求。为此我们和本系一些同学组成LBS小组,来完成这一调研过程。在这一阶段里,我们LBS小组分别对以下问题进行了相关的调研,并得到了相应结论。l 地理信息的来源调研侧重于数据的来源,得到的基本结论有:n 城市地图信息和道路交通状况信息的定性描述可以得到;n 实时的定量道路交通数据属于“国家战略情报”,现阶段无法得到。l 移动通信的发展调研侧重于通信技术和业务的可用性,得到的基本结论有:n 类似的LBS服务已经存在(CMCC提供的移动梦网),但是还不够完善;n 现有的移动通信技术已有可接受的定位精度(GSM为50m量级);l 用户期望的特性调研侧重于用户对实际城市道路交通信息内容和对人机交互界面的需求,得到的基本结论分别在正文的用户需求部分和附录的人机界面部分予以阐述。(二)、中期这一阶段完成对系统的需求分析,并在此基础上进行设计,是整个系统实现的关键步骤。由于系统比较复杂,因此这一阶段也耗费了较多的工作量。在系统设计的过程中,我们提出了逐次的需求分析,并进行相应的设计和实现。本文所阐述的是第三次分析和设计的结果。在这一阶段里,我们运用软件工程的概念与方法和面向对象(Object Oriented, OO)的分析和设计原则,主要进行了以下工作:l 参考实际调研的结论,从中脱胎出系统的技术需求;l 在需求分析的基础上,将系统划分为两个子系统:业务客户端和功能服务器;l 根据子系统划分结果进行分工,并按照系统子系统模块对象的线索逐层细化的分析和设计;l 对外部辅助系统做了必要的分析。(三)、后期这一阶段对系统进行程序的实现和调试,并进行相应测试以验证其正确性。由于在设计阶段中,系统已被充分细化,因此这一阶段的工作量相对较少。在这一阶段里,我们依据系统设计的结果,在下面的平台上进行开发:n Visual C+集成开发环境:程序开发n ODBC:数据库接口n 局域网:仿真SMS通信需要强调的是,整个工作如笔者在先前几次“泰兆”奖助金的报告中所阐述的,是一项集体的工作,我仅仅是作为一个主要设计者和组织者参与整个项目。所有的成果都是集体工作的结晶。第二章 PTGRP系统需求分析(Requirement Analysis)PTGRP服务是指建立在城市道路交通网动态信息基础上的、向移动用户提供的、与公共交通信息相关的一系列服务的总称。本章将从系统层次分析PTGRP系统的用户需求和技术需求。一、用户需求根据调研的结果,当用户在实际生活中面临以下情况时,他将会需要城市道路交通方面的信息:l 当用户想要了解他感兴趣的地点时,他需要看看对于这一地点的简要介绍,以及交通黄页等信息资料;l 当用户想要参考当前的道路交通状况时,他需要得知某一条道路的实时交通状况(如拥挤程度、车流量等);l 当用户在交通过程中遇到一些典型问题,如饥饿、内急、汽车没油、停车位满等的时候,他需要找出他附近可以解决这一问题的特定建筑,并可能需要进一步查询其信息;l 当用户要前去一个陌生地点(建筑或是道路)的时候,他会需要事先了解这一地点的信息,考察这一地点附近特定类型的建筑,并且还可能要计划从指定起点(建筑或是道路)到预定目的地(陌生地点)较好的交通路线,以节约时间或者金钱;l 当用户感觉迷路的时候,他需要知道他现在所在位置的地址;在此基础上,用户可能要向市政工作人员(如交通警察)求助,还可能需要到达目的地(建筑或是道路)的交通路线;l 当两个用户之间需要碰面时,他们可能需要得知对方所在的地理位置,还可能需要从自己所在的地点到达对方所在位置较好的交通路线;l 如果用户对于道路情况不够熟悉,在上面两个服务的基础上,还需要进一步的分步道路指引,即根据他不断变化的位置得到实时动态的向导,直至到达预定目的地;由此,可以分析得出用户对PTGRP服务提出的主要需求有:l 因人而异的服务需求:PTGRP面向的用户涉及社会的各个层次,他们会提出许多各式各样服务的需求;这些需求可能是非常细致和个性化的,会受到用户自身的特点(如知识、经验、智力、年龄等等)和用户交通工具(私车、公交、步行等等)的影响;l 因地而异的移动特性:PTGRP面向的是使用移动通信手段的移动用户,其地理位置在不断的发生变化,服务要结合这个变化着的用户位置来提供;l 因时而异的实时特性:PTGRP需要提供的是实时交通信息,因而其地理交通信息需要实时的进行更新。这一更新要求有足够的速度和准确性,甚至还需要一些合理的推测。二、技术需求根据用户对于服务的需求,可以归纳出PTGRP系统的技术需求如下文所述,包括信息描述、功能描述和行为描述:(一)、问题详述在进一步分析系统需求之前,有必要将用户需求进一步细化和归纳。PTGRP服务需要解决的问题是:当用户面临需要一些需要地理交通信息的情况时,系统能够根据用户的需要,向其提供相应的地理交通信息。对于PTGRP系统而言,针对这些情况需要做出如下的响应:l 对于用户需要查询某建筑相关信息的情况,系统需要从用户接收到需要查询的建筑名称及相关信息类型的选择,经过查询后将信息具体内容描述返回用户;l 对于用户需要查询某道路交通状况的情况,系统需要从用户接收到需要查询的道路名称,经过查询后将道路的交通状况描述返回用户;l 对于用户需要检索周边特定类型建筑的情况,系统需要从用户接收到需要查询的建筑类型和查找范围,还需要对用户进行定位,经过检索后将这些建筑列表返回给用户,并允许用户进一步查询其中某些建筑的详细信息;l 对于用户要前去陌生地点的情况,系统需要首先从用户接收到需要查询的地点(建筑或是道路)名称,如果地点为建筑且需要查询相关信息,则还需要信息类型,返回为信息具体内容描述;如果需要检索附近特定建筑,则还需要建筑类型,对于地点为建筑的还需要查找范围,返回为可进一步查询的建筑列表;如果需要计划交通路线,则还需要用户提供起始地点(建筑或是道路)的名称,返回为交通路线的描述;l 对于用户感觉迷路的情况,系统需要对用户进行定位,返回其所在位置的地址描述(所在道路或最近建筑物);如果需要进一步检索附近的市政设施,还需要检索范围,返回为附近的市政设施列表;如果需要进一步的计划交通路线,还需要用户提供目的地(建筑或是道路),返回为交通路线的描述;l 对于两个用户需要碰面的情况,系统需要从用户接收对方的号码,对两个用户同时定位,返回为对方所在位置的描述(所在道路或最近建筑物),如果需要计划路线还会返回对交通路线的描述;l 对于用户需要动态实时向导的情况,系统需要根据事先得到的用户位置信息和目的地位置,向用户定时发送有向导作用的交通路线描述,并能够自适应的根据用户位置的变化改变输出结果,还能对道路交通状况的变化作出相应的反应。另外,作为一种面向用户提供的服务,PTGRP还需要考虑的问题包括:l 用户身份校验:对于任何一种服务,启动时都应该从用户获得密码,进行身份验证后方可继续使用服务;l 用户身份修改:对于任何一种,都应该允许其用户设定其密码和一些个性化信息(如昵称等),并提供用户密码遗失或者泄漏时的应急保护措施;l 用户资费查询:对于任何一种服务,都应该考虑用户可接受的资费标准,并在系统中对用户服务及其资费状况进行记录,以备用户进行统计性查询或者是更为详细的清单查询。l 用户帮助:对于任何一种服务,都需要对用户提供详细的帮助信息,以使用户能够在较短的时间内熟悉服务的操作方式。综上所述,系统所需要为用户提供的服务可以归纳为两个大类,即地理信息类服务和用户控制类服务。l 地理信息相关服务:系统对地理信息处理的结果,包括:n 地点信息查询:用户需要某地点的某项具体信息内容n 道路路况查询:用户需要某道路的实时路况信息n 出行计划:用户需要前去陌生地点(建筑或是道路)前对其有所了解n 周边检索:用户需要搜索附近特定类型建筑n 迷路帮助:用户迷路时需要相应的帮助n 约会帮助:两个用户需要碰面时需要相应的帮助l 用户信息相关服务:系统对用户信息处理的结果,包括:n 身份验证:根据用户的号码和密码进行身分认定n 身份修改:允许用户对于其身份信息(密码、昵称等等)进行修改。n 记录查询:用户需要查询其服务的使用记录和资费状况n 在线帮助:用户需要向系统求助以了解其功能及使用方法(二)、信息描述PTGRP系统的信息描述,说明系统需要处理的信息内容以及信息内容的表现形式。1信息内容信息内容是指和系统服务密切相关,需要处理(包括输入和输出)的信息所属的类型。根据对于PTGRP系统的详细描述,在解决用户需求的时候,系统需要考虑到以下两个大类的服务,它们直接决定了系统的信息内容:根据对于PTGRP系统的详细描述,在解决这些用户需求的时候,系统需要考虑到以下两个方面的问题,它们直接涉及到系统的信息内容:l 系统需要向用户提供地理信息方面的服务,决定了系统需要处理相应的地理信息;l 系统需要向用户提供用户信息方面的服务,还需要与用户进行必要的交互,决定了系统需要处理相应的用户信息。因此,系统的信息内容包括两类:地理信息和用户信息。l 地理信息:指在PTGRP服务中,与地理交通相关的一切信息。为了描述实际的实时地理交通状况,服务需要使用一些实际地理交通对象及其属性。n 建筑:名称、类型、相关信息n 道路:名称、交通状况n 位置:定位信息l 用户信息:指在PTGRP服务中,与用户相关的一切信息。n 为了使服务有足够的安全性,必须进行用户身份验证,因此用户信息还包括用户身份信息,即用户号码和用户密码;n 为了使服务对用户公开,需要提供用户服务和资费状态查询,因此用户信息还包括用户记录信息;n 为了使服务具有易于操作的人机界面。考虑到各种服务都需要用户输入和选择结果,因此系统的用户信息还包括互动的用户输入提示/用户选择菜单及其结果;n 为了使服务能够在较短的时间内被用户熟悉,需要提供用户帮助信息,它属于人机界面的一部分。综上,PTGRP系统的地理信息是使用实际地理交通数据对象及其属性来描述的实时地理交通信息,用户信息包括用户号码及密码、用户记录和用户输入提示/用户选择菜单及其结果。2信息流表示信息流表示是对信息内容具体表现和传输手段的描述。PTGRP系统包含地理信息和用户信息,因此对其信息流表示的分析也要从这两个方面分别阐述,即地理信息流和用户信息流。l 地理信息流根据对于PTGRP系统信息内容的分析,系统的地理信息内容是使用实际地理交通数据对象及其属性来描述的实时地理交通信息。为了使服务人性化,即保证其返回结果是用户可理解的,其表达方式必须符合日常生活的习惯。考虑到PTGRP服务的内容都是城市地理交通信息方面的,因此其用户数据信息需要采用日常的地理交通信息文字表述。l 用户信息流根据对于PTGRP系统信息内容的分析,系统的用户信息内容包括用户身份信息、用户记录信息和用户输入提示/用户选择菜单及其结果。为了使服务具有通用性,其用户控制信息的输出表达采取最简单的全文字化形式,相应的用户输入/用户选择结果也采用相应的文字形式进行交互。(三)、功能描述功能是根据系统所提供的服务的输入和输出数据类型的相似性,对服务的提炼和抽象。系统的功能描述给出解决问题所需的每个功能的描述;其中为每个功能说明了一个处理过程。根据对PTGRP系统的详细描述和信息描述,可以将其服务抽象为两个方面的功能:地理信息处理方面的功能和用户信息处理方面的功能。1地理信息处理功能根据对系统的详细描述,其地理信息服务可按照功能作如下的细化:l 对于用户需要某地点的某项具体信息内容的情况n 建筑信息查询功能:根据用户给定的建筑,查询与其相关的指定信息。l 对于用户需要某道路的实时路况信息的情况n 道路信息查询功能:根据用户给定的道路,查询其交通状况。l 对于用户需要搜索附近特定类型建筑的情况n 建筑检索功能:根据用户当前位置,在给定搜索范围内查找给定类型的建筑。n 建筑信息查询功能:根据用户给定的建筑,查询与其相关的指定信息。l 对于用户要前去陌生地点(建筑或是道路)的情况n 地点信息查询功能:根据用户给定的地点,查询与其相关的指定信息。n 建筑检索功能:根据用户给定的地点,在给定搜索范围内查找给定类型的建筑。n 道路计划功能:根据用户给定的起点和终点,计算符合要求的交通路线。l 对于用户迷路的情况n 地点信息查询功能:根据用户所在的位置,查询其所在道路或最近建筑物。n 建筑检索功能:根据用户所在的位置,在给定搜索范围内查找给定类型的建筑。n 道路计划功能:根据用户所在的位置和用户给定的终点,计算符合要求的交通路线。n 实时向导功能:根据用户所在的位置和给定终点,分段提供符合用户移动位置和实时交通状况的动态交通路线。l 对于两个用户碰面的情况n 地点信息查询功能:根据另一用户所在的位置,查询其所在道路或最近建筑物。n 道路计划功能:根据用户所在的位置和另一用户所在的位置,计算符合要求的交通路线。n 实时向导功能:根据用户所在的位置和另一用户所在的位置,分段提供符合用户移动位置和实时交通状况的动态交通路线。归纳起来,PTGRP服务可以提炼出四种地理信息处理功能:l 信息查询功能:当用户需要查询某地点的某项信息时,向其提供相应的信息内容;l 分类检索功能:当用户需要检索某地点附近的特定类型建筑时,向其提供合乎要求的检索结果;l 道路计划功能:当用户需要计划两地点之间的通行路线时,向其提供合理的路线;l 动态导航功能:当用户需要在指引下分步行进时,向用户提供实时的道路向导直至用户停止服务。2用户信息处理功能根据对系统的详细描述,其用户信息服务可按照功能作如下的细化:l 用户身份验证:确保用户使用服务的安全性,需要用户输入其密码;l 用户身份修改:允许用户修改其昵称和密码等信息,并提供密码遗忘帮助;l 用户记录查询:允许用户查询其资费状况,根据需求提供简要或是详细信息的查询;l 用户界面控制:通过用户选择,区分和启动相应的服务并提示用户输入或选择相关的服务参数;l 用户帮助系统:根据用户的选择,为用户提供易于理解和使用的帮助信息,是系统用户界面的重要部分;归纳起来,PTGRP服务可以提炼出以下三大类用户信息处理功能:l 用户界面控制:当系统需要用户进行信息交互时,向用户提供用户界面,并接收用户输入和选择结果;l 用户安全保障:当系统需要对用户身份进行确认或者用户需要修改相关的身份信息时,允许用户进行身份验证和身份修改;l 用户记录管理:当用户对其服务和资费进行查询时,根据内部用户功能记录,给用户提供需要的查询结果。(四)、行为描述系统的行为描述检查作为外部事件和内部产生的控制特征的软件的操作,说明系统面对激励的时候应该作出的响应如何。根据前面对系统的详细描述,可以对系统各项服务的系统响应,即使用相应的地理信息和用户信息功能的过程,分别分析如下:1.地理信息相关服务PTGRP系统的地理信息类服务是系统的核心服务内容,它为用户提供地理信息方面的相关功能。地理信息类服务包括以下五种服务: l 地点信息查询:向用户提供对于某一建筑的某项具体信息内容的查询。用户发出服务请求后,系统通过用户界面获得建筑的名称和需要查询的内容名称,进行建筑的信息查询后,将信息内容返回至用户。l 道路路况查询:向用户提供对于某一道路实时路况信息的查询。用户发出服务请求后,系统通过用户界面获得道路名称,进行道路的路况查询后,将路况内容返回至用户。l 周边建筑检索:当用户遇到一些问题时,向其提供对于附近特定类型建筑的搜索。用户发出服务请求后,系统通过用户界面获得需要检索的建筑类型和搜索范围,进行基于位置的建筑检索后,将建筑列表返回至用户。如果用户进一步选择其中某一建筑,则执行对这一建筑的信息查询功能。l 出行计划:向用户提供需要前去的陌生地点的相关信息。用户发出服务请求后,系统通过用户界面获得目的地的类型(道路还是建筑)和目的地的名称,再根据目的地类型提供相关子项服务类型供用户选择。若目的地为建筑,则可选择信息查询、建筑检索或者是道路计划功能,分别执行对这一建筑的信息查询、基于这一建筑的建筑检索和用户输入为起点、这一建筑为终点的道路计划功能。若目的地为道路,则可选择建筑检索或是道路计划功能,分别执行基于这一道路的建筑检索和终点为这一道路的道路计划功能。l 迷路帮助:当用户迷路时,向其提供相关的帮助。用户发出服务请求后,系统通过用户界面获得用户对于子项服务的选择,可能有位置查询、周边市政设施检索和道路计划三种,分别执行基于当前位置的信息查询、市政设施搜索和以当前位置为起点,用户输入为终点的道路计划功能。对于道路计划功能,还应询问用户是否需要动态导航,若需要则启动动态导航功能。l 约会帮助:当两个用户需要碰面时,向其提供相应的帮助。用户发出服务请求后,系统通过用户界面获得另一用户的号码和用户对于子项服务的选择,可能有位置查询和道路计划两种,分别执行基于另一用户位置的信息查询和起点为当前位置。终点为另一用户位置的道路计划功能。对于道路计划功能,还应询问用户是否需要动态导航,若需要则启动动态导航功能。2.用户信息相关服务PTGRP系统的用户信息类服务是系统的辅助服务内容,它为用户提供安全性和人性化保障。用户信息类包括以下四种服务:l 身份验证:提供基于用户的号码和密码的用户身份验证。用户启动服务时,系统通过用户界面获得用户的密码并进行身份校验,校验通过方可使用各种服务。l 身份修改:提供对用户的昵称和密码等信息的修改。用户在通过验证后,可以通过用户界面进行一些用户身分设定,如密码的修改等。当用户遗失或泄漏密码时,可以及时予以更改,以避免不必要的损失。l 记录查询:提供对于一段时间内用户服务和资费状态的各种查询。用户发出服务请求后,系统通过用户界面获得用户需要查询的记录内容,包括统计、详细和特定方式,再执行相应的用户记录查询功能。l 在线帮助:提供对系统使用方法以及用户常见问题的说明和指导用户发出服务请求后,系统通过用户界面获得用户的问题所在,并给予适当的解答。第三章 PTGRP系统系统设计(System Design)从系统的需求分析出发,结合软件工程面向对象设计的基本原则,可以得出系统的内部设计。这包括对系统数据设计、结构设计、接口设计和流程设计。本章将从系统层次对PTGRP系统进行设计。(略)第四章 PTGRP系统模块设计(Module Design)(略)第五章 PTGRP系统子系统功能服务器的模块设计(Detail Design)在整个系统中,我们基本所有的信息处理都通过功能服务器完成,所需要完成的主要功能大部分都在功能服务器中实现,整个系统行为都围绕功能服务器展开;我们整个设计中各种数据的设计都基于功能服务器的需要,整个系统结构都构架在功能服务器之上,整个系统的流程的实现都是以功能服务器的实现为目标进行的。自然,功能服务器的设计是整个系统设计的核心,或者说是重中之重。在此我们将其独立出来作为一整章进行描述。(略)第六章 PTGRP系统对象分析(Object Analysis)根据对于业务客户端子系统模块层次的分析,系统的各个实现模块都可以进一步细化为若干具有一定属性和功能的对象。本章将按照子系统内部模块的顺序来将这些对象分别描述。(略)第七章 PTGRP系统测试(System Design)根据对于系统的层次化设计,可以对其进行具体的程序实现。为了验证设计的正确性,就需要对程序实现的结果进行测试,以确定其是否符合需求。本章将对系统测试的方案及其结果进行阐述,并在此基础上得出相应的结论。一、测试平台测试平台是进行系统测试的外部环境,它与系统进行系统需要的数据交换,从而使得系统的各项功能得以执行。1需求根据系统的设计结果,整个系统通过功能服务器实现其基本功能。同样,我们在测试时,也是根据功能服务器的这一核心出发,在我们虚拟的用户终端提出相应的输入数据,通过后台的监视系统和前端的虚拟用户终端的输出来进行验证。2设计根据对测试平台需求的分析,作出如下的设计:使用虚拟的用户终端对系统提出一整套(即包含了七种服务类型)的服务请求,由后台的监视系统和虚拟用户终端的输出数据来进行验证:虚拟用户终端:即用程序虚拟手机来进行发送和接受数据,是一个傻终端,其本身不对数据和信息进行任何的处理。后台监视系统:可以监视用户位置,图形化描述系统提供给用户的地理对象的信息的相关情况。二、测试方案测试方案是对具体的测试方法和步骤的描述,其目的是测试系统的各项设计功能,以判断它是否符合需求。1需求根据系统的设计,整个系统需要提供的用户功能包括任务实现类功能:l 信息查询功能:提供对某个地点或是道路指定属性的查询。l 分类检索功能:提供对某个地点附近指定范围内指定类型建筑的检索(建筑ID列表)。 l 道路计划功能:提供在两个地点(位置坐标、建筑ID、道路ID)之间符合条件的交通路线(按顺序记录的整条路线所有道路ID)的计算功能。l 动态导航功能:提供从一个地理位置坐标到指定目的地(位置坐标、建筑ID、道路ID)之间动态实时变化的分段交通路线的指引功能。l 用户安全保障功能:提供用户身份验证服务,并在用户需要的情况下进行用户个人信息的适当修改l 用户记录管理功能:提供用户申请服务的记录的管理和查询功能任务管理类功能:l 监控功能:以图形化方式显示子系统内部的工作情况。2设计按照测试方案的需求,需要对功能服务器测试的功能包括两个大类的八项功能,对这八项功能进行单独测试,设计方案如下:监控功能:要求显示指定的地理信息数据(电子地图,主要是显示出道路对象、路口对象和建筑对象)。信息查询:虚拟用户终端输入信息查询任务请求,在虚拟用户终端观察功能服务器的输出结果。分类检索:虚拟用户终端输入分类检索任务请求,在虚拟用户终端观察功能服务器的输出结果。道路计划:虚拟用户终端输入道路计划任务请求,在虚拟用户终端观察功能服务器的输出结果。动态导航:虚拟用户终端输入信息动态导航请求,在虚拟用户终端观察功能服务器的输出结果。安全保障:虚拟用户终端输入用户安全保障请求,在虚拟用户终端观察功能服务器的输出结果。记录管理:虚拟用户终端输入用户记录管理请求,在虚拟用户终端观察功能服务器的输出结果。测试时使用北京市电子地图作为测试用地图。三、测试结果(一)、用户信息类功能测试用户信息类功能测试包括对用户安全保障和用户记录管理功能的测试。1用户安全保障测试用户身份验证功能可以从两个方面进行观察:l 用户界面显示如下图所示。l 在安全保障服务器的显示如下图所示。2用户记录管理测试用户记录管理功能可以从两个方面进行观察:l 在记录管理服务器的显示如下图所示。l 在用户记录数据库中的数据如下图所示。UserBillingUserIDRequestTimeServiceTypeDurationServiceFee12002-6-7,22:19:2670¥1.0012002-6-7,22:19:2370¥1.0012002-6-7,22:19:2270¥1.0012002-6-7,22:19:2070¥1.0012002-6-7,22:19:1670¥1.0012002-6-7,22:19:1570¥1.0012002-6-7,22:18:5050¥5.0012002-6-7,22:18:3530¥3.00(二)、地理信息类功能测试1任务决策中心监控功能测试给出北京市的电子地图,程序显示的地理信息如下图所示,符合预期的要求上图显示的是路口与道路对象(其中路口用星形表示,道路用黑线表示)上图为建筑对象的显示结果(由于建筑数目过多,与路口、道路对象分开显示)2信息查询任务测试信息查询测试通过业务客户端的辅助进行:在业务客户端输入信息查询任务,并且观察信息查询结果的输出。这里使用比较典型的位置坐标查询测试,其界面显示结果如下图所示。(注:测试时为方便起见,使用的是建筑的ID)上图的测试结果表明,功能服务器能够实现基本的信息查询服务。3分类检索任务测试由于项目进行过程中获得的数据源中有关建筑物类型方面的资料不十分完备,分类检索任务目前尚无法实现,项目的下一阶段将加强这方面的工作。4道路计划任务测试通过业务客户端的辅助进行,由业务客户端发出任务请求,并观察业务客户端的任务结果。测试两个指定地理位置之间的道路计划。起点:北京大学终点:北京站优化条件:距离最短(下图为业务客户端的任务输入与结果输出)(任务决策中心显示的道路计划结果:计算北京大学到北京站的交通路线结果,交通路线为图中由星型组成的路径)运算时间:2ms,3ms(共进行两次计算)5动态导航任务测试动态导航测试的结果可以从业务客户端的两个方面进行观察:用户界面和内部观察界面(为测试方便另行编制)。这里使用比较典型的建筑到建筑(北京大学=>清华大学)的动态导航测试,为测试的方便,输出结果使用了结点的ID。n 用户界面显示结果如下图所示。n 内部观察界面显示结果如下图所示。第八章 附录(Appendix)外部辅助系统根据对PTGRP系统的分析,系统需要以下两个外部辅助系统:l 地理数据源:系统内部需要的地理信息数据库,需要相应的数据源来提供;l 人机界面:系统测试时需要使用人机界面来仿真实际的移动通信平台。地理数据源地理数据源是应系统内部地理信息数据的要求而提出的,它向系统提供基本的地理信息数据库。1需求根据地理数据源的定义,可以得出其需求有:l 能够以指定格式提供内部需要的地理信息,包括:n 静态信息:城市道路交通网(含建筑),要求包含一系列地理信息对象及其图形化表示,包括:道路(折线)、建筑(点)、路口(点)、街区(多边形)。n 动态信息:实时的道路交通状况,要求能够动态的获得每一条道路的实时交通状况。l 能够被系统方便的操作,包括插入/删除/修改/检索等等。因此,地理数据源实际上包含两个部分:以城市道路交通网为基础的静态数据源和以实时道路交通状况为基础的动态数据源。2设计根据地理数据源的需求,应该对静态和动态数据源予以分别设计。l 静态数据源系统需要的静态数据源应该包含一系列地理信息数据。考虑到这些数据并非我们的专业方向,因此我们并不准备自行收集,而是向相关领域的专业人士寻求帮助与合作。根据调研发现,我们可以获得由相关机构(如国家测绘局)提供的数字化电子地图,就可以获得足够详细的城市道路交通网数据信息。但是,经过对电子地图的格式研究后发现,电子地图与我们的静态数据源需求还存在以下主要差距:n 电子地图中没有所谓路口和街区的概念;n 电子地图的道路是多边形,而非需要的折线;因此,对于得到的电子地图还需要进行相应的数据格式处理和转换,以获得需要的静态地理信息数据源。为了实现这一转换,可以有很多不同的办法。我们参考相关领域的设计经验,选用地理信息系统(GIS)来实现数据转换模块,具体采用较为流行、易用性和功能都比较出色的MapInfo(及其附件MapBasic)作为GIS的软件平台。使用MapInfo/MapBasic对电子地图进行处理,经过以下几个主要步骤后,就可以得到系统需要的静态数据源:n 将道路对象由多边形转换为折线;n 利用道路的交点和起止点,产生路口对象;n 数据整理:删除重复数据、合并无意义的数据等等。l 动态数据源系统需要的动态数据源应该包含实时的道路交通数据。出于和静态数据源同样的考虑,我们最初也不准备自行收集,但是经过调研后发现,这些数据已经被我国政府定为“国家战略数据”,无法获得,因此只能自行解决这一问题。由于PTGRP系统建立在移动平台上,因此可以实时的获得用户的