CS25C10 Object Oriented Software Engineering Syllabus:
CS25C10 Object Oriented Software Engineering Syllabus – Anna University UG Syllabus Regulation 2025
Course Objectives: This course illustrates software engineering lifecycle models and discusses object-oriented software development process from requirements analysis to implementation with the perception of testing and maintenance.
Software Process and Agile Development: Software Engineering – Software Process – Perspective and Specialized Process Models – Agile process – Extreme Programming (XP) Process
Activities:
1. Assignment on Software Process Models with suitable application contexts.
2. Review of GATE Questions.
Requirements Analysis and Specification: Software Requirement Specification (SRS)- Formal system specification- Finite State Machines- Petri nets- Object modeling using UML- Use case model- Class diagrams- Interaction diagrams- Activity diagrams- State chart diagramsFunctional modeling: Data Flow Diagram (DFD)- CASE Tools
Activities:
1. Project based experiential learning:
a. Preparation of SRS using JRA Tool for any specific applications like Library Management System and so on
b. Object and functional modeling for any specific applications like Online Food Ordering and so on
Software Design: Software design- objectives and metrics- modularity- types of coupling and cohesion- Design strategies- Bottom up design and top down designhybrid design- functional oriented design- object oriented design.
Activities:
1. Quiz: Multiple choice or true/false questions on design principles, metrics, modularity, and strategies.
2. Flipped Class Room: Analysis of code snippets for modularity, coupling and cohesion. Refactor to improve design.
Design Pattern: Model-View-Controller (MVC), Publish-Subscribe, Adapter, Command, Strategy, Observer, Proxy, Facade. Architectural styles: Layered, Client-Server, Tiered, Pipe and Filter. User Interface Design. Case Study
Activities:
1. Assignment: Identification of architectural style or pattern used in software descriptions.
2. Review of GATE Questions
Software Testing and Maintenance: Testing techniques: Unit testing, Black box testing, White box testing, Integration and System testing, Regression testing. Debugging and Program analysis. Symbolic execution and Model Checking. Case Study.
Activities:
1. Assignment: Creation of Test Plan for a specific application like Railway Reservation System and so on.
2. Review of GATE Questions.
Project Management : Software Project Management and Software Configuration Management- Project Scheduling- DevOps: Cloud as a platform-OperationsDeployment Pipeline- Overall Architecture, Building and Testing, Deployment. Tools. Case Study.
Activities:
1. Quiz: Project Scheduling Techniques – Gantt Charts – PERT/CPM.
2. Project based experiential learning: Preparation of mile stone task break down and time line for a specific software applications like Chat App and so on.
Assessment Weightage:
Weightage:
Continuous Assessment: 40% End Semester Theory
(i). Activities: 30% Examination: 60%
(ii). Internal Examinations: 70%
Mandated Activities with marks:
Assignments (30), Quiz (10), Project based learning (25), Flipped Classroom (10), Review of GATE questions (25).
Internal Examinations: TWO tests
References:
1. Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, “Fundamentals of Software Engineering”, 2nd edition, PHI Learning Pvt. Ltd., 2010.
2. Craig Larman, “Applying UML and Patterns”, 3rd edition, Pearson Education, 2005.
3. Stephen Schach, “Object-Oriented and Classical Software Engineering”, 8th edition, McGraw-Hill, 2020.
e-Resources:
1. https://nptel.ac.in/courses/106105087
2. https://nptel.ac.in/courses/106105153
3. https://nptel.ac.in/courses/106105150
