SOFTWARE ENGINEERING – FULL NOTES (BRIEF & EXAM-FOCUSED)
UNIT I – INTRODUCTION TO SOFTWARE ENGINEERING
• Evolving Role of Software: Software is essential in business, science, communication, AI,
automation, etc.
• Changing Nature of Software: Shift from standalone apps to web, mobile, cloud, AI■based,
distributed systems.
• Software Myths: Misbeliefs like “more people means faster”, “requirements never change”, “testing
removes all bugs”.
• Layered Technology: Consists of Quality Focus, Process, Methods, Tools.
• Process Framework: Includes communication, planning, modeling, construction, deployment.
• CMMI: Capability Maturity Model Integration—levels: Initial, Managed, Defined, Quantitatively
Managed, Optimizing.
• Waterfall Model: Linear sequential phases; simple but rigid.
• Spiral Model: Iterative model with risk analysis.
• Agile: Iterative, customer■focused, flexible (e.g., Scrum, XP).
UNIT II – SOFTWARE REQUIREMENTS
• Functional Requirements: What the system should do.
• Non■Functional Requirements: Performance, security, usability, reliability.
• User Requirements: Natural language statements for users.
• System Requirements: Detailed technical specifications.
• Interface Specification: Interaction between software/hardware/users.
• SRS Document: Complete requirements document.
Requirements Engineering Process:
• Feasibility Study: Checks if project is possible.
• Elicitation & Analysis: Gathering requirements (interviews, questionnaires, observation).
• Validation: Ensuring requirements are correct.
• Requirements Management: Handling changes.
UNIT III – DESIGN ENGINEERING
• Design Process: Converts requirements into design.
• Design Quality: Must be correct, efficient, maintainable.
• Design Concepts: Abstraction, refinement, modularity, cohesion, coupling, architecture.
• Design Model: Data design, architectural design, interface design, component design.
Architectural Design:
• Software Architecture: Structure of components.
• Data Design: DB schemas, data structures.
• Architectural Styles: Layered, client-server, MVC, pipe■and■filter, repository.
• UML Concepts: Unified Modeling Language.
UML Diagrams:
• Class Diagram
• Sequence Diagram
• Collaboration Diagram
• Use Case Diagram
• Component Diagram
UNIT IV – TESTING & METRICS
• Testing Strategy: Starts from unit → integration → system → acceptance testing.
• Black■Box Testing: Tests functionality without code (BVA, equivalence class).
• White■Box Testing: Based on logic (path, condition, loop testing).
• Validation Testing: Ensures software meets user needs.
• System Testing: Tests full integrated system.
• Debugging: Identifying and removing defects.
Metrics:
• Software Measurement: Size, complexity, effort.
• Quality Metrics: Reliability, maintainability, usability, defect density.
UNIT V – RISK & QUALITY MANAGEMENT
• Reactive Strategy: Solves risks after they occur.
• Proactive Strategy: Identifies risks before they occur.
• Common Software Risks: Cost, schedule, technology failure, people issues.
• Risk Identification: Listing possible risks.
• Risk Projection: Estimating probability & impact.
• Risk Refinement: Breaking down major risks.
• RMMM: Risk Mitigation, Monitoring, Management.
Quality Management:
• Quality Concepts: Fit for purpose, defect■free.
• SQA: Ensures quality through audits, reviews, standards.
• Reviews: Formal Technical Review (FTR), walkthroughs, inspections.
• Statistical SQA: Uses data to improve quality.
• Software Reliability: Probability of failure■free operation.
• ISO 9000: Defines quality management standards.
END OF NOTES – SUITABLE FOR EXAM PREPARATION