开发体重指数计算器课程设计_图文

体重计算器  时间:2021-04-12  阅读:()

武汉理工大学《嵌入式系统开发实训》课程设计说明书

课程名称 嵌入式系统开发实训

题 目 基于安卓的体重指数计算器程序设计

学 院 计算机科学与技术

专 业 计算机科学与技术

班 级 计科1103班

姓 名 闫敏

指导教师 夏又新

2014年 12 月 28 日

武汉理工大学《嵌入式系统开发实训》课程设计说明书

课程设计任务书

学生姓名 闫敏 专业班级 计算机1103

指导教师 夏又新 工作单位 计算机学院

题 目: 基于An dr o i d的体重指数计算器程序的设计与实现

初始条件

1 理论综合运用嵌入式系统设计、计算机组成原理、 java语言程序设计方法等课程的专业知识。

2实践学习和使用嵌入式实验箱飞凌ok210的使用方法、基于Android的交叉编译软件环境。在飞凌ok210实验箱上完成课程设计题目要求的功能。

要求完成的主要任务: 包括课程设计工作量及其技术要求以及说明书撰写等具体要求

课程设计内容

利用嵌入式实验箱飞凌ok210搭建嵌入式系统开发环境在Android环境下编写应用程序完成以下功能并撰写嵌入式系统设计报告

1.友好的人机界面

2.可以输入相关参数

3.计算后给出体重指数值和建议。

课程设计报告书正文的内容应包括

1 系统描述问题域描述

2 系统总体分析

3 系统总体设计

4 详细的流程图或伪代码

5 软件的测试方法和测试结果

6 研制报告研制过程本设计的评价、特点、不足、收获与体会等

时间安排

指导教师签名 夏又新 2014年 12月6 日

系主任或责任教师签名 年 月 日

武汉理工大学《嵌入式系统开发实训》课程设计说明书

目录

1.系统描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

1.1背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

1.2功能描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

1.3开发环境介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

1.3.1 Android体系结构简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

1.3.2Android架构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

1.3.3应用框架. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

1.3.4库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

1.3.5应用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

1.4开发环境的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

1.4.1下载Eclipse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

1.4.2安装Eclipse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

1.4.3安装ADT扩充套件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

1.4.4下载并设定Android SDK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

1.4.5创建名为BMI的工程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

2.需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

2.1功能需求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

2.1.1用户触发事件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

2.1.2基本需求控制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

2.2性能需求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

2.2.1响应时间. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

2.2.2稳定性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

2.2.3安全性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

3.系统总体设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

3.1工程总体架构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

3.2系统框架设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

3.3界面设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

4.详细的流程图和伪代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

4.1流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

4.2主要功能伪代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

5.软件的测试方法和测试结果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

5.1测试用例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

5.2测试结果及分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

6.研制报告. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

6.1系统的缺陷. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

6.2总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

7.参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

1

武汉理工大学《嵌入式系统开发实训》课程设计说明书

1.系统描述

1.1背景

很多国家及地区每年都会为当地的人口作身高和体重的统计。这些统计数据都可以转化成为BMI值从而再统计出当地人口的BMI值分布。根据这个分布地方健康政府可以推算出当地人口的过重及过轻指标。一般来说都会采用统计出来的平均BMI值及其标准差值再计算出其常态分布的最高5%及最低5%作为过重及过轻指标。我国在这个方面还没有引起太大的重视有的软件是只是功能单

一没有相应的指导意见。这个软件就根据这个缺点并加入一些人性化的建议说明而开发的。

