OBJECT ORIENTED SOFTWARE
ENGINEERING
Ms. Archana A
Department of Computer Applications
OBJECT ORIENTED SOFTWARE ENGINEERING
(OOSE)
Course Introduction
Ms. Archana A
Department of Computer Applications
OBJECT ORIENTED SOFTWARE ENGINEERING
Course Introduction
OOSE course
• Software Engineering gives an idea of how industrial-strength “software” gets
developed.
• The course includes study on Importance of software engineering, approaches
and methodologies with object orientation essence.
• Course also highlights on different tasks in a Project or a case study.
OBJECT ORIENTED SOFTWARE ENGINEERING
Introduction…
• The course helps to understand
• what is software engineering and its importance;
• SDLC – Software Development Life Cycle
• How to Plan, develop and manage a software project by using the
Object oriented software engineering concepts, in-detail.
• At the end one must have the ability to plan, Design, Execute, and manage
small software projects
OBJECT ORIENTED SOFTWARE ENGINEERING
Course Description
Course Overview:
• Software engineering is a discipline that allows us to apply engineering and
computer science concepts in the development and maintenance of reliable,
usable, and dependable software.
• The course is designed to present software engineering concepts and object
oriented approach in parallel with the software development life cycle.
OBJECT ORIENTED SOFTWARE ENGINEERING
Course Content
Unit-1: Software Process
Unit-2: Modeling
Unit-3: Design Engineering
Unit-4: Software Testing
OBJECT ORIENTED SOFTWARE ENGINEERING
Detailed Course Content
Unit 1: Software Process
Process Models: Introduction to software and software engineering, The
nature of software, The software Process, A generic process Model, Defining a
Framework activity, Prescriptive Process Models.
Agility and Process: What is agility?, What is an agile process? Agility
principles, Scrum, Other Agile Frameworks – the XP framework, Kanban,
DevOps.
Review of Object Orientation: Object oriented aspects, OO Methodology, OO
Themes.
Experiential Learning: Case study on perspective models, tutorial session on
object-oriented aspects – class, objects, inheritance and polymorphism
OBJECT ORIENTED SOFTWARE ENGINEERING
Detailed Course Content…
Unit 2: Modeling
Understanding Requirements: Requirements Engineering Tasks,
Requirements gathering, SRS, Developing Use cases, Requirements Analysis:
Requirements modelling approaches, Scenario-Based modelling, Class-Based
Modeling, Functional Modeling, Behavioural Modeling.
Experiential Learning: Using StarUML tool generating Use case diagram, Class
diagram, Sequence diagrams and Activity diagrams
OBJECT ORIENTED SOFTWARE ENGINEERING
Detailed Course Content…
Unit 3: Design Engineering
Design Concepts -Design within the Context of Software Engineering, Design Concepts-
Abstraction, Architecture, Pattern, Separation of concerns, Modularity, Information
hiding, Functional Independence, Refinement, Aspects, Refactoring, Object oriented
design concepts, design classes, The Design Model.
Architectural Design: Architectural Genres, Architectural Styles. Pattern Based Design –
Architectural Pattern- MVC, Design Patterns: Communication pattern – Publisher
Subscriber, Forwarder Receiver pattern, Client-Dispatcher-Server pattern.
Experiential Learning: Hands-on exercise on Architectural patterns and Design patterns
using UML diagrams.
OBJECT ORIENTED SOFTWARE ENGINEERING
Detailed Course Content…
Unit 4: Software Testing
Software Testing – Component level: A strategic approach to software testing –
verification and validation, organizing for software testing, Test strategies for
conventional software- Unit testing, Integration testing, Regression Testing, Smoke
testing, Object-oriented Testing. Software Testing – Integration Level: Software
testing fundamentals-Black-box testing and White-box testing, Integration Testing,
Top-Down, Bottom-up integration, Regression Testing. Validation- Alpha and Beta
testing, System testing
Experiential Learning: Study on various types of System testing - Functionality
testing, Recovery testing, Performance testing, Scalability testing, Reliability testing,
Security testing, Stress testing, Load Testing etc.
OBJECT ORIENTED SOFTWARE ENGINEERING
Book references
Text Book:
1. “Software Engineering – A Practitioner’s Approach”, Roger S Pressman, Tata
McGraw Hill, 9th Edition, 2020.
Reference Books:
1. Object Oriented Software Engineering Practical software development using UML
and Java, Timothy C Lethbridge and Robert Liganiere, 2nd Edition, TATA McGraw Hill
publication.
2. Michael Blaha, James Rumbaugh, Object-Oriented Modeling and Design with
UML, Pearson Education, 2nd Edition, 2005.
3. Frank Buschmann, RegineMeunier, Hans Rohnert, Peter Sommerlad, Michael Stal,
Pattern- Oriented Software Architecture, A System of Patterns, Volume 1, John
Wiley and Sons, Wiley India Edition, 2008
THANK YOU
Ms. Archana A
Department of Computer Applications
[email protected]
+91 80 6666 3333 Extn 392