




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全套设计加扣 3012250582 毕 业 设 计 论 文题 目: 基于Android的手机拼车软件 学 院: 计算机科学与工程学院 专 业: 计算机科学与技术 姓 名: 学 号: 指导老师: 完成时间: 2015年05月 全套设计加扣 3012250582摘要随着移动互联网的快速发展和人民经济水平的提高以及当今快速的生活节奏,人们似乎已经没有时间管理自己的时间。手机是现代生活非常普遍的随身通讯工具,尤其是智能手机的发展和使用使移动拼车成为一件十分简单的事情。在几乎全部人都能接触到Android等智能手机的今天,开发一款智能手机平台上的软件是十分必要的,如今的Android系统市场份额节节攀升,势不可挡,越来越多的开发者加入到Android应用开发的行列.从2013年的数据表明,Android系统的全球市场份额接近80%,国内的份额更是超过了90%.值得一提的是,在这些与日俱增的Android应用程序中,无论按使用量还是总收入排名70%的应用排行榜首都是游戏. 随着技术与经济的迅猛发展,以智能终端为平台的应用在人们的生活中占据了越来越重要的地位。与此同时关于智能手机的安装软件也越来越多,并且分为好多类拼车软件的开发及其应用是符合大时代的趋势,智能手机高速发达的情况下一切基于手机的软件将有更大的发展前景,拼车软件作为新兴事物出现在国内,将是一个机遇,它充分整合了社会闲置资源,采用o2o商业模式运作,在线上完成支付,在线下保证服务,从而达到一个良性循环。拼车间接的保护了环境,是一款绿色出行软件,同时它将极大地缓解发达城市的交通压力论文的主要内容是介绍android系统,具体分析了android的四大组件,并对android的系统结构进行分层描述和分析以及根据需求和总体设计对个人理财的功能进行详细分析和实现.关键词:拼车 智能手机 安卓IAbstractWith the rapid development of mobile Internet and the improvement of peoples economic level and in todays fast rhythm of life, people seem to have no time to manage their time. Mobile phones are very common modern life portable communication tools, especially the development of smart phones and used to make mobile car pool became a very simple thing. In almost all of us can access to the Android smart phones today, such as the development of a smartphone platform software is very necessary, now Android market share rising, overwhelming, more and more developers to join to the Android application development. Data shows that from 2013, the Android system of global market share of nearly 80%, the share of domestic more than 90%. It is worth mentioning that in these growing Android applications, no matter in the capital usage and revenue ranking 70% application list is games. With the rapid development of technology and economy, the intelligent terminal platform for application in the life of people occupies more and more important position. At the same time to install the software on a smart phone also more and more, and is divided into many kind of carpool software conforms to the development and application of large the trend of The Times, intelligent mobile phones all under the condition of high speed developed based on the software will have greater prospects for development, as a new things appear in the domestic, carpooling software will be an opportunity, it fully integrates social idle resources, USES the o2o business model operation, complete the online payment, in offline guarantee service, so as to achieve a virtuous circle. Carpooling indirectly, protecting the environment, is a green software, at the same time it will greatly alleviate the pressure of the developed cities traffic paper is the main content of the android system is introduced in this paper, a concrete analysis of the four components of the android, and the system structure of android hierarchical description and analysis, and according to the requirements and overall design detailed analysis of the function of personal finance, and implementation.Keywords: carpooling smartphones with androidII全套设计加扣 3012250582目录第1章 绪论11.1 课题研究的目的背景及意义11.2 移动互联网现状11.3 论文研究内容2第2章 Android系统研究32.1 Android介绍32.2 Android框架综述42.2.1 Android框架图42.2.2 Android框架各层介绍42.2.3 程序库52.3 Android应用程序组成部分62.4 应用组成详解82.5 Windows下Android开发环境搭建10第3章 可行性分析113.1 功能分析113.2 决定可行性的主要因素113.3 可行性研究任务113.4可行性研究结论12第4章 需求分析134.1 需求分析的意义134.2 拼车软件功能需求134.3 可靠性和可用性需求13第5章 系统设计155.1 框架设计模块155.1.1 MVC框架介绍155.1.2 服务端介绍155.1.3 Android客户端介绍165.2 项目类图设计165.2.1 服务端类图165.2.2 客户端类图18第6章 系统实现226.1 程序主界面226.2 个人信息界面图226.3 应用界面展示246.3.1 车主界面246.3.2 乘客界面256.3.3 路线界面276.3.4 订单界面296.3.5 交友界面306.3.6 通用个人信息界面32第7章 系统测试367.1 测试目的367.1.1软件测试的目的367.1.2 软件测试原理367.1.3 测试内容367.2测试范围36参考文献38致谢39IV全套设计加扣 3012250582第1章 绪论1.1 课题研究的目的背景及意义 现今社会生活紧张,拼车软件的开发及其应用是符合大时代的趋势,智能手机高速发达的情况下一切基于手机的软件将有更大的发展前景,拼车软件作为新兴事物出现在国内,将是一个机遇,它充分整合了社会闲置资源,采用o2o商业模式运作,在线上完成支付,在线下保证服务,从而达到一个良性循环。拼车间接的保护了环境,是一款绿色出行软件,同时它将极大地缓解发达城市的交通压力移动设备和互联网的迅速发展和相互结合,使得移动互联网得到迅猛发展,手机等移动产品在人们的生活学习中已经不仅仅是用来通讯的设备了,而是集通讯,娱乐,办公,社交等的一种多功能智能设备。手机的智能化使得手机用户可以做越来越多的事情,而人们花在手机上的时间是越来越长。在这样的情况下,移动终端上的应用是非常受人们所青睐的。各种移动互联网产品呈现在用户面前,并且正在潜移默化的改变着人们的学习,工作和生活。移动互联网应用所基于的操作系统中比较常见的有android,ios,这些操作系统的多样提供了应用程序的多样开发平台和运行环境,这样的多样性给用户带来了更多选择的同时,也给很多进行移动开发的企业带来了开发上的难题。如何快速,低成本的开发出用户满意的应用成了企业和用户关注的热点。移动操作系统中发展最好的是android,android占有的市场份额排名位居移动操作系统的榜首。可见使用android设备和应用的用户相对比较多,因此开发android端的手机软件会更有意义。因为android用户是目前最多的,所以开发android端的手机拼车软件可以帮助更多的人进行长短途拼车,解决上班或旅游出行问题。帮助人们在紧张的社会生活中更加合理的规划自己的时间,在方便自己的同时,车主可以争取少量外快来补贴油费,乘客则可以用更少的钱来到达自己想要的地方。 1.2 移动互联网现状与传统的互联网时代相比较,移动互联网产业的业务和终端形态产生了变化并且展示出巨大的创新活力,引起这些变化的主要因素有:网路无处不在的接入能力,服务的个性化,网络的开放性和创新性,以及这些因素的相互作用。移动互联网已经成为我国重要的战略性新兴产业,它是以后信息技术的发展趋势。李克强总理在政府工作报告中提出,制定“互联网+”行动计划,推动移动互联网,云计算,大数据物联网等与现代制造业结合,促进电子商务,工业互联网和互联网金融健康发展,引导互联网企业拓展国际市场。目前移动互联网的应用中,采用IOS系统,android系统,Window Mobile 系统的占据了大多数,其中android系统最火。它的市场占有率是其他无法比拟的。虽然android占据了很大的市场份额,但是用户使用的系统版本却不集中,目前使用的android版本多打8个,最低版本是android1.5,最高时android5.0。这种多版本的问题给开发者带来了不少的问题,那就是开发出来的应用程序需要在不同的版本机器上进行测试。即使如此,android的开发性和易于开发的特点仍然吸引了大量企业和个人的参与,android是移动市场的主流,开发前景无限。1.3 论文研究内容本课题主要研究基于Android系统的手机拼车软件的开发,本文的研究内容有:1. 对android的相关知识进行研究和学习,了解android的特点,分层学习系统结构。2.对开发基于android的手机理财软件进行需求分析和部分功能实现。3.在需求分析的基础上完成应用的总体设计和全部功能。40全套设计加扣 3012250582第2章 Android系统研究2.1 Android介绍Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android以其特有的开放性优势越来越受到人们和智能手机厂商的关注。对于第三放软件开发商来说,Android 是一个真正意义上的开放性移动设备综合平台,Android系统是免费向开发人员提供的,这样就避免了开发中专利权的障碍。因此,就能够为第三方软件开发商省下大笔资金。对于设备制造商来说,Android是一个免费的平台。当设备制造商每制造一台手机时,那些支付给手机系统制造商的费用也省去了,这样也降低了每台手机的生产费用,同时就降低了手机的价格,这样在市场上也提高了竞争力。对硬体开发厂商来说,Android也是个开放的平台。使用Android平台的厂商可以更具自己的需求以及能力为Android开发具有该厂商特色的功能,但是这样的增加完全不用考虑版权的问题。同时Android平台支持各种先进的网络、绘图、3D 处理能力,可以用来提供更好的使用者体验。Google Android 系统作为一个完全开源的操作系统,是由操作系统(Linux)、中间件以及核心应用程序组成的软件栈(software stack)。通过 android SDK 提供的 API 以及相应的开发工具, 程序员可以很方便的开发android平台上的应用程序。其整个系统由应用程序(Application),应用程序框架(Application Framework),应用程序库(Libraries),Android运行库(Android Runtime),Linux内核(Linux Kernel)五个部分组成。Android操作系统内置了一部分应用程序, 包括电子邮件客户端、SMS程序、日历、地图、浏览器、通讯录以及其他的程序,值得一提的是这些所有的程序都是用java编写。因为应用程序框架使得组件更易于重用,所以开发者的应用程序可以很容易的调用API函数实现我们想要的功能。在遵守应用程序框架的安全机制约束的前提下,开发者开发的一个应用程序可以使用其他程序所开发的功能。虽然Android的应用程序是用Java语言开发的,但是Android给应用程序开发者提供了一系列的 C/C+ 程序库,通过Android的一些特殊的设计,我们开发者可以使用这些库,这在后面的叙述中将看到。2.2 Android框架综述Android是一个包括操作系统,中间件以及一些重要应用程序的专门针对移动设备的层次结构的软件集。作为一个层次结构的软件集,一定有一个层次的系统构架。 2.2.1 Android框架图图2.1 Android系统框架从图2.2.1中明显的可以看出该系统从下到上包括Linux内核层、Libraries和运行时环境层、应用程序框架层、应用程序层四层结构。在Android的最下层的操作系统基于Linux2.6内核,往上的中间件包括Libraries和运行时环境层和应用程序框架层两个层次,最上层则是应用程序层。2.2.2 Android框架各层介绍1.应用程序Android会同一系列核心应用程序包一起发布,该应用程序包包括Email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。2.应用程序框架开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统, 其中包括;丰富而又可扩展的视图(Views):可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至可嵌入的web浏览器。内容提供者(Content Providers):使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。资源管理器(Resource Manager):提供非代码资源的访问,如本地字符串,图形,和布局文件(layout files)。通知管理器(Notification Manager):使得应用程序可以在状态栏中显示自定义的提示信息。活动管理器(Activity Manager):用来管理应用程序生命周期并提供常用的导航回退功能。3.系统运行库2.2.3 程序库Android包含一些C/C+库,这些库能被Android系统中不同的组件使用。它们通过 Android应用程序框架为开发者提供服务。以下是一些核心库:系统C库:一个从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 libraries:基于OpenGL ES 1.0 APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。FreeType:位图(bitmap)和矢量(vector)字体显示。SQLite:一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。2 Android 运行库Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK的dx工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于Linux内核的一些功能,比如线程机制和底层内存管理机制。3 Linux内核Android的核心系统服务依赖于Linux 2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。2.3 Android应用程序组成部分任何一个Android应用程序,都可由四个部分组成,这四个组成部分分别是Activity;Intent Receiver;Service;Content Provider。对于一个应用程序来说,不一定这四个部分都需要。其中,Activity、Intent Receiver和Service是Android最基本的三个组件。其实,这四个部分全部或者其中几个的相互协调工作组成了我们平时见到的应用程序。在Android中每一个应用程序都需要有一个XML配置文件AndroidManifestxml,该配置文件用于定义我们的应用程序组件和组件的功能以及一些必要条件等。因此当我们使用到任何一个组件时都需要在这个配置文件中进行登记,否则就算是你在代码中使用了这个组件,但是Android系统也是找不到该组件的。 活动是最基本的 Android 应用程序组件,在应用程序中,一个活动通常就是一个单独的用户界面。每一个活动都被实现为一个独立的类,并且从活动(Activity)基类中继承而来,活动类将会显示由视图(View)控件组成的用户接口,并对事件(Event)做出响应。大多数的应用程序都会有多个用户界面,因此便会有多个相应的活动。Android 的一个活动一般对应界面中的一个屏幕显示,可以理解成一个界面,每一个活动在界面上可以包含按钮、文本框等多种可视的UI元素。Android 系统中的不同组件具有不同的生命周期。Android 根据每个进程中运行的组件以及组件的状态把进程放入一个重要性分级(importance hierarchy)中。Android 进程的重要性分级,可以理解成执行的优先级。活动的生命周期如图2.2所示。 图2.2 activity的生命周期运行活动的情景:当一个活动被启动时,活动中的 onCreate()、onStart()和 onResume()这 3 个方法被依次调用,活动对应的界面出现在屏幕上。 活动被“覆盖”的情景:Android 的活动一般都占据一个完整的屏幕,从当前活动启动另外一个活动时,另一个活动将被启动到前台(Foreground),当前活动转入后台(Background),这时活动的 onPasuse()方法将被调用,活动转入后台运行。如果活动变为不可见,还将调用 onStop()方法。在转入后台onStop()是否被调用取决于活动是否被完全覆盖,在新的活动有透明部分时,转入后台的活动依然“可见”,其他情况下(较多数的情况)活动均进入不可见状态(被完全覆盖)。 每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK的dx工具转化成.dex格式由虚拟机执行活动被恢复的情景:当界面上最前面的活动退出后,它所覆盖的活动将被恢复,这时 onResume()方法将被调用,活动重新转入前台运行。 活动完全退出的情景:当使用回退(Back)按钮退出活动时,onDestroy()方法将被调用,活动关闭。如果系统缺少内存时,也会杀死(kill)后台的活动,其中优先杀死不可见的活动,可见的活动一般不会被杀死。当横屏和竖屏切换时,活动会销毁并重新创建出来一个新的,但是如果设置了安卓的栈模式时,这种情况将会出现变化。安卓共有四种栈模式,分为普通模式,singleTop,singleInstance,和singleTask模式,普通模式就是按照先销毁在创建这样,singleTop则会在栈顶只会有一个相同的存在。2.4 应用组成详解1. Activity:Activity是Android中最最基本的组件,实际应用中,通常就是一个单独的,也就是一个运行在前台程序在某一时刻在屏幕中所能展示的全部内容就是一个Activity。每一个Activity都是继承于Activity基类的一个子类,并且该Activity类由几个之前说过的应用程序框架提供的视图组成用户接口,实现对事件的响应。绝大部分的应用都会包含多个屏幕,例如名片管理的应用,一个屏用于显示所有的联系人,另一个屏用于显示其中某个联系人的详细信息,可能还会有用于分组信息或者用于系统设定的屏。对于这些,每一个屏都是一个Activity。当一个新的Activity执行以后,前一个Activity将暂停,并保存到系统历史堆栈当中,用户可以返回到历史堆栈中的上一个Activity。当该Activity不用时可以从历史堆栈中删除。2. Intent Receiver:Intent Receiver有的地方也叫做Broadcast Receiver。当你希望你的应用能够捕获一个外部事件并作出响应时,比如手机快没电了,收到一条新的短信息等。这时你就可以使用一个Intent Receiver。因为Intent Receiver只是在一个你所关注的事件发生时,会给那些关注该事件的应用程序发送一个通知,所以它并不会生成一个UI。同样的Intent Receiver也需要在AndroidManifest.xml中进行注册。当一个你所关注的时间发生时,我们的应用不需要主动去调用intent receiver,系统会在一个合适的时候去调用我们的程序。3. Service:Service是一段长生命周期的,没有用户界面的程序。我们举一个播放器的例子,来说明Service程序。也就是之前说的Activity,这个Activity提供给用户一些操作播放器如播放、停止、下一曲等操作以及显示一些歌曲和播放列表信息的功能。但是当播放器被切换到后台以后,所有的Activity都放到历史堆栈中了,而这时播放器仍然继续进行播放,而当一首歌曲播放完了以后,还会根据播放列表中的信息播放下一首歌曲。完成这些功能的组件就是Service。当播放器的Activity利用Context.startService()方法启动一个Service后,这个播放器就能够在后台持续的播放音乐了。还有,对于一个Service组件,我们可以使用Context.bindService()连接到Service上,就能通过该Service提供的接口与之进行通信。4. Content ProviderContent Provider提供给你的应用程序与其他应用程序共享数据的一个功能。我们的应用程序可以通过Content Provider提供的一些方法来处理或者保存其他应用程序Content Provider中的数据,这样来达到数据的共享。5. AndroidManifest.xml之前提到过,每一个Android应用程序都包括了一个AndroidManifest.xml配置文件,它对应了应用程序的说明,包括运行权限,组件的注册等。其实AndroidManifest.xml配置文件和使用Visual Studio开发中的Manifest.xml很相似,但是VS的可视化的界面的缘故,只需进行简单的设置,就能自动生成该文件,所以不少的VS程序员会忽略掉该文件的存在。但是在Android应用程序开发中,该文件是不可缺少的。应用程序在运行前通过AndroidManifest.xml文件向系统提供一些必要的信息,让系统知道该应用程序应该如何配置。 AndroidManifest.xml示意图如图2.4所示。 图2.4 AndroidManifest.xml示意图2.5 Windows下Android开发环境搭建为了在PC主机上得到Android的开发环境,我们选择在Windows操作系统中进行对Android开发环境的搭建,具体步骤如下:1. JDK安装首先下载JDK,按照提示安装成功后,最重要的是进行环境变量的配置,步骤如下:我的电脑属性高级环境变量系统变量中添加以下环境变量:Java_HOME:E:Program FilesJavajdk1.7.0(安装JDK的目录) path:%java_home%bin;E:ProgramFilesJavajdk1.7.0;.;E:softwareandroid-sdk-windows;E:softwareandroid-sdk-windowstools;E:softwareandroid-sdk-windowsplatform-tools;C:mysql-5.5.11-win32bin;Classpath:.2. Eclipse安装可下载一个绿色版的Eclipse,无需安装,和安装版一样都能为Android开发提供功能。3. Android SDK安装在AndroidDevelopers下载Androidsdkr07windowszip,下载完成后解压到任意路径。运行SDK Manager.exe,点击Available Package。选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包。下载完成后出现如下图的所有Androidsdkr07windows文件夹内容;4. ADT安装ADT实际上是一个工具,它可以连接sdk和Eclipse,帮助Eclipse找到sdk打开Eclipse界面,进入菜单中的“Help” “InstallNewSoftware”,点击Add按钮弹出对话框要求输入Name和Location,完成之后,选择Window Preferences;在左边的面板选择Android,然后在右侧点击Browse;并选中SDK路径,本机为;E:softwareandroid-sdk-windows;点击Apply、OK。配置完成。5. 创建AVD为使Android应用程序可以在模拟器上运行,必须创建AVD,步骤如下:在Eclipse中,选择Windows Android SDK and AVD Manager,点击左侧面板的Virtual Devices,再右侧点击New,填入Name,选择Target的API,SDCard大小任意,Skin随便选,Hardware目前保持默认值,点击CreateAVD即可完成创建AVD。河南城建学院本科毕业设计(论文) 第3章 可行性分析第3章 可行性分析3.1 功能分析在上节已经用用例图展示了系统的功能,通过用例图分析功能可以知道所有的功能都是系统必须具备的功能,而除了这些功能以外对系统功能的扩充还是很好的,所以说功能分析是可以通过的。3.2 决定可行性的主要因素成本/效益分析结果:效益大于成本技术可行:现有技术可以完全承担开发任务操作可行:应用能被绝大部分人快速学会使用。3.3 可行性研究任务1.技术可行性确保现有的技术是否能解决本该开发项目:系统采用JAVA语言开发,Eclipse作为Android开发环境。ADT插件提供了一系列图形用户界面组件进行界面编程,所以在技术上可行。Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun公司推出的Java程序设计语言和Java平台的总称。Java自面世后就非常流行,发展迅速,对C+语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。Java是目前使用最为广泛的网络编程语言之一。它具有简单,面向对象,稳定,与平台无关,解释型,多线程,动态等特点。Java语言有以下几点优点:面向对象的编程更符合人的思维模式,使人们更容易编写程序。内置对多线程的支持。 Java程序的安全性。当你准备从网络上下载一个程序时,你最大的担心是程序中含有恶意的代码,比如试图读取或删除本地机上的一些重要文件,甚至该程序是一个病毒程序等。当你使用支持Java的浏览器时,你可以放心地运行Java的小应用程序 Java Applet ,不必担心病毒的感染和恶意的企图,Java小应用程序将限制在 Java运行环境中,不允许它访问计算机的其它部分。 Java 程序的基本组成单元就是类,有些类是自己编写的,有一些是从类库中引入的,而类又是运行时动态加载的,这就使得 Java 可以在分布环境中动态地维护程序及类库,而不像 C+那样,每当其类库升级之后,相应的程序都必须重新修改,编译。因此本人认为Java程序语言技术已成熟,采用JAVA编程语言是可行的。2.经济可行性由于“手机理财软件应用”作为毕业设计进行开发,由我亲自开发,成本不会太高,所以经济上是可行的。3.操作可行性确定软件产品是否能够被最终的用户所接受,用户是否能操作最终的产品:该手机拼车软件方便在操作的Android手机上运行,方便用户操作。3.4可行性研究结论根据以上几个方面的研究,在技术上、经济上和操作上都是可行的,项目进行开发是没有问题的。河南城建学院本科毕业设计(论文) 第4章 需求分析第4章 需求分析4.1 需求分析的意义为了开发出真正的满足用户需求的软件产品,首先必须知道用户的需求。为软件需求的深入理解是软件开发工作获得成功的前提条件,不论人们把设计和编码工作做得如何出色,不能真正的满足用户需求的程序只会令用户失望,给开发者带来烦恼。需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。4.2 拼车软件功能需求拼车软件是一款可以帮助人们随时随地畅快出行的软件,让我们不必再像以往一样挤公交,其全新的理念是整合社会闲置资源,充分利用闲置资源,来达到经济共享的目的。软件操作简单适合大部分人的使用。本系统主要为用户提供基本的拼车需求,包括及时拼车,预约拼车等功能,用户可以通过系统发布路线,也可以选择接单,主要功能有以下几点:1. 用户登录,进入本软件需要密码验证登录以保护个人隐私性;2. 乘客界面,用户可对发布拼车需求;3. 车主界面,用户可以查看乘客发布的路线请求,选择报价等待用户选择也可以拒绝接单;4. 个人中心,用户可以对自己的资料进行修改,比如头像,昵称,性别,车辆信息等;5. 接单界面,乘客发布的乘车信息将会以列表形式在车主端呈现;6. 报价界面,车主选择乘客发布的路线,进行合理报价;7. 选车界面,用户可以根据车辆型号和费用,自行选择车辆乘坐;8. 过电话联系对方,自行沟通;9. 支付与评价界面,用户可以根据司机的态度和车辆的满意度来对司机进行评价也可以支付;10. 聊天交友界面,系统内置类似QQ的交友平台;11. 车主信息界面,提供车主相关的跳转页面;12. 乘客信息界面,提供乘客相关的挑战界面;4.3 可靠性和可用性需求在手机拼车软件的开发阶段要求在windows 7操作系统、JAVA编程语言、Eclipse平台下开发,在Android SDK模拟器和华为真机下测试运行。要求手机拼车软件能够在Android 4.0.0及其以上版本、RAM为512MB的安卓手机上稳定流畅运行,并要求手机拼车应用在运行过程中不能影响手机正常通信功能及手机上的其他应用功能。河南城建学院本科毕业设计(论文) 第5章 系统设计第5章 系统设计5.1 框架设计模块在开始编码之前所有的应用都应该确定所使用的框架,因为这对系统的功能和扩展性非常重要。确定所使用的框架基本上就确定了系统的功能,例如聊天系统所使用的框架和协议是asmark框架和xmpp协议,只看框架和协议就基本了解系统所做的功能和用途了。而个人理财软件应用所使用的框架是MVC协议是HTTP协议。5.1.1 MVC框架介绍MVC框架设计模式分三个层次:1.视图层(View):一般采用XML文件进行界面的描述,使用的时候可以非常方便的引入。当然,如何你对Android了解的比较的多了话,就一定可以想到在Android中也可以使用JavaScript+HTML等的方式作为View层,当然这里需要进行Java和JavaScript之间的通信,幸运的是,Android提供了它们之间非常方便的通信实现。视图层的作用是收集用户输入的数据,并且把这些数据提交给控制层,接收控制层的请求,展现相应的业务给用户看。 2.控制层(Controller):Android的控制层的重任通常落在了众多的Acitvity的肩上,这句话也就暗含了不要在Acitivity中写代码,要通过Activity交割Model业务逻辑层处理,这样做的另外一个原因是Android中的Acitivity的响应时间是5s,如果耗时的操作放在这里,程序就很容易被回收掉。控制层的作用是接收视图层传来的参数,根据不同的请求类型执行相应的业务模块,接收业务模块的返回值,更具不同的情况调用不同的view给用户看。3.模型层(Model):对数据库的操作、对网络等的操作都应该在Model里面处理,当然对业务计算等操作也是必须放在的该层的。就是应用程序中二进制的数据。模型层的作用是接收控制层的调用,执行相应的业务。采用MVC的好处是界面设计人员可以直接参与到界面开发,程序员就可以把精力放在逻辑层上。而不是像以前那样,设计人员把所有的材料交给开发人员,由开发人员来实现界面。在Eclipes工具中开发Android采用了更加简单的方法,设计人员在DroidDraw中设计界面,以XML方式保存,在Eclipes中直接打开就可以看到设计人员设计的界面。5.1.2 服务端介绍服务端的框架也是采用MVC框架的,通过以上对MVC框架的介绍可以了解到,服务端使用MVC框架能使程序结构层次分明,有利于程序的扩展性。服务端的代码完成以后要生成.war文件,把该.war文见部署到tomcat中,利用tomcat和android客户端的手机拼车软件应用进行通信。5.1.3 Android客户端介绍手机拼车软件基本上也是采用MVC框架实现的,对于手机应用大家都是比较熟悉的,而我在该应用的客户端所使用的技术基本上都是现在最流行的技术,欢迎界面使用的是viewpager+fragment,主要业务模块使用的新技术是侧滑。这两种技术都是当下比较流行的也是用户体验最好的技术。这种技术的使用不仅使用户能更好的操作还增添了用户理财记账的兴趣。5.2 项目类图设计类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性信息。类图是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。5.2.1 服务端类图Action包中类主要的作用就是根据客户端发的不同的请求来调用不同的service包中的方法处理不同的事件。如图5.1所示。图5.1 action包的UML图Dao包的作用就是被service包中的方法来调用的从而根据service中不同的调用方法,来处理服务服务端的数据库,从而达到修改数据的目的。如图5.2所示。图5.2 dao包的UML图Util包的作用就是配置一些文件信息,比如获取某个类的实例,可以在这里配置,还有就是数据的连接和关闭这些都是通用的做法,可以根据需要把这些东西都写在工具类中,这样做优化了代码。如图5.3所示图5.3 util包的UML图Service包的作用就是根据不同的请求来调用不同的方法,并且把处理结果返还给action,action再把处理结果返还给客户端用来提醒用户的操作结果。如图5.4所示。图5.4 service包的UML图Entity包的作用就是对数据的一种封装,这样在类与类之间进行数据的传递时候只传递一个实例对象就可以了,减少了参数的传递。如图5.5所示。图5.5 entity包的UML图5.2.2 客户端类图Dao包中的类是有关对数据库的操作的,包括对数据库中的数据进行增删改查的。客户端用到的数据库是手机上的Sqlite数据库。如图5.6所示。图5.6 客户端dao包的UML图View包中的类几乎都是为了展现页面给用户看的,这些页面基本上都有相应用户的点击或触摸时间,对时间的处理有的放在biz包中有的放在util包中。如图5.7所示。图5.7 客户端view包中的UML类图Adapter包中的类主要是给view包中的控件来提供适配的,而这适配中的数据一般都是根据biz包中的类去获取的,所以这个包中的类一般都被view包中的类调用。如图5.8所示。图5.8 客户端adapter包的UML类图Biz包就是负责应用的业务的,一般所有的业务都在此类中实现。而应用中的数据的获取业务都是在这里完成。这个包中的类一般也都是被view包中的类所调用。如图5.9所示。图5.9 客户端biz包的UML类图Util包就是所谓的工具包,该包中的类一般都是比较通用的类,可以抽取出来供每一个类应用,一般该类的变换不大,可以生成.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砂之船svip活动方案
- 美容师公司开业活动方案
- 礼品拍卖活动方案
- 端午节加油活动方案
- 美甲充值赠送活动方案
- 组织小队比赛活动方案
- 研学旅行实践活动方案
- 社工活动妇女活动方案
- 线下红酒促销活动方案
- 美工区教研活动方案
- 江苏省制造业领域人工智能技术应用场景参考指引2025年版
- 9.18事变防空演练方案3篇2025
- 急性心肌梗死病人护理
- 学校意识形态工作培训会
- 建设工程施工安全标准化管理资料(全十册汇编-通用版)
- GB/T 17505-2016钢及钢产品交货一般技术要求
- 第二章第一节认识网络 课件 【知识精讲+备课精研+高效课堂】 教育科学出版社选择性必修二网络基础
- 神经外科术后并发症观察及护理课件整理
- 脊柱弯曲异常筛查结果记录表
- IATF16949-2016内审员理论考试题库及答案
- 各种煤气化技术介绍课件
评论
0/150
提交评论