毕业论文-汽车销售系统的设计与实现-车辆管理模块_第1页
毕业论文-汽车销售系统的设计与实现-车辆管理模块_第2页
毕业论文-汽车销售系统的设计与实现-车辆管理模块_第3页
毕业论文-汽车销售系统的设计与实现-车辆管理模块_第4页
毕业论文-汽车销售系统的设计与实现-车辆管理模块_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

河北农业大学本科毕业论文(设计)题目:汽车销售系统的设计与实现-车辆管理模块学院:信息科技与技术学院学生姓名:专业:软件工程班级学号:指导教师姓名:指导教师职称:讲师二0一四年五月二十日摘要随着人们生活水平的提高,汽车已经逐步的成为了人们的主要代步工具。买车已然成为一种趋势。拥有一款好的车辆管理的软件,既可以全面、直观地展示车辆的信息,又大大的提高了销售人员的工作效率。移动客户端的车辆管理工具,将必然取代传统的管理方式。本课题是用Objective—C语言作为开发语言,运用xcode工具进行代码的实现与编译,并且运用SQLite3数据库进行数据的调用。基于iOS系统的iPhone系列智能手机在我国一线城市智能手机持有者中占据了相当大的比重。基于iOS系统的车辆管理模块,其数据来源是基于Oauth2.0协议认证的API。本文主要介绍汽车销售系统中的车辆管理模块的相关内容。分析了系统该部分实现的相关技术原理,可行性,介绍了车辆管理的系统实现的系统架构,并在对系统这两个模块分析后进行了相应的划分及设计。客户端主要实现了:查询汽车的基本信息,添加车辆,删除车辆,搜索现有车辆中的某种车辆等功能。关键词:Objective-C,iOS,SQLite3,汽车销售系统,车辆管理模块概述1.1开发背景、目的及意义随着网络的飞速发展,移动互联时代的到来,大大加速了手机软件的开发与应用。移动互联网(MobileInternet,简称MI)是一种通过智能移动终端,采用移动无线通信方式获取业务和服务的新兴业务,包含终端、软件和应用三个层面。而我们所做的就是车辆管理App。社会发展的必然趋势是电脑将逐步的取代纸质,通过电脑或者手机能够大大减少树木的砍伐,而App的出现不仅仅是环保这一方面的原因。生活节奏的加快,工作效率的提高也是移动互联时代到来的必然条件。电脑的便携程度远远不及手机,可以毫不夸张的说,每个人不一定有一台电脑,但是每个人必然会有一部手机,而智能手机也将是未来发展的必然趋势。客户以及销售人员可以通过车辆管理App来查看某款车的一些基本信息。这样可以更加直观展示给消费者,汽车的基本信息以及更加全面的让消费者了解到该款汽车的特点。汽车在我国乃至于全世界,已经成为人们生活中最普遍的代步工具,这样人们往往会将买车尽早的提上日程。早些年,绝大部分的汽车销售中心,都是用纸质的图片以及汽车的信息表格来为消费者介绍车辆,传统的方法往往不能够展现出车辆的全方位的特点。因此车辆管理App将必然会取代传统的纸质信息。车辆管理App不仅方便简洁,而且还能生动的展示出车辆全方面的特点。在我国这个大市场下,绝大部分的一线城市中,iphone手机在智能手机的占有率中,处于绝对的优势。这样不仅给消费者提供了便利的条件,也为广大的汽车销售中心提供了一个很好的平台。以上便是本文研究汽车销售系统中车辆管理App的目的所在。1.2开发环境本应用程序可以广泛运在iPhone,iPad,iPod运行要求如下:开发环境:Xcode5.0+iOSSDK。数据库连接第三方库:采用FMDB。操作系统:iOS5(及以上)。数据库:SQLite3。开发工具:Xcode5.0。1.3技术概述1.3.1Xcode概述Xcode是苹果公司向开发人员提供的集成开发环境(非开源),用于开发MacOSX,ios的应用程序。这款编程工具必须运行于苹果公司的Mac操作系统之下。不管开发人员使用C、C++、Objective-C或Java编写程序,在AppleScript里编写脚本,还是试图从另一个奇妙的工具中转移编码,都会发现Xcode的编译速度极快,每次操作都显得快速和轻松。Xcode的前身是继承自于NeXT公司的ProjectBuilder。TheXcodesuite包含有GNUCompilerCollection自由软件(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等编程模式。协力厂商更提供了GNUPascal,FreePascal,Ada,CSharp,Perl,Haskell和D语言。Xcode套件使用GDB作为其后台调试工具。从Xcode3.1开始,Xcode也可被用为iPhoneOS的开发环境。Xcode4.0于2011年3月9日正式发行。该版本非Apple开发者注册会员亦能从MacAppStore从Xcode4.1开始,针对MacOSXv10.6及MacOSXv10.7用户从MacAppStore免费下载。Xcode主要版本是Xcode4.5,支持iOS6,可以在MacAppStore免费下载,亦可在iOS开发者计划网站下载。Xcode最新主要版本是Xcode4.6.2Xcode3.0是开发人员建立MacOSX应用程序的最快捷方式,也是利用新的苹果电脑公司技术的最简单的途径。Xcode3.0将MacOSX的轻松使用,UNIX能量以及高性能的开发技术集合在一起[1]。1.3.2SQLIte3简介SQLite是遵守ACID的关系数据库管理系统,它包含在一个相对小的C程序库中。不像常见的客户端/服务器结构范例,SQLite引擎不是个程序与之通信的独立进程,而是链接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都存储在主机端上单一个文件中。此种简洁的设计是通过写入时锁定整个数据文件而完成的。程序库实现了多数的SQL-92标准,包括事务,就是代表原子性、一致性、隔离性和持久性的(ACID),触发器和多数的复杂查询。不进行类型检查。你可以把字符串插入到整数列中。例如,某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候。其他用户认为这是主要的缺点[2]。由于资源占用少、性能良好和零管理成本,嵌入式数据库有了它的用武之地,它将为那些以前无法提供用作持久数据的后端的数据库的应用程序提供了高效的性能。现在,没有必要使用文本文件来实现持久存储[3]。SQLite之类的嵌入式数据库的易于使用性可以加快应用程序的开发,并使得小型应用程序能够完全支持复杂的SQL。这一点对于对于小型设备空间的应用程序来说尤其重要。程序设计者还提供了一个叫做sqlite3的独立程序用来查询和管理SQLite数据库文件。SQLite的用户可以把这个程序当作如何写SQLite应用程序的示例。1.3.3MVC模式简介MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式最早由TrygveReenskaug在1978年提出,是施乐帕罗奥多研究中心(XeroxPARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。MVC模式的目的是实现一种动态的程序设计[4],使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部分分离的同时也赋予了各个基本部分应有的功能。专业人员可以通过自身的专长分组:(控制器Controller)-负责转发请求,对请求进行处理。(视图View)-界面设计人员进行图形界面设计。(模型Model)-程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。MVC设计思想:MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层[5]。MVC的优点:首先,多个视图能共享一个模型。如今,同一个Web应用程序会提供多种用户界面,例如用户希望既能够通过浏览器来收发电子邮件,还希望通过手机来访问电子邮箱,这就要求Web网站同时能提供Internet界面和WAP界面。在MVC设计模式中,模型响应用户请求并返回响应数据,视图负责格式化数据并把它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,所以大大提高了代码的可重用性[6]。其次,控制器是自包含(self-contained)指高独立内聚的对象,与模型和视图保持相对独立,所以可以方便的改变应用程序的数据层和业务规则。例如,把数据库从MySQL移植到Oracle,或者把RDBMS数据源改变成LDAP数据源,只需改变模型即可。一旦正确地实现了控制器,不管数据来自数据库还是LDAP服务器,视图都会正确地显示它们。由于MVC模式的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的少互扰性的构件[7]。此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来连接不同的模型和视图去完成用户的需求,也可以构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择适当的模型进行处理,然后选择适当的的视图将处理结果显示给用户。2基于IOS平台客户端需求分析与设计2.1系统需求分析2.1.1应用目标系统界面简洁,操作方便、容易,最大限度的满足销售人员的需求,使销售人员通过使用本模块可以进行快速的车辆信息的查询,以节省大量的工作时间和工作量,提高高校学生信息管理的效率[8]。2.1.2作用及范围本系统适用于各大4s店汽车销售中心管理,使查询更加方便、高效率,以协助4s店销售人员更加方便展示车辆信息。2.1.3功能分析需求分析是软件定义时期的最后一个阶段,也是框架设计过程的基础。它的基本任务是明确系统到底要完成哪些工作。对目标系统提出完整、准确、清晰、具体的要求[9]。汽车已经成为绝大多数人们的代步工具。中国这个超级大市场,往往成为各大销售中心的必争之地。为了满足人们日渐增长的体验服务,传统意义的上的纸质介绍往往会令一些销售中心处于下风。Iphone,ipad在我国的一线城市乃至一些发达的二线城市,移动设备已经成为人们是生活中的一部分。所以车辆管理的App也应运而生。消费者通过自己的移动设备通过扫描二维码的方式下载该款App,可以清晰的了解到自己想买的车的各个属性,以及特点。更好的用户体验已经不仅仅是苹果公司所提倡的了,在我们生活的各个领域,都应该把用户体验放到首要位置。为了争取消费者,往往需要在用户体验上下功夫。而更好的App也能满足人们的需求[10]。2.2系统预期实现目标2.2.1预期目标开发本项目的主要目的是为了满足人们日益增长的购车欲望,与此同时,帮助销售人员更快捷的向用户展示自己的产品,在方便消费者的同时,为汽车销售中心创建更好的展示平台,促进消费者的增加。具体的系统目标为:首页有一个搜索栏,为了满足一些有自习偏爱的车辆的用户,将更快捷的找到所要找到的车辆。在搜索栏下面有一个车辆大全按钮,点击按钮可以显示出现在本销售中心所有的车辆。在车辆大全按钮下方有一个进货按钮,点击进货按钮,显示所进的车辆的进本信息。进货下方有出货按钮,当消费者决定购买一辆车的时候,点击出货按钮,将车辆的编号和价格输入进去,就完成了一款汽车的销售。2.2.2基本框架图下图为车辆管理模块的基本框架图,如图2-1:汽车销售系统汽车销售系统车辆管理车辆管理出售出售查看车辆信息进货查看车辆信息进货出库入库出库入库图2-SEQ图_4_-\*ARABIC1基本框架图3基于ios平台车辆管理小助手的设计与实现3.1车辆管理模块App助手主页功能设计汽车销售系统的车辆管理App的界面展示,通过这些页面可以更加直观的了解到这个app的功能。3.1.1主界面视图如3-1图所示,车辆管理App的主页面展示了,一个搜索框,三个按钮键。清晰的展示了车辆管理App的功能。3-1图主页面3.1.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图购车详情3.1.6购买成功视图在上图中点击“购买按钮”,弹出窗口“购买成功”。如图3-6图:3-6图购买成功4数据库的设计与实现4.1数据库设计下图为,汽车的基本信息的属性数据库的图表。如4-1表:4-1表车辆基本信息表字段名称数据类型长度idintegerbrandvarchar256stylevarchar256colorvarchar256purchasePriceintegersoldPriceintegerlastNumintegerdatevarchar4.2数据库设计的主要代码4.1.1创建数据的表的部分代码通过重新定义init方法来实现数据库的创建。-(id)init{self=[superinit];if(self){//初始化fmdbNSString*dbPath=[NSHomeDirectory()stringByAppendingFormat:@"/Documents/user.db"];_database=[[FMDatabasealloc]initWithPath:dbPath];if([_databaseopen]){//创建表NSString*createSQL=@"createtableifnotexistsinfo(idintegerprimarykeyautoincrement,brandvarchar(256),stylevarchar(256),colorvarchar(128),purchasePriceinteger,soldPriceinteger,lastNuminteger,datevarchar(256))";//executeUpdate执行sql语句创建表,增删改的sql语句全用此方法执行BOOL_isScuessed=[_databaseexecuteUpdate:createSQL];if(!_isScuessed){//创建失败_database.lastErrorMessage获取出错信息NSLog(@"createtableerror:%@",_database.lastErrorMessage);}}}returnself;}4.1.2购置一款新车的主要代码定义insertDataWithModel方法,通过实现该方法来实现增加一辆新车的功能,通过isSuccessed判断是否添加成功。-(void)insertDataWithModel:(ItemModel*)model{//NSString*createSQL=@"createtableifnotexistsinfo(idintegerprimarykeyautoincrement,brandvarchar(256),stylevarchar(256),colorvarchar(128),purchasePriceinteger,soldPriceinteger,lastNuminteger,datevarchar(256))";NSString*insertSql=@"insertintoinfo(brand,style,color,purchasePrice,soldPrice,lastNum,date)values(?,?,?,?,?,?,?)";BOOLisSuccessed=[_databaseexecuteUpdate:insertSql,model.brand,model.style,model.color,model.purchasePrice,model.soldPrice,model.lastNum,model.date];if(!isSuccessed){NSLog(@"inserterror:%@",_database.lastErrorMessage);}}4.1.3卖出一辆车的数据库代码定义removeByString方法,通过实现该方法来完成车辆的出售功能。-(void)removeByString:(NSString*)str{NSString*deleteSql=@"deletefrominfowherestyle=?";BOOLisSc=[_databaseexecuteUpdate:deleteSql,str];if(!isSc){NSLog(@"delete:%@",_database.lastErrorMessage);}}结论在这次的毕业设计期间,我学到很多知识,其中包括一些课堂上所学的知识,在这次毕业设计中重新的复习,梳理了一遍,还将一些课堂之外的东西进行了进一步的掌握和了解。此次毕业设计最大的收获就是将自己所学的知识与实际中的问题联系了起来,不会让我们觉得所学的知识与实际没有关系。这次毕业设计老师的选题非常的贴近生活,不仅能让我们把只知识掌握,并加以运用还能过让我们了解生活中一些问题。通过这次的毕业设计,为我以后的软件开发奠定了非常好的基础,这是我人生中的第一个项目。在这次开发中,我了解到,时常的总结是软件开发所必不可少的,通过总结,将各个部分的知识串联起来,从而在最后的设计中不会那么慌了手脚。另外一方面就是在遇到问题的时候,要沉着冷静,不能着急,通过询问老师和同学将问题解答。因为自己接触社会的机会不多,该系统还有一些技术和现实生活中的问题,望在老师的提点下,有显著的提高。致谢经过这段时间的学习和实践,本次毕业设计基本接近尾声。在这次的毕业设计中,我学习到了很多,能够将自己所学的知识在实际生活中

温馨提示

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

评论

0/150

提交评论