基于Android平台的短信通的设计与实现.doc

上传人:文库蛋蛋多 文档编号:2393909 上传时间:2023-02-17 格式:DOC 页数:87 大小:1.68MB
返回 下载 相关 举报
基于Android平台的短信通的设计与实现.doc_第1页
第1页 / 共87页
基于Android平台的短信通的设计与实现.doc_第2页
第2页 / 共87页
基于Android平台的短信通的设计与实现.doc_第3页
第3页 / 共87页
基于Android平台的短信通的设计与实现.doc_第4页
第4页 / 共87页
基于Android平台的短信通的设计与实现.doc_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《基于Android平台的短信通的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于Android平台的短信通的设计与实现.doc(87页珍藏版)》请在三一办公上搜索。

1、基于Android平台的短信通的设计与实现摘 要Android是Google于2007年11月5日宣布的基于Linux平台开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动平台。Android在中国的前景十分广阔,首先是有成熟的消费者,其次在国内Android社区十分红火,这些社区为Android在中国的普及做了很好的推广作用。经过使用发现Android自带的短信发送功能十分简单,不支持单号码连发、定时短信等功能,然而Android开源的特性给开发者提供了一个完美的平台。基于Android平台的短信通弥补了市场的空白,把单号码连发,号

2、码段群发短信,清单群发短信,定时短信四个功能整合在一起,对Android手机短信发送功能很好的进行了完善。采用面向对象的方法进行系统构思、需求获取、系统分析、系统设计、数据库设计和类设计,实现了单号码连发,号码段群发短信,清单群发短信和定时短信四个功能。本文对短信群发定时短信软件的功能设计以及实现进行了详细的分析,并重点介绍该软件的开发过程,另外还讨论了一些关键技术的实现细节。关键字:ANDROID,短信群发,定时短信,开源DESIGN AND IMPLEMENTATION OF SMS SOFTWARE BASED ON ANDROIDABSTRACTAndroid is Google on

3、 November 5, 2007 announced the Linux-based open-source mobile operating system platform, the platform is make up with the operating system, middleware, user interface and application software, which is the first mobile device built for the truly open and complete mobile platform. Android has bright

4、 future in China, the first is a mature consumers, followed by the Android community is very prosperous in the country, these communities for the popularity of Android in China to do a very good promotional effect.After using text messages found Android self-contained function is very simple, and do

5、es not support single-number bursts, time messaging and other functions, however, the characteristics of Android open-source provide a perfect platform for developers. SMS-based Android platform make up for gaps in the market, the single number of bursts, number of segments bulk SMS, sms group sendi

6、ng, timer sms sending, improving the sending text messages function of the Android phone. Object-oriented concept for system design, requirements capture, system analysis, system design, database design and class design to achieve a single number of bursts, number of segments bulk SMS, bulk SMS and

7、regular text messages list. In this paper, bulk SMS messaging software is used regularly design and implement a detailed analysis, and focus on the software development process, also discussed a number of key technical implementation details.KEY WORDS:android,sms group sending, send timer sms, open

8、source目录 前言1第1章 相关技术与理论31.1 Android架构研究31.1.1 应用程序31.1.2 应用程序架构41.1.3 Linux内核41.2 Android应用的构成和工作机制41.2.1 Android的API41.2.2 Android应用程序结构解析51.3 使用的核心技术51.3.1 Intent的详细解析51.3.2 Android活动的生命周期61.3.3 Android进程的生命周期7第2章 系统构思82.1 形成系统概念82.1.1 简化82.1.2 同类产品的比较和分析82.2 阐述概念82.2.1 使用用户92.2.2 解决问题92.2.3 用户需要9

9、2.2.4 可行性分析92.3 需求陈述102.3.1 开发环境102.3.2 运行环境102.3.3 性能需求102.3.4 软件实现原则10第3章 需求获取(用例模型)123.1 概述123.2 系统边界123.3 参与者123.4 系统用例图133.5 用例简述133.5.1 单号码连发133.5.2 号码段群发143.5.3 清单群发短信143.5.4 定时短信153.5.5 用户自定义清单15第4章 系统分析174.1 概述174.2 领域分析174.2.1 概述174.2.2 领域类模型174.2.3 领域状态模型184.3 应用分析194.3.1 概述194.3.2 应用程序交互

