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.
Popular CASE Tools
| 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:
- Is the project scope fixed? → Waterfall.
- Is risk high? → Spiral.
- Do users need frequent updates? → Agile.
- 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:
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.
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…