unit 4
DESCRIPTION
TRANSCRIPT
![Page 1: Unit 4](https://reader036.vdocuments.mx/reader036/viewer/2022082700/54c2ece04a795990308b45bd/html5/thumbnails/1.jpg)
Unit 4
Object Oriented design process and design axioms
![Page 2: Unit 4](https://reader036.vdocuments.mx/reader036/viewer/2022082700/54c2ece04a795990308b45bd/html5/thumbnails/2.jpg)
Object Oriented design process
Design calsses, methods, attributes,
associations
Refine UML classDiagrams
Apply design axioms Design
view /access layers and prototype
User satisfaction and usability test based on
use cases
Access layer
•Create mirror class•Identify access layer class relationship•Simplify class and relationship
•Remove redundant class•Method class
![Page 3: Unit 4](https://reader036.vdocuments.mx/reader036/viewer/2022082700/54c2ece04a795990308b45bd/html5/thumbnails/3.jpg)
Object Oriented design axioms
• Axioms– Hypothesized from observation– Common truth– Always valid– No need to prove and derive
• Theorem– It can be proven from axioms
• Corollary– Follows from axioms and theorems
![Page 4: Unit 4](https://reader036.vdocuments.mx/reader036/viewer/2022082700/54c2ece04a795990308b45bd/html5/thumbnails/4.jpg)
Axioms for OOAD• Axiom1
– Maintain the independence of component• While going from requirements and use case to system component, each
component must satisfy requirements without affecting other requirements• Ex:Fridge door
– Req» Access to food» Minimal energy loss
– Vertical door» Access to food» No Minimal energy loss
– Horizontal door» Provides both requiremnt
• Axiom 2– Minimize the information content of the design
![Page 5: Unit 4](https://reader036.vdocuments.mx/reader036/viewer/2022082700/54c2ece04a795990308b45bd/html5/thumbnails/5.jpg)
corollary
• Called design rules
• Derived from axioms
![Page 6: Unit 4](https://reader036.vdocuments.mx/reader036/viewer/2022082700/54c2ece04a795990308b45bd/html5/thumbnails/6.jpg)
corollaries
• Corollary 1– Uncoupled design with less information content
• Corollary 2– Single purpose
• Corollary 3– Large number of single classes
• Corollary 4– Strong mapping
• Corollary 5– standardization
• Corollary 6– Design with inheritance
![Page 7: Unit 4](https://reader036.vdocuments.mx/reader036/viewer/2022082700/54c2ece04a795990308b45bd/html5/thumbnails/7.jpg)
Axiom1
Axiom2
Corollary 1
Corollary 2
Corollary 3
Corollary 6Corollary 5
Corollary 4
![Page 8: Unit 4](https://reader036.vdocuments.mx/reader036/viewer/2022082700/54c2ece04a795990308b45bd/html5/thumbnails/8.jpg)
Corollary 1• Uncoupled design with less information content
– Goal• Maximize cohesiveness• Improve coupling• Less information transaction among objects
– Coupling• Deals interaction among objects
– Types of coupling• Interaction coupling
– Involves the amount and complexity of messages bw components– Tightly coupled objects leads to change in one object reflects changes
in others• Inheritance coupling
– Inheritance is form of coupling bw super and sub class– High Inheritance coupling is desirable
– Cohesion• Deals interaction within a single objects• Reflects single purpose ness• High cohesiveness can lower coupling
![Page 9: Unit 4](https://reader036.vdocuments.mx/reader036/viewer/2022082700/54c2ece04a795990308b45bd/html5/thumbnails/9.jpg)
Corollary 2
• Single purpose– Each class must have a purpose – Clearly defined and necessary in the context
of achieving system’s goals
![Page 10: Unit 4](https://reader036.vdocuments.mx/reader036/viewer/2022082700/54c2ece04a795990308b45bd/html5/thumbnails/10.jpg)
Corollary 3
• Large number of single classes, reusability– The less specialized the classes are, the
more likely future problems can be solved by a recombination of existing classes
– Smaller classes• less specialized• Chance of reusing
– Large and complex classes• More specialized• Less chances of reusing
![Page 11: Unit 4](https://reader036.vdocuments.mx/reader036/viewer/2022082700/54c2ece04a795990308b45bd/html5/thumbnails/11.jpg)
Corollary 4
• Strong mapping– As the model progress from analysis to
implementation, more detail is added, but it remains the same
– Strong mapping links classes identified during analysis and design phase
![Page 12: Unit 4](https://reader036.vdocuments.mx/reader036/viewer/2022082700/54c2ece04a795990308b45bd/html5/thumbnails/12.jpg)
Corollary 5
• Standardization– Documentation
• Knowledge of existing classes helps to identify new classes
![Page 13: Unit 4](https://reader036.vdocuments.mx/reader036/viewer/2022082700/54c2ece04a795990308b45bd/html5/thumbnails/13.jpg)
Corollary 6
• Design with inheritance