Week 1a Introduction To OOAD
Week 1a Introduction To OOAD
CS-812
MSIT-2K20
Timings:
3 lectures in a week
Monday 5:00 PM – 5:50 PM
Thursday 5:00 PM – 6:50 PM
In the second part, students will learn software design processes and principals, and will be
able to appreciate the importance of design patterns inSDLC
In the third part, students know OO ‐ development lifecycle. They will also learn modern
methods of software engineering and design patterns for implementing a real world project.
The course will also discuss ArchitecturalPatternand some advanced topics
COURSE OBJECTIVES
5
LEARNING RESOURCES
Reading Material
Text Book: 1. The Object-Oriented Thought Process, Matt Weisfeld 5th Edition, Addison Wesley, 2019
2. Design Patterns: Elements of Reusable Object-Oriented Software by Ralph Johnson, John Vlissides,
Richard Helm, and Erich Gamma (GoF), 1994
3. Software Design: From Programming to Architecture by Eric J. Braude, 2003
Reference 1. Software Engineering: A Practitioner's Approach by R.S. Pressman, 8th ed., McGraw-Hill Book Co.,
Books: NY, 2014,
2. Software Engineering, by Ian Sommerville 10th ed. Addison-Wesley, 2016
3. Object-Oriented Software Engineering: Practical Software Development using UML and Java by
Timothy C. Lethbridge and Robert Laganière, 2004.
• Objects keep code organized by putting related details and specific functions
in distinct, easy‐to‐find places
Flexible
• Objects keep code flexible, so details can be easily changed in a modular way
within the object, without affecting the rest of the code
Reusable
• Objects allow code to be reused, as they reduce the amount ofcode that needs
to be created, and keeps programs simple
OBJECT‐ORIENTEDTHINKING
What objects are around you? What kinds of details and behaviors they
have?
OBJECT‐ORIENTEDTHINKING
E.g., the interface between a driver and the car includes: steering wheel, gas pedal,
brake, and ignition switch; however all the implementations are hidden from thedriver
Change in implementation
OBJECT‐ORIENTEDTHINKING
Minimal interfaces
When designing a class, the rule of thumb is to always provide the user with as little
knowledge of the inner workings of the class as possible
OBJECT‐ORIENTEDTHINKING
interact
OBJECT‐ORIENTEDTHINKING
24
OBJECT‐ORIENTED DESIGN
25
OBJECT‐ORIENTED DESIGN
In OOD,
Object
Concepts in the analysis model, which are
Oriented
technology−independent, are mapped onto implementing
Design classes
Constraints are identified and interfaces are designed,
Resulting in a model for the solution domain, i.e., a
detailed description of how the system is to be built on
concrete technologies
26
OBJECT‐ORIENTEDTHINKING
Implementation of control
Implementation
27 of associations
OBJECT ORIENTED PROGRAMMING (OOP)
Encapsulation and
Message Passing
Characteristics
Data hiding
/Attributes of
OO Paradigm
Inheritance Polymorphism
Relationships
• Generalization and Specialization
• Links and Association
• Aggregation or Composition
SUMMARY
The Object-Oriented Thought Process, 3rd Edition, 2nd Chapter, How to Think in Terms of Objects,
https://www.tutorialspoint.com/object_oriented_analysis_design/ooad_object_oriented_paradigm.htm
Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design,
and the Unified Process. 2nd Edition.
https://www.scribd.com/document/402664349/3cef0bd88cf5c57529dba8223c1d8890-Object-
Oriented-Design-Course-Notes-pdf