Syllabus
Software Engineering & Testing Methodologies - MOOC
Week 1: Introduction
Introduction to Software Engineering - Basic Definitions of Software Engineering, Exploratory
style versus Software Engineering - Shortcoming of exploratory style, Basic principles to handle
complexity - Some basic issues: Types of software projects, software services -
Emergence of software engineering principles - Evolution of design techniques.
Week 2: Life Cycle Models I
Basic concepts of classical Waterfall Model - Stages of Waterfall Model – Iterative Waterfall
Model - V-Model and Prototyping Model - Incremental Model -
Week 3: Life Cycle Models II
Evolutionary Model - Agile Model - Extreme Programming and Scrum - Scrum Life Cycle Model
- Activities in requirement specification, gathering, analysis and specification.
Week 4: Requirements analysis and specification
Requirements gathering and analysis – Functional requirements – Representation of Complex
programming logic – Design Fundamentals – Modular Design.
Week 5: Basics of software design
Classification of cohesion – Classification of Coupling – Introduction to structured analysis and
structured design – Basics of Data Flow Diagrams (DFD).
Week 6: Procedural design methodology
Examples of DFD model development – DFD Model More examples – Essentials of Structure
Charts – Transform Analysis, Transaction Analysis – Structured Design Examples.
Week 7: Object-oriented concepts
Use Case Modelling – Factoring Use cases – Overview of Class diagrams – Inheritance
Relationship – Association Relationship.
Week 8: Introduction to UML: Class and Interaction Diagrams
Aggregation/Composition and dependency relations – Interaction Modelling – Development of
Sequence Diagrams – State Machine diagrams – An Object Oriented design Process.
Week 9: Object-oriented analysis and design
Domain Analysis – Examples of Object Oriented design – Basic concepts in Testing – I, Basic
Concepts in Testing II - Basic Concepts in Testing III.