收藏 分销(赏)

基于objective-C的项目设计与实-现毕业论文.doc

上传人:可**** 文档编号:2663852 上传时间:2024-06-04 格式:DOC 页数:27 大小:621.50KB
下载 相关 举报
基于objective-C的项目设计与实-现毕业论文.doc_第1页
第1页 / 共27页
基于objective-C的项目设计与实-现毕业论文.doc_第2页
第2页 / 共27页
基于objective-C的项目设计与实-现毕业论文.doc_第3页
第3页 / 共27页
基于objective-C的项目设计与实-现毕业论文.doc_第4页
第4页 / 共27页
基于objective-C的项目设计与实-现毕业论文.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、西安文理学院学士学位论文(设计)题 目基于objective-C的项目设计与实现爆囧趣事作 者杨洛洛院 (系)信息工程学院专业班级软件工程4班学 号1402120334指导教师朱曦答辩日期年 月 日西安文理学院毕业论文(设计)诚信责任书本人郑重声明:所呈交的毕业论文(设计),是本人在导师的指导下独立进行研究所取得的成果。毕业论文(设计)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人毕业论文(设计)与资料若有

2、不实,愿意承担一切相关的法律责任。 论文作者签名: 杨洛洛 年 月 日基于objective-c的项目设计与开发爆囧趣事摘要:随着iPhone手机以及移动互联网的快速发展,iPhone手机应用以它简洁的用户操作及美观的用户界面,成为了当前移动互联网应用的主流部分。同时跟随着手机网民在中国全部网民的比例的不断上升,越来越多的企业以及开发者将他们的眼光关注到了手机移动应用开发。iOS是苹果公司独立开发的移动操作系统。其中OS代表了系统,而i则涵盖了iPad,iPhone,iPod touch等等苹果公司很具有代表性的产品。自从苹果产品进入国内市场后便一直引发国人的热爱,销售量也是逐年的增长,这也为

3、iOS开发奠定了坚实的基础。iOS具有很多的优点被大众所喜爱。在设计方面,从你打开设备的那一刻,iOS就能给你提供内置的安全性,它通过底层的硬件和固件功能来防止恶意软件以及病毒入侵;在安全方面,iOS通过高层级的OS功能来保护用户和企业数据的安全性,即使用户的设备丢失,他人也无法获得用户的隐私;在性能方面,iOS具有流畅,稳定的特点来提升用户体验。在外观方面,用户能够从苹果设备的页面感受到苹果崇尚的简约之美。本文主要介绍基于objective-C的项目设计与开发爆囧趣事。关键词:iOS;爆囧趣事;手机应用;苹果;娱乐Explosion embarrassed storiesAbstract:W

4、ith the rapid popularization of smart phones in the domestic as well as the rapid development of mobile Internet, mobile applications for its simple, quick and easy to operate the advantages of fast by the welcome of people, has become a mainstream part of the current mobile Internet.At the same tim

5、e with the mobile Internet users in the proportion of all Internet users in China is rising, more and more companies and developers will have their eyes on the mobile application development.iOS is independently developed by apples mobile operating system.Which OS represents the system, while I cove

6、r the iPhone, tablet, iPod touch, and so on apple is representative of the product.Since apple products into the domestic market has led to a love of people, sales volume is growing year by year, it also laid a solid foundation for iOS development.The advantages of iOS has many is enjoyed by the mas

7、ses.In terms of design, from the moment you open the device, iOS can provide you with the built-in security, it through the underlying hardware and firmware function to prevent malicious software and virus invasion;In terms of safety, iOS through high-level OS function to protect the user and the se

8、curity of enterprise data, even if the users device is missing, others also dont have access to user privacy;In terms of performance, iOS has a smooth, stable characteristics to improve the user experience.In terms of appearance, the user can from the apple device page feel apple advocate contracted

9、 beauty.Key Word:iOS;Explosion embarrassed stories;iPhone目录摘要1Abstract:2第一章41.1 绪论41.2 开发的背景41.3 开发的目的及意义4第二章 技术支持42.1 基础控件及常用方法42.2 KVC简介及应用实例62.3 多线程82.4 沙盒操作及数据库142.5 工程规范18第三章 需求分析193.1 系统目标193.2 系统用例分析203.2.1 确定参与者203.2.2 确定用例203.2.3 构建用例模型203.2.4 用例描述21第四章 系统详细设计224.1基于iOS平台爆囧趣事的总体设计224.1.1系统设

