




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于安卓平台的手机助手设计与实现基于安卓平台的手机助手设计与实现Abstract摘 要Android是智能手机最广泛的应用系统之一,在如此大的市场环境下,Android应用数不胜数,但应用也增加了手机的负荷,降低了手机的使用效率。针对此问题,对用户遇到的实际问题进行了调查,分析出用户们希望通过应用软件对手机进行管理,从而提高手机性能。通过对用户的需求调查,针对用户所面临的问题,设计并开发了一个手机助手软件系统。系统实现了屏蔽来电、软件管理、任务管理、手机杀毒等功能,主要开发过程包括:对该系统进行需求分析,得到该系统的用例图及用例描述;对系统进行分析设计,得到该系统的结构设计和功能模块设计;设计数据库,得到数据库表;基于Java语言、Android开发技术实现系统,编写了代码;对系统进行功能测试,保证其功能的完善。在系统开发完成后,将本系统在小范围内的用户手机中进行了测试调查,调查结果得出系统可以达到预期的效果,用户们对系统的使用反响良好。总结用户们反馈回来的信息,他们指出该系统可以帮助用户对手机的日常管理,达到了系统在设计阶段时所针对的问题,为用户提供了管理便利和安全保护。关键词:Android;手机助手;数据库;JavaTitle Design and implement of Android phones assistant systemAbstractAndroid is one of the most widely used smartphone applications, in such a large market environment, Android applications are numerous, but the application also increases the load on the phone, reducing the efficiency in the use of mobile phones. To solve this problem, the practical problems encountered by users conducted a survey to analyze the users hope to manage application software for mobile phones to improve cell phone performance.By investigating the needs of users, for the problem faced by users, designed and developed a mobile assistant software system. System to achieve the shielding calls, software management, task management, mobile antivirus and other functions, the main development process includes: the system needs analysis, use case diagram of the system and use case descriptions;system analysis and design, to get the structure of the system design and function module design;design database, get the database table;based on the Java language, Android development technology systems, the preparation of the code;functional testing of the system to ensure perfect its functions.After the system is developed, the system will be in a small range of mobile phone users were tested in the survey, the findings draw system can achieve the desired effect, users of the system using a good response. Summary information fed back users, they point out that the system can help users manage the phone daily, reaching the system in the design stage for problems, to provide users with the convenience and security management.Keywords:Android;mobile assistant;database;Java37目 录目 录第1章 绪论11.1 课题研究背景11.2 目的及意义11.2.1 目的11.2.2 意义11.3 Android发展现状21.4 论文组织结构21.5 本章小结3第2章 需求分析42.1 概述42.2 系统目标42.2.1 总体目标42.2.2 具体目标42.3 系统可行性分析42.3.1 社会可行性分析42.3.2 技术可行性分析42.3.3 经济可行性分析52.4 业务流程52.5 功能需求62.5.1 功能需求调查62.5.2 用户功能用例分析72.6 非功能性需求102.7 环境需求112.8 未来功能需求112.9 本章小结11第3章 系统总体设计133.1 概述133.2 系统原则及方法133.2.1 原则133.2.2 方法143.3 系统采用的技术支持143.3.1 Android开发环境介绍143.3.2 Android SDK简介153.3.3 Java语言153.4 结构设计163.5 功能模块设计173.5.1 模块功能设计173.5.2 数据结构说明183.6 数据库设计183.6.1 设计原则183.6.2 数据库设计193.7 本章小结20第4章 系统详细设计与实现214.1 Android架构214.2 SQLite数据库234.3 面向对象设计244.4 系统模块的实现244.4.1 数据库的实现244.4.2 用户管理黑名单的具体实现254.4.3 流量监测功能的具体实现264.4.4 任务管理功能的具体实现284.4.5 程序锁功能的具体实现284.5 本章小结31第5章 系统测试325.1 测试的概念和测试的目的325.2 系统测试325.2.1 黑盒测试335.2.2 黑盒测试的优点345.2.3 测试计划345.3 测试结果345.3.1 黑名单模块345.3.2 程序锁模块355.3.3 程序管理模块355.4 测试总结365.5 本章小结36结论与展望37致 谢38参考文献39附录1 部分系统界面截图40附录2 部分源代码42第1章 绪论随着智能手机的普及,手机软件成为了一个新的商业竞争市场,每天都有大量的手机软件上架,而用户的手机也是被各种应用软件所占据。当手机里的软件越来越多达到一定规模的时候,用户们会发现他们每天都会在手机的使用上浪费大量的操作时间,于是管理软件成为一个热点被人们所追求,人们希望有一款软件可以帮助他们简化手机的使用,从而提高手机性能。1.1 课题研究背景智能手机(Smartphone),是指“像个人电脑一样,具有独立的操作系统,可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的这样一类手机的总称”。Android是一种以Linux为基础的开放源码操作系统,其最大特色就是扩展性能强,第三方软件支持多1。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android的主要竞争对手是苹果公司的IOS以及RIM的Blackberry OS。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2012年2月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%2。在这个信息化的时代,手机已成为继固定电话之后最为通俗的交流工具3。在这个人与人关系愈加密切的时代,手机成了生活中的必需品。伴随着手机的普及,人们对手机的功能需求也越来越多,手机不仅要能打电话,还要成为娱乐设备,上网冲浪设备等,而随着手机中软件的增加,其安全性、快捷性等性能就大打折扣,这样的手机不再是人们想象中的微型电脑,因此手机用户呼吁一款可以提高手机性能且能保护手机的应用软件,所以手机管理软件应运而生。1.2 目的及意义1.2.1 目的手机管理软件是应运市场的需要而产生的,是手机用户们迫切需要的一款应用软件。它提出的目的是为了降低手机日常使用的复杂化和提高手机的安全性,是为了能给手机用户带来手机日常权限管理功能的集中化、高效化和快捷化好处。1.2.2 意义手机管理软件能使用户在使用手机的过程中减少繁琐的操作和提高手机的性能,避免用户在使用手机时浪费不必要的时间;也可以帮助用户保护手机,增加手机的安全性。总之,它的意义在于使得手机的使用可以更加简单、更加安全和更易管理。因此,开发一个基于帮助管理手机的可视化系统是在必行。其系统总的设计思想是以组成界面的元素为对象,用构件的形式加以描述,组织并提供一个可视化的管理环境,使用户能放心和快速的使用手机。1.3 Android发展现状随着3G应用的普及和4G网络的推广,用户会越来越需要更加个性化、优质化的服务,用户希望能够随时、随地无缝利用3G和4G网络进行办公、网上交易、游戏娱乐、欣赏影视节目、收听和下载等。根据观察,在近年来,移动手机终端已经有了以下若干方面的新发展。首先,提供智能提醒服务,手机能够与用户实现密切配合,并监控用户的个性化设置(保持在本地或者云端),当重要时间点或关键事物需要用户注意时,手机会向用户发出“提醒”服务,服务包括日程提醒、交通状况、最佳行车路线、最佳泊位、优惠活动、实时新闻、体育赛事、天气情况、股市行情、好友活动、亲友生日等。其次,提供虚拟现实体验,手机可以借助传感器、周边设备了解到您的身边环境,并根据收集到的信息,智能的为您提供有用的信息,如可以在用户购物时,提供相关的同类产品价格参考,提醒用户附近的那个卖场更物美价廉;根据实际场景,为用户及时提供正在操控的产品的使用方法提醒。如今,发挥物联网的优势,借助无处不在的传感器,可以感知并分享到周围世界的海量信息,这些信息将在“云端”得到整合,帮助用户及时、准确的获得气息信息、交通路况。另外借助物联网,用户间已经可以方便、快速的分享资源,协助和交互。如进行端到端的照片分享、书籍分享、音乐分享等。最后,更加智能、安全的设备,随着智能手机的不断普及和更加智能,手机软件的更新、升级将会变得越发简单,并会为用户提供工具或信息,让用户有能力和权力决策那些内容可以浏览、下载或分享。4在管理性能上也将更加出色,能够十分有效的帮助用户进行获取到的内容的管理,现在更是有了基于手机的金融活动,如电子钱包、在线支付、在线贸易等。1.4 论文组织结构第1章绪论,介绍了课题研究的背景及意义,对相关智能手机应用的现状进行了分析,提出了要解决的问题。第2章需求分析,介绍了系统的开发和实施需求、软件需求、硬件需求等,对系统的可行性进行了分析,给出了系统的设计方向。第3章概要设计,根据上一章的需求内容进行系统分析,设计系统框架图,描述了系统开发采用的技术支持,对系统的功能模块和数据库进行了设计。第4章详细设计,详细讲解功能模块的具体实现。第5章测试,通过测试展现出系统的优缺点,检测错误并修改,也为后续的系统更新做铺垫。1.5 本章小结本章首先介绍了Android智能手机的发展历史,由此提出了手机助手系统的必要性,并对该系统的目的及意义做了分析,最后阐述了Android系统在当下国内外的发展现状。本章主要是清晰指出本系统要针对的主要问题,为后续的开发指明方向。第2章 需求分析软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。5需求分析的任务是确定对系统的综合要求,分析系统的数据要求,导出系统的逻辑模型,修正系统的开发计划。软件需求分析过程所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求。62.1 概述本章采用软件工程方法对手机助手系统进行了需求分析,包括系统目标、功能性需求、非功能性需求、数据需求。其中将着重介绍功能需求分析和非功能需求分析,并画出功能需求所需的模块图。2.2 系统目标2.2.1 总体目标计算机时代的到来,为我们带来了很多的好处。它是人们的生活变得简单,人们的工作效率得到了提高,使人们的生活进入一个新的层次。随着社会经济和科学技术的发展,手机得到了更加普遍的应用,现在是信息化的时代,各行各业都离不开手机,随着计算机的前进脚步信息得到了全球化,使得手机也跟着进入到了全球化时代。所以本系统的总体目标是为了提高人们的通讯生活质量,为手机用户提供24小时的应用便利。2.2.2 具体目标系统的具体开发目标是为了减少用户对于手机管理的时间,实现用户对于程序管理的有效性和快捷性要求,满足用户对于使用手机的一些日常操作功能。系统也将按照用户的使用习惯采用简洁的操作界面,提高用户的可操作行。2.3 系统可行性分析2.3.1 社会可行性分析目前,基于Android的手机软件有非常广泛的市场空间,源于使用Android系统的手机用户基数非常大。因为有谷歌、华为等多家大型国际公司的带头作用,使得Android系统在智能手机领域内有很广阔的应用和发展前景,Android系统已经成为现在移动领域研究的热点。2.3.2 技术可行性分析由于Android开发是应用于当前主流编程语言Java,并且Android开发具有开源性,这不仅让开发者可以在统一开放平台进行程序开发,而且还可以解决现今市场不同智能机之间因文件格式不同而造成的信息交流不便、程序内容无法移植等问题。Android平台是由操作系统、中间件、界面和应用软件组成。是第一个要为移动终端创造的一款真正开放的完整的操作系统。72.3.3 经济可行性分析由于Android是开源软件,具备开发周期短,程序需求量大,拥有大量的手机用户等特点,可是给开发者提供良好的环境和市场。82.4 业务流程业务流程是为达到特定的价值目标而由不同的人分别共同完成的一系列活动。9活动之间不仅有严格的先后顺序限定,而且活动的内容、方式、责任等也都必须有明确的安排和界定,以使不同活动在不同岗位角色之间进行转手交接成为可能。活动与活动之间在时间和空间上的转移可以有较大的跨度。而狭义的业务流程,则认为它仅仅是与客户价值的满足相联系的一系列活动。为了更好地描述本系统的业务流程,采用数据流图进行描述,它是以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,可以清晰的表达出数据流经过的处理和走向。以下是分别针对黑名单数据流和黑名单操作数据流的描述和数据流图:当用户手机来电时,截取手机获取的来电号码,将来电号码数据流提交到后台数据库进行校对,返回校对信息,再根据校对信息使手机对来电号码进行判断是否屏蔽来电。黑名单查询数据流图如图2-1所示。图2-1 黑名单查询数据流图对于黑名单操作,接收用户对于黑名单的操作信息,该信息可能为添加、修改或删除,将操作信息传递到数据库对数据库信息进行修改。黑名单管理数据流图如图2-2所示。图2-2 黑名单管理数据流图2.5 功能需求2.5.1 功能需求调查相应的功能需求调查有以下方面。1)流量监测功能随着手机功能的不断完善和3G网络的普及,智能手机已经渐渐向网络化发展,而人们也越来越依赖于用手机上网冲浪。在网络高度发达的今天,人们可以随时随地的在网上冲浪,但也带来了与之共存的缺点,那就是流量的快速消耗问题,用户喜欢流量的透明性,那就是知道软件的流量消耗情况,以直观的变现形式呈现给用户,这样不仅可以方便用户提前限制不需要联网的程序,也可以帮助用户更好的规划自己的流量使用情况。2)程序锁功能在日常生活中手机不可能做到“机不离身”,可能会因一些原因而借给别人,但是如果手机中还有着一些自己不想让别人看到而又不舍得删掉的东西,那就会让用户很为难,于是对于个人隐私的保密性也就被许多手机用户所提倡。他们希望可以限制某些程序的公开性,来保护自己的秘密。3)任务清理功能在使用智能手机的过程中,我们不可能每次都一个个的去后台关闭不想用的进程,而大量的手机进程在后台运行又会影响手机的响应速度,所以批量关闭后台运行程序也成为手机用户迫切需要的一项功能。4)程序卸载功能随着时间的推移,我们会有越来越多的软件供我们使用,所以在手机中也将会存储着越来越多的应用软件,随着应用软件的更新换代,过去的软件将不再被使用,而这些软件闲置时还是会浪费一定量的存储空间。比起一个个的去查找并卸载软件,批量卸载是必然使用的优质选择。5)黑名单功能在信息化高速发展的今天,手机已经成为了人们必不可少的通信工具。但是手机给我们带来方便的同时,也带来了一些让人烦恼的事情。比如经常会有陌生人打骚扰电话,经常会在睡梦中被手机铃声惊醒,甚至接到一些诈骗电话,这些都是让人难以忍受的,似乎一切都被手机控制了。所以人们需求自由的来电拒接功能。6)病毒查杀功能当手机网络普及的同时,人们也发现了手机病毒的普及,有些程序会盗取用户的隐私,例如通讯录、短信等,更严重的则是盗取用户的账号对用户造成财物上的损失,所以手机用户们需要一款安全防护类的病毒查杀功能。7)清理SD卡缓存功能每当我们开启应用程序的同时,都会在SD中留有缓存,这是为了方便我们下次能够更快的启动程序,但是残留的缓存多了也会对手机整体造成影响,所以平时勤清理缓存会让我们的手机运行的更快。8)归属地管理功能在接打电话的过程中,用户会存在着对于一个不清楚的号码是不是长途的疑问,如果在接听和拨打电话时手机能够提示该号码的归属地,那么用户将不会再因不知道号码是否是长途而烦忧。2.5.2 用户功能用例分析用例分析是从用例模型到分析模型的过程,是需求与设计之间的桥梁。用例分析把系统的行为分配给分析类,让分析类交互完成系统的行为。用例图是表示一组用例、参与者及相互间关系的图。一个用例是系统所执行的一组动作的规范,而动作的执行将产生一个可观察的结果,该结果对相关的参与者具有特殊用途或价值。用例图主要描述用例之间、用例与参与者之间的关系,还有相关注解和约束。10手机助手系统的用例图如图2-3所示。图2-3 手机助手系统用例图针对图2-3用例图,对其中的用例进行用例描述,内容如表2-1表2-5所示。表2-1 监测流量用例用例监测流量启动者用户支持者手机助手系统主要流程a1用户点击流量监测a2用户点击流量显示按钮a3用户再次点击流量显示按钮b1系统响应进入流量监测界面b2系统界面显示系统内应用的流量消耗列表b3关闭系统内应用的流量消耗列表替代流程无流量消耗应用:当系统内的应用没有联网功能时,其流量消耗表示为-1。系统规则BR1:流量显示按正常流量消耗和WIFI流量消耗两种。BR2:累积所有软件总流量消耗。表2-2 屏蔽黑名单用例描述用例屏蔽黑名单启动者用户支持者手机助手系统主要流程a1用户点击黑名单a2用户点击黑名单列表中的号码a3用户点击添加、修改或删除按钮b1系统响应进入黑名单界面,并弹出黑名单列表b2系统弹出黑名单添加、修改和删除按钮b3系统执行添加、修改或删除操作,操作完成后显示黑名单列表替代流程1)无数据添加:添加黑名单号码为空时,提醒用户号码为空,显示黑名单列表界面。2)无数据删除:当删除黑名单列表中的最后一个号码或黑名单列表为空时执行删除操作,会弹出“该黑名单中无号码,请添加”信息。系统规则BR:添加的黑名单号码不能为空。表2-3 程序锁用例描述用例管理程序锁启动者用户支持者手机助手系统主要流程a1用户点击程序锁a2设置程序锁密码a3在程序列表中选中要锁定的程序a4进入锁定的程序a5输入密码b1系统响应进入程序锁界面b2系统显示密码b3锁定改程序b4弹出密码界面b5密码正确,进入程序;密码错误,无法进入程序替代流程1)未设置密码:未设置密码而要锁定程序时,弹出密码为空信息,程序锁服务无法开启。2)错误密码:输入错误密码无法进入程序,弹出“密码错误”信息。系统规则BR1:密码不能为空,且要求为6位数字。BR2:密码唯一,不可设置多个密码。表2-4 清理进程用例描述用例清理进程启动者用户支持者手机助手系统主要流程a1用户点击进程管理a2选中需要清理的进程,点击清理b1系统响应进入清理进程界面,弹出手机进程列表b2清理选中的进程,提示清理的内存信息,清理完后显示进程列表替代流程清理系统进程:清理系统进程时,提示该进程为系统进程,无法清理系统规则BR1:不能清理系统进程。表2-5 卸载程序用例描述用例卸载程序启动者用户支持者手机助手系统主要流程a1用户点击程序管理a2选中要卸载的程序b1系统响应进入程序管理界面,以列表形式显示手机内所有应用程序b2弹出卸载界面,提示是否卸载,是则写在,否则返回b1系统规则BR1:不能卸载系统程序。2.6 非功能性需求非功能性需求是指依据一些条件判断系统运作情形或其特性,而不是针对系统特定行为的需求。包括安全性、可靠性、互操作性、健壮性、易使用性、可维护性、可移植性、可重用性、可扩充性。下面分别介绍一下这些特性,如表2-6。表2-6 非功能性需求安全性为防止把手机内的信息泄露给无关的用户,必须采取某种安全保密措施,这些措施的有效程序如何就称为系统的安全性或保密性可靠性元件、产品、系统在一定时间内、在一定条件下无故障地执行指定功能的能力或可能性。可通过可靠度、失效率、平均无故障间隔等来评价产品的可靠性互操作性Interoperability,是指不同的系统、网络、操作系统和应用程序一起工作并共享信息的能力健壮性健壮性又称鲁棒性,是指软件对于规范要求以外的输入情况的处理能力。所谓健壮的系统就是指对于规范要求以外的输入能够判断出这个输入不符合规范要求,并能有合理的处理方式易使用性易用性是可用性的一个重要方面,指的是产品对用户来说意味着易于学习和使用、减轻记忆负担、使用的满意程度等可维护性就是在软件交付使用之后直至软件被淘汰的整个时期内为了改正错误或满足新的需求而修改软件的活动可移植性指与软件从某一环境转移到另一环境下的难易程度。为获得较高的可移植性,在设计过程中常采用通用的程序设计语言和运行支撑环境可重用性在环境和功能发生变化后,可通过局部修改和重组,保持整体稳定性,以适应新要求的软件可扩充性设计良好的代码允许更多的功能在必要时可以被插入到适当的位置中。这样做的目的的是为了应对未来可能需要进行的修改,而造成代码被过度工程化地开发因本手机助手系统涉及到权限问题,所以应该需要满足安全性、可靠性;考虑到Android手机软件的特性,应需满足易使用性、可移植性、健壮性;考虑到现今软件的可升级特性,为了本系统更好的发展空间,应需满足可维护性、可重用性、可扩充性。2.7 环境需求1)PC配置:操作系统要求Windows2007,内存2G以上,安装配备Java开发语言和eclipse开发工具及Android开发环境配置。2)手机配置:智能Android平台手机,要求Android4.0以上版本。3)数据库:使用SQLite轻量级数据库。2.8 未来功能需求随着手机网络的普及,手机软件的未来发展趋势必然是网络化。所以本系统将来的需求会使用联网功能,会提供热点搜索以及更换皮肤功能,使本系统软件更加的个性化。2.9 本章小结本章主要描述了什么是需求分析及需求分析需要完成的任务,分析了手机助手系统的功能性需求和非功能性需求,并介绍了系统的开发环境及系统的运行环境要求。同时对系统进行了可行性分析,包括社会可行性、技术可行性、经济可行性。本章主要为了了解系统的基本需求,为系统后期的开发奠定一个良好的基础。第3章 系统总体设计概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。概要设计建立的是目标系统的逻辑模型,与计算机无关。3.1 概述在需求分析阶段,已经对本项目的需求做了详细描述并划分了层次。在本章,会对项目进行具体的模块划分、模块的设计、数据库的设计、数据结构的设计等一系列工作。即对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要设计。这一过程,是为了将需求分析阶段的功能实现,提高系统的可靠性、安全性、实用性等。3.2 系统原则及方法3.2.1 原则1)实用性原则为了能为更多的用户提供帮助,此次采用Android4.0进行开发,以便能在更多的手机上能够使用本软件。为了方便用户的可操作性,本软件将使用九宫格格式的功能界面,会有简洁的界面、明确的功能划分和快速有效的响应速度,以便用户的使用。2)安全可靠性原则由于本软件是属于手机管理类软件,将会需要较多的手机管理权限,为保证用户的隐私安全,本软件将严格控制其安全性和保密性,不会有任何针对手机用户的恶意行为,不会泄露用户任何的隐私信息。3)界面美观性和简单易学性原则时间不管对于谁来说都是宝贵的,用户不会愿意花大量时间去学习使用一款软件。而一款软件如果操作界面不友好,让用户难以上手使用,那就说明这款软件开发得不够成功,从而失去大量的用户。所以本项目必须拥有良好的交互界面,且能让用户安装之后可以快速的熟悉并使用。4)稳定性原则一款软件如果设计得不够好,那么就有可能在运行的时候出现一些不可预料的错误从而造成软件崩溃。如果用户在使用的过程中软件突然崩溃了,无疑会让用户感到非常不舒服,有可能就把软件给卸载了,这样也会流失掉很多用户。所以本软件将会在测试阶段严格认真的进行测试,杜绝软件崩溃现象。5)可扩展性与可维护性原则为适应软件行业的快速发展,软件应该具有良好的可扩展性和可维护性。系统设计尽可能模块化、组件化,由于Android设备分辨率的各不相同,使软件可灵活配置,适应不同的Android终端设备。系统的可扩展性应包括能接纳已有的系统和在今后系统软硬件扩展时,能有效地保护已有的资源建设。当用户的需求有所改变时,可以对其快速的配置改变,以应对用户的需求,有一个较好的应用平台Android设备,能容易地安装和卸载。系统易于扩充升级,既能满足当前业务的需求,将来的需求改变和软件升级也被考虑在内。3.2.2 方法“面向对象”是一种认识客观世界的世界观,是从结构组织角度模拟客观世界的一种方法。11对象:是事物运行方式、处理方法和属性值的一种抽象表述12。类:是一组具有相同数据结构和相同操作的对象的集合13。面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界、解决问题的方法与过程。由于客观世界的问题都是由客观世界中的实体及实体相互间的关系构成的,因此我们把客观世界中的实体抽象为对象(Object)。面向对象方法的四个要点:1)认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。2)把所有对象都划分成各种对象类(简称为类Class),每个对象类都定义了一组数据和一组方法,数据用于表示对象的静态属性,是对象的状态信息。3)按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。4)对象彼此之间仅能通过传递消息互相联系。3.3 系统采用的技术支持3.3.1 Android开发环境介绍Android是Google公司推出的手机开发平台,但此技术并非Google开发,是Google收购的Android技术。Google与开放手机联盟的合作使得Android技术更加完善。14虽然Android这词出现才短短几年,由于它的使用不受专利限制加上有Google强大的技术支持,Android已有相当大的用户群,并在不断扩大着。Android有丰富的功能,因此很容易与桌面操作系统混淆。Android构建在Linux内核的基础上,是一个分层的环境,其操作系统的内核与图形用户界面技术是分开的,它非常适合手机应用开发者设计及研究的手机平台。此手机助手软件的设计就是基于Android的,我选择它作为我设计的操作平台不仅是因为它拥有着可观的市场前景,它还有着如下优点:1)是一个开源平台,模拟器、调试工具、SDK等开发组件都可以在网上免费下载并使用。在网上可以找到丰富的应用程序的源码,对于Android开发的研究学习提供了很大的帮助;2)应用程序框架支持组件的重用与替换。这就说明了程序开发者可以把系统中不好或者不喜欢的应用程序替换掉,来安装我们自己喜欢的应用程序,如文件管理器、主界面等等;3)SDK、ADT和DALVIK虚拟机都可以集成到Eclipse上,方便了开发者开发程序15。如果经常用Eclipse开发Java应用程序的程序员很容易上手Android的开发。已经安装过JDK和Eclipse的电脑上不需要复杂的开发环境搭建,只要安装了SDK和Dalvik就可以开发应用程序了;4)DALVIK专门为移动设备做了优化,它是基于寄存器的,相对于Java虚拟机的速度要快。而且在运行是可以设定手机硬件虚拟配置(如屏幕尺寸、内存大小等),这样可使开发者设计出来的应用程序更具针对性;5)自带的SQLite数据库系统,它用做结构化的数据存储,更适合应用与手机开发。163.3.2 Android SDK简介SDK是Software Development Kit的缩写,就是软件开发工具包。SDK是一些特定的软件包、软件框架等创建应用软件的开发工具的集合。Android SDK是跨平台的,因为它是基于本身底层就集成了Linux2.6作为自己的系统内核。Android的SDK是由Google免费提供的。SDK使得提供应用程序接口API更为简单。API是操作系统给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令。一些不清晰的API指定明确,比如一些与SQLite相关的API都被附上了SQLite前缀;API一些命名风格的统一,比如URI采用统一的URI,SDK采用了统一的ID;其他方面,AndroidManifest.xml中的一些项也是统一的,能够能容易的被理解。3.3.3 Java语言Java是定义位于网络计算的计算机语言,它几乎所有的特点也是围绕着这一中心展开的并为之服务的,这些特点使得Java语言特别适用于开发网络上的应用程序;另外,作为一种面世较晚的语言,Java也集中体现和充分利用了若于当代软件技术新成果,如面向对象、多线程等,这些也都在它的特点中有所反映。1)平台无关性:如前所述,Java语言独特的运行机制使得它具有良好的可移植性,利用Java,开发人员可以编写出与具体平台无关、普遍适用的应用程序,大大降低了开发、维护和管理的开销。2)面向对象:Java是纯面向对象的编程语言。面向对象技术较好地适应了当今软件开发过程中新出现的种种传统面向过程语言所不能处理的问题,包括软件开发的规模扩大、升级加快、维护量增大经及开发分工日趋细化、专业化和标准化等,是一种迅速成熟、推广的软件开发方法。面向对象技术的核心是以更接近人类思维的方式建立计算机逻辑模型,它利用类和对象的机制将数据与其上的操作封装在一起,并通过统一的接口与外界交互,使反映现实世界实体的各个类在程序中能够独立、自治、继承;这种方法非常有利于提高程序的可维护性和可重用性,大大提高了开发效率和程序的可管理性,使得面向过程语言难于操纵的大规模软件可以很方便的创建、使用和维护。3)多线程机制:每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。多线程是为了能够让多个线程并行以快速的完成任务,可以提高系统的执行效率,多线程是在一段时间内需要完成多项任务的时候使用。多线程是这样一种机制,它允许在程序中并发执行多个指令流,每条指令流都被称为一个线程,彼此间互相独立。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。多个线程的执行是并发的,也就是在逻辑上的“同时”,而不管是否是物理上的“同时”。如果系统只有一个CPU,那么真正的“同时”是不可能的,但是由于CPU的速度非常快,用户感觉不到其中的区别,因此我们也不用关心它,只需要设想各个线程是同时执行即可。多线程和传统的单线程在程序设计上最大的区别在于,由于各个线程的控制流彼此独立,使得各个线程之间的代码是乱序执行的,由此将带来的线程调度,同步等问题17。3.4 结构设计在设计一款软件时一般都会把它分成几个模块,在模块的基础上还会再分小模块,这样就达到了软件模块化设计的要求,然后再对各个小模块进行详细设计和编写,采用模块化的管理方式可以使软件结构更清晰,也使得软件的管理更有秩序,使别人容易理解和阅读,但是这些模块也要根据别的模块来设计和约束,不能随便设计脱离框架,设计完成后需要把每个设计完成的模块根据总体框架结合起来。根据本软件的功能需求,将本软件分为8个功能模块,把它们整合起来的整体框架如图3-1所示。图3-1 整体框架图3.5 功能模块设计根据系统整体结构设计,把系统的功能划分为8个模块,分别为任务管理模块、黑名单管理模块、流量管理模块、软件管理模块、程序锁模块、病毒查杀模块、清理缓存模块、归属地管理模块。3.5.1 模块功能设计以下介绍各个功能模块针对上述功能需求的设计1)流量管理模块:主要负责监测手机上已安装的软件的流量消耗情况,设计会以数字的形式返回到前台界面显示。2)程序锁模块:主要分为开启/取消程序锁、设置密码、选择锁定程序三个功能模块。开启/取消程序锁功能模块是管理程序锁功能的启用及关闭;设置密码功能模块设置在进入程序时需要验证的密码,也可以在此模块修改密码,密码的设定规则为六位数字以内;锁定程序功能模块设计在启用时会调出手机内的所有应用程序和系统程序,用户选中想要锁定的程序即可,再次选中则解锁该程序。3)任务管理模块:任务管理实现对系统内存中的进程进行动态监控,满足用户对无响应并占用资源的进程进行结束机制。但不允许用户结束系统进程。4)软件管理模块:系统将会以列表的形式将系统中的程序全部显示出来,用户可以点击程序选择启动或卸载。5)黑名单管理模块:黑名单管理模块下又细分3个小模块,分别为添加黑名单、修改黑名单和删除黑名单模块。在手机被来电或短信呼叫时,系统将查询黑名单并自动判断屏蔽被添加为黑名单的号码。6)病毒查杀模块:扫描手机内的程序,并与antivirus数据库表核对,如检测出有病毒,则申请权限杀死该进程并删除该程序。7)清理缓存模块:扫描SD卡内的缓存,与clearpath数据库表核对,清理第三方应用程序的缓存。8)归属地管理管理:在下载手机号归属地资源后,系统将收集手机在进行通讯过程中收到或是拨出的号码,并将收集到的号码与归属地资源进行比对,从而在界面上显示出手机号归属地。3.5.2 数据结构说明在本项目中,预计将会多次使用到List、Array等数据结构来存储临时数据和传递数据。以下简单介绍一下这些数据结构。List是个集合接口,可以理解为动态数组,传统数组必须定义好数组的个数才可以使用,而容器对象无须定义好数组下标总数。用add()方法即可添加新的成员对象,他可以添加的仅仅只能为对象,不能添加基本数据类型,容器还对应get(),remove()方法来获取和删除数据成员。只要是集合类接口都会有个“迭代子”,利用这个迭代子,就可以对list内存的一组对象进行操作。Array很简单,就是数组。数组的实例被创建之前必须明确指定数组大小,然后根据这个大小在内存中划分一块连续的存储区域。通过数组的下标可以快速访问到数组中的某个元素,但是数组的增删效率相对List来说要低很多。3.6 数据库设计3.6.1 设计原则数据库设计是建立数据库及应用系统的技术,是系统开发和建设中的核心技术,如果一个数据库的设计没有计划而全凭直觉,那最后设计出来的数据库很可能不能满足用户的要求。另外数据库设计不周详而导致的恶果是数据库中有大量冗余数据,不仅会产生数据异常,还会占用不必要的磁盘空间。数据库设计是研究数据库及其应用的系统设计。数据设计是指对于一个给定的应用环境,构造最优数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为减小数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。3.6.2 数据库设计前面提到过,在Android开发中使用的数据库是SQLite数据库。那么在程序开发的过程中就少不了有关数据库的表的编写。以下简单介绍几个在数据库中需要创建的数据库表。1)归属地信息数据库设计通过以上分析,归属地应建立3张数据库表:号码表、城市表、IP拨号表。这3张表中包括了归属地的所有信息,包含运营公司信息、省市信息、区分IP拨号信息等。下面介绍每张表的结构。表 4-1 号码表字段名称字段类型字段含义RecNointeger号码编号、表的主键Prefixinteger手机号码的前3位Carriervarchar区分运营公司表 4-2 城市表字段名称字段类型字段含义_idinteger城市编号、表的主键RecNointeger表的外键Codeinteger城市的区号locationvarchar城市名称表 4-3 IP拨号表字段名称字段类型字段含义RecNointeger表的主键PrefixintegerIP拨号前缀2)黑名单信息数据库设计黑名单数据库比较简单,只有一张表来存放黑名单信息。表的结构如下所示。表 4-4 黑名单表字段名称字段类型字段含义_idinteger黑名单编号、表的主键numbervarchar黑名单号码3)程序锁信息数据库设计表 4-5 程序锁表字段名称字段类型字段含义_idinteger程序锁编号、表的主键packnamevarchar程序名称3.7 本章小结本章解析了系统概要设计的设计思想,描述了系统开发所采用的主要技术支持,简单介绍了功能模块的设计来源和设计思想,以及设计了数据库表。本章是在进行实际开发前的重要环节,结构和思想设计的好,才能在开发的后期少出错。第4章 系统详细设计与实现详细设计是软件工程中软件开发一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。详细设计的基本任务包括:1)为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。2)为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。3)为数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。4)其他设计:根据软件系统的类型,还可能要进行代码设计、输入/输出格式设计、人机对话设计等。本章将介绍本系统的各个模块的实现过程。4.1 Android架构Android的底层建立在Linux系统之上,它采用一种软件叠层的方式进行构建。这种软件层结构使得层与层之间互相分离,分工明确。保证了层与层之间的低耦合,当下层的层下或者层内发生改变时,上层应用程序无需做任何改变18。Android系统主要由5部分组成:1)应用程序层(Applications)Android装配一个核心应用程序集合,包括电子邮件客户端、S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年渔家傲试题及答案
- 2025年专升硕英语试题及答案
- 5年级下册英语第5单元
- 嘉兴风机吊装施工方案
- 登鹳雀楼写了诗人的所见
- arm芯片霍尔信号
- 2025年天然植物纤维及人造纤维编织工艺品合作协议书
- 2025年内蒙古通辽市单招职业倾向性测试题库1套
- 2025年重庆青年职业技术学院单招职业倾向性测试题库及参考答案1套
- 2025年攀枝花攀西职业学院单招职业技能测试题库审定版
- C#经典教材(打印版)
- 初轧机设计论文
- 第二章政治文化与政治发展
- 艺术生文化课承诺班本科协议书
- 新能源汽车三电系统详解(图文并茂)
- 短视频营销对消费者购买行为的影响因素研究
- 2016版公路工程施工监理规范
- 监理大纲合同信息管理
- 慢性阻塞性肺病的用药指导
- 黄芩种植时间什么时候最好 黄芩播种技术
- GB/T 41000-2021聚碳酸酯(PC)饮水罐质量通则
评论
0/150
提交评论