1 引言
1.1项目背景
1.2.1选题背景
科技的不断发展,让智能手机全面普及,智能手机大量增长的同时,出现了很多为用户服务的APP,这些APP的功能都非常强大,方便了人们的生活。需要注意的是,目前大多数的APP都是针对年轻用户推出的,对于那些老年人用户,则涉及较少,而针对子女和父母双方设计的产品就更少了。
据悉,中国已经全面进入了老龄化社会,人口老龄化呈上升趋势。数据显示, 60岁及以上人口为22182万人,占16.15%,其中65岁及以上人口为14374万人,占10.47%。
全面进入老龄化社会,意味着老年人需要更多的关注,目前的情况来看,虽然科技发达,但是大家都在使用智能手机,年轻用户热衷的微信、微博,都不适合老年人使用,老年人也缺少得知子女日常的渠道。年轻人工作十分忙碌,并没有大把的空闲时间陪伴父母,而对于某些年纪较大的父母,子女则很担忧其日常状况以及双方需进行实时通讯等。
1.2.2研究现状与发展趋势
在所有关注的焦点都放在年轻人身上的同时,也有很多聪明人将人群定位在老年人身上。
有个问题不容忽视,光给父母买个智能手机远远不够,最重要的是教他们怎么玩,一些适合老年人的APP、公众号悄然走俏。
以前身体不适只能去医院,现在用“春雨医生”就能先行问诊。以前忘带老花镜、手电筒寸步难行,现在用手机就能搞定。以前买菜算不清账生怕被宰,现在有手机计算器分分钟算清。以前学跳广场舞找不到老师找不到舞伴,现在有“广场舞”APP在家也能学跳舞。
一款适合或专门给老年人使用的移动APP应用,通常要具备字体够大、功能简单、针对性强等三大特点,而市面上此类专业APP乃至微信公众号其实并不多,绝对比例仍非常低,远低于儿童教育、女性穿戴等领域。
1.2产品概述
1、产品名称
“心之桥”APP——你陪我长大,我陪你变老
2、产品定位
架起父母与子女间沟通的桥梁,实时定位、实时通讯、实时监听。
3、用户特征
区域:北上广深一线城市
年龄:70后或者80后的子女以及他们的父母
特点:子女工作繁忙、孝顺;父母年纪较大;双方都有沟通的需求且子女不放心父母独自在家
4、产品LOGO
5、产品设计
产品设计从MVP出发,首先推出核心功能,积累用户,后续不断迭代,v1.0版本主推实时定位+实时通讯+动态共享,v2.0版本上线美文推送等,v3.0版本根据用户反馈和效果调整方向。
1.3产品开发的意义
随着智能手机的普及,各种各样的APP触角伸向了人民生活的方方面面,为老年人居家生活提供智能辅助的产品也越来越受到大众的关注。在智能手机上实现协助老年群体及时与子女沟通、了解子女动态等,具有一定的研究价值和实用价值。
在科技高速发展的今天,“心之桥”的出现,让子女更好与父母进行沟通,同时保证了父母的安全,通过父母和子女双方共同使用“心之桥”APP,建立父母和子女在互联网+的时代的家庭纽带,让科技真正为老年人服务。
1.4产品范围及目标
1.4.1项目的范围
本APP是根据子女及其父母的需求设计的,一切有此类需求的父母和子女双方均可使用该产品,为其提供生活的便利。
1.4.2项目的目标
本APP的目标用户是年龄到一定程度的父母和子女,其中父母方面可能由于某些特殊原因并不能熟练使用智能手机中繁复的APP界面。
因此需要满足以下目标:
(1)产品能够提供友好的用户界面,使操作人员的工作量最大限度的减少。
(2)产品具有良好的运行效率,及时进行信息反馈,不因为卡顿等其他技术方面的问题影响用户的体验感。
(3)产品的整体风格要契合用户审美,设计过程中代码的重用性要高。
1.4项目风险
项目风险主要承担者包括:任务提出者、产品开发者以及产品使用者。
任务提出者所承担的主要风险包括:产品的发展方向是否正确,产品是否有盈利模式,产品是否有足够的需求。若前期宣传力度不大,后期市场前景可能并不乐观。
产品开发者的主要风险包括:产品开发是否符合规范,程序是否具有可读性,程序bug是否在可控制范围之内。
产品使用者的主要风险包括:产品使用者是否具备一定的产品应用知识以及是否清楚产品的使用规则等。
1.5可行性分析
从设备条件方面来看,我们每人均配备计算机一台,且性能比较高,其CPU速度均在266MHz以上,内存均在32M以上,具备了运行目前大多数工具软件的能力,完全满足软件使用的要求。并且我们所在的区域网络良好,完全满足数据传输和通信的要求。
从技术方面来看,目前的计算机硬件、软件技术以及网络技术完全能完成本APP的功能要求。本系统对计算机软、硬件的要求不高,当前的开发技术与数据库应用技术完全能够满足用户的需要。因此,开发技术上可行。
从经济上讲,本系统不需要大量的开发经费,小组四名成员在老师的协助下可以完成本系统的开发,因此经济上可行
就收益而言,该APP主要处理的效益是社会效益,解决日益严峻的人口老龄化、子女与父母之间缺少沟通等社会问题。系统一旦投入使用,将会极大地方便子女对父母的照顾和沟通,减少双方的沟通障碍等。
2 综合描述
2.1 产品状况
“心之桥”是一款连接父母与子女温情纽带的手机应用软件。现代社会中,部分子女由于工作、学习、结婚等多方面的原因而离家。随着社会老龄化程度的加深,空巢老人越来越多,已经成为一个不容忽视的社会问题。“心之桥”这款产品注重子女对父母的精神赡养,搭建一个父母与子女之间感情与思想交流的平台。其用户界面分为父母端与子女端。由于父母的视力、听力一般随着年龄的增加而逐渐减弱,父母端界面应该做到简洁明了比如字号大、操作简单、每个功能设置语音提醒等。子女端既要能达到对父母日常生活的掌握比如位置追踪、远程监听等等,也应该达到对父母的精神赡养比如亲情语音等。与此同时,子女还可以通过“心之桥”内置论坛参与讨论赡养父母等问题。
2.2 产品功能
1、“心之桥”使用界面包含:父母用户使用界面、子女用户使用界面。
(1)父母用户使用界面功能:账户管理模块(个人注册、个人登陆、注销)、亲情互动模块(查看子女上传的照片、语音交流)、GPS定位模块(地图模式、离线地图)。
(2)子女用户使用界面功能:账户管理模块(个人注册、个人登陆、注销)、亲情互动模块(上传照片、语音交流、生日提醒)、GPS定位模块(最新位置、位置追踪、历史轨迹、地图模式、离线地图)、论坛模块(发帖、评论)、推文模块(查看推文、历史推文)、其他模块(用户通知、意见反馈、检查更新、关于我们)。
2、“心之桥”管理员管理功能:
用户管理模块(添加用户、搜索用户、修改用户信息、删除用户)、管理员管理模块(添加角色、修改角色信息、删除角色、权限管理)、推文管理模块(添加推文、搜索推文、删除推文等)、用户通知模块、系统管理(图片管理、数据字典)。
2.3 运行环境
心之桥的运行环境:在Android平台上采用JDK1.8、Eclipse(需要下载Android SDK,配置java环境变量)、MYSQL数据库开发。
Android平台第一个完全定制、免费、开放的手机平台,它使用Java语言开发,具有较好的可移植性。采用Android平台的原因是考虑到如下优点:
(1)在内存和进程管理方面,Android具有自己的运行时和虚拟机。
l Android为了保证高优先级进程运行和正在与用户交互进程的响应速度,允许停止或终止正在运行的低优先级进程,以释放被占用的系统资源。
l Android进程的优先级并不是固定的,而是根据进程是否在前台或是否与用户交互而不断变化的。
l Android为组件定义了生命周期,并统一进行管理和控制。
(2)在界面设计上,提供了丰富的界面控件。
l 加快了用户界面的开发速度,保证了Android平台上的程序界面的一致性。
l Android将界面设计与程序逻辑分离,使用XML文件对界面布局进行描述,有利于界面的修改和维护。
(3)Android提供轻量级的进程间通讯机制Intent,使用跨进程组件通信和发送系统级广播成为可能。
(4)Android提供了Service作为无用户界面、长时间后台运行的组件。
Service无需用户干预,可以长时间、稳定的运行,可为应用程序提供特定的后台功能
(5)Android支持高效、快速的数据存储方式:
l SharedPreferences
l 文件存储
l 轻量级关系数据库SQLite
(6)为了便于跨进程共享数据,Android提供了通用的共享数据接口ContentProvider。
l 可以无需了解数据源、路径的情况下,对共享数据进行查询、添加、删除和更新等操作。
(7)Android支持位置服务和地图应用
l 可以通过SDK提供的API直接获取当前的位置,追踪设备的移动路线,或设定敏感区域。
l 可以将Google地图嵌入到Android应用程序中,实现地理信息可视化开发。
(8)Android支持Widget插件
l 可在开发桌面应用,实现比较常见的一些桌面小工具,或在主屏上显示重要的信息。
(9)Android NDK支持使用本地代码(C或C++)开发应用程序的部分核心模块。
l 提高了程序的运行效率。
l 有助于增加Android开发的灵活性。
Eclipse本身是一个开源的、基于Java的可扩展开发平台。Eclipse本身只是一个框架和一组服务,主要是用于产检组件构建开发环境。同时也是开发Android APP软件的主要开发环境,很多的开发者觉得Eclipse非常好用。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点。MySQL的优势:
(1)借鉴互联网产品,例如淘宝,底层的关系数据库都是使用MySQL,特别是数据魔方,myfox的底层就是MySQL。
(2)MySQL是开源数据库,提供的接口支持多种语言连接操作。
(3)MySQL支持不同的存储引擎,可以根据业务的需要选择不同的引擎。
例如:支持事务处理的InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力,但是比起MyISAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。所以对于互联网产品,响应速度将决定着一个产品的成败,据数据调查显示,网站每延迟一秒将会造成用户满意度下降16%,甚至做成每年250万的损失。而MySQL的myISAM引擎不支持事务处理,但是响应速度是非常快的,特别是5.5版本之后,速度又有很大的提升,所以,可以根据业务的不同需要进行选择不同的引擎。
(4)讲到互联网产品,大多是读写差距比较大,MySQL提供了简单的管理操作并且易于维护,使用数据复制功能就可以非常容易的实现主从读写分离,实现负载均衡与MySQL的集群,同时,MySQL是表级锁,当写入一张表操作时,其他的线程将无法在操作这张表,所以主表只负责写操作,多个从表实现读操作,提高系统的读写速度。
2.4 设计与实现上的限制
尽管此前小组成员并未做过有关Android平台上APP的开发,但是考虑到“心之桥”更适于手机应用软件的形式,一方面考虑到父母对电脑、网站使用上的不便,另一方面考虑到子女一般会贴身携带手机,能够方便快捷的实现对父母的日常生活的掌握,因此小组一致决定在Android平台上进行APP的开发,在这方面技术上的不足应该会造成小组功能设计与实现上的限制。
心之桥使用界面分为父母使用界面与子女使用界面。父母使用界面实现起来应该相对简单,界面采用大字体设计,方便老年人用户进行操作。子女使用界面实现起来相对难一些,其中位置追踪、最新位置等相关GPS定位技术的功能由于之前小组成员并未参与开发过类似的功能App,因此在这方面技术上的不足应该会造成小组功能设计与实现上的限制。
此外,小组成员对于界面UI设计了解不深,因此在APP界面UI设计方面存在不足,在动态多样化界面的设计上的不足也可能会造成小组功能设计与实现上的限制。
目前小组成员相对来说最熟悉的是Java语言,因此采用java作为编程语言,采用eclipse作为开发工具,采用MySQL作为数据库。另外,为了能更好维护系统,小组制定了如下命名规范:
(1)类、接口和方法命名规则:使用驼峰规则,首字母必须大写,使用名词或名词词组。要求简单易懂,富于描述,不允许出现无意义或错误单词。
(2) 变量命名规则:使用驼峰规则,首字母必须大写,使用名词或名词词组。要求简单易懂,富于描述,不允许出现无意义或错误单词。比如成员变量命名时不要在私有变量前添加m字样,常量命名时全部大写,单词间用下划线隔开。
(3)包命名规则:所有的包命名以cn.net.syzc.开头,全部小写字母。根据class的类型划分其归属的包。
3 外部接口需求分析
3.1用户界面
l 界面风格简洁明快,素雅大方;
l 页面布局简易,按与用户的交互需求不同,划分为不同的功能区域,实现和用户之间的友好交互;
l 前台界面操作可逆,其动作可以是单个的操作,或者是一个操作序列;
l 后台各管理模块的不同管理功能操作界面,采用在不同窗口进行管理,各功能操作切换比较简单又相对独立;
l 提供信息反馈,例如您已登录成功;
l 提供简单的错误处理,并且规定消息的显示为弹出式显示。
3.2硬件接口
l 安卓2.0以上的操作系统。
3.2软件接口
l 操作系统:Windows2000或以上版本;
l 数据库:MySQL5.6;
l 运行环境: Eclipse6.0;
l 服务器:Tomcat7.0;
软件之间交换数据的目的:达到信息同步的效果。
4 功能需求
4.1 功能划分
“心之桥”分为父母版本、子女版本和管理员管理。
父母版本设有账户管理模块(个人注册、个人登陆、注销)、亲情互动模块(查看子女上传的照片、语音交流)、GPS定位模块(地图模式、离线地图)等功能模块。
子女版本设有账户管理模块(个人注册、个人登陆、注销)、亲情互动模块(上传照片、语音交流、生日提醒)、GPS定位模块(最新位置、位置追踪、历史轨迹、地图模式、离线地图)、论坛模块(发帖、评论)、推文模块(查看推文、历史推文)、其他模块(用户通知、意见反馈、检查更新、关于我们)等功能模块。
管理员管理设有用户管理模块(添加用户、搜索用户、修改用户信息、删除用户)、管理员管理模块(添加角色、修改角色信息、删除角色、权限管理)、推文管理模块(添加推文、搜索推文、删除推文等)、用户通知模块、系统管理(图片管理、数据字典)。
4.1.1 子女用例
图4.1.1 子女用例图
4.1.2 父母用例
图4.1.2 父母用例图
4.1.3 管理员用例
图4.1.3 管理员用例图
4.2子女用户功能描述
4.2.1子女功能结构图
图4.2.1 子女角色功能图
4.2.2具体功能描述
用户进入子女账户界面,新用户先注册再登录。内有以上几个模块,其中亲情互动模块,子女可随时上传生活图片(父母端可实时观看,类似刷动态),双方可进行语音交流,同时在临近父母生日时会有生日提醒;GPS定位模块,子女可实时观看父母的最新定位以免发生危险时因信息的缺失而不能及时赶到,子女还可以在历史位置中看到父母去过哪些地点;论坛模块的作用是方便使用本APP的用户在一个公共平台交流,用户可以发帖和评论,谈论的内容包括但不限于父母的生活日常等;推文模块是给用户推送一些有关老年人身体健康和饮食习惯等的美文,用户可以通过查看历史消息来观看所有文章;“其他”模块包括历史消息、用户通知、关于我们、检查更新等。
4.3父母用户功能描述
4.3.1父母功能结构图
图4.3.1 父母功能角色图
4.3.2具体功能描述
这个界面的特点是功能强大和操作简单,其采用大字体设计,方便老年人用户进行操作。
用户进入父母账户界面,新用户先注册再登录。内有以上几个模块,其中亲情互动模块,父母可以查看子女发布的照片同时也可以进行语音交流;在GPS定位模块中可以查看地图等。
5 非功能需求
5.1 非功能整体需求
对于APP风格方面的需求,应该尽量做到APP结构简单明了,逻辑条理清晰,页面精美、功能实用;而对于各页面方面的要求,则应该设计构思力求精巧、布局要求简捷合理、APP整体设计风格统一。
(1)界面设计精美、友好,信息化设计,体现企业级应用的特色。
(2)更快的信息访问速度、更加省时和智能化的用户界面,老年版界面则应美观大方简洁明了。
(3)更简便、智能化程度更高的浏览查询流程。
(4)后台管理功能强大、录入效率高。
(5)易于查看用户建议和评论以及后台信息。
5.2 性能需求
(1)用户数要求: 系统将能适应1000个平均在线用户;在高峰时段,系统将能适应1万个用户。
(2)响应时间需求:由硬件条件的不同决定,但用户提交了任务之后,客户端对任务的响应时间不能超过6秒。
(3)更新处理时间需求:由硬件条件及处理的数据量决定,但用户向系统提交信息后,系统将在5秒内向用户显示确认信息。
(4)数据的转换和传送时间需求:根据具体的转换和传送数据不同所需的时间不同,系统的界面将在5秒内全部加载完成。
(5)精度需求:用户输入精度的要求取决于相应功能所需参数的精度要求,管理员输入的精度要求主要取决于数据库的相关数据类型要求,当用户或管理员输入的参数与要求不符时将得到提示并重新进行操作。
5.3 软件质量要求
(1)可用性:除维护时间外,APP前台全天24小时对用户可用。后台管理系统只对管理员开放,且限定IP地址登陆。
(2)健壮性:由于不可见原因导致用户操作中断的,用户可以在重新连接后继续操作。
(3)可伸缩性:当用户增加时,系统也将维持较高的服务质量。
(4)易用性:APP系统可操作性强,易于老人使用,便于子女使用。
(5)可维护性:在修改bug、调整功能、提高适应性等方面进行系统维护时,系统易于进行修改点定位并实施修改。
5.4 安全保密性要求
(1)用户个人信息保密需求:所有涉及功能信息或个人身份信息的网络事务,都要按照规定进行加密操作。
(2)用户操作安全需求:除浏览菜单外,所有用户都必须登录后才能进行其他如上传照片、发送语音等操作。
(3)用户安全需求:用户的登陆受手机系统访问控制策略的限制。
(4)系统安全需求:只有授权成为管理员的才能登陆管理后台完成相关数据操作。
5.5 数据管理能力要求
(1)数据备份需求:保证数据每周完全备份,每天进行局部备份,保证数据的安全性。
(2)数据库日志需求:记录数据操作日志,并有专人负责定期查看,有效管理用户数据。
(3)数据库负载需求:数据库负载要能够支持系统的正常运行。
(4)数据容量需求:及时检查数据库占用空间,保证有足够的数据库容量储存数据。
5.6 故障处理要求
(1)用户非法操作:当用户进行如输入不合理数据的操作时,系统能够合理提示而非导致系统错误或程序停止运行。
(2)服务器和网络故障:程序运行时,对服务器和网络通信故障能够识别并提示,当故障排除后,程序恢复正常运行。
(3)数据库需求:数据库要求有灾难备份机制,以防止数据的全部丢失。若运行时遇到不可恢复的系统错误,系统也必须保证数据库完好无损。
(4)应用日志需求:应用程序应能提供易于查看的日志,便于系统的维护、调试、错误定位等。
5.7 其他专门要求
易于老人使用:老人版界面应简洁大方、清晰明了,能够让手指不灵活、视力不太好的老人使用。
6 业务需求分析
6.1业务需求分析综述
1、账户管理功能:主要包括个人注册、登录、注销。
2、亲情互动功能:父母端主要是查看照片,发送语音,子女端主要是上传照片、发送语音和生日提醒。
3、GPS定位功能:父母端主要包括离线地图,子女端主要是获取父母的最新位置、位置追踪、和历史踪迹轨迹等。
4、推文功能:主要是一些有助于增进父母与子女感情的文章或养生之类的小贴士。
5、论坛功能:主要是方便不同子女端用户进行经验交流等。
6.2部分业务流程
6.2.1用户注册业务流程
图6.2.1用户注册业务流程图
6.2.2上传照片业务流程
6.2.2上传照片业务流程
6.2.3位置追踪业务流程
6.2.3位置追踪业务流程