UML คืออะไร

UML Unified Modeling Language. ตอนที่1

NUTHDANAI WANGPRATHAM
2 min readJul 25, 2019

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

จนกระทั่ง Object Management Group (OMG) ร่างข้อกำหนด UML 1.0 ในเดือนมกราคม 1997 โดยเริ่มต้นใช้ในซอฟต์แวร์ที่ซับซ้อนและระบบที่ไม่ใช่ซอฟต์แวร์ จนในปัจจุบัน UML กลายเป็นมาตรฐานสำหรับการระบุการแสดงภาพการสร้างและการจัดทำเอกสารในการสร้างระบบซอฟต์แวร์

มนุษย์สามารถเข้าใจด้วยภาพมากกว่าตัวหนังสือ การใช้ UML ก็เพื่อให้ทีมงานนักพัฒนาสามารถเข้าใจตรงกัน UML กำหนดภาษารูปภาพทั่วไปสำหรับการสร้างแบบจำลองซึ่งผู้สร้างโมเดลทั้งหมดสามารถใช้งานได้และจำเป็นต้องทำให้เข้าใจและใช้งานได้ง่าย

UML เป็นภาษาภาพที่ใช้ในการทำร่างเอกสารซอฟต์แวร์ ซึ่งสามารถอธิบายได้ว่าเป็นภาษาที่ใช้ในการสร้างแบบจำลองภาพทั่วไปเพื่อให้เห็นภาพระบุสร้างและระบบซอฟต์แวร์เอกสาร แม้ว่าโดยทั่วไปแล้ว UML จะใช้เพื่อจำลองระบบซอฟต์แวร์ แต่ก็ไม่ได้จำกัดว่าต้องใช้สำหรับซอฟต์แวร์เท่านั้นยังสามารถใช้เพื่อจำลองระบบที่ไม่ใช่ซอฟต์แวร์ได้ด้วย ตัวอย่างเช่นผังกระบวนการในหน่วยการผลิต ฯลฯ

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

สรุปได้ว่าเป้าหมายของ UML นั้นสามารถกำหนดให้เป็นกลไกการสร้างแบบจำลองอย่างง่ายเพื่อจำลองระบบการปฏิบัติที่เป็นไปได้ทั้งหมดในสภาพแวดล้อมที่ซับซ้อนในปัจจุบัน

แบบจำลองแนวคิดของ UML

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

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

  1. การสร้าง UML
  2. กฎในการเชื่อมต่อแบบเอกสารสำเร็จรูป
  3. กลไกทั่วไปของ UML

แนวคิดเชิงวัตถุ

UML สามารถอธิบายโดยใช้ตัวแทนของการวิเคราะห์และออกแบบเชิงวัตถุ วัตถุประกอบไปด้วยข้อมูลและวิธีการที่ควบคุมข้อมูล ข้อมูลแสดงถึงสถานะของวัตถุ คลาสอธิบายถึงวัตถุซึ่งสามารถสร้างลำดับชั้นเพื่อสร้างแบบจำลองระบบโลกแห่งความจริง ลำดับชั้นจะแสดงเป็น inheritance และclass ยังสามารถเชื่อมโยงในรูปแบบที่แตกต่างกันตามความต้องการ วัตถุ( Objects) เป็นหน่วยหนึ่งในโลกแห่งความจริงที่มีอยู่รอบตัวเราและแนวคิดพื้นฐานเช่นสิ่งที่เป็นนามธรรม, การห่อหุ้ม, การสืบทอดและการแตกต่างกันทั้งหมดสามารถแสดงได้โดยใช้ UML แผนภาพ UML เป็นตัวแทนของแนวคิดเชิงวัตถุเท่านั้น ดังนั้นจึงจำเป็นอย่างยิ่งที่เราจะต้องเข้าใจแนวคิดเชิงวัตถุก่อนจึงจะสามารถเข้าใจ UML ได้

  1. Objects วัตถุแสดงถึงเอนทิตีและ Building Block พื้นฐาน
  2. Class คลาสคือรูปแบบของวัตถุ
  3. Abstraction Abstraction หมายถึงพฤติกรรมของเอนทิตีโลกแห่งความจริง
  4. Encapsulation Encapsulation เป็นกลไกของการซ่อนไว้จากโลกภายนอก
  5. Inheritance เป็นกลไกของการสร้างคลาสใหม่จากคลาสที่มีอยู่
  6. Polymorphism มันกำหนดกลไกการมีอยู่ในรูปแบบที่แตกต่างกัน

