基于安卓平台的手机助手设计与实现可行性研究报告_第1页
基于安卓平台的手机助手设计与实现可行性研究报告_第2页
基于安卓平台的手机助手设计与实现可行性研究报告_第3页
基于安卓平台的手机助手设计与实现可行性研究报告_第4页
基于安卓平台的手机助手设计与实现可行性研究报告_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于安卓平台的手机助手设计与头现可行性研究报告摘要Android 是智能手机最广泛的应用系统之一, 在如此大的市场环境下, Android 应用数不胜数,但应用也增加了手机的负荷,降低了手机的使用效率。针对此问题, 对用户遇到的实际问题进行了调查, 分析出用户们希望通过应用软件对手机进行管理, 从而提高手机性能。通过对用户的需求调查, 针对用户所面临的问题, 设计并开发了一个手机助手软 件系统。系统实现了屏蔽来电、软件管理、任务管理、手机杀毒等功能,主要开发过 程包括: 对该系统进行需求分析, 得到该系统的用例图及用例描述; 对系统进行分析 设计,得到该系统的结构设计和功能模块设计;设计数据库

2、,得到数据库表;基于 Java 语言、 Android 开发技术实现系统,编写了代码;对系统进行功能测试,保证 其功能的完善。在系统开发完成后, 将本系统在小范围内的用户手机中进行了测试调查, 调查结 果得出系统可以达到预期的效果, 用户们对系统的使用反响良好。 总结用户们反馈回 来的信息, 他们指出该系统可以帮助用户对手机的日常管理, 达到了系统在设计阶段 时所针对的问题,为用户提供了管理便利和安全保护。目录第1 章绪论 1课题研究背景 1目的及意义 2目的 2意义 2Android 发展现状 2论文组织结构 3本章小结 4第2章需求分析 5概述 5系统目标 5总体目标 5具体目标 5系统可

3、行性分析 6社会可行性分析 6技术可行性分析 6经济可行性分析 6业务流程 6功能需求 8功能需求调查 8用户功能用例分析 1.0.非功能性需求 1.5环境需求 1.6未来功能需求 1.6本章小结 1.6第3 章系统总体设计 18概述 1.8系统原则及方法 1.8原则 1.8方法 1.9系统采用的技术支持 2.0Android 开发环境介绍 2.0.Android SDK 简介 2.1.Java 语言 2.2结构设计 2.4功能模块设计 2.5模块功能设计 2.5数据结构说明 2.6数据库设计 2.6设计原则 2.6数据库设计 2.7本章小结 2.9第4 章系统详细设计与实现 30Androi

4、d 架构 3.0 SQLite 数据库 3.3 面向对象设计 3.4系统模块的实现 3.5数据库的实现 3.5用户管理黑名单的具体实现 3.6.流量监测功能的具体实现 3.8.任务管理功能的具体实现 3.8.程序锁功能的具体实现 4.0.本章小结 4.1第5 章 系统测试 42测试的概念和测试的目的 4.2.系统测试 4.2黑盒测试 4.4黑盒测试的优点 4.5测试计划 4.5测试结果 4.6黑名单模块 4.6程序锁模块 4.7程序管理模块 4.85.4 测试总结 4.8本章小结 4.9结论与展望 50致 谢 错误!未定义书签参考文献 错误!未定义书签附录 1 部分系统界面截图 错误!未定义书

5、签附录 2 部分源代码 错误!未定义书签第1 章 绪论随着智能手机的普及, 手机软件成为了一个新的商业竞争市场, 每天都有大量的 手机软件上架, 而用户的手机也是被各种应用软件所占据。 当手机里的软件越来越多 达到一定规模的时候, 用户们会发现他们每天都会在手机的使用上浪费大量的操作时 间,于是管理软件成为一个热点被人们所追求, 人们希望有一款软件可以帮助他们简 化手机的使用,从而提高手机性能。课题研究背景智能手机( Smartphone ),是指“像个人电脑一样,具有独立的操作系统,可 以由用户自行安装软件、 游戏等第三方服务商提供的程序, 通过此类程序来不断对手 机的功能进行扩充,并可以通

6、过移动通讯网络来实现无线网络接入的这样一类手机的 总称”。Android 是一种以 Linux 为基础的开放源码操作系统,其最大特色就是扩展性 能强,第三方软件支持多。An droid操作系统最初由An dy Rubin开发,最初主要 支持手机。 2005 年由 Google 收购注资,并组建开放手机联盟开发改良,逐渐扩展 到平板电脑及其他领域上。 Android 的主要竞争对手是苹果公司的 IOS 以及 RIM 的 Blackberry OS 。 2011 年第一季度, Android 在全球的市场份额首次超过塞班系统, 跃居全球第一。 2012 年 2 月数据, Android 占据全球智

7、能手机操作系统市场 52.5% 的份额,中国市场占有率为 68.4% 2 。在这个信息化的时代,手机已成为继固定电话之后最为通俗的交流工具 3。在这 个人与人关系愈加密切的时代, 手机成了生活中的必需品。 伴随着手机的普及, 人们 对手机的功能需求也越来越多, 手机不仅要能打电话, 还要成为娱乐设备, 上网冲浪 设备等,而随着手机中软件的增加,其安全性、快捷性等性能就大打折扣,这样的手 机不再是人们想象中的微型电脑, 因此手机用户呼吁一款可以提高手机性能且能保护 手机的应用软件,所以手机管理软件应运而生。目的及意义目的手机管理软件是应运市场的需要而产生的, 是手机用户们迫切需要的一款应用软 件

