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.