20
Object Analysis And Design By Aj.Rungrot Sookjaimook

Object Analysis And Design - roongrote.crru.ac.th

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Object Analysis And

Design

By Aj.Rungrot Sookjaimook

Object Analysis And Design

Chapter 2

Object Orientation

UML Object Oriented Concept Abstraction

By Aj.Rungrot Sookjaimook

UML : Unified Modeling Language

By Aj.Rungrot Sookjaimook

āļ āļēāļĐāļēāļ—āđƒāļŠāļŠāļāļĨāļāļĐāļ“āđ€āļŠāļ‡āļ āļēāļžāļāļĢāļēāļŸāļŸāļ āđƒāļ™āļāļēāļĢāļ™ āļēāđ€āļŠāļ™āļ­āļ•āļēāļĄāļāļāđ€āļāļ“āļ‘

āđāļĨāļ°āļ§āļ˜āļāļēāļĢāļ—āļ āļēāļŦāļ™āļ”āđ„āļ§ āđƒāļŠāļŠ āļēāļŦāļĢāļšāļāļēāļĢāļ™ āļēāđ€āļŠāļ™āļ­āļ•āļēāļĄāļĄāļĄāļĄāļ­āļ‡āļ‚āļ­āļ‡āļŠāļ‡āļ—āļĄāļ­āļĒāļˆāļĢāļ‡ āđ€āļžāļ­āđƒāļŦāļŠāļēāļĄāļēāļĢāļ–āļ™ āļēāđ„āļ›āđƒāļŠāļāļšāļāļēāļĢāļ­āļ­āļāđāļšāļšāđāļĨāļ°āļžāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđāļ§āļĢāđ€āļŠāļ‡āļ§āļ•āļ– āđ‚āļ”āļĒāļĄāļœāļšāļāđ€āļšāļ 3 āļ„āļ™ āļ„āļ­ Grady Booch, James Rumbaugh, Ivar Jacobson

Object Analysis And Design

Object Oriented Concept

āļŠāļēāļĄāļēāļĢāļ–āđāļ—āļ™āļŠāļ‡āļ•āļēāļ‡ āđ† āđƒāļ™āđ‚āļĨāļāđāļŦāļ‡āļ„āļ§āļēāļĄāđ€āļ›āļ™āļˆāļĢāļ‡āđ„āļ”āļ”āļ§āļĒ Object (āļ§āļ•āļ–) āđ„āļĄāļ§āļēāļˆāļ°āđ€āļ›āļ™āļ§āļ•āļ–āļ—āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļˆāļšāļ•āļ­āļ‡āđ„āļ” (Tangible Object) āļŦāļĢāļ­ āļ§āļ•āļ–āļ—āđ„āļĄāļŠāļēāļĄāļēāļĢāļ–āļˆāļšāļ•āļ­āļ‡āđ„āļ”āļāļ•āļēāļĄ (Intangible Object)

Object Analysis And Design

Tangible Object āđ€āļŠāļ™ āļ„āļ­āļĄāļžāļ§āđ€āļ•āļ­āļĢ āļĢāļ–āļĒāļ™āļ• āđ‚āļ•āļ° āđ€āļāļēāļ­ āļ›āļēāļāļāļē āļ”āļ™āļŠāļ­ āļŊāļĨāļŊ

Intangible Object āđ€āļŠāļ™ āļ‚āļ­āļšāļ‡āļ„āļš āļŦāļĢāļ­āļšāļ—āļšāļāļāļ• āđ€āļ§āļĨāļē āļ„āļ§āļēāļĄāļĢ āļŊāļĨāļŊ

By Aj.Rungrot Sookjaimook

Object Oriented Concept (āļ•āļ­)

āđƒāļ™āđ‚āļĨāļāļ™āļĄ Object āļĄāļēāļāļĄāļēāļĒāļŠāļ‡āļ—āđ€āļāļ”āļˆāļēāļ Object āļ•āļēāļ‡ āđ† āļāļ„āļ­ āļāļˆāļāļĢāļĢāļĄ(Activities) āļ„āļ§āļēāļĄāđ€āļ„āļĨāļ­āļ™āđ„āļŦāļ§(Movement) āļŦāļĢāļ­āļāļēāļĢāļāļĢāļ°āļ— āļē (Actions) āđ€āļŠāļ™ āļ„āļ™āļĢāļšāļ›āļĢāļ°āļ—āļēāļ™āļ­āļēāļŦāļēāļĢ āļŠāļ™āļ‚āđ€āļĨāļ™āļāļšāđāļĄāļ§

Object Analysis And Design

By Aj.Rungrot Sookjaimook

Object Oriented Concept (āļ•āļ­)

āđ€āļĄāļ­āļžāļˆāļēāļĢāļ“āļēāđāļĨāļ§āļˆāļ°āļžāļšāļ§āļēāļāļˆāļāļĢāļĢāļĄāļ•āļēāļ‡ āđ† āļ—āđ€āļāļ”āļ‚āļ™āđƒāļ™āļŠāļ§āļ•āļ›āļĢāļ°āļˆ āļēāļ§āļ™

āļĨāļ§āļ™āđāļĨāļ§āđāļ•āđ€āļāļ”āļˆāļēāļāļāļēāļĢāļĄāļ„āļ§āļēāļĄāļŠāļĄāļžāļ™āļ˜(Relationship) āđāļĨāļ°āļāļēāļĢāļĄāļ›āļāļŠāļĄāļžāļ™āļ˜ (Interaction) āļĢāļ°āļŦāļ§āļēāļ‡ Object 2 āļ•āļ§āļ‚āļ™āđ„āļ›

Object Analysis And Design

By Aj.Rungrot Sookjaimook

Class : āđ€āļ›āļĢāļĒāļšāđ€āļŠāļĄāļ­āļ™āđāļĄāļžāļĄāļž Template āļ—āđƒāļŠāđ€āļžāļ­āļŠāļĢāļēāļ‡ Object āļŦāļĢāļ­ Instance

Object Analysis And Design

Object āļŦāļĢāļ­ Instance : āļ„āļ­āļŠāļ‡āļ—āđ€āļāļ”āļ‚āļ™āļˆāļēāļāļāļēāļĢāļŠāļĢāļēāļ‡āđ‚āļ”āļĒ Class āļ‹āļ‡āļˆāļ°āđ€āļ›āļ™āļœāļ— āļēāļāļˆāļāļĢāļĢāļĄāļ•āļēāļ‡āđ† āđƒāļ™āļĢāļ°āļšāļšāļ„āļ­āļĄāļžāļ§āđ€āļ•āļ­āļĢ

Object Oriented Concept (āļ•āļ­) Object and Class

By Aj.Rungrot Sookjaimook

Object Analysis And Design

Object Oriented Concept (āļ•āļ­) Object and Class

CAR

Van Bus Truck

CAR Bus << Instance of >> CAR Truck << Instance of >>

By Aj.Rungrot Sookjaimook

Object Analysis And Design

Object Oriented Concept (āļ•āļ­) Attribute and Function

Attribute āļ„āļ“āļŠāļĄāļšāļ•āļ•āļēāļ‡ āđ† āļ—āđƒāļŠāļšāļĢāļĢāļĒāļēāļĒ Object āđ‚āļ”āļĒāļ„āļ“āļŠāļĄāļšāļ•āđ€āļŦāļĨāļēāļ™āļˆāļ°āļ­āļĒ āļ āļēāļĒāđƒāļ™āļŠāļ‡āļ—āđ€āļĢāļēāļŠāļ™āđƒāļˆāđ€āļ—āļēāļ™āļ™

Function / Operation / Method āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļ— āļēāļāļˆāļāļĢāļĢāļĄāļ‚āļ­āļ‡ Object

By Aj.Rungrot Sookjaimook

Object Analysis And Design

Object Oriented Concept (āļ•āļ­)

āļ„āļ“āļŠāļĄāļšāļ• āļœāļĨāđ„āļĄ

āļĢāļŠāļŠāļēāļ” āļŠ

āļĄāļ°āļĄāļ§āļ‡ āļĄāļ™ āđ€āļ‚āļĒāļ§

āđāļ­āļ›āđ€āļ› āļĨ āļŦāļ§āļēāļ™ āđāļ”āļ‡

āļĄāļ°āļ™āļēāļ§ āđ€āļ›āļĢāļĒāļ§ āđ€āļŦāļĨāļ­āļ‡

By Aj.Rungrot Sookjaimook

Object Analysis And Design

Object Oriented Concept (āļ•āļ­)

Class : āļœāļĨāđ„āļĄ Object : āļĄāļ°āļĄāļ§āļ‡ āđāļ­āļ›āđ€āļ›āļĨ āļĄāļ°āļ™āļēāļ§ Attribute : āļĢāļŠāļŠāļēāļ” āļŠ

By Aj.Rungrot Sookjaimook

Object Analysis And Design

Object Oriented Concept (āļ•āļ­)

Class name

Attribute name

Operation

*** āļ­āļēāļˆāļĄ Constraint (āļ‚āļ­āļ āļēāļŦāļ™āļ” āļŦāļĢāļ­āļ„āļ§āļēāļĄāļ•āļ­āļ‡āļāļēāļĢāļ‚āļ­āļ‡ Object)

