基于UML的仓储管理系统的设计与实现

发布时间:2021-09-25 19:40:34

基于 UML 的仓储管理系统的设计与实现 目录 引言 ................................................................................................................ 错误!未定义书签。 第一章 面向对象的 UML 建模 ...................................................................................................... 7 1.1 面向对象的基本思想 ......................................................................................................... 7 1.2 面向对象的软件建模 ......................................................................................................... 7 1.3 UML 建模语言简介 ........................................................................................................... 8 1.4 RUP 过程指导与本系统分析设计过程 ............................................................................ 9 第二章 仓储系统业务用例建模 ................................................................................................... 12 2.1 仓储系统业务流程分析 .................................................................................................. 12 2.1.1 入库流程分析 ....................................................................................................... 12 2.2 业务需求用例建模阶段 ................................................................................................... 14 2.2.1 业务角色的查找及建立 ........................................................................................ 14 2.2.3 业务用例图 ............................................................................................................ 16 2.2.3 业务活动图 ............................................................................................................ 16 2.3 系统基本功能描述 .......................................................................................................... 18 第三章 仓储系统系统需求用例建模 ........................................................................................... 19 3.1 入库管理需求用例分析 .................................................................................................. 19 3.1.1 确定系统角色 ....................................................................................................... 19 3.1.2 确定系统顶层用例 ............................................................................................... 19 3.1.3 入库管理功能性分析 ........................................................................................... 20 3.1.4 到站日报录入管理用例描述 ............................................................................... 21 3.1.5 码单管理用例描述 ............................................................................................... 23 3.1.6 入库单管理用例描述 ........................................................................................... 24 3.1.7 审核管理用例描述 ............................................................................................... 27 3.2 系统扩展功能需求用例分析 .......................................................................................... 27 3.3 系统整体功能描述 .......................................................................................................... 29 第四章 业务领域分析与设计 ....................................................................................................... 30 4.1 系统顺序图,状态图 ...................................................................................................... 30 4.2 定义基本对象与类 .......................................................................................................... 35 4.3 入库系统类图.................................................................................................................. 37 4.4 定义对象与类的属性与操作 .......................................................................................... 37 4.5 系统设计顺序图,入库类图 .......................................................................................... 49 4.6 系统扩展功能.................................................................................................................. 50 4.7 系统构架设计.................................................................................................................. 57 第五章 系统实现测试与配置 ....................................................................................................... 58 5.1 系统实现的工具与技术 ................................................................................................... 58 5.2 系统实现方式图.............................................................................................................. 58 5.3 系统测试与系统实现界面 .............................................................................................. 59 第六章 系统开发的思考............................................................................................................... 61 6. 1 数据库设计问题............................................................................................................. 61 6. 2 数据库访问设计问题 ..................................................................................................... 62 结束语 ............................................................................................................................................ 63 参考文献......................................................................................................................................... 64 致 谢........................................................................................................................................... 65

1

基于 UML 的仓储管理系统的设计与实现

基于 UML 的仓储管理系统的设计与实现

摘要
面向对象技术是软件工程和过程工程领域中的重要技术,统一建模语言 UML 则是*几年国际上比较流行的面向对象的标准建模语言。本文阐述了基于 UML 建模的仓储管理信息系统的开发。 建模是开发优秀软件所有活动的核心部分,也是本文工作的重点所在。在开 发中我们考虑了 RUP 迭代式开发的优点并与本仓储系统开发的特色相结合, 提出 了自己的一套 UML 的建模过程。基于这个过程我们从系统分析,设计,实现与测 试,运用 UML 建模思想与各种模型对仓储系统进行了详细的描述。 关键字:面向对象,UML,仓储系统,系统开发

2

基于 UML 的仓储管理系统的设计与实现

Abstract
00 is an important technology for software engineering and processing engineering, and the Unified Modeling Language (UML) is ainternational popular 00 modeling language in recent years. This article expatiate the development of storage system based on UML. Modeling is the key portion for an excellent software development,and modeling is also the key work for the article. we develop an new process of Modeling based on the combine of the RUP developing and the storage system. Keywords: 00, UML, RUP, storage system , system development

3

基于 UML 的仓储管理系统的设计与实现

引言:
1 问题的提出:
随着企业业务以及外部环境的变化, 四川物资储运公司原开发的信息系统已 不能满足新业务、 新环境以及客户对信息查询的要求,迫切需要开发一套新的系 统以替代原有系统, 并实现原有流程的优化,把一些原来未纳入系统管理的功能 纳入到新的系统中来,并为转变到第三方物流和与电子商务接轨作好准备。 传统的面向过程的仓储管理信息系统的开发中存在不少的问题, 传统的面向 过程的开发方法, 也即主要是基于功能分析或数据分析基础上的结构化方法。这 种开发方法下设计的系统在 70 或 80 年代早期还可以适应, 但在越来越复杂的非 数值计算类型的软件开发中, 在广泛应用图形界面的交互式系统中,在控制要求 非常突出的应用中, 在需求经常变化的条件下,尤其是在仓储系统这种数据流动 性要求比较高的管理软件的开发, 用传统的软件开发方法解决问题往往暴露出严 重的不适应性,主要表现在以下几点: 1)功能与数据分离的软件设*峁褂肴死嗟南质祷肪澈懿灰谎腿说淖 然思维也就很不一致。 2)系统是围绕着如何实现一定的行为来进行的,当系统行为易变,需要常常 修改时,修改极为困难,因此这种结构无法适应迅速变化的技术和需求。 3)在系统中模块之间的控制作用有重要影响时,由于在“好的模块结构”中 的模块间的控制作用只能通过上下之间的调用关系来进行, 造成信息传递路径过 长,效率低,易受干扰,甚至出错。所以这种结构无法适应以控制关系为重要特 性的系统要求。 4)结构化方法开发出来的系统往往难以维护, 因为所有的函数都必须知道数 据结构。 5)自顶向下功能分解的分析方法极大地限制了软件的可重用性, 导致对同样 对象的大量的重复性工作,大大降低了开发人员的生产率。 结构化开发方法暴露出来的问题促使了面向对象开发技术的形成与发展, 而 面向对象技术的发展促使了 UML 语言的产生。

2

UML 的产生:
自 20 世纪 70 年代面向对象技术出现以后, 面向对象技术在计算机界得到了

广泛的应用,并成为当前软件领域的主流技术。为了解决复杂系统的开发,各种 面向对象的软件工程方法被不断推出。 1995 年起, 从 著名的软件工程学家 Grady
4

基于 UML 的仓储管理系统的设计与实现

Booch, Ivar Jacobson, Jin Rumbaugh 携手合作共同努力,综合了他们各自的 面向对象的分析和设计方法,并加以扩充和改进,汲取其他同类方法的优点,提 出了 UML(统一建模语言)。 UML 是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入 了软件工程领域的新思想、 新方法和新技术。它可以对复杂软件系统的各种成分 进行可视化,进行说明和构造系统模型,以及建立软件文档。 目前,随着 UML 的提出与应用的成功,面向对象方法已趋于成熟,大有取代 结构化方法的趋势。 其中, 基于 UML 的面向对象的系统分析与设计方法解决了传 统结构化方法中问题空间和解决空间在结构上不一致的问题,避免了从分析、设 计到软件模块结构间的多次转换过程, 同时又有效地结束了以前方法和模型语言 之间不合理的差异, 统一了许多信息系统的开发过程和内部概念,使信息系统开 发变得简单、 高效、 合理, 已成为当前进行信息系统开发的主流分析和设计方法。

3

本文工作和系统开发:
本文首先对公司的业务与用户的需求进行了分析, 然后对系统的功能进行详

细的设计, 并在分析与设计的同时用 UML 建模语言对其建模, 采用 UML 工具 ROSE 绘制描述各种模型的图形,目的使开发者与用户更有效的实现功能与理解需求, 并使程序人员能顺利的实现系统,在系统的实现阶段重点讲述设计到编码的过 渡,以体现 UML 建模的模型对系统开发带来的好处。 本文的编写结合了面向对象的软件开发方法与 UML 建模语言的优势与特色, 同时与仓储管理系统紧密结合。既体现了面向对象的软件开发思想 ,又包容了 UML 建模语言所特有的语言建模优势。在编写中我们大量的使用 UML 语言所提供 的各种建模图形来描述仓储管理系统,例如描述用户需求的用例图,描述系统功 能的动态的顺序图。 根据仓储管理的特点,我们大胆的改进了一般的 UML 建模的 分析过程,并在分析设计过程中采用更加适合仓储系统的分析级类图与顺序图。

仓 储 系 统

思想

语言

过程

5

基于 UML 的仓储管理系统的设计与实现

因为系统开发的难度比较大, 系统分析工作是我与我的合作者洪少藩同学共 同完成的, 而系统设计任务是我们分工完成的,我完成了入库管理与系统其他功 能的设计, 洪少藩完成了出库和库存的系统设计工作,由于时间关系我们在实现 阶段只完成了入库管理这一模块。

4 系统功能简介:
系统的功能是系统能够做的事情,在本系统中,系统的功能有: 1 2 3 4 5 6 7 8 9 系统应该能完成入库操作过程中的表与码单的录入; 系统应该能完成入库过程中的货物的审核,记费; 系统应该能进行有效的库存管理,例如盘点,移库等; 系统应该能对出库过程中的表与帐单进行管理; 系统应该能对出库后的*帐,记录储存等进行管理; 系统用户能有效的进行权限,日志的管理; 系统用户可以查询报表,客户,货物等基本信息; 系统能记录下系统的使用日志; 任何人员要使用本系统必须拥有相应的权限;

6

基于 UML 的仓储管理系统的设计与实现

第一章 面向对象的 UML 建模
1.1 面向对象的基本思想
面向对象方法是当今软件开发的主流方法, 它的基本思想是从现实世界客观 存在的事物或者说对象出发来构建系统, 并且在构建系统时尽可能运用人类的自 然思维方式。 软件开发是对问题求解的过程, 从哲学中认识论的角度看整个软件的开发可 以归结为两个主要的活动:人们对所要解决问题及其相关事物的认识和基于这种 认识所进行的描述。 认识指通过人的思维正确认识和理解系统所要处理的问题域 中客观存在事物和所要解决问题:弄清事物的属性、行为和彼此的关系,找出解 决问题的方法。 描述指用一种语言说明人们对问题域中事物和问题及其解决方法 的认识。

1.2 面向对象的软件建模
建模是人们在实际应用中常用而且具有重要作用的一种技术。例如,人们在 建造一座大楼前,先规划出大楼的蓝图;在制造飞机前,先要画出设计图,并可 能要建造一个实际模型进行风洞实验;在画一幅油画之前,先要用铅笔勾勒出画 的轮廓。同样的,软件开发人员在实际开发一个复杂的项目之前,也应该先建立 系统的模型。 对软件系统进行建模的目的在于: 1.理解应用领域中的知识,捕获用户的需求。 对系统进行分析的过程就是开发者不断学*用户领域知识的过程。 要想建立 一个正确的模型, 首要的问题就是理解用户领域的知识。当开发者能建立出一个 用户满意的模型时, 说明他已经理解了用户领域中的知识,至少是抓住了与将要 建立的系统本质有关的知识。 2.与用户沟通。 用户往往不是计算机专家, 而开发者往往也不熟悉用户的领域。二者的沟通 就有一定的难度。 通过建立一个双方都能理解的模型有利于这种沟通,可以使项 目投资者、分析人员、设计人员、程序员等达成一致,从而为建立正确的软件系 统打下良好的基础。 3.进行系统设计。 在编写代码以前, 软件系统的模型可以帮助软件开发人员方便的研究软件的 多科构架和设计方案,从中找出最适合的解决方案,简化实现。通过研究一个大
7

基于 UML 的仓储管理系统的设计与实现

型软件系统的模型可以提出多个实际方案并可以对它们进行相互比较。 利用模型 可以研究多种设计案,所花费的成本只是实现其中一种方案所花费的成本。 4.使实现细节和需求分开。 软件系统的模型可以从多个角度来描述系统:有些侧重于系统的外部行为和 系统中与现实世界对应的有关信息;有一些则侧重于描述系统中的类以及类的内 部操作。通过模型,可以将实现细节和需求分开。 5.设计出有用的实际产品. 通过建模,可以得到这样一些实际产品:类的声明,数据库结构,配置草案, 或者还有初始的用户界面等,这些产品可以直接应用在后边的阶段中。 6.通过模型可以建立系统的文档。 软件系统用视图来组织信息:静态结构视图,状态机视图,交互视图,反映 需求的用例视图等。通过这些视图可以组织、查找、检查以及编辑大型系统的有 关信息。 7.利于我们理解复杂系统。 对大型复杂的系统直接理解往往有困难,通过建立模型,对系统进行抽象, 抓住系统的主要方面,这样有利于理解系统。 面向对象建模方法主要从面向对象程序设计领域发展而来, 它通过对象对问 题域进行完整的映射,对象包括了事物的数据特征和行为特征:它用结构和连接 如实反映问题域中事物间的关系,比如分类、组装等;它通过封装、继承、消息 通信等原则使问题域的复杂性得到控制。所以,面向对象建模方法是对问题域的 完整和直接的映射,在模拟现实世界方面具有天然的优势。 面向对象方法支持软件开发中从分析到设计以至实现的各个阶段, 且各个阶 段均采用一套概念和表达手段,它们之间没有“鸿沟”的存在,几乎不需要什么 转化。面向对象方法还支持和鼓励复用,不仅包括实现的复用,还包括分析、设 计等建模成果的复用。

1.3 UML 建模语言简介
面向对象的分析与设计方法的发展在 80 年代末至 90 年代中出现了一个高 潮,UML 是这个高潮的产物。它不仅统一了 Booch, Rumbaugh 和 Jacobson 的表 示方法, 而且对其作了进一步的发展, 并最终统一为大众所接受的标准建模语言。 UML 语言具有以下特点: 1 UML 已经成为面向对象建模语言的标准 从理论角度讲,UML 是三位很有影响的面向对象方法大师以及许多大公司井 同努力的成果,Booch, Rumbaugh 和 Jacobson 各自提出的方法及有关著作拥有
8

基于 UML 的仓储管理系统的设计与实现

不少用户和读者, UML 是他们以往研究的继续。在定义模型元素语义的基础上 而 定义建模语言,使 UML 在理论上比较健全,具有表达力强、清晰和一致的特点, UML 定义的各种图和各种建模元素是来自多种 00 方法的研究成果汇集。 2 UML 缺乏过程指导 UML 并不是十全十美的东西,最重要的一点是,它只是一种建模语言而非建 模方法. 3 UML 过于复杂 UML 在具有丰富的表达力的同时,其复杂性也是惊人的。UML 的开发者称: 只要 UML 中 20%的内容就可以表达实际应用中 80%的系统。但 UML 中并没有给出 哪些内容是必要的,哪些是可选的。这给用户的使用带来了不小的麻烦。 UML 的模型主要是通过一系列相关的图来表达,在 UML 中共定义了 9 种图, 它们分别从不同的侧面来描述系统,下图为在 UML 中定义的视图与图:
主要的域 视图 静态视图 结构 用例视图 实现视图 培植视图 状态机视图 动态 活动视图 交互视图 图 类图 用例图 构件图 配置图 状态视图 活动图 顺序图 协作图 模型管理 模型管理视图 类图 主要概念 类,关联,泛化,依赖关系,实现,接口 用例,参与者,关联,扩展,包含,泛化 构件,接口,依赖关系,实现 节点,构件,依赖关系,位置 状态,事件,转换,动作 状态,活动,完成转换,分叉,结合 交互,对象,消息,激活 协作,交互,协作角色,消息 包,子系统,模型

1.4 RUP 过程指导与本系统分析设计过程
UML 是一种建模语言而不是一种方法,UML 的表示法和规则能够用来为系统 进行面向对象建模,但并没有指定应用 UML 的过程和方法。1998 年正式颁布的 RUP(Rational Unified Process)是 UML 设计者们共同定义的一个软件开发的公 共过程框架。 统一过程主要包括四个阶段:开始阶段、细化阶段、构建阶段和*唤锥巍 结合仓储系统得特点和 RUP 分析过程, 我们对本仓储系统的开发过程以及在 开发过程中用到的建模图形如下:
9

基于 UML 的仓储管理系统的设计与实现

业务建模

表示
业务用例

活动图 描述 用例图 流程图

需求分析

表示
系统用例

描述

系统描述 用例图

类图 领域分析 表示 实例化 对象图 增补 用户接口包

特化

状态图 活动图 顺序图 细化 调整

系统设计

表示

业务逻辑包

数据存储包

应用包

类图 编码依据 实现 状态图

协作图

顺序图

活动图

用例图

实现目标 用例图 测试依据 测试依据

测试与配置

顺序图

类图

配置 配置图 注: 箭头表示模型和各种活动之间的描述关系; 虚线表示各种活动之间的可溯性
10

基于 UML 的仓储管理系统的设计与实现

1

进行业务流程建模

通过使用 UML 的活动图与用例图描述企业的业务流程来理解领域知识, 建立 业务用例图;在建模之前我们对仓储系统的业务过程辅助业务流程图来分析,这 也是我们在本次系统开发中的一创新点。 2 进行系统功能建模 寻找用例及其之间的关系(用例图), 通过详细描述用例来捕获系统的功能需 求,同时辅助活动图,并建立系统用例图,这是整个开发过程的基础; 3 进行领域建模 寻找对象与类, 主要是使用类图表现领域中各业务类之间的静态关系,并用 交互图、 顺序图等具体描述类之间的交互以及对象的状态变化。主要涉及以下活 动(并不一定是顺序的): 1> 2> 3> 4> 5> 4 分析用例以及业务领域 发现对象,为对象分类,确定对象之间的交互 确定类之间的关系 定义类的属性和操作 分析对象的状态变化 进行系统设计,在系统分析的基础上进行:

系统架构的设计 进行高层的系统决策、确定基本的软件结构,并对应用系统进行划分; 对象进一步设计 对领域模型中的业务类进行精化、调整,增添界面类、控制类等用于实现的 类。 数据模型设计 考虑解决持久对象到数据库的映射问题, 设计数据模型以及数据存取访问部 分设计。 系统设计 得到的模型是精化和调整后的类图、交互图等,同时还有对象持久设计得到 的数据模型。 5 实现 实现的依据是设计过程中得到的静态视图(类图、对象图)、动态视图(顺序 图、状态图、协作图、活动图);同时可以将类映射为组件,进而使用 CASE 工具 的框架代码自动生成的功能;同时通过实现图(组件图、配置图)来描述系统的物 理视图。 6 单元测试,集成与系统测试

11

基于 UML 的仓储管理系统的设计与实现

测试实现的部分是否满足用例的功能要求;另外,类图、组件图、协作图等 也可以用来进行测试。

第二章 仓储系统业务用例建模

2.1 仓储系统业务流程分析

2.1.1 入库流程分析

1、货物到达后,站台值班员组织卸货,大致清点品种、件数,编写《物资 到站日报》 ,送至收货组; 2、收货组根据《物资到站日报表》核对验收货物,分配库位,填写《码单》 。 3、客户《货物明细单》到达后,填写《入库单》 。核对《码单》《货物明细 、 单》《入库单》 , ,如出现差错,返客户《货物异常报告》 。 4、总经办审核记帐后,生成《帐卡》《入库收费单》 、 ,数据不再允许改动。 入库业务流程图如下:
站台 值班 员 到站日报 验收、入库 码单 入库收费单 客户

核对

审核记帐

码单

发货 组 客户 货物明细单 入库单录入 入库单 货物异常报告 帐卡

客户

2.1.2 出库库流程分析 1 客户在入库时提供提货样单,用户持提货单至发货组,要求提货。调度 员核实提货单的合法性,填写《出库单》 ,显示相关业务号信息,如果有层次, 则显示层次信息,并修改层次信息;如果是一个业务号的尾货则给出尾货提示。 然后向用户出具《出库收费单》 ,同时生成《派车单》 ,并派保管员准备发货。 2 保管员持《派车单》组织货物装运,记录实出货物信息,填写《码单出 库信息表》 。

12

基于 UML 的仓储管理系统的设计与实现

3 4 5

用户缴费后,保管员开具出门证给用户。 总经办审核记帐后,生成保管收费单。 一批货物全部出库后,保管员将《帐卡》《提货单》《码单》送至总经 、 、

办核实*帐后,存档。 出库业务流程图如下:
出库收费单 调度员 提货单

客户

提货单

用户

提货单

审核派车收费

派车单

查账发货

保管员

提货样单 帐卡 提货单 码单 库存收费单 出门证

客户 总经办 录入审核*帐

用户

货物存储档案

2.1.3 库存管理业务流程分析 盘点流程: 1 货舱部根据需要盘点的货物生成盘点帐存表, 表中有生成盘点表的商品编 码、商品名称、所属部门、库位、经营方式、库存数量及盘点日期等相关信息; 2 打印盘点单,包括的项目有:商品库位、所属部门、类别、商品编码、商 品名称、经营方式、实盘数量及盘点日期,这里不输出商品的帐存数量; 3 盘点员手持盘点单,进行实地盘点,将数量填入盘点单中实盘数量处; 4 货舱部在微机中调出对应的盘点帐存表,将实盘的数量录入进去,经主管 检察录入数据的准确性后,审核生效; 5 生成盘点盈亏表。 6 针对商品有盘盈和盘亏的商品进行记帐。凡是有盈亏的商品列出商品编 码、名称、实盘数量、帐存数量、成本单价、盈亏金额 盘点业务流程图如下:

13

基于 UML 的仓储管理系统的设计与实现

盘点员

货仓部

生成盘点帐存 表

打印盘点单

盘点单

实地盘点

盘点帐存单

盘 点 单 录 入 /审 核

盘点盈亏表

调帐

货仓部

盘点档案

2.2 业务需求用例建模阶段

2.2.1 业务角色的查找及建立

根据此仓储管理的分析知,仓储管理说涉及的业务角色有:站台值班员,收 货组,总经办,客户,保管员,货舱部,盘点员,调度员

2.2.2 业务用例查找与分析

根据业务流程可以找到基本的业务用例有: 1 站台值班员卸货审核清点货物 货物到达后,站台值班员组织卸货,大致清点品种、件数,编写《物资到站 日报》 ,送至收货组。 2 收货组验收入库货物分配库位 收货组根据《物资到站日报表》核对验收货物,分配库位,填写《码单》 。 3 收货组审核入库单据处理异常 客户《货物明细单》到达后,填写《入库单》 。核对《码单》《货物明细单》 、 , 《入库单》 ,如出现差错,返客户《货物异常报告》 。 4 总经办进行入库审核记帐 总经办审核记帐后,生成《帐卡》《入库收费单》 、 ,数据不再允许改动。 注:客户提供提单的同时,提供一份提货样单。

14

基于 UML 的仓储管理系统的设计与实现

5 客户申请提货 客户在入库时提供提货样单,用户持提货单至发货组,要求提货。 6 调度员审核客户提货的合法性 调度员核实提货单的合法性,填写《出库单》 ,显示相关业务号信息,如果 有层次,则显示层次信息,并修改层次信息;如果是一个业务号的尾货则给出尾 货提示。然后向用户出具《出库收费单》 ,同时生成《派车单》 ,并派保管员准备 发货。 7 保管员组织发货处理 保管员持《派车单》组织货物装运,记录实出货物信息,填写《码单出库信 息表》 。 8 用户缴费后,保管员开具出门证给用户 总经办进行出库审核记帐。 总经办审核记帐后,生成保管收费单。 总经办*帐处理。 一批货物全部出库后,保管员将《帐卡》《提货单》《码单》送至总经办核 、 、 实*帐后,存档。 9 货舱部生成盘点单据 货舱部根据需要盘点的货物生成盘点帐存表,表中有生成盘点表的商品编 码、商品名称、所属部门、库位、经营方式、库存数量及盘点日期等相关信息。 打印盘点单,包括的项目有:商品库位、所属部门、类别、商品编码、商品 名称、经营方式、实盘数量及盘点日期,这里不输出商品的帐存数量。 10 盘点员进行实地盘点 盘点员手持盘点单,进行实地盘点,将数量填入盘点单中实盘数量处。 11 货舱部进行盘点结果处理 货舱部在微机中调出对应的盘点帐存表,将实盘的数量录入进去,经主管检 察录入数据的准确性后,审核生效。 12 生成盘点盈亏表 针对商品有盘盈和盘亏的商品进行记帐。凡是有盈亏的商品列出商品编码、 名称、实盘数量、帐存数量、成本单价、盈亏金额。 13 过户处理 修改货物所属货主,同时修改相应信息(重复出库、入库流程) 。 14 移库处理 修改移库货物原有和现有的库存位置。

15

基于 UML 的仓储管理系统的设计与实现

2.2.3 业务用例图

2.2.3 业务活动图

入库过程:

16

基于 UML 的仓储管理系统的设计与实现

出库过程:

盘点过程:
17

基于 UML 的仓储管理系统的设计与实现

2.3 系统基本功能描述:
根据仓储系统业务过程分析知系统的基本功能有入库管理, 出库管理与库存 管理三大模块,系统功能图如下:
仓储系统

入库业务

库存业务

出库业务

18

基于 UML 的仓储管理系统的设计与实现

第三章 仓储系统系统需求用例建模
3.1 入库管理需求用例分析
3.1.1 确定系统角色: 一个角色可以是人、硬件设备、甚至另外一个系统。对于一个系统而言,每 种类型的用户表示为一个或几个角色, 每个与该系统交互的外部系统也表示为一 个或几个角色。 仓储管理系统中, 我们通过分析, 可以找出这样一些角色: 客户, 货物,入库管理人员,仓库,出库管理人员,库存管理人员,系统管理人员。 3.1.2 确定系统顶层用例 一般的 uml 的需求描述方法是用用例图来表达角色、用例及其之间的关系, 用文字形式的事件流文档具体描述用例细节。这种方法存在以下缺点: 一张用例图不能描述复杂系统全部需求;系统的业务种类多、功能繁杂,根 本无法清晰地将系统的全部功能展开在一张用例图上,即使可以,用户看到纵横 交错的各种关系,也只能望而生畏;用例图不适应描述系统的非功能要求;文字 不便于说明复杂用例的流程。 涉及多个部门之间的交互协调,事件流文档中的文 字难以清晰地表达地籍数据的复杂流程。因此我们将采用建立多层次的用例图。 顶层用例图描述系统粗粒度的全部功能; 下一层将没有表述清的粗粒度用例用更 细粒度的子用例描述。 根据系统的业务过程分析与用户的需求分析,系统的顶层用例如表所示:
参与者 入库管理人员 用例说明 入库管理,其中包括到站登记日报管理,入库单管理,码单管理,审 核记帐等 库存管理人员 库存的基本业务管理,包括盘点管理,过户管理,移库管理 仓区的基本信息管理,包括仓区参数设置,库存分配,预警管理

出库管理人员

出库管理,有出库单管理,出库信息管理,出库审核管理,以及*帐 等

系统管理人员

系统管理,报表管理,查询管理,基本资料管理等

19

基于 UML 的仓储管理系统的设计与实现

系统得顶层用例图如下:

3.1.3 入库管理功能性分析: 根据业务描述,我们知道此模块应该要实现的功能大致如下: 1 2 3 4 5 6 入库管理人员利用系统登记站台管理员送来的到站日报表信息; 入库管理人员能修改到站日报表信息; 入库管理人员能删除到站日报表信息; 入库管理人员根据到站日报填写,修改,删除码单; 入库管理人员根据货物明细单填写,修改,删除入库单; 入库管理人员审核《码单》《货物明细单》《入库单》如有差错,返回 、 , 《货物异常报告》 ;如无差错生成《帐卡》《入库收费单》 、 。 入库管理的分层用例图如下:

20

基于 UML 的仓储管理系统的设计与实现

3.1.4 到站日报录入管理用例描述: 用例: 到站日报管理 参与者:入库管理人员,站台管理员 目的: 记录货物的到站情况和到站货物的基本信息 综述: 货物到达后,站台管理员组织卸货,大致清点品种、件数,编写《物资 到站日报》 ,入库管理人员根据到站日报进行到站日报的录入修改等操作。 参与者的动作 系统响应

1)用例始于入库管理人员根据站台 管理员提供的信息进行到站日报的 管理 2) 入库管理人员选择登陆到本系统, 3)系统确认帐号与密码,并提示登陆成 并输入管理帐号与密码 择到站日报管理 功进入系统 4)入库管理人员根据系统的提示选 5)进入到站管理界面

21

基于 UML 的仓储管理系统的设计与实现

6)入库管理人员选择: A B C 登记到站日报 修改到站日报 删除到站日报 7)记录这次完成的操作 8)用例在所有操作完成后结束 入库日报管理包括登记到站日报,修改到站日报,删除到站日报: 登记到站日报: 参与者的动作 1)入库管理人员选择登记到站日报 系统响应 2)系统显示出登记日报的界面

3)入库管理人员根据站台管理人员 提供的信息输入要登记日报的基本 信息 4)入库管理人员选择登记完成 5) 系统接收日报的基本信息并放入数据 库中 6)系统提示登记到站日报完成

修改到站日报 参与者的动作 系统响应

1)入库管理人员选择要修改的到站 2)系统显示出到站日报的信息 日报 3)入库管理人员确认要修改,并选 4)系统进入日报修改界面 择修改项 5)入库管理人员修改完成 7)入库管理人员确认 6) 系统接收日报的修改信息并再次给出 提示信息 8)系统提示修改到站日报完成

删除到站日报 参与者的动作 系统响应

22

基于 UML 的仓储管理系统的设计与实现

1)入库管理人员选择要删除的到站 2) 系统显示出要删除的到站日报的信息 日报 3)入库管理人员确认要删除,并选 4) 系统接收日报的删除命令并给出提示 择删除项 5)入库管理人员确认 信息 6)系统提示删除到站日报完成

3.1.5 码单管理用例描述:

用例: 码单管理 参与者:入库管理人员 目的: 根据到站日报生成码单,货物到达验收后产生,记录货物存放信息。 综述: 入库管理人员在货物入库后,录入实收的货物信息,记录详细的货物信 息、存放位置信息(包括层数) 。 参与者的动作 系统响应

1)用例始于入库管理人员根据货物 的基本信息与存放信息对码单管理 2) 入库管理人员选择登陆到本系统, 3)系统确认帐号与密码,并提示登陆成 并输入管理帐号与密码 择到站码单管理 6)入库管理人员选择: A B C 新建码单 修改码单 删除码单 7)记录这次完成的操作 8)用例在所有操作完成后结束 码单管理包括新建码单,修改码单,删除码单: 新建码单 参与者的动作 系统响应 功进入系统 4)入库管理人员根据系统的提示选 5)进入码单管理界面

23

基于 UML 的仓储管理系统的设计与实现

1)入库管理人员选择新建码单

2) 系统显示出未处理的到站日报的界面

3)入库管理人员根据到站日报号选 4) 系统给出到站的基本信息与码单的基 择要生成码单的到站的货物 4)入库管理人员输入码单的基本信 息 5) 系统接收新建码单的基本信息并放入 数据库中 6)系统提示新建码单完成 修改码单 参与者的动作 1)入库管理人员选择要修改的码单 系统响应 2)系统显示出修改码单的信息 本信息空位

3)入库管理人员确认要修改,并选 4)系统进入码单修改界面 择修改项 5)入库管理人员修改完成 7)入库管理人员确认 6) 系统接收码单的修改信息并再次给出 提示信息 8)系统提示修改码单完成

删除码单 参与者的动作 1)入库管理人员选择要删除的码单 系统响应 2)系统显示出要删除的码单的信息

3)入库管理人员确认要删除,并选 4) 系统接收码单的删除命令并给出提示 择删除项 5)入库管理人员确认 信息 6)系统提示删除码单完成

3.1.6 入库单管理用例描述: 用例: 入库单管理
24

基于 UML 的仓储管理系统的设计与实现

参与者: 入库管理人员 目的: 本信息。 综述: 人工核对客户递交的货物明细表、码单,超出误差范围产生异常报告, 系统响应 如果无异常则正确录入入库单。 参与者的动作 入库管理人员根据客户提供的货物明细表填写入库单,录入入库单基

1)用例始于入库管理人员根据货物 的明细表信息进行录入 2) 入库管理人员选择登陆到本系统, 3)系统确认帐号与密码,并提示登陆成 并输入管理帐号与密码 择入库单管理 6)入库管理人员选择: A B C 新建入库单 修改入库单 删除入库单 7)记录这次完成的操作 8)用例在所有操作完成后结束 入库单管理包括新建入库单,修改入库单,删除入库单: 新建入库单 参与者的动作 1)入库管理人员选择新建入库单 系统响应 2)系统显示出新建入库单的查询界面 功进入系统 4)入库管理人员根据系统的提示选 5)进入入库单管理界面

3)入库管理人员根据客户提供的货 4)系统给出查询结果 物明细表进行查询 5)入库管理人员要生成入库单的业 6)系统显示此笔业务的基本信息 务 7)入库管理人员进行审核选择: A 生成入库单 B 进入异常处理

25

基于 UML 的仓储管理系统的设计与实现

8)记录这次完成的操作 生成入库单 1)入库管理人员输入入库单的基本 2)系统接收入库单的信息并给出提示信 信息 并提交 3)输入完成 入库单录入异常处理 1)入库管理人员输入异常信息并提 2)系统接收入库单的异常信息 交 3)处理完成 息

修改入库单 参与者的动作 系统响应

1)入库管理人员选择要修改的入库 2)系统显示出修改入库单的信息 单 3)入库管理人员确认要修改,并选 4)系统进入码单修改界面 择修改项 5)入库管理人员修改完成 7)入库管理人员确认 6) 系统接收入库单的修改信息并再次给 出提示信息 8)系统提示修改入库单完成

删除入库单 参与者的动作 系统响应

1)入库管理人员选择要删除的入库 2)系统显示出要删除的入库单的信息 单 3)入库管理人员确认要删除,并选 4) 系统接收入库单的删除命令并给出提 择删除项 5)入库管理人员确认 示信息 6)系统提示删除入库单完成

26

基于 UML 的仓储管理系统的设计与实现

3.1.7 审核管理用例描述: 用例: 目的: 综述: 理。 参与者的动作 系统响应 审核管理 审核录入是否正确,生成帐卡,入库收费单 入库管理人员根据货物的基本信息以及入库信息对业务进行审核,如

参与者: 入库管理人员

果合格则自动生成帐卡和入库收费单,如果不合格则此笔业务被致与不合格处

1)用例始于对货物的信息进行审核 处理 2) 入库管理人员选择登陆到本系统, 3)系统确认帐号与密码,并提示登陆成 并输入管理帐号与密码 择到审核管理 6)入库管理人员选择要审核业务 8)入库管理人员进行人工审核并选 择: A 审核合格 B 不合格 9)如果审核合格系统自动生成帐卡和入 库收费单,如果不合格修改审核状态为 不合格 10)系统给出提示信息 11)用例在所有操作完成后结束 7)给出此业务的具体信息 功进入系统 4)入库管理人员根据系统的提示选 5)进入审核管理界面

3.2 系统扩展功能需求用例分析
1、 系统管理: 权限管理:给操作员分配相应的权限。 日志管理:保存每个操作员所进行的所有操作,并提供相关信息的查询。

27

基于 UML 的仓储管理系统的设计与实现

数据备份:将所有数据表信息定期保存在磁盘中,确保数据的安全性与可靠性。 数据恢复:将备份文件恢复到数据库中。 2、 报表管理: 业务统计:统计客户期间的入库业务量、出库业务量、库存货物信息(包括*帐 与否)等。 库存统计:统计库存状况(可以按客户、货物、器件、仓区组合统计) 。 货物统计:统计期间的进出存、大品种货物信息。 货位统计:统计货位占有情况、分配情况。 盘点统计:统计与盘点相关的信息。 3、 查询管理: 在库查询:根据不同的查询条件,查询出库存货物的信息。 进货查询:根据不同的查询条件,查询出货物入库的信息。 出货查询:根据不同的查询条件,查询出出库货物的信息。 盘点查询:根据不同的查询条件,查询出与盘点相关信息。 (如历史盘点数据、 某货物的盘点信息、某客户的盘点信息等。 ) 货况查询:根据不同的查询条件,查询出货物状况的信息。 基本资料查询:根据不同的查询条件,查询出与基本资料相关信息。 4、 基本资料管理: 客户管理:对客户基本信息进行增加、删除、修改操作。 货物管理:对货物基本信息进行增加、删除、修改操作。 业务员管理:对业务员基本信息进行增加、删除、修改操作。 其它基本资料管理:对基本资料进行增加、删除、修改操作。包括:用户权限表、 权限信息表、客户(货主)/用户信息表、货物表、仓库信息表、库区信息表、库 位信息表、部门表、物资种类表、物资大类表、物资小类表、物资明细分类表、 入库费率表、出库费率表、仓储费率表、其他费率表、设备表、到货/出货方式 表、业务类别表 5、 仓区管理: 仓区参数设置:设置仓区参数信息,提供对仓库、库区、库位的信息进行添加、 删除、修改等操作。 库位分配示意图:按*面图形式显示库位是否分配信息。 库存预警:在超出或低于库存限度时给予报警。 计算机辅助分配:进行库位分配时,计算机提供可分配的仓位。 6、 其他业务管理: 录入与编辑其它业务管理信息,具体包括:机电物质信息、化工产品信息、攀金

28

基于 UML 的仓储管理系统的设计与实现

公司的物资信息、加工厂的物资信息、配送信息等。 7、 客户远程查询系统: 客户可根据不同的查询条件对自己的货物信息进行在库查询、进货查询、出货查 询、货况查询。 8、 权限管理: 我们对操作进行编码,为每个操作角色赋予相应的操作权限,形成操作权限表, 系统管理员能根据需要灵活地对操作角色的操作权限进行赋予与修改, 以此有效 灵活地对用户的操作权限进行控制。 角色管理 (1)角色填加 (2)角色删除 (3)角色权限修改 (4)角色密码修改 权限管理 对系统的权限编号的权限内容进行权限的管理,如修改客户权限的权限大小,入 库管理员的权限大小等操作:

3.3 系统整体功能描述
系统整体功能图如下:

仓储系统功能

入 库 管 理

出 库 管 理

库 存 管 理

系 统 管 理

查 询 管 理

报 表 管 理

仓 区 管 理

基 本 资 料 管 理

其 他 业 务 管 理

29

基于 UML 的仓储管理系统的设计与实现

第四章 业务领域分析与设计
4.1 系统顺序图,状态图
权限管理对于系统来说十分重要,因为它关系到系统得安全性,因此在系统 得开发与设计中, 我们始终把系统的安全性放在十分重要的位置,因此我们在用 顺序图分析的时候始终从系统用户未登陆状态来分析的,在后边系统详细设计 时,我们会给出用户登录的顺序图; 1 新建到站日报:

2 修改到站日报:

30

基于 UML 的仓储管理系统的设计与实现

3 删除到站日报

31

基于 UML 的仓储管理系统的设计与实现

4 新建码单:

5 修改码单入库信息

32

基于 UML 的仓储管理系统的设计与实现

6 删除码单入库信息

7 新建入库单:

33

基于 UML 的仓储管理系统的设计与实现

1.8 修改入库单

1.9 删除入库单

34

基于 UML 的仓储管理系统的设计与实现

1.10 审核处理

4.2 定义基本对象与类
入库管理子系统的对象分析: 实体对象 货物,物资到站日报,码单入库信息表,仓库,货物明细单,入库 单,货物异常报告,帐卡入库信息,入库收费单,客户信息,库区, 库位,码单基本信息表,职工信息表,用户权限表,权限信息表, 验收工具表,设备表,站台表,计量单位表,部门表,物资明晰分 类表,业务类别表 边界对象 入库到站日报管理界面,入库码单管理界面,入库单管理界面,入 库审核界面 控制对象 入库审核

35

基于 UML 的仓储管理系统的设计与实现

根据分析级的顺序图与系统的对象分析定义系统中涉及的类: (1)类 客户 KH (2)类 货物 HW (3)类 仓库 CK (4)类 库区 KQ (5)类 库位 KW (6)类 物资到站日报 DZRB (7)类 码单基本信息 MDJBXX (8)类 码单入库信息:MDRKXX (9)类 保管员入库验收信息(BGYYSXX) (10)类 码单货物存放明细(MDHWCF) (11)类 入库单 RKD (12)类 货物异常报告 HWYCBG (13)类 帐卡入库信息 ZKRKXX (14)类 入库收费单 RKSFD (15)类 用户权限 YHQX (16)类 权限信息 QXXX (17)类 入库审核 RKSH (18)类 职工信息 ZGXX (19) 类 物资存储类 WZCCL (20)类 业务类别 YWLB (21)类 物资明晰分类 WZMXFL (22)类 部门 BM (23)类 计量单位 JLDW (24)类 站点 ZD (25)类 验收工具 YSGJ (26)类 设备 SB

36

基于 UML 的仓储管理系统的设计与实现

4.3 入库系统类图:

4.4 定义对象与类的属性与操作
(1)类 客户 KH ? 私有属性 属性名 khID khM khDZ lxDH Stringz xsqx yyzh BZ ? 公共方法 方法名 Query():Boolean Add_KH():Boolean; 含义说明 查询 含义 客户号 客户名 客户地址 联系电话 传真 销售权限 银行帐号 备注 属性类型 String String String String String String String String

37

基于 UML 的仓储管理系统的设计与实现 (2)类 货物 HW ? 私有属性 属性名 khID wzflID hwID PM GGXH sccj ghpp Dj dc dccd dwZL bzLX jsDW1 jsDW2 slZSXS bcyq kz bzq BZ ? 公共方法: 方法名 Add_HW( ): Boolean; Update_HW():Boolean; Del_HW():Boolean; Query_HW(KHID:String,WZFlID:String):Boolean Print_HW():Boolean; (3)类 仓库 CK ? 私有属性 属性名 ckID ckMC ckLX ckMJ ckGS BZ ? 公有方法 方法名 含义说明 含义 仓库编号 仓库名称 仓库类型 仓库面积 库区个数 备注 属性类型 String String String Float Int String 含义说明 增加新*货物信息 更新货物信息 删除货物信息 根据物资号与客户号查询货物基本信息 打印 含义 客户号 物资分类号 货物编号 品名 规格型号 产地/生产厂家 钢号/品牌 等级 定尺 定尺长度 单位重量 包装类型 记数单位 1 记数单位 2 数量折算系数 保存要求 克重 保质期 备注 属性类型 String String String String String String String String String Float Float String String String Float String Float Float String

38

基于 UML 的仓储管理系统的设计与实现 Add_CK( ): Boolean; Update_CK():Boolean; Del_CK():Boolean; Query_CK(CKID:String):Boolean Print_CK():Boolean; (4)类 库区 KQ ? 私有属性 属性名 kqID kqLX kqGS kqMJ BZ ? 共有方法 方法名 Add_KQ( ): Boolean; Update_KQ():Boolean; Del_KQ():Boolean; Query_KQ(KQID:String):Boolean Print_KQ():Boolean; (5)类 库位 KW ? 私有属性 属性名 kwID kwMJ Zdl BZ ? 公有方法 方法名 Add_KW( ): Boolean; Update_KW():Boolean; Del_KW():Boolean; Query_KW(KWID:String):Boolean Print_KW():Boolean; 新建库位 更新库位信息 删除库位 库位查询 打印 含义说明 含义 库位编号 库位面积 最低量 备注 属性类型 String Float Float String 新建库区 更新库区信息 删除库区 库区查询 打印 含义说明 含义 库区编号 库区类型 库位个数 库区面积 备注 属性类型 String String Int Float String 新建仓库 更新仓库信息 删除仓库 仓库查询 打印

39

基于 UML 的仓储管理系统的设计与实现 (6)类 物资到站日报 DZRB ? 私有属性: 属性名 dzrbID dhSJ fz ch PM ybSL ssSL jlDW xhdd qf ztzby clSF dzry dzsb dzsjd BZ ? 公共方法: 方法名 Add_ DZRBB ( ): Boolean; Update_ DZRBB ():Boolean; Del_ DZRBB ():Boolean; Query_ DZRBB (dzrbID:String):Boolean setTrue(int dzrbID) :Boolean ResultSet Query_DZRB1():Boolean Print_ DZRBB():Boolean; (7)类 码单基本信息 MDJBXX ? 私有属性 属性名 ywID 含义 业务号 属性类型 含义说明 增加物资到站日报信息 更新物资到站日报信息 删除物资到站日报信息 根据到站日报编号查询物资到站日报 信息 设置到站日报的是否处理项为真 查询未处理的到站日报 打印 含义 到站日报号 到货时间 发站 车号 品名 预报数量 实收数量 计量单位 卸货地点 铅封 站台值班员 是否处理 调装人员 调装设备 调装时间段 备注 属性类型 Int Date String String String Float Float String String String String String String String String String

String
khID 客户号

String
khMC 客户名称

String
dzrbID dhSJ 到站日报号 到货时间
40

Int Date

基于 UML 的仓储管理系统的设计与实现 Fz Ch ywLB Xhdd Ysgj wzflID hwID PM GGXH Cd Pp Dj Dc Dccd bzLX jsDW1 jsDW2 Zsxs Kz Sby ysbgy bgyRS Zdr zdRQ rkclSF scRQ Ysdy sfGH BZ ? 公有方法 方法名 Add_ MDJBXX ( ): Boolean; Update_ MDJBXX ():Boolean; Del_ MDJBXX ():Boolean; Query_ MDJBXX (ywID:String):Boolean Print_ MDJBXX():Boolean; (8)类 码单入库信息:MDRKXX ? 私有属性 属性名 含义
41

发站 车号 业务类别 卸货地点 验收工具 物资分类号 货物编号 品名 规格型号 产地/生产厂家 钢号/品牌 等级 定尺 定尺长度 单位重量 包装类型 记数单位 1 记数单位 2 数量折算系数 克重 司磅员 验收保管员 保管员人数 制单人 制单日期 是否入库处理 生产日期 已收代运 是否过户 备注

String String String String String String String String String String String String String Float Float String String String Float Float String String Int String Date String Date String String String 含义说明 添加码单 更新码单信息 删除码单信息 码单查询 打印

属性类型

基于 UML 的仓储管理系统的设计与实现 ywID kcwzID rkZL rkSL1 rkSL2 ? 公共方法: 方法名 Add_ MDRKXXB ( ): Boolean; Update_ MDRKXXB ():Boolean; Del_ MDRKXXB ():Boolean; Query_ MDRKXXB (ywID String): int Query_Rksl(ywID String):float Print_ MDRKXXB():Boolean; (9)类 保管员入库验收信息(BGYYSXX) 字段名 ywID zgID ZL 标题 业务号 保管员 重量 字段类型 C C N 字段长度 12 7 12,6 是否可为空 否 否 举例及说明 200308010012 含义说明 增加码单入库信息表信息 更新码单入库信息表信息 删除码单入库信息表信息 根据业务号查询物资到站日报信息 根据 ywID 查询入库数量信息 打印 业务号 库存位置编号 入库重量 入库数量 1 入库数量 2 String String Float Float Float

(10) 类 码单货物存放明细(MDHWCF) 字段名 ywID kcwzID cc sccd jZL ckSF 标题 业务号 库存位置编 号 层次 实测长度 净重 是否出库 字段类型 C C C N N C 字段长度 12 12 2 9,3 12,6 1 是否可为空 否 否 否 举例及说明 200308010012 011102040612

(11)类 入库单 RKD ? 私有属性 属性名 ywID khID khMC hzrkdID ywLB dhFS gsBM 含义 业务号 客户号 客户名称 货主入库单号 业务类别 到货方式 归属部门
42

属性类型 String String String String String String String

基于 UML 的仓储管理系统的设计与实现 txmID abcFL wzflID hwID PM GGXH scRQ sbZL ssZL sbSL1 ssSL1 sbSL2 ssSL2 Fl tldDF ddRQ ysbgy Shr shZT shRQ Zdr sfGH BZ ? 公共方法 方法名 Add_ RKD ( ): Boolean; 表中所有属性为参数。 Update_ RKD ():Boolean; Del_ RKD ():Boolean; Query_ RKD (khID String):Boolean setsh(String ywID,String shZT,String shRQ,String Shr) Print_ RKD():Boolean; (12)类 货物异常报告 HWYCBG ? 私有属性 属性名 hwID khID hwm ysyID ycqk 含义 货物编号 客户号 货物名 验收员 异常情况
43

条形码 ABC 分类 物资分类号 货物编号 品名 规格型号 生产日期 申报重量 实收重量 申报数量 1 实收数量 1 申报数量 2 实收数量 2 费率 铁路代垫费 到单日期 验收保管员 审核人 审核状态 审核日期 制单人 是否过户 备注

String String String String String String Date Float Float Float Float Float Float Float Float Date String String String Date String String String 含义说明 添加 更新 删除 根据客户号查询入库单 设置入库单的处理数据 打印

属性类型 String String String String

基于 UML 的仓储管理系统的设计与实现 rq ? 公共方法 方法名 Add_HWYCBG ( ): Boolean; Update_ HWYCBG ():Boolean; Del_ HWYCBG ():Boolean; Query_ HWYCBG (hwID String):Boolean Print_ HWYCBG():Boolean; (13)类 帐卡入库信息 ZKRKXX ? 私有属性 属性名 zkID ywID jzr pzSF BZ ? 公共方法 方法名 Add_ZKRKXX ( ): Boolean; Update_ ZKRKXX ():Boolean; Del_ ZKRKXX ():Boolean; Query_ZKRKXX(zkID:String, ywID:String):Boolean Print_ ZKRKXX():Boolean; (14)类 入库收费单 RKSFD 收费单号 品名 规格型号 客户名称 货主入库单号 发站 车号 实收重量 实收数量 1 入库费用 sfdID PM GGXH khMC hzrkdID Fz Ch ssZL ssSL1 rkFY C C C C C C C R R R 添加 更新 删除 查询 打印 含义说明 含义 账卡号 业务号 记帐人 是否*帐 备注 属性类型 String String String String String 添加 更新 删除 根据货物编号查询 打印 含义说明 日期 Date

44

基于 UML 的仓储管理系统的设计与实现 铁路代垫费 应收金额 开单人 备注 (15)类 用户权限 YHQX ? 私有属性 属性名 zgID zgXM yhKL qxxl BZ ? 公共方法 方法名 Add_ YHQX ( ): Boolean; Update_ YHQX ():Boolean; Del_ YHQX ():Boolean; CheckYHQX (zgID:String, yhKL:Sring):Boolean; Print_ YHQX ():Boolean; (16)类 权限信息 QXXX ? 私有属性 属性名 qxID qxM BZ ? 公共方法 方法名 Add_ QXXX ( ): Boolean; Update_ QXXX ():Boolean; Del_ QXXX ():Boolean; Query_ QXXX (qxID:String):Boolean; Print_ QXXX ():Boolean; (17)类 入库审核 RKSH ? 私有属性 属性名 md rkd 含义 码单 入库单 属性类型 MD RKD 添加 更新 删除 查询 打印 含义说明 含义 权限编号 权限名 备注 属性类型 C C C 添加 更新 删除 确认用户权限 打印 含义说明 含义 职工编号 姓名 用户口令 权限序列 备注 属性类型 String String String String String tldDF ysJE Kdr BZ R R C C

45

基于 UML 的仓储管理系统的设计与实现 hwycbg zk ? 公共方法 方法名 newrksfd():Boolean newzk(String ywID,String zkID ,String jzr ,String pzSF, String BZ): Boolean (18)类 职工信息 ZGXX ? 私有属性 属性名 zgID xm xb nl jrgssj zw gz jc bz ? 公共方法 方法名 Query():Boolean; (19) 类 物资存储类 WZCCL ? 私有属性 属性名 KCWZID (20)类 业务类别 YWLB ? 私有属性 属性名 ywlbID ywlbMC BZ ? 公共方法 方法名 Add_ YWLB ( ): Boolean; Update_ YWLB ():Boolean; Del_ YWLB ():Boolean; 添加 更新 删除 含义说明 含义 业务类别编码 业务类别名称 备注 属性类型 String String String 含义 库存位置编号 属性类型 String 含义说明 查询 含义 职工编号 姓名 性别 年龄 加入公司时间 职位 工资 奖惩 备注 属性类型 String String String Int Date String Float String String 方法说明 生成入库收费单 生成帐卡 货物异常报告 帐卡 HWYCBG ZK

46

基于 UML 的仓储管理系统的设计与实现 Query_ YWLB (ywlbID:String):Boolean Print_ YWLB ():Boolean; (21)类 物资明晰分类 WZMXFL ? 私有属性 属性名 wzflID mxlMC BZ ? 公共方法 方法名 Add_ WZMXFL ( ): Boolean; Update_ WZMXFL ():Boolean; Del_ WZMXFL ():Boolean; Query_ WZMXFL (wzflID:String):Boolean; Print_ WZMXFL ():Boolean; (22)类 部门 BM ? 私有属性 属性名 bmID bmMC BZ ? 公共方法 方法名 Add_ BM ( ): Boolean; Update_ BM ():Boolean; Del_ BM ():Boolean; Query_ BM (bmID:String):Boolean; Print_ BM ():Boolean; (23)类 计量单位 JLDW ? 私有属性 属性名 jldwID 含义 计量单位编号 属性类型 String 添加 更新 删除 查询 打印 含义说明 含义 部门编号 部门名称 备注 属性类型 String String String 添加 更新 删除 查询 打印 含义说明 含义 物资分类号 明细类名称 备注 属性类型 String String String 查询 打印

jldw ? 公共属性

计量单位

String

47

基于 UML 的仓储管理系统的设计与实现 方法名 Add_ JLDW ( ): Boolean; Update_ JLDW ():Boolean; Del_ JLDW ():Boolean; Query_ JLDW (jldwID:String):Boolean; Print_ JLDW ():Boolean; (24)类 站点 ZD ? 私有属性 属性名 zdID zd ? 共有方法 方法名 Add_ZD( ): Boolean; Update_ZD():Boolean; Del_ZD():Boolean; Query_ZD(ZDID:String):Boolean Print_ZD():Boolean; (25)类 验收工具 YSGJ ? 私有属性 属性名 ysgjID Ysgj ? 共有方法 方法名 Add_YSGJ ( ): Boolean; Update_YSGJ():Boolean; Del_YSGJ():Boolean; Query_YSGJ(YSGJID:String):Boolean Print_ YSGJ():Boolean; (26)类 设备 SB ? 私有属性 属性名 SbID ClLX 含义 设备编号 车辆类型 属性类型 String String 增加验收工具 更新验收工具信息 删除验收工具 查询验收工具 打印 含义说明 含义 验收工具编号 验收工具 属性类型 String String 增加站点 更新站点信息 删除站点 站点查询 打印 含义说明 含义 站点编号 站点 属性类型 String String 添加 更新 删除 查询 打印 含义说明

48

基于 UML 的仓储管理系统的设计与实现 Eddw TfWZ CcID Cd gmSJ Jg Gsbm BZ ? 公有方法 方法名 Add_SB( ): Boolean; Update_SB():Boolean; Del_SB():Boolean; Query_SB(SBID:String):Boolean; Print_SB():Boolean; 增加新设备 更新设备信息 设备报废 查询设备 打印 含义说明 额定吨位 停放位置 出厂序列号 产地 购买时间 价格 归属部门 备注 Float String String String Date Float String String

4.5 系统设计顺序图,入库类图
新建入库单顺序图:

49

基于 UML 的仓储管理系统的设计与实现

入库类:

4.6 系统扩展功能
1 权限管理: 我们对操作进行编码, 为每个操作角色赋予相应的操作权限,形成操作权限 表, 系统管理员能根据需要灵活地对操作角色的操作权限进行赋予与修改,以此 有效灵活地对用户的操作权限进行控制。 1) 角色管理 (1)角色填加 (2)角色删除 (3)角色权限修改 (4)角色密码修改
50

基于 UML 的仓储管理系统的设计与实现

2)

权限管理 对系统的权限编号的权限内容进行权限的管理,如修改客户权限的

权限大小,入库管理员的权限大小等操作:

填加角色的顺序图

51

基于 UML 的仓储管理系统的设计与实现

删除角色的顺序图

修改用户权限顺序图

修改用户密码顺序图
52

基于 UML 的仓储管理系统的设计与实现

修改权限信息表 2 日志管理 保存每个操作员所进行的所有操作,提供有权限的人进行查询的功能 日志管理功能操作的顺序图如下:

53

基于 UML 的仓储管理系统的设计与实现

3 数据备份: 将所有数据表信息定期保存在磁盘中。 系统功能实现的顺序图如下:

4 数据恢复 用备份文件替换受损文件。 实现的顺序图如下:

5 业务统计
54

基于 UML 的仓储管理系统的设计与实现

统计客户期间的入库业务量、出库业务量、货物信息等。 客户入库业务量统计顺序图:

客户出库业务量统计顺序图:

客户货物信息:

55

基于 UML 的仓储管理系统的设计与实现

返回的货物信息: 数据项 起日期 止日期 客户号 客户名称 货物编号 品名 规格型号 产地 钢号 等级 定尺 定尺长度 包装类型 克重 数据名称

hwID PM GGXH cd pp dj dc dccd bzLX kz

56

基于 UML 的仓储管理系统的设计与实现

4.7 系统构架设计
包是类或者文件的组合,在入库系统的开发中,我们定义了用户接口包,入 库管理类包,数据存储包,以及在开发中涉及到的 java 包。 用户接口:通过用户接口类,用户可以浏览系统中的数据、输入新的数据。 其操作是通过调用业务逻辑中的操作来完成的。 业务逻辑:主要包括应用系统的对象(它们是对现实世界的模拟), 定义了这些 对象的行为以及它们为数据存取层提供了数据操作功能。 数据存取:提供服务给业务逻辑层中的类,以及类的定义。

用户接口包

业务逻辑包

应用包

数据存取包

入库子系统的设计架构:
用户接口 到站日报 管理接口 码单管理 接口 入库单管 理接口 入库审核 管理接口 业务逻辑 查询处理 数据存取

新建处理

修改处理

删除处理

审核处理

57

基于 UML 的仓储管理系统的设计与实现

第五章 系统实现测试与配置
5.1 系统实现的工具与技术
本次系统地开发工具有 Jbuilder9,Rose,Sql Sever,以及 Tomcat; Tomcat 是一个开放源代码、运行 servlet 和 JSP Web 应用软件的基于 Java 的 Web 应用软件容器。 系统开发在 Jbuilder9 中开发 Java Servlet,jsp 页面,以 Tomcat 作为应用程 序服务器,SQL Server 作为数据库服务器。

5.2 系统实现方式图
系统配置图:

client computer

wan

sever computer

系统组件图: UML 是用组件来表示代码物理模块的。组件可以包括代码库和运行文件。在 生成代码之前,将每个文件映射相应组件。在本系统中,使用的是 Java 开发。 每个类映射一个织件,表示这个类的.java 文件。生成代码时,Rose 用组件信息 创建相应的代码库文件。本系统构造的组件图框架如下:

58

基于 UML 的仓储管理系统的设计与实现

5.3 系统测试与系统实现界面
系统的测试以用例图,类图,顺序图,为依据,测试实现的部分是否满足用 例的功能要求。 系统实现界面: 1 入库管理新建入库单界面

59

基于 UML 的仓储管理系统的设计与实现

2 入库管理修改入库单界面

3 入库审核界面

60

基于 UML 的仓储管理系统的设计与实现

