Course Code: MIT4071
Course Title: Advanced Software Engineering (4 Credits)
Unit-1: Software Engineering Basics: Software Engineering Terminologies, Product Life Cycle, Project Life Cycle Models.
Unit-2: Software Engineering Methodologies: Components of Software Engineering, Software Development Models.
Unit-3: Predictive vs. Adaptive Approaches to SDLC: Traditional Predictive Approaches to SDLC, Adaptive Approaches to SDLC, Separation of Design and Construction, Unpredictability of Requirements.
Unit-4: Agile Programming: Introduction, Flavors of Agile Development, Agile Manifesto, Refactoring Techniques, Limitations of The Agile Process.
Unit-5: Extreme Programming: XP Equation, XP Values, Assuming Sufficiency.
Unit-6: Extreme Programming Practices: Coding Practices, Developer Practices, Business Practices.
Unit-7: XP Events: Iteration Planning, Iteration, Releasing.
Unit-8: Extreme Programming Artifacts: Story Cards, Task Cards, Bullpens.
Unit-9: Roles of Extreme Programming: Customer’s Roles, Developer’s Roles, Supplementary Roles.
Unit-10: Coding XP Style: Balance Functionality with Simplicity, Implement Only the Needed Features, Eliminate Repetition.
Unit-11: Adopting XP: Before Commencing XP, Eliminating Fear and Working Together, Starting Feedback, Including Managers and Customers.
Unit-12: Agile Modeling with XP: Agile Modeling – Principles, Comparing XP and Agile Modeling, Scrum Methodology.
Unit-13: Dynamic Systems Development Methodology (DSDM): Overview of DSDM, The Principles of DSDM, Phases of DSDM, Core Techniques Used in DSDM.
Unit-14: XP Tools: Java and XP, Tools and Philosophies, Open Source Toolkit.