SlideShare a Scribd company logo
1 of 8
Download to read offline
วัตถุประสงค
                                                                เพื่อใหนักศึกษาสามารถ
                                                                     อธิบายความหมายของระบบเชิงวัตถุได
                                                                     อธิบายหลักการเชิงวัตถุได
                                                                     แยกแยะความแตกตางของหลักการเชิงวัตถุได
                       หนวยที่ 2:                                   อธิบายความหมายของการวิเคราะหและออกแบบเชิง
                      แนวคิดเชิงวัตถุ                                วัตถุได
                                                                     ระบุรายชื่อแผนภาพยูเอ็มแอลแบบได
                      (Object-Orientation)
OOAD 1/2551 ภาคปกติ         ดร.สุขสถิต มีสถิตย           1   OOAD 1/2551 ภาคปกติ             ดร.สุขสถิต มีสถิตย                         2




                 แนวคิดเชิงวัตถุ
                 (Object-Orientation)                          การจําลองระบบในเชิงวัตถุ
  แนวคิดเชิงวัตถุเปนเทคนิคในการจําลองระบบ
                                                                  ของจริง
  ระบบถูกจําลองในรูปของกลุมอ็อบเจกตที่
  ปฏิสมพันธกน
      ั       ั                                                                     บาน

  ประโยชน                                                                                                 ทิชา
                                                                                                                             รถยนต

       เขาใจงาย - ลดชองวางระหวางระบบจริงและระบบที่
       จําลองโดยคอมพิวเตอร                                                                    อาศัยอยูใน
                                                                                                                       ขับ
       งายตอการแกไข - เพราะขอมูลและการทํางานอยู                                   บาน                                      รถยนต
       ภายในอ็อบเจกต                                              แบบจําลอง
                                                                                                                ทิชา


OOAD 1/2551 ภาคปกติ         ดร.สุขสถิต มีสถิตย           3   OOAD 1/2551 ภาคปกติ             ดร.สุขสถิต มีสถิตย                         4




                                                                                                                                              1
หลักการเชิงวัตถุ
                 ภาพตัวอยางของระบบเชิงวัตถุ
                                                                                                                             (Object-Oriented Principles)
                            Customer                       Order 563               Chair 213                  อ็อบเจกต (Object)
                              Mary
                                                                                                              คลาส (Class)
                           add new order
                                                 Customer
                                                                                    add to
                                                                                    order                     แอบสแตร็กชัน (Abstraction)
              Button
                                                    Bill
                                                                  create                                      ความสัมพันธ (Association)
                                                                                    add to
                                        get text                       Order 143    order                     เอ็นแค็ปซุเลชัน (Encapsulation) และ
                       Text Box                                                                Lamp 453
                                                                                                              การซอนรายละเอียด (Information Hiding)
                                       display
                                                                       Order 721                              การสืบทอดคุณสมบัติ (Inheritance)
               Label                                                                         Chair 654        โพลีมอรฟซึม (Polymorphism)
                                       Customer
                                         Joe
                                                                   Lamp 856


OOAD 1/2551 ภาคปกติ                        ดร.สุขสถิต มีสถิตย                                           5   OOAD 1/2551 ภาคปกติ     ดร.สุขสถิต มีสถิตย   6




                อ็อบเจกต (Object)                                                                                            คลาส (Class)
อ็อบเจกต คือสรางขึ้นมาเพื่อเปนตัวแทนของสิ่งตางๆ ในส                                                      คลาส คือ ตนแบบ หรือแมพมพ (template)
                                                                                                                                       ิ
ถาวะจริงของระบบในโลกของซอฟตแวร                                                                             สําหรับสรางอ็อบเจกต
อ็อบเจกต มี                                                                                                 คลาส เปนขอกําหนดลักษณะรวมกันของอ็อบเจกต
       สถานะ (state) = ขอมูล (data) ที่อธิบายตัวอ็อบเจกต                                                   ประเภทเดียวกัน
       พฤติกรรม (behavior) = การกระทําที่ตัวอ็อบเจกตแสดงได
                                                                                                             คลาสกําหนดโครงสรางของอ็อบเจกต
อ็อบเจกต สามารถจดจําสถานะได
                                                                                                                แอททริบวเก็บสถานะของอ็อบเจกต
                                                                                                                         ิ
