Use Case ‐ Book Management System ‐ Documentation and Diagram - Mauluk92/library-management-system-java GitHub Wiki

Use Case Diagram - Book Management System

use-case-book-management-system

1 Actor Documentation

Actor Thumbnail

Actor: A10-Administrator

Actor Type and Stereotype

This is the basic concrete direct and primary actor representing the user of the library management subsystem.

Actor Description

The A10-Administrator actor represents the librarian which interacts with the book, loan and user management subsystems.

Author

Author: Rossi Nicola

2 Use-Case Documentation UC10

Use-Case Thumbnail

Use-Case UC10-ManageBooks

Use-Case Description

This use case describe the abstract process of using the management subsystem for books.

Use-Case Stereotype and Package

<<Book>>

Preconditions

Depends on the concrete use-case

Postconditions

Depends on the concrete use-case

Actors

A10-Administrator

Basic Flow (Text)

  1. The administrator provide data to the CLI specifying the operation
  2. The CLI performs the operation
  3. Data is being returned to the administrator

Author

Rossi Nicola

3 Use-Case Documentation UC20

Use-Case Thumbnail

Use-Case UC20-FindBooks

Use-Case Description

This use case describe the concrete process of using the management subsystem for books to actually look for books according to the specified input data.

Use-Case Stereotype and Package

<<Book>>

Preconditions

No preconditions required to execute the process

Postconditions

No side effects so no postconditions either: no state is being altered being a read-only process

Actors

A10-Administrator

Basic Flow (Text)

  1. The administrator provide data to the CLI specifying the filter and the information to look for the book
  2. The CLI performs a fetch in the database to obtain books matching the given filter.
  3. A possibly empty list of books is being returned.

Author

Rossi Nicola

4 Use-Case Documentation UC30

Use-Case Thumbnail

Use-Case UC30-AddBooks

Use-Case Description

This use case describe the concrete process of adding a book to the system.

Use-Case Stereotype and Package

<<Book>>

Preconditions

No preconditions required

Postconditions

A new book is being persisted

Actors

A10-Administrator

Basic Flow (Text)

  1. The administrator provide data to the CLI specifying the book data to be added
  2. The CLI performs the operation, persisting the book(E1)
  3. Data of the book added is being returned.

Exceptions

E1 - The book is already present with the same address (Cutter Number) in the database. The operation cannot continue and system will prompt for new data.

Author

Rossi Nicola

5 Use-Case Documentation UC40

Use-Case Thumbnail

Use-Case UC40-RemoveBook

Use-Case Description

This use case describe the concrete process of removing a book from database

Use-Case Stereotype and Package

<<Book>>

Preconditions

The book being deleted must exist

Postconditions

The book is being removed

Actors

A10-Administrator

Basic Flow (Text)

  1. The administrator provide data to the CLI specifying address of the book to delete
  2. The CLI performs the operation of deleting the book from database (E1)
  3. Data of the book deleted is being returned.

Exceptions

E1 - If the book doesn't exist, the CLI will complain and ask again for information, outputting the input data provided

Author

Rossi Nicola

6 Use-Case Documentation UC-50

Use-Case Thumbnail

Use-Case UC50-UpdateBooks

Use-Case Description

This use case describe the concrete process of updating the data of an already existing book

Use-Case Stereotype and Package

<<Book>>

Preconditions

The book must exist

Postconditions

Data associated with the book is being modified

Actors

A10-Administrator

Basic Flow (Text)

  1. The administrator provide data to the CLI specifying the id of the book and then the changes to make
  2. The CLI performs the operation of update(E1)
  3. Data of the book is being returned to the administrator

Exceptions

E1 - If the book doesn't exist or the address has been changed and it is not unique, the CLI will complain asking for new data

Author

Rossi Nicola

⚠️ **GitHub.com Fallback** ⚠️