




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安科技大学毕业设计(论文)文献综述题 目 基于android的考勤管理系统设计与开发 院、系(部) 计算机科学与技术学院 专业及班级 软件工程0901班 姓 名 指 导 教 师 日 期 2013年3月 设计(论文)题目: 基于android的考勤管理系统设计与开发 文 献 综 述摘要:本文介绍了一个基于android的考勤管理系统设计与开发,包括系统需求分析和系统的功能设计、数据库设计等方面。在系统设计和开发上,运用软件工程的思想,分析和设计了数据模型和功能模型;给出了主要功能的算法设计,包括点名管理、学生信息管理、教师授课信息管理、班级联系人管理以及到课率统计等模块。关键字:Android、Java、Struts2、MVC模式0引言Android是Google在2007年发布的一款全新的智能手机终端操作系统和移动应用开发平台,它基于Linux内核,由操作系统、中间件、用户界面和应用软件组成,是一个开放而完整的移动“软件栈”1。 因此,自发布以来Android立刻受到了业界的广泛关注,并很快成为主流。为了提供更加完善的功能和方便开发人员,Google对Android平台的SDK更新很快,目前已发布30版本,开发人员可以利用SDK中所提供的工具,为基于Android操作系统的手机进行移动应用开发。本文将详细阐述Android平台的组成、系统架构、API、应用程序框架以及该平台下应用程序的基本开发方法。1 系统基本简介基于android的考勤管理系统设计与开发是利用MVC框架进行软件开发,使用面向对象编程技术开发。用户通过下载并安装客户端到智能手机,通过智能手机客户端完成对学生的点名、老师课程信息的查询、班级联系人信息的查询以及与服务器端的数据传输等功能。基于android的考勤管理系统设计与开发整体采用面向对象思想的接口分离的设计原则,降低了上层对下层逻辑调用的依赖,整体上符合高内聚、低耦合的设计原则,使系统的后期维护和扩展性得到很好的保障。软件由客户端与服务器端组成,客户端主要是在用户的手机端进行Android开发得出的,可以实现,对老师所要求信息的基本查询,并且能够对学生进行点名功能。服务器WEB端采用Struts框架,能够实现对老师所要求信息的增删改查。服务器端与客户端可以互传数据,客户端可以从服务器端下载相关数据供客户端的用户查询,还要能够上传用户的点名数据到服务器,服务器端进行处理并且保存到相关的数据库。2.系统实现的关键技术2.1 MYSQL简述MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。2.2JAVA简介Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。 Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.7。 Java分为三个体系J2SE(Java2 Standard Edition),J2EE(Java 2 Platform,Enterprise Edition),J2ME(Java 2 Micro Edition)。Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。2.3 Struts2简介Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。2.4 MVC模式MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。2.5Android系统架构简介Android平台4是一组面向移动设备的软件包,它包含了一个操作系统、中间件和关键应用程序。Android是一组面向移动设备的软件包(目前不仅限于移动手机领域,Android也已经进入其他嵌入式领域,如汽车中控台,MP3/MP4等),包含了一个操作系统,中间件和关键应用程序。Android SDK3的预览版提供了必需的开发工具和应用程序接口,基于这些,我们就可以使用Java编程语言在Android平台上开发应用程序了。Android系统架构基本分为应用(Applications),应用框架(Application Frameworks),库函数(Libraries),运行时环境(Android Runtime),Linux 内核(Linux Kernel)2。下方图表显示了Android操作系统的主要组件。图1.1 Android系统架构图1.应用程序Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。2.应用程序框架 开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。 3.系统运行库 Android 包含一些C/C+库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。4.Android运行时 每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中 的“dx” 工具转化成“.dex”格式由虚拟机执行。Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。 5.Linux 内核 Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。2.6Android端与Web端的数据传送 在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient5来方便我们使用各种Http服务。你可以把HttpClient想象成一个浏览器,通过它的API我们可以很方便的发出GET,POST请求。 在发出HTTP请求前,我们先创建了一个HttpClient对象。那么,在实际项目中,我们很可能在多处需要进行HTTP通信,这时候我们不需要为每个请求都创建一个新的HttpClient。因为之前已经提到,HttpClient就像一个小型的浏览器,对于整个应用,我们只需要一个HttpClient就够了。HttpClient是用来模拟HTTP请求的6,其实实质就是把HTTP请求模拟后发给Web服务器。Android已经集成了HttpClient,因此可以直接使用。3 开发工具简介3.1 Eclipse简介Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。历史背景Eclipse这样功能完整且成熟的开发环境,是由蓝色巨人IBM所释出。IBM花了4千万美金来开发这个IDE(Integrated Development Environment)。第一版1.0在2001年11月释出,随后逐渐受到欢迎。Eclipse已经成为开放原始码计划(Open Source Project),大部分的开发扔然掌握在IBM手中,但是有一部份由的软件联盟主导。Eclipse项目由Project Management Committee(PMC)所管理,它综观项目全局,Eclipse项目分成3个子项目:平台-Platform开发工具箱-Java Development Toolkit(JDT)外挂开发环境-Plug-in Development Environment(PDE)这些子项目又细分成更多子项目。例如Platform子项目包含数各组件,如Compare、Help与Search。JDT子项目包括三各组件:User Interface(UI)、核心(Core)及除错(Debug)。PDE子项目包含两各组件:UI与Core。跨语言、跨平台多数人认为Eclipse是Java IDE,不过,当下载Eclipse之后,除了有Java IDE(就是JDT),还有PDE。然而Eclipse是万用工具平台。JDT实际上是Eclipse的添加品,也就是外挂程序。Eclipse本身实际上是指Eclipse平台(Eclipse Platform),除了下载时能取得Java工具集以外,还提供各种工具的支持,所以平台本身只是相当小的组软件。Eclipse跨计算机语言,也跨人类的语言。相同的外挂机制可用来增加对不同语言的支持,这里使用一种特殊的外挂,叫做外挂程序片断(plug-in fragment)。IBM以捐出一个语言套件,支持中文(繁体与简体)、法文、德文、意大利文、日文、韩文、葡萄牙文(巴西)与西班牙文。参考文献1姚昱曼,刘卫国Android的架构与应用开发研究J 计算机系统应用,2011.12:1101122 田森,李大和用Android开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025烟花买卖安全合同
- 农产品收购合同协议书
- 2024-2025学年新教材高中生物 第2章 细胞的结构和生命活动 第3节 第2课时 被动运输不需要细胞供能 主动运输需要细胞供能 细胞的胞吞和胞吐说课稿 苏教版必修1
- 第26课《诗词五首:春望》说课稿 2024-2025学年统编版语文八年级上册
- 本册综合说课稿-2025-2026学年初中劳动技术浙教版八年级上册-浙教版
- 九年级道德与法治下册 第二单元 世界舞台上的中国 第四课 与世界共发展 第2框 携手促发展说课稿+教学反思 新人教版
- 武汉市第一职业教育中心招聘高中教师2人笔试备考试题及答案解析
- 辅警招聘考试行政职业能力测验(常识判断)模拟试卷标准卷
- 重难点突破03 直线与圆的综合应用(七大题型)( )
- 安全主体责任培训讲义课件
- 2024年内蒙古人力资源和社会保障厅事业单位笔试真题
- 升降机风险辨识及防范措施
- 中医治未病健康宣教
- 食堂员工服务培训
- 提升心理抗压能力的技巧
- 中医医术确有专长人员(多年实践人员)医师资格考核申请表
- 低空飞行器设计
- 《穴位埋线疗法》课件
- 【大型集装箱船舶港口断缆事故预防应急处理及案例探析7500字(论文)】
- 脑梗塞并出血护理查房
- 三对三篮球赛记录表
评论
0/150
提交评论