55
แบบจำลองเชิงวัตถุ (OBJECT ORIENTED ANALYSIS)

แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

แบบจ ำลองเชงวตถ (OBJECT ORIENTED ANALYSIS)

Page 2: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

แบบจ ำลองเชงวตถ (Object Oriented Analysis)

มงทนยามของคลาสและลกษณะทคลาสท างานรวมกน แทนทเราจะมองปญหาในลกษณะอนพต โพรเซส เอาทพตแบบดงเดม ซงเปนลกษณะของกระแสขอมล เราจะมองปญหาในแงของโครงสรางขอมลตามล าดบชน

แบบจ าลองเชงวตถ UML (Unified Modeling Language) เปนเสมอนพมพเขยวทแสดงภาพรวมของระบบทงหมด โดยจะแสดงในรปแบบของแผนภาพ (Diagram)เพอใหเกดความเขาใจทตรงกนระหวางผออกแบบระบบ, โปรแกรมเมอรและผใชงาน ม 9 แผนภาพ

Page 3: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

แบบจ ำลองเชงวตถ (Object Oriented Analysis)

Class Diagram

Object Diagram

Component Diagram

Deployment Diagram

Use Case Diagram

Sequence Diagram

Collaboration Diagram

Statechart Diagram

Activity Diagram

Structural Diagrams

Behavioral Diagrams

Page 4: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

แบบจ ำลองเชงวตถ (Object Oriented Analysis)

Structural Diagram เปนกลมแผนภาพทแสดงใหเหนโครงสรางเชงสถต (Static)ของระบบ คอ โครงสรางในสวนทไมมการเปลยนแปลงหรอเคลอนไหวแมจะมเหตการณใดๆ เกดขน

Behavioral Diagram เปนกลมแผนภาพใหเหนภาพเชงกจกรรมของระบบ(Dynamic) คอแสดงใหเหนถงพฤตกรรมของระบบทมการเปลยนแปลงในเมอมเหตการณใดๆ เกดขน และแสดงใหเหนถงความสามารถของระบบทด าเนนการในหนาทบางอยางได

ค ำอธบำยเพมเตม

Page 5: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

USE CASE DIAGRAM

Page 6: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Use Case Diagram

Use Case Diagram เปนแผนภาพทใชทแสดงปฏสมพนธระหวางระบบงานและสงทอยนอกระบบงาน Use Case Diagram ประกอบดวย

Actor คอ ผทกระท ากบระบบ อาจเปนผทท าการสงขอมล, รบขอมล หรอแลกเปลยนขอมลกบระบบนนๆ เชน ลกคากบระบบสงซอสนคาทางโทรศพท

Use Case คอ หนาทหรองานตางๆในระบบ เชน การเชคสตอค การสงซอสนคา เปนตน

Relationship คอ ความสมพนธระหวาง Use Case กบ Actor

Page 7: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

สญลกษณ

วงร แทน use case

คน แทน actor

Page 8: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ควำมสมพนธใน Use Case Diagram

แบงออกเปน 2 ประเภท ไดแก1. ความสมพนธระหวาง Actor2. ความสมพนธระหวาง Use case

Page 9: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

การเชอมระหวาง Actor กบ Use Case จะใชเสนแสดงความเกยวของปฏสมพนธ (Association)

Association หมายถง ความสมพนธทมการตดตอสอสารกน (ทงการรบและสง Messages ใหแกกนและกน)

ความสมพนธระหวาง Actor

Page 10: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ความสมพนธ(Relation) ระหวาง Actor แบงเปน 1. ความสมพนธระหวาง Actor กบ Use Case ซงแบงไดเปนความสมพนธแบบ

ทศทางเดยว แบงได 3 กรณดงน Actor เปนผทรบขอมลจาก Use Case จะใชสญลกษณ

Actor เปนผสงขอมลใหกบ Use Case จะใชสญลกษณ

Actorเปนทงผรบและสงขอมลใหกบ Use Case จะใชสญลกษณ

ความสมพนธระหวาง Actor

Page 11: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

2. ควำมสมพนธระหวำง Actor กบ Actor

จะมความสมพนธในรปแบบทสามารถท าการสบทอดคณสมบต บทบาทและหนาทของ Actor จาก Actor Superclass ไปยงActor Subclass ซงเรยกวา Generalization(/Specialization) Relationship

Worker

