ในคลาสไดอะแกรม UML คลาส Boundary คลาสควบคุมและเอนทิตีคลาสคืออะไร


85

ตอนนี้ฉันใช้ NetBeans เป็น IDE ที่ฉันเลือกและมีปลั๊กอินสำหรับการสร้างแบบจำลอง UML ในแผนภาพคลาสที่มีองค์ประกอบของรูปแบบที่รู้จักกันเป็นBoundary Class, และControl Class Entity Classอย่างไรก็ตามฉันไม่พบคำจำกัดความที่ดีของพวกเขา แต่ฉันพบไซต์นี้ใน UML Class Diagrams

คำตอบ:


202

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

พวกเขาเกี่ยวข้องกับ:

  1. นักแสดง
  2. ใช้กรณี
  3. เอนทิตี
  4. ขอบเขต
  5. การควบคุม

ในขณะที่รูปแบบ Model-View-Controllerใช้สำหรับอินเทอร์เฟซผู้ใช้ Entity-Control-Boundary Pattern (ECB) จะใช้สำหรับระบบ ด้านต่อไปนี้ของ ECB สามารถเปรียบได้กับ MVC เวอร์ชันนามธรรมหากมีประโยชน์:

สัญกรณ์ UML

เอนทิตี (โมเดล)
อ็อบเจ็กต์ที่แสดงข้อมูลระบบมักมาจากโมเดลโดเมน

ขอบเขต (ผู้ทำงานร่วมกันในมุมมอง / บริการ)
อ็อบเจ็กต์ที่เชื่อมต่อกับผู้แสดงระบบ (เช่นผู้ใช้หรือบริการภายนอก ) Windows หน้าจอและเมนูเป็นตัวอย่างของขอบเขตที่ติดต่อกับผู้ใช้

Controls (ตัวควบคุม)
วัตถุที่เป็นสื่อกลางระหว่างขอบเขตและเอนทิตี สิ่งเหล่านี้ทำหน้าที่เป็นกาวระหว่างองค์ประกอบขอบเขตและองค์ประกอบเอนทิตีโดยใช้ตรรกะที่จำเป็นในการจัดการองค์ประกอบต่างๆและปฏิสัมพันธ์ขององค์ประกอบเหล่านี้ สิ่งสำคัญคือต้องเข้าใจว่าคุณอาจตัดสินใจใช้ตัวควบคุมภายในการออกแบบของคุณเป็นสิ่งอื่นที่ไม่ใช่วัตถุ - ตัวควบคุมจำนวนมากนั้นง่ายพอที่จะนำไปใช้เป็นวิธีการของเอนทิตีหรือคลาสขอบเขต

กฎสี่ข้อใช้กับการสื่อสาร:

  1. นักแสดงสามารถพูดคุยกับวัตถุที่มีขอบเขตเท่านั้น
  2. วัตถุขอบเขตสามารถพูดคุยกับผู้ควบคุมและนักแสดงเท่านั้น
  3. เอนทิตีอ็อบเจ็กต์สามารถพูดคุยกับคอนโทรลเลอร์เท่านั้น
  4. คอนโทรลเลอร์สามารถพูดคุยกับวัตถุขอบเขตและเอนทิตีอ็อบเจกต์และกับคอนโทรลเลอร์อื่น ๆ ได้ แต่ไม่ใช่กับผู้แสดง

อนุญาตการสื่อสาร:

         Entity    Boundary   Control
Entity     X                     X
Boundary                         X
Control    X          X          X

14
เมื่อพิจารณาจากความคิดเห็นคำตอบนี้ไม่ได้ช่วยให้ผู้คนเห็นความแตกต่างระหว่าง "Entity Boundary Control" และ MVC หนึ่งในนั้นคือเขตแดนไม่ใช่มุมมอง เป็นองค์ประกอบของระบบที่จัดการการสื่อสารกับองค์ประกอบภายนอกพื้นที่ภายใต้การออกแบบไม่ว่าพื้นที่นั้นจะเป็นอย่างไร ตัวอย่างเช่นซุ้ม PayPal REST API ภายในระบบของคุณอาจเป็นองค์ประกอบที่มีขอบเขต นอกจากนี้ระบบย่อยของคุณอาจมีขอบเขตของมันเอง เปรียบเทียบสิ่งนี้กับมุมมองซึ่งมักจะเป็นมุมมองจากทุกมุมมองและหันหน้าเข้าหาผู้ใช้เสมอ
DavidS

