android设计报告参考精

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

设计报告的内容可以包括:开发背景、需求分析、系统设计、系统实现、总结与展望等1.下面示例需求分析、系统设计、系统实现的写法:2.目录要求,三级目录如图1所示图1目录要求第3章系统功能需求分析3.1系统目标语音记账系统的设计主要以方便用户实时实地快速记账为目的,以语音识别为主要录入方式。语音记账平台简化了人们的记帐操作,改变了传统的手动记账方式,并能够向用户以不同的形式,直观地展现历史消费。与此同时,该系统还提供还款提醒、消费预警等功能,具有良好的用户体验。(1)用户注册:可以注册用户类型的账号。(2)找回密码:用户可以找回所忘记的密码。(3)语音识别:将用户所说的话语转换为文本显示在界面中。(4)记账功能:实现记账的功能,存入数据库中。(5)查询账本:提供消费记录的查询功能。(6)修改账本:对消费记录进行修改。(7)还款提醒:提醒用户进行还款。(8)消费预警:对欲超支用户进行提醒。经问卷调查显示,语音记账的适合群体主要有:个人隐私账本,网上卖家,不懂财务知识,个人记账,个体工商户,家庭理财,中小企业等用户。该系统因为提供了方便快捷的记账方式以及一目了然的收入支出明细,所以拥有庞大的群体市场。依据庞大的群体市场,语音记账系统的首要任务是从该系统的总体目标出发,根据用户对系统的逻辑功能的要求,并在考虑经济,技术和运行环境等方面的条件下,确定系统各组织部分和总体结构的技术方案,合理选择软硬件设备,提出系统的实施计划,从而确保总体目标的实现[6]。下文从用户的角色分析用户对系统的逻辑功能的要求,从而为系统功能的实现提供依据;从系统总体的结构设计划分模块,并依次对每个模块进行必要的解读说明。3.2语音记账用户角色分析UML是一种可视化的建模语言,它的优点是定义良好,功能强大,易于表达并且普遍适用,它不仅支持从需求分析开始建模的软件开发全过程,还支持面向对象的分析与设计[4]。UML建模的关键部分是UML用例图建模,主要功能是用以表达系统行为和功能需求。UML用例图建模可以分为两个部分:用例图与用例的描述,用例的描述是用来负责依次详细地描述用例图中的每个用例,并用文本文档来实现[12]。用例图是由用例,参与者,箭头以及系统边界组成,并用画图方法进行设计[4]。本文基于对系统功能与数据的需求分析,最终确定了软件所期望的用户对象,即用例中的执行者。并且,本文获取了每个用户的需求,从执行者的角度出发,分析出了它与系统需要进行的交互活动,并从这些交互过程中抽象出来,形成了管理员的用例图[5],如图3-1所示。用户基于Android的语音记账系统用户注册找回密码语音识别记账功能查询账本修改账本还款提醒消费预警录音数据处理端点检查网络通讯返回结果includeincludeincludeincludeinclude图3-1系统用例图如上图所示,系统总体设计以执行者为中心,主要作用是一个实现语音识别,随时记录自己的消费情况,已形成良好的消费习惯的角色。对于没有系统账号的用户,可以先注册新账号;对于忘记账号密码的用户,提供找回密码的功能。若用户想进行记账操作,系统提供手动记账与语音记账两种方式,方便快捷。从该系统用例图可以得出,用户对系统的逻辑功能的要求主要划分为七大功能:用户注册,找回密码,语音识别,记账功能,查询账本,修改账本,还款提醒以及消费预警功能。3.3总体结构设计3.3.1系统总功能模块分析通过对以上系统用例图所涉及的功能进行分析,分析出语音记账系统的功能模块,如图3-2所示。在本系统中,共划分了四大模块,分别为系统维护模块,账目管理模块,语音处理模块,数据查询模块。语音记账系统系统维护账目管理语音处理数据查询图3-2功能模块图在本系统中,账目管理模块,语音处理模块,数据查询模块是非常重要的。账目管理模块支持用户进行账目分类,账目修改以及账目删除的操作。语音处理模块的主要功能是识别用户语音输入,并支持语义理解。数据查询模块支持用户查询数据库中的账目数据,并以多种图形化的方式展现账目数据。系统维护模块的主要职责是维护系统中的数据,并支持用户修改密码。3.3.2系统子功能模块分析1.系统维护模块系统维护模块主要用于维护系统中的数据,从而保证数据的完整性和准确性。由图3-3所示的功能模块可知,系统维护模块共划分为五大核心模块,依次分别为用户管理模块,数据字典维护模块,修改密码模块,系统日志模块以及退出系统模块。系统维护用户管理数据字典维护修改密码系统日志退出系统图3-3系统维护模块图在本模块中,数据字典维护是比较关键的模块,也就是该模块的难点。它的主要作用是保证软件的数据字典准确,完备,并方便用户查询,为维护工作的进行提供了必要的支撑。修改密码是指用户可以重设密码,当修改密码成功后,系统自动跳转进入登录界面。2.账目管理模块下略……3.4本章小结本章首先提出了系统设计的目标,为系统实现章节中功能的设计提供依据。然后,本章从用户角色分析出用户对系统逻辑功能的要求,并采用UML用例图进行显示。接着,本章从总体结构设计出发,将系统划分为五大模块:系统维护模块,数据录入模块,数据查询模块,数据修改模块以及数据删除模块。最后,本章依次对每个模块进行分析和概述。第5章系统实现5.1系统实现本系统关键技术的实现主要对语音识别、语义分析、底部菜单栏、自定义控件、图形化显示、WebService、以及本地数据库等功能模块进行研究。5.1.1SpeechToText类在本系统中,使用SpeechToText类实现将语音转换成文本的简单应用,实际运行效果如图5-1所示。当用户点击语音按钮时,首先判断网络端口连接状态,然后进行录音,并将用户的语音信号返回百度云端,从而得到最佳的识别效果。图5-1语音转换为文本界面图为了实现将语音转换成文本,第一步创建BaiduASRDigitalDialg对话框对象,设置对话框对象中的相关参数。第二步,设置回调,处理语音识别结果,并在主线程中调用。第三步,调用Show()方法弹出对话框,进行语音识别。配置ASREngine语音识别引擎的参数,创建VoiceRecognitionConfig对象,并获取对应的参数,得到音量反馈数据。第四步,设置音频采样率,并与外部音频保持一致。在本系统中,WiFi环境下采样率为16kHZ,移动网络环境下采样率为8kHZ。第五步,开始识别后,系统便启动录音,预处理,上传到服务器并获取识别结果的操作。SpeechToText的类图如下图5-2所示。-DIALOG_THEME:int-CURRENT_LANGUAGE:string-CURRENT_LANGUAGE_INDEX:int-PLAY_START_SOUND:bool-PLAY_END_SOUND:bool-DIALOG_TIPS_SOUND:bool-SHOW_VOL:bool-API_KEY:string-SECRET_KEY:string-mDialog:BaiduASRDigitalDialog-mRecognitionListener:DialogRecognitionListener-context:Context-mCurrentTheme:int+SpeechToText(context:Context)+getCurrentLanguage():String+getCurrentLanguageIndex():int+setCurrentLanguageIndex(index:int):void+getCurrentPropIndex():int+setCurrentPropIndex(index:int):void+setmRecognitionListener(mRecognitionListener:+DialogRecognitionListener):void+getDialog():BaiduASRDigitalDialog+btnSpeak_OnClick():voidSpeechToText图5-2SpeechToText的类图(1)SpeechToText类的属性DIALOG_THEME:静态的整型变量,用以存放弹出的语音对话框的样式属性。CURRENT_LANGUAGE:字符串String类型的变量,用于记录用户选择的语言。CURRENT_LANGUAGE_INDEX:用以存放用户选择的语言对应的索引。API_KEY:字符串常量,记录连接百度API的密钥。mDialog:BaiduASRDigitalDialog类型的变量,用以存放弹出的对话框对象。context:Context类型的,记录所在界面的上下文对象。mRecognitionListener:对用户的语音输入进行响应的监听器。(2)SpeechToText类的方法在SpeechToText类中,setmRecognitionListener是比较关键的方法,也就是该类的核心,主要分析如下:方法setmRecognitionListener:对响应语音对话框的监听器进行设置。方法btnSpeak_OnClick:语音按钮的点击事件,实现将语音转换成文本。方法getCurrentLanguag:获取到本系统中设置的语种类型。方法getCurrentLanguageIndex:获取到系统中设置的语种类型对应的索引值。方法getDialog:获取到语音对话框BaiduASRDigitalDialog对象。对于该类中的其他方法的解析,这里省略。语音对话框的具体参数说明如下表5-1所示。表5-1识别对话框的具体参数说明参数类型说明PARAM_PORMT_LANGUAGEString语种,本系统中定义为中文PARAM_PORMT_DIALOG_THEMEint样式PARAM_API_KEYString开放云平台认证API_keyPARAM_SECRET_KEYString开放云平台认证SECRET_key(3)主要代码解析创建BaiduASRDigitalDialg对话框对象时:Bundleparm=newBundle();parm.putString(BaiduASRDgtalDialog.PARMAPI_KEY,API_KEY);parm.putString(BaiduASRDgtalDialog.PARMSECRET_KEY,SECRET_KEY);parm.putString(BaiduASRDgtalDialog.PARMLANGUAGE,VoiceRecogntionConfig.LANGUAGE);pam.putInt(BaiduASRDgtalDalog.PARMDIALOG_THEME,BaiduASRDgtalDialog.THEME_DEEPBG)mDialog=newBaiduASRDgtalDialog(context,pam);设置回调时,获取识别结果并进行相应的业务逻辑ArrayListStrings=result!=null?result.getStringArrayList(RESULTS_RECOGNITION):null;播放提示音时VoiceRecogntionConfigconfg=newVoiceRecognitionConfig();confg.enableBeginSundEffect(R.raw.recognition_start_bdspeech);confg.enableEndSundEffect(R.raw.speech_end_bdspeech);监听语音能量mRecogntionClient.getCurrentLevelMeter();语音识别,API方式的实现VoiceRecogntionConfigconfg=newVoiceRecogntonConfig();confg.setProp(Config.CURENT_PROP);confg.setLanguage(Config.getCurentLnguage());confg.enableVi

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功