毕业设计(论文)-基于iOS平台的校园二手交易APP的设计与实现.doc_第1页
毕业设计(论文)-基于iOS平台的校园二手交易APP的设计与实现.doc_第2页
毕业设计(论文)-基于iOS平台的校园二手交易APP的设计与实现.doc_第3页
毕业设计(论文)-基于iOS平台的校园二手交易APP的设计与实现.doc_第4页
毕业设计(论文)-基于iOS平台的校园二手交易APP的设计与实现.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

南京理工大学泰州科技学院毕业设计说明书(论文)作 者:学 号:学院(系):计算机科学与技术系专 业:软件工程题 目:基于iOS平台的校园二手交易APP的设计与实现副教授指导者: 讲 师高广银评阅者: 2016 年 5 月毕业设计说明书(论文)中文摘要随着社会科技的迅猛发展,人们的购物的方式发生了巨大的变化。就大学生而言,他们现在很少去实体店买东西,却经常网购,因为这对他们来说更加方便快捷,只要有网络,有电脑就可以足不出户地买到你想要的任何东西。但随着社会经济的良好发展,他们的生活水平得到极大提高。因为经济上的宽裕,他们的需求越来越丰富,更新速度也逐渐加快。但随之带来的就是闲置物品的不断增加,特别是大学毕业生,面临着大量物品的处理问题。因此,针对该现象,本款基于iOS平台的校园二手交易APP具有广阔的发展空间。本应用使用Xcode6.4开发工具,运用Objective-C语言进行开发,过程遵循MVC开发模式,服务器应用部署在Bmob移动后端云服务平台。本应用比淘宝等应用针对性要强,主要是为在校大学生提供便捷服务,因为都是学生,所以在一定程度上有相似的需求,且跟容易找到,且物美价廉。本应用提供了搜索商品,发布商品以及发布求购信息等功能。该应用的实现能有效解决资源浪费的问题,且因为都是在校学生,所以更加安全。 关键词 iOS 校园二手交易 Objective-C X-code MVC Bmob第 62 页 共 62 页 本科毕业设计说明书(论文) 毕业设计说明书(论文)外文摘要Title The Design and Implementation of APP Campus Secondary Trading Based on iOS Platform Abstract With the rapid development of social technology,The way people shop has undergone tremendous change.For the purposes of university students,they now rarely go to the store to buy things,but often online shopping,because it is more convenient for them,as long as there is a network and a computer that they can stay at home to buy anything you want.But with the good social economy development,and their living standards have been greatly improved.Because of the economic well-off,their needs become increasingly diverse,the speed is gradually accelerated.But then there is an increasing number of idle items,especially university graduates,faced with a large number of articles deal with the problem.Therefore,for this phenomenon,this application has a broad space for development.This application uses Xcode6.4 development tools,using Objective-C language development,process follows the MVC development model,server applications deployed in Bmob mobile backend cloud services platform.This application than Taobao stronger application targeted primarily to provide convenient services to college students, because students are,so to some extent,have similar needs,and with easy to find and inexpensive.This application provides the search of goods,merchandise and ad publishing functions.Implement of the application can effectively solve the problem of waste of resources,and since they are in school,it is more secure.Keywords iOS Campus Secondary Trading Objective-C X-code MVC Bmob目 录1 绪论11.1 课题背景11.2 国内外研发现状21.3 研究目的及意义21.4 本文结构32 相关技术介绍42.1 iOS系统简介42.2 iOS开发平台简介52.3 Objective-C语言简介62.4 Bmob服务平台73 软件需求分析83.1 可行性研究83.2 性能需求分析93.3 功能需求分析94 软件设计124.1 软件总体结构设计124.2 软件静态模型设计134.3 软件数据库模型设计135 软件实现185.1 登录(注册、忘记密码)功能185.2 首页界面235.3 分类界面305.4 发布界面355.5 发现界面405.6 个人中心界面436 软件测试476.1 测试准备476.2 测试设计476.3 测试过程47结束语50致 谢51参 考 文 献521 绪论本文主要是探讨基于iOS平台的校园二手交易APP设计与实现的过程。首先是对课题的背景,目的及意义,以及目前国内外的发展现状进行初步研究;其次,再简要论述本文的组成结构;再次,就是对该应用设计的相关技术进行说明解释;然后,也是最重要的,就是对该应用进行需求分析,软件设计,功能实现及最后的软件测试,充分展现该应用的优点;最后,结尾时进行总结并列出参考文献。通过阅读本文,能初步了解本应用的研究方向以及与本应用相关的内容。1.1 课题背景随着社会科技的迅猛发展,对人们来说,当今时代的经营理念正在发生改变,现在追求的应当是高效、低成本,而网络购物就具有这样的优势 刘建华,霍仁崇,甘秀娜.校园二手商品交易平台的设计与实现J.现算机光盘软件与应用,2012(9):183184.。 就大学生而言,网购对他们来说已经不足为奇。且因为社会经济的富强,他们越加丰富的物质需求,再加上频繁的更换速度,造成现在大量闲置物品的产生,且因不及时处理,造成资源的浪费。为此,一款专门针对学生,为学生解决难题的应用的产生,必定会受到他们的欢迎。由此可见,该应用的发展具有广阔的前景。在以前,“二手物品”的概念对大家来说应该就是没有价值的,已经报废的,或者说是残次品的代名词。但现今,人们的观念已在转变,“二手物品”的买卖也在被大家所接受。但在中国,二手商品的买卖还处于发展的初期阶段,并不像国外那样已经普及,以曾在大众商务上刊登过“美国二手市场扫描”、“加拿大青年别针换别墅”的两篇文章为例 燕玲玲.基于Android的高校校园通的设计与实现D.山西大学,2013.,广大读者对此感到震惊,让他们对“二手商品”产生了新的理解,以至于后来“换客一族”的潮流在中国出现 秦远.”换客一族”在中国蓬勃发展J.大众商务,2007(1):47. ,许多城市居民相继效仿。随着无限互联网通信技术的发展,智能手机等移动设备在不断更新。如今,智能手机对每个人来说已经是最普遍的存在,而基于iOS平台和Android平台的手机更是现在智能手机发展的主流。因iOS独有的操作系统以及创新的设计,更是赢得了绝大多数人的追捧,因此,针对苹果手机iOS系统而设计的应用也在成倍增长。在这样的优势下,将校园二手交易搬到移动应用中来可以给更多人带来便利。1.2 国内外研发现状虽然现在国内大学校园中也有二手市场,但还不够成熟,存在很大的不确定性和不稳定性,且浪费大量的时间、空间以及人力。交易双方也不能保证立刻就能达成共识。而相对于国内,国外早就已经开展校园电子商务。据调查显示,美国高校开展校园电子商务的比例为40.5%,远远高于中国的4.2% 曾晓云.我国高校电子商务现状研究J.福建电脑,2013,29(8):66 67.。由此可见,像校园二手交易这样的移动应用在国外大学内早已普及,也已经和整个学校的发展联系到了一起,且促进了校园的进一步发展,为全校师生提供了便利。同时,电子商务的开展也带动了国家经济的发展。以欧美国家为例,他们才不过发展十几年的时间,电子商务所产生的营业额占据总额的分量却在不断提高,美国已经超过1/3,法国、德国欧洲等国家也已达到1/4 王雅楠.电子商务在外贸企业中的应用J.才智,2010(27):20.。因此,对于该款基于iOS平台的校园二手交易应用在未来的发展具有无限可能。在国内,虽然电子商务的应用也比较普遍,但还未深入涉及校园,且和校园之间的联系也不够紧密。校园其实是一个特殊的群体,它的优势很多,比如良好的网络建设、较全的知识面、集中的行为主题且具有独特的消费观念4。所以针对他们而设计的应用必定针对性强且操作简易。而对于二手商品,学校也并未对其做过统一管理,且由于现存的二手交易市场的不稳定性强,发布信息也不够准确及时,所以对学生们来说,有一款这样能够随时获取信息,并能发布信息,且操作简易的APP是再好不过。从另一方面来说,该应用的实现也能提高自身的节约意识,避免了资源的浪费。在该应用上进行发布商品,就类似于小型创业,既丰富了自己的阅历,也激发了自己的创业意识,初步培养了创业能力。1.3 研究目的及意义本款应用基于iOS平台之上,是为在校大学生而设计,目的是让他们通过该平台来进行二手商品的买卖交易。以往存在的二手市场不稳定因素较多,且消息传播存在误差和延迟,不能及时被所有学生知道。而该款应用是基于移动客户端,只要下载下来,就能随实时浏览查看最新信息,同时该应用也具备发布商品和求购商品的功能,且操作简单,无需任何费用就能随时随地发布信息。该应用为学生提供了极大的便利,让他们既能处理掉闲置物品,也能以低廉的价格买到其心仪的物品。本款基于iOS平台的校园二手交易APP实现的意义在于:既能方便学生,帮助他们处理手中的闲置物品,让闲置物品价值最大化;同时也使得资源得到了循环利用。且因为是在校园中进行交易,所以比在外面网购要更加安全可靠。总的来说,二手商品交易平台的建立对大家的环保意识,经营意识产生了深远的影响。1.4 本文结构 本文主要分为七章,每章的内容介绍分别如下:第一章为引言,该部分主要介绍了本课题的研究背景、研究目的意义以及国内外研究现状等。 第二章为相关技术介绍,该部分主要阐述了项目中使用的主要技术。包括iOS系统的介绍,Objective-C语言的介绍, Bmob平台的简要介绍等。 第三章为软件需求分析,可行性分析,通过性能分析,功能需求分析对项目进行详细的分析评估。 第四章为软件设计,通过软件总体结构设计,数据库模型设计等完成对系统的设计。 第五章为软件实现,通过代码实现五大模块。第六章为软件测试,使用测试用例对系统的主要功能进行测试,并通过测试结果分析系统实现情况。第七章为总结,总结本文所做的工作,并指出课题的欠缺之处,为以后的系统完善指明方向。2 相关技术介绍本课题研究目标是开发一款基于iOS平台的校园二手交易APP。在设计的过程中,主要利用Xcode6.4开发工具,使用Objective-C语言编写,结合了Bmob移动后端云服务平台的使用,并按照MVC架构进行开发。2.1 iOS系统简介iOS是运行在iPhone、iPod touch以及iPad设备上的操作系统。iOS架构和Mac OS的基础架构类似。从高层次来看,iOS扮演底层硬件和应用程序的中间媒介。iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer),iOS体系结构如图2.1所示。图2.1 iOS体系结构图核心操作系统层(Core OS),位于iOS系统架构最下面的一层,包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。其可以直接和硬件设备进行交互。核心服务层(Core Services),开发人员可以通过它来访问iOS的一些服务,包括数据库连接、URL学习等。媒体层(Media),通过它可以在应用程序中使用各种媒体文件,包括行音频与视频的录制、图形的绘制以及基动画效果的制作。可触摸层(CocoaTouch),是最上面一层,这一层为应用开发提供了各种有用的框架,并且大部分与用户界面有关,本质上来说,用户在iOS设备上的触摸交互操作由它负责。2.2 iOS开发平台简介2.2.1 Xcode集成开发环境iOS系统是由苹果公司所开发的移动操作系统,谈及iOS就要提到Mac OS X。苹果公司在2001年推出了Mac OS X系统,它是以NeXTSTEP为基础进行设计的,结合了UNIX的稳定性、可靠性及安全性,同时也融合了Macintosh电脑界面简洁易用的优良特性。随着Mac的发展,苹果公司也研发了其他终端设备,而iOS正是为了移动手持设备所设计的移动操作系统,同Mac OS X一样,iOS类属于UNIX,换句话说,就是将Mac OSX做简单的调整,然后移植到移动设备上。iOS是在2007年1月9日公布的,在同年6月份苹果公司正式发布了名为“iPhone runs OS X”的iOS,当时并没有人了解“iPhone runs OS X”的潜在价值和发展前景,导致没有一家软件公司或是软件开发者给“iPhone runs OS X”开发软件或者提供软件支持。于是,苹果公司当时的CEO斯蒂夫乔布斯就说服各大软件公司以及开发者可以先搭建低成本的网络应用程序(WEB APP)来使得它们能像iPhone的本地化程序一样来测试“iPhone runs OS X”平台。第一个测试版本的开发包在2008年3月发布了,与此同时才正式将“iPhone runs OS X”更名为“iPhone OS”。其实最初只是设计给 iPhone使用的,但后来陆续套用到iPod touch、iPad以及Apple TV等产品上,所以2010年WWDC大会上苹果公司才正式将“iPhone OS”改名为“iOS”,同时还获得了思科iOS的名称授权。iOS(InternetOperationSystemSoftware)是Cisco System公司跨越主要路由和交换产品的软件平台,为满足不同需求的客户,iOS提供统一的操作控制界面,并提供对所有标准的网络互联协议和几十种Cisco私有网络协议的全面支持。iOS软件不但可以完成RIP、EIGRP、OSP、ISIS、BGP等路由计算功能,还集成了诸如Firewall、NAT、DHCP、FSM、FTP、HTTP、TFTP、Voice、Multicast等诸多服务功能,是业内最为复杂和完善的网络操作系统之一。Xcode是苹果公司向开发人员提供的集成开发环境,但是非开源的,用于开发Mac OS X,iOS的应用程序。其运行于苹果公司的Mac操作系统下。2.2.2 Xcode iOS模拟器Xcode iOS模拟器是方便开发人员实时调试代码的有利工具。模拟器提供了从iPhone发布以来所有的配置的测试环境,只要选择想要真机型号,模拟器便会模拟出对应的iOS API版本,屏幕大小等特性,运行效率不错,在开发中具有很大的用处。2.2.3 iOS CocoaTouch API Cocoa Touch由苹果公司提供的软件开发API, 用于开发 iPhoneiPodiPad上的软件。也是苹果公司针对iPhone应用程序快速开发提供的一个类库。此库以一系列框架库的形式存在,支持开发人员使用用户界面元素构建图应用程序。 Cocoa Touch 框架推动了iOS 应用程序的开发,为开发者提供了很多 Mac 平台上的模式,同时也专注于基于触摸的性能优化和开发接口。其中,UIKit 提供了开发 iOS 上的图形化事件驱动程序所需的基本工具。UIKit 基于 Foundation 框架,该框架同样存在于 Mac OS X 系统中,提供了文件处理、网络以及其他基础架构。因为 Cocoa Touch 独特的设计,使得iOS 拥有独特的界面。通过 UIKit,可以访问 iOS 上特殊的 GUI 控制、按钮和全屏幕视图。还可以通过加速计和 Multi-Touch 手势控制应用程序 段学东,何九段.基于敏捷思想的iOS平台软件的设计与实现J.计算机技术与发展,2012,12(9):120126.。2.3 Objective-C语言简介Objective-C是扩充C的面向对象编程语言。它是在C的基础上加入面向对象特性,主要使用于Mac OS Objective-C。目前,主要在Mac OS X和iOS这两个系统中使用Objective-C语言进行开发6。Objective-C语言学起来比较容易,它不像C#或JAVA语言术语比较容易混淆,同时强调抽象设计的重要性。Objective-C语言简洁,语法简单,而且没有歧义,对于初学者来说,像这种结构良好的语言会使编程变得简单、易懂。在NeXTSTEP和OpenStep中Objective-C语言可以说是基本语言。一方面用它可以实现底层系统编程,另一方面可以利用动态构架进行开发。本论文中校园二手交易应用的实现就是基于Objective-C语言开发的。2.3.1 Objective-C技术的特点(1)封装Objective-C是面向对象编程语言。面向对象编程的3大特性之一就是封装性。类就是封装的具体表现,封装就是对类中的一些字段、方法进行保护,为了方便维护程序代码,对类中的字段、方法设置访问权限,通过访问修饰符来完成,实现对信息的保密和隐蔽功能 杨帆,郑青青,王凤筱.iPhone应用开发从入门到精通M.北京:机械工 业出版社,2011.06.。(2)继承继承是面向对象编程的另一特性。继承提高了代码的可重用性,缩短了开发周期,降低了开发成本 关东升.iPhone与iPod开发实战M.北京:机械工业出版社,2012.06.。在Objective-C语言中,每个子类有且仅有一个父类,但可以实现多个不同类的代理。通过使用已有的类(即父类或基类)作为基础创建一个新的类(即子类),子类不仅能够继承或重写父类的功能,还能增加新的属性或方法。 (3)多态多态,是面向对象编程的第三大特性。多态就是不同对象以自己的方式响应相同消息的能力,方法的重写和重载就是多态的具体表现。多态改善了代码的组织结构,增强了代码的可读性 (美)马克,(美)纳丁,(美)拉马赫.iOS基础教程M.北京:人民邮电出 版社,2012.09.。但在Objective-C语言中,只支持方法名的多态,并不支持参数和操作符的多态。2.4 Bmob服务平台Bmob是基于PaaS模式的云计算平台,专注于移动应用云存储,且在国内是第一家。开发者可以使用Bmob设计存储框架、获取应用密钥、下载SDK并导入应用程序,然后调用其API;并且Bmob是免费的云服务。Bmob给应用软件快速添加一个安全灵活的后台管理系统,方便浏览终端保存的各种信息。在Bmob平台上,用户注册一个帐号后就可申请创建任意多个数据库,然后获得对应密钥,下载对应版本SDK并导入到应用程序中,最后调用相应API,即可进行自己想要的数据操作。Bmob的数据操作简单易学。且针对移动应用开发的特性,Bmob还提供了主动推送服务,可实现软件主动更新、信息通知等服务。在数据类型上,Bmob提供了丰富的数据类型,包括String(字符串)、Number(数值,包括整数和浮点数)、Boolean(布尔值)等8个数据类型。Bmob云服务平台在服务器部署上做了安全处理,采用的虚拟隔离模式是多租户的,即每一个开发者的流量或者数据的变化,其他开发者的应用都不会对带来影响。3 软件需求分析软件需求分析就是准确说明要开发什么,然后编写出详细的技术需求,包括所有面向用户、面向机器和其它软件系统的接口;看似简单,但其实是最困难、最复杂的部分。因为如果做错,就会在后面给系统带来极大的损害,并且以后再对它进行修改也十分困难。软件需求应当注意所有需求都要站在客户的角度上考虑,避免将根据自己主观想象编写出的需求分析交给客户。软件工程需求是一个由浅到深、不断认识,环环相扣的过程 龚全福.基于iOS的新浪微博iPhone客户端的设计与实现D.电子科 技大学,2011.。3.1 可行性研究校园二手交易平台为在校学生提供一个供需平台。帮助在校学生处理自己的闲置物品,将自己不用的东西发布到网上低价出售;同时也为想购买二手商品的同学提供了一个信息全面、安全便捷的平台。该软件全心全意为学生服务,为学生提供方便。因此开发一款针对学生的二手交易APP的想法是可行的。3.1.1 经济可行性本款应用的目标客户群是大学生,而大学生具有收入单一、消费多样化和消费观念开放等消费心理,且大学生对校内二手物品尤其是对书籍、自行车、电子产品以及体育用品等十分关注,交易需求也十分庞大。且每年都有毕业生毕业,新生报到,对大四毕业生而言,四年里自己的物品在不断增加,但因毕业,需要将所有东西从宿舍清空,但不可能将所有东西都带走,太累赘,所以他们需要及时处理掉自己带不走的东西。而且大部分学生的消费水平也不是很高,尤其对于二手书,二手自行车等,他们都希望以一个物美价廉的价格买下。因此该应用在经济上是可行的。3.1.2 技术可行性该软件使用的开发工具:Xcode。该软件的数据库环境:Bmob移动后端云服务平台自带数据库。该软件运用Objective-C面向对象语言开发,并在Xcode6.4环境下运行。因此,该软件在技术上可行。3.1.3 操作可行性因为该款应用是针对大学生而设计的,所以从用户使用者的角度考虑,该软件需要适合客户群使用。因此本课题软件制作采用iOS软件扁平化应用的设计特点,并运用iOS的原配组件进行设计,界面设计简洁易懂,组件布局也具有规律性,用户能快速接受使用方法 谢希仁.计算机网络M.北京:电子工业出版社,2005.06.。3.2 性能需求分析3.2.1 实用性原则充分利用手机的存储空间,提供信息支持,充分考虑用户自主便捷购物的需求,对软件视图层的布局主要注重简洁、实用、易操作。本软件是基于iOS平台之上,自然满足iOS软件的易用性原则,视图美观、大方,用户无需花时间学习如何操作,在每一个界面都能直观的看到有不同含义的图标提示,保证用户使用过程顺畅 陈士航.基于DSS的移动流媒体直播系统D.电子科技大学.2013.。3.2.2 用户界面美观原则基于iOS最新的扁平化风格,界面设计符合普通大众心理。界面视图中加入了不少对用户具有诱导性的按键设计,使得用户在初次体验时就会使用,无需在使用前进行特别的学习和指导 吴寅鹤.iOS平台应用程序的安全性研究D.广东工业大学,2014.。3.2.3 可扩展性与可维护性原则该软件为适应将来的市场环境需求具备良好的可扩展空间,并且该软件为日后留有可维护的能力。由于iOS移动设备分辨率不同,总线结构不同,屏幕大小也多样,为使该软件能够适用不同的iOS移动设备,因此该软件是以模块化的方式进行设计。为了使该软件在今后iOS系统或是手机硬件配置升级扩展后能有效保护自己的资源,所以必须具备可扩展性。当用户需求增多时,可以迅速改变配置应对市场需要,提高应用平台的质量 李明果.基于iOS系统的个性化电子书包的设计与开发以小学语 文四年级上册第四组为例D.四川师范大学,2013.。3.3 功能需求分析本软件是一款基于iOS平台的应用程序,启动程序后进入首页进行商品的浏览,点击查看单个商品的详情,如果喜欢就可以加入收藏列表。同时可以通过搜索来查找自己想要的物品,如果没有明确的目标,用户还可以在分类界面中选择感兴趣的分类来查看同类商品的信息,缩小了查找范围,也为用户节约了时间。在该应用上,用户可以便捷地发布要卖商品的信息;且用户不仅可以出售商品,也能在该应用上发布求购信息,方便别人看到,对于别人发布的信息,用户也能给予回复。最后,在个人中心模块中显示用户的个人信息,用户能够修改自己的资料,查看自己发布或收藏的商品,也能对该应用进行评价。以下分别介绍本软件各主要功能模块的需求。3.3.1 用户注册模块本APP是针对校园二手交易,主体是学生,学生既可以作为买方,也能是卖方,所以当用户使用某些功能时,需要拥有一个身份,于是需要通过注册模块来进行账户注册。3.3.2 用户登录模块本APP存在调用用户部分信息,所以使用前需要用户先登录,因为在未登录状态下,部分功能可能无法使用,用户只有通过输入用户名和密码登录后才能使用该应用所用功能。如果有用户忘记密码,也可通过重置密码功能来获取新密码,从而再次登录进入首页界面。3.3.3 首页模块首页模块主要是部分商品展示以及商品搜索功能。部分商品展示可分为两个子模块,分别为最新上架模块和热门产品模块。最新上架模块主要展示最新发布的商品信息,热门产品模块展示目前最受用户喜欢,浏览次数最多的商品信息。因为该款软件是基于移动客户端,是手机类应用软件,所以在首页只需展示部分商品,用户若是感兴趣可点击更多按钮来查看所有商品信息。在首页中需提供一个搜索框让用户进行搜索商品。点击商品内容可进入单个商品的详情界面,显示该商品的全部信息。详情界面需要要有三个按钮,分别实现不同功能:收藏按钮实现收藏商品功能。点击收藏按钮,按钮要有颜色变化,给用户一个反馈,表示用户已经成功收藏该商品。联系卖家按钮点击联系卖家按钮让用户与卖家进行沟通交流。评论按钮实现评论商品功能。用户点击评论按钮可进入评论界面,可看到别人对该商品的评论,也自己发表评论。3.3.4 分类模块分类模块主要是将商品进行大致分类,分成不同种类,可以为用户查找商品提供便捷,给用户一个大致的方向,让用户快速找到自己心仪的物品,也为用户节约时间。 点击某个分类后,用户就可以查看该分类下的所有商品信息,单击商品内容即可查看该商品的详细信息。3.3.5 发布模块发布模块要在用户已登录的前提下才能进入使用。在发布模块中,用户可以快速、便捷地发布要出售商品的信息,发布后可供其他用户查看浏览。在该模块需要有两个按钮,分别实现不同功能:发布按钮进行商品发布功能。可将用户填写的商品信息进行发布,发布成功之后可供其他用户浏览购买。取消按钮取消商品发布功能。若用户中途想放弃发布,可以点击取消发布按钮即可取消该商品的发布,但同时用户填写的信息将不会被保存起来。3.3.6 发现模块在该界面中,所有用户可以畅所欲言,就类似发帖子一样,痛风石用户医务科可在其中发布求购信息。首先,在该界面中需要有一个文本框,让用户能够方便快捷地对别人的留言进行评论与回复。其次就是,在该模块中需要一个发布信息的按钮,在用户已经登录的前提下单击此按钮就能跳转到发布信息界面,在该界面中用户可发布任何信息。但是,若用户尚未登录,系统会自动提示用户还未登录不能发表信息。3.3.7 个人中心模块在本模块中主要显示了用户的信息,包括用户的头像和昵称。在该界面中需要三条选择条,分别为:个人资料、我的物品、我的收藏。 个人资料用于显示个人信息,并且用户点击进入后可更改个人信息,包括头像、昵称和密码,修改后保存即可。我的物品用于显示用户之前发布过的商品列表。我的收藏用于显示用户所收藏的商品列表。在该模块中需要一个设置按钮,点击该按钮后即可进入设置界面。在设置界面中存在三条选择条,分别是:清除缓存、意见反馈、关于我们。清除缓存进行缓存处理功能。意见反馈通过该界面可实现用户对本应用的点评,发表意见等功能。关于我们用于显示该应用的介绍等信息。4 软件设计软件设计就是要从软件需求规格说明书出发,根据需求分析中确定的功能来设计软件系统的整体结构、各个功能模块的划分以及每个模块的实现方法和技术,最后才是代码的编写 钟志水,姚珺.大学计算机应用基础M.重庆:重庆大学出版社,2012.。因此本章节主要将应用划分成不同模块,建立模块化层次结构,以便在软件设计阶段能够更快捷地完成该项目。4.1 软件总体结构设计模块化设计,其核心就是模块层次结构多级以及以及各个模块的独立性。这样的设计可以加强对软件的理解,使得软件结构更加清晰明了,有利于管理软件,同时也便于对团队中每个人分派任务且不会产生冲突。按照软件模块化设计的要求,该应用以功能为依据细分出多个不同模块。然后再把每个模块再细分出来。但是在设计、编写时要充分考虑各模块之间的设计细节和条件约束,不能随意设计编写,导致脱离整体框架。等到设计完成后,再将每个独立的小模块逐个拼合起来,层层组合,将最后统一的模块添加到总体框架结构中去。根据本应用的用户功能需求,本应用主要分为以下几个功能模块,总体结构图如图4.1所示。图4.1 总体结构图4.2 软件静态模型设计根据应用需求,我们可识别系统中存在的对象。从上一章节需求分析可知,该软件设计的应用和用户交互的图形化界面至少需要创建22个视图控制器:根控制器(MainTabBarViewController.h),用户登录页面控制器(LoginViewController.h),忘记密码页面控制器(forgetPWDViewController.h),注册页面控制器(registerViewController.h),首页控制器(HomeViewController.h),搜索结果页面控制器(SearchResultViewController.h),详情页面控制器(DetailViewController.h),最新上架与热门产品页面控制器(MoreViewController.h),评论页面控制器(CommentViewController.h),分类页面控制器(SortViewController.h),同类商品界面控制器(SortMoreViewController.h),发布页面控制器(CollectCourseTabelViewController.h),浏览图片页面控制器(PreviewViewController.h),发现界面控制器(FindViewController.h),个人中心页面控制器(PersonageViewController.h),个人资料页面控制器(userInfoViewController.h),修改密码页面控制器(changePwdViewController.h),我的商品页面控制器(wupinViewController.h),我的收藏页面控制器(shoucangViewController.h),意见反馈页面控制器(AdviceViewController.h),关于我们页面控制器(MessageViewController.h)。4.3 软件数据库模型设计4.3.1 E-R图E-R方法通常使用ER图为工具,它是一种实体与关系的方法。E-R图是由实体、属性以及关系三部分组成,实体是指具有相同性质但又可以互相区分的自然界对象的集合;属性是指具体描述实体的各种特征,它是实体或者关系的性质的统称;实体间的关系通过直线连接。该软件的E-R图,如图4.2所示。图4.2 软件E-R图4.3.2 逻辑结构设计逻辑结构的描述方法是基本表,反映了软件中所涉及数据的逻辑结构。根据系统中数据信息,将数据的概念模型转换为关系模型。(1) 用户信息表(_User)如表4.1所示,该表记录用户信息。用户信息转换为如下关系模式,其中用户id为主键。用户表(用户ID、用户名字、密码、手机号码、昵称、用户头像、用户创建时间、用户修改时间)表 4.1 用户信息表列名数据类型允许空说明objectIdStringN主键,随机usernameStringN用户名称passwordStringN密码mobilePhoneNumberStringN手机号码userNicknameuserImagecreatedAtupdateAtStringStringDateDateNYNN昵称用户头像用户创建时间用户修改时间 (2) 商品信息表(tb_goods)如表4.2所示,该表记录所有商品的信息。商品实体转换为如下关系模式,其中商品编号为主键。商品信息表(商品编号、商品标题、商品描述、交易地址、商品价格、商品种类、商品图片、联系电话、商品浏览次数、商品收藏次数、用户ID、商品创建时间、商品修改时间)表 4.2 商品信息表列名数据类型允许空说明objectIdStringN主键,随机goodsTitleStringN商品标题goodsDescriptionStringY商品描述goodsAddressStringN交易地址goodsPriceStringY商品价格goodsKindStringN商品种类goodsImageArrayY商品图片userTelStringN联系电话goodsWatchCountNumberY商品浏览次数goodsCollectCountNumberY商品收藏次数userIdPointerN外键、用户IDcreatedAtDateN商品创建时间updateAtDateN商品修改时间 (3) 商品评论表(tb_goodsReply)如表4.3所示,该表记录用户对商品的评论信息。商品评论转换为如下关系模式,其中评论编号为主键。商品评论表(评论编号、评论内容、用户编号、商品编号、评论创建时间、评论更改时间)表 4.3 商品评论表列名数据类型允许空说明objectIdStringN主键、随机TextStringN评论内容userIdPointerN外键、用户编号goodsIdPointerN外键、商品编号createAtDateN评论创建时间updateAtDateN评论修改时间 (4) 商品收藏表(tb_collection)如表4.4所示,该表记录用户收藏商品的信息。用户收藏商品转换为如下关系模式,其中用户id为主键。用户收藏商品表(收藏编号、用户ID、商品编号、收藏创建时间、收藏修改时间)表 4.4 商品收藏表列名数据类型允许空说明objectIduserIdgoodsIdStringPointerPointerNNN主键、随机外键、用户ID外键、商品编号createAtupdateAtDateDateNN收藏创建时间收藏修改时间 (5) 发表信息表(tb_public)如表4.5所示,该表记录用户在发现模块中发表求购信息等。用户发表信息情况转换为如下关系模式,其中发表内容id为主键。用户发表信息表(发表内容ID、信息内容、用户ID、信息创建时间、信息修改时间)表 4.5 发表信息表列名数据类型允许空说明ObjectIdtextuserIdStringStringPointerNNN主键、随机信息内容外键、用户IDcreateAtupdateAtDateDateNN信息创建时间信息更新时间 (6) 回复信息表(tb_reply)如表4.6所示,该表记录用户在发现模块中回复的信息。用户回复信息情况转换为如下关系模式,其中回复信息id为主键。用户回复信息表(回复信息ID、回复内容、用户ID、发表信息ID、回复创建时间、回复更新时间)表 4.6 回复信息表列名数据类型允许空说明objectedreplyTextuserIdpublicIdStringStringPointerPointerNNNN主键、随机回复内容外键、用户ID外键、发表信息IDcreateAtupdateAtDateDateNN回复创建时间回复更新时间(7) 建议表(tb_advice)如表4.7所示,该表记录用户在意见反馈中提出的意见或建议。建议信息转换为如下关系模式,其中建议id为主键。建议表(建议ID、建议内容、用户ID、建议创建时间、建议修改时间)表 4.7 建议表列名数据类型允许空说明objectedadviceTextuserIdStringStringPointerNNY主键、随机建议内容用户IDcreateAtupdateAtDateDateNN建议创建时间建议修改时间5 软件实现在软件设计阶段已经知道该软件设计的软件结构以及数据结构,本章将详细介绍本项目每个模块模块的功能实现与代码实现。基于iOS平台的校园二手交易APP主要功能包括有:登录(注册、重置密码),首页展示,商品分类,发布商品、发现、我(修改个人资料、查看收藏商品、查看所有发布商品、设置)等功能。5.1 登录(注册、忘记密码)功能首先,打开本APP可以直接进入首页,无需登录,但若想对商品进行评论、收藏商品或是想在该APP上出售自己的闲置物品等,本APP会自动提示该用户应先去登录,才允许进行以上操作。在未登录的状态下,提示用户不能收藏界面如图5.1所示,提示用户无法评论界面如图5.2所示,提示用户不能发布商品界面如图5.3所示。 图5.1 提示不能收藏 图5.2 提示无法评论 图5.3 提示不能发布商品其次,登录界面如图5.4所示,用户首先进入登录界面,若有账号和密码输入后点击登录即可进入主界面。若用户是初次使用本APP,必须先拥有一个账号,才能进行登录,注册界面如图5.5所示,该界面就是用户注册信息的界面,本APP采用的是使用手机号以及验证码进行注册账户。重置密码界面如图5.6所示,在用户忘记密码的情况下,用户可通过重置密码来获取新密码。 图5.4 用户登录界面 图5.5 用户注册界面图 5.6 用户重置密码界面5.1.1 登录功能实现点击登录按钮时,首先判断账号和密码是否为空,若为空的话则提示用户输入账号或密码;在账号和密码都输入的情况下,通过Bmob后端平台来判断用户账号是否存在,若存在则可以进入主界面,若不存则提示用户账号或密码输入错误。具体代码实现如下:/* 登录按钮点击事件 */ -(void)btnAction:(UIButton *)sender if (sender.tag = 100) /点击登录按钮 if (self.userText.text isEqualToString:) /判断账号是否为空 self.e

温馨提示

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

评论

0/150

提交评论