用户登录  |  用户注册
首 页毕业论文毕业设计下载定做交易过程截图支付宝在线支付
当前位置:完美毕业网毕业设计下载计算机毕业设计iOS毕业设计

K12基础教育iOS端App的设计与实现-400

联系方式:点击这里给我发消息QQ212181988
官方主页:www.biye114.com
图片预览: ;论坛转帖
插件情况:
售后服务:请联系客服QQ:212181988
一键分享拿折扣:
  • 好的评价 如果您觉得此软件好,就请您
      0%(0)
  • 差的评价 如果您觉得此软件差,就请您
      0%(0)

软件简介

 随着互联网的发展,软件工程应用于教育领域势必对传统教育方式带来巨大的变革,而已经蓬勃发展的在线教育中的分支移动教育就是目前主要的变革方向之一。而在移动设备市场占有率居高不下的 iPhone 就是开发移动教育 App 最好的平台之一。作者实习期间参与负责的就是一款移动教育 App“优答”的 iOS 端,并且在此期间不断地通过敏捷迭代开发持续更新版本。
本论文的主要内容就是以作者实习期间完成的几个版本迭作所做的工作为基础,采用系统的软件开发方法。首先分析了移动教育方向国内外的研究现状,介绍了 iOS 开发中的关键理论和技术。之后针对目标用户 K12 学生进行了需求分析,以此为基础对 App系统进行了概要设计和详细设计直到具体实现,并完成了对 App 系统的详尽测试以保证开发质量。其中 App 主要的六个功能模块分为拍照搜题模块、同步学习模块、测评做题模块、任务中心模块、分享交流模块和个人管理模块,并且共同构建了一个完整的学习环境。本移动教育 App 给 K12 学生提供了一个全面的自我学习平台,在尽可能利用互联网教育优势的同时在移动设备上提供了能和传统教育方式相媲美的内容展示和做题环境等特性。


关键词:iOS; K12; 移动教育; 优答;

ABSTRACT


ABSTRACT:

With the development of the Internet, the apply of software engineering to education field will certainly reform traditional education patterns. After years of boom in online education field, the mobile education branch is exactly one of the current major direction in this revolution. As one of the most wildly used mobile devices, iPhone is no doubt a platform not to be neglected in App developing. Therefore, the writer chose to be responsible for the iOS client of a mobile education App named “Uda” during internship. And this App is in contiguous iteration of new versions through scrum development at this period.
The main content of this paper is based on the work of several iterated versions of this App. And the structure of this paper is strictly organized with the help of systematic software development method. First it analyzes both national and international studies in this aspect and briefly introduce key theories and technologies in iOS development. Then it explores features and requirements aiming at target K12 students. Next it continues with general and specific design and follows with implementation based on former analysis. Finally, it completes with overall tests to ensure quality in development processes. The whole App is divided into six main functional modules, searching questions by photos, synchronizing study, specific testing, every missions, communication and sharing, and personal management. All those six function modules together contribute to an integrated study environment. This mobile education App focuses on building a comprehensive platform for self learning of K12 students. Furthermore, it puts every effort on providing the same experience of presenting contents and answering questions just like traditional education, and take advantages of online education at the same time.


KEYWORDS:iOS; K12; Mobile Education; Uda;

目 录

中文摘要 I
ABSTRACT II
目 录 III
1 引言 1
1.1 研究背景 1
1.2 国内外发展现状 2
1.3 论文主要工作 3
1.4 论文组织结构 3
2 相关理论技术 5
2.1 iOS 开发架构 5
2.2 Objective-C 简介 6
2.3 iOS 自动布局机制 7
3 需求分析 9
3.1 用户特征分析 9
3.2 功能性需求分析 9
3.2.1 快速答疑需求 9
3.2.2 高效学习需求 10
3.2.3 反馈交流需求 12
3.2.4 个人管理需求 14
3.3 非功能性需求分析 14
4 概要设计 16
4.1 系统功能结构 16
4.2 系统整体架构 18
4.3 数据接口设计 21
5 详细设计与实现 22
5.1 拍照搜题模块 22
5.1.1 类图设计 22
5.1.2 数据模型 23
5.1.3 界面展示 24
5.2 同步学习模块 25
5.2.1 类图设计 25
5.2.2 数据模型 26
5.2.3 富文本处理 27
5.2.4 界面展示 28
5.3 测评做题模块 29
5.3.1 类图设计 30
5.3.2 数据模型 30
5.3.3 测评做题流程 31
5.3.4 界面展示 32
5.4 任务中心模块 34
5.4.1 类图设计 35
5.4.2 数据模型 35
5.4.3 完成任务流程 36
5.4.4 界面展示 37
5.5 分享交流模块 38
5.5.1 类图设计 38
5.5.2 数据模型 38
5.5.3 界面展示 39
5.6 个人管理模块 39
5.6.1 类图设计 40
5.6.2 数据模型 41
5.6.3 界面展示 42
6 APP 系统测试 43
6.1 功能性测试 43
6.2 非功能性测试 44
7 总结与展望 46
参考文献 48
致 谢 49


