您的当前位置:首页正文

移动终端详细设计

来源:华佗健康网
 “旅游笔记”详细设计说明书

1、

引言:

1、1编写目的:

在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设

计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。

在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的 程序语言书写的程序。主要的工作有:根据在《需求分析说明书》中所描述的数据、功能、运行、性能需求,并依照《概要设计说明书》所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等),解决如何

1. 接受:手机用户请求;

2. 输出:显示地图(美食记录)、路径选择、虚拟导游(查找足迹、随身物品提醒)、足迹显示;

3. 分辨信息的种类并采取相应的处理步骤; 4. 判断信息的正误并采取相应的处理步骤; 5. 进行数据库的查询、修改工作;

6. 接受并判断错误,输出相应的出错消息;

在以下的各个阶段中,《用户操作手册》将与本阶段的工作紧密结合,努力

作到让用户易懂易学。《测试报告》和《维护报告》也将参考本说明书,检验本系统的各项性能指标,及时发现纰漏及时修补,一定要把功能强大、稳定可靠、便于维护的机票预定系统交到用户手中。

1、2项目背景:

本手机“旅游笔记”系统项目主要由两部分形成:

1、 手机用户的前台客户程序; 2、 导航中的数据库服务器程序;

1、3文中特殊的定义和缩写:

1.3.1定义

SQL Server: 系统服务器所使用的数据库管理系统(DBMS)。 SQL: 一种用于访问查询数据库的语言

事务流:数据进入模块后可能有多种路径进行处理。 主键:数据库表中的关键域。值互不相同。

外部主键:数据库表中与其他表主键关联的域。 ROLLBACK: 数据库的错误恢复机制。

1.3.2 缩写

系统:若未特别指出,统指本机票预定系统。

SQL: Structured Query Language(结构化查询语言)。 ATM: Asynchronous Transfer Mode (异步传输模式)。

1、4参考资料

以下列出在概要设计过程中所使用到的有关资料:

1. 基于Android手机导航系统的研究与设计论文 2. 需求规格说明书

3. 软件工程 周苏、王文等 天津科学技术出 4. 软件工程 彭 重庆大学出版社

5. 软件工程方法与实践 窦万峰 机械工业出版社

文档所采用的标准是参照《软件工程导论》沈美明著 的“计算机软件开发文档编写指南”。

2.系统模块总体设计:

2 .1目标

本“旅游笔记”导航系统软件主要实现的功能为:

2.1.1

1. 实时导航。根据用户的当前GPS位置向用户提供实时导航数据,包括图形界面、语音、路线概览等信息。

2. 地图。可以显示用户可指定地点、指定比例尺的地图数据。 3. 地址查询。通过门牌号、城市名称、大型建筑物、飞机场、美食城、

最近公交车站等输入数据获得目的地址的地理坐标信息。

4. 热点搜索。根据用户指定的查询类别、查询中心点搜索出热点列表,供用户选择。

5. 照片定位。利用手机的照相功能,找到你所在地,并设置有照片实时分享工能。

6.私人导游。根据用户口令为用户提供查找线路的工能,每到一个地方便提醒该带有的随身物品。

2.1.2性能

1. 耗电量:本软件的耗电量极其低;

2. 流量:本软件对流量要求不高,只有当用户有请求联网需要时才使用 流量功能,比如:热点搜索、照片定位、私人导游等。

3.稳定性:只有手机性能能兼容此软件,运行就是稳定的。 4. 运行速度:只需要10秒时间就能实现用户请求。

5. 流畅度:导航箭头会根据用户的移动而移动,实时跟踪用户行踪。 6.资源占用:软件只需占用%2的资源。

2.1.3容错性

1. 可靠性:定位准确度高;

2. 可用性:软件会随时根据用户的反馈信息进行更新,以保证软件的不

失效。

3. 可测性:软件发现故障并隔离、定位其故障的能力十分灵敏。

2.2运行环境

硬件:智能手机; 系统软件: Android

操作系统。

2.3需求概述

