Analysis of the Supply Chain Management (SCM) System UC Model

 

This case study discusses the use case model of a Supply Chain Management (SCM) application developed for a Retailer, offering consumer electronic goods. The application manages the stock in the warehouse and fulfills orders. If an item’s stock falls below a specific threshold, the Retailer requests the Manufacturer to produce the corresponding products in order to replenish the stock. All activities performed are logged for documentation purposes.


The SCM use case model comprises of three subsystems. Firstly, The Retailer System sells electronic products to the general public. Secondly, The Manufacturing Systems is responsible for manufacturing the electronic products as required by the Retailer System. Finally, the Demo System is used for the purposes of setting up a demo application to test the system. The following is the original use case model (see Fig 5.4.1).

 

Fig. 5.4.1. The original SCM use case diagram.

 

Several antipatterns were matched upon performing the matching process. Table 16 below outlines the antipattern matches detected. Table 17 provides analysis for the antipattern matches and a description of any required countermeasures.

Table 16. First Iteration Matches:

Match No.

Antipattern Matched

Elements involved

1

System depicted as an actor

Actors: Retailer System

2

System depicted as an actor

Actors: Manufacturing System

3

System depicted as an actor

Actors: Demo System

4

Multiple actors initiating the same use case

Actors: Retailer System and  Manufacturing System

Use Cases: Log Events

5

Use case not associated with any other elements

Use Cases: Replenish Stock

6

Actor existing within system boundary

Actors: Retailer System

7

Actor existing within system boundary

Actors: Manufacturing System

8

Actor existing within system boundary

Actors: Demo System

9

Functional decomposition: Using the include relationship

Use Cases: Purchase Goods and Source Goods.

10

Functional decomposition: Using the include relationship

Use Cases: Supply Finished Goods and Manufacture Finished Goods

Table 17. First Iteration Analyses:

Antipattern Matches 1, 2 and 3:

 

Analysis:

The actors involved in these antipattern matches are representations of their respective systems. Systems should not be depicted as actors as this gives the impression that the system is actually an external entity. As a result of depicting the system as an actor, the actual name of the system is not displayed elsewhere.

 

Corrective Actions:

The actors are removed and the subsystems are labeled with their corresponding names. Associations that were linked with the removed actors are linked with the boundaries of the subsystems.

 

Antipattern Match 4:

 

Analysis:

The Log Events use case logs the activities stated by any web service system such as the Retailer System and Manufacturing System. Hence, both systems were found to have similar roles when performing the use case.

 

Corrective Actions:

The role that the actors play in correspondence to the three given use cases will be generalized into a separate actor (called Web Service System). The generalized actor is then associated with the Log Events use case.

 

Antipattern Match 5:

 

Analysis:

Upon reviewing the description of the Replenish Stock use case, it was found that the Manufacturing System is involved when performing that use case. The Replenish Stock use case initiates the interaction with the Manufacturing System in order to produce goods that are low in stock.

 

Corrective Actions:

An association relationship is created between the given use case and the Manufacturing System. The association relationship will be directed towards the Manufacturing System since the Replenish Stock use case always initiates the interaction.

 

Antipattern Match 6, 7 and 8:

 

Analysis:

These antipattern matches were no longer in existence after the corrective actions for antipatterns 1, 2 and 3 were undertaken.

 

Antipattern Match 9:

 

Analysis:

Upon reviewing the descriptions of the Purchase Goods and Source Goods use cases, it was discovered that the behavior described in the Source Goods use case is internal to the system and does not involve any interaction with the system’s environment. The Source Goods use case is also only beneficial to the Purchase Goods use case.

 

Corrective Actions:

The behavior of the Source Goods use case should be merged into the Purchase Goods use case since the real benefit to the actor in this case is the ability to purchase goods.

 

Antipattern Match 10:

 

Analysis:

Upon reviewing the descriptions of the Supply Finished Goods and Manufacture Finished Goods use cases, it was discovered that the behavior described in the Manufacture Finished Goods use case is internal to the system and does not involve any interaction with the system’s environment. The Manufacture Finished Goods use case is also only beneficial to the Supply Finished Goods use case.

 

Corrective Actions:

The behavior of the Manufacture Finished Goods use case should be merged into the Supply Finished Goods use case since the real benefit to the Retailer System in this case is to have the Manufacturing System supply the required goods.

 

 

The corrective actions undertaken from the first iteration resulted in the use case diagram shown below in Fig. 5.4.2. No further antipattern matches were detected in the new use case diagram.

 

Fig. 5.4.2. The new SCM use case model after undertaking all required corrective actions.