2
คำตอบนี้รวมถึงการพูดในสิ่งเดียวกันจริงๆ: "ขอบเขต: ออบเจ็กต์ที่เชื่อมต่อกับตัวแสดงระบบ (เช่นผู้ใช้หรือบริการภายนอก )" อย่างไรก็ตามประเด็นของฉันคือมันแตกต่างกัน: ECB ไม่ใช่ "การทำให้เข้าใจง่าย" ของ MVC
DavidS

จุดตายตัวเหล่านี้ดูเหมือนจะไม่ได้กำหนดไว้ในข้อกำหนด UML ...
granier

23

มักใช้กับ / เป็นส่วนหนึ่งของ OOAD และการสร้างแบบจำลองทางธุรกิจ คำจำกัดความของ Neil นั้นถูกต้อง แต่โดยพื้นฐานแล้วก็เหมือนกับ MVC แต่เป็นเพียงนามธรรมสำหรับธุรกิจ "บทสรุปที่ดี" ทำได้ดีดังนั้นฉันจะไม่คัดลอกที่นี่เนื่องจากไม่ใช่งานของฉันมีรายละเอียดมากกว่า แต่สอดคล้องกับสัญลักษณ์แสดงหัวข้อย่อยของนีล

สรุปได้ดี - Conceito: Entity-Control-Boundary Pattern

OOAD


3
แต่ MVC ใช้สำหรับดูเลเยอร์เท่านั้น
Alex78191

2
คำตอบควรมีข้อมูลและไม่เพียง แต่เชื่อมโยงไปถึง น่าเสียดายที่ลิงค์นั้นตายไปแล้ว
โยฮัน

2
@ ted-johnson มีโอกาสสำหรับลิงค์ที่อัปเดตหรือไม่? ขอบคุณ!
Narshe

อัปเดตลิงก์ไปยังไซต์ที่คล้ายกันซึ่งมีเนื้อหา
Ted Johnson

16

สิ่งเหล่านี้เป็นแบบแผนของคลาสที่ใช้ในการวิเคราะห์

  • คลาสขอบเขตคือคลาสที่อยู่ในขอบเขตของระบบ - คลาสที่คุณหรือระบบอื่น ๆ โต้ตอบด้วย

  • คลาสเอนทิตีคือเอนทิตีธุรกิจทั่วไปของคุณเช่น "บุคคล" และ "บัญชีธนาคาร"

  • ชั้นเรียนควบคุมใช้ตรรกะทางธุรกิจบางอย่างหรืออื่น ๆ


5

รูปแบบเอนทิตีการควบคุมขอบเขตมีสองเวอร์ชัน:
- โครงสร้างเก่าอธิบายไว้ที่ 127 (เอนทิตีเป็นองค์ประกอบแบบจำลองข้อมูลการควบคุมเป็นฟังก์ชันขอบเขตเป็นส่วนต่อประสานแอปพลิเคชัน)
- รูปแบบวัตถุใหม่


เป็นรูปแบบวัตถุ:
- ขอบเขตเป็นส่วนต่อประสานสำหรับ " โลกอื่น "
- ควบคุมด้วยตรรกะภายในใด ๆ (เช่นบริการในรูปแบบ DDD)
- เอนทิตีคือเซอร์วิสที่คงอยู่สำหรับอ็อบเจ็กต์ (เช่นที่เก็บข้อมูลในรูปแบบ DDD)
คลาสทั้งหมดมีการดำเนินการ (ดูรูปแบบการต่อต้านรูปแบบโดเมนโลหิตจางของ Fowler)
ทั้งหมดนี้เป็นส่วนประกอบ Model ในรูปแบบ MVC กฎ:
- มีเพียงเขตแดนเท่านั้นที่ให้บริการสำหรับ "โลกอื่น"
- เขตแดนสามารถโทรไปยังผู้ควบคุมเท่านั้น
- การควบคุมสามารถโทรหาใครก็ได้
- เอนทิตีไม่สามารถเรียกใครได้ (!) เรียกได้ว่าเป็นเท่านั้น

jz


4

จริงๆแล้ว Robustness Diagrams (หรือ Analysis Diagrams ตามที่บางครั้งเรียก) เป็นเพียง Class Diagrams แบบพิเศษ พวกเขาเป็นส่วนหนึ่งของ UML และตั้งแต่เริ่มต้น (ดูหนังสือของ Jacobson เรื่อง The Unified Software Development Process - ส่วนหนึ่งของหนังสือชุด "Three Amigos") หนังสือดังกล่าวมีคำจำกัดความที่ดีของทั้งสามชั้นเรียนนี้ในหน้า 183-185

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.