汽车销售系统的设计与实现库存管理模块.docx
- 文档编号:26721900
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:34
- 大小:1.49MB
汽车销售系统的设计与实现库存管理模块.docx
《汽车销售系统的设计与实现库存管理模块.docx》由会员分享,可在线阅读,更多相关《汽车销售系统的设计与实现库存管理模块.docx(34页珍藏版)》请在冰豆网上搜索。
汽车销售系统的设计与实现库存管理模块
河北农业大学
本科毕业论文(设计)
题目:
汽车销售系统的设计与实现-库存管理模块
摘要
随着互联网技术的发展,网络技术的成熟,仅仅靠使用PC端进行互联网活动已经无法满足人们日益膨胀的需求。
移动互联网在这时应运而生,我们越来越依赖与移动互联网的同时,手机也随之发展,手机并不再仅仅作为一个普通的通讯工具而出现在我们的生活中了。
为了满足工作的需要,针对汽车销售系统的库存管理模块特别设计了库存管理App,有了此款App,管理人员可以方便的从移动终端随时获取实时数据。
省去了繁复的表格,使人们从传统的实地查询和电话查询的繁琐步骤中解放了出来。
本论文是基于iOS系统的库存管理客户端,使用Objective—C语言作为开发语言开发工具为Xcode5.0,其数据存储在本地的SQLite3数据库中。
本系统采用了C/S结构,采取了MVC框架进行开发,通过运用Objective-C,cocoatouch,Xcode,SQLite3数据库等软件技术和众多的第三方库完成了系统中库存管理模块的设计。
[1]
本文主要介绍汽车销售系统中的车辆管理模块的相关内容。
分析了系统该部分实现的相关技术原理,可行性,介绍了车辆管理的系统实现的系统架构,并在对系统这两个模块分析后进行了相应的划分及设计。
本应用主要实现了:
不同人员的管理,库存的管理,出入库信息的查询等功能。
。
关键词:
Objective-C,iOS,CocoaTouch,SQLite3,库存管理系统
Abstract
WiththedevelopmentofInternettechnology,networktechnologymatures,justbyusingthePCendInternetactivitieshavebeenunabletomeettheexpandingneedsofthepeople.MobileInternetcameintobeingatthistime,weareincreasinglydependentonthemobileInternet,whilealsodevelopingmobilephone,mobilephoneandnolongerjustasageneralcommunicationtooloutofourlivesnow.TomeettheneedsoftheirworkforcarsalesinventorymanagementsysteminventorymanagementmodulespeciallydesignedApp,WiththissectionApp,managerscanfacilitatereadyaccesstoreal-timedatafromthemobileterminal.Eliminatingtheneedforcomplicatedforms,sothatpeoplefreedfromthetraditionalon-siteinquiriesandtelephoneinquiriestediousstep.
ThisthesisisbasedontheiOSclientinventorymanagementsystem,usingtheObjective-ClanguageasadevelopmentlanguagedevelopmenttoolsforXcode5.0,SQLite3databasestoresitsdatainalocal's.ThesystemusestheC/Sstructure,takeaMVCframeworkfordevelopment,throughtheuseofObjective-C,cocoatouch,Xcode,SQLite3databasesandothersoftwaretechnologiesandnumerousthird-partylibrariestocompletethedesignofthesysteminventorymanagementmodule.
Thispaperdescribestherelevantcontentinautomotivevehiclesalessystemmanagementmodule.Analysisofthetechnicalprinciplesrelatedtothatpartofthesystemimplementation,feasibility,describesthesystemarchitectureofthevehiclemanagementsystemimplementation,andafterthesetwomodulesofthesystemanalysisanddesignofthecorrespondingdivision.Themainachievementofthisapplication:
differentpersonnelmanagement,inventorymanagement,queryandotherfunctionsofthestorageofinformation.
Keywords:
Objective-C,iOS,CocoaTouch,SQLite3,inventorymanagementsystem
1概述
1.1开发背景
随着宽带无线接入技术和移动终端技术的飞速发展,人们迫切希望能够随时随地乃至在移动过程中都能方便地从互联网获取信息和服务,移动互联网应运而生并迅猛发展。
虽然,移动互联网在移动终端、接入网络、应用服务、安全与隐私保护等方面还面临着一系列的挑战,但它已经为我们的生活带来了巨大的变革。
随着4G时代的开启以及移动终端设备的凸显为移动互联网的发展注入巨大的能量,移动互联网所能触及的范围越来越广,移动互联网产业必将带来前所未有的飞跃。
在这样的大背景之下,移动终端应用的发展历经了由缓慢到迅猛、从粗略到专精的过程。
越来越多的垂直细分领域被开发者们发掘出来,每一个领域都极大的改变了我们的生活,移动终端已经进入了我们生活的方方面面。
伴着4G网络的起步和移动联网设备的激增,为移动操作系统iOS下的终端持有者设计并实现应用,是具有极大的价值和发展前途的。
伴随着我国国民经济的发展,汽车已经走进每个人的家中。
传统的汽车销售模式略显滞后,不适应当今飞速发展的社会,为了提高效率,所以针对汽车销售行业的移动应用应运而生。
实现了对销售链的便捷查询。
1.2设计目的及内容
1.2.1设计目的
库存管理系统出入库模块即对仓库管理。
物流仓库管理系统主要针对于日常库存信息的管理,它针对仓库日常发生的业务,分为两大类,即入库和出库,用户通过相应的模块,对仓库里的物品的基本情况进行操作,实现入库、出库即对库存进行查询,用户通过简单的操作即可轻松的管理仓库。
库存管理App是针对日常库存信息的管理,使得管理人员可以不在现场就获得最新库存信息,其主要功能是对库存的查看,和相关人员的管理。
管理人员通过相应的模块,可以实现对库存物品的基本出入库操作,方便了查询和管理,更是把人们从传统的查询流程中释放出来。
在iOS智能移动操作系统上开发的一款应用。
抓住了国内消费者智能手机中iPhone系列手机占有率极高的鲜明特点,为消费者和管理人员提供便利的服务。
以上便是开发库存管理App的目的所在。
1.2.2设计内容
实现库存管理模块的出入库和查询功能。
入库操作就是对新入库的信息管理(包括修改和添加操作),出库操作就是主要包括仓库的修改和删除操作。
超级管理员可以对其他工作人员进行添加和删除操作。
客服模块可以根据顾客查询该顾客的购买记录。
仓库管理员可以对仓库具体条目进行修改。
以上所有操作均保存在关系型数据库中。
1.3技术概述
1.3.1SQLite3简介
SQLite是遵守ACID的关系数据库管理系统,它包含在一个相对小的C程序库中。
它是D.RichardHipp创建的公有领域项目。
不像常见的客户端/服务器结构范例,SQLite引擎不是个程序与之通信的独立进程,而是链接到程序中成为它的一个主要部分。
所以主要的通信协议是在编程语言内的直接API调用。
这在消耗总量、延迟时间和整体简单性上有积极的作用。
整个数据库(定义、表、索引和数据本身)都存储在主机端上单一个文件中。
此种简洁的设计是通过写入时锁定整个数据文件而完成的[1]。
程序库实现了多数的SQL-92标准,包括事务,就是代表原子性、一致性、隔离性和持久性的(ACID),触发器和多数的复杂查询。
不进行类型检查。
你可以把字符串插入到整数列中。
例如,某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候。
其他用户认为这是主要的缺点。
多个进程或线程可以同时访问同一个数据而没有问题。
可以同时平行读取同一个数据库。
但同一时间只能有一个进程或线程进行数据写入;否则会写入失败并得到一个错误信息[2](或者会自动重试一段时间,而这重试时间的长短是可以设置的)。
程序设计者还提供了一个叫做sqlite3的独立程序用来查询和管理SQLite数据库文件。
SQLite的用户可以把这个程序当作如何写SQLite应用程序的示例。
1.3.2MVC模式简介
MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:
模型(Model)、视图(View)和控制器(Controller)。
MVC模式最早由TrygveReenskaug在1978年提出,是施乐帕罗奥多研究中心(XeroxPARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。
MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。
除此之外,此模式通过对复杂度的简化,使程序结构更加直观。
软件系统通过对自身基本部分分离的同时也赋予了各个基本部分应有的功能。
专业人员可以通过自身的专长分组:
(控制器Controller)-负责转发请求,对请求进行处理。
(视图View)-界面设计人员进行图形界面设计。
(模型Model)-程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
MVC设计思想:
MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。
MVC的优点:
首先,多个视图能共享一个模型。
如今,同一个Web应用程序会提供多种用户界面,例如用户希望既能够通过浏览器来收发电子邮件,还希望通过手机来访问电子邮箱,这就要求Web网站同时能提供Internet界面和WAP界面。
在MVC设计模式中,模型响应用户请求并返回响应数据,视图负责格式化数据并把它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,所以大大提高了代码的可重用性。
其次,控制器是自包含(self-contained)指高独立内聚的对象,与模型和视图保持相对独立,所以可以方便的改变应用程序的数据层和业务规则[3]。
例如,把数据库从MySQL移植到Oracle,或者把RDBMS数据源改变成LDAP数据源,只需改变模型即可。
一旦正确地实现了控制器,不管数据来自数据库还是LDAP服务器,视图都会正确地显示它们。
由于MVC模式的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的少互扰性的构件。
此外,控制器提高了应用程序的灵活性和可配置性。
控制器可以用来连接不同的模型和视图去完成用户的需求,也可以构造应用程序提供强有力的手段。
给定一些可重用的模型和视图,控制器可以根据用户的需求选择适当的模型进行处理,然后选择适当的的视图将处理结果显示给用户。
1.4硬件和软件要求
1.4.1硬件要求
本应用程序可以广泛运在iPhone,iPad,iPod运行要求如下:
开发环境:
Xcode5.0+iOSSDK。
数据库连接第三方库:
采用FMDB[4]。
1.4.2软件要求
操作系统:
iOS5(及以上)
数据库:
SQLite3。
开发工具:
Xcode5.0。
1.5基本环境
以Objective-C语言为基本开发语言,通过运用集成开发环境Xcode5.0,SQL等相关知识,利用Objective-C语言的面向对象的特性及MVC设计思想,设计一个库存管理模块[5],模拟一个仓库库存管理系统的出入库及查询管理模块。
1.6系统开发命名规则
(1)项目中命名规则
项目中各个子项的命名均以其功能名称的英文组合,类名以其具体的含义命名,类名的所有单词的首字母大写;类中的方法依据功能而定,且方法命名首单词的首字母小写,其他单词首字母均大写;项目中的页面命名是根据其具体含义命名的。
[6]
(2)数据库命名规则
数据库名称与项目所存储内容相同,数据库中表命名规则是表名称英文意思的单词或多个单词的组合;表中字段名是相应字段的英文单词或多个单词的组合。
[7]
2系统分析
2.1可行性分析
当今时代,手机APP的发展趋势可谓风起云涌、数量猛增,竞争越来越激烈,盈利方向也变得扑朔迷离,在越来越凶猛的势头之下,更多高质量的手机APP应运而生。
移动应用是一种便捷的方式,专家预测发现手机APP市场容量是PC市场的几十倍,这是因为手机用户的数量规模远远大于PC。
在库存管理方面,管理人员不可能随时在场,而PC端的查询信息繁杂,干扰信息过多,操作也不甚简单,而手机端界面设计简单大方,回馈迅速,没有过多的垃圾信息干扰,能快速完成库存的查询和管理[8]。
未来可能提出的需求:
随着用户日益增长的需求以及为了给用户带来更好的体验,将来可能需要增加更多接口来实现相应的功能,保留部分空间以便功能扩展[9]。
2.2需求分析
2.2.1系统需求分析
(1)系统功能包括:
产品入出库登记、确认入出库信息、保存删除入出库信息、添加修改删除产品信息。
(2)系统管理员功能:
添加删除用户(超级管理员权限)、查询人员信息。
2.2.2系统功能结构
图2-1系统功能结构图
2.2.3系统主要设计类
数据库模块:
DBManagershareManager:
该类实现连接数据库,打开数据库,创建Connection连接,及关闭数据库和增、删、改、查的功能。
该类设计为单例模式[10]。
服务模块:
DBManager:
该接口提供现有系统中的需要的功能(相关数据库操作)函数的接口。
超级管理员模块:
AdminManageViewController:
该类显示超级管理员管理界面。
客服模块:
ServiceViewController:
该类用来实现客服登录并查询顾客购买记录。
仓库管理员模块:
WarehouseAdminViewController:
该类实现添加、删除库存功能。
产品信息管理模块:
ItemDataModel:
该类表示仓库的信息。
NSString*carName:
该属性表示汽车名称信息。
NSString*num:
该属性表示库存量的信息。
NSString*price:
该属性表示汽车单价的信息。
NSString*admin:
该属性表示入库操作人员。
用户信息管理模块:
CustomerViewController:
该类表示公司顾客信息。
2.3功能分析
2.3.1用户登录
登录页面要求用户输入用户帐户、密码。
在输入用户帐户、密码之后,系统将验证用户帐户和密码和数据库中的进行匹配查看是否正确,如果验证成功,就使用户处于登录状态。
否则,系统显示用户帐户或密码错误的提示信息。
如下图2-2,登录。
图2-2登录
2.3.2管理员管理
系统的这项功能只有超级管理员有权限执行,其他人员没有此项权限。
单击“库管管理”,可以显示所有仓库管理员的相应信息。
如下图2-3
图2-3显示管理员管理界面
该模块可为仓库添加仓库管理员及客服。
添加管理员需要查找需要添加成为管理员的员工的信息。
如下图2-4,添加管理员.
图2-4添加管理员
该功能可以删除某个仓库的管理员。
删除管理员需要查找需要删除的管理员的信息,查询所有员工的信息,直接点击“删除”,完成删除管理员的操作。
如下图2-5,删除人员。
图2-5删除人员
2.3.3入库管理
入库管理中,超级管理员和仓库管理员都有权限进行操作。
2.3.3.1产品入库
实现产品的入库操作。
如下图2-6,产品入库。
需要管理员填写入库单,包括待入库产品的各项信息及入库单的各项信息。
入库时,如果没有这种产品,可以选择直接在数据库中添加这项产品;如果存在则在原有数量的基础上增加待入库产品的数量。
图2-6产品入库
2.3.4出库管理
2.3.4.1产品出库
实现产品的出库操作。
如下图2-7,产品出库.
需要一个顾客选择车型并选择数量出库。
出库时,如果没有这种产品或库存小于提取数量,提示“库存不足”;如果没有产品不存在或数量不足的情况则在原有数量的基础上减少待出库产品的数量。
图2-7产品出库
2.3.4.2出库单管理
实现出库产品的出库单记录操作。
产品出库时,将出库信息,主要是购买客户信息保存下来,方便售后时查找。
如下图2-8,出库单记录.
图2-8出库单
2.3.5产品管理
管理仓库中的产品信息的删除修改,包括查询产品信息、添加产品信息,删除产品信息,修改产品信息。
2.3.5.1查询产品信息
显示所有产品息。
如下图2-9,产品信息。
图2-9产品信息
2.3.5.2添加产品信息
向仓库中添加产品。
如图:
图2-10,添加产品.
图2-10添加产品
2.3.5.3删除产品
删除仓库中的信息,如下图2-11,删除产品.
图2-11删除产品
3数据库设计
3.1数据库概要结构设计
本系统数据库采用SQLite3数据库,系统数据库名称为user.db。
数据库中包含3张表。
其他数据均用数据模型保存在数据库中,按需求获取。
(1)员工信息,包括的数据项有:
员工ID、姓名、密码、帐户类型、性别、联系电话、家庭住址。
(2)产品信息,包括的数据项有:
产品名称、库存、价格、入库人员、颜色、。
出厂日期。
(3)出库信息,包括的数据项有:
表序号、操作员姓名、汽车型号、购买日期。
3.2数据库逻辑结构设计
根据上述数据库的需求分析和概念结构设计,设计了名称为user.db的数据库。
数据库由下面多个表格组成,各个表的命名及字段命名都是以相应的含义作为名称,各个表格的设计结果如下表所示,每个表格表示在数据库中相对应的一个表。
(1)员工表,如:
表3-1员工。
表3-1员工
字段名称
数据类型
长度
Id
integer
1
name
varchar
256
passwd
varchar
256
type
varchar
256
sex
varchar
256
tel
varchar
256
address
varchar
256
(2)库存信息表,如:
表3-2库存。
表3-2库存
字段名称
数据类型
长度
id
Integer
1
carName
varchar
256
num
Integer
1
price
Integer
1
color
varchar
256
date
varchar
256
(3)库存变更表,如:
表3-3变更表
表3-3变更表
字段名称
数据类型
长度
id
Integer
1
carName
varchar
256
num
Varchar
256
Name
Varchar
256
date
varchar
256
4系统界面设计
4.1系统界面设计
登陆时的界面如下图4-1,超级管理员登陆后界面如图4-2。
图4-1超级管理员登录界面
图4-2超级管理员登录界面
系统后台共主要分为5个模块:
第一部分:
超级管理员的权限:
查看仓库管理员信息、添加仓库管理员、删除仓库管理员。
第二部分:
产品入库模块。
第三部分:
产品出库模块。
第四部分:
产品管理模块,包括查看产品信息、产品添加、删除、修改产品信息。
第五部分:
库存信息管理模块,包括查看库存信息,添加库存信息,修改库存信息。
5主要代码
5.1数据库各个表创建代码
NSString*dbPath=[NSHomeDirectory()stringByAppendingFormat:
@"/Documents/user.db"];
_database=[[FMDatabasealloc]initWithPath:
dbPath];
if([_databaseopen])
{
//创建人员记录表
NSString*createUserSQL=@"createtableifnotexistsUserInfo(namevarchar(256)primarykey,passwdvarchar(256),typevarchar(256))";
BOOL_isScuessed=[_databaseexecuteUpdate:
createUserSQL];
if(!
_isScuessed){
NSLog(@"createtableerror:
%@",_database.lastErrorMessage);
}
//创建出库记录表
NSString*createSoldSQL=@"createtableifnotexistsSoldInfo(idintegerprimarykeyautoincrement,namevarchar(256),carNamevarchar(256),datevarchar(256))";
if(!
[_databaseexecuteUpdate:
createSoldSQL]){
NSLog(@"createtableerror:
%@",_database.lastErrorMessage);
}
//创建库存记录表
NSString*createWarehou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车 销售 系统 设计 实现 库存 管理 模块