Artificial IntelligenceUnit 911 min read
Requirements Analysis & Evaluation: Techniques, Feasibility, Prototyping & OOAD
Unit 9 of Artificial Intelligence explores systematic methods to gather, validate, and prioritize system requirements using techniques like interviewing, prototyping, and OOAD, while evaluating projects via economic feasibility, cost-benefit analysis, and modern SDLC approaches—critical for real-world AI system develop
TAKEAWAYS:
- Requirements elicitation uses structured techniques (interviewing, prototyping) to uncover stakeholder needs, with interviewing relying on active listening and open-ended questions.
- Feasibility studies (economic, technical, operational) determine project viability, with cost-benefit analysis (e.g., NPV, ROI) quantifying trade-offs.
- Prototyping (throwaway vs. evolutionary) validates requirements early: throwaway prototypes test feasibility, while evolutionary prototypes refine iteratively.
- Object-Oriented Analysis and Design (OOAD) models systems as objects (classes, relationships) to improve modularity and reusability.
- Modern SDLC emphasizes agile/evolutionary approaches, user-centric design, and iterative feedback over rigid waterfall models.
- Ranking projects uses criteria like strategic alignment, risk, and resource constraints, often visualized in decision matrices.
1. Systems Analysis and Design: Core Concepts
Systems Analysis and Design (SAD) is the process of understanding, defining, and improving information systems to meet organizational goals. It bridges the gap between business needs and technical solutions, ensuring systems are feasible, efficient, and aligned with objectives.
Modern Approaches to SAD
Traditional waterfall models (sequential phases) are now supplemented by:
- Agile/Iterative Models: Incremental development with frequent stakeholder feedback.
- User-Centered Design (UCD): Prioritizes usability and user experience (e.g., eSewa’s mobile app redesign).
- Evolutionary Prototyping: Builds functional models iteratively (e.g., Pathao’s ride-hailing app).
flowchart LR
A["Business Needs"] --> B["Requirements Elicitation"]
B --> C["System Design"]
C --> D["Prototyping/Implementation"]
D --> E["Testing & Validation"]
E -->|"Feedback"| BFigure 1: Modern SAD Cycle (Agile/Iterative)2. Requirements Analysis: Techniques and Tools
Requirements analysis identifies, documents, and validates what a system must do. Key techniques:
A. Interviewing and Listening Techniques
- Goal: Extract detailed, accurate requirements from stakeholders.
- Steps:
- Plan: Define objectives, select interviewees (e.g., bank managers for a loan system).
- Conduct: Use open-ended questions (e.g., "How do you currently process loan applications?").
- Analyze: Identify conflicts, gaps, or ambiguities.
- Document: Record verbatim responses and validate with stakeholders.
Worked Example: Ncell Customer Support System Scenario: Ncell wants to redesign its customer support chatbot.
- Interview Question: "What frustrates you most when using our current chatbot?"
- Response: "It can’t handle multiple languages or complex billing queries."
- Requirement: System must support Nepali/English and integrate with billing databases.
Active Listening Tips:
- Paraphrase: "So you’re saying the chatbot lacks multilingual support?"
- Probe: "Can you give an example of a billing issue it failed to resolve?"
B. Prototyping Approaches
Prototypes are working models to validate requirements before full development.
| Type | Purpose | Example | Advantages | Disadvantages |
|---|---|---|---|---|
| Throwaway | Test feasibility of ideas | Early mockup of Daraz’s "Express Checkout" | Low cost, quick feedback | Not production-ready |
| Evolutionary | Refine iteratively | Pathao’s ride-matching algorithm prototypes | Directly evolves into final system | Higher initial effort |
Worked Example: Khalti’s Payment Gateway
Throwaway Prototype:
- Mockup a UI with buttons for "Pay via Khalti" and "Pay via E-sewa."
- Test with 10 users to check if they understand the flow.
- Feedback: Users confused about transaction limits.
- Requirement: Add a real-time balance checker.
Evolutionary Prototype:
- Build a minimal working version with the balance checker.
- Release to a small group of merchants (e.g., 50 Daraz sellers).
- Iterate based on merchant feedback (e.g., add invoice generation).
3. Economic Feasibility and Cost-Benefit Analysis
Economic feasibility assesses whether a project is financially viable. Key metrics:
A. Cost-Benefit Analysis (CBA) Techniques
| Technique | Formula | Example |
|---|---|---|
| Net Present Value (NPV) | NTC’s fiber-optic expansion: NPV = $2M (r=10%, t=5 years) | |
| Return on Investment (ROI) | Bank’s AI loan system: ROI = 180% in 3 years | |
| Break-Even Analysis | E-sewa’s new API: Breaks even at 50,000 transactions/month |
Worked Example: NEPSE’s Trading Platform Upgrade
- Costs:
- Development: $500,000
- Training: $50,000
- Maintenance (Year 1): $100,000
- Benefits (Year 1–5):
- Reduced latency: +$300,000/year
- New investor onboarding: +$200,000/year
- NPV Calculation (r=8%):
Year 0: -$550,000 Year 1: ($300k + $200k - $100k) / 1.08 = $333,333 Year 2: $500k / 1.08² = $428,750 ... Total NPV = $875,000 → **Feasible**
B. Other Feasibility Criteria
| Type | Key Questions | Example |
|---|---|---|
| Technical | Can the system be built with current tech? | Does Ncell have 5G infrastructure for AR navigation? |
| Operational | Will users accept the system? | Will Daraz drivers adopt a new route-planning app? |
| Legal | Does it comply with regulations? | Does the bank’s AI loan system meet RBI guidelines? |
4. Object-Oriented Analysis and Design (OOAD)
OOAD models systems as objects (classes with attributes/methods) to improve modularity and reusability.
Key Concepts
- Classes and Objects:
- Class: Blueprint (e.g.,
Customerwithname,account_balance). - Object: Instance (e.g.,
Customer("Ramesh", 5000)).
- Class: Blueprint (e.g.,
- Relationships:
- Inheritance:
PremiumCustomerinherits fromCustomer. - Association:
Orderis associated withCustomer.
- Inheritance:
- Diagrams:
- Class Diagram: Shows classes and relationships.
- Use Case Diagram: Models user interactions (e.g., "Place Order").
classDiagram
class Customer {
+String name
+int account_balance
+placeOrder()
}
class Order {
+int order_id
+Date timestamp
+place()
}
Customer "1" --> "0..*" Order : places
class PremiumCustomer {
+double discount_rate
}
PremiumCustomer --|> Customer : inheritsFigure 3: OOAD for an E-commerce SystemWorked Example: Bank Loan System
- Classes:
LoanApplication(fields:amount,interest_rate,term; methods:calculateEMI()).Customer(fields:credit_score; methods:checkEligibility()).
- Relationship:
LoanApplicationdepends onCustomer(e.g.,if (customer.credit_score > 650) { approve(); }).
5. Ranking and Classifying Projects
Projects are ranked using multi-criteria decision analysis (e.g., decision matrices).
Criteria for Ranking
| Category | Sub-Criteria | Weight (%) |
|---|---|---|
| Strategic Fit | Aligns with business goals | 30 |
| Feasibility | Technical, economic, operational | 25 |
| Risk | Probability of failure | 20 |
| Resource Needs | Budget, time, expertise | 15 |
| ROI | Expected return | 10 |
Worked Example: NTC’s Project Portfolio
| Project | Strategic Fit (30%) | Feasibility (25%) | Risk (20%) | ROI (10%) | Total Score |
|---|---|---|---|---|---|
| 5G Network Expansion | 9/10 | 8/10 | 7/10 | 9/10 | 8.2 |
| IoT Smart Meters | 7/10 | 6/10 | 5/10 | 8/10 | 6.4 |
| Customer App Redesign | 8/10 | 9/10 | 8/10 | 7/10 | 8.1 |
Decision: Prioritize 5G Expansion (highest score).
In the Real World
eSewa’s Payment System:
- Requirement Analysis: Used interviewing with merchants to identify pain points (e.g., failed transactions).
- Prototyping: Built a throwaway prototype to test the "Pay via QR" feature before full rollout.
- OOAD: Modeled
Transaction,User, andMerchantclasses to handle payments efficiently.
Pathao’s Ride-Matching Algorithm:
- Economic Feasibility: Calculated NPV for dynamic pricing (e.g., surge pricing during traffic).
- Prototyping: Developed an evolutionary prototype where drivers tested route suggestions in Kathmandu’s chaotic traffic (seen in Figure 4).
graph TD A["Driver Requests Ride"] --> B["Pathao Server"] B --> C["Match with Nearest Rider"] C --> D["Send Route via GPS"] D --> E["Update ETA in Real-Time"]Figure 4: Pathao’s Ride-Matching PipelineNcell’s Customer Support Chatbot:
- Interviewing: Spoke to 100+ customers to find that 60% wanted multilingual support.
- Cost-Benefit: NPV analysis showed a $1.2M benefit over 3 years for the upgrade (cost: $300k).
Exam Tip
For Interviewing/Prototyping Questions:
- Always structure answers with steps (plan, conduct, analyze).
- Compare throwaway vs. evolutionary prototypes using a table (as above).
- Real-world tie: Relate to apps like eSewa or Khalti (e.g., "Like Khalti’s payment prototype,...").
For Feasibility/CBA:
- Show calculations (even if simplified). Use NPV or ROI formulas.
- Example: "NTC’s fiber project has NPV = $X, so it’s economically feasible."
- Avoid: Vague statements like "It’s profitable." → Specify how.
For OOAD:
- Draw a class diagram (even a simple one) to explain relationships.
- Example: "The
Orderclass depends onCustomervia theplaceOrder()method."
For Ranking Projects:
- Use a decision matrix (as in the NTC example).
- Key phrase: "Prioritize based on strategic fit and feasibility."
Common Pitfalls:
- Ignoring stakeholder validation: Always mention "requirements must be validated with users."
- Overlooking risks: Feasibility isn’t just about cost—include technical/operational risks.
- Skipping examples: Exams often ask for real-world applications (e.g., banks, e-commerce). Use Nepali examples (Ncell, Khalti) to stand out.
Pro Tip: Memorize one worked example per technique (e.g., Khalti’s prototype, NTC’s NPV). Examiners love applied answers!
Based on the TU BIT syllabus for Artificial Intelligence (BIT252), unit 9.
Discussion
Loading…