SlideShare a Scribd company logo
OBJECT-ORIENTED
SOFTWAREENGINEERING
UNIT 06 : Object Oriented Implementation
© 2018 , PRAMOD PARAJ
UL
I
Disclaimer
These slides are part of teaching materials for Object Oriented
Software Engineering (OOSE). These slides do not cover all
aspect of learning OOSE, nor are these be taken as primary
source of information. As the core textbooks and reference
books for learning the subject has already been specified and
provided to the students, students are encouraged to learn
from the original sources.
Contents in these slides are copyrighted to the instructor and
authors of original texts where applicable.
OOSE UNIT 06 - Object Oriented Implementation
Reference:
Bruegge B., and Dutoit A. H. 2010, Object-oriented Software
Engineering using UML, Patterns and Java, 3rd ed., Prentice Hall
(Chapter 10)
OOSE UNIT 06 - Object Oriented Implementation
MAPPINGCONCEPTS
 Model transformations
 Refactorings
 Forward engineering
 Reverse engineering
OOSE UNIT 06 - Object Oriented Implementation
MODELTRANSFORMATION
Applied to object model and results in another object
model.
OOSE UNIT 06 - Object Oriented Implementation
REFACTORING
To improve source code readability or modifiability
without changing its behavior.
OOSE UNIT 06 - Object Oriented Implementation
FORWARDENGINEERING
OOSE UNIT 06 - Object Oriented Implementation
REVERSEENGINEERING
OOSE UNIT 06 - Object Oriented Implementation
 Mapping source code elements back to a set of
model elements.
 CASE tools help build an approximate model.
 Approximate – because forward engineering may lose
information e.g. associations are turned into collections
of references.
TRANSFORMATIONPRINCIPLES
OOSE UNIT 06 - Object Oriented Implementation
 Each transformation must address a single criteria.
 Each transformation must be local.
 Each transformation must be applied in isolation to
other changes.
 Each transformation must be followed by a
validation step.
TRANSFORMATIONS
Transform models
 Optimising the object design models i.e. class models
 Mapping associations to collections
 Mapping operations contracts to exceptions
 Mapping the class model to a persistent storage schema
OOSE UNIT 06 - Object Oriented Implementation
OPTIMISINGTHEOBJECTDESIGNMODEL
Optimising access paths
 Repeated association traversals – frequent operations
between two objects through other objects must be simplified
by creating an association.
 “Many” associations – decrease search time by reducing the
“many” to “one”
 Misplaced attributes – reduce excessive modeling, calling
vs. hosting classes
OOSE UNIT 06 - Object Oriented Implementation
OPTIMISINGTHEOBJECTDESIGNMODEL
Collapsing objects
OOSE UNIT 06 - Object Oriented Implementation
OPTIMISINGTHEOBJECTDESIGNMODEL
Delaying
expensive
computations
OOSE UNIT 06 - Object Oriented Implementation
OPTIMISINGTHEOBJECTDESIGNMODEL
Caching the result of expensive computations
 If some values are repeatedly access after
computation, its better to keep them in cache.
OOSE UNIT 06 - Object Oriented Implementation
MAPPINGASSOCIATIONSTOCOLLECTIONS
OOSE UNIT 06 - Object Oriented Implementation
MAPPINGASSOCIATIONSTOCOLLECTIONS
OOSE UNIT 06 - Object Oriented Implementation
MAPPINGASSOCIATIONSTOCOLLECTIONS
OOSE UNIT 06 - Object Oriented Implementation
MAPPINGASSOCIATIONSTOCOLLECTIONS
OOSE UNIT 06 - Object Oriented Implementation
QUALIFIEDASSOCIATIONS
OOSE UNIT 06 - Object Oriented Implementation
ASSOCIATIONCLASSES
OOSE UNIT 06 - Object Oriented Implementation
MAPPINGCONTRACTSTOEXCEPTIONS
OOSE UNIT 06 - Object Oriented Implementation
Contracts help in;
 Checking preconditions
 Checking postconditions
 Checking invariants
 Dealing with inheritance
MAPPINGCONTRACTSTOEXCEPTIONS
OOSE UNIT 06 - Object Oriented Implementation
Example
OOSE UNIT 06 - Object Oriented Implementation
OOSE UNIT 06 - Object Oriented Implementation
OOSE UNIT 06 - Object Oriented Implementation
MAPPINGCONTRACTSTOEXCEPTIONS
MAPPINGOBJECTMODELSTOPERSISTENTSTORAGESCHEMA
OOSE UNIT 06 - Object Oriented Implementation
Mapping classes and attributes
MAPPINGOBJECTMODELSTOPERSISTENTSTORAGESCHEMA
OOSE UNIT 06 - Object Oriented Implementation
Mapping associations
MAPPINGOBJECTMODELSTOPERSISTENTSTORAGESCHEMA
OOSE UNIT 06 - Object Oriented Implementation
Mapping associations
MAPPINGOBJECTMODELSTOPERSISTENTSTORAGESCHEMA
OOSE UNIT 06 - Object Oriented Implementation
Mapping inheritance
relationships
(vertical)
MAPPINGOBJECTMODELSTOPERSISTENTSTORAGESCHEMA
OOSE UNIT 06 - Object Oriented Implementation
Mapping inheritance
relationships
(horizontal)
MANAGINGIMPLEMENTATION
Documenting transformations
 For given transformation, use
same tool
 Keep the contracts in the source
code, not in the object design
model
 Use the same names for the
same objects
 Make transformations explicit
Assigning responsibilities
 The core architect
 The architecture liaison
 The developer
OOSE UNIT 06 - Object Oriented Implementation
❃ Read ‘10.6 ARENA Case Study’ from
Bruegge B., and Dutoit A. H. 2010, Object-oriented Software Engineering using
UML, Patterns and Java, 3rd ed., Prentice Hall (Chapter 10)
OOSE UNIT 06 - Object Oriented Implementation
End of Unit 06 : Object-oriented Implementation
OOSE UNIT 06 - Object Oriented Implementation

More Related Content

PDF
Introduction to Software Engineering
PDF
Object Orientation Fundamentals
PDF
Object Oriented Design
PDF
COCOMO methods for software size estimation
PDF
4+1view architecture
PPTX
Architectural structures and views
PPTX
Architectural views
PPTX
Design concept -Software Engineering
Introduction to Software Engineering
Object Orientation Fundamentals
Object Oriented Design
COCOMO methods for software size estimation
4+1view architecture
Architectural structures and views
Architectural views
Design concept -Software Engineering

What's hot (20)

PDF
Software Quality Assurance
PPTX
Object Oriented, Design patterns and data modelling worshop
PDF
Devnology Back to School: Empirical Evidence on Modeling in Software Development
PPT
PPTX
4+1 View Model of Software Architecture
PDF
Software Architecture: views and viewpoints
PDF
Object oriented software engineering
PDF
DEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMS
ODP
1 introduction of OOAD
PDF
Shlaer mellor-method
PPTX
Software architecture and software design
PDF
PPTX
PPT
Design engineering
PDF
Object oriented analysis and design unit- i
PDF
CS8592 Object Oriented Analysis & Design - UNIT IV
PDF
Design and Implementation in Software Engineering
PDF
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
PPTX
Software Design and Modularity
PPTX
Software Quality Assurance
Object Oriented, Design patterns and data modelling worshop
Devnology Back to School: Empirical Evidence on Modeling in Software Development
4+1 View Model of Software Architecture
Software Architecture: views and viewpoints
Object oriented software engineering
DEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMS
1 introduction of OOAD
Shlaer mellor-method
Software architecture and software design
Design engineering
Object oriented analysis and design unit- i
CS8592 Object Oriented Analysis & Design - UNIT IV
Design and Implementation in Software Engineering
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
Software Design and Modularity
Ad

Similar to Object Oriented Implementation (20)

PDF
PPTX
What is Object Orientation?
PPT
"Reusing Pattern in Object-Oriented Design"
PPT
Ch10lect1 ud
PDF
Oo aand d-overview
PPT
Ch08lect1 ud
PPT
AI_Module_2_Engineering_Computer_Science.ppt
PPT
Ch08lect2 ud
PPT
Unit-1 OOMD- Inthhro- class modeling.ppt
PPT
Ch05lect1 ud
PPT
Abbott's Textual Analysis : Software Engineering 2
PPT
Oomd unit1
PPT
Unit 1( modelling concepts & class modeling)
PPSX
MDE in Practice
PPT
6. activity diagrams
 
DOCX
Ooad unit 1
PPT
chapter 5 Objectdesign.ppt
PPT
OOAD-Unit1.ppt
PPT
CEN6016-Chapter1.ppt
What is Object Orientation?
"Reusing Pattern in Object-Oriented Design"
Ch10lect1 ud
Oo aand d-overview
Ch08lect1 ud
AI_Module_2_Engineering_Computer_Science.ppt
Ch08lect2 ud
Unit-1 OOMD- Inthhro- class modeling.ppt
Ch05lect1 ud
Abbott's Textual Analysis : Software Engineering 2
Oomd unit1
Unit 1( modelling concepts & class modeling)
MDE in Practice
6. activity diagrams
 
Ooad unit 1
chapter 5 Objectdesign.ppt
OOAD-Unit1.ppt
CEN6016-Chapter1.ppt
Ad

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Cloud computing and distributed systems.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
cuic standard and advanced reporting.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
MYSQL Presentation for SQL database connectivity
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Electronic commerce courselecture one. Pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Cloud computing and distributed systems.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
sap open course for s4hana steps from ECC to s4
Per capita expenditure prediction using model stacking based on satellite ima...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Network Security Unit 5.pdf for BCA BBA.
Review of recent advances in non-invasive hemoglobin estimation
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
NewMind AI Weekly Chronicles - August'25 Week I
cuic standard and advanced reporting.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Approach and Philosophy of On baking technology
MYSQL Presentation for SQL database connectivity
The Rise and Fall of 3GPP – Time for a Sabbatical?
20250228 LYD VKU AI Blended-Learning.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Electronic commerce courselecture one. Pdf

Object Oriented Implementation