CAS775

CAS 775 OBJECT ORIENTED SOFTWARE ENINEERING

 

Objectives :

  • To comprehend basics of the software engineering process life cycle.
  • To be introduced to the object-oriented (OO) approach to software development, through OO principles.
  • To be conversant with UML (Unified Modelling Language) and the benefits of visual modelling / diagramming.
  • To get introduced to software engineering principles for both procedural and object oriented approaches.

 

Introduction -What is software engineering? – Software Development Life Cycles Models - Conventional Software Life Cycle Models- What is Object Orientation? – Objects and Classes– Features - Object Oriented Software Life Cycle Models -Object oriented Methodologies – Object – Oriented Modelling –Terminologies.

Software Requirements Elicitation and Analysis - Case Study: Library Management System-What is Software Requirement? – Requirements Elicitation Techniques – Initial Requirements Document- Use Case Approaches – Characteristics of a good Requirement- Software Requirements Specification Document - Requirements Change Management - Object Oriented Analysis - Structured Analysis versus Object Oriented Analysis – Identification of Classes – Identification of Relationships – Identification of State and Behaviour – Overview of Cost Estimation Techniques.

Software Design - Object Oriented Design - What is done in object oriented design? – UML - Interaction diagram - Sequence diagram – Collaboration Diagrams - Refinement of Use Case Description – Refinement of classes and relationships - Identification of Operations to Reflect the implementation environment – Construction of Details class diagrams - Development of Details Design and Creation – Generating Test cases from User Cases – Object Oriented Design principles for Improving Software Quality.

Software Implementation - Quality and Metrics -Software Implementation – Tools and Techniques - What is software quality? – Software quality models - Measurement basic - Analyzing the metric data - Metrics for measuring size and structure – Measuring software quality object oriented metrics.

Software Testing and Maintenance -What is software testing? – Software verification techniques – Checklist: a popular verification tool - Functional Testing – Structural Testing – Object Oriented Testing - Class testing – State based testing - Mutation testing - Levels of testing - Software testing tools - What is a software maintenance? - Categories –Challenges of software maintenance – Maintenance of Object oriented Software - Software rejuvenation - Estimation of maintenance efforts - Configuration management – Regression testing.

 

   References:

 

             1.Yogesh Singh, Ruchika Malhotra, “Object-Oriented Software Engineering”, PHI,2012.

             2.Timothy C. Lethbridge and Robert Laganiere, “Object-Oriented Software Engineering”, McGraw-Hill, 2001.

             3.G. Booch, Benjamin/Cummings, “Object-Oriented Analysis and Design with Applications”, 3rd Edition, Addison-Wesley, 2007.Roger Pressman,     Software Engineering: A Practitioner's Approach”, McGraw-Hill Higher Education, 2010.

 

                 Outcomes:

       Students will be able to:

                         Practice the application principles of object-oriented software development and various CASE tools.

                         Convey design decisions using UML.