




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
pda与台式机数据库交互软件的开发摘要:随着通信技术的迅速发展,智能手机集成了越来越多的功能。大量的信息被存储在智能手机中。pc作为数字家庭信息存储和数据处理的中心,如何在pc与pda之间进行数据交换,有效地管理pda内部信息资源,已经成为一个迫切的需求。pda交互软件就是满足这样的需求。pda交互软件目的就是通过pc备份和管理pda内部信息。以及借助于pc强大的处理能力和易用性,来加强pda的功能。本课题通过研究市面主流pda的功能特点,归纳整理了pda交互软件的共同功能,对交互软件的通用框架进行了设计。本课题分析并实现了相关的协议,包括at、obex、sms,cvard等。pda通过串口、红外、蓝牙等通信方式与pc进行通信,进行数据交换。交互软件对pdasms、电话本、联系人、图片、铃声和文件夹进行管理。主要管理操作包括从pda下载资源至pc、从pc上载资源至pda、删除、修改等。关键词:pda软件; 数据库abstract:with the rapid development of the conununieation technology,moreand more funetions have been integrated to cell phone.there are abundant data are stored in cell phone. pc as the center of the future digital fmaily in data store and proeess,it is a critieal requirement that exchange data between pc and cell phone,and manage the internal data of the cellphone. the cellphone synehronization software is meet with this requirement. it baekups and manages the data in cell phone.and by recurring to the proeess ability and user-friendly nature of pc,it strengthens the funetion of cell phone.in this thesis,the funetions of mainstream cell phone in the market are analyzed.the funetions of the cell phone synehronization software are introduced. and a universal infrastrueture of the cell phone synehronization software is designed. protoeols in eluding at,obex,sms,and vcard are analyzed and implemented in this thesis.thecell phone eonununieates with pc by serial port,irda,and bluetooth. sms,phonebook,eontaet,image,tone and file sin cell phone aremanaged by cell phone synehronization software. its management operations inelude download ingre souree form cell phone to pc,uploading resource from pc to cell phone,deleting and modifying resource on cell phone throughpc.keywords: cel1 phone software;database目录第一章 绪论21.1课题背景及研究意义21.2相关协议31.2.1 at协议概述31.2.2 sms协议概述51.2.3 obex协议概述7第二章 系统需求分析与总体设计92.1面向对象技术概述92.2软件建模与uml概述112.3系统硬件与运行环境142.4系统需求分析152.5系统总体设计17第三章 数据库交互在终端中的设计与实现203.1概述203.1.1开发调试环境和开发过程203.1.2基于组件的开发设计方法223.2设计目标233.3数据交互软件体系结构设计243.4交互协议关键模块的设计与实现273.4.1交互控制模块273.4.2数据交互处理模块283.4.3其他模块30第四章 界面系统及系统测试324.1界面子系统的实现324.1.1 pda连接324.1.2 pda基本信息334.1.3短消息管理344.1.4电话薄管理352.1.5文件管理364.2系统测试364.2.1相关调试工具364.2.2功能测试37结论39致谢40参考文献41第一章 绪论1.1课题背景及研究意义随着移动通讯和电子技术的不断发展,智能手机越来越成为人们日常生活工作中必不可少的通讯工具。信息产业部2004年上半年的统计数字显示,我国pda的保有量已经达到3千万部。近年2. 5 g和3g通信技术的出现,以及电子技术飞速发展,也使得当今智能手机的功能日益强大。智能手机已经不仅仅是传统的打电话工具。又因为智能手机操作系统的逐渐智能化,使得智能手机有能力承受越来越多的新功能,比如:pda、数码相机等等。更加引人注目的是智能手机上能运行各种各样的增值服务,比如短信、彩信、java游戏等等。随着人们对生活质量越来越搞的要求,智能手机上将有越来越多的智能化,个性化的服务。比如:下载pda游戏、电子邮件收发、个人信息交互。随着智能手机上提供的服务越来越多,pda上所需要管理的信息也越来越多。需要有一种手段对这些信息进行处理和备份。由于pda的处理能力局限在一定的范围,这种局限不仅是资源和处理能力的局限,在操作方便性也受到很大的限制。,新一代通讯标准的出现,使得人们使用具备高级商务及应用的智能移动计算设备成为可能。且这些移动设备以令人惊奇的速度得到商业化推广,如世界上的各大通讯巨头和有实力的大公司纷纷推出能提供多种服务和商务功能的pda,pda等。这些移动设备在存储容量,计算能力等性能方面取得了重大突破,要充分发挥这些优势,在这些商业或开放源码的底层支撑软件不断发展的同时,随着人们对智能移动终端的需求不断提高,以及在移动终端日益提高的数据储存,处理能力的驱动下,交互平台上的应用协议,标准也在不断发展并得到应用。这也为运营商不断推出各种数据业务和应用服务提供了一个很好的条件和平台。目前pda和pc交换数据的通讯方式主要通过串行数据线、红外适配器、或蓝牙适配器。本课题在此方案基础上,深入研究了pda和pc机数据库交互功能的设计和实现,作为智能通讯终端的一种典型应用,为其他的应用开发提供了参考。1.2相关协议 1.2.1 at协议概述欧洲电报电信标准组织(ets)i的gsm标准是移动技术的工业标准。随着智能手机短消息(sms)的成功,为了统一智能移动模块的编解码以及控制标准,九十年代初,诺基亚,爱立信,摩托罗拉和惠普共同为gsm研制了一整套标准,包括控制智能手机的at命令集,sms及pud的编码格式。at指令在当代pda通讯中起着重要的作用,能够通过at指令控制pda的许多行为,包括拨叫号码、按键控制、传真、gprs等。以下示例at指令用法:1.测试命令在at指令后面加上“=?”即构成测试命令。例如“at+cscs二?”会列举出所有支持的字符集。2.读取命令在at指令后面加上“?”即构成读取命令。例如“at+cscs?”会列举出当前设置。3.执行命令一般而言在at指令后加上,=”及命令参数即可。有些命令例如at+cmgr命令没有参数,直接就可以执行。由于gsm制定时间的问题,各个厂商的at指令可能不尽相同。表1-1所列出的at命令基本上通用,更详细的资料需要查阅pda生产商的资料。表1-1常用at命令及作用 1.2.2 sms协议概述短消息业务以数字蜂窝终端发送和接收字母数字消息的能力为基础。与普通的寻呼业务不同的是,gsm短消息的传递是有保证的。即使一个目的蜂窝终端不可达(比如关机或不在服务区内),网络也会保留发给它的消息并当该蜂窝终端又出现在网络中后传递。短消息业务(通过gsm)以较低的延迟支持国际漫游,因此特别适合多用户寻呼、meail、语音邮件通知和消息类业务等应用,但具体提供给用户的各种功能和相应的收费在很大程度上仍依赖于网络运营商所提供的服务水平。短消息分为两类一小区广播短消息(cbs)和点到点短消息(sms)。通常提到的短消息业务主要是指点到点短消息。小区广播短消息业务是将消息发送给该小区中有能力接收短消息并注册了该项信息服务的活跃pda或移动台,典型应用是发送关于路况、天气预报、股市行情等消息。在点到点短消息业务中,消息可以是从一个移动台发送到另一个移动台,从一个cp到一个移动台,或者相反。这些消息由短消息中心(smsc)来保存,并在可以传递时转发消息。每个gsm网络必须支持一个或多个smsc对消息进行分类和确定路由。sms使用557信令信道来传输数据分组,因此允许用户在做一个话音或数据呼叫的同时接收一个文本消息。同时,sms是目前gsm网内唯一采用分组方式的数据业务。一个活跃移动台应该能够在任何时候发送和接收一个短消息的传输协议数据单元(tpdu),不管当时业务信道上是否有正在进行的话音和数据呼叫。sms网络结构的主要部分见图1-3:图1-3 sms网结结构在确定一个移动台终结短消息的路由时,smsc把短消息转发到短消息业务/网关移动交换中心(sms一gmsc)。sms一gmcs向目的移动台的归属位置寄存器h(rl)询问路由信息并把消息发送到合适的移动交换中心(msc),由该msc把消息发给目的移动台。相反,当确定一个移动台发起的短消息路由时,移动台根据全球称谓(glbo1atitl)e寻址到需要的smcs。如果是在外漫游,被访问的移动网将把短消息路由到合适的短消息业务/互连移动交换中心(sms一iwmsc)。移动台终结sms(sms一mobileterminated,sms一mt)是指移动台从smsc接收sms的能力;而移动台发起sms(sms一mobileoriginated,sms一mo)是指移动台发送短消息到smsc的能力。移动台必须能够接收/发送短消息tpdu。在收到一个短消息后,移动台总要想smcs返回一个确认消息表示该短消息已经被成功接收。smc也会向移动台返回消息,表示一个tdpu是否己经被成功接收。移动台内的软件必须能够对短消息进行解码和存储。短消息也能存储在移动台的用户识别模块(sim)卡中供用户以后取用。当移动台不在服务区内或sim卡存储容量己满,smsc会保留短消息等移动台回到服务区或用户smi卡又有了存储空间之后再发送。如果一个移动台曾因存储容量不足拒绝接收的话,那么还应在又有接收一个或多个短消息的存储容量之后通知smcs。smsc用加时间戳的办法来唯一地标识每个短消息。短消息到达smcs的时间精确到秒,smcs必须确保给在同1秒内到达的两个或更多短消息赋予不同的时间截。协议结构sms协议分层见下图(图1-4)。短消息传送层(sm-tl)服务于短消息应用层(sm-al),使它能够与其对等层交流短消息,并接收对先前的请求接收情况报告的确认。图1-4点到点sms协议分层sm-tl与其对等实体交流协议数据单元(pdu)。sm-tl定义了6类tpud,见下表1-2。短消息中继层(sm-rl)通过短消息链路层(ms-ll)传送pud。关于协议细节请参照gsm03.40。表1-2 smstpdu类型1.2.3 obex协议概述obex全称为objectexchang。,中文称对象交换,所以称之为对象交换协议。它在pdapc同步软件当中有着核心地位,文件传输和irmc同步都会使用到它。obex协议构建在irda架构的上层。obex协议通过简单的使用put和get命令实现在不同的设备、不同的平台之间方便、高效的交换信息。支持的设备广泛,例如pc、pda、电话、摄像头、自动答录机、计算器、数据采集器、手表等等。obex协议定义了一种柔性的概念objects,也即是对象。这些对象可以包括文件,诊断信息,电子商务卡片,银行的存款等等。objeots在这里没有高级的技术含义,而是视你的应用而定。obxe协议小到可作“命令和控制”功能,例如对电视机,录像机等的操作。大到可以做很复杂的操作,例如数据库的事务处理和同步。obex具有以下几个特点:友好的应用,可实现快速开发;紧缩,可用在资源有限的小型设备上;跨平台;柔性的数据支持;方便的作为其他internet传输协议的上层协议;可扩展性,提供了对未来需求的扩充支持而不影响现存的实现,例如可扩展安全,数据压缩等;可测试可调试。obex对象模型obex对象模型包括了传输的对象和对对象的描述。为了做到这点,obex定义了headesr的概念。一个haeder反映了一个对象的一个方面,例如名字、长度、描述文字或者对象本身。例如,一个文件对象dmeo.txt会包含它的名字,一个类型标识为,txet”,长度和文件本身。headers简单的由(headerid和组成,简称为hl)和。hl由一个字节组成,指出了haeder包含的内容以及它的格式。hv包含了一个或者多个字节,其结构由hi所决定。所有的haeder都是可选的,取决于设备的类型和事务的种类。你可以使用所有的haeder,或者一些,或者没有。功可以使hedaer可解析以及与传输顺序无关,也可以使不支持的header被忽略掉。请求和回应obex使用request和response作为最基本的操作。请求的每个request必然有一个response,否则可认为request失败。request由一个或多个的包组成,每个包的结构由操作码,包长度,headesr或请求信息组成。response也由一个或多个包组成,每个包的结构由返回值,返回长度和返回数据组成。obex协议的主要操作包括conneet,diseonneet,put,get,abort,setpath等。对于更多关于obex的说明请参考ir0bex。第二章 系统需求分析与总体设计2.1面向对象技术概述面向对象的软件开发和相应的面向对象的问题求解是当今计算机技术发展的重要成果和趋势之一。面向对象的开发强调从问题域的概念到软件程序和界面的直接映射;心理学的研究也表明,把客观世界看成是许多对象更接近人类的自然思维方式。对象比函数更为稳定;软件需求的变动往往是功能相关的变动,而其功能的执行者-一对象-一通常不会有大的变动。另外,面向对象的开发也支持、鼓励软件工程实践中的信息隐藏、数据抽象和封装。在一个对象内部的修改被局部隔离。面向对象开发的软件易于修改、扩充和维护。面向对象也被扩充应用于软件生命周期的各个阶段一从分析到编码。而且,面向对象的方法自然而然地支持快速原型法和ard(rapid application development)。面向对象开发的使用鼓励重用,不仅软件的重用,还包括分析、设计的模型的重用。更进一步,00技术还方便了软件的互换性,即,网络中一个节点上应用能够利用另一个节点上的资源。面向对象的开发还支持并发、层次和复杂等一些在目前的软件系统中常见的现象。今天我们常常会需要建造一些软件系统不止是一黑盒应用。这些复杂系统通常包含由多个子系统组成的层次结构。面向对象的开发支持开放系统的建设;利用不同的应用来进行软件集成有了更大的柔性。最后,面向对象开发的使用可以减小开发复杂系统所面临的危险,主要是因为系统集成遍布软件生命周期的各个阶段。面向对象的程序设计是以需解决的问题中所涉及到的各种对象为主要矛盾.面向对象问题的求解就是力图从实际问题中抽象出这些封装了数据和操作的对象,通过定义属性和操作来表述他们的特征和功能,通过定义接口来描述他们的地位及与其它对象的关系,最终形成一个广泛联系的可理解,可扩充,可维护,更接近于问题本来面目的动态对象模型系统.对象的概念是面向对象技术的核心所在,所有的面向对象的程序都是由对象来组成的,它们是自治的,自恰的,同时它们还可以互相通信,协调和配合,从而共同完成整个程序的任务和功能.状态和行为是对象的主要属性,对象的状态主要是指对象内部所包含的各种信息,而对象的行为主要表述对象的动态属性,它的作用是设置或改变对象的状态.对象之间的关系是多种多样的,可以互相包含,又可以互相传递信息.面向对象的软件开发过程可以大体划分为面向对象的分析(ooa object oriented analysis),面向对象的设计(ood object oriented design),面向对象的实现(oop object oriented programming)三个阶段.介绍几种面向对象方法的优点.1.可重用性是面向对象软件开发的一个核心思路.面向对象程序设计的抽象,封装,继承,多态的四大特点都无一例外,或多或少的围绕着可重用性这个核心并为之服务。可重用性体现在两个方面: (1)开发的类可以被别人以及别的项目使用 (2)由于可以继承,因此可以实现代码级的重用.2.可扩展性是对现代应用软件提出的又一个重要要求,即要求应用软件能够很方便,容易的进行扩充和修改,这种扩充和修改的范围不但涉及到软件的内容,也涉及到软件的形式和工作机制.面向对象的程序设计可以用很好的可扩充性.这是由于类可以根据人对事物的理解而进行丰富,没有必要进行作大的改动,可以利用继承,对新的类添加属性和方法.用它可以生成系统的简单雏形,在征求用户的意见,在加入新的类,以及类的方法与属性等.3.可管理性由于以前版本管理主要是管理函数以及全程变量,而函数可以有很大的变动,同样,全程变量也可以有较大的变动,但是,对于面向对象程序设计来讲,一个系统是有对象来组成的,而对象是由类生成的,因此只需管理类就行,一个系统中,类是相对稳定的,因此便于管理.众所周知,面向对象思想只是一种软件开发的方法论,是作为一种分析、设计和实现的指导性思想。目前,支持oop的编程语言有很多。典型的是c+和java,因为它们在语言的层面上,提供了类、对象、继承和多态等面向对象编程等核心特性的支持。然而,语言只能简化oop的开发难度。使用非00编程语言可以进行oop。由于本系统用户界面系统使用delphi语言开发,核心通信部分使用c/c+开发。delphi所使用的大量接口,都是采用c语言实现的。在实现这些接口时,较好的使用了00思想。在c语言中,通过使用包含函数指针的结构体和使用组合,可以较好的模拟c+的对象模型。从而方便了delphi的使用,也能较好利用面向对象思想的好处。2.2软件建模与uml概述模型是对现实存在的实体的抽象和简化,模型提供了系统的蓝图。模型过滤非本质的细节信息,抽象出的问题本质,使问题更容易理解。抽象是一种允许我们处理复杂问题的方法。为了建立复杂的软件系统,我们必须抽象出系统的不同视图,使用精确的符号建立模型,验证这些模型是否满足系统的需求,并逐渐添加细节信息把这些模型转变为实现。这样的一个过程就是模型形成的过程,建模是捕捉系统本质的过程,也就是把问题从问题领域转移到解决领域的过程。软件建模是开发优秀软件的一个核心工作,其目的是把要设计的结构和系统的行为联系起来,并对系统的体系结构进行可视化和控制。可视化的建模的是使用一些图形符号进行建模,可视化建模的作用如下:它可以捕捉用户的业务过程,可以作为一种很好的交流工具,可以管理系统的复杂性,可以定义软件的架构,还可以增加重用性。本文所提的建模都是指可视化建模。现在的软件越来越大,大多数软件的功能都很复杂,使得软件开发只会变得更加复杂和难以把握。解决这类复杂问题最有效的方法之一就是分层理论,即将复杂问题分为多个问题逐一解决。软件模型就是对复杂问题进行分层,从而更好地解决问题。这就是为什么要对软件进行建模的原因。有效的软件模型有利于分工与专业化生产,从而节省生产成本。也是为了降低软件的复杂程度,便于提早看到软件的将来,便于设计人员和开发人员交流使用。对于软件人员来说,模型就好像是工程人员的图纸一样重要。只是目前来看软件模型在软件工程中的重要性还远远没有达到图纸的在其它工程中地位。使用模型有如下的好处:使用模型便于从整体上、宏观上把握问题,可以更好的解决问题。可以加强人员之间的沟通。可以更早的发现问题或疏漏的地方。模型为代码生成提供依据。模型帮助我们按照实际情况对系统进行可视化。模型允许我们详细说明系统的结构或行为。模型给出了一个指导我们构造系统的模板。模型对我们做出的决策进行文档化。作为基于面向对象技术的标准建模语言。uml代表了面向对象方法的软件开发技术的发展方向。uml融合了booch, omt和oose方法中的基本概念,而且这些基本概念与其他面向对象技术中的基本概念大多相同。因而,uml必然成为这些方法以及其他方法的使用者乐于采用的一种简单一致的建模语言:其次,uml不仅仅是上述方法的简单汇合,而是在这些方法的基础上广泛征求意见,集众家之长,几经修改而完成的,uml扩展了现有方法的应用范围;第三,uml是标准的建模语言,而不是标准的开发过程。作为一种建模语言,uml的定义包括uml语义和uml表示法两个部分。uml语义描述基于uml的精确元模型定义。元模型为uml的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外uml还支持对元模型的扩展定义。uml表示法定义uml符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是uml元模型的实例。标准建模语言uml的重要内容可以由下列五类图(共9种图形)来定义:1.用例图(use case diagram):从用户角度描述系统功能,并指出各功能的操作者。2.静态图(static diagram):包括类图、对象图和包图。其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。3.行为图(behavior diagram):描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。4.交互图(interactive diagram):描述对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。5.实现图(implementation diagram):其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。从应用的角度看,当采用面向对象技术设计系统时。首先是描述需求;其次根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图(包含包)、对象图、组件图和配置图等五个图形,是标准建模语言uml的静态建模机制。其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语言uml的动态建模机制。因此,标准建模语言uml的主要内容也可以归纳为静态建模机制和动态建模机制两大类。uml的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。总之,uml是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。uml适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用uml类图来描述。为实现用例,类之间需要协作,这可以用uml动态模型来描述。在分析阶段,只对问题域的对象(现实世界的概念)建模,而不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通讯和并行性等问题的类)。这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供更详细的规格说明。编程(构造)是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。在用uml建立分析和设计模型时,应尽量避免考虑把模型转换成某种特定的编程语言。因为在早期阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编码问题十分不利于建立简单正确的模型。uml模型还可作为测试阶段的依据。系统通常需要经过单元测试、集成测试、系统测试和验收测试。不同的测试小组使用不同的uml图作为测试依据:单元测试使用类图和类规格说明;集成测试使用部件图和合作图;系统测试使用用例图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。总之,标准建模语言uml适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。2.3系统硬件与运行环境pda交互软件的主要目的是在pc与移动电话之间进行数据交换。涉及到的硬件主要包括pc机、pda和通信装置。系统的硬件结构图2-1:目前市面上各种品牌的pda型号多达几百种。对于大部分pda来说,配备了数据线、红外或蓝牙等通信方式中的一种。对于那些没有配备跟外部设备通信手段的pda来说,是无法为其开发交互软件的。一般来说,通过数据线跟外部进行通信的pda来说,都是采用串口通信的方式。数据线通信通常是不兼容的。也就是说,一款pda的数据线很可能不能在另一台pda上使用。而对于红外和蓝牙设备来说,它们都集成在pda内部。在pc端,也需要一个红外通信装置或蓝牙装置跟pda端的红外或蓝牙设备进行通信。但pc端的红外和蓝牙装置一般都是通用的。可以在不同的pc机上跟不同型号pda进行通信。由于当前主流的桌面系统是windows操作系统,具有庞大的用户群和良好的操作界面。所以,本系统的ui子系统运行在windows平台下。由于和pda通信的部分,所涉及的协议和接口都是通用的。所以通信部分应该是平台无关的。2.4系统需求分析软件需求包括三个不同的层次,业务需求、用户需求和功能需求。也包括非功能需求。业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。用户需求(user requirement)文档描述了用户使用产品必须要完成的任务,这在用例(use case)文档或方案脚本(scenario)说明中予以说明。功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。所谓特性(feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。开发软件系统最为困难的部分就是准确说明开发什么。如果需求分析没有做好,将对软件产生致命的影响。错误的需求,或者不明确的需求,将导致错误的设计或无用的设计。本文采用面向对象的分析(ooa)来进行需求分析,采用面向对象的设计(00d)来进行系统总体设计和详细设计。对软件的建模,采用基于uml技术的rational rose做为建模工具。目前市面上虽然pda的价格和性能会相差比较大。制造商和型号也非常的多。然而,pda基本的功能还是具有普遍性。在分析不同pda功能的基础上,我们确定了系统的总体功能需求如下(图2-2)下面是对各模块的简短说明。论文的后面部分将围绕这几个功能模块进行展开。短信管理:编辑短信、发送短信、存入短信至pda、下载短信至电脑保存、打印。提供多种形式的群发支持、长短信自动分拆、状态报告(回执)。基本信息显示:显示pda的基本信息,包括:制造商、型号、软硬件版本、电量、信号、运营商、序号、imei等信息。文件管理:将pda当作u盘使用,通过windows资源浏览器管理pda文件系统。可直接操作pda中文件化存储的各种资料,如图片、铃声、java程序等。对文件的操作包括从pc上传文件至pda、下载文件至pc、删除文件、对文件改名等。图片管理:将个性化图片上传至pda、浏览并下载pda图片、图片编辑。从屏幕直接抓取图片,上传至pda。对图片文件的基本操作同文件管理。铃声管理:将个性化铃声上传至pda、从pda下载至pc、浏览pda铃声、铃声试听。对铃声文件的基本操作同文件管理。名片管理:名片一般包括姓名对pda存储器上及sim卡上的名片进行新增、修改、删除、打印、备份。联系人管理:对pda存储器上的联系人进行新增、修改、删除、打印、备份。本文所指的名片是指存储在sim卡或pda上姓名号码信息,一般名片是一个值对,只有姓名和号码两个数据项。联系人一般是存储在pda存储器上的,它比名片包含更丰富的数据。包括地址,email,备注等信息。一般来说,pda是否含有联系人信息以及联系人包含哪些数据项目取决于pda的具体实现。2.5系统总体设计系统的总体设计的主要目的是将需求转化为系统结构和功能模块,并逐步开发出强壮的系统构架。总体设计还需要考虑设计必须适合于实施环境,这包括目前的环境以及未来的变更,并为提高性能而进行设计。在系统需求分析阶段产生的模型和文档,是系统总体设计的主要依据。根据这些文档,把业务领域的模型转化为软件领域的模型。总体设计产生的模型是高层次的,模块级别的,不过多考虑具体实现方法。在详细分析阶段,将对总体设计进行各个模块进行细化和分解。在总体设计阶段,不仅仅要考虑系统模块划分。同时还需要考虑系统框架,考虑系统稳定性、可扩展性和弹性。在本课题中,系统的总体设计如下图(图2-3):总体设计的七个接口分别对应用例图中(图2-1)各个用例的功能。下面分别对总体设计图中其他模块的功能进行简要说明:用户界面子系统:提供用户操作pda的界面。主要包括图形界面、数据库管理模块。用于在pc上保存联系人,sms,图片等信息,并对它们进行编辑。管理多个pda用户帐号的资料。功能插件模块:相当于各个功能接口的类工厂,提供各个功能接口的具体实现。ui通过抽象的功能接口访问具体实现,而功能插件模块的功能就是屏蔽不能pda之间的实现差异,为上层提供统一的接口。obex协议模块:实现obex协议,并提供高层接口。由于obex协议比较复杂,本文所描述的只是使用该协议的高层接口。at协议模块:实现at协议。通过该协议,用户可以使用at命令与pda进行通信,操作pda,返回数据。sms协议模块:实现sms协议。通过该协议模块,pc软件可以通过pda来进行短消息的读取、修改和发送。vcard/vcalendar协议模块:提供vcard八calender协议的编码和解码支持。vcard格式是一种中间交换格式,不同pda名片的内部格式都需要转化为vcard对象,上层就可以统一的进行处理。工具库:包括字符转码函数库、字符串处理函数库、内存块处理函数库、抽象文件接口以及其他相关的编码解码函数库。通信接口:类似socket接口,屏蔽底层物理通信差异,为上层提供一致的通信接口。通信插件模块:通信接口的具体实现。针对红外、蓝牙、串口等通信方式分别进行实现。辅助调试模块:对系统进行调试的辅助模块。虚拟任务子系统:提供平台无关的任务子系统,包括任务池、定时器池和通信原语来保证任务间的交互。红外、蓝牙、串口通信:提供特定平台下的红外、篮牙以及串口通信的api,用于建立、维护、删除物理通信连接,在建立的连接上进行数据的收发。这些api都是平台相关的api。第三章 数据库交互在终端中的设计与实现3.1概述前几章对智能移动终端的应用子系统,通讯子系统的软件平台框架,以及gui的设计问题作了比较详细的论述,对于智能移动终端的系统支撑平台有了一个全面的认识。但是,智能移动终端是一个复杂的系统,它是集多种高级商务功能,多媒体,各种娱乐和游戏与一体的高端通讯终端,要开发这样一个系统,了解他的整体系统框架是非常重要也是必需的,但这还不够。因为在这样一个资源受限的系统环境中开发功能复杂的应用程序也是至关重要的一环,这涉及到具体应用要支持的协议和标准,应用程序的架构设计以及开发设计过程与方法等诸多问题。本章以前一章对数据交互协议的分析为基础,着重对智能移动终端的重要应用之一数据交互应用在系统中的设计与实现进行阐述,也可为其他的应用程序开发提供一个参考。3.1.1开发调试环境和开发过程根据前面的论述,本课题所讨论的移动智能终端采用嵌入式linux操作系统作为应用子系统的支撑平台,并对嵌入式linux的内核,boot loader,文件系统的设计与开发作了论述。gui平台采用trolltech公司的qte,qte是针对嵌入式环境对qt进行优化后推出的版本。qt是基于c+构造的,所以具备面向对象编程(oop,object oriented programming)的一切优点。同时它利用预编译器和宏在代码级实现其跨平台特征而非运行级,因此使得不同的平台需要单独编译qt库,而不需要虚拟机的支持。如果说java是一次编译,到处运行,qt则是一次编码,到处编译。我们讨论的交互应用分为交互客户端和交互服务端,由于windows的桌面系统应用甚广,所以交互客户端基于windows平台开发。换言之,利用qt在代码级的跨平台特性,交互服务端运行在智能移动终端上,基于嵌入式linxu和qte平台构建,交互客户端运行在windows主机上,基于windows和qt构建,客户端程序也可在其他平台上编译,因为qt是在代码级跨平台的。另外,对于开发象数据交互这样的应用来说,qte丰富的api也提供了良好的支持。qte除了提供功能强大的图形引擎,窗口及窗口部件系统外,还提供了对网络,i/o操作,和xml等诸多功能的支持。对于智能移动终端的应用开发,建立一个方便的调试开发环境是非常重要的。调试开发环境所需的软、硬件及其连接如下图所示:图3-1调试开发环境图上图中,目标板是一个仿真的智能移动终端,是交互服务端的运行平台,嵌入式linux和qte,boot loader等能正常工作,usb网口与linux主机的usb网口相接,可看成一个内部的局域网。调试串口与windows主机相连,输出调试信息到超级终端。由于在开发阶段,应用程序映像文件使用的是调试版本,比较大,无法在目标板的flash中写入并运行。所以将文件系统放在linux主机上,并由linux主机提供nfs(网络文件系统)服务。为了方便boot loader在下载模式工作,linux主机还必须提供tftp服务,方便下载内核映像和应用程序映像到目标板并写入。另外,linux主机还配置好usb网口,以方便与目标板建立网络连接。交叉编译环境也安装在linux主机上,交互服务端的编译在linux主机上进行。目标板通过调试串口与windows主机的超级终端相接,可通过超级终端查看调试信息并输入命令。windows主机与linux主机通过局域网连接,可进行网络通讯。由于交互客户端在windows主机上运行,windows主机需要经过linux主机与目标板通讯,linux主机同时与两个网段相连,此时可以看作是一个有转发功能的路由器。为了防止ip冲突,目标板侧最好处于私有网段中,在linux主机上配置nat服务来实现windows主机与目标板的通信是一个方便的途径,运行下面这种类似的脚本即可。其中,nic pub为转发的网络接口设备名称;subnet为源网段;server为目标地址。交互客户端的开发在windows主机上进行,服务端在linux主机上进行。整个开发过程可分为分析设计,编码,交叉编译,下载映像文件到目标板,分析调试,是一个循环优化的过程。3.1.2基于组件的开发设计方法目前基于组件的程序设计方法正在受到越来越多的重视和研究,像microsoft的com (component object model,组件对象模型),omg的corba (common object request breaker architecture,公共对象请求中介体系结构)以及sun公司的ejb这些组件体系也渐趋成熟。这些组件体系将形成新的软件开发平台,组件化的程序设计思想将使软件产业带来新的生机。组件的两个重要特性是:组件之间可以在二进制级别上进行集成和重用。在一个成熟的组件应用系统中,组件往往是来自不同的软件独立开发商。在这种情况下,获得全部或部分源代码几乎是不可能的,同时也是不必要的。组件必须被独立地生成、获得和配置。与环境和上下文无关是组件封装 性的体现。组件概念中对独立性和二进制形式构造方面的要求,使得诸如类型定义、宏、c+模板等等软件抽象形式都不能满足组件的基本要求,但是过程、类、模块、甚至是整个应用程序都可能满足组件的定义,只要它们满足组件的基本要求。组件接口是组件的另一个重要概念。它描述了组件对外提供的服务,组件和组件之间、组件和客户之间同时通过接口进行交互。因此组件一旦确定,它只能通过预定义的接口来提供合理的、一致的服务。这种接口定义的稳定性使客户应用开发者能够构造出坚固的应用。一个组件可以实现多个组件接口,同时一个特定的组件接口也可以被多个组件来实现。组件接口必须是能够自我描述的。这意味着组件接口应该不依赖于具体实现,将实现与接口分离彻底消除了接口客户和接口实现者之间的藕合关系,增强了信息的封装程度。利用这种组件化的程序设计思想来构建智能移动终端系统,这样每个模块保持一定的功能独立性,在i同工作时,通过相互之间的接口完成实际的任务。每一个这样的模块就是组件,这些组件可以单独开发,单独编译,甚至单独调试和测试,这样带来的好处是显而易见的。在qt平台上开发基于组件的程序,创建动态库用qmake工具是非常方便的。qmake是qt提供的工具,根据项目文件为不同的平台开发项目自动、高效地创建makefile。可在项目文件中设置变量的值来告诉qmake你的需求。比如设置模板(template)变量为 lib,表示要生成一个用于建立一个库的makefile,进而再把config变量设为dll意味着要建立一个共享库,设为staticlib表示是一个静态库等。3.2设计目标设计交互应用的目标是要通过交互客户端(运行在pc上)和交互服务端(运行在智能移动终端上)的l办议工作,完成pim (personal information management)数据的交互功能,实现文档的上传和下载。主要是以下的几个方面:可在操作方便的pc机上操作pim数据,并反映到pda上;通过pc机查看pda上的一些文档和信息;在pc机和智能移动终端进行pim数据交互,包括与第二方应用,如outlook的pim数据交互;在pc机和智能移动终端之间传送文档。3.3数据交互软件体系结构设计数据交互应用从整体框架来看可分为交互客户端和交互服务端,根据设计目标,本文提出了如图3-2所示的数据交互软件体系结构:图3-2交互应用软件体系结构上图中的客户端运行在基于windows平台的pc上,服务端运行在智能移动终端上。由于智能移动终端是一个嵌入式应用环境,存储空间和cpu处理等资源相对受限,因此数据交互功能的处理操作主要在客户端完成。下面先对客户端的层次结构进行阐述。可以说,交互客户端在服务端的协作下完成了交互应用的主要处理工作,除了提供一个应用表现层与用户进行交互外,还要完成交互数据处理,比较,交互流程的控制,交互数据的备份与导入/导出等相关功能。用户可通过客户端查看,操作智能移动终端的pim信息及文档信息,因此客户端还实现了一个本地的pim管理器,方便用户在pc机上编辑及更新个人及商务数据,以组件的方式实现,提供访问接口给应用表现层和交互控制模块。客户端的应用表现层直接面对用户并根据用户的操作调用应用的业务组件提供的功能和服务,在系统中,表现层提供一个与用户交互的界面主窗口与数据视图,所实现的功能很简单,就是把用户的操作转化成一些业务指令,然后调用下一层的应用业务组件接口函数,当被调用的组件完成服务返回结果后,它再把结果以某种可视的方式展现给用户。业务组件层是交互客户端实现的一个关键,它是利用组件技术进行构建的。根
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肉牛饲养技术分析总结
- 小书包课程体系讲解
- 现代体育教育技术
- 医院进修培训汇报
- 跳绳基本知识讲解
- 设备内部部件讲解
- 盆腔核磁检查技术
- 奢侈品包包讲解
- 学校流感处置指南解读
- 云南省玉溪市元江民中2026届化学高三第一学期期末调研模拟试题含解析
- 智人扩散路径重构-洞察及研究
- 三方委托付工程款协议书
- 2026年中考英语复习:初中英语课标词汇 80天语境背诵清单
- “苏超”现象:文化破圈、城市崛起与青年力量的融合交响-2026年高考语文作文热点话题素材积累与实战训练
- 制作教学课件的完整步骤
- 货运企业安全管理规范
- 《绿色物流与绿色供应链》PPT课件
- ISO13485-2016医疗器械质量管理体系全套资料(手册、程序文件、记录表单)
- 术前访视和术前准备注意事项.pptx
- 沪科版七年级数学上册全套ppt课件
- 特种车辆维护保养技术协议
评论
0/150
提交评论