Object-Oriented System Analysis and Design using UML

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ประกาศกรมสวัสดิการและคุ้มครองแรงงาน เรื่อง หลักเกณฑ์และวิธีการเลือกตั้งคณะกรรมการสวัสดิการในสถานประกอบกิจการ ประกาศราชกิจจานุเบกษา วันที่ 22 พฤษภาคม.
Advertisements

เฉลย (เฉพาะข้อแสดงวิธีทำ)
System Requirement Collection (2)
แบบจำลองฐานข้อมูล คือ เครื่องมือในเชิงแนวคิดที่ใช้ในการอธิบาย ข้อมูล
เป็นหลักสำคัญในการนำเสนอเนื้อหา ของบทเรียนคอมพิวเตอร์ช่วยสอนก็คือ ควร นำเสนอภาพที่เกี่ยวข้องกับเนื้อหา ประกอบ กับคำอธิบายสั้นๆ ง่ายๆ แต่ได้ใจความ การใช้ภาพประกอบจะทำให้ผู้เรียน.
การใช้งานโปรแกรม SPSS
Entity-Relationship Model E-R Model
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
ไฟไนต์ออโตมาตาที่คาดเดาไม่ได้ (Non-deterministic Finite Automata)
กระบวนการของการอธิบาย
ครั้งที่ 7 รีจิสเตอร์ (REGISTER). รีจิสเตอร์ (Register) รีจิสเตอร์เป็นวงจรความจำที่ใช้ในการเก็บค่า ทางไบนารี่ ใช้ในการเก็บค่าในระหว่างการ ประมวลผลโดยใช้ฟลิป.
เรื่อง หลักการเขียนโปรแกรม เบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
เทคนิคการใช้ Microsoft Excel. 1. การตีตารางในรูปแบบต่าง ๆ 2. การแทรกภาพในตาราง 3. การตกแต่งข้อมูลด้วย Format Cells 4. การคำนวณ บวก ลบ คูณ หาร 5. การย่อ.
การออกแบบโครงสร้างข้อมูล การออกแบบโครงสร้างข้อมูล หมายถึง กรณีสร้างตารางใหม่ด้วย ออกแบบตาราง (Table Design) เพื่อต้องการกำหนด โครงสร้างด้วยตนเอง โดยมีขั้นตอนการ.
Project Management by Gantt Chart & PERT Diagram
การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
IP-Addressing and Subneting
IP-Addressing and Subneting
เริ่มต้นออกแบบ Unit7.
บทที่ 3 การวิเคราะห์ Analysis.
บทที่ 7 การวิเคราะห์และพัฒนาระบบ
การบริหารโครงการ Project Management
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
โครงสร้างภาษา C Arduino
ความหมายสัญลักษณ์ของ BPMN 2.0
ความหมายสัญลักษณ์ของ BPMN 2.0
กลุ่มคำและประโยค ภาษาไทย ม. ๓
บทที่ 8 เงื่อนไขตัดสินใจ
ชุดที่ 1 ไป เมนูรอง.
คำสั่ง Create , Insert, Delete, Update
หลักการแต่ง คำประพันธ์ประเภท โคลง. หลักการแต่ง คำประพันธ์ประเภท โคลง.
การรายงานความคืบหน้าหรือสถานะ
มหาวิทยาลัยราชภัฏนครปฐม
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
ระบบการจัดการคลินิกครบวงจร
แผนที่อากาศและแนวปะทะอากาศ
บทที่ 7 การวิเคราะห์และพัฒนาระบบ
พฤติกรรม (Behavior) สิ่งเร้า ภายนอก ภายใน
การบริหารโครงการซอฟต์แวร์
“พื้นที่ที่สำรองไว้สำหรับคำอ้างอิงที่จะให้เคลื่อนไหวที่นี่ ”
การสร้างโมเดลจำลองความสัมพันธ์ ระหว่างข้อมูล E-R Model
วิธีการกำหนดค่า Microsoft SharePoint ของคุณ เว็บไซต์ออนไลน์
การวิเคราะห์ฟอลต์แบบไม่สมมาตร Unsymmetrical Fault Analysis
บทที่ 9 การทำซ้ำ (Loop).
State Table ตารางสถานะ ปรับปรุง 18 เมษายน 2562
SMS News Distribute Service
บทที่7 ทฤษฎีกราฟเบื้องต้น
วัฏจักรหิน วัฏจักรหิน : วัดวาอาราม หินงามบ้านเรา
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
บทที่ 5 การจำลองข้อมูลเชิงวัตถุ (Object-Oriented Modeling)
บรรยายครั้งที่ 8 - กราฟฟิกวิศวกรรม 1
สาขาวิชาคอมพิวเตอร์ธุรกิจ โดย อาจารย์กิตติพงษ์ ภู่พัฒน์วิบูลย์
บทที่ 7 การประมวลผลอาร์เรย์
การเปลี่ยนแปลงประมาณการทางบัญชี และข้อผิดพลาด
หัวใจหยุดเต้น หยุดหายใจ ปั๊มหัวใจ ทำอย่างไร ?
กิจกรรมที่ 7 นายปรีชา ขอวางกลาง
ฟังก์ชันของโปรแกรม Computer Game Programming
บทที่ 4 การจำลองข้อมูลและกระบวนการ (Data and Process Modeling)
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
ทายสิอะไรเอ่ย ? กลม เขียวเปรี้ยว เฉลย ทายสิอะไรเอ่ย ? ขาว มันจืด เฉลย.
Decision: Single and Double Selection (if and if-else statement)
MTRD 427 Radiation rotection - RSO
การวิเคราะห์สถานะคงตัวของ วงจรที่ใช้คลื่นรูปไซน์
Class Diagram.
การใช้ระบบสารสนเทศในการวิเคราะห์ข่าว
Sequence Diagram.
พื้นฐานการมองแบบภาพ 2D 3D
ใบสำเนางานนำเสนอ:

