体重指数计算器课程设计

上传人:仙*** 文档编号:106993718 上传时间:2022-06-14 格式:DOC 页数:19 大小:1.31MB
收藏 版权申诉 举报 下载
体重指数计算器课程设计_第1页
第1页 / 共19页
体重指数计算器课程设计_第2页
第2页 / 共19页
体重指数计算器课程设计_第3页
第3页 / 共19页
资源描述:

《体重指数计算器课程设计》由会员分享,可在线阅读,更多相关《体重指数计算器课程设计(19页珍藏版)》请在装配图网上搜索。

1、武汉理工大学嵌入式系统开发实训课程设计说明书学 号: 0121110340335课 程 设 计课程名称嵌入式系统开发实训题 目基于安卓的体重指数计算器程序设计学 院计算机科学与技术专 业计算机科学与技术班 级计科1103班姓 名闫敏指导教师夏又新2014年12月28日课程设计任务书学生姓名: 闫敏 专业班级: 计算机1103 指导教师: 夏又新 工作单位: 计算机学院 题 目: 基于Android的体重指数计算器程序的设计与实现 初始条件:1理论:综合运用嵌入式系统设计、计算机组成原理、java语言,程序设计方法等课程的专业知识。2实践:学习和使用嵌入式实验箱飞凌ok210的使用方法、基于An

2、droid的交叉编译软件环境。在飞凌ok210实验箱上完成课程设计题目要求的功能。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)课程设计内容:利用嵌入式实验箱飞凌ok210搭建嵌入式系统开发环境,在Android环境下编写应用程序,完成以下功能,并撰写嵌入式系统设计报告:1. 友好的人机界面;2. 可以输入相关参数;3. 计算后给出体重指数值和建议。课程设计报告书正文的内容应包括:(1) 系统描述(问题域描述);(2) 系统总体分析;(3) 系统总体设计;(4) 详细的流程图或伪代码;(5) 软件的测试方法和测试结果;(6) 研制报告(研制过程,本设计的评价

3、、特点、不足、收获与体会等);时间安排:序号设计内容所用时间1查阅资料,熟悉实验平台和搭建嵌入式系统开发环境,完成android内核移植和烧写系统0.5周2Android系统开发的基本技术1 周3应用软件系统的开发与实现2周4撰写文档和设计验收0.5 周合 计4 周指导教师签名: 夏又新 2014 年 12 月 6 日系主任(或责任教师)签名: 年 月 日目录1.系统描述21.1背景21.2 功能描述31.3开发环境介绍31.3.1 Android体系结构简介31.3.2Android架构31.3.3 应用框架41.3.4 库41.3.5 应用51.4 开发环境的安装51.4.1 下载Ecli

4、pse51.4.2 安装Eclipse61.4.3 安装ADT扩充套件61.4.4下载并设定Android SDK61.4.5创建名为BMI的工程72.需求分析72.1功能需求72.1.1用户触发事件72.1.2基本需求控制82.2性能需求82.2.1响应时间82.2.2稳定性92.2.3安全性93.系统总体设计93.1工程总体架构93.2系统框架设计103.3界面设计114.详细的流程图和伪代码114.1流程图114.2主要功能伪代码125.软件的测试方法和测试结果135.1测试用例135.2测试结果及分析136.研制报告156.1系统的缺陷156.2总结157.参考文献161.系统描述1.

5、1背景很多国家及地区每年都会为当地的人口作身高和体重的统计。这些统计数据,都可以转化成为BMI值,从而再统计出当地人口的BMI值分布。根据这个分布,地方健康政府可以推算出当地人口的过重及过轻指标。一般来说,都会采用统计出来的平均BMI值及其标准差值,再计算出其常态分布的最高5%及最低5%作为过重及过轻指标。我国在这个方面还没有引起太大的重视,有的软件是只是功能单一,没有相应的指导意见。这个软件就根据这个缺点并加入一些人性化的建议说明而开发的。2007年11月5日,Google与其他33家手机制造商(包含摩托罗拉、宏达电、三星、LG)、手机晶片供应商、软硬体供应商、电信业者所联合组成的开放手持装

6、置联盟(Open HandsetAlliance),发布了名为Android的开放手机软硬体平台。参与开放手持装置联盟的这些厂商,都会基于Android平台,来开发新的手机业务。2008年9月24日,T-Mobile首度公布第一台Android手机(G1)的细节,同日Google也释出了Andorid SDK 1.0 rc1。对应用程式开发者而言,1.0代表了开发者可以放心地使用API,而不必再担心API有太大的变动。G1在同年10月20正式发售。在发售前仅针对原T-Mobile用户的预购活动中,已经被预购了150万台。在10月21日,Open Handset Alliance公开了全部And

