An Architecture of Supply Chain Management Systems

advertisement
AN ARCHITECTURE AND AN OBJECT-ORIENTED MODEL OF
SUPPLY CHAIN MANAGEMENT SYSTEMS
Bao-Yi Tuang 1) and Woo-Tsong Lin 2)
1)
2)
National Chengchi University (tby@ccca.nctu.edu.tw)
National Chengchi University (lin@mis.nccu.edu.tw)
Abstract
Supply chain management (SCM) is the integration of business processes from end consumers
through original suppliers that provides product, services and information. By this definition, we
know that SCM is a series of management processes across firms forming a supply chain network.
Cooper et al. [1] stated that those processes are customer relationship management, customer
service management, demand management, order fulfillment, manufacturing flows management,
procurement, product development and commercialization.
In this paper we propose an architecture and an object-oriented (OO) model of SCM systems.
This architecture contains three main components. The first one is “System Portal”, which is an
interface between users and the system objects. The second one named “Object Repository”, which
is used to store objects of the SCM system, makes the development, management and usage of these
objects easier. The third one is “Database”, which is a universal database to store all data of the
SCM system. Then, an OO Model is developed based on this proposed architecture. This OO model
is graphically depicted using Unified Modeling Language (UML).
We believe that the proposed architecture and OO model in this paper can be used as a
reference architecture and a reference model to help system developers to easily build their-owned
SCM systems.
1.
Introduction
Supply chain management (SCM) is the integration of business processes from end consumers through
original suppliers that provides product, services and information. By this definition, we know that SCM is a
series of management processes across firms forming a supply chain network.
In this paper, at first we will describe what supply chain management is, including definition, characteristics
1
and architecture of supply chain management. Then, we will introduce object-oriented software engineering and
web services. In this part, the UML notations, UDDI and SOAP will be introduced.
At last, we propose a component architecture of SCM systems, and then an OO Model is developed based
on this proposed architecture. This OO model is graphically depicted using UML. We believe that the proposed
architecture and OO model in this paper can be used as a reference architecture and a reference model to help
system developers to easily build their-owned SCM systems.
2.
Supply Chain Management
2.1 Definition of Supply Chain Management
A supply chain is a network of facilities that procures raw materials, transforms them into intermediate
subassemblies and final products and then delivers the products to costumers through a distribution system [2].
According to the definition of supply chain management proposed by The International Center for
Competitive Excellence in 1994: Supply chain management is the integration of business processes from end user
through original suppliers that provides products, services and information that add value for customers [3]. By
this definition, we know that supply chain management is a serial management process across firms among the
supply chain network. This network begins from material suppliers to product manufacture that is provided to
end-user. And supply chain network contains three flows through the network, which are information flow, mater
flow and cash flow. The three flows to make the members among the network to exchange information, cash and
material with each other.
2.2 Characteristic of Supply Chain Management
The most challenge of supply chain management is how to maintain a visible level of warehousing. In order
to minimize the uncertainty among the supply chain, members in supply chain network would like to see
information what they want. However, this kind of uncertainty will make firms to use safer amount of
warehousing or other not ideal management method. For example, purchasing earlier. Using this point helps to
compare the difference between traditional logistics management and modern enterprise-oriented supply chain
management [4]. The difference between traditional logistics management and modern supply chain management
is shown as Table 1.
2
Effect
Traditional logistics
factors
management
Warehousing
Enterprise oriented
Management
Flow
of
Interrupted (base on unit of enterprise)
warehousing
Cost
Minimize in single enterprise
Information
Controlled in enterprise
Risk
Enterprise oriented
Planning
Enterprise oriented
Relationship
among
cross Enterprise focus on low lost
organizations
Supply cha in
management
Coordinate among supply chain
Seamless/Visible
Base on end cost of product
Shared by all members in supply chain
Share
All members in supply chain
Companion relationship focus on end
cost
Table 1
2.3 Framework of Supply Chain Management
The SCM framework as Figure 1 consists of three major and closely related elements: business processes,
management components, and the structure of the supply chain. Business processes are the activities that produce
a specific output of value to the customer. The management components are the components by which the
business processes are structured and managed. The supply chain structure is the configuration of companies
within the supply chain [1] .
Supply Chain
Business
Processes
Supply Chain
Management
Components
2) What processes should
be linked with each of
these key supply chain
members.
Spply Chain
Network Structure
3) What level of integration
and management should be
applied for each process
link?
1) Who are the key supply
chain members with whom
to link processes?
Figure 1
By this framework, we could view what is included in the supply chain management, the supply chain
business processes is processes through the supply chain, this enables three flows, material flow, cash flow, and
material flow, could be active, visible through the supply chain. Supply chain structure could view the members
and relationships among the supply chain network.
3
3.
Object-Oriented Software Engineering and Web Services
3.1 Object-oriented development life cycle
The object-oriented development life cycle, depicted in Figure 2, consists of progress developing an object
representation through three phases-analysis, design, and implementation. In the early stage of development, the
model is abstract, focusing on external qualities of the application system. As the model evolves, which becomes
more and more detailed, shifting the focus to how the system will be built and how it should function-system
architecture, data structures, and algorithms. Ultimately, the system developer must generate code and database
access routines. The emphasis in modeling should be on analysis and design, focusing on front-end conceptual
issues, rather than back-end implementation issues [5] .
Figure 2
3.2 Unified Modeling Language (UML)
The Unified Modeling Language (UML) is “a language for specifying, visualizing, and constructing the
artifacts of software systems, as well as for business modeling” [6]. The UML notation is useful for graphically
depicting object-oriented analysis and design models. It not only allows you to specify the requirements of a
system and capture the design decisions, but it also promotes communication among key persons involved in the
development effort.
In analysis model, we would use four types of notations-use-case diagram, class diagram, state diagram, and
sequence diagram. The first two diagrams is static diagram to describe the system architecture, and the last two
diagrams is dynamic diagram to describe the dynamic behavior of the objects.
1)
Use-Case: Jacobson et al. [7] pioneered the application of use-case modeling for analyzing the
4
functional requirements of a system. Because it focuses on what an existing system does or a new
system should do, as opposed to how the system delivers or should deliver those functions, a
use-case model is developed in the analysis phase of the object-oriented system development life
cycle.
2)
Class Diagram: A class diagram shows the static structure of an object-oriented model: the object
classes, their internal structure, and the relationships in which they participate.
3)
State Diagram: State transitions are shown using state diagrams. A state diagram depicts the various
state transitions or changes an object can experience during its lifetime, along with the events that
cause those transitions.
4)
Sequence Diagram: A sequence diagram depicts the interactions among objects during a certain
period of time. Because the pattern of interactions varies from one use case to another, each
sequence diagram shows only the interactions pertinent to a specific use case.
3.3 Web Services
Web Services are self-contained, modular applications that can be described, published, located and invoked
over a network, generally, the Web.
The Web Services architecture is the logical evolution of the object-oriented analysis and design, and the
logical evolution of the components geared toward the architecture, design, implementation and deployment of
e-business solutions. Both approaches have been proven in dealing with the complexity of large systems. As in
object-oriented systems, some of the fundamental concepts in Web Services are encapsulation, message passing,
dynamic binding and service description and querying. Fundamental to Web Services, then, is the notion that
everything is a service, publishing an API for use by other services on the network and encapsulating
implementation details [8] .
The Figure 3 is the Web Services protocol stack.
Interop
Stack
Universal Service Interop Protocols
(these layers are not defined yet)
Universal Description, Discovery Integration (UDDI)
Simple Object Access Protocol (SOAP)
Extensible Markup Language (XML)
Common Internet Protocols (HTTP, TCP/IP)
5
Figure 3
(1) UDDI
The Universal Description, Discovery and Integration (UDDI) specifications define a way to publish and
discover information about Web Services. UDDI includes the shared operation of a business registry on the Web.
For the most part, programs and programmers use the UDDI Business Registry to locate information about
services and, in the case of programmers, to prepare systems that are compatible with advertised Web Services or
to describe their own Web Services for others to call. The UDDI Business Registry can be used at a business level
to check whether a given partner has particular Web Service interfaces, to find companies in a given industry with
a given type of service, and to locate information about how a partner or intended partner has exposed a Web
Service in order to learn the technical details required to interact with that service [9] .
(2) SOAP
SOAP provides a simple and lightweight mechanism for exchanging structured and typed information
between peers in decentralized, distributed environment using XML. SOAP does not itself define any application
semantics such as a programming model or implementation specific semantics; rather it defines a simple
mechanism for expressing application semantics by providing a modular packaging model and encoding
mechanisms for encoding data within modules. This allows SOAP to be used in a large variety of systems ranging
from messaging systems to RPC [10] .
4.
The System Architecture of SCM Systems
According to the discussion of supply chain system components and system requirements, we propose an
simple architecture as Figure 4.
This architecture consists of three components. They are system portal, object repository, and database.
Firm C
Firm B
Firm C
Firm A
SCM System Portal
(System Interface, Object Request Broker)
Extranet
SCM Object Repository
Database
6
Extranet
Figure 4
1)
SCM System Portal: This interface between supply chain management system and
environment. It has two main functions. First, the function receiving and retrieving external
data sources, and making system to process and deal with the data in right way. Second,
providing data or information for other system or system users.
2)
SCM Object Repository: This is the primary part of the SCM system. All processes are stored
in this repository, and logically designed in object-oriented architecture.
3)
Database: This component provides the functionality of storage of various data format.
Including the supply chain network member data, product, and production information, etc.
5.
Components Design of SCM Systems
According to the above description, and discussion of supply chain management process. This study
combines the management processes and basic system architecture. Further, this study processes the abstract
supply chain manage system architecture and components as Figure 5.
SCM System Portal
Object Request Broker
SCM System Managment Components
Executing System
Planning
System
Advanced
Planning and
Scheduling
Extranets
Order
Management
System
Manufacturing
Execute System
Transportation
Management
System
Warehouse
Management
System
Common Components
Database
Management
Component
Data Concurrency
Supply Chain
Member
Management
Security Control
Database System
Figure 5
7
Extranet
Base on the previous section, and the discussion about SCM system required components, the analysis
model about components is as Figure 6.
<<layer>>
Portal
order
(from Portal)
bom
(from Portal)
wip
(from Portal)
production
(from Portal)
capacity
(from Portal)
warehouse
(from Portal)
catalog
(from Portal)
<<layer>>
SCM Components
capacity
(from SCM Components)
order
(from SCM Components)
warehouse
(from SCM Components)
bom
(from SCM Components)
catalog
(from SCM Components)
production
(from SCM Components)
wip
(from SCM Components)
<<layer>>
Common Components
auth
(from Common Components)
member
(from Common Components)
db
(from Common Components)
Figure 6
The system is consists of three main components: “Portal, SCM Components, Common Components”. (1)
Components in Portal provide the interface to be accessed by other system or users, are implemented by SOAP, so
they have SOAP characteristics, and could be called by external system and are also beyond the platform. (2)
SCM Components provide the supply chain management core business process and basic entity, and are
implemented by J2EE components, so they have J2EE characteristics, such as load balance, transaction, and
object pool. It could be called by Portal components to provide the scm business process. (3) Common
Components provide basic functionality to be used by SCM components, these functions contains the database
access function, the authentication about the supply chain members.
8
6.
Object Modeling of of SCM Systems
From now on, we start to use the use cases to analyze the supply chain management system. By using the
use cases, we could get the system operate situations. Therefore we could analyze the system to design the classes
and the interaction between the classes. In this paper, six main use cases used to analyze the system, and these use
cases are: “bill of material (bom), capacity, order, production, warehouse and work in process (wip).
In the use case modeling, five actors interact with the system, “Customer, Production Engineer, Product
Engineer, Tracking System, and Material Supplier”. The Figure 7 is to show their responsibility and how to
interact with the components in the SCM system.
Production Engineer
Customer
(from Actors)
(from Actors)
Product Engineer
(from Actors)
capacity
(from Use Cases)
order
(from Use Cases)
production
(from Use Cases)
wip
(from Use Cases)
bom
(from Use Cases)
warehouse
(from Use Cases)
Material Supplier
Tracking System
(from Actors)
(from Actors)
Figure 7
1) Customer: Customer is the client who makes the requirement for the manufacturer. So customer will
interact with order directly. By the way, customer needs to know how the capacity of the manufacturer in
the future. This information is for them to make decision to make order.
2) Material Supplier:This actor is responsible to provide the source materials which are customer needed to
use for manufacturing. Therefore, Material Supplier has to monitor materials inventory level to decide
when to replenish materials.
3) Tracking System:This is a system used to do the shop floor control functionality. It must monitor the Lot
status (which stage the lot flowed in) and collects these lots status as the WIP status.
4) Production Engineer:This actor has to maintain the production detail of a product. The production detail
is the production flow of a product in the factory.
5) Product Engineer:Product Engineer holds a responsible position about the “Bill of Materials”. Product
9
Engineer maintains the materials needed to be used when manufacturing in the factory, and set
relationship with the product. This could let to know the materials required when manufacturing.
6.1 BOM
Bill of material provides the functionality to maintain the table contains information about required
materials. And the relationship between materials, the relationship is the “contains” relationship, such as the IC
contains the silicon.
(1) Use Case
The product engineer uses the BOM management interface to set the required materials and the
relationship between these materials. And then set the materials to the product.
(2) Class Diagram (see Figure 8)
The classes in BOM contains the materials and material manager, the material manager is the
control object to be called by portal object to access the material object.
1
-aggregateMaterial
0..n
Material Creator
MaterialManager
Material
(from bom)
Material Query
(from bom)
Figure 8
(3) Scenario
a. Scenario1:Add Material
Add the material to BOM table, and set the mapping between the materials as the relationship (see Figure
9).
10
: Product Engineer
: MaterialManager
: Material Creator
: Material
1: add material
2: create a material
3: create
4: set material info
5: set material relationship
Figure 9
b. Scenario2: Set Material to Product
Set the required materials to the product (see Figure 10).
: Production Engineer
: Catalog Query
: Material Query
1: get product
2: *get Material
3: *add material
Figure 10
11
: Product
6.2 Order
Customer uses order functionality to query the order status, and make new order. The SCM system will
automatically update the order status by shop floor control.
(1) Use Case
Customer can query the order status by order management interface. If a customer has a new order to make,
he just use the make new order interface to make a new order. When making a new order, one new order is consist
of multiple order line. Every order line contains one product, to be produced, deadline, and item count.
After making new order, system will dispatch the new order to production lot by deadline, produce life cycle,
and the current wip status.
(2) Class Diagram (see Figure 11)
The classes in Order contain order, order line, and order management. And associate with product. Order
and order line are the entity classes, and the order management is the control class to manage the order and order
line. Order creator and order query are the interface between SCM system and external system. The class diagram
is as the following drawing.
-customer
OrderQuery
1
(from order)
1
Order
OrderManager
-order
Customer
1
(from member)
-orderline
1..n
-product
OrderCreator
-orderline
(from order)
1 OrderLine
1
1
Product
(from catalog)
-lot
1..n
Lot
(from wip)
Figure 11
12
(3) Scenario
a. Scenario1:Query Order Status by OrderID
Customer can check the order status made before by using order management interface (see Figure 12).
: Customer
: OrderManager
: OrderQuery
: Order
1: Get Order by OrderID
2: Get Order by OrderID
3: Get Order
4: Get Order Status
Figure 12
b. Scenario2:Make New Order
Customer makes new order by making new order interface. And one new order contains multiple order line;
every order line contains product, deadline, and item count (see Figure 13).
: Customer
: OrderManager
: OrderCreator
: Order
: OrderLine
1: Create Order
2: Add Order
3: Create One Order
4: Set Product
5: Set DeadLine
Figure 13
c.
Scenario3:Dispatch Order to Production Lot
SCM system will dispatch the new order to production lot by deadline, produce life cycle, and the current
wip status (see Figure 14).
13
: LotDispatcher
: OrderManager
: CapacityManager
: Order
: LotManager
: Lot
1: Get Orders which doesn't transfer to lot
2: creat lot info by order
3: Get DeadLine
4: Get Product
5: Get Capacity by Product
Here Will determine
when will this lot be
started
6: create lot
7: create
8: set start time
Figure 14
6.3 Production
Production Engineer can use the production functionality to maintain the production process. The
Production uses stage and recipe to represent the production process. The production process can provide the shop
floor control to maintain the wip status.
(1) Use Case
Production engineer is responsible to maintain the production process and the contents about the production
process. So production engineer can query and modify the production process. The production process consists of
stages, and a stage consists of recipes.
(2) Class Diagram (see Figure 15)
Because of the production consists of stages and a stage consists of recipes, we make three entity classes,
“production, stage, and recipe”, are managed by Production Manager. The portal interface are Production Creator,
and Production Query.
14
ProductionCreator
Production
ProductionManager
1
(from production)
-stage
1..n
1..n
1
-recipe
ProductionQuery
(from production)
Recipe
Stage
Figure 15
(3) Scenario
a. Scenario1:Create a Stage
The production engineer creates a new stage, and also adds the recipes to the new stage (see Figure 16).
: Production Engineer
: ProductionCreator
: ProductionManager
1: Create A Stage
2: create a stage
3: create
4: *get recipe
5: *add recipe
Figure 16
15
: Stage
b. Scenario2:Create a Production Process
Create a new production process, and add the required stages to the process in the order (see Figure 17).
: Production Engineer
: ProductionManager
: ProductionCreator
: Production
1: Create Production
2: Create Production
3: create
4: *get Stage
5: *Add Stage
Figure 17
c.
Scenario3:Query Production Detail by Product
Query the production detail by one product number, and the production detail contains the stages and recipes
in order (see Figure 18).
: Production Engineer
: ProductionManager
: ProductionQuery
1: Get Production Detail by Product
2: Get Production By Product
3: Get Production
4: *Get Stages
5: *Get Recipe
6: *Get Recipe Info
Figure 18
16
: Production
: Stage
: Recipe
6.4 Warehouse
Warehouse management is used to maintain the material inventory status. Material supplier can use the
warehouse management component to query the inventory status to decide if deliver new materials to the
company.
(1) Use Case
Material supplier can query the inventory status by inventory management interface. The query method can
be supplier or material.
(2) Class Diagram (see Figure 19)
The class diagram contains one entity class “inventory”, and one inventory has a material to indicate the
inventory material. And the material can be also traced to find the supplier. So by the relationship, material
supplier can use “warehouse status query” portal interface to query the inventory status by material or supplier.
Calendar
(from util)
1
1
1
Warehouse Status Query
Inventory
InventoryManager
(from warehouse)
1..n
1
-supplier
1..n
Material
(from bom)
Supplier
(from member)
(3) Scenario
Figure 19
a. Scenario1:Get material inventory by material
The material supplier gets the inventory status by one material and date (see Figure 20).
17
: Material Supplier
: Warehouse Status Query
: InventoryManager
: Inventory
1: Get Material Inventory By Material and Date
2: Get Material Inventory by Material and Date
3: Get Inventory
4: Get Inventory Status
Figure 20
6.5 Work In Process (WIP)
WIP represents the product manufacturing status in the factory. The WIP status can be used to trace the order
status. Besides, the WIP status could be used to trace the capacity the predict the future status, and also influence
the future start manufacture product schedule.
(1) Use Case
Tracking system will record the in-produced product status when passing one stage and recipe. At this time,
tracking system will also subtract the inventory status of the required material.
Customer can monitor the manufacture status of orders by management console. The management console
can monitor by order number or lot number.
(2) Class Diagram (see Figure 21)
The WIP management contains one entity class “lot”, which maintains the manufacture status by production
process. Lot Tracker and Lot Status Query are the classes in the portal layer, they use lot manager to query or
track the lot status.
18
-production
1
Lot Tracker
(from wip)
1
Product
Production
(from catalog)
(from production)
Lot
LotManager
LotStatusQuery
LotDispatcher
(from wip)
Order
(from order)
Figure 21
(3) Scenario
a. Tracking Lot Status of WIP
Tracking system modifies the lot status when passing one stage and recipe to record the manufacturing status
(see Figure 22).
: Tracking System
: Lot Tracker
: LotManager
: Lot
1: Set Lot Status of WIP
2: Get Lot By LotID
3: Set Production Status
4: Return Update Status
Figure 22
6.6 Capacity
Capacity management is responsible to manage the production capacity. The information about capacity is
provided for customer to determine if making new order in the future. The capacity status is planed by production
plan engineer and influenced by WIP status.
(1) Use Case
Customer can get the different product current and future capacity status by capacity management to make
decision about making new order. The capacity data is planned by production plan, and the current and future
19
capacity status will be influence by future WIP status.
(2) Class Diagram (see Figure 23)
The capacity entity class has characteristics about product and date. Because customer would like to get the
capacity status by product and date, capacity manager can query the capacity by these two parameters. Capacity
Query is the portal class.
Calendar
(from util)
-calendar
1
1
1
CapacityQuery
0..n Capacity
CapacityManager
(from capacity)
-category
1
1
Category
(from catalog)
CapacityCollector
Lot
(from wip)
(3) Scenario
Figure 23
a. Scenario1:Get Capacity Status by Product and Date
Customer queries the capacity status by product and date to make decision if making new order (see Figure
24).
: Customer
: CapacityQuery
: CapacityManager
: Capacity
1: get capacity by product
2: get capacity by product and date
3: get capacity info
Figure 24
7.
Summary
In this paper, we propose an architecture and an OO model of supply chain management systems. Through
this architecture we could view relationships of components of supply chain management systems. This
20
architecture gets the whole functionality of supply chain management, and the basic concept of this architecture
hopes to make the system flexible enough to connect with other system and to transform data automatically. At the
same time, we have the object model of the SCM system, and we can view more details about the SCM system
including the dynamic interaction view and the static classes relationship view.
We believe that the proposed architecture and OO model in this paper can be used as a reference architecture
and a reference model to help system developers to easily build their-owned SCM systems.
Reference
1)
Cooper, M. C., Lambert, D. M. & Pagh, J. D., “Supply Chain Management: More Than a New Name for
Logistics,” The International Journal of Logistics Management, 8(1), 1997, 1-13.
2)
The International Center for Competitive Excellence, University of North Florida, D. M. Lambert,
co-coordinator, 1994.
3)
Ellram, L. M. & Cooper, M. C. “Characteristics of Supply Chain Management and the Implications for
Purchasing and Logistics Strategy,” International journal of Logistics Management, 4(2), 1993, 1-10.
4)
Billington, C., “Strategic Supply Chain Management,” OR/MS Today, April 1994, 20-27.
5)
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. & Lorensen, W., Object-Oriented Modeling and Design,
Englewood Cliffs, Prentice-Hall Inc., 1991.
6)
UML Document Set, Version 1.0, Santa Clara, Rational Software Corp., January 1997.
7)
Jacobson, I., Christerson, M., Jonsson, P. & Overgaard, G., Object-Oriented Software Engineering: A
User-Case Driven Approach, Addison Wesley Longman, 1992.
8)
IBM Web Services Architecture Team, Web Services Toolkit Overview, International Business Machines
Corporation, 2000.
9)
UDDI Technical White Paper, Ariba, Inc., International Business Machines Corporation & Microsoft
Corporation, 2000.
10)
Simple Object Access Protocol (SOAP) 1.1, DevelopMentor, International Business Machines Corporation,
Microsoft Corporation, Lotus Development Corporation & UserLand Software Corporation, 2000.
21
Download