ตวอยาง Geralization (/Specialization) Relationshipคนคมงาน (Supervisor) เปนคนงานพเศษทมหนาทพเศษมากกวาคนงาน (Worker)

Supervisor

ความสมพนธระหวาง Actor

Page 12: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ควำมสมพนธระหวำง Use Case

3. ความสมพนธระหวาง Use Case กบ Use Case แบงออกเปน 3 แบบ ไดแก

1. Includes หรอ Use2. Extends

Page 13: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ควำมสมพนธแบ Includes / Use

ความสมพนธในกรณท Use Case หนงเรยกไปใชหรอดงเอากจกรรมของอก Use Case หนง เพอใหกจกรรมนนเกดขนจรงในตนเอง เรยกความสมพนธระหวาง Use Case ในลกษณะนวา “Includes” หรอ “Use”

สญลกษณของ Includes หรอ Use จะเปนเสนปะพรอมหวลกศร ชไปยง Use Case ทถกเรยกใชงาน มค าวา <<include>> หรอ <<uses>> ก ากบอยบนเสน ดงรป

<<include>>

Include Use Case Base Use Case

Page 14: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ตวอยำง ควำมสมพนธแบบ Includes / Use

1. ในการท างานของระบบเอทเอม Use Case “การตรวจสอบผเขาใชระบบ (Validate User)” สามารถเปน Included Use Case ใหกบ Base Use Case หลายๆตว ไดแก Base Use Case “การถอนเงน (Withdraw Money)” และ “การโอนเงน (Transfer Money)” สามารถแสดงสถานการณนในรปของ Use Case Diagram ไดดงรป

ถอนเงน

โอนเงน

ตรวจสอบผใช

Page 15: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ควำมสมพนธแบบ Extends

Extends หมายถง การท Use Case หนงไปมผลตอการท างานปกตของอก Use Case หนง

Use Case ทมา extend นนจะมผลใหการด าเนนงานของ Use Case ทถก extend ถก รบกวนหรอมการสะดด หรอมการเปลยนกจกรรมไป

สญลกษณของ extend จะเปนเสนปะพรอมหวลกศร ชไปยง Use Case ทถก extend มค าวา << extend >> ก ากบอยบนเสน ดงรป

<<extends>>

Extending Use Case Base Use Case

Page 16: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ตวอยำง ควำมสมพนธแบบ Extends

1. USE CASE การท ารายการขาย ซงในบางโอกาสอาจมเหตการณทท าใหการท ารายการขายไมสมบรณ เชน สนคาหมด ลกคายกเลก ในกรณน จะถอวาการยกเลกรายการขาย เปน Base Use Case ในขณะทการท ารายการขาย เปน Extending Use Case

ท ำรำยกำรขำย ยกเลกรำยกำรขำย

<<extends>>

รบสนคำ สงคนสนคำ

<<extends>>

Page 17: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

กำรสรำง Use Case Diagram

ขนตอนการสราง Use Case Diagram• ระบ Actors ทมปฏสมพนธกบระบบ• พจารณาแนวทางของระบบ ในการปฏสมพนธกบ Actors• จ าแนกพฤตกรรมของระบบในการปฏสมพนธกบ Actors ใหเปน Use cases และก าหนดความสมพนธระหวาง Use Case

ระบสงท User ตองการใหมในระบบตงชอให Use Caseเขยนค าอธบายสนๆเพมรายละเอยดในภายหลง (Use Case อะไรทตองมใน

ระบบเพอใหระบบสมบรณ)

Page 18: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

กำรหำ Actor

สามารถระบ Actor ไดโดยตอบค าถามตอไปน- ใครเปนคนใชงานหนาทการท างานหลกของระบบ (Primary Actors) ?- ใครตองการการสนบสนนการท างานจากระบบ ?- ใครตองการบ ารงรกษา และบรหารระบบ (Secondary Actors) ?- Hardware Devices ใดทตองการใหระบบจดการดแล ?- ระบบภายนอกระบบใดท ตองการใหระบบมปฏสมพนธดวย ?- ใครหรออะไรทตองการไดรบผลประโยชน จาก Output ของระบบ?

ค าแนะน าไมควรพจารณาเฉพาะ Users ทใชงานระบบโดยตรง ตองพจารณา Users อนๆ ทตองการใชบรการจากระบบดวย

Page 19: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Actor & Use case

ระบบจดการหอพกList of Actor : ผดแลระบบ เจาของหอพก พนกงาน ผเชา