7、roid的原始码。从此,开发者拥有了一个完全开放的手机平台。截止目前已经有多款使用Android的智能手机,超过8万的应用程序。在不到两年时间的发展中,美国市场研究公司NPD 2010年发布的统计数据显示,第一季度期间,Android手机在美国市场的销量已超过iPhone,占据该季度美国智能手机总销量的28%,iPhone相应的份额为21%。1.2 功能描述该系统主要实现体重指数的计算,通过身高和体重来计算体重指数,指数公式为体重除以身高的平方,即为BMI的值,如果大于25则为偏重,如果小于20,则体重偏瘦,若在20到25之间则体重正常。1.3开发环境介绍Android是基于Linux内核的操

8、作系统,早期由Google开发,后由开放手机联盟开发。它采用了软件堆层的架构,主要分为三部分。底层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。目前最新版本为Android3.0。1.3.1 Android体系结构简介Android平台是一组面向移动设备的软件包,它包含了一个操作系统、中间件和关键应用程序。开发人员可以使用Android SDK(软件开发工具包)为这个平台创造应用程序。应用程序使用Java语言编写并在Dalvik之内运行。Dalvik是一款量

9、身定制的虚拟机,它专为嵌入式应用设计,运行在Linux内核上层。1.3.2Android架构下图显示了Android操作系统的主要组件。图1 Android操作系统的主要组件1.3.3 应用框架Android的核心应用程序就是依赖框架层次API开发的,程序员们可以充分使用这些API。应用架构设计的初衷是:简化组件复用机制;任何应用都能发布自己的功能,这些功能又可以被任何其他应用使用(当然要受来自框架的强制安全规范的约束)。和复用机制相同,框架允许组件的更换。1.3.4 库Android包含一套C/C+库,Android系统的各式组件都在使用。这些功能通过Android应用框架暴露给开发人员。A

10、ndroid的核心类库提供Java类库所提供的绝大部分功能。每个Android应用都运行在自己的进程上,享有Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行,Dalvik被改写过。 Dalvik虚拟机执行的是Dalvik格式的可执行文件(.dex)该格式经过优化,以降低内存耗用到最低。Java编译器将Java源文件转为class文件,class文件又被内置的dx工具转化为dex格式文件,这种文件在Dalvik虚拟机上注册并运行。在一些底层功能比如线程和低内存管理方面,Dalvik虚拟机是依赖Linux内核的。1.3.5 应用Android将预装一组核心应用程序,包

11、括email客户端、短信服务、日历日程、地图服务、浏览器、联系人和其他应用程序。所有应用程序都是Java编程语言编写的。编写Android的应用程序,需要一套个人电脑系统。至于操作系统的部份,几个主流操作系统都有支持。支持的操作系统如下:Windows XP 、Vista或Windows 7Mac OS X 10.4.8 或之后版本(适用x86 架构的Intel Mac)Linux(官方于Ubuntu 6.10 Dapper Drake上测试)1.4 开发环境的安装1.4.1 下载Eclipse首先需要下载Android开发时会用到的整合开发环境Eclipse。目前Android应用程序只支持

12、使用Java程式语言来编写Android应用程式。所以开发前必须先安装Java 开发套件(Java Development Kit, JDK)。各平台的JDK可至 OS X作业系统则已内建JDK。安装好JDK后,可以前往Eclipse网站下载Eclipse这个方便的整合开发环境。下载Eclipse时可以选Eclipse IDE for Java Developers或Eclipse IDE for Java EEDevelopers这两种版本,只有这两种版本才会预装Eclipse JDT扩充套件。我选择的是Eclipse IDE for Java Developers版本。下载完同样先解压缩到

