物料拉动系统设计_第1页
物料拉动系统设计_第2页
物料拉动系统设计_第3页
物料拉动系统设计_第4页
物料拉动系统设计_第5页
免费预览已结束,剩余37页可下载查看

下载本文档

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

文档简介

题目:XXXX公司物料拉动系统设计37 摘 要物料拉动系统从公司的经营目标出发,运用合理化技术管理工程技术、计算机网络技术、 条码自动识别技术以及精益生产的先进理念,紧密结合公司的实际情况,将信息集成起来,建立实用、可靠、共享、完整、先进,具有一定经济效益的拉动系统。使物流部门能快速了解生产状况,完成物料配送,为生产一线提供可靠的物料保障。从而为整个公司的经营运作提供支持,确保零配件的及时交付,全面提高公司的市场竞争能力。为提高公司物料配送效率,作者使用vs2008编程软件和SQL Server2005 数据库作为开发工具,开发出“物料拉动系统”的内部拉动模块,该系统采用了面向对象的理论,首先建立系统应用原型,然后进行需求迭代,不断修正和改进,直到形成满意的可行系统。该系统结构良好、使用方便,系统的内部拉动模块主要能够实现了要建立物料看板拉动需求的拉式生产模式;物料看板打印与维护;物料看板扫描及分类排序等功能。该系统有安全的用户登录模块、方便快捷的浏览界面、易于操作的功能模块。论文首先阐述的是物料拉动系统产生的背景,接着进行系统的可行性分析和内部拉动模块的需求分析,然后给出了系统内部拉动模块的设计流程和各部分功能实现的方法,并进行了系统的测试和维护。在最后的小结部分,作者对自己的工作进行了总结分析,并对未来的工作进行了展望。关键词:物料拉动系统;物料配送;内部拉动;数据库,vs2008AbstractMaterial pull system from the companys business goals and objectives, rationalize the use of technology management engineering technology, computer network technology, bar code automatic identification technology and advanced concept of lean production, in close connection with the actual situation of the company, the information is integrated together to create practical, reliable, sharing, integrity, and advanced drive system has a certain economic benefits. Understandings of the logistics sector production status quickly complete the delivery of materials for the production line to provide reliable protection of materials. Thus the operations for the entire company to provide support to ensure timely delivery of spare parts, improve the companys market competitiveness.In order to enhance the efficiency of the material distribution, the authors use vs2008 and SQL Server2005 database programming software as a development tool to develop a material pull system internal drive module, the system uses object-oriented theory, the first prototype application system, and then needs to constantly revise and improve, until the formation of satisfied with it.The system is well structured and easy to use, pull the module within the system to achieve the main material to create demand pull Kanban pull production mode; Kanban materials, printing and maintenance; Scan and sort the materials, billboards and other functions. The system has a user login module safe, convenient browser interface, easy-function module.Paper first describes the background material pull systems, followed by the feasibility analysis and needs analysis within the driving module, and then pull the module within the system given the design process and methods to achieve some of the features of each, and were systematically testing and maintenance.Key words: material pulls systems; material delivery;internal drive; database; vs2008目 录摘 要IABSTRACTII1系统可行性分析11.1 引言11.2 技术可行性11.3 经济可行性22 需求分析22.1 系统需求分析22.2设计要求及运行环境72.3 各模块的功能需求分析72.4 系统功能分析83 系统设计93.1系统总体设计93.1.1系统架构93.1.2系统模块设计103.2内部拉动模块详细设计103.2.1主要模块详细用例图与界面设计103.3 系统整体数据库设计153.3.1系统数据流图163.3.3内部拉动相关数据库逻辑结构设计174系统实现234.1 功能实现234.1.1看板维护234.1.2看板扫描234.1.3零件出库234.1.4零件批量出库234.1.5拣料单管理234.2 系统涉及的关键技术244.2.1 三层架构245软件测试及其维护255.1系统测试环境与工具255.1.1测试环境255.1.2测试方法265.1.4系统测试结果265.2 系统维护275.2.1本系统维护工作的内容276 结论286.1系统功能和特点286.2软件开发过程的特点和体会286.3系统的评价及改进28致谢29参考文献30附 录311系统可行性分析1.1 引言随着计算机技术的飞速发展,计算机在生产过程中应用的普及,利用计算机实现物料拉动已被广泛采用。对于企业来说,利用计算机支持高效率完成生产过程事务,是适应现代化制度要求、推动企业生产走向科学化、规范化的必要条件;同时计算机有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高物料拉动的效率,也是企业信息化的重要条件。物料拉动系统是建立在物流平台的基础之上的,本系统以上汽通用XX汽车股份有限公司的发动机工厂物流平台作为项目背景,为该工厂设计一套完整的物料拉动解决方案。该物流平台简单示意图如下:图 I.1 物流平台物料运送到生产线上有两种方式,第一种是供应商供货到工厂生产用的仓库,再从仓库运送到生产线旁;另一种方式是直接从供应商接收物料到生产线旁。其中从仓库转运到生产线旁的过程就是本文所要详细阐述的内部拉动模块。内部拉动方式是基于看板的拉动方式,一个看板代表一箱物料,当生产线消耗了一箱物料,就会把这箱物料的看板放到指定位置,相关人员会定时收集看板,然后扫描看板,系统根据扫描的看板生成拣料单,备送员接着根据拣料单到仓库备货,然后扫描出库。1.2 技术可行性此系统以vs2008为主开发工具,SQL Server 2005为后台数据库,利用ODBC技术实现数据库系统的各种操作。Vs2008是一个功能强大、高效并且可扩展的编程环境,再加上开发团队积累下来的众多可复用资源,开发此B/S 模式的数据库管理系统的应用程序,已经很方便。1.3 经济可行性基于物料拉动系统,其最大的特点是准确性高、时效性强、效率高:单从信息交互方式来看,就可以由传统的联系方式需要几个小时甚至几天的时间减少的到现在的几分钟,节约了大量的人力物力;节省了社会成本,提高了工作效率。基于上述情况,采用物料拉动系统实现物料配送,为生产一线提供可靠的物料保障已经成为很多企业生产的一种重要物料配送方式,同时也是汽车制造行业的一大发展,前景广阔。2 需求分析2.1 系统需求分析理解内部拉动模块的需求,首先要理解看板在该工厂生产过程中的概念与使用方式,因为内部拉动方式是基于看板的拉动方式,看板就是表示出某工序何时需要何数量的某种物料的卡片,又称为传票卡,是传递信号的工具,在该工厂的使用中,简单的说就是一个看板代表一箱物料,在每箱物料上,都会有其相对应的看板,上面记录有这箱物料的相关信息。当生产线消耗了一箱物料,就会把这箱物料的看板放到指定位置,相关人员会定时收集看板,然后扫描看板,系统根据扫描的看板生成拣料单,备送员接着根据拣料单到仓库备货,然后扫描出库。内部拉动业务流程图说明如下:表 2.1 流程图说明图标定义部门描述页内连接流程开始系统操作系统外操作判断其他流程页外连接系统外文档系统文档逻辑或(被该符号连接的后续操作可以任选其一进行)逻辑与(被该符号连接的所有前期操作必须完成,才能进行后续操作)业务流程蓝图To-Be Business Process 图2.1 业务流程蓝图表2.2业务流程操作步骤说明To-Be Business Process Detailed Activity List操作步骤Activity No.部门Department录入Input步骤说明Activity Description输出Output下一步Next Step表单/报表Report/Form 备注Comments1配送员定时收集看板2看板2配送员扫描看板3系统按零件与供应商关系判断配比件,按配比分配供应商3配送员打印拣料单 拣料单4拣料单按使用点和线路生成拣料单4配送员按拣料单到仓库备货55配送员扫描拣料单出库66配送员把货物配送到线旁表2.3 相关报表、单据 Related Report/Form编号单据及报表名称输入/输出备注1看板输入拉动系统单据2拣料单输出拉动系统单据业务流程详细流程图如下:图2.2详细业务流程图流程描述:1、线旁操作员把看板卡放到看板卡盒中;2、配送员在规定时间从看板卡盒中收集看板;3、配送员扫描看板,正常扫描同一个看板不能重复扫描。4、提交生成拣料单时,系统会根据基础信息判断是否配比件,是否直供件,是否海外件;5、如果是配比件,系统根据配比分配供应商;6、系统按线路和使用点生成拣料单;生成的拣料单内容按维护的线路序列排序,且不显示供应商号。7、操作员打印拣料单;8、配送员根据拣料单去仓库备货;9、出库时仓库管理员核对拣料单和货物信息,查看是否有差异,无差异则扫描确认出库;有差异则在拣料单中标记出,扫描拣料单修改差异,确认出库;10、配送员把货物配送到线旁。2.2设计要求及运行环境本系统的最终用户有看板扫描员、仓库管理员等。看板扫描员主要负责扫描看板,并打印拣料单;仓库管理员主要是扫描拣料单出库。由于大部分用户并非计算机专业人士,因此他们需要的是一个易于理解和操作、界面友好、有交互功能的系统。本论文涉及到的主要是模块功能方面的设计。这就要尽量考虑如何让本系统模块功能更易于被用户理解,使用户能很快的熟悉本系统的使用方法。l 软件环境服务端:Microsoft Windows 2003 中文版、Microsoft SQL Server 2005企业版,IIS(或APACHE)客户端:Microsoft Windows XP、IE6以上版本浏览器。l 硬件环境服务端:满足运行以上软件平台的服务器客户端:PC,激光打印机,标签打印机2.3 各模块的功能需求分析系统主要功能模块详细需求描述:看板扫描:内部拉动中看板扫描类型主要有两种,一种是正常扫描,一种是内部紧急拉动,如果是正常扫描,同一张看板在一次扫描中不能重复扫描,如果是内部紧急拉动的话,同一张看板卡在同一次扫描时允许重复扫描;打印拣料单:扫描看板后,点击提交会生成拣料单,拣料单上的排序规则是根据维护的基础数据线路排序时排列的。同时,两个线路上的零件看板会分别打印在两张拣料单上,但提交生成拣料单的时候没有向供应商发送要货信息;创建紧急出库单:当有零件时需要半箱出库或是需要退货时就需要创建紧急出库单,创建出库单时可以选择不向供应商发送要货信息,这样创建的拣料单出库时就不会向供应商发送要货信息,如果选择产生要货信息就会向供应商发送等数量的要货信息。零件出库:零件出库时,系统会自动根据出库的零件的数量向供应商发送要货信息,即出库多少,就向供应商发送多少要货需求,供应商看到供货单的时间即是供应商供货时间窗口前两个小时。零件批量出库:零件批量出库时,系统内部自动给这些批量出库的零件创建一个出库单,但是批量出库的零件都会向供应商发送要货信息。2.4 系统功能分析u 看板维护、打印功能u 看板扫描功能u 打印拣料单功能u 出库确认并记录u 各项查询功能3 系统设计3.1系统总体设计3.1.1系统架构本项目采用三层体系架构设计,系统分为用户表现层、应用服务层、数据服务层三层。内部拉动模块也是基于这样的架构上进行设计开发的。图3.1 系统架构图3.1.2系统模块设计图3.2 系统功能模块3.2内部拉动模块详细设计3.2.1主要模块详细用例图与界面设计看板维护功能:图3.3 看板维护用例图图3.4 看板数据导入界面功能按钮:导入,提交。导入:将看板信息导入系统,系统核对校验,显示校验结果;提交:系统返回校验结果准确后,点提交生效。图3.5 看板基础数据维护界面功能按钮:查询,修改,启用,禁用查询:转到查询界面;编辑:选中一行记录,转到看板修改界面;添加:添加看板信息,进入看板添加界面启用:选中一行记录,启用选中的看板;禁用:选中一行记录,禁用选中的看板。看板扫描功能:图3.6 看板扫描用例图图3.7 看板扫描界面 常规拉动不用填写备注,紧急拉动需要填写备注,备注框里填写产生紧急拉动的原因; 提交的话就把消耗提交给拉动系统,拉动系统开始根据提交的看板计算消耗。 删除:在提交之前删除扫描的看板信息,提交后拉动系统就不计入消耗中。零件出库功能:图3.8 零件出库用例图图3.9 零件出库界面图 3.10查询看板扫描记录用例图图3.11 看板扫描记录查看主界面图3.12 看板扫描记录查询界面:捡料单管理功能:图3.13 拣料单管理用例图图3.14 拣料单管理界面功能按钮:查询,查看明细,启用,禁用查询:查询拣料单信息,进入查询子界面;查看明细:选中一条拣料单,进入拣料单明细查看界面;启用:选中拣料单,启用已禁用的拣料单;禁用:选中拣料单,禁用已启用的拣料单。图3.15 拣料单查询界面图3.16查看拣料单明细界面3.3 系统整体数据库设计数据库技术作为数据管理最有效的手段,在各行各业中得到越来越广泛的应用和研究。可以说,任何一个行业的信息化、现代化都离不开数据库。本系统的设计选用的是SQL Server本地数据库,但以Access作为存储介质,当要运行该系统前,必须先把存在Access中的数据备份到SQL Server中。SQL Server是当前比较流行的数据库,容易与其它的软件进行数据交换,实现数据共享。 本系统数据库设计的步骤是: (1)数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机事务处理CLTP(负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据库。针对选择的DBMS,进行数据库结构定义。 (2)数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。 (3)存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。 (4)数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。 (5)数据字典设计:用数据字典描述数据库的设计,便于维护和修改。3.3.1系统数据流图(1) 0层数据流图,如图3.17所示: 图3.17 0层数据流图(2)1层数据流图,如图3.18所示:图3.181层数据流图3.3.3内部拉动相关数据库逻辑结构设计根据任务书的规定和该系统的数据流图,现设计如下的数据库表格:表3.1 DifficultTable(拣料单)Keys Key NameKey TypeKeysPK3_1PrimaryKeyPickBill_IDAttributes Attribute/Logical RolenameDomainDatatypenullDefinitionPickBill_IDCHAR(50)g拣料单编号UsePointCHAR(20)Y使用点RouteCHAR(20)Y线路号needDateCHAR(20)Y需求时间。从Detail中选最近一个时间PrintTimesINTEGERY打印次数printDateCHAR(20)Y最后打印时间MemoCHAR(200)YPickBillTypeINTEGERY拣料单类型:0 紧急拉动单; 1 正常拉动单generateDateCHAR(20)Y生成日期pickBillStatusCHAR(10)Y拣料单状态: new 创建未打印; way 已经打印; complete 已经出库; drop 废弃operIDCHAR(50)Y操作员outStorageDateCHAR(20)Y出库时间表3.2看板基础信息表(KanbanBaseInfo)Keys Key NameKey TypeKeysPK1PrimaryKeyKanban_IDAttributes Attribute/Logical RolenameDomainDatatypenullDefinitionIDINTEGERDKanban_IDCHAR(50)N看板编号Part_IDCHAR(50)N零件编号ModelCHAR(30)Y车型LineAddressCHAR(30)N线旁地址WarehouseAddressCHAR(30)N库位地址SPQINTEGERY装箱数ContTypeCHAR(20)Y箱型Warehouse SPQINTEGER装箱数WarehouseconttypeCHAR(20)箱型QtyINTEGERN用量RouteCHAR(20)Y线路号UsePointCHAR(20)Y使用点MemoCHAR(100)YGenerateDateCHAR(20)YAvailableToCHAR(20)Y有效期至KBIndexINTEGERY看板序号TotalCountINTEGERY看板总数LastUpdateCHAR(20)Y上次更新OriKanbanNumberCHAR(50)Y看板类型号MinDockINTEGERY线旁最小库存MaxDockINTEGERY线旁最大库存WarehouseminidockINTEGERY仓库最小库存WarehouseMaxDocINTEGERY仓库最大库存TraceTypeCHAR(10)Y追溯类型LaneCHAR(50)Y占列StackCHAR(50)Y堆高SourceCHAR(10)YIsAvailableCHAR(10)YInitOperIDCHAR(50)YInitOperDateCHAR(20)YLastOperIDCHAR(50)YLastOperDateCHAR(20)YRemarksCHAR(100)Y表3.3 拣料单看板扫描信息(PickBill_Kanban_Scaned)Keys Key NameKey TypeKeysPK1_1_1PrimaryKeyIDAttributes Attribute/Logical RolenameDomainDatatypenullDefinitionIDINTEGERDPickBill_IDCHAR(50)Y捡料单编号Kanban_IDCHAR(50)N看板编号PBill_Out_IDCHAR(50)Y外部拉动单号Part_IDCHAR(50)YPartNameCHAR(100)Y零件名称SPQINTEGERY零件装箱数量UsePointCHAR(20)Y使用点ContTypeCHAR(10)Y箱型RouteCHAR(20)Y线路LineAddressCHAR(30)Y线旁地址Batch_NumberCHAR(40)Y扫描批次Scan_TimeCHAR(20)Y扫描时间ScannerCHAR(40)Y扫描人UrgencyINTEGERY0 紧急拉动1 正常看板supplier_IDCHAR(50)Y供应商ID,通过优先级、配比和权重在生成拣料单时确定contract_idCHAR(50)Y表3.4 拣料单详细信息(pickBill_Detail)Keys Key NameKey TypeKeysPK16_1PrimaryKeyIDAttributes Attribute/Logical RolenameDomainDatatypenullDefinitionIDINTEGERDpickBill_IDCHAR(50)Y捡料单号part_IDCHAR(50)Y零件编号PartNameCHAR(100)Y零件名称ContTypeCHAR(20)Y箱型SPQINTEGERY装箱数boxNumberINTEGERY箱数partNumber_planINTEGERY原拉动零件数量,看板张数partNumber_outINTEGERY实际出库数量Supplier_IDCHAR(50)Y供应商编号SupplierNameCHAR(100)Y供应商名称LineAddressCHAR(30)Y线旁地址Contract_IDCHAR(100)Y合同号LastOperDateCHAR(20)Y最后操作日期LastOperIDCHAR(50)Y表 3.5 拣料单看板表(PickBill_Kanban)Keys Key NameKey TypeKeysPK1_1PrimaryKeyIDAttributes Attribute/Logical RolenameDomainDatatypenullDefinitionIDINTEGERDPickBill_IDCHAR(50)Y捡料单编号Kanban_IDCHAR(50)N看板编号PBill_Out_IDCHAR(50)Y外部拉动单号Part_IDCHAR(50)YPartNameCHAR(100)Y零件名称SPQINTEGERY零件装箱数量UsePointCHAR(20)Y使用点ContTypeCHAR(10)Y箱型RouteCHAR(20)Y线路LineAddressCHAR(30)Y线旁地址Batch_NumberCHAR(40)Y扫描批次Scan_TimeCHAR(20)Y扫描时间ScannerCHAR(40)Y扫描人UrgencyINTEGERY0 紧急拉动看板 1 正常看板supplier_IDCHAR(50)Y供应商ID,通过优先级、配比和权重在生成拣料单时确定contract_idCHAR(50)Y表3.6 拣料单主表(pickBill_main)Keys Key NameKey TypeKeysPK3_1PrimaryKeyPickBill_IDAttributes Attribute/Logical RolenameDomainDatatypenullDefinitionPickBill_IDCHAR(50)N捡料单编号UsePointCHAR(20)Y使用点RouteCHAR(20)Y线路号needDateCHAR(20)Y需求时间。从Detail中选最近一个时间PrintTimesINTEGERY打印次数printDateCHAR(20)Y最后打印时间MemoCHAR(200)YPickBillTypeINTEGERY捡料单类型:0 紧急拉动单; 1 正常拉动单generateDateCHAR(20)Y生成日期pickBillStatusCHAR(10)Y捡料单状态: new 创建未打印; way 已经打印; complete 已经出库; drop 废弃operIDCHAR(50)Y操作员outStorageDateCHAR(20)出库时间4系统实现4.1 功能实现4.1.1看板维护实现内部拉动的前提是看板数据的准确与实效,所以系统首先必须对看板数据进行维护,所谓维护就是能够对看板数据进行查询、添加、修改、删除等操作,使看板数据与实际使用的物料信息一致。(1) 看板查询。由于在实际的生产过程中看板数量有可能会很多,所以对看板的查询应该是可以按照给定的条件来查询的,这样既可以使用户很容易检索到自己想要的数据,同时也会很大的提高系统的效率,当然如果有必要把所有的看板数据查出来,也是允许的。(2) 看板添加、修改、删除基本操作。用户新建、修改或者删除看办卡信息。(3) 打印看办卡。用户打印看办卡使用到实际的物料箱上。(4) 批量修改看办卡。有时候需要将很多看板的某些数据统一修改为同一个值,为了方便操作,在这里给用户提供批量修改的功能。可以很容易的就对所选取的看板的某个属性进行统一修改。4.1.2看板扫描扫描看板,系统会根据看板号搜索看板的具体信息,同时扫描员也可根据零件来选取看板号,一次可以扫描多个看板。提交之后系统会根据所扫描的看板生成拣料单,用户可打印拣料单。用户扫描看板的时候可以选择拉动类型,默认情况下是常规拉动,也可以根据需要选择内部紧急拉动或者外部紧急拉动。4.1.3零件出库根据拣料单进行零件出库操作,系统扫描拣料单,根据拣料单号,查询拣料单的详细信息,用户提交出库是会判断是否符合出库条件,4.1.4零件批量出库如果需要出库的零件量过大,用户可以选择批量出库,就是可以导入Excel表格,系统从Excel表格读取数据进行出库操作。4.1.5拣料单管理可以对拣料单进行启用,废弃,手工创建等操作。4.2 系统涉及的关键技术4.2.1 三层架构在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。三层结构原理如下:所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。表示层位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在Patterns of Enterprise Application Architecture一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。5软件测试及其维护5.1系统测试环境与工具在软件的定义、分析、设计过程中都会采用不同措施来保证软件的质量,但是在软件实际开发过程中难免会存在问题。为尽早发现存在的问题,必须对软件进行充分的测试。软件测试的主要过程是,根据软件开发各阶段的规格说明和程序内部结构,设计若干测试用例。使用这些测试用例运行系统,根据运行结果判断该软件是否存在错误,所以测试阶段是查找错误阶段。它是软件的生命周期的非常重要的环节,无论如何强调它的重要性都不过分。通过测试能极大地提高系统的可靠性。对于一些大规模的软件,测试工作占软件开发阶段总工作量的40%以上,因此应该充分认识软件测试的重要性。软件只有经历了全面的测试,方能投放使用。测试的目标是:尽可能以最少的代价找出本系统潜在的错误和缺陷。但再好的软件也会存在Bug,因此,对该系统的测试目的是要达到基本要求,尽量避免Bug的存在。5.1.1测试环境在测试环境中需要一台数据库和应用服务器,都安装网络操作系统,另外,还有一台服务器配置ISA防火墙。具体配置如下:l Windows 2003 l SQL Server2005l IISl ISA测试过程中需要3台客户端电脑,其硬件与软件配置如下:硬件:l Pentium III 处理器或者以上l 512 MB RAM 内存或者以上l TCP/IP 网络协议软件:l GM Online 计算机 l XP 操作系统l M Framework 2.0 运行环境l Internet Explore 7.0及以上浏览器5.1.2测试方法测试在软件开发过程中一直都是备受关注的,即使在传统的软件工程中,也有一个明确、独立的测试阶段。随着软件危机的频频出现以及人们对于软件本质的进一步认识,测试的地位得到了前所未有的提高。测试已经不仅仅局限于软件开发中的一个阶段,它已经开始贯穿于整个软件开发过程,人们已经开始认识到:测试开始的时间越早,测试执行的越频繁,所带来的整个软件开发成本的下降就会越多。Extreme Programming更是把测试推到了极限的位置,一切软件开发活动都要从首先编写测试代码开始。下面是本系统所采用的测试内容:(1)界面测试界面测试是测试过程中比较简单直观的一种测试方法,只要细心地按界面要求核对就可以,这块往往是容易疏忽和遗漏的地方,笔者从界面测试常常出现Bug的几个方面: 错别字,在测试结果中查找界面中的标题或者nvarchar内容是否有没有出现错别字,避免让用户产生错觉。这个也是比较难找的,需要非常细心。 一些程序员自创的词语,虽然不会报什么错误信息,但是可能会出现Bug。 页面中出现字体、字号不同,使界面整体看上去不一致。 有些标题比较相似的界面,在调用时容易混淆。这种在界面测试时比较容易发现这个问题。(2)功能测试:功能测试主要是测试程序模块是否实现了设计中所要求的功能。功能测试主要应该注意的是: 看板扫描功能中,检查看板信息的准确性,生成拣料单的准确性。 零件出库功能中,需要注意的是出库条件是否判断准确,是否允许出库操作是否准确执行。 批量出库功能中,需要注意的是导入的数据是否准确,数据是否被完全记录。(3)需求测试需求分析是测试中最重要的一个环节,要针对需求测试,首先要对系统的需求和功能有一定的了解,这些需求很多时候都是在实现增、删、查、改这些基本功能之上的,针对这些所做的一些逻辑上的控制。5.1.4系统测试结果本系统是基于B/S结构的,在进行测试前,首先要在配置好IIS服务,并安装服务器,在服务器上配置好数据源,配备好各项数据后便可在可访问服务器的任一计算机上进行测试。通过对系统进行测试,作者全面、系统地对整个程序进行修改和改进,保证了程序运行的正确性、稳定性,同时也新增了在设计阶段所没有考虑到的功能,使整个系统得到了较好的改善,主要体现在:(1) 软件在运行、关闭及退出时保存记录的提示功能基本完成,在软件的不断启动关闭过程中没有出现死机、程序执行效率降低等各种不良现象,功能的实现较为完善。(2) 数据库的可维护性良好,数据的录入能顺利完成,并能实现动态更新,删除和修改也能顺利完成。(3) 数据查询比较全面,能按系统设定的查询条件进行搜索。(4) 程序异常或数据异常基本能进行非法提示,以警告用户正确使用。对用户的非正常操作方式能提出警告。从整个测试过程看来,测试总体结果较好:系统没有明显的错误,有的问题通过测试得到了解决,并通过测试结果检查了程序的可靠性,基本功能都已实现,系统可以正常使用,基本达到用户要求。5.2 系统维护系统维护就是为了保证系统中的各个要素随着环境的变化始终处于最新的、正确的工作状态。系统维护的目的是保证系统正常而可靠地运行,并能使系统不断得到改善和提高,以充分发挥作用。5.2.1本系统维护工作的内容 系统维护是面向系统中各种构成要素的,本系统根据维护对象的不同将维护的内容分为以下几类: (1)系统应用程序维护。系统的处理过程是通过系统运行而实现的,一旦程序发生问题或发生变化,就必然地引起程序的修改和调整,因此系统维护的主要活动是对程序进行维护。 (2)数据维护。试题处理对数据的需求是不断发生变化的,除了系统中主体题目数据的定期正常更新外,还有许多数据需要进行不定期的更新,或随环境及要求的变化而进行调整,以及数据内容的增加,数据结构的调整。此外,数据的备份与恢复等,都是数据维护的工作内容。 (3)代码维护。、随着系统应用范围的扩大,应用环境的变化,系统中的各种代码都需要进行一定程度的增加、修改、删除,以及设置新的代码。(4)需求变更维护。随着工厂生产的变化,用户需求也在不断的变化,所以在维护过程中会跟中用户的需求变化,给系统进行维护变更,使系统能够实时适应生产的需求。6 结论6.1系统功能和特点通过前面的介绍,可以看到利用该“拉动系统”不仅可以简单有效地完成物料拉动的流程,而且还会大大提高企业生产的工作效率。本系统具有以下特点:(1) 系统实用性强。该系统的需求调研,设计开发完全基于实际的工厂的生产需要进行的,所以系统完全适用于工厂的生产环节上。(2) 系统可维护性高。系统的设计非常注重可维护性,因为在系统的实际使用的过程中,维护工作将变得非常的重要。所以整个开发过程都非常注重软件的可理解性,可修改性,系统使用三层架构的思想,使得系统的结构非常的合理。总的来说,系统的可维护性是很高的。6.2软件开发过程的特点和体会通过这三个月的毕业设计,我掌握了很多以前没有学到的三层架构开发技术,也深刻体会了软件工程学的内涵。体会到做一个系统并非只是知识的简单应用,而是对各方面的需求都要做到深入调查。功能的多少要体现用户的需要,而不是展现你的技术达到什么层次。这次毕业设计,使我对系统开发过程、步骤有了比较深刻的认识。但是,由于时间仓促,该系统仍存在一些问题需要在以后的开发、维护工作中继续完善。 经过测试,有些功能未能在所有的浏览器上都正常使用,如导入功能 。这是后期的工作需要完善的地方。 6.3系统的评价及改进 本系统目前已经基本能满足用户的需求,随着本系统应用的推广,必将根据不同用户的需求,对系统进行

温馨提示

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

评论

0/150

提交评论