CSC315 System Analysis and Design

System Analysis and DesignUnit 210 min read

SDLC & Methodologies: Models, Phases, Prototyping & CASE Tools

Unit 2 of System Analysis and Design explores the System Development Life Cycle (SDLC)—its classic and modern models (waterfall, spiral, agile), key phases (planning, analysis, design, implementation, maintenance), prototyping techniques (throwaway vs. evolutionary), and Computer-Aided Software Engineering (CASE) tools

What is SDLC? The Big Picture

The System Development Life Cycle (SDLC) is a structured framework for designing, developing, testing, and deploying information systems. It ensures systematic planning, resource allocation, and quality control. Think of it as a roadmap for building software—just like how a construction company follows blueprints to build a house.

Why SDLC Matters

  • Prevents scope creep (uncontrolled changes mid-project).
  • Ensures user needs are met before coding begins.
  • Helps manage risks (budget, time, technical challenges).
  • Provides a documented process for audits and improvements.

Classic SDLC Models: A Comparison

Different projects need different approaches. Here’s how the three major SDLC models compare:

Model Phases Flexibility Best For Risk Handling Example Use Case
Waterfall Sequential (Planning → Design → Implementation → Maintenance) Low Small, well-defined projects High (late changes costly) Government tax portal (fixed rules)
Spiral Iterative (Risk analysis + cycles) Medium High-risk, complex systems Low (early risk assessment) eSewa’s payment gateway (security-critical)
Agile Iterative (Sprints, feedback loops) High Dynamic, user-centric projects Medium (adaptive) Pathao’s ride-hailing app (frequent updates)
Method Use Case Pros Cons
---------------------- ----------------------------------- ------------------------------- -------------------------------
Throwaway UI/UX testing, feasibility checks Quick, low-cost Not production-ready
Evolutionary Agile projects, MVP development Directly usable Requires careful planning

CASE Tools: The Software Engineer’s Assistant

Computer-Aided Software Engineering (CASE) tools automate SDLC tasks like:

  • Drawing DFDs, ER diagrams.
  • Generating code skeletons.
  • Managing requirements and tests.
Tool Purpose Example Use Case
Lucidchart Diagramming (DFDs, UML) Designing NTC’s network topology
Visual Paradigm Full SDLC support (Agile, Waterfall) Managing Daraz’s project backlog
ERwin Database modeling (ER diagrams) Designing Nepal Stock Exchange’s (NEPSE) trade database

How to Choose the Right Methodology

Ask these questions:

  1. Is the project scope fixed? → Waterfall.
  2. Is risk high? → Spiral.
  3. Do users need frequent updates? → Agile.
  4. Is compliance critical? → Hybrid (Agile + Waterfall).

Worked Example: Choosing for a Hospital Management System

  • Requirements: Strict patient data security (like CIMS Hospital).
  • Users: Doctors (need quick updates), admins (need reports).
  • Best Model: Spiral (for security risk analysis) + Agile (for doctor-facing features).

In the Real World

1. eSewa’s Payment Gateway

  • SDLC Model: Spiral (high-risk financial transactions).
  • Key Phase: Risk Analysis identified fraud detection as critical → built a two-factor authentication system.
  • CASE Tool: Used Lucidchart to model DFDs for payment flows.

2. Daraz’s Order Processing

  • SDLC Model: Agile (Scrum) for fast feature releases.
  • Prototyping: Tested "Same-Day Delivery" with a small Kathmandu neighborhood before scaling.
  • Challenge: Traffic congestion in Kathmandu → Used simulation tools to optimize delivery routes.

3. NTC’s Network Upgrades

  • SDLC Model: Waterfall (government projects have fixed timelines).
  • Modern Twist: Uses DevOps for automated network monitoring (e.g., fiber optic cable failures).

Exam Tip: How to Score Full Marks

1. For Diagram Questions (DFDs, Sequence Diagrams)

  • Label everything: Processes (P1, P2), data flows, external entities.
  • Use real examples: For a patient pathology system, show:
    • Context Diagram: "Patient" → "Pathology System".
    • Level-0 DFD: "Register Patient" → "Schedule Test" → "Generate Report".

2. For Methodology Comparisons

  • Use tables (like above) to compare Waterfall vs. Agile vs. Spiral.
  • Mention trade-offs: "Agile is flexible but requires disciplined teams."

3. For Prototyping Questions

  • Define both types and give one real-world example each.
  • Example Answer:

    "Throwaway prototyping was used by Khalti to test their ‘Pay with Phone’ feature before full development. Evolutionary prototyping is seen in Pathao’s app, where early versions directly evolved into the current product."

4. For CASE Tools

  • Name 2 tools and link to a phase (e.g., "Visual Paradigm helps in the Design phase by generating UML diagrams").

5. For Worked Examples

  • Always tie to a real scenario:

    "If designing a bank loan system, the Spiral model would first analyze risks like default rates, then build a prototype for interest calculation before full deployment."


Key Formulas for Economic Feasibility (Exam Favorite!)

When calculating SDLC costs, remember:

  1. Net Present Value (NPV):

    • = Cash flow at year
    • = Discount rate (e.g., 10%)
    • Example: For a system with $70k first-year benefits and $90k development cost, calculate NPV over 5 years.
  2. Payback Period:

    • Example: If benefits are $70k (Y1), $80k (Y2), payback is after Year 1.

Summary Checklist

Before the exam, ensure you can: ✅ Draw context diagrams and level-0 DFDs. ✅ Compare Waterfall, Spiral, and Agile with pros/cons. ✅ Explain throwaway vs. evolutionary prototyping. ✅ Name 2 CASE tools and their uses. ✅ Calculate NPV and payback period for a given scenario. ✅ Relate SDLC to real Nepalese tech companies (eSewa, Khalti, NTC).

Based on the TU BSc CSIT syllabus for System Analysis and Design (CSC315), unit 2.

Discussion

Loading…