การวิเคราะห์และออกแบบเชิงวัตถุ

เราจำเป็นต้องเข้าใจแนวคิดการวิเคราะห์และการออกแบบเชิงวัตถุซึ่งมีวัตุถุประสงค์ที่สำคัญคือการระบุวัตถุของระบบที่จะออกแบบ การวิเคราะห์นี้ทำสำหรับระบบที่มีอยู่ ซึ่งเราจำเป็นต้องระบุสามสิ่งออกมาให้ได้คือ

Analysis → Design → implementation using languages
  1. การระบุวัตถุต่างๆของระบบ จุดประสงค์ที่สำคัญที่สุดของการวิเคราะห์เชิงวัตถุคือ การระบุวัตถุและอธิบายวัตถุในวิธีที่เหมาะสม หากระบุวัตถุเหล่านี้ได้อย่างมีประสิทธิภาพแล้วงานออกแบบต่อไปก็ง่าย ควรระบุวัตถุที่มีความรับผิดชอบ ความรับผิดชอบคือฟังก์ชั่นที่ดำเนินการโดยวัตถุ วัตถุแต่ละชิ้นมีความรับผิดชอบบางประเภทที่จะต้องปฏิบัติ เมื่อความรับผิดชอบเหล่านี้ได้รับการร่วมมือกันระบบจะบรรลุตามวัตถุประสงค์
  2. ระบุความสัมพันธ์ของวัตถุต่างๆ คือการหาความต้องการและการปฏิบัติตาม ในขั้นตอนนี้วัตถุจะทำงานร่วมกันตามความสัมพันธ์ที่ตั้งใจไว้
  3. การออกแบบซึ่งสามารถแปลงเป็นไฟล์ปฏิบัติการได้โดยใช้ภาษาเชิงวัตถุ ขั้นตอนที่สามคือการใช้ ภาษาเชิงวัตถุ ที่ออกแบบได้ไปดำเนินการโดยใช้ภาษา เชิงวัตถุ เช่น Java, C ++ เป็นต้น

กฏของ UML ในการออกแบบเชิงวัตถุ

UML เป็นภาษาที่ใช้ในการสร้างแบบจำลองซอฟต์แวร์และระบบที่ไม่ใช่ซอฟต์แวร์ แม้ว่า UML จะใช้สำหรับระบบที่ไม่ใช่ซอฟต์แวร์ แต่สิ่งสำคัญคือการสร้างโมเดลแอปพลิเคชันซอฟต์แวร์เชิงวัตถุ ไดอะแกรม UML ส่วนใหญ่ที่กล่าวถึงในตอนนี้ถูกนำมาใช้เพื่อสร้างแบบจำลองด้านต่าง ๆ ทั้งมีวัตถุและไม่มี

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

อ่านเพิ่มเเติ่มได้ที่

บทที่ 1 UML คืออะไร

บทที่ 2 หลักการเขียน UML

บทที่ 3UML — Class Diagram

บทที่ 4UML — Object Diagrams

บทที่ 5UML — Component Diagrams

บทที่ 6UML — Deployment Diagrams

บทที่ 7UML — Use Case Diagrams

บทที่8UML — Interaction Diagrams

บทที่9 UML — Statechart Diagrams

บทที่ 10 UML — Activity Diagrams

อ้างอิง https://www.tutorialspoint.com/uml/uml_overview.htm

https://en.wikipedia.org/wiki/Unified_Modeling_Language

หนังสือวิศวกรรมซอฟแวร์ สุวรรณี อัศวกุลชัย

--

--

NUTHDANAI WANGPRATHAM
NUTHDANAI WANGPRATHAM

Written by NUTHDANAI WANGPRATHAM

I am a learner and have a multipotential life. You can contact me at nutdnuy@gmail.com

No responses yet