Professional Documents
Culture Documents
CSIT114-Week 5 - Understanding Users Domain Modelling - V1.1
CSIT114-Week 5 - Understanding Users Domain Modelling - V1.1
3
Agenda
4
Robustness Diagrams
• The basic idea is that you can analyze the steps of a use case
2)To ensure that the terminology is consistent with other use cases
that you have previously analyzed.
3) To ensure that your use cases are sufficiently robust to represent the
usage requirements for the system you're building.
5
Robustness Diagrams
6
Robustness Diagrams
• Control elements: are glue between boundary elements and entity elements,
implementing the logic required to manage the various elements and their
interactions.
• Entity elements: These are entity types that are typically found in a conceptual
model, such as Student and Seminar.
• Use cases (optional): Because use cases can invoke other use cases you need to be
able to depict this on your robustness diagrams
7
Robustness Diagrams
9
Robustness Diagrams
10
Robustness Diagrams
11
Robustness Diagrams
12
Robustness Diagrams - Example
Student Table
Use the Enrol in Seminar System Use Case and the Student Table to draw a
Robustness Diagram that depicts this case study.
13
Robustness Diagrams - Example
14
Robustness Diagrams - Case Study
Identifier: UC 1
Description:
This use case describes the events of a customer who wants to make online booking to rent a
car.
Preconditions:
The customer who would like to book a car for rental must be over 18 years old or older and has
a driving license.
Postconditions:
None.
15
Robustness Diagrams – Case Study
Basic Course of Action:
1. The use case begins when a customer indicates he/she wants to book a car from UI 1 - Home page screen.
2. The customer selects the booking option.
3. The system navigates the customer to UI 2 - Booking Screen.
4. The customer inputs his/her booking details to search for a suitable car via UI 2 - Booking Screen.
5. The system searches for matched cars. [Alternate Course A]
6. The system displays UI 3 Available Cars Screen, which indicates the list of available car types.
7. The customer views and then selects the car type that he/she is interested in. [Alternate Course B].
8. The system validates if the customer age is 18 years old or older and has a driving license. [Alternate Course
C]
9. The system displays the price of the car for the person via UI 4 Display Car Price Screen.
10. The customer confirms he/she wants to book the car via UI 4 Display Car Price Screen. [Alternate Course D]
11. The system navigates the customer to UI 5 Customer Personal Details.
12. The customer inputs his personal details.
13. The system stores the customer’s details and the reservation details.
14. The system displays UI 6 Payment Screen.
15. The customer inputs his/her credit card details.
16. The system verifies the customer credit card via external system.
17. The system bills the customer for his/her booking. [Error]
18. The system informs the customer that he/she booked the car via UI 7 Thank You Screen.
19. The use case ends.
16
Robustness Diagrams - Case Study
Alternate Course D: The customer decides not to proceed with the booking.
D10. The customer views the price of the car and he/she decides not to book the car.
D11. The use case ends.
17
Robustness Diagrams - Case Study
18
Robustness Diagrams - Case Study
Alternate A
Alternate A
Alternate C
21
Robustness Diagrams - Case Study
Alternate A
Alternate C
Alternate E
Preconditions:
1. The customer has a valid user account with the E-Scooter
rental service with money account balance.
2. The customer has the E-Scooter rental application installed
on their mobile device.
23
Robustness Diagrams - Class Activity
Postconditions:
1. The E-Scooter is locked and parked securely.
2. The E-Scooter rental application updates the availability
of the E-Scooter for other potential renters.
3. The E-Scooter is available for the next customer to rent.
24
Robustness Diagrams - Class Activity
1. The customer clicks on the E-Scooter rental icon of the application on their mobile device
via UI 1 - Mobile Application Icon.
5. The E-Scooter application displays a map with the locations of available E-Scooters in
Dubai via UI 3 - E-scooter Map.
6. The customer selects an available E-Scooter on the map to view more details, such as the
scooter's current battery status and estimated distance to their location.
7. The E-Scooter Application displays more details about the scooter on UI 4 E-Scooter
details Screen.
25
Robustness Diagrams - Class Activity
8. The customer decides to rent the selected E-Scooter and taps the "Rent“
button.
9. The application prompts the customer to confirm the rental, and displays
information about the cost per hour, the E-Scooter battery status, and location via UI
5 – Confirmation Rent.
10. The customer confirms the rental via UI 5 – Confirmation Rent. [ Alternate Course
A – The Customer Declined the rent]
11. The E-Scooter application processes and updates the rental request, reserves the
selected E-Scooter for the customer, and sends a confirmation to the customer along
with a digital unlock code or QR code on UI 6 – unlock code.
12. The customer arrives at the location of the E-Scooter, they enter the unlock code
or scan the QR code on the E-Scooter using the E-scooter unluck device via UI 7 – Lock
and unlock device screen.
26
Robustness Diagrams - Class Activity
14. The E-Scooter is unlocked, and the customer is now able to use it.
16. Once the customer has completed their ride, they park the E-Scooter in a designated
parking area and securely lock it using UI 7 – Lock and unlock device screen.
17. The E-Scooter application registers the end of the ride and deducts the ride from the
customer’s money account balance.
18. The application will send a message to the customer to display the rental summary,
including the total cost and distance travelled and the details will be displayed on UI 8 –
Rental summary screen.
27
Robustness Diagrams - Class Activity
28
Robustness Diagrams - Class Activity
29
Robustness Diagrams - Class Activity
30
Class Responsibility Collaborator (CRC) Cards
31
Class Responsibility Collaborator (CRC) Cards
32
Class Responsibility Collaborator (CRC) Cards
The layout of a
CRC card
33
Class Responsibility Collaborator (CRC) Cards
• The name of the class appears across the top of a CRC card and is
typically a singular noun or singular noun phrase, such as Student,
Professor, and Seminar.
34
Class Responsibility Collaborator (CRC) Cards
35
Class Responsibility Collaborator (CRC) Cards
36
Class Responsibility Collaborator (CRC) Cards
37
Class Responsibility Collaborator (CRC) Cards
1. Find classes.
2. Find responsibilities
3. Define collaborators.
4. Move the cards around.
38
Class Responsibility Collaborator (CRC) Cards
1. Find classes.
• Finding classes is fundamentally an analysis task because it deals
with identifying the building blocks for your application.
• A good rule of thumb is that you should look for the three-to-five
main classes right away, for example Student, Seminar,
and Professor.
2. Find responsibilities
3. Define collaborators.
• A class often does not have sufficient information to fulfill its responsibilities.
• Therefore, it must collaborate (work) with other classes to get the job done.
• To identify the collaborators of a class for each responsibility ask yourself “does
the class have the ability to fulfill this responsibility?”. If not then look for a class
that either has the ability to fulfill the missing functionality or the class which
should fulfill it.
• In doing so you’ll often discover the need for new responsibilities in other classes
and maybe even the need for a new class or two.
41
Class Responsibility Collaborator (CRC) Cards
• Two cards that collaborate with one another should be placed close together on
the table, whereas two cards that don’t collaborate should be placed far apart.
• Furthermore, the more two cards collaborate, the closer they should be on the
desk.
• By having cards that collaborate with one another close together, it’s easier to
understand the relationships between classes.
Note: You can apply the similar concept once you use software/tool to create the CRC
cards.
42
Class Responsibility Collaborator (CRC) Cards
2. When some one of the team needs to move a card or change, this action
encourage the discussions to happen between the team.
43
Class Responsibility Collaborator (CRC) Cards
44
Class Responsibility Collaborator (CRC) Cards
• Note: In the Transcript , and Student Schedule CRC cards, the statement “See
the Prototype” is used, because the Transcript and the Student Schedule have
many information, and for simplicity, this way is used.
• This just an example of using this simple way, but it is not always the case to
use this way in CRC cards.
45
Class Responsibility Collaborator - Class Activity
46
References
• Satzinger, J., Jackson, R. & Burd, S. (2016) Systems Analysis And Design In A
Changing World. 7th Edition, Boston, Mass. Cengage Learning.
• The Object Primer, 978-0521540186, Scott W. Ambler; Cambridge University Press,
3rd edition.
• Best Practices For WLI Application Lifecycle .
https://docs.oracle.com/cd/E13214_01/wli/docs92/bestpract/requirementsappen
dix.html
. Last Accessed 7 October 2023
47
THANK YOU
Any Question ?
48