2007年11月5日 Google与其他33家手机制造商(包含摩托罗拉、宏达电、三星、 LG) 、手机晶片供应商、软硬体供应商、 电信业者所联合组成的开放手持装置联盟(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公开了全部Android的原始码。从此开发者拥有了一个完全开放的手机平台。截止目前已经有多款使用Android的智能手机超过8万的应用程序。

在不到两年时间的发展中,美国市场研究公司NPD 2010年发布的统计数据显示第一季度期间 Android手机在美国市场的销量已超过iPhone 占据该季度美国智能手机总销量的28% iPhone相应的份额为21%。

2

武汉理工大学《嵌入式系统开发实训》课程设计说明书

1.2功能描述

该系统主要实现体重指数的计算通过身高和体重来计算体重指数指数公式为体重除以身高的平方 即为BMI的值如果大于25则为偏重如果小于20则体重偏瘦若在20到25之间则体重正常。

1.3开发环境介绍

Android是基于Linux内核的操作系统早期由Google开发后由开放手机联盟开发。它采用了软件堆层的架构主要分为三部分。底层以Linux内核工作为基础只提供基本功能其他的应用软件则由各公司自行开发以Java作为编写程序的一部分。另外为了推广此技术 Google和其它几十个手机公司建立了开放手机联盟。 目前最新版本为Android3.0。

1.3.1 Android体系结构简介

Android平台是一组面向移动设备的软件包它包含了一个操作系统、 中间件和关键应用程序。开发人员可以使用Android SDK(软件开发工具包)为这个平台创造应用程序。应用程序使用Java语言编写并在Dalvik之内运行。 Dalvik是一款量身定制的虚拟机它专为嵌入式应用设计运行在Linux内核上层。

1.3.2Android架构

下图显示了Android操作系统的主要组件。

3

武汉理工大学《嵌入式系统开发实训》课程设计说明书

图1 Android操作系统的主要组件

1.3.3应用框架

Android的核心应用程序就是依赖框架层次API开发的程序员们可以充分使用这些API。应用架构设计的初衷是简化组件复用机制任何应用都能发布自己的功能这些功能又可以被任何其他应用使用当然要受来自框架的强制安全规范的约束。和复用机制相同框架允许组件的更换。

1.3.4库

Android包含一套C/C++库 Android系统的各式组件都在使用。这些功能通过Android应用框架暴露给开发人员。Android的核心类库提供Java类库所提供的绝大部分功能。每个Android应用都运行在自己的进程上享有Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行 Dalvik被改写过。 Dalvik虚拟机执行的是Dalvik格式的可执行文件.dex该格式经过优

4

武汉理工大学《嵌入式系统开发实训》课程设计说明书

化 以降低内存耗用到最低。 Java编译器将Java源文件转为class文件 class文件又被内置的dx工具转化为dex格式文件这种文件在Dalvik虚拟机上注册并运行。在一些底层功能——比如线程和低内存管理方面 Dalvik虚拟机是依赖Linux内核的。

1.3.5应用

Android将预装一组核心应用程序包括email客户端、短信服务、 日历日程、地图服务、浏览器、联系人和其他应用程序。所有应用程序都是Java编程语言编写的。

编写Android的应用程序需要一套个人电脑系统。至于操作系统的部份几个主流操作系统都有支持。

支持的操作系统如下

Windows XP 、 Vista或Windows 7

Mac OS X 10.4.8或之后版本(适用x86架构的Intel Mac)

Linux(官方于Ubuntu 6. 10 Dapper Drake上测试)

1.4开发环境的安装

1.4.1下载Eclipse

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

5

武汉理工大学《嵌入式系统开发实训》课程设计说明书

1.4.2安装Eclipse

Eclipse不需要安装 只要确认你的系统上有安装Java 即可直接开启Eclipse资料夹 点击Eclipse开始执行Eclipse整合开发环境。第一次启动Eclipse时会弹出视窗让你决定预设的工作目录。一般使用Eclipse预设的工作目录即可。进入到EclipseIDE后就能安装Android开发工具扩充套件。

1.4.3安装AD T扩充套件

在Eclipse上安装Android开发工具(ADT) 。

我采用的是离线安装前往http://developer.android.com/sdk/adt_download.html手动下载最新的开发工具版本来离线安装。下载完最新的ADT扩充套件后打开Eclipse开发环境找到屏幕上方的选单列选择[Help->Software Updates]选项这选项会带出一个新视窗。选择[Available Software]标签选择右方的[Add Site. . . ] (新增网站)按钮会弹出一个输入框。选择右上角的[Local. . . ]按钮并选取刚下载的Android最新开发工具档案选到之后按下"OK"按钮离开。在视窗中全选新出现项目的所有选项后按下右方的[Install]按钮。 Eclipse会花一点时间开始安装ADT扩充套件。

1.4.4下载并设定Android SDK

到google官网上下载最新版本的Android SDK并解压。打开偏好设定页面(Preference) 选择Android标签(请确认您已安装好ADT扩充套件 Android标签才会出现在偏好设定页面中) 在SDK Location栏位按下"Browse. . . "键选择刚刚解压缩完的[android_sdk]文件夹所在地然后按下视窗右下角的应用(Apply)按钮。这样一来 Android SDK就算是设定好啦。

设定好Android SDK后就拥有了一个完整的Android开发环境。

6

武汉理工大学《嵌入式系统开发实训》课程设计说明书

1.4.5创建名为BMI的工程

选择[File->New->Project] 会弹出[New Project]对话视窗将新工程名称命名为BMI。在[内容]栏里选择[在工作区域中建立新工程] (Create newproject in workspace) 。对"New Android Project"对话框中相应的属性中填入以下的值

名称 值

Project Name BMI

Application Name BMI

Package Name com.demo.android.bmi

Create Activity Bmi

Min SDK Version 3

填好值后按下[Finish]按钮就建立好新工程了。

2.需求分析

2.1功能需求

2.1.1用户触发事件

用户通过点击屏幕来实现与数据的交互。软件上的相关按钮是操作请求的输入设备屏幕是用于向用户输出信息的输出设备。

事件是来自人操作的重要的消息触发时间如表1所示体重指数计算器系统中可能发生的所有事件响应及其执行结果。

7

3C云1核1G 9.9元 4核4G 16元 美国Cera 2核4G 24元

3C云互联怎么样?3C云互联专注免备案香港美国日本韩国台湾云主机vps服务器,美国高防CN2GIA,香港CN2GIA,顶级线路优化,高端品质售后无忧!致力于对互联网云计算科技深入研发与运营的极客共同搭建而成,将云计算与网络核心技术转化为最稳定,安全,高速以及极具性价比的云服务器等产品提供给用户!专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松...

gcorelabs:CDN业务节点分布100多个国家地区,免费版提供1T/月流量

卢森堡商家gcorelabs是个全球数据中心集大成的运营者,不但提供超过32个数据中心的VPS、13个数据中心的cloud(云服务器)、超过44个数据中心的独立服务器,还提供超过100个数据中心节点的CDN业务。CDN的总带宽容量超过50Tbps,支持免费测试! Gcorelabs根据业务分,有2套后台,分别是: CDN、流媒体平台、DDoS高防业务、块存储、cloud云服务器、裸金属服务器...

TabbyCloud周年庆&七夕节活动 美國INAP 香港CN2

TabbyCloud迎来一周岁的生日啦!在这一年里,感谢您包容我们的不足和缺点,在您的理解与建议下我们也在不断改变与成长。为庆祝TabbyCloud运营一周年和七夕节,TabbyCloud推出以下活动。TabbyCloud周年庆&七夕节活动官方网站:https://tabbycloud.com/香港CN2: https://tabbycloud.com/cart.php?gid=16购买链...

体重计算器为你推荐
企业cmscms是什么http404未找到为什么网站上传,打开看不到,显示HTTP 404 - 未找到文件internetexplorer无法打开Internet Explorer 无法打开?netshwinsockresetwin7系统我在输入netsh winsock reset后错误代码11003求大神解决上不了网三友网三友联众集团怎么样?加多宝与王老吉加多宝王老吉有什么区别吗?瞄准的拼音穿越火线枪战王者辅助瞄准什么意思狙击辅助400电话查询如何辨别400电话的真伪?网站后台密码破解网站后台管理密码忘记了怎么破解啊高手进来.网站后台密码破解怎样破解网站后台管理用户名密码
中文域名申请 怎么申请域名 openv 唯品秀 kddi 68.168.16.150 sub-process 地址大全 论坛空间 hnyd java空间 股票老左 太原联通测速 什么是web服务器 华为k3 789电视剧网 服务器托管价格 塔式服务器 godaddy退款 comodo 更多