Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994...

19
Venkatesh Vinayakarao (Vv) Object Oriented Analysis and Design (OOAD) An Introduction Venkatesh Vinayakarao [email protected] http://vvtesh.co.in Chennai Mathematical Institute https://vvtesh.sarahah.com/ The art of simplicity is a puzzle of complexity. –Douglas Horton.

Transcript of Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994...

Page 1: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Venkatesh Vinayakarao (Vv)

Object Oriented Analysis and Design(OOAD)

An Introduction

Venkatesh [email protected]

http://vvtesh.co.in

Chennai Mathematical Institute

https://vvtesh.sarahah.com/

The art of simplicity is a puzzle of complexity. –Douglas Horton.

Page 2: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Recap

Page 3: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Recap

216

No Interactive JobsNo Jobs Requiring Co-ordination No Small Files

When not to use Hadoop?

Map

Re

du

ce

Shu

ffle

an

d S

ort

Map-reduce Model

Hadoop Architecture

Page 4: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Recap

Unified Modeling language (UML) is a

standardized modeling language

enabling developers to

specify, visualize, construct and document

artifacts of a software system.

Page 5: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

History

•UML combines best of three principal methods:

● The Booch method, devised by Grady Booch,

● Object-oriented Modeling Technique (OMT),

devised by Jim Rumbaugh,

● Object-oriented Software Engineering (also known as Objectory), devised by Ivar Jacobson.

218

Hence called “Unified”

Page 6: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

History

● 1994● Jim Rumbaugh joins Grady Booch at Rational Software to

merge their methods.

● 1995● Booch and Rumbaugh published version 8 of the Unified

method. Rational Software buys Objectory and Ivar Jacobson joins the company.

● 1997● Booch, Rumbaugh and Jacobson release (through Rational) a

proposal of version 1 of UML.

● 1997● UML version 1.1 was adopted by The Object Management

Group (OMG), a non-profit organization.

219

Page 7: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Modeling Software Systems

● How is the software structured? (Structural Description)● Class Diagram● Object Diagram● Component Diagram● Deployment Diagram● Composite Structure Diagram● Package Diagram

● What does the software do? (Behavioral Description)● Use Case Diagram● Activity Diagram● Interaction Overview● How do multiple components interact? (Interaction Description)

– Sequence Diagram– Communication Diagram– Timing Diagram– Interaction Overview Diagram

220

Page 8: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Class Notation

221

Dog

breed : String

jump

eat

bark

Calculator

scientific : boolean

add

multiply

divide

subtract

Page 9: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Class → Code Transformation

class Dog{

String breed;

int bark(){

...}

}

Dog

breed : String

jump

eat

bark

222

Page 10: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Relationships

• Composition: Part-Whole Relationship where part cannot exist independently without the whole.

• Aggregation: Part-Whole Relationship where part may exist without the whole. Can you think of one?• Course – Student Relationship.

Person

Leg

Hand

223

Page 11: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Relationships - Generalization

● Supertype – subtype relationship.

● Also known as “is a” relationship.

● Any instance of the subtype is also an instance of the supertype.

224

Example 1: Button is a rectangular clickable object.

Example 2: There are three account types: Checking, Savings and Credit.

Page 12: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Class Diagram

University Scenario

225

Source: uiowa.edu.

Page 13: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Object Diagram

• At a specific time, shows the object instances and relationships.

226

Dog tommy = new Dog();

Tommy: Dog

breed : String

jump

eat

bark

Page 14: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Quiz

• Draw an object diagram for the following scenario.

227

The course BDH is offered in 2020. Raj is a student enrolled in this course. The course

instructor is Venkatesh.

Page 15: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Identify the Classes

228

The course BDH is offered in 2020. Raj is a student enrolled in this course. The course

instructor is Venkatesh.

Page 16: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Identify the Objects

229

The course BDH is offered in 2020. Raj is a student enrolled in this course. The course

instructor is Venkatesh.

Page 17: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Limitations

• Complex to hand-write UML diagrams. We need tools.

• Even with UML, auto-generation of code requires the model to be at very low level. This is considered impractical.

• There are too many diagrams and yet descriptions are not well captured.

230

Page 18: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Intr

od

uct

ion

Resources

• Tools: ArgoUML (http://argouml.tigris.org/)

• Books:

231

Page 19: Design (OOAD)vvtesh.co.in/teaching/bigdata-2020/slides/Lecture7... · 2020-02-10 · History 1994 Jim Rumbaugh joins Grady Booch at Rational Software to merge their methods. 1995

Venkatesh Vinayakarao (Vv)Love Tarun

THANK YOU

The art of simplicity is a puzzle of complexity. –Douglas Horton.