《基于Android系统的手机安全卫士毕业设计(21页).docx》由会员分享,可在线阅读,更多相关《基于Android系统的手机安全卫士毕业设计(21页).docx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于Android系统的手机安全卫士毕业设计-第 17 页目录摘要1Abstract2第一章 引言31.1研究背景31.2相关技术的发展现状31.3论文组织结构4第二章 Android的架构分析52.1Android特征52.2Android架构62.2.1应用程序框架62.2.2系统运行库72.2.2.1程序库72.2.2.2运行库82.2.3Linux内核82.3Android应用的构成和工作机制82.4Android与其他手机操作系统的比较92.5本章小结10第三章 软件的总体框架113.1软件主要功能概述113.1.1客户端登录/退出113.1.2手机防御123.1.3防打扰133.
2、1.4个人隐私133.1.5程序管理143.1.6密码管理153.1.7关于软件153.2软件流程16第四章 软件实现184.1用户登录的实现过程184.2软件主页面的实现过程184.3手机绑定的实现过程194.4防打扰的实现过程214.5个人隐私的实现过程234.6程序管理的实现过程244.7密码管理的实现过程264.8关于软件的实现过程274.9用户退出的实现过程29第五章 总结与展望305.1论文总结305.2工作展望30致 谢31参考文献32摘要随着智能手机一步步走进普通人的生活,它将成为人们获取信息的主要设备。因此,手机的安全应用服务将会有很大的发展空间,安全卫士软件就是其中之一。A
3、ndroid平台提供给用户非常方便的数据查阅功能,这将为安全卫士软件的设计与实现提供了更好的平台。另外,Android平台基本上是免费的,所以能够有效降低软件的成本,最终让每个用户能够自由地获取信息,也为手机安全卫士服务的普及做出贡献。 本文对目前应用的Symbian、WindowsMobile、MacOSX和RIM等平台的现状进行了分析与比较。进而研究分析了Android平台的系统架构和组件模型,接着解析了Android中的重要API和应用构成,以Intent和生命周期的机制。在此基础上,基于Android平台设计和手机安全卫士软件。本系统界面友好、操作便捷,具有良好的可扩展性和可维护性;系
4、统经过测试,可以稳定运行,能够满足手机用户的基本需求。关键字:Android、Java、安全卫士、Intent、布局Abstract With the Mobile Phone enters into the live step by step,it will become the main device to obtain information. Services of mobile Phone will have great development space.Security Guards is one of them. Android platform offers users ve
5、ry convenient Security Guards the function.This will be for Security Guards the design and implementation of service provides a better platform.In addition, Android platform is basically free, so can effectively reduce the software costs, Finally let each user will be free to get information, Also f
6、or the popularization of mobile phone Security Guards the service contribution. This paper discusses the present application of Symbian, Windows Mobile, MacOSX and RIM situation of such platform are analysed and compared. Further research and analysis of the Android platform system architecture and
7、the component model, then analyzes the important Android API and the application form, with Intent and life cycle mechanism, on this basis, design and development of mobile phone Security Guards the software based on the Android platform. This system friendly interface, Convenient operation, Has goo
8、d expansibility and maintainability; after test of system, can stable operation, To meet the basic needs of mobile phone users.Keywords:Android、Java、Security Guards、Intent、Layout第一章 引言1.1研究背景随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,Windows Mobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很
9、强的平台。经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google为此与2007年11月推出了一个专为移动设备设计的软件平台Android。Android 是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android 是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有
10、助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。根据中国互联网信息中心(CNNIC)发布的第22次中国互联网络发展状况统计报告显示,截止2008年6月底,我国网民数量达到了2.53亿,首次大幅超过美国,网民规模跃居世界第一位,其中手机网民达到7305万,手机上网成为网络接入的一个重要发展方向。1.2相关技术的发展现状Palm OS是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小,允许用户在其基础上编写和修改相关软件,是支持的应用程序更加丰富多彩。Plam 在其它方面也还存在一些不足,如Plam操作系统本身
11、不具备录音、MP3播放功能等,但是可以通过加入第三方软件或硬件设备来实现。其代表性的产品有Palm m505、Palm m500、Palm III等。Symbian是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝牙、SyncML以及3G技术。Windows mobile系列操作系统是从微软计算机的Windows操作系统上变化而来的。Windows mobile系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件设置(如内存、储存卡容量等)上也采用其他操作系统
12、的智能手机要高出许多,因此性能比较强劲,速度比较快。Windows mobile系列操作系统包括SmartPhone以及Pocket PC Phone两种平台。Pocket PC Phone主要用于掌上电脑型的智能手机,而SmartPhone则主要为手上智能手机提供操作系统。Linux系统是一个源代码开放的操作系统。由于其开源性,手机制造商可以根据实际情况开放自己的Linux手机操作系统,从而也能够吸引更多的软件制造商在其上开发更多的应用软件,丰富第三方的应用。但是Linux操作系统也还存在一些不足,集成开放环境和基于Linux的产品与PC的连接性比较差等。1.3论文组织结构本文首先分析了系统
13、的研究背景,介绍了当前手机操作系统、即时通讯软件的发展现状和即时通讯协议,以及本文的主要内容。第二章,介绍了Android的特征、Android的架构以及Android应用的构成和工作机制,并对Android与其它手机操作系统进行了比较,说明了Android的优势。第三章,详细论述了在Android平台上开发手机安全卫士软件,提出了软件的主要功能,软件的总体描述和架构设计。第四章,介绍了软件的设计特点,着重论述了账户操作的工作流程。第五章,给出本文的结论并对课题进行了进一步的展望。第二章 Android的架构分析Android是一个移动设备的软件平台,是由Linux+Java构成的开源软件,它
14、提供包括SDK、Key Apps、Middleware、Linux Kernel四个部分在内的全套手机软件方案。它开放了基于Linux内核以上的开发工具,从而保证了内容的可移植性和多样性。Android平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用。2.1 Android特征应用框架:用于开发可重用、可替代的组件。Dalvik虚拟机:Android采用的Java虚拟机是自主开发的代号为Dalvik的虚拟机技术,在保证API方面兼容的同时Dalvik针对移动手机进行了大幅优化,占用资源更小,运行效率更高。内嵌浏览器:基于
15、开源的浏览器网页排版引擎WebKit。优化的图形:强大的自定义二维图形库。基于OpenGL ES 1.0标准的3D图形功能,在移动3D开发中有着至关重要的地位。SQLite数据库:SQLite提供结构化的数据存储。它是一款轻型免费的且开源的数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等。多媒体支持:支持各种通用的音频、视频和静态图像格式,如MP3、JPG、PNG等。Open Core是Android多媒体框架的核心,所有Android平台的音频和视频采集、播放的操作都是通过它来实现的。通过Open Core,程序员可以方便快速的开发出想
16、要的多媒体应用程序。GSM技术:(依赖硬件)Global System for Mobile Communications,全球通讯系统,俗称“全球通”,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。蓝牙,EDGE,3G and WiFi:(依赖硬件)蓝牙和Wi-Fi都是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM Evolution),是增强型数据速率GSM演进技术。Cameram,GPS,compass,andaccelerometer:(依赖
17、硬件)GPS(Global Positioning System),即全球定位系统。它是由一个由覆盖全球的24颗卫星组成的卫星系统。Compass是一个开放源码的Java搜索引擎框架。强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测,以及Eclipse IDE的开发插件。Eclipse是个集成开放环境。2.2 Android架构Android的架构是由Linux内核、C/C+函数库、Dalvik虚拟机、应用框架以及关键应用程序构成的。通过编译基于框架的应用程序可以降低开发负荷。应用软件原则上是在DalvikVM上运行的。图2.1 Android架构2.2.1.应用程序框架开发人员也
18、可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统, 其中包括; 丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons), 甚至可嵌入的web浏览器。 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人
19、数据库), 或者共享它们自己的数据 资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。 通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。2.2.2.系统运行库2.2.2.1程序库Android 包含一些C/C+库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库: 系统 C 库 - 一
20、个从 BSD 继承来的标准 C 系统函数库( libc ), 它是专门为基于 embedded linux 的设备定制的。 媒体库 - 基于 PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。LibWebCore - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。SGL - 底层的2D图形引擎3D libra
21、ries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D软加速。FreeType -位图(bitmap)和矢量(vector)字体显示。SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。2.2.2.2运行库Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式
22、文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中 的 dx 工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。2.2.3.Linux内核Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性、内存管理、进程管理、网络协议和驱动模型。Linux 内核也同时作为硬件和软件栈之间的抽象层。2.3Android应用的构成和工作机制Android应用程序来说,是由Activity、Intent Receiver、Service、ContentProvider四部分
23、组成,但并不是每一个Android应用程序都必须由这四部分组成。在应用程序中使用时,需要在配置文件Android应用程序中所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。Android应用的构成和工作流程图如下:图2.2 Android的构成和工作流程2.4 Android与其他手机操作系统的比较我们主要从手机操作系统的Portablity、Reliability、Connectivity、Product Diversity、Open Platform、Kernal Size、Standards、Security和Special Features这九个方面进行了比较,具体的比较结果
24、如下表:对上表比较的九项每一项以1分、0.5分、0分三个级别来进行了评分,综合各项评分,最好得到的评分结果是Android 8.5分、Windows mobile 5.5分、Symbian6.5分。Android基于开源的Linux以及标准的跨平台的编程语言Java,而且源代码开放,并且免费允许所有厂商和个人在其基础上进行开发,其开源和免费政策将赢得不少手机制造商的支持。而且在其平台上集成了不少优秀的开源工程,如Webkit、OpenGL等,相信在不久,将会有更多的优秀工程加入到Android中来。相比其他手机操作系统过于封闭的特性来说,Android在手机操作系统领域将会占有很大的优势,其功
25、能也将会越来越强大。2.5 本章小结 本章对Android平台的特征、架构以及Android应用的构成和工作机制进行了详细的分析。对于Android应用程序来说,主要由Activity、 Service、 Intent Receiver和Content Provider四部分组成,但并不是对于每一个应用程序,这四部分都是必须的。Activity是应用程序中最重要的一种构成块,我们对其进行了详细的分析,包括Activity的生命周期以及Activity之间的切换。最后对Android与其它的手机操作系统从九个方面进行了比较,说明了Android的优势。第三章 软件的总体框架3.1软件主要功能概述
26、 1.手机防御:绑定一个手机号码,可以手动输入,也可以读取手机通讯录来选择,并存入SharedPreferences,验证SIM卡是否被换,如若被换就向绑定的手机号发送短信 2.防打扰:通过ExpandableListView展示“白名单”和“黑名单”,白黑名单可以手动添加,也可以读取手机通讯录,用ListView显示通讯录名单,需要重写BaseAdapter,并且加入checkBox用来选择多条信息到名单中,并将信息分别存到数据库对应的表中,还添加拦截对象,有“拦截黑名单”、“只接收白名单”、“拦截所有人”,通过RadioButton来选择。用来自动挂断电话。 3.个人隐私:通过listVi
27、ew显示创建的文本,并通过重写BaseAdapter来显示文本以及创建文本的时间。新建文本可以手动输入还可以通过语音输入。语音输入是通过调用google的语音搜索引擎来处理语音并且返回文本,并存入到Sqlite数据库。 4.程序管理:读取手机的应用程序,分为用户程序和系统程序,通过GridView显示出来。对于用户程序,通过选择菜单来实现运行和卸载,卸载是调用系统的卸载工具;对于系统程序,同样可以调用系统的卸载工具进行卸载。 5.密码管理:用来修改登录密码,首先必须进行初始密码验证,才能修改密码,然后分别验证新密码和确认密码,同样新密码存储到SharedPreferences中。密码修改成功后
28、就会跳到登录页面,输入正确的密码才可以进入 6.关于软件:主要用来介绍此软件的详细功能。通过点击按钮弹出对话框文本来介绍。3.1.1客户端登录/退出客户端登录/退出功能:第一次进入设置密码,以后每次登录输入密码 。登录(设置/输入密码)关于软件密码管理程序管理手机防御个人隐私防打扰退出(结束程序)图3.1 客户端登录/退出3.1.2 手机防御手机防御功能:通过绑定手机号来远程控制你的手机。手机防御输入手机号码(手动/读取手机通讯刻录输入)开启防御响警报音,便于找回手机锁定手机,禁止胡乱使用删除隐私,防止泄露秘密更换SIM卡发送短信通知 图3.2 手机防御3.1.3 防打扰 防打扰功能:通过添加
29、黑白名单来拦截短信和来电防打扰黑名单白名单 图3.3 防打扰白名单里面的人短信和电话默认为不拦截,黑名单里面的人短信和电话默认为拦截,通过拦截规则,来选着用哪种模式实现防打扰。拦截规则有拦截黑名单里面所有人、只接收白名单里面的人和拦截所有人。3.1.4 个人隐私 个人隐私功能:记录你需要保存的个人信息个人隐私手动输入语音输入列表 图3.4 个人隐私3.1.5 程序管理 程序管理功能:管理手机里面的应用程序管理卸载卸载运行系统程序用户程序系统权限 图3.5 程序管理通过获取手机里面的APP,将其分为用户程序(用户安装的应用)和系统程序(系统自带的应用)。用户程序可以用来运行和卸载,系统程序可以用
30、来卸载,卸载调用是系统的卸载工具,需要获取系统的权限。3.1.6 密码管理 密码管理功能:更改软件的使用密码密码管理设置新密码验证旧密码验证确认返回登录页面 图3.6 密码管理设置新密码必须满足三个要求:验证旧密码(必须输入正确的旧密码)、验证新密码(符合设置密码的要求)和确认新密码(重新输入设置的新密码确认)。设置密码成功之后将会跳到登录页面,输入新密码即可以使用软件。3.1.7关于软件 关于软件功能:详细介绍软件的使用关于软件检测新版本功能介绍版本号 图3.7 关于软件通过关于软件可以获取到版本号信息,详细介绍软件是如何使用的,以及其功能,模拟访问后台来检测新版本。3.2软件流程用户第一次
31、运行程序的时候,首先看到的是设置密码的对话框,设置符合要求的密码就可以进入软件,接下来看到的是程序的主页面。主页面分六大块,分别是手机防御、防打扰、个人隐私、程序管理、密码管理和关于软件。手机防御用来绑定手机号码。被绑定的手机可以远程控制你的手机,如果手机SIM卡被换掉,就会向被绑定的手机发送短信通知,通知里面包含了如何远程控制手机的详情,被绑定的手机可以通过发送指定的短信内容控制你的手机,具体有删除你的手机里面的个人隐私,让你的手机以最大的音量报警以及锁定手机,锁定手机之后只有输入正确的密码才可以使用手机。防打扰用来拦截短信和来电。里面包括白名单和黑名单,白名单里面的号码的短信和来电默认为不
32、拦截,黑名单里面的号码的短信和来电默认为拦截。通过手动输入或者读取手机通讯录来添加白黑名单,将这些名单存入数据库,用来判断是否拦截。功能菜单里面还有拦截规则,拦截规则分三种:拦截黑名单里面的人、只接收白名单里面的人和拦截所有人。个人隐私用来存储个人的一些文本信息,可以手动输入,也可以语音输入。语音输入调用的是google的语音搜索引擎。文本内容和记录的时间存入本地数据库,通过列表来显示记录的隐私。程序管理用来管理手机里面的应用程序。通过获取到手机里面所有的应用程序,将他们分类为用户程序,即用户安装的应用和系统程序,即系统自带的应用。可以运行和卸载用户程序,只能卸载系统程序,卸载程序需要调用系统
33、的卸载工具并获取系统的权限。密码管理用来管理程序的密码。如若需要更改密码,首先得验证旧密码,只有当旧密码输入无误才可以设置新密码。设置新密码必须按照提示给的要求,符合要求后还得再次输入密码以确认两次输入的密码一致。最后提交你设置的新密码,程序就会跳到登录页面,输入正确的密码才可以使用。关于软件用来介绍手机的版本号,详细的使用和功能以及检测新版本。为了更加清晰的表达软件的功能模块,画出流程图。登录软件主页面检测新版本功能介绍版本号确认新密码验证新密码数据库设置新密码验证旧密码权限运行卸载用户程序系统程序语音输入列表语音输入手动输入黑名单白名单关闭防御1.发送短信通知2.删除隐私3.响警报音4.锁
34、定手机开启防御关于软件密码管理程序管理个人隐私防打扰手机防御退出程序 图3.8 软件流程图第四章 软件实现4.1用户登录的实现过程第一次运行程序需要设置软件密码,按要求设置密码即可使用软件。如下图所示。图4.1 用户登录4.2软件主页面的实现过程 进入主页面,可以清楚的看到软件的六大模块。如下图所示。图4.2 主界面4.3手机绑定的实现过程手动或者读取手机通讯录输入绑定的手机号然后开启防御。如下图所示。 图4.3 手机绑定效果 图4.4 选择手机号图4.5 绑定手机号4.4防打扰的实现过程添加白黑名单来拦截短信和来电。可手动也可读取手机通讯录添加。如下图所示。图4.6 防打扰效果 图4.7 添
35、加号码到黑白名单图4.8 手动添加到黑白名单 图4.9 选择号码添加到黑白名单 图4.10 menu菜单 图4.11 拦截对象4.5个人隐私的实现过程列表显示个人隐身。可以删除,也可以新建。可以手动输入,亦可以语音输入。效果图如下。图4.12个人隐私效果 图4.13 语音识别讲话图4.14新建隐私记录 图4.15 隐私操作菜单4.6程序管理的实现过程分为用户程序和系统程序。可以运行和卸载用户程序,可以卸载系统程序。如下图所示。图4.16 用户程序 图4.17 系统程序 图4.18 用户程序操作菜单 图4.19 系统程序操作菜单4.7密码管理的实现过程逐步验证来设置新的密码,设置完成,跳到登录页
36、面。如下图所示。图4.20 初始密码验证 图4.21新密码要求验证图4.22 更改密码重新登录4.8关于软件的实现过程介绍软件的版本号,功能以及检测新版本。如下图所示。图4.23 关于软件效果 图4.24软件功能介绍 图4.25 检查新版本 图4.26 显示检查结果4.9用户退出的实现过程 菜单键退出或者点击返回键弹出对话框退出。如下图所示。图4.27 menu菜单退出 图4.28 弹出对话框退出第五章 总结与展望5.1论文总结首先论文对涉及的相关技术进行了阐述。其次通过比较几个主流的操作系统对android系统的架构进行了分析。然后详细介绍了该软件的功能以及实现。通过流程图清晰的展示出整个项
37、目的流程。最后介绍了该软件的实现效果。5.2工作展望由于只是实现了功能,并没有简化代码,在未来的时间里将对它进行进一步的完善和改进:采用MVC设计模式改写代码,MVC英文即Model-View-Controller。视图(View) 与用户交互的界面。控制(Controller)接收用户请求, 根据用户不同请求去调用不同模型,再根据调用的不同结果跳转到响应的视图,它是应用系统的CUP,是调度中心。模型(Model)它是业务逻辑层,是业务逻辑处理的核心。这么来设计就是为了把表示层和下面的业务逻辑层和数据持久层分开。这么可以使层次更加分明,使得分工更加明确。MVC要求对应用分层,虽然要花费额外的工
38、作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。致 谢参考文献1.公磊 周聪,基于Android的移动终端应用程序开发与研究,计算机与现代化,2008(8)年, P4-342.高焕堂,Android应用框架原理与程式设计36技 Google公司,2008年3.马越,Android的架构与应用,中国地质大学(北京)硕士学位论文,2008年P25-1024. 印旻Java与面向对象程序设计教程清华大学出版社,1999年,26-565. Herbert Schildt,Java2实用教程,北京:清华大学出版社,2004,1,P45-74 6. 张跃平 王克宏JAVA2实用教程,北京:清华
39、大学出版社,2001,10,P47-767贝利,数据结构Java语言描述,北京:清华大学出版社,2004.9,P66-768. 梅尔,Android2高级编程(第2版),清华大学出版社2010年,P40-769. 盖索林,王世江,Google Android开发入门指南(第2版),人民邮电出版社,2009年,40-7610. 墨菲,Android开发入门教程,人民邮电出版社,2010年,P15-8611. 韩超 梁泉,Android系统原理及开发要点详解,电子工业出版社,2010年,P40-7612. 汪永松,Android平台开发之旅,机械工业出版社 2010年,P40-21513. 余志龙 等,Google Android SDK开发范例大全(第2版),人民邮电出版社,2010年,P4-23914.张桂元,贾燕枫,Eclipse开发入门与项目实践,人民邮电出版,2006年, P36-7815.史济民,软件工程原理、方法与应用,高等教育出版社,2002年, P45-345