13、适当目录下。1.4.2 安装EclipseEclipse不需要安装,只要确认你的系统上有安装Java,即可直接开启Eclipse资料夹,点击Eclipse 开始执行Eclipse整合开发环境。第一次启动Eclipse时会弹出视窗让你决定预设的工作目录。一般使用Eclipse预设的工作目录即可。进入到EclipseIDE后,就能安装Android开发工具扩充套件。1.4.3 安装ADT扩充套件在Eclipse上安装Android开发工具(ADT)。我采用的是离线安装,前往 Updates选项,这选项会带出一个新视窗。选择Available Software标签,选择右方的Add Site.(新增

14、网站)按钮,会弹出一个输入框。选择右上角的Local.按钮,并选取刚下载的Android最新开发工具档案,选到之后按下OK按钮离开。在视窗中全选新出现项目的所有选项后,按下右方的Install按钮。Eclipse会花一点时间开始安装ADT 扩充套件。1.4.4下载并设定Android SDK到google官网上下载最新版本的Android SDK并解压。打开偏好设定页面(Preference),选择Android标签(请确认您已安装好ADT扩充套件,Android标签才会出现在偏好设定页面中),在SDK Location栏位按下Browse.键,选择刚刚解压缩完的android_sdk文件夹所

15、在地,然后按下视窗右下角的应用(Apply)按钮。这样一来,Android SDK就算是设定好啦。设定好Android SDK后,就拥有了一个完整的Android开发环境。1.4.5创建名为BMI的工程选择File-New-Project,会弹出New Project对话视窗,将新工程名称命名为BMI。在内容栏里,选择在工作区域中建立新工程(Create new project in workspace)。对New Android Project对话框中相应的属性中填入以下的值:名称 值Project Name BMIApplication Name BMIPackage Name com.d

16、emo.android.bmiCreate Activity BmiMin SDK Version 3填好值后按下Finish按钮,就建立好新工程了。2.需求分析2.1功能需求2.1.1用户触发事件用户通过点击屏幕来实现与数据的交互。软件上的相关按钮是操作请求的输入设备,屏幕是用于向用户输出信息的输出设备。事件是来自人操作的重要的消息,触发时间如表1所示体重指数计算器系统中可能发生的所有事件响应及其执行结果。表1触发事件事件系统响应执行结果1从手机屏幕点击软件系统调用函数入口,启动系统,进入该软件进入该软件2输入身高值调用添加函数界面显示输入数据3输入体重值调用添加函数界面显示输入数据4点击计

17、算体重指数按钮调用计算函数显示体重指数及分析2.1.2基本需求控制系统用例图描述的是用户眼中的系统,即用户希望系统有哪些功能和通过哪些操作完成这些功能。一个用例代表用户与系统交互的一种方式。正如前面介绍过的,识别用例的最好方法是从参与者的角度分析系统。在Android体重指数计算器中,首先的参与者是用户,系统用例图如图2所示。 图2 用例图2.2性能需求2.2.1响应时间一般来说,基于Android开发出来的应用程序响应时间很大程度上依赖于安卓设备的硬件配置和系统版本。因此,用户的安卓设备的硬件配置和系统版本都会对应用程序的响应时间又一定的影响。2.2.2稳定性应用程序为本地应用,用户只需通过

18、自己的硬件就可以使用应用。2.2.3安全性Android为开源系统本身比较稳定,同时应用程序无需连接网络因此不存在信息网络泄露的风险。3.系统总体设计3.1工程总体架构工程主体架构如图3所示:图3 Eclipse下的程序系统架构1.src文件夹Src文件夹下com.lyj。cn包下Java为系统主要Activity类:Main.java是实现系统主界面的功能,在主界面上有两个输入框,分别为输入身高、输入体重。edit.java是实现编辑的功能。Mysqlhelper.java是对数据库进行版本更新。2.gen文件夹gen文件夹是项目自动生成的文件夹R.java是工程下各个资源的标识符负责所有资

19、源的索引9。3.bin文件夹bin文件夹是编译后的字节码存放的目录,编译的过程首先是编译成为android java虚拟机文件classes.dex,再打包成APK格式的包。4.res文件夹Res是资源目录,res资源目录,它包含项目中的资源文件并将其编译进应用程序中,向此目录添加资源时,会被R.java自动记录。res目录存放所有程序中用到的资源文件。“资源文件”指的资料文件、图片等。子目录有:drawable、layout、values。 3.2系统框架设计 该系统主要实现计算体重指数计算的功能,系统的整体架构框架如图4所示 图4系统架构图3.3界面设计 打开软件后进入主界面,可输入身高和

20、体重。界面设计如图5所示图54.详细的流程图和伪代码4.1流程图 打开软件后进入主界面,可输入身高和体重,之后系统计算体重指数后输出相应的结果。流程图如图6所示。图6业务处理流程图4.2主要功能伪代码 Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button=(Button)findViewById(R.id.submit); button.setOnClickListen

