यूनिफ़ाइड मॉडलिंग लैंग्वेज (यूएमएल) मॉडल, आपके डेटा का फ़ॉर्मैट-इंडिपेंडेंट ब्यौरा दिखाता है. इसका मुख्य फ़ायदा यह है कि यह डेटा एलिमेंट के बारे में बताता है और यह भी बताता है कि वे एक-दूसरे से कैसे जुड़े हैं. मॉडल पर आधारित इस अप्रोच के ज़रिए, डेटा के अच्छे से स्ट्रक्चर होने और किसी भी तरह के बदलाव को सहन करने की क्षमता होती है.
यूएमएल क्लास के संबंध
यूएमएल मॉडल की मुख्य क्लास को आपके एक्सएमएल स्कीमा में मुख्य एलिमेंट के तौर पर दिखाया जाता है. यूएमएल क्लास के बीच अलग-अलग तरह के संबंध तय करते हैं कि स्कीमा में आपके एक्सएमएल एलिमेंट की बनावट कैसी होगी.
क्लास में तीन तरह के संबंध होते हैं:
- डायरेक्ट कंपोज़िशन
- ऐसा तब होता है, जब कोई क्लास किसी सब-एलिमेंट या सब-एलिमेंट से बनी होती है. उदाहरण
के लिए, अगर आपने कोई चुनावी रिपोर्ट बनाई है, तो
चुनाव रिपोर्ट में चुनावों के बारे में बताया जाएगा. आपके एक्सएमएल स्कीमा में,
Election
एलिमेंटElectionReport
एलिमेंट के सब-एलिमेंट के तौर पर जनरेट किया जाता है. - "इसका प्रकार" या "का इंस्टेंस"
- ऐसा तब होता है, जब ऐब्स्ट्रैक्ट क्लास, कंक्रीट क्लास लागू करती है. उदाहरण के लिए, अगर कोई प्रतियोगिता
बनाती है, तो उसे उसकी कंक्रीट क्लास के ज़रिए लागू किया जाता है. इसका मतलब है कि
उम्मीदवार प्रतियोगिता एक तरह की प्रतियोगिता है. आपके एक्सएमएल स्कीमा में,
Contest
को एब्सट्रैक्ट एक्सएमएल एलिमेंट के तौर पर जनरेट किया जाता है और यहCandidateContest
एलिमेंट के लिए एक्सटेंशन बेस के तौर पर काम करता है. - डायरेक्ट असोसिएशन
- ऐसा तब होता है, जब किसी एलिमेंट में कोई दूसरा एलिमेंट शामिल होता है, जिसमें दूसरे एलिमेंट से जुड़ा आइडेंटिफ़ायर होता है. उदाहरण के लिए, ऐसा तब होता है,
जब किसी उम्मीदवार को किसी पार्टी से जोड़ा या लिंक किया जाता है. आपके एक्सएमएल स्कीमा में,
Candidate
एलिमेंट मेंPartyId
एलिमेंट शामिल होता है, जिसमेंParty
एलिमेंट से जुड़ा एक आइडेंटिफ़ायर शामिल होता है.
नीचे दिए डायग्राम में तीन तरह के संबंधों को दिखाया गया है:
यूएमएल मॉडल के उदाहरण
नीचे दिए गए डायग्राम में, Contest
इकाई और दो तरह के Contest
दिखाए गए हैं:
CandidateContest
और PartyContest
.
यह डायग्राम, CandidateContest
के लिए क्लास डायग्राम का हाई-लेवल व्यू दिखाता है:
यह डायग्राम, PartyContest
के लिए क्लास डायग्राम का हाई-लेवल व्यू दिखाता है: