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
- Data Flow Diagram (DFD):
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