基于.移动物联网的仓库管理系统方案_第1页
基于.移动物联网的仓库管理系统方案_第2页
基于.移动物联网的仓库管理系统方案_第3页
基于.移动物联网的仓库管理系统方案_第4页
基于.移动物联网的仓库管理系统方案_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

/课程报告课程名称:计算机技术领域工程实践问题案例分析实验项目:基于移动物联网的仓库管理系统摘要仓库管理系统是典型的信息管理系统.其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备.易使用等特点。采用便携式设备对仓储系统进行实时监控管理.有助于中小企业进行仓储系统优化升级。物联网因其巨大应用前景受到各国政府和学术、工业界的重视."智能物流"也被广泛关注。在对物联网概念、技术体系、网络结构、工作原理等研究的基础上.提出了一种基于物联网的高智能化物流仓库管理系统设计方案。重点分析了系统的总体架构、工作流程及功能模块.进而分析了系统物联网中的RFID系统、无线传感器监控网络和业务系统的实现方法。系统解决了传统仓储管理过程中物流信息处理效率低和出入库盘点不准确等问题.在出入库、监控、盘点、拣货等方面具有快速、便捷、准确、高效及高度自动化等优点.但在降低成本和提高安全性方面.还需进一步研究。关键词:信息管理系统.数据库.出库.入库TOC\o"1-3"\h\u1引言11.1背景11.2物联网11.2.1概念11.2.2技术体系21.2.3结构与原理21.3基于移动物联网的仓库管理系统21.3.1网络架构21.3.2系统流程31.3.3系统组成31.4国内外研究现状41.5本课题研究意义41.6本文主要概述42系统设计方案的研究42.1系统的目标42.2可行性分析42.2.1目的42.2.2可行性研究的前提42.2.3具体分析52.2.3系统简要描述52.2.4处理流程52.3运行环境要求62.4基于移动物联网的仓库管理系统实现62.4.1RFID标签及读写器62.4.2RFID中间件及数据过滤72.4.3RFID中传感器、微处理器、通信芯片及协议72.4.4手机移动端83数据库设计83.1需求分析83.1.1入库操作83.1.2出库操作93.2功能模块设计93.3数据字典103.4数据库概念结构设计113.5数据库逻辑结构设计144详细设计184.1数据库连接184.2主界面、菜单界面设计184.3各模块的功能及设计介绍194.3.1用户登录模块194.3.2基本信息管理214.3.3库存信息管理274.3.4系统设置305调试与测试305.1软件测试环境305.2软件测试过程315.2.1Android模拟器上的测试31真机测试33结论35参考文献361引言1.1背景仓库管理WMS<WareHouse

ManagementSystem>是本世纪中期发展起来的一门实用学科。它最早产生于二战时期的美国.五十年代中期.仓库概念传人日本.并得到快速发展。时至今日.仓库管理已成为西方企业管理中不可或缺的一部分.在许多国家得到了广泛的研究与应用。总的说来.仓库管理就是通过采购、仓储、综合、出库、配送等活动.解决物资供需之间存在的时间、空间、数量、品种价格等方面的矛盾.以此衔接社会生产的各环节.从而确保生产的顺利进行。随着社会经济的发展和工业生产的加速.仓库的进出更为频繁.仓库信息更为重要。传统仓库管理完全由人来完成.以手工记录为主.当企业的物流业务成长到一定规模之后.随着订单数量的增加.客户需求不断个性化.执行效率就成为物流发展的瓶颈.单纯依靠人力资源的增加已不能提升出入库执行的速度.反而带来成本的大幅度上升与差错频频。计算机信息管理技术的迅速发展恰恰解决了这个问题.它使计算机技术与现代的管理技术相互配合.来更加准确、高速地完成工业企业日常的仓库管理工作。使企业能够以最少的人员来完成更多的工作。1.2物联网1.2.1概念在2005年突尼斯举行的信息社会世界峰会上.国际电信联盟〔ITU发布了《互联网报告2005:物联网》一文.正式提出了物联网的概念。2009年初.在美国总统奥巴马与美国工商业领袖举行的会议上.IBM首席执行官提出"智慧地球"的概念.并建议新政府投资新一代的智慧型基础设施.从此物联网的概念进入了国家的战略层.发达国家也纷纷效仿.提出相应的战略对策。随即物联网概念也在中国升温.20XX8月温家宝总理指出.在国家重大科技专项中加快推进传感网发展.尽快建立"感知中国中心",2010年物联网进入了人代会的政府工作报告。关于物联网概念有很多解释.简言之:物联网是指通过射频识别装置、红外感应器、全球定位系统、激光扫描仪等信息传感设备.按约定的协议.把任何物品与互联网连接.进行信息交换和通信.以实现智能化识别、定位、跟踪、监控和管理的一种网络在这个网络中.系统可以自动地、实时地对物体进行识别、定位、追踪、监控并触发相应事件。1.2.2技术体系结合实际应用对物联网涉及的核心技术进行归类和梳理.主要包括感知与标识技术、网络与通信技术、计算与服务技术及管理与支撑技术四大体系。感知和标识技术是物联网的基础.负责采集物理世界中发生的物理事件和数据.实现外部世界信息的感知和识别。网络是物联网信息传递和服务支撑的基础设施.通过泛在的互联功能.实现感知信息高可靠性、高安全性传送;通信技术包括各种有线及无线通信.其中近距离无线通信技术将是物联网的研究重点。海量感知信息的计算与处理是物联网的核心支撑.需要研究数据融合、高效存储、语义集成、数据挖掘等关键技术.攻克物联网"云计算"中的虚拟化、网格计算、服务化和智能化技术;服务和应用是物联网的最终价值体现.需要面向典型应用需求.提炼核心共性支撑技术.研究规范化、通用化服务体系结构以及应用支撑环境、面向服务的计算技术等。管理与支撑技术是保证物联网实现"可运行-可管理-可控制"的关键.包括测量分析、网络管理和安全保障等方面。1.2.3结构与原理物联网划分为感知层、网络层和应用层3层。其中感知层用于识别物体.采集信息;网络层用于传递和处理感知层获取的信息;应用层与各行各业的专业技术深度融合.实现智能化管理。物品在生产完成时.贴上存储有电子产品代码〔EPC的电子标签对物品属性进行标识.同时将这个EPC代码的详细信息存储在EPC信息服务系统的服务器中。在运输、销售、使用、回收等任何环节.当某个读写器在其读取范围内监测到标签的存在.就会将标签所含EPC数据传往与其相连的中间件.中间件以该EPC数据为键值.在ONS服务器获取包含该物品信息的EPC信息服务器的网络地址.然后中间件根据该地址查询EPC信息服务器.获得物品的特定信息.并将信息转换为适合网络传输处理的数据格式。再将物品的信息通过网络传输到信息处理中心.由处理中心利用应用程序完成更深层次的计算处理。1.3基于移动物联网的仓库管理系统1.3.1网络架构针对仓储管理中存在的物流信息处理效率低以及出入库盘点不准确等问题.提出一种基于物联网的仓储管理系统设计方案。方案中的仓储管理物联网通过RFID电子标签实现物品的自动识别和出入库.利用无线传感器网络对仓储车间进行实时监控.从而极大地提高了仓储管理的智能化水平。1.3.2系统流程仓储管理系统的工作流程包括入库、出库、移库、盘点、拣选与分发等环节。系统采用国际上最先进的无线射频身份识别技术〔RFID.为每件物品提供一个惟一标志〔EPC代码.并在服务器中存储货物的相关属性信息.从而使系统能够自动识别物品.可以对物品进行跟踪和监控。另外.仓储车间还安装多个摄像头或视频传感器以及温度传感器、湿度传感器、烟雾传感器等构成无线传感器网络.并使其基本覆盖所有盲区.这样工作人员可以在监控中心随时了解仓储车间的情况.并及时处理。这样就在高效、准确、快捷的基础上.进一步提高了仓储管理的安全性。1.3.3系统组成智能仓储物联网主要由仓储物品识别、信息采集处理、仓储物品监控、后台信息服务器、本地数据库服务器、业务系统六大模块组成。在仓储物品识别模块.系统采用EPC代码作为物品的惟一标志码.为每个物品贴上一个具有EPC的RFID标签。标签由存入EPC的硅芯片和天线组成.附在被标志物品上.EPC代码内含一串数字代表物品ID、类别、名称、供应商、生产日期、产地、入库时间、货架号等信息.信息存储在后台EPC-IS服务器的数据库中。同时.随着物品在仓库内外的转移或变化.这些数据可以得到实时地更新。在信息采集处理模块.通过RFID数据采集接口获取物品的详细信息从而进行处理。当物品通过仓储车间入口时.由设置在仓库入口的物品标签读写器读取物品的EPC代码.然后根据物品的EPC代码访问后台EPC-IS服务器.获得物品的详细信息.并将相关信息保存到本地数据库.最后交由信息处理模块进行处理。仓储车间入口处可以安装多部读写器进行分类处理.还应为不可读标签提供手动编码区。在仓储物品监控模块.通过在仓储车间内外布置一系列的传感器.包括视频传感器、温度传感器、湿度传感器、烟雾传感器等.使其基本覆盖所有盲区.自组织构成一个无线传感器网络.通过该网络与Internet及业务系统互联.使工作人员可以在监控中心随时了解仓储车间内外的各类情况.以便及时处理。后台信息服务器用于存储物品的详细信息.如物品ID、类别、名称、入库时间等.并能实时地响应远程应用程序的请求.允许通过物品的EPC码对物品信息进行查询。本地数据库服务器用于存储信息采集处理模块所获得的物品信息.以便在业务系统中查询和维护。仓储工作人员可以通过无线设备或Web客户端随时随地查询物品的当前状态。业务系统的功能除了出入库管理外主要就是在库管理.在库管理包括在库物品保管、在库物品查询、在库物品盘点等作业。在库物品查询、在库物品盘点作业过程中均采用RFID技术。1.4国内外研究现状随着我国市场经济的进一步开展.强大的信息保障.有力的电子化管理.使各大企业在国内经济市场的大潮中把现代高科技的信息技术发挥的淋漓尽致。越来越多有远见的企业家.不惜重金从国外购买高新技术.高的投资、合理的管理往往换来巨大的利润。经营的物质技术手段由简单落后转变成高科技与人工手段并存.进而更多地将高科技应用到零售商业。国内实施WMS的条件日益成熟。主要是物流业在过去的两年里随着国家经济的发展.而日新月异.现代一体化物流的管理思想日益为企业所接受.对仓库有了新定位和认识.从而对管理系统也提出了新的要求。而国外在此方面的技术已经相当成熟。1.5本课题研究意义基于移动物联网的仓库管理系统的设计.能够更加方便的进行仓库进销存货物的管理.并且该程序为基于android开发而成.具有较强的适用能力。对一般小企业或者个人具有重要意义。1.6本文主要概述本文共分为五章。第一张引言部分主要介绍了课题背景、手机应用程序发展状况以及课题的意义;第二章介绍基于移动物联网的仓库管理系统的设计方案研究;第三章主要介绍基于移动物联网的仓库管理系统的数据库设计;第四章主要介绍基于移动物联网的仓库管理系统的详细设计;第五章主要介绍软件的调试与测试。2系统设计方案的研究2.1系统的目标仓库管理系统的总目标是:在数据库和先进的开发平台上.利用现有资源.开发一个体系结构完善的、易扩充的、易维护的、具有良好人机交互界面的仓库管理系统.实现仓库的计算机管理.提供完善的功能.为仓库管理人员提供便利的工作方式。2.2可行性分析2.2.1目的可行性分析的目的是对问题进行分析.以及根据对所选择的开发工具的了解.分析是否可以开发出一个比较完善的仓库管理系统.较好地完成任务。2.2.2可行性研究的前提<1>要求主要功能:实现仓库的移动设备管理。性能要求:功能齐全.运行稳定。输出要求:数据完整.详实。安全与保密要求:实行权限管理.防止数据遭到破坏。<2>目标系统实现后.提高仓库管理人员的工作效率.降低其工作量、减少手工操作的差错率、提高库存的准确率。2.2.3具体分析<1>eclipse是一个开放源代码的.基于Java的可扩展开发平台。虽然大多数用户很乐于将Eclipse当作Java集成开发环境〔IDE来使用.但Eclipse的目标却不仅限于此。Eclipse还包括插件开发环境〔Plug-inDevelopmentEnvironment.PDE.这个组件主要针对希望扩展Eclipse的软件开发人员.因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件.对于给Eclipse提供插件.以及给用户提供一致和统一的集成开发环境而言.所有工具开发人员都具有同等的发挥场所。只要将Android的SDK以及ADT导入至eclipse即可在此平台上进行Android软件的开发编程。此次设计的仓库管理系统是一个信息管理系统.用eclipse进行开发是可行的。〔2Android系统集成了一个轻量级的数据库:SQLite.SQLite只是一个嵌入式的数据库引擎.专门适用于资源有限的设备上〔手机、PDA等适量数据存取。但是它支持绝大部分SQL语法.也允许开发者使用SQL语句操作数据库中的数据。它可用于所有用户的数据库活动模型.包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其他类型的终端用户。基本的SQL命令只需要很少时间就能学会.最高级的命令在几天内便可掌握。而此次设计的仓库管理系统的是一个小型的信息管理系统.对数据库的要求并不是太高。所有用SQLite对仓库管理系统的开发是可行的。2.2.3系统简要描述本系统通过基本信息管理功能管理商品.客户.供应商的基本信息;通过库存管理功能实行商品的入库.出库操作.以及入库单和出库单的相关查询;通过信息查询.查询库存信息。2.2.4处理流程使用人员通过基本信息管理管理供应商、顾客、商品的基本信息。基本操作包括添加、删除、修改和查询。这些基本信息放在通过第三章建立的表放在数据库当中。系统访问数据库.并且完成用户的这些操作需求。以表单的形式显示出来.方便用户查看。用户通过库存管理来完成入库和出库操作.同样.入库操作和出库操作也包括添加、删除、修改和查询。入库商品信息和出库商品信息也放在数据库中.当用户有入库和出库操作时.系统访问数据库.生成入库单和出库单.以表单的形式显示出来.方便用户查看。处理流程如图1所示:使用人员使用人员基本信息管理生成基本信息库存管理数据库生成入库单生成出库单图1处理流程2.3运行环境要求〔1硬件要求:CPU:主频500MHZ或更高内存〔RAM:最少64M.建议128M或更多SDK:250MB或更多软件要求:Android2.2操作系统或更高版本2.4基于移动物联网的仓库管理系统实现2.4.1RFID标签及读写器在智能仓储物联网中.针对仓储物品识别和信息采集处理两个模块的应用需求.建议采用西门子研发的适用于物流、仓储和配送的智能无线射频识别系统—SIMATICRFID系统。该系统可以将数据直接存储到附在产品上的标签中.能够可靠、快速、经济地读写数据;而且MOBY系列标签通信速率快、抗干扰性强.具有不同存储容量、不同环境耐受条件的移动存储单元.有不同的读/写距离和数据传输速率.根据具体应用需求可选择配合不同的接口模块使用.可以以不同的通信方式和业务控制系统进行通信。具体应用中可以在仓库入口和出口处各定点安装2-4套SIMATICRF系列读写器.用于实现入/出库操作;在仓库内部再配置2-4套移动读写器.用于仓储盘点和物品拣选。2.4.2RFID中间件及数据过滤西门子SIMATICRF-MANAGER中间件为SIMATICRF600提供了一体化的软件解决方案.但并不适用于本系统物联网的物流仓储管理应用.因此需要设计一种针对系统实用的RFID中间件。中间件的功能模块包括:RFID读写器接口模块、逻辑读写器映射模块、RFID数据过滤模块、设备管理模块、业务系统接口模块.如图4所示。其中:RFID读写器接口用于中间件与RFID读写器的数据通信.主要有获取RFID数据以及下达设备管理模块的读写器指令;设备管理模块用于调整RFID读写设备的工作状态.配置相应的接口参数等;逻辑读写器映射模块用于将多个物理读写器或者读写器的多条天线映射成为一个逻辑读写器。一个逻辑读写器代表了一个有具体含义的数据采集点.而不管该采集点在物理上由多少个读写器和天线组成。它屏蔽了数据采集点的具体实现方式.减少了数据过滤等上层模块与下层数据采集部分的软件耦合度。对于上层业务系统来说.可见的只有逻辑读写器.所以逻辑读写器映射模块对RFID数据有初步过滤的功能。RFID采集的原始数据量非常大.在实际应用中.根据具体的配置不同.每台读写器每秒可以上报数个至数十个不等的电子标签数据.如重复多次扫描同一个电子标签.但其中只有少部分是对用户有意义的、非重复性的数据.这样大量的数据如果不经过去冗等处理而直接上传.将会给整个RFID系统带来很大的负担。因此.系统采用数据采集事件编码的方法对RFID采集的数据进行过滤处理。首先对电子标签状态的改变进行编码.定义标签出现的状态编码为0,标签状态消失的编码为1;然后加入计时器机制.对计时器有效时间内的同一标签的状态跳变进行忽略.从而在状态定义和时间维度两个方面对数据进行去重化。该方法能够很好地消除冗余数据.减少上层系统的负荷。2.4.3RFID中传感器、微处理器、通信芯片及协议在智能仓储物联网中.针对仓储物品监控模块的应用需求.采用Zigbee无线传感器网络和有线网络相结合并与局域网、互联网相连的设计思路实现整个仓储车间的物品监控。Zigbee技术具有功耗极低、系统简单、组网方式灵活、成本低、低等待时间等性质.适用于此类监控系统的设计。出于节能的考虑.仓储物品监控模块的数据采集应要求传感器体积小、低功耗、外围电路简单.最好采用不需要信号调理电路的数字式传感器。主控单元建议采用Atmel公司的Atmega16L单片机。无线通信模块建议采用CC1000芯片与微控器及一些外围无源元件一起构成。2.4.4手机移动端在智能仓储物联网中由于RFID读取器的价格昂贵.由于智能手机的普及和其低廉的价格.因此我们采用手机进行RFID的识别.这样不仅大大削减了成本也增加便携性。3数据库设计所谓数据库设计是指从对现行非计算机管理的数据库系统的分析到最终实现由计算机管理的数据库系统的全过程。它包括表、查询、报表等的设计。总的原则应从提高数据处理效率及便于数据处理两方面考虑。数据库是信息系统的核心和基础。它把信息系统中大量的数据按一定的模型组织起来.提供存储、维护、检索数据的功能.使信息系统可以方便、及时、准确地从数据库中获得所需的信息。数据库设计的步骤有需求分析.概念结构设计.逻辑结构设计。3.1需求分析进行数据库设计首先必须准确了解与分析用户需求<包括数据与处理>。需求分析是整个设计过程的基础.是最困难、最耗费时间的一步。作为地基的需求分析是否做得充分与准确.决定了在其上构建数据库大厦的速度与质量。需求分析做得不好.甚至会导致整个数据库设计返工重做。3.1.1入库操作入库功能实现可分为以下几个部分:<1>定制入库单由操作人员输入最基本的信息.从商品信息表中获取商品相关信息.从供应商信息表中获取供应商的相关信息。<2>输入入库单对应的商品信息入库商品与入库单自动关联.从商品信息表中获取商品的相关信息。入库操作的数据流图如图2所示:图2入库数据流图3.1.2出库操作出库功能实现可分为以下几个部分:<1>定制出库单由操作人员输入最基本的信息.从商品信息表中获取商品相关信息.从客户信息表中获取客户相关信息。<2>输入出库单对应的商品信息出库商品与出库单自动关联.从商品信息表中获取商品的相关信息。处理流程如图3所示:图3出库数据流图3.2功能模块设计系统功能模块结构图,如图4所示:修改密码管理用户退出修改密码管理用户退出入库管理出库管理供应商信息管理顾客信息管理商品信息管理基本信息管理库存管理系统设置仓库管理系统图4系统功能模块图该系统功能模块图列出了系统的主要功能模块。包括基本信息管理.库存信息管理以及系统设置。其中基本信息管理又包括供应商信息管理.顾客信息管理以及商品信息管理。库存信息管理包括入库管理和出库管理。系统设置包括管理用户.修改密码和退出三个功能。其中供应商信息管理包括添加供应商信息、修改供应商信息、删除供应商信息、查询供应商信息四个子功能。顾客信息管理包括添加顾客信息、修改顾客信息、删除顾客信息、查询顾客信息四个子功能。商品信息管理包括添加商品信息、修改商品信息、删除商品信息三个子功能。入库管理包括添加入库商品信息、修改入库商品信息、删除入库商品信息、查询入库商品信息四个子功能。出库管理包括添加出库商品信息、修改出库商品信息、删除出库商品信息、查询出库商品信息四个子功能。各个功能的操作步骤见第3章详细设计。3.3数据字典用户的需求具体体现在各种信息的提供、保存、更新和查询。这就要求数据加结构能够充分地满足各种信息的输入和输出。收集基本数据、数据结构和数据处理流程.组成一份详细的数据字典.为下一步的具体设计做好充分的准备。名字:客户信息描述:仓库货物客户的基本信息定义:客户信息=公司名称+联系人姓名+联系人地址+城市名称+地区名称+邮政编码++传真号码+公司主页名字:供应商信息描述:仓库货物供应商的基本信息定义:供应商信息=公司名称+联系人姓名+联系人地址+城市名称+地区名称+邮政编码++传真号码+公司主页名字:商品属性信息描述:商品各项属性的相关信息定义:商品属性信息=单位+类别名字:商品信息描述:商品的各项信息定义:商品信息=名称+规格名字:入库单信息描述:入库单的各项信息定义:入库单信息=入库单号+供应商+制单人+入库时间+库管员+经办人+是否入库+数量+仓库名字:入库单商品信息描述:与入库单对应的商品信息定义:入库单信息=供货商公司名称+联系人姓名++商品名称+商品规格+计量单位+单价+数量+进货日期名字:出库单信息描述:出库单的各项信息定义:出库单信息=顾客公司名称+联系人姓名++商品名称+商品规格+计量单位+单价+数量+进货日期3.4数据库概念结构设计概念结构设计是整个数据库设计的关键.它通过对用户需求进行综合、归纳与抽象.形成一个独立于具体DBMS的概念模型。供应商实体属性图.如图5:地址地址供应商供应商公司名称传真邮编电话联系人城市地区公司主页图5供应商实体属性图供应商信息=公司名称+联系人姓名+联系人地址+城市名称+地区名称+邮政编码++传真号码+公司主页<2>顾客实体属性图.如图6:地址地址顾客顾客公司名称传真邮编电话联系人城市地区公司主页图6顾客实体属性图顾客信息=公司名称+联系人姓名+联系人地址+城市名称+地区名称+邮政编码++传真号码+公司主页商品实体属性图.如图7:商品商品名称规格计量单位图7商品实体属性图商品信息=商品名称+规格+计量单位<4>实体关系图<E-R图>.如图8:供应商供应商顾客商品仓库管理系统图8实体关系图供应商、顾客和商品通过仓库管理系统联系起来。完整的实体联系图见图8。<5>完整的实体联系图9包括三个实体.即供应商实体、顾客实体和商品实体。其中供应商和商品通过入库操作联系起来。他们之间的关系是多对多的关系。即一件商品可以由多个供应商供应.一个供应商也可以由多种商品。入库操作有一个属性即入库单.它记录着入库操作的一些基本信息如供应商名称、入库商品的名称等等。商品和顾客通过出库操作联系起来。同样他们之间也是多对多的关系。即一个顾客可以购买多种商品.一种商品也可以提供给多个顾客。出库操作的属性是出库单.它记录着顾客名称、出库商品的名称等等一些出库操作的基本信息。供应商供应商顾客商品电话主页城市传真邮编公司名联系人传真主页电话邮编地区城市联系人公司名地区名称规格计量单位出库入库入库单出库单图9完整的实体联系图3.5数据库逻辑结构设计概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。现在需要将上面的数据库概念结构转化为SQLite数据库系统所支持的实际数据模型.也就是数据库的逻辑结构。仓库管理系统数据库中的各个表格的设计结果如下面的表格所示。每个表格表示数据库中的一个表。表1为供应商信息表:表1供应商信息表列名数据类型可否为空说明CompanyNameVarcharNOTNULL公司名称ContactNameVarcharNULL联系人姓名AddressVarcharNULL联系地址CityVarcharNULL所在城市RegionVarcharNULL所在地区PostalCodeVarcharNULL邮政编码PhoneVarcharNULL电话号码FaxVarcharNULL传真号码HomepageVarcharNULL公司主页SupplierMemoTextNULL备注信息表1供应商信息表共包括10个列名.即为供应商实体的基本属性。其中供应商编号CompanyName为候选码<Candidatekey>.根据实体完整性规则.它不能为空且唯一标识一个供应商元组。由于只有一个候选码.故CompanyName为主码<Primarykey>。由于选择了公司名称CompanyName为主码.则不允许公司重名。其它九个属性为非码属性.是可以为空的。建表程序代码如下:CREATETABLE[dbo].[suppliers]<[CompanyName][varchar]<40>COLLATEChinese_PRC_CI_ASNOTNULL. [ContactName][varchar]<30>COLLATEChinese_PRC_CI_ASNULL. [Address][varchar]<60>COLLATEChinese_PRC_CI_ASNULL. [City][varchar]<15>COLLATEChinese_PRC_CI_ASNULL. [Region][varchar]<15>COLLATEChinese_PRC_CI_ASNULL. [PostalCode][varchar]<6>COLLATEChinese_PRC_CI_ASNULL. [Phone][varchar]<24>COLLATEChinese_PRC_CI_ASNULL. [Fax][varchar]<24>COLLATEChinese_PRC_CI_ASNULL. [HomePage][varchar]<50>COLLATEChinese_PRC_CI_ASNULL. [SupplierMemo][text]COLLATEChinese_PRC_CI_ASNULL>表2为顾客信息表:表2顾客信息表列名数据类型可否为空说明CompanyNameVarcharNOTNULL公司名称ContactNameVarcharNULL联系人姓名AddressVarcharNULL联系地址CityVarcharNULL所在城市RegionVarcharNULL所在地区PostalCodeVarcharNULL邮政编码PhoneVarcharNULL电话号码FaxVarcharNULL传真号码HomepageVarcharNULL公司主页SupplierMemoTextNULL备注信息表中共包含10个列名.即为顾客实体的基本属性。其中CompanyName<顾客公司名>为候选码.它不能为空且它们唯一标识一个顾客信息元组。由于只有一个候选码.CompanyName即为主码。由于选择了公司名称CompanyName为候选码.则不允许公司重名。其它九个属性为非码属性.是可以为空的。建表程序与建供应商表类似.在这里不再列出。表3为商品信息表:商品信息共包括4个列名.分为对应商品名称、商品规格、商品单位和备注信息。其中ProductName<商品名称>为候选码.它唯一标识一个商品信息元组.不能够为空。由于只有一个候选码ProductName即为主码。由于ProductName为候选码.商品不能够重名。其它三个属性为非码属性.可以为空。表3商品信息表列名数据类型可否为空说明ProductNameVarcharNOTNULL商品名称SpecVarcharNULL商品规格UnitVarcharNULL商品单位ProductmemoTextNULL备注信息表4为入库信息表:表中共包括8个表项.分别表示供应商名称.商品名称.商品规格.商品单位.备注信息.商品单价.进货日期.商品数量。其中ProductName<商品名称>为主码。不能够为空。其它7项为非码属性.可以为空。建表程序如下:CREATETABLE[dbo].[sstock]< [ProviderName][varchar]<40>COLLATEChinese_PRC_CI_ASNULL. [ProductName][varchar]<40>COLLATEChinese_PRC_CI_ASNULL. [Spec][varchar]<20>COLLATEChinese_PRC_CI_ASNULL. [Unit][varchar]<20>COLLATEChinese_PRC_CI_ASNULL. [Quantity][varchar]<20>COLLATEChinese_PRC_CI_ASNULL. [UnitPrice][float]NULL. [OrderDate][datetime]NULL. [Ordermemo][text]COLLATEChinese_PRC_CI_ASNULL>表4进货信息表列名数据类型可否为空说明ProviderNameVarcharNULL供应商姓名ProductNameVarcharNOTNULL商品名称SpecVarcharNULL商品规格UnitVarcharNULL商品单位QuantityFloatNULL商品数量UnitPriceMoneyNULL商品单价OrderDateDatatimeNULL进货日期OrdermemoTextNULL备注信息表5为出库信息表:表中共包括8个表项.分别表示顾客名称.商品名称.商品规格.商品单位.备注信息.商品单价.进货日期.商品数量。其中ProductName<商品名称>为主码。不能够为空。其它7项为非码属性.可以为空。表5出库信息表列名数据类型可否为空说明CustomerNameVarcharNULL顾客姓名ProductNameVarcharNOTNULL商品名称SpecVarcharNULL商品规格UnitVarcharNULL商品单位QuantityFloatNULL商品数量UnitPriceMoneyNULL商品单价OrderDateDatatimeNULL进货日期OrdermemoTextNULL备注信息经过前面的需求分析和概念结构设计以后.得到数据库的逻辑结构。现在在SQLlite数据库系统中实现该逻辑结构。这是利用SQLite数据库系统中的SQL查询分析器实现的。根据上面所举的建表语句分别建立下面几个表:创建供应商基本信息表创建顾客基本信息表创建商品基本信息表创建入库商品基本信息表创建出库基本信息表创建用户信息表上面的表格的SQL语句在SQLite中查询分析器的执行.将自动产生需要的所有表格。有关数据库结构的所有后台工作已经完成。接下来就是系统的详细设计。4详细设计经过以上章节的分析、建模过程已经完成了数据库的后台工作.建立起了能够使系统顺利运行的后台.完成了初期的工作.接下来就要进入系统的实现工作阶段.包括:界面设计和代码编写。系统主体功能由三部分组成.下面主要对程序总体框架的搭建以及数据库的连接、基本信息的管理<包括供应商基本信息、顾客基本信息、商品基本信息>、库存管理<包括入库操作、出库操作>、信息查询〔包括库存信息查询、系统设置<包括添加用户、修改密码、退出>的详细设计过程。4.1数据库连接数据库程序设计是建立在数据库的基础之上的.因此.在开始程序设计时首要的任务是建立程序与数据库后台的联系。由于Android系统自己集成了自己的轻量级数据库.所以在连接时只需要创建一个代表指定数据库的SQLiteDatabase的对象.然后就可以通过SQLitedatabase对象来管理、操作数据库了。4.2主界面、菜单界面设计主界面、菜单界面具体样式如图10示:图10主界面、菜单界面Android对布局、组件的设置与修改是非常方便的。所以设计出这样的界面是很简单的。各个菜单项设置如表6所示。4.3各模块的功能及设计介绍4.3.1用户登录模块用户登录模块是系统模块中一个重要的子系统模块.它是系统安全的一个保障。它的主要功能是安全帐号管理.需要正确帐号和密码才能进入系统。对于错误帐号和密码给出提示。表6菜单设置表供应商信息管理添加供应商信息修改供应商信息删除供应商信息查询供应商信息顾客信息管理添加顾客信息修改顾客信息删除顾客信息查询顾客信息商品信息管理添加商品信息修改商品信息删除商品信息库存管理入库管理添加入库商品信息修改入库商品信息删除入库商品信息查询入库商品信息出库管理添加出库商品信息修改出库商品信息删除出库商品信息查询出库商品信息信息查询库存信息查询系统设置修改密码管理用户退出关于关于该软件输入:用户名和密码。处理:〔1用户登录窗体启动。〔2用户填写用户名并输入密码。〔3从操作人员表中检查是否有相应的用户名和密码。〔4如果用户名或密码错误.进行提示。〔5如果输入的用户名和相应密码正确.则根据该用户的权限类别进行权限设置。〔6进入主控制平台。设计流程图.如图11:输入用户名和密码输入用户名和密码登录密码正确?进入主控制平台开始结束图11设计流程图4.3.2基本信息管理从表6中可以看出.基本信息管理包括供应商信息管理.顾客信息管理和商品信息管理。供应商是商品在入库时提供商品的人.在进行入库操作时必须先添加该商品的供应商的信息。供应商的信息包括供应商的公司名称.联系人姓名.联系人地址.城市名称.地区名称.邮政编码..传真号码.公司主页等基本信息。这些都是必须要求输入的。本程序提供了增加.删除.修改和查询供应商信息的功能。增加:当有新的供应商提供商品的时候需要使用此功能。删除:当与某供应商取消贸易关系时.需要把供应商信息从系统中删除。修改:当某供应商基本信息发生改变时.可以修改供应商信息。查询:可以查询库中任何供应商的信息。因此仓库管理员可以方便的进行供应商信息的管理。添加供应商信息的对话框如图12所示:图12添加供应商信息添加供应商信息操作步骤及处理流程:选择基本信息管理->供应商信息管理->添加供应商信息出现图12所示对话框用户输入公司名称.联系人姓名.联系人地址.城市名称.地区名称.邮政编码..传真号码.公司主页点击保存.如果其中有空项.会提示该项不能为空.要求用户重新输入弹出提示框显示供应商信息已经加入。用户可以继续加入供应商信息或者点返回进行其它操作。部分代码如下:判断供应商唯一:strQuery="select*fromsupplierswhereCompanyName='"+m_sCompany+"'";theApp.ADOExecute<theApp.m_pADOSet.strQuery>;intiCount=theApp.m_pADOSet->GetRecordCount<>;if<0!=iCount>{AfxMessageBox<_T<"已经存在此公司记录!">.MB_ICONEXCLAMATION>;return;}删除旧记录:strQuery="deletefromsupplierswhereCompanyName='"+m_sOldCompany+"'";theApp.ADOExecute<theApp.m_pADOSet.strQuery>;插入新记录:insertsuppliers<CompanyName.ContactName.Address.City.Region.PostalCode.Phone.Fax.HomePage.SupplierMemo>\values<'"+m_sCompany+"'.'"+m_sPerson+"'.'"+m_sAddress+"'.'"+m_sCity+"'.'"+m_sArea+"'.'"+m_sPostCode+"'.'"+m_sPhone+"'.'"+m_sFax+"'.'"+m_sHomePage+"'.'"+m_sMemo+"'>";修改供应商信息步骤及处理流程:选择要修改的供应商信息选择基本信息管理->供应商信息管理->修改供应商信息出现图12所示对话框用户可以修改供应商的基本信息.修改完后点保存如果其中有空项或非法字符.会提示该项不能为空或输入不合要求.要求用户重新输入更新供应商信息列表。显示信息已经修改用户可以继续加入供应商信息或者点返回进行其它操作设计流程图.如图13:开始开始初始化对话框输入基本信息是否为空供应商唯一删除旧记录插入新记录报错报错YNYN更新数据库结束图13添加供应商流程图删除供应商信息步骤及处理流程选择要修改的供应商信息选择基本信息管理->供应商信息管理->删除供应商信息更新供应商信息列表。显示信息已经被删除信息一旦被删除将不能被恢复开始开始选择供应商是否选择修改记录更新数据库YN获取供应商列表结束图14修改供应商信息流程图设计流程图.如图15:开始开始选择供应商是否选择删除记录更新数据库YN结束图15设计流程图查询供应商信息步骤及处理流程选择基本信息管理->供应商信息管理->查询供应商信息出现图16所示对话框:图16供应商信息查询有三个选项:按公司名查询.按联系人姓名查询.按公司所在地查询。如果按公司查询则选中公司.输入公司名。按联系人查询则选中联系人姓名.输入联系人。按公司地址查询则选中所在城市.。也可以填写其中的两项或三项进行更精确的查找。如果全部没有填写.系统会直接默认查询全部供应商信息。如果查找不到符合要求的信息.供应商列表为空。用户可以继续查找。输入正确.供应商列表会列出符合查找条件的信息供用户使用。查询供应商信息流程图.如图17:结束结束开始符合条件?查询结果输入查询条件NY图17查询信息流程图顾客是商品在出库操作时商品销售的对象。同供应商信息类似在进行入库操作时必须先添加该商品的供应商的信息。顾客的基本信息同供应商的类似.也都是必须要求输入的。同样对顾客信息的管理也提供了增加.删除.修改和查询功能。商品信息管理。商品的基本信息包括商品名称.商品规格.计量单位。这些都是必须输入的。用来记录商品的基本属性。顾客和商品信息的操作过程与供应商的操作步骤和处理流程类似.在此不一一讲述。4.3.3库存信息管理系统的核心功能在于入库、出库管理.这部分实现比较复杂.涉及到的数据和操作步骤都比较多。入库和出库的流程大体上是一样的.只有细节部分的区别。流程如图3-9所示。在商品入库/出库之前必须建立一张入库/出库单.在该清单中记录了该次入库/出库过程的基本信息.包括供应商/客户名称、入库/出库时间、商品名称、商品规格、计量单位、单价、数量等等。仓库的入库/出库过程涉及到仓库的库存.关系到财产问题.与之相关的信息都很重要。所以本程序设计了修改入库/出库单的信息。下面将结合图片具体讲述实现过程。1.入库操作:入库操作的界面如图18所示:图18添加入商品入库信息界面的左边是供货商信息和商品信息。为了保证入库信息准确无误.这两项用户不能自己填写.如果有新的供应商或新的商品必须先在基本信息管理中填加供应商信息和商品信息.然后从下拉列表中选择相信的供应商和商品。这样可以保证商品入库正确.保护财产安全。入库单右边是进货信息.包括本次商品入库时的单价和数量。因为每次进货时单价和数量都不一样.所以需要仓库管理员自己进行填写。进货日期默认为填单当日.也可以点下拉箭头进行时间选择。输入基本信息输入基本信息产生入库/出库单为入库/出库单添加商品确定入库/出库更新库存图19入库和出库的流程入库操作步骤及处理流程:选择库存信息管理->入库操作->添加入库商品信息出现如图18所示对话框从供货商信息的公司名称下拉列表中选择公司名称.从商品信息的商品名称下拉列表中选择商品名称.填写进货信息中的单价.数量.从进货日期下拉列表中选择时间.填好各项信息后点击保存如果填写信息有误或者为空系统会提示重填填写正确且点击保存后.显示入库商品信息.确定商品已经入库用户可以继续添加入库信息.或者点返回进行其它操作修改入库商品信息操作步骤:选择要修改的入库商品信息选择库存信息管理->入库操作->修改入库商品信息出现图18所示对话框用户可以修改入库单的基本信息.修改完后点保存如果其中有空项或非法字符.会提示该项不能为空或输入不合要求.要求用户重新输入更新入库商品信息列表。显示信息已经修改用户可以继续加入入库商品信息或者点返回进行其它操作删除入库商品信息步骤及处理流程:选择要修改的入库商品信息选择库存信息管理->入库操作->删除入库商品信息如果没有选择入库商品信息.系统会提示没有选择入库商品.要求重新选择更新供应商信息列表。显示信息已经被删除信息一旦被删除将不能被恢复查询入库商品信息步骤及处理流程:选择库存信息管理->入库操作->查询入库商品信息如果没有入库商品.系统会提示无入库商品无法查询有入库商品会出现图20所示对话框:图20入库信息查询有两个选项供查询:商品名称和供应商名称。均无需输入.可直接从下拉列表中选择。如果查找不到符合要求的信息.供应商列表为空。用户可以继续查找。输入正确.入库商品列表会列出符合查找条件的信息供用户使用。2.出库操作:出库操作和入库操作的界面类似.这里不再作过多的讲述。只是将供应商信息改为了顾客信息。同样.顾客信息用户也是不能够自己填写的。如果有新的用户必须先在基本信息管理的顾客信息管理里面添加顾客信息。然后可以从下拉列表中选择用户信息。4.3.4系统设置系统设置包括三个子功能。修改密码.管理用户和退出。修改密码:用户登入后可以修改自已的密码。建议用户定期更改自己的密码.以防信息泄露。管理用户:本系统只允许该程序的超级管理员添加用户.增加系统的安全性。退出:退出系统。5调试与测试5.1软件测试环境Android模拟器是AndroidSDK自带的一个移动模拟器.它是一个可以运行在电脑上的虚拟设备。Android模拟器可以不需要使用物理设备即可预览、开发和测试Android应用程序。因此Android软件的测试可以在模拟器下进行测试。Android模拟器如图8所示:图21Android模拟器为了便于模拟和测试应用程序.Android模拟器允许应用程序通过Android平台服务调用其他程序、访问网络、播放音频和视频、保存和传输数据、通知用户、渲染图像过渡和场景。Android模拟器同样具有强大的测试能力.例如能够记录内核输出的控制台、模拟程序中断、模拟数据通道中的延时效果和遗失。但是Android模拟器并非所有应用程序都能通过其进行测试.Android模拟器不支持蓝牙、GPS、WIFE等测试.

温馨提示

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

评论

0/150

提交评论