10、模型(时序图)194.3.3 应用程序交互模型(活动图)204.3.4 应用类模型214.3.5 应用状态模型24第5章 系统设计275.1 概述275.2 估算性能275.2.1 估算发送性能275.2.2 估算数据存储性能285.3 制定复用计划285.3.1 库285.3.2 模式285.4 将系统分成子系统285.5 确定并发性285.5.1 识别内部的并发性295.5.2 定义并发任务295.6 分配子系统295.7 管理数据存储295.8 处理全局资源295.9 软件控制策略295.9.1 外部控制295.9.2 内部控制305.10 处理边界条件305.10.1 初始化305.1

11、0.2 终止305.10.3 失效305.11 设置权衡优先级305.12 系统架构31第6章 数据库设计和类设计326.1 数据库326.1.1 概述326.1.2 实现结构基础326.1.3 实现结构高级346.1.4 封装与查询优化356.2 类设计386.2.1 概述386.2.2 实现用例386.2.3 代码重构和设计优化51第7章 测试537.1 概述537.2 测试环境537.3 测试结果及分析537.3.1 操作流畅性537.3.2 性能测试53第8章 应用程序的发布558.1 生成数字签名文件558.2 将程序发布到Google Project上558.3 将程序发布到掌上应

12、用汇56结论57参考文献58致谢59前言l 研究背景及意义目前android平台手机渗透到我们生活,20世纪末,电子技术获得了飞速的发展,在其推动下基于android平台手机的现代电子产品在我们生活的各个角落都能见到,有力地推动了社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。基于android平台手机的发展趋势,本设计以android平台手机为核心制作了一个短信通。本次设计运用android平台手机作为研究开发对象,配合Java语言程序设计以及面向对象思想设计了一种手机短信通。本设计完成后,能够实现以下功能:单号码连发短信,号码段群发短信,清单群发短信

13、,定时发送短信。在设计时,按照设计的要求,从安全性,经济性,可靠性三个方面进行考虑,通过设计方案的比较,确定出来一套既经济又可行的方案。本次设计是对所学知识的综合运用,把理论知识和实践相结合。在本次设计与检验过程中遇到了许多实际问题,比如android平台手机及其运行环境的选择,不熟悉开发技巧,软件运行不稳定,如何设计软件的最佳外观效果等。所有的这些问题,我们都通过查阅资料,咨询老师一一解决了,为设计的成功提供了保障。本文通过方案确认,介绍了设计中所用到的技术、开发思想,以及android平台的简介,通过清晰的程序活动图,给程序的理解提供了方向。还介绍了程序调试软件和硬件调试软件,最后对本设计

14、的软件做了一个概述。l 系统设计目标Android手机的市场占有率已经超过了Symbian成为全球第一大手机操作系统,但是Android自带的短信发送功能十分简单,只支持即时发送单条短信,本项目的目的是开发一个支持短信群发,定时短信的短信通软件,实现的主要功能是单号码连发短信(可设定发送条数和发送间隔),号码段群发短信(输入号码段,可设置发送间隔),清单群发短信和定时短信四大功能,界面美观,操作简单,功能实用。本项目是一款基于Android手机平台的短信通软件,使Android手机拥有更加强大的短信发送功能,使手机显得生动灵活化,与人们更为接近,让手机的主人可以在节日群发节日短信,发送定时短信

15、等,方便用户的生活,也使设计者更加熟悉Android的技术和其他市场的特点。l 论文准备工作前言,介绍了研究的背景及意义,系统的设计目标和介绍论文的节构。第一章为课题的相关技术与理论,研究的Android平台的架构,分析了Android应用的构成和工作机制,最后介绍了本软件使用的核心技术。第1章 相关技术与理论1.1 Android架构研究图1-1 显示的是Android架构中的5个主要组成部分,每一部分会在下面具体描述。图1-1 Android架构1.1.1 应用程序在Android SDK所用的手机模拟器及未来实体的手机中,都会有一系列Java语言撰写的核心应用程序,包含电子邮件客户端、S