21、er(calcBMI); private OnClickListener calcBMI=new OnClickListener() public void onClick(View v) DecimalFormat nf=new DecimalFormat(0.00);/对显示数字进行格式化 EditText fieldheight=(EditText)findViewById(R.id.height); EditText fieldweight=(EditText)findViewById(R.id.weight); double height=Double.parseDouble(fie

22、ldheight.getText().toString()/100; double weight=Double.parseDouble(fieldweight.getText().toString(); double BMI=weight/(height*height); TextView result=(TextView)findViewById(R.id.result); result.setText(您的BMI值是+nf.format(BMI); TextView fieldsuggest=(TextView)findViewById(R.id.suggest); if(BMI25) f

23、ieldsuggest.setText(R.string.suggest_heavy); else if(BMI20) fieldsuggest.setText(R.string.suggest_light); else fieldsuggest.setText(R.string.suggest_average); 5.软件的测试方法和测试结果5.1测试用例由于该系统并没有具体的输入输出,只是有一些点击指令,所以无需进行边界值测试等一些针对输入输出的测试方法,在对该系统进行测试时,只是通过黑盒测试测试了该系统的功能是否都能实现,以及还有哪些需要的功能没有实现,测试用例如表2所示。 表2测试用例

24、序号操作预期结果1打开软件进入主界面2输入身高160,体重65显示体重超标3输入身高160,体重50显示体重太瘦4输入身高160,体重55显示体重正常5输入身高a,体重b提示重新输入5.2测试结果及分析(1) 测试1的结果如图7所示图7(2) 测试2的结果如图8所示,由于BMI的值大于25,所以显示体重超标图8(3) 测试3的结果如图9所示,由于BMI的值小于20,所以显示体重太瘦图9(4) 测试4的结果如图 所示,由于BMI的值在20和25之间,所以显示体重正常图10(5) 测试5的结果如图11所示,由于输入字符中含有字符,所以提示重新输入图11 通过这些测试,这个系统的基本功能都已实现,但

25、系统的美观以及功能实现的方式还有待完善。6.研制报告6.1系统的缺陷(1) 该系统中只实现了体重指数查询的功能,还不能很好的为用户提供更加全面的有关体重的信息。(2)该系统中还可以增加用户体重记录的功能,以便用户更好的了解自己体重变化的情况。(3)该系统的界面还很简单,美观效果不是很好。6.2总结本设计首先对课题的背景和国内外的发展情况作出全面的介绍,然后对本程序的开发环境进行了介绍。在设计程序之前,先进行了可行性分析,确保程序是可行的。然后是需求分析,确定程序有什么需求。最后是总体设计,确定程序的流程和具体实现功能。然后对程序进行具体的开发,包括页面的设计、所需要的类的设计和各个模块的开发。

26、最后是对程序的各项功能进行测试,在整个测试过程中,程序运行正常,没有出现任何异常,能预见的所有情况均能正常处理,大体功能均正常完成。在四周的实践开发过程中,不仅学习了专业知识,也培养了自己的综合能力,以从全局考虑,局部探讨的思想,将复杂问题简单化、抽象化的能力。我所设计的系统能够实现其基本功能,使自己对新时代的移动终端有了更加深入的了解,对以后的工作和学习都有巨大的帮助。由于仅有四周的时间,我对安卓以及Java编程还没能非常熟练的使用,我所设计的软件还有很多未完善的地方,有些软件的缺陷是自己想到但没能突破和解决,另外,由于自己开发软件经验不足,需求分析不到位,还存在一些自己想不到的问题和缺陷有

27、待完善。今后,我会做更多的实践,提高自己的动手实践能力,对软件的总体设计以及编写代码的能力,我相信这一次次的锻炼一定会对今后的学习和工作有很大的帮助。7.参考文献1杨丰盛,Android 应用开发揭秘,机械工业出版社, 出版2008年9月2邓凡平,深入理解android,机械工业出版社,出版2010年8月3 柯元旦,Android内核剖析,电子工业出版社,出版2006年09月4 吴亚峰、索依娜等,Android核心技术与实例详解电子工业出版社,2010-10出版5 郭宏志,Android应用开发详解,电子工业出版社,2010-06出版6 靳岩、 姚尚朗编著,Android开发入门与实战,人民邮电出版社,2009-07出版本科生课程设计成绩评定表班级:计算机1103班姓名:闫敏 学号:0121110340335序号评分项目满分实得分1学习态度认真、遵守纪律102设计分析合理性103设计方案正确性、可行性、创造性204设计结果正确性405设计报告的规范性106设计验收10总得分/等级评语:注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、及格(60-69分)、60分以下为不及格指导教师签名:201 年月日16

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!