မဂၤလာပါ၊ မဂၤလာရွိေသာ ေန႔တစ္ေန႔ပါ ..

Saturday, 23 November 2013

UML Class Diagram's Relationship

Class Diagram သည္ UML diagrams ေတြထဲတြင္ အေျခခံအက်ဆံုး ျဖစ္သည္။ ၎သည္ Class အခ်င္းခ်င္း တို႔၏ relationships တို႔ကို ေဖာ္ျပသည္။ မ်ားေသာအားျဖင့္ (၄) မ်ိဳး ခြဲျခားႏိုင္သည္။

၎တို႔မွာ
(၁) Association
   class A ႏွင့္ class B ၾကားတြင္ အလုပ္ အတူတူ ျပဳလုပ္ လွဳပ္ရွားမွဳ ၾကိယာပုဒ္ ရွိသည္။ ထို relationship ကို UML တြင္ Association အျဖစ္ သတ္မွတ္သည္။ ဥပမာဆိုရင္ I learn Java. I develop a program. ဂ်ာဗားကို ကြ်န္ေတာ္  ေလ့လာသည္။ ကြ်န္ေတာ္ ႏွင့္ ဂ်ာဗား အၾကားတြင္ ျပဳလုပ္ လွဳပ္ရွားမွဳ ၾကိယာပုဒ္ ရွိသည္။ ပရိုဂရမ္ကို ကြ်န္ေတာ္ တည္ေဆာက္သည္။ ကြ်န္ေတာ္ ႏွင့္ ပရုိဂရမ္ အၾကားတြင္ ျပဳလုပ္ လွဳပ္ရွားမွဳ ၾကိယာပုဒ္ ရွိသည္။

(၂) Aggregation
   class A တြင္ class B ရွိႏိုင္သည္။ class B သည္ class A ၏ အစိတ္အပိုင္း ၁ခုအေန ျဖစ္ (သို႔) မျဖစ္ ရွိႏိုင္သည္။ class A ႏွင့္ class B တို႔၏ life-time သည္ အခ်င္းခ်င္း မွီခိုမွဳ မရွိ တည္ရွိႏိုင္သည္။ ထို relationship ကို "has-a" relationship ဟု ေခၚသည္။ UML တြင္ Aggregation အျဖစ္ သတ္မွတ္သည္။ 
   ဥပမာဆိုရင္ Airport has a Aircraft. Aircraft is not a part of Airport. They can exist without each other.

ေလယဥ္ကြင္းတြင္ ေလယဥ္ ရွိသည္။ ေလယဥ္ မရွိေသာ ေလယဥ္ကြင္း ရွိႏိုင္သည္။ ေလယဥ္ကြင္း ျပင္ပတြင္ ရွိေသာ ေလယဥ္ ရွိႏိုင္သည္။ သူတို႔ ၂ခုသည္ မွီခိုမွဳ ကင္းႏိုင္သည္။ သို႔ေသာ္ ေလယဥ္ (က) သည္ ေလယဥ္ကြင္း (က) တြင္ ရွိေနသည္ဆိုလွ်င္ အျခားေလယဥ္ကြင္း (ခ) တြင္ မရွိႏိုင္ေခ်။ သတ္သတ္မွတ္မွတ္ ပိုင္ဆိုင္မွဳေတာ့ ရွိသည္။

(၃) Composition
   class A တြင္ class B ရွိသည္။ class B သည္ class A ၏ အစိတ္အပိုင္း ၁ခုအေနျဖစ္ တည္ရွိသည္။ class A ၏ အစိတ္အပိုင္း တခုျဖစ္တဲ့ class B ကို class A တခုတည္းက ပိုင္ဆိုင္ႏုိင္သည္။ class B ၏ life-time သည္ class A အေပၚ မွီခိုမွဳ ရွိေနႏိုင္သည္။ ထို relationship ကို "has-a" relationship ဟု ေခၚသည္။ UML တြင္ Composition အျဖစ္ သတ္မွတ္သည္။ Composition သည္ Aggregation ထက္ stronger relationship ျဖစ္သည္။ 
   ဥပမာဆိုရင္ I have My Heart. My Heart belongs to only I. When I exist, My Heart also exists. When I die, My Heart also dies. I can't live without My Heart. 
   ကြ်န္ေတာ့္တြင္ ကြ်န္ေတာ့္ ကိုယ္ပိုင္ ႏွလံုး ရွိသည္။ ကြ်န္ေတာ္ ေမြးကတည္းက ႏွလံုး ရွိသည္။ ကြ်န္ေတာ္ ေသဆံုးရင္ ကြ်န္ေတာ့္ ႏွလံုး ေသဆံုး ႏိုင္သည္။ ကြ်န္ေတာ့္ ႏွလံုး မရွိပဲ ကြ်န္ေတာ္ အသက္မရွင္ႏိုင္။ အဲသည့္ ၂ခုသည္ အခ်င္းခ်င္း မွီခိုေနၾကသည္။
 
(၄) Generalization 
    class A သည္ class B ၏ အမ်ိဳးအႏြယ္ ၁ခု ျဖစ္သည္။ ထို relationship ကို 'is-a' relationship ဟု ေခၚသည္။ UML တြင္ Generalization အျဖစ္ သတ္မွတ္သည္။ ဥပမာဆိုရင္ Man is a Human. ေယာကၤ်ားသည္ လူသား အမ်ိဳးအႏြယ္ ၁ခု ျဖစ္သည္။



No comments:

Post a Comment