16、MS程序、日历、浏览器、联系人与其它一些应用程序,让使用者一开始就可以在手机上使用这些基本的功能。1.1.2 应用程序架构在Android SDK中,定义了让开发者使用与核心应用程序相同API的权限。应用程序框架是为了要简化组件的重新利用而设计的,应用程序可以发布功能并为其它应用程序所使用。但是,这要受限于应用程序架构的安全机制,使用者可以用同样的机制来新增、置换组件。目前所有的应用程序是由服务及系统来组成,包含有:1. 一套强大的可扩展的视图系统:用来建构一个应用程序的基本组件,包含了在开发系统画面时,常用的列表、网格、文本框、按钮等控制项,甚至是内嵌的Web浏览器。2. 内容提供者:使应用

17、程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。3. 资源管理器:提供各种非程序代码的资源让应用程序去使用。例如:本地字符串、图形文件或排版相关的布局文件。4. 通知管理器:提供应用程序在状态栏中显示应用程序自定义的提示信息。5. 活动管理器:管理所有应用程序的生命周期及提供常用的导航回退功能。1.1.3 Linux内核在Android SDK的作业系统是用Linux,其版本为26版。而所提供的核心系统服务有:安全机制、内存管理、进程管理、网络协议栈和驱动程序模型。Linux内核也同时作为硬件与软件栈之间的抽象层,用来做相互沟通的工作。1.2 Android应用的构

18、成和工作机制1.2.1 Android的APIAndroid API主要包含了以下几个部分:1. AndroidManifest.xml。AndroidManifest.xml是系统的控制文件。2. 活动。活动就是一个有生命周期的对象。3. 视图。视图可以将其自身绘制到屏幕上。4. 意图。意图是一个简单的消息对象,它表示程序想做某事的“意图。5. 服务。服务是运行在后台的代码。它可以运行在它自己的进程,也可以运行在其他应用程序的进程里,这取决于自身的需要。6. 通知。通知将以小图标的形式呈现在状态栏里,用户通过与图标的交互式操来接收消息。7. 内容提供者。内容提供者是用来提供对设备上数据进行访

19、问。典型的例子就是使用内容提供者来访问联系人列表。1.2.2 Android应用程序结构解析通常由以下四个组件来构建一个完整的Android应用程序:活动,意图,接收器,服务内容提供者。然而,并不是所有的Android应用程序都必须具备上面的四个组件,可以由上面的一个或几个来组建。当决定使用以上哪些组件来构建Android应用程序时,需要将它们注册在AndroidManifestxml文件中,这是一个XML配置文件,在这个文件中可以声明应用程序组件以及它们的特性和要求。这个配置文件是每个Android应用程序所必需的。1.3 使用的核心技术1.3.1 Intent的详细解析在一个Android

20、应用中,主要是由四种组件组成的,这四种组件可参考上一节的内容。而这四种组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的Android应用。例如,在一个联系人维护的应用中,当在一个联系人列表屏幕(假设对应的Activity为listActivity)上,点击某个联系人后,希望能够调出此联系人的详细信息屏幕(假设对应的Activity为detailActivity),为了实现这个目的,listActivity需要构造一个Intent,这个Intent用于告诉系统,要做“查看”动作,此动作对应的查看对象是“某联系人”,然后调用startActivity(Intent intent),

21、将构造的Intent传入,系统会根据此Intent中的描述,到AndroidManifestxml中找到满足此Intent要求的Activity。系统会调用找到的Activity,即为detailActivity,最终传入Intent,detailActivity则会根据此Intent中的描述,执行相应的操作。1.3.2 Android活动的生命周期Android应用程序的生命周期是由Android框架进行管理,而不是由应用程序直接控制。通常,每一个应用程序(入口一般会是一个活动的onCreate方法),都会占据一个进程。当系统内存即将不足的时候,会依照优先级自动进行进程的回收。不管是使用者或

22、开发者,都无法确定应用程序何时会被回收。关于进程的生命周期将在下一节中介绍,本节主要介绍活动的生命周期。一个活动类别除了OnCreate方法之外,还预先定义了OnPause(暂停)、OnResume(继续)等的基本方法,当从一个活动切换到另一个活动的时候,原来的活动将经过一连串的状态改变。开发者可以在程序中添加一些各状态相对应的流程,每次活动状态改变时,就会执行相对应的流程。要让用户有好的使用体验,活动需要在各个周期中负责保管状态、恢复状态、传送资料等工作。Android的虚拟机(VM)是使用堆栈管理。主要有四种状态:活动状态,暂停状态,停止状态,已回收或未启动状态。已回收或未启动状态是指活动