List of use case : เขาสระบบ จดการขอมลพนฐาน จองหอพก ท าสญญา ช าระเงนคามดจ า บนทกคาใชจาย ช าระเงนคาเชา ปดสญญาเชา

Page 20: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Use case diagram

เขาสระบบ

จดการขอมลพนฐานจองหอพก

ท าสญญา

ช าระเงน

คนหองพก

บนทกคาใชจาย

จายคาเชาออกใบเสรจ

ตรวจสอบหองวาง<<include>>

ปรบปรงสถานะหองพก

<<include>>

Page 21: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Use case Name เขาสระบบ(Login)

Actor ผดแลระบบ,เจาของกจการ

Description ผใชตองการเขาสระบบ

Normal course 1. ผใชเขาตองการเขาสระบบ2. ระบบแสดงฟอรมเพอกรอกขอมล Username และ Password3. ผใชท าการกรอก Username และ Password4. ระบบตรวจสอบขอมลวาถกตองหรอไม

Alternate Course 4a. ถา username และ password ถกตองใหเขาสระบบตามสทธการใชงาน4b. ถา username และ password ไมถกตองใหแจงขอความ “Username และ Password ไมถกตอง”และกลบไปยงหนาหลก

Use case Description

Page 22: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Use case Name จดการขอมลพนฐาน

Actor ผดแลระบบ

Description ผใชตองการเพม ลบ แกไข ขอมลพนฐาน

Normal course 1. ผใชเขาตองการเขาสระบบกอน2. ระบบแสดงฟอรมเพอเพม ลบ แกไข ขอมลพนฐาน3. ผใชท าการกรอกขอมลพนฐาน แลวบนทก4. ระบบท าการเพมขอมลใหม ปรบปรง และลบขอมล5. ระบบแสดงผลรายการทเพมและแกไข

Alternate Course 4a. ถาขอมลใหมทเพมมรหสซ ากบขอมลทมอยแลว จะไมสามารถเพมขอมลได4b. รหสหลก จะไมสามารถแกไขได4c. ถาขอมลทผใชท าการลบ มการเชอมโยงกบขอมลอนอยจะไมสามารถลบได

Use case Description

Page 23: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Use case Name ท าสญญา

Actor เจาของกจการ

Description เจาของกจการท าสญญาเชาหองพก

Normal course 1. ผใชเขาตองการเขาสระบบ2. ผใชเลอกหองทตองการท าสญญา3. ระบบตรวจสอบสถานะหอง4. ผใชกรอกขอมลในการท าสญญาเชา5. บนทกขอมลสญญาเชา และขอมลผเชา6. ปรบปรงสถานะหองเชา7. พมพใบสญญา

Alternate Course 2a. ถาสถานะไมวาง ใหกลบไปยงหนาเลอกหองใหม

Use case Description

Page 24: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented
Page 25: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Use case Name ขาย (Sell)

Actor Manager, Customer, Cashier

Description การขายหนารานทลกคาสงซอสนคาและไดรบใบสงสนคากอนน าไปเบกสนคาทคลงสนคา

Normal course 1. ลกคาเขามาทหนารานและท าการเลอกสนคำ หรอบอกรำยกำรสนคำทตองการกบพนกงานขาย2. พนกงานขายตรวจสอบจ ำนวนสนคำในคลงสนคาเพอท าการขายในแตละรายการ3. พนกงานท ารายการสงสนคา ลกคาช ำระเงนและรบใบเสรจ

Alternate Course 2a. สนคาทตองการไมเพยงพอลกคายกเลกกำรซอขำยทงหมด2b. สนคาทตองการไมเพยงพอลกคายกเลกกำรซอขำยสนคำในรำยกำรทไมพอ2c. สนคาทตองการไมเพยงพอลกคาท าการซอขายสนคาในรายการนนเทาทมทงหมด

Use case Description

Page 26: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented
Page 27: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Use case Description

Use case Name สงซอ (Order)

Actor Manager, Supplier

Description กระบวนการสงซอสนคาเมอถงวงรอบของการสงซอหรอเมอสนคาก าลงเรมขาดสตอค

Normal course 1. เมอถงก าหนดทกๆ สปดาหผจดการสนคาคงคลงจดท ารายงานการขาย และสรปยอดสนคาในคลงสนคา2. ผจดการสนคาคงคลงตรวจสอบและตดสนใจรายการสนคาทตองท าการซอเขา3. ผจดการสนคาคงคลงออกใบสงของตามรายการจากขอ 24. ใบสงของทไดรบอนมตจะสงไปใหบรษทคคาเพอท าการซอสนคา

