CodeGym /జావా బ్లాగ్ /యాదృచ్ఛికంగా /UML క్లాస్ రేఖాచిత్రం
John Squirrels
స్థాయి
San Francisco

UML క్లాస్ రేఖాచిత్రం

సమూహంలో ప్రచురించబడింది

పరిచయం

"రెండుసార్లు కొలవండి, ఒకసారి కత్తిరించండి" అనే సామెత అందరూ విన్నారని నేను అనుకుంటున్నాను. ప్రోగ్రామింగ్‌లో ఇది నిజమైన సలహా. మీరు దానిని అమలు చేయడానికి సమయాన్ని వెచ్చించే ముందు దాని అమలు గురించి ఆలోచించడం ఎల్లప్పుడూ మంచిది. అమలు సమయంలో, మీరు తరచుగా తరగతులను సృష్టించాలి మరియు వారు ఎలా పరస్పర చర్య చేస్తారో ఆలోచించాలి. వీటన్నింటి యొక్క దృశ్యమాన ప్రాతినిధ్యం తరచుగా మీకు సరైన పరిష్కారాన్ని అందించడంలో సహాయపడుతుంది. ఇక్కడే UML క్లాస్ రేఖాచిత్రం మా సహాయానికి వస్తుంది.

UML అంటే ఏమిటి?

మీరు శోధన ఇంజిన్‌లలో సంబంధిత చిత్రాలను చూస్తే, UMLకి రేఖాచిత్రాలు, బాణాలు మరియు చతురస్రాలతో ఏదైనా సంబంధం ఉందని మీరు చూస్తారు. UML అంటే ఏకీకృత మోడలింగ్ లాంగ్వేజ్ అని మీరు తెలుసుకోవాలి. యూనిఫైడ్ అనేది ఇక్కడ ముఖ్యమైన పదం. అంటే మన చిత్రాలు మనకే కాదు, UML గురించి తెలిసిన ఎవరికైనా అర్థం అవుతాయి. రేఖాచిత్రాలను గీయడానికి ఇది భాషా పదం.

వికీపీడియా ప్రకారం,

"UML అనేది సాఫ్ట్‌వేర్ ఇంజనీరింగ్ రంగంలో సాధారణ-ప్రయోజన, అభివృద్ధి, మోడలింగ్ భాష, ఇది సిస్టమ్ రూపకల్పనను దృశ్యమానం చేయడానికి ప్రామాణిక మార్గాన్ని అందించడానికి ఉద్దేశించబడింది."
అందరూ ఊహించని అత్యంత ఆసక్తికరమైన విషయం ఏమిటంటే, UML స్పెసిఫికేషన్‌లను కలిగి ఉంది. మరియు UML 2 స్పెసిఫికేషన్ కూడా ఉంది. ఆబ్జెక్ట్ మేనేజ్‌మెంట్ గ్రూప్ వెబ్‌సైట్‌లో స్పెసిఫికేషన్‌పై మరింత సమాచారం అందుబాటులో ఉంది . వాస్తవానికి, ఈ సమూహం UML స్పెసిఫికేషన్‌లను అభివృద్ధి చేస్తుంది. UML తరగతుల నిర్మాణాన్ని వివరించడానికి మాత్రమే పరిమితం కాకపోవడం కూడా ఆసక్తికరంగా ఉంది. అనేక రకాల UML రేఖాచిత్రాలు ఉన్నాయి. వికీపీడియాలో వివిధ రకాల UML రేఖాచిత్రాల సంక్షిప్త వివరణ ఉంది: UML రేఖాచిత్రాలు . UML తరగతి రేఖాచిత్రాలకు తిరిగి వెళితే, "హెడ్ ఫస్ట్ డిజైన్ ప్యాటర్న్స్" పుస్తకాన్ని ప్రస్తావించడం విలువైనదే , డిజైన్ నమూనాలను వివరించడానికి UML రేఖాచిత్రాలను ఉపయోగిస్తుంది. బాటమ్ లైన్ ఏమిటంటే UML నిజంగా ఉపయోగించబడింది. మరియు దానిని తెలుసుకోవడం మరియు ఎలా ఉపయోగించాలో అర్థం చేసుకోవడం చాలా ఉపయోగకరంగా ఉంటుందని తేలింది.