23、尚未被启动、已经被手动终止或已经被系统回收的状态。要手动终止活动,可以在程序中调用finish方法。图1-2 Android的Activity生命周期图1-2所示的七个状态又可以归纳成三组:资源分配(创建销毁),可见与不可见(启动重新启动停止),用户取得屏幕的控制权(继续暂停)。1.3.3 Android进程的生命周期在大多数情况下,每个Android应用程序都运行在自己的Linux进程中。当应用程序的某些代码需要运行时,这个进程就被创建并一直运行下去,直到系统认为该进程不再有用为止。然后系统将回收进程占用的内存以便分配给其它的应用程序。为了决定在内存不足时让系统杀死哪个进程,Android根

24、据每个进程中运行的组件以及组件的状态把进程放入一个“重要性分级中。进程的类型包括(按重要程度排序):前台进程,可见进程,服务进程,后台进程,空进程。第2章 系统构思2.1 形成系统概念2.1.1 简化Android系统自带的短信发送功能十分简单,只支持短信的即时发送,通过基于Android平台的短信通的实现来让Android用户方便发送短信。2.1.2 同类产品的比较和分析虽然Android平台是完全开源的,但是Android本身所带的短信功能十分薄弱,不支持短信的群发,单号码连发,号码段群发短信以及定时短信功能,给用户带来了很大的不便。当前Android手机应用市场上虽然有一些增强短信发送功

25、能的软件,但是并不支持短信群发和定时短信功能。而且Android应用鱼龙混杂,真正一款方便用户群发短信和定时群发短信的软件在市场上还是空白。当前市场的短信软件有:GO短信,飞信,Sms Timer等。GO短信主要还是对收发短信和通讯录的管理,并不支持短信的定时发送和短信群发功能。飞信虽然可以支持定时短信和短信群发,但这只是针对于移动的用户之间,对于联通和电信的用户来说就可望而不可及了。Sms Timer是一款国外的定时短信应用,虽然可用,但是不符合中国人的操作习惯。以上软件都不能把定时短信和短信群发进行不依赖于sim卡运营商的整合。因此此款短信通软件有广阔的市场前景,一定会吸引大量的用户下载使

26、用。2.2 阐述概念2.2.1 使用用户用户为所有使用Android智能操作系统的手机用户。暂时不考虑使用Android平板电脑的用户。本系统的最终用户是使用Android智能操作系统的手机用户,暂时不考虑使用Android平板电脑的用户。谷歌称每天有30万台Android手机激活,从一个侧面也反映了庞大的潜在用户群体。Android手机用户涵盖的人群层次比较大众化,有超过半数的Android用户不到35岁,是所有智能手机系统中最多的。看新闻、商业应用和各种工具使用用户较多。2.2.2 解决问题基于Android平台的短信通软件服务的群体为Android手机用户。用户通过本软件可以方便的进行短

27、信的发送。对同一个电话号段内的号码可设置时间间隔,进行短信群发。输入开始号码和结束号码以及发送间隔,对整个号码段内的手机进行短信群发。从通讯录中选择一条或多条联系人,进行短信群发。从通讯录中选择一条或多条联系人,设置发送时间,实现短信的定时发送。用户可以自定义分组,将不同的联系人进行分组管理。2.2.3 用户需要如节日或集团内有事情要通知,用户都会使用本软件进行短信的群发或定时发送。2.2.4 可行性分析成本和风险:基于Android平台的短信通软件是基于Android的应用层开发,金钱成本为开发所需的电脑和测试时所需要的Android手机。如果要发布到Google Market需要一张国际信

28、用卡账号,且注册Google开发者的成本为15美金。因此开发的风险几乎可以忽略。效益:市场的空白,完善的功能整合,良好的用户操作体验一定会吸引大量用户下载使用,在后续的升级版本中加入合适的广告,如节日短信汇总类的网站,不仅方便了用户,更会带来一定的经济效益,同时不会影响用户体验。软件可行性:Google API提供了完备的开发接口,读取通讯录信息,实现数据的存储和短信的发送都是可以实现的。2.3 需求陈述2.3.1 开发环境Windows XP SP3操作系统,MyEclipse7.5,JDK1.6,Android SDK,Android Development Tools(ADT)。Star

