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.