Advanced Software Engineering
Course Code: MCA512 |
Course Title: Advanced Software Engineering (4 Credits) |
Course Contents
Unit 1: Software Engineering Basics – Introduction, Software Engineering Terminologies, Product Life Cycle, Project Life Cycle Models- Spiral model, Waterfall model, Evolutionary prototyping model, Reusable software model.
Unit 2: Software Engineering Methodologies- Introduction, Components of Software Engineering, Software Development Models- Capability Maturity Model, Rapid Application Development model, Incremental model.
Unit 3: Predictive Versus Adaptive Approaches to SDLC- Introduction, 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)- Introduction, XP Equation, XP Values, Assuming Sufficiency- Sufficient time and resources, Constant change of cost, Developer effectiveness, Freedom to experiment.
Unit 6: Extreme Programming Practices- Introduction, Coding Practices, Developer Practices, Business Practices.
Unit 7: XP Events- Introduction, Iteration Planning- Stories and tasks, Estimates and schedules, First iteration, Iteration, Releasing.
Unit 8: Extreme Programming Practices- Introduction, Story Cards, Task Cards, Bullpens.
Unit 9: Roles in Extreme Programming- Introduction, Customer’s Roles, Developer’s Roles, Supplementary Roles.
Unit 10: Coding XP Style- Introduction, Balance Functionality with Simplicity, Implement Only the Needed Features, Eliminate Repetition.
Unit 11: Adopting XP- Introduction, Before Commencing XP, Eliminating Fear and Working Together, Starting Feedback, Including Managers and Customers.
Unit 12: Agile Modeling with XP- Introduction, Agile Modeling – Principles, Comparing XP and Agile Modeling, Scrum Methodology- The roles of Scrum, Advantages of Scrum.
Unit 13: Dynamic Systems Development Methodology- Introduction, Overview of DSDM, the Principles of DSDM, Phases of DSDM, Core Techniques Used in DSDM.
Unit 14: XP Tools- Introduction, JAVA and XP, Tools and Philosophies, Open source Toolkit.