CMPUT 401 Software Engineering Library System Case Study
CMPUT 401 Software Engineering Library System Case Study Paul Sorenson Department of Computing Science University of Alberta 12/21/2021 CMPUT 401 - Library System Case Study 1 1
Basis for Case Study Taken from: UML Toolkit by Hans-Eriksson and Magnus Penker, John Wiley & Sons, NY, 1998. 12/21/2021 CMPUT 401 - Library System Case Study 2
Requirements Statement An initial text requirement specification for the library application might look like this: 1. The system is to support the library functions of acquisition, reservation, borrowing, and return of books. 2. A library lends books and magazines to borrowers, who are registered in the system, as are the books and magazines. 3. A library handles the purchase of new titles for the library. Popular titles are bought in multiples copies. Old books and magazines are removed when they are out of date or in poor condition. 4. The librarian is an employee of the library who interacts with the customers (borrowers) and whose work is supported by the system. 12/21/2021 CMPUT 401 - Library System Case Study 3
Requirements Statement (cont) 5. A borrower can reserve a book or magazine that is not currently available in the library, so that when it’s returned or purchased by the library, that person is notified. The reservation is cancelled when the borrower checks out the book or magazine or through an explicit canceling procedure. 6. The library system can easily create, update, and delete information about the titles, borrowers, loans and reservations in the system. 7. The system can run on all popular technical platforms, including Windows, Mac and UNIX and has a modern user Thegraphical initial version of interface. the system doesn’t have to handle the message that is 8. sent the borrower when reservedwith title becomes available, nor does Thetosystem is easy toaextend new functionality. it have to check that a title has become overdue. Additional requirements for future versions are available. 12/21/2021 CMPUT 401 - Library System Case Study 4
Rational Objectory Process Use Case Analysis • Select use cases & sketch scenarios: criticality and risk Domain Analysis • Identify main classes and their responsibility • Distribute behavior on classes Architecture Design • Structure in subsystems, layers, define interfaces Component (Detailed) Design • Define distribution and concurrency Produce Code • Implement architectural prototype Test Case Design • Derive tests from use cases • Evaluate architecture Iterate 12/21/2021 CMPUT 401 - Library System Case Study 5
Use Case Analysis 12/21/2021 CMPUT 401 - Library System Case Study 6
Use Case Development 12/21/2021 CMPUT 401 - Library System Case Study 7
Sketching Scenarios 12/21/2021 CMPUT 401 - Library System Case Study 8
Domain Analysis 12/21/2021 CMPUT 401 - Library System Case Study 9
Domain Analysis Domain classes are sketched at this stage. The operations and attributes defined are not final. Some of the operations can be defined by examining the “sketched” scenarios in the use cases. 12/21/2021 CMPUT 401 - Library System Case Study 10
Class Identification 12/21/2021 CMPUT 401 - Library System Case Study 11
Class Definition Elaboration 12/21/2021 CMPUT 401 - Library System Case Study 12
Developing Scenarios 12/21/2021 CMPUT 401 - Library System Case Study 13
Sequence Diagram for Lend Item Where borrower doesn’t have a reservation for the title 12/21/2021 CMPUT 401 - Library System Case Study 14
Architectural Design 12/21/2021 CMPUT 401 - Library System Case Study 15
Architectural Design Strategy Requirements Analysis Real-World Objects Problem Domain Design Interface Objects Application Objects Utility Objects Solution Domain 12/21/2021 CMPUT 401 - Library System Case Study 16
Architecture for First Prototype 12/21/2021 CMPUT 401 - Library System Case Study 17
GUI (Subsystem) Package 12/21/2021 CMPUT 401 - Library System Case Study 18
Architecture Refinement 12/21/2021 CMPUT 401 - Library System Case Study 19
Class Refinement 12/21/2021 CMPUT 401 - Library System Case Study 20
Scenario Refinement 12/21/2021 CMPUT 401 - Library System Case Study 21
Component Design 12/21/2021 CMPUT 401 - Library System Case Study 22
Components for UI Package 12/21/2021 CMPUT 401 - Library System Case Study 23
Components for Business Object Package 12/21/2021 CMPUT 401 - Library System Case Study 24
System Deployment Diagram 12/21/2021 CMPUT 401 - Library System Case Study 25
- Slides: 25