ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

การสร้างแบบจำลองระบบด้วย UML

การสร้างแบบจำลองระบบด้วย UML
การสร้างแบบจำลองระบบด้วย UML

การสร้างแบบจำลองระบบด้วย UML หมายถึง การสร้างแผนภาพการทำงาน หรือ Diagram หลาย ๆ แบบให้เลือกใช้เพื่อการวิเคราะห์และการออกแบบในระดับระบบ และซอฟต์แวร์ และโมดูลมาตรฐานที่ใช้หลักการออกแบบ OOP 

5 มุมมองหลักของ UML

  • UML-case View: หน้าที่การทำงานของระบบ มีการทำงานของระบบซอฟต์แวร์ โดยพิจารณาจากมุมมองของผู้ใช้ภายนอก หรือ ระบบภายนอก
  • Logical View: หน้าที่การทำงานของระบบ มีโครงสร้างอย่างไร มองในรูปของ Static Structure และ Dynamic Behavior
    • Class diagram, object diagram, state diagram, sequence diagram, collaboration diagram, activity diagrams
  • Component View: องค์ประกอบย่อยในการ Implement ที่ประกอบเป็นระบบ และ Dependency ระหว่างองค์ประกอบเหล่านั้น
    • component diagram
  • Concurrency View: การแบ่งแยก Process และ Processors โดยพิจารณาทั้ง Communication และ Synchronization
    • dynamic diagrams (state diagrams, sequence diagrams, collaboration activity)
    • implementation diagrams (component และ deployment)
  • Deployment View: โครงสร้างทางกายภาพเกี่ยวกับ การติดตั้ง และการใช้งานระบบ
    • deployment diagram

Use Case Diagram ในการพัฒนาระบบงานใด ๆ นั้น การเก็บรวบรวมความต้องการของผู้ใช้มีความสำคัญมาก และจะทำในระยะแรก ๆ ของการพัฒนาระบบงานเสมอ Use case Diagram เป็น Diagram ที่ทำหน้าที่ Capture requirement

  • เป็นเทคนิคในการสร้างแบบจำลองเพื่อใช้อธิบายหน้าที่ของระบบใหม่ หรือระบบปัจจุบัน
  • กระบวนการสร้าง Use case เป็นแบบ Iteration
  • ความต้องการของระบบจะได้จาก ลูกค้า/ผู้ใช้ + ผู้พัฒนาระบบ
  • องค์ประกอบจะมี Use case, Actor, Use case Relation และ System

Class Diagram ประกอบด้วย Class และความสัมพันธ์ระหว่าง Class เช่น Dependency, Generalization, Association เป็นต้น Class Diagram สามารถแสดงรายละเอียดว่ามี Method และ Attribute อย่างไร

 

Class Diagram
Class Diagram ประกอบด้วย Class และความสัมพันธ์ระหว่าง Class

 

Sequence Diagram จะแสดงลำดับการทำงานของระบบโดยมี Object และ เวลาเป็นตัวกำหนดลำดับของงาน และเน้นไปที่ Instant ของ Object

  • Sequence Diagram เป็น Diagram ซึ่งแสดงปฏิสัมพันธ์ (Interaction) ระหว่าง Object ตามลำดับของเหตุการณ์ที่เกิดขึ้น ณ เวลาที่กำหนด message ที่เกิดขึ้นระหว่าง Class จะสามารถนำไปสู่การสร้าง Method ใน Class ที่เกี่ยวข้องได้

 

Sequence Diagram
Sequence Diagram เป็น Diagram ซึ่งแสดงปฏิสัมพันธ์

 

Activities Diagram แสดงลำดับ กิจกรรมของการทำงาน (Work Flow) สามารถแสดงทางเลือกที่เกิดขึ้นได้ Activity Diagram จะแสดงขั้นตอนการทำงานในการปฏิบัติการ โดยประกอบไปด้วยสถานะต่าง ๆ ที่เกิดขึ้นระหว่างการทำงาน และ ผลจากการทำงานในขั้นตอนต่าง ๆ

Activities Diagram
Activities Diagram แสดงลำดับ กิจกรรมของการทำงาน (Work Flow)

 การสร้างแบบจำลองระบบด้วย UML เป็นการสร้างแบบจำลองการอธิบายการทำงานของระบบงานของระบบงานวิศวกรรม เพื่อให้การวิเคราะห์ระบบนั้นทำได้ง่ายขึ้น หรือทำให้ผู้ที่จะนำ UML ไปใช้เข้าใจการทำงานได้ง่ายขึ้น 

 

