Skip to Content
Semester 6SyllabusSoftware Engineering with UML

Software Engineering with UML

Unit 1: Introduction to Software and Software Engineering

  • The Evolving Role of Software
  • Software: A Crisis on the Horizon and Software Myths
  • Software Engineering
    • A Layered Technology
    • Software Process Models:
      • Linear Sequential Model
      • RAD Model
      • Evolutionary Process Models: Prototyping Model, Spiral Model, Concurrent Development Model
      • Agile Process Model
      • Component-Based Development
  • Process, Product, and Process

Unit 2: Requirement Analysis and Specification

  • Understanding the Requirement
  • Requirement Modeling
  • Requirement Specification (SRS):
    • Characteristics of SRS
    • Writing a Software Requirement Specification (SRS)
  • Requirement Analysis and Elicitation
  • Requirement Engineering
  • Software Design Concepts and Principles
  • Architectural Design
  • Component-Level Design
  • Function-Oriented Design
    • Data Flow Diagram (DFD):
      • Drawing Rules
      • Leveling of DFD: Level 0, Level 1, Level 2

Unit 3: Project Management Concepts & Project Metrics

  • Project Management Concepts:
    • The Management Spectrum (People, Product, Process, Project)
    • The W5HH Principle
  • Metrics in Process and Project Domains:
    • FP (Function Points)
    • LOC (Lines of Code)
  • Software Measurement:
    • Process, Product, and Project Metrics
  • Software Project Estimation:
    • COCOMO Model
  • Software Project Planning:
    • Objectives
    • Scheduling and Tracking
    • MS Project Tool
  • Risk Analysis & Quality Management:
    • Risk Identification, Projection, and Refinement
    • Risk Mitigation
    • Quality Concepts and Software Quality Assurance
    • Software Reviews and Formal Technical Reviews

Unit 4: Software Testing and Advanced Topics

  • Software Testing Fundamentals and Test Case Design
  • Testing Strategies:
    • White-Box Testing
    • Black-Box Testing
    • Gray-Box Testing
  • Functional Testing:
    • Unit Testing
    • System Testing
    • Integration Testing
    • Interface Testing
    • Regression Testing
    • Alpha Testing and Beta Testing
    • Smoke Testing and Sanity Testing
  • Non-Functional Testing:
    • Performance Testing
    • Load Testing
    • Security Testing
    • Scalability Testing
    • Stress Testing
    • Volume Testing
    • Compatibility Testing
    • Recovery Testing
  • Advanced Topics in Software Engineering:
    • Reengineering
    • Reverse Engineering
    • Agile Development
    • Scrum Framework
    • Kanban Framework
Last updated on