1 引言

随着软件工程逐渐应用于教育领域,时至今日在线教育已然蓬勃发展,依赖于互联网的教育方式还在探寻着更多样化的可能性,本论文便是着眼于此,设计并实现了一款针对 K12 基础教育领域的移动教育 App。本章主要介绍了本项目的研究背景和目前国内外移动教育 App 的研究和发展现状,接着是本论文在此基础上做的主要工作和本论文的组织结构。

1.1 研究背景

软件工程应用于传统领域是互联网时代变革人们生活方式的必经之路,在中国影响着 2.6 亿学生,52 万所学校,1600 万教师,3 亿多的家长的教育领域就是其中之一。传统的教育模式已经延续了近千年,由教师使用黑板向一群学生面对面沟通以传授知识的方式固然有其存在的原因和优势,但不可否认的是传统教育模式受制于落后的物理条件限制也存在着固有缺陷:教师和学生必须花费时间和精力亲临现场、教师数量不足导致每位学生只能得到很少的教育资源、在课后学生很难找到自行提高或者解决疑惑的途径等等。因此随着互联网时代的到来,结合互联网优势的新型教育模式已经在逐渐成形。目前基于互联网的在线教育已经在蓬勃发展。各界媒体都称 2013 年为“中国在线教育元年”,经过一年的发展,在线教育领域内各种新产品、对原有产品的完善、从线下转线上的努力等仍然层出不穷,很多原本不太关注教育的互联网企业也开始进军在线教育领域,很多传统线下教育机构也开始发展线上业务[1]。
与此同时,随着移动设备的不断更新换代与移动互联网的成熟覆盖,用户逐渐养成了使用更便捷的移动设备进行社交、阅读、娱乐的习惯,移动教育作为在线教育的一大分支也逐渐萌芽。2013 年第二季度智能手机的销量第一次超过了功能机,其中亚太地区智能机的增长率高达 74.1%。另外据工信部数据显示,2013 年 3 月,移动互联网用户净增 1394.1 万户,总数达到 8.17 亿户,其中手机上网用户占 96.4%[2]。而在这 8.17 亿互联网用户当中,与教育关系最密切并且很大程度只依赖移动设备接入互联网的特征用户就是全国各地的初高中学生。目前教育领域普遍采用美国、加拿大对这一类学生的分类简称,K12(Kindergarten to 12-th grade,从幼儿园到十二年级)来指代国内处于基础教育阶段的初高中学生。据第三方机构 IT 桔子统计:2013 年,平均每 24 小时就会诞生
2.6 家在线教育公司。人们之所以“疯狂”,是因为这块市场蛋糕规模巨大。有数据预测:
2014 年互联网教育市场将突破 1300 亿元规模。其中“K12”(小学一年级到高三)和职业教育市场最具潜力,预计到 2015 年,其市场规模将超过 1600 亿元[3]。从中不难发现

K12 学生们的学习和生活特征:学习占用生活的很大比例时间、主要是用零碎时间利用移动设备上网、对于课外学习辅导有强烈的需求,决定了移动教育类产品在前景光明的
K12 基础教育领域存在着巨大的市场潜力。
而目前国内移动设备的平台份额几乎完全被 Android 和 iPhone 占有,其余平台所占份额可忽略不计。而 iOS 出色的用户体验、完整的生态圈和为开发者提供的良好的开发环境使得iPhone 自Apple 公司发布以来就在全世界特别是中国俘获了一大批忠实用户的同时成功吸引了为数众多的开发者为其提供优质应用,并且在之后的更新换代中不断创新引领智能手机潮流。因此在 iOS 平台上以 App 的形式发布移动教育类产品是成为了移动产品打开市场必不可少的途径之一。

