🖥️ Project Analysis – Step 2 (Software Projects)
Focus: Identifying users (actors), defining functional & non‑functional requirements, and building use cases.
1) Identify System Users (Actors)
After your initial research, determine who will interact with the system. In software engineering, these are actors—they can be people or external systems.
- Primary actors: Directly use the system to achieve a goal (e.g., Customer, Admin).
- Secondary actors: Support or integrate with the system (e.g., Payment Gateway, Email Service).
Example – Online Shopping: Customer (primary), Admin (primary), Payment Gateway (secondary), Inventory System (secondary).
2) Functional Requirements (What the system does)
- The system shall allow users to register, log in, and manage their profiles.
- Users shall be able to search, filter, and view detailed items.
- Admins shall add, edit, and delete items and categories.
- The system shall support checkout and payment processing.
3) Non‑Functional Requirements (How the system performs)
- Performance: Home page loads within 3 seconds under normal load.
- Usability: Works on desktop and mobile; accessible with keyboard navigation.
- Security: Role‑based access, encrypted connections, data privacy compliance.
- Reliability: 99.5% uptime target; graceful error handling and retries.
- Scalability: Supports growth in users, products, and traffic.
4) Use Case Table (Sample)
Use Case ID | UC‑01 |
---|---|
Use Case Name | Place an Order |
Actor | Customer |
Description | Customer selects items, provides shipping details, confirms payment. |
Preconditions | User is logged in; cart has at least one item. |
Trigger | User clicks “Checkout”. |
Main Flow | 1) System shows checkout → 2) User enters shipping → 3) User selects payment → 4) System processes payment → 5) Order confirmed. |
Postconditions | Order stored; confirmation email sent. |
Exceptions | Payment failure; out‑of‑stock item. |
Tip: Repeat this table for each major use case (Search, Manage Products, Process Refund, etc.).
5) Use Case Diagram (What to include)
- Actors: Customer, Admin, Payment Gateway
- Use Cases: Login, Search Product, Add to Cart, Checkout, Process Payment, Manage Products
- Relationships: Connect each actor to the use cases they initiate or participate in.
Placeholder: Insert your UML use case diagram image here once designed (e.g., exported from draw.io, Lucidchart, or StarUML).
6) Why this step matters
- Clarifies system scope and prevents missed features.
- Aligns team understanding with real user needs.
- Creates a concrete reference for design, development, and testing.