แอททริบิว (attribute) คือขอมูลแตละดานของ
อ็อบเจกต                                                                                                       โอเปอรเรชันสําหรับพฤติกรรมของอ็อบเจกต
โอเปอรเรชัน (operation) คือการกระทํา (action) แตละ                                                         อินสแตนซ (instance) คือ อ็อบเจกตที่สรางจาก
อยางที่อ็อบเจกตแสดงได                                                                                     คลาส
OOAD 1/2551 ภาคปกติ                        ดร.สุขสถิต มีสถิตย                                           7   OOAD 1/2551 ภาคปกติ     ดร.สุขสถิต มีสถิตย   8




                                                                                                                                                               2
อ็อบเจกต และ แอบสแตร็ก
                คลาส และ อ็อบเจกต
                                                                        ชัน
 คลาสกําหนดโครงสรางของกลุมอ็อบเจกตประเภท              แอบสแตร็กชัน (abstraction)
 เดียวกัน                                                     หมายถึง การจํากัดรายละเอียด
                                                              เปนกระบวนการในการละเวนรายละเอียดที่ไมเกี่ยวของ
 อ็อบเจกตของคลาสเดียวกันมีลักษณะโครงสราง
                                                              และ เนนรายละเอียดที่จําเปน
 ภายในเหมือนกัน แตจะขอมูลที่เก็บจะตางกันขึ้นอยู
 กับสถานะของอ็อบเจกตแตละตัว ซึ่งถูกกําหนด              อ็อบเจกต เปนแอบสแตรกชันของสิ่งตางๆ ที่สราง
 ผานโอเปอรชันของอ็อบเจกต                              ขึ้นไวในระบบคอมพิวเตอร
 อ็อบเจกต แตละตัวจะมีไอเด็นทิตี้ (identity) ไมซา
                                                  ้ํ     อ็อบเจกตแตละตัวจะมีพฤติกรรมและขอมูลของ
 กัน                                                     สิ่งทีมันเปนตัวแทน และมีเฉพาะดานทีเกี่ยวของกับ
                                                               ่                             ่
                                                         ระบบเทานั้น
OOAD 1/2551 ภาคปกติ      ดร.สุขสถิต มีสถิตย      9    OOAD 1/2551 ภาคปกติ      ดร.สุขสถิต มีสถิตย          10




                 ตัวอยางของแอบสแตร็กชัน                                ความสัมพันธ (Association)
                                                       แสดงความเกี่ยวของระหวางอ็อบเจกตของคลาส
                                                       หนึ่งกับอีกคลาสหนึ่ง
                                                       เชน พนักงานมีความสัมพันธกับ
                                                            ผูจัดการ
                                                            งาน




OOAD 1/2551 ภาคปกติ      ดร.สุขสถิต มีสถิตย     11    OOAD 1/2551 ภาคปกติ      ดร.สุขสถิต มีสถิตย          12




                                                                                                                   3
เมสเสจ (Message)                                      เมสเสจ (ตอ)
 เมสเสจ คือขอมูลที่สงไปยังอ็อบเจกตเพื่อสั่งให      การสงเมสเสจ = การเรียกใชโอเปอรชันของ
 ทํางาน                                                อ็อบเจกตอื่น
 อ็อบเจกตแตละคลาสจะรับผิดชอบงานตางกันไป
 ระบบเชิงวัตถุทํางานโดยอาศัยการปฏิสัมพันธ
 ระหวางอ็อบเจกต หมายถึงการที่อ็อบเจกตสง   
 เมสเสจไปถึงกัน
 โดยอ็อบเจกตที่ไดรบเมสเสจจะทํางานตามที่ไดรบ
                    ั                             ั
 การรองขอ โดยการเรียกโอเปอรชันที่ตรงกับที่
 เมสเสจสงมาทํางาน
OOAD 1/2551 ภาคปกติ     ดร.สุขสถิต มีสถิตย     13    OOAD 1/2551 ภาคปกติ     ดร.สุขสถิต มีสถิตย         14




                เอ็นแคปซุเลชัน                                        การซอนรายละเอียด
                (Encapsulation)                                       (Information Hiding)
  หมายถึง การรวมกันของขอมูลและกระบวนการ                   หมายถึงการเปดเผยเฉพาะขอมูลที่จําเปนตอการใช
  ทํางานไวในอ็อบเจกต                                     ซอฟตแวรโมดูล (software module) เทานั้น
                                                           แยกระหวางกลไกการทํางานภายใน กับการเรียกใช
  ทําใหออบเจกตสมบูรณในตัวเอง (self-
          ็
                                                           งานจากภายนอก
  contained)
                                                           เอ็นแคปซุเลชัน ทําใหสามารถใชการซอน
  ทําใหเกิดสภาพเปนสวนจําเพาะ (modularity)               รายละเอียดในระดับของอ็อบเจกตได
  เนื่องจากขอมูลและการกระทําทีเกียวของถูกเก็บ
                                ่ ่                        ทําใหอ็อบเจกตสามารถใชงานไดแบบ black box ซึ่ง
  ไวในที่เดียว ไมกระจายไปทัวระบบ
                             ่                             ผูใชสามารถใชไดโดยไมรูโครงสรางภายใน