1.2 国内外发展现状

作为立国之本的教育领域一直是各国致力发展的重中之重,尤其是在这么一个互联网浪潮席卷世界,技术变革教育方式的时代。在以技术为导向的美国,自 20 世纪 80 年代以计算机和互联网为核心的现代信息技术相比于传统教育模式突显出各方面的优势以来,技术一直在美国的教育领域扮演着不可或缺的角色。美国教育技术办公室的 Richard Culatta 指出由于移动设备的普及,使得学习者、教育者、家长以及其他利益相关者对于高质量教育App 的需求剧增, 然而许多现有的教育App 不能满足教育中最迫切的需求[4]。面对该问题,美国教育部认为开发者需要系统的移动教育 App 的开发流程以使此类 App 的开发更具有实际意义。而此类 App 的开发又很难借鉴其他领域,因为如何解决其面向得特定使用者比如 K12 学生的实际问题并没有前车之鉴。为了开发实际有效的移动教育类 App,应用最先进的互联网技术去解决传统教育中的固有缺陷,2015年 4 月,美国教育部教育技术办公室(Office of Educational Technology)发布了《教育技术开发人员指南》,这是美国教育部发布的第一份为独立开发者或者创业公司开发教育类技术产品提供的指南。
然而面对中美之间仍然存在的技术差距和不同国情下的大相径庭的教育模式,该指南并不完全适用中国。目前国内相关教育领域有的还只是国家对于互联网变革的宽泛的鼓励态度,而国内相关教育领域的互联网市场还处在野蛮生长的阶段。国内目前知名度比较高的移动教育 App 有“作业帮”、“学霸君”、“猿题库”等等,各自依赖自己的特色占据了一定的市场份额。比如“猿题库”主打的“小猿搜题”是通过学生用手机给题目拍照上传,系统从已有题库中智能匹配出对应的或者类似的题目并提供解析。而出身百度的“作业帮”则是以“百度知道”平台为基础,将 UGC(User Generated Content,用户生成内容)一直到了移动平台上。简单来说,学生提交问题之后,系统会判断图片是否清晰,是否存在“作弊”行为,通过审核的问题会迅速按照年级和学科,迅速推送给

相关的解题达人,按照流程回答完毕之后题目就会从推送列表消失,以避免答题资源的浪费[5]。虽然各款移动教育 App 各有特色,但是占据的市场份额相对于 K12 学生用户的体量而言仍是杯水车薪,市场上并未出现一款能够充分让广大 K12 学生受益的移动教育 App,因此在这方面的研究和尝试仍是十分必要的。

1.3 论文主要工作

本论文的主要工作内容是在具备软件工程专业的基础知识和自主学习 OS X 系统、 Objective-C 语言和 iOS 开发框架的基础上,作者在实习公司期间经历了从需求分析到
App 设计与实现再到测试优化的过程,参与设计并实现的一款针对目前国内 K12 基础教育领域的基于 iOS 平台的移动教育 App。并且之后还在不断的迭代开发新版本中继续优化 App 并添加新功能。
具体应完成的工作包括:
1. 需求分析:结合移动学习理论对 K12 学生进行调研,并分析市场上已有的同类产品,将功能性需求通过用例图的形式描述出来,以展现目标用户和需求之间的关系,以及对非功能性需求的分析。
2. 概要与详细设计:在确定核心功能之后,使用总体架构图来描述 App 的整体架构,并使用类图、时序图等工具图表来详细说明每一个功能模块。
3. 实现与测试:按照上述架构设计规范实现 App 的所有功能模块,并进行联网测试、界面交互测试、性能测试等全面的测试,完成 Bug 修复和性能调优。
要解决的重难点问题在于:如何在移动端完整并舒适地展示可能带有公式符号等的教材知识点图文内容,以及如何设计良好并高效的界面和交互能让学生在移动端轻松地完成做题练习并得到答案反馈这一复杂过程,最后是如何通过 App 来完成帮助教师对学生的评估能力和激励学习的作用。

1.4 论文组织结构

第一章:引言概括了目前互联网正在变革传统教育领域的背景和发展趋势,对比国内外在 K12 教育领域内移动教育 App 的政策和市场情况现状,简要阐述了本论文的主要工作和重难点问题,以及本论文的组织架构。
第二章:相关理论技术简要介绍了iOS 系统的开发框架、用于iOS 开发的Objective-C
语言和 iOS 特有的自动布局机制,确定了 App 开发的理论和技术基础。
第三章:需求分析部分先是简要分析了目标用户也就是 K12 学生的特征,然后结合特征分析了本款移动教育 App 的功能性需求并使用了各个功能模块的用例图来描述,以