ช่องทางการศึกษาเพิ่มเติมข่าวสารที่น่าสนใจเกี่ยวกับ : บทความทั่วไป

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Refactor ไหมหละ
โดย noppadonsk ศ 31 ม.ค. 2020 9:38 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
133
ศ 31 ม.ค. 2020 9:38 am โดย noppadonsk
วิธีการตรวจสอบกระทูู้นี้มีการอ่านหรือยัง ในเว็บบอร์ด phpbb
โดย Ittichai_chupol พฤ 30 ม.ค. 2020 7:02 pm บอร์ด PHP Knowledge
0
66
พฤ 30 ม.ค. 2020 7:02 pm โดย Ittichai_chupol
Python GUI (Tkinter) : การกำหนดให้ช่อง entry สามารถกรอกได้แค่ตัวเลขเท่านั้น
โดย benzas00123 พฤ 30 ม.ค. 2020 6:43 pm บอร์ด Python Knowledge
0
54
พฤ 30 ม.ค. 2020 6:43 pm โดย benzas00123
การแยกประเภทในโปรแกรม open erp เพื่อสะดวกในการจัดทำงบการเงิน
โดย nutchasn พฤ 30 ม.ค. 2020 6:25 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
60
พฤ 30 ม.ค. 2020 6:25 pm โดย nutchasn
Python GUI (Tkinter) : การกำหนดนามสกุล File ที่ต้องการจะหาใน Browse file
โดย benzas00123 พฤ 30 ม.ค. 2020 6:04 pm บอร์ด Python Knowledge
0
69
พฤ 30 ม.ค. 2020 6:04 pm โดย benzas00123
วิธีการนำเลขเวอร์ชั่นของ component joomla ออกมาแสดงที่หน้าเว็บไซต์
โดย jamepiyawat พฤ 30 ม.ค. 2020 5:47 pm บอร์ด Joomla Developing Knowledge
0
42
พฤ 30 ม.ค. 2020 5:47 pm โดย jamepiyawat
Python GUI (Tkinter) : การ Browse file แบบ multiple file จากการกดปุ่ม Button
โดย benzas00123 พฤ 30 ม.ค. 2020 5:46 pm บอร์ด Python Knowledge
0
52
พฤ 30 ม.ค. 2020 5:46 pm โดย benzas00123
ทำความรู้การปิดบัญชี เพื่อให้ทราบผลการดำเนินไปประกอบในการตัดสินใจวางแผนธุรกิจ
โดย nutchasn พฤ 30 ม.ค. 2020 5:06 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
52
พฤ 30 ม.ค. 2020 5:06 pm โดย nutchasn
ทำความเข้าใจในการปิดงบบัญชี เพิ่อให้เป็นการปิดงบที่สมบูรณ์
โดย nutchasn พฤ 30 ม.ค. 2020 4:36 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
38
พฤ 30 ม.ค. 2020 4:36 pm โดย nutchasn
อยากทราบวิธีการดึงค่าเลขเวอร์ชั่นในไฟล์ XML ของ components joomla
โดย jamepiyawat พฤ 30 ม.ค. 2020 3:28 pm บอร์ด Joomla Development
3
95
พฤ 30 ม.ค. 2020 5:34 pm โดย tsukasaz
อัพเดทกันหรือยัง! Joomla 3.9.15 ปรับปรุงความปลอดภัยและแก้ไขข้อผิดพลาดต่างๆ
โดย tsukasaz พฤ 30 ม.ค. 2020 11:37 am บอร์ด MindPHP News & Feedback
0
31
พฤ 30 ม.ค. 2020 11:37 am โดย tsukasaz
วิธีการนำข้อความที่ผู้ใช้กรอกให้เข้าไปอยู่ในไฟล์ pdf ด้วยภาษา php
โดย jamepiyawat พ 29 ม.ค. 2020 6:53 pm บอร์ด PHP Knowledge
0
52
พ 29 ม.ค. 2020 6:53 pm โดย jamepiyawat
ติดตั้ง module flaskwebgui ไม่ได้ครับ
โดย benzas00123 พ 29 ม.ค. 2020 6:53 pm บอร์ด Programming - C/C++ & java & Python
2
60
พฤ 30 ม.ค. 2020 11:52 am โดย jirawoot
ความรู้พื้นฐานเกี่ยวกับบัญชีแยกประเภท
โดย nutchasn พ 29 ม.ค. 2020 6:32 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
34
พ 29 ม.ค. 2020 6:32 pm โดย nutchasn
Pillow library ฟังก์ชั่น Image.new() ฟังก์ชั่นที่ใช้สำหรับการสร้างไฟล์รูปภาพ
โดย benzas00123 พ 29 ม.ค. 2020 6:21 pm บอร์ด Python Knowledge
0
30
พ 29 ม.ค. 2020 6:21 pm โดย benzas00123
ความรู้พื้นฐานเกี่ยวกับงบทดลอง (Taial Balance)
โดย nutchasn พ 29 ม.ค. 2020 6:00 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
34
พ 29 ม.ค. 2020 6:00 pm โดย nutchasn
Pillow library ฟังก์ชั่น ImageDraw() ฟังก์ชั่นสำหรับการเพิ่มตัวอักษรเข้าไปในภาพ
โดย benzas00123 พ 29 ม.ค. 2020 5:52 pm บอร์ด Python Knowledge
0
40
พ 29 ม.ค. 2020 5:52 pm โดย benzas00123
การปรับปรุงค่าใช้จ่ายจ่ายล่วงหน้า (Prepaid expenses)
โดย nutchasn พ 29 ม.ค. 2020 5:29 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
30
พ 29 ม.ค. 2020 5:29 pm โดย nutchasn
วิธีการเขียน php สำหรับตรวจสอบหมายเลขบัตรประชาชนว่ามีความถูกต้องหรือไม่
โดย Ittichai_chupol พ 29 ม.ค. 2020 5:24 pm บอร์ด PHP Knowledge
0
58
พ 29 ม.ค. 2020 5:24 pm โดย Ittichai_chupol
ทำความรู้จักกับชนิดข้อมูลใน SQL
โดย nutchasn พ 29 ม.ค. 2020 4:38 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
43
พ 29 ม.ค. 2020 4:38 pm โดย nutchasn