OOAD 1/2551 ภาคปกติ     ดร.สุขสถิต มีสถิตย     15    OOAD 1/2551 ภาคปกติ     ดร.สุขสถิต มีสถิตย         16




                                                                                                               4
การสืบทอดคุณสมบัติ
                                                                                          การสืบทอดคุณสมบัติ (ตอ)
                 (Inheritance)
  เปนวิธีการในการออกแบบสิ่งสองสิ่งหรือมากกวาที่                          คุณสมบัติสามารถสืบทอดตอลงไปไดหลายลําดับชั้น
  ตางกัน แตมีลักษณะบางอยางเหมือนกัน                                     เนื่องจาก ซับคลาสสามารถเปนซุปเปอรคลาสของคลาส
  โดยกําหนดลักษณะสวนที่เหมือนกันไวใน ซูเปอรคลาส                         อื่น
  (superclass) หนึ่งคลาส แลวกําหนดใหคลาสอื่นๆ
  เรียกวา ซับคลาส (subclasses) มารับนี้ลักษณะสืบทอด                       กอใหเกิดลําดับชั้นการสืบทอดคุณสมบัติ (inheritance
  ตอไปเปนของตัวเอง                                                       hierarchy) หรือ ลําดับชั้นความสัมพันธแบบเจน
  หมายความวา ซับคลาสมีแอททริบิวและโอเปอรชันที่                           เนอรัลไลเซชัน (generalization hierarchy)
  รับมาจากซุปเปอรคลาส
  ความสัมพันธระหวางซับคลาสกับซูเปอรคลาสที่ติดกัน
  เรียก generalization
  ซับคลาสเรียกวา specialization

 OOAD 1/2551 ภาคปกติ        ดร.สุขสถิต มีสถิตย                     17    OOAD 1/2551 ภาคปกติ     ดร.สุขสถิต มีสถิตย        18




                  ตัวอยางลําดับชั้นการสืบทอด                                             โพลีมอรฟซึม
                  คุณสมบัติ                                                               (Polymorphism)
                                                                          แปลวาหลายรูปแบบ
                       ยานยนต                                            ในเชิงวัตถุหมายถึงการทีอ็อบเจกตตางคลาสกัน
                                                                                                 ่         
                                                                          ทํางานตอบสนองตอเมสเสจทีเหมือนกันในรูปแบบ
                                                                                                      ่
                                                                          ที่แตกตางกันอยางเหมาะสม
จักรยานยนต            รถบรรทุก                   รถยนต
                                                                          ทําใหสามารถใชงานอ็อบเจกตโดยไมตองทราบ
                                                                                                             
                                                                          คลาสของอ็อบเจกต
                           รถยนตสวนบุคคล                 รถยนตโดยสาร


 OOAD 1/2551 ภาคปกติ        ดร.สุขสถิต มีสถิตย                     19    OOAD 1/2551 ภาคปกติ     ดร.สุขสถิต มีสถิตย        20




                                                                                                                                  5
การพัฒนาซอฟตแวรเชิงวัตถุ                                       การวิเคราะหเชิงวัตถุ
เนน 3 กิจกรรมหลัก                                               OOA: object-oriented analysis
     การวิเคราะหเชิงวัตถุ (object-oriented analysis)            กระบวนการในการทําความเขาใจกับระบบ
     การออกแบบเชิงวัตถุ (object-oriented design)                 พิจารณาขอมูลและพฤติกรรมของระบบรวมกันในรูป
     การเขียนโปรแกรมเชิงวัตถุ (object-oriented                   กลุมของอ็อบเจกต
     programming)
                                                                 กิจกรรม
                                                                      สรางแบบจําลองความตองการ (requirement model)
                                                                      สรางแบบจําลองการวิเคราะห (analysis model)
                                                                           ระบุอ็อบเจกตที่เกี่ยวของในระบบ ความสัมพันธของอ็อบเจกต
                                                                           และการปฏิสัมพันธระหวางอ็อบเจกต
