This is a technique used in software development and systems engineering to describe the functional requirements of a system. It focuses on understanding and documenting how a system is supposed to work from the perspective of the end users. In essence, it helps answer the question: “What should the system do to meet the needs and goals of its users?”
Functional Requirements: Functional requirements are the features, actions, and behaviors a system must have to fulfill its intended purpose. Use case modeling is primarily concerned with defining and capturing these requirements in a structured manner.
End User’s Perspective: Use case modeling starts by looking at the system from the viewpoint of the people or entities (referred to as “actors”) who will interact with the system. It’s essential to understand how these actors will use the system to achieve their objectives or perform their tasks.
Interactions: Use case modeling emphasizes capturing the interactions between these end users (actors) and the system. It’s not just about what the system does in isolation; it’s about how it responds to user actions or requests.
What is a Use Case Diagram?
A use case diagram is a graphical representation used in use case modeling to visualize and communicate these interactions and relationships. In a use case diagram, you’ll typically see actors represented as stick figures, and the use cases (specific functionalities or features) as ovals or rectangles. Lines and arrows connect the actors to the use cases, showing how they interact.
The University Library System is facing a range of operational challenges that impact its efficiency and the quality of service it provides to students, faculty, and staff. These challenges include:
These challenges collectively contribute to a suboptimal library experience for both library staff and users. Addressing these issues and modernizing the University Library System is essential to provide efficient services, enhance user satisfaction, and improve the overall academic experience within the university community.
Here’s a list of candidate use cases for the University Library System based on the problem description provided:
These candidate use cases cover a wide range of functionalities that address the issues identified in the problem description. They serve as a foundation for further analysis, design, and development of the University Library System to enhance its efficiency and user satisfaction. The specific use cases to prioritize and implement will depend on the system’s requirements and stakeholders’ needs.
Use Case Template:
Here’s the use case template and example for borrowing a book from a university library in tabular format:
Use Case Name | Borrow a Book |
---|---|
Use Case ID | UC001 |
Primary Actor | Student |
Secondary Actors | Librarian, Book Inventory System |
Preconditions | – The student has a valid library card. |
– The book is available in the library’s inventory. | |
Postconditions | – The book is marked as checked out in the system. |
– The student has the book in their possession. | |
Main Flow | 1. Description: The student wants to borrow a |
book from the university library. | |
2. Actor’s Actions: | |
– The student presents their library card to | |
the librarian. | |
– The librarian scans the library card to | |
verify its validity. | |
– The student provides the title or ISBN of the | |
book they wish to borrow. | |
– The librarian searches the library catalog | |
for the book. | |
– The librarian confirms the book’s availability. | |
– The librarian checks out the book to the | |
student. | |
– The student takes the book and leaves the | |
library. | |
3. System’s Actions: | |
– The system validates the library card. | |
– The system updates the book’s status to | |
“checked out.” | |
– The system records the due date for the book | |
loan. | |
– The system generates a receipt for the | |
transaction. | |
4. Alternate Flows: | |
– If the student’s library card is invalid, the | |
librarian informs the student, and the use | |
case terminates. | |
– If the requested book is not available, the | |
librarian informs the student, and the use | |
case terminates. | |
Extensions | – If the student has overdue books, a notification |
is sent to the student. | |
– If the student wants to renew the book, they can | |
request a renewal through the library website. | |
Special Requirements | – The system should have a secure database of |
library cardholders. | |
– Due dates and late fees should be calculated and | |
enforced by the system. |
Example Use Case: Borrowing a Book from University Library
Use Case Name | Borrow a Book |
---|---|
Use Case ID | UC001 |
Primary Actor | Student |
Secondary Actors | Librarian, Book Inventory System |
Preconditions | – The student has a valid library card. |
– The book is available in the library’s inventory. | |
Postconditions | – The book is marked as checked out in the system. |
– The student has the book in their possession. | |
Main Flow | 1. Description: The student wants to borrow a |
book from the university library. | |
2. Actor’s Actions: | |
– The student presents their library card to | |
the librarian. | |
– The librarian scans the library card to | |
verify its validity. | |
– The student provides the title or ISBN of the | |
book they wish to borrow. | |
– The librarian searches the library catalog | |
for the book. | |
– The librarian confirms the book’s availability. | |
– The librarian checks out the book to the | |
student. | |
– The student takes the book and leaves the | |
library. | |
3. System’s Actions: | |
– The system validates the library card. | |
– The system updates the book’s status to | |
“checked out.” | |
– The system records the due date for the book | |
loan. | |
– The system generates a receipt for the | |
transaction. | |
4. Alternate Flows: | |
– If the student’s library card is invalid, the | |
librarian informs the student, and the use | |
case terminates. | |
– If the requested book is not available, the | |
librarian informs the student, and the use | |
case terminates. | |
Extensions | – If the student has overdue books, a notification |
is sent to the student. | |
– If the student wants to renew the book, they can | |
request a renewal through the library website. | |
Special Requirements | – The system should have a secure database of |
library cardholders. | |
– Due dates and late fees should be calculated and | |
enforced by the system. |
These tables above presents the use case template and example in a structured and organized way, making it easier to read and understand the key elements of the use case.
Use Case Granularity Definition: Use case granularity refers to the degree of detail and organization within use case specifications. It essentially describes how finely you break down the functionality of a system when documenting use cases. In simpler terms, it’s about how much or how little you decompose a use case into smaller parts or steps.
Importance of Use Case Granularity:
Example: Let’s illustrate use case granularity with an example related to a “User Registration” functionality in an e-commerce application:
The appropriate level of granularity depends on project requirements and the specific needs of stakeholders. Finding the right balance is essential to ensure that use cases are understandable, manageable, and effective in conveying system functionality to all involved parties.
In his book ‘Writing Effective Use Cases,’ Alastair Cockburn provides a simple analogy to help us visualize various levels of goal attainment. He suggests thinking about these levels using the analogy of the sea