1、河北农业大学 本科毕业论文(设计)题 目:汽车销售系统的设计与实现-车辆管理模块摘要随着人们生活水平的提高,汽车已经逐步的成为了人们的主要代步工具。买车已然成为一种趋势。拥有一款好的车辆管理的软件,既可以全面、直观地展示车辆的信息,又大大的提高了销售人员的工作效率。移动客户端的车辆管理工具,将必然取代传统的管理方式。本课题是用ObjectiveC语言作为开发语言,运用xcode工具进行代码的实现与编译,并且运用SQLite3数据库进行数据的调用。基于iOS系统的iPhone系列智能手机在我国一线城市智能手机持有者中占据了相当大的比重。基于iOS系统的车辆管理模块,其数据来源是基于Oauth2.
2、0协议认证的API。本文主要介绍汽车销售系统中的车辆管理模块的相关内容。分析了系统该部分实现的相关技术原理,可行性,介绍了车辆管理的系统实现的系统架构,并在对系统这两个模块分析后进行了相应的划分及设计。客户端主要实现了:查询汽车的基本信息,添加车辆,删除车辆,搜索现有车辆中的某种车辆等功能。关键词:Objective-C,iOS,SQLite3,汽车销售系统,车辆管理模块Abstract With the improvement of peoples living standard, automobiles have gradually become the main means of tra
3、nsport for people. The car has become a new trend. Have a good vehicle management software, which can be comprehensive, intuitive display of the vehicle information, and greatly improves the work efficiency of sales personnel. Vehicle management tool of mobile client, will replace the traditional ma
4、nagement mode.This project is using Objective C as a development language, the use of Xcode tools for the realization of the code and compiled, and the use of SQLite3 database for data calls. The iOS system of iPhone series intelligent mobile phone occupies a large proportion in our country first-ti
5、er cities based on intelligent mobile phone holder. Vehicle management module based on iOS system, the data source is the Oauth2.0 authentication protocol based on API.This paper mainly introduces the related content of vehicle management module in the system of auto sales. Analysis of the system of
6、 the related technical principles, feasibility, introduces the system architecture and implementation of the system of vehicle management, and on the analysis of the two module system are classified and corresponding design. The client was realized: the basic information query, add delete car vehicl
7、e, vehicle, search a vehicle in the existing vehicle functions.Keywords: Objective-C, iOS, SQLite3, car sales system, vehicle management module目录1 概述11.1开发背景、目的及意义11.2开发环境11.3 技术概述11.3.1 Xcode概述11.3.2 SQLIte3简介21.3.3 MVC模式简介32 基于IOS平台客户端需求分析与设计42.1 系统需求分析42.1.1应用目标42.1.2 作用及范围42.1.3功能分析42.2 系统预期实现目标
8、42.2.1 预期目标42.2.2 基本框架图53 基于ios平台车辆管理小助手的设计与实现63.1 车辆管理模块App助手主页功能设计63.1.1 主界面视图63.1.2 汽车大全视图73.1.3 车辆基本信息视图73.1.4 进货视图83.1.5 出售视图93.1.6 购买成功视图104 数据库的设计与实现124.1数据库设计124.2数据库设计的主要代码124.1.1 创建数据的表的部分代码124.1.2 购置一款新车的主要代码134.1.3 卖出一辆车的数据库代码14结论15致谢16参考文献171 概述1.1开发背景、目的及意义随着网络的飞速发展,移动互联时代的到来,大大加速了手机软件
9、的开发与应用。移动互联网(MobileInternet, 简称MI)是一种通过智能移动终端,采用移动无线通信方式获取业务和服务的新兴业务,包含终端、软件和应用三个层面。而我们所做的就是车辆管理App。社会发展的必然趋势是电脑将逐步的取代纸质,通过电脑或者手机能够大大减少树木的砍伐,而App的出现不仅仅是环保这一方面的原因。生活节奏的加快,工作效率的提高也是移动互联时代到来的必然条件。电脑的便携程度远远不及手机,可以毫不夸张的说,每个人不一定有一台电脑,但是每个人必然会有一部手机,而智能手机也将是未来发展的必然趋势。客户以及销售人员可以通过车辆管理App来查看某款车的一些基本信息。这样可以更加直
10、观展示给消费者,汽车的基本信息以及更加全面的让消费者了解到该款汽车的特点。汽车在我国乃至于全世界,已经成为人们生活中最普遍的代步工具,这样人们往往会将买车尽早的提上日程。早些年,绝大部分的汽车销售中心,都是用纸质的图片以及汽车的信息表格来为消费者介绍车辆,传统的方法往往不能够展现出车辆的全方位的特点。因此车辆管理App将必然会取代传统的纸质信息。车辆管理App不仅方便简洁,而且还能生动的展示出车辆全方面的特点。在我国这个大市场下,绝大部分的一线城市中,iphone手机在智能手机的占有率中,处于绝对的优势。这样不仅给消费者提供了便利的条件,也为广大的汽车销售中心提供了一个很好的平台。以上便是本文
11、研究汽车销售系统中车辆管理App的目的所在。1.2开发环境本应用程序可以广泛运在 iPhone,iPad,iPod运行要求如下:开发环境:Xcode5.0 + iOS SDK 。数据库连接第三方库:采用FMDB。操作系统:iOS5(及以上)。数据库:SQLite3。开发工具:Xcode5.0。1.3 技术概述1.3.1 Xcode概述Xcode是苹果公司向开发人员提供的集成开发环境(非开源),用于开发Mac OS X,ios的应用程序。这款编程工具必须运行于苹果公司的Mac操作系统之下。不管开发人员使用C、C+、Objective-C或Java编写程序,在AppleScript里编写脚本,还是
12、试图从另一个奇妙的工具中转移编码,都会发现 Xcode 的编译速度极快,每次操作都显得快速和轻松。Xcode的前身是继承自于NeXT公司的Project Builder。The Xcode suite 包含有GNU Compiler Collection自由软件 (GCC、 apple-darwin9-gcc-4.0.1 以及 apple-darwin9-gcc-4.2.1, 默认的是第一个),并支援 C语言、C+、Fortran、Objective-C、Objective-C+、Java、AppleScript、Python以及Ruby,还提供Cocoa、Carbon以及Java等编程模式。
13、协力厂商更提供了 GNU Pascal,Free Pascal, Ada, C Sharp, Perl, Haskell 和 D语言。Xcode套件使用 GDB作为其后台调试工具。从Xcode 3.1开始,Xcode也可被用为iPhone OS的开发环境。Xcode 4.0于2011年3月9日正式发行。该版本非Apple开发者注册会员亦能从Mac App Store中付费下载, 收取US$4.99的费用。从Xcode 4.1开始,针对Mac OS X v10.6及Mac OS X v10.7用户从Mac App Store免费下载。Xcode主要版本是Xcode 4.5,支持iOS6,可以在M
14、ac App Store免费下载,亦可在iOS开发者计划网站下载。Xcode最新主要版本是Xcode 4.6.2Xcode 3.0 是开发人员建立 Mac OS X 应用程序的最快捷方式,也是利用新的苹果电脑公司技术的最简单的途径。Xcode 3.0 将Mac OS X的轻松使用,UNIX 能量以及高性能的开发技术集合在一起1。1.3.2 SQLIte3简介SQLite是遵守ACID的关系数据库管理系统,它包含在一个相对小的C程序库中。 不像常见的客户端/服务器结构范例,SQLite引擎不是个程序与之通信的独立进程,而是链接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接A
15、PI调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都存储在主机端上单一个文件中。此种简洁的设计是通过写入时锁定整个数据文件而完成的。程序库实现了多数的SQL-92标准,包括事务,就是代表原子性、一致性、隔离性和持久性的(ACID),触发器和多数的复杂查询。不进行类型检查。你可以把字符串插入到整数列中。例如,某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候。其他用户认为这是主要的缺点2。由于资源占用少、性能良好和零管理成本,嵌入式数据库有了它的用武之地,它将为那些以前无法提供用作持久数据的后端的数据库的应用程序提供了高
16、效的性能。现在,没有必要使用文本文件来实现持久存储3。SQLite 之类的嵌入式数据库的易于使用性可以加快应用程序的开发,并使得小型应用程序能够完全支持复杂的 SQL。这一点对于对于小型设备空间的应用程序来说尤其重要。程序设计者还提供了一个叫做sqlite3的独立程序用来查询和管理SQLite数据库文件。SQLite的用户可以把这个程序当作如何写SQLite应用程序的示例。1.3.3 MVC模式简介MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式最
17、早由Trygve Reenskaug在1978年提出 ,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。MVC模式的目的是实现一种动态的程序设计4,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部分分离的同时也赋予了各个基本部分应有的功能。专业人员可以通过自身的专长分组:(控制器Controller)- 负责转发请求,对请求进行处理。(视图View) - 界面设计人员进行图形界面设计。(模型Model) - 程序员编写程序应有的
18、功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。MVC设计思想:MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层5。 MVC的优点:首先,多个视图能共享一个模型。如今,同一个Web应用程序会提供多种用户界面,例如用户希望既能够通过浏览器来收发电子邮件,还希望通过手机来访问电子邮箱,这就要求Web网站同时能提供Internet界面和WAP界面。在MVC设计模式中,模型响应用户请求并返回响应数据,视图负责格式化数据并把
19、它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,所以大大提高了代码的可重用性6。其次,控制器是自包含(self-contained)指高独立内聚的对象,与模型和视图保持相对独立,所以可以方便的改变应用程序的数据层和业务规则。例如,把数据库从MySQL移植到Oracle,或者把RDBMS数据源改变成LDAP数据源,只需改变模型即可。一旦正确地实现了控制器,不管数据来自数据库还是LDAP服务器,视图都会正确地显示它们。由于MVC模式的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的少互扰性的构件7。此外,控制器提高了应用程序的灵活性和可配置性。
20、控制器可以用来连接不同的模型和视图去完成用户的需求,也可以构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择适当的模型进行处理,然后选择适当的的视图将处理结果显示给用户。2 基于IOS平台客户端需求分析与设计2.1 系统需求分析2.1.1应用目标系统界面简洁,操作方便、容易,最大限度的满足销售人员的需求,使销售人员通过使用本模块可以进行快速的车辆信息的查询,以节省大量的工作时间和工作量,提高高校学生信息管理的效率8。2.1.2 作用及范围本系统适用于各大4s店汽车销售中心管理,使查询更加方便、高效率,以协助4s店销售人员更加方便展示车辆信息。2.1.3功能分
21、析需求分析是软件定义时期的最后一个阶段,也是框架设计过程的基础。它的基本任务是明确系统到底要完成哪些工作。对目标系统提出完整、准确、清晰、具体的要求9。汽车已经成为绝大多数人们的代步工具。中国这个超级大市场,往往成为各大销售中心的必争之地。为了满足人们日渐增长的体验服务,传统意义的上的纸质介绍往往会令一些销售中心处于下风。Iphone,ipad在我国的一线城市乃至一些发达的二线城市,移动设备已经成为人们是生活中的一部分。所以车辆管理的App也应运而生。消费者通过自己的移动设备通过扫描二维码的方式下载该款App,可以清晰的了解到自己想买的车的各个属性,以及特点。更好的用户体验已经不仅仅是苹果公司
22、所提倡的了,在我们生活的各个领域,都应该把用户体验放到首要位置。为了争取消费者,往往需要在用户体验上下功夫。而更好的App也能满足人们的需求10。2.2 系统预期实现目标2.2.1 预期目标开发本项目的主要目的是为了满足人们日益增长的购车欲望,与此同时,帮助销售人员更快捷的向用户展示自己的产品,在方便消费者的同时,为汽车销售中心创建更好的展示平台,促进消费者的增加。具体的系统目标为:首页有一个搜索栏,为了满足一些有自习偏爱的车辆的用户,将更快捷的找到所要找到的车辆。在搜索栏下面有一个车辆大全按钮,点击按钮可以显示出现在本销售中心所有的车辆。在车辆大全按钮下方有一个进货按钮,点击进货按钮,显示所
23、进的车辆的进本信息。进货下方有出货按钮,当消费者决定购买一辆车的时候,点击出货按钮,将车辆的编号和价格输入进去,就完成了一款汽车的销售。2.2.2 基本框架图下图为车辆管理模块的基本框架图,如图2-1:汽车销售系统车辆管理出售查看车辆信息进货出库入库图 2 - 1 基本框架图3 基于ios平台车辆管理小助手的设计与实现3.1 车辆管理模块App助手主页功能设计汽车销售系统的车辆管理App的界面展示,通过这些页面可以更加直观的了解到这个app的功能。3.1.1 主界面视图如3-1图所示,车辆管理App的主页面展示了,一个搜索框,三个按钮键。清晰的展示了车辆管理App的功能。3-1图 主页面3.1
24、.2 汽车大全视图点击车辆大全按钮,能够清晰的展示出,现在改销售中心现在所拥有的车辆的型号,以及剩余的量数。如3-2图所示。3-2图 汽车大全 3.1.3 车辆基本信息视图 点击某行,进去到相应的详情界面,显示车辆的基本信息。如3-3图所示:3-3图 车辆详情3.1.4 进货视图点击“进货”按钮,跳转到进货页面,通过输入车辆的基本信息,点击“确认”按钮将车辆进行入库操作。如下图3-4所示: 图3-4 进货详情3.1.5 出售视图 在主页面中,点击“出售”按钮,跳转到汽车大全页面,通过选择消费者所希望购买的车辆,点击,跳转到出售界面,填写所要够买的车辆的数量,点击购买。如图3-5所示:3-5图
25、购车详情 3.1.6 购买成功视图在上图中点击“购买按钮”,弹出窗口“购买成功”。如图3-6图:3-6图 购买成功4 数据库的设计与实现4.1数据库设计下图为,汽车的基本信息的属性数据库的图表。如4-1表:4-1表 车辆基本信息表字段名称数据类型长度idintegerbrandvarchar256stylevarchar256colorvarchar256purchasePriceintegersoldPriceintegerlastNumintegerdatevarchar4.2数据库设计的主要代码4.1.1 创建数据的表的部分代码 通过重新定义init方法来实现数据库的创建。- (id)i
26、nit self = super init; if (self) /初始化fmdb NSString * dbPath = NSHomeDirectory() stringByAppendingFormat:/Documents/user.db; _database = FMDatabase allocinitWithPath:dbPath; if (_database open) /创建表 NSString * createSQL = create table if not exists info(id integer primary key autoincrement,brand varc
27、har(256),style varchar(256),color varchar(128),purchasePrice integer,soldPrice integer,lastNum integer,date varchar(256); /executeUpdate 执行sql语句 创建表,增删改的sql语句全用此方法执行 BOOL _isScuessed = _database executeUpdate:createSQL; if (!_isScuessed) /创建失败 _database.lastErrorMessage 获取出错信息 NSLog(create table err
28、or:%,_database.lastErrorMessage); return self;4.1.2 购置一款新车的主要代码 定义insertDataWithModel方法,通过实现该方法来实现增加一辆新车的功能,通过isSuccessed判断是否添加成功。-(void)insertDataWithModel:(ItemModel *)model/ NSString * createSQL = create table if not exists info(id integer primary key autoincrement,brand varchar(256),style varcha
29、r(256),color varchar(128),purchasePrice integer,soldPrice integer,lastNum integer,date varchar(256); NSString * insertSql = insert into info (brand,style,color,purchasePrice,soldPrice,lastNum,date) values(?,?,?,?,?,?,?); BOOL isSuccessed = _database executeUpdate:insertSql,model.brand,model.style,mo
30、del.color,model.purchasePrice,model.soldPrice,model.lastNum,model.date; if (!isSuccessed) NSLog(insert error:%,_database.lastErrorMessage); 4.1.3 卖出一辆车的数据库代码 定义removeByString方法,通过实现该方法来完成车辆的出售功能。-(void)removeByString:(NSString *)str NSString * deleteSql = delete from info where style = ?; BOOL isSc
31、= _database executeUpdate:deleteSql,str; if (!isSc) NSLog(delete:%,_database.lastErrorMessage); 结论在这次的毕业设计期间,我学到很多知识,其中包括一些课堂上所学的知识,在这次毕业设计中重新的复习,梳理了一遍,还将一些课堂之外的东西进行了进一步的掌握和了解。此次毕业设计最大的收获就是将自己所学的知识与实际中的问题联系了起来,不会让我们觉得所学的知识与实际没有关系。这次毕业设计老师的选题非常的贴近生活,不仅能让我们把只知识掌握,并加以运用还能过让我们了解生活中一些问题。通过这次的毕业设计,为我以后的软件
32、开发奠定了非常好的基础,这是我人生中的第一个项目。在这次开发中,我了解到,时常的总结是软件开发所必不可少的,通过总结,将各个部分的知识串联起来,从而在最后的设计中不会那么慌了手脚。另外一方面就是在遇到问题的时候,要沉着冷静,不能着急,通过询问老师和同学将问题解答。因为自己接触社会的机会不多,该系统还有一些技术和现实生活中的问题,望在老师的提点下,有显著的提高。致谢经过这段时间的学习和实践,本次毕业设计基本接近尾声。在这次的毕业设计中,我学习到了很多,能够将自己所学的知识在实际生活中得到了应用。锻炼了我独立思考的能力,独立解决问题的能力,独立分析问题的能力。这些都将会在我以后的软件开发的道路上起
33、着至关重要的作用。在本次毕业设计的过程中,很多人对我给予了很大的帮助,在此我要特别感谢我的指导老师李阅历老师,在思路上和内容上给予我的很到帮助,还有我们同学们,在一些技术上和代码找错上对我的帮助。这使我了解到遇到问题的时候,虚心请教问题也是一个很好的解决问题的方法。最后我要感谢我的学院和学校,给我们一个这么好的机会去学习知识,使我们成为对社会有贡献的人。参考文献12 3Stephen G.kochan 著 林冀 范俊 朱奕欣 译 ,Objective-C程序设计第四版,北京:电子工业出版社,2012.94(美)德沃(DeVoe.J)著:林本杰译,好学的Objective-C,北京:人民邮电出版
34、社 2012.3 5 内皮尔,马库尔.IOS6编程实战D.北京:人民邮电出版社,2013,04,16 漆振, 孙文磊. iPhone 开发实战J. 北京: 人民邮电出版社, 2009.7 乔纳森等.AppStore掘金D, 北京,人民邮电出版社2010,01,018 和凌志,王方.iPhone 开发入门与实战M. 电子工业出版社, 2010.9 C Chung, J Bucanek Pro Objective-C Design Patterns for iOS OReilly 2012-9-110 JD Davidson Learning Cocoa with Objective-C ORei
35、lly 2003-9-1目 录第一章 总论11.1项目名称与承办单位11.2研究工作的依据、内容及范围11.3编制原则31.4项目概况31.5技术经济指标51.6结论6第二章 项目背景及建设必要性82.1项目背景82.2建设的必要性9第三章 建设条件113.1项目区概况113.2建设地点选择错误!未定义书签。3.3项目建设条件优劣势分析错误!未定义书签。第四章 市场分析与销售方案134.1市场分析134.2营销策略、方案、模式14第五章 建设方案155.1建设规模和产品方案155.2建设规划和布局155.3运输185.4建设标准185.5公用工程205.6工艺技术方案215.7设备方案215.
36、8节能减排措施24第六章 环境影响评价256.1环境影响256.2环境保护与治理措施266.3评价与审批28第七章 项目组织与管理297.1组织机构与职能划分297.2劳动定员297.3经营管理措施307.4技术培训30第八章 劳动、安全、卫生与消防318.1编制依据及采用的标准318.2安全卫生防护原则318.3自然灾害危害因素分析及防范措施328.4生产过程中产生的危害因素分析及防范措施328.5消防编制依据及采用的标准348.6消防设计原则358.7火灾隐患分析358.8总平面消防设计358.9消防给水设计368.10建筑防火368.11火灾检测报警系统378.12预期效果37第九章 项
37、目实施进度389.1实施进度计划389.2项目实施建议38第十章 项目招投标方案4010.1招标原则4010.2项目招标范围4010.3投标、开标、评标和中标程序4010.4评标委员会的人员组成和资格要求42第十一章 投资估算和资金筹措4311.1投资估算4311.2资金筹措及使用计划45第十二章 财务评价4712.1费用与效益估算4712.2财务分析4812.3不确定性分析4912.5财务评价结论50第十三章 建设合理性分析5113.1产业政策符合性分析5113.2清洁生产符合性分析5113.3规划符合性分析5113.4项目建设环保政策符合性分析5113.5环境承载性分析5113.6结论52第十四章 结论与建议5320