LOGO2012年5月基于Android平台语音日程软件的设计与实现指导教师:答辩学生:汇报提纲一、课题背景二、研究内容三、研究成果四、本人主要工作在随着社会的发展,经济水平的不断提高,手机的使用越来越普及。同时伴随着移动互联网技术的发展,手机的功能也变得越来越丰富。Symbian,WindowsMobile,PalmOS等手机平台比较封闭,迫切需要一个具有开放性很强的平台。Android是一个专为移动设备设计的开放性软件平台。如今,一些语音识别的应用已经应用到实际生活中。课题背景汇报提纲一、课题背景二、研究内容三、研究成果四、本人主要工作论文的结构和主要内容第一部分第二部分第三部分第四部分论文研究的内容课题来源与目标课题来源于联想移动公司的智能手机项目——智能手机桌面个性化应用。课题目标主要是在Android平台上设计开发一个智能手机桌面应用程序——语音日程(AppWidget),通过语音识别来创建日程安排,管理日程事务。技术需求Androidwidget技术语音识别技术中文分词技术总体设计采用的模式设计整体层次设计各模块设计新建、管理、查看功能模块和数据库设计界面设计总体需求软件总体需求软件功能需求新建、接口、管理和查看功能模块软件性能需求技术需求分析1android平台技术,包括平台架构、应用程序组件、widget技术2语音识别技术,主要是科大讯飞语音识别接口技术3中文分词技术,主要是调用ICTCLAS4J词法分析系统的分词接口总体需求分析软件功能模块上分为四个部份,分别是新建模块、接口模块、管理模块、查看模块。每个模块又包含多个子功能模块。语音日程(widget)软件系统接口模块管理模块查看模块中文分词处理编辑分词结果创建新的日程时间提取接口预览日程列表删除日程列表查看具体日程内容语音录音录音结果编辑新建模块语音识别接口文字处理接口新建模块新建模块用例图用户创建新的日程编辑分词结果语音录音录音结果编辑中文分词处理接口模块接口模块用例图接口模块extendsinclude时间提取模块文字处理模块词性标注extends原子分词特定时间显示语音识别模块识别相关函数1*include系统管理模块管理模块用例图includeincludeincludeincludeinclude用户预览日程列表删除日程列表日程内容概况日程时间第x个日程第n个日程第1个日程查看模块查看模块功能用例图用户查看具体日程列表日程安排日程详情日程时间includeincludeinclude软件性能需求分析为了使系统有良好的可用性,使用户得到较好的用户体验,系统还应满足以下性能要求:(1)运行时内存使用不能超过48M(2)系统中文分词处理响应时间不应超过30S(3)语音识别结果的准确率应在90%以上总体设计系统的MVC设计模式新建模块层次结构设计图新建模块层次结构设计图用户视图层新建日程用户界面系统控制层系统流程控制外部服务层语音识别处理返回识别结果传递指令传递数据返回结果新建模块中文分词处理返回分词结果传递指令传递数据返回结果新建模块整个新建模块序列图CreateCalendar语音识别接口分词处理接口EnsureCalendar新建日程界面新建日程语音识别识别返回中文分词分词返回取消创建日程确定创建日程创建日程成功返回接口模块语音识别接口中文分词接口时间提取接口参数名参数解释sms普通文本转写poi地名转写vsearch热词转写语音识别engine的参数WordSegmentSegStrategy+pullTime()+ArrayListCreatDataInfo()PullTimeMethodsFMMBMM1111接口类图查看模块查看模块结构图用户视图层查看日程用户界面系统控制层系统对数据库操作流程控制数据交互层日程信息数据库Calender.db显示数据查看指令提取数据指令返回数据查看模块数据库设计选择SQLite数据库作为存储数据的方法建立数据库calendar_date.db创建一张calendar表,用于存储用户输入的日程相关信息calendarPK_idtimenamecontentcalendar表详细信息系统数据库表软件界面设计SpeechCalendarPro类图AppWidgetProvider+staticCALENDAR_ID()+staticSQLiteDatabase()+staticTABLE_NAME()+staticComponentName()+staticCALENDAR_UPDATE()+staticint[]mFields()+staticArrayListDataItem()+staticHashMapInteger,String[]()+RemoteViewsupdateCalendarItems(Contextcontext)()+voidonDeleted(Contextcontext,int[]ppWidgetIds)()+voidonDisabled(Contextcontext)()+voidonEnabled(Contextcontext)()+voidonReceive(Contextcontext,Intentintent)()+voidonUpdate(Contextc,AppWidgetManagerapp,int[]appWidgetIds)()+voidupDataItemArr(Contextcontext,RemoteViewsviews)()-CalendarDataItem-SpeechCalendarProAppWidgetProvider+WordsMarkSegm(StringsourceStr)()+run()()WordsSegmentationThreadThread()汇报提纲一、课题背景二、研究内容三、研究成果四、本人主要工作软件主界面实现软件主界面图新建模块实现(1)新建界面无网络状态图新建模块实现(2)录音识别中语音录音模块实现录音结果编辑模块实现语音输入中录音识别结果识别结果编辑新建模块实现(3)分词结果中文分词处理模块实现分词执行中新建模块实现(4)分词结果编辑中编辑分词结果模块实现新建模块实现(5)创建新的日程功能实现创建日程发送广播管理模块实现管理日程界面删除操作(b)删除操作(a)删除操作(c)查看模块实现(1)查看日程日程内容查看模块实现(2)具体在Android日历中的查看实现效果Android日历数据库实现calendar表数据内容calendar_date.db结构汇报提纲一、课题背景二、研究内容三、研究成果四、本人主要工作本人主要工作(1)研究当今最流行的Android手机操作系统的发展现状及语音识别技术和中文分词相关技术,针对性地结出本软件需求分析和总体设计。(2)研究语音日程软件涉及到的相关理论基础,包括系统架构,软件环境,关键接口技术,开发组件技术。(3)参与系统的需求分析与总体架构设计和改进,包括模式设计、界面设计和功能模块设计。(4)进行具体模块的设计与实现,使用应用程序调试相关技术,并依据项目对数据库的设计与实现,参与整个系统的设计和编码。感谢在座的各位专家请多批评指教谢谢!