āđāļœāļ™āļ āļēāļžāđ€āļžāļ­āļāļēāļĢāļ­āļ˜āļšāļēāļĒ Class

By Aj.Rungrot Sookjaimook

Object Analysis And Design

Object Oriented Concept (āļ•āļ­)

Circle

Radius {radius > 0}Centerpoint ; point = (10,10)

display()remove()

setPosition(pos : point)setRadius(newRadius)

āļ•āļ§āļ­āļĒāļēāļ‡āđāļœāļ™āļ āļēāļžāđ€āļžāļ­āļāļēāļĢāļ­āļ˜āļšāļēāļĒ Class

By Aj.Rungrot Sookjaimook

Class name

Attribute name Constraint Initial value

Parameter (Name : Type = Initial value)

Operation

Attribute Type

Abstraction

By Aj.Rungrot Sookjaimook

āļ„āļ­āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāđƒāļ™āļāļēāļĢāđƒāļŦ Concept āļāļš Object āļ•āļēāļ‡ āđ† āđ€āļžāļ­āļŠāļĢāļēāļ‡ Class

Object Analysis And Design

āđāļšāļ‡āļ­āļ­āļāđ€āļ›āļ™ 4 āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļĒāļ­āļĒ āđ† āļ„āļ­ Classification Abstraction Aggregation Abstraction Generalization Abstraction Association Abstraction

Abstraction

Object Analysis And Design

Classification Abstraction

āļ„āļ­āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ—āđƒāļŠāđ€āļžāļ­āđāļĒāļāļ›āļĢāļ°āđ€āļ āļ— Object āļ•āļēāļ‡ āđ† āđ€āļžāļ­āđƒāļŦāđ„āļ”āļĄāļēāļ‹āļ‡ Class

Concept āđ€āļāļĒāļ§āļāļšāļĢāļ– 1.āļĄāđ€āļ„āļĢāļ­āļ‡āļĒāļ™āļ•

2. āļĄāļĨāļ­ 3. āļ§āļ‡āđ„āļ›āļšāļ™āļ–āļ™āļ™āđ„āļ”

4.āđƒāļŠāđ€āļŠāļ­āđ€āļžāļĨāļ‡

āļĢāļ–āļĒāļ™āļ• āđ€āļĢāļ­āđƒāļš

āļˆāļāļĢāļĒāļēāļ™āļĒāļ™āļ•

āļĢāļ–āļˆāļāļĢāđ„āļ­āļ™ āļē āļĢāļ–āđ€āļĄāļĨ

āļˆāļāļĢāļĒāļēāļ™ āļĢāļ–āđ€āļāļ‡ By Aj.Rungrot Sookjaimook ***āļĄāļ„āļ§āļēāļĄāļŠ āļēāļ„āļāļĄāļēāļāļ—āļŠāļ”

Abstraction

Object Analysis And Design

Aggregation Abstraction

āļ„āļ­āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ—āļ™ āļēāđ€āļ­āļē Class āļ—āđ€āļāļ”āļˆāļēāļāļāļĢāļ°āļšāļ§āļ™āļāļēāļĢ Classification āļĄāļēāļĢāļ§āļĄāļāļ™āļŦāļĢāļ­āļ›āļĢāļ°āļāļ­āļšāļāļ™āđ€āļžāļ­āđƒāļŦāđ€āļāļ”āđ€āļ›āļ™ Class āļ—āđƒāļŦāļāļ‚āļ™ āļŦāļĢāļ­ āļ‹āļšāļ‹āļ­āļ™āļ‚āļ™

By Aj.Rungrot Sookjaimook

āļĢāļ–āļĒāļ™āļ• aggregation

āđ€āļ„āļĢāļ­āļ‡āļĒāļ™āļ•

āļ•āļ§āļ–āļ‡

āļĨāļ­

aggregation

āļ›āļĢāļ°āļ•

āļāļĢāļ°āļˆāļāļŦāļ™āļē

āđ‚āļ„āļĢāļ‡

Abstraction

Object Analysis And Design

Generalization Abstraction

āļ„āļ­āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāđƒāļ™āļāļēāļĢāļ™ āļē Class āļ—āļĄāļĨāļāļĐāļ“āļ°āđ€āļŦāļĄāļ­āļ™āļŦāļĢāļ­āļ„āļĨāļēāļĒāļ„āļĨāļ‡āļāļ™

