การสอนแผนภาพคลาส UML: คลาสนามธรรมพร้อมตัวอย่าง
คลาสใน UML Diagram คืออะไร
A ชั้นเรียนใน UML ไดอะแกรมคือโครงร่างที่ใช้สร้างอ็อบเจ็กต์หรือชุดของอ็อบเจ็กต์ คลาสจะกำหนดว่าอ็อบเจ็กต์สามารถทำอะไรได้บ้าง คลาสเป็นเทมเพลตสำหรับสร้างอ็อบเจ็กต์ต่างๆ และนำลักษณะการทำงานของอ็อบเจ็กต์ไปใช้ในระบบ คลาสใน UML จะแสดงเป็นสี่เหลี่ยมผืนผ้าซึ่งประกอบด้วยแถวที่มีชื่อคลาส แอตทริบิวต์ และการดำเนินการ
คลาสไดอะแกรมคืออะไร?
A ไดอะแกรมคลาส วิศวกรรมซอฟต์แวร์เป็นโครงสร้างคงที่ที่ให้ภาพรวมของระบบซอฟต์แวร์โดยแสดงคลาส แอตทริบิวต์ การดำเนินการ และความสัมพันธ์ระหว่างกัน ไดอะแกรมนี้ประกอบด้วยชื่อคลาส แอตทริบิวต์ และการดำเนินการในส่วนที่กำหนดแยกจากกัน ไดอะแกรมคลาสช่วยสร้างโค้ดสำหรับการพัฒนาแอปพลิเคชันซอฟต์แวร์
Class Diagram กำหนดประเภทของออบเจ็กต์ในระบบและความสัมพันธ์ประเภทต่างๆ ที่มีอยู่ มันให้มุมมองระดับสูงของแอปพลิเคชัน วิธีการสร้างแบบจำลองนี้สามารถทำงานกับวิธีเชิงวัตถุเกือบทั้งหมด คลาสสามารถอ้างถึงคลาสอื่นได้ คลาสสามารถมีอ็อบเจ็กต์หรืออาจสืบทอดมาจากคลาสอื่น
ประโยชน์ของคลาสไดอะแกรม
- Class Diagram แสดงรูปแบบข้อมูลสำหรับระบบข้อมูลที่ซับซ้อนมาก
- โดยจะให้ภาพรวมของโครงสร้างแอปพลิเคชันก่อนที่จะศึกษาโค้ดจริง ซึ่งสามารถลดเวลาการบำรุงรักษาได้อย่างง่ายดาย
- ช่วยให้เข้าใจแผนผังทั่วไปของแอปพลิเคชันได้ดีขึ้น
- ช่วยให้สามารถวาดแผนภูมิรายละเอียดซึ่งเน้นรหัสที่จำเป็นต้องเขียนโปรแกรม
- มีประโยชน์สำหรับนักพัฒนาและผู้มีส่วนได้ส่วนเสียอื่น ๆ
องค์ประกอบสำคัญของไดอะแกรมคลาส UML
องค์ประกอบสำคัญของไดอะแกรมคลาส UML คือ:
- ชื่อคลาส
- คุณสมบัติ
- Operations
ชื่อคลาส
ชื่อของคลาสจำเป็นต้องใช้ในการแสดงภาพกราฟิกของคลาสเท่านั้น ชื่อของคลาสจะปรากฏในช่องบนสุด คลาสคือโครงร่างของอ็อบเจ็กต์ที่สามารถแบ่งปันความสัมพันธ์ คุณลักษณะ การดำเนินการ และความหมายเดียวกันได้ คลาสจะแสดงเป็นรูปสี่เหลี่ยมผืนผ้า ซึ่งรวมถึงชื่อ คุณลักษณะ และการดำเนินการในช่องแยก
ต้องปฏิบัติตามกฎต่อไปนี้เมื่อเป็นตัวแทนของคลาส:
- ชื่อชั้นเรียนควรขึ้นต้นด้วยตัวพิมพ์ใหญ่เสมอ
- ชื่อคลาสควรอยู่ตรงกลางช่องแรกเสมอ
- ควรเขียนชื่อคลาสไว้เสมอ กล้า จัดรูปแบบ
- ชื่อคลาสนามธรรม UML ควรเขียนในรูปแบบตัวเอียง
คุณสมบัติ
แอตทริบิวต์ชื่อคุณสมบัติของคลาสที่อธิบายวัตถุที่กำลังสร้างแบบจำลอง ในแผนภาพคลาส ส่วนประกอบนี้จะอยู่ใต้ช่องชื่อ
คุณลักษณะที่ได้รับจะคำนวณจากคุณลักษณะอื่น เช่น อายุของนักเรียนสามารถคำนวณได้ง่าย ๆ จากวันเกิดของเขา/เธอ
ลักษณะคุณสมบัติ
- โดยทั่วไปแล้วแอตทริบิวต์จะถูกเขียนพร้อมกับปัจจัยการมองเห็น
- สาธารณะ ส่วนตัว ได้รับการคุ้มครอง และแพ็คเกจคือการมองเห็นสี่รายการซึ่งแสดงด้วยเครื่องหมาย +, -, # หรือ ~ ตามลำดับ
- การมองเห็นอธิบายถึงการเข้าถึงคุณลักษณะของชั้นเรียน
- คุณลักษณะต้องมีชื่อที่มีความหมายซึ่งอธิบายการใช้งานในชั้นเรียน
ความสัมพันธ์
ส่วนใหญ่มีสามประเภท ความสัมพันธ์ใน UML:
- การอ้างอิง
- ลักษณะทั่วไป
- สมาคม
การอยู่ที่
การพึ่งพาหมายถึงความสัมพันธ์ระหว่างสองคลาสขึ้นไปซึ่งการเปลี่ยนแปลงในคลาสหนึ่งอาจบังคับให้มีการเปลี่ยนแปลงในอีกคลาสหนึ่ง อย่างไรก็ตาม มันจะสร้างความสัมพันธ์ที่อ่อนแอลงเสมอ การพึ่งพาบ่งชี้ว่าคลาสหนึ่งขึ้นอยู่กับคลาสอื่น
ในตัวอย่างไดอะแกรมคลาส UML ต่อไปนี้ Student มีการอ้างอิงถึง College
ลักษณะทั่วไป:
ลักษณะทั่วไปช่วยในการเชื่อมต่อคลาสย่อยกับซูเปอร์คลาส คลาสย่อยสืบทอดมาจากซูเปอร์คลาสของมัน ไม่สามารถใช้ความสัมพันธ์ทั่วไปในการสร้างแบบจำลองการใช้งานอินเทอร์เฟซ แผนภาพคลาสช่วยให้สามารถสืบทอดจากซูเปอร์คลาสหลายรายการได้
ในตัวอย่างนี้ คลาส Student ได้รับการสรุปจาก Person Class
สมาคม:
ความสัมพันธ์ประเภทนี้แสดงถึงความสัมพันธ์แบบคงที่ระหว่างคลาส A และ B ตัวอย่างเช่น พนักงานทำงานให้กับองค์กร
ต่อไปนี้เป็นกฎบางประการสำหรับสมาคม:
- Association ส่วนใหญ่เป็นคำกริยาหรือวลีกริยาหรือคำนามหรือวลีนาม
- ควรตั้งชื่อเพื่อระบุบทบาทที่คลาสที่แนบไว้ที่ตอนท้ายของเส้นทางการเชื่อมโยง
- ข้อบังคับสำหรับการเชื่อมโยงแบบสะท้อนกลับ
ในตัวอย่างนี้ จะแสดงความสัมพันธ์ระหว่างนักศึกษาและวิทยาลัยซึ่งก็คือการศึกษา
ความมากมายหลายหลาก
หลายหลากเป็นปัจจัยที่เกี่ยวข้องกับคุณลักษณะ ระบุจำนวนอินสแตนซ์ของแอตทริบิวต์ที่ถูกสร้างขึ้นเมื่อเริ่มต้นคลาส หากไม่ได้ระบุหลายหลาก โดยค่าเริ่มต้นจะถือว่าเป็นหลายหลากเริ่มต้น
สมมติว่ามีนักศึกษา 100 คนในวิทยาลัยแห่งหนึ่ง วิทยาลัยสามารถมีนักเรียนได้หลายคน
การรวมตัว
การรวมกลุ่มเป็นการเชื่อมโยงประเภทพิเศษที่สร้างแบบจำลองความสัมพันธ์ทั้งหมดระหว่างการรวมและส่วนต่างๆ
ตัวอย่างเช่น ชั้นเรียนในวิทยาลัยประกอบด้วยนักเรียนหนึ่งคนขึ้นไป ในการรวมกลุ่ม คลาสที่มีอยู่ไม่เคยขึ้นอยู่กับวงจรการใช้งานของคอนเทนเนอร์เลย ที่นี่ ชั้นเรียนของวิทยาลัยจะยังคงอยู่แม้ว่านักเรียนจะไม่ว่างก็ตาม
ส่วนประกอบ:
องค์ประกอบเป็นรูปแบบพิเศษของการรวมกลุ่มซึ่งแสดงถึงความเป็นเจ้าของที่แข็งแกร่งระหว่างสองคลาสเมื่อคลาสหนึ่งเป็นส่วนหนึ่งของคลาสอื่น
เช่น ถ้าวิทยาลัยประกอบด้วยชั้นเรียนของนักศึกษา วิทยาลัยอาจมีนักเรียนหลายคน ในขณะที่นักเรียนแต่ละคนอยู่ในวิทยาลัยแห่งเดียวเท่านั้น ดังนั้นหากวิทยาลัยไม่ทำงาน นักเรียนทั้งหมดจะถูกถอดออกด้วย
การรวมตัวกับองค์ประกอบ
การรวมตัว | ส่วนประกอบ |
---|---|
การรวมกลุ่มบ่งบอกถึงความสัมพันธ์ที่เด็กสามารถอยู่แยกจากคลาสผู้ปกครองได้ ตัวอย่าง: รถยนต์ (ผู้ปกครอง) และรถยนต์ (เด็ก) ดังนั้น หากคุณลบรถยนต์ รถยนต์ลูกจะยังคงอยู่ | องค์ประกอบแสดงความสัมพันธ์โดยที่เด็กจะไม่มีอยู่โดยเป็นอิสระจากผู้ปกครอง ตัวอย่าง: บ้าน (ผู้ปกครอง) และห้อง (เด็ก) ห้องต่างๆ จะไม่แยกออกเป็นบ้าน |
คลาสนามธรรม
เป็นคลาสที่มีต้นแบบการทำงานแต่ไม่มีการใช้งาน นอกจากนี้ยังสามารถมีคลาสนามธรรมที่ไม่มีการทำงานใดๆ ที่ประกาศอยู่ภายในได้ คลาสนามธรรมมีประโยชน์ในการระบุฟังก์ชันการทำงานต่างๆ ของคลาสต่างๆ มาดูตัวอย่างคลาสนามธรรมกัน สมมติว่าเรามีคลาสนามธรรมที่เรียกว่าการเคลื่อนไหวซึ่งมีเมธอดหรือการทำงานที่ประกาศอยู่ภายใน เมธอดที่ประกาศภายในคลาสนามธรรมเรียกว่า เคลื่อนไหว ().
วิธีการเรียนนามธรรมนี้สามารถใช้ได้กับวัตถุใดๆ เช่น รถยนต์ สัตว์ หุ่นยนต์ ฯลฯ เพื่อเปลี่ยนตำแหน่งปัจจุบัน มีประสิทธิภาพในการใช้เมธอดคลาสนามธรรมกับอ็อบเจ็กต์ เนื่องจากไม่มีการนำไปใช้งานสำหรับฟังก์ชันที่กำหนด เราสามารถใช้มันในทางใดทางหนึ่งกับวัตถุหลาย ๆ อัน
ใน UML คลาสนามธรรมจะมีสัญลักษณ์เหมือนกับคลาส ข้อแตกต่างระหว่างคลาสและคลาสนามธรรมก็คือชื่อคลาสนั้นเขียนด้วยฟอนต์ตัวเอียงอย่างเคร่งครัด
คลาสนามธรรมไม่สามารถเริ่มต้นหรือสร้างอินสแตนซ์ได้
ในข้างต้น สัญกรณ์คลาสนามธรรมมีวิธีนามธรรมเพียงวิธีเดียวเท่านั้นที่สามารถใช้ได้โดยหลายอ็อบเจ็กต์ของคลาส
ตัวอย่างไดอะแกรมคลาส UML
การสร้างคลาสไดอะแกรมเป็นกระบวนการที่ไม่ซับซ้อน มันไม่เกี่ยวข้องกับเทคนิคมากมาย นี่คือตัวอย่าง:
ระบบ ATM นั้นเรียบง่ายมาก เนื่องจากลูกค้าต้องกดปุ่มบางปุ่มเพื่อรับเงินสด อย่างไรก็ตาม ระบบ ATM ทุกระบบจะต้องผ่านขั้นตอนความปลอดภัยหลายขั้นตอน ซึ่งจะช่วยป้องกันการฉ้อโกง และให้เงินสดหรือรายละเอียดความต้องการแก่ลูกค้าธนาคาร
ด้านล่างนี้เป็นตัวอย่างไดอะแกรมคลาส UML:
ตรวจสอบด้วย: - ไดอะแกรม UML: ประวัติ ประเภท ลักษณะ เวอร์ชัน เครื่องมือ
แผนภาพคลาสในวงจรการพัฒนาซอฟต์แวร์
ไดอะแกรมคลาสสามารถใช้ในขั้นตอนการพัฒนาซอฟต์แวร์ต่างๆ ช่วยในการสร้างไดอะแกรมคลาสการสร้างแบบจำลองในมุมมองที่แตกต่างกันสามมุมมอง
1. มุมมองเชิงแนวคิด: ไดอะแกรมเชิงแนวคิดเป็นการอธิบายสิ่งต่างๆ ในโลกแห่งความเป็นจริง คุณควรวาดไดอะแกรมที่แสดงแนวคิดในโดเมนที่กำลังศึกษา แนวคิดเหล่านี้เกี่ยวข้องกับคลาสและจะไม่ขึ้นอยู่กับภาษาเสมอ
2. มุมมองข้อกำหนด: มุมมองข้อมูลจำเพาะอธิบายนามธรรมซอฟต์แวร์หรือส่วนประกอบพร้อมข้อกำหนดและอินเทอร์เฟซ อย่างไรก็ตาม ไม่ได้ให้คำมั่นสัญญาใดๆ กับการนำไปปฏิบัติโดยเฉพาะ
3. มุมมองการนำไปปฏิบัติ: คลาสไดอะแกรมประเภทนี้ใช้สำหรับการใช้งานในภาษาหรือแอปพลิเคชันเฉพาะ มุมมองการนำไปปฏิบัติ การใช้สำหรับการนำซอฟต์แวร์ไปใช้
แนวทางปฏิบัติที่ดีที่สุดในการออกแบบไดอะแกรมชั้นเรียน
ไดอะแกรมคลาสเป็นไดอะแกรม UML ที่สำคัญที่สุดที่ใช้สำหรับการพัฒนาแอปพลิเคชันซอฟต์แวร์ มีคุณสมบัติหลายประการที่ควรพิจารณาขณะวาดไดอะแกรมคลาส ไดอะแกรมเหล่านี้แสดงถึงแง่มุมต่างๆ ของแอปพลิเคชันซอฟต์แวร์
ต่อไปนี้คือประเด็นบางประการที่ควรคำนึงถึงขณะวาดไดอะแกรมคลาส:
- ชื่อที่กำหนดให้กับแผนภาพชั้นเรียนจะต้องมีความหมาย นอกจากนี้ ควรอธิบายลักษณะที่แท้จริงของระบบด้วย
- จำเป็นต้องระบุความสัมพันธ์ระหว่างแต่ละองค์ประกอบล่วงหน้า
- จำเป็นต้องระบุความรับผิดชอบสำหรับทุกชั้นเรียน
- สำหรับทุกคลาส ควรระบุจำนวนคุณสมบัติขั้นต่ำ ดังนั้นคุณสมบัติที่ไม่ต้องการอาจทำให้ไดอะแกรมซับซ้อนได้ง่าย
- ควรมีหมายเหตุสำหรับผู้ใช้ทุกครั้งที่คุณต้องกำหนดลักษณะบางอย่างของไดอะแกรม เมื่อวาดเสร็จแล้ว ทีมพัฒนาซอฟต์แวร์จะต้องเข้าใจหมายเหตุดังกล่าวได้
- สุดท้ายนี้ ก่อนที่จะสร้างเวอร์ชันสุดท้าย จะต้องวาดไดอะแกรมบนกระดาษธรรมดา นอกจากนี้ ควรปรับปรุงใหม่จนกว่าจะพร้อมสำหรับการส่งขั้นสุดท้าย
สรุป
- UML เป็นภาษามาตรฐานสำหรับการระบุ การออกแบบ และการแสดงภาพสิ่งประดิษฐ์ของระบบซอฟต์แวร์
- คลาสคือพิมพ์เขียวสำหรับวัตถุ
- คลาสไดอะแกรมอธิบายประเภทของออบเจ็กต์ในระบบและความสัมพันธ์ประเภทต่างๆ ที่มีอยู่
- ช่วยให้สามารถวิเคราะห์และออกแบบมุมมองแบบคงที่ของแอปพลิเคชันซอฟต์แวร์ได้
- ไดอะแกรมคลาสเป็นไดอะแกรม UML ที่สำคัญที่สุดที่ใช้สำหรับการพัฒนาแอปพลิเคชันซอฟต์แวร์
- องค์ประกอบสำคัญของแผนภาพคลาส UML คือ 1) คลาส 2) คุณลักษณะ 3) ความสัมพันธ์
- Class Diagram ให้ภาพรวมของโครงสร้างแอปพลิเคชันก่อนที่จะศึกษาโค้ดจริง ช่วยลดเวลาในการบำรุงรักษาได้อย่างแน่นอน
- คลาสไดอะแกรมมีประโยชน์ในการทำแผนที่ภาษาการเขียนโปรแกรมเชิงวัตถุเช่น Java, C++ทับทิม Pythonฯลฯ
ตรวจสอบด้วย: - บทช่วยสอนแผนภาพ UML สำหรับผู้เริ่มต้น: เรียนรู้ UML ออนไลน์ฟรี