A complete object-oriented design and documentation for LIAS — a centralized management system for a private college library. The project carried the full software development lifecycle from requirements through use cases, UML class diagrams, communication diagrams, and C++ implementation skeletons.
Replace a library's manual paperwork with a single system that handles everything — catalog, checkouts, holds, reserves, fines, subscriptions, and reporting.
A private liberal-arts college needed to retire its manual processes for tracking books, media, magazines, and patrons. LIAS was designed as the interface between library users, the physical collection, and the institution's own data systems.
The system authenticates two patron groups and a privileged administrator role, enforces the library's real business rules, and integrates with three external systems: the Employee Information System (EIS), the Student Information System (SIS), and a nearby public library for interlibrary loans.
Every class was derived directly from operations identified across all six use case descriptions.
class Circulation { public: date assign_checkout_period(string patronType, string resourceType); // due date by patron + resource type dollar calculate_fine(date dueDate, date returnDate); // $0.25 / day overdue void place_hold(int patronID, int resourceID); // queue a hold request date grant_renewal(int patronID, int resourceID); // extend if no hold exists void check_overdue_resources(); // scan + trigger reminders private: int transactionID; date dueDate, returnDate; dollar fineAmount = 0.00; };