地图管理、轨迹管理、导航路径、远程跟踪监视、照片定位、虚拟导游

2.4条件与限制

对于照片定位功能来说,如果地图管理服务器内没有照片能与用户拍

摄的照片相匹配,则此功能便不能实现;对于虚拟导游功能来说,由于手机的光亮度不是特别高,所以虚拟导游在光照太大(如:白天)的地方效果不明显,只能在稍暗(或夜间)的地方实现。

3、程序描述: 3、1 客户机模块:

3.1.1、拍摄照片

1.对图片定位中的图片的采集。

调用系统照相机拍照并进行保存

3.1.2、GPS定位

1. 发送定位请求

LocationProviderProxy.AMapNetwork,定位提供者名称;5000,位置变化通知时间,单位毫秒,设置数值为5000以上;10,位置变化通知距离,单位米;this,监听listener。

mAMapLocationManager.requestLocationUpdates(

LocationProviderProxy.AMapNetwork, 5000, 10, this); 2. 显示定位信息

使用以下方法回调定位信息,代码省略

3.照片定位

照片定位模块

返回地图 定位信息 图片匹配 查找手机上已经安装的分享软件(QQ等) 删除 保存 照片分享 照片 照相机 拍照定位 3.2服务器模块:

1. 照片匹配

(1) 获取上传图片 的轮廓。

代码省略

(3)与数据库的图片进行比较。

2. 存储照片

文件上传 以后以路径存入, 字段类型为blob。

3. 3地图管理模块

地图的的使用频率仅次于导航,经常会查看当前GPS点的地图信息。主要有以下几个功能:

1.平移,用户可以上下左右拖地地图。

2.缩放,对当前地图的比例尺进行变换。可以通过拇指与食指在手机屏幕上放大缩小。

3. 路况信息,根据第三方提供的路况信息,手机端可以从server拿到相关

数据,并通过对道路附着不同的颜色标识当时道路的拥堵情况;

4. 随行地图,可以设定地图随行模式,即地图的中心点使用保持为gps点,

它可以根据用户的移动,实时更新。

5. 地址反向查询。当用户浏览地图时发现自己的目的地,可以将地图中心移

至改点,Client将用户选择当前点的把latlon值发送给server,做地址反向查找,即通过gps点获取当前地址信息。之后用户可以通过此信息进行导航

3. 4地图管理模块的实现

3.4.1 在线地图

首先向Google申请一组经过验证的“地图密钥”(Map API Key),然后使用MapView(com.google.android.maps.MapView)就可以将Google地图嵌入到Android应用程序中,才能正常使用Google的地图服务[19] 。

“地图密钥”是访问Google地图数据的密钥,无论是模拟器还是在真实设备中需要使用这个密钥。

注册“地图密钥”的第一步是申请一个Google账户,也就是Gmail电子邮箱,申请地址是https://www.google.com/accounts/Login。

找到保存Debug证书的keystore的保存位置,并获取证书的MD5散列值 keystore是一个密码保护的文件,用来存储Android提供的用于调试的证书,获取MD5散列值的主要目的是为下一步申请“地图密钥”做准备。

获取证书的保存地址:首先打开Eclipse,通过

Window → Preferences打开配置窗体,在Android → Build栏中的Default debug keystore中可以找到。

为了获取Debug证书MD5散列值的,需要打开命令行工具CMD,然后切 换

到keystore的目录,输入如下命令: keytool –list –keystore debug.keystore

MapView的地图的显示控件,可以设置不同的显示模式,例如卫星模式、

街道模式或交通模式。 MapController则是MapView的控制器,可以控制MapView的显示中心和缩放级别等功能。下面的内容以GoogleMapDemo为例,说明如何在Android系统中开发Google地图程序。这个示例将在程序内部设置一个坐标点,然后在程序启动时,使用MapView控件在地图上显示这个坐标点的位置。

在建立工程时将com.google.android.maps的扩展库添加到工程中,这

样就可以使用Google地图的所有功能。 添加com.google.android.maps扩展库的方式是在创建工程时,

