1、第十四届全国中小学生电脑制作活动评选类项目(高中组)计算机程序设计“家庭健康日记”手机软件设计说明书姓名:夏梦馨学校:湖南师范大学附属中学年级:高二班级:1115班指导老师:彭宇目录第一章软件简介11.1说明11.2使用“家庭健康日记”软件对手机的要求11.3测试手机列表21.4环境要求21.5术语说明31.6优化与致谢4第二章设计原理52.1健康指标52.2电子病历52.3温馨提醒52.4心率检测52.4.1心率原理62.4.2采样分析72.4.3计算原理92.4.4采样优化原理9第三章功能及流程图113.1功能113.2流程图123.2.1主流程123.2.2电子病历流程133.2.3温馨
2、提醒流程143.2.4心率检测流程153.2.5优化流程163.2.6心跳分析流程17第四章UE及UI设计184.1UE设计184.2UI设计194.2.1设计要求194.2.2效果图示例19第一章 软件简介1.1 说明2012年3月我在CCTV10“科教频道”第一次看到Family的公益广告,深受启发。我觉得我从小到大一直是爸爸妈妈、爷爷奶奶、外公外婆以我为中心,关心我的健康成长。无论是我生病还是身体不舒服,总有人陪伴我、照顾我。现在我长大了,我觉得我应该逐步担起家庭的责任,关爱亲人的健康。于是我有了开发“家庭健康日记”的手机软件,用来帮助人们记录、检测亲人的健康情况。通过一段时间的开发,我
3、的这个手机程序已经具备了一个健康日记的基本功能,也慢慢的为我的同学们接受和熟知。同时,我把这个软件申报到三星公司的手机应用商店(samsung apps mobile),希望能有更多同学和我一样知道,手机不仅仅有娱乐功能,还能用来关爱家庭、关爱亲人健康。使用要求1.2 使用“家庭健康日记”软件对手机的要求1. 操作系统:Android 2.3.x 、4.x2. 屏幕分辨率:480640像素或以上3. 手机有SD卡,剩余容量不少于20MB4. 如果要使用软件中的“心率检测”功能:1) 手机必须有500W像素或以上摄像头2) 由于“心率检测”功能的原理是通过手机摄像头连续拍摄食指图片,分析图片中红
4、色深度值计算心率,具备闪光灯的手机效果更好。如手机无闪光灯,在光线明亮的环境或将摄像头对着阳光,检测效果更好。1.3 测试手机列表序号型号说明1三星GT-i93082三星GT-i91003三星galaxy notes I4三星galaxy notes II5三星i58306索爱LT30P7索爱MT15i8索爱LT26i1.4 环境要求1. 开发环境:eclipse 3.4.2,JDK 1.6.0,ADT 21.0.1、SQL Lite2. 测试手机:索爱LT30P3. 运行环境:1) Android 4.x版本、2.3.x版本2) 屏幕分辨率:480640像素或以上3) 不少于20MB存储空间
5、的手机SD卡、500W像素或以上摄像头4) 有闪光灯检测效果最佳5) 使用作品中的【分享】功能才需要联网,支持中国联通、中国电信、中国移动、WiFi无线网络4. 程序权限1) 存储:修改/删除SD卡中的内容2) 硬件控制:拍摄照片和视频3) 付费服务:发送短信4) 系统工具:防止手机休眠、装载和卸载文件系统1.5 术语说明以下对本设计说明书涉及到的术语予以描述。序号术语说明1UEUser Experience,用户体验,是指通过对软件功能分析,结合手机特点,以事件驱动(events-drive)方式,设计符合用户操作习惯的布局、结果反馈,优化、提升软件使用体验2UIUser Interface
6、,用户界面,是指通过专业界面设计师,结合软件UE设计,设计符合手机分辨率的界面,使软件呈现更加美观3心率Heart Rate,心脏跳动的频率,用于描述心动周期的专业术语,是指心脏每分钟跳动(舒张、收缩)的次数4采样是指通过在一个连续时间段内,采集目标数据并记录的过程,例如采集红色的颜色深度值5帧Frame,是指通过手机摄像头拍摄的一张相片,视频文件就是由连续的帧构成的。在本软件中,通过手机摄像头拍摄食指多帧照片,并通过红色颜色深度值的分析,用于计算心率6RGB是指获取图像中的六位十六进制RGB值,第1、2位值为红色,即R。当RGB值为00 00 00时,颜色为黑色,当RGB值为FF FF FF
7、时,颜色为白色。7颜色深度值在本软件中特指红色的颜色深度,即RGB值中的第1、2位值,从0到255,值越大深度越深。1.6 优化与致谢由于时间和知识储备原因,作品还能继续优化的方面包括:1. 支持IPhone手机:目前作品支持Android智能手机,可开发支持IPhone手机的版本,让更多和我一样关爱亲人、关爱家庭的同学能够使用。2. 目前作品支持微薄、邮件、短信分享,可考虑通过手机访问互联网方式,建立服务端的健康知识库,让同学们除了关爱亲人,还能够掌握更多的如何关爱亲人健康的科学知识。感谢我的指导老师彭宇在作品构思、设计、开发、优化方面的指导与鼓励。第二章 设计原理2.1 健康指标2.2 电
8、子病历在日常生活中,病历本往往比较多,遗失后难以为今后的治疗提供参考。家庭健康日记软件的电子病历功能,利用手机的拍照功能,把亲人每次去医院看病的病历通过拍照保存到手机SD卡中,同时通过记录时间、医院、科室、主治医生信息,形成电子病历,可通过手机随时查询亲人看病的情况。2.3 温馨提醒关爱亲人要从小事做起,付诸于实际行动。父母往往忙于工作忽视自己的身体,通过在家庭健康日记中设置提醒,例如父母服药、体检、散步等等,承担家庭责任,让父母能随时体会到自己的温馨与关爱。2.4 心率检测人体血液颜色是由血液中的含氧量决定的,血液的颜色由于氧含量的变化会产生周期性的改变,对应心跳的收缩、舒张过程即一次心跳过
9、程。当食指指尖放置在手机摄像头上,通过分析摄像头拍摄的照片中红色颜色深度值可以计算心率。2.4.1 心率原理在初中的生物课目中,我们学习到:1. 心脏是人体的“泵”,推动血液在血管里不停地循环流动,心脏与血管是人体血液循环器官;2. 心脏每收缩与舒张一次,就是一次心跳,一分钟心跳次数,就是心率。心脏不停的收缩、舒张时,血管也会跟着收缩、舒张,所以我们可以通过脉搏获知心跳;3. 在血液循环的过程中,静脉血含氧量低,颜色呈现暗红色,动脉血含氧量高,颜色呈现鲜红色。通过以上基础生物知识,我们可以得知:1. 血液颜色为红色,如果能采集到红色的颜色深度值,我们可以判断当前在血管中流动的是静脉血还是动脉血
10、;2. 血管中的静脉血、动脉血是随着心脏的收缩、舒张而变化的,即在心脏收缩过程中,心脏把含氧量高的动脉血“泵”入到血管中,血管中的动脉血增多,颜色深度值逐渐变小,心脏舒张过程中,心脏把含氧量低的静脉血“抽”回到心脏,血管中的静脉血多,颜色深度值最大;3. 一次收缩、舒张的过程构成一次心跳,1分钟内心跳次数构成心率。如果可以检测到血管中血液(红色)颜色深度值的变化,就可以检测到一次心跳所需要的时间,并可计算出一分钟内(60秒)心跳的次数即心率。2.4.2 采样分析根据心率原理,通过手机如何实现颜色深度值的数据采集是实现心率测试的关键:1. 食指指尖有丰富的毛细血管,在光照充足条件下,例如将手电筒
11、照着食指指尖,可以看到指尖呈现血液的红色;2. 手机有摄像头,可以连续拍摄照片,如将食指之间放置在摄像头上,通过手机的闪光灯照射,可以连续拍摄食指指尖的照片;3. 通过对照片中红色颜色的深度值判断,可以得知当前血管中血液的深浅,即因含氧量的不同为动脉血还是静脉血。尽管有了实现原理的支撑,前期的实验必不可少:1. 如何判断食指指尖已正确放置在手机摄像头上?根据手机摄像头拍摄的照片,分析照片的RGB值,并取出R(红色)值,当R值(即颜色深度值)大于140时,则判断食指指尖已正确放置到手机摄像头上,当R值小于或等于140时,则判断食指指尖未正确的放置在摄像头上并提示用户。值得一笑的是:如果你把一个红
12、色的物体,例如一张红纸放在摄像头上,摄像头也会认为你的食指指尖已经正确的放置好了!当然,通过对颜色深度值的波形变化,可以过滤掉这种深度值未发生变化的情况。2. 如何判断红色颜色深度值对应的静脉血、动脉血?我用索爱测试手机拍摄了约12秒钟的食指指尖并输出其红色颜色深度值,报表中的红色颜色深度值,真实反映了动脉血、静脉血的周期。实验数据参见心跳检测实验数据.xls文件。1) 上图中X轴为帧序号,Y轴为颜色深度值;2) 当RGB中的R值(即红色颜色深度值)大于140时,对本帧图像进行分析,保存R值;3) 可以看出当食指指尖刚放置到摄像头上时,由于光线、食指挪动原因,造成数据起伏大,需优化过滤掉。优化
13、方式采取前30帧的R值数据不做有效采样数据保存。4) 从第31帧图像起,颜色深度值起伏规律,作为有效的采样数据进行心跳计算处理。2.4.3 计算原理1. 从摄像头捕获到有效数据(第31帧图像)起开始计时;2. 取有效采样R值数据的平均值(R值之和/帧数);3. 对每帧图像中R值数据大于或等于平均值的,该数据不可能为波谷数据,予以过滤,保存一个波形中最小值(波谷);4. 循环处理第3步至用户食指从摄像头上移开或因光线原因无法采集到有效数据,计时结束,保存时长;5. 心率为1分钟,即60秒心跳次数,心率=(最小值个数-1)/时长)602.4.4 采样优化原理1. 用户食指刚放置到摄像头上时,采集的
14、数据不稳定,从第1帧到第30帧图像不做处理;2. 采样数据的有效性与食指是否移动、光线强度变化关联度高,在采集的实验数据中,会出现波动幅度很小的类似锯齿状的波峰波谷,会造成误判为一次心跳,通过实时求平均值,过滤大于或等于平均值的数据,保证心率计算的准确性;3. 对应基础生物知识,两次波谷为一次有效心跳。第三章 功能及流程图3.1 功能下图为作品功能。3.2 流程图3.2.1 主流程3.2.2 电子病历流程3.2.3 温馨提醒流程3.2.4 心率检测流程3.2.5 优化流程3.2.6 心跳分析流程第四章 UE及UI设计4.1 UE设计设计宗旨:精简布局、降低图片加载、减少输入等。设计要素:1. 优秀的技术实现+优秀的产品体验=优秀的产品;好的作品总是让使用者看不到技术的存在;2.3.4.5.4.24.2.11.2.3.4.5.6.4.2.21.1)2)3)2.1)2)3)4)3.1)2)4.