及 App 的非功能性需求。
第四章:概要设计部分完成了从系统功能结构、系统整体结构和数据接口这三个维度对于系统的整体设计。分别简要阐明了系统各个功能模块负责的业务、系统所采用的架构模式以及 App 从服务端获取数据模型的方式。
第五章;详细设计与实现章节详细分析了每个功能模块的主要类的构造和类之间的交互并应以类图表示出来,接着对类图中用到的数据模型结构做了进一步的讲解,最后是通过 App 主要功能界面的截图来展示实际完成情况。部分重点功能模块还会对技术难点和复杂业务逻辑进行进一步分析。
第六章:App 系统测试部分则以之前的需求分析为基础对功能性需求和非功能性需求分别进行采用了测试用例进行了测试,比较了实际得到的结果和预期,保证了整个迭代开发周期的产出质量。
第七章:总结了 App 的整个迭代开发过程以及相应的本论文撰写记录过程中在解决问题时的收获,分析了目前完成的 App 版本还存在的不足和将来可以努力的方向。

2 相关理论技术

本章是用于介绍本款移动教育 App 在开发过程中的理论和技术基础。首先是 App所依赖的 iOS 系统的开发框架,接着是在 iOS 系统中用于开发 App 的主要编程语言 Objective-C 的一些特性,最后是 iOS 系统上特有的用于解决多屏幕尺寸等问题的自动布局机制。

2.1 iOS 开发架构

iOS 是 Apple 公司推出的运行于自家发布的 iPhone、iPad 和 iPod Touch 产品线上的操作系统,管理着设备硬件资源并提供开发 iOS App 的工具,同时还提供系统原生 App比如通讯录、邮件和 Safari 浏览器等的标准服务。其中 iOS SDK 包含了开发、安装和测试 App 所需要的一整套接口和工具,通过使用 iOS 的系统框架和 Objective-C 来实现[6]。而 iOS 的开发环境集成度非常之高,只需要在一台 OS X 系统上从官方 App Store 下载
Xcode,安装完成之后就已经自动部署好了最新版本的 iOS SDK 和对应的各型号的 iOS模拟器,新建一个项目就能直接在模拟器上运行并且测试,无需任何手动配置而且速度并不逊于真机。而且自 Xcode 7.0 之后的版本无需一年 99 美元的开发者账户,只要自动解决证书问题就可以在自己的 iPhone 或者 iPad 真实设备上进行调试。

图 2-1 iOS 层级架构

1. Cocoa 触摸层(Cocoa Touch Layer):这一层的关键框架决定了 App 的用户界面,同时也提供基本的机构和必需的多线程、触摸输入、通知推送和高层的系统服务接口,是整个 App 开发的切入口。其中最基本也是最先会用到的就是 UIKit 框架,该框架管理者 App 的生命周期,提供最基本的视图实现、触摸事件处理、标准控件的输入

输出等等。而一些其他的框架比如 MapKit 和 App Extension 则分别提供高层的系统服务接口比如在App 内展示并管理一个简单的地图或分享App 内的内容到邮件或者绑定的 Facebook 帐号。
2. 媒体层(Media Layer):这一层则是专注于更底层的图形乃至于动画绘制,声音播放和视频流控制,用于打造一个更多媒体化的 App,毕竟一个 App 最先能留住用户的肯定是交互体验。其中 Core Graphics 是 Apple 推荐的用于取代跨平台图形绘制接口 Open GL 的框架,当然 Open GL 本身也是依然支持的,用于实现标准控件无法达到的自定义效果。然后是 Core Animation 框架,用于实现控件的动画效果,从简单的位移、放缩到更复杂的动画等等,在可接受的性能消耗下是让 App 脱颖而出的一大关键。
3. 核心服务层(Core Services):这一层就是更底层的支撑框架了。比如 Foundation 框架,提供各种基本类型数据比如 String 和 Date,管理多线程和 App 之间的沟通等等。以及 Core Data 框架提供应用内的轻量级的 SQLite 数据库,只需要简单的步骤和少量代码就能实现数据存取和持久化,相比于手动管理数据可节约大概 70%的工作量。还有提供了安全便捷的 App 内购接口。
4. 核心系统层(Core OS):这是系统最底层,一般不会直接调用而是给上面更高层的功能实现提供借口。当然,有时候需要处理更底层的安全问题或者需要和系统硬件打交道还是会偶尔使用到的。主要有蓝牙框架提供基本的蓝牙扫面和连接或断开信息,以及安全框架中 App 需要涉及到系统持有的钥匙串等加密信息以及证书等问题。

