软件工程专业毕业设计论文内容模板_第1页
软件工程专业毕业设计论文内容模板_第2页
软件工程专业毕业设计论文内容模板_第3页
软件工程专业毕业设计论文内容模板_第4页
软件工程专业毕业设计论文内容模板_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业设计论文模板(软件开发类)1 绪论1.1 研究背景 (合并 1.2)春天里来百花香,怎么会不让人沉醉呢?美丽的花自然好看,但人的创造力更是无边,花艺赋予了鲜花更多的话语表达,想不想接触甚至做出更多美好的花艺作品呢?花田小憩不仅仅是有专业的花艺教学内容,它还是一个活跃的百万花艺爱好者社区。在这里,你可以看到各式各样的话题讨论,不仅限于花艺,还延伸至家居、植物、杂物等生活美学领域。花田小憩还提供了众多高清花艺壁纸,供你下载换桌面,可以适配各种屏幕尺寸。手机的美观再也不愁了。花田小憩是一款花艺爱好者不容错过的生活应用。在这里,收获的不仅仅是花艺知识,还有同道中人和美的生活方式。让你的节奏,慢下来,美下去。作为一个植物生活美学平台, 花田小憩还提供跟花艺与生活美学相关的物品贩卖,如鲜花、器皿、干花、书籍等。你可以在这里寻找生活的美。花田小憩创办初衷是想为所有喜欢植物和美学的人们,通过花草与时间的叠加,营造一个小而美的精致生活。希望能让用户在繁琐的生活之中,享受一种静雅恬淡的生活之美,制造一份专属的美学生活态度。1.2 研究开发现状分析( 1) 研发现状:现有系统解决领域问题及其技术运用现状的分类、分析,优缺点分析:总结现有成果的优缺点;( 2)系统开发的必要性;在上述分析的基础上,阐明项目研究开发的必要性。1.3 主要研究内容.(1)技术路线:采用什么技术、方法、环境与工具;(2)系统特征:解决的关键问题(解决什么问题) 、达到什么目标,实现什么功能。 1.4 本文的组织结构 此文的分为六部分,其中第一部分为绪论,主要介绍 App 的研究背景以及国内外形势,第二部分为相关技术和工具综述,主要分为 Android 技术的讲解、Android 应用程序的介绍、Java 开发方面的知识、C/C+开发方面的知识、硬件抽象层的概述、系统内核层的讲解、以及 Android 的安全权限机制的深入探讨、Android 四大组件中 Activity 的理解以及 Android 应用程序的框架,还有Android 系统维护方面的相关知识。2.相关技术和工具综述2.1 Android 技术Android 是一种以 l i n u x 为基础的开放源代码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致” 。Android 操作系统最初由 Andy Rubin 开发,最初主要支持手机。2005 年由谷歌收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android 的主要竞争对手是苹果公司的 i o s 以及 RIM 的 Blackberry OS。2011年第一季度,Android 在全球的市场份额首次超过塞班系统,跃居全球第一。 2012 年 2 月数据,Android 占据全球智能手机操作系统市场 52.5%的份额,中国市场占有率为 68.4%。 Android 的系统架构和其它操作系统一样,采用了分层的架构。android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和 l i n u x 核心层。 Android 是以 Linux 为核心的手机操作平台,作为一款开放式的操作系统,随着 Android 的快速发展,如今已允许开发者使用多种编程语言来开发 Android应用程序,而不再是以前只能使用 Java 开发 Android 应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。 在 Android 中,开发者可以使用 Java 作为编程语言来开发应用程序,也可以通过 NDK 使用 C/C+作为编程语言来开发应用程序,也可使用 SL4A 来使用其他各种脚本语言进行编程(如:python、l u a、t cl、p h p 等等) ,还有其他诸如:QT (qt for android) 、Mono(mono for android)等一些著名编程框架也开始支持 Android 编程,甚至通过 Mon o Droid,开发者还可以使用 C#作为编程语言来开发应用程序。另外,谷歌还在 2009 年特别发布了针对初学者的Android Simple 语言,该语言类似 Basic 语言。而在网页编程语言方面,JavaScript,HTML5 等等都已经支持 Android 开发。2.1.2 Android 应用程序早期的 Android 应用程序开发,通常通过 Android SDK(Android 软件开发包)下使用 Java 作为编程语言来开发应用程序,但通过不同的软件开发包,则使用的编程语言也不同。 例如开发者可以通过 Android NDK(Android Native 开发包)使用 C 语言或者 C+语言来编程语言开发应用程序。同时谷歌还推出了适合初学者编程使用的 Simple 语言,该语言类似微软公司的 Visual Basic 语言。此外,谷歌公司还推出了 Google App Inventor 开发工具,该开发工具可以快速地构建应用程序,方便新手开发者。2.1.3 JAVA 开发方面Android 支持使用 Java 作为编程语言来开发应用程序,而 Android 的 Java开发方面从接口到功能,都有层出不穷的变化。考虑到 Java 虚拟机的效率和资源占用,谷歌重新设计了 Android 的 Java,以便能提高效率和减少资源占用,因而与 J2ME 等不同。2.1.4 C/C+开发方面早期的 Android 开发只支持 Java 作为编程语言开发应用程序,因而使得其他语言开发者只能望而却步。2010 年 4 月,谷歌正式对开发者发布了Android NDK,NDK 允许开发者使用 C/C+作为编程语言来为 Android 开发应用程序,初版的 NDK 使得开发者看到了 C/C+在 Android 开发中的希望。 但是,当前版本的 NDK 在功能上还有很多局限性:NDK 并没有提供对应用程序生命周期的维护;NDK 也不提供对 Android 系统中大量系统事件的支持;对于作为应用程序交互接口的 UI API,当前版本的 NDK 中也没有提供。但是相对于初版的 NDK,现在的 NDK 已经进行了许多重大的功能改进。 由此可见,NDK 仍然需要完善和发展,相信未来随着 NDK 的发展,NDK 可以做得更多更好。2.1.5 硬件抽象层Android 的 HAL(硬件抽象层)是能以封闭源码形式提供硬件驱动模块。HAL 的目的是为了把 Android framework 与 Linux kernel 隔开,让 Android不至过度依赖 Linux kernel,以达成 kernel independent 的概念,也让Android framework 的开发能在不考虑驱动程序实现的前提下进行发展。 HAL stub 是一种代理人(proxy)的概念,stub 是以 *.so 档的形式存在。Stub 向 HAL“提供”操作函数(operations) ,并由 Android runtime 向 HAL取得 stub 的 operations,再 callback 这些操作函数。HAL 里包含了许多的stub(代理人) 。Runtime 只要说明“类型” ,即 moduleID,就可以取得操作函数。2.1.6 系统内核Android 是运行于 Linux kernel 之上,但并不是 GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango 及 Glibc 等都被移除掉了。Android又以 bionic 取代 Glibc、以 Skia 取代 Cairo、再以 opencore 取代 FFmpeg等等。Android 为了达到商业应用,必须移除被 GNU GPL 授权证所约束的部份,例如 Android 将驱动程序移到 userspace,使得 Linux driver 与Linux kernel 彻底分开。bionic/libc/kernel/ 并非标准的kernel header files。Android 的 kernel header 是利用工具由Linux kernel header 所产生的,这样做是为了保留常数、数据结构与宏。2.1.7 安全权限机制Android 本身是一个权限分立的操作系统。在这类操作系统中,每个应用都以唯一的一个系统识别身份运行(Linux 用户 ID 与群组 ID) 。系统的各部分也分别使用各自独立的识别方式。Linux 就是这样将应用与应用,应用与系统隔离开。 系统更多的安全功能通过权限机制提供。权限可以限制某个特定进程的特定操作,也可以限制每个 URI 权限对特定数据段的访问。 Android 安全架构的核心设计思想是,在默认设置下,所有应用都没有权限对其他应用、系统或用户进行较大影响的操作。这其中包括读写用户隐私数据(联系人或电子邮件) ,读写其他应用文件,访问网络或阻止设备待机等。 安装应用时,在检查程序签名提及的权限,且经过用户确认后,软件包安装器会给予应用权限。从用户角度看,一款 Android 应用通常会要求如下的权限: 拨打电话、发送短信或彩信、修改/删除 SD 卡上的内容、读取联系人的信息、读取日程信的息,写入日程数据、读取电话状态或识别码、精确的(基于GPS)地理位置、模糊的(基于网络获取)地理位置、创建蓝牙连接、对互联网的完全访问、查看网络状态,查看 WiFi 状态、避免手机待机、修改系统全局设置、读取同步设定、开机自启动、重启其他应用、终止运行中的应用、设定偏好应用、震动控制、拍摄图片等。 一款应用应该根据自身提供的功能,要求合理的权限。用户也可以分析一款应用所需权限,从而简单判定这款应用是否安全。如一款应用是不带广告的单机版,也没有任何附加的内容需要下载,那么它要求访问网络的权限就比较可疑。 编辑本段系统组件 Android 开发四大组件分别是:活动(Activity):用于表现功能。服务(Service):后台运行服务,不提供界面呈现。广播接收器(BroadcastReceiver):用于接收广播。内容提供商(Content Provider):支持在多个应用中存储和读取数据,相当于数据库。2.1.8 ActivityAndroid 中,Activity 是所有程序的根本,所有程序的流程都运行在Activity 之中,Activity 可以算是开发者遇到的最频繁,也是 Android 当中最基本的模块之一。在 Android 的程序当中,Activity 一般代表手机屏幕的一屏。如果把手机比作一个浏览器,那么 Activity 就相当于一个网页。在Activity 当中可以添加一些 Button、Check box 等控件。可以看到 Activity概念和网页的概念相当类似。 一般一个 Android 应用是由多个 Activity 组成的。这多个 Activity 之间可以进行相互跳转,例如,按下一个 Button 按钮后,可能会跳转到其他的Activity。和网页跳转稍微有些不一样的是,Activity 之间的跳转有可能返回值,例如,从 Activity A 跳转到 Activity B,那么当 Activity B 运行结束的时候,有可能会给 Activity A 一个返回值。这样做在很多时候是相当方便的。 2.1.9 应用程序框架开发人员也可以完全访问核心应用程序所使用的 API 框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统, 其中包括;1. 丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons), 甚至可嵌入的 web 浏览器。2.内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据3.资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。4. 通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。5. 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。2.2 系统维护为了清除系统运行中发生的故障和错误,软、硬件维护人员要对系统进行必要的修改与完善;为了使系统适应用户环境的变化,满足新提出的需要,也要对原系统做些局部的更新,这些工作称为系统维护。 系统维护的任务是改正软件系统在使用过程中发现的隐含错误,扩充在使用过程中用户提出的新的功能及性能要求,其目的是维护软件系统的“正常运作” 。这阶段的文档是软件问题报告和软件修改报告,它记录发现软件错误的情况以及修改软件的过程。3.需求分析3.1 系统功能分析3.3 系统非功能分析包括运行环境、 系统接口、数据要求、主要性能、质量体系(可靠性、可用性、安全等) 、其他需求 等;运行环境:Mac OS X EI Captian 10.11.6系统接口: 1.专题页面:一级页面: /cactus/communityHomePage/getHomePage?city=%E5%85%A8%E5%9B%BD专题: /cactus/sysArticle/getRecommandArticleList?pageIndex=0文章详情:/cactus/sysArticle/getArticleInfo?uId=&aId=文章 ID本周精选:/servlet/SysArticleServlet专题分类:最新:/cactus/sysArticle/getCartArticleList?id=分类ID&pageIndex=0&type=new其他:/cactus/sysArticle/getArticleCartList?id=分类ID2. 发现页面:轮播图:POST 请求参数:Name ValueAction getAdList/servlet/SysAdvertisingServlet轮播图详情页 Html:POST 请求参数:Name Valuetoken F4D845028303F9A466B67EFF9C8C6BD6userId d6e0ce4c-44c2-4b20-b07c-5cf9f21de3a6action getActivityactivity ff1f65c4-01b7-4ccf-b4b2-bf81599010d2/servlet/SysActivityServlet轮播图详情页评论:POST 请求参数:Name Valueindex 1actId ff1f65c4-01b7-4ccf-b4b2-bf81599010d2token F4D845028303F9A466B67EFF9C8C6BD6userId d6e0ce4c-44c2-4b20-b07c-5cf9f21de3a6Action getComListpageSize 5/servlet/SysActivityServlet每日精选:POST 请求参数:Name Valuetype 荐action getJianOrJingListcurrentPageIndex 0pageSize 4/servlet/UserBbsServlet帖子详情:POST 请求参数:Name ValuebbsId c6c89ef3-92c9-4bac-9381-6af00fad620euserId d6e0ce4c-44c2-4b20-b07c-5cf9f21de3a6action getDetail/servlet/UserBbsServlet评论详情:POST 请求参数:Name ValuebbsId c6c89ef3-92c9-4bac-9381-6af00fad620eaction getBbsListcurrentPageIndex 0pageSize 20/servlet/UserCommentServlet3. 发布帖子:获取帖子分类:POST 请求参数:Name Valueaction getCircleType/servlet/UserBbsServlet发布帖子: POST 请求 参数:Name Valuecontent 大家好fileTypes giftype afe78aff-8c30-4beb-a7e2-95d0cbeea3c6token F4D8450

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论