0% found this document useful (0 votes)
9 views2 pages

Use Case Diagram Guide for Grading System

The document discusses include and extend relationships in use case diagrams. It provides examples of when to use include vs extend relationships and provides steps for creating a use case diagram. It also includes two exercises asking the reader to draw use case diagrams based on given scenarios.

Uploaded by

Hasitha Sanjaya
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views2 pages

Use Case Diagram Guide for Grading System

The document discusses include and extend relationships in use case diagrams. It provides examples of when to use include vs extend relationships and provides steps for creating a use case diagram. It also includes two exercises asking the reader to draw use case diagrams based on given scenarios.

Uploaded by

Hasitha Sanjaya
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Unified Modelling Language

Include relationship

Record <<include>>
grades

Save
grades
Update
grades <<include>>
teacher

Whenever a teacher updates or records a data, the information related to grade will be saved.

Extend Relationship

Record <<include>>
grades <<extend>>
Save Notify
grades parents

Update <<include>>
grades

In some cases, parents are notified. So, it is extended, but if always parents are notified it is
including.

Step by step

1. Identify actors of your system


2. Identify the use cases of your system
3. Identify the generalization in each use case
Tip:
Whenever you can say that “Item A is a type of B”. You have found a generalization.
4. Identify the include relationship in each use case.
Tip:
Remember that include relationship are identified when one-use case always uses another
use case
5. Identify extend relationship in each use case.
Tip:
Remember that extend relationships are identified when use case may use another use case
6. Create a use case diagram for each use case with the actors, use case, generalizations,
include relationships and extend relationship that you have identified.
Exercise 1

Draw the use diagram for the following scenario of grading system.

• A teacher can record grades. Recording grades includes saving grades.


• A teacher can update grades, updating grades includes loading and saving grades
• A teacher and administrator and a student can view grades which includes logging
• An administrator can generate report cards
• A teacher can distribute report cards.

Exercise 2

Draw the use case diagram for the following

• The system will allow the administrator to run inventory reports by loading inventory data
from disk.
• The administrator can update the inventory by loading and saving the inventory data to and
from the disk.
• A salesclerk records walk in sales.
• A telephone operator is a special type of salesclerk who handles phone orders.
• Any kind of sales can update the inventory.
• A sale may need to verify a credit card if the purchase is a credit card purchase.
• A sale may need to verify a cheque if the purchase is a cheque purchase.

Common questions

Powered by AI

Having the capability for a teacher to both record and update grades within the same system is beneficial for ensuring data consistency, accuracy, and system usability. It allows for seamless corrections and updates, accommodating dynamic classroom environments where grades may need revising. This dual functionality affects system design by necessitating robust data management processes and access controls to ensure updates do not compromise data integrity. Furthermore, such features enhance user convenience and system efficiency, as seen in the UML model for the grading system, where saving is consistently linked to both recording and updating actions .

'Extend' relationships in UML are used to represent optional functionalities that may not occur every time a use case is executed. In the inventory management system example, verifying a credit card or cheque for sales is described using 'extend' relationships because these actions are conditional—only executed when the sale is made through a credit card or cheque, respectively. This allows flexibility in modeling since it indicates that these steps are not required for every transaction, only when certain conditions (type of payment) arise, thereby providing a more nuanced view of system functionality .

Identifying actors in a use case system is crucial because it establishes who or what interacts with the system, shaping the functional requirements. Each actor represents a role that interacts with the system, prompting specific use cases. This understanding helps ensure that all user needs are captured, facilitating a system design that meets real-world interaction demands. In the grading system, roles like teacher, administrator, and student delineate different interaction paths and system functionalities, ensuring comprehensive modeling of the system environment .

In the scenario, a 'telephone operator' is a specialized role under 'salesclerk' who handles phone orders. This is reflected in use case modeling through a generalization hierarchy where the 'telephone operator' inherits actions typical of a 'salesclerk' but with additional use cases specific to telephone sales, such as possibly dealing with specific inquiries or customer follow-ups. This specialization ensures that the model captures unique interactions and responsibilities without redundancy, showcasing how differentiated tasks fit into a broader framework while maintaining specificity for specialized roles .

The steps suggested for creating a use case diagram are: 1) Identify actors of the system to understand who interacts with the system; 2) Identify the use cases that describe the system’s functionalities; 3) Identify generalizations to recognize shared behaviors among use cases or actors, signifying a hierarchical relationship; 4) Recognize 'include' relationships for mandatory interactions; 5) Identify 'extend' relationships to capture optional or conditional functionalities; 6) Draw the use case diagram incorporating actors, use cases, generalizations, include, and extend relationships to visualize the system interactions clearly. Each step is critical for ensuring that the model accurately represents all functional and non-functional requirements, promoting better understanding and communication among stakeholders .

In UML, generalization is used to depict inheritance relationships between use cases or actors, where a more specific use case or actor inherits the properties of a more general one. In the grading system, identifying generalizations helps signify that a particular function is a specialized form of a broader function. For example, 'distributing report cards' might be considered a generalization of 'viewing grades,' where viewing is a part of the broader task of distribution. This approach clarifies hierarchical relationships and shared behaviors, simplifying the use case model .

In Unified Modeling Language (UML), 'include' relationships represent mandatory functionality that occurs every time the primary use case is executed. For example, whenever a teacher records or updates a grade, the action of saving that grade is included because it happens every time the primary use case occurs . 'Extend' relationships, on the other hand, identify optional functionality that may occur under certain conditions. For example, notifying parents is an extended action because it only happens in some cases when specific conditions are met .

Drawing use case diagrams can identify potential areas for improvement by visually depicting how different actors interact with the system and where processes might be streamlined or expanded. This clear overview allows stakeholders to pinpoint inefficiencies or unnecessary complexities. For example, if a grading system diagram shows redundant data entry points, this might suggest an opportunity for automated data integration, reducing workload and error. It also enables exploration of extending current functionalities—the visualization of optional extend actions can lead to discussions on enhancing consistency and utility across use cases .

Recognizing 'include' relationships when modeling a use case ensures comprehensive documentation by clearly specifying which actions are mandatory and inherent to certain processes. This facilitates a complete representation of the system's functional requirements, helping developers and stakeholders understand precisely what each use case must achieve. In the grading system, for instance, understanding that saving grades is included whenever grades are recorded or updated makes it clear that these actions cannot occur without the mandatory inclusion of saving, thereby detailing essential processes .

In the grading system, including 'logging' as an 'include' relationship when viewing grades is significant because it represents a necessary action that remains consistent across these tasks. Logging might be used for security purposes, allowing the system to track who accessed the grades and when, thus maintaining records and complying with any audit or administrative requirements. As this action occurs every time a teacher or administrator views grades, it is classified under 'include' due to its mandatory occurrence, ensuring proper system operation and data integrity .

You might also like