OOAD 1/2551 ภาคปกติ         ดร.สุขสถิต มีสถิตย             21   OOAD 1/2551 ภาคปกติ           ดร.สุขสถิต มีสถิตย               22




                 การออกแบบเชิงวัตถุ
                                                                                  ประโยชนของหลักการเชิงวัตถุ
OOD: object-oriented design                                      หลักการ        ประโยชน
กระบวนการในการกําหนดรูปแบบของระบบ                                คลาส            ทําใหมมมองในการพัฒนา
                                                                                        ุ
กิจกรรม                                                          อ็อบเจกต      ซอฟตแวรสอดคลองกับธรรมชาติ
     สรางแบบจําลองการออกแบบ (design model)                      โอเปอรชัน และ อ็อบเจกตที่ใชซ้ําได
          ปรับรูปแบบทีไดจากการวิเคราะหใหเหมาะกับสภาพแวดลอม
                      ่                                          เมสเสจ
          ของระบบ และขอกําหนดในดานตางๆ
                                                                 เอ็นแคปซุเลชัน อ็อบเจกตที่ใชซ้ําได
                                                                 และการซอน      ชวยลดผลกระทบจากการ
                                                                 รายละเอียด     เปลี่ยนแปลง

OOAD 1/2551 ภาคปกติ         ดร.สุขสถิต มีสถิตย             23   OOAD 1/2551 ภาคปกติ           ดร.สุขสถิต มีสถิตย               24




                                                                                                                                       6
ประโยชนของหลักการเชิงวัตถุ                                ยูเอ็มแอล (UML)
หลักการ      ประโยชน
                                                                UML – Unified Modeling Language
การสืบทอด     ลดความซ้าซอน
                         ํ
                                                                เปนภาษาภาพในการนําเสนอแนวคิดที่จาเปนใน
                                                                                                 ํ
คุณสมบัติ     ลดระยะเวลาในการสรางคลาสใหม                      การพัฒนาระบบเชิงวัตถุ
              ชวยใหเกิดมาตรฐานและความ                         ผูพัฒนา
             ตรงกันในโปรแกรม                                         Grady Booch
โพลีมอรฟซม ชวยลดความซับซอนในการเขียน
           ึ                                                         Ivar Jacobson
             โปรแกรมเกียวกับเหตุการณ
                           ่                                         James Rumbaugh
              ชวยลดผลกระทบจากการ
             เปลี่ยนแปลง
 OOAD 1/2551 ภาคปกติ           ดร.สุขสถิต มีสถิตย   25   OOAD 1/2551 ภาคปกติ         ดร.สุขสถิต มีสถิตย   26




                  ยูเอ็มแอล (ตอ)                                          ประเภทของแผนภาพยูเอ็มแอล
     แผนภาพยูเอ็มแอล (UML diagram) มี                     มี 13 ประเภท
     องคประกอบ 4 สวน                                    แบงเปน 3 กลุม
          สัญรูป (Icon)
                                                               Structure diagrams
          สัญลักษณสองมิติ
                                                                    แสดงโครงสรางของระบบ
          เสนเชื่อม (paths)
                                                               Behavior diagrams
          ขอความ
                                                                    แสดงพฤติกรรมทัวไป
                                                                                  ่
     ขอกําหนดของยูเอ็มแอลกําหนดทั้งกฎเกณฑ                    Interaction diagrams
     สําหรับโครงสรางและความหมายของ                                 แสดงการปฏิสัมพันธของ
     องคประกอบ

 OOAD 1/2551 ภาคปกติ           ดร.สุขสถิต มีสถิตย   27   OOAD 1/2551 ภาคปกติ         ดร.สุขสถิต มีสถิตย   28




                                                                                                                 7
แผนภาพโครงสราง (Structure                                            แผนภาพพฤติกรรม (Behavior
                 Diagrams)                                                             Diagrams)
คลาสไดอะแกรม (class diagram)                                          ยูสเคสไดอะแกรม (use case diagram)
     แสดงความสัมพันธระหวางคลาส
อ็อบเจกตไดอะแกรม (object diagram)                                         แสดงความตองการในการใชงานระบบ ในเชิงการ
     แสดงความสัมพันธระหวางอ็อบเจกต                                      ปฏิสัมพันธระหวางระบบรับสิ่งแวดลอม
คอมโพเนนตไดอะแกรม (component diagram)
     แสดงความสัมพันธเชิงกายภาพระหวาง components ของซอฟตแวร
                                                                      แอคทิวิตี้ไดอะแกรม (activity diagram)
