Use cases¶
This section presents the main use cases derived from the functional requirements. Each use case includes actors, requirements traceability, detailed flows, and alternative scenarios.
Use case notation¶
Element |
Description |
|---|---|
UC-X.Y |
Use case identifier (section X, item Y) |
Actors |
User types involved |
Priority |
P0-P3 (matches requirement priority) |
Requirements |
Links to FR and NFR |
Preconditions |
State required before use case |
Main flow |
Primary success scenario |
Alternative flows |
Variations and edge cases |
Postconditions |
State after successful completion |
1. User management use cases¶
User creates a new account to access synchronization and cloud features. Preconditions:
Main flow:
Alternative flows: A1: Email already registered
A2: Weak password
A3: Verification link expired
Postconditions:
|
User authenticates using email and password. Preconditions:
Main flow:
Alternative flows: A1: Invalid credentials
A2: Account not verified
A3: Account disabled
Postconditions:
|
User authenticates via Google OAuth 2.0. Preconditions:
Main flow:
Alternative flows: A1: User denies authorization
A2: Link to existing account
Postconditions:
|
User accesses application without internet connection. Preconditions:
Main flow:
Alternative flows: A1: First launch (Anonymous)
A2: First launch (Registered, never synced)
A3: Sync when online
Postconditions:
|
User resets forgotten password via email. Preconditions:
Main flow:
Alternative flows: A1: Email not found
A2: Link expired
Postconditions:
|
User permanently deletes their account and all data. Preconditions:
Main flow:
Alternative flows: A1: Export data first
A2: Cancel deletion
Postconditions:
|
2. Book management use cases¶
User adds books to library from files. Preconditions:
Main flow:
Alternative flows: A1: Unsupported format
A2: Duplicate detected
A3: Bulk import
A4: Import from URL
Postconditions:
|
User converts book to different format. Preconditions:
Main flow:
Alternative flows: A1: Conversion fails
A2: Large file
Postconditions:
|
User modifies book information. Preconditions:
Main flow:
Alternative flows: A1: Fetch metadata online
A2: Edit cover image
Postconditions:
|
User creates and manages book collections. Preconditions:
Main flow:
Alternative flows: A1: Add from library view
A2: Create nested shelf
A3: Drag and drop
Postconditions:
|
User assigns colored labels to books. Preconditions:
Main flow:
Alternative flows: A1: Create new tag
A2: Batch tagging
Postconditions:
|
User finds books using search and filters. Preconditions:
Main flow:
Alternative flows: A1: Full-text search
A2: Advanced filters
A3: Query language
A4: Save search
Postconditions:
|
User exports library data for backup or migration. Preconditions:
Main flow:
Alternative flows: A1: Selective export
A2: Export to cloud
Postconditions:
|
User adds physical book by scanning barcode. Preconditions:
Main flow:
Alternative flows: A1: Manual ISBN entry
A2: No metadata found
Postconditions:
|
User manages physical books in library. Main flow:
Alternative flows: A1: Mark as lent
Postconditions:
|
3. Reading and viewer use cases¶
User reads e-books in the viewer. Preconditions:
Main flow:
Alternative flows: A1: Navigate via TOC
A2: Go to page/position
A3: E-ink mode
Postconditions:
|
User personalizes viewer appearance. Preconditions:
Main flow:
Alternative flows: A1: Quick theme switch
A2: E-ink optimized
Postconditions:
|
User saves and switches reader configurations. Preconditions:
Main flow:
Alternative flows: A1: Set default profile
A2: Export/import profiles
Postconditions:
|
User creates and uses bookmarks. Preconditions:
Main flow:
Alternative flows: A1: View all bookmarks
A2: Delete bookmark
Postconditions:
|
4. Annotations and notes use cases¶
User highlights text while reading. Preconditions:
Main flow:
Alternative flows: A1: Quick highlight
Postconditions:
|
User creates free-form notes for books. Preconditions:
Main flow:
Alternative flows: A1: Rich text editing
Postconditions:
|
User edits or deletes annotations. Preconditions:
Main flow:
Postconditions:
|
User exports annotations to file. Preconditions:
Main flow:
Postconditions:
|
User searches through annotations. Preconditions:
Main flow:
Postconditions:
|
5. Progress tracking use cases¶
System tracks and displays reading activity. Preconditions:
Main flow:
Postconditions:
|
User customizes statistics view. Preconditions:
Main flow:
Postconditions:
|
6. Goal management use cases¶
User sets reading objectives. Main flow:
Postconditions:
|
User and system update goal progress. Preconditions:
Main flow:
Postconditions:
|
7. Storage and synchronization use cases¶
User configures metadata server connection and file storage backend(s) for synchronization and book storage. Preconditions:
Main flow (Metadata server):
Main flow (File Storage Backend):
Alternative flows: A1: Cloud storage OAuth (Google Drive, OneDrive, Dropbox)
A2: Self-hosted metadata server
A3: WebDAV server (Nextcloud, etc.)
A4: MinIO/S3-compatible storage
A5: Local-only mode (no sync)
A6: Dedicated Papyrus server for files
Postconditions:
See Server architecture for technical details. |
System applies OCR to scanned books. Preconditions:
Main flow:
Postconditions:
|
System keeps metadata, reading progress, and annotations consistent across devices via the metadata server. Preconditions:
Main flow:
Synchronized data:
Alternative flows: A1: Conflict detected (same book, both devices)
A2: Offline changes accumulated
A3: Book file sync
A4: Metadata server unavailable
Postconditions:
See Server architecture for sync details. |
User downloads books from online catalogs. Preconditions:
Main flow:
Alternative flows: A1: Protected catalog
Postconditions:
|