అప్లికేషన్

మేము IDEలో UMLతో పని చేయవచ్చని గుర్తించండి. మేము IntelliJ IDEAని మా IDEగా ఉపయోగిస్తాము. మీరు IntelliJ IDEA అల్టిమేట్‌ని ఉపయోగిస్తుంటే, మేము "UML సపోర్ట్" ప్లగ్ఇన్‌ని "అవుట్ ఆఫ్ ది బాక్స్" ఇన్‌స్టాల్ చేస్తాము. ఇది అందమైన క్లాస్ రేఖాచిత్రాలను స్వయంచాలకంగా రూపొందించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఉదాహరణకు, అర్రేలిస్ట్ క్లాస్‌కి వెళ్లడానికి Ctrl+N లేదా "నావిగేట్" -> "క్లాస్" మెను ఐటెమ్‌ని ఉపయోగించండి. ఇప్పుడు తరగతి పేరు యొక్క సందర్భ మెనులో, "రేఖాచిత్రం" -> "రేఖాచిత్రం పాప్అప్ చూపు" ఎంచుకోండి. ఫలితంగా, మేము అందమైన రేఖాచిత్రాన్ని పొందుతాము. UML: సిద్ధాంతం నుండి అభ్యాసం వరకు - 2 కానీ మీరే రేఖాచిత్రాన్ని గీయాలనుకుంటే? మరియు మీకు అల్టిమేట్ వెర్షన్ లేకపోతే ఏమి చేయాలి? IntelliJ IDEA కమ్యూనిటీ ఎడిషన్‌ని ఉపయోగించి, మాకు వేరే ఎంపిక లేదు. కాబట్టి UML రేఖాచిత్రం ఎలా నిర్వహించబడుతుందో మనం అర్థం చేసుకోవాలి. ప్రధమ,. ఇది గ్రాఫ్ విజువలైజేషన్ సాధనాల సమితి. మేము ఉపయోగించే ప్లగ్ఇన్ దానిపై ఆధారపడి ఉంటుంది. ఇన్‌స్టాలేషన్ తర్వాత, మీరు గ్రాఫ్విజ్ ఇన్‌స్టాలేషన్ డైరెక్టరీ నుండి PATH ఎన్విరాన్‌మెంట్ వేరియబుల్‌కు బిన్ డైరెక్టరీని జోడించాలి. ఆ తర్వాత, IntelliJ IDEAలో, మెనులో ఫైల్ -> సెట్టింగ్‌లను ఎంచుకోండి. "సెట్టింగ్‌లు" విండోలో, "ప్లగిన్‌లు" వర్గాన్ని ఎంచుకుని, "బ్రౌజ్ రిపోజిటరీలు" బటన్‌ను క్లిక్ చేసి, PlantUML ఇంటిగ్రేషన్ ప్లగిన్‌ను ఇన్‌స్టాల్ చేయండి. PlantUML గురించి అంత మంచిది ఏమిటి? ఇది "డాట్" అనే గ్రాఫ్ వివరణ భాషను ఉపయోగించి UMLని వివరిస్తుంది, ఇది మరింత విశ్వవ్యాప్తం చేస్తుంది, ఎందుకంటే డాట్ భాష కేవలం PlantUML కంటే ఎక్కువగా ఉపయోగించబడుతుంది. ఇంకా ఏమిటంటే, మనం క్రింద చేసే ప్రతి పనిని IDEలో మాత్రమే కాకుండా, planttext.com లో ఆన్‌లైన్‌లో కూడా చేయవచ్చు. PlantUML ప్లగిన్‌ను ఇన్‌స్టాల్ చేసిన తర్వాత, మేము "ఫైల్" -> "కొత్తది" ఉపయోగించి UML రేఖాచిత్రాలను సృష్టించగలుగుతాము. "UML క్లాస్" రేఖాచిత్రాన్ని క్రియేట్ చేద్దాం. ఇది ఒక ఉదాహరణతో స్వయంచాలకంగా టెంప్లేట్‌ను రూపొందిస్తుంది. మేము దాని కంటెంట్‌లను తొలగిస్తాము మరియు మా స్వంత వాటిని జోడిస్తాము. దీన్ని టెక్స్ట్‌లో ఎలా సూచించాలో అర్థం చేసుకోవడానికి, PlantUML మాన్యువల్‌ని పరిశీలించండి: plantuml class-diagram. UML: సిద్ధాంతం నుండి అభ్యాసం వరకు - 3ఈ పదార్థాలపై ఆధారపడి, మా UML రేఖాచిత్రాన్ని రూపొందించడం ప్రారంభించండి. రెండు తరగతులను వివరించే కింది కంటెంట్‌ను జోడించండి:

@startuml
class ArrayList {
}
class LinkedList {
}
@enduml
IDEAలో ఫలితాన్ని చూడటానికి, "View" -> "Tool Windows" -> "PlantUML"ని ఎంచుకోండి. మేము తరగతులను సూచించే రెండు చతురస్రాలను పొందుతాము. ఈ రెండు తరగతులు జాబితా ఇంటర్‌ఫేస్‌ను అమలు చేస్తున్నాయని మాకు తెలుసు . ఈ వర్గ సంబంధాన్ని రియలైజేషన్ అంటారు. చుక్కల రేఖతో బాణం ఉపయోగించి ఈ సంబంధం సూచించబడుతుంది. దానిని గీయండి:

interface List
List <|.. ArrayList
List <|.. LinkedList
సేకరణ తరగతి పిల్లలలో జాబితా ఒకటి . అంటే, ఇది సేకరణను వారసత్వంగా పొందుతుంది . ఈ సంబంధాన్ని సాధారణీకరణ అంటారు. ఇది సాధారణ నిరంతర రేఖతో బాణంలా ​​కనిపిస్తుంది. దానిని గీయండి:

interface Collection
Collection <|-- List
తదుపరి రకం సంబంధం కోసం, శ్రేణి జాబితా తరగతి వివరణకు ప్యాకేజీ ప్రైవేట్ శ్రేణి మూలకాల గురించిన ఎంట్రీని జోడించండి:

~Object[] elementData
ఇప్పుడు మనం అర్రేలిస్ట్‌లో కొన్ని వస్తువులు ఉన్నాయని చూపించాలనుకుంటున్నాము . ఈ సందర్భంలో, అగ్రిగేషన్ సంబంధం ఉంటుంది. అర్రేలిస్ట్ఇది ఇతర వస్తువులను కలిగి ఉన్నందున మొత్తంగా ఉంటుంది. జాబితా యొక్క వస్తువులు జాబితా లేకుండానే ఉండగలవు కాబట్టి మేము అగ్రిగేషన్ అని చెప్పాము: అవి జాబితాలో అంతర్భాగాలు కావు. వారి జీవితకాలం జాబితా జీవితకాలంతో ముడిపడి లేదు. "మొత్తం" అనే పదం లాటిన్ నుండి మనకు వచ్చింది మరియు "సమావేశం" అని అనువదిస్తుంది, అంటే ఏదో ఒకదానితో రూపొందించబడింది. ఉదాహరణకు, జీవితంలో, మనకు పంప్ అసెంబ్లీ (మొత్తం) ఉంది, ఇందులో పంప్ మరియు మోటారు ఉంటుంది. అసెంబ్లీని విడదీయవచ్చు మరియు దానిలోని కొన్ని భాగాలను మనం ఒంటరిగా వదిలివేయవచ్చు. ఉదాహరణకు, విక్రయించడానికి లేదా మరొక అసెంబ్లీలో ఉంచడానికి. జాబితాలో అదే విధంగా ఉంది. ఇది మొత్తం మరియు నిరంతర రేఖ వద్ద ఖాళీ రాంబస్‌తో వ్యక్తీకరించబడుతుంది. మేము దీన్ని ఈ క్రింది విధంగా సూచిస్తాము:

class Object{
}
ArrayList o- Object
ఇప్పుడు మేము ArrayList వలె కాకుండా , లింక్డ్‌లిస్ట్ క్లాస్‌లో Node s — నిల్వ చేయబడిన డేటాను సూచించే కంటైనర్‌లు ఉన్నాయని చూపాలనుకుంటున్నాము . ఈ సందర్భంలో, నోడ్ లు లింక్డ్‌లిస్ట్‌లో భాగం మరియు స్వతంత్ర ఉనికిని కలిగి ఉండవు. నోడ్ అనేది కంటెంట్ కాదు. ఇది కంటెంట్‌కు సంబంధించిన సూచనను మాత్రమే కలిగి ఉంది. ఉదాహరణకు, మేము లింక్డ్‌లిస్ట్‌కి స్ట్రింగ్‌ను జోడించినప్పుడు, స్ట్రింగ్‌కు సూచనను కలిగి ఉన్న కొత్త నోడ్‌ని అలాగే మునుపటి మరియు తదుపరి నోడ్‌కి లింక్‌ను జోడిస్తున్నాము.. ఈ సంబంధాన్ని కూర్పు అంటారు. ఇది కంపోజిట్‌పై నిండిన రాంబస్‌తో నిరంతర రేఖను గీయడం ద్వారా వర్ణించబడింది (ఏదో రాజ్యాంగ భాగాలతో తయారు చేయబడింది). ఇప్పుడు మేము సంబంధాన్ని వచనంగా సూచిస్తాము:

class Node{
}
LinkedList *-- Node
మరియు ఇప్పుడు మీరు మరొక ముఖ్యమైన రకమైన సంబంధాన్ని ఎలా చిత్రీకరించాలో నేర్చుకోవాలి: ఆధారపడటం. ఒక తరగతి మరొక తరగతిని ఉపయోగించినప్పుడు ఇది ఉపయోగించబడుతుంది, కానీ తరగతి ఉపయోగించిన తరగతిని కలిగి ఉండదు లేదా వారసత్వంగా పొందదు. ఉదాహరణకు, లిస్ట్‌ఇటరేటర్‌ను ఎలా సృష్టించాలో లింక్డ్‌లిస్ట్ మరియు అర్రేలిస్ట్‌లకు తెలుసు . మేము దీనిని చుక్కల రేఖతో బాణాలుగా సూచిస్తాము:

class ListIterator
ListIterator <... ArrayList : create
ListIterator <... LinkedList : create
ఇవన్నీ చేసిన తర్వాత, మనకు లభిస్తుంది: UML: సిద్ధాంతం నుండి అభ్యాసం వరకు - 4మీరు అవసరమైనంత వివరాలను జోడించవచ్చు. వాస్తవానికి, అటువంటి రేఖాచిత్రాన్ని గీయడంలో అతీంద్రియ ఏమీ లేదు. మీ స్వంత పనులపై పని చేస్తున్నప్పుడు, మీరు దానిని చేతితో త్వరగా గీయవచ్చు. ఇది మీరు అప్లికేషన్ యొక్క నిర్మాణం గురించి ఆలోచించే సామర్థ్యాన్ని అభివృద్ధి చేయడంలో మరియు తరగతి నిర్మాణంలో లోపాలను ముందుగానే గుర్తించడంలో మీకు సహాయం చేస్తుంది, మీరు తప్పు మోడల్‌ని అమలు చేయడంలో రోజంతా గడిపిన తర్వాత కాదు. దీన్ని ప్రయత్నించడానికి ఇది మంచి కారణం అనిపిస్తుంది, కాదా? :)

ఆటోమేషన్

PlantUML రేఖాచిత్రాలను స్వయంచాలకంగా రూపొందించడానికి వివిధ మార్గాలు ఉన్నాయి. ఉదాహరణకు, IDEA SketchIT ప్లగిన్‌ని కలిగి ఉంది, కానీ ఇది రేఖాచిత్రాలను పూర్తిగా సరిగ్గా గీయదు. ఇంటర్‌ఫేస్‌ల అమలు తప్పుగా డ్రా చేయబడిందని అనుకుందాం (ఇది వారసత్వంగా ప్రదర్శించబడుతుంది). మీ ప్రాజెక్ట్ బిల్డ్ ప్రాసెస్‌లో దీన్ని ఎలా ఇంటిగ్రేట్ చేయాలో ఇంటర్నెట్‌లో ఉదాహరణలు ఉన్నాయి. ఉదాహరణకు, మీరు మావెన్‌తో uml-java-dockletని ఎలా ఉపయోగించాలో కనుగొనవచ్చు . ప్రదర్శించడానికి, మేము మావెన్ ప్రాజెక్ట్‌ను త్వరగా సృష్టించడానికి మావెన్ ఆర్కిటైప్‌ని ఉపయోగిస్తాము. పరుగు

mvn archetype:generate
సంఖ్యను ఎంచుకోండి లేదా ఫిల్టర్‌ని వర్తింపజేయడానికి ప్రతిస్పందనగా, డిఫాల్ట్‌ను వదిలివేయండి — కేవలం ఎంటర్ నొక్కండి. ఇది ఎల్లప్పుడూ "మావెన్-ఆర్కిటైప్-క్విక్‌స్టార్ట్"గా ఉంటుంది. తాజా సంస్కరణను ఎంచుకోండి. తర్వాత, మేము కొన్ని ప్రశ్నలకు సమాధానమిచ్చి, ప్రాజెక్ట్‌ను రూపొందించడాన్ని పూర్తి చేస్తాము: UML: సిద్ధాంతం నుండి అభ్యాసం వరకు - 5మావెన్ ఈ కథనం యొక్క అంశం కాదు, కాబట్టి మీరు మావెన్ వినియోగదారుల కేంద్రంలో మావెన్ గురించిన మీ ప్రశ్నలకు సమాధానాలను కనుగొనవచ్చు . రూపొందించబడిన ప్రాజెక్ట్‌లో, సవరణ కోసం ప్రాజెక్ట్ వివరణ ఫైల్, pom.xmlని తెరవండి. మేము uml-java-docklet ఇన్‌స్టాల్ చేసే వివరణ నుండి కంటెంట్‌లను ఈ ఫైల్‌కి కాపీ చేస్తాము. వివరణలో ఉపయోగించిన కళాఖండం మావెన్ సెంట్రల్ రిపోజిటరీలో కనుగొనబడలేదు. కానీ కిందివి నాకు పనిచేశాయి: https://mvnrepository.com/artifact/com.chfourie/uml-java-doclet/1.0.0. మరో మాటలో చెప్పాలంటే, వివరణలో మీరు groupIdని "info.leadinglight" నుండి "com.chfourie"కి భర్తీ చేయాలి మరియు సంస్కరణను "1.0.0"కి సెట్ చేయాలి. ఆ తర్వాత, మనం pom.xml ఫైల్‌తో డైరెక్టరీలో కింది ఆదేశాలను అమలు చేయవచ్చు:

mvn clean install
మరియు

mvn javadoc: javadoc
మనం ఇప్పుడు రూపొందించిన డాక్యుమెంటేషన్‌ను (ఎక్స్‌ప్లోరర్ టార్గెట్\సైట్\apidocs\index.html) తెరిస్తే, మనకు UML రేఖాచిత్రాలు కనిపిస్తాయి. మార్గం ద్వారా, అమలు సంబంధం ఇప్పుడు సరిగ్గా ప్రదర్శించబడుతుంది :)

ముగింపు

మీరు చూడగలిగినట్లుగా, UML మీ అప్లికేషన్ యొక్క నిర్మాణాన్ని దృశ్యమానం చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. కానీ UML చాలా ఎక్కువ చేయగలదు. మీరు మీ కంపెనీలోని వివిధ ప్రక్రియలను వివరించడానికి లేదా మీరు వ్రాస్తున్న పనిని కలిగి ఉన్న వ్యాపార ప్రక్రియను వివరించడానికి UMLని ఉపయోగించవచ్చు. UML మీకు వ్యక్తిగతంగా ఎంత ఉపయోగకరంగా ఉందో మీరే నిర్ణయించుకోవాలి, కానీ మీరు ఏ నిర్ణయం తీసుకున్నా, దాని గురించి మరింత తెలుసుకోవడానికి సమయాన్ని కనుగొనడం సహాయకరంగా ఉంటుంది.
వ్యాఖ్యలు
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION