ผลกระทบของคลาสโมเดล UML

ป้อนคำอธิบายรูปภาพที่นี่

ฉันกำลังพยายามสร้างโมเดลด้วย UML ปัญหานี้ฉันมี นั่นคือโครงสร้างตัวแลกเปลี่ยนเฉพาะ

ฉันมีคลาสส่วนกลาง เมทริกซ์ ซึ่งมีวงจรหลายวงจรไหลผ่าน คลาส วงจร เมทริกซ์นี้เป็นสแต็กของข้อความ (คลาส ข้อความ) ซึ่งหมุนเวียนวงจรตั้งแต่หนึ่งวงจรขึ้นไป วงจรหนึ่งสามารถไหลได้หลายทาง

สมมติว่าออบเจ็กต์ข้อความชื่อ "A", "B" และ "C" เมทริกซ์อาจมีหน้าตาดังนี้ : ABCCABA...

ฉันจะใช้ข้อมูลอ้างอิงเหมือนกับอาร์เรย์ของพอยน์เตอร์

ฉันจะสร้างแบบจำลองรูปแบบการซ้อนใน UML ได้อย่างไร

จากนั้น ฉันอยากจะบอกว่า A มีวัตถุ 2 วงจร "1" และ "2", B มี "2" และ C มี "3"

ช่วยฉันหาวิธีทำสิ่งเหล่านี้


person renaud E    schedule 16.02.2015    source แหล่งที่มา
comment
อาจเป็นปัญหาด้านภาษา แต่คลาสไม่ลื่นไหลและคุณไม่สามารถซ้อนกันได้ คุณต้องการทราบวิธีสร้างโมเดลคลาสที่แสดงถึงเมทริกซ์หรือไม่? และอีกอันสำหรับสร้างโมเดลสแต็ก?   -  person qwerty_so    schedule 16.02.2015
comment
โอ้ ฉันเข้าใจแล้ว บางทีอาจมีการผสมผสานระหว่างการใช้โฟลว์และสแต็ก ฉันไม่ต้องการ ซ้อน หรือทำให้ โฟลว์ คลาสนั้นเอง แต่เป็นออบเจ็กต์ และที่สำคัญที่สุด ฉันอยากจะเข้าใจว่าฉันจะต้องใช้การเชื่อมโยงประเภทใดเพื่อทำให้โครงสร้างนี้ทำงานได้   -  person renaud E    schedule 16.02.2015


คำตอบ (2)


คำถามของคุณยังอยู่ในรูปแบบที่ให้คำตอบได้มากมาย (เกินไป) แต่ฉันจะลองวิธีนี้

  • สำหรับแต่ละขั้นตอนด้านล่างผู้มีส่วนได้ส่วนเสียที่เหมาะสมจะมีส่วนร่วมในการออกแบบ
  • Make up your mind what you actually want to do. What is the purpose of the matrix/stack (your question does not provide background).
    • A good way is to create use cases to describe the goals of your system
  • หากคุณรู้ว่าเป้าหมายของระบบเหล่านั้นคือการสร้างโดเมนโดยใช้คลาสไดอะแกรม แผนภาพชั้นเรียนด้านบนดูดีแต่หากไม่มีบริบท ฉันก็บอกไม่ถูกว่าถูกหรือผิด
  • Once you got that structural model you can start designing functionality. The best approach is this:
    • Create a collaboration for each of your use cases (also known as use case realizations; they have a realization towards the use case).
    • ภายในการทำงานร่วมกันแต่ละครั้ง ให้สร้างไดอะแกรมลำดับและวางอินสแตนซ์ของคลาสเหล่านั้นไว้ซึ่งควรจะมีส่วนร่วมในกรณีการใช้งานเฉพาะนี้
    • ตอนนี้เริ่มคิดว่าอินสแตนซ์เหล่านี้จำเป็นต้องสื่อสารอย่างไรเพื่อทำงานที่ต้องการ
    • วาดข้อความเพื่อแสดงการสื่อสารและสร้างวิธีการในคลาสตาม (เครื่องมือบางตัวรองรับในขั้นตอนเดียว)
    • ตรวจสอบรูปแบบการสื่อสารและโดเมน

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

ให้ปลาแก่คนแล้วจะมีอาหารได้หนึ่งวัน สอนมันให้ตกปลาและมีอาหารไปตลอดชีวิต

person qwerty_so    schedule 16.02.2015
comment
ฉันมองหาแนวทางบางอย่างมาระยะหนึ่งแล้ว คุณเพิ่งมอบให้ฉัน ขอบคุณ. ฉันเดาว่าฉันจะคิดเกี่ยวกับมัน และถ้ามันยังไม่ชัดเจน ฉันจะกลับมาขอความช่วยเหลือถ้ามันโอเค ขอบคุณ ! - person renaud E; 16.02.2015
comment
ไม่มีปัญหา. คุณอาจลงคะแนนได้หากช่วยได้ :-) UML เป็นภาษา และคุณสามารถเรียนรู้ได้โดยการฝึกฝนเท่านั้น เพียงเดินทางไปที่ UMLand ที่ซึ่งทุกคนพูด UML ดังนั้นคุณจึงถูกบังคับให้เรียนรู้ - หรืออดอาหาร ;-) คุณสามารถถามคำถามเพิ่มเติมได้หากคุณติดขัดอีกครั้ง - person qwerty_so; 16.02.2015
comment
ฉันรู้จัก UML ค่อนข้างดี และถ้าฉันไม่มีความรู้อื่น ฉันก็จะยังอดตายอยู่ :) - person BobRodes; 17.02.2015
comment
@ThomasKilian: ฉันมักจะแนะนำแผนภาพกิจกรรม (ที่คุณมีการทำงานร่วมกัน) สำหรับแต่ละกรณีการใช้งาน โดยมีไดอะแกรมลำดับสำหรับแต่ละสถานการณ์ในกรณีการใช้งาน - person BobRodes; 17.02.2015
comment
@BobRodes: AD เข้าสู่ UC เพื่ออธิบายสิ่งที่เกิดขึ้น คุณสามารถใช้ AD แทน SD ได้ตามความเหมาะสม (มีความสัมพันธ์แบบ 1:1) AD จะดีกว่าในภาพรวมโครงสร้าง ในขณะที่ SD อยู่ในเวลาที่เหมาะสม - person qwerty_so; 17.02.2015
comment
@ThomasKilian: ฉันไม่แน่ใจว่าฉันเห็นด้วยอย่างยิ่งว่ามีความสัมพันธ์ 1: 1 ระหว่าง AD และ SD บางทีฉันอาจพลาดประเด็นของคุณ? ฉันไม่เห็นวิธีง่ายๆ ในการสร้างแบบจำลองเธรดพฤติกรรมแบบขนานใน SD ในลักษณะที่แยกและรวมทำได้ดีในโฆษณา ฉันมองว่า SD นั้นต่ำกว่า AD เล็กน้อยเช่นกัน เป็นการยากที่จะจำลองการไหลของปฏิสัมพันธ์ระหว่างวัตถุสองชิ้นในระดับการเรียกเมธอดในโฆษณา - person BobRodes; 17.02.2015
comment
ความจริงที่ว่ามีความสัมพันธ์แบบ 1:1 ไม่ได้หมายความว่าการแปลงจะเป็นเรื่องง่าย นอกจากนี้ความจริงที่ว่าคุณสามารถทำได้ต้องไม่ได้หมายความว่าคุณต้องทำมัน จุดเน้นของทั้งสองนั้นแตกต่างกันตามที่ฉันระบุไว้ ดังนั้นคุณควรใช้จุดใดจุดหนึ่งที่คุณคิดว่าต้องการโฟกัสมากที่สุด เราอาจเริ่มการสนทนาบน LinkedIn linkedin.com/ - person qwerty_so; 17.02.2015

โครงสร้างที่เป็นรูปธรรมของความสัมพันธ์ของอินสแตนซ์จะต้องแสดงใน Object Diagram

แต่มันไม่ได้ทรงพลังและเป็นสากลเท่ากับคลาสไดอะแกรม ดังนั้น คุณอาจจะต้องสร้างไดอะแกรมของคุณเองขึ้นมา

นอกจากนี้ โปรดดูที่ แผนภาพโครงสร้างคอมโพสิต

person Gangnus    schedule 16.02.2015