10、计准则224.1.2系统功能模块设计234.1.3系统体系结构23第五章 系统实现245.1 App实现与运行环境245.1.1 App实现环境和工具245.1.2 App运行环境24第六章 系统测试与性能分析246.1 功能整体测试246.2 功能模块测试24致 谢26基于objective-c的项目设计与开发爆囧趣事第一章 1.1 绪论随着社会的进步和发展,人们生活节奏渐渐加快,但是工作压力也与日俱增。人们每天重复着上班-下班-上班的机械行为,而丰富人们的内心情感,降低人们的工作压力,让人每天多一点笑容,将是爆囧趣事这款应用最大的特点。搞笑的段子、最新的八卦、娱乐圈的那些事、世界各地趣事趣

11、闻让你欢乐不停;美女视频、直播、音乐、劲舞,为您带来一场绝美的视听盛宴;漫画、囧图、动图、神评,打开你性格中DB的一面;分享你的欢乐,分享这里的逗趣视频、囧图,让你的朋友圈更热闹,带给你身边的朋友亲人更多的正能量。更真实、更欢乐、更新更美的体验等你尊享。你还在宅吗?还在郁闷吗?还在为工作上的事烦心吗?选择爆囧吧!我相信,能带给你快乐、带给你逗趣的应用千千万万,但是,爆囧趣事有它们有的、有它们没有的。他们没有的这里有,他们有的这里全,它们逗的这里更逗。 1.2 开发的背景 社会高速发展,人们生活条件越来越好,随之而来的是日益繁重的工作。在这种情况下,人们也就缺乏自我放松的时间,精力大部分被工作及

12、生活中的琐事所占据,缺乏对自我的释放。如此紧绷的生活节奏,急需一种能随时随地带给人们欢乐的事物来调剂,爆囧趣事便是最好的选择。 1.3 开发的目的及意义 舒缓人们的工作生活压力,将最逗的、最美的内容收集起来呈现给大家,让你单调的生活变得充实,让你随时随地都能享受到轻松欢乐的逗趣内容。 我们要做出做好的操作系统,最美对的展示界面,最全的实时信息,最优的用户体验。集合段子、视频、音频、漫画、动图、囧图的信息实时更新的app。具有本地及第三方QQ、微信登录,以及分享等功能。 第二章 技术支持 2.1 基础控件及常用方法1. UIView UIView是我们设计App时展现在用户面前的,使用户对app

13、的最直观的了解,所以我们在设计时一定着重对View进行优化,将view做到最好。View是用户界面的展示,我们整个App的界面都是使用它来展示给用户的,所以布局、颜色的就显得尤为重要。4. UITableview 5. NSString 2.2 KVC简介及应用实例/* Publish *publish = Publish alloc init; / 通过KVC方式赋值 (可以给私有属性赋值),如果该属性有set方法,赋值的时候直接调的是set方法,如果没有set方法,则是直接给实例变量赋值 / 通过keyPath得到平均值 mArr valueForKeyPath:avg.price; /

14、通过keyPath得到全部的书名 NSArray *nameArr = mArr valueForKeyPath:bookName;*/ _myBook = Book alloc init; / 通过KVC方式将字典快速转模型 / KVO 为myBook添加监听者,用来观察price的变化,当价格有变化的时候,监听者能及时得到最新的值 / 这里所说的变化是值通过set方法或者KVC的方式为实例变量赋值,监听者才能检测到。 /* * param observer 监听者(观察者),来观察myBook中属性的变化 * param keyPath myBook的price属性的路径,就是属性名称 *

15、 param options 设置,用来设置我们要观察的属性发生何种变化,枚举值,一般都是-optionsNew,当有新值的时候出发回调方法 * param context 上下文,一般都是用来给回调方法中传值,不需要传值给nil */2.3 多线程- (void)rightAction:(NSString *)str / 如果子线程是我们手动开辟的,就需要我们来管理它运行所产生的资源的回收 autoreleasepool 打印:(当前线程 %, NSThread currentThread); double sum = 0; for (int i = 0; i 该队列的标签 descript

16、ion# * param attr# 该队列的类型 description# * return 一个队列 */ dispatch_queue_t serialQueue = dispatch_queue_create(串行, DISPATCH_QUEUE_SERIAL); / 给该队列添加事件 /* * param queue# 该事件所在的队列 description# * param void 该事件所要做的处理 */ dispatch_async(serialQueue, 打印:(第一个线程 - %, NSThread currentThread); ); dispatch_async(

17、serialQueue, 打印:(第二个线程 - %, NSThread currentThread); ); dispatch_async(serialQueue, 打印:(第三个线程 - %, NSThread currentThread); ); 打印:(执行完了);/ GCD的并行队列 / 此函数会阻塞当前线程(上面的执行完才会执行它下面的),对主线程无影响 dispatch_barrier_async(concurrentQueue, 打印:(正在执行的执行 -%, NSThread currentThread); ); dispatch_async(concurrentQueue,

18、 打印:(第三个线程 - %, NSThread currentThread); );/ 上面都是我们自主创建的队列,一般使用中,我们都是使用系统提供的队列,系统提供的队列有全局队列,在此队列中可以添加多个异步事件,并发执行- (void)globalQueue /* * 使用系统提供的队列 * param identifier# 该全局队列的优先级 description# * param flags# 系统为了后面拓展使用,暂时没用,给0就可以 description# * return 一个系统队列 */ 2.4 沙盒操作及数据库沙盒操作/ 得到沙盒主目录数据库操作/ 创建数据库文件路径

19、/ 打开或者创建数据库/ 操作数据库的方法(增、删、改)/ 数据库查询的方法注意:const unsigned char *value = sqlite3_column_text(stament, i); NSString *strValue = NSString stringWithCString:(const char*)value encoding:NSUTF8StringEncoding; mDic setObject:strValue forKey:keyString; 2.5 工程规范Application(应用程序)存放Appdelegate,Appdelegate是系统内外部的

20、接口,独立分开BaseClass(基本父类)一些基本父类,包括父ViewController和一些公用顶层自定义父类CodeClass (代码)以MVC架构为基础将各大页面分类以及Common文件夹,文件夹内分为Model、View、ControllerModel存储我们的model类View存储我们的小控件Controller存放我们的视图控制器Common文件夹内存储不同页面的公共页面DataBase (数据库文件操作)见名知意,数据库类独立出来存放至该文件夹Encapsulated-NetWork(简称EnNewWork)网络请求作为独立功能单独放出来,无论是第三方也好,自己封装的类也好

21、,都存储至该文件夹内FrameWork(系统库)将我们所需的系统类库添加至此globel(全局单例)功能性的单例类存储至此文件夹例如我们的音乐播放类MusicShareManager例如我们的歌词解析类LryJsonManager例如我们的歌曲下载类MusicDownloadManagerHelper(辅助类)比较抽象,例如我们要做一个时间戳的处理类,可以放至此文件夹内Macro(宏定义)在我们的项目当中我们要引入一个新的技术叫做header,头文件,我们可以创建四个头文件分别存放不同的东西AppHeader(宏定义,例如 kWhite UIColor whiteColor)IMPHeader

22、(头文件,例如Person.h)KeyHeader(第三方平台的key宏定义)UrlHeader(我们的接口数据宏)使用Header文件最好配合pch文件一起使用pch导入太多头文件会变卡TheThird(第三方)不用过多解释Resource(资源)例如我们的图片文件夹,全部存放至此,比较清晰有条理第三章 需求分析 3.1 系统目标随着社会科技的发展,智能手机、pad、touch等终端设备已经越来越普及,人们正在越来越普遍的利用闲暇时间,运用各种设备消磨时间。每一种终端设备都有着不同的功能特性,在不同的使用场景下,这些都会影响用户体验和用户需求及用户使用效果。互联网产品设计领域的竞争,已经并非

23、单单依赖于某个产品的功能特性,而是要综合考虑如何为同一产品的的在不同终端平台上应用做出具有不同特性的独特设计,使跨平台应用的用户体验在整体、统一的基础上,更加符合当前的平台特性。爆囧趣事是基于iOS端的应用,它适用于iOS7之后的系统。目前市场上存在很多类似的应用,但大多数内容同质化现象严重,无法形成自己的特色,多个应用用户重合度极高,用户对于单个应用的粘合度低。究其根本原因是应用无法满足不同用户的不同需求,不同用户在体验方面是有不同的想法的。因此,我在开发过程中,以不同用户的不同体验以及对应用程序界面设计需求为出发点,追求用户体验的简洁方面美观大方,将挖掘出的不同用户的不同需求,根据用户需求

24、构建相应的界面内容目标和界面设计目标。 3.2 系统用例分析 3.2.1 确定参与者应用是独立开发,开发人员杨洛洛。 3.2.2 确定用例系统的将应用分为三大模块,第一个模块精华页面,分四个小模块段子、视频、美女、社会。段子主要包含搞笑、恶搞、冷笑话等内容;视频包含近期网络流传较广的经典搞笑视频集合;美女页面包含微博上转发量较多、各类直播平台上比较火的美女直播视频;社会页面包含世界各地新闻事件、八卦娱乐。第二个模块囧图页面,分四个小模块漫画、囧图、动图、萌图,收集网络上各类趣图,使用瀑布流展现。第三个模块我的页面,包含了登录、注册、找回密码、收藏、设置等内容,用户可以使用QQ账号登录,也可以在

25、本地注册账号登录,登录成功后可以进行收藏、分享等操作。 3.2.3 构建用例模型系统用例模型图 3.2.4 用例描述用例一:用例名称:用户登录参与者:用户前置条件:系统正常用户能随意操作进入系统后置条件:系统保存并更新用户信息基本路径:1. 用户进入用户登录页面 2. 选择本地登录或者QQ登录(选择本地登录,首次登录需先注册账号) 3. 输入账号密码进行登录 4. 显示登录成功备选流程:当登录失败,弹出提示框提示登录失败及失败原因限制条件:本地登录首次必须注册用例二:用例名称:修改密码用例描述:系统更新用户信息前置条件:系统正常,用户能随意操作进入修改密码界面;用户根据提示输入正确的信息基本路

26、径:1. 用户进入修改密码界面 2. 根据提示输入正确信息 3. 输入新密码,点击确定 4. 显示修改成功备选流程:提示信息输入错误,密码修改失败,弹出提示框提示失败原因限制条件:用户必须输入正确提示信息第四章 系统详细设计 4.1基于iOS平台爆囧趣事的总体设计 4.1.1系统设计准则移动互联网应用的设计与传统的网页开发有诸多的不同之处,如独特的交互体验、不同光线下的视觉效果以及移动终端的资源有限。这些都考验着开发者的技术。1. 观察并不准确呈现在用户面前的总是并不真实的一面。尤其是在App的表现力和整体的适应性方面的设计。用户想要的是一款快捷高速的App。你可以通过很多方法来实现。移动设备

27、硬件的快速发展可以帮助你实现快捷这一目标。但是这里有另外的一个问题阻碍,那就是网络问题,硬件设备可以说在性能方面差异不是很大,但是网络的差异样确实非常大的。有线和有线、无线和有线、无线和无线,不同的网络条件下网速差异会非常大。你必须要越过这些障碍。即使网络状况不佳.你也要提供用户以更直观、快速的界面。在这种情况下,我们必须要营造这样一种效果,也可以说是为了用户更好的体验应用的一种善意的欺骗,就是用户的不用操作所带来不同的效果,比如点击、轻拍、滑动等,尽管实际上在操作过程中还需要一定的反应时间,但是在用户自己的屏幕上看来,要显示他们所需服务就方便、迅速的完成了。这可以通过背景图和控制屏幕显示优先

28、级等手段达成。比如,一封含有很大附件的邮件,他在发送的时候一定需要很长的时间,但是只要用户单击了发送按钮,邮件App就要显示信息已发送,我们要做的是当用户点击了发送按钮的时候,我们的邮件App就已经显示邮件已发送,虽然实际上来说,含有附件的邮件并没有发送过去,在后台还在持续缓慢的上传中,但是这样却能大大减少用户的等待时间,从而提高用户的满意度。2.简化安装、无需注册提高使用效率研究表明,智能手机用户每个月大概下载5-6个App。24%的用户仅仅打开一次,然后就再也不用了。45%的用户打开的次数少于12次。因此,任何用户如果对App不是很感冒,那么初次使用后的第4次,或者第5次,就会抛弃这款Ap

29、p了。这里有两种方法解决这个问题。办法一:可以允许用户注册,然后和他的社交网络比如QQ、微信等紧密联系。这样就大大降低了用户使用我们的app是所需要的时间以及难度,大大提升了用户的用户体验,但是这样的缺点也很明显,我们的app如果有收藏等数据保存功能时,数据是保存的当前客户端的,这样,当用户换个手机时,重新进入app,则以前保存的数据是不存在的。办法二恰恰相反,保持App尽可能的简洁,安装之后即可使用,本机适用具有数据缓存功能,不需要。数据在做了云端存储的时候,如果用户在登录情况下保存了数据活收藏了内用,内容是存放在数据库中的,这样当用户在其他手机重新用自己的帐号登录的时候,数据是可以从数据库

