கேள்வி: வகுப்பு வரைபடம் என்பது என்ன?
பதில்: படிமம்:Uml diagram.svgமென்பொருள் பொறியியல், கிளாஸ் வரைபடம் என்பது யுனிஃபைட் மாடலிங் லாங்குவேஜ் (UML) ஒரு முறைமையின் அமைப்பை நிலையான வடிவ படங்கள் மூலம் விளக்குவதாகும். அதில் அந்த முறைமையின் கிளாஸ் (கணினி அறிவியல்)கள், அவற்றின் பண்புகூறுகள் மற்றும் கிளாஸ்களுக்கு இடையேயான உறவுகள் ஆகியவை காண்பிக்கப்படும்.
கேள்வி: வகுப்பு வரைபடம் - காட்சித்தன்மை (Visiblity) பற்றி தகவல் சொல்.
பதில்: கிளாஸ் உறுப்புகளின் (பண்புக்கூறுகள் மற்றும் முறைகள்) காட்சித்தன்மையைக் குறிப்பிட உறுப்புகளின் பெயர்களுக்கு முன்பாக பின்வரும் குறிமானங்கள் சேர்க்கப்பட வேண்டும்.[http://www.omg.org/docs/ptc/08-05-05.pdf OMG யுனிஃபைட் மாடலிங் லாங்குவேஜ் (OMG UML) சூப்பர்ஸ்டரக்சர்] , பதிப்பு 2.2 பீட்டா: மே 2008. நவம்பர் 16, 2008 இல் எடுக்கப்பட்டது.: {| class="wikitable" | align="center"| + | public | அதற்கு சொந்தமான நேம்ஸ்பேஸின் உள்ளடக்கங்களை அணுகக்கூடிய எல்லா கூறுகளும் பார்க்க முடியும். |- | align="center"| # | protected | அதற்கு சொந்தமான நேம்ஸ்பேஸுடன் பொதுமைப்படுத்தல் உறவு கொண்ட கூறுகள் மட்டுமே காண முடியும். |- | align="center"| – | private | இதற்கு சொந்தமான நேம்ஸ்பேஸுக்குள் மட்டுமே காண முடியும். |- | align="center"| ~ | package | ஒரு தொகுப்பல்லாத நேம்ஸ்பேஸுக்கு சொந்தமானது, மேலும் அதே தொகுப்பில் உள்ள நேம்ஸ்பேஸில் உள்ள கூறுகள் மட்டுமே காண முடியும். தொகுப்பைச் சாராத பெயரிடப்பட்ட கூறுகளை மட்டுமே தொகுப்பு காட்சித்தன்மைக்காக குறிக்க முடியும். தொகுப்பு காட்சித்தன்மை என்று குறிக்கப்பட்ட கூறுகளை அதற்கு நெருக்கமான தொகுப்பில் (பிற கூறுகளுக்கு முறையான காட்சித்தன்மை இருக்க வேண்டும்) உள்ள எல்லா கூறுகளாலும் காண முடியும். நெருக்கமான தொகுப்புக்கு வெளியே, தொகுப்பு காட்சி தன்மை என்று குறிக்கப்பட்ட கூறுக்கு காட்சித்தன்மை இருக்காது. |}
கேள்வி: வகுப்பு வரைபடம் - நோக்கம் பற்றி நீங்கள் என்ன அறிந்துள்ளீர்கள்?
பதில்: உறுப்புகளுக்கு UML இருவகையான நோக்கங்களைக் குறிப்பிடுகிறது: நேர்வு (instance) மற்றும் பிரிப்பான் (classifier). நேர்வு உறுப்புகளின் நோக்கம் ஒரு குறிப்பிட்ட நேர்வு மட்டுமே. பண்புக்கூறுகளைப் பொறுத்த வரை, இதன் மதிப்பு நேர்வுகளுக்கு இடையே வேறுபடக்கூடியது. முறைகளைப் பொறுத்தவரை, இதை அழைப்பது (invocation) நேர்வின் நிலையை மாற்றி விடக்கூடியது. அதாவது, நேர்வு பண்புக்கூறுகளை பாதிக்கும். ஆனால், பிரிப்பான் உறுப்பில் இதன் நோக்கம் ஒரு கிளாஸ் ஆகும். பண்புக்கூறுகளைப் பொறுத்த வரை, இதன் மதிப்பு எல்லா நேர்வுகளுக்கும் சமமாக இருக்கும். முறைகளைப் பொறுத்த வரை, இதை அழைப்பது நேர்வின் நிலையை பாதிக்காது. பிரிப்பான் உறுப்புகள் பொதுவாக பல நிரலாக்க மொழிகளில் "நிலையானதாக" காணப்படுகிறது. ஒரு உறுப்பு பிரிப்பான் நோக்கத்துடனானது என்றால், அதன் பெயர் அடிக்கோடிட்டு காண்பிக்கப்பட வேண்டும். இல்லாவிட்டால், இயல்புநிலையான நேர்வு நோக்கமே எடுத்துக்கொள்ளப்படும்.
கேள்வி: வகுப்பு வரைபடம் - சேர்க்கை (Association) பற்றி விளக்கவும்.
பதில்: படிமம்:UML role example.gif ''சேர்க்கை (object-oriented programming)'' என்பது ஒரு இணைப்புகளின் குடும்பத்தைக் குறிக்கிறது. பைனரி சேர்க்கைகளில் (இரு முனைகளைக் கொண்டவை) ஒரு கோடு அதன் இரு முனைகளில் கிளாஸ் பெட்டிகளுடன் இணைக்கப்பட்டிருக்கும். உயர்நிலை சேர்க்கைகள் இரண்டு முனைகளுக்கும் அதிகமானதைக் கொண்டதாக வரைய முடியும். அவ்வாறான நிலைகளில் முனைகள் ஒரு மைய டைமண்டுடன் இணைக்கப்பட்டிருக்கும். சேர்க்கைகளுக்கு பெயரிட முடியும், மேலும் சேர்க்கையின் முனைகளில் ரோல் பெயர்கள், உரிமை காட்டிகள், பன்மைத்தன்மை, காட்சித்தன்மை மற்றும் பிற பண்புகள் போன்றவற்றைச் சேர்க்கலாம். ஐந்து வெவ்வேறு வகையான சேர்க்கைகள் உள்ளன. இரு-திசை மற்றும் ஒற்றை திசை சேர்க்கைகள் பொதுவானவை. எடுத்துக்காட்டாக, ஒரு ஃப்ளைட் கிளாஸானது, பிளேன் கிளாஸுடன் இருதிசையிலும் சேர்ந்துள்ளது. கிளாஸ் வரைபடங்களில் மட்டுமே சேர்க்கைகளைக் காண்பிக்க முடியும். எடுத்துக்காட்டு: "துறையானது கல்வித்திட்டங்களை வழங்குகிறது", என்பது ஒரு சேர்க்கை உறவுமுறை.
கேள்வி: வகுப்பு வரைபடம் - கூட்டமைவு (Composition) என்பது என்ன?
பதில்: ''ஆப்ஜெக்ட் கூட்டமைவு'' "owns a" இன் பலமான வகை அல்லது சேர்க்கை உறவுமுறை. திரட்டுதல் உறவுமுறையை விடவும், கூட்டமைவு அதிக நுணுக்கமானது. அடர்த்தியான டைமண்ட் வடிவத்தின் மூலம் குறிப்பிடப்படுகிறது. ''கூட்டமைவு'' உறவுமுறையில் பொதுவாக, கொண்டிருக்கும் கிளாஸின் நேர்வுகள் மற்றும் உள்ளிருக்கும் கிளாஸின் நேர்வுகள் ஆகியவற்றுக்கு இடையே வலுவான ''வாழ்க்கை சுழற்சி சார்பு'' காணப்படும்: அதாவது கன்டெய்னர் அழிக்கப்பட்டால், அதில் உள்ள எல்லா நேர்வும் அதனுடன் அழிக்கப்படும். ஒரு கூட்டமைவு நீக்கப்படுவதற்கு முன்பு அதன் ஒரு பகுதியை அகற்றி விடலாம் (அனுமதிக்கப்படும் இடங்களில்) எனவே அது கூட்டமைவுடன் சேர்ந்து நீக்கப்படாது என்பதை நினைவில் கொள்க. கூட்டமைவு உறவுமுறையின் UML வரைபட வெளிப்பாடானது, உள்ளிருக்கும் கிளாஸை இணைக்கும் கோட்டின் கொண்டிருக்கும் கிளாஸ் முனையில் ஒரு ''நிரப்பபட்ட'' டைமண்ட் வடிவம் ஆகும்.
கேள்வி: வகுப்பு வரைபடம் - கூட்டமைவு மற்றும் திரட்டுதல் ஆகியவற்றுக்கு இடையேயான வேறுபாடுகள் குறித்து விரிவாக சொல்லுங்கள்.
பதில்: கூட்டமைவின் மொத்த மதிப்பானது 0..1 இன் மடங்குகளாக அல்லது 1 ஆக இருக்க வேண்டும், அதாவது மொத்த மதிப்பானது ஒரே ஒரு மொத்தத்தையே கட்டாயம் கொண்டிருக்க வேண்டும் என்பதைக் குறிப்பிடுகிறது. திரட்டுதலின் மொத்தம் எதன் மடங்குகளிலும் இருக்கலாம். உலகப்பூர்வமான மொத்த-பகுதி உறவுமுறைகளை விளக்க கூட்டமைவு முறையைப் பயன்படுத்தலாம். எ.கா., an engine is part of a car (ஒரு எஞ்சின் காரின் ஒரு பகுதி) என்பது சரியாக ஒரு கூட்டமைவு உறவுமுறையாகும். ஆனாலும், ஒரு மென்பொருள் அல்லது தரவுத்தள உறவுமுறையைக் குறிப்பிட திரட்டுதல் உறவுமுறையே சிறந்ததாகும். எடுத்துக்காட்டாக, car model engine ENG01 is part of a car model CM01 (கார் மாடல் எஞ்சின் ENG01 என்பது CM01 கார் மாடலின் ஒரு பகுதியாகும்), ஏனெனில் ENG01 என்பது வேறு கார் மாடலின் பகுதியாகவும் இருக்கக்கூடும். எனவே திரட்டுதல் உறவுமுறையானது, பொதுவாக "கேட்டலாக்" அமைப்பு என்றும், கூட்டமைவு "இயல்முறை" அமைப்பு என்றும் குறிப்பிடப்படுகின்றன.
கேள்வி: வகுப்பு வரைபடம் - பொதுமைப்படுத்தல் பற்றி நீங்கள் என்ன அறிந்துள்ளீர்கள்?
பதில்: படிமம்:KP-UML-Generalization-20060325.svg தொடர்புடைய இரண்டு கிளாஸ்களில் ஒன்று (''துணைவகை'' ) மற்றொன்றின் (''சூப்பர்வகை'' ) சிறப்பு வடிவமாக கருதப்படுகிறது, மேலும் சூப்பர்வகையானது துணைவகையின் பொதுமைப்படுத்தல்''  ' ஆக கருதப்படுகிறது. நடைமுறையில், துணைவகையின் எந்தவொரு நேர்வும் சூப்பர்வகையின் ஒரு நேர்வாகவும் இருக்கும் என்றாகிறது. இந்தவகை பொதுமைப்படுத்தலின் ஒரு எடுத்துக்காட்டை உயிரி அட்டவணையில் காணலாம்: மனிதர்கள், சிமியன் என்பதன் துணை வகையாவார்கள், அதுவும் பாலூட்டின் துணை வகையாகும். இந்த உறவுமுறையை, A என்பது B ஆகும் என்ற வாக்கியத்திலிருந்து எளிதில் புரிந்து கொள்ளலாம் (ஒரு மனிதன் ஒரு பாலூட்டியாவான், ஒரு பாலூட்டி ஒரு விலங்காகும்). ஒன்று அல்லது அதற்கு மேற்பட்ட துணை வகைகளை இணைக்கும் கோட்டின் ஒரு சூப்பர் வகை முனையில் ஒரு நிரப்பப்படாத முக்கோணம் வடிவமே பொதுமைப்படுத்தலுக்கான UML வரைபட வெளிப்பாடாகும். பொதுமைப்படுத்தல் உறவுமுறையானது ''மரபுவழி அடைதல் (கணினி அறிவியல்)'' அல்லது ''"is a (என்பது)"'' உறவுமுறை என்றும் கூறப்படுகிறது. பொதுமைப்படுத்தல் உறவுமுறைகளில் உள்ள ''சூப்பர்வகை'' ''"parent"'' , ''சூப்பர்கிளாஸ்'' , ''அடிப்படை கிளாஸ்'' அல்லது ''அடிப்படை வகை'' என்றும் வழங்கப்படுகிறது. பொதுமைப்படுத்தல் உறவுமுறைகளில் உள்ள ''துணை வகை'' ''"child"'' , ''derived class'' , ''derived type'' , ''inheriting class'' அல்லது ''inheriting type'' என்றும் கூறப்படுகிறது. இந்த உறவுமுறையில் குறிப்பிடப்படுபவை உயிரியல் ரீதியான parent/child உறவுமுறையுடன் எவ்வகையிலும் தொடர்புடையவை அல்ல: இந்த சொற்களைப் பயன்படுத்துவது மிகவும் பொதுவானது, ஆனால் தவறாக புரிந்து கொள்ளப்படக்கூடியது. * பொதுமைப்படுத்தல்-சிறப்புப்படுத்தல் உறவுமுறை :A is a type of B(A என்பது B இன் ஒரு வகை) ::எ.கா. "an oak is a type of tree (ஓக் ஒரு வகை மரம்)", "an automobile is a type of vehicle(தானியங்கி என்பது ஒருவகை வண்டி)" பொதுமைப்படுத்தலை கிளாஸ் வரைபடங்கள் மற்றும் பயன் நிலை வரைபடம் ஆகியவை மூலம் மட்டுமே காண்பிக்க முடியும்.
கேள்வி: வகுப்பு வரைபடம் - ஏற்றுக்கொள்ளுதல் (Realization) பற்றி நீங்கள் என்ன அறிந்துள்ளீர்கள்?
பதில்: UML இல், ஏற்றுக்கொள்ளுதல் உறவுமுறை என்பது, இரு மாதிரி கூறுகளுக்கு இடையே உள்ள உறவுமுறையாகும், இதில் ஒரு மாதிரி கூறு (கிளையண்ட்) மற்றொரு மாதிரி கூறின் (வழங்குநர்) நடத்தையை ஏற்றுக்கொள்கிறது. ஒரு ஏற்றுக்கொள்ளுதல் உறவுமுறையானது, இடைவெளியிட்ட கோடும் வழங்குநரை நோக்கி நிரப்பப்படாத அம்புமுனையையும் கொண்டது. ஏற்றுக்கொள்ளுதல் உறவுமுறையை கிளாஸ் அல்லது பொருள் வரைபடங்களில் மட்டுமே காண்பிக்க முடியும். கிளாஸ்கள், இடைமுகங்கள், பொருள்கள் மற்றும் தொகுப்புகள் போன்ற கிளையண்ட் கூறை வழங்குநர் கூறுடன் இணைப்பவை தொடர்பான ஏற்றுக்கொள்ளுதல் உறவுமுறையே ஏற்றுக்கொள்ளுதலாகும். கிளாஸ்கள் மற்றும் இடைமுகங்கள் மற்றும் பொருள்களுக்கு இடையே மற்றும் இடைமுகங்கள் ஆகியவற்றுக்கு இடையேயான ஏற்றுக்கொள்ளுதல் உறவுமுறையானது கிளாஸ் இடைமுகத்தின் செயல்பாடுகளை ஏற்றுக்கொள்கிறது என்பதைக் காண்பிக்கிறது.
கேள்வி: வகுப்பு வரைபடம் - பொது உறவுமுறை குறித்து விரிவாக சொல்லுங்கள்.
பதில்: படிமம்:Class Dependency.png
கேள்வி: வகுப்பு வரைபடம் - பன்மைத்தன்மை (Multiplicity) பற்றி தகவல் சொல்.
பதில்: தொடர்புடைய இரண்டு கிளாஸ்களில் (குறைந்தபட்சம்) ஒன்றாவது மற்றொன்றை குறிப்பிடுகிறது என்று சேர்க்கை உறவுமுறையானது காட்டுகிறது. ஆனால், பொதுமைப்படுத்தல் உறவுமுறையில், இது பின்வரும் வாக்கியத்தின் மூலம் எளிதாக புரிந்து கொள்ளப்படுகிறது 'A has a B' ('A க்கு B உண்டு') (ஒரு தாய் பூனையிடம் குட்டிகள் உண்டு, குட்டி பூனைகளிடம் தாய் பூனை உண்டு). ஒரு சேர்க்கையின் UML வெளிப்பாடு என்பது ஆப்ஜெக்ட்(களின்) ரோலை விளக்கும், தேவைக்கேற்ற அம்புமுனையுடன் கூடிய ஒரு கோடு. மற்றும் ஒரு உறுப்பின் நேர்வுகளின் பன்மைத்தன்மையை (சேர்க்கையில் பங்கேற்கும் ஆப்ஜெக்ட்களின் எண்ணிக்கை) சுட்டும் தேவைக்கேற்றை குறிப்புகள் ஒவ்வொரு முனையிலும். பொதுவான பன்மைத்தன்மைகளாவன:... {| class="wikitable" | align="center"| 0..1 | நேர்வுகள் இல்லை அல்லத் ஒரு நேர்வு (விரும்பினால், ஒருவேளை) |- | align="center"| 1 | சரியாக ஒரு நேர்வு |- | align="center"|0..* அல்லது * | பூஜ்ஜியம் அல்லது அதிகமான நேர்வுகள் |- | align="center"| 1.. * | ஒன்று அல்லது அதற்கு மேற்பட்ட நேர்வுகள் (குறைந்தது ஒன்று) |}
கேள்வி: வகுப்பு வரைபடம் - ஆய்வு மரபுகள் பற்றி தகவல் சொல்.
பதில்: திட்டப்பணியின் தொடக்க காலத்தில், கிளாஸ் வரைபடங்கள் மூலம் ஒரு முறைமையின் ஆரம்பநிலை கருத்தியல் மாதிரிகளை உருவாக்கலாம். இந்த நிலையில் கிளாஸ்கள் சில எல்லைகள், கட்டுப்பாடுகள் மற்றும் உறுப்புகளாகவே இருக்கும், அரிதாக சில நேரங்களில் வடிவமைப்பு வரையிலும் கூட அதிக மாற்றமின்றி கொண்டு செல்லப்படும்.
கேள்வி: வகுப்பு வரைபடம் - எல்லைகள் பற்றி விளக்கவும்.
பதில்: எல்லை கிளாஸ்கள் செயல்படுநர்கள் மற்றும் முறைமையின் அக உறுப்புகள் ஆகியவற்றுக்கு இடையே தொடர்பைக் கையாளும். அவை பயனர் இடைமுகங்கள், முறைமை இடைமுகங்கள் அல்லது சாதன இடைமுகங்களாக (எடுத்துக்காட்டுக்காக) இருக்கக்கூடும். முறைமையின் பயன்நிலை வரைபடத்தில் அவை பொதுவாக செயல்படுநர்-பயன் என்ற இணைகளாக காண்பிக்கப்படும். அவை ஒரு வட்டத்துடன் இடதுபுறத்தில் செங்குத்துக்கோட்டுடன் இணையும் சிறு கோட்டுடன் காணப்படும் (பயன்நிலை முறைமை எல்லையுடன் இணைக்கப்பட்டதாக கருதப்படும்). மாற்றாக, இவை சாதாரண கிளாஸாகவும் அதனுடன் «boundary» மரபு குறியீட்டை கிளாஸ் பெயருக்கு மேலே கொண்டதாகவும் குறிக்கலாம்.
கேள்வி: வகுப்பு வரைபடம் - உறுப்புகள் (Entities) குறித்து விரிவாக சொல்லுங்கள்.
பதில்: முறைமையால் கையாளப்படும் தகவல்களைக் காண்பிக்க உறுப்பு கிளாஸ்கள் பயன்படுத்தப்படுகின்றன. சில நேரங்களில் இவை தகவல்களுடன் இணைந்த நடத்தையையும் குறிக்க பயன்படும். அவற்றை தரவுத்தள அட்டவணைகளாக அல்லது பிற தரவு மூலங்களாக கருதக்கூடாதுs. ஒரு வட்டத்தின் முழு அகலத்துக்கும் பரவியுள்ள கிடைமட்டக்கோட்டின் மேல் வட்டம் இருப்பதாக இது வரையப்படுகிறது. மாற்றாக, இவை சாதாரண கிளாஸாகவும் அதனுடன் «entity» மரபு குறியீட்டை கிளாஸ் பெயருக்கு மேலே கொண்டதாகவும் குறிக்கலாம்.
கேள்வி: வகுப்பு வரைபடம் - கட்டுப்பாடுகள் என்பது என்ன?
பதில்: பயன்நிலை மற்றும் அதனால் சீரமைப்பு கிளாஸ்கள் ஆகியவற்றுக்கான கட்டுப்பாட்டு போக்கைக் கட்டுப்பாட்டு கிளாஸ்கள் கையாள்கின்றன. பயன் நிலையில் உள்ள அனைத்தையும் இவை செய்வதில்லை, ஆனால் இவற்றுக்கு பணி செய்யக் கூடிய பிற கிளாஸ்களை இவை ஒருங்கிணைக்கும். அவை, ஒரு வட்டம் மற்றும் அதன் இடதுபுறத்தைச் சுட்டும் ஒரு அம்புக்குறி ஆகியவை இணைந்ததாக வரையப்படுகின்றன. மாற்றாக, இவை சாதாரண கிளாஸாகவும் அதனுடன் «control» மரபு குறியீட்டை கிளாஸ் பெயருக்கு மேலே கொண்டதாகவும் குறிக்கலாம்.
கேள்வி: வகுப்பு வரைபடம் - இதையும் பாருங்கள் குறித்து விரிவாக சொல்லுங்கள்.
பதில்: * இயக்கக்கூடிய UML * UML கருவிகளின் பட்டியல் ;தொடர்புடைய படங்கள் * டொமைன் மாதிரி * உறுப்பு-தொடர்பு மாதிரி * ஆப்ஜெக்ட் வரைபடம்