āļŦāļĢāļ­āļĄāļ„āļ“āļŠāļĄāļšāļ•āļ­āļĒāļēāļ‡āđƒāļ”āļ­āļĒāļēāļ‡āļŦāļ™āļ‡āļĢāļ§āļĄāļāļ™ āļĄāļēāļˆāļ”āļŦāļĄāļ§āļ”āļŦāļĄ āđ„āļ§āđ€āļ›āļ™ Class āđ€āļ”āļĒāļ§āļāļ™ āđāļĨāļ°āļĄāļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļĒāļ­āļ™āļāļĨāļšāļ‚āļ­āļ‡ Generalization Abstraction āđ€āļĢāļĒāļāļ§āļē Specialization Abstraction āļ„āļ­āļāļēāļĢāļ•āļ­āļšāļ„ āļēāļ–āļēāļĄāļ§āļēāđƒāļ™ Class āļŦāļ™āļ‡āđ†āļ™āļ™ āļŠāļēāļĄāļēāļĢāļ–āļˆ āļēāđāļ™āļāđ€āļ›āļ™ Class āļ­āļ°āđ„āļĢāđ„āļ”āļšāļēāļ‡

By Aj.Rungrot Sookjaimook

Abstraction

Object Analysis And Design

Generalization Abstraction (āļ•āļ­)

By Aj.Rungrot Sookjaimook

āļĢāļ–āļĒāļ™āļ• āļ„āļ“āļŠāļĄāļšāļ• : āļĄāļĨāļ­ āļĄāđ€āļ„āļĢāļ­āļ‡āļĒāļ™āļ•

āļĢāļ–āļšāļĢāļĢāļ—āļ āļ„āļ“āļŠāļĄāļšāļ• : āļ„āļ“āļŠāļĄāļšāļ•āļ‚āļ­āļ‡āļĢāļ–āļĒāļ™āļ•+

āļŠāļēāļĄāļēāļĢāļ–āļšāļĢāļĢāļ—āļāļ‚āļ­āļ‡āđ„āļ”

āļĢāļ–āđ€āļāļ‡ āļ„āļ“āļŠāļĄāļšāļ• : āļ„āļ“āļŠāļĄāļšāļ•āļ‚āļ­āļ‡āļĢāļ–āļĒāļ™āļ•+

āđƒāļŠāđ‚āļ”āļĒāļŠāļēāļĢ āļĄ 4 āļ›āļĢāļ°āļ•

āļĢāļ–āđ€āļāļ‡āļŠāļ›āļ­āļĢāļ• āļ„āļ“āļŠāļĄāļšāļ• : āļ„āļ“āļŠāļĄāļšāļ•āļ‚āļ­āļ‡āļĢāļ–āđ€āļāļ‡+ āļŠāļēāļĄāļēāļĢāļ–āļ§āļ‡āđ„āļ”āđ€āļĢāļ§āļāļ§āļēāļĢāļ–āđ€āļāļ‡āļ—āļ§āđ„āļ›

Abstraction

Object Analysis And Design

Association Abstraction

By Aj.Rungrot Sookjaimook

āļ„āļ­āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāđƒāļ™āļāļēāļĢāļŠāļĢāļēāļ‡āļ„āļ§āļēāļĄāļŠāļĄāļžāļ™āļ˜āļĢāļ°āļŦāļ§āļēāļ‡ Class āļ•āļēāļ‡ āđ† āļ—āđ€āļĢāļēāļŠāļ™āđƒāļˆ āļ„āļ§āļēāļĄāļŠāļĄāļžāļ™āļ˜āļ”āļ‡āļāļĨāļēāļ§āļ„āļ­āļ„āļ§āļēāļĄāļŠāļĄāļžāļ™āļ˜āļ—āđ„āļĄāļŠāļēāļĄāļēāļĢāļ–āļ­āļ˜āļšāļēāļĒ āđ„āļ”āļ”āļ§āļĒ Aggregation Abstraction āļŦāļĢāļ­ Generalization Abstraction Association Abstraction āļˆāļ‡āđ€āļ›āļ™āļāļēāļĢāļ­āļ˜āļšāļēāļĒāļ„āļ§āļēāļĄāļŠāļĄāļžāļ™āļ˜āļ‚āļ­āļ‡ Class āđƒāļ™āđ€āļŠāļ‡āļāļˆāļāļĢāļĢāļĄ

Abstraction

Object Analysis And Design

Association Abstraction (āļ•āļ­)

By Aj.Rungrot Sookjaimook

āļ„āļ™ āļĢāļ–āļĒāļ™āļ• āļ–āļ™āļ™

āļ™ āļēāļĄāļ™

āļ‚āļš āļ§āļ‡āļ­āļĒāļšāļ™

āđƒāļŠāđ€āļ›āļ™āđ€āļŠāļ­āđ€āļžāļĨāļ‡