Object-Oriented System Analysis and Design using UML

Collaboration Diagram เป็นแผนภาพแสดงการปฏิสัมพันธ์ (Interaction) ระหว่างคลาสหรืออ็อบเจ็ตลำดับขั้นตอนการทำงาน แต่จะไม่แสดงถึงแกนเวลา คือจะเน้นการอธิบายถึงโครงสร้างของอ็อบเจ็ตว่ามีการรับส่งข้อความ (message) กันอย่างไร หรืออีกนัยคือการแสดงถึงความร่วมมือกันของคลาสหรืออ็อบเจ็ตให้ชัดเจน สามารถแปลง Sequence Diagram ให้เป็น Collaboration Diagram ได้ และในขณะเดียวกันก็สามารถแปลง Collaboration Diagram ให้เป็น Sequence Diagram ได้ด้วยเช่นกัน

ตัวอย่างเครื่องโทรศัพท์

ตัวอย่างเครื่องโทรศัพท์ Use case: Make Phone Call 1. User presses the digit buttons to enter the phone number. 2. For each digit, the display is updated to add the digit to the phone number. 3. For each digit, the dialer generates the corresponding tone and emits it from the speaker. 4. User presses “Send” 5. The “in use” indicator is illuminated on the display 6. The cellular radio establishes a connection to the network. 7. The accumulated digits are sent to the network. 8. The connection is made to the called party.

Collaboration Diagram

Collaboration Diagram สัญลักษณ์ที่ใช้ 1 ข้อความ (Message) พร้อมค่าที่ส่ง 2 ตัวเลขกำกับลำดับข้อความ ซึ่งบอกระดับย่อยของข้อความด้วย จุดและเลขต่อท้าย ของระดับย่อย เช่น 1 1.1 1.2 2 2.1 เป็นต้น 3 การทำซ้ำ * [ ] เช่น 1*:Digit(Code) 1.2*[i=1…n] 4 คำสั่งขนาน || เหตุการณ์ที่เกิดขึ้นพร้อมๆกัน 5 เงื่อนไข [ ] เช่น 1.2 [Project is Active] *[For each worker] 6 หัวลูกศรแสดงทิศทางการไหลของข้อความ

Collaboration Diagram การเขียน Collaboration จะมีรูปแบบเหมือนกันกับ Class Diagramแต่เส้นเชื่อมไม่ใช่ Association แต่เป็นการแสดงข้อความที่เป็นMessage (Procedure Call) ที่บอกลำดับการทำงานระหว่าง Class การเขียน Message จะอยู่ในรูปแบบ Sequence No : Message () เช่นลำดับงานที่ 1 1 : AddCustomer()

Collaboration Diagram : Guard Condition กรณีเป็นการส่ง Message แบบมีเงื่อนไข

Collaboration Diagram : Iteration กรณีมีการทำงานซ้ำๆ

Collaboration Diagram : Reflexive

Collaboration Diagram : Create & Destroy กรณีมีการสร้างและทำลาย Object ในระหว่างการทำงาน

