Skip to main content

External actors and library system sequence diagram

Short answer

External actors: Primary actor (has goals, initiates interaction, e.g., Student, Librarian), Supporting actor (provides service, e.g., Saru Publisher), Offstage actor (has interest but not directly involved, e.g., college administration). System sequence diagram shows events: user login, search, reserve; librarian issue, return, fine, manage users, order books to publisher.

Explain all types of external actors in relation to System under Discussion (SuD). Draw a system sequence diagram for the Library Management system with the following requirements. You can add additional elements if necessary. A college library has 4 librarians to manage and issue the books to the users who are either students or faculty staffs. The library contains the books belonging to Computer and Humanities streams. The books are course books, reference books, book banks etc. The users must log into system to search the required books and also may reserve the books earlier. The librarian issues the books to the users and also charge fine in case of delayed return or loss of the book. The librarian asks for the "Saru Publisher" to supply the necessary books into the library. The librarian manages all the users.

Types of external actors (relative to the System under Discussion, SuD)

An actor is something with behaviour outside the SuD that interacts with it. Larman classifies actors as:

  1. Primary actor: has user goals fulfilled by using the SuD; it starts the interaction. Example: Student/Faculty user, Librarian.
  2. Supporting actor: provides a service to the SuD (often another system or device). Example: "Saru Publisher" supplying books, a fine payment gateway.
  3. Offstage actor: has an interest in the behaviour of the use case but is not directly involved. Example: the college administration wanting a report of fines.

Actors can be a person, an external computer system or an organisation, or time.

System sequence diagram (SSD)

Assumptions: two scenarios are shown: user searches and reserves; librarian issues a book with fine. The SuD is :LibrarySystem.

User (student/faculty)       :LibrarySystem
   | login(id, password)          |
   |----------------------------->|
   |<- - - - - - ok - - - - - - - |
   | searchBook(title/stream)     |
   |----------------------------->|
   |<- - - - - book list - - - - -|
   | reserveBook(bookId)          |
   |----------------------------->|
   |<- - - - - reserved - - - - - |

Librarian         :LibrarySystem        Saru Publisher
   | issueBook(userId,bookId)|                |
   |------------------------>|                |
   |<- - - - due date - - - -|                |
   | returnBook(bookId)      |                |
   |------------------------>|                |
   |<- - fine (late/lost) - -|                |
   | chargeFine(userId, amt) |                |
   |------------------------>|                |
   | manageUser(add/edit/del)|                |
   |------------------------>|                |
   | orderBooks(list)        |                |
   |------------------------>| supplyRequest  |
   |                         |--------------->|
   |                         |<- - books - - -|

Notes

  • User actions (login, search, reserve) are shown from the user's side; librarian actions (issue, return, fine, manage users, order books) from the librarian's side.
  • Each arrow is a system event (becomes a system operation); each dashed arrow is the system's response.
  • The users are either students or faculty; both are modelled as one actor User (with two roles).
  • The SSD has only the actors and the system as a single black box: no internal objects are shown. Books are of Computer or Humanities streams, but this affects only the data, not the events.

✓ Answer checked by Claude Sonnet 5.5

All Object Oriented Analysis and Design chapter 2 questions →