Skip to content

Latest commit

 

History

History
101 lines (84 loc) · 4.46 KB

104-Advanced-Software-Engineering.org

File metadata and controls

101 lines (84 loc) · 4.46 KB

<<<PCP1177>>> ADVANCED SOFTWARE ENGINEERING

{{{credits}}}

LTPC
3003

Course Objectives

  • To understand requirements specification and apply UML diagrams
  • To understand and apply software architectural styles and design patterns.
  • To understand and apply software testing techniques.
  • To be familiar with Agile software development methodology.
  • To understand DevOps practices

{{{unit}}}

Unit ISoftware Requirements Specification9

Requirement analysis and specification – Requirements gathering and analysis – Formal system specification – Finite State Machines – Petrinets – Object modelling using UML – Use case Model – Class diagrams – Interaction diagrams – Activity diagrams – State chart diagrams – Functional modelling – Data Flow Diagrams.

{{{unit}}}

Unit IISoftware Architecture and Design9

Architectural styles – Layered – Client/server – Tiered – Pipe and filter- Software design – Design process – Design concepts – Coupling – Cohesion – Functional independence – Design patterns – Model-view-controller – Publish-subscribe – Adapter – Command – Strategy – Observer – Proxy – Facade - User interface design.

{{{unit}}}

Unit IIISoftware Testing9

Testing – Unit testing – Black box testing– White box testing – Integration and System testing– Regression testing – Debugging – Program analysis – Symbolic execution – Model Checking.

{{{unit}}}

Unit IVAgile Software Development9

Introduction to Agile Methodology – Evolution of Agile – Self adaption: Growing and Reflection – Pair Programming – Agile methods – collaboration – Releasing – Planning – Development.

{{{unit}}}

Unit VDevOps9

DevOps: Motivation-Cloud as a platform – Operations – Deployment Pipeline: Overall Architecture – Building and Testing – Deployment – Crosscutting Concerns: Monitoring – Security Audits Deployment – Case study: Migrating to Microservices.

\hfill Total: 45

Course Outcomes

After the completion of this course, students will be able to:

  • Understand software requirement specification and model software system using UML diagrams (K3)
  • Apply formal models to capture requirements
  • Apply appropriate architectural styles and design patterns (K3).
  • Apply various testing techniques(K3).
  • Understand Agile software development methodology(K2)
  • Understand the benefits of DevOps practices(K2).

References

  1. Rajib Mall, “Fundamentals of Software Engineering”, 3rd edition, PHI Learning Pvt Ltd, 2009 (Unit I, II & III)
  2. Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, “Fundamentals of Software Engineering”, 2nd edition, PHI Learning Pvt Ltd, 2010 (Unit I & III)
  3. Mary Shaw, David Garlan, “Software Architecture: Perspectives on an Emerging Discipline”, Pearson Education, 1996 (Unit II)
  4. Craig Larman, “Applying UML and Patterns”, 3rd edition, Pearson Education, 2005 (Unit I, II & III)
  5. Alistair Cockburn, Jim Highsmith, “Agile Software Development – The Cooperative Game”, Second edition, Pearson Education, 2007
  6. James Shore, Shane Warden, “The Art of Agile Development”, O’Reilly, Shroff Publishers 2011 (Unit IV)
  7. Len Bass, Ingo Weber and Liming Zhu, “DevOps: A Software Architect’s Perspective”, Pearson Education, 2016 (Unit V)

CO PO MAPPING

PO1PO2PO3PO4PO5PO6PO7PO8PO9PO10PO11
K3K6K6K6K6
CO1K3322
CO2K3322
CO3K3322
CO4K3322
CO5K2211
CO6K2211
Total171010
Course Mapping322