คอมโพซิทไดอะแกรม (composite structure diagram)                             แสดงการไหลของการทํางาน (workflow)
     แสดงโครงสรางภายในของคลาส
แพ็คเกจไดอะแกรม (package diagram)
                                                                      สเตทแมชีน ไดอะแกรม (state machine
     แสดงการรวมกลุมของ UML element เปนโครงสรางระดับสูงขึ้น         diagram)
ดีพลอยเมนตไดอะแกรม (deployment diagram)                                   แสดงพฤติกรรมการเปลี่ยนสถานะของอ็อบเจ็คของ
     แสดงสถาปตยกรรมเชิงกายภาพและองคประกอบ (components) ของ
     ซอฟตแวรของระบบ                                                      คลาส
OOAD 1/2551 ภาคปกติ            ดร.สุขสถิต มีสถิตย               29   OOAD 1/2551 ภาคปกติ      ดร.สุขสถิต มีสถิตย     30




                 แผนภาพการปฏิสัมพันธ
                 (Interaction Diagrams)
ซีเคว็นไดอะแกรม ( Sequence diagram)
     แสดงพฤติกรรมการทํางานของกลุมอ็อบเจกตในยูสเคสเรียงลําดับ
                                
     ตามเวลา
คอมมิวนิเคชันไดอะแกรม ( Communication diagram)
     แสดงพฤติกรรมการทํางานของกลุมอ็อบเจกตในยูสเคส ในรูปการ
                                
     สื่อสารระหวางอ็อบเจกต
ไทมิงไดอะแกรม ( Timing diagram)
     แสดงการปฏิสัมพันธระหวางกลุมอ็อบเจกตและเปลี่ยนแปลง
     สถานะของอ็อบเจกตตามแกนเวลา
อินเตอรแรคชันโอเวอรวิวไดอะแกรม ( Interaction
overview diagram)
     แสดงการไหลของการควบคุมโพรเซส
OOAD 1/2551 ภาคปกติ            ดร.สุขสถิต มีสถิตย               31




                                                                                                                            8

More Related Content

More from TaiMe Sakdisri (20)

Chapter005
Chapter005Chapter005
Chapter005
 
546345
546345546345
546345
 
456245345
456245345456245345
456245345
 
4563456
45634564563456
4563456
 
56785774
5678577456785774
56785774
 
6784678467
67846784676784678467
6784678467
 
4678467846
46784678464678467846
4678467846
 
Unit04
Unit04Unit04
Unit04
 
Unit01
Unit01Unit01
Unit01
 
Thai hci
Thai hciThai hci
Thai hci
 
Original 02 hci_principles
Original 02 hci_principlesOriginal 02 hci_principles
Original 02 hci_principles
 
Original 01 hci_principles
Original 01 hci_principlesOriginal 01 hci_principles
Original 01 hci_principles
 
Email system
Email systemEmail system
Email system
 
D1 overview
D1 overviewD1 overview
D1 overview
 
Chapter009
Chapter009Chapter009
Chapter009
 
Chapter008
Chapter008Chapter008
Chapter008
 
Chapter006 (1)
Chapter006 (1)Chapter006 (1)
Chapter006 (1)
 
Chapter006
Chapter006Chapter006
Chapter006
 
Chapter004
Chapter004Chapter004
Chapter004
 
Chapter003
Chapter003Chapter003
Chapter003
 