29、tUML,PowerDesigner。2.3.2 运行环境Android 1.6及其以上版本的手机。2.3.3 性能需求美观的用户界面,良好的操作体验,多线程的使用,多语言版本的支持,数据查询的效率。2.3.4 软件实现原则根据软件工程规范和基于Android的短信通系统的要求及特点,系统开发时必须遵循以下原则。1.实用性原则:开发的系统必须满足实用性需求,做到使用方便,输入数据量尽量小,界面直观,易学易用,不同业务之间界面转换速度快。2.高性能原则:系统在性能上做到实时性强、数据容量小、响应速度快、稳定性高、出错率低、容错性好等优点。3.数据安全性原则:安全性永远是数据库的重要课题,必须采取

30、多种措施保证数据库的安全。4.满足速度要求下的少冗余原则: 冗余指的是逻辑上相同的数据,在不同的记录中重复出现,或在逻辑上能导出存在于数据库的记录中。从理论上讲,冗余的存在,在数据库设计的不合理,是破坏数据库一致性的潜在危险,同时会增加数据空间开销。但是,在特殊情况下,为了满足速度要求,常常设计一些冗余作为数据库记录。5.数据库字符段可空原则:具有默认数值和状态的数据库字符段,采用可空假定。对于可伸缩的数据库,可空字符段在没有数据输入的情况下是不占空间的。6.操作模式可选择性原则:对不同的操作模式,设计不同的功能和不同的界面,或在同一功能和界面下设计多个选择项,以适应模式多变的需求。7.美观化

31、设计原则:在满足实用性的条件下,后台界面设计做到美观大方,大小适中,排列整齐,各种控制键的中文名字简单明了,不同的业务甚至不同的功能,有不同的界面。8.常用性与特殊性相结合原则:对常用的状态和数值,作为缺省,对常用的功能放在主要界面和排前原则,对不常用功能启动时进行折叠和排后。9.数据可维护性原则:数据维护包括权限设置、高级地址的集合运算、无用数据的删除、数据库的清理、数据备份与恢复等功能。10.系统可维护性原则:全面按照软件工程的要求来开发基于Android的短信通系统,做到严格管理、严格测试。每个工作阶段,都具备相应的经过严格审查的文档,为将来系统服务提供技术上的保证。11.统一性原则:建

32、立统一合理的数据库模型,实行统一的文档编排和管理;实行统一的数据库关系命名、文件命名、函数命名、变量命名,实行统一的编程风格。12.系统的可扩展性原则:在满足一期方案的基础上,考虑今后系统可能新增功能(比如,集成一些常用的节日祝福短信,用户自定义短信的开头欢迎语等)带来的系统软硬件的变化,为系统的扩充预留接口。第3章 需求获取(用例模型)3.1 概述在抽象层次上建模,用例描述系统如何与外部参与者进行交互。每个用例表示系统提供给其用户的一段功能。对于捕获非形式化的需求来说,用例的作用便彰显出来了。3.2 系统边界需了解应用程序的准确范围,也即系统边界,以方便把功能确定下来图3-1 系统边界如图3

33、-1所示,系统边界为用户的Android手机操作系统,基于Android平台的短信通软件调用Android SDK提供的接口、方法和数据库来实现功能。3.3 参与者参与者为使用Android的手机的用户和移动运营商(移动,联通,电信)。Android手机用户使用短信通软件定制发送信息,最终短信的发送还是通过各个移动运营商来完成发送。表3-1 参与者概述参与者描 述Android的手机的用户使用短信通软件定制发送短信。移动运营商(移动,联通,电信)通过移动网络最终完成短信的发送。短信接收人接收发送的短信,可以是任何运营商的任何手机3.4 系统用例图系统用例图如图3-2所示:图3-2 系统用例图3

