BIT252 Artificial Intelligence

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"| B
Figure 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:
    1. Plan: Define objectives, select interviewees (e.g., bank managers for a loan system).
    2. Conduct: Use open-ended questions (e.g., "How do you currently process loan applications?").
    3. Analyze: Identify conflicts, gaps, or ambiguities.
    4. 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

  1. 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.
  2. 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

  1. Classes and Objects:
    • Class: Blueprint (e.g., Customer with name, account_balance).
    • Object: Instance (e.g., Customer("Ramesh", 5000)).
  2. Relationships:
    • Inheritance: PremiumCustomer inherits from Customer.
    • Association: Order is associated with Customer.
  3. 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 : inherits
Figure 3: OOAD for an E-commerce System

Worked Example: Bank Loan System

  • Classes:
    • LoanApplication (fields: amount, interest_rate, term; methods: calculateEMI()).
    • Customer (fields: credit_score; methods: checkEligibility()).
  • Relationship:
    • LoanApplication depends on Customer (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

  1. 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, and Merchant classes to handle payments efficiently.
  2. 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 Pipeline
  3. Ncell’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

  1. 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,...").
  2. 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.
  3. For OOAD:

    • Draw a class diagram (even a simple one) to explain relationships.
    • Example: "The Order class depends on Customer via the placeOrder() method."
  4. For Ranking Projects:

    • Use a decision matrix (as in the NTC example).
    • Key phrase: "Prioritize based on strategic fit and feasibility."
  5. 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…