งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Analysis Model & Object Oriented Analysis

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Analysis Model & Object Oriented Analysis"— ใบสำเนางานนำเสนอ:

1 Analysis Model & Object Oriented Analysis
บทที่ 6 (ต่อ) Analysis Model & Object Oriented Analysis

2 Activity Diagram Activity Diagram เป็นแผนภาพที่ใช้ที่แสดงขั้นตอนการทำงานของ use case (เช่นเดียวกับ Sequence Diagram และ Collaboration Diagram) แต่จะเน้นไปที่งานย่อยของวัตถุ โดยจะมีกระบวนการทำงานคล้ายกับ Flowchart Activity Diagram บางครั้งมีลักษณะคล้าย Swimlane โดยจะแบ่งกลุ่มกิจกรรมที่เกิดขึ้นเป็นช่อง โดยกำกับแต่ละช่องด้วยชื่อของ Object แต่ละ Swimlane แสดงถึงกิจกรรมที่เกิดขึ้นกับ Object นั้นๆ

3 ตัวอย่าง Activity Diagram การสอบถามยอดบัญชีจากตู้ ATM

4 Activity Diagram

5 ให้นักศึกษาเขียน Activity diagram จากการลงทะเบียนเรียนของนักศึกษา

6 Sequence Diagram Sequence Diagram เป็นแผนภาพที่ใช้อธิบายการทำงานของ Use Case เพื่อแสดงถึงขั้นตอนการทำงานและลำดับของการสื่อสาร (Message) ระหว่าง Object ที่ตอบโต้กัน Sequence Diagram จะแสดงอยู่ในรูปแบบ 2 มิติ โดยเส้นประแนวตั้ง (Lifeline) จะนำเสนอในด้านเวลา ส่วนเส้นแนวนอน (Message) จะนำเสนอเกี่ยวกับการโต้ตอบกันระหว่าง Object หรือ Class ต่างๆ

7 ตัวอย่าง Sequence Diagram ของระบบ ATM
ในระบบ ATM จะประกอบด้วย Use Case ต่างๆ ดังนี้ -การถอนเงิน -การดูยอดเงิน ในระบบ ATM จะประกอบด้วย Class ต่างๆ ดังนี้ -เครื่อง ATM -ปุ่มหมายเลข บนเครื่อง ATM (เป็น Aggregation ของเครื่อง ATM) -หน้าจอบนเครื่อง ATM (เป็น Aggregation ของเครื่อง ATM) -เครื่องจ่ายเงินหรือ Cash Dispenser (เป็น Aggregation ของเครื่อง ATM) -เครื่องพิมพ์ Slip (เป็น Aggregation ของเครื่อง ATM) -ผู้ใช้เครื่อง (ถือเป็น Class ที่เป็น Actor) -เงินสด -บัญชีเงินฝาก

8 สามารถสร้าง Sequence สำหรับ Use Case การขอดูยอดเงินได้ดังนี้
:ผู้ใช้เครื่อง :เครื่อง ATM :ปุ่มหมายเลข :หน้าจอ :บัญชีเงินฝาก สอดบัตร() กด(รหัส) [รหัสไม่ถูกต้อง] เตือน() [รหัสไม่ถูกต้อง] แสดงข้อความเตือน() [รหัสไม่ถูกต้อง] หยุดการทำรายการ() [รหัสถูกต้อง] ดำเนินการต่อ() แสดง Main Menu() กด (ขอดูยอดเงิน) ตรวจสอบยอดคงเหลือ() แสดงยอดคงเหลือ() รูป Sequence Diagram ของการขอดูยอดเงินจากเครื่อง ATM

9 คำอธิบาย Sequence Diagram
จากรูปเป็นภาพของ Sequence Diagram ที่แสดงกิจกรรมใน Use Case การขอดูยอดเงินคงเหลือจากเครื่อง ATM โดยจะให้ผู้ใช้เครื่อง ซึ่งถือเป็น Actor เป็น Class ที่อยู่ทางซ้ายสุดของ Sequence Diagram ถัดมาคือเครื่อง ATM ซึ่งเครื่อง ATM นั้นประกอบด้วย (Aggregation) ปุ่มหมายเลข และหน้าจอ ซึ่งเป็น Class ที่แสดงไว้ในอันดับถัดมา และบัญชีเงินฝาก เป็น Class ที่อยู่ทางขวาสุดของ Sequence Diagram กิจกรรมใน Use Case นี้เริ่มต้นที่ผู้ใช้เครื่องสอดบัตร ATM เข้าไปยังเครื่อง ATM (ซึ่งหมายความว่าตู้ ATM ต้องมี Function เพื่อการสอดบัตร ATM อยู่ในตัว) ตามด้วยการกดรหัสของผู้ใช้เครื่องที่ปุ่มหมายเลข (Function กด เป็นของปุ่มหมายเลข) ซึ่งผลลัพธ์ที่ได้จากการกดนี้จะได้รหัสที่ผู้ใช้เครื่องกดถ้ารหัสไม่ถูกต้อง เครื่องจะถูกสั่งให้เตือนผู้ใช้เครื่องว่ารหัสผิดพลาด แต่เครื่อง ATM จะเตือนได้นั้นต้องแสดงข้อความผ่านทางหน้าจอของเครื่อง ดังนั้นเครื่อง ATM จึงสั่งให้หน้าจอแสดงข้อความเตือน