第六章 系统开发的思考
6. 1 数据库设计问题
现在的开发环境越来越多的是面向对象的,而存储机制却是不同于此的 关系型数据库, 这两者之间存在着很大差异。这种差异使系统的开发活动不能统 一。 典型的情况是, 越来越多的应用系统是三层甚至多层体系结构, 在此情况下, 用户接口层和业务逻辑层是用面向对象技术开发的, 而数据库多数仍然是关系型 的。 因此, 在采用面向对象建模技术分析获得对象模型后,怎样得到关系型的数 据库呢?这也是我们本次系统开发中遇到的问题。 (1)属性类型映射成域 UML 中的属性类型(Attribute Type)映射成数据库中的域(Domain)。域的使 用提高了设计的一致性,且优化了应用的移植性。简单的域是非常容易实现的, 仅仅需要替换相对应的数据类型和数据的尺寸。同时,对于使用域的属性,可能 要求为域的约束加入 SQL 的 Check 串。例如,限定域的取值范围等。 枚举域(Enumeration Domain)限定了域允许取值的集合。其实现通常有几种 方法:定义 SQL 约束来限定取值;为每个枚举值定义标志;枚举表;对枚举值进行 编码等。 在本系统地开发中, 所有涉及到枚举型的数据象,我们都单独设置一表来表 达,例如计量单位表中就是入库单等表中计量单位数据项的一枚举约束。 (2)类的属性映射至关系数据库表中的列 属性可以直接映射为表中的零到多列。通常,一个属性映射为表中的一列, 但也有例外: ①对于非持久的属性可以不进行映射, 有些属性置只做为中间值用于计算而 不需保存在数据库中。 ②某些对象属性本身就是对象, 客户中的地址属性(如果较复杂)可以映射为 数据库表或多列。此时,属性映射成多个字段。反之,也可以将多个相似的简单 属性映射为一列。 (3)类映射成表 类到表的映射通常不是直接的。只有非常简单的应用,类与表之间才会存在 一一对应的关系。

61

基于 UML 的仓储管理系统的设计与实现

6. 2 数据库访问设计问题
上面的实体对象映射到数据库表, 主要是考虑 UML 的静态模型到数据库的映 射, 我们继续讨论动态模型在数据库设计中的实现, 主要是数据库存取部分设计。 一般来说,数据库存取部分设计主要有以下几种策略: (1)每个对象或类自己负责数据库的访问工作. 这种方法不需要专门的服务类, 但是业务逻辑和数据操作逻辑都集中在业务 类中,任务划分不清晰,业务类既要处理业务逻辑,又要处理数据操作,其中每 一个的改动,都会影响到这个业务类。 (2)利用开发环境提供的机制 许多开发环境提供了初级的访问关系数据库的机制,它们是很好的一个开 始。常用的方法包括 Microsoft 的 ODBC 机制(开放数据库连接—ODBC)和 Java 数据库连接(JDBC), 绝大多数面向对象的开发环境提供了封装这些标准方法之一 的类库。 在本系统地开发中,我们用到了前者。

62

基于 UML 的仓储管理系统的设计与实现

结束语
本文从面向对象的思想出发, 讨论了 UML 建模的语法结构和 UML 的建模思路 与过程,并基于此对仓储管理系统进行了分析,设计,以及最后的实现与测试, 由于篇幅有限, 本文重点介绍了系统的设计部分,对系统的实现与测试只是选择 重点分析。 从整个论文的撰写和用例的开发中, 我对基于 UML 和统一过程的面向对象建 模方法有了相当的认识。 在统一过程开发中,把一个较大的项目的功能分配到一 个个用例上去实现,让开发过程变得比较轻松,更适合多个人共同开发;同时, 通过开发阶段的限制和迭代的划分,使开发过程的透明度更高,目标更明确,整 个项目开发的风险也降低了。 当然,由于时间关系,系统还有很多不完善的地方,系统地实现部分我们只 实现了入库管理这一模块, 并且对于系统高要求标准作的还不够,这也是我们日 后努力的方向。

63

基于 UML 的仓储管理系统的设计与实现

参考文献
[1] 《信息系统开发方法教程》 陈佳著 清华大学出版社 [2] 《UML 基础教程》张瑜 清华大学出版社 2003.10 [3] 《java 与 UML 面向对象设计与编程》王柏 电子工业出版社 2003.12 [4] 《UML 和模式应用》姚淑珍 机械工业出版社 2002.6 [5]《深入 java servlets 网络编程》谢志华 西安电子科技大学出版社 2001.10 [6] 《java 面向对象编程指南》韩柯 电子工业出版社 2001.11 [7] 《 SOFTWARE ENGINEERING 》 Shari Lavrence Pfleeger 高 等 教 育 出 版 社 2003.2 [8] 《Jbuilder 9》飞思科技产品研发中心 电子工业出版社 2004.1 [9] 《UML 系统分析设计与应用案例》冀振燕 人民邮电出版社 1998.5

64

基于 UML 的仓储管理系统的设计与实现





我首先要感谢我的导师汤志伟老师,您严谨的治学态度、善良和蔼的为人, 一直是我学*的榜样。感谢汤老师,本论文的完成,自始至终渗透着导师的心血 和辛劳,从论文选题理论研究、实际开发到撰写论文,汤老师都给了我最大的帮 助与指导。 您渊博的知识、 敏锐的思维和总揽全局的眼光使我在学*工作中收到 了很大的启发。感谢汤老师,在开发过程中,汤老师给了我很多有益的指导,帮 助我解决了许多实的问题。 同时也非常感谢与我一同开发此系统的洪少藩同学, 在我对系统设计的具体 细节迷茫时, 你的指导与帮助给了我很大的动力,很高兴我们能一同开发这个系 统。 最后感谢所有帮助我们的同学, 正是你们的鼓励与支持才使我们顺利的完成 系统的开发。

65


相关文档

  • 基于UML的仓储管理系统 的设计与实现
  • (论文)基于UML的仓储管理系统的设计与实现
  • 基于UML的仓储管理系统的设计与实现定稿
  • 基于UML的仓储管理系统的方案设计书与实现
  • 基于UML的仓储管理系统的分析与设计
  • 第10章基于UML的仓储管理系统的分析设计
  • 基于UML的仓储管理系统的分析设计
  • 基于UML仓库信息管理系统的分析与设计
  • UML仓储管理系统的设计与实现
  • 基于UML的高校宿舍管理系统设计与实现
  • 猜你喜欢

  • 愿得一人心白首不分离散文
  • In the opening paragraph, the write
  • 中文-金蝶K3标准财务
  • Exendin-4类似物对糖尿病性大鼠视网膜病变的保护作用和初步机制研究
  • 2017人教版中考数学复*课件《函数及其图象》阶段练*
  • 2019年秋一年级语文上册汉语拼音9aieiui教学反思3新人教版
  • 浅论徐渭晚年书风成因
  • 信息技术在学校教学管理中的应用分析
  • java nio selectedKey,关于 NIO 你不得不知道的一些“地雷”
  • 连队妇联上半年女工工作总结
  • 车小奎:与时俱进,引领时代发展潮流
  • 商住写字楼广场房地产策划方案
  • 朋友圈优美的句子摘抄
  • 外研版七下Module2《What can you do》(Unit3)ppt课件2
  • 九年级物理全册14.4电磁铁及其应用同步测试题(含解析)(新版)北师大版
  • 外国儿童故事书里的故事
  • 毕节专版八年级英语上册 Unit 7 Will people have robots同步写作指导课件 人教新目标版
  • 小学人教版五年级下册第四单元作文:一件令我感动的事400字
  • 河南省土地覆盖变化的时空特征分析
  • 西安西顿照明设计工程有限公司企业信用报告-天眼查
  • (2015教海探航)浅析影响初中学生绘画能力的心理原因及对策
  • 职场个人自荐信范文5篇
  • 院感知识岗前培训试题
  • 英语八下外研版module9:学案(状语从句讲解、练*)
  • 冬天里的黄叶作文
  • 七种营养丰富的“难吃”食物
  • 2015入党积极分子学习两会思想汇报1500字
  • 第一节 电动机的发热和冷却及电动机工作制的分类
  • 惠州大亚湾经济技术开发区口岸办公室企业信用报告-天眼查
  • 广州华民贸易有限公司企业信用报告-天眼查
  • 人教版八年级生物下册知识点归纳
  • 美国抗衰老药物研究有望造福老年人
  • 广西烟草南宁卷烟配送中心明秀卷烟批零部企业信息报告-天眼查
  • 全面性发育迟缓患儿磁共振波谱与认知功能的相关性研究
  • swing高级JTable和TableModel与连连看入门
  • 高考英语专题练*(四)动词及动词短语(附答案和解析)
  • 【高教版】中职语文拓展模块:第22课《肖邦故园》ppt课件(3)
  • 亲*绘本小憩 走进书海遨游—儿童绘本阅读方法指导例谈
  • 幼儿园课件教案中班语言绘本《点》ppt课件 一等奖幼儿园名师优质课获奖比赛公开课
  • 关于加强新建商品住宅家庭居室装饰装修管理若干规则(试行)(京建法[2001]616号)
  • 【最新】2016年消防行业链市场分析调研报告
  • 预应力钢绞线在箱梁施工中的应用
  • 电脑版