当前位置:首页 >> 其它 >> iphone手机商城系统的设计与实现-原型法

iphone手机商城系统的设计与实现-原型法


[键入文字]










目 iPhone 手机商城系统的设计与实现

英文题目 Design and Development of iPhone Mobile Mall System

学生姓名: 学 专 学 号: 业: 院:

申请学位门类:管理学

指导教师:

职称:

二 0 五 年 五 月 日 作 者 声 明

本人以信誉郑重声明:所呈交的学位毕业设计(论文),是本人在

[键入文字]

指导教师指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违 反道德、学术规范和其他侵权行为。文中引用他人的文献、数据、图 件、资料均已明确标注出,不包含他人成果及为获得东华理工大学或 其他教育机构的学位或证书而使用过的材料。对本设计(论文)的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本毕业设 计(论文)引起的法律结果完全由本人承担。 本毕业设计(论文)成果归大学所有。 特此声明。

毕业设计(论文)作者(签字):

签字日期:



月 日

本人声明:该学位论文是本人指导学生完成的研究成果,已经审 阅过论文的全部内容,并能够保证题目、关键词、摘要部分中英文内 容的一致性和准确性。

学位论文指导教师签名: 年 月 日

大学毕业设计

摘 要





随着经济的快速发展,互联网信息技术行业充当了各行各业先锋队,成为了 21 世纪最闪亮的新型行业。在最近几年互联网电商行业发展迅速,各大网站商城迅速 崛起,例如,以阿里集团主导的淘宝商城、天猫商城,以刘强东开创的京东商城等 等,成为了大众喜爱的购物网站。他们一种悄无声息的形式在渐渐的影响着这个世 界的购物方式,越来越多的人,不愿意去商场、超市购买购买自己的商品,而更愿 意在购物网站上挑选商品。这些都在慢慢的改变人们的生活方式,也在影响着企业 的运作方式和电子商务技术的发展方向。该论文拟设计并开发一个 ios 手机 app 商 城,来节省企业的销售成本和消费者的购买的成本,从而不仅企业的管理费用会大 幅度的降低,而且使得消费者购买商品更加方便、简洁、安全、迅速。 该系统主要在 MacBook Air OS X Yosemite 版本 10.10 操作系统上,借助 Xcode6.1.1 开发工具、Microsoft SQL Server 2008 数据库工具,采用面向对象软件开 发方法,基于 C/S 结构,采用 Objective - C 语言开发而成。 该 app 主要实现浏览商品,加入购物车,购买商品,提交订单,银联支付,确 认订单,评价订单等功能。并且使用方便,操作简单,基本功能齐全,能够满足企 业的需要和消费者的购买需求。 关键词:电子商务;商城;app;面向对象;Objective-C

I

大学毕业设计

ABSTRACT

ABSTRACT
With the rapid development of economy, the Internet information technology industry as the vanguard of various industries,has become the brightest new one in the 21st century.In recent years,the Internet electricity is developing rapidly,and many website mall rise rapidly.Such as taobao mall and Tmall dominated by the Alibaba,Jingdong mall set by Liu, etc,have become the popular shopping websites.They are in a kind of silent form in gradually affecting the shopping way of people. More and more people do not want to go to shopping malls or supermarkets to buy goods,but more willing to choose goods in the shopping website. These are slowly changing the way of people’s life, and also affect the mode of the enterprise operation and the development direction of electronic commerce technolo gy. The thesis is to design and develop a IOS mobile phone app mall, to save the enterprise cost of sales and purchase cost, thus not only the management costs will be greatly reduced, but also allows consumers to purchase goods more convenient, simple, safe and rapid. The system is mainly in the MacBook Air OS X version of Yosemite 10.10 operating system, using Xcode6.1.1 development tools, Microsoft SQL Server 2008 database, and the object oriented software development method, based on C/S structure, developed by the Objective C language. The app mainly realize the functions of browsing products, adding to cart, the purchasing of goods, submitting orders, pay treasure to pay, order confirmation, order of evaluation,etc.It is easy to use, simple operation, and the basic functions can meet the needs of the enterprise and the consumer demand. Key words: Electronic commerce; Shopping mall; App; Object-Oriented; Objective-C

II

大学毕业设计

目 录


1.1 1.2 1.3 1.4 第2章 2.1 第3章 3.1



绪 论 ................................................................................................................................... 1 项目背景 ............................................................................................................... 1 项目的研究目的与意义 ....................................................................................... 1 拟解决主要问题 ................................................................................................... 1 论文基本内容 ....................................................................................................... 2 开发环境与技术 ................................................................................................... 3 开发环境介绍 ....................................................................................................... 3 系统规划 ............................................................................................................... 4 问题定义 ............................................................................................................... 4 3.1.1 3.1.2 3.1.3 3.1.4 3.2 第4章 项目目标 ..................................................................................................... 4 项目范围 ..................................................................................................... 4 初步设想 ..................................................................................................... 4 项目开发时间 ............................................................................................. 4

可行性分析 ........................................................................................................... 4 需求分析 ............................................................................................................... 6 4.1.1 4.1.2 移动端需求的简单概述 ............................................................................. 6 移动端每个页面详细描述 ......................................................................... 6

4.1 功能需求分析 .......................................................................................................... 6

4.2 性能需求 ................................................................................................................. 8 4.3 系统逻辑模型 .......................................................................................................... 8 4.3.1 4.3.1 4.3.3 第5章 业务流程图 ................................................................................................. 8 数据流程图 ................................................................................................. 9 数据字典 ................................................................................................... 10

系统设计 ............................................................................................................. 11 5.1.1 基本草图搭建 ............................................................................................. 11 5.1.2 5.1.4 5.1.5 系统架构介绍 ........................................................................................... 15 App 商城系统设计模式 ........................................................................... 17 MVC 模式的好处 ..................................................................................... 17 各实体 E-R 图 ........................................................................................... 18 数据表之间的关系 ................................................................................... 21 5.1.3 App 商城系统的架构设计 ....................................................................... 16

5.1 原型设计 ............................................................................................................... 11

5.2

数据库设计 ......................................................................................................... 18 5.2.1 5.2.2

III

大学毕业设计

目 录

第6章 6.1

系统实施 ............................................................................................................. 23 自定义 UITabarController 和 UINavigationController ...................................... 23 6.1.1 6.1.2 6.1.3 自定义 UITabarController ........................................................................ 23 自定义 UINavigationController ................................................................ 25 分类模块 ................................................................................................... 27

6.2 6.3 6.4 第7章 7.1 7.2 7.3

App 系统主要界面展示 ..................................................................................... 33 测试记录表 ......................................................................................................... 36 测试评估 ............................................................................................................. 39 系统评估 ............................................................................................................. 40 系统完成情况 ..................................................................................................... 40 实际工作开发进度 ............................................................................................. 40 系统评估 ............................................................................................................. 40

总结与展望 ......................................................................................................................... 42 致 谢 ................................................................................................................................. 43 参考文献 ............................................................................................................................. 44

IV




1.1 项目背景



第一,会的发展和人类的生产能力不断的提高,人类的物质生活水平和精神生 活水平也都提高了,越来越多的人过着足不出户就能享受全世界精神文明带来的便 捷,健康,文明的生活。 第二, 近年来计算机的广泛应用, 并且处理能力越来越强, 处理速度越来越快, 价格越来越低,致使全球互联网用户急剧升高,方便,快捷,安全,低成本等特点 都为电子商务提供了应用条件。 第三,政府的支持与推动,自 1997 年欧盟发布了欧洲电子商务协议,美国随 后发布“全球电子商务纲要”以后,电子商务受到世界各国政府的重视,许多国家的 政府开始尝试“网上采购”,这为电子商务的发展提供了有利的支持;我过最近也颁 布了 《电子签名法》 , 以适应电子商务发展的需要,增强公众对使用电子商务的信心, 以解决电子交易中的身份认证问题。 第四,支付手段的完善,随着网络的发展,网络在线支付越来越成熟。网银支 付,支付宝支付,信用卡支付,微信支付等成为网络的主流支付手段。这也为电子 商务发展提供强有力的支持。 第五,技术的可行性,互联网技术在最近 20 年,有了质的飞跃,无论是 O2O, B2C,B2B,C2C 的商务模式都已经成型。 电子商务作为一种全新的经济运作模式和商业运营模式,大大降低了人类社会 活动与经济活动的成本,提高了社会运作效率和企业经济效益,对世界经济格局和 贸易体制的变化产生了深刻的影响,有力促进了经济全球化的进程。

1.2 项目的研究目的与意义
本文旨在构建手机商务平台,来完成商品的浏览,购买商品,提交订单,支付 订单,确认订单,评价订单操等操作;从而做到足不出户,就能购买电器商品到家。 节省企业的地域成本和消费者的购买成本,从而使得企业能够生产出更好的产品, 消费者能够更加方便的购买商品。

1.3 拟解决主要问题
(1) 商家从后台即可添加商品,现实网络跨地域销售。 (2) 消费不用到实体店里去挑选商品,节省大量的交通成本和物业管理成本, 以达到足不出户在手机客户端就可以购买商品。 (3) 实时跟踪订单状态,可取消订单操作,商品交易完成后可评价订单,上传 图片,以达到口碑传销的效果。

1

大学毕业设计

绪 论

(4) 随时随地可以购买商品和查看订单状态。 (5) 可以随时显示商家推荐的商品。 (6) 可以根据不同的品牌建立品牌墙,进行品牌分类销售。

1.4 论文基本内容
(1) 绪论:主要分析系统的相关背景、论述项目研究目的与意义。 (2) 第二章:简介系统开发环境和使用到的一些工具如: Xcode6.1 、Microsoft Office Visio 2010。 (3) 第三章:是系统规划,主要是对问题定义、可行性分析、项目开发工作计 划进行说明。 (4) 第四章:是需求分析,需求分析主要介绍功能需求分析和性能需求分析。 (5) 第五章:是系统设计,分为原型设计、系统架构设计、数据库设计[1]。原型 设计包括搭建草图和草图说明;系统架构设计主要是 app 系统框架的设计 和搭建; 数据库设计主要是画出实体 E-R 图, 以及各实体的 E-R 联系图等。 (6) 第六章:是系统实施,主要包括系统代码的设计和代码展示、系统核心页 面展示、系统测试计划和记录、系统评估等内容。 (7) 第七章:是系统评估,主要包括对系统的缺陷分析,实际进度与计划时间 表等内容进行阐述。 (8) 最后还有总结与展望、致谢、参考文献等内容。

2

大学毕业设计

第 2 章 开发环境与技术

第2章

开发环境与技术

本次毕业论文设计采用 Objective-C 语言来构建。

2.1 开发环境介绍
? ? OS X 10.10Yosemite。 OS X 10.10Yosemite 是苹果公司在果 WWDC 2014 开发者大会上发布的一 款新的操作系统,拥有全新的界面设计及一些功能更新。具有界面扁平化、 进一步融入 iOS 功能和新版 Safari 等特点。 ? ?
?

Xcode6.1 Xcode 6.1[2] ,由苹果公司于 2014 年 6 月发布,是一款测试版工具。 Xcode 是苹果公司开发的编程软件, 是开发人员建立 OS X 和 iOS 应用程 序的最快捷的方式。Xcode 具有统一的用户界面设计,编码、测试、调试 都在一个简单的窗口内完成。

2.2 其它辅助工具介绍
? Microsoft Office Visio 2010 Microsoft Office Visio 2010 是一款便于 IT 和商务专业人员就复杂信息、系统 和流程进行可视化处分析和交流的软件。使用具有专业外观的 Office Visio 1012 图 表,可以促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的 业务。在本项目中,它被用来构建业务流程图、数据流程等。

3

大学毕业设计

第 3 章 系统规划

第3章
3.1 问题定义
3.1.1 项目目标

系统规划

为网上商城企业提供一个 iPhone 端的 app 商城软件,提供商品浏览和关键字 搜索,加入购物,立即购买,提交订单,新建地址,地址选选择,网上支付宝支付, 确认收货,评价订单,上传图片等服务。减少企业的 pc 端的购物压力,同时又给 消费者提供更加便利的购物体验[3]。 3.1.2 项目范围 (1) iOS 系统 app 界面设计。 (2) app 功能调试、接口调试[4]。 3.1.3 初步设想 本论文所实现的主要有以下功能: (1) 商品管理:浏览商品,收藏商品,购买商品等; (2) 购物车管理:清除购物车商品,添加商品到购物车,单选、全选购物车商 品等; (3) 订单管理:提交订单、取消订单、评价订单等; (4) 分类管理:分类展示商品; (5) 搜索管理:按关键字搜索商品。 3.1.4 项目开发时间 自 2015 年 3 月 2 日项目开始设计之日起,历时 2 个月零 20 天,于 2015 年 5 月 22 日完成,如图 3-1。

3.2 可行性分析
(1) 经济可行性 该项目主要研究 iPhone 手机 app 开发, 手机 app 开发相对于网站开发要简单些, 该 app 主要运行于 iPhone 手机上,iPhone 手机是目前的主流手机,无论是性能,还 是可靠性都比较高,并且用户体验也是非常棒的。该 app 设计并不是很复杂,项目 周期相对较短,代码估计在 2 万到 3 万行。 对于企业运营来说,该 app 是和企业网站商城公用数据接口的,只要配置网站 后台商品就能同时配置好 app 的商品;并且 app 的后期维护费用比较低,而且可以 利用该 app 进行二次开发, 开发出更稳定, 功能更全面的 app, 从而把效益扩大化; 结合企业本身来说来,一个 app 使企业的商务活动更加地便利化,更加的大众化, 所以利用 app 来进行商务活动给企业的收益远远大于支出。 (2) 技术可行性
4

大学毕业设计

第 3 章 系统规划

对于项目开发来说,本系统基于 iOS8.1SDK 环境下,采用 Objective-C 语言, 搭建 C/S 结构,涉及的技术有 json 数据解析[5],http 请求[6],面对模型开发等技术, 从开发技术上是可行的。 对于 app 本身来说, 每个 app 都不仅是技术和智慧的结晶, 它更像是一个艺术品。 (3) 社会可行性 近年来随着手机的普及,各种商业活动都朝向的手机端发展,商业性企业都需 要一个 app 来支持他们的商务活动,来支持企业来进行全面的商务活动。这也符合 国家的相关政策的。

图 3-1 项目开发工作计划

5

大学毕业设计

第 5 章 系统需求

第4章

需求分析

在每个系统开发之前,都需要明确系统功能需求,系统是用来做什么,系统的 业务流程是什么样的。App 系统也是这样的,也都要进行需求分析,这些都是系统 开发必不可少的。本系统主要对功能需求和性能需求两个方面来进行分析。

4.1 功能需求分析
4.1.1 移动端需求的简单概述 (1) 商品和广告展示类包含:首页、搜索列表页、分类页、分类列表页、 商品 详情页。 (2) 购物流程:购物车页面,订单确认页,支付页,支付成功页。 (3) 登录和注册:登录页,注册页。 (4) 个人信息:包含个人基本信息页,订单列表页,订单详情页。 4.1.2 移动端每个页面详细描述 首页是 app 展示商品最重要的页面,主要能包含广告 banner 推荐产品展示、不 同商品入口展示。 通过广告位可以直接到达商品详情页, 或者到达一个指定的网页, 这样可以通过后台配置推荐商品,达到商品推荐的效果。指定的网页可以放大推广 效果,有更好的扩充效果。 (2) 分类列表页 分类列表页是展示所有商品分类,需要显示所有分类的名称,点击分类页相应 的分类, 分类可以展示分类下面的所有商品, 并且可以收回。 每个分类应该有图片、 名称、箭头下拉指示。点击不同分类进去是分类商品的列表。 (3) 商品列表显示 商品列表是显示某一个分类下面的商品或者符合某一关键词下的所有商品的 列表,并且需要有分页功能。每一行就显示一个商品,包括商品图片、名称、价格、 原价。用户还可按照销量、价格、上架时间、评价对商品进行排序。 (4) 搜索列表页 搜索列表页是用来通过关键词或者用户输入关键词来搜索商品的一个功能列 表页, 该页面可以通过切换来默认会展示关键和热门词汇, 并保存用户搜索的记录。 (5) 商品详情页 商品详情页是用来展示商品详情的,主要展示商品图片、商品名称、买点、商 品型号、价格信息。用户可选择商品数量后将商品加入购物或者选择立即购买。用 户还可点击更多信息查看到产品特征、规格参数、售后服务更多相关信息。 (6) 购物车页 (1) 首页

6

大学毕业设计

第 5 章 系统需求

购物车页是来展示购物车商品数据的,并同步电脑购物车中的商品。购物车页 面并且可以挑选商品进行结算、移除商品操作。若用户未登录,购物车显示为空。 若购物车为空,购物车页将需要提示用户去购买。 (7) 订单提交页面 订单提交页包含收货信息、配送方式、发票信息、结算商品清单、结算总价。 收货信息包含收货人姓名、电话、地址。显示运费、订单金额、优惠金额信息。 (8) 支付页面 支付页面显示支付方式是支付宝支付,并需要勾选支付宝支付才能点击确认支 付,这个可以为以后提供更多的支付方式进行扩展。点击确认支付,如果手机安装 了支付宝钱包客户端本 app 将会跳转支付钱包应用来进行支付,支付完成或者支付 取消都将返回本 app,如果手机没有安装支付宝钱包应用,本 app 将会打支付宝的 手机网页版来进行支付。 (9) 注册/登录页 如果已有账号,可以在登录页,输入用户名、密码进行登录。如果没有账号可 以在注册页,通过输入用户名、密码、确认密码,并勾选同意注册协议进行注册。 (10) 会员中心页 包含个人信息、订单信息、收货管理、浏览记录,订单信息可按照待付款、待 收货进行筛选。未登录显示未登录界面,登录显示已登录界面。订单信息需包含订 单号、订单金额、下单时间、订单状态、订单商品,已完成订单的评价相关信息 帮 助中心包含手机端版本信息、联系我们、常见问题。 根据上面的 10 条需求陈述,画出系统功能结构图,系统功能结构图可以更清 晰明了的展示系统的功能,如下图 4-1 所示

7

大学毕业设计

第 5 章 系统需求

图 4-1 系统功能结构图

4.2 性能需求
性能需求 app 系统开发中的非功能性的需求,但也是影响用户体验的一个重要 指标,任何一款 app 的功能做的再完善,性能不达标也是无法给用户一个良好体验 的。App 的性能需求一般指系统的可靠性、系统的稳定性、系统的交互性[7]等,具 体如下所示: (1) 系统界面适配屏幕不同尺寸的手机; (2) 系统反应及时,不出现卡壳; (3) 系统应该在联系操作 24 小时内不出蹦溃现象; (4) 系统界面切换应该流畅,且动画明显; (5) 系统应该具有良好的移植性和可维护性。

4.3 系统逻辑模型
4.3.1 业务流程图 业务流程图用来描述用户购买商品需要经过哪些流程,通过业务流程图可 以清楚看到用户购物流程,如图 4-2 所示。

8

大学毕业设计

第 5 章 系统需求

商品信息

用户

浏览商品

添加购物车

未提交 的订单

结算

已提交的 订单

付款

取消

已取消 的订单

已付款 的订单

审核

已审核的 订单 商家

发货 已发货的 订单

已收货的 订单

确认收货

申请退货

已申请退 货的订单

申请退货

已退货的 订单

商品信息

图 4-2 系统业务流程图

4.3.1 数据流程图 (1) 第一层数据流程图,说明了数据的数据源和终点,如图 4-3 所示。

9

大学毕业设计

第 5 章 系统需求
商品信息

D

用户

P1 商品订 单 处理商 品订单

已审订 单

P2 处理发 货

发货单

仓库管理员

商家

图 4-3 第一层数据流程图

(2) 第二层数据流程图, 是把第一层数据的流向和把处理过程分的更详细了。 如图 4-5 所示。
D1 商品信息 D2
d d 订单信息

仓库管理员

用户

P1.1 商品信息 和个人信 填写商 息 品订单

P1.2 商品订单 处理商 品订单 已审订单

P2.1 发货单 处理发 货 D3 快递公司

发货信息

商家

商家

图 4-5 第二层数据流程图

4.3.3 数据字典 (1) 数据存储条目,如表 4-1 所示。
表 4-1 数据存储条目表 编号 名称 来源 用户购买需 求 用户对购买 D2 商品订单 的商品提交 订单 商品对订单 审核通过 去处 组成 商品 id 号 订单提交 购买数量 购买时间 订单审核处 理 审核编号 审核状态 说明

D1

商品清单

发货编号 发货处理 发货状态 发货人

D3

发货单

10

大学毕业设计

第 5 章 系统需求

第5章
5.1 原型设计
5.1.1 基本草图搭建

系统设计

本商城 App 草图的搭建是根据客户的建议和在专业美工的帮助下完成的,根据 iphone 手机界面的尺寸不同界面呈现的样式就会有所不同,本草图就不一一呈现。 商城 App 主要界面草图如下所示。 (1) 图 5-1 描述的是首页的草图界面, 首页包括广告位, 和 4 个商品入口以及订 单入口有和我的收藏入口。 (2) 图 5-2 是描述点击商品入口 1 进入的详细界面, 这个界面是按楼层来进行排 版的,每个楼层包含了楼层名称、商品推广图片、商品分类。图 5-3、图 5-4、 图 5-5 也都点击主页的商品入口进入的详情界面, 就不再重复描述了。

图 5-1App 首页界面草图

图 5-2 App 商品入口 1 界面草图

11

大学毕业设计

第 5 章 系统需求

图 5-3 首页商品入口 2 草图界面

图 5-4 首页商品入口 3 草图界面

(3) 图 5-6 描述的是分类页的展示情况,包括分类的图片,分类的名称。

图 5-5 首页商品入口 4 草图界面

图 5-6 分类草图界面

(4) 图 5-7 是描述的是搜索页的界面,搜索界面包括搜索框,搜索按钮,还有推 荐的关键。点击搜索可以搜索出与用户输入的关键字有关的商品,点击默 认推荐的关键字可以搜索与默认关键有关的商品。 (5) 图 5-8 是描述购物车没有添加商品的情况, 而图 5-9 是描述购物添加了商品 的情况。

12

大学毕业设计

第 5 章 系统需求

图 5-7 搜索界面

图 5-8 购物车没有添加商品界面

(6) 图 5-10 是描述结算页面, 结算页面包含了填写收获地址和购买的商品信息, 以及提交订单的按钮,点击提交订单就到了支付页面。

图 5-9 购物车添加了商品界面

图 5-10 结算提交订单界面

(7) 图 5-11 与图 5-12 都是描述了个人中心的页面,但是图 5-11 是描述了用户 未登录的情况,在未登录状态下显示的登录框和浏览记录、常见问题、关 于商城。图 5-12 是描述了用户已登录的情况,在已登录的情况下,显示是 用户的一些信息和订单管理、地址管理、浏览记录、常见问题、意见反馈、 关于商城。

13

大学毕业设计

第 5 章 系统需求

图 5-11 个人中心未登录单界面

图 5-12 个人中心已登录单界面

(8) 图 5-13 描述的商品列表界面,商品列表是按照商品一个个横着排列的,每 个商品包含商品图片、商品名称、商品价格。 (9) 图 5-14 是图 5-13 点击商品列表上的商品进入的商品详情界面, 描述的是商 品详情,包含商品图片的轮播展示、商品信息介绍、立即购买和加入购物 车按钮。

图 5-13 商品列表界面

图 5-14 商品详情界面

(10) 图 5-15 描述的是浏览历史记录页面,里面是一个个商品记录。 (11) 图 5-16 描述的是我的订单页面,上面一栏显示的是订单状态,点击不同订 单状态可以显示不同状态的订单。中间显示的是订单列表,并且每个订单
14

大学毕业设计

第 5 章 系统需求

包含一些订单操作。比如取消订单,确认收货等操作。

图 5-15 浏览历史界面

图 5-16 我的订单界面

(12) 图 5-17 是地址管理页可以查看自己所有的地址,并且可以新增地址。点击 新增按钮就会来到图 5-18 页面,该页面可以输入地址信息。

图 5-17 地址管理界面

图 5-18 地址新增界面

5.2 系统架构设计
5.1.2 系统架构介绍 架构设计是对整个 app 系统框架的设计,做好了框架设计将会给系统带来稳定 性的提高,和增加系统的可维护性、可扩展性。所以对于 App 来说做好系统架构设 计是非常重要的,一个好的系统的架构设计要遵循以下原则:

15

大学毕业设计

第 5 章 系统需求

(1) 高内聚低耦合 高内聚低耦合[8],是软件工程中的概念,是判断设计好坏的标准,主要是面向 对象的设计,主要是看类的内聚性否高,耦合性是否低。这是保证一个系统的架构 是否符合软件工程原则的首要标准。 (2) 层次清晰和简洁 系统每个部分完成功能和目标必须是明确的,同样的功能,应该只在一个地方 实现。如果某个功能可以在系统不同的地方实现,那么,将会给后来的开发和维护 带来问题。 系统简单明了, 过于复杂的系统架构, 会带来不必要的成本和维护难度。 在尽可能的情况下,个部分应该完成一个单独并且完整的功能。 (3) 易于实现性 如果系统架构[9]的实现非常困难,甚至超出团队现有的技术能力,那么,团队 不得不花很多的精力用于架构的开发,这对于整个项目来说,可能会得不偿失。本 项目崇尚简单就是美的原则。 (4) 性能 性能对于软件系统来说是很重要的,但是,有的时候,为了能让系统得到更大 的灵活性,可能不得不在性能和其他方面取得平衡。另外一个方面,由于硬件技术 的飞速发展和价格的下降,性能的问题往往可以通过使用更好的硬件来获得提升。 (5) 可扩充性 一个系统框架, 受设计时技术条件的限制, 或者设计者本人对系统认识的局限, 可能不会考虑到今后所有的变化。但是,本系统为将来可能的变化做好准备,能够 在今后,在目前已有的基础上进行演进,迭代开发,且不会影响原有的功能。 5.1.3 App 商城系统的架构设计 App 系统分 5 个功能模块,分别是主页模块、分类模块、搜索模块、购物车模 块、个人中心模块。App 的根控制器是 UITabarController 实现不同功能模块的界面 切换。 由于功能模块又分功能子模块,所以采用 UINavigateController 作为根控制器 的子控制器,导航栏控制器可以方便的对不同控制器进行 push 操作和 pop 操作。 实现如图 5-19。

16

大学毕业设计

第 5 章 系统需求

图 5-19 系统架构图

5.1.4 App 商城系统设计模式 本 App 系统属于电子商务类系统,本身功能并不多,但是对业务处理的地方比 较多,业务逻辑相对复杂,导致进行业务操作的类比较庞大。为在降低各个业务类 和控制器之间的耦合性,和提高开发效率,增强程序的可维护性和扩展性。所以采 用 MVC 设计模式[10]。 MVC(Model View Controller 模型-视图-控制器)从 iOS 移动开发的角度上来 说:Model(模型)用来记录数据的继承 NSObject 类;View(视图)显示数据的图 层继承 UIView 类;Controller(控制器)控制业务逻辑,控制器跳转的继承 UIViewController 类。 5.1.5 MVC 模式的好处 耦合性低:将每个层次的功能划分的详情做到与业务层分离,这样就可以更改 一个层次上的代码而不需要更改其他层次上的代码,同样,一个业务逻辑的修改或 者功能的改变只需要改动 MVC 的某一个层次即可。 因为每个层次都有独立的分工, 所以很容易修改业务逻辑或者功能需求。 重用性高:视图层专门负责显示,视图层传递什么模型数据,视图就可以先显 示,多个视图可以共用一个模型,这样一个模型就适用不同的视图层。 有利项目工程代码的管理:随着项目越做越大,项目代码越来越多,在庞大的 项目去寻找一个类一个文件是件不容易的事情,利用 MVC 模式对代码文件进行分 类,可以快速的定位文件,如图 5-20。

17

大学毕业设计

第 5 章 系统需求

图 5-20 利用 mvc 模式划分的项目结构图

5.2 数据库设计
5.2.1 各实体 E-R 图 (1) 商品实体 E-R 图描述了商品在系统中的属性,分别是:商品 id、标题、产 品图片、规格、分类、详细信息、商家 id、商城价、市场家、库存等,如图 5-17 所示。

图 5-17 商品实体 E-R 图

(2) 用户实体 E-R 图描述了用户在系统中的属性分别是:用户 id、用户名、用 户密码、积分、创建时间等,如图 5-18 所示。

18

大学毕业设计

第 5 章 系统需求

图 5-18 用户实体 E-R 图

(3) 购物车实体 E-R 图描述了购物车在系统中的属性分别是: 用户 id、 购物车 id、商品 id、创建时间等,如图 5-19 所示。

图 5-19 购物车实体 E-R 图

(4) 商家实体 E-R 图描述了商家在系统中的属性分别是:商家 id、商家名称、 商家描述、联系方式、创建时间等,如图 5-20 所示。

图 5-20 商家实体 E-R 图

(5) 订单实体 E-R 图描述了订单在系统中的属性分别是:订单状态、地址 id、 用户 id、订单 id、购物车 id、商品 id、创建时间、邮费等,如图 5-21 所示。

19

大学毕业设计

第 5 章 系统需求

图 5-21 订单实体 E-R 图

(6) 地址实体 E-R 图描述了地址在系统中的属性分别是:详细地址、省市区、 地址 id、用户 id、联系方式、邮编等,如图 5-22 所示。

图 5-22 地址实体 E-R 图

(7) 广告实体 E-R 图描述了广告在系统中的属性分别是:广告 id、商品路径、 标题、广告类型、图片路径等,如图 5-23 所示。

图 5-23 广告实体 E-R 图

(8) 秒杀实体 E-R 图描述了秒杀在系统中的属性分别是:秒杀 id、商品 id、开 始时间、结束时间、秒杀价格、原价等,如图 5-23 所示。

20

大学毕业设计

第 5 章 系统需求

图 5-23 秒杀实体 E-R 图

(9) 品牌实体 E-R 图描述了品牌在系统中的属性分别是:商家 id、商家名称、 商家描述、联系方式、创建时间等,如图 5-24 所示。

图 5-24 品牌实体 E-R 图

(10) 收藏实体 E-R 图描述了收藏在系统中的属性分别是: 商家 id、 商家名称、 商家描述、联系方式、创建时间等,如图 5-25 所示。

图 5-25 收藏实体 E-R 图

5.2.2

数据表之间的关系 数据表的关系主要是展现该系统中的所有数据表所拥有的属性,以及数据表之

间的主、外键之间的设置,如图 5-26 所示

21

大学毕业设计

第 5 章 系统需求

生成时间 市场价 分类 标题 商品id 添加 1 图片 商品 1 库存 规格 n 详细 信息 购物车 创建时 间 生成 生成时 间 用户 1 用户id 用户名 用户密 码 积分

商家id

1 购物车id 商家名 称 商家id 创建时 间 商家描 述 联系方 式 订单 m n 邮费id 商家 1 审核时 间 审核结 果 用户id 订单状 态 地址id 1 审核 订单id 拥有 1 n 商品id

拥有

n 品牌

品牌id

品牌名 称

品牌介 绍

图 5-26 系统实体 E-R 图

22

大学毕业设计

第 6 章 系统实施

第6章

系统实施

本 App 属于电子商务类 app,经过分析设计后,App 分为 5 个模块,分别是首页 (Home)、分类(category)、搜索(search)、购物车(shoppingcart)、会员中心 (more)每个模块控制器需要连续 Push 进行切换下一个界面。所以 App 根控制器采 用 UITabarController 控制器,tabar 子控制器为 UINavigationController 控制器,下一 级才是子控制器。如图 5.2.2-1。 UITabarController、UINavigationController 都属于系统类,光靠系统的类是无法 满足系统实施需要的,下面就介绍 UITabarController、UINavigationController 的自定 义方法。

6.1 自定义 UITabarController 和 UINavigationController
6.1.1 自定义 UITabarController 一般自定义系统的控件不需要完全实现自定义,一般做法是先继承系统的控件, 然后在系统的基础上扩充原有的功能。 (1) 继承系统UITabarController,@interface GWTabBarController : UITabBarController //:语法在Object-C中是继承[11]。 (2) 扩充方法 方法1:-(void)addAllController{}//方法名以减号开头表示对象方法,{}表示方法 的开始与结束,该方法作用添加所有的子控件。 方法2:-(void)addChildViewController:(UIViewController *)childVc title:(NSString *)title imageName:(NSString *)imageName selectedIamgeName:(NSString *)selectedImageName{}//:表示要传递参数,( )里面表示参数类型,childVc表示参数 名。该方法作用为tabarController添加单个子控件,并且设置标题,图标,选中的图 标。 (3) 方法内容 /** * 添加所有子控件 */ -(void)addAllController { GWHomeVc *home=[[GWHomeVc alloc]init]; self.home=home; [self addChildViewController:home title:@"主页" imageName:@"home" selectedIamgeName:@"home_highted"]; CLTreeViewController *category=[[CLTreeViewController alloc]init];
23

大学毕业设计

第 6 章 系统实施

self.category = category; [self addChildViewController:category title:@"分类" imageName:@"category" selectedIamgeName:@"cagetory_highted"]; GWSearchVc *explore=[[GWSearchVc alloc]init]; self.search = explore; [self addChildViewController:explore title:@"搜索" imageName:@"search" selectedIamgeName:@"search_highted"]; GWShoppingCarVc *profile=[[GWShoppingCarVc alloc]init]; self.shoppingCar = profile; [self addChildViewController:profile title:@"购物车" imageName:@"carimg" selectedIamgeName:@"carimg_highted"]; GWMoreVc *more=[[GWMoreVc alloc]init]; self.more = more; [self addChildViewController:more title:@"更多" imageName:@"more_highted" selectedIamgeName:@"more"]; } /** * 添加一个子控制器 * * @param childVc * @param title * @param imageName */ -(void)addChildViewController:(UIViewController *)childVc title:(NSString *)title imageName:(NSString *)imageName selectedIamgeName:(NSString *)selectedImageName{ childVc.tabBarItem.title=title; childVc.navigationItem.title=title; childVc.tabBarItem.image=[UIImage imageNamed:imageName]; UIImage *selectedImage = [UIImage imageNamed:selectedImageName]; // 在iOS7中, 会对selectedImage的图片进行再次渲染为蓝色 // 设置tabBarItem的普通文字颜色 NSMutableDictionary *textAttrs = [NSMutableDictionary dictionary]; 子控制器对象 标题 图标

* @param selectedImageName 选中的图标

24

大学毕业设计

第 6 章 系统实施

textAttrs[UITextAttributeTextColor] = [UIColor grayColor]; textAttrs[UITextAttributeFont] = [UIFont boldSystemFontOfSize:13]; [childVc.tabBarItem setTitleTextAttributes:textAttrs forState:UIControlStateNormal]; // 设置tabBarItem的选中文字颜色 NSMutableDictionary *selectedTextAttrs = [NSMutableDictionary dictionary]; selectedTextAttrs[UITextAttributeTextColor] = [UIColor colorWithRed:66/255.0 green:158/255.0 blue:205/255.0 forState:UIControlStateSelected]; if (IOS7) { // 声明这张图片用原图(别渲染) selectedImage = [selectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; } childVc.tabBarItem.selectedImage=selectedImage; GWNavigationController *nc=[[GWNavigationController alloc]initWithRootViewController:childVc]; [self addChildViewController:nc]; } 6.1.2 自定义 UINavigationController (1) 重写系统方法+(void)initialize{}//以加号开头的方法表示类方法,该方法在类 第一次初始化的时候调用,且有且仅调一次。 (2) 自己实现 2 个方法+(void)setUpBabBarItemTheme{}//该方法作用://设置 UIBarButtonItem 外观、+(void)setUpNavigationBarTheme{}//该方法作用:设 置 UINavigationBar 的外观。 (3) 主要代码实现 +(void)initialize { //设置UIBarButtonItem外观 [self setUpBabBarItemTheme]; //设置UINavigationBar的外观 [self setUpNavigationBarTheme]; } +(void)setUpBabBarItemTheme { alpha:1]; [childVc.tabBarItem setTitleTextAttributes:selectedTextAttrs

25

大学毕业设计

第 6 章 系统实施

// 颜色

拿到UIBarButtonItem外观属性 设置UIControlStateNormal状态下的字体和

UIBarButtonItem *appearance=[UIBarButtonItem appearance]; appearance.tintColor = [UIColor whiteColor];//设置颜色 NSMutableDictionary *attars=[NSMutableDictionary dictionary];//初始化一个字典 attars[UITextAttributeFont]=[UIFont systemFontOfSize:15];//字典中保存字体大小 attars[UITextAttributeTextColor]=[UIColor whiteColor]; ;//字典中保存字体颜色 attars[UITextAttributeTextShadowOffset] = [NSValue valueWithUIOffset:UIOffsetZero]; ;//字典中保存字体阴影偏差 [appearance setTitleTextAttributes:attars forState:UIControlStateNormal]; // 设置UIControlStateHighlighted状态的的字体和颜色 NSMutableDictionary *hightAttars=[NSMutableDictionary dictionary]; hightAttars[UITextAttributeFont]=[UIFont systemFontOfSize:15]; hightAttars[UITextAttributeTextColor]=[UIColor whiteColor]; hightAttars[UITextAttributeTextShadowOffset] = [NSValue valueWithUIOffset:UIOffsetZero]; [appearance setTitleTextAttributes:hightAttars forState:UIControlStateHighlighted]; // 设置UIControlStateDisabled状态的的字体和颜色

NSMutableDictionary *disableAttars=[NSMutableDictionary dictionary]; disableAttars[UITextAttributeFont]=[UIFont systemFontOfSize:15]; disableAttars[UITextAttributeTextColor]=[UIColor lightGrayColor]; // 去点阴影 disableAttars[UITextAttributeTextShadowOffset] = [NSValue valueWithUIOffset:UIOffsetZero]; [appearance setTitleTextAttributes:disableAttars forState:UIControlStateDisabled];// 设置字典中保存的字体属性给UIBarButtonItem } +(void)setUpNavigationBarTheme { UINavigationBar *appearance = [UINavigationBar appearance]; [appearance setBackgroundImage:[UIImage imageNamed:@"list-header"] forBarMetrics:UIBarMetricsDefault]; // 设置文字属性

26

大学毕业设计

第 6 章 系统实施

NSMutableDictionary *textAttrs = [NSMutableDictionary dictionary]; textAttrs[UITextAttributeTextColor] = [UIColor whiteColor]; // UITextAttributeFont --> NSFontAttributeName(iOS7) textAttrs[UITextAttributeFont] = [UIFont systemFontOfSize:20]; // UIOffsetZero是结构体, 只要包装成NSValue对象, 才能放进字典\数组中 textAttrs[UITextAttributeTextShadowOffset] = [NSValue valueWithUIOffset:UIOffsetZero];//用NSValue包装结构体为对象 [appearance setTitleTextAttributes:textAttrs]; //设置字典中保存的字体属性给UINavigationBar } 这样就完成了UITabarController和UINavigationController的自定义, 整个框架如图 5-19也搭建完成了。 6.1.3 分类模块 本模块主要实现商品分类数据实现三级下拉菜单。点击一级菜单能展开二级菜 单,点击二级菜单能展示出三级菜单,反之点击能收起,各级菜单。一级菜单包括展 示商品大分类,二级菜单展示商品的小分类,三级菜单展示商品分类。点击三级的商 品分类,能够跳往商品分类的商品列表。 (1) 结点设计模式。三级菜单每一级菜单当做一个节点。如图 6-1。

图6-1节点图

(2) 节点数据设计。当节点 1 拿到数据它将为节点 2 设置数据,当节点 2 拿到数 据它将为节点 3 设置数据,如图 6-2。每个节点应该有以下属性:节点所处的 层次、节点的类型、节点数据、节点是否展开、子节点。因每个节点都以上 属于所以考虑创建一个抽象类做为所有节点的父类。

27

大学毕业设计

第 6 章 系统实施

图6-2节点模型图 节点父类的代码实现:

@interface CLTreeViewNode : NSObject { id _nodeData;//id修饰的属性不会自动生成_id的成员变量[12] } @property (nonatomic) int nodeLevel; //节点所处层次 @property (nonatomic) int type; //节点类型 @property (nonatomic) id nodeData;//节点数据 @property (nonatomic) BOOL isExpanded;//节点是否展开 @property (strong,nonatomic) NSMutableArray *sonNodes;//子节点 @end 节点1类的.h文件代码实现: @interface Node0 : CLTreeViewNode//继承父类 @property (nonatomic,strong) Node1* node1;//节点数据 节点1类的.m文件代码实现: @implementation Node0 -(int)type{//重写getTypy方法 返回0表示节点1 return 0; } -(int)nodeLevel{//重写getNodeLevel方法返回0表示级别1 return 0; } -(void)setNodeData:(Node0_data_model *)nodeData//重写setNodeData方法, 当自己 拿到数据为第2个节点设置
28

大学毕业设计

第 6 章 系统实施

{ _nodeData = nodeData; self.sonNodes = [NSMutableArray array];//初始化可变数组 for ( Node1_data_model *model in nodeData.childs) {//遍历nodeData.childs数 组 Node1 *node1 = [[Node1 alloc]init]; node1.nodeData = model; [self.sonNodes addObject:node1]; } } @end 节点2类的.h文件代码实现: @interface Node1 : CLTreeViewNode @property (nonatomic,strong) Node2* node2;//节点数据 @end 节点2类的.m文件代码实现: @implementation Node1 -(int)type{//重写getTypy方法 返回1表示节点2 return 1; } -(int)nodeLevel{ return 1; } -(void)setNodeData:(Node1_data_model *)nodeData { _nodeData = nodeData; self.sonNodes = [NSMutableArray array]; for ( Node2_data_model *model in nodeData.childs) { Node2 *node2 = [[Node2 alloc]init]; node2.nodeData = model; [self.sonNodes addObject:node2]; } }

29

大学毕业设计

第 6 章 系统实施

节点3类的.h文件代码实现: @interface Node2 : CLTreeViewNode @end 节点3类的.m文件代码实现: @implementation Node2 -(int)type{ return 2; } -(int)nodeLevel{ return 2; } @end (3) 数据解析 利用网络请求类,从服务器请求得到的数据是JSON类型的。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 由于数据比较多,本文只挑选一段数据进行解析。格式化JSON: responseJson = { "className": "休闲食品、地方特产", "classid": 70069, "level": 0, "childs": [ { "className": "休闲食品", "classid": 70073, "level": 1, "childs": [{"className": "坚果炒货", "classid": 70094, "level": 2, "parent": 70073, "recommend": true }], "parent": 70069,

30

大学毕业设计

第 6 章 系统实施

"recommend": true } ], "parent": "", "recommend": true, "class_iconn": "http://www.gwwg.com/upload/class_icon/dab3caab-c506-4e98-a21f-387cbe776d0a.png" } 服务器返回的JSON数据其实对应的是Object-C的字典类型,可以通过字典类 接收服务器返回的json数据,然后再逐步解析字典数据。 NSDictionary * responseDictus = responseJson; NSString *className = responseDictus[@” className”]; NSString * classid = responseDictus[@” classid”]; NSString * level = responseDictus[@” level”]; NSArray *childs = responseDictus[@” childs”]; NSString * parent = responseDictus[@” parent”]; NSString * recommend = responseDictus[@” recommend”]; NSString * class_iconn = responseDictus[@” class_iconn”]; 这样想要的数据就能被解析出来了。 当然还有更简便的方法,可以利用别人的写的一些框架来进行解析JSON数据, 例如MJExtension下载地址(https://github.com/CoderMJLee/MJExtension.git)这里就不 详细介绍了。 (4) 控制器代码展示 -(void) addTestData{//该方法为获取数据 UIActivityIndicatorView * act = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];//创建一个延迟 指示器 [act startAnimating];//指示器开始动画 act.color = [UIColor grayColor];// 设置指示器颜色 act.center = self.view.center;// 设置指示器位置 act.y = act.y - 64; // 设置指示器位置 [self.view addSubview:act]; // 添加指示器到控制器的视图上

31

大学毕业设计

第 6 章 系统实施

[GWHttpTool get:@"http://www.gwwg.com/app/getGoodsClass.htm" params:nil success:^(id responseObj) {//异步下载数据 _dataArray = [NSMutableArray array]; NSMutableArray *modelAarray = [NSMutableArray arrayWithArray:[Node0_data_model objectArrayWithKeyValuesArray: responseObj[@"goodsClassList"]]];//利用MJExtension解析数据 for (Node0_data_model *model in modelAarray) {//添加节点数据 Node0 *node0 = [[Node0 alloc]init]; node0.nodeData = model ; [act removeFromSuperview]; [_dataArray addObject:node0]; } self.myTableView.hidden = NO;//显示节点视图 [self reloadDataForDisplayArray];//刷新节点数据 } failure:^(NSError *error) { [act removeFromSuperview];//移除指示器 [MBProgressHUD showError:@"网络不给力!请检查网络"]; NSLog(@"error %@",error); }]; } -(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{//返回每一个节点视图 static NSString *indentifier = @"level0cell";//设置节点1的重用id static NSString *indentifier1 = @"level1cell";//设置节点2的重用id static NSString *indentifier2 = @"level2cell";//设置节点3的重用id CLTreeViewNode *node = [_displayArray objectAtIndex:indexPath.row]; if(node.type == 0){//类型为0的cell CLTreeView_LEVEL0_Cell *cell = [tableView dequeueReusableCellWithIdentifier:indentifier]; if(cell == nil){ cell = [[[NSBundle mainBundle] loadNibNamed:@"Level0_Cell" owner:self options:nil] lastObject];

32

大学毕业设计

第 6 章 系统实施

} cell.node = (Node0*)node; [self loadDataForTreeViewCell:cell with:node];//重新给cell装载数据 [cell setNeedsDisplay]; //重新描绘cell return cell; } else if(node.type == 1){//类型为1的cell CLTreeView_LEVEL1_Cell *cell = [tableView dequeueReusableCellWithIdentifier:indentifier1]; if(cell == nil){ cell = [[[NSBundle mainBundle] loadNibNamed:@"Level1_Cell" owner:self options:nil] lastObject]; } cell.node = (Node1*)node; [self loadDataForTreeViewCell:cell with:node]; [cell setNeedsDisplay]; return cell; } else{//类型为2的cell CLTreeView_LEVEL2_Cell *cell = [tableView dequeueReusableCellWithIdentifier:indentifier2]; if(cell == nil){ cell = [[[NSBundle mainBundle] loadNibNamed:@"Level2_Cell" owner:self options:nil] lastObject]; } cell.node = (Node2*)node; [self loadDataForTreeViewCell:cell with:node]; [cell setNeedsDisplay]; return cell; } }

6.2 App 系统主要界面展示
在第5章系统原型设计中,展示了一些系统的原型设计图,而这里展示的是系统

33

大学毕业设计

第 6 章 系统实施

实施完成后的界面图。 (1) 主页页面截图,如图6-1所示,分类页面截图如6-2所

图6-1主页截图

图6-2分类页截图

(2) 搜索页截图,如图6-3所示,品牌墙页面截图如6-4所示。

图6-3搜索页截图

图6-4品牌墙截图

(3) 购物车1截图,如图6-5所示,购物车2截图如6-6所示。

34

大学毕业设计

第 6 章 系统实施

图6-5购物车1页面

图6-6购物车2页面

(4) 个人中心未登陆界面截图,如图6-7所示,商品详情界面截图如6-8所示。

图6-7个人中心未登录界面截图

图6-8商品详情界面截图

(5) 地址列表界面截图,如图6-9所示,新建地址界面截图如6-10所示。

35

大学毕业设计

第 6 章 系统实施

图6-9地址列表页面截图

图6-10新建地址页面截图

6.3 测试记录表
测试记录具体如下 6.2.3 -1– 6.2.3-11 所示。 表 6-2 编号 01 测试记录表 测试编号 输入 预期输出 01 测试名称 登录测试

用户名:123456 密码:123456 密码或用户名错误

实际输出

评价

测试通过



36

大学毕业设计

第 6 章 系统实施

表 6-3 编号 02 测试记录表 测试编号 输入 预期输出 实际输出 评价 02 点击退出按钮 退出账号回到登陆界面 退出账号了回到登陆界面 测试通过 表 6-4 编号 03 测试记录表 测试编号 输入 预期输出 实际输出 评价 03 点击商品列表的商品 界面跳转到商品列表,并且显示正确的商品 界面跳转到了商品列表,并且显示了正确的商品 测试通过 表 6-5 编号 04 测试记录表 测试编号 输入 预期输出 实际输出 评价 04 点击立即购买按钮 界面跳转购物车,商品会被添加到购物车 界面成功跳转到了购物车,并且商品成功的添加到了购物车 测试通过 √ 测试名称 部门添加 √ 测试名称 动作事件测试 √ 测试名称 登录测试

表 6-6 编号 05 测试记录表 测试编号 输入 预期输出 实际输出 评价 点击收藏 提示收藏成功 提示了收藏成功 测试通过 表 6-7 编号 06 测试记录表 测试编号 06 测试名称 用车申请 √ 05 测试名称 车辆更新

37

大学毕业设计

第 6 章 系统实施

输入 预期输出 实际输出 评价

点击提交订单 订单提交成功,跳转结算页面 订单提交成功了,成功跳转到结算页面 测试通过 表 6-8 编号 07 测试记录表 √

测试编号 输入 预期输出

07 点击支付按钮 跳转支付宝支付

测试名称

重复审核

实际输出

评价

测试通过 表 6-9 编号 08 测试记录表



测试编号 输入 预期输出 实际输出 评价

08 点击新建地址

测试名称

派车

跳转到新建地址界面,并且能新建地址 界面跳转成功,并且可以新建地址成功 测试通过 表 6-10 编号 09 测试记录表 √ 09 点击取消订单 订单取消成功,订单状态变为已取消 订单取消成功了,订单状态也变为了已取消,但是订单新加 测试名称 参数传递测试

测试编号 输入 预期输出 实际输出

38

大学毕业设计

第 6 章 系统实施

了一个 评价 测试不通过 表 6-11 编号 10 测试记录表 测试编号 输入 预期输出 实际输出 评价 10 点击浏览删除按钮删除 所有浏览记录被删除 点击按钮后浏览记录没有变化 测试不通过 × 测试名称 回车记录删除 ×

6.4 测试评估
系统在开发实施的过程中, 就对各模块就进行了比较严格的测试,在开发的过程 中,主要以白盒测试,对代码进行调试,性能调优。主要检查语法错误,逻辑错误, 功能不达标的情况。在实际的软件测试中,系统实际经过了单元测试、子模块测试, 以及集成测试这个阶段的全面测试。并对已发现的 bug 及性能问题做出了不断的修 改。 保证了系统能够正常的运行。但是系统在实际的使用过程中还是无法避免出现一 些 bug,一个好的系统要经过不断的使用,不断的发现 bug,不断的修改系统的不足, 才 能 更 加 的 稳 定 , 更 加 的 走 上 成 熟 。

39

大学毕业设计

第 7 章 系统评估

第7章
7.1 系统完成情况

系统评估

通过前面几个月紧张的设计和开发,系统已经初步完成,下面总结了系统完成 情况。系统总结评估表如表 7-1 所示。
表 7-1 系统总结评估表 序号 内容 完成情况 原因说明 本系统在开发前,准备工作做的比较 1 项目是否按照进度计划完成 是 充分,后期开发中得到了老师和同学的帮 助,使得项目按照了计划进度进行。 草图设计得到了专业美工的建议和一 2 用户体验是否良好 良好 些用户的使用意见,在开发当中,及时修 改了体验不好的地方。 符合 通过后期的测试,项目是符合立项的 要求的, 用可以完成一个完整的购物流程。

3

项目是否符合业务需求

4

系统稳定性是否满足要求

满足

就后期的测试情况来看,系统的稳定 是比较高的,在测试过程中没有一次程序 奔溃的情况,并且做了异常处理。

5

系统是否支持迭代开发

支持

系统设计模式严格按照 MVC 模式来开 发,每个模块的耦合性比较低,修改某一 个模块对整个系统影响较低,这样很利于 系统的扩展。

7.2 实际工作开发进度
实际工作开发进度甘特图如图 7-1 所示。

7.3 系统评估
本系统存在一些不足如下: (1) 本系统是存在安全性的,比如用户登录没有对账户和密码进行加密处理, 很容易一些网络请求拦截工具获得请求参数就能破解用户名和密码了。
40

大学毕业设计

第 7 章 系统评估

(2) 本系统没有建立系统奔溃信息记录保存。 (3) 本系统有一些图片没有完美适配 iPhone6、iPhone6 plus。 (4) 本系统没有建立定期清除缓存功能,随着系统的使用,磁盘的缓存会越来 越多,会占据一定手机的内存空间。 (5) 改进意见: (6) 对登录请求中的账户和密码参数进行 MD5 加密处理, 这样就不会直接暴露 用户名和密码。 (7) 给系统增加一套系统奔溃信息处理机制,在系统奔溃前记录利用邮件发送 至服务器。 (8) 后期给系统图片进行优化,增加系统使用的设备判断,根据不同的系统加 载不同的图片。 (9) 增加定期清除缓存功能,每隔 15 天定期清除系统缓存。

图 7-1 实际工作计划

41

大学毕业设计

总结与展望

总结与展望

本 app 系统主要实现一个 B2C 的手机商城系统,提高用户对 B2C 商品浏览的 便捷性、购买的便捷性,提高用户的购买欲望,实现整个购物流程的移动化而设计 的。本 app 分为 5 个模块分别是主页、分页、搜索、购物车、更多(个人中心), 每个模块都是必不可少的,都是密不可分的,这样就构成一个完整的 app 系统。本 app 系统需要依赖服务器才能进行工作,app 系统主要负责数据展示功能,并不能 做一些复杂的数据处理功能,所以说 app 系统在面对数据是一个被动的过程。系统 最后实现了所有的功能,通过了多次 bug 的修改,但是系统还是有一些缺陷的。 在本次的开发与设计过程中,自己也学到了很多开发经验,从项目的框架选择 到设计模式的选择,从数据库的表建设到 app 算法的优化都得到了深深的体会。这 些都是很宝贵的经验。尽管在开发当中遇到了不少的困难,但是经过自己的努力和 老师的帮助,最终这困难都被克服了,自己的能力也提升了。我相信在下次的项目 开发中我能够做的更好。

42

大学毕业设计

致 谢

致 谢

在本系统的开发过程中,首先要感谢的是我的导师,每次有问题的都是导师第 一个帮我解决问题,而且每次都很细心并且很耐心的指导我,其次要感谢我的同学 的帮助和公司积极的配合。在本次系统开发中,由于自己之前是培训过 iOS 开发, 对 Object-C 语言和 iPhone 开发都比较了解了,所以开发本系并没有遇到很多大问 题,但是还有很多细节问题肯定是做的不好的。在这里同学和公司的同事都给我提 了很多建议和修改意见,所以才使得我的系统更加的完善。在进行数据库表设计的 过程,遇到了一些问题,都是老师耐心的讲解,我才会如何建立主键和外键以及表 与表之间的依赖等等一些需要注意的问题。在论文后期,老师也是不厌其烦的帮我 修改和完善。 最后,我想感谢所有教过我的老师们,感谢你们愿意付出汗水来培养我,感谢 你们的教会我的知识,让我终身受用。

43

大学毕业设计

致 谢

参考文献

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

管蕾. iOS 8 开发指南,2010,36(1055).人民邮电出版社, 2014.10. 康会光, 马海军, 李颖 等著 SQL Server 2008 中文版标准教程[M]. 北京:清华大学出版社,2009.3. Saul GreenbergRill Buxton 等.用户体验草图设计工具手册(全彩). 电子工业出版社,2014.5. 朱元皮.iOS 8 案例开发大全.人民邮电出版社,2015.2. 张才千,李梓萌等 iOS 开发从入门到精通.北京希望电子出版社. 上野宣.图解 HTTP.人名邮电出版社,2014,5. 马莘权.全模型软件系统设计.吉林大学出版社,2013.6. 张海藩.软件工程导论(第 6 版).清华大学出版社,2013.8. 邓建德. 软件系统架构与开发环境.机械工业出版社,2013.11. 刘济华. 漫谈设计模式:从面向对象开始[M].北京:清华大学出版社, 2012.1.

[11] [美]Scott Knaster Waqar Malik Mark Dalrymple 著 周庆成(译).Objective-C 基础教程(第 2 版).人民邮电出 版社.2013.2. [12] Stephtn G.Kochan 著.Objective-C 程序设计(第 4 版).电子工业出版社,2014.3.

44


更多相关文档:

在线手机商城的设计与实现.doc

在线手机商城的设计与实现_计算机软件及应用_IT/计算机...课程设计任务该系统主要完成在线手机类产品买卖交易...手机中文输入法的设计与... 67页 1下载券 手机在线...

在线商城系统的设计与实现_图文.doc

在线商城系统的设计与实现 - 摘 要 随着 Web 技术的发展以及人们购物心态的转变, 网上购物已经成为时尚一族 的购物首选。 而网上商城系统也随之不断完善。目前各...

基于IOS的网上商城APP设计与实现_图文.doc

基于IOS网上商城APP设计与实现 - 龙源期刊网 http://www.qikan.com.cn 基于 IOS 网上商城 APP 设计与实现 作者:吴大非 张欢 来源:《电脑知识与技术》...

在线手机商城的设计与实现.pdf

在线手机商城的设计与实现 - 本文的主要目的是开发一个功能完善、使用方便、兼容性较好的手机销售管理系统。利用该系统,手机销售工作人员可以对现有的手机信息进行...

基于Android平台的移动手机商城设计与实现.doc

基于Android平台的移动手机商城设计与实现_计算机软件及...与苹果 ipa

电子商城系统的设计与实现毕业设计说明书.doc

电子商城系统的设计与实现毕业设计说明书 - 福建农林大学本科毕业设计说明书 论文题目: 电子商城系统的设计与实现 福建农林大学本科毕业设计说明书 Design and Develop...

基于Android的网上商店系统的设计与实现.doc

基于Android网上商店系统的设计与实现 - XXXX 大学 毕业论文作学者

电子商城的设计与实现.doc

电子商城的设计与实现 - 毕业论文,计算机设计,信息系统设计,毕业设计,论文参考

手机商城系统毕业设计_图文.doc

手机商城系统毕业设计 - 单位代码 10642 密级 公开 学号 201120171020 学士学位论文 手机电子商城系统的设计与实现 论文作者:廖 豪 指导教师:刘元勇学...

网上数码商城系统的设计与实现.doc

网上数码商城系统的设计与实现_信息与通信_工程科技_专业资料。网上数码商城系统的设计与实现 asp+sql2000 哈尔滨商业大学毕业设计(论文) 哈尔滨商业大学毕业设计(论文...

基于android手机商城客户端的开发与实现.doc

基于手机端的在线购物系统能使大众随时随地选购自己 ...本设计是基于 Android 手机商城客户端的设计与实现,...与 iPhone 相似,Android 采用 WebKit 浏览器引擎,...

基于BS的网络商城系统的设计与实现.doc

基于BS网络商城系统的设计与实现 - DONGFANG COLLEGE,FUJIAN AGRICULTURE AND FORESTRY UNIVERSITY 实验名称: 基于 B/S 网络...

SCADA系统设计与实现的原型法.pdf

SCADA系统设计与实现原型法 - 文中力求从广义角度看待原型化方法,论述了SCADA系统开发策略及采用增量式原型法开发SCADA系统的全过程,阐明了系统快速生成依赖于...

毕业设计-基于SSH网上商城的设计与实现.doc

摘要 摘要本文讲述了基于 SSH 框架网上商城购物系统的设计与实现。所谓网上商 城购物系统是通过网站推广互联企业商品和技术服务,并使客户随时可以了解 企业和...

(唐成林)基于Java的电子商城管理系统的设计与实现(二稿).doc

(唐成林)基于Java电子商城管理系统的设计与实现(二稿)_管理学_高等教育_

网上商城系统设计与实现论文_毕业论文.doc

网上商城系统设计与实现论文_毕业论文 - 网上商城系统 管理员子功能模块 学专 院: 业: 软件学院 软件工程 指导教师: 2014 年 9 月 网上商城系统管理员子功能...

基于JAVA的网上商城系统的设计与实现(论文)附件.pdf

基于JAVA网上商城系统的设计与实现(论文)附件 - 本科毕业设计(附件) 题目:基于 Java 网上商城系统的 设计与实现 院 (系) :计算机科学与工程学院 专班学...

SSH框架下基于JSP网上商城系统的设计与实现.doc

SSH框架下基于JSP网上商城系统的设计与实现_计算机软件及应用_IT/计算机_专业资料。毕业设计论文 SSH框架下基于JSP网上商城系统的设计与实现 湖南城市学院 毕业设计...

网络购物系统的设计与实现毕业论文_图文.doc

摘要 本次毕业论文题目为乐淘购物系统的设计与实现。...采用快速原型法来实现,系统本系统界面友好,而且操作...文档贡献者 苹果可乐 贡献于2016-05-25 ...

基于Java的商城网站系统的设计与实现_图文.doc

基于Java的商城网站系统的设计与实现 - 基于Java和Struts2、spring、hibernate、整合框架的商城网站的设计开发过程的毕业论文

更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com