10 คำอธิบาย Sequence Diagram (ต่อ)
หลังจากแสดงข้อความเตือนเสร็จสิ้นแล้ว เครื่องจะถูกสั่งให้หยุดทำรายการของผู้ใช้รายนี้ แต่ในทางกลับกันหากรหัสที่กดไว้นั้นถูกต้อง (พิจารณาเส้นที่ 6 จากด้านบน) จะเห็นว่าเครื่อง ATM ถูกสั่งให้ดำเนินการต่อไป โดยการดำเนินการแรกของเครื่องคือ การสั่งให้หน้าจอแสดงหน้าจอหลัก (Main Menu) หลังจากนั้นผู้ใช้จะกดปุ่มที่ปุ่มหมายเลขเพื่อระบุว่าตนต้องการขอดูยอดเงิน หลังจากนั้นบัญชีเงินฝากจะถูกสั่งให้ส่งค่ายอดคงเหลือ (ผ่านทาง Function ตรวจสอบยอดคงเหลือ) และผลที่ได้จะถูกแสดงออกทางหน้าจอซึ่งถือเป็นกิจกรรมสุดท้ายของ Use Case นี้

11 ให้นักศึกษาเขียน Sequence diagram จากการลงทะเบียนเรียนของนักศึกษา

12 Class Diagram เป็นแผนภาพที่ใช้ในการแสดงกลุ่มของคลาส โครงสร้างคลาส และ Interface ตลอดจนแสดงความสำพันธ์ระหว่างคลาส ซึ่งเทคนิคที่ใช้ในการค้นหาจะแตกต่างออกไปตามประสบการณ์ของทีมงาน Class Diagram คือ แผนภาพที่ใช้แสดง Class และ ความสัมพันธ์ระหว่าง Class ของระบบที่สนใจ (Problem Domain) เช่น ในระบบจัดซื้อ Class ที่เกี่ยวข้องคือ ผู้ผลิต, พนักงานจัดซื้อ, ใบสั่งซื้อ, ใบเสนอราคา, ใบเสร็จรับเงิน เป็นต้น

13 Class Diagram สัญญลักษณ์ Class ประกอบด้วย Class Name คือ ชื่อของ Class
Attributes คือ คุณลักษณะของ Class Operations หรือ Methods ซึ่งก็คือ กิจกรรมที่สามารถกระทำกับObject นั้นๆได้ Name Attributes Methods

14 ตัวอย่าง Class Diagram ในระบบธนาคาร

15 การสร้าง Class Diagram
จงสร้าง Class Diagram จาก Problem Domain ที่กำหนดให้ต่อไปนี้ ในคณะวิทยาศาสตร์ของสถาบันการศึกษาแห่งหนึ่งมีบุคลากรหลายประเภทด้วยกัน ได้แก่ อาจารย์ นักศึกษา และเจ้าหน้าที่ โดยที่อาจารย์แต่ละท่านมีหน้าที่ในการสอนวิชาใดวิชาหนึ่งหรือมากกว่า 1 วิชาก็ได้ และนักศึกษาก็มีหน้าที่ในการศึกษาวิชาใดวิชาหนึ่ง หรือมากกว่า 1 วิชาก็ได้ในเวลาเดียวกันเจ้าหน้าที่ของภาควิชา คือเจ้าหน้าที่ประจำห้องทดลองต่างๆ โดยกำหนดว่าใน 1 ห้องทดลองจะต้องมีเจ้าหน้าที่ 1 คนเสมอ

16 การสร้าง Class Diagram
หา Use Case จาก Problem Domain use case ของระบบคือ การเรียนการสอน ประกอบด้วย Actor คือ นักเรียน อาจารย์ การใช้ห้องทดลอง การดูแลห้องทดลอง ประกอบด้วย Actor คือ เจ้าหน้าที่

17 การสร้าง Class Diagram
Actors ที่มีจาก use case คือ นักเรียน อาจารย์ เจ้าหน้าที่ เขียน Use Case Diagram การเรียนการสอนในคณะวิทยาศาสตร์ การเรียน การสอน การดูแล ห้องทดลอง การใช้ นักศึกษา <<include>> อาจารย์ เจ้าหน้าที่

18 การสร้าง Class Diagram
จาก Use Case ที่ได้ เราสามารถหา Objects/Classes ที่มีอยู่ในระบบ Use case การเรียนการสอน นักเรียน อาจารย์ // Object/Class Actor ห้องเรียน วิชาเรียน ชั่วโมงเรียน // Object/Class อื่นๆ Use case การใช้ห้องทดลอง นักเรียน อาจารย์ // Object/Class Actor ห้องทดลอง // Object/Class อื่นๆ Use case การดูแลห้องทดลอง เจ้าหน้าที่ // Object/Class Actor ห้องทดลอง // Object/Class อื่นๆ

