Department of Computer Science and Engineering
CCS356 OBJECT ORIENTED SOFTWARE ENGINEERING LTPC
3024
COURSE OBJECTIVES:
To understand Software Engineering Lifecycle Models
To Perform software requirements analysis
To gain knowledge of the System Analysis and Design concepts using UML.
To understand software testing and maintenance approaches
To work on project management scheduling using DevOps
UNIT I SOFTWARE PROCESS AND AGILE DEVELOPMENT 9
Introduction to Software Engineering, Software Process, Perspective and
Specialized Process Models –Introduction to Agility-Agile process-Extreme
programming-XP Process-Case Study.
UNIT II REQUIREMENTS ANALYSIS AND SPECIFICATION 9
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- CASE TOOLS.
UNIT III SOFTWARE DESIGN 9
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-Case Study.
UNIT IV SOFTWARE TESTING AND MAINTENANCE 9
Testing – Unit testing – Black box testing– White box testing – Integration and
System testing– Regression testing – Debugging - Program analysis – Symbolic
execution – Model Checking-CaseStudy
UNIT V PROJECT MANAGEMENT 9
Software Project Management- Software Configuration Management - Project
Scheduling- DevOps: Motivation-Cloud as a platform-Operations- Deployment
Pipeline:Overall Architecture Building and Testing-Deployment- Tools- Case
Study
COURSE OUTCOMES:
CO1: Compare various Software Development Lifecycle Models
CO2: Evaluate project management approaches as well as cost and
schedule estimation strategies.
CO3: Perform formal analysis on specifications.
CO4: Use UML diagrams for analysis and design.
CO5: Architect and design using architectural styles and design patterns, and test the
system
45 PERIODS
TEXT BOOKS
1. Bernd Bruegge and Allen H. Dutoit, “Object-Oriented Software Engineering:
Using UML,Patterns and Java”, Third Edition, Pearson Education, 2009.
2. Roger S. Pressman, Object-Oriented Software Engineering: An Agile Unified
Methodology,First Edition, Mc Graw-Hill International Edition, 2014.
REFERENCES
1. Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, Fundamentals of Software
Engineering, 2ndedition, PHI Learning Pvt. Ltd., 2010.
2. Craig Larman, Applying UML and Patterns, 3rd ed, Pearson Education, 2005.
3. Len Bass, Ingo Weber and Liming Zhu, “DevOps: A Software Architect‘s
Perspective”,Pearson Education, 2016
4. Rajib Mall, Fundamentals of Software Engineering, 3rd edition, PHI Learning Pvt. Ltd.,
2009.
5. Stephen Schach, Object-Oriented and Classical Software Engineering, 8th ed,
McGraw-Hill,2010.
Faculty Name and Signature
HOD / CSE