Advanced Software Engineering

Course Code: MIT4071

Course Title: Advanced Software Engineering (4 Credits)




Course Contents


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.