19 การสร้าง Class Diagram
เขียน Class Diagram เบื้องต้น (ไม่มี Attributes, Operations) จาก Scenario คณะวิทยาศาสตร์ 1..n 1..n 1..n ห้องเรียน ห้องทดลอง บุคลากร 1..1 0..1 1..1 ดูแล 1..1 นักเรียน อาจารย์ ใช้ ใช้ เจ้าหน้าที่ 1..n 1..n เรียน สอน 0..n 0..n 0..n 0..n 1..n มี 1..1 ชั่วโมงเรียน วิชาเรียน ได้เพิ่ม Class บาง Class ที่จำเป็นได้แก่ คณะวิทยาศาสตร์ เกิดจาก Aggregation Abstraction (ของห้องเรียน ห้องทดลองและบุคลากร) บุคลากร เกิดจาก Generalization (บุคลากร จำแนกเป็นเจ้าหน้าที่ นักเรียนและอาจารย์)

20 การสร้าง Class Diagram
ประกอบด้วย Class ที่เป็น Tangible ได้แก่บุคลากร (จำแนกเป็นเจ้าหน้าที่ นักเรียนและอาจารย์) ห้องเรียน และห้องทดลอง ส่วน Class ที่เป็น Intangible ได้แก่ คณะวิทยาศาสตร์ วิชาเรียน และชั่วโมงเรียน นอกจากนี้จาก Problem Domain ที่กำหนดให้ เราจะพบว่า Class Diagram จะมีความสัมพันธ์กันอันเกิดจากการใช้ Abstraction แบบต่าง ๆ และมีการสร้าง Class เพิ่มขึ้นด้วย เพื่อเพิ่มความสมบูรณ์ให้กับ Class Diagram ได้แก่ Class ชั่วโมงเรียน เพื่อช่วยในการโยงความสัมพันธ์ระหว่างห้องเรียนกับวิชาเรียน 

21 การสร้าง Class Diagram
คณะวิทยาศาสตร์ 1..n ห้อง 1..n ห้องเรียน ห้องทดลอง บุคลากร 1..1 0..1 1..1 ดูแล 1..1 นักเรียน อาจารย์ ใช้ ใช้ เจ้าหน้าที่ 1..n 1..n เรียน สอน 0..n 0..n 0..n 0..n 1..n มี 1..1 ชั่วโมงเรียน วิชาเรียน

22 การสร้าง Class Diagram
สามารถปรับเปลี่ยน Class Diagram อีกครั้ง เพื่อให้ได้ Class Diagram ที่สมบูรณ์ขึ้น โดยเพิ่มเติม Attributes และ Operations ลงไป

23 คำสั่ง จงสร้าง Class Diagram จาก Problem Domain ที่กำหนดให้ต่อไปนี้
ข้อ 1 ในบริษัทจัดหางานแห่งหนึ่ง จะให้บริการเป็นสื่อกลางในการติดต่อกันระหว่าง นายจ้างที่ต้องการลูกจ้างและผู้สมัครงานที่ต้องการหางานทำ โดยจะรับจัดเก็บข้อมูลเกี่ยวกับคุณสมบัติของผู้สมัครและคุณสมบัติของงานแต่ละตำแหน่งที่นายจ้างต้องการ และเมื่อพบว่ามีตำแหน่งงานที่เหมาะแก่ผู้สมัคร บริษัทจะจัดทำจดหมายเพื่อติดต่อให้นายจ้างและผู้สมัครให้มาสัมภาษณ์กันที่บริษัท

24 ข้อ 2 ใน 1 ปี ประกอบไปด้วยเดือนทั้งสิ้น 12 เดือน ได้แก่ มกราคม, กุมภาพันธ์, มีนาคม, ..., ธันวาคม อนึ่ง ในแต่ละเดือนจะประกอบไปด้วยวันจำนวนหนึ่ง ซึ่งวันที่มีในเดือนนั้น จำแนกได้เป็น วันธรรมดา (Working Days) วันหยุดปลายสัปดาห์ (Weekends) และวันหยุดนักขัตฤกษ์ (Holidays) ซึ่งวันหยุดนักขัตฤกษ์นั้นสามารถจำแนกได้เป็น 1. วันหยุดสากล เช่น วันแรงงาน วันปีใหม่ เป็นต้น 2. วันหยุดทางศาสนา เช่น วันมาฆบูชา 3. วันหยุดที่ประกาศโดยรัฐ เช่น วันจักรี วันเฉลิมพระชนมพรรษาฯ เป็นต้น


ดาวน์โหลด ppt Analysis Model & Object Oriented Analysis

งานนำเสนอที่คล้ายกัน


Ads by Google