库存分销系统的设计与实现毕业设计论文.doc
《库存分销系统的设计与实现毕业设计论文.doc》由会员分享,可在线阅读,更多相关《库存分销系统的设计与实现毕业设计论文.doc(44页珍藏版)》请在咨信网上搜索。
库存分销系统的设计与实现 ──分销库存管理模块的开发与实现 及系统报表的测试 数学学院 信息与计算科学(软件服务外包 摘 要:库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起一个数据一致性和完整性强、数据安全性好的库;而对于后者则要求应用程序具有功能完备、易使用等特点。我主要完成分销商库存管理模块功能的设计及实现及系统的部分测试。分销商库存管理模块主要采用MVC软件设计模式进行开发,测试主要是用黑盒测试进行功能测试。 关键词:MVC;分销商库存管理;信息管理系统;黑盒测试 Abstract:Inventory management system is a typical management information system (MIS), its development mainly includes the backstage database the establishment and maintenance, and front-end application development two aspects. For the former requirement to build up a data consistency and integrity strong, data security good storehouse; and for the latter requires the application is fully functional, easy to use features. I completed the main part of the test design and implementation of distributor inventory management module and system. Distributor inventory management module mainly uses the MVC software design pattern to carry on the development, testing is mainly functional testing with black box testing. Key words:MVC; Distributor inventory management; information management system; Black box testing 1 引言 1.1 编写目的 库存分销管理系统是管理企业的分销网络的系统,目的是使企业具有对订单和供货具有快速反应和持续补充库存的能力。 通过互联网将供应商与经销商有机地联系在一起,为企业的业务经营及与贸易伙伴的合作提供了一种全新的模式。供应商和经销商之间可以实时地提交订单、查询产品供应和库存状况、并获得市场、销售信息及客户支持,实现了供应商与经销商之间端到端的供应链管理,有效地缩短了供销链。 新的模式借助互联网的延申性及便利性,使商务过程不再受时间、地点和人员的限制,企业的工作效率和业务范围都得到了有效的提高。企业可以在兼容互联网时代现有业务模式和现有基础设施的情况下,扩展现有的业务和销售能力,实现零风险库存,大大降低分销成本,提高周转效率,确保获得领先一步的竞争优势。 1.2 范围 库存分销管理系统是管理企业的分销网络的系统,目的是使企业具有对订单和供货具有快速的反应和持续的补充库存的能力而开发的系统。通过互联网将供应商与经销商有机地联系在一起,为企业的业务经营及与贸易伙伴的合作提供了一种全新的模式。适用于所有的管理企业,主要用于企业对订单和库存的掌握和管理。 1.3 定义 数据库开发软件:Navicat for Mysql 数据库管理系统:Mysql 运行环境:Windows XP/ Win 7 开发语言:Java 1.4 本文可行性分析 可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题作出判断,避免在花费了大量人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统的可行性的分析,要求用最小的代价在尽量短的时间内确定系统是否可行。 为了保证系统开发成功,采取面向对象的分析方法,采用面向对象的开发方法,可以将现实世界的复杂问题简单化,从现实世界中抽取出实体对象,通过协作关系将实体对象关联起来,从而达到整个系统正常运行。采用面向对象的开发方法,可以将复杂的问题简单化,有利于编程。 2 项目概述 2.1 产品描述 在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的库存分销管理系统。主要有如下几个方面的目标: ⑴ 确保系统用户及其权限的维护和数据的安全 ⑵ 实现分销商库存时的各种数据计算、显示和记录 ⑶ 为供货厂商和客户建立档案 ⑷ 能对库存的管理和商品资料维护 ⑸ 自动记录订单和报表情况并分析当天数据得到用户需要盈亏报表结果等。 根据客户的要求,分析现有情况及问题,采用Browser/Server结构,将分销资源计划管理系统做成一个独立的网站。 2.2 产品功能 公司所有产品都是通过一级分销商出货,一级分销商的货品分四种方式出库,即调拨到二级分销商调拨到三级分销商、纯销售到批发、销售到其他经销点(如超市等),二级分销商的货品分三种方式出库,即调拨到三级分销商、纯销售到批发、销售到其他经销点(如超市等),三级分销商的货品分两种方式出库,即纯销售到批发、销售到其他经销点(如超市等),超市和其他经销点都作为终端客户。 程序功能: 进行用户身份验证,根据不同登入的用户权限采用不同权限策略。 分销商库存管理: 分销商库存数量初始化确认、流向单维护、流向单审核、流向单抽查、流向单复审、盘点结果维护、盘点结果审核。 统计报表管理: 分销商级别分布图、流向单录入审核报告、流向单抽查报告、分销商月度分销(调拨)明细表、分销商库存报表。 基础数据管理: 物料维护、分销商维护、终端客户维护 系统管理: 用户维护、修改密码 2.3 用户特点 知道本系统的密码用户就可在浏览器上打开以使用,不同用户所拥有的权限不同。 2.4 一般约束 系统的实现约束如下: (a) 操作系统为Win2000以上 (b) 开发平台为:MyEclipse-SDK-3.1.2-win32 (c) 数据库为Mysql 2.5 假设和依据 a. 本系统需要运行计算机为一般的PC机,计算机上一般都安装了浏览器。 b. 本系统采用JSP+struts开发,JSP在现在的web开发中比较流行。 3 具体需求 3.1 功能需求 3.1.1 主要功能划分 图3-1-1主要功能划分 3.1.2 功能描述 a. 登入验证:验证用户的身份和权限。 b. 分销商库存数量初始化确认:分销商库初始化。 c. 流向单维护:对流向单进行维护。 d. 流向单审核:对流向单进行人工审核。 e. 流向单抽查:流向单进行随机抽查。 f. 流向单复审:对抽查的流向单进行复审。 g. 盘点结果维护:对审查结果进行维护。 h. 盘点结果审核:对审查结果进行审核。 i. 统计报表管理:对分销商级别分布图、流向单录入审核报告、流向单抽查报告、分销商月度分销(调拨)明细表、分销商库存报表进行统计。 j. 基础数据管理:进行物料维护、分销商维护、终端客户维护。 3.3 性能需求 3.3.1 界面需求 系统的界面要求如下: 1)页面内容:主题突出,站点定义、术语和行文格式统一、规范、明确,栏目、菜单设置和布局合理,传递的信息准确、及时。内容丰富,文字准确,语句通顺;专用术语规范,行文格式统一规范。 2)导航结构:页面具有明确的导航指示,且便于理解,方便用户使用。 3)技术环境:页面大小适当,能用各种常用浏览器以不同分辨率浏览;无错误链接和空链接;采用CSS处理,控制字体大小和版面布局。 4)艺术风格:界面、版面形象清新悦目、布局合理,字号大小适宜、字体选择合理,前后一致,美观大方;动与静搭配恰当,动静效果好;色彩和谐自然,与主题内容相协调。 3.3.2 响应时间需求 无论是客户端和管理端,当用户登录,进行任何的操作的时候,系统应该及时的进行反应,反应的时间在5秒以内。系统应该能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等,避免出现长时间的等待甚至无响应。 3.3.3 可靠性需求 系统应保证7X24内不当机,保证20人可以同时在客户端登录,系统正常运行,正确提示相关内容。 3.3.4 开放性需求 系统应具有十分的灵活性,以适应将来功能扩展的需求。 3.3.5 可扩展性需求 系统设计要求能够体现扩展性要求,以适应将来功能扩展的需求。 3.3.6 系统安全性需求 系统有严格的权限管理功能,各功能模块需有相应的权限方能进入。系统需能够防止各类误操作可能造成的数据丢失,破坏。防止用户非法获取网页以及内容。 4 分销商库存管理模块 4.1 概要设计 概要设计是一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。这是一个在用户研究和设计之间架起桥梁,使用户研究和设计无缝结合,将对用户目标与需求转换成具体界面设计解决方案的重要阶段。 本分销库存管理模块的概要设计主要完成对分销商库存数量及流向单主要的功能操作进行定义,并决定本分销库存管理模块的功能和类之间的调用关系以及本分销库存管理模块的外部特征,即本分销库存管理模块的功能和界面(输入和输出),以便详细设计人员参考和进行详细设计。 4.1.1 功能分析 分销商库存管理模块的总体任务是实现分销商库存和流向单管理的系统化、规范化和自动化,从而达到分销商库存管理效率的目的。本库存管理系统需要完成的功能有: (1)分销商库存的录入和审核 (2)流向单的录入,送审, (3)流向单审核 (3)流向单抽查 (4) 流向单复审 (5) 流向单盘查和盘查审核 4.1.1.1 结构模块图描述 根据模块功能分析,画出系统功能模块图(图4-1)如下: 图4-1 系统功能模块图 4.1.1.2 人工处理过程 1.管理员对分销商库存数量初始化 2. 管理员对 分销商库存数量初始化确认 3. 管理员对流向单维护操作 4. 管理员对流向单审核操作 5. 管理员对流向单抽查操作 6. 管理员对 流向单复审操作 7. 管理员对盘点结果维护操作 8. 管理员对盘点结果审核操作 4.1.1.3 功能需求与程序的关系 本条用一张如下的矩阵图(如表4-1 1)说明各项功能需求的实现同各块程序的分配关系: 表4-1 2 功能需求分配 查询 添加 删除 修改 确认 送审 审核 调整 抽查 复审 驳回 分销商库存数量初始化 √ √ √ √ 分销商库存初始化确认 √ 流向单维护 √ √ √ √ √ 流向单审核 √ √ √ 流向单抽查 √ √ 流向单复审 √ √ √ 盘点结果维护 √ √ √ √ √ 盘点结果审核 √ √ 4.1.2 数据库结构设计 4.1.2.1 关系模型 分销商库存数量初始化(会计核算期间id,分销商id,物料代码,初期数量,入库数量,出库数量) 流向单(流向单标识主键,核算年,核算月,客户ID,操作类型,录入日期当前日期,录入人ID,流向单状态,复审人ID,复审日期,抽查人ID,抽查日期抽查结果描述,,抽查标记,调整时间,调整人ID) 流向单明细(主键,流向单标识,客户ID物料标识,数量,金额,调整数量,调整原因,调整标识) 4.1.2.2 数据表 表4-1-2 1 库存数量初始化 t_client_inv 列名 中文名称 数据类型 长度 是否能为空 备注 FISCAL_YEAR_PERIOD_ID 会计核算期间id int 16 not null primary key CLIENT_ID 分销商id varchar not null ITEM_NO 物料代码 varchar not null INIT_QTY 初期数量 float 10 IN_QTY 入库数量 float 1 OUT_QTY 出库数量 float 表4-1-2 2 流向单表 t_flow_card 列名 中文名称 数据类型 长度 是否能为空 备注 vou_no 流向单标识主键 varchar 16 not null primary key fiscal_year 核算年 int not null fiscal_period 核算月 tinyint not null client_id 客户ID varchar 10 not null opr_type 操作类型 char 1 not null record_date 录入日期当前日期 datetime not null recorder_id 录入人ID varchar 10 not null vou_sts 流向单状态 录入N 送审S char 1 default 'N' confirmer_id 复审人ID varchar 10 conf_date 复审日期 datetime spotter_id 抽查人ID varchar 10 spot_date 抽查日期 datetime spot_remark 抽查结果描述 varchar 60 spot_flag 抽查标记Y/N char 1 default 'N' adjust_time 调整时间 datetime adjuster_id 调整人ID varchar 10 表4-1-2 3 流向单明细 t_flow_card_detail 列名 中文名称 数据类型 长度 是否能为空 备注 id 主键 int not null primary key vou_no 流向单标识 varchar 16 not null aim_id 客户ID varchar 10 not null item_no 物料标识 varchar 10 not null qty 数量 decimal (10,2) default 0 amt 金额 decimal (10,2) default 0 adjust_qty 调整数量 decimal (10,2) default 0 adjust_reason 调整原因 varchar 50 adjust_flag 调整标识 char 1 default 'N' 4.1.3 接口设计 在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现对系统设计人员来说就不那么重要;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。 对象是接口的实现,面向对象的设计其本质就是面向接口的设计,类和模块之间的交互是由接口完成的,接口是定义和实现的分离。 4.1.3.1 外部接口设计 分销商库存管理模块通过用户或管理员登录web页面进行实时的信息交互。达到信息传递及信息共享的目的。我们提供的主要外部接口有: 1. 分销商库存数量管理接口 2. 流向单管理接口 3. 盘查单管理接口 4.1.3.2 内部接口设计 本分销商库存管理模块采用3层结构进行实现,即最外层的表达层、中间的逻辑层以及最底层的数据管理层。在实现上外层我们主要采用JSP设计图形化交互界面,另外采用少量的Struct1框架直接表达;中间逻辑层大量采用JavaBean进行数据的封装和传递;底层利用JDBC进行与数据库的数据操作和传递和读取配置文件的方式取得数据库信息。 为了满足以上三层的正常交互,我们设计的内部接口包括以下几种。由逻辑层到表达层,我们采取参数传递的方式,对下,通过JavaBean的set方法修改相应的属性,对上,通过调用JavaBean的get方法,获取相应的属性值。由数据管理层到逻辑层,对下我们采用JDBC的SQL命令传入对数据库进行操作,对上我们采用向量表的形式对数据库的返回数据进行储存,以便上层能够更加方便的进行访问。 4.1.3 后台数据库设计与开发平台 4.1.4.1 后台数据库平台 本模块开发所使用的数据库是mysql数据库。MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用,MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。MySQL 主要目标是快速、健壮和易用。最初是因为需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。自1996年以来,一直都在使用MySQL,其环境有超过 40 个数据库,包含 10,000个表,其中500多个表超过7百万行,这大约有100 个字节(GB)的关键应用数据。MySQL数据库的主要功能只在组织和管理很庞大或复杂的信息和基于WEB的库存查询请求不仅仅为客户提供信息,而且还可以为自己使用数据库可以提供如下功能: 减少记录编档的时间;减小记录检索时间;灵活的查找序列;灵活的输出格式;多个用户同时访问记录 。 在运行数据库系统时,MySQL的使用相当简单,且进行MySQL安装和使用所需的工作也很少。MySQL数据库系统由几部分组成: (1)、服务器mysql执行数据库和表的所有操作。safe_mysqld 是一个相关的程序,它用于启动服务器、监控服务器和重新启动服务器。mysql,一个交互式程序,允许将SQL 语句发布到服务器上并浏览其结果。mysqladmin,一个管理程序,允许执行诸如关闭服务器以及创建或删除数据库的工作。如果服务器运行不正常,还可以用mysqladmin 来检查服务器的状态。isamchk 和myisamchk,这些实用程序帮助您完成表的分析和优化,以及在表损坏时进行崩溃恢复。mysqldump,一个工具,用于备份数据库或将数据库拷贝到另一个服务器中。 (2)、MySQL数据目录,数据目录是服务器存储其数据库和状态文件的所在。可以知道服务器是怎样使用文件系统来表现数据库和表的,以及像日志这样的文件的存放位置和其内容。还应该了解在文件系统中管理磁盘空间分配的选项,当发现放置数据目录的文件系统过满时可以进行调整。 (3)、MySQL的服务器能够从命令行中手工启动和终止服务器,并且在系统启动和关闭时知道怎样进行自动启动和关闭。 4.1.4.2 软件开发平台 本模块使用MyEclipse8作为软件开发的平台,以jdk1.6为开发环境,apache-tomcat-6作为项目的发布的服务器。 4.2详细设计 详细设计是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。传统软件开发方法的详细设计主要是用结构化程序设计法。详细设计的表示工具有图形工具和语言工具。图形工具有业务流图、程序流程图、PAD图(Problem Analysis Diagram)、NS流程图(由 Nassi和 Shneidermen开发,简称 NS)。语言工具有伪码和PDL(Program Design Language)等。 4.2.1 设计概述 分销库存管理模块的开发是采用面向对象的方法进行需求捕获、分析、与设计,用面向对象的程序设计语言j2EE实现。系统主要的算法是进行用户的身份验证赋予用户自己的权限,进行商品信息的自动查询计算商品出售时的各种数据,进行产品的记录显示和事务提交,进行业绩的分析统计。整个系统采用b/S架构,数据库存在于一台简单的数据库服务器,用户通过浏览器网页形式进行访问。采用UML对系统进行建模。 4.2.2 结构程序设计 通过对系统的分析,将整个系统分为四个部份:分销商库存管理的设计与实现、统计报表管理模块的设计与实现、基础数据管理的设计与实现、系统管理的设计与实现。此系统我主要负责的模块是分销商库存管理的设计与实现。首先,该模块主要设计录入人员对分销商库存数量进行初始化,再由相关经理或管理人员对分销商库存初始化所录入的数据确认。然后对所录入的数据进行流向单的操作,包括第一步流向单的维护,既流向单的录入,第二步由审核人员对录入的流向单进行审核,第三步由抽查人员定期对流向单进行抽查验证,最后一步有复审人员复审。最后的盘点由盘点人员录入盘点单,在由相关的管理人员对录入的盘点单进行审核。 4.2.3 用例图 图4-2-3 1 用例图 4.2.4 模块功能的实现 4.2.4.1 分销商库存数量初始化 分销商库存数量初始化包括分销商库存数量的显示,分销商库存数量的添加,删除和修改。首先数据人员将相关数据进行录入,所录入数据的分销商及物料都从基础数据管理中录入的数据所选择,初始数量有录入人员录入。分销库存数量的删除由多选框进行选择,可以同时对多个数据列进行删除。修改数据只能选择单一的数据列进行操作,所修改的内容与添加基本一致。在分销商库存数量界面显示出已录入数据的信息。 图4-2-4 1 分销商库存数量初始化 4.2.4.2 分销商库存数量初始化的确认 由管理人员对录入的分销商库存数量初始化的数据进行确认。首先在界面上显示分销商库存数量初始化数据,管理人员可以在多选框中选择所要确认数据列最后确认保存。 4.2.4.3 流向单维护 流向单的维护包括流向单的显示,流向单的添加,流向单的删除,流向单的修改,流向单送审五个子模块。 (1)流向单的显示包括流向单主单和流向单明细两个子模块,流向单主单用于界面罗列显示,流向单明细由用户点击流向单号后弹出窗口查看,其实现的模型图如下: 1流向单主信息(如图 4-2-4 2) 图4-2-4 2 流向单主信息 2 流向单明细(图 4-2-4 3) 图4-2-4 3 流向单明细 (2)流向单的添加,用户居然添加页面,其添加的内容包括供方分销商的选择,需方关系上的选择,需方物料的选择及操作数量,其实现的模型图(如图4-2-4 4): 图4-2-4 4 流向单添加 (3)流向单的删除,用户可选择一至多条的数据进行删除操作,其实现的模型图(如图 4-2-4 5): 3流向单删除 图4-2-4 5 流向单删除 (4)流向单的修改,用户只能同时对一条数据进行操作,可修改的内容为需方分销商,需方物料和操作的数量,其实现的模型(如图4-2-4 6): 4流向单修改 图4-2-4 6 流向单修改 (5)流向单的送审,用户可同时对一条或多条数据进行流向单进行送审(如图4-2-4 7) 图4-2-4 7 流向单送审 4.2.4.4 流向单审核 流向单审核,包括流向单的审核通过和审核调整。审核通过,用户直接选择一条或者多条数据进行审核通过;审核调整,用户对可一条不合理的数据进行调整,并且声明调整原因 4.2.4.5 流向单抽查 流向单抽查,包括流向单的抽查和流向单的显示。流向单的抽查,用户选取一条或多条抽查的流向单数据进行抽查通过认定,同时会录入抽查人机抽查时间;流向单显示包括显示流向单的信息和单据的各种状态。 4.2.4.6 流向单复审 流向单的复审,包括流向单流向单的复审通过和流向单的驳回和流向单显示。流向单的复审通过和流向单驳回,用户可以选择一条或者多条流向单数据进行复审通过和驳回,并记录相关人员的操作记录和操作时间;复审显示包括流向单信息,单据状态和抽查状态。 4.2.4.7 盘点结果维护 盘点结果维护包括盘点结果的显示,盘点单据的添加,盘点单据的删除和盘点单据的修改。首先数据人员将相关数据进行录入,所录入数据的分销商信息及物料信息都从基础数据管理中录入的数据所选择,差异数量有录入人员录入,可同时加入多条物料及相关的差异数量的数据信息。盘点单据的删,用户可以同时对一条或多条数据进行删除。修改数据只能选择单一的数据列进行操作,所修改的内容与添加基本一致。在盘点单界面显示出已录入数据的信息。 4.2.4.8 盘点结果审核 结果审核,相关人员可同时选择一条或多条盘查单数据进行盘查审核。 4.3 功能实现 4.3.1 MVC框架编程模式 MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。 模型-视图-控制器(MVC)是Xerox PARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,已被广泛使用。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。 本分销商库存管理模块主要是用MVC框架来搭建,选择MVC框架来实现改模块功能主要是由于MVC框架具有以下优势: 1.耦合性低 视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。 2.模型是自包含的,并且与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。如果把数据库从MySQL移植到Oracle,或者改变基于RDBMS数据源到LDAP,只需改变模型即可。一旦正确的实现了模型,不管数据来自数据库或是LDAP服务器,视图将会正确的显示它们。由于运用MVC的应用程序的三个部件是相互独立,改变其中一个不会影响其它两个,所以依据这种设计思想能构造良好的松耦合的构件。 3.重用性高 随着技术的不断进步,需要用越来越多的方式来访问应用程序。MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码,因为多个视图能共享一个模型,它包括任何WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的命令是改变视图层的实现方式,而控制层和模型层无需做任何改变。由于已经将数据和业务规则从表示层分开,所以可以最大化的重用代码了。模型也有状态管理和数据持久性处理的功能,例如,基于会话的购物车和电子商务过程也能被Flash网站或者无线联网的应用程序所重用。 4.生命周期成本低 MVC使开发和维护用户接口的技术含量降低。 5.部署快 使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。 6.可维护性高 分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。 7.有利软件工程化管理 由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。控制器也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。 4.3.2 设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。本分销商库存管理模块着重使用到了Singleton(单例模式)、Abstract Factory(抽象工厂模式) 4.3.2.1 Singleton(单例模式) 单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。 本分销商库存管理模块主要在数据库接口和面向页面的管理层接口采用了懒汉式的单例设计模式和饿汉单例设计模式 饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,以后不在改变。由于在面向页面的管理层接口用懒汉式能可能存在多用户同时访问同一功能,为了保证线程安全,因此选用懒汉式。 懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的,因此懒汉式类加载速度快,但运行时获取对象的速度慢。由于数据库的加载只需要一次,他不需要考虑线程安全的问题,而懒汉式类的加载速度快有利于运行速度,因此选择懒汉式。 4.3.2.2 Abstract Factory(抽象工厂模式) 抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据LSP原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色相同的一些实例,而不是这些抽象产品的实例。换言之,也就是这些抽象产品的具体子类的实例。工厂类负责创建抽象产品的具体子类的实例。 本分销商库存管理模块主要在面向页面的管理层接口采用Abstract Factory(抽象工厂模式),为了达到将管理层从单一的数据库中脱离出来提高代码的可扩展性,利用抽象工厂模式的有点: 1、抽象工厂模式隔离了具体类的生产,使得客户并不需要知道什么被创建。 2、当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。 4、 增加新的具体工厂和产品族很方便,无须修改已有系统,符合“开闭原则”。 4.3.3 对象模型 4.3.3.1 Inventory(库存数量初始化) 第 44页 (共 44 页) 1.roperties l fiscalPeriodId l client l item l initQty l inQty l outQty 2.method l addInventory() l delInventory() l modifyInventory() l findInventory() l findInventoryById() l getRecordCount() l AffirmInventory() l judgeInventory() l findFiscalId() 4.3.3.2 FlowCard 1. properties l vouNo l fiscalYear l fiscalPeriod l client l oprType l recordDate l recordUser l vouSts l confirmer l confDate l spotter l spotDate l spotRemark l spotFlag l adjustDate l adjustUser l flowCardDetailList 2. methods l addFlowCardMaster() l addFlowCardDetail() l getVouNo() l changeFlowCard() l modifyFlowCardMaster() l modifyFlowCardDetail() l deleteFlowCardMaster() l deleteFlowCardDetail() l findFlowCardMasterById() l findAllFlowCard() l findAllFlowCardMarket() l findAllFlowCardDetail() l findFlowCardDetailById() l totalCount() l quantyFlowCard() l quantyInventory() l modifyAudit() l findSpot() l addSpot() l updateConfirm() l updateInventoryAdd() l updateInventorySub( 4.3.3.4 Check 1. properties l checkNo l client l checkSts l checker l checkDate l checkDetailList 2. methods l getCheckNo() l addChenkMaster() l addCheckDetail() l findAllCheck() l totalCount() l findCheckDetailById() l findCheckMasterById() l deleteCheckMaster() l deletdCheckDetail() l updateCheckSts() 4.3.4 非功能性需求- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 库存 分销 系统 设计 实现 毕业设计 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文