Alternate Course 1. ถาสนคาหมดกอนสนสปดาห จะมการแจงเตอนเพอท าการสงซอ2. ถาเปนรายการสนคาใหมทไมมในคลงสนคา ใหเพมขอมลของสนคาใหมเขาไปในระบบ

Page 28: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Class Diagram

Page 29: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Class Diagram

Class diagram จดเปน Structural Model (Static Model) คอ มมมองของระบบทเนนโครงสรางของวตถ รวมทงคลาสของวตถ (Class) ความสมพนธระหวางคลาส (Relationship) แอททรบวต (Attribute) และโอเปอเรชน (Operation)

ความสมพนธทแสดงเปนความสมพนธเชงสถตย (คงท Static ) ไมใชความสมพนธทเกดขนเนองจากกจกรรม (Dynamic) จงไมสามารถมองเหนการเปลยนแปลงตางๆทเกดขน แมจะเกดเหตการณใดๆ

Class diagram เปนมมมองแบบ Logical View

Page 30: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Static & Dynamic

Static relationshipเจาของบญชเปนเจาของบญชเงนฝาก

Dynamic relationshipเจาของบญชฝากเงนเขาบญชเงนฝาก

เจาของบญชถอนเงนจากบญชเงนฝาก

เจาของบญชปรบปรงยอดบญชเงนฝาก

Class Diagram เปน Static relationship

Page 31: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

องคประกอบของคลำส

Class name

Attributes

Operations/Methods

Perso

n- taxIDNo : String

- name : String

+ income : double

+ taxPaid : Boolean

+ calcTax()

+ calcTaxBal()

Attribute name : type

Operation name(Parameter List : type) : Return type

Visibility

Page 32: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

กำรเขยนชอคลำส(UML SYNTAX)

ชอ Class ไมมชองวาง และขนตนดวยตวพมพใหญเชน Bank

ถามมากกวา 1 ค าตวแรกของแตละค าเปนตวพมพใหญเชน BankAccount

Page 33: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

UML Syntax for Attributes

Visibility Name : Type Visibility ประกอบดวย

+ (public) , - (private), # (protected)

Name คอ ชอ Attribute ไมมชองวางขนตนดวยตวพมพเลก ตวแรกของค าถดไปเปนตวพมพใหญเชน userID

Type คอ ชนดขอมล (ขนกบแตละภาษา)Primitive Type

ขอมลพนฐาน เชน integer, booleanClass Type

Attribute ของ Class หนงอาจมชนดเปน Class อนได

Page 34: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

UML Syntax for Operations

Visibility Name(Parameter List : Type) : Return type Visibility ประกอบดวย

+ (public) , - (private), # (protected)

Name คอ ชอ เหมอนกบชอของ Attributeแตเปนค ากรยา

เชน withdrawMoney

Parameter List คอ รายการตวแปรหรอ Objects ทถกสงเขาไปใน Operation (Method) เพอ

ใชด าเนนการอยางใดอยางหนง( อาจไมมกได )

Type , Return type คอ ชนดขอมล เหมอน Attribute( อาจไมมกได )

Page 35: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Visibility

private ( - )มกใชกบ Attributes มากกวา Operations เหนไดภายในเฉพาะตว class ไมสามารถเหนไดจากภายนอก การเขาถงจากภายนอกจะกระท าผาน Operation ทเตรยมไว

public ( + )มกใชกบ Operations มากกวา Attributesมองเหนและเขาถงไดโดยตรงจากภายนอก