34、.5 用例简述3.5.1 单号码连发如表3-2所示。表3-2 单号码连发用例名称单号码连发简述对一个号码连续间隔发送短信参与者用户,移动运营商,短信接收人前置条件用户打开了单号码连发的界面后置条件输入了短信接收人的手机号码和短信内容扩展用例无包含用例无触发事件用户点击主界面的单号码连发项,用例开始基本操作流程1. 用户填写手机号码或者从手机的通讯录中选择联系人2. 填写要发送的短信内容,不能为空3. 点击发送按钮,开始发送短信可选操作流程1. 可以设定发送短信的条数,默认是一条2. 可以设定发送短信的时间间隔,默认的时间间隔为0秒3.5.2 号码段群发如图表3-3所示。表3-3 号码段群发用例

35、名称号码段群发简述对一个号码段内的所有手机号发送短信参与者用户,移动运营商,短信接收人前置条件用户打开了号码段群发的界面后置条件输入了起始号码、结束号码和短信内容扩展用例无包含用例无触发事件用户点击主界面的号码段群发项,用例开始基本操作流程1. 用户填写起始号码、结束号码2. 填写要发送的短信内容,不能为空3. 点击发送按钮,开始发送短信可选操作流程可以设定发送短信的时间间隔,默认的时间间隔为0秒3.5.3 清单群发短信如表3-4所示。表3-4 清单群发短信用例名称清单群发短信简述对多个联系人同时发送短信参与者用户,移动运营商,短信接收人前置条件用户打开了清单群发短信的界面后置条件选择用户清单

36、或者多条联系人,填写短信内容扩展用例无包含用例用户自定义清单触发事件用户点击主界面的清单群发项,用例开始基本操作流程1. 用户从自定义清单中添加联系人或者从通讯录列表中添加一条或者多条联系人2. 填写短信内容3. 点击发送按钮,开始发送短信可选操作流程无3.5.4 定时短信如表3-5所示。表3-5 清单群发短信用例名称定时短信短信简述对多个联系人定时发送短信参与者用户,移动运营商,短信接收人前置条件用户打开了定时短信的界面后置条件选择发送短信的时间,选择用户清单或者多条联系人,填写短信内容扩展用例无包含用例用户自定义清单触发事件用户点击主界面的定时短信项,用例开始基本操作流程1. 选择发送短信

37、的年月日,小时,分钟2. 用户从自定义清单中添加联系人或者从通讯录列表中添加一条或者多条联系人4. 填写短信内容5. 点击发送按钮,保存定时短信的信息6. 当用户设定的发送时间到达,执行发送短信的操作可选操作流程无3.5.5 用户自定义清单如表3-6所示。表3-6 用户自定义清单用例名称用户自定义清单简述按用户需求将不同的联系人分组存储,方便用户群发短信参与者用户,移动运营商,短信接收人前置条件用户点击从清单选择按钮后置条件对清单的正删改查,选择清单,然后把当前用户清单中的信息加入到短信发送界面的联系人列表中扩展用例无包含用例无触发事件用户点击从清单选择按钮基本操作流程1. 选择一个用户自定义

38、的清单2. 点击返回按钮,把当前用户清单中的信息加入到短信发送界面的联系人列表中可选操作流程1. 添加一个新清单2. 在清单中添加联系人3. 删除清单4. 修改清单名第4章 系统分析4.1 概述理解需求陈述所描述的真实世界的系统,并把它的功能抽象为模型。分析模型是准确的简洁的问题表述,能够答复问题,并创建问题的解决方案。系统分析描述对象的三个方面:对象的静态结构(类模型)、对象之间的交互(交互模型)和对象的生存期(状态模型)。类模型是对真实世界实体的抽象。涉及反映控制和定制影响的问题,例如用户界面和过程控制,都需要有重要的状态模型。把系统分析换分成两个阶段。第一个阶段,领域分析,专注于理解问题

39、的本质。第二个阶段,应用分析,它构建于领域模型之上,合并了用户可见的主要的应用程序制品,用户必须核准这些制品的使用权。4.2 领域分析4.2.1 概述领域分析,设计一套准确简介、可理解和正确的真实世界模型。构造领域模型的目的:澄清需求,为风险承担人和开发者之间约定提供依据,而且要把模型当成设计和实现的出发点。4.2.2 领域类模型1. 寻找并保留正确的类图4-1 短信通软件的类2. 短信通软件完整类图图4-2 短信通软件的类图4.2.3 领域状态模型短信类的对象执行迁移上的活动,因此为短信类添加状态图,如图4-3所示图4-3 领域状态模型4.3 应用分析4.3.1 概述应用分析通过把一些重要的