代码省略

主界面读取这段代码后,就会取得一个对象,使用Google地图进行一系

列的操作。

3.4.2任意界面的缩放

对于缩放我们可以使用自己定义的组件,也可以使用Android提供

的现有组件。

1.其中这个是在主界面中使用了系统的缩放组件。 主界面中使用下面代码获得缩放组件。

代码省略

2. 在其他界面我使用了自定义的缩放缩放组件。下面的代码: /* 缩小 */

代码省略

代码简单阐述了缩放的原理。

两种缩放的方法原理上大同小异,指示获取系统的缩放组件

会更方便一些

3.4.3随时定位个人位置

这个功能是每个界面都有的,对于导航系统来说也是最长用的功能。使用如下代码:

代码省略

这里面使用了Google提供的gps定位的方式,首先获得坐在位置

location,然后通过GeoPoint定位到自己中心。为了使用户更加明白的看清在地图上的位置。使用了OverLay,通过在MapView上添加覆盖层,可以在指定的位置加添加注解、绘制图像或处理进行鼠标事件等

3.5三维数据管理

1.建立三维人物数据库:三维人体数据库的建设和应用是一个巨大而复杂的系统工程。三维人物要服务于各智能手机用户,其数据库结构、数据格式等需要十分标准。

2.人体数据分析统计模型的集成应用:为了能更好地满足用户的需求,要对人物的体型、外貌、声音、动作等进行分析。

3.保证数据的安全性和完整性:防止非法用户进入系统访问和破坏数据,防止不符合语义的错误数据的输入输出。

4.基于互联网下的应用:要求在网络环境小实现三维人物的呈现。

3.5.1三维人物的显示

1.需要智能手机带有投影功能;

2.当用户发出虚拟导游请求时,软件自动将投影器打开,并开始向外进行投影;

3.用户可根据人物的显示效果进行人物的体征、声音、动作等选择。 4.系统数据流图

三维请求 发出请求 请求处理 向数据库确认 三维人物数据库 返回三维服务 确认请求数据

3.5.2地图的显示路线

地图的路线主要以两点之间路线显示,会根据两点间的路况来给出路线方

案:

1.步行路线:对于步行出行很重要的天桥、地下通道、人行道、广场、

公园、阶梯等设施,能更智能、更准确的给出导航路线。如果搜索的起点和终点的距离比较近,除了会提供步行的线路,还增加了很多适合步行的设施和通道。

2.公交路线:地图提供了公交方案查询,公交线路查询和地铁专题图

三种途径,满足生活中的公交出行需求。在搜索框中直接输入“从哪到哪”,或者选择公交,并在输入框中输入起点和终点;还可通过气泡或鼠标右键发起查询。右侧文字区域会显示精确计算出的公交方案,包括公交和地铁。最多显示10条方案,点击方案将展开,可查看详细描述。下方有 “较快捷”、“少换乘”和“少步行”三种策略供您选择。左侧地图标明方案具体的路线,其中绿色的线条表示步行路线,蓝色为公交路线。在搜索框中或公交线路查询页输入公交线路的名称,均能看到对应的公交线路。右侧文字区域显示该条线路所有途径的车站,以及运营时间,票价等信息,左侧地图则将该条线路在地图上完整的描绘出来。

3.驾车路线:在搜索框中直接输入“从哪到哪”,或者选择驾车,并

在输入框中输入起点和终点;还可通过气泡或鼠标右键发起查询。右侧文字区域会显示为精确计算出的驾车方案,下方有 “最少时间”、“最短路程”和“少走高速”三种策略供选择。左侧地图则标明该方案具体的行车路线。地图支持全国各城市间的驾车查询,在搜索框直接输入城市名,即可得到详细的驾车方案。方便快速的调整驾车路线,满足个性化需求。将鼠标移至地图上的驾车线路,会出现一个可供拖动的途经点,将鼠标拖动至想要经过的道路并松开,更新的驾车方案将经过您选择的道路。

因篇幅问题不能全部显示,请点此查看更多更全内容