校园通APP软件设计与实现可行性报告.docx
《校园通APP软件设计与实现可行性报告.docx》由会员分享,可在线阅读,更多相关《校园通APP软件设计与实现可行性报告.docx(21页珍藏版)》请在冰豆网上搜索。
校园通APP软件设计与实现可行性报告
基于安卓系统平台的校园通APP软件设计与实现可行性报告
【摘要】论文系统地分析了四川大学锦江学院校园通系统软件开发的背景及过程,首先介绍了软件的开发环境,然后介绍了本软件的详细设计过程以及具体界面的设计和功能,最后对在本软件开发过程中的所遇到的问题进行了总结。
基于Android的校园通系统是利用 Eclipse、AndroidSDK、开发Android程序的Eclipse插件作为开发工具,基本流程首先要安装Eclipse。
本软件应用于Androidd手机,方便学院师生在手机上就能直观的了解到锦江学院的相关信息及校园风貌。
绪论
随着更行各业的技术迅猛发展,移动通信设备与Internet向移动终端的普及,年轻一代的手机用户对移动终端的要求越来越高,而Symbian,WindowsMobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。
经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。
随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。
因此,移动终端的应用软件和需要的服务将会有很大的发展空间。
Google为此与2007年11月推出了一个专为移动设备设计的软件平台——Android。
Android是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。
Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。
Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。
因此,它具有很大的市场发展潜力。
根据中国互联网信息中心(CNNIC)发布的《第22次中国互联网络发展状况统计报告》显示,截止2008年6月底,我国网民数量达到了2.53亿,首次大幅超过美国,网民规模跃居世界第一位,其中手机网民达到7305万,手机上网成为网络接入的一个重要发展方向。
手机校园通系统能很好的帮助本校师生及外来人员直观的了解到本校的相关信息和校园风貌,对于不熟悉校园的人来说,在导航功能上也起到很重要的作用。
打开软件就能看到学院的平面图结构,能帮助新来人员迅速的熟悉校园环境。
1开发概述
随着移动互联网高速的发展,校园手机用户数量不断攀升,手机校园通系统能简单直观的为校园手机用户展示四川大学锦江学院的风貌,对于不熟悉校园的人来说,在导航功能上也起到很重要的作用。
基于安卓系统开发的校园导览系统是一个稳定、快捷的览视平台,是手机用户的最佳选择。
1.1手机操作系统的开发现状
PalmOS是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小,允许用户在其基础上编写和修改相关软件,是支持的应用程序更加丰富多彩。
Plam在其它方面也还存在一些不足,如Plam操作系统本身不具备录音、MP3播放功能等,但是可以通过加入第三方软件或硬件设备来实现。
其代表性的产品有Palmm505、Palmm500、PalmIII等。
Symbian是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝牙、SyncML以及3G技术。
Windowsmobile系列操作系统是从微软计算机的Windows操作系统上变化而来的。
Windowsmobile系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件设置(如内存、储存卡容量等)上也采用其他操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。
Windowsmobile系列操作系统包括SmartPhone以及PocketPCPhone两种平台。
PocketPCPhone主要用于掌上电脑型的智能手机,而SmartPhone则主要为手上智能手机提供操作系统。
Linux系统是一个源代码开放的操作系统。
由于其开源性,手机制造商可以根据实际情况开放自己的Linux手机操作系统,从而也能够吸引更多的软件制造商在其上开发更多的应用软件,丰富第三方的应用。
但是Linux操作系统也还存在一些不足,集成开放环境和基于Linux的产品与PC的连接性比较差等。
1.2Android的构架分析
Android是一个移动设备的软件平台,是由Linux+Java构成的开源软件,它提供包括SDK、KeyApps、Middleware、LinuxKernel四个部分在内的全套手机软件方案。
它开放了基于Linux内核以上的开发工具,从而保证了内容的可移植性和多样性。
Android平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用。
Android的架构是由Linux内核、C/C++函数库、Dalvik虚拟机、应用框架以及关键应用程序构成的。
通过编译基于框架的应用程序可以降低开发负荷。
应用软件原则上是在DalvikVM上运行的。
图2-1Android架构
1.3Android特征
应用框架:
用于开发可重用、可替代的组件。
Dalvik虚拟机:
Android采用的Java虚拟机是自主开发的代号为Dalvik的虚拟机技术,在保证API方面兼容的同时Dalvik针对移动手机进行了大幅优化,占用资源更小,运行效率更高。
内嵌浏览器:
基于开源的浏览器网页排版引擎WebKit。
优化的图形:
强大的自定义二维图形库。
基于OpenGLES1.0标准的3D图形功能,在移动3D开发中有着至关重要的地位。
SQLite数据库:
SQLite提供结构化的数据存储。
它是一款轻型免费的且开源的数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等。
多媒体支持:
支持各种通用的音频、视频和静态图像格式,如MP3、JPG、PNG等。
OpenCore是Android多媒体框架的核心,所有Android平台的音频和视频采集、播放的操作都是通过它来实现的。
通过OpenCore,程序员可以方便快速的开发出想要的多媒体应用程序。
GSM技术:
(依赖硬件)GlobalSystemforMobileCommunications,全球通讯系统,俗称“全球通”,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。
蓝牙,EDGE,3GandWiFi:
(依赖硬件)蓝牙和Wi-Fi都是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。
EDGE(EnhancedDataRateforGSMEvolution),是增强型数据速率GSM演进技术。
Cameram,GPS,compass,andaccelerometer:
(依赖硬件)GPS(GlobalPositioningSystem),即全球定位系统。
它是由一个由覆盖全球的24颗卫星组成的卫星系统。
Compass是一个开放源码的Java搜索引擎框架。
强大的开发环境:
包括一个设备模拟器,调试工具,内存和性能检测,以及EclipseIDE的开发插件。
Eclipse是个集成开放环境。
1.4论文结构
绪论分析了系统的研究背景,介绍了当前手机操作系统、即时通讯软件的发展现状。
第一章开发概述
第二章概述以及相关技术的概念。
第三章系统的需求分析。
第四章基于ANDROID的锦江校园导览系统设计。
第五章主要功能界面及实现
第六章总结以及展望
第七章测试
参考文献
附录
致谢
2相关技术概念
四川大学锦江学院校园通系统是利用ANDROID面向对象的编程方法(OOP)以及基于Eclipse+ANDROIDSDK6.5作为开发工具,Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。
所有的应用程序都是使用JAVA语言编写的。
其解释如下:
2.1应用程序框架
开发人员也可以完全访问核心应用程序所使用的API框架。
该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。
同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统,其中包括;
丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至可嵌入的web浏览器。
内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据
资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。
通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。
活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。
2.2系统运行库
2.2.1程序库
Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。
它们通过Android应用程序框架为开发者提供服务。
以下是一些核心库:
系统C库-一个从BSD继承来的标准C系统函数库(libc),它是专门为基于embeddedlinux的设备定制的。
媒体库-基于PacketVideoOpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。
编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。
SurfaceManager-对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。
LibWebCore-一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。
SGL-底层的2D图形引擎
3Dlibraries-基于OpenGLES1.0APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。
FreeType-位图(bitmap)和矢量(vector)字体显示。
SQLite-一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
2.2.2运行库
Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。
Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。
Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。
同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的"dx"工具转化成.dex格式由虚拟机执行。
Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。
2.3Linux内核
Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议和驱动模型。
Linux内核也同时作为硬件和软件栈之间的抽象层。
2.4Android应用的构成和工作机制
Android应用程序来说,是由Activity、IntentReceiver、Service、ContentProvider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。
在应用程序中使用时,需要在配置文件Android应用程序中所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。
Android应用的构成和工作流程图如下:
图2-4Android的构成和工作流程
2.5Android与其他手机操作系统的比较
我们主要从手机操作系统的Portablity、Reliability、Connectivity、ProductDiversity、OpenPlatform、KernalSize、Standards、Security和SpecialFeatures这九个方面进行了比较,具体的比较结果如下表:
对上表比较的九项每一项以1分、0.5分、0分三个级别来进行了评分,综合各项评分,最好得到的评分结果是Android8.5分、Windowsmobile5.5分、Symbian6.5分。
Android基于开源的Linux以及标准的跨平台的编程语言Java,而且源代码开放,并且免费允许所有厂商和个人在其基础上进行开发,其开源和免费政策将赢得不少手机制造商的支持。
而且在其平台上集成了不少优秀的开源工程,如Webkit、OpenGL等,相信在不久,将会有更多的优秀工程加入到Android中来。
相比其他手机操作系统过于封闭的特性来说,Android在手机操作系统领域将会占有很大的优势,其功能也将会越来越强大。
2.6本章小结
本章对Android平台的特征、架构以及Android应用的构成和工作机制进行了详细的分析。
对于Android应用程序来说,主要由Activity、Service、IntentReceiver和ContentProvider四部分组成,但并不是对于每一个应用程序,这四部分都是必须的。
Activity是应用程序中最重要的一种构成块,我们对其进行了详细的分析,包括Activity的生命周期以及Activity之间的切换。
最后对Android与其它的手机操作系统从九个方面进行了比较,说明了Android的优势。
3系统的需求分析
3.1系统的可行性分析
系统的可行性分析和需求分析应建立在用户的需求上,在用户提出可供选择的方案,进行调查研究、信息流程分析和数据收集,对开发中出现的各种问题进行估计,便于在开发中能正确处理。
3.1.1系统可行性分析
个人安卓智能手机可行性,现在,安卓智能手机的价格已经是越来越便宜,性能却是一天比一天好,本系统的开发可以为方便在校师生查阅相关资料提供了非常便捷的平台,节省资源提高个人管理生活和工作的效率,同时还能具有较高的安全性。
同时本系统所枆资源小,每个人的安卓智能手机都能满足,所以本系统在运行上是可行的。
3.1.2系统技术性分析
目前在网络方面,非常流行的就是Android语言,本系统依靠当前的技术水平完全能够实现。
3.2系统的需求分析
本系统主要用于对手机上网用户,点击浏览该系统,主要是界面程序的开发、数据库的建立、数据库的维护。
应用程序功应完善,界面人机交互要好,而且操作要简单。
数据库中的数据要条理清晰,易于维护,同时要保证数据库中的数据完整。
能够节省时间,可以让在校手机用户快速的找到想要的信息,能很方便的了解学院新闻信息、平面结构、相关介绍及相关公告等内容。
四川大学锦江学院校园通系统是基于Eclipse、AndroidSDK、开发Android程序的Eclipse插件作为开发工具,ACCESS2003作为后台数据库支持。
选择ANDROID语言,因为ANDROID基于不同的开发平台,更好的实现了人机交互。
同时ANDROID语言简单,在较短的时间内能够开发出使用性强、功能完善,易于操作的程序,也能实现与数据库的连接
4四川大学锦江学院校园通系统设计
4.1总体设计及概念结构图
该系统的架构如图:
图4-1
功能结构图:
图4-1功能结构图
四川大学锦江学院校园通系统手机客户端主要为校内外手机用户了解四川大学锦江学院的一个平台,方便浏览校园新闻、信息查询、信息发布、校园交流等,为全校师生提供了一个方便的平台。
底部导航包括:
首页、校园导航、图片、更多信息等;具体介绍如下:
欢迎界面:
为了防止网络不畅通,致使用户不能耐心等待,需给手机用户留一个缓冲的时间,我设计了一个简单、大方的欢迎界面,
图一欢迎界面
首页:
此栏目为首页菜单栏,包括了学院简介、毕业须知、校园新闻、通知公告、教务信息、校车查询、交流中心、图书馆、校园周边、联系我们、站内查询等菜单,基本涵盖了PC网站上的内容,方便全校师生共享校园资源,也很好的体现了校园文化及学校的品牌特色。
图二首页主界面
学院简介:
这里可以简单介绍四川大学锦江学院的相关信息,介绍锦江的校园文化底蕴,彰显四川大学锦江学院的品牌文化。
图三校园简介
毕业须知:
这里可以简单介绍四川大学锦江学院的毕业流程,需要办理那些毕业手续才可以离开学校,方便毕业学生了解,也方便学校管理。
图四毕业须知
校园新闻:
这里可以发布四川大学锦江学院的相关新闻,方便手机用户查阅。
通知公告和此栏目信息展示大同小异,就只做了校园新闻的效果图:
图五校园新闻
教务信息:
这里需要在校师生用自己的学号或这学校颁发的登录号才能登录,登录后可以查询到自己的个人信息及教务信息。
图六教务信息
校园导航:
本栏目主要方便不了解四川大学锦江学院的手机用户设计的,因为新人来到陌生的地方,不了解地理方位,所以在此软件里添加了校园导航系统,方便新生或家长快速掌握四川大学锦江学院的地理方位。
图七导航页面
图片展示:
主要展示校园风貌,上传一些独特、新颖、具有美感的图片展示四川大学锦江学院的校容校貌,更好的体现校园文化及校园特色风景线。
图八图片中心
更多信息:
这里可以推荐一些对学生有用的软件,供下载安装。
4.1详细技术设计
…….
4.2数据库表设计
1.用户信息列表,见表4.1:
表4.1用户信息列表
字段名称
数据类型
是否为空
是否主键
用户名
文本
否
是
密码
文本
否
否
2.支出信息列表,见表4.2:
表4.2支出信息列表
字段名称
数据类型
是否为空
是否主键
流水号
文本
否
是
日期
日期/时间
否
否
金额
数字
否
否
备注
文本
是
否
3.收入信息列表,见表4.3:
表4.3收入信息列表
字段名称
数据类型
是否为空
是否主键
流水号
文本
否
是
日期
日期/时间
否
否
金额
数字
否
否
备注
文本
是
否
4.通讯录联系人信息列表,见表4.4:
表4.4通讯录联系人列表
字段名称
数据类型
是否为空
是否主键
姓名
文本
否
是
关系
文本
否
否
固定电话
文本
是
否
手机号码
文本
是
否
单位
文本
是
否
办公电话
文本
是
否
QQ号码
文本
是
否
电子邮件
文本
是
否
地址
文本
是
否
备注
文本
是
否
图5-4通讯录
6总结以及展望
6.1总结
我在学校经过3个多月的安卓学习和实践,在即将学业要结束的时候,我设计出了一个基于Android平台的手机校园通系统,该系统具备一个可以商用的几乎所有的条件,实现了校园新闻发布、平面结构图展示、相关信息发布和查询等功能,这是校园通系统的基本要求。
作为一个校园通系统,系统提供了多种分类浏览和快捷的查询方式,借用户迅速定位自己想要的信息。
但是由于时间、技术等各方面因素,本系统仍不完善,有很多问题需要解决,结合在系统开发过程中的思考和各方面的意见,发现以下3点尚不成熟需要改进和完善的地方:
系统总体规划欠缺:
系统在开发过程中就感到总体规划存在一定问题,如后台数据库表的冗余,导致对数据库的操作复杂。
这个问题是开发到中后期发现的,发现的时候以及为时过晚,若当时改正,需要重新开发,这时才认识到软件开发过程的重要性。
功能不够完善:
规划时出现的功能现在由于时间,技术等原因不能实现。
码中没有写注释。
良好的写代码习惯是应该在代码中加入注释,以便以后维护更新系统的时候容易让人读懂,这个缺陷的产生是因为开发时偏重速度导致的。
设计开发一个软件,首先要了解所涉及到行业的现状,一定要想办法进行行业调研,从不同途径获取该行业的专业知识。
合理安排系统设计开发时间,进行实际开发会发现需求分析与系统设计占主要的时间,如果前面的工作做好了,编码实现占用的时间很短。
所以我们要借助软件工程的思想对软件开发过程进行控制。
总之在这次的系统设计中,从中学到了许多以前书本上没有学到过的,这更增强了我的理论基础知识,从中受益多多。
6.2展望
学习和教育是无止境的,是人生一辈子的事情,正是由于这种无限的需求,使得各种各样的基于网络形式的导览平台不断出现,Android同时也获得了大量开发者的支持。
据Google称,在其推出后的两个月内,程序员下载这个软件开发平台的次数已经高达250000多次。
尽管在如此庞大的下载数量中只有一小部分开发者真正开始编写实际的应用程序,但我们却由此可以看出惊人的开发商兴趣。
相比之下,在Symbian操作系统推出一年后,其操作指南的下载次数只有70000次左右。
HTCCEO周永明(PeterChou)称,基于GoogleAndroid平台的T-MobileG1手机有望在今年底达到100万部的出货量,而此前预计的数量只有60万部。
看起来“Google手机”尽管宣传比较低调,但实际卖得还不错,前景也被人看好。
其原因有:
1.开放性.android跟linux并不是一个概念,android基于linux,但更重要的是它提供了一个framework,基于这个,developer可以轻松的开发各种应用程序。
并且这些代码以及开发工具都是开放和免费的。
2.与google应用的无缝结合。
如果现在一台电脑不能上网,那么简直就是一台废物,同样,如果一个手机不能上网,在2,3年之后,也会丢失一大部分价值(不需要上网的手机用户还会存在很长一段时间)。
而google开发android的目的也在于把手机和这些应用结合起来。
3.开发的易上手性,java是最容易上手的,不像iphone,需要熟悉他的很多框架,以及objectivec(虽然学起来也并不难)。
7系统测试知识
7.1测试作用
系统测试是信息系统的开发周期中一个十分重要的活动。
尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免遗留下差错,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误则会付出更大的代价。
系统测试占用的时间、花费的人力和成本占软件开发的很大比例。
统计表明,开发较大规模系统,系统测试的工作量大约占整个软件开发工作量的40%~50%。
而对于一些特别重要的大型系统,测试的工作量和成本更大,甚至超过系统开发其他各阶段总和的若干倍。
因此,系统调试与测试工作的作用和意义那是不言而喻的
7.2测试目的
这个软件测试目的的观念对于我们的测试工作起着重大的影响。
因为人类思维的严密性是有限度的,加之开发人员的主观的、心理的、经验等方面的因素,实践证明,软件在测试前是不可能没有错误的,只是缺少发现。
系统测试就是以找到系统存在不足的地方为目的,不是要证明程序