- To understand Software Engineering Lifecycle Models
- To do project management and cost estimation
- To gain knowledge of the System Analysis and Design concepts.
- To understand software testing approaches
- To be familiar with DevOps practices
CP5154 ADVANCED SOFTWARE ENGINEERING SYLLABUS |
UNIT I INTRODUCTION
Software engineering concepts – Development activities – Software lifecycle models - Classical waterfall - Iterative waterfall – Prototyping – Evolutionary - Spiral – Software project management – Project planning – Estimation – Scheduling – Risk management – Software configuration management.
UNIT II SOFTWARE REQUIREMENT SPECIFICATION
Requirement analysis and specification – Requirements gathering and analysis – Software Requirement Specification – 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 Diagram.
UNIT III ARCHITECTURE AND DESIGN
Software design – Design process – Design concepts – Coupling – Cohesion – Functional independence – Design patterns – Model-view-controller – Publish-subscribe – Adapter – Command – Strategy – Observer – Proxy – Facade – Architectural styles – Layered - Client- server - Tiered - Pipe and filter.- User interface design
UNIT IV TESTING
Testing – Unit testing – Black box testing– White box testing – Integration and System testing– Regression testing – Debugging - Program analysis – Symbolic execution – Model Checking
UNIT V DEVOPS
DevOps:Motivation-Cloud as a platform-Operations- Deployment Pipeline:Overall Architecture - Building and Testing-Deployment- Case study: Migrating to Microservices.
TOTAL: 45 PERIODS
OUTCOMES:
- At the end of this course, the students will be able to:
- Understand the advantages of various Software Development Lifecycle Models
- Gain knowledge on project management approaches as well as cost and schedule estimation strategies
- Perform formal analysis on specifications
- Use UML diagrams for analysis and design
- Architect and design using architectural styles and design patterns
- Understand software testing approaches
- Understand the advantages of DevOps practices
REFERENCES:
- Bernd Bruegge, Alan H Dutoit, Object-Oriented Software Engineering, 2 nd edition, Pearso Education, 2004.
- Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, Fundamentals of Software Engineering, 2 nd edition, PHI Learning Pvt. Ltd., 2010.
- Craig Larman, Applying UML and Patterns, 3rd ed, Pearson Education, 2005.
- Len Bass, Ingo Weber and Liming Zhu, ―DevOps: A Software Architect‘s Perspective‖, Pearson Education, 2016
- Rajib Mall, Fundamentals of Software Engineering, 3 rd edition, PHI Learning Pvt. Ltd., 2009.
- Stephen Schach, Software Engineering 7th ed, McGraw-Hill, 2007.
No comments:
Post a Comment