1 / 31

Object Oriented Analysis And Design

Object Oriented Analysis And Design. 8311302 การวิเคราะห์และออกแบบเชิง วัตถุ Introduction to Object-Oriented Systems Analysis and Design. Department of Informatics Faculty of Science and Technology Phuket Rajabhat University 1/2553. หัวข้อที่จะกล่าวถึง.

stacy
Download Presentation

Object Oriented Analysis And Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object Oriented Analysis And Design 8311302การวิเคราะห์และออกแบบเชิงวัตถุ Introduction to Object-Oriented Systems Analysis and Design Department of Informatics Faculty of Science and Technology PhuketRajabhat University 1/2553

  2. หัวข้อที่จะกล่าวถึง • Introduction to Systems Analysis and Design • Introduction to Object-Oriented Systems Analysis and Design

  3. Information System Development Models (ISD Models) Introduction to Systems Analysis and Design • มีแนวทางในการพัฒนาระบบหลากหลายแนวทาง แต่ไม่ว่าจะเป็นทางใดก็ใช้วงจรการพัฒนาระบบ (System Development Life Cycle: SDLC) ในการวิเคราะห์และออกแบบ • SDLC พัฒนาขึ้นบนรากฐานของการแก้ปัญหาเชิงวิทยาศาสตร์ (Scientific Management) มี 7 ขั้นตอน

  4. Adapted Waterfall SDLC 1. ค้นหาและเลือกสรรโครงการ 1 2 3. วิเคราะห์ระบบ 2. เริ่มต้นและวางแผนโครงการ 3 4 5. ออกแบบเชิงกายภาพ 4. ออกแบบเชิงตรรกะ 5 6 6. พัฒนาและติดตั้งระบบ 7 7. ซ่อมบำรุงระบบ

  5. วงจรการพัฒนาระบบ (SDLC) • วงจรการพัฒนาระบบ คือ กระบวนการทางความคิด (Logical Process) ในการพัฒนาระบบสารสนเทศ เพื่อแก้ปัญหาทางธุรกิจและตอบสนองความต้องการของผู้ใช้ได้ โดยภายในวงจรนั้นจะแบ่งกระบวนการพัฒนาออกเป็นระยะ (Phase) ประเภทของวงจรการพัฒนาระบบในรูปแบบต่าง ๆ มีดังนี้ • Waterfall SDLC • Adapted Waterfall SDLC • Evolutionary SDLC • Incremental SDLC • Spiral SDLC

  6. Waterfall SDLC Feasibility Study 1 System Investigation 2 System Analysis 3 System Design 4 Implementation ใช้ในการพัฒนาระบบที่ตายตัวอยู่แล้ว ทั้งนี้เพราะไม่สามารถกลับมาแก้ไข - ข้อผิดพลาดได้ 5 6 Review and Maintenance

  7. Adapted Waterfall SDLC Project Identification And Selection 1 Project Initiating And Planning 2 Analysis 3 Logical Design 4 Physical Design 5 ปรับปรุงมาจาก Waterfall SDLC ให้สามารถกลับมาแก้ไขข้อผิดพลาดใน แต่ละ Phase ได้ 6 Implementation 7 Maintenance

  8. Analysis Analysis Analysis Design Design Design Implementation Implementation Implementation Evolutionary SDLC Product 1 Product 2 Product 3 ระบบพัฒนาขึ้นจากข้อดี – ข้อเสียที่พบของ - แต่ละรอบของการพัฒนา

  9. Analysis Analysis Analysis Design Design Design Implementation Implementation Implementation Incremental SDLC Part 3 Part 2 Part 1 Part 2 Part 1 Part 1

  10. Spiral SDLC ออกแบบ สร้างต้นแบบรอบที่ 4 สร้างต้นแบบรอบที่ 3 สร้างต้นแบบรอบที่ 2 ทดสอบและประเมินผล วิเคราะห์และออกแบบระบบ สร้างต้นแบบรอบที่ 1 Plan first iteration วางแผน

  11. แนวทางปฏิบัติ (Methodologies) • Methodology คือ วิธีการหรือแนวทางที่จะนำกระบวนการทางความคิดของวงจรการพัฒนาระบบสารสนเทศทาปฏิบัติจริง จนกลายเป็นระบบสารสนเทศที่สามาระใช้งานได้ สิ่งจำเป็นสำหรับ Methodology ได้แก่ • แบบจำลอง (Model) • เครื่องมือในการพัฒนาระบบ (Tools) • เทคนิค (Techniques)

  12. ตัวอย่างของ Methodology • Structured System Analysis and Design Methodology (SSADM) • เหมาะกับการทำงานที่มีรูปแบบการทำงานที่เป็นขั้นตอน * • Rapid Application Development-based Methodology (RAD) • เหมาะกับงานที่ต้องการความรวดเร็ว ใช้ CASE และ JAD • Object-Oriented Analysis and Design Methodology • เหมาะกับงานออกแบบที่อ้างอิงกับ Process-Centered Approach*

  13. หลักการในการพัฒนาระบบหลักการในการพัฒนาระบบ • คำนึงถึงเจ้าของระบบและผู้ใช้ระบบ • พยายามเข้าถึงปัญหาให้ตรงจุด • กำหนดขั้นตอนหรือกิจกรรมในการทำงาน • กำหนดมาตรฐานในระหว่างการพัฒนาระบบและจัดทำเอกสารประกอบในทุกขั้นตอน • การพัฒนาระบบคือการลงทุน • เตรียมความพร้อมหากแผนงานหรือโครงการต้องถูกยกเลิกหรือต้องทบทวนใหม่ • แตกระบบใหญ่ให้เป็นระบบย่อย • ออกแบบระบบเพื่อรองรับการเติบโตและการเปลี่ยนแปลงในอนาคต

  14. Object Oriented คืออะไร? Introduction to Object-Oriented Systems Analysis and Design Object คือหน่วยสนใจของระบบที่ทำให้เกิดเหตุการณ์บางอย่าง สำหรับออบเจ็กต์ในโลกของเทคโนโลยีเชิงวัตถุ จะเน้นที่ตัวปฏิบัติการมากกว่าการปฏิบัติ Click (Icon MS-Word) Window MS-Word

  15. Object แบ่งได้ 2 ประเภท คือ สิ่งที่เป็นรูปธรรม และนามธรรม • สิ่งที่มีลักษณะเป็นรูปธรรม (จับต้องได้) เช่น จักรยาน รถ สุนัข องค์กร ใบรายการสินค้า เป็นต้น • -สิ่งที่มีลักษณะเป็นนามธรรม (จับต้องไม่ได้) เช่น ความเป็นเจ้าของ เที่ยวบิน การวิ่ง แสง เป็นต้น • Object จะประกอบด้วย 2 ส่วนปฎิบัติการคือ Attribute และ Method โดย Attribute เรียกอีกอย่างว่า Data และ Method เรียกอีกอย่างว่า Behavior Object

  16. Object Data :จะเป็นส่วนข้อมูลลับของ Object ที่จะทราบเฉพาะภายใน Object เท่านั้น เช่น Object คน จะมี attribute คือ หมายเลขบัตรประชาชน, วันเกิด, เพศ, ที่อยู่ เป็นต้น Object สุนัข จะมี attributeคือ ชื่อ, สี, พันธุ์, เป็นต้น Object จักรยาน จะมี attributeคือ gear, คันเร่ง, ล้อ เป็นต้น ฉะนั้นจะเห็นคำว่า Attribute และ Data มีความหมายใกล้เคียงกัน เช่นถ้า สี Attribute คือ สี Data คือ แดง, ดำ, เขียว เป็นต้น Object

  17. Object Behavior :สิ่งที่ Object นั้นๆ สามารถทำได้ ในทาง Procedural language จะเรียก behavior เป็น procedure, function หรือ subroutine ส่วนในทาง o-o programming จะเรียก behavior เป็น method เช่น Object คน จะมี methods คือ การเดิน, ยืน, มีรถ เป็นต้น Object สุนัข จะมี methods คือ การเห่า, การหายใจ, การกระดิกหาง เป็นต้น Object จักรยาน จะมี methodsคือ การเบรค, การเร่ง, การชลอ เป็นต้น ฉะนั้นจะเห็นคำว่า method และ behavior มีความหมายเหมือนกัน Object

  18. Object แปลว่าวัตถุทั้งที่จับต้องได้ และจับต้องไม่ได้ Orientationซึ่งมาจากคำว่า Orient แปลว่า นำทาง นำไป Object Orientationหมายถึง การใช้ Object เป็นตัวหลักเพื่อการพิจารณาความเป็นจริงต่างๆ ที่เกิดขึ้นในโลก การสื่อสารระหว่าง Object ดังรูป Object Attribute Attribute Message Return Value Method Method Receiver Sender

  19. Object ทุกตัวจะต้องอยู่ใน class ซึ่ง class กับ object เป็นสิ่งที่คู่กันเสมอ สามารถทราบรายละเอียดและคุณสมบัติ ของ Object ได้ด้วยการดูที่ Class Classคือ กลุ่มของ Object ที่มีโครงสร้างพื้นฐานพฤติกรรมเดียวกัน นั่นคือ class คือต้นแบบข้อมูลที่มีไว้เพื่อสร้าง object นั่นเอง ฉะนั้นก่อนที่จะทำการสร้าง object จะต้องสร้าง class ขึ้นมาก่อน ดังรูป Class Object 1 Template Class Object 2 Object 3

  20. Classนอกจากจะมีชื่อ Class ที่บอกคุณสมบัติของ Class นั้น ยังมี Attribute และ Operation ต่างๆ ซึ่งเป็นตัวอธิบายรายละเอียด และหน้าที่ต่างๆ โดยแสดงในลักษณะ Template ดังนี้ Class

  21. ตัวอย่างClass ของ Student Class

  22. Encapsulation : คือรากฐานอย่างหนึ่งของแนวคิดในเชิง Object-Oriented ซึ่งข้อดีของ Encapsulation คือการป้องกัน Attribute ของ Object จากความเสียหาย Encapsulation คือการห่อหุ้ม Attribute และ Methods เข้าไว้ด้วยกัน Encapsulation จะทำหน้าที่ป้องกันมิให้ Object อื่นที่อยู่ภายนอก เข้าถึง Object หนึ่งๆ ได้อย่างอิสระจะมีเฉพาะ Methods ที่อยู่ใน Object เท่านั้นจะสามารถติดต่อกับ Attribute ที่อยู่ใน Object เดียวกันได้ Encapsulation(Protection)

  23. Inheritance : คือ คุณสมบัติที่ Class ๆ หนึ่งสามารถสืบลักษณะของ Attribute และ Method ของอีก Class หนึ่งได้การทำเช่นนี้ทำให้คุณสามารถ CreateClass ใหม่ขึ้นโดยนำสาระสำคัญ ที่เหมือนกันของ Attribute และ Behavior (Method) จาก Class อื่นมาใช้ได้ Inheritance การสืบทอดคุณสมบัติ Animal Cat Dog Person

  24. การสืบทอดคุณสมบัติ (Inheritance) การสืบทอดคุณสมบัติ (Inheritance) มีข้อดีดังนี้ 1. ทำให้มีโครงสร้างที่เป็นระบบ ระเบียบ ปรับเปลี่ยนได้ง่าย 2. ลดเวลาในการพัฒนาระบบ 3. ลดค่าใช้จ่ายในการพัฒนา การสืบทอดโดยอาศัยคุณสมบัติของออบเจ็กต์ที่มีอยู่แล้วใส่ลงในออบเจ็กต์ตัวใหม่ หลักของการสืบทอดคุณสมบัติเป็นลำดับชั้น จะทำให้ความสัมพันธ์ระหว่างออบเจ็กต์มีความชัดเจนยิ่งขึ้น

  25. โพลิมอร์ฟิสซึม (Polymorphism) DrawChart( ) หมายถึง การบอกแบบเดียว แต่ได้รับการตอบสนองหลายรูปแบบ (Poly = “many”, morph = “form”) ซึ่งเป็นไปตามหลักการของเทคโนโลยีเชิงวัตถุเช่นฟังก์ชันการวาดDrawChart( ) :HourlyPaidEmployee 2a:=cal() 2b:=cal() PaySlip :WeeklyPaidEmployee 2c:=cal() :MonthlyPaidEmployee

  26. Composition Compositionคือ Object ที่ไม่ได้เป็น Object หน่วยย่อยที่สุด หรือเป็น Object ที่ประกอบขึ้นจาก Object อื่นหลายๆ Object อยู่ภายใน เช่น Object Computer ประกอบไปด้วย Object video card, object keyboards, object drive, object power supply เป็นต้น ข้อดีของ Composition มีดังนี้ ทำให้ระบบมีความซับซ้อนน้อยที่สุด Composition มีส่วนช่วยในการ reuse การแบ่งระบบออกเป็นส่วนการทำงานย่อยๆนั้น ส่วนต่างๆ จะสามารถทำงานได้เป็นอิสระต่อกันส่งผลให้การทดสอบและปรับปรุงแก้ไขแต่ละส่วนสามารถทำได้อย่างอิสระ

  27. Composition ชนิดของ Composition สามารถแบ่งออกได้เป็น 2 ประเภทดังนี้ Aggregation Association Aggregation :การนำส่วนประกอบย่อยๆ หลายๆอย่างมาประกอบเป็นหนึ่ง Object ที่สามารถใช้งานได้อย่างสมบูรณ์ ถ้าขาดส่วนหนึ่งส่วนใดจะเกิดการผิดพลาดได้ Association : จะแสดงส่วนของ Object ทั้งหมดที่เป็นอิสระต่อกัน ที่มีการทำงานไม่ขึ้นกับส่วนของ Object อื่นๆ

  28. Composition ความเหมือนและต่างกันระหว่าง Association และ Aggregation ความเหมือนระหว่าง Association และ Aggregation : แต่ละส่วนจะได้รับการสร้างเป็น Object ทำให้ง่ายในการ reuse จะมีการทำงานของแต่ละ Object เป็นลักษณะเฉพาะที่สามารถปรับเปลี่ยน หรือแก้ไข โครงสร้างภายใน Object นั้นได้โดยสะดวก ไม่กระทบต่อการทำงานของ Object อื่น ความแตกต่างกันระหว่าง Association และ Aggregation : ความสัมพันธ์ระหว่าง Object ส่วนของ Aggregation นั้นวัตถุแต่ละชิ้นจะทำโดยพึ่งพาอาศัยกัน ซึ่งถ้าวัตถุชิ้นใดขาดหายไปจะทำให้การทำงานทั้งหมดกระทบกระเทือนไปด้วย ส่วนของ Association วัตถุแต่ละส่วนจะทำงานในแบบขอบริการซึ่งกันและกัน ดังนั้นถ้าขาดวัตถุชิ้นใด อาจทำให้ไม่สมบูรณ์แต่ไม่ถึงกับการทำงานทั้งหมดหยุดชะงัก ซึ่งจะเลือกวิธีใดขึ้นอยู่กับระบบที่จะทำการออกแบบและการวิเคราะห์ของการออกแบบวิธีใดเหมาะสมมากกว่ากัน

  29. แบบฝึกหัด • ให้แยกแยะว่าสิ่งต่อไปนี้ คือ Class สิ่งใด คือ Object • หนังสือ ชุดว่ายน้ำ คอมพิวเตอร์คอมแพ็ค รถยนต์ยี่ห้อToyota • แว่นตา นาย ก ดินสอสีดำที่อยู่ในกระเป๋าของเด็กชาย ข

  30. แบบฝึกหัด • จากสถานการณ์ต่อไปนี้ ให้แยกแยะว่ามี Object อะไรบ้าง และ Function ที่ Object แต่ละตัวต้องมีคืออะไร • นาย ง อ่านหนังสือการ์ตูนขายหัวเราะ • นาย ป ชวนนางสาว ข เต้นรำ • นาย ช ถอนเงินจากตู้ ATM ธนาคารทหารไทย • นาย ต เติมน้ำมันให้กับรถยนต์ยี่ห้อ Nisson

  31. แบบฝึกหัด ถ้านักศึกษาเป็นนักวิเคราะห์ระบบแล้วเมื่อต้องการออกแบบที่มีการคำนวณด้วยสูตร (-b+ b2-4ac)/2a คือสูตรคณิตศาสตร์หารากที่สองของเลขจำนวนจริงเมื่อ ต้องการนำมาสร้างเป็นโปรแกรมในการหารากที่สองจะเลือกใช้วิธีใดระหว่างAggregation หรือ Association เพราะเหตุใดจึงเลือกวิธีดังกล่าว 2.แนวความคิดการพัฒนาระบบงานเชิงโครงสร้างและวัถตุ มีความแตกต่างกันอย่างไร

More Related