More Related Content
More from TaiMe Sakdisri (19)
Unit04
- 1. āļŦāļïāļ§āļĒāļāļĩāđ 4
āļāļēāļĢāļŠāļĢïāļēāļāđāļāļāļāđāļēāļĨāļāļāļāļĨāļēāļŠ
(Class Modelling)
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 1
- 2. āļ§āļąāļāļāļļāļāļĢāļ°āļŠāļāļï
āđāļāļ·āđāļāđāļŦïāļïāļđāđāļĢāļĩāļĒāļāļŠāļēāļĄāļēāļĢāļ
āļāļāļīāļāļēāļĒāļāļēāļĢāļŠāļĢïāļēāļāļāļĨāļēāļŠāđāļĄāđāļāļĨāđāļï
āļāļāļīāļāļēāļĒāļāļēāļĢāđāļïāļāļĨāļĨāļąāļāļïāļāļāļāļĒāļđāļŠāđāļāļŠāđāļĄāđāļāļĨāđāļï
āļāļāļīāļāļēāļĒāļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦïāđāļāļĢāļāļŠāļĢïāļēāļāļāļāļāļĢāļ°āļāļāđāļï
āļāļāļīāļāļēāļĒāļāļēāļĢāļŠāļĢïāļēāļāļāļīāļāļāļļāļāļŠāđāļēāļŦāļĢāļąāļāļāļąāđāļāļāļēāļĢāļāļāļāđāļāļāđāļï
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 2
- 3. āļŦāļĨāļąāļāļāļēāļĢāļāļąāļāļāļēāļĢāļ°āļāļāđāļāļīāļāļ§āļąāļāļāļļ
āđāļïāļāļŠïāļ§āļāļāļąāļāļāļēāļĢ (divide-and-conquer)
āđāļïāļāļïāļāļŦāļēāļāļĩāđāļāļąāļāļïāļāļāđāļïāļāļāđāļāļāđāļāļāļï
āđāļāđāļāđāļāđāļāļāļļāđāļĨāļāļąāļ (encapsulation)
āđ
āđāļïāļĨāļ°āļāđāļāļāđāļāļāļïāļāļđāļāļāđāļēāļŦāļāļāļāļāļāļēāļāļāļĩāļāļāđāļāļ
āđ āļą
āļāļēāļĢāļāļīāļāļïāļāļïāļēāļāļāļīāļāđāļāļāļĢïāđāļāļŠ (interface)
āđāļïāļĨāļ°āļāđāļāļāđāļāļāļïāđāļïāļāđāļāļĒāļāļīāļāđāļāļāļĢïāđāļāļŠāļāļĩāđāļāđāļēāļŦāļāļāļ§āļīāļāļĩāļāļēāļĢāđāļïāļāļēāļ
āļāđāļēāļāļąāļāļĄāļļāļĄāļĄāļāļ (abstraction)
āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļĢāđāļŠïāđāļāļïāļāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāļāļĩāđāļŠāļēāļāļąāļāļāļāļāļāđāļāļ
āđ
āđāļāļāļïāļāļāļ°āļāļĩāđāļĨāļ°āđāļĨāļĒāđāļĢāļ·āđāļāļāļāļ·āđāļ
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 3
- 4. āđāļāļāļāđāļēāļĨāļāļāļāļĨāļēāļŠ (Class Model)
āđāļāļāļāđāļēāļĨāļāļāļāļĨāļēāļŠ(class model) āļŦāļĢāļ·āļ āđāļāļāļāđāļēāļĨāļāļ
āđāļāļīāļāđāļāļĢāļāļŠāļĢïāļēāļ (structural model) āđāļŠāļāļāđāļāļĢāļāļŠāļĢïāļēāļ
āļāļāļāļĢāļ°āļāļāđāļāļĢāļđāļāļāļāļāļāļĨāļēāļŠāđāļĨāļ°āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļïāļĢāļ°āļŦāļ§ïāļēāļ
āļāļĨāļēāļŠāđāļāļāļāļāđāļāļāļïāļāļŦāļē
āļŠāļĢïāļēāļāļāļ§āļēāļĄāđāļïāļēāđāļāļāļĩāđāļāļĢāļāļāļąāļāđāļāļĩāđāļĒāļ§āļāļąāļāļāļĢāļāļāļāļ§āļēāļĄāļāļīāļāļāļāļ
āļŠāļīāđāļāļïāļēāļāđ āđāļāļāļāļāđāļāļāļïāļāļŦāļē
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 4
- 5. āļāļāļïāļāļĢāļ°āļāļāļāļāļāļāđāļāļāļāđāļēāļĨāļāļāļāļĨāļēāļŠ
āļāļĨāļēāļŠ (classes) = āļïāļāđāļāļāļŠāđāļēāļŦāļĢāļąāļāļŠāļĢïāļēāļāļāļāļāđāļāđāļ
āļāļāļāļāļĢāļĩāļāļāļĨāļēāļŠ (Concrete classes)
āđāļāđāļāļŠāđāļāļĢāđāļāļāļĨāļēāļŠ (Abstract classes)
āđāļāļāļāļĢāļīāļāļ§ (attributes) = āļŦāļïāļ§āļĒāļïāļāļĄāļđāļĨāļāļĩāđāļāļĩāđāļĒāļ§āļïāļāļāļāļąāļ
āļī āđ
āļĨāļąāļāļĐāļāļ°āļāļāļāļāļĨāļēāļŠ
āļāļ§āļĢāļĄāļĩāđāļāļāļēāļ°āđāļāļāļāļĢāļīāļāļīāļ§āļāļĩāđāļŠāđāļēāļāļąāļāļïāļāļāļĩāđāļāļēāļĢāļāđāļēāļāļēāļ
āđāļāđāļāļāļĢïāđāļĢāļāļąāļ (operations) = āļāļēāļĢāļāļĢāļ°āļāđāļēāļāļĩāļāļāļāđāļāđāļ
āđ
āļāļāļāļāļĨāļēāļŠāļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļï
āļŠāļāđāļāđāļāļāļēāļ°āđāļāđāļāļāļĢïāļāļāļāļĩāđāđāļāļĩāđāļĒāļ§āļïāļāļāļāļąāļāļïāļāļŦāļē
āļą
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 5
- 6. āļāļāļïāļāļĢāļ°āļāļāļāļāļāļāđāļāļāļāđāļēāļĨāļāļāļāļĨāļēāļŠ
āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļï (Relationships)
Generalization
āļāļēāļĢāļŠāļ·āļāļāļāļāđāļāļāļāļĢāļīāļāļīāļ§ āđāļĨāļ°āđāļāđāļāļāļĢïāļāļ
āļą
A-kind-of Relationship
Aggregation
āđāļāļĩāđāļĒāļ§āļïāļāļāđāļāļāđāļïāļāļŠïāļ§āļāļŦāļāļķāđāļ (a-part-of relationship)
Association
āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļïāļĢāļ°āļŦāļ§ïāļēāļāļāļĨāļēāļŠāđāļāļāļāļ·āļāđ
āđ
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 6
- 7. āļāļĢāļ°āđāļ āļāļāļāļāļāļĨāļēāļŠ
Boundary classes/Interface classes
āļāđāļēāļĨāļāļāļāļēāļĢāļāļāļīāļŠāļąāļĄāļāļąāļāļïāļĢāļ°āļŦāļ§ïāļēāļāļĢāļ°āļāļāđāļĨāļ°āđāļāļāđāļāļāļĢï
Entity classes
āļāđāļēāļĨāļāļāļŠāļēāļĢāļŠāļāđāļāļĻāđāļĨāļ°āļāļĪāļāļīāļāļĢāļĢāļĄāļāļĩāđāđāļāļĩāđāļĒāļ§āļāļāļāđāļāđāļŦāļāļļāļāļēāļĢāļïāļŦāļĢāļ·āļ
āđāļāļ§āļāļīāļ
Control classes
āđāļŠāļāļāļāļēāļĢāļāļĢāļ°āļŠāļēāļāļāļēāļ āļĨāđāļēāļāļąāļ āđāļĨāļ°āļāļēāļĢāļāļ§āļāļāļļāļĄāļāļāļāđāļāđāļāļāļ·āđāļāđ
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 7
- 14. āļāļēāļĢāļŠāļĢïāļēāļāđāļāļāļāđāļēāļĨāļāļāļāļĨāļēāļŠ (Class
Model)
āļ§āļąāļāļāļļāļāļĢāļ°āļŠāļāļï : āļŠāļĢïāļēāļāļĨāļāļāļīāļāļāļąāļĨāđāļĄāđāļāļĨāļāļāļāļĢāļ°āļāļ
āļāļīāļāļāļļāļ : āļĒāļđāļŠāđāļāļŠāđāļĄāđāļāļĨ
āđāļāļēāļïāļāļļāļ : āļāļĨāļēāļŠāđāļĄāđāļāļĨ (āļŠāļāļĢāļąāļāđāļāļāļĢāļąāļĨāđāļĄāđāļāļĨ)
āļāļĨāļēāļŠāđāļāļāļ°āđāļāļĢāļĄ
āļāđāļēāļāļāļīāļāļēāļĒāļāļĨāļēāļŠ
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 14
- 15. āļāļēāļĢāļŠāļĢïāļēāļāđāļāļāļāđāļēāļĨāļāļāļāļĨāļēāļŠ (Class
Model)
āļāļąāđāļāļāļāļ :
āļïāļāļŦāļēāļāļĨāļēāļŠ
āļāđāļēāļŦāļāļāļāļ§āļēāļĄāļĢāļąāļāļāļīāļāļāļāļāļāļāļāđāļïāļĨāļ°āļāļĨāļēāļŠ
āļāđāļēāļŦāļāļāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļāļāļāļĨāļēāļŠ
āļŠāļĢïāļēāļāļāļĨāļēāļŠāđāļāļāļ°āđāļāļĢāļĄ
āļāļĢāļ§āļāļŠāļāļāđāļĨāļ°āļāļĢāļąāļāļāļĢāļļāļāļāļĨāļēāļŠāđāļāļāļ°āđāļāļĢāļĄ
āļāļąāļāļāļĨāļēāļŠāđāļïāļāđāļïāļāđāļāđāļāđāļāļ (packages)
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 15
- 16. āļ§āļīāļāļĩāļāļēāļĢāļŦāļēāļāļĨāļēāļŠ
(Approaches for Identifying classes)
āļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦïāļāļēāļĄāļ§āļĨāļĩ (Noun phrase approach)
āļāļēāļĢāđāļïāļĒāļŠāđāļāļŠāđāļïāļāļŦāļĨāļąāļ (The use-case driven
āļđ
approach)
āļāļēāļĢāđāļïāļāļąāļāļĢ CRC (The Classes, Responsibilities,
and Collaborators (CRC) approach)
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 16
- 17. āļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦïāļāļēāļĄāļ§āļĨāļĩ
(Noun phrase approach)
1. āļŦāļēāļāļĨāļēāļŠāļāļĩāđāļāļ§āļĢāļāļīāļāļēāļĢāļāļē
2. āļāļąāļāļāļĨāļēāļŠāļāļĩāđāđāļĄïāđāļāļĩāđāļĒāļ§āļïāļāļ
3. āļāļīāļāļēāļĢāļāļēāļāļĨāļēāļŠāļāļĩāđāļāđāđāļēāļïāļāļ āđāļĨāļ°āļŠāļĢïāļēāļāļāđāļēāļĻāļąāļāļïāļĢïāļ§āļĄ
4. āļāļīāļāļēāļĢāļāļēāļāļĨāļēāļŠāļĄāļĩāļāđāļēāļāļĒāļēāļĒ
5. āļāļīāļāļēāļĢāļāļēāļāļĨāļēāļŠāļāļĩāđāļāļ§āļĢāđāļïāļāđāļāļāļāļĢāļīāļāļ§ āļī
6. āļāļīāļāļēāļĢāļāļēāļāļ§āļēāļĄāļāđāļēāđāļïāļāļāļāļāļāļĨāļēāļŠ
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 17
- 18. āļāļēāļĢāļŦāļēāļāļĨāļēāļŠāļāļĩāđāļāļ§āļĢāļāļīāļāļēāļĢāļāļē
(Identifying candidate classes)
āđāļāļāļāļīāļāļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦïāļāđāļēāļāļēāļĄ
āļāđāļēāļāļēāļĄāđāļĨāļ°āļāļēāļĄāļ§āļĨāļĩāļïāļāļāļāļ: āļāļĨāļēāļŠ āļāđāļāļāđāļāļāļï āļŦāļĢāļ·āļāđāļāļāļāļĢāļīāļāļīāļ§
āļāđāļēāļāļĢāļīāļĒāļēāļïāļāļāļāļ: āļāļĪāļāļīāļāļĢāļĢāļĄ āļŦāļĢāļ·āļāđāļāđāļāļāļĢïāđāļĢāļāļąāļāļāļĩāđāđāļāļĩāđāļĒāļ§āļïāļāļ
āļāļēāļāļāļĨāļēāļŠāļāļēāļāđāļĄïāļāļĢāļēāļāļāļāļąāļāđāļïāđāļïāļĄāļēāļāļēāļāļāļ§āļēāļĄāļĢāļđïāļāļąāđāļ§āđāļ
āļāļīāļāļēāļĢāļāļēāđāļāļāļēāļ°āļāļĨāļēāļŠāļāļĩāđāļŦāļĄāļēāļ°āļŠāļĄāđāļāļāļāļāđāļāļāļïāļāļŦāļē
āđ
āļŦāļĨāļĩāļāđāļĨāļĩāđāļĒāļāļāļĨāļēāļŠāļāļĩāđāđāļïāđāļāļāļąāđāļāļāļāļāļāļēāļĢāļŠāļĢïāļēāļ
āđāļŠïāđāļāđāļāļāļēāļĢāļāļąāđāļāļāļ·āļāļāļĨāļēāļŠ
āđ
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 18
- 19. āļāļēāļĢāđāļïāļĒāļđāļŠāđāļāļŠāđāļïāļāļŦāļĨāļąāļ (The use-case driven
approach)
1. āļŠāļĢïāļēāļāđāļāļāļāļĩāđāļāļ§āđāļ āļŦāļĢāļ·āļ āļāļāļĄāļĄāļīāļ§āļāļīāđāļāļāļąāļ (āļāļāđāļĨāļāļāļ
āđāļĢāļāļąāļ) āļāļāļāđāļïāļĨāļ°āļĒāļđāļŠāđāļāļŠ (Sequence/collaboration
(i.e. collaboration) diagram)
2. āļŦāļēāļāļĨāļēāļŠāļāļēāļāđāļāļāļ āļēāļ
3. āļŦāļēāđāļāđāļāļāļĢïāđāļĢāļāļąāļāļāļēāļāđāļāļāļ āļēāļ
4. āļŦāļēāļāļēāļĢāļāđāļēāļāļēāļāļĢïāļ§āļĄāļāļąāļāļĢāļ°āļŦāļ§ïāļēāļāļāļĨāļēāļŠāļāļēāļāđāļāļāļ āļēāļ
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 19
- 20. āļāļēāļĢāđāļïāļāļąāļāļĢ CRC (The Classes, Responsibilities, and
Collaborators (CRC) approach)
1. āļāļīāļāļēāļĢāļāļēāļŦāļēāļāļĨāļēāļŠāđāļĨāļ°āļāļ§āļēāļĄāļĢāļąāļāļāļīāļāļāļāļāļāļāļāļāļĨāļēāļŠ
(classesâ responsibilities)
āļāļ§āļēāļĄāļĢāļąāļāļāļīāļāļāļāļ (Responsibilities): āļāļēāļĢāļĢāļđï (Knowing),
āļāļēāļĢāļāđāļē (Doing)
2. āļĄāļāļāļŦāļĄāļēāļĒāļāļ§āļēāļĄāļĢāļąāļāļāļīāļāļāļāļ
3. āļŦāļēāļāļēāļĢāļāđāļēāļāļēāļāļĢïāļ§āļĄāļāļąāļāļĢāļ°āļŦāļ§ïāļēāļāļāļĨāļēāļŠ (Collaboration)
āļāļēāļĢāļāđāļēāļāļēāļāļĢïāļ§āļĄāļāļąāļ (Collaboration): āļāļāļāđāļāđāļāļāđāļēāļāļēāļāļĢïāļ§āļĄāļāļąāļ
āđāļāļ·āđāļāļāļāļāļŠāļāļāļāļïāļāļāļēāļĢāļĢïāļāļāļāļ
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 20
- 21. āļāļąāļāļĢ CRC
CRC = Classes, Responsibilities and
Collaborators
āļāļąāļāļĢ CRC āļĨāļąāļāļĐāļāļ°āđāļŦāļĄāļ·āļāļāļŦāļąāļ§āđāļĢāļ·āđāļāļ
āļāļąāļāļĢ CRC 1 āđāļāļïāļ 1 āļāļĨāļēāļŠ
āļāļąāļāļĢāđāļïāļĨāļ°āđāļāļĢāļ°āļāļļ
āļāļ·āđāļāļāļĨāļēāļŠ (Class)
āļāļ§āļēāļĄāļĢāļąāļāļāļīāļāļāļāļāļāļāļāļāļĨāļēāļŠ (Responsibilities)
āļāļĨāļēāļŠāļāļĩāđāļāđāļēāļāļēāļāļĢïāļ§āļĄ (Collaborators)
āļāļĨāļēāļŠāļāļĩāđāļïāļāļāļāļēāļĢāđāļāļ·āđāļāļāđāļēāļāļēāļāļāļēāļĄāļāļ§āļēāļĄāļĢāļąāļāļāļīāļāļāļāļāđāļŦïāļŠāđāļēāđāļĢāđāļ
āļāļ§āļēāļĄāļĢāļąāļāļāļīāļāļāļāļāļŦāļāļķāļāļïāļēāļāļāļēāļāļĢāļāļāļĢāļąāļāļïāļ§āļĒāđāļĄāļāļāļāđāļāļĩāļĒāļ§
āđ
āļŦāļĢāļ·āļāļŦāļĨāļēāļĒāđāļĄāļāļāļ
OOAD 1/2551 āļāļĢ.āļŠāļļāļāļŠāļāļīāļ āļĄāļĩāļŠāļāļīāļāļĒï 21