{{{credits}}}
L | T | P | C |
3 | 0 | 0 | 3 |
- 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 I | Software Requirements Specification | 9 |
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 II | Software Architecture and Design | 9 |
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 III | Software Testing | 9 |
Testing – Unit testing – Black box testing– White box testing – Integration and System testing– Regression testing – Debugging – Program analysis – Symbolic execution – Model Checking.
{{{unit}}}
Unit IV | Agile Software Development | 9 |
Introduction to Agile Methodology – Evolution of Agile – Self adaption: Growing and Reflection – Pair Programming – Agile methods – collaboration – Releasing – Planning – Development.
{{{unit}}}
Unit V | DevOps | 9 |
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
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).
- Rajib Mall, “Fundamentals of Software Engineering”, 3rd edition, PHI Learning Pvt Ltd, 2009 (Unit I, II & III)
- Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, “Fundamentals of Software Engineering”, 2nd edition, PHI Learning Pvt Ltd, 2010 (Unit I & III)
- Mary Shaw, David Garlan, “Software Architecture: Perspectives on an Emerging Discipline”, Pearson Education, 1996 (Unit II)
- Craig Larman, “Applying UML and Patterns”, 3rd edition, Pearson Education, 2005 (Unit I, II & III)
- Alistair Cockburn, Jim Highsmith, “Agile Software Development – The Cooperative Game”, Second edition, Pearson Education, 2007
- James Shore, Shane Warden, “The Art of Agile Development”, O’Reilly, Shroff Publishers 2011 (Unit IV)
- Len Bass, Ingo Weber and Liming Zhu, “DevOps: A Software Architect’s Perspective”, Pearson Education, 2016 (Unit V)
PO1 | PO2 | PO3 | PO4 | PO5 | PO6 | PO7 | PO8 | PO9 | PO10 | PO11 | ||
K3 | K6 | K6 | K6 | K6 | ||||||||
CO1 | K3 | 3 | 2 | 2 | ||||||||
CO2 | K3 | 3 | 2 | 2 | ||||||||
CO3 | K3 | 3 | 2 | 2 | ||||||||
CO4 | K3 | 3 | 2 | 2 | ||||||||
CO5 | K2 | 2 | 1 | 1 | ||||||||
CO6 | K2 | 2 | 1 | 1 | ||||||||
Total | 17 | 10 | 10 | |||||||||
Course Mapping | 3 | 2 | 2 |