IT242 Software Design and Development

Software Design and DevelopmentUnit 107 min read

Software Project Mgmt & Quality: Metrics, Models & Standards

Unit 10 of Software Design and Development explores project management frameworks (Agile, Waterfall, Spiral), quality models (ISO/IEC 9126, CMMI), defect tracking, risk management, and cost-benefit analysis—with real-world case studies from Nepali tech firms like eSewa and Ncell, and global giants like Google.

Key Concepts & Frameworks

1. Software Project Management Models

Software projects follow structured life cycle models to ensure systematic development. The three primary models are:

classDiagram
    class Waterfall {
        +Sequential phases
        +Documentation-heavy
        +Rigid structure
    }
    class Agile {
        +Iterative/incremental
        +Customer collaboration
        +Flexible scope
    }
    class Spiral {
        +Risk-driven
        +Combines Waterfall + Prototyping
        +Iterative refinement
    }
    Waterfall --> "Evolved into" Agile
    Agile --> "Inspired" Spiral

Comparison Table:

Model Phases Flexibility Best For Disadvantages
Waterfall Requirements → Design → Implementation → Testing → Maintenance Low Small, well-defined projects No revisiting prior phases
Agile Sprints (2-4 weeks) with feedback High Dynamic requirements Requires active stakeholder input
Spiral Iterative risk analysis + prototyping Medium High-risk, complex projects High overhead for planning

Worked Example: eSewa’s Payment System

  • Model Used: Agile (Scrum framework)
  • Why? eSewa’s team needed to adapt to Nepali government policy changes (e.g., tax regulations) and user feedback (e.g., mobile app usability).
  • Process:
    • Sprint 1: Basic payment gateway (UPI integration).
    • Sprint 2: Added QR code payments after user demand.
    • Sprint 3: Fixed bugs in high-traffic periods (e.g., Dashain sales).

2. Quality Management Models

Quality is measured using metrics and standards. Two key models:

ISO/IEC 9126 (Software Quality Model)

Defines six quality characteristics evaluated at different levels:

mindmap
  root((ISO/IEC 9126))
    Functionality
      Suitability
      Accuracy
      Interoperability
      Security
    Reliability
      Maturity
      Fault Tolerance
      Recoverability
    Usability
      Understandability
      Learnability
      Operability
    Efficiency
      Time Behavior
      Resource Utilization
    Maintainability
      Analyzability
      Changeability
      Stability
    Portability
      Adaptability
      Installability
      Conformance

Example: Ncell’s MyNcell App

  • Quality Focus: Usability (simple UI for prepaid top-ups) and Reliability (99.9% uptime during load shedding).
  • Metric Used: Mean Time Between Failures (MTBF) to track server stability.

Capability Maturity Model Integration (CMMI)

A five-level maturity model for process improvement:

stateDiagram-v2
    [*] --> Level1: Initial
    Level1 --> Level2: Managed
    Level2 --> Level3: Defined
    Level3 --> Level4: Quantitatively Managed
    Level4 --> Level5: Optimizing
    Level5 --> [*]

Worked Example: NEPSE’s Trading System

  • Current Level: Level 3 (Defined) – Standardized processes for share trading.
  • Goal: Move to Level 4 by implementing automated risk detection (e.g., fraud alerts).

3. Software Quality Metrics

Quantifiable measures to assess project health:

Metric Formula Example (Daraz Logistics)
Defect Density #Defects / Size (LOC or Function Points) 0.5 defects per 1000 lines (after QA testing)
Defect Removal Efficiency (#Defects found before release) / (#Total defects) 85% found in unit testing, 15% in production
Cyclomatic Complexity #Decision points + 1 A sorting algorithm with 3 if statements = 4
Schedule Variance (SV) Actual Time - Planned Time -2 weeks (delayed due to COVID-19 restrictions)

4. Risk Management in Projects

Risks are classified into technical, project, and business risks. The risk management process follows:

flowchart TD
    A["Identify Risks"] --> B["Analyze Risks"]
    B --> C["Prioritize Risks"]
    C --> D["Mitigate Risks"]
    D --> E["Monitor Risks"]
    E -->|"New Risks"| B

Worked Example: Pathao’s Driver App Launch

  • Risk: Low driver adoption in rural areas.
  • Mitigation:
    • Partnered with local NGOs for driver training.
    • Offered incentives (e.g., free rides for first 100 bookings).
  • Result: 30% higher sign-ups in Chitwan vs. Kathmandu.

5. Cost Estimation Techniques

Three widely used methods:

Method Description Example
COCOMO (Constructive Cost Model) Estimates effort based on project size (LOC) A 50K LOC system costs $2.5M (Nepal: ~₹300M)
Function Point Analysis (FPA) Measures functionality, not code size A banking app with 1000 function points = ₹50M
Expert Judgment Team estimates based on experience "This module took 2 months last time → 1.5 months this time"

Worked Example: Khalti’s API Development

  • Estimated LOC: 20,000
  • COCOMO Estimate:
    • Organic Mode (Small team): 20 person-months (~₹1.2 crore)
    • Semi-Detached (Experienced team): 15 person-months (~₹90 lakh)
  • Actual Cost: ₹85 lakh (saved 5% via Agile).

6. Quality Assurance (QA) Techniques

  • Static Testing: Code reviews, walkthroughs.
  • Dynamic Testing: Unit, integration, system, acceptance testing.
  • Automated Testing: Selenium (UI), JUnit (unit tests).

In the Real World

  1. eSewa’s Fraud Detection System

    • Idea: Defect Density Metrics
    • How? eSewa tracks false transaction alerts (defects) per 10,000 transactions. Goal: <0.1% false positives.
    • Impact: Reduced fraud losses by 40% in 2023.
  2. Ncell’s Network Reliability

    • Idea: MTBF (Mean Time Between Failures)
    • How? Ncell’s 4G towers have an MTBF of 30 days (industry average: 20 days).
    • Result: Fewer customer complaints during load shedding.
  3. Daraz’s Order Fulfillment

    • Idea: Cyclomatic Complexity
    • How? Daraz’s inventory system has a complexity of 5 (3 if statements for stock checks).
    • Why? Low complexity = easier debugging during Diwali sales rush.

Exam Tip

  1. Models > Theory: Always compare Waterfall vs. Agile vs. Spiral in exams. Use eSewa/Khalti as case studies.
  2. Metrics are Key: Memorize defect density, cyclomatic complexity, and SV (Schedule Variance) formulas. Apply to Ncell/Daraz scenarios.
  3. Risk Management: Expect short-answer questions on risk identification vs. mitigation. Use Pathao’s driver adoption example.
  4. CMMI Levels: Know Level 3 (Defined) is the minimum for government projects (e.g., NTC’s billing system).
  5. Cost Estimation: COCOMO is favored in TU exams. Practice converting LOC to cost (use ₹15,000 per person-month as a rough rate).

Final Visual Summary:

mindmap
  root((Software Project & Quality Mgmt))
    Project Models
      Waterfall
      Agile
      Spiral
    Quality Models
      ISO 9126
      CMMI Levels
    Metrics
      Defect Density
      Cyclomatic Complexity
    Risk Management
      Identify → Analyze → Mitigate
    Cost Estimation
      COCOMO
      FPA

Based on the TU BIM syllabus for Software Design and Development (IT242), unit 10.

Discussion

Loading…