CCS356 OBJECT ORIENTED SOFTWARE ENGINEERING Anna University Syllabus Regulation 2021

CCS356 OBJECT ORIENTED SOFTWARE ENGINEERING

CCS356 OBJECT ORIENTED SOFTWARE ENGINEERING Anna University Syllabus Regulation 2021

CCS356 OBJECT ORIENTED SOFTWARE ENGINEERING                       L T P C 

                                                                                                                                   3 0 2 4 

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-Case Study 

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 

PRACTICAL EXERCISES:                                                                              30 PERIODS 

LIST OF EXPERIMENTS: 

1. Identify a software system that needs to be developed. 

2. Document the Software Requirements Specification (SRS) for the identified system.

 3. Identify use cases and develop the Use Case model. 

4. Identify the conceptual classes and develop a Domain Model and also derive a Class Diagram from that. 

5. Using the identified scenarios, find the interaction between objects and represent them using UML Sequence and Collaboration Diagrams 

6. Draw relevant State Chart and Activity Diagrams for the same system. 

7. Implement the system as per the detailed design 

8. Test the software system for all the scenarios identified as per the usecase diagram 

9. Improve the reusability and maintainability of the software system by applying appropriate design patterns. 

10. Implement the modified system and test it for various scenarios. 

SUGGESTED DOMAINS FOR MINI-PROJECT: 

1. Passport automation system. 

2. Book bank 

3. Exam registration 

4. Stock maintenance system. 

5. Online course reservation system 

6. Airline/Railway reservation system 

7. Software personnel management system 

8. Credit card processing 

9. e-book management system 

10. Recruitment system 

11. Foreign trading system 

12. Conference management system 

13. BPO management system 

14. Library management system 

15. Student information system 

                                                                                                                  TOTAL:75 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, 2nd edition, 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.

Comments