Unit02

  • 1. วัตถุประสงค เพื่อใหนักศึกษาสามารถ อธิบายความหมายของระบบเชิงวัตถุได อธิบายหลักการเชิงวัตถุได แยกแยะความแตกตางของหลักการเชิงวัตถุได หนวยที่ 2: อธิบายความหมายของการวิเคราะหและออกแบบเชิง แนวคิดเชิงวัตถุ วัตถุได ระบุรายชื่อแผนภาพยูเอ็มแอลแบบได (Object-Orientation) OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 1 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 2 แนวคิดเชิงวัตถุ (Object-Orientation) การจําลองระบบในเชิงวัตถุ แนวคิดเชิงวัตถุเปนเทคนิคในการจําลองระบบ ของจริง ระบบถูกจําลองในรูปของกลุมอ็อบเจกตที่ ปฏิสมพันธกน ั ั บาน ประโยชน ทิชา รถยนต เขาใจงาย - ลดชองวางระหวางระบบจริงและระบบที่ จําลองโดยคอมพิวเตอร อาศัยอยูใน ขับ งายตอการแกไข - เพราะขอมูลและการทํางานอยู บาน รถยนต ภายในอ็อบเจกต แบบจําลอง ทิชา OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 3 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 4 1
  • 2. หลักการเชิงวัตถุ ภาพตัวอยางของระบบเชิงวัตถุ (Object-Oriented Principles) Customer Order 563 Chair 213 อ็อบเจกต (Object) Mary คลาส (Class) add new order Customer add to order แอบสแตร็กชัน (Abstraction) Button Bill create ความสัมพันธ (Association) add to get text Order 143 order เอ็นแค็ปซุเลชัน (Encapsulation) และ Text Box Lamp 453 การซอนรายละเอียด (Information Hiding) display Order 721 การสืบทอดคุณสมบัติ (Inheritance) Label Chair 654 โพลีมอรฟซึม (Polymorphism) Customer Joe Lamp 856 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 5 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 6 อ็อบเจกต (Object) คลาส (Class) อ็อบเจกต คือสรางขึ้นมาเพื่อเปนตัวแทนของสิ่งตางๆ ในส คลาส คือ ตนแบบ หรือแมพมพ (template) ิ ถาวะจริงของระบบในโลกของซอฟตแวร สําหรับสรางอ็อบเจกต อ็อบเจกต มี คลาส เปนขอกําหนดลักษณะรวมกันของอ็อบเจกต สถานะ (state) = ขอมูล (data) ที่อธิบายตัวอ็อบเจกต ประเภทเดียวกัน พฤติกรรม (behavior) = การกระทําที่ตัวอ็อบเจกตแสดงได คลาสกําหนดโครงสรางของอ็อบเจกต อ็อบเจกต สามารถจดจําสถานะได แอททริบวเก็บสถานะของอ็อบเจกต ิ แอททริบิว (attribute) คือขอมูลแตละดานของ อ็อบเจกต โอเปอรเรชันสําหรับพฤติกรรมของอ็อบเจกต โอเปอรเรชัน (operation) คือการกระทํา (action) แตละ อินสแตนซ (instance) คือ อ็อบเจกตที่สรางจาก อยางที่อ็อบเจกตแสดงได คลาส OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 7 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 8 2
  • 3. อ็อบเจกต และ แอบสแตร็ก คลาส และ อ็อบเจกต ชัน คลาสกําหนดโครงสรางของกลุมอ็อบเจกตประเภท แอบสแตร็กชัน (abstraction) เดียวกัน หมายถึง การจํากัดรายละเอียด เปนกระบวนการในการละเวนรายละเอียดที่ไมเกี่ยวของ อ็อบเจกตของคลาสเดียวกันมีลักษณะโครงสราง และ เนนรายละเอียดที่จําเปน ภายในเหมือนกัน แตจะขอมูลที่เก็บจะตางกันขึ้นอยู กับสถานะของอ็อบเจกตแตละตัว ซึ่งถูกกําหนด อ็อบเจกต เปนแอบสแตรกชันของสิ่งตางๆ ที่สราง ผานโอเปอรชันของอ็อบเจกต ขึ้นไวในระบบคอมพิวเตอร อ็อบเจกต แตละตัวจะมีไอเด็นทิตี้ (identity) ไมซา ้ํ อ็อบเจกตแตละตัวจะมีพฤติกรรมและขอมูลของ กัน สิ่งทีมันเปนตัวแทน และมีเฉพาะดานทีเกี่ยวของกับ ่ ่ ระบบเทานั้น OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 9 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 10 ตัวอยางของแอบสแตร็กชัน ความสัมพันธ (Association) แสดงความเกี่ยวของระหวางอ็อบเจกตของคลาส หนึ่งกับอีกคลาสหนึ่ง เชน พนักงานมีความสัมพันธกับ ผูจัดการ งาน OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 11 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 12 3
  • 4. เมสเสจ (Message) เมสเสจ (ตอ) เมสเสจ คือขอมูลที่สงไปยังอ็อบเจกตเพื่อสั่งให การสงเมสเสจ = การเรียกใชโอเปอรชันของ ทํางาน อ็อบเจกตอื่น อ็อบเจกตแตละคลาสจะรับผิดชอบงานตางกันไป ระบบเชิงวัตถุทํางานโดยอาศัยการปฏิสัมพันธ ระหวางอ็อบเจกต หมายถึงการที่อ็อบเจกตสง  เมสเสจไปถึงกัน โดยอ็อบเจกตที่ไดรบเมสเสจจะทํางานตามที่ไดรบ ั ั การรองขอ โดยการเรียกโอเปอรชันที่ตรงกับที่ เมสเสจสงมาทํางาน OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 13 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 14 เอ็นแคปซุเลชัน การซอนรายละเอียด (Encapsulation) (Information Hiding) หมายถึง การรวมกันของขอมูลและกระบวนการ หมายถึงการเปดเผยเฉพาะขอมูลที่จําเปนตอการใช ทํางานไวในอ็อบเจกต ซอฟตแวรโมดูล (software module) เทานั้น แยกระหวางกลไกการทํางานภายใน กับการเรียกใช ทําใหออบเจกตสมบูรณในตัวเอง (self- ็ งานจากภายนอก contained) เอ็นแคปซุเลชัน ทําใหสามารถใชการซอน ทําใหเกิดสภาพเปนสวนจําเพาะ (modularity) รายละเอียดในระดับของอ็อบเจกตได เนื่องจากขอมูลและการกระทําทีเกียวของถูกเก็บ ่ ่ ทําใหอ็อบเจกตสามารถใชงานไดแบบ black box ซึ่ง ไวในที่เดียว ไมกระจายไปทัวระบบ ่ ผูใชสามารถใชไดโดยไมรูโครงสรางภายใน OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 15 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 16 4
  • 5. การสืบทอดคุณสมบัติ การสืบทอดคุณสมบัติ (ตอ) (Inheritance) เปนวิธีการในการออกแบบสิ่งสองสิ่งหรือมากกวาที่ คุณสมบัติสามารถสืบทอดตอลงไปไดหลายลําดับชั้น ตางกัน แตมีลักษณะบางอยางเหมือนกัน เนื่องจาก ซับคลาสสามารถเปนซุปเปอรคลาสของคลาส โดยกําหนดลักษณะสวนที่เหมือนกันไวใน ซูเปอรคลาส อื่น (superclass) หนึ่งคลาส แลวกําหนดใหคลาสอื่นๆ เรียกวา ซับคลาส (subclasses) มารับนี้ลักษณะสืบทอด กอใหเกิดลําดับชั้นการสืบทอดคุณสมบัติ (inheritance ตอไปเปนของตัวเอง hierarchy) หรือ ลําดับชั้นความสัมพันธแบบเจน หมายความวา ซับคลาสมีแอททริบิวและโอเปอรชันที่ เนอรัลไลเซชัน (generalization hierarchy) รับมาจากซุปเปอรคลาส ความสัมพันธระหวางซับคลาสกับซูเปอรคลาสที่ติดกัน เรียก generalization ซับคลาสเรียกวา specialization OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 17 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 18 ตัวอยางลําดับชั้นการสืบทอด โพลีมอรฟซึม คุณสมบัติ (Polymorphism) แปลวาหลายรูปแบบ ยานยนต ในเชิงวัตถุหมายถึงการทีอ็อบเจกตตางคลาสกัน ่  ทํางานตอบสนองตอเมสเสจทีเหมือนกันในรูปแบบ ่ ที่แตกตางกันอยางเหมาะสม จักรยานยนต รถบรรทุก รถยนต ทําใหสามารถใชงานอ็อบเจกตโดยไมตองทราบ  คลาสของอ็อบเจกต รถยนตสวนบุคคล รถยนตโดยสาร OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 19 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 20 5
  • 6. การพัฒนาซอฟตแวรเชิงวัตถุ การวิเคราะหเชิงวัตถุ เนน 3 กิจกรรมหลัก OOA: object-oriented analysis การวิเคราะหเชิงวัตถุ (object-oriented analysis) กระบวนการในการทําความเขาใจกับระบบ การออกแบบเชิงวัตถุ (object-oriented design) พิจารณาขอมูลและพฤติกรรมของระบบรวมกันในรูป การเขียนโปรแกรมเชิงวัตถุ (object-oriented กลุมของอ็อบเจกต programming) กิจกรรม สรางแบบจําลองความตองการ (requirement model) สรางแบบจําลองการวิเคราะห (analysis model) ระบุอ็อบเจกตที่เกี่ยวของในระบบ ความสัมพันธของอ็อบเจกต และการปฏิสัมพันธระหวางอ็อบเจกต OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 21 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 22 การออกแบบเชิงวัตถุ ประโยชนของหลักการเชิงวัตถุ OOD: object-oriented design หลักการ ประโยชน กระบวนการในการกําหนดรูปแบบของระบบ คลาส ทําใหมมมองในการพัฒนา ุ กิจกรรม อ็อบเจกต ซอฟตแวรสอดคลองกับธรรมชาติ สรางแบบจําลองการออกแบบ (design model) โอเปอรชัน และ อ็อบเจกตที่ใชซ้ําได ปรับรูปแบบทีไดจากการวิเคราะหใหเหมาะกับสภาพแวดลอม ่ เมสเสจ ของระบบ และขอกําหนดในดานตางๆ เอ็นแคปซุเลชัน อ็อบเจกตที่ใชซ้ําได และการซอน ชวยลดผลกระทบจากการ รายละเอียด เปลี่ยนแปลง OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 23 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 24 6
  • 7. ประโยชนของหลักการเชิงวัตถุ ยูเอ็มแอล (UML) หลักการ ประโยชน UML – Unified Modeling Language การสืบทอด ลดความซ้าซอน ํ เปนภาษาภาพในการนําเสนอแนวคิดที่จาเปนใน ํ คุณสมบัติ ลดระยะเวลาในการสรางคลาสใหม การพัฒนาระบบเชิงวัตถุ ชวยใหเกิดมาตรฐานและความ ผูพัฒนา ตรงกันในโปรแกรม Grady Booch โพลีมอรฟซม ชวยลดความซับซอนในการเขียน ึ Ivar Jacobson โปรแกรมเกียวกับเหตุการณ ่ James Rumbaugh ชวยลดผลกระทบจากการ เปลี่ยนแปลง OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 25 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 26 ยูเอ็มแอล (ตอ) ประเภทของแผนภาพยูเอ็มแอล แผนภาพยูเอ็มแอล (UML diagram) มี มี 13 ประเภท องคประกอบ 4 สวน แบงเปน 3 กลุม สัญรูป (Icon) Structure diagrams สัญลักษณสองมิติ แสดงโครงสรางของระบบ เสนเชื่อม (paths) Behavior diagrams ขอความ แสดงพฤติกรรมทัวไป ่ ขอกําหนดของยูเอ็มแอลกําหนดทั้งกฎเกณฑ Interaction diagrams สําหรับโครงสรางและความหมายของ แสดงการปฏิสัมพันธของ องคประกอบ OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 27 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 28 7
  • 8. แผนภาพโครงสราง (Structure แผนภาพพฤติกรรม (Behavior Diagrams) Diagrams) คลาสไดอะแกรม (class diagram) ยูสเคสไดอะแกรม (use case diagram) แสดงความสัมพันธระหวางคลาส อ็อบเจกตไดอะแกรม (object diagram) แสดงความตองการในการใชงานระบบ ในเชิงการ แสดงความสัมพันธระหวางอ็อบเจกต ปฏิสัมพันธระหวางระบบรับสิ่งแวดลอม คอมโพเนนตไดอะแกรม (component diagram) แสดงความสัมพันธเชิงกายภาพระหวาง components ของซอฟตแวร แอคทิวิตี้ไดอะแกรม (activity diagram) คอมโพซิทไดอะแกรม (composite structure diagram) แสดงการไหลของการทํางาน (workflow) แสดงโครงสรางภายในของคลาส แพ็คเกจไดอะแกรม (package diagram) สเตทแมชีน ไดอะแกรม (state machine แสดงการรวมกลุมของ UML element เปนโครงสรางระดับสูงขึ้น diagram) ดีพลอยเมนตไดอะแกรม (deployment diagram) แสดงพฤติกรรมการเปลี่ยนสถานะของอ็อบเจ็คของ แสดงสถาปตยกรรมเชิงกายภาพและองคประกอบ (components) ของ ซอฟตแวรของระบบ คลาส OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 29 OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 30 แผนภาพการปฏิสัมพันธ (Interaction Diagrams) ซีเคว็นไดอะแกรม ( Sequence diagram) แสดงพฤติกรรมการทํางานของกลุมอ็อบเจกตในยูสเคสเรียงลําดับ  ตามเวลา คอมมิวนิเคชันไดอะแกรม ( Communication diagram) แสดงพฤติกรรมการทํางานของกลุมอ็อบเจกตในยูสเคส ในรูปการ  สื่อสารระหวางอ็อบเจกต ไทมิงไดอะแกรม ( Timing diagram) แสดงการปฏิสัมพันธระหวางกลุมอ็อบเจกตและเปลี่ยนแปลง สถานะของอ็อบเจกตตามแกนเวลา อินเตอรแรคชันโอเวอรวิวไดอะแกรม ( Interaction overview diagram) แสดงการไหลของการควบคุมโพรเซส OOAD 1/2551 ภาคปกติ ดร.สุขสถิต มีสถิตย 31 8