图7.图书馆库存系统
7
结论
产生的模型满足了以下的约束:
l
该模式可以用于跟踪不同类型仓库中目标物品的数量和它们的分布位置。
l
其他动作产生的影响可以通过调用适当的操作反映出来。如图书馆的例子中指出的那样,对库存产生影响的动作在不同的应用中可以是不同的。
l
尽管该模式是用制造业中的术语描述的,但它仍可以用来表示诸如图书馆、商务活动、或者其他相似的地方的库存。
l
文档,如顾客订单,和其他一些东西,被认为是与库存系统相互作用的外部系统的组成部分,因此没有在模式中表示出来。
为了使该模式能够在多个领域里应用,我们省略了:
l
物品的细节,如结构和描述。
l
存放位置的细节。
l
描述内部动作的文档,例如,在不同位置间货物的迁移。
l
异常处理,例如,保留数量比实际能获得的数量大,订单取消等。
l
提示低库存水平的报警。
l
历史信息
l
资金流动
l
当库存物品为液体形态时的处理。(度量液体时应该使用不同的方法)
l
这些方面应该通过其他模式来增加,或者是开发一个包含它们的完整框架。
8
已知的使用
一些库存模型的例子是:
l
在为位于美国佛罗里达Boynton
Beach的摩托罗拉公司寻呼机产品分部的信息技术部开发一个库存原形时,应用了该模型。[Fern97]
l
在Hay的库存模型中[Hay96],资产是些有实际物质形态的东西,(目前)必须存放在一定的场所,如仓库中的某一位置,制造工作中心。更确切的说,一项资产是一个场所中某种资产类型的物质形态。考虑了两种性质的资产:离散的物品和库存。离散的物品可以被单独的信息条所标识(如序列号,公司标签号【译者注:原文中的serial
member为笔误,应该为serial
number.】)。库存只用来跟踪大批量的资产。资产的类型又可以分为产品类型、物料类型、和零件/设备类型,这是因为以作者(Hay)的观点,物理形态不同的产品、零件、物料是按不同的方式来跟踪的。总的来说,贺氏模型中包含了我们忽略的一些方面。然而,它的模型没有包含动态的方面,属性,或操作;也没有把仓库(stock)与库存(Inventory)分开。
l
Fowler的文献[Fowl97]中有一章(第六章)写的是关于库存和会计的。他强调会计中的货物和资金的流动。他的模型中的另一个重要的方面是元数据(处于知识层中)和操作的分离。
l
Hellenack[Hell97]讨论了作为其他业务模式一部分的库存。她分离了成品库存和原材料库存(与我们的产品[Product]和零部件[Component]类等价),也包含了一些资金流动。她的模型中只包含了静态的方面并且没有物品分布的管理。
9
相关的模式
保留和实体使用模式(Reservation
and Use of Entity Pattern)[Fern97],订单和发运模式(Order
and Shipment Pattern)[Fern00b],在几个应用中与本模式相辅相成,如制造业。[Brag98,Brag99]中的模式应用到了资源控制领域,并且看来会在很多应用中与本模式合作。一个可以使用“仓库管理器”模式的模式是依赖性需求模式(Dependent
Demand Pattern)[Hau97]。因为产品和零部件是有类型的,所以类型对象模式(Type
Object Pattern)也是相关的。最后,仓库/产品、仓库/零部件的聚合关系,是容器/环境模式(Container/Context
Pattern)的一个实例。
10
致谢
Motorola
公司库存系统的原型是由Michael
Lynch, Chin- Shu Lee, Zhiwei Peng,and Mahbub Anwar构建的,
他们都为本模式中的这些构思做出了贡献。Rosana
T.V. Braga, 我们的主管,以她富有洞察力的意见,对改进这篇论文的质量起到十分重要的作用。笔者在PLoP
2000 的工作室也为改进这篇论文提供了有价值的建议。
参考文献
[Booc99]
G.Booch, J.Rumbaugh, and I.Jacobson, "统一标记语言用户指南",
Addison-Wesley 1999.
[Brag98]
R.T.V. Braga, F.S.R.Germano, and P.C. Masiero, "资源管理模式的联合使用",
Procs. of PLoP'98,http://jerry.cs.uiuc.edu/~plop/plop98
[Brag99]
R.T.V. Braga, F.S.R.Germano, and P.C. Masiero, "业务资源管理的模式语言",
Procs. of PloP'99,http://st-www.cs.uiuc.edu/~plop/plop99
[Coa97]
P.Coad, "对象模型:策略,模式和应用"
(第二版),Yourdon
Press, 1997.
[Fern97]
E.B. Fernandez , M. Lynch, and C.S. Lee, “库存控制系统的面向对象原型的开发”,
Report TR-CSE-97-32, Dept. Of Computer Science and Engineering,
Florida Atlantic University, April 1997.
[Fern99]
E.B.Fernandez and X.Yuan, "保留及实体使用的分析模式",
Procs. of Pattern Languages
of Programs Conf. (PloP’99),http://st-www.cs.uiuc.edu/~plop/plop99
[Fern00a]
E.B. Fernandez and X. Yuan, "语义分析模式",
Procs. of the 19th Int. Conf.
on Conceptual Modeling (ER2000), 183-195.
[Fern00b]
E. B. Fernandez, X. Yuan, and S. Brey, "产品订单和发运的分析模式",
Procs. of PLoP 2000.
[Fowl97]
M. Fowler, 分析模式
– 可重用的对象模型,
Addison- Wesley,1997.
[Hau97]
R. Haugen, “依赖性需求—供应和需求平衡的业务模式”,
Procs. of Pattern Languages
of Programs Conf., PloP97, http://st-www.cs.uiuc.edu/~plop/plop97/Workshops.html
[Hay96]
D.C.Hay, 数据模型模式—思考的常规,
Dorset House Publishing, New York, 1996.
[Hell97]
L. J. Hellenack, “面向对象的业务模式”,
Object Magazine, January
1997, pp. 23-30 and 70.
[John98]
R. Johnson and B. Woolf, "类型对象",
程序设计的模式语言3
中的第四章,
Addison-Wesley, 1998.
[Rie96]
D. Riehle, “组装设计模式”,
Procs. of OOPSLA’97, 218-228.
[Salv92]
G. Salvendy, 工业工程手册,
Wiley- Intersience Pubs. ,1992.