8、。它提出的目的是为了降低手机日常使用的复杂化和提高手机的安全性, 是为了能 给手机用户带来手机日常权限管理功能的集中化、高效化和快捷化好处。意义 手机管理软件能使用户在使用手机的过程中减少繁琐的操作和提高手机的性能, 避免用户在使用手机时浪费不必要的时间; 也可以帮助用户保护手机, 增加手机的安 全性。总之,它的意义在于使得手机的使用可以更加简单、更加安全和更易管理。因此,开发一个基于帮助管理手机的可视化系统是在必行。 其系统总的设计思想 是以组成界面的元素为对象, 用构件的形式加以描述, 组织并提供一个可视化的管理 环境,使用户能放心和快速的使用手机。Android 发展现状随着 3G 应用

9、的普及和 4G 网络的推广,用户会越来越需要更加个性化、优质化 的服务,用户希望能够随时、随地无缝利用 3G 和 4G 网络进行办公、网上交易、游 戏娱乐、欣赏影视节目、收听和下载等。根据观察,在近年来,移动手机终端已经有 了以下若干方面的新发展。首先,提供智能提醒服务, 手机能够与用户实现密切配合, 并监控用户的个性化 设置(保持在本地或者云端) ,当重要时间点或关键事物需要用户注意时,手机会向 用户发出“提醒”服务,服务包括日程提醒、交通状况、最佳行车路线、最佳泊位、 优惠活动、实时新闻、体育赛事、天气情况、股市行情、好友活动、亲友生日等。其次,提供虚拟现实体验,手机可以借助传感器、周边设

10、备了解到您的身边环境, 并根据收集到的信息, 智能的为您提供有用的信息, 如可以在用户购物时, 提供相关 的同类产品价格参考, 提醒用户附近的那个卖场更物美价廉; 根据实际场景, 为用户 及时提供正在操控的产品的使用方法提醒。如今,发挥物联网的优势, 借助无处不在的传感器, 可以感知并分享到周围世界 的海量信息,这些信息将在“云端”得到整合,帮助用户及时、准确的获得气息信息、 交通路况。另外借助物联网,用户间已经可以方便、快速的分享资源,协助和交互。 如进行端到端的照片分享、书籍分享、音乐分享等。最后,更加智能、安全的设备,随着智能手机的不断普及和更加智能,手机软件 的更新、 升级将会变得越发

11、简单, 并会为用户提供工具或信息, 让用户有能力和权力 决策那些内容可以浏览、下载或分享。 4 在管理性能上也将更加出色,能够十分有效 的帮助用户进行获取到的内容的管理, 现在更是有了基于手机的金融活动, 如电子钱 包、在线支付、在线贸易等。论文组织结构第 1 章绪论,介绍了课题研究的背景及意义, 对相关智能手机应用的现状进行了 分析,提出了要解决的问题。第 2 章需求分析,介绍了系统的开发和实施需求、软件需求、 硬件需求等,对系 统的可行性进行了分析,给出了系统的设计方向。第 3 章概要设计, 根据上一章的需求内容进行系统分析, 设计系统框架图, 描述 了系统开发采用的技术支持,对系统的功能

12、模块和数据库进行了设计。第 4 章详细设计,详细讲解功能模块的具体实现第 5 章测试,通过测试展现出系统的优缺点, 检测错误并修改, 也为后续的系统 更新做铺垫。本章小结本章首先介绍了 Android 智能手机的发展历史,由此提出了手机助手系统的必 要性,并对该系统的目的及意义做了分析,最后阐述了 Android 系统在当下国内外 的发展现状。本章主要是清晰指出本系统要针对的主要问题, 为后续的开发指明方向。第2章需求分析软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后 一步,是确定系统必须完成哪些工作,也

13、就是对目标系统提出完整、准确、清晰、 具体的要求。5需求分析的任务是确定对系统的综合要求,分析系统的数据要求,导出系统 的逻辑模型,修正系统的开发计划。软件需求分析过程所要做的工作是深入描述 软件的功能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求。2.1概述本章采用软件工程方法对手机助手系统进行了需求分析,包括系统目标、功能性需求、非功能性需求、数据需求。其中将着重介绍功能需求分析和非功能需 求分析,并画出功能需求所需的模块图。2.2系统目标2.2.1总体目标计算机时代的到来,为我们带来了很多的好处。它是人们的生活变得简单,人们的工作效率得到了提高,使人们

14、的生活进入一个新的层次。随着社会经济和 科学技术的发展,手机得到了更加普遍的应用,现在是信息化的时代,各行各业 都离不开手机,随着计算机的前进脚步信息得到了全球化, 使得手机也跟着进入 到了全球化时代。所以本系统的总体目标是为了提高人们的通讯生活质量, 为手 机用户提供24小时的应用便利。2.2.2具体目标系统的具体开发目标是为了减少用户对于手机管理的时间,实现用户对于程序管理的有效性和快捷性要求,满足用户对于使用手机的一些日常操作功能。系统也将按照用户的使用习惯采用简洁的操作界面,提高用户的可操作行。2.3系统可行性分析2.3.1社会可行性分析目前,基于An droid的手机软件有非常广泛的