40、应用制品加进前面的领域模型当中来完成对分析过程的讨论。在分析阶段包含了这些应用制品,是因为它们很重要,对用户可见,且要得到用户的核准。4.3.2 应用程序交互模型(时序图)时序图捕获了参与者之间的会话与交互过程。1. 清单发送时序图图4-4 清单发送时序图2. 定时短信时序图图4-5 定时短信时序图4.3.3 应用程序交互模型(活动图)对于复杂用例,我们往往还需一张用于描述主导交互流的顺序图,而且还需要描述各种错误和决策点,因此对于复杂用例编制活动图。如图4-6所示为定时短信的活动图。图4-6 定时短信活动图4.3.4 应用类模型1. 确定用户界面主界面原型如图4-7所示帮助信息退出号码段群发

41、 输入开始结束号码,群发短信清单发送 从您的常用清单或者通讯录中选择号码,群发短信定时发送 只需选择时间,号码,就能为您定时发送短信单号码连发 输入号码或从通讯录选择一个号码,连发短信图4-7 主界面的界面原型返回重置号码:从通讯录添加内容:轰炸:间隔:开始轰炸59图4-8 单号码连发界面原型返回重置短信内容:紧急通知,XXXXX发送收信人列表:张三 15838888888王五 13838123456清空清空从清单添加从通讯录添加图4-9 清单发送界面原型新定时短信隐藏时钟返回图4-10 定时短信主界面原型2. 确定控制器控制器是一种管理应用程序内部控制权的主动对象。它接收外界或系统内部对象的

42、信号,响应它们,调用它们,调用系统对象上的信号,以及给外界发送信号。控制器是以对象的形式来捕获的一段具体化的行为,这种行为要比普通代码更容易操作和转换。多数应用的核心都是一项或多项控制器,由它们来组织应用程序的行为序列。短信通软件有一个控制器,就是短信的发送,由控制器进行处理。4.3.5 应用状态模型应用状态模型专注于应用类,并且扩展了领域状态模型。应用类比领域类拥有重要的时序行为。1. 系统总状态图图4-11 系统总状态图2. 清单群发状态图图4-12 清单群发状态图3. 定时短信发送状态图图4-13 定时短信状态图4. 检查交互模型通过检查分析,状态图很可靠,与交互模型的场景也具有一致性。

43、第5章 系统设计5.1 概述系统设计的目标是设计出一套用来解决应用问题的高层策略,也即架构。架构的选取是一项重要决策,可能会产生广泛的影响,这个过程以需求和以往的经验为基础,此阶段必须制定决策,引导后续类的设计。5.2 估算性能5.2.1 估算发送性能假定规划用户发送短信的性能,假设用户只需发送一条短信,且网络良好,短信是即时发送的。假设用户某次发送了50条短信,且网络条件良好,假定每条短信发送用时为2秒(从用户发送到接收人接收到),但2秒钟内约有0.2秒是短信通处理的时间,其余为移动运营商发送短信的时间(1.8秒),那么全部发送短信通处理的时间约为10秒,但预计短信通系统处理的时间会小于这个

44、数。因为短信通发送和移动运营商发送是同步进行的,且互不影响,因此从执行发送按钮后2秒后第一个用户收到短信,到第50个用户收到短信,中间为11.8秒。如表5-1所示表5-1 50条短信连续发送短信(第几条)开始发送时间(起点问为0秒)接收人收到短信时间10220.22.230.42.440.62.650.82.8.499.611.6509.811.8如果用户设定发送间隔为10秒,发送50条短信,需时间为500秒(6分20秒),这时就是一个很长的时间了,需要考虑用户的操作体验了。5.2.2 估算数据存储性能对于数据的存储,使用Android自带的SQLite轻量级数据库,用户的数据就是用户分组的信息和定时短信的信息,设计合理的表结构和执行较高效率的存取操作代码即可。5.3 制定复用计划5.3.1 库需要复用的库如表5-2所示,表5-2 库的复用Google Android Api对数据库的链接操作对数据库的表的增删改查操作

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号