protected (#)สงวนไวส าหรบการท า Inheritance โดยเฉพาะโดยปกตจะเปนของ Superclassเมอท า inheritance แลว Attributes และ Operations เหลานจะเปนไดทง Private หรอ Protect ซงขนอยกบภาษาทใช

Page 36: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ควำมสมพนธระหวำงคลำส

ความสมพนธระหวาง Class จะแสดงโดยใชเสนตรงลากเชอมระหวางClass ซงแบงไดเปน

• Associations• Generalization• Aggregation

Page 37: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ควำมสมพนธระหวำงคลำส

และบนเสนควำมสมพนธระหวำง Class อำจมกำรระบ

Association name (ชอควำมสมพนธ)

Navigation (ทศทำงควำมสมพนธ)

Works for

Page 38: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ควำมสมพนธระหวำงคลำส

Navigation

หวลกศรแสดงถงทศทางของความสมพนธ เปนการแสดงถงความสามารถของ object ของ Class หนงในการเขาถง (สง Message) object ของอก Class หนง

คอ object ของ Class ทางดานทไมมหวลกศร สามารถเขาถง object ของ Class ทางดานทมหวลกศร ( แตในทางตรงกนขามไมสามารถท าได )

จากตวอยาง มหวลกศรทศทางเดยวจดเปน Unidirectional Associationแตถาทงสอง objects สามารถเขาถงกนและกนได (2 ทศทาง) ไมตองมหวลกศร ซงเรยกวา Bidirectional Association

Page 39: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Multiplicity

1 หนงเทำนน (อำจไมระบได)

0..1 มหรอไมมกได

0..* ไมมหรอมหลำยควำมสมพนธ

1...* มตงแต 1 ควำมสมพนธถงหลำยควำมสมพนธ

N มตงแต N ควำมสมพนธขนไป

Page 40: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

dateReceived : date

isPrepaid : boolean

Number : integer

Price : float

dispatch( )

ความสมพนธระหวาง Class

Associationsควำมสมพนธทวไป (Associate) เปนควำมสมพนธทไมมกำรระบผลของกำรสบทอด

และกำรเปนสวนหนงของ Class ทสมพนธดวย แต Class นนจะสมพนธกนในดำนอนๆ และเปนควำมสมพนธในระดบเดยวกน (ไมม Class ใด ส ำคญกวำ Class ใด )

Issued by

Order Customer

name : string

address : string

creditRating( )

* 1

ลกคำอำจมหลำยใบสงซอ ใบสงซอเกดจำกลกคำคนเดยว

Page 41: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

จดทะเบยน

สมรส

ตวอยาง ความสมพนธ Association

ความสมพนธระหวาง Class

แม ลก

1 0..*คลอด

ทศทำงของชอควำมสมพนธ

ชำย หญง

1 1

ทศทำงของชอควำมสมพนธ

ชอควำมสมพนธ

ชอควำมสมพนธ

ควำมสมพนธทศทำงเดยว

แมสำมำรถคลอดลกได

แตลกไมสำมำรถ

ควำมสมพนธแบบสองทศทำง

ชำย 1 คน จดทะเบยนสมรสกบ

หญงได 1 คนเทำนน และ

หญง 1 คน จดทะเบยนสมรสกบ

ชำยได 1 คนเทำนน

23

Page 42: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ความสมพนธระหวาง Class

Generalization(/Specialization)เปนควำมสมพนธแบบ Superclass และ Subclass ซงกคอ Inheritance ใน

แนวคดหลกเชงวตถ

Generalization หำลกษณะรวมของ Class ตำงๆ เพอสรำง Class ทเปน

ตวแทนของกลม Class นน (Superclass)Specialization ก ำหนดลกษณะเฉพำะเจำะจงในรำยละเอยด (Subclass)Specialization เปนกระบวนกำรยอนกลบของ Generalization

Generalization อำจเรยกวำ kind-of relationship (คอประเภทของ)

24

Page 43: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ความสมพนธระหวาง Class

Generalization(/Specialization)

ใน Class Hierachyจะแบง Class เปนล าดบชน Class ทมระดบสงกวาเรยกวา

Class ทอยในระดบต ากวาเรยกวา

25

Superclass

Subclass

Page 44: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ความสมพนธระหวาง Class

Single Inheritance และ Multiple Inheritance

Single Inheritanceสบทอดคณสมบตจาก Superclass 1 class

ภาษาทสนบสนน เชน Java, C#

Multiple Inheritanceสบทอดคณสมบตจาก Superclass มากกวา 1 class

ภาษาทสนบสนน เชน C++

Page 45: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ในการสบทอด (Inheritance)Subclass จะรบคณสมบต (Attributes and Methods) จาก Superclass มาไว

ในตวเองโดยอตโนมต

และ Subclass สามารถเพมเตมคณสมบตใหม (Attributes and Methods) จาก Superclass ซงเรยกวา Extending หรอแกไขคณสมบตทรบมา ซงเรยกวา Overriding

Generalization Superclass มลกษณะทวไป(คณสมบตรวมกน)

Specialization Subclass มลกษณะเฉพาะ

ความสมพนธระหวาง Class

Animal

Cat Bird Fish

27

Page 46: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ความสมพนธระหวาง Class

ตวอยำง

Page 47: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ความสมพนธระหวาง Class

Aggregation Relationshipเปนความสมพนธ Association แบบหนง (แบบพเศษ)

คอ Object หนง ม Objects อนๆ เปนสวนประกอบ

อาจเรยกวา whole-part relationship (ทงหมด-สวนประกอบ)ซงมกจะใชค าวา consists of , contains , is part of

เชน Car ม Engine และwheels เปนสวนประกอบ

Car

WheelEngineWheel

Engine

Car

หรอ

(Whole Class)

(Part Class)

Page 48: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ความสมพนธระหวาง Class

ลกษณะส าคญของ Aggregation Relationshipเมอลบ Whole class ทง Class ทเปน Part Classes จะยงคงอยได โดยไมตองพงพา

Whole classเชน Computer กบ Harddisk ถา Computer เสย Harddisk กไมจ าเปนตองเสยดวย

Page 49: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ความสมพนธระหวาง Class

Composition Relationshipเปนความสมพนธแบบ Aggregation ทเขมงวด(Strong)ขน

ซงจะมชวงชวตรวมกน- สวนทเปน whole จะท าหนาทเปนเจาของสวนทเปน part- สวนทเปน part อาจเปนของสวนทเปน whole ไดเพยงหนงเดยว

Multiplicity ของสวนทเปน whole จะตองมคาเปน 0 หรอ 1 เทานน- ชวงชวตของสวนทเปน part จะขนอยกบสวนทเปน whole เสมอ

นนคอจะเกยวของการสรางหรอลบสวนทเปน part เสมอ

PolygonCircle

Point

1 3..*

Page 50: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ความสมพนธระหวาง Class

Composition Relationshipใชสญลกษณ

เชน

ก าหนดไวทางดาน Book เนองจาก Book จะประกอบไปดวย Chapter

สญลกษณลกศรแสดงถงความสมพนธเปนแบบทางเดยว นนคอถาลบ Book ออก กจะไมม Chapter

ChapterBook

Page 51: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

ตวอยำง

คณะวทยำศำสตร

หองเรยน หองทดลอง บคลำกร

เจำหนำท

1..n 1..n

1..n

1..n

ชวโมงเรยน วชำเรยน

นกเรยน อำจำรยใช

เรยน สอน

ดแล

ใช

1..1

0..n 0..n

1..n 1..n

1..1 1..1

1..1

0..n 0..n

0..1

Page 52: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Use case diagram

เขาสระบบ

จดการขอมลพนฐานจองหอพก

ท าสญญา

ช าระเงน

คนหองพก

บนทกคาใชจาย

จายคาเชาออกใบเสรจ

ตรวจสอบหองวาง<<include>>

ปรบปรงสถานะหองพก

<<include>>

Page 53: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

Use Case

Use Case Class

เขาสระบบ ผใช

จดการขอมลพนฐาน ประเภทหอง,หองพก,คาใชจาย

ท าสญญา สญญาเชา,ผเชา,หองพก

บนทกคาใชจาย คาใชจาย

Page 54: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

สญญาเชา

-เลขทสญญา-วนทท าสญญา

+ เปดสญญาเชา()+ ตรวจสอบเลขทสญญา()+ พมพใบสญญา()

ผเชา

-ชอผเชา-ทอย-เบอรโทรศพท

+ เพมผเชา()+ แกไขผเชา()+ ลบผเชา()+ ตรวจสอบผเชา()

ท าสญญา

หองพก

-เลขทหอง-รายละเอยดหอง

+ เพมหอง()+ ปรบปรงหอง()+ ลบหอง()+ ตรวจสอบสถานะหอง()

เชา*

1

1 1

ช าระเงน

-เลขทใบเสรจ-วนทช าระ-ผช าระ

+ ตรวจคาใชจาย()+ ออกใบเสรจ()

ช าระเงนมดจ า

-เลขทสญญา-จ านวนมดจ า

+ ตรวจสอบการช าระเงน()

ช าระเงนคาเชา

-เดอนทช าระ-จ านวนเงน

+ ตรวจสอบการช าระเงน()

Association

Generalization

Page 55: แบบจำลองเชิงวัตถุ (Object Oriented Analysis)wcalab.com/course/wp-content/uploads/2015/01/...แบบจำลองเช งว ตถ (Object Oriented

END