Collaboration Diagram & Sequence Diagram ไม่แสดงถึงแกนเวลาของ Object และ Class เน้นการอธิบายโครงสร้างของ Object หรือ Class ว่ามีการรับส่งข้อความระหว่างกันอย่างไร มองเห็นภาพรวมว่ามีเหตุการณ์ใดบ้างเกิดขึ้นในแต่ละ Object หรือClass

ขั้นตอนการเขียน 1 รวบรวมผลการวิเคราะห์ใน case ที่ต้องการเขียน 3 พิจารณาเหตุการณ์เหล่านั้นสัมพันธ์กับคลาสหรืออ็อบเจ็ตอะไรบ้าง พารามิเตอร์ต่างๆ มีผลอย่างไรต่อคลาสหรืออ็อบเจ็ต มีการทำซ้ำ หรือมีเงื่อนไขอย่างไร 4 เขียนคลาสหรืออ็อบเจ็ต แอคเตอร์ จัดวางลงในตำแหน่งที่เหมาะสม เขียนชื่อกำกับคลาสหรืออ็อบเจ็ต พร้อมขีดเส้นใต้ 5 ลากเส้นของเหตุการณ์ ตามลำดับ ใช้สัญลักษณ์ตามรายละเอียดที่เก็บมาขั้นต้น

ตัวอย่าง Order-Inventory 1. Object 2. Procedure Call (Synchronous) 3. Return 4. Self-reference 5. Sequence No 6. Anonymous Object 7. Comment

ตัวอย่าง Order-Inventory 1. Timeout Event 2. Procedure Call (Asynchronous)

ตัวอย่าง จงเขียน First Draft Class Diagram เพื่ออธิบายความสัมพันธ์ของ ProblemDomain นี้ – ระบบการซื้อตั๋วภาพยนตร์แห่งหนึ่ง โดยโรงภาพยนตร์นั้น มีโรงฉายอยู่ 14โรง และมีการจัดภาพยนตร์เพื่อเข้าฉายในแต่ละโรง เมื่อลูกค้าต้องการซื้อตั๋วภาพยนตร์จะต้องเลือกภาพยนตร์ที่ต้องการ และเวลาฉาย ระบบจะทำการดึงหมายเลขโรงภาพยนตร์เพื่อให้ลูกค้าทำการจองที่นั่ง และออกตั่วภาพยนตร์ให้ จงแปลง Sequence Diagram ของระบบซื้อตั๋วหนัง ให้เป็น CollaborationDiagram

ตัวอย่าง

แบบฝึกหัด

ตัวอย่าง

Collaboration Diagram

บันทึกความสัมพันธ์ของ Dynamic diagram ใน Static Diagram

ตัวอย่าง เครื่องโทรศัพท์

ตัวอย่าง เครื่องโทรศัพท์ (เพิ่มรายละเอียด)

ตัวอย่าง เครื่องโทรศัพท์ (เพิ่มรายละเอียด)

เปลี่ยน Collaboration Diagram เป็น Sequence Diagram

State Chart Diagram เนื่องจาก Object หนึ่งๆ อาจจะมีได้หลายสถานะในช่วงเวลาหนึ่ง ซึ่งการเปลี่ยนสถานะหนึ่งไปยังอีกสถานะหนึ่ง จะต้องมีเหตุการณ์ (Event) ที่ทำให้เกิดการเปลี่ยนสถานะ State Chart Diagram เป็น Model เพื่ออธิบายวงจรชีวิตของ Objectหนึ่ง ๆ สถานะของ Object เมื่อแปลงเป็นโปรแกรมจะเป็นคุณลักษณะของObject (Attribute)

State Chart Diagram : States และ Events กิจกรรมที่เกิดขึ้นใน Object นั้น เกิดจาก 2 สิ่งประกอบกัน คือ สถานะ(State) และ การเปลี่ยนสถานะ (Transition) การเปลี่ยนสถานะจะเกิดขึ้นเมื่อมีเหตุการณ์ (Event) มากระตุ้น

State Chart Diagram : Initial และ Final Initial State เป็นสถานะเริ่มต้นของ Object ในทางโปรแกรม จะหมายถึงการสร้าง Object นั้น Final State เป็นสถานะสิ้นสุดของ Object ในทางโปรแกรม จะหมายถึงการลบ Object นั้น