2.2 Objective-C 简介

Objective-C 是一种通用、高级和面向对象的编程语言。它扩展了标准的 ANSI C 编程语言,将 Smalltalk 式的消息传递机制加入到ANSI C 中。Apple 公司在开发NeXTSTEP操作系统时使用了 Objective-C,之后被 OS X 和 iOS 继承下来。虽然目前 Apple 公司更推荐 Swift,但是作为资格更老的 Objective-C 仍是 OS X 和 iOS 系统及相关的 Cocoa 框架的主要编程语言。一般的面向对象系统都耗用极大的 VM 执行时间,甚至超过了整个系统的运作时间,但是 Objective-C 克服了这个缺点,并且由于它本身是由 C 写成的一个很小的运行库,所以一般情况下写出的程序也不会比其原始代码多出很多,因此几乎不会需要太多额外空间[7]。
Apple 公司选择 Objective-C 作为主力开发语言首先是因为它是一个面向对象的语言,而 Cocoa 框架中的很多功能只能通过面向对象的技术来呈现。其次是因为它是标准
C 语言的一个超集,现存的 C 程序不需要再次开发就能够使用 Cocoa 框架,并且开发者可以在 Objective-C 中使用 C 的所有特性,甚至还可以直接调用用 C/C++编写的动态库

和静态库进行混合开发。其实 Objective-C 虽然看起来语法复杂但本质上是一种简洁的语言,对于初学者来说可能容易被抽象的设计阻碍学习进程,但是对于熟悉面向对象编程的程序员这其实是一门结构良好并易于上手的语言。
之后在2006 年7 月Apple 公司举办的WWDC 大会上宣布了Objective-C 2.0 的发布,其增加了现代的垃圾收集,语法改进,运行时性能改进以及 64 位支持的特性。其中最重要的也就是解决了之前开发者比较头疼的内存管理问题的垃圾收集,也就是内存管理机制从 MRC(Manual Reference Counting)到 ARC(Automatic Reference Counting)的改进。简单来说,对于一个变量,每当有一个“强引用”指向它时计数器就加一,每当一个“强引用”的指针被释放就加一,计数器归零就自动释放该变量并回收内存空间,此时若还有“弱引用”指向这个已经被释放的变量就返回 nil 代表变量已经不存在,这样一来就不需要手动释放变量了。

2.3 iOS 自动布局机制

一款 iOS App 由许多相对独立的视图控件构成,这些视图控件负责信息的输入输出并同时带有动画之类的视觉效果, 在实际使用中可能是纯视图( UIView )、按钮
(UIButton)和图像(UIImageView)等等。而这些视图控件的关系由两个基本的关系构成:兄弟关系和父子关系,整个视图框架其实就是一种树形结构。而在 iOS 开发中有两种主要的布局方式,开发者可以完全使用代码绘制用户界面,或者使用 iOS 开发工具中提供的自动布局(Auto Layout)[8]。传统的方法就是手动在代码中确定每一个子视图在父视图中的坐标位置,计算完成之后在代码中设置好子视图的高度和宽度,这样整个树形结构中的所有视图控件的位置和尺寸就都是确定的了。可是当父视图的位置或者尺寸发生变化比如屏幕旋转或者同一款 App 安装在目前市场上不同尺寸的 iPhone 上时,这种方法就会出现灵活性不足以及维护成本极大等问题。因此我们就需要用到 Apple 公司在发布不同尺寸 iPhone 之后给开发者增加的自动布局机制了。代码布局和自动布局示意图见图 2-2 和图 2-3:

下载地址

点击此处→注册会员上传设计赚钱
以上是大纲和介绍,如需要完整的资料请在线购买.

软件评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

下载说明

* 本站所有资料均已审核通过,内容原创保密,标准格式,质量保证
* 无需注册,点击在线购买后即可获取该套毕业设计(论文)完整
* 支付后请联系在线客服QQ:212181988发送资料
  • 官方微信