admin 管理员组

文章数量: 887031


2024年1月13日发(作者:虚拟自动发卡源码)

库存分销系统的设计与实现

—分销库存管理模块的开发与实现 及系统报表的测试

数学学院信息与计算科学(软件服务外包

库存管现系统足典型的倍息管理系统(M1S),其开发主要包括后台数据

库的建立和维护以及前端应川程序的开发两个方面。对于前者要求建立起一个数据一

致性和完整性强、数裾安全性好的库;而对于盾者则要求应用程序具冇功能完备、易

使用等特点。我主要完成分销商库存管理模块功能的设计及实现及系统的部分测试。

分销商库存管现模块主要采川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编写目的

庠存分销管理系统是管理企业的分销网络的系统,H的是使企业具有对订单 和供货具有快速反应和持续补充库存的能力。

通过互联网将供应商与经销商有机地联系在一起,为企业的业务经营及与贸 易伙伴的合作提供了一种全新的模式。供应商和经销商之间可以实时地提交订 单、齊询产品供应和库存状况、并获得市场、销售信息及客户支持,实现了供应 商与经销商之问端到端的供应链管理,有效地缩短了供销链。

新的模式借助互联网的延申性及便利性,使商务过程不再受吋间、地点和人

员的限制,企业的工作效率和业务范围都得到了有效的提高。企业可以在兼容互

联网时代现冇业务模式和现冇基础设施的情况下,扩展现冇的业务和销售能力,

实现零风险库存,大大降低分销成本,提高周转效率,确保获得领先一步的竞争

优势。

库存分销管理系统是管理企业的分销网络的系统,目的是使企业貝.有对订单

和供货具奋快速的反应和持续的补充库存的能力而开发的系统。通过互联网将供 应商与经销商有机地联系在一起,为企业的业务经营及与贸易伙伴的合作提供了 一种全新的模式。适用于所有的管理企业,主要用于企业对订单和库存的掌握和 管理。

1.3定义

数据库开发软件:Navicat for Mysql

数据庠管理系统:Mysql

运行环境:Windows XP/ Win 7

开发语言:Java

1.4本文可行性分析

可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是杏能够 实现和值得实现等问题作出判断,避免在花费了大量人力和物力之后冰发现系统 不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统的可行 性的分析,要求用最小的代价在尽量短的时间14确定系统是否可行。

为了保证系统幵发成功,采取面向对象的分析方法,采用面向对象的开发方 法,可以将现实世界的复杂问题简单化,从现实世界中抽取出实体对象,通过协 作关系将实体对象关联起来,从而达到整个系统正常运行。采用而向对象的开发 方法,可以将复杂的问题简单化,有利于编程。

2项目概述

2.1产品描述

在计算机M络,数据库和先进的开发帄台上,利用现有的软件,配置一定的 硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互 界面的庳存分销管理系统。主要有如下儿个方面的目标:

(1)

确保系统用户及其权限的维护和数据的安全

(2)

实现分销商库存时的各种数据计算、显示和记录

(3)

为供货厂商和客户建立椚案

⑷能对库存的管理和商品资料维护

(5)自动记录订单和报表情况并分析当天数裾得到用户需要盈亏报表结果

根据客户的要求,分析现有情况及问题,采用Bmwser/Server结构,将分销 资源计划管理系统做成一个独立的网站。

2.2产品功能

公司所有产品都是通过一级分销商出货,一级分销商的货品分四种方式出 库,即调拨到二级分销商调拨到三级分销商、纯销售到批发、销售到苁他经销点 (如超市等),二级分销商的货品分三种方式出库,即调拨到三级分销商、纯销 售到批发、销售到其他经销点(如超市等),三级分销商的货品分W种方式出庳, 即纯销售到批发、销售到其他经销点(如超市等),超市和其他经销点都作为终 端客户。

程序功能:

进行用户身份验证,根据不同登入的用户权限采用不同权限策略。

分销商库存管理:

分销商庠存数量初始化确认、流句单维护、流向单审核、流向单抽査、流向 单复审、盘点结果维护、盘点结果审核。

统计报表管理:

分销商级别分布图、流向单录入审核报告、流向单抽查报告、分销商刀度分 销(调拨)明细表、分销商库存报表。

基础数据管理:

物料维护、分销商维护、终端客户维护

系统管理:

用户维护、修改密码

2.3用户特点

知道本系统的密码用户就可在浏览器上打开以使用,不同用户所拥冇的权限 不同。

2.4 一般约束

系统的实现约束如下:

(a)操作系统为Win2000以上 ⑹开发帄台为:MyEclipse-SDK-3.1.2-win32 (c)数据库为Mysql

2.5假设和依据

器。a. 本系统需要运行计算机为一般的PC机,计算机上一般都安装了浏览

b. 本系统采用JSP+struts JT•发,JSP在现在的web开发屮比较流行。

3具体需求

3.1功能需求

3.1.1主要功能划分

库存分销管理系统

统计議謹库讓警目目理理理

sn-

tww®

墮口

图3-1-1主要功能划分

3.1.2功能描述

a. 登入验证:验证用户的身份利I权限。

b. 分销商库存数量初始化确认:分销商库初始化。

c. 流向单维护:对流向单进行维护。

d. 流向单审核:对流向单进行人工审核。

e. 流向单抽查:流向单进行随机抽查。

f. 流向屯复审:对抽查的流向屯进彳y复审。

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概要设计

概要设计是一个设计师根据用户交互过程和用户需求来形成交互框架和视 觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板 式的页面框架图的形式來呈现。这是一个在用户研究和设计之间架起桥梁,使用 户研究和设计无缝结合,将对用户H标与需求转换成具体界面设计解决方案的重 要阶段。

本分销库存管理模块的概耍设计主耍完成对分销商库存数量及流A单主耍的功能操作

进行定义,并决定木分销库存管理模块的功能和类之间的调川关系以及木分销库存管理模

块的外部特征,即本分销库存管理模块的功能和界面(输入和输出),以便详细设计人员参

考和进行详细设计。

4.1.1功能分析

分销商庠存管理模块的总体任务是实现分销商庠存和流向单管理的系统化、 规范化和ft动化,从而达到分销商库存管理效率的目的。本库存管理系统需耍完

成的功能宥:

(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功能需求分配

7

7 7 7

V

l»J

7 7 7 7 7

InJ

7 7 7

7 7

7 V V

7 7 7 7 7

7 7

4.1.2 数据库结构设计

4.1.2.1关系摸型

分销商库存数S初始化(会计核算期间id,分销商id,物料代码,初期数堂,入库

数量,出库数量)

流向单(流向单标识主键,核算年,核算只,客户W,操作类型,录入円期 当前日期,录入人ID,流向单状态,复审人ID,复 审H期,抽查人ID,杣查H期杣查结果描述,,抽查 标记,调整时间,调整人ID)

流向单明细(主键,流向单标识,客户ID物料标识,数量,金额,调整数量, 调整原因,调整标识)

4.1.2.2数据表

表4-1-2 1库存数量初始化

t client inv

列名

屮文名称

数据类

是否能为

备注

FISCAL一YEAR一PE

会计核算期间id

int

16

not null primar

y key RIODJD

CLIENTJD

IN_QTY

OUT—QTY

分销商id

物料代码

初期数S

入库数量

出库数量

varchar

not null

varchar

not null

float

float

10

1

float

表4-1-2 2流向单表

t_flow_card

列名 中文名称 数据类型

是否能为

vou_no

流向单标识主键

varchar 16 not null

prim

ary

key

fiscal_year

fiscal_peri

od

核算年

核算月

int

not null

tinyint

not null

client_id

opr_type

record_dat

e

客户ID

操作类型

录入U期当前U期

varchar

char

10

1

not null

not null

datetime not null

recorder」

d

录入人ID

varchar 10

not null

vou_sts

流向单状态录入N送

char 1 default •N1

审s

confirmer—

复审人ID

varchar

10

id

conf_date

spotter_id

spot_date

spot_remar

fiM/U

抽查人ID

抽查HUM

抽查结果描述

datetime

varchar

10

datetime

varchar

60

k

spot一flag

adjust_tim

抽查标记Y/N

调整时叫

char

1

default 'N*

datetime

e

adjusterjd

调整人ID

varchar 10

表4-1-2 3流向单明细

t_flow_card_detail

列名

中文名称 数据类型

长度

是否能为

备注

id

vou_no

主键

流向单标

int

varchar

not null

primary key

16

not null

aim_id

item^no

qty

amt

adjust_qty

adjust_reas

客户ID

物料标识

数量

金额

调整数量

调整原因

varchar

varchar

decimal

decimal

decimal

varchar

10

10

(10, 2)

(10, 2)

(10, 2)

not null

not null

default 0

default 0

default 0

50

on

adjust_flag

调整标识

char 1 default .N.

4.1.3接口设计

在一个面向对象的系统屮,系统的各种功能是由许许多多的不同对象协作完 成的。在这种情况下,各个对象内部是如何实现对系统设计人员来说就不那么重 要;而各个对象之间的协作关系则成为系统设计的关键。小到不类之间的通信, 大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的 主耍工作内容。

对象是接口的实现,面H对象的设计其本质就是面A接口的设计,类和模块 之间的交互是由接口完成的,接口是定义和实现的分离。

4.1.3.1外部接口设计

分销商库存管理模块通过用户或管理员登录web页面进行实吋的信息交互。

达到信息传递及信息共享的0的。我们提供的主要外部接口冇:

1. 分销商庠存数量管理接口

2. 流向单管理接口

3. 盘查单管理接口

4.1.3.2内部接口设计

本分销商庳存管理模块采用3层结构进行实现,即最外层的表达层、中问的 逻辑层以及最底层的数据管理层。在实现上外层我们主要采用JSP设计閔形化交 互界面,另外采用少量的Structl框架直接表达;屮间逻辑层大量采用JavaBean 进行数据的封装和传递:底层利用JDBC进行与数据庠的数据操作和传递和读取 配置文件的方式取得数据库信息。为了满足以上三层的正常交互,我们设计的

内部接口包栝以下儿种。由逻辑层到表达层,我们采取参数传递的方式,对下, 通过JavaBean的set方法修改和应的属性,对上,通过调用JavaBean的get方法, 获取相应的属性值。由数据管理层到逻辑层,对下我们采用JDBC的SQL命令 传入对数据库进行操作,对上我们采用向量表的形式对数据库的返回数据进行储 存,以便上层能够更加方便的进行访问。

4.1.3肜台数据库设计与开发帄台

4.1.4.1后台数据库帄台

本模块开发所使用的数据库是mysql数据库。MySQL是一个精巧的SQL数 据库管理系统,虽然它不是幵放源代码的产品,但在某些情况卜*你可以CJ由使用, 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执行数据库和

表的所冇操作。是一个相关的程序,它用于启动服务器、监控服务 器和重新启动服务器。mysql, 一个交互式程序,允许将SQL语句发布到服务器 上并浏览其结果。mysqladmin, 一个管理程序,允许执行i者如关闭服务器以及创 建或删除数据库的工作。如果服务器运行不正常,还可以用mysqladmin来检查 服务器的状态。isamchk和myisamchk,这些实用程序帮助您完成表的分析和优 化,以及在表损坏时进行崩溃恢复。mysqldump,—个工具,用于备份数据厍或 将数据库拷W到另一个服务器屮。(2)、MySQL数据目录,数据目录是服务 器存储芄数据库和状态文件的所在。可以知道服务器足怎样使用文件系统来表现 数据庳和表的,以及像日志这样的文件的存放位置和其内容。还应该了解在文件 系统屮管理磁盘空间分配的选项,当发现放置数据H录的文件系统过满时可以进 行调整。

(3)、MySQL的服务器能够从命令行屮手工启动和终lh服务器, 并且在系统启动和关闭时知道怎样进行自动启动和关闭。

4.1.4.2软件开发帄台

本模块使用MyEclipseS作为软件开发的帄台,以jdkl.6为幵发环境, apache-tomcat-6作为项目的发布的服务器。

4.2详细设计

详细设计是软件工程+软件丌发的一个步骤,就是对概要设计的一个细化, 就是详细设计每个模块实现算法,所需的局部结构。传统软件开发方法的详细设

计主要是用结构化程序设计法。详细设计的表示工具有图形工具和语言工具。图 形工

具冇业务流閔、程序流程閔、PAD閔(Problem Analysis Diagram)、NS流 程图(由Nassi和Shneidermen开发,简称NS)。语言工具有伪码和PDL(Program Design Language)等。

4.2.1 设计概述

分销库存管理模块的幵发是采用面向对象的方法进行需求捕获、分析、与没 计,用面向对象的程序设计语言J2EE实现。系统主要的算法是进行用户的身份 验证赋予用户S己的权限,进行商品信息的自动查询计算商品出售时的各种数 据,进行产品的记录显示和事务提交,进行业绩的分析统计。整个系统采用b/S 架构,数据库存在于一台简单的数据库服务器,用户通过浏览器网页形式进行访 问。采用UML对系统进行建模。

4.2.2结构程序设计

通过对系统的分析,将整个系统分为四个部份:分销商库存管理的设计与实 现、统计报表管理模块的设计与实现、基础数据管理的设计与实现、系统管理的 设计与实现。此系统我主要负责的模块是分销商库存管理的设计与实现。首先, 该模块主耍设计录入人员对分销商库存数量进行初始化,再由相关经理或管理人 员对分销商库存初始化所录入的数据确认。然后对所录入的数据进行流向单的操 作,包括第一步流向单的维护,既流向单的录入,第二步由审核人员对录入的流 向单进行审核,第三步由抽查人员定期对流向帄进行抽查验证,最后一步有复审 人员复审。最后的盘点由盘点人员录入盘点单,在由相关的管理人员对录入的盘 点单进行审核。

4.2.3用例图

4.2.4模块功能的实现

4.2.4.1分销商库存数量初始化

分销商库存数量初始化包括分销商库存数量的显示,分销商库存数量的添

力14,删除和修改。首先数据人员将相关数据进行录入,所录入数据的分销商及 物料都从基础数据管理屮录入的数据所选择,初始数景有录入人员录入。分销 库存数量的删除由多选框进行选择,可以同吋对多个数据列进行删除。修改数 据只能选择单一的数据列进行操作,所修改的Pd容与添加基本一致。在分销商 库存数量界而显示出已录入数据的信息。

查询库存(select)

inv_init_qty

鵬幾存

(del)

品示修改贞向(showModify)

显示添加

(showAdd)

inv_init_qt

y—

inv init qty

_

I

显示修改库存页面 (showModify)

删除成功

添加M存(add)

添加成功

修改成功

图4-2-4 1分销商库存数量初始化

4.2.4.2分销商库存数暈初始化的确认

由管理人员对录入的分销商库存数量初始化的数据进行确认。首先在界面 上显示分销商库存数量初始化数据,管理人员可以在多选框屮选择所要确认数 据列最后确认保存。

4.2.4.3流向单维护

流向单的维护包括流向单的显示,流向单的添加,流向单的删除,流向单 的修改,流A单送审五个+模块。

(1) 流向单的M示包括流向单主单和流向单明细两个子模块,流向单主单

用于界面罗列显示,流向单明细由用户点击流向单号£?弹出窗U杳看,其实现 的模型图如下:

1流向单主信息(如图4-2-4 2)

:AowCard

flow card m

FlowCardDao aintjsp

1:杏询流肉甲O ()

2: W到供方分摘商代糾

FtowCardManaaer

< ---

1

3:衍到始曰期和钫束曰期

^=1

4:対到分页参数

5:分两査御旅尚羊()0

6:分页杏询流⑹畛(pageNo, pageSize,供方分诮商代的.丌始日期.结泶I顶)(>

7:返句中列f_ __________________ _________ ________

8:根扔条件近0记泶数(供方分怕商代W,幵始H期,站虫日期)0

9:近问id录数

10:绀装

PageModel

11:返回

PageModel

WPag©ModGl5 request* I1

page No pageSize

供力分紀iW代码 幵肺期 钴束R期

14:

13: forward

图4-2-4 2流向单主信息

2流向单明细(图4-2-4 3)

:FtowCard

flow card d

数袱泌入人的

1:査洵流问单明绾(中兮> ()

FlowCardManager

FlowCardDao

2:杏询放甸竽明细(取号〉()

3:迕询流向电主倌总〈单号> ()

•-

<-

4:返回流问单土估息

5:査询流向単明细估息(单号)()

6:返回明细倍息列农

7:纽装流问单对象

L

&返回纽装的流向中对象

9:将组浆的流I

•仲对象没W判request^

10:转发

J

rr

11:

图4-2-4 3流向单明细

(2)流叫单的添加,用户居然添加页面,其添加的A容包括供方分销商的 选择,需方关系上的选择,需方物料的选择及操作数量,其实现的模型图(如 图 4-2-4

4):

f

图4-2-4 4流向单添加

(3) 流向单的删除,用户可选择一至多条的数据进行删除操作,其实现的模 型图(如图4-2-4 5):

3流向单删除

FtowCard

FlowCard Manager

FlowCZrdDao

flow card m

1:刺除流向雄(流向单单号集合)

2:鹰除淹闵中.(流向中.中号集合〉0

3:則除流向吶明细(流问单单号铌合)()

4:

51K除流向卑中.倍息(流向单单号集合)()

图4-2-4 5流向单删除

8:垂定向

6:

13:«改涑向单中仂息)U

14:修A流问绝

* ■ •

cA»:«j^ + ()<)

II

16:僚改说甸单明细佶息 < 洗向单明细恬息)q

18:

17:

(4)流向单的修改,用户只能卽球据进修改需志分

20:

数1KW入人W

:FbwCarcJSefvIfit

fio*// card m

Floy/CardDao F towCard Manager

1:g示修改负面(汝向妒印今>销商,需方物料和操作的数量,其实现的模型(如图4-2-46):

4流向单修改

2:极据印3取衔汍向痄IS总 <诳向单年

3:杏洵沌向单t伝总(单号> {>

4 M •:.lull

5:杏询淹W单明细估& <华号>{)

6:返回明aw,m格果ite

7:根拥土焓悤和f 3细fijft讯装汍向律对象

8:返回组装的渡沏聆对象

中利象i2H列requests

T ----- 1

9:将泔缺的涑向

、-

1

1

10:转发

11: response

L

U

7

'

12:好改进向申(汍向绝<5怒)<>

13:修改汍|&】单(汝曲息U)

14:修改泳:肉单主仿思(ifiW卬主怡息>

U

15:

6:修改说向单明细«息(流向单明细ft息<(>

17:

18:

19:

«定知

20:

图4-2-4 6流向单修改

(5)流向单的送审,用户可同时对一条或多条数据进行流向单进行送帘 (如阁 4-2-4 7)

:FlowCard

tlow card

FlowCardDao FlowCardManaaer

1:送审流向年(流向单单号集合〉o

3:

送审流向华(流向单单号集合)()

4:设笄单据状态为S

5:

6:

■兎定向

图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帄台的设计模式,并II受到越来越多的使用

ColdFusion和PHP的幵发者的欢迎。模型一视图一控制器模式是一个育用的 工具箱,它宥很多好处,但也宥一些缺点。

木分销商库存管理模块主耍是用MVC框架来搭建,选择MVC桐架来实 现改模块功能主要是由于MVC框架具有以下优势:

1. 耦合性低

视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和 控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC 的模型层即可。因为模型与控制器和视阁相分离,所以很容易改变应用程序的 数据层和业务规则。

2. 模型是自包含的,并且与控制器和视阁相分离,所以很容易改变应用程 序的数据层和、Ik.务规则。如果把数据库从MySQL移植到Oracle,或者改变基 于RDBMS数据源到LDAP,只需改变模型即吋。一旦正确的实现了模型,不 管数据来自数据库或是LDAP服务器,视图将会正确的显示它们。由于运用 MVC的应用程序的三个部件是相互独立,改变其中一个不会影响其它两个, 所以依据这种设计思想能构造良好的松耦合的构件。

3. 重用性高

随着技术的不断进步,需要用越来越多的方式来访问应用程序。MVC模 式允许使用各种不同样式的视图来访问同一个服务器端的代码,因为多个视图 能共享一个模型,它包括任何WEB (HTTP)浏览器或者无线浏览器(wap), 比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一 样,但处理订购产品的方式是一样的。由于模型返回的数据没宥进行格式化, 所以同样的构件能被不同的界面使用。例如,很多数据可能用 來表示, 但是也有可能用WAP来表示,而这些表示所需要的命令是改变视图层的实现 方式,而控制层和模型层无需做任何改变。由于已经将数据和业务规则从表示 层分开,所以可以最大化的重用代码了。模型也有状态管理和数据持久性处理 的功能,例如,基于会话的购物车和电子商务过程也能被Flash网站或者无线 联网的应用程序所®用。

4. 生命周期成本低

MVC使幵发和维护用户接I」的技术含量降低。

5. 部署快

使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人 员)集屮精力于业务逻辑,界面程序员( 和JSP开发人员)集中精力于 表现形式上。

6. 可维护性高

分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。

7. 有利软件工程化管理

由于不同的层各司其职,每一层不同的应用具冇某些相同的特征,冇利于 通过工程化、工具化管理程序代码。控制器也提供了一个好处,就是可以使用 控制器来联接不同的模型和视图去完成用户的需求,这样控制器u了以为构造应 用程序提供强冇力的手段。给定_些可重用的模型和视图,控制器町以根据用 户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。

4.3.2设计模式

设计模式(Design pattern)是一赛被反复使用、多数人知晓的、经过分突编 目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被 他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢 的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大 厦的结构一样。本分销商库存管理模块着重使用到了 Singleton (单例模式)、 Abstract Factory

(抽象工厂模式)

4.3.2.1 Singleton (单例模式)

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为 单例类的特殊类。通过单例模式可以保证系统中一个类只冇一个实例而II该实例 易于外界访M,从而方便对实例个数的控制并节约系统资源。如果希望在系统中 某个类的对象只能存在一个,单例模式是最好的解决方案。

本分销商庳存管理模块主要在数据库接口和面向页面的管理层接口采用了

懒汉式的单例设计模式和饿汉单例设计模式

饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统 使用,以肜不在改变。由于在面向页面的管理足接口用懒汉式能可能存在多用户 同时

访M同一功能,为了保证线程安全,因此选用懒汉式。

懒汉式如果•:创建交例对象吋不加上synchronized则会导致对对象的访问不

是线程安全的,冈此懒汉式类加载速度快,似运行吋获取对象的速度慢。由于数 据厍的加载只需要一次,他不需要考虑线程安全的问题,而懒汉式类的加载速度 快有利于运行速度,因此选择懒汉式。

4.3.2.2 Abstract Factory (拙象工厂模式)

抽象工厂模式是所冇形态的工厂模式屮最为抽象和最具一般性的一种形态。 抽象工厂模式是指当冇多个抽象角色时,使用的一种工厂模式。抽象工厂模式可 以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个 产品族中的产品对象。根据LSP原则,任何接受父类型的地方,都应当能够接 受+类型。因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色相的 一些实例,而不是这些抽象产品的实例。换言之,也就是这些抽象产品的具体+ 类的实例。工厂类负责创建抽象产品的具体了类的实例。

本分销商座存管理模块主要在面向似面的管理层接口采用Abstract Factory (抽象工厂模式),为了达到将管理层从单一的数据厍中脱离出来提高代码的可

扩展性,利用抽象工厂模式的有点:

1、 抽象工厂模式隔离了具体类的生产,使得客户并不需要知道什么被创建。

2、 当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终 只使用同一个产品族中的对象。

4、 增加新的具体工厂和产品族很方便,无须修改已宥系统,符合“开闭原则”。

4.3.3对象模型 4.3.3.1 Inventory (库存数暈初始化)

1- roperties

• fiscalPeriodld

• client

• item

• initQty

• inQty

• outQty

• addlnventoryO

參dellnventoryO

modifylnventoryO

findlnventoryO

findlnventoryB yld()

getRecordCount()

AffirmlnventoryO

judgelnventoryO

• findFiscalldO

4.3.3.2 FtowCard

L properties

vouNo

fiscalYear

fiscalPeriod

client

oprType

recordDate

recordUser

vouSts

confirmer

confDate

spotter

spotDate

spotRemark

spotFlag

adjustDate

adjustUser

flowCardDetailList

2.

methods

• addFlowCardMaster()

• addFlowCardDetail()

• getVouNoO

• changeFlowCard()

• modifyFlowCardMaster()

• modifyFlowCardDetail()

• deleteFlowCardMaster()

• deleteFlowCardDetaiI()

• findFlowCardMasterById()• findAllFlowCard()

• findAllFlowCardMarket()

• findAllFlowCardDetail()

• findFlowCardDetailById()

• totalCount()

• quantyFlowCard()

• quantylnventoryO

• modifyAudit()

• findSpot()

• addSpotO

• updateConfirmO

• updateInventoryAdd()

updateInventorySub(

4.3.3.4 Check

I. properties

checkNo

client

checkSts

checker

checkDate

checkDetailList

2. methods

參 getCheckNo()

• addChenkMaster()

• addCheckDetail()

• findAllCheckO

• totalCount()

• findCheckDetailByldO

• findCheckMasterById()

參 deleteCheckMaster()

• deletdCheckDetail()

• updateCheckSts()

4.3.4 非功能性需求

作尽量简单,通过鼠标的点击,输入框的限制输入操作,用户非法输入的 人性化提示,比如在获取数字的文本框处限定只能输入数字。数裾库采用离线 操作,减轻数据库服务器的负枳。用户界面采用轻松的背景色,,更人性化的 设计,给用户更好的享受。

5统计报表管理模块的测试报告

5.1测试目的

1. 通过对测试结來的分析,得到对软件质量的评价

2. 分析测试过程,产品,资源,信息,为以后制定测试计划提供参考

3.

4.

评估测试执行和测试计划是否符合

分析系统存在的缺陷,为修复和预防bug提供建议

5.2背景

主要读者:分销管理系统项目管理人员,分销管理系统项目测试经理 其他读者:分销管理系统项目和关人员

5.3定义

列出本文件中用到的专门术语的定义和缩写词的原词组。

功能测试:对产品的各项功能进行验证,根据功能测试用例,逐项测试,检查品是否达到用户耍求的功能。 产

5.4测试概要

测试

测试

预期测试内容

类型

人数

(人

根据系统需求文档和

功能

1

测试

设计文档,检查产品是

否正确实现了功能。

提取系统性能数据,检

性能

2

测试

杳系统是否满足在需

求中所规定达到的性

能。

界面

3

测试

文挡

4

测试

兼容

5

性测

检查界面是否美观合

检查文档是否足够、描

述是否合理

对于B/S架构的系统

来说需要考虑用户端

浏览器的版本。

检查系统的容错能力,

容错

6

性测

错误的数椐输入不会

对功能和系统产生非

止常的影响,且程序对

错误的输入有正确的

提示信息

7

易用 检查系统是否易用友

2 0.5

无 无

2 0.5

无 无

2 0.5

有 无

2 0.5

2 0.5

无 无

2 1

无 无

2 2

无 无

工作

时间

是否有

(天

差别

差别

与实际

无 无

性测

按操作流程进行的测

试,主要有业务流程、

流程

8

测试

数据流程、逻辑流程、

正反流程,检查软件在

按流程操作吋是否能

够正确处理

安装

9

测试

配置

10

测试

异常

11

2 1

无 无

检查系统能杏正确安

装、配置

检杳配置是否合理、配

置是否正常

检查系统能否处理异

2

表5-4 1测试概要

2 0.5

无 无

2 0.5

无 无

测试

0.5

无 无

5.5测试结果及发现

5.5.1功能测试结果分析(如表5-5 1)

测试

模块

模块

编号

步骤

描述

点击

所有

2 (分

销商

基础

数据

管理

维护)

7

分销

商,文

本框

输入,

点击

当前

区域

名称二

华北

操作

操作

数据

结果

提示

“添

加成

功”

结果

添加

成功

期望 实际

状态

(P/F)

P

添加

按钮

点击

华南

区,点

8

击添

加分

销商

点击

肀南

区,点

9

击修

改区

点击

华南

10

区,点

击删

11

点击

添加,

填写

3 (物

料维

护)

物料

代码,

物料

名称,

选择

物料

类别,

物料

代码

=1000

,物料

名称=

开心

果,类

别=干

果,计

量单

提示

“添

加成

功”

已成

提示

“添

加成

功”

添加

成功

P

华北

区=华

南区

提示

“修

改成

功”

修改

成功

P

提示

“删

除成

功”

删除

成功

P

P

功添

力口!物

料名

称为:

开心

计量

单位

12

位=箱

1•时糊姚戚■勿奉

误!提取:i

isert int

湖編ms

(i

)P

i spec, pat tern,cate

ory, unit) )料悦V塘磊s C ? 9= t000? duplicate entry ’ 1 )00’ for key ]

2:

物料 ,物料 码不

代码,

名称=

碧根

能重

物料

复,,

名称,

果,类

选择

另^干

物料

果,计

类别,

量单

计量

位箱

=单位

13

添加

返回

符合

p

成功

到物

后,点

料维

击返

护界

回键

14

物料

代码

=1000

输入

物料

代码,

显示

符合

p

该商

品信

点击

查询

15

选择

物料,

点击

类别=

膨化

食品

显示

“成

功修

改物

料,,

成功

p

修改

物料,

修改

物料

名称

为:开

心果

16

选择

物料,

点击

上传

图片

导入

图片

显示

“上

传图

片成

功”

符合

P

17

选择

物料,

点击

删除

未姑

“删

除成

功”

示提

示信

F

18

添加

足够

多的

物料,

点击

翻页

成功

翻页

符合

4 (会

计核

算期

间维

护)

19

点击

添加,

填写

核算

年,核

算月,

开始

日期,

结束

日期,

选择

核算

=2014

,核算

=04,

丌始

日期

=2014

-0101

,结束

提示

“添

加成

功!”

插入

核算

期成

功!

P

是否

可用

日期

=2001

-01-0

6,选

20

添加

成功

后,点

返冋

会计

核算

期间

界而

符合

P

击返

回按

21

选择

列表

屮的

数据,

点击

修改

按钮

22

点击

所冇

中断

5 (分

销客

户端

维护)

客户,

输入

文本

框,添

加区

23

选屮

要修

区域

名称=

区域

名称

东北

=核算

=2015

提示

“修

改成

功!”

符合

P

提示

“添

加成

功!”

添加

成功

P

提示

“修

修改

成功

P

改的

区域,

点击

修改

区域

24

选中

区域,

点击

添加

终端

客户

25

选屮

区域,

点击

删除

区域

华南

改成

功”

终端

客户=

北京

rli

提示

“添

加成

功!”

添加

成功

P

提示

“删

除成

功”

删除

成功

P

表5-5 1功能测试结果分析

5.5.2 界面测试(如表5-5 2)

结果

备注

窗体人小是否合

移动窗体是

界面测

窗体

缩放窗体,窗体

上的控件应随窗

体的人小变化而

变化

否能迅速刷

不同环境下

分辨率是否

改变

文字是否美

导航栏

图标是否美

布局是否合

快捷键

表5-5 2界面测试

5.6对软件功能的结论

5.6.1能力

该部分能实现分销商、物料的基本操作,如:增加、删除、修改、查询物 料和分销商。

5.6.2 限制

该部分是与分销商库存管理部分类似,操作相对于前者要简洁方便些。但 是还是小够完善。

5.7评价

本系统库存分销管理系统已达到预定□标,可进行交付。

6致谢词

大学三年学习时光已经接近尾声,在此我想对我的母校,我的父母、亲人

们,我的老师和同学们表达我由衷的谢意。感谢我的家人对我大学三年学习的默 默支持;感谢我的母校重庆师范大学给了我在大学三年深造的机会,让我能继续 学习和提高;感谢重庆师范大学数学学院和安博的老师和同学们三年来的关心和 鼓励。老师们课堂上的激情洋溢,课堂下的谆谆教诲;同学们在学习中的认真热 情,生活上的热心主动,所有这些都让我的三年充满了感动。

木论文是在导师杨讯老师和数学学院的细细指导卜*完成的。导师渊博的专业 知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、 宽以待人的崇高风范,朴实无华、帄易近人的人格魅力对我影响深远。不禁使我 树立了远大的学术目标、掌握了基本的研究方法,还使我明白了许多待人接物与 为人处事的道理。本论文从选题到完成,每一步都是在导师的指导新完成的,倾 注了导师大量的心血。在此谨向导师表示崇高的敬意和中岡新的感谢!

本轮为的顺利完成,离不开各位老师、同学和朋友的关心和帮助。在此感谢 杨讯老师的指导和帮助,我做毕业设计的每个阶段,从选题到查阅资料,论文提 纲的确定,中期论文的修改,后期论文格式调整等各个环节中杨老师给了我们极 大的帮助和我悉心的指导,在我们小组万般迷茫的情况下,杨老师悉心给我们讲 解很多内容。期间我们打电话杨老师都耐心给我们一个个的解决问题。在此我再 次向杨老师致以崇高的敬意和衷心的感谢;当然,还要非常感谢本次与我一同合 作的邓永蓝、梁利丽、贺芬三位同学,作为木次毕业设计的小组组长,我非常感 谢她们的通力合作和积极配合,本次的毕业设计和本论文能够圆满的完成离不开 她们的辛苦付出在此表示深深的感谢,当然,由于是我第一次带头做这个毕业设 计,在工作的安排上宥许多没做到位,特别是在项目设计分配上的不合理,造成 返工,给各位伙伴造成不少麻烦,在此我也给各位伙伴道声歉。

木次的屮•业设计的成功完成,离不开她们三人的通力合作和协调。此外,还 要对那些在我系统开发过程中帮助过我的同学以及众合网星的先辈同事一并表 示衷心的感谢!

7

[1] 胡林玲.软件工程与UML.北京:电子工业出版社2006

[2] 尚俊杰.JAVA程序设计案例教程[M].北京:清华大学出版社,2005

[3] 徐人凤.SQL Server 2000.北京:高等教育出版社1988

[4] 计算机软件工程规范国家标准汇编.北京:屮国标准出版社2003

[5] 陈惠贞,陈俊荣.程序设计[M].北京:中国铁道出版社,2006. 72-107

[6] 胡勇辉,兰湘.JAVA幵发实战详解:入门,模块,系统[M].北京:电

子工业出版社2006. 72-98

[7] 库存分销管理系统需求分析说明

[8] 庠存分销管理系统概要设计

[9] 百度文库一MVC,设计模式,


本文标签: 流向 系统 数据 进行 分销商