30、中找到的。 3.注意手机屏幕的大小、操作方式、精确度开发期间要根据不同的手机屏幕大小以及操作方式、精确度进行不同的适配,比如图片大小、视频播放界面大小等。一个真正合格且优秀的开发人员都具有丰富的app开发的经验,但是仅仅限于桌面环境。他们通常都用PC工作的方法可能并不适用于手机屏幕。不仅是手机的触摸屏略小,而且要考虑屏幕的触碰操作。触碰可不像电脑鼠标点击那样准确,这一点在开发过程中一定要考虑到。4.注重敲击体验用户在实际操作中,通过点击、滑动等方式来进行输入,已经变成了用户体验的一个大的方向。一个App中如果在使用过程中需要用户点击的次数过多,那么就会大大的降低用户对该App的积极参与度与喜爱

31、成都。这个特性在逻辑上、数据上都曾经证明过。 4.1.2系统功能模块设计应用分为三个大的模块,第一个模块是精华页面,包含四个小模块段子、视频、美女、社会;第二个模块是囧图页面,包含四个小模块漫画、囧图、动图、萌图;第三个模块是我的页面,包含登录、注册、找回密码及收藏、设置等内容。用户在已登录情况下,在浏览爆笑及囧图界面可以进行收藏及分享,收藏内容可以在我的界面中我的收藏里面查看,分享内容可以支持分享到QQ及微信,在分享的同时可以发表自己的看法。 4.1.3系统体系结构采用C/S结构,即Client/Sever(客户机/服务器)结构,此结构把数据库中的内容存放在远程的服务器上,而在客户机上只可以

32、安装相对应的应用软件,大大节省了用户手机等终端的负担。C/S结构软件一般采用的是两层结构:其分布结构如下图所示:系统体系结构图第五章 系统实现 5.1 App实现与运行环境5.1.1 App实现环境和工具在MAX OS安装Xcode,配置相关环境,使用Xcode实现编辑、编译及运行工作。程序编辑完成,用iTouch运行,进行真机模拟。5.1.2 App运行环境使用Xcode7.2实现编译运行工作。第六章 系统测试与性能分析 6.1 功能整体测试首先在模拟器上进行模拟测试,检查各个界面跳转关系是否正确,现查UI显示是否正确合理,web显示是检查跳转关系是否合理。保证程序的所有功能都被实现。在确定

33、程序在模拟器正常运行的情况下最后使用真机来进行功能的测试,目的是在实际的运行环境中我们可能会发现模拟器上无法发现的bug,然后不断的调试和修改来解决出现的问题。 6.2 功能模块测试对所有模块进行测试,检查是否有控件功能未实现,检车界面跳转关系是否合理,检查UI显示是否出现错误,保证程序的所有功能都被实现。在确定程序在模拟器正常运行的情况下最后使用真机来进行功能的测试,目的是在实际的运行环境中我们可能会发现模拟器上无法发现的bug,然后不断的调试和修改来解决出现的问题。致 谢完成基于objective-C的项目设计与实现爆囧趣事,我更深刻认识到一款应用从开发开始到结束的所有流程。也获得了许多经

34、验:1. 学会通过研究他人的代码来实现并优化自己需要的功能,通过研究一些编程大神的代码,我们能体会到他们的设计思想以及逻辑实现,然后弃其糟粕取其精华,结合我们自己的设计方式及设计理念,将之转化成我们自己的知识,为我所用。2. 在编码过程中一定要遵守编码规范,在创建工程是遵从工程规范,养成良好的编程习惯,这样不仅有利于我们后期对项目的优化升级,也有利于其他人对我们的代码的阅读;在长久的编程过程中,我们要学会不断的优化自己的代码;培养自己的编码风格;提高自己的编程效率,节省开发所需的时间。在此,首先由衷的感谢朱曦老师对我的热情关心和精心指导。从论文的选题,开题报告,还有论文的研究方法以及定稿方面我都得到了他的细心指导和无私的帮助,他认真负责的工作态度和广博的学术涵养都让我受益匪浅,在此表达真诚的感谢。另外,感谢蓝欧科技有限公司西安分公司给我供了所需要的设备和环境,使我能在一个稳定和谐的环境下完成我的项目,同时我也要感谢毕业设计指导老师朱曦老师和与我同组的同学的关心和支持,没有他们的热心指导项目是无法在预期完成的!最后我要感谢西安文理学院信息工程学院,以及所有帮助过我的人。25

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服