State Chart Diagram : Events และ Behavior Behavior จะแสดงด้วย Action- expressions – Behavior อาจจะเกิดระหว่างการเปลี่ยนสถานะหรือ – เกิดระหว่างการทำงานภายใน Action นั้น

State Chart Diagram : Automatic Transition เป็นการเปลี่ยนสถานะ โดยไม่มีเหตุการณ์เกิดขึ้น การเปลี่ยนสถานะแบบอัตโนมัติ จะเกิดขึ้นเมื่อมีการทำงานในสถานะนั้นเรียบร้อยแล้ว

State Chart Diagram : State Transition Table การเขียนตารางการเปลี่ยนสถานะจะเหมาะสมสำหรับระบบที่มีขนาดใหญ่ หรือมีความซับซ้อน

State Chart Diagram : Composite States เป็น Action ที่สามารถแบ่งออกเป็น Action ภายในได้

State Chart Diagram : สถานะที่ทำางานพร้อมกัน การทำงานในช่วงเวลาหนึ่งอาจจะมีสถานะมากกว่าหนึ่งสถานะ ที่สามารถเกิดสถานะพร้อมๆ กันได้ และทำงานพร้อมกันได้

State Chart Diagram : ลำาดับการทำงาน ลำดับการทำงานของ Action มีดังนี้ – Action ในขณะเปลี่ยนสถานะมายังสถานะนั้น – Action เริ่มต้นของสถานะ – Action ระหว่างอยู่ในสถานะนั้น – Action ก่อนเปลี่ยนสถานะออกไปจากสถานะนั้น – Action หลังจากเปลี่ยนสถานะ

ขั้นตอนในการเขียน State Chart Diagram 1. เลือกคลาสที่ต้องการอธิบายโดยใช้แผนภาพ 2. เขียนจุดเริ่มต้น 3. หาสถานะเริ่มต้น เขียนสัญลักษณ์สถานะ 4. ลากลูกศรจากจุดเริ่มต้นไปที่อ็อบเจกต์ที่มีสถานะเริ่มต้น เขียนกำกับด้วย เหตุการณ์ ฟังก์ชัน ตัวแปรหรือเงื่อนไข 5. พิจารณาสถานะถัดไป เขียนสัญลักษณ์สถานะ ทำจนครบทุก ๆ สถานะ 6. โยงเส้นลูกศรจากสถานะที่เปลี่ยนก่อนหน้าไปยังสถานะถัดไปให้ครบ 7. เขียนจุดสิ้นสุด

Example ให้วาด State Chart diagram เพื่อจำลองการทำงานของ lift ดังนี้ – เมื่อมีการเปิด Switch การทำงานของ Lift จะเข้าสู่สภาวะ Idle ซึ่ง Lift จะต้อง อยู่ที่ชั้น 1 เท่านั้น – เมื่อมีคนต้องการขึ้น Lift จะมีการเคลื่อนที่ของลิฟต์ขึ้นที่ละชั้น จนถึงชั้นที่ต้องการ – เมื่อมีคนต้องการลง Lift จะมีการเคลื่อนที่ของลิฟต์ลงที่ละชั้น จนถึงชั้นที่ต้องการ – เมื่อ Lift มาถึงชั้นที่ต้องการ และมีคนลงหมดแล้ว Lift จะเคลื่อนที่ลงยังชั้น 1เพื่อเข้าสู่สภาวะ Idle – เมื่อ Lift อยู่ในสภาวะ Idle เมื่อใดก็ตามที่มีการปิด switch กิจกรรมทั้งหมดจะหยุดทันที ซึ่ง Lift จะถูกปิดก็ต่อเมื่อ Lift อยู่ในสถานะ Idle เท่านั้น

Example

Example จงเขียนภาพ Class ซึ่งมี Function ต่างๆ และ state diagram ของแต่ละ function จากเหตุการณ์ต่อไปนี้ – รถเด็กเล่นชนิดหนึ่ง เมื่อเปิด Switch จะวิ่งตรงไปข้างหน้า แต่เมื่อมาเจอขอบของวัตถุเช่นขอบโต๊ะ ซึ่งอาจจะทำให้มันหล่นพื้นได้ มันจะหยุด และจะเลี้ยวซ้าย แต่ถ้าเลี้ยวซ้ายแล้วเจอสิ่งกีดขวางจะเลี้ยวขวาแทน แต่ถ้าไปไม่ได้มันจะถอยหลัง และในที่สุดถ้าถอยหลังไม่ได้มันจะปิด Switch เองอัตโนมัต

Q&A