15、市场空间,源于使用An droid 系统的手机用户基数非常大。因为有谷歌、华为等多家大型国际公司的带头作用, 使得An droid系统在智能手机领域内有很广阔的应用和发展前景,An droid系统已经成为现在移动领域研究的热点。232技术可行性分析由于An droid开发是应用于当前主流编程语言 Java,并且An droid开发具 有开源性,这不仅让开发者可以在统一开放平台进行程序开发,而且还可以解决 现今市场不同智能机之间因文件格式不同而造成的信息交流不便、程序内容无法移植等问题。An droid 平台是由操作系统、中间件、界面和应用软件组成。是第一个要 为移动终端创造的一款真正开放的完整

16、的操作系统。I233经济可行性分析由于An droid是开源软件,具备开发周期短,程序需求量大,拥有大量的手机用户等特点,可是给开发者提供良好的环境和市场。82.4业务流程业务流程是为达到特定的价值目标而由不同的人分别共同完成的一系列活 动。9活动之间不仅有严格的先后顺序限定,而且活动的内容、方式、责任等也都必须有明确的安排和界定,以使不同活动在不同岗位角色之间进行转手交接成 为可能。活动与活动之间在时间和空间上的转移可以有较大的跨度。而狭义的业务流程,则认为它仅仅是与客户价值的满足相联系的一系列活动。为了更好地描述本系统的业务流程, 采用数据流图进行描述,它是以图形方 式来表达系统的逻辑功能

17、、数据在系统内部的逻辑流向和逻辑变换过程, 可以清 晰的表达出数据流经过的处理和走向。以下是分别针对黑名单数据流和黑名单操作数据流的描述和数据流图:当用户手机来电时,截取手机获取的来电号码,将来电号码数据流提交到后 台数据库进行校对,返回校对信息,再根据校对信息使手机对来电号码进行判断是否屏蔽来电。黑名单查询数据流图如图2-1所示黑名单衣图2-1黑名单查询数据流图对于黑名单操作,接收用户对于黑名单的操作信息, 该信息可能为添加、修改或删除,将操作信息传递到数据库对数据库信息进行修改。黑名单管理数据流图如图2-2所示执行操件常息图2-2黑名单管理数据流图2.5功能需求2.5.1功能需求调查相应的

18、功能需求调查有以下方面。1)流量监测功能随着手机功能的不断完善和3G网络的普及,智能手机已经渐渐向网络化发 展,而人们也越来越依赖于用手机上网冲浪。在网络高度发达的今天,人们可以 随时随地的在网上冲浪,但也带来了与之共存的缺点,那就是流量的快速消耗问 题,用户喜欢流量的透明性,那就是知道软件的流量消耗情况, 以直观的变现形 式呈现给用户,这样不仅可以方便用户提前限制不需要联网的程序,也可以帮助 用户更好的规划自己的流量使用情况。2)程序锁功能在日常生活中手机不可能做到“机不离身”,可能会因一些原因而借给别人, 但是如果手机中还有着一些自己不想让别人看到而又不舍得删掉的东西,那就会让用户很为难,

19、于是对于个人隐私的保密性也就被许多手机用户所提倡。他们希望可以限制某些程序的公开性,来保护自己的秘密。3)任务清理功能在使用智能手机的过程中,我们不可能每次都一个个的去后台关闭不想用的 进程,而大量的手机进程在后台运行又会影响手机的响应速度,所以批量关闭后台运行程序也成为手机用户迫切需要的一项功能。4)程序卸载功能随着时间的推移,我们会有越来越多的软件供我们使用, 所以在手机中也将 会存储着越来越多的应用软件,随着应用软件的更新换代,过去的软件将不再被 使用,而这些软件闲置时还是会浪费一定量的存储空间。 比起一个个的去查找并 卸载软件,批量卸载是必然使用的优质选择。5)黑名单功能在信息化高速发

20、展的今天,手机已经成为了人们必不可少的通信工具。 但是 手机给我们带来方便的同时,也带来了一些让人烦恼的事情。比如经常会有陌生 人打骚扰电话,经常会在睡梦中被手机铃声惊醒, 甚至接到一些诈骗电话,这些 都是让人难以忍受的,似乎一切都被手机控制了。所以人们需求自由的来电拒接 功能。6)病毒查杀功能当手机网络普及的同时,人们也发现了手机病毒的普及,有些程序会盗取用 户的隐私,例如通讯录、短信等,更严重的则是盗取用户的账号对用户造成财物 上的损失,所以手机用户们需要一款安全防护类的病毒查杀功能。7)清理SD卡缓存功能每当我们开启应用程序的同时,都会在 SD中留有缓存,这是为了方便我们 下次能够更快的

21、启动程序,但是残留的缓存多了也会对手机整体造成影响, 所以 平时勤清理缓存会让我们的手机运行的更快。8)归属地管理功能在接打电话的过程中,用户会存在着对于一个不清楚的号码是不是长途的疑 问,如果在接听和拨打电话时手机能够提示该号码的归属地,那么用户将不会再因不知道号码是否是长途而烦忧。2.5.2用户功能用例分析用例分析是从用例模型到分析模型的过程, 是需求与设计之间的桥梁。用例 分析把系统的行为分配给分析类,让分析类交互完成系统的行为。用例图是表示一组用例、参与者及相互间关系的图。一个用例是系统所执行 的一组动作的规范,而动作的执行将产生一个可观察的结果, 该结果对相关的参 与者具有特殊用途或

22、价值。用例图主要描述用例之间、用例与参与者之间的关系, 还有相关注解和约束。10手机助手系统的用例图如图2-3所示手机昉手帝坯O讦理叮隔地A用户图2-3手机助手系统用例图针对图2-3用例图,对其中的用例进行用例描述,内容如表2-1表2-5所示。表2-1监测流量用例用例监测流量启动者用户支持者手机助手系统主要流程al用户点击流量监测bl系统响应进入流量监测界面a2用户点击流量显示按钮b2系统界面显示系统内应用的流量消耗列表a3用户再次点击流量显示按钮b3关闭系统内应用的流量消耗列表a3用户再次点击流量显示按钮b3关闭系统内应用的流量消耗列表替代流程无流量消耗应用:当系统内的应用没有联网功能时,其

23、流量消耗表示为-1。系统规则BR1 :流量显示按正常流量消耗和 WIFI流量消耗两种。BR2:累积所有软件总流量消耗。表2-2屏蔽黑名单用例描述用例屏蔽黑名单启动者用户支持者手机助手系统主要流程al用户点击黑名单bl系统响应进入黑名单界面,并弹出黑名单列表a2用户点击黑名单列表中的号码b2系统弹出黑名单添加、修改和删除按钮a3用户点击添加、修改或删除按钮b3系统执行添加、修改或删除操作,操作完成后显示黑名单列表替代流程1 )无数据添加:添加黑名单号码为空时,提醒用户号码为空,显示黑名单列表 界面。2)无数据删除:当删除黑名单列表中的最后一个号码或黑名单列表为空时执行 删除操作,会弹出“该黑名单

24、中无号码,请添加”信息。系统规则BR:添加的黑名单号码不能为空。表2-3程序锁用例描述用例管理程序锁启动者用户支持者手机助手系统主要流程al用户点击程序锁bl系统响应进入程序锁界面a2设置程序锁密码b2系统显示密码a3在程序列表中选中要锁定的程序b3锁定改程序a4进入锁定的程序b4弹出密码界面a5输入密码b5密码正确,进入程序;密码错误,无法进入程序替代流程1)未设置密码:未设置密码而要锁定程序时,弹出密码为空信息,程序锁服务 无法开启。2)错误密码:输入错误密码无法进入程序,弹出“密码错误”信息。系统规则BR1 :密码不能为空,且要求为 6位数字。BR2 :密码唯一,不可设置多个密码。表2-

25、4清理进程用例描述启动者用户支持者手机助手系统主要流程al用户点击进程管理a2选中需要清理的进程,点击清理bl系统响应进入清理进程界面,弹出手机进程列表b2清理选中的进程,提示清理的内存信息,清理完后显示进程列表用例清理进程替代流程清理系统进程:清理系统进程时,提示该进程为系统进程,无法清理系统规则BR1:不能清理系统进程表2-5卸载程序用例描述用例卸载程序启动者用户支持者手机助手系统主要流程al用户点击程序管理bl系统响应进入程序管理界面,以列表形式显示手机内所有应用程序a2选中要卸载的程序b2弹出卸载界面,提示是否卸载,是则写在,否则返回bl系统规则BR1 :不能卸载系统程序。2.6非功能

26、性需求非功能性需求是指依据一些条件判断系统运作情形或其特性,而不是针对系统特定行为的需求。包括安全性、可靠性、互操作性、健壮性、易使用性、可维护性、可移植性、可重用性、可扩充性。F面分别介绍一下这些特性,如表2-6表2-6非功能性需求安全性为防止把手机内的信息泄露给无关的用户,必须采取某种安全保密措施,这些措施的有效程序如何就称为系统的安全性或保密性可靠性元件、产品、系统在一定时间内、在一定条件下无故障地执行指 定功能的能力或可能性。可通过可靠度、失效率、平均无故障间隔等 来评价产品的可靠性互操作性In teroperability,是指不同的系统、网络、操作系统和应用程序一起工作并共享信息的

27、能力健壮性健壮性又称鲁棒性,是指软件对于规范要求以外的输入情况的处 理能力。所谓健壮的系统就是指对于规范要求以外的输入能够判断出 这个输入不符合规范要求,并能有合理的处理方式易使用易用性是可用性的一个重要方面,指的是产品对用户来说意味着 J性易于学习和使用、减轻记忆负担、使用的满意程度等可维护性就是在软件交付使用之后直至软件被淘汰的整个时期内为了改正错误或满足新的需求而修改软件的活动可移植性指与软件从某一环境转移到另一环境下的难易程度。为获得较高的可移植性,在设计过程中常采用通用的程序设计语言和运行支撑环可重用性可扩充性在环境和功能发生变化后,可通过局部修改和重组,保持整体稳 定性,以适应新要

28、求的软件设计良好的代码允许更多的功能在必要时可以被插入到适当的位 置中。这样做的目的的是为了应对未来可能需要进行的修改,而造成 代码被过度工程化地开发因本手机助手系统涉及到权限问题,所以应该需要满足安全性、可靠性;考虑到An droid手机软件的特性,应需满足易使用性、可移植性、健壮性;考虑到现今软件的可升级特性,为了本系统更好的发展空间,应需满足可维 护性、可重用性、可扩充性。2.7环境需求1)PC配置:操作系统要求 Windows2007 ,内存2G以上,安装配备Java 开发语言和eclipse开发工具及An droid开发环境配置。2 )手机配置:智能 An droid平台手机,要求A

29、n droid4.0 以上版本。3)数据库:使用SQLite轻量级数据库。2.8未来功能需求随着手机网络的普及,手机软件的未来发展趋势必然是网络化。所以本系统 将来的需求会使用联网功能,会提供热点搜索以及更换皮肤功能, 使本系统软件 更加的个性化。2.9本章小结本章主要描述了什么是需求分析及需求分析需要完成的任务,分析了手机助手系统的功能性需求和非功能性需求,并介绍了系统的开发环境及系统的运行环 境要求。同时对系统进行了可行性分析,包括社会可行性、技术可行性、经济可 行性。本章主要为了了解系统的基本需求,为系统后期的开发奠定一个良好的基 础。第3章系统总体设计概要设计的主要任务是把需求分析得到

30、的系统扩展用例图转换为软件结构 和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、 建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设 计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。概要设计建 立的是目标系统的逻辑模型,与计算机无关。3.1概述在需求分析阶段,已经对本项目的需求做了详细描述并划分了层次。 在本章, 会对项目进行具体的模块划分、模块的设计、数据库的设计、数据结构的设计等 一系列工作。即对有关系统全局问题的设计, 也就是设计系统总的处理方案, 又 称系统概要设计。这一过程,是为了将需求分析阶段的功能实现, 提高系统的可 靠性、

31、安全性、实用性等。3.2系统原则及方法321原则1)实用性原则为了能为更多的用户提供帮助,此次采用 An droid4.0进行开发,以便能在 更多的手机上能够使用本软件。为了方便用户的可操作性,本软件将使用九宫格 格式的功能界面,会有简洁的界面、明确的功能划分和快速有效的响应速度,以便用户的使用。2)安全可靠性原则由于本软件是属于手机管理类软件, 将会需要较多的手机管理权限,为保证 用户的隐私安全,本软件将严格控制其安全性和保密性, 不会有任何针对手机用 户的恶意行为,不会泄露用户任何的隐私信息。3)界面美观性和简单易学性原则时间不管对于谁来说都是宝贵的, 用户不会愿意花大量时间去学习使用一款

32、 软件。而一款软件如果操作界面不友好, 让用户难以上手使用, 那就说明这款软 件开发得不够成功,从而失去大量的用户。 所以本项目必须拥有良好的交互界面, 且能让用户安装之后可以快速的熟悉并使用。4)稳定性原则 一款软件如果设计得不够好, 那么就有可能在运行的时候出现一些不可预料 的错误从而造成软件崩溃。 如果用户在使用的过程中软件突然崩溃了, 无疑会让 用户感到非常不舒服, 有可能就把软件给卸载了, 这样也会流失掉很多用户。 所 以本软件将会在测试阶段严格认真的进行测试,杜绝软件崩溃现象。5)可扩展性与可维护性原则为适应软件行业的快速发展, 软件应该具有良好的可扩展性和可维护性。 系 统设计尽

33、可能模块化、组件化,由于 Android 设备分辨率的各不相同,使软件 可灵活配置,适应不同的 Android 终端设备。系统的可扩展性应包括能接纳已 有的系统和在今后系统软硬件扩展时, 能有效地保护已有的资源建设。 当用户的 需求有所改变时, 可以对其快速的配置改变, 以应对用户的需求, 有一个较好的 应用平台 Android 设备,能容易地安装和卸载。系统易于扩充升级,既能 满足当前业务的需求,将来的需求改变和软件升级也被考虑在内。方法“面向对象” 是一种认识客观世界的世界观, 是从结构组织角度模拟客观世 界的一种方法。 11对象:是事物运行方式、处理方法和属性值的一种抽象表述 12类:是

34、一组具有相同数据结构和相同操作的对象的集合 13 。 面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式, 使 开发软件的方法与过程尽可能接近人类认识世界、 解决问题的方法与过程。 由于 客观世界的问题都是由客观世界中的实体及实体相互间的关系构成的, 因此我们 把客观世界中的实体抽象为对象( Object )。面向对象方法的四个要点:1)认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可 以由比较简单的对象以某种方式组合而成。2)把所有对象都划分成各种对象类(简称为类 Class),每个对象类都定义 了一组数据和一组方法,数据用于表示对象的静态属性,是对象的状态信息。3

35、)按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对 象类组成一个层次结构的系统(也称为类等级)。4)对象彼此之间仅能通过传递消息互相联系。3.3 系统采用的技术支持Android 开发环境介绍Android 是 Google 公司推出的手机开发平台, 但此技术并非 Google 开发, 是Google收购的An droid技术。Google与开放手机联盟的合作使得 An droid 技术更加完善。 14虽然 Android 这词出现才短短几年,由于它的使用不受专利 限制加上有 Google 强大的技术支持, Android 已有相当大的用户群, 并在不断 扩大着。Android

36、有丰富的功能,因此很容易与桌面操作系统混淆。 Android 构建 在 Linux 内核的基础上, 是一个分层的环境, 其操作系统的内核与图形用户界面 技术是分开的,它非常适合手机应用开发者设计及研究的手机平台。此手机助手软件的设计就是基于 Android 的,我选择它作为我设计的操作 平台不仅是因为它拥有着可观的市场前景,它还有着如下优点:1)是一个开源平台,模拟器、调试工具、 SDK 等开发组件都可以在网上免 费下载并使用。在网上可以找到丰富的应用程序的源码,对于 Android 开发的 研究学习提供了很大的帮助;2)应用程序框架支持组件的重用与替换。这就说明了程序开发者可以把系 统中不好

37、或者不喜欢的应用程序替换掉, 来安装我们自己喜欢的应用程序, 如文 件管理器、主界面等等;3)SDK 、ADT 和 DALVIK 虚拟机都可以集成到 Eclipse 上,方便了开发者 开发程序 15 。如果经常用 Eclipse 开发 Java 应用程序的程序员很容易上手 Android 的开发。已经安装过 JDK 和 Eclipse 的电脑上不需要复杂的开发环境 搭建,只要安装了 SDK 和 Dalvik 就可以开发应用程序了;4)DALVIK 专门为移动设备做了优化,它是基于寄存器的,相对于 Java 虚 拟机的速度要快。 而且在运行是可以设定手机硬件虚拟配置 (如屏幕尺寸、 内存 大小等

38、),这样可使开发者设计出来的应用程序更具针对性;5)自带的 SQLite 数据库系统,它用做结构化的数据存储,更适合应用与 手机开发。 16Android SDK 简介SDK 是 Software Development Kit 的缩写,就是软件开发工具包。 SDK 是一些特定的软件包、软件框架等创建应用软件的开发工具的集合。 AndroidSDK 是跨平台的,因为它是基于本身底层就集成了 Linux2.6 作为自己的系统内 核。Android 的 SDK 是由 Google 免费提供的。 SDK 使得提供应用程序接口 API 更为简单。 API 是操作系统给应用程序的一个调用接口,应用程序通

39、过调用 操作系统的 API 而使操作系统去执行应用程序的命令。一些不清晰的 API 指定 明确,比如一些与 SQLite 相关的 API 都被附上了 SQLite 前缀; API 一些命名 风格的统一,比如 URI 采用统一的 URI, SDK 采用了统一的 ID ;其他方面, AndroidManifest.xml 中的一些项也是统一的,能够能容易的被理解。Java 语言Java 是定义位于网络计算的计算机语言,它几乎所有的特点也是围绕着这 一中心展开的并为之服务的,这些特点使得 Java 语言特别适用于开发网络上的 应用程序;另外,作为一种面世较晚的语言, Java 也集中体现和充分利用了

40、若 于当代软件技术新成果, 如面向对象、 多线程等, 这些也都在它的特点中有所反 映。1)平台无关性:如前所述, Java 语言独特的运行机制使得它具有良好的可 移植性,利用Java,开发人员可以编写出与具体平台无关、普遍适用的应用程 序,大大降低了开发、维护和管理的开销。2)面向对象: Java 是纯面向对象的编程语言。面向对象技术较好地适应了 当今软件开发过程中新出现的种种传统面向过程语言所不能处理的问题, 包括软 件开发的规模扩大、 升级加快、 维护量增大经及开发分工日趋细化、 专业化和标 准化等,是一种迅速成熟、 推广的软件开发方法。 面向对象技术的核心是以更接 近人类思维的方式建立计

41、算机逻辑模型, 它利用类和对象的机制将数据与其上的 操作封装在一起, 并通过统一的接口与外界交互, 使反映现实世界实体的各个类 在程序中能够独立、 自治、继承;这种方法非常有利于提高程序的可维护性和可 重用性,大大提高了开发效率和程序的可管理性, 使得面向过程语言难于操纵的 大规模软件可以很方便的创建、使用和维护。3)多线程机制:每个正在系统上运行的程序都是一个进程。每个进程包含 一到多个线程。 进程也可能是整个程序或者是部分程序的动态执行。 线程是一组 指令的集合, 或者是程序的特殊段, 它可以在程序里独立执行。 线程基本上是轻 量级的进程, 它负责在单个程序里执行多任务。 通常由操作系统负

42、责多个线程的 调度和执行。多线程是为了能够让多个线程并行以快速的完成任务, 可以提高系统的执行 效率,多线程是在一段时间内需要完成多项任务的时候使用。多线程是这样一种机制, 它允许在程序中并发执行多个指令流, 每条指令流 都被称为一个线程,彼此间互相独立。线程又称为轻量级进程, 它和进程一样拥有独立的执行控制, 由操作系统负 责调度,区别在于线程没有独立的存储空间, 而是和所属进程中的其它线程共享 一个存储空间,这使得线程间的通信远较进程简单。多个线程的执行是并发的,也就是在逻辑上的“同时” ,而不管是否是物理 上的“同时”。如果系统只有一个CPU,那么真正的“同时”是不可能的,但是 由于 C

43、PU 的速度非常快,用户感觉不到其中的区别,因此我们也不用关心它, 只需要设想各个线程是同时执行即可。多线程和传统的单线程在程序设计上最大的区别在于, 由于各个线程的控制 流彼此独立,使得各个线程之间的代码是乱序执行的,由此将带来的线程调度,同步等问题173.4结构设计在设计一款软件时一般都会把它分成几个模块,在模块的基础上还会再分小 模块,这样就达到了软件模块化设计的要求, 然后再对各个小模块进行详细设计 和编写,采用模块化的管理方式可以使软件结构更清晰,也使得软件的管理更有秩序,使别人容易理解和阅读,但是这些模块也要根据别的模块来设计和约束, 不能随便设计脱离框架,设计完成后需要把每个设计

44、完成的模块根据总体框架结 合起来。根据本软件的功能需求,将本软件分为8个功能模块,把它们整合起来的整 体框架如图3-1所示。手机助手系统住齐管理模块黑名单理模块添加黑名单修改黑名单删除黑名眾图3-1整体框架图 启动软件 软件管理模块L卸戴软件 清理缓存模块功能模块设计根据系统整体结构设计, 把系统的功能划分为 8 个模块,分别为任务管理模 块、黑名单管理模块、流量管理模块、软件管理模块、程序锁模块、病毒查杀模 块、清理缓存模块、归属地管理模块。模块功能设计以下介绍各个功能模块针对上述功能需求的设计 1)流量管理模块:主要负责监测手机上已安装的软件的流量消耗情况,设 计会以数字的形式返回到前台界

45、面显示。2)程序锁模块:主要分为开启 / 取消程序锁、设置密码、选择锁定程序三个 功能模块。开启 / 取消程序锁功能模块是管理程序锁功能的启用及关闭;设置密 码功能模块设置在进入程序时需要验证的密码, 也可以在此模块修改密码, 密码 的设定规则为六位数字以内; 锁定程序功能模块设计在启用时会调出手机内的所 有应用程序和系统程序, 用户选中想要锁定的程序即可, 再次选中则解锁该程序。3)任务管理模块:任务管理实现对系统内存中的进程进行动态监控,满足 用户对无响应并占用资源的进程进行结束机制。但不允许用户结束系统进程。4)软件管理模块:系统将会以列表的形式将系统中的程序全部显示出来, 用户可以点击

46、程序选择启动或卸载。5)黑名单管理模块:黑名单管理模块下又细分 3 个小模块,分别为添加黑 名单、修改黑名单和删除黑名单模块。 在手机被来电或短信呼叫时, 系统将查询 黑名单并自动判断屏蔽被添加为黑名单的号码。6)病毒查杀模块:扫描手机内的程序,并与 antivirus 数据库表核对,如 检测出有病毒,则申请权限杀死该进程并删除该程序7)清理缓存模块:扫描 SD 卡内的缓存,与 clearpath 数据库表核对,清 理第三方应用程序的缓存。8)归属地管理管理:在下载手机号归属地资源后,系统将收集手机在进行 通讯过程中收到或是拨出的号码, 并将收集到的号码与归属地资源进行比对, 从 而在界面上显

47、示出手机号归属地。数据结构说明在本项目中,预计将会多次使用到 List 、Array 等数据结构来存储临时数据 和传递数据。以下简单介绍一下这些数据结构。List 是个集合接口, 可以理解为动态数组, 传统数组必须定义好数组的个数 才可以使用,而容器对象无须定义好数组下标总数。用 add ()方法即可添加新 的成员对象, 他可以添加的仅仅只能为对象, 不能添加基本数据类型, 容器还对 应 get (), remove ()方法来获取和删除数据成员。只要是集合类接口都会有 个“迭代子”,利用这个迭代子,就可以对 list 内存的一组对象进行操作。Array 很简单,就是数组。数组的实例被创建之前

48、必须明确指定数组大小, 然后根据这个大小在内存中划分一块连续的存储区域。 通过数组的下标可以快速 访问到数组中的某个元素,但是数组的增删效率相对 List 来说要低很多。数据库设计3.6.1 设计原则数据库设计是建立数据库及应用系统的技术, 是系统开发和建设中的核心技 术,如果一个数据库的设计没有计划而全凭直觉, 那最后设计出来的数据库很可 能不能满足用户的要求。 另外数据库设计不周详而导致的恶果是数据库中有大量 冗余数据, 不仅会产生数据异常, 还会占用不必要的磁盘空间。 数据库设计是研究数据库及其应用的系统设计。数据设计是指对于一个给定的应用环境, 构造最优数据库模式,建立数据库及其应用系

49、统,使之能够有效地存储数据,满足各种 用户的应用需求。软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存 储在数据库或文件中,为减小数据冗余,避免出现插入异常或删除异常,简化修 改数据的过程,通常需要把数据结构规范化。362数据库设计前面提到过,在An droid开发中使用的数据库是SQLite数据库。那么在程 序开发的过程中就少不了有关数据库的表的编写。以下简单介绍几个在数据库中 需要创建的数据库表。1 )归属地信息数据库设计通过以上分析,归属地应建立3张数据库表:号码表、城市表、IP拨号表。 这3张表中包括了归属地的所有信息,包含运营公司信息、省市信息、区分IP拨号信息等。

50、下面介绍每张表的结构。表4-1号码表字段名称字段类型字段含义RecNoin teger号码编号、表的主键Prefixin teger手机号码的前3位Carriervarchar区分运营公司表4-2城市表字段名称字段类型字段含义idin teger城市编号、表的主键RecNoin teger表的外键Codein teger城市的区号locati onvarchar城市名称表4-3 IP拨号表字段名称字段类型字段含义RecNoin teger表的主键Prefixin tegerIP拨号前缀2)黑名单信息数据库设计黑名单数据库比较简单,只有一张表来存放黑名单信息。表的结构如下所示表4-4黑名单表字段

51、名称字段类型字段含义idin teger黑名单编号、表的主键nu mbervarchar黑名单号码3)程序锁信息数据库设计表4-5程序锁表字段名称字段类型字段含义idin teger程序锁编号、表的主键pack namevarchar程序名称本章小结本章解析了系统概要设计的设计思想, 描述了系统开发所采用的主要技术支 持,简单介绍了功能模块的设计来源和设计思想, 以及设计了数据库表。 本章是 在进行实际开发前的重要环节, 结构和思想设计的好, 才能在开发的后期少出错。第4章系统详细设计与实现详细设计是软件工程中软件开发一个步骤,就是对概要设计的一个细化,就 是详细设计每个模块实现算法,所需的局

52、部结构。详细设计的基本任务包括:1)为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每 个模块处理过程的详细算法描述出来。2 )为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性 的数据类型进行确切的定义。3)为数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指 数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的 数据库系统。4) 其他设计:根据软件系统的类型,还可能要进行代码设计、输入/输出格 式设计、人机对话设计等。本章将介绍本系统的各个模块的实现过程。4.1 An droid 架构An droid 的底层建立在Linux系统之上,它采

53、用一种软件叠层的方式进行 构建。这种软件层结构使得层与层之间互相分离,分工明确。保证了层与层之间 的低耦合,当下层的层下或者层内发生改变时,上层应用程序无需做任何改变18An droid系统主要由5部分组成:1)应用程序层(Applications )An droid装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的应用程序框架( Application Framework)通过提供开放的开发平台, Android 使开发者能够编制极其丰富和新颖的 应用程序。开发者可以自由地利用设备硬件优势、 访问位置信息、运

54、行后台服务、 设置闹钟、向状态栏添加通知等等,很多很多。开发者可以完全使用核心应用程序所使用的框架 APIs 。应用程序的体系结 构旨在简化组件的重用, 任何应用程序都能发布他的功能且任何其他应用程序可 以使用这些功能(需要服从框架执行的安全限制) 。这一机制允许用户替换组件。所有的应用程序其实是一组服务和系统,包括:视图(View )丰富的、可扩展的视图集合,可用于构建一个应用程序。包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器。内容提供者(Content Providers )使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据资源管理器(Resource Manager

55、 )提供访问非代码资源,如本地化字符串、图形和布局文件通知管理器(NotificationManager )使所有的应用程序能够在状态栏显示自定义警告活动管理器(Activity Manager)管理应用程序生命周期,提供通用的导航回退功能函数库( Libraries )Android 包含一个 C/C+ 库的集合, 供 Android 系统的各个组件使用。 这 些功能通过 Android 的应用程序框架( application framework )暴露给开发者。下面列出一些核心库:系统C库一一标准C系统库(libc )的BSD衍生,调整为基于嵌入式Linux 设备媒体库基于 Packet

56、 Video的Open CORE。这些库支持播放和录制许 多流行的音频和视频格式, 以及静态图像文件, 包括 MPEG4、 H.264 、MP3 、 AAC 、AMR 、JPG、PNG界面管理管理访问显示子系统和无缝组合多个应用程序的二维和三维 图形层SQLite 所有应用程序都可以使用的强大而轻量级的关系数据库引擎19Android 运行时( Android Runtime )Android 包含一个核心库的集合, 提供大部分在 Java 编程语言核心类库中 可用的功能。每一个 Android 应用程序是 Dalvik 虚拟机中的实例,运行在他们 自己 的进程中。 Dalvik 虚拟机设计成

57、,在一个设备可以高效地运行多个虚拟机。 Dalvik 虚拟机可执行文件格式是 dex , dex 格式是专为 Dalvik 设计的一种压缩 格式,适合内存和处理器速度有限的系统。大多数虚拟机包括 JVM 都是基于栈的,而 Dalvik 虚拟机则是基于寄存器的。 两种架构各有优劣, 一般而言, 基于栈的机器需要更多指令, 而基于寄存器的机 器指令更大。 dx 是一套工具,可以将 Java.class 转换成 .dex 格式。一个 dex 文 件通常会有多个.class。由于dex有時必须进行最佳化,会使文件大小增加 1-4 倍,以 ODEX 结尾。Dalvik 虚拟机依赖于 Linux 内核提供

58、基本功能,如线程和底层内存管理Linux 内核( Linux Kernel )Android 基于 Linux 2.6 提供核心系统服务,例如:安全、内存管理、进程 管理、网络堆栈、驱动模型。 Linux Kernel 也作为硬件和软件之间的抽象层,它 隐藏具体硬件细节而为上层提供统一的服务。如果你学过计算机网络知道 OSI/RM ,就会知道分层的好处就是使用下层提 供的服务而为上层提供统一的服务, 屏蔽本层及以下层的差异, 当本层及以下层 发生了变化不会影响到上层。也就是说各层各司其职,各层提供固定的 SAP ( Service Access Point ),专业点可以说是高内聚、低耦合。S

59、QLite 数据库作为一个开源的嵌入式数据库产品, SQLite 具有系统开销小,检索效率高 的特性,嵌入式数据库无须独立运行的数据库引擎, 它是由程序直接调用相应的 API 去实现对数据的存取操作。 更直白的讲,嵌入式数据库是一种具备了基本数 据库特性的数据文件。 嵌入式数据库与其它数据库产品的区别是, 前者是程序驱 动式,而后者是引擎响应式。嵌入式数据库的一个很重要的特点是体积非常小, 同时,很多嵌入式数据库在性能上也优于其它数据库, 所以在高性能的应用上也 常见嵌入式数据库的身影。SQLite是D 理查德希普开发出来的用一个小型C库 实现的一种强有力的嵌入式关系数据库管理体制。SQLit

60、e 是无数据类型的数据库。虽然在生成表结构的时候,要声明每个域 的数据类型,但 SQLite 并不做任何检查。开发人员要靠自己的程序控制输入与 读出数据的类型是正确的。 这里有一个例外, 就是当主键为整型值时, 如果要插 入一个非整型值时会产生异常。 另外,虽然在插入或读出数据的时候是不区分类 型的,但在比较的时候,不同数据类型是有区别的。SQLite提供了对Transaction的支持。应用Transaction即保证了数据的完整性,也会提高运行速度,因为多条语句一起提交给数据库的速度会比一条一 条的提交方式更快。SQLite实现了完备的、可嵌入的、零配置的 SQL数据库引擎。它的特点包 括

温馨提示

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

评论

0/150

提交评论