Loading...
Loading...
Software Engineering is the systematic application of engineering principles to develop reliable, efficient, and maintainable software on time and within budget.
Software Crisis: 1960s projects were over-budget, late, unreliable. Need for engineering discipline led to Software Engineering as a field.
Sequential — each phase completes before next starts.
Phases: Requirements → Design → Implementation → Testing → Deployment → Maintenance
Pros: Simple, well-documented, clear milestones. Cons: Rigid, no going back, late testing, poor for changing requirements.
Risk-driven, combines waterfall + prototyping. Each loop has 4 quadrants:
Best for: Large, high-risk, expensive projects.
Agile Manifesto: Individuals > Processes | Working software > Documentation | Customer collaboration > Contract | Responding to change > Following plan
3 Roles: Product Owner (owns backlog), Scrum Master (removes blockers), Development Team (builds product)
3 Artifacts: Product Backlog (all features), Sprint Backlog (current sprint items), Increment (working software)
5 Events: Sprint (1-4 weeks), Sprint Planning, Daily Scrum (15 min standup), Sprint Review (demo), Sprint Retrospective (team improvement)
SDLC Comparison:
| Model | Best For | Flexibility | Risk Handling | |---|---|---|---| | Waterfall | Fixed requirements | Low | Poor | | Spiral | Large risky projects | Medium | Excellent | | Agile/Scrum | Changing requirements | High | Good |
Functional Requirements: What system should do (login, search, report generation) Non-Functional Requirements: Quality attributes (performance <2s, 99.9% uptime, security)
Process: Elicitation → Analysis → Specification (SRS document) → Validation
SRS (Software Requirements Specification): Official document containing all system requirements per IEEE 830 standard.
SOLID Principles:
High Cohesion: Elements within a module are closely related (good) Low Coupling: Modules are independent of each other (good)
Structural: Class Diagram, Component Diagram, Deployment Diagram
Behavioral: Use Case Diagram (user-system interactions), Sequence Diagram (object interactions over time), Activity Diagram (workflow), State Machine (states & transitions)
Class Diagram Relationships:
| Relationship | Meaning | |---|---| | Association | "uses" | | Aggregation (◇) | "has-a", weak ownership | | Composition (◆) | "has-a", strong (part dies with whole) | | Inheritance (▷) | "is-a" | | Dependency (-->)| "uses temporarily" |
Verification: Are we building it right? (matches spec) Validation: Are we building the right thing? (meets user needs)
Testing Levels:
| Level | Tests | Who | |---|---|---| | Unit | Functions/methods | Developer | | Integration | Module interactions | Developer/Tester | | System | Complete system | Test team | | Acceptance (UAT) | User requirements | Client |
Testing Techniques:
Test Types:
| Type | Purpose | |---|---| | Regression | New changes don't break old features | | Performance | Speed under load | | Stress | Behavior beyond normal capacity | | Smoke | Basic functions work (sanity check) | | Beta | Real users test before release |
Cyclomatic Complexity: V(G) = E - N + 2P
COCOMO Model: Estimates project effort.
Project Scheduling:
Q1 (2023): Why is Agile preferred over Waterfall for modern software projects? Modern projects have frequently changing requirements, short delivery cycles, and need for customer feedback. Agile's sprint-based delivery provides working software every 2-4 weeks, allows requirement changes between sprints, and reduces risk of building the wrong product.
Q2 (2022): Draw and explain Use Case Diagram for Library Management System. Actors: Student, Librarian, Admin. Use cases: Issue Book, Return Book, Search Catalog, Add Book, Remove Book, Manage Members. Relationships: include (Search always part of Issue), extend (Send Reminder extends Return).
Q3 (2024): Calculate Cyclomatic Complexity for function with 3 if statements and 1 while loop. Each decision point adds 1. CC = 3 (if) + 1 (while) + 1 = 5. Means 5 independent test cases needed for full coverage.
Complete Software Engineering notes for B.Tech CS Semester 5 — SDLC models, Agile/Scrum, UML diagrams, software testing, and project management with solved PYQs.
52 pages · 2.6 MB · Updated 2026-03-11
Waterfall is sequential, rigid, good for fixed requirements. Agile is iterative, flexible, delivers working software every sprint.
Black-box: no code knowledge, test based on I/O. White-box: knows internal code, tests logic paths.
Artificial Intelligence — Search, Logic, ML Basics Complete Notes
Artificial Intelligence
Computer Organization and Architecture — Complete Notes
Computer Organization & Architecture
Computer Networks Complete Notes — B.Tech CS Sem 5
Computer Networks
DBMS Complete Notes — B.Tech CS Sem 4
Database Management Systems
Compiler Design — Complete Notes CS Sem 6
Compiler Design
Your feedback helps us improve notes and tutorials.