ഏത് തരത്തിലുള്ള UML ഡയഗ്രമാണ് പ്രവർത്തനങ്ങൾ? UML ഭാഷയുടെ പൊതു സവിശേഷതകൾ. എന്താണ് UML

കുട്ടിക്കാലത്ത് എല്ലാവരും കേട്ടിട്ടുണ്ടെന്ന് ഞാൻ കരുതുന്നു " ഏഴ് തവണ അളക്കുക, ഒരിക്കൽ മുറിക്കുക". പ്രോഗ്രാമിംഗിലും ഇതുതന്നെയാണ്. നിർവ്വഹിക്കുന്നതിന് സമയം ചെലവഴിക്കുന്നതിന് മുമ്പ് നിർവ്വഹണത്തെക്കുറിച്ച് ചിന്തിക്കുന്നതാണ് നല്ലത്. ഇത് നടപ്പിലാക്കുമ്പോൾ, നിങ്ങൾ പലപ്പോഴും ക്ലാസുകൾ സൃഷ്ടിക്കുകയും അവയുടെ ഇടപെടലുമായി വരുകയും വേണം. പലപ്പോഴും ഇതിന്റെ ദൃശ്യാവിഷ്കാരം സഹായിക്കും. ഏറ്റവും ശരിയായ രീതിയിൽ പ്രശ്നം പരിഹരിക്കുക. ഇവിടെയാണ് ഞങ്ങൾ സഹായിക്കുന്നത് യു.എം.എൽ.

എന്താണ് UML?

സെർച്ച് എഞ്ചിനുകളിലെ ചിത്രങ്ങൾ നോക്കിയാൽ അത് വ്യക്തമാകും യു.എം.എൽ- ഇത് ഡയഗ്രമുകൾ, അമ്പുകൾ, ചതുരങ്ങൾ എന്നിവയെ കുറിച്ചുള്ള കാര്യമാണ്. UML എന്ന് വിവർത്തനം ചെയ്യുന്നു എന്നതാണ് പ്രധാനം ഏകീകൃത മോഡലിംഗ് ഭാഷ. ഏകീകൃത വാക്ക് ഇവിടെ പ്രധാനമാണ്. അതായത്, നമ്മുടെ ചിത്രങ്ങൾ നമുക്ക് മാത്രമല്ല, UML അറിയാവുന്ന മറ്റുള്ളവർക്കും മനസ്സിലാകും. ഡയഗ്രമുകൾ വരയ്ക്കുന്നതിനുള്ള ഒരു അന്താരാഷ്ട്ര ഭാഷയാണിതെന്ന് ഇത് മാറുന്നു.

വിക്കിപീഡിയ പറയുന്നത് പോലെ

സോഫ്‌റ്റ്‌വെയർ വികസനം, ബിസിനസ് പ്രോസസ് മോഡലിംഗ്, സിസ്റ്റം ഡിസൈൻ, ഓർഗനൈസേഷണൽ ഘടനകൾ പ്രദർശിപ്പിക്കൽ എന്നിവയിൽ ഒബ്‌ജക്റ്റ് മോഡലിംഗ് ചെയ്യുന്നതിനുള്ള ഒരു ഗ്രാഫിക്കൽ വിവരണ ഭാഷയാണ് UML.
എല്ലാവരും ചിന്തിക്കുകയോ മനസ്സിലാക്കുകയോ ചെയ്യാത്ത ഏറ്റവും രസകരമായ കാര്യം UML ന് സ്പെസിഫിക്കേഷനുകൾ ഉണ്ട് എന്നതാണ്. കൂടാതെ, ഒരു UML2 സ്പെസിഫിക്കേഷൻ പോലും ഉണ്ട്. സ്പെസിഫിക്കേഷനെക്കുറിച്ചുള്ള കൂടുതൽ വിശദാംശങ്ങൾ ഒബ്ജക്റ്റ് മാനേജ്മെന്റ് ഗ്രൂപ്പ് വെബ്സൈറ്റിൽ കാണാം. യഥാർത്ഥത്തിൽ, ഈ ഗ്രൂപ്പ് UML സ്പെസിഫിക്കേഷനുകൾ വികസിപ്പിക്കുകയാണ്. ക്ലാസുകളുടെ ഘടന വിവരിക്കുന്നതിൽ UML പരിമിതപ്പെടുത്തിയിട്ടില്ല എന്നതും രസകരമാണ്. നിരവധി തരം UML ഡയഗ്രമുകൾ ഉണ്ട്. UML ഡയഗ്രമുകളുടെ തരങ്ങളെക്കുറിച്ചുള്ള ഒരു ഹ്രസ്വ വിവരണം അതേ വിക്കിപീഡിയയിൽ കാണാം: UML - ഡയഗ്രമുകൾ അല്ലെങ്കിൽ തിമൂർ ബാറ്റിർഷിനോവിന്റെ വീഡിയോയിൽ UML ഡയഗ്രമുകളുടെ അവലോകനം. വിവിധ പ്രക്രിയകളെ വിവരിക്കുന്നതിനും UML വ്യാപകമായി ഉപയോഗിക്കുന്നു, ഉദാഹരണത്തിന് ഇവിടെ: JWT ഉപയോഗിച്ച് ഒറ്റ സൈൻ-ഓൺ. UML ക്ലാസ് ഡയഗ്രമുകളുടെ ഉപയോഗത്തിലേക്ക് മടങ്ങുമ്പോൾ, ഹെഡ് ഫസ്റ്റ്: ഡിസൈൻ പാറ്റേണുകൾ എന്ന പുസ്തകം ശ്രദ്ധിക്കേണ്ടതാണ്, അതിൽ പാറ്റേണുകൾ അതേ UML ഡയഗ്രമുകളാൽ ചിത്രീകരിച്ചിരിക്കുന്നു. UML തീർച്ചയായും ഉപയോഗിക്കപ്പെടുന്നുണ്ടെന്ന് ഇത് മാറുന്നു. അതിന്റെ പ്രയോഗത്തെക്കുറിച്ചുള്ള അറിവും ധാരണയും തികച്ചും ഉപയോഗപ്രദമായ കഴിവാണെന്ന് ഇത് മാറുന്നു.

അപേക്ഷ

IDE-യിൽ നിന്ന് ഇതേ UML ഉപയോഗിച്ച് നിങ്ങൾക്ക് എങ്ങനെ പ്രവർത്തിക്കാമെന്ന് നോക്കാം. നമുക്ക് IDE ആയി എടുക്കാം ഇന്റലിജെ ഐഡിയ. നിങ്ങൾ ഉപയോഗിക്കുകയാണെങ്കിൽ ഇന്റലിജെ ഐഡിയ അൾട്ടിമേറ്റ്, അപ്പോൾ ഞങ്ങൾ പ്ലഗിൻ "ബോക്‌സിന് പുറത്ത്" ഇൻസ്റ്റാൾ ചെയ്യും UML പിന്തുണ". മനോഹരമായ ക്ലാസ് ഡയഗ്രമുകൾ സ്വയമേവ സൃഷ്ടിക്കാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു. ഉദാഹരണത്തിന്, Ctrl+N അല്ലെങ്കിൽ മെനു ഇനം "നാവിഗേറ്റ്" -> "ക്ലാസ്" വഴി ഞങ്ങൾ ക്ലാസിലേക്ക് പോകുന്നു അറേ ലിസ്റ്റ്. ഇപ്പോൾ, ക്ലാസ് നാമത്തിനുള്ള സന്ദർഭ മെനുവിലൂടെ, "ഡയഗ്രം" -> "ഡയഗ്രം പോപ്പ്അപ്പ് കാണിക്കുക" തിരഞ്ഞെടുക്കുക. തൽഫലമായി, ഞങ്ങൾക്ക് മനോഹരമായ ഒരു ഡയഗ്രം ലഭിക്കും:

എന്നാൽ നിങ്ങൾക്കത് സ്വയം വരയ്ക്കണമെങ്കിൽ ഐഡിയയുടെ അൾട്ടിമേറ്റ് പതിപ്പ് പോലും ഇല്ലെങ്കിലോ? നമ്മൾ IntelliJ Idea കമ്മ്യൂണിറ്റി പതിപ്പ് ഉപയോഗിക്കുകയാണെങ്കിൽ, ഞങ്ങൾക്ക് മറ്റ് മാർഗമില്ല. ഇത് ചെയ്യുന്നതിന്, അത്തരമൊരു UML ഡയഗ്രം എങ്ങനെയാണ് രൂപപ്പെടുത്തിയിരിക്കുന്നതെന്ന് നിങ്ങൾ മനസ്സിലാക്കേണ്ടതുണ്ട്. ആദ്യം, ഞങ്ങൾ ഗ്രാഫ്വിസ് ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്. ഗ്രാഫുകൾ ദൃശ്യവൽക്കരിക്കുന്നതിനുള്ള ഒരു കൂട്ടം യൂട്ടിലിറ്റിയാണിത്. ഞങ്ങൾ ഉപയോഗിക്കുന്ന പ്ലഗിൻ ആണ് ഇത് ഉപയോഗിക്കുന്നത്. ഇൻസ്റ്റാളേഷന് ശേഷം നിങ്ങൾ ഒരു ഡയറക്ടറി ചേർക്കേണ്ടതുണ്ട് ബിൻഇൻസ്റ്റാൾ ചെയ്ത ഡയറക്ടറിയിൽ നിന്ന് ഗ്രാഫ്വിസ്പരിസ്ഥിതി വേരിയബിളിലേക്ക് പാത. അതിനുശേഷം, IntelliJ ഐഡിയയിൽ, മെനുവിൽ നിന്ന് ഫയൽ -> ക്രമീകരണങ്ങൾ തിരഞ്ഞെടുക്കുക. "ക്രമീകരണങ്ങൾ" വിൻഡോയിൽ, "പ്ലഗിനുകൾ" വിഭാഗം തിരഞ്ഞെടുക്കുക, "റിപ്പോസിറ്ററികൾ ബ്രൗസ് ചെയ്യുക" ബട്ടൺ ക്ലിക്ക് ചെയ്ത് PlantUML ഇന്റഗ്രേഷൻ പ്ലഗിൻ ഇൻസ്റ്റാൾ ചെയ്യുക. എന്തുകൊണ്ടാണ് ഇത് ഇത്ര മികച്ചത്? പ്ലാന്റ്‌യുഎംഎൽ? ഇത് ഒരു ഗ്രാഫ് വിവരണ ഭാഷ ഉപയോഗിക്കുന്നു " ഡോട്ട്"ഇത് കൂടുതൽ സാർവത്രികമാകാൻ അനുവദിക്കുന്നു, കാരണം ഈ ഭാഷ PlantUML മാത്രമല്ല ഉപയോഗിക്കുന്നത്. മാത്രമല്ല, ഞങ്ങൾ താഴെ ചെയ്യുന്നതെല്ലാം IDE-യിൽ മാത്രമല്ല, ഓൺലൈൻ സേവനമായ planttext.com-ലും ചെയ്യാൻ കഴിയും. PlantUML ഇൻസ്റ്റാൾ ചെയ്തതിന് ശേഷം പ്ലഗിൻ, "ഫയൽ" -> "പുതിയത്" വഴി നമുക്ക് UML ഡയഗ്രമുകൾ സൃഷ്‌ടിക്കാൻ കഴിയും. "UML ക്ലാസ്" തരത്തിന്റെ ഒരു ഡയഗ്രം സൃഷ്‌ടിക്കാം. ഈ സമയത്ത്, ഒരു ഉദാഹരണമുള്ള ഒരു ടെംപ്ലേറ്റ് സ്വയമേവ ജനറേറ്റുചെയ്യും. നമുക്ക് അതിലെ ഉള്ളടക്കങ്ങളും ഇല്ലാതാക്കാം. Habr-ൽ നിന്നുള്ള ഒരു ലേഖനം ഉപയോഗിച്ച് സായുധരായ ഞങ്ങളുടേത് സൃഷ്‌ടിക്കുക: ക്ലാസ് ബന്ധങ്ങൾ - UML മുതൽ കോഡ് വരെ... കൂടാതെ ഇത് എങ്ങനെ വാചകത്തിൽ ചിത്രീകരിക്കാമെന്ന് മനസിലാക്കാൻ, നമുക്ക് PlantUML മാനുവൽ എടുക്കാം: plantuml class-diagram... തുടക്കത്തിൽ തന്നെ അതിൽ അടങ്ങിയിരിക്കുന്നു കണക്ഷനുകൾ എങ്ങനെ വിവരിക്കണമെന്നുള്ള ഒരു പട്ടിക:

നമുക്ക് ഇവിടെ കണക്ഷനുകൾ നോക്കാം: "UML-ലെ ക്ലാസുകൾ തമ്മിലുള്ള ബന്ധങ്ങൾ. ഉദാഹരണങ്ങൾ." ഈ മെറ്റീരിയലുകളെ അടിസ്ഥാനമാക്കി, നമുക്ക് നമ്മുടെ UML ഡയഗ്രം സൃഷ്ടിക്കാൻ തുടങ്ങാം. രണ്ട് ക്ലാസുകളെ വിവരിക്കുന്ന ഇനിപ്പറയുന്ന ഉള്ളടക്കം ചേർക്കാം: @startuml class ArrayList ( ) class LinkedList ( ) @enduml ഐഡിയയിൽ ഫലം കാണുന്നതിന്, "View" -> "Tool Windows" -> "PlantUML" തിരഞ്ഞെടുക്കുക. ക്ലാസുകളെ പ്രതിനിധീകരിക്കുന്ന രണ്ട് സ്ക്വയറുകൾ നമുക്ക് ലഭിക്കും. നമുക്കറിയാവുന്നതുപോലെ, ഈ രണ്ട് ക്ലാസുകളും ലിസ്റ്റ് ഇന്റർഫേസ് നടപ്പിലാക്കുന്നു. ഈ വർഗ്ഗ ബന്ധത്തെ നടപ്പിലാക്കൽ എന്ന് വിളിക്കുന്നു. അത്തരമൊരു കണക്ഷൻ ചിത്രീകരിക്കുന്നതിന്, ഒരു ഡോട്ട് ലൈൻ ഉള്ള ഒരു അമ്പടയാളം ഉപയോഗിക്കുക. നമുക്ക് ഇത് ചിത്രീകരിക്കാം: ഇന്റർഫേസ് ലിസ്റ്റ് ലിസ്റ്റ്< | . . ArrayList List < | . . LinkedList List - один из дочерних классов Collection . То есть он наследуется от Collection. Эта связь называется обобщением (generalization). Выглядит как стрелка с обычной непрерывной линией. Изобразим её: interface Collection Collection < | -- List Для следующего типа связи добавим в описание класса ArrayList запись о പാക്കേജ് സ്വകാര്യമൂലകങ്ങളുടെ നിര: ~ ഒബ്‌ജക്റ്റ് എലമെന്റ് ഡാറ്റ ഇപ്പോൾ അറേ ലിസ്‌റ്റിൽ ചില ഒബ്‌ജക്റ്റുകൾ അടങ്ങിയിട്ടുണ്ടെന്ന് കാണിക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു. ഈ സാഹചര്യത്തിൽ, കണക്ഷൻ തരം ഇതായിരിക്കും - സമാഹരണം(അഗ്രഗേഷൻ). ഈ കേസിലെ ആകെത്തുക ArrayList ആണ്, കാരണം അതിൽ മറ്റ് വസ്തുക്കൾ അടങ്ങിയിരിക്കുന്നു. ലിസ്‌റ്റിലെ ഒബ്‌ജക്‌റ്റുകൾക്ക് ലിസ്‌റ്റ് ഇല്ലാതെ ജീവിക്കാൻ കഴിയുമെന്നതിനാൽ ഞങ്ങൾ അഗ്രഗേഷൻ തിരഞ്ഞെടുക്കുന്നു: അവ അതിന്റെ അവിഭാജ്യ ഘടകമല്ല. അവരുടെ ജീവിതകാലം ലിസ്റ്റിന്റെ ജീവിതകാലവുമായി ബന്ധിപ്പിച്ചിട്ടില്ല. അഗ്രഗേറ്റ് ലാറ്റിനിൽ നിന്ന് "അസംബ്ലിഡ്" എന്ന് വിവർത്തനം ചെയ്യപ്പെടുന്നു, അതായത് എന്തെങ്കിലും കൊണ്ട് നിർമ്മിച്ച ഒന്ന്. ഉദാഹരണത്തിന്, ജീവിതത്തിൽ, ഒരു പമ്പിംഗ് യൂണിറ്റ് ഉണ്ട്, അതിൽ ഒരു പമ്പും മോട്ടോറും ഉൾപ്പെടുന്നു. യൂണിറ്റ് തന്നെ ഡിസ്അസംബ്ലിംഗ് ചെയ്യാം, അതിന്റെ ചില ഘടകങ്ങൾ അവശേഷിക്കുന്നു. ഉദാഹരണത്തിന്, വിൽക്കാൻ അല്ലെങ്കിൽ മറ്റൊരു യൂണിറ്റിൽ ഇടുക. പട്ടികയും അങ്ങനെ തന്നെ. ഇത് യൂണിറ്റിന് സമീപമുള്ള ഒരു ശൂന്യമായ വജ്രത്തിന്റെ രൂപത്തിലും തുടർച്ചയായ വരയിലും പ്രകടിപ്പിക്കുന്നു. നമുക്ക് ഇത് ഇനിപ്പറയുന്ന രീതിയിൽ ചിത്രീകരിക്കാം: ക്ലാസ് ഒബ്‌ജക്റ്റ് ( ) അറേ ലിസ്റ്റ് ഒ- ഒബ്‌ജക്റ്റ്, അറേ ലിസ്‌റ്റിൽ നിന്ന് വ്യത്യസ്തമായി, ലിങ്ക്ഡ്‌ലിസ്റ്റ് ക്ലാസിൽ സംഭരിച്ച ഡാറ്റയെ പരാമർശിക്കുന്ന നോഡ് - കണ്ടെയ്‌നറുകൾ അടങ്ങിയിരിക്കുന്നുവെന്ന് കാണിക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു. ഈ സാഹചര്യത്തിൽ, നോഡുകൾ ലിങ്ക്ഡ്‌ലിസ്റ്റിന്റെ തന്നെ ഭാഗമാണ്, അവ പ്രത്യേകം ജീവിക്കാൻ കഴിയില്ല. നോഡ് നേരിട്ട് ഉള്ളടക്കം സംഭരിക്കുന്നില്ല, പക്ഷേ അതിലേക്കുള്ള ഒരു ലിങ്ക് മാത്രമേ അടങ്ങിയിട്ടുള്ളൂ. ഉദാഹരണത്തിന്, ഞങ്ങൾ ഒരു ലിങ്ക്ഡ്‌ലിസ്റ്റിലേക്ക് ഒരു വരി ചേർക്കുമ്പോൾ, ആ വരിയിലേക്കുള്ള ഒരു ലിങ്കും മുമ്പത്തേതും അടുത്തതുമായ നോഡിലേക്കുള്ള ഒരു ലിങ്കും ഉൾക്കൊള്ളുന്ന ഒരു പുതിയ നോഡ് ഞങ്ങൾ ചേർക്കുന്നു. ഇത്തരത്തിലുള്ള കണക്ഷനെ വിളിക്കുന്നു രചന(രചന). ഒരു കോമ്പോസിറ്റ് (ഭാഗങ്ങൾ ഉൾക്കൊള്ളുന്ന ഒന്ന്) പ്രദർശിപ്പിക്കുന്നതിന്, ഒരു നിറമുള്ള വജ്രം വരയ്ക്കുന്നു, അതിലേക്ക് നയിക്കുന്ന ഒരു തുടർച്ചയായ വരയുണ്ട്. കണക്ഷന്റെ ഒരു ടെക്സ്റ്റ് ഡിസ്പ്ലേയുടെ രൂപത്തിൽ നമുക്ക് ഇത് എഴുതാം: ക്ലാസ് നോഡ് ( ) LinkedList * -- നോഡ് ഇപ്പോൾ മറ്റൊരു പ്രധാന തരം കണക്ഷൻ എങ്ങനെ പ്രദർശിപ്പിക്കണമെന്ന് പഠിക്കേണ്ടതുണ്ട് - ആസക്തി(ആശ്രിത ബന്ധം). ഒരു ക്ലാസ് മറ്റൊന്ന് ഉപയോഗിക്കുമ്പോൾ ഇത് ഉപയോഗിക്കുന്നു, കൂടാതെ ക്ലാസിൽ ഉപയോഗിക്കുന്ന ക്ലാസ് അടങ്ങിയിട്ടില്ല മാത്രമല്ല അതിന്റെ പിൻഗാമിയല്ല. ഉദാഹരണത്തിന്, LinkedList, ArrayList എന്നിവയ്ക്ക് ഒരു ListIterator സൃഷ്ടിക്കാൻ കഴിയും. നമുക്ക് ഇത് ഒരു ഡോട്ട് ഇട്ട വരയുള്ള അമ്പടയാളങ്ങളായി പ്രദർശിപ്പിക്കാം: class ListIterator ListIterator< . . . ArrayList : create ListIterator < . . . LinkedList : create Выглядеть после всего это будет следующим образом:

നിങ്ങൾക്ക് ആവശ്യമുള്ളത്ര വിശദമായി പോകാം. എല്ലാ പദവികളും ഇവിടെ സൂചിപ്പിച്ചിരിക്കുന്നു: "PlantUML - ക്ലാസ് ഡയഗ്രം". കൂടാതെ, അത്തരമൊരു ഡയഗ്രം വരയ്ക്കുന്നതിൽ അമാനുഷികമായ ഒന്നും തന്നെയില്ല, നിങ്ങളുടെ ടാസ്ക്കുകളിൽ പ്രവർത്തിക്കുമ്പോൾ, നിങ്ങൾക്ക് അത് കൈകൊണ്ട് വേഗത്തിൽ വരയ്ക്കാം. ഇത് ആപ്ലിക്കേഷൻ ആർക്കിടെക്ചറിലൂടെ ചിന്തിക്കാനുള്ള നിങ്ങളുടെ കഴിവുകൾ വികസിപ്പിക്കുകയും തെറ്റായ മോഡൽ നടപ്പിലാക്കാൻ ദിവസം ചെലവഴിച്ചതിന് ശേഷം ക്ലാസ് ഘടനയിലെ പിഴവുകൾ നേരത്തെ തന്നെ തിരിച്ചറിയാൻ സഹായിക്കുകയും ചെയ്യും. ഇത് പരീക്ഷിക്കുന്നതിനുള്ള ഒരു നല്ല കാരണമാണെന്ന് ഞാൻ കരുതുന്നു?)

ഓട്ടോമേഷൻ

PlantUML ഡയഗ്രമുകൾ സ്വയമേവ സൃഷ്ടിക്കാൻ വിവിധ മാർഗങ്ങളുണ്ട്. ഉദാഹരണത്തിന്, ഇൻ ആശയംഒരു SketchIT പ്ലഗിൻ ഉണ്ട്, പക്ഷേ അത് അവ ശരിയായി വരയ്ക്കുന്നില്ല. ഉദാഹരണത്തിന്, ഇന്റർഫേസുകളുടെ നടപ്പാക്കൽ തെറ്റായി വരച്ചിരിക്കുന്നു (പൈതൃകമായി പ്രദർശിപ്പിച്ചിരിക്കുന്നു). നിങ്ങളുടെ പ്രോജക്റ്റിന്റെ ബിൽഡ് ലൈഫ് സൈക്കിളിലേക്ക് ഇത് എങ്ങനെ നിർമ്മിക്കാം എന്നതിന്റെ ഉദാഹരണങ്ങളും ഇന്റർനെറ്റിൽ ഉണ്ട്. വേണ്ടി പറയാം മാവൻ uml-java-docklet ഉപയോഗിക്കുന്നതിന് ഒരു ഉദാഹരണമുണ്ട്. ഇത് എങ്ങനെ ചെയ്യുന്നുവെന്ന് കാണിക്കാൻ, ഒരു മാവൻ പ്രോജക്റ്റ് വേഗത്തിൽ സൃഷ്ടിക്കാൻ ഞങ്ങൾ മാവൻ ആർക്കൈറ്റൈപ്പ് ഉപയോഗിക്കും. നമുക്ക് കമാൻഡ് പ്രവർത്തിപ്പിക്കാം: mvn archetype:genrate ഒരു ഫിൽട്ടർ തിരഞ്ഞെടുക്കുന്നതിനുള്ള ചോദ്യത്തിൽ ( ഒരു നമ്പർ തിരഞ്ഞെടുക്കുക അല്ലെങ്കിൽ ഫിൽട്ടർ പ്രയോഗിക്കുക) എന്റർ അമർത്തിക്കൊണ്ട് സ്ഥിരസ്ഥിതിയായി വിടുക. അത് എപ്പോഴും ആയിരിക്കും" maven-archetype-quickstart". ഏറ്റവും പുതിയ പതിപ്പ് തിരഞ്ഞെടുക്കുക. അടുത്തതായി, ചോദ്യങ്ങൾക്ക് ഉത്തരം നൽകി പ്രോജക്റ്റിന്റെ സൃഷ്ടി പൂർത്തിയാക്കുക:

ഈ ലേഖനത്തിന്റെ ഫോക്കസ് Maven അല്ലാത്തതിനാൽ, നിങ്ങളുടെ Maven ചോദ്യങ്ങൾക്കുള്ള ഉത്തരങ്ങൾ Maven ഉപയോക്തൃ കേന്ദ്രത്തിൽ കണ്ടെത്താനാകും. ജനറേറ്റ് ചെയ്‌ത പ്രോജക്റ്റിൽ, എഡിറ്റിംഗിനായി പ്രോജക്റ്റ് വിവരണ ഫയൽ തുറക്കുക, pom.xml. uml-java-docklet ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന്റെ വിവരണത്തിൽ നിന്ന് ഉള്ളടക്കങ്ങൾ പകർത്താം. വിവരണത്തിൽ ഉപയോഗിച്ച പുരാവസ്തു മാവൻ സെൻട്രൽ ശേഖരത്തിൽ കണ്ടെത്താൻ കഴിഞ്ഞില്ല. എന്നാൽ ഇത് എനിക്ക് വേണ്ടി പ്രവർത്തിച്ചു: https://mvnrepository.com/artifact/com.chfourie/uml-java-doclet/1.0.0. അതായത്, ആ വിവരണത്തിൽ നിങ്ങൾ മാറ്റിസ്ഥാപിക്കേണ്ടതുണ്ട് ഗ്രൂപ്പ് ഐഡികൂടെ " info.leadinglight"ഓൺ" com.chfourie"ഒപ്പം പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്യുക" 1.0.0 ". ഇതിനുശേഷം ഫയൽ സ്ഥിതി ചെയ്യുന്ന ഡയറക്ടറിയിൽ നമുക്ക് എക്സിക്യൂട്ട് ചെയ്യാം pom.xmlഈ കമാൻഡുകൾ: mvn ക്ലീൻ ഇൻസ്റ്റാളും mvn javadoc:javadoc . ഇപ്പോൾ, ജനറേറ്റ് ചെയ്ത ഡോക്യുമെന്റേഷൻ (explorer target\site\apidocs\index.html) തുറക്കുകയാണെങ്കിൽ, നമുക്ക് UML ഡയഗ്രമുകൾ കാണാം. വഴിയിൽ, നടപ്പിലാക്കൽ ഇതിനകം ഇവിടെ ശരിയായി പ്രദർശിപ്പിച്ചിരിക്കുന്നു)

ഉപസംഹാരം

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, നിങ്ങളുടെ ആപ്ലിക്കേഷന്റെ ഘടന ദൃശ്യവൽക്കരിക്കാൻ UML നിങ്ങളെ അനുവദിക്കുന്നു. മാത്രമല്ല, യുഎംഎൽ ഇതിൽ മാത്രം ഒതുങ്ങുന്നില്ല. യു‌എം‌എൽ ഉപയോഗിച്ച്, നിങ്ങളുടെ കമ്പനിക്കുള്ളിലെ വിവിധ പ്രക്രിയകൾ വിവരിക്കാനോ നിങ്ങൾ എഴുതുന്ന പ്രവർത്തനം പ്രവർത്തിക്കുന്ന ബിസിനസ്സ് പ്രക്രിയയെ വിവരിക്കാനോ കഴിയും. UML നിങ്ങൾക്ക് വ്യക്തിപരമായി എത്രത്തോളം ഉപയോഗപ്രദമാണെന്ന് തീരുമാനിക്കേണ്ടത് നിങ്ങളാണ്, എന്നാൽ ഇത് കൂടുതൽ വിശദമായി വായിക്കാൻ സമയമെടുക്കുന്നത് ഏത് സാഹചര്യത്തിലും ഉപയോഗപ്രദമാകും. ഈ പോസ്റ്റിന്റെ #Viacheslav ഇംഗ്ലീഷ് പതിപ്പ്: UML ഡയഗ്രം Java-ലെ CodeGym

നിലവിൽ, UML എന്നത് സോഫ്റ്റ്‌വെയർ സിസ്റ്റങ്ങളുടെ വിഷ്വൽ മോഡലിങ്ങിനുള്ള ഒരു സ്റ്റാൻഡേർഡ് നൊട്ടേഷനാണ്, ഒബ്ജക്റ്റ് മാനേജിംഗ് ഗ്രൂപ്പ് (OMG) കൺസോർഷ്യം 1997-ലെ ശരത്കാലത്തിൽ സ്വീകരിച്ചു, ഇത് ഒബ്‌ജക്റ്റ് ഓറിയന്റഡ് CASE ഉൽപ്പന്നങ്ങൾ പിന്തുണയ്ക്കുന്നു.

UML സ്റ്റാൻഡേർഡ് മോഡലിംഗിനായി ഇനിപ്പറയുന്ന ഡയഗ്രമുകൾ വാഗ്ദാനം ചെയ്യുന്നു:

കേസ് ഡയഗ്രം ഉപയോഗിക്കുക - ഒരു ഓർഗനൈസേഷന്റെയോ എന്റർപ്രൈസസിന്റെയോ ബിസിനസ്സ് പ്രക്രിയകൾ മാതൃകയാക്കുന്നതിനും സൃഷ്ടിക്കുന്ന വിവര സംവിധാനത്തിന്റെ ആവശ്യകതകൾ നിർണ്ണയിക്കുന്നതിനും;

· ക്ലാസ് ഡയഗ്രം - സിസ്റ്റം ക്ലാസുകളുടെ സ്റ്റാറ്റിക് ഘടനയും അവ തമ്മിലുള്ള കണക്ഷനുകളും മാതൃകയാക്കുന്നതിന്;

· സിസ്റ്റത്തിന്റെ പെരുമാറ്റ ഡയഗ്രമുകൾ;

· ഇന്ററാക്ഷൻ ഡയഗ്രമുകൾ;

· സീക്വൻസ് ഡയഗ്രമുകൾ - ഒരു ഉപയോഗ കേസിൽ ഒബ്‌ജക്റ്റുകൾക്കിടയിൽ സന്ദേശമയയ്‌ക്കൽ പ്രക്രിയ മാതൃകയാക്കുന്നതിന്;

· സഹകരണ ഡയഗ്രം - ഒരു ഉപയോഗ കേസിൽ ഒബ്‌ജക്റ്റുകൾക്കിടയിൽ സന്ദേശമയയ്‌ക്കൽ പ്രക്രിയ മാതൃകയാക്കുന്നതിന്;

· സ്റ്റേറ്റ്ചാർട്ട് ഡയഗ്രം - ഒരു സംസ്ഥാനത്ത് നിന്ന് മറ്റൊന്നിലേക്ക് മാറുന്ന സമയത്ത് സിസ്റ്റം ഒബ്ജക്റ്റുകളുടെ സ്വഭാവം മാതൃകയാക്കുന്നതിന്;

· ആക്റ്റിവിറ്റി ഡയഗ്രം - വിവിധ ഉപയോഗ കേസുകളുടെ ചട്ടക്കൂടിനുള്ളിൽ സിസ്റ്റത്തിന്റെ പെരുമാറ്റം മോഡലിംഗ്, അല്ലെങ്കിൽ മോഡലിംഗ് പ്രവർത്തനങ്ങൾ;

നടപ്പാക്കൽ ഡയഗ്രമുകൾ:

· ഘടക ഡയഗ്രമുകൾ - ഒരു വിവര സിസ്റ്റത്തിന്റെ ഘടകങ്ങളുടെ (ഉപസിസ്റ്റങ്ങൾ) ശ്രേണിയെ മാതൃകയാക്കുന്നതിന്;

· വിന്യാസ ഡയഗ്രം - രൂപകൽപ്പന ചെയ്ത വിവര സംവിധാനത്തിന്റെ ഭൗതിക വാസ്തുവിദ്യയെ മാതൃകയാക്കുന്നതിന്.

ചിത്രത്തിൽ. 1.1 ഈ കോഴ്‌സ് പ്രോജക്റ്റിൽ വികസിപ്പിക്കേണ്ട പ്രധാന ഡയഗ്രമുകൾ ഉൾപ്പെടെ ഒരു വിവര സംവിധാനത്തിന്റെ സംയോജിത മാതൃക അവതരിപ്പിക്കുന്നു.

അരി. 1. UML നൊട്ടേഷനിൽ ഒരു വിവര സംവിധാനത്തിന്റെ സംയോജിത മാതൃക

4.2. കേസ് ഡയഗ്രം ഉപയോഗിക്കുക

ഏതെങ്കിലും ബാഹ്യ വസ്തു (അഭിനേതാവ്) ആരംഭിച്ച ഒരു സംഭവത്തിന് പ്രതികരണമായി സിസ്റ്റം നടത്തുന്ന പ്രവർത്തനങ്ങളുടെ ഒരു ശ്രേണിയാണ് ഉപയോഗ കേസ്. ഒരു ഉപയോക്താവും സിസ്റ്റവും തമ്മിലുള്ള ഒരു സാധാരണ ഇടപെടലിനെ ഒരു ഉപയോഗ കേസ് വിവരിക്കുന്നു. ലളിതമായ സാഹചര്യത്തിൽ, ഈ വിവര സംവിധാനത്തിൽ നടപ്പിലാക്കാൻ ആഗ്രഹിക്കുന്ന പ്രവർത്തനങ്ങളെക്കുറിച്ച് ഉപയോക്താവുമായി ചർച്ച ചെയ്യുന്ന പ്രക്രിയയിലാണ് ഉപയോഗ കേസ് നിർണ്ണയിക്കുന്നത്. UML-ൽ, ഒരു ഉപയോഗ കേസ് ഇനിപ്പറയുന്ന രീതിയിൽ ചിത്രീകരിച്ചിരിക്കുന്നു:

ചിത്രം.2. കേസ് ഉപയോഗിക്കുക

സിസ്റ്റവുമായി ബന്ധപ്പെട്ട് ഒരു ഉപയോക്താവ് വഹിക്കുന്ന റോളാണ് നടൻ. അഭിനേതാക്കൾ റോളുകളെ പ്രതിനിധീകരിക്കുന്നു, നിർദ്ദിഷ്ട ആളുകളെയോ ജോലിയുടെ പേരുകളോ അല്ല. ഉപയോഗ രേഖാചിത്രങ്ങളിൽ അവയെ സ്റ്റൈലൈസ്ഡ് മനുഷ്യരൂപങ്ങളായി ചിത്രീകരിച്ചിട്ടുണ്ടെങ്കിലും, ഒരു നടന് ആ സിസ്റ്റത്തിൽ നിന്ന് കുറച്ച് വിവരങ്ങൾ ആവശ്യമുള്ള ഒരു ബാഹ്യ വിവര സംവിധാനവും ആകാം. അഭിനേതാക്കൾക്ക് യഥാർത്ഥത്തിൽ ചില ഉപയോഗ കേസുകൾ ആവശ്യമുണ്ടെങ്കിൽ മാത്രമേ ഡയഗ്രാമിൽ കാണിക്കാവൂ. UML-ൽ, അഭിനേതാക്കളെ രൂപങ്ങളായി പ്രതിനിധീകരിക്കുന്നു:



ചിത്രം.3. കഥാപാത്രം (നടൻ)

അഭിനേതാക്കളെ മൂന്ന് പ്രധാന തരങ്ങളായി തിരിച്ചിരിക്കുന്നു:

· ഉപയോക്താക്കൾ;

· സിസ്റ്റങ്ങൾ;

· ഇതുമായി സംവദിക്കുന്ന മറ്റ് സിസ്റ്റങ്ങൾ;

സിസ്റ്റത്തിലെ ഏതെങ്കിലും ഇവന്റുകളുടെ സമാരംഭം അതിനെ ആശ്രയിച്ചിരിക്കുന്നുവെങ്കിൽ സമയം ഒരു നടനാകുന്നു.

4.2.1. ഉപയോഗ കേസുകളും അഭിനേതാക്കളും തമ്മിലുള്ള ബന്ധം

UML-ൽ, ഡയഗ്രം ഘടകങ്ങൾ തമ്മിലുള്ള പല തരത്തിലുള്ള ബന്ധങ്ങളെ ഉപയോഗ കേസ് ഡയഗ്രമുകൾ പിന്തുണയ്ക്കുന്നു:

· ആശയവിനിമയം

ഉൾപ്പെടുത്തൽ (ഉൾപ്പെടെ),

· വിപുലീകരണം (നീട്ടുക),

· പൊതുവൽക്കരണം.

ആശയവിനിമയ ലിങ്ക്ഒരു യൂസ് കേസും ഒരു നടനും തമ്മിലുള്ള ബന്ധമാണ്. UML-ൽ, ഒരു ഏകദിശ അസ്സോസിയേഷൻ (സോളിഡ് ലൈൻ) ഉപയോഗിച്ച് ആശയവിനിമയ ബന്ധങ്ങൾ കാണിക്കുന്നു.

ചിത്രം.4. ആശയവിനിമയ ലിങ്ക് ഉദാഹരണം

കണക്ഷൻ പ്രവർത്തനക്ഷമമാക്കുകഒന്നിലധികം ഉപയോഗ കേസുകളിൽ ആവർത്തിക്കുന്ന ചില സിസ്റ്റം സ്വഭാവമുള്ള സാഹചര്യങ്ങളിൽ ഉപയോഗിക്കുന്നു. ഈ കണക്ഷനുകൾ സാധാരണയായി ഒരു പുനരുപയോഗിക്കാവുന്ന ഫംഗ്ഷൻ മാതൃകയാക്കാൻ ഉപയോഗിക്കുന്നു.

വിപുലീകരണ ആശയവിനിമയംഒരു സിസ്റ്റത്തിന്റെ സാധാരണ സ്വഭാവത്തിലെ മാറ്റങ്ങൾ വിവരിക്കാൻ ഉപയോഗിക്കുന്നു. ഒരു യൂസ് കെയ്‌സ് ആവശ്യമുള്ളപ്പോൾ മറ്റൊരു യൂസ് കെയ്‌സിന്റെ പ്രവർത്തനക്ഷമത ഉപയോഗിക്കാൻ ഇത് അനുവദിക്കുന്നു.

ചിത്രം.5. ഉൾപ്പെടുത്തലിന്റെയും വിപുലീകരണ ബന്ധത്തിന്റെയും ഉദാഹരണം

സാമാന്യവൽക്കരണ കണക്ഷൻനിരവധി അഭിനേതാക്കൾ അല്ലെങ്കിൽ ക്ലാസുകൾക്ക് പൊതുവായ ഗുണങ്ങളുണ്ടെന്ന് കാണിക്കുന്നു.

ചിത്രം.6. സാമാന്യവൽക്കരണ ലിങ്ക് ഉദാഹരണം

4.3.



ഇന്ററാക്ഷൻ ഡയഗ്രമുകൾവസ്തുക്കളുടെ സംവദിക്കുന്ന ഗ്രൂപ്പുകളുടെ സ്വഭാവം വിവരിക്കുക. സാധാരണഗതിയിൽ, ഒരു ഇന്ററാക്ഷൻ ഡയഗ്രം ഒരു ഉപയോഗ കേസിൽ മാത്രം ഒബ്ജക്റ്റുകളുടെ സ്വഭാവം ഉൾക്കൊള്ളുന്നു. അത്തരം ഒരു ഡയഗ്രം നിരവധി ഒബ്‌ജക്റ്റുകളും അവ പരസ്പരം കൈമാറുന്ന സന്ദേശങ്ങളും പ്രദർശിപ്പിക്കുന്നു.

സന്ദേശംഅയയ്‌ക്കുന്ന ഒബ്‌ജക്റ്റ് സ്വീകർത്താവിനോട് അതിന്റെ പ്രവർത്തനങ്ങളിലൊന്ന് നടത്താൻ അഭ്യർത്ഥിക്കുന്ന മാർഗമാണ്.

വിവര സന്ദേശംസ്വീകർത്താവ് ഒബ്‌ജക്റ്റിന് അതിന്റെ അവസ്ഥ അപ്‌ഡേറ്റ് ചെയ്യുന്നതിന് ചില വിവരങ്ങൾ നൽകുന്ന ഒരു സന്ദേശമാണ്.

അഭ്യർത്ഥന സന്ദേശം (ചോദ്യം ചെയ്യുക)സ്വീകർത്താവിന്റെ ഒബ്ജക്റ്റിനെക്കുറിച്ചുള്ള ചില വിവരങ്ങൾ പുറത്തുവിടാൻ അഭ്യർത്ഥിക്കുന്ന ഒരു സന്ദേശമാണ്.

അനിവാര്യമായ സന്ദേശംസ്വീകർത്താവ് ഒബ്‌ജക്‌റ്റിനോട് ചില പ്രവർത്തനങ്ങൾ നടത്താൻ അഭ്യർത്ഥിക്കുന്ന ഒരു സന്ദേശമാണ്.

രണ്ട് തരത്തിലുള്ള ഇന്ററാക്ഷൻ ഡയഗ്രമുകൾ ഉണ്ട്: സീക്വൻസ് ഡയഗ്രമുകളും സഹകരണ ഡയഗ്രമുകളും.

4.3.1. സീക്വൻസ് ഡയഗ്രമുകൾ

സീക്വൻസ് ഡയഗ്രംഒരൊറ്റ ഉപയോഗ കേസിൽ സംഭവിക്കുന്ന സംഭവങ്ങളുടെ ഒഴുക്ക് പ്രതിഫലിപ്പിക്കുന്നു.

തന്നിരിക്കുന്ന സാഹചര്യത്തിൽ (ഉപയോഗ കേസ്) ഉൾപ്പെട്ടിരിക്കുന്ന എല്ലാ അഭിനേതാക്കളും (അഭിനേതാക്കൾ, ക്ലാസുകൾ അല്ലെങ്കിൽ വസ്തുക്കൾ) ഡയഗ്രാമിന്റെ മുകളിൽ കാണിച്ചിരിക്കുന്നു. ഒരു അഭിനേതാവിനും ഒബ്‌ജക്‌റ്റിനും ഇടയിലോ ഒബ്‌ജക്‌റ്റുകൾക്കിടയിലോ ആവശ്യമായ പ്രവർത്തനങ്ങൾ നിർവഹിക്കുന്നതിന് കൈമാറുന്ന സന്ദേശങ്ങളുമായി അമ്പടയാളങ്ങൾ യോജിക്കുന്നു.

ഒരു സീക്വൻസ് ഡയഗ്രാമിൽ, ഒരു വസ്തു ഒരു ദീർഘചതുരമായി ചിത്രീകരിച്ചിരിക്കുന്നു, അതിൽ നിന്ന് താഴേക്ക് വരച്ച കുത്തുകളുള്ള ലംബ രേഖ. ഈ വരിയെ വിളിക്കുന്നു വസ്തുവിന്റെ ലൈഫ്ലൈൻ . പ്രതിപ്രവർത്തന പ്രക്രിയയിലെ ഒരു വസ്തുവിന്റെ ജീവിത ചക്രത്തിന്റെ ഒരു ശകലത്തെ ഇത് പ്രതിനിധീകരിക്കുന്നു.

ഓരോ സന്ദേശവും രണ്ട് വസ്തുക്കളുടെ ലൈഫ് ലൈനുകൾക്കിടയിലുള്ള അമ്പടയാളമായി പ്രതിനിധീകരിക്കുന്നു. പേജിൽ മുകളിൽ നിന്ന് താഴേക്ക് ദൃശ്യമാകുന്ന ക്രമത്തിൽ സന്ദേശങ്ങൾ ദൃശ്യമാകും. ഓരോ സന്ദേശവും കുറഞ്ഞത് ഒരു സന്ദേശത്തിന്റെ പേരെങ്കിലും ടാഗ് ചെയ്തിരിക്കുന്നു. വേണമെങ്കിൽ, നിങ്ങൾക്ക് ആർഗ്യുമെന്റുകളും ചില നിയന്ത്രണ വിവരങ്ങളും ചേർക്കാം. നിങ്ങൾക്ക് സ്വയം ഡെലിഗേഷൻ കാണിക്കാൻ കഴിയും - ഒരു വസ്തു സ്വയം അയക്കുന്ന സന്ദേശം, അതേ ലൈഫ് ലൈനിലേക്ക് ചൂണ്ടിക്കാണിക്കുന്ന സന്ദേശ അമ്പടയാളം.

അരി. 7. ഒരു സീക്വൻസ് ഡയഗ്രാമിന്റെ ഉദാഹരണം

4.3.2. സഹകരണ ഡയഗ്രം

സഹകരണ ഡയഗ്രമുകൾഒരു പ്രത്യേക സാഹചര്യത്തിൽ (ഉപയോഗ കേസ്) ഇവന്റുകളുടെ ഒഴുക്ക് പ്രദർശിപ്പിക്കുക. സന്ദേശങ്ങൾ സമയത്തിനനുസരിച്ച് ക്രമീകരിച്ചിരിക്കുന്നു, എന്നിരുന്നാലും സഹകരണ ഡയഗ്രമുകൾ ഒബ്‌ജക്റ്റുകൾ തമ്മിലുള്ള ബന്ധങ്ങളിൽ കൂടുതൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു. ഒരു സഹകരണ ഡയഗ്രം ഒരു സീക്വൻസ് ഡയഗ്രാമിൽ ഉള്ള എല്ലാ വിവരങ്ങളും അവതരിപ്പിക്കുന്നു, എന്നാൽ ഒരു സഹകരണ ഡയഗ്രം സംഭവങ്ങളുടെ ഒഴുക്കിനെ വ്യത്യസ്തമായി വിവരിക്കുന്നു. ഒബ്‌ജക്‌റ്റുകൾക്കിടയിൽ നിലനിൽക്കുന്ന ബന്ധങ്ങൾ മനസ്സിലാക്കുന്നത് എളുപ്പമാക്കുന്നു.

ഒരു സഹകരണ ഡയഗ്രാമിൽ, ഒരു സീക്വൻസ് ഡയഗ്രാമിലെന്നപോലെ, അമ്പടയാളങ്ങൾ നൽകിയിരിക്കുന്ന ഉപയോഗ കേസിൽ കൈമാറ്റം ചെയ്യപ്പെടുന്ന സന്ദേശങ്ങളെ പ്രതിനിധീകരിക്കുന്നു. സന്ദേശങ്ങൾ അക്കമിട്ട് അവരുടെ സമയ ക്രമം സൂചിപ്പിക്കുന്നു.

അരി. 8. ഒരു സഹകരണ ഡയഗ്രാമിന്റെ ഉദാഹരണം

4.4. ക്ലാസ് ഡയഗ്രം

4.4.1. പൊതുവിവരം

ക്ലാസ് ഡയഗ്രംസിസ്റ്റത്തിന്റെ ക്ലാസുകളുടെ തരങ്ങളും അവയ്ക്കിടയിൽ നിലനിൽക്കുന്ന വിവിധ തരത്തിലുള്ള സ്റ്റാറ്റിക് കണക്ഷനുകളും നിർവചിക്കുന്നു. ക്ലാസുകളുടെ ആട്രിബ്യൂട്ടുകൾ, ക്ലാസുകളുടെ പ്രവർത്തനങ്ങൾ, ക്ലാസുകൾ തമ്മിലുള്ള ബന്ധത്തിൽ ഏർപ്പെടുത്തിയിരിക്കുന്ന നിയന്ത്രണങ്ങൾ എന്നിവയും ക്ലാസ് ഡയഗ്രമുകൾ ചിത്രീകരിക്കുന്നു.

UML ഭാഷയിലെ ഒരു ക്ലാസ് ഡയഗ്രം ഒരു ഗ്രാഫ് ആണ്, ഇതിന്റെ നോഡുകൾ പ്രോജക്റ്റിന്റെ സ്റ്റാറ്റിക് ഘടനയുടെ (ക്ലാസുകൾ, ഇന്റർഫേസുകൾ) ഘടകങ്ങളാണ്, കൂടാതെ ആർക്കുകൾ നോഡുകൾ തമ്മിലുള്ള ബന്ധമാണ് (അസോസിയേഷനുകൾ, അനന്തരാവകാശം, ആശ്രിതത്വങ്ങൾ).

ക്ലാസ് ഡയഗ്രം ഇനിപ്പറയുന്ന ഘടകങ്ങളെ ചിത്രീകരിക്കുന്നു:

· പാക്കേജ് - പരസ്പരം യുക്തിപരമായി ബന്ധപ്പെട്ടിരിക്കുന്ന മോഡൽ ഘടകങ്ങളുടെ ഒരു കൂട്ടം;

· ക്ലാസ് (ക്ലാസ്) - സമാന വസ്തുക്കളുടെ ഒരു ഗ്രൂപ്പിന്റെ പൊതുവായ ഗുണങ്ങളുടെ വിവരണം;

· ഇന്റർഫേസ് - തന്നിരിക്കുന്ന ഇന്റർഫേസുമായി ബന്ധപ്പെട്ട ഒരു അനിയന്ത്രിതമായ ക്ലാസിന്റെ ഒബ്ജക്റ്റ് മറ്റ് ഒബ്ജക്റ്റുകൾക്ക് നൽകുന്ന പ്രവർത്തനങ്ങളുടെ ഒരു കൂട്ടം വ്യക്തമാക്കുന്ന ഒരു അമൂർത്ത ക്ലാസ്.

4.4.2. ക്ലാസ്

ക്ലാസ്സമാന ഗുണങ്ങളുള്ള, അതായത് ഡാറ്റയും പെരുമാറ്റവും ഉള്ള എന്റിറ്റികളുടെ (വസ്തുക്കൾ) ഒരു കൂട്ടമാണ്. ഒരു ക്ലാസിന്റെ ഒരു വ്യക്തിഗത പ്രതിനിധിയെ ക്ലാസിന്റെ ഒബ്‌ജക്റ്റ് അല്ലെങ്കിൽ ഒരു ഒബ്‌ജക്റ്റ് എന്ന് വിളിക്കുന്നു.

UML-ലെ ഒരു വസ്തുവിന്റെ പെരുമാറ്റം എന്നത് ഒരു വസ്തുവിന്റെ ബാഹ്യലോകവുമായും ഒബ്ജക്റ്റിന്റെ ഡാറ്റയുമായും ഇടപെടുന്നതിനുള്ള ഏതെങ്കിലും നിയമങ്ങളെ സൂചിപ്പിക്കുന്നു.

ഡയഗ്രാമുകളിൽ, ക്ലാസ് ഒരു സോളിഡ് ബോർഡറുള്ള ഒരു ദീർഘചതുരമായി ചിത്രീകരിച്ചിരിക്കുന്നു, തിരശ്ചീന രേഖകളാൽ 3 വിഭാഗങ്ങളായി തിരിച്ചിരിക്കുന്നു:

മുകളിലെ വിഭാഗത്തിൽ (പേര് വിഭാഗം) ക്ലാസിന്റെ പേരും മറ്റ് പൊതു സവിശേഷതകളും (പ്രത്യേകിച്ച്, സ്റ്റീരിയോടൈപ്പ്) അടങ്ങിയിരിക്കുന്നു.

മധ്യഭാഗത്ത് ആട്രിബ്യൂട്ടുകളുടെ ഒരു ലിസ്റ്റ് അടങ്ങിയിരിക്കുന്നു

ചുവടെ അതിന്റെ പെരുമാറ്റം (ക്ലാസ് നടത്തുന്ന പ്രവർത്തനങ്ങൾ) പ്രതിഫലിപ്പിക്കുന്ന ക്ലാസ് പ്രവർത്തനങ്ങളുടെ ഒരു ലിസ്റ്റ് ഉണ്ട്.

ആട്രിബ്യൂട്ട്, ഓപ്പറേഷൻ വിഭാഗങ്ങളിൽ ഏതെങ്കിലും പ്രദർശിപ്പിക്കാൻ പാടില്ല (അല്ലെങ്കിൽ രണ്ടും ഒരേസമയം). നഷ്‌ടമായ ഒരു വിഭാഗത്തിനായി, നിങ്ങൾ ഒരു വിഭജന രേഖ വരയ്‌ക്കേണ്ടതില്ല അല്ലെങ്കിൽ ഏതെങ്കിലും വിധത്തിൽ അതിൽ മൂലകങ്ങളുടെ സാന്നിധ്യം അല്ലെങ്കിൽ അഭാവം സൂചിപ്പിക്കുക.

പ്രത്യേക നടപ്പാക്കലിന്റെ വിവേചനാധികാരത്തിൽ ഒഴിവാക്കലുകൾ പോലുള്ള അധിക വിഭാഗങ്ങൾ അവതരിപ്പിക്കാവുന്നതാണ്.

അരി. 9. ഒരു ക്ലാസ് ഡയഗ്രാമിന്റെ ഉദാഹരണം

4.4.2.1.ക്ലാസ് സ്റ്റീരിയോടൈപ്പുകൾ

ക്ലാസുകളെ വിഭാഗങ്ങളായി വിഭജിക്കുന്നതിനുള്ള ഒരു സംവിധാനമാണ് ക്ലാസ് സ്റ്റീരിയോടൈപ്പുകൾ.

UML മൂന്ന് പ്രധാന ക്ലാസ് സ്റ്റീരിയോടൈപ്പുകളെ നിർവചിക്കുന്നു:

അതിർത്തി (അതിർത്തി);

എന്റിറ്റി (എന്റ്റിറ്റി);

നിയന്ത്രണം.

4.4.2.2.അതിർത്തി ക്ലാസുകൾ

സിസ്റ്റത്തിന്റെയും മുഴുവൻ പരിസ്ഥിതിയുടെയും അതിർത്തിയിൽ സ്ഥിതി ചെയ്യുന്ന ക്ലാസുകളാണ് ബൗണ്ടറി ക്ലാസുകൾ. ഡിസ്‌പ്ലേകൾ, റിപ്പോർട്ടുകൾ, ഹാർഡ്‌വെയർ ഉള്ള ഇന്റർഫേസുകൾ (പ്രിൻററുകൾ അല്ലെങ്കിൽ സ്കാനറുകൾ പോലുള്ളവ), മറ്റ് സിസ്റ്റങ്ങളുമായുള്ള ഇന്റർഫേസുകൾ എന്നിവ ഇതിൽ ഉൾപ്പെടുന്നു.

അതിർത്തി ക്ലാസുകൾ കണ്ടെത്തുന്നതിന്, നിങ്ങൾ ഉപയോഗ കേസ് ഡയഗ്രമുകൾ പരിശോധിക്കേണ്ടതുണ്ട്. ഒരു അഭിനേതാവും ഉപയോഗ കേസും തമ്മിലുള്ള എല്ലാ ഇടപെടലുകളും കുറഞ്ഞത് ഒരു ബൗണ്ടറി ക്ലാസുമായി ബന്ധപ്പെട്ടിരിക്കണം. ഒരു നടനെ സിസ്റ്റവുമായി സംവദിക്കാൻ അനുവദിക്കുന്നത് ഈ ക്ലാസാണ്.

4.4.2.3.എന്റിറ്റി ക്ലാസുകൾ

എന്റിറ്റി ക്ലാസുകളിൽ സംഭരിച്ച വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്നു. അവയ്ക്ക് ഉപയോക്താവിന് ഏറ്റവും വലിയ അർത്ഥമുണ്ട്, അതിനാൽ അവരുടെ പേരുകൾ പലപ്പോഴും വിഷയ മേഖലയിൽ നിന്നുള്ള പദങ്ങൾ ഉപയോഗിക്കുന്നു. സാധാരണഗതിയിൽ, ഓരോ എന്റിറ്റി ക്ലാസിനും ഡാറ്റാബേസിൽ ഒരു പട്ടിക സൃഷ്ടിക്കപ്പെടുന്നു.

4.4.2.4.നിയന്ത്രണ ക്ലാസുകൾ

മറ്റ് ക്ലാസുകളുടെ പ്രവർത്തനങ്ങൾ ഏകോപിപ്പിക്കുന്നതിന് നിയന്ത്രണ ക്ലാസുകൾ ഉത്തരവാദികളാണ്. സാധാരണഗതിയിൽ, ഓരോ ഉപയോഗ കേസിനും ഒരു കൺട്രോൾ ക്ലാസ് ഉണ്ട്, അത് ആ ഉപയോഗ കേസിന്റെ ഇവന്റുകളുടെ ക്രമം നിയന്ത്രിക്കുന്നു. മാനേജർ ക്ലാസ് ഏകോപനത്തിന്റെ ഉത്തരവാദിത്തമാണ്, എന്നാൽ മറ്റ് ക്ലാസുകൾ അതിലേക്ക് കൂടുതൽ സന്ദേശങ്ങൾ അയയ്‌ക്കാത്തതിനാൽ ഒരു പ്രവർത്തനവും സ്വയം നൽകുന്നില്ല. പകരം, അവൻ തന്നെ പല സന്ദേശങ്ങളും അയയ്ക്കുന്നു. ഒരു മാനേജർ ക്ലാസ് മറ്റ് ക്ലാസുകളിലേക്ക് ഉത്തരവാദിത്തം ഏൽപ്പിക്കുന്നു, അതിനാലാണ് ഇതിനെ പലപ്പോഴും മാനേജർ ക്ലാസ് എന്ന് വിളിക്കുന്നത്.

ഒന്നിലധികം ഉപയോഗ കേസുകളിൽ പൊതുവായുള്ള മറ്റ് നിയന്ത്രണ ക്ലാസുകൾ സിസ്റ്റത്തിൽ ഉണ്ടായിരിക്കാം. ഉദാഹരണത്തിന്, സുരക്ഷയുമായി ബന്ധപ്പെട്ട ഇവന്റുകൾ നിരീക്ഷിക്കുന്നതിന് ഉത്തരവാദിത്തമുള്ള ഒരു സെക്യൂരിറ്റി മാനേജർ ക്ലാസ് ഉണ്ടായിരിക്കാം. ഡാറ്റാബേസ് ഇടപാടുകളുമായി ബന്ധപ്പെട്ട സന്ദേശങ്ങൾ ഏകോപിപ്പിക്കുന്നതിന് ട്രാൻസാക്ഷൻ മാനേജർ ക്ലാസ് ഉത്തരവാദിയാണ്. റിസോഴ്‌സ് പങ്കിടൽ, വിതരണം ചെയ്ത ഡാറ്റ പ്രോസസ്സിംഗ് അല്ലെങ്കിൽ പിശക് കൈകാര്യം ചെയ്യൽ എന്നിവ പോലുള്ള സിസ്റ്റത്തിന്റെ പ്രവർത്തനത്തിന്റെ മറ്റ് ഘടകങ്ങൾ കൈകാര്യം ചെയ്യാൻ മറ്റ് മാനേജർമാർ ഉണ്ടായിരിക്കാം.

മുകളിൽ സൂചിപ്പിച്ച സ്റ്റീരിയോടൈപ്പുകൾ കൂടാതെ, നിങ്ങൾക്ക് സ്വന്തമായി സൃഷ്ടിക്കാൻ കഴിയും.

4.4.2.5.ഗുണവിശേഷങ്ങൾ

ഒരു ക്ലാസുമായി ബന്ധപ്പെട്ട വിവരങ്ങളുടെ ഒരു ഘടകമാണ് ആട്രിബ്യൂട്ട്. ആട്രിബ്യൂട്ടുകൾ എൻക്യാപ്‌സുലേറ്റഡ് ക്ലാസ് ഡാറ്റ സംഭരിക്കുന്നു.

ആട്രിബ്യൂട്ടുകൾ ഒരു ക്ലാസിനുള്ളിൽ അടങ്ങിയിരിക്കുന്നതിനാൽ, അവ മറ്റ് ക്ലാസുകളിൽ നിന്ന് മറഞ്ഞിരിക്കുന്നു. ഇക്കാരണത്താൽ, ആട്രിബ്യൂട്ടുകൾ വായിക്കാനും മാറ്റാനും ഏതൊക്കെ ക്ലാസുകൾക്ക് അവകാശമുണ്ടെന്ന് നിങ്ങൾ വ്യക്തമാക്കേണ്ടതുണ്ട്. ഈ ഗുണത്തെ ആട്രിബ്യൂട്ട് ദൃശ്യപരത എന്ന് വിളിക്കുന്നു.

ഈ പരാമീറ്ററിനായി ആട്രിബ്യൂട്ടിന് സാധ്യമായ നാല് മൂല്യങ്ങൾ ഉണ്ടായിരിക്കാം:

പൊതു (പൊതുവായത്, തുറന്നത്). മറ്റെല്ലാ ക്ലാസുകൾക്കും ആട്രിബ്യൂട്ട് ദൃശ്യമാകുമെന്ന് ഈ ദൃശ്യപരത മൂല്യം അനുമാനിക്കുന്നു. ഏതൊരു ക്ലാസിനും ഒരു ആട്രിബ്യൂട്ടിന്റെ മൂല്യം കാണാനോ മാറ്റാനോ കഴിയും. UML നൊട്ടേഷൻ അനുസരിച്ച്, ഒരു പൊതു ആട്രിബ്യൂട്ടിന് മുമ്പായി ഒരു "+" ചിഹ്നമുണ്ട്.

സ്വകാര്യം (അടച്ചത്, രഹസ്യം). അനുബന്ധ ആട്രിബ്യൂട്ട് മറ്റൊരു ക്ലാസിനും ദൃശ്യമല്ല. UML നൊട്ടേഷൻ അനുസരിച്ച് ഒരു സ്വകാര്യ ആട്രിബ്യൂട്ട് "-" ചിഹ്നത്താൽ സൂചിപ്പിക്കുന്നു.

സംരക്ഷിത (സംരക്ഷിത). ഈ ആട്രിബ്യൂട്ട് ക്ലാസിനും അതിന്റെ പിൻഗാമികൾക്കും മാത്രമേ ലഭ്യമാകൂ. ഒരു പരിരക്ഷിത ആട്രിബ്യൂട്ടിനുള്ള UML നൊട്ടേഷൻ "#" ചിഹ്നമാണ്.

പാക്കേജ് അല്ലെങ്കിൽ നടപ്പിലാക്കൽ (പാക്കേജ്). ആട്രിബ്യൂട്ട് പങ്കിട്ടിട്ടുണ്ടെന്ന് അനുമാനിക്കുന്നു, പക്ഷേ അതിന്റെ പാക്കേജിന്റെ പരിധിയിൽ മാത്രം. ഇത്തരത്തിലുള്ള ദൃശ്യപരത ഏതെങ്കിലും പ്രത്യേക ഐക്കൺ സൂചിപ്പിക്കുന്നില്ല.

ക്ലോസ്‌നെസ് അല്ലെങ്കിൽ സെക്യൂരിറ്റിയുടെ സഹായത്തോടെ, ഒരു ആട്രിബ്യൂട്ടിന്റെ മൂല്യം സിസ്റ്റത്തിന്റെ എല്ലാ ക്ലാസുകളും മാറ്റുന്ന ഒരു സാഹചര്യം ഒഴിവാക്കാൻ കഴിയും. പകരം, ആട്രിബ്യൂട്ട് മാറ്റുന്നതിനുള്ള യുക്തിയും ആട്രിബ്യൂട്ടിന്റെ അതേ ക്ലാസിൽ തന്നെ അടങ്ങിയിരിക്കും. നിങ്ങൾ സജ്ജമാക്കിയ ദൃശ്യപരത ക്രമീകരണങ്ങൾ ജനറേറ്റ് ചെയ്‌ത കോഡിനെ ബാധിക്കും.

4.4.2.6.പ്രവർത്തനങ്ങൾ

ഒരു ക്ലാസുമായി ബന്ധപ്പെട്ട പെരുമാറ്റം പ്രവർത്തനങ്ങൾ നടപ്പിലാക്കുന്നു. ഒരു പ്രവർത്തനത്തിന് മൂന്ന് ഭാഗങ്ങളുണ്ട്: ഒരു പേര്, പാരാമീറ്ററുകൾ, ഒരു റിട്ടേൺ തരം.

ഇൻപുട്ടായി ഓപ്പറേഷന് ലഭിച്ച ആർഗ്യുമെന്റുകളാണ് പാരാമീറ്ററുകൾ. റിട്ടേൺ തരം പ്രവർത്തനത്തിന്റെ ഫലത്തെ സൂചിപ്പിക്കുന്നു.

ഒരു ക്ലാസ് ഡയഗ്രാമിന് പ്രവർത്തന നാമങ്ങളും പ്രവർത്തന നാമങ്ങളും അവയുടെ പാരാമീറ്ററുകളും റിട്ടേൺ തരവും സഹിതം കാണിക്കാനാകും. ഡയഗ്രാമിലെ ലോഡ് കുറയ്ക്കുന്നതിന്, അവയിൽ ചിലതിന്റെ പ്രവർത്തനങ്ങളുടെ പേരുകളും മറ്റുള്ളവയിൽ അവയുടെ മുഴുവൻ ഒപ്പും മാത്രം കാണിക്കുന്നത് ഉപയോഗപ്രദമാണ്.

UML-ൽ, പ്രവർത്തനങ്ങൾക്ക് ഇനിപ്പറയുന്ന നൊട്ടേഷൻ ഉണ്ട്:

പ്രവർത്തനം

പരിഗണിക്കേണ്ട നാല് വ്യത്യസ്ത തരം പ്രവർത്തനങ്ങളുണ്ട്:

നടപ്പാക്കൽ പ്രവർത്തനങ്ങൾ;

മാനേജ്മെന്റ് പ്രവർത്തനങ്ങൾ;

ആക്സസ് പ്രവർത്തനങ്ങൾ;

സഹായ പ്രവർത്തനങ്ങൾ.

നടപ്പാക്കൽ പ്രവർത്തനങ്ങൾ

ഇംപ്ലിമെന്റർ പ്രവർത്തനങ്ങൾ ചില ബിസിനസ് പ്രവർത്തനങ്ങൾ നടപ്പിലാക്കുന്നു. ഇന്ററാക്ഷൻ ഡയഗ്രമുകൾ പരിശോധിച്ചുകൊണ്ട് അത്തരം പ്രവർത്തനങ്ങൾ കണ്ടെത്താനാകും. ഇത്തരത്തിലുള്ള ഡയഗ്രം ബിസിനസ് ഫംഗ്‌ഷനുകളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു, കൂടാതെ ഡയഗ്രാമിലെ ഓരോ സന്ദേശവും ഒരു നടപ്പാക്കൽ പ്രവർത്തനത്തിലേക്ക് മാപ്പ് ചെയ്യാൻ സാധ്യതയുണ്ട്.

ഓരോ നിർവ്വഹണ പ്രവർത്തനവും ആവശ്യമായ ആവശ്യകതകൾ എളുപ്പത്തിൽ കണ്ടെത്താവുന്നതായിരിക്കണം. സിമുലേഷന്റെ വിവിധ ഘട്ടങ്ങളിൽ ഇത് നേടിയെടുക്കുന്നു. ഇന്ററാക്ഷൻ ഡയഗ്രാമിലെ സന്ദേശത്തിൽ നിന്നാണ് പ്രവർത്തനം ഉരുത്തിരിഞ്ഞത്, ഉപയോഗ കേസിനെ അടിസ്ഥാനമാക്കി സൃഷ്‌ടിച്ച സംഭവങ്ങളുടെ ഒഴുക്കിന്റെ വിശദമായ വിവരണത്തിൽ നിന്നാണ് സന്ദേശങ്ങൾ വരുന്നത്, രണ്ടാമത്തേത് ആവശ്യകതകളെ അടിസ്ഥാനമാക്കി സൃഷ്‌ടിച്ചതാണ്. ഈ മുഴുവൻ ശൃംഖലയും കണ്ടെത്താനുള്ള കഴിവ്, എല്ലാ ആവശ്യകതകളും കോഡിൽ നടപ്പിലാക്കിയെന്ന് ഉറപ്പാക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു, കൂടാതെ ഓരോ കോഡും ചില ആവശ്യകതകൾ നടപ്പിലാക്കുന്നു.

നിയന്ത്രണ പ്രവർത്തനങ്ങൾ

മാനേജർ പ്രവർത്തനങ്ങൾ വസ്തുക്കളുടെ സൃഷ്ടിയും നാശവും നിയന്ത്രിക്കുന്നു. ക്ലാസ് കൺസ്ട്രക്റ്റർമാരും ഡിസ്ട്രക്റ്ററുകളും ഈ വിഭാഗത്തിൽ പെടുന്നു.

ആക്സസ് പ്രവർത്തനങ്ങൾ

ആട്രിബ്യൂട്ടുകൾ സാധാരണയായി സ്വകാര്യമോ പരിരക്ഷിതമോ ആണ്. എന്നിരുന്നാലും, മറ്റ് ക്ലാസുകൾ ചിലപ്പോൾ അവരുടെ മൂല്യങ്ങൾ കാണുകയോ മാറ്റുകയോ ചെയ്യേണ്ടതുണ്ട്. ഈ ആവശ്യത്തിനായി ആക്സസ് പ്രവർത്തനങ്ങൾ ഉണ്ട്. ഈ സമീപനം ഒരു ക്ലാസിനുള്ളിൽ ആട്രിബ്യൂട്ടുകൾ സുരക്ഷിതമായി സംഗ്രഹിക്കുന്നത് സാധ്യമാക്കുന്നു, മറ്റ് ക്ലാസുകളിൽ നിന്ന് അവയെ സംരക്ഷിക്കുന്നു, എന്നാൽ അവയിലേക്ക് നിയന്ത്രിത ആക്‌സസ്സ് അനുവദിക്കുന്നു. ഓരോ ക്ലാസ് ആട്രിബ്യൂട്ടിനും ഗെറ്റ് ആൻഡ് സെറ്റ് ഓപ്പറേഷനുകൾ സൃഷ്ടിക്കുന്നത് സ്റ്റാൻഡേർഡാണ്.

സഹായ പ്രവർത്തനങ്ങൾ

ഹെൽപ്പർ ഓപ്പറേഷൻസ് എന്നത് ഒരു ക്ലാസിന്റെ ചുമതലകൾ നിർവഹിക്കുന്നതിന് ആവശ്യമായ പ്രവർത്തനങ്ങളാണ്, എന്നാൽ മറ്റ് ക്ലാസുകൾ ഒന്നും അറിയാൻ പാടില്ലാത്തതാണ്. ഇവ സ്വകാര്യവും പരിരക്ഷിതവുമായ ക്ലാസ് പ്രവർത്തനങ്ങളാണ്.

ഇടപാടുകൾ തിരിച്ചറിയാൻ, ഈ ഘട്ടങ്ങൾ പാലിക്കുക:

1. സീക്വൻസ് ഡയഗ്രമുകളും സഹകരണ ഡയഗ്രമുകളും പഠിക്കുക. ഈ ഡയഗ്രാമുകളിലെ മിക്ക സന്ദേശങ്ങളും നടപ്പിലാക്കൽ പ്രവർത്തനങ്ങളാണ്. പ്രതിഫലന സന്ദേശങ്ങൾ സഹായ പ്രവർത്തനങ്ങളായിരിക്കും.

2. നിയന്ത്രണ പ്രവർത്തനങ്ങൾ പരിഗണിക്കുക. നിങ്ങൾ കൺസ്ട്രക്റ്ററുകളും ഡിസ്ട്രക്റ്ററുകളും ചേർക്കേണ്ടതായി വന്നേക്കാം.

3. ആക്സസ് പ്രവർത്തനങ്ങൾ പരിഗണിക്കുക. മറ്റ് ക്ലാസുകൾ പ്രവർത്തിക്കേണ്ട ഓരോ ക്ലാസ് ആട്രിബ്യൂട്ടിനും, നിങ്ങൾ ഗെറ്റ് ആൻഡ് സെറ്റ് പ്രവർത്തനങ്ങൾ സൃഷ്ടിക്കേണ്ടതുണ്ട്.

4.4.2.7.കണക്ഷനുകൾ

ഒരു ബന്ധം ക്ലാസുകൾ തമ്മിലുള്ള സെമാന്റിക് ബന്ധത്തെ പ്രതിനിധീകരിക്കുന്നു. മറ്റൊരു ക്ലാസിന്റെ ആട്രിബ്യൂട്ടുകൾ, പ്രവർത്തനങ്ങൾ, ബന്ധങ്ങൾ എന്നിവയെക്കുറിച്ച് പഠിക്കാനുള്ള കഴിവ് ഇത് ഒരു ക്ലാസിന് നൽകുന്നു. മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, ഒരു ശ്രേണി ഡയഗ്രാമിലോ സഹകരണ ഡയഗ്രാമിലോ ഒരു ക്ലാസ് മറ്റൊന്നിലേക്ക് സന്ദേശം അയയ്ക്കുന്നതിന്, അവ തമ്മിൽ ഒരു ബന്ധം ഉണ്ടായിരിക്കണം.

ക്ലാസുകൾക്കിടയിൽ നാല് തരത്തിലുള്ള ബന്ധങ്ങൾ സ്ഥാപിക്കാൻ കഴിയും: അസോസിയേഷനുകൾ, ഡിപൻഡൻസികൾ, അഗ്രഗേഷനുകൾ, സാമാന്യവൽക്കരണങ്ങൾ.

കമ്മ്യൂണിക്കേഷൻ അസോസിയേഷൻ

ക്ലാസുകൾ തമ്മിലുള്ള ഒരു അർത്ഥപരമായ ബന്ധമാണ് അസോസിയേഷൻ. ക്ലാസ് ഡയഗ്രാമിൽ അവ ഒരു സാധാരണ വരയായി വരച്ചിരിക്കുന്നു.

അരി. 10. കമ്മ്യൂണിക്കേഷൻ അസോസിയേഷൻ

അസോസിയേഷനുകൾ ഉദാഹരണത്തിലെന്നപോലെ ദ്വിദിശയോ ഏകദിശയോ ആകാം. UML-ൽ, ദ്വിദിശ അസ്സോസിയേഷനുകൾ അമ്പുകളില്ലാതെയോ ഇരുവശത്തും അമ്പുകളോടെയോ ലളിതമായ ഒരു വരയായാണ് വരയ്ക്കുന്നത്. ഒരു ഏകദിശയിലുള്ള അസോസിയേഷന് അതിന്റെ ദിശ കാണിക്കുന്ന ഒരു അമ്പടയാളം മാത്രമേയുള്ളൂ.

സീക്വൻസ് ഡയഗ്രമുകളും കോഓപ്പറേറ്റീവ് ഡയഗ്രാമുകളും പരിശോധിച്ച് അസോസിയേഷന്റെ ദിശ നിർണ്ണയിക്കാനാകും. അവയിലെ എല്ലാ സന്ദേശങ്ങളും ഒരു ക്ലാസ് മാത്രം അയയ്‌ക്കുകയും മറ്റൊരു ക്ലാസ് മാത്രമേ സ്വീകരിക്കുകയും ചെയ്‌തിട്ടുള്ളൂ, എന്നാൽ തിരിച്ചും അല്ല, ഈ ക്ലാസുകൾക്കിടയിൽ ഒരു വൺ-വേ ആശയവിനിമയമുണ്ട്. കുറഞ്ഞത് ഒരു സന്ദേശമെങ്കിലും വിപരീത ദിശയിൽ അയച്ചാൽ, അസോസിയേഷൻ ദ്വിദിശയിലായിരിക്കണം.

അസോസിയേഷനുകൾ റിഫ്ലെക്സീവ് ആകാം. റിഫ്ലെക്‌സീവ് അസോസിയേഷനിൽ ഒരു ക്ലാസ് ഒരേ ക്ലാസിലെ മറ്റ് സംഭവങ്ങളുമായി സംവദിക്കുന്ന ഒരു സന്ദർഭം ഉൾപ്പെടുന്നു.

ആശയവിനിമയ ആസക്തി

ആശ്രിത ബന്ധങ്ങൾ ക്ലാസുകൾ തമ്മിലുള്ള ബന്ധത്തെ പ്രതിഫലിപ്പിക്കുന്നു, എന്നാൽ അവ എല്ലായ്പ്പോഴും ഏകപക്ഷീയവും ഒരു ക്ലാസ് മറ്റൊന്നിൽ നിർമ്മിച്ച നിർവചനങ്ങളെ ആശ്രയിച്ചിരിക്കുന്നു എന്ന് കാണിക്കുന്നു. ഉദാഹരണത്തിന്, ക്ലാസ് എ ക്ലാസ് ബിയുടെ രീതികൾ ഉപയോഗിക്കുന്നു. പിന്നെ ക്ലാസ് ബി മാറുമ്പോൾ, എ ക്ലാസിൽ അനുബന്ധ മാറ്റങ്ങൾ വരുത്തേണ്ടത് ആവശ്യമാണ്.

രണ്ട് ഡയഗ്രം ഘടകങ്ങൾക്കിടയിൽ വരച്ച ഒരു ഡോട്ട് വരയാൽ ഒരു ആശ്രിതത്വത്തെ പ്രതിനിധീകരിക്കുന്നു, അമ്പടയാളത്തിന്റെ അവസാനം നങ്കൂരമിട്ടിരിക്കുന്ന ഘടകം ആ അമ്പടയാളത്തിന്റെ തുടക്കത്തിൽ നങ്കൂരമിട്ടിരിക്കുന്ന ഘടകത്തെ ആശ്രയിച്ചിരിക്കുന്നു.

അരി. 11. ആശയവിനിമയ ആസക്തി

ഈ ക്ലാസുകൾക്കായി കോഡ് സൃഷ്ടിക്കുമ്പോൾ, അവയിലേക്ക് പുതിയ ആട്രിബ്യൂട്ടുകളൊന്നും ചേർക്കില്ല. എന്നിരുന്നാലും, ആശയവിനിമയത്തെ പിന്തുണയ്ക്കുന്നതിനായി ഭാഷാ-നിർദ്ദിഷ്ട ഓപ്പറേറ്റർമാർ സൃഷ്ടിക്കപ്പെടും.

ആശയവിനിമയ സമാഹരണം

അഗ്രിഗേഷനുകൾ കൂട്ടുകെട്ടിന്റെ ഒരു കർശനമായ രൂപമാണ്. സമ്പൂർണ്ണവും അതിന്റെ ഭാഗവും തമ്മിലുള്ള ബന്ധമാണ് അഗ്രഗേഷൻ. ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് കാർ എന്നൊരു ക്ലാസും എഞ്ചിൻ, ടയറുകൾ തുടങ്ങിയ ക്ലാസുകളും കാറിന്റെ മറ്റ് ഭാഗങ്ങൾക്കുള്ള ക്ലാസുകളും ഉണ്ടായിരിക്കാം. തൽഫലമായി, കാർ ക്ലാസിലെ ഒരു ഒബ്‌ജക്‌റ്റിൽ എഞ്ചിൻ ക്ലാസിലെ ഒരു ഒബ്‌ജക്‌റ്റ്, നാല് ടയർ ഒബ്‌ജക്‌റ്റുകൾ മുതലായവ അടങ്ങിയിരിക്കും. അഗ്രിഗേഷനുകൾ ക്ലാസിന് സമീപമുള്ള ഒരു വജ്രം ഉള്ള ഒരു രേഖയായി ദൃശ്യവൽക്കരിക്കുന്നു, അത് ഒരു പൂർണ്ണസംഖ്യയാണ്:

അരി. 11. കമ്മ്യൂണിക്കേഷൻ അഗ്രഗേഷൻ

ലളിതമായ അഗ്രഗേഷനുപുറമെ, കോമ്പോസിഷൻ എന്ന് വിളിക്കപ്പെടുന്ന ഒരു ശക്തമായ അഗ്രഗേഷൻ യുഎംഎൽ അവതരിപ്പിക്കുന്നു. കോമ്പോസിഷൻ അനുസരിച്ച്, ഒരു ഒബ്ജക്റ്റ്-ഭാഗം ഒരൊറ്റ മൊത്തത്തിൽ മാത്രമേ ഉൾപ്പെടൂ, കൂടാതെ, ഒരു ചട്ടം പോലെ, ഭാഗങ്ങളുടെ ജീവിത ചക്രം മൊത്തത്തിലുള്ള ചക്രവുമായി പൊരുത്തപ്പെടുന്നു: അവ ജീവിക്കുകയും മരിക്കുകയും ചെയ്യുന്നു. മൊത്തത്തിലുള്ള ഏതെങ്കിലും ഇല്ലാതാക്കൽ അതിന്റെ ഭാഗങ്ങൾക്ക് ബാധകമാണ്.

ഈ കാസ്കേഡിംഗ് ഇല്ലാതാക്കൽ പലപ്പോഴും അഗ്രഗേഷന്റെ നിർവചനത്തിന്റെ ഭാഗമായി കണക്കാക്കപ്പെടുന്നു, എന്നാൽ റോൾ മൾട്ടിപ്ലസിറ്റി 1..1 ആയിരിക്കുമ്പോൾ ഇത് എല്ലായ്പ്പോഴും സൂചിപ്പിക്കപ്പെടുന്നു; ഉദാഹരണത്തിന്, ഒരു ഉപഭോക്താവിനെ ഇല്ലാതാക്കേണ്ടത് ആവശ്യമാണെങ്കിൽ, ഈ ഇല്ലാതാക്കൽ ഓർഡറുകൾക്കും ബാധകമായിരിക്കണം (ഒപ്പം, ഓർഡർ ലൈനുകളിലും).

OO സിസ്റ്റങ്ങൾ വിവരിക്കുന്നതിനും ദൃശ്യവൽക്കരിക്കുന്നതിനും രൂപകൽപ്പന ചെയ്യുന്നതിനും ഡോക്യുമെന്റുചെയ്യുന്നതിനുമുള്ള ഒരു ഏകീകൃത ഗ്രാഫിക്കൽ മോഡലിംഗ് ഭാഷയാണ് UML. UML രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് OO സമീപനത്തെ അടിസ്ഥാനമാക്കിയുള്ള മോഡലിംഗ് സോഫ്റ്റ്‌വെയറിന്റെ പ്രക്രിയയെ പിന്തുണയ്ക്കുന്നതിനും ആശയപരവും പ്രോഗ്രാം സങ്കൽപ്പങ്ങളുടെയും ബന്ധം സംഘടിപ്പിക്കുന്നതിനും സങ്കീർണ്ണമായ സിസ്റ്റങ്ങളുടെ സ്കെയിലിംഗ് പ്രശ്നങ്ങൾ പ്രതിഫലിപ്പിക്കുന്നതിനും വേണ്ടിയാണ്. ബിസിനസ് വിശകലനം മുതൽ സിസ്റ്റം മെയിന്റനൻസ് വരെയുള്ള സോഫ്റ്റ്‌വെയർ ജീവിത ചക്രത്തിന്റെ എല്ലാ ഘട്ടങ്ങളിലും UML മോഡലുകൾ ഉപയോഗിക്കുന്നു. വ്യത്യസ്‌ത ഓർഗനൈസേഷനുകൾ അവരുടെ പ്രശ്‌ന മേഖലകളെയും അവർ ഉപയോഗിക്കുന്ന സാങ്കേതികവിദ്യകളെയും ആശ്രയിച്ച് അവർക്ക് അനുയോജ്യമെന്ന് തോന്നുന്ന രീതിയിൽ UML ഉപയോഗിച്ചേക്കാം.

UML-ന്റെ ഒരു സംക്ഷിപ്ത ചരിത്രം

90-കളുടെ മധ്യത്തോടെ, വിവിധ രചയിതാക്കൾ നിരവധി ഡസൻ OO മോഡലിംഗ് രീതികൾ നിർദ്ദേശിച്ചു, അവയിൽ ഓരോന്നും സ്വന്തം ഗ്രാഫിക്കൽ നൊട്ടേഷൻ ഉപയോഗിച്ചു. അതേ സമയം, ഈ രീതികളിലേതെങ്കിലും അതിന്റെ ശക്തികളുണ്ടായിരുന്നു, എന്നാൽ PS- ന്റെ മതിയായ പൂർണ്ണമായ മോഡൽ നിർമ്മിക്കാൻ അനുവദിച്ചില്ല, അത് "എല്ലാ വശങ്ങളിൽ നിന്നും" കാണിക്കുന്നു, അതായത്, ആവശ്യമായ എല്ലാ പ്രൊജക്ഷനുകളും (ലേഖനം 1 കാണുക). കൂടാതെ, OO മോഡലിംഗ് സ്റ്റാൻഡേർഡിന്റെ അഭാവം ഡെവലപ്പർമാർക്ക് ഏറ്റവും അനുയോജ്യമായ രീതി തിരഞ്ഞെടുക്കുന്നത് ബുദ്ധിമുട്ടാക്കി, ഇത് സോഫ്റ്റ്വെയർ വികസനത്തിൽ OO സമീപനം വ്യാപകമായി സ്വീകരിക്കുന്നത് തടഞ്ഞു.

ഒബ്ജക്റ്റ് മാനേജുമെന്റ് ഗ്രൂപ്പിന്റെ (OMG) അഭ്യർത്ഥനപ്രകാരം, ഒബ്ജക്റ്റ് ടെക്നോളജികളുടെയും ഡാറ്റാബേസുകളുടെയും മേഖലയിൽ മാനദണ്ഡങ്ങൾ സ്വീകരിക്കുന്നതിന് ഉത്തരവാദിത്തമുള്ള ഓർഗനൈസേഷൻ, ഏകീകരണത്തിന്റെയും സ്റ്റാൻഡേർഡൈസേഷന്റെയും അടിയന്തിര പ്രശ്നം മൂന്ന് ഏറ്റവും ജനപ്രിയമായ OO രീതികളുടെ രചയിതാക്കൾ പരിഹരിച്ചു - ജി. ബുച്ച്, ഡി. റാംബോ, എ. ജേക്കബ്സൺ എന്നിവർ ചേർന്ന് യുഎംഎൽ 1.1 പതിപ്പ് സൃഷ്ടിച്ചു, 1997-ൽ ഒഎംജി ഒരു മാനദണ്ഡമായി അംഗീകരിച്ചു.

UML ഒരു ഭാഷയാണ്

ഏത് ഭാഷയിലും ഒരു പദാവലിയും പദങ്ങൾ സംയോജിപ്പിച്ച് അർത്ഥവത്തായ നിർമ്മിതികൾ സൃഷ്ടിക്കുന്നതിനുള്ള നിയമങ്ങളും അടങ്ങിയിരിക്കുന്നു. ഇത് പ്രത്യേകിച്ചും, UML പോലെയുള്ള പ്രോഗ്രാമിംഗ് ഭാഷകൾ എങ്ങനെയാണ് ക്രമീകരിച്ചിരിക്കുന്നത്. ഗ്രാഫിക് ഘടകങ്ങൾ ഉപയോഗിച്ചാണ് ഭാഷാ നിഘണ്ടു രൂപപ്പെടുന്നത് എന്നതാണ് ഇതിന്റെ പ്രത്യേകത. ഓരോ ഗ്രാഫിക് ചിഹ്നത്തിനും അതുമായി ബന്ധപ്പെട്ട ഒരു പ്രത്യേക സെമാന്റിക്‌സ് ഉണ്ട്, അതിനാൽ ഒരു ഡവലപ്പർ സൃഷ്‌ടിച്ച ഒരു മോഡൽ മറ്റൊരാൾക്ക് വ്യക്തമായി മനസ്സിലാക്കാൻ കഴിയും, അതുപോലെ തന്നെ UML വ്യാഖ്യാനിക്കുന്ന ഒരു സോഫ്റ്റ്‌വെയർ ടൂൾ വഴിയും. ഇവിടെ നിന്ന്, പ്രത്യേകിച്ചും, UML-ൽ അവതരിപ്പിച്ച ഒരു സോഫ്റ്റ്‌വെയർ മോഡൽ ഒരു OO പ്രോഗ്രാമിംഗ് ഭാഷയിലേക്ക് (ജാവ, C++, VisualBasic പോലുള്ളവ) സ്വയമേവ വിവർത്തനം ചെയ്യാൻ കഴിയും, അതായത്, UML-നെ പിന്തുണയ്ക്കുന്ന ഒരു നല്ല വിഷ്വൽ മോഡലിംഗ് ടൂൾ ഉണ്ടെങ്കിൽ, മോഡൽ നിർമ്മിച്ചു, ഈ മോഡലിന് അനുയോജ്യമായ ഒരു സാമ്പിൾ പ്രോഗ്രാം കോഡും ഞങ്ങൾക്ക് ലഭിക്കും.

UML ഒരു ഭാഷയാണ്, ഒരു രീതിയല്ല എന്നത് ഊന്നിപ്പറയേണ്ടതാണ്. ഏത് ഘടകങ്ങളിൽ നിന്നാണ് മോഡലുകൾ സൃഷ്ടിക്കേണ്ടതെന്നും അവ എങ്ങനെ വായിക്കണമെന്നും ഇത് വിശദീകരിക്കുന്നു, എന്നാൽ ഏതൊക്കെ മോഡലുകൾ വികസിപ്പിക്കണം, ഏതൊക്കെ സന്ദർഭങ്ങളിൽ എന്നിവയെക്കുറിച്ച് ഒന്നും പറയുന്നില്ല. യു‌എം‌എൽ അടിസ്ഥാനമാക്കിയുള്ള ഒരു രീതി സൃഷ്ടിക്കുന്നതിന്, സോഫ്റ്റ്‌വെയർ വികസന പ്രക്രിയയുടെ വിവരണത്തോടൊപ്പം അത് അനുബന്ധമായി നൽകേണ്ടത് ആവശ്യമാണ്. അത്തരമൊരു പ്രക്രിയയുടെ ഒരു ഉദാഹരണം യുക്തിസഹമായ ഏകീകൃത പ്രക്രിയയാണ്, അത് തുടർന്നുള്ള ലേഖനങ്ങളിൽ ചർച്ചചെയ്യും.

UML നിഘണ്ടു

ഡയഗ്രാമുകളിൽ കാണിച്ചിരിക്കുന്ന എന്റിറ്റികളുടെയും അവയ്ക്കിടയിലുള്ള ബന്ധങ്ങളുടെയും രൂപത്തിലാണ് മോഡൽ പ്രതിനിധീകരിക്കുന്നത്.

സ്ഥാപനങ്ങളുടെയോമോഡലുകളുടെ പ്രധാന ഘടകങ്ങളായ അമൂർത്തങ്ങളാണ്. നാല് തരം എന്റിറ്റികളുണ്ട് - ഘടനാപരമായ (ക്ലാസ്, ഇന്റർഫേസ്, ഘടകം, ഉപയോഗ കേസ്, സഹകരണം, നോഡ്), പെരുമാറ്റം (ഇടപെടൽ, അവസ്ഥ), ഗ്രൂപ്പിംഗ് (പാക്കേജുകൾ), വ്യാഖ്യാനം (അഭിപ്രായങ്ങൾ). ഓരോ തരം എന്റിറ്റിക്കും അതിന്റേതായ ഗ്രാഫിക്കൽ പ്രാതിനിധ്യം ഉണ്ട്. ഡയഗ്രമുകൾ പഠിക്കുമ്പോൾ എന്റിറ്റികൾ വിശദമായി ചർച്ച ചെയ്യും.

ബന്ധംഎന്റിറ്റികൾ തമ്മിലുള്ള വിവിധ ബന്ധങ്ങൾ കാണിക്കുക. UML ഇനിപ്പറയുന്ന ബന്ധ തരങ്ങളെ നിർവചിക്കുന്നു:

  • ആസക്തിരണ്ട് എന്റിറ്റികൾ തമ്മിലുള്ള അത്തരമൊരു ബന്ധം കാണിക്കുന്നു, അവയിലൊന്നിലെ മാറ്റം - സ്വതന്ത്രം - മറ്റൊന്നിന്റെ സെമാന്റിക്സിനെ ബാധിക്കും - ആശ്രിതത്വം. ആശ്രിത എന്റിറ്റിയിൽ നിന്ന് സ്വതന്ത്ര എന്റിറ്റിയിലേക്ക് നയിക്കുന്ന ഡോട്ട് ഇട്ട അമ്പടയാളമാണ് ആശ്രിതത്വം പ്രതിനിധീകരിക്കുന്നത്.
  • അസോസിയേഷൻഒരു സത്തയുടെ വസ്തുക്കൾ മറ്റൊന്നിന്റെ വസ്തുക്കളുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു എന്ന് കാണിക്കുന്ന ഘടനാപരമായ ബന്ധമാണ്. ഗ്രാഫിക്കലായി, ബന്ധപ്പെട്ട എന്റിറ്റികളെ ബന്ധിപ്പിക്കുന്ന ഒരു വരിയായി ഒരു അസോസിയേഷൻ കാണിക്കുന്നു. വസ്തുക്കൾക്കിടയിൽ നാവിഗേറ്റ് ചെയ്യാൻ അസോസിയേഷനുകൾ സഹായിക്കുന്നു. ഉദാഹരണത്തിന്, "ഓർഡർ", "ഉൽപ്പന്നം" എന്നീ ക്ലാസുകൾ തമ്മിലുള്ള ബന്ധം ഒരു വശത്ത്, ഒരു നിർദ്ദിഷ്ട ക്രമത്തിൽ വ്യക്തമാക്കിയ എല്ലാ ഉൽപ്പന്നങ്ങളും കണ്ടെത്താനോ അല്ലെങ്കിൽ ഈ ഉൽപ്പന്നം ഉൾക്കൊള്ളുന്ന എല്ലാ ഓർഡറുകളും കണ്ടെത്താനോ ഉപയോഗിക്കാം. അനുബന്ധ പ്രോഗ്രാമുകൾ അത്തരം നാവിഗേഷൻ നൽകുന്ന ഒരു സംവിധാനം നടപ്പിലാക്കണമെന്ന് വ്യക്തമാണ്. ഒരു ദിശയിൽ മാത്രം നാവിഗേഷൻ ആവശ്യമാണെങ്കിൽ, അത് അസോസിയേഷന്റെ അവസാനം ഒരു അമ്പടയാളത്താൽ സൂചിപ്പിക്കുന്നു. അസോസിയേഷന്റെ ഒരു പ്രത്യേക കേസ് അഗ്രഗേഷൻ ആണ് - "മുഴുവൻ" - "ഭാഗം" എന്ന ഫോമിന്റെ ബന്ധം. ഗ്രാഫിക്കലായി, സാരാംശം മുഴുവനുമായി അവസാനം ഒരു വജ്രം കൊണ്ട് ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്നു.
  • പൊതുവൽക്കരണംഒരു പാരന്റ് എന്റിറ്റിയും ഒരു ചൈൽഡ് എന്റിറ്റിയും തമ്മിലുള്ള ബന്ധമാണ്. അടിസ്ഥാനപരമായി, ഈ ബന്ധം ക്ലാസുകൾക്കും വസ്തുക്കൾക്കുമുള്ള അനന്തരാവകാശത്തിന്റെ സ്വത്ത് പ്രതിഫലിപ്പിക്കുന്നു. പാരന്റ് എന്റിറ്റിയിലേക്ക് നയിക്കുന്ന ഒരു ത്രികോണത്തിൽ അവസാനിക്കുന്ന ഒരു വരിയായി സാമാന്യവൽക്കരണം കാണിക്കുന്നു. കുട്ടിക്ക് മാതാപിതാക്കളുടെ ഘടനയും (ആട്രിബ്യൂട്ടുകളും) പെരുമാറ്റവും (രീതികൾ) പാരമ്പര്യമായി ലഭിക്കുന്നു, എന്നാൽ അതേ സമയം അതിന് പുതിയ ഘടന ഘടകങ്ങളും പുതിയ രീതികളും ഉണ്ടാകാം. ഒന്നിലധികം പാരന്റ് എന്റിറ്റികളുമായി ഒരു എന്റിറ്റി ബന്ധപ്പെട്ടിരിക്കുന്നിടത്ത് UML ഒന്നിലധികം അനന്തരാവകാശം അനുവദിക്കുന്നു.
  • നടപ്പിലാക്കൽ- ഈ സ്വഭാവം (ക്ലാസ്, ഘടകം) നടപ്പിലാക്കുന്നത് നിർവചിക്കുന്ന ഒരു എന്റിറ്റിയുമായുള്ള പെരുമാറ്റത്തിന്റെ (ഇന്റർഫേസ്) ഒരു സ്പെസിഫിക്കേഷൻ നിർവചിക്കുന്ന ഒരു എന്റിറ്റി തമ്മിലുള്ള ബന്ധം. ഘടകങ്ങൾ മോഡലിംഗ് ചെയ്യുമ്പോൾ ഈ ബന്ധം സാധാരണയായി ഉപയോഗിക്കാറുണ്ട്, തുടർന്നുള്ള ലേഖനങ്ങളിൽ കൂടുതൽ വിശദമായി വിവരിക്കും.

ഡയഗ്രമുകൾ. UML ഇനിപ്പറയുന്ന ഡയഗ്രമുകൾ നൽകുന്നു:

  • സിസ്റ്റത്തിന്റെ സ്വഭാവം വിവരിക്കുന്ന ഡയഗ്രമുകൾ:
    • സംസ്ഥാന ഡയഗ്രമുകൾ
    • പ്രവർത്തന ഡയഗ്രമുകൾ,
    • ഒബ്ജക്റ്റ് ഡയഗ്രമുകൾ,
    • സീക്വൻസ് ഡയഗ്രമുകൾ,
    • സഹകരണ ഡയഗ്രമുകൾ;
  • സിസ്റ്റത്തിന്റെ ഭൗതിക നിർവ്വഹണത്തെ വിവരിക്കുന്ന ഡയഗ്രമുകൾ:
    • ഘടക ഡയഗ്രമുകൾ;
    • വിന്യാസ ഡയഗ്രമുകൾ.

മോഡൽ നിയന്ത്രണ കാഴ്ച. പാക്കേജുകൾ.

ഒരു മാതൃക മനുഷ്യർക്ക് നന്നായി മനസ്സിലാക്കാൻ, ശ്രേണിയുടെ ഓരോ തലത്തിലും ഒരു ചെറിയ എണ്ണം എന്റിറ്റികൾ അവശേഷിപ്പിച്ച്, അത് ശ്രേണിപരമായി ക്രമീകരിക്കേണ്ടത് ആവശ്യമാണെന്ന് ഞങ്ങൾ ഇതിനകം പറഞ്ഞിട്ടുണ്ട്. UML-ൽ ഒരു മോഡലിന്റെ ഒരു ശ്രേണിപരമായ പ്രാതിനിധ്യം സംഘടിപ്പിക്കുന്നതിനുള്ള ഒരു മാർഗം ഉൾപ്പെടുന്നു - പാക്കേജുകൾ. ക്ലാസുകൾ, ഉപയോഗ കേസുകൾ, മറ്റ് എന്റിറ്റികൾ, ഡയഗ്രമുകൾ എന്നിവ ഉൾക്കൊള്ളുന്ന ഒരു കൂട്ടം പാക്കേജുകൾ ഏത് മോഡലിലും അടങ്ങിയിരിക്കുന്നു. ഒരു പാക്കേജിൽ മറ്റ് പാക്കേജുകൾ അടങ്ങിയിരിക്കാം, ഇത് ശ്രേണികൾ സൃഷ്ടിക്കാൻ അനുവദിക്കുന്നു. UML പ്രത്യേക പാക്കേജ് ഡയഗ്രമുകൾ നൽകുന്നില്ല, പക്ഷേ അവ മറ്റ് ഡയഗ്രാമുകളിൽ ദൃശ്യമാകാം. പാക്കേജ് ഒരു ബുക്ക്മാർക്ക് ഉള്ള ഒരു ദീർഘചതുരമായി ചിത്രീകരിച്ചിരിക്കുന്നു.

UML എന്താണ് നൽകുന്നത്.

  • പാക്കേജുകൾ തിരിച്ചറിയുന്നതിലൂടെ സങ്കീർണ്ണമായ ഒരു സിസ്റ്റത്തിന്റെ ശ്രേണിപരമായ വിവരണം;
  • ഉപയോഗ കേസുകളുടെ ഉപകരണം ഉപയോഗിച്ച് സിസ്റ്റത്തിനായുള്ള പ്രവർത്തനപരമായ ആവശ്യകതകളുടെ ഔപചാരികവൽക്കരണം;
  • പ്രവർത്തന ഡയഗ്രമുകളും സാഹചര്യങ്ങളും നിർമ്മിച്ച് സിസ്റ്റം ആവശ്യകതകൾ വിശദീകരിക്കുന്നു;
  • ഡാറ്റ ക്ലാസുകൾ തിരിച്ചറിയുകയും ക്ലാസ് ഡയഗ്രമുകളുടെ രൂപത്തിൽ ഒരു ആശയപരമായ ഡാറ്റ മോഡൽ നിർമ്മിക്കുകയും ചെയ്യുക;
  • ഉപയോക്തൃ ഇന്റർഫേസ് വിവരിക്കുന്ന ക്ലാസുകൾ തിരിച്ചറിയുകയും ഒരു സ്ക്രീൻ നാവിഗേഷൻ സ്കീം സൃഷ്ടിക്കുകയും ചെയ്യുന്നു;
  • സിസ്റ്റം ഫംഗ്ഷനുകൾ നടത്തുമ്പോൾ വസ്തുക്കളുടെ പ്രതിപ്രവർത്തന പ്രക്രിയകളുടെ വിവരണം;
  • പ്രവർത്തനത്തിന്റെയും സംസ്ഥാന ഡയഗ്രാമുകളുടെയും രൂപത്തിൽ ഒബ്ജക്റ്റ് സ്വഭാവത്തിന്റെ വിവരണം;
  • സോഫ്റ്റ്വെയർ ഘടകങ്ങളുടെ വിവരണവും ഇന്റർഫേസുകളിലൂടെയുള്ള അവയുടെ ഇടപെടലും;
  • സിസ്റ്റത്തിന്റെ ഫിസിക്കൽ ആർക്കിടെക്ചറിന്റെ വിവരണം.

പിന്നെ അവസാനത്തെ കാര്യം...

UML-ന്റെ എല്ലാ ആകർഷണീയതയും ഉണ്ടായിരുന്നിട്ടും, വിഷ്വൽ മോഡലിംഗ് ടൂളുകൾ ഇല്ലാതെ യഥാർത്ഥ സോഫ്റ്റ്‌വെയർ മോഡലിംഗിൽ ഉപയോഗിക്കുന്നത് ബുദ്ധിമുട്ടാണ്. ഡിസ്പ്ലേ സ്ക്രീനിൽ ഡയഗ്രമുകൾ വേഗത്തിൽ അവതരിപ്പിക്കാനും അവ രേഖപ്പെടുത്താനും വിവിധ OO പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ പ്രോഗ്രാം കോഡ് ടെംപ്ലേറ്റുകൾ സൃഷ്ടിക്കാനും ഡാറ്റാബേസ് സ്കീമകൾ സൃഷ്ടിക്കാനും അത്തരം ഉപകരണങ്ങൾ നിങ്ങളെ അനുവദിക്കുന്നു. അവയിൽ മിക്കതിലും പ്രോഗ്രാം കോഡുകൾ പുനഃക്രമീകരിക്കുന്നതിനുള്ള സാധ്യത ഉൾപ്പെടുന്നു - പ്രോഗ്രാമുകളുടെ സോഴ്‌സ് കോഡുകൾ സ്വയമേവ വിശകലനം ചെയ്തുകൊണ്ട് സോഫ്റ്റ്‌വെയർ മോഡലിന്റെ ചില പ്രൊജക്ഷനുകൾ പുനഃസ്ഥാപിക്കുന്നു, ഇത് മോഡലും കോഡുകളും തമ്മിലുള്ള അനുരൂപത ഉറപ്പാക്കുന്നതിനും മുൻഗാമി സിസ്റ്റങ്ങളുടെ പ്രവർത്തനക്ഷമത പാരമ്പര്യമായി നൽകുന്ന സിസ്റ്റങ്ങൾ രൂപകൽപ്പന ചെയ്യുന്നതിനും വളരെ പ്രധാനമാണ്.

ഒരു വസ്തുവിന്റെ ജീവിതകാലത്ത്, വസ്തുവിന്റെ സൃഷ്ടി മുതൽ അതിന്റെ നാശം വരെയുള്ള പെരുമാറ്റം കാണിക്കുക. ഓരോ സംസ്ഥാന ഡയഗ്രാമും ചില ഓട്ടോമാറ്റണുകളെ പ്രതിനിധീകരിക്കുന്നു.

പ്രവർത്തന പദ്ധതി

വിവരണ വിഭാഗത്തിൽ, ഡയഗ്രമുകൾ വായിക്കാൻ ആവശ്യമായ സ്റ്റേറ്റ്‌ചാർട്ട് ചിഹ്നങ്ങളുടെ അടിസ്ഥാന സെറ്റ് പഠിക്കുക.

മറ്റ് വിഭാഗങ്ങൾ (ഉദാഹരണം, ആപ്ലിക്കേഷൻ) വായിച്ചതിനുശേഷം, സംസ്ഥാന ഡയഗ്രമുകൾ സ്വയം സൃഷ്ടിക്കാൻ നിങ്ങൾക്ക് ശ്രമിക്കാം.

കുറിപ്പുകൾ (വിവരണം)

അടിസ്ഥാന പ്രതീക സെറ്റ് ഇതാ സംസ്ഥാന ഡയഗ്രമുകൾ, ഡയഗ്രം വായിക്കാൻ കഴിയണം. മറ്റ് വിഭാഗങ്ങൾ ("ഉദാഹരണം", "അപ്ലിക്കേഷൻ") വായിച്ചതിനുശേഷം നിങ്ങൾക്ക് രചിക്കാൻ കഴിയും സംസ്ഥാന ഡയഗ്രമുകൾസ്വന്തം നിലയിൽ!

കാലാവധി ചിത്രം വിവരണം
പ്രാരംഭ സ്യൂഡോസ്റ്റേറ്റ് സിസ്റ്റത്തിന്റെ പ്രാരംഭ അവസ്ഥ
സംക്രമണം സംക്രമണം എന്നാൽ ഒരു അവസ്ഥയിൽ നിന്ന് മറ്റൊരു അവസ്ഥയിലേക്ക് നീങ്ങുന്നു.
സംസ്ഥാനം സിസ്റ്റം നടത്തുന്ന പ്രവർത്തനങ്ങളെ സൂചിപ്പിക്കുന്നു (സാധ്യമായ ഓപ്ഷനുകൾ ഉൾപ്പെട്ടേക്കാം) അഭിനേതാക്കൾ നിരീക്ഷിച്ച ഫലങ്ങളിലേക്ക് നയിക്കുന്നു.
സംസ്ഥാനം
പ്രവർത്തന നില
ഒരു മുൻവിധിയിലെ ബുദ്ധിമുട്ടുള്ള ഒരു ഘട്ടം മറ്റൊരു മുൻഗാമിയാൽ പ്രതിനിധീകരിക്കാം.
UML പദങ്ങളിൽ, ആദ്യ ഉപയോഗ കേസിൽ രണ്ടാമത്തേത് ഉൾപ്പെടുന്നുവെന്ന് ഞങ്ങൾ പറയുന്നു.
അന്തിമ അവസ്ഥ സിസ്റ്റങ്ങളുടെ അല്ലെങ്കിൽ സബ്സിസ്റ്റങ്ങളുടെ അതിരുകൾ നിർവചിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു.
ആന്തരിക പ്രവർത്തനങ്ങൾ സംസ്ഥാനങ്ങൾക്ക് ഒരു മാറ്റം വരുത്താതെ തന്നെ ഇവന്റുകളോട് പ്രതികരിക്കാൻ കഴിയുന്ന സന്ദർഭം, ഈ സാഹചര്യത്തിൽ ഇവന്റ്, സംരക്ഷണം, പ്രവർത്തനം എന്നിവ സംസ്ഥാന ദീർഘചതുരത്തിനുള്ളിൽ സ്ഥാപിക്കുന്നു.
ഇൻപുട്ട് പ്രവർത്തനം നിങ്ങൾ ഒരു സംസ്ഥാനത്ത് പ്രവേശിക്കുമ്പോഴെല്ലാം ഇൻപുട്ട് പ്രവർത്തനം നടപ്പിലാക്കും
ഔട്ട്പുട്ട് പ്രവർത്തനം എക്സിറ്റ് ആക്റ്റിവിറ്റി - നിങ്ങൾ സംസ്ഥാനം വിടുമ്പോഴെല്ലാം നിർവ്വഹിക്കുന്നു.
സൂപ്പർ സ്റ്റേറ്റ്
പല സംസ്ഥാനങ്ങൾക്കും പൊതുവായ പരിവർത്തനങ്ങളും ആന്തരിക പ്രവർത്തനങ്ങളും ഉണ്ടെന്ന് പലപ്പോഴും സംഭവിക്കുന്നു. അത്തരം സന്ദർഭങ്ങളിൽ, അവയെ സബ്സ്റ്റേറ്റുകളാക്കി മാറ്റാനും മൊത്തത്തിലുള്ള പെരുമാറ്റം ഒരു സൂപ്പർസ്റ്റേറ്റിലേക്ക് മാറ്റാനും കഴിയും.
സമാന്തര സംസ്ഥാനങ്ങൾ
സംസ്ഥാനങ്ങളെ ഒരേസമയം പ്രവർത്തിക്കുന്ന ഒന്നിലധികം സമാന്തര സംസ്ഥാനങ്ങളായി വിഭജിക്കാം.

സർഗ്ഗാത്മകതയുടെ സാങ്കേതിക വിദ്യകൾ എങ്ങനെ ഉപയോഗിക്കാം

ഒന്നിലധികം ഉപയോഗ കേസുകളിലുടനീളം ഒരൊറ്റ ഒബ്‌ജക്റ്റിന്റെ സ്വഭാവം വിവരിക്കാൻ UML സ്റ്റേറ്റ്‌ചാർട്ടുകൾ നല്ലതാണ്. എന്നാൽ പല വസ്തുക്കളുടെയും ഇടപെടൽ സ്വഭാവമുള്ള സ്വഭാവം വിവരിക്കുന്നതിന് അവ വളരെ അനുയോജ്യമല്ല. അതിനാൽ, സംസ്ഥാന ഡയഗ്രമുകളുമായി സംയോജിച്ച് മറ്റ് സാങ്കേതികവിദ്യകൾ ഉപയോഗിക്കുന്നത് യുക്തിസഹമാണ്. ഉദാഹരണത്തിന്, ഇന്ററാക്ഷൻ ഡയഗ്രമുകൾ (അധ്യായം 4) ഒരു ഉപയോഗ കേസിൽ ഒന്നിലധികം വസ്തുക്കളുടെ സ്വഭാവവും UML പ്രവർത്തന ഡയഗ്രമുകളും വിവരിക്കുന്ന ഒരു മികച്ച ജോലി ചെയ്യുന്നു. നിരവധി ഉപയോഗ സന്ദർഭങ്ങളിൽ നിരവധി വസ്തുക്കളുടെ പ്രവർത്തനങ്ങളുടെ അടിസ്ഥാന ക്രമം കാണിക്കുന്നത് നല്ലതാണ്.

എല്ലാവരും സംസ്ഥാന ഡയഗ്രമുകൾ സ്വാഭാവികമാണെന്ന് കരുതുന്നില്ല. വിദഗ്ധർ അവരുമായി എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് കാണുക. സംസ്ഥാന ചാർട്ടുകൾ അവരുടെ പ്രവർത്തന ശൈലിക്ക് അനുയോജ്യമാണെന്ന് നിങ്ങളുടെ ടീം അംഗങ്ങൾ കരുതുന്നുണ്ടാകില്ല. ഇതല്ല ഏറ്റവും വലിയ ബുദ്ധിമുട്ട്; വ്യത്യസ്ത പ്രവർത്തന രീതികൾ ഒരുമിച്ച് ഉപയോഗിക്കാൻ നിങ്ങൾ ഓർക്കണം.

നിങ്ങൾ സംസ്ഥാന ഡയഗ്രമുകൾ ഉപയോഗിക്കുകയാണെങ്കിൽ, സിസ്റ്റത്തിന്റെ എല്ലാ ക്ലാസുകൾക്കും അവ വരയ്ക്കാൻ ശ്രമിക്കരുത്. ഔപചാരികമായി കർശനമായ പൂർണ്ണതയ്ക്കായി ഈ സമീപനം പലപ്പോഴും ഉപയോഗിക്കാറുണ്ട്, എന്നാൽ ഇത് മിക്കവാറും എല്ലായ്‌പ്പോഴും പ്രയത്നത്തിന്റെ പാഴാക്കലാണ്. ഒരു സ്റ്റേറ്റ്‌ചാർട്ട് വരയ്ക്കുന്നത് കാര്യങ്ങൾ എങ്ങനെ സംഭവിക്കുന്നുവെന്ന് മനസിലാക്കാൻ സഹായിക്കുന്ന രസകരമായ പെരുമാറ്റം പ്രകടിപ്പിക്കുന്ന ക്ലാസുകൾക്ക് മാത്രം സ്റ്റേറ്റ്‌ചാർട്ടുകൾ ഉപയോഗിക്കുക.

പല വിദഗ്ധരും വിശ്വസിക്കുന്നു UI എഡിറ്ററിനും കൺട്രോൾ ഒബ്‌ജക്റ്റുകൾക്കും ഒരു സ്റ്റേറ്റ് ഡയഗ്രം ഉപയോഗിച്ച് പ്രദർശിപ്പിക്കുമ്പോൾ ഉപയോഗപ്രദമായ പ്രവർത്തനക്ഷമതയുണ്ട്.

എങ്ങനെ പഠിക്കണം

പഠിക്കാൻ കഴിയുന്നത്ര ലളിതമായ മാർഗ്ഗം നൽകാൻ ഞങ്ങൾ ഇവിടെ ശ്രമിച്ചു UML സംസ്ഥാന ഡയഗ്രമുകൾ.

മറ്റ് പല ഭാഷകളെയും പോലെ, ഇത് വിവരണത്തിനായി ഒരു കൂട്ടം ചിഹ്നങ്ങൾ ഉപയോഗിക്കുന്നു. ഈ അടയാളങ്ങളുടെ അർത്ഥം "കുറിപ്പുകൾ (വിവരണം)" വിഭാഗത്തിലെ പട്ടികയിൽ കാണാം. ഓരോ ചിഹ്നത്തിനും അതിന്റേതായ പേരും (പദവും) അക്ഷരവിന്യാസവും ഉണ്ട്. കൂടാതെ, ഓരോ പദത്തിനും അതിന്റെ അടിസ്ഥാന സാരാംശം വേഗത്തിൽ മനസ്സിലാക്കാൻ ഒരു ഹ്രസ്വ വിശദീകരണം നൽകിയിട്ടുണ്ട്.

അടുത്തതായി, "ഉദാഹരണങ്ങൾ" വിഭാഗത്തിലേക്ക് പോകാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു സംസ്ഥാന ഡയഗ്രമുകൾവ്യത്യസ്ത ഡയഗ്രമുകൾ വായിക്കാൻ നിങ്ങളുടെ കൈ പരീക്ഷിക്കാൻ. “അപ്ലിക്കേഷൻ” വിഭാഗം പഠിക്കുന്നത് മൂല്യവത്താണ്, കാരണം, യു‌എം‌എല്ലിലെ ഡയഗ്രം തരങ്ങളുടെ എണ്ണം ചെറുതാണെങ്കിലും, അവയുടെ ഉദ്ദേശ്യത്തിനായി അനുബന്ധ ഡയഗ്രമുകൾ ഉപയോഗിച്ചാൽ മാത്രമേ നിങ്ങൾക്ക് അവയുടെ ഉപയോഗത്തിൽ നിന്ന് പരമാവധി നേട്ടങ്ങൾ ലഭിക്കൂ.

ഉപയോഗ ഉദാഹരണം

സ്റ്റേറ്റ് മെഷീൻ ഡയഗ്രമുകൾഒരു സിസ്റ്റത്തിന്റെ സ്വഭാവം വിവരിക്കുന്നതിനുള്ള ഒരു അറിയപ്പെടുന്ന സാങ്കേതികവിദ്യയാണ്. 1960 മുതൽ സംസ്ഥാന ഡയഗ്രമുകൾ ഒരു രൂപത്തിലല്ലെങ്കിൽ മറ്റൊന്നിൽ ഉണ്ട്, ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിംഗിന്റെ ആദ്യ നാളുകളിൽ ഒരു സിസ്റ്റത്തിന്റെ സ്വഭാവത്തെ പ്രതിനിധീകരിക്കാൻ അവ ഉപയോഗിച്ചിരുന്നു. ഒബ്‌ജക്‌റ്റ് ഓറിയന്റഡ് സമീപനങ്ങളിൽ, ഒരൊറ്റ ഒബ്‌ജക്‌റ്റിന്റെ ജീവിതകാലം മുഴുവൻ അതിന്റെ സ്വഭാവം കാണിക്കുന്നതിന് നിങ്ങൾ ഒരു ക്ലാസിന്റെ ഒരു സംസ്ഥാന ഡയഗ്രം വരയ്ക്കുന്നു.

ഫിനിറ്റ് സ്റ്റേറ്റ് മെഷീനുകളെ കുറിച്ച് എഴുതുമ്പോഴെല്ലാം, ഉദാഹരണങ്ങളിൽ അനിവാര്യമായും ക്രൂയിസ് കൺട്രോൾ സിസ്റ്റങ്ങളോ വെൻഡിംഗ് മെഷീനുകളോ ഉൾപ്പെടുന്നു.
ഒരു ഗോതിക് കോട്ടയിൽ ഒരു രഹസ്യ നിയന്ത്രണ പാനൽ കൺട്രോളർ ഉപയോഗിക്കാൻ ഞങ്ങൾ തീരുമാനിച്ചു. ഈ കോട്ടയിൽ ഞങ്ങളുടെ നിധികൾ മറയ്ക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു, അങ്ങനെ അവ കണ്ടെത്താൻ പ്രയാസമാണ്. സേഫ് ലോക്ക് ആക്സസ് ചെയ്യുന്നതിന്, മെഴുകുതിരിയിൽ നിന്ന് തന്ത്രപ്രധാനമായ മെഴുകുതിരി നീക്കം ചെയ്യണം, പക്ഷേ വാതിൽ അടച്ചാൽ മാത്രമേ ലോക്ക് ദൃശ്യമാകൂ. ലോക്ക് പ്രത്യക്ഷപ്പെട്ടതിനുശേഷം, നമുക്ക് അതിൽ കീ തിരുകുകയും സുരക്ഷിതം തുറക്കുകയും ചെയ്യാം. കൂടുതൽ സുരക്ഷയ്ക്കായി, മെഴുകുതിരി നീക്കം ചെയ്തതിന് ശേഷം മാത്രമേ സേഫ് തുറക്കാൻ കഴിയൂ. കള്ളൻ ഈ മുൻകരുതൽ ശ്രദ്ധിച്ചില്ലെങ്കിൽ, കള്ളനെ വിഴുങ്ങുന്ന അറപ്പുളവാക്കുന്ന ഒരു രാക്ഷസനെ നമ്മൾ അഴിച്ചുവിടും.

ചിത്രത്തിൽ. 10.1 കാണിച്ചിരിക്കുന്നു സംസ്ഥാന ഡയഗ്രംഎന്റെ ഫാൻസി സുരക്ഷാ സംവിധാനം നിയന്ത്രിക്കുന്ന ഒരു കൺട്രോളർ ക്ലാസ്. കൺട്രോളർ ഒബ്‌ജക്‌റ്റ് സൃഷ്‌ടിക്കുന്ന അവസ്ഥയിൽ നിന്നാണ് സ്റ്റേറ്റ് ഡയഗ്രം ആരംഭിക്കുന്നത്: സംസ്ഥാനം കാത്തിരിക്കൂ. ഇത് ഡയഗ്രാമിൽ സൂചിപ്പിച്ചിരിക്കുന്നു പ്രാരംഭ സ്യൂഡോസ്റ്റേറ്റ്, ഇത് ഒരു സംസ്ഥാനമല്ലെങ്കിലും പ്രാരംഭ അവസ്ഥയിലേക്ക് ചൂണ്ടിക്കാണിക്കുന്ന ഒരു അമ്പടയാളമുണ്ട്.
കൺട്രോളർ മൂന്ന് സംസ്ഥാനങ്ങളിൽ ഒന്നിൽ ആയിരിക്കാമെന്ന് ഡയഗ്രം കാണിക്കുന്നു: കാത്തിരിക്കുക, ലോക്ക് ചെയ്യുക, തുറക്കുക. കൺട്രോളർ ഒരു സംസ്ഥാനത്ത് നിന്ന് മറ്റൊന്നിലേക്ക് മാറുന്ന നിയമങ്ങളും ഡയഗ്രം കാണിക്കുന്നു. ഈ നിയമങ്ങൾ സംക്രമണങ്ങളുടെ രൂപത്തിൽ അവതരിപ്പിച്ചിരിക്കുന്നു - സംസ്ഥാനങ്ങളെ ബന്ധിപ്പിക്കുന്ന വരികൾ.

സംക്രമണം എന്നാൽ ഒരു അവസ്ഥയിൽ നിന്ന് മറ്റൊരു അവസ്ഥയിലേക്ക് നീങ്ങുന്നു. ഓരോ പരിവർത്തനത്തിനും അതിന്റേതായ ലേബൽ ഉണ്ട്, അതിൽ മൂന്ന് ഭാഗങ്ങൾ അടങ്ങിയിരിക്കുന്നു:
ട്രിഗർ-സിഗ്നേച്ചർ / പ്രവർത്തനം. അവയെല്ലാം ഓപ്ഷണൽ ആണ്. സാധാരണയായി, ട്രിഗർ-ഐഡിസംസ്ഥാനത്ത് മാറ്റത്തിന് കാരണമാകുന്ന ഒരേയൊരു സംഭവം.

ഗാർഡ്, വ്യക്തമാക്കിയിട്ടുണ്ടെങ്കിൽ, ഒരു ലോജിക്കൽ അവസ്ഥയാണ്, അത് പരിവർത്തനം നടക്കുന്നതിന് തൃപ്തിപ്പെടണം. ഒരു പരിവർത്തന സമയത്ത് സിസ്റ്റത്തിന്റെ ചില സ്വഭാവമാണ് പ്രവർത്തനം. ഇത് ഏത് പെരുമാറ്റ പ്രകടനവുമാകാം. ഒരു ഐഡി ട്രിഗറിന്റെ പൂർണ്ണരൂപത്തിൽ ഒന്നിലധികം ഇവന്റുകളും പാരാമീറ്ററുകളും ഉൾപ്പെടാം. വെയിറ്റ് സ്റ്റേറ്റിൽ നിന്ന് (ചിത്രം 10.1) മറ്റൊരു അവസ്ഥയിലേക്കുള്ള മാറ്റം "വെയിറ്റ് സ്റ്റേറ്റിൽ, മെഴുകുതിരി നീക്കം ചെയ്താൽ, നിങ്ങൾ ഒരു ലോക്ക് കാണുകയും ലോക്ക് അവസ്ഥയിലേക്ക് പോകുകയും ചെയ്യുന്നു" എന്ന് വായിക്കാം.

സംക്രമണ വിവരണത്തിന്റെ മൂന്ന് ഭാഗങ്ങളും ഓപ്ഷണലാണ്. പ്രവർത്തനം ഒഴിവാക്കുന്നത് അർത്ഥമാക്കുന്നത് പരിവർത്തന സമയത്ത് ഒന്നും സംഭവിക്കുന്നില്ല എന്നാണ്. ഷീൽഡുകൾ ഒഴിവാക്കുക എന്നതിനർത്ഥം ഒരു ട്രിഗർ ഇവന്റ് സംഭവിക്കുകയാണെങ്കിൽ പരിവർത്തനം എല്ലായ്പ്പോഴും സംഭവിക്കുമെന്നാണ്. ട്രിഗർ ഐഡി അപൂർവ്വമായി കാണുന്നില്ല, പക്ഷേ അത് സംഭവിക്കുന്നു. ഇതിനർത്ഥം പരിവർത്തനം ഉടനടി സംഭവിക്കുന്നു, ഇത് പ്രധാനമായും സജീവമായ സംസ്ഥാനങ്ങളിൽ നിരീക്ഷിക്കാൻ കഴിയും.

ഒരു പ്രത്യേക അവസ്ഥയിൽ ഒരു ഇവന്റ് സംഭവിക്കുമ്പോൾ, ഈ അവസ്ഥയിൽ നിന്ന് ഒരു പരിവർത്തനം മാത്രമേ സാധ്യമാകൂ, ഉദാഹരണത്തിന്, ലോക്ക് അവസ്ഥയിൽ (ചിത്രം 10.1), പരിരക്ഷകൾ പരസ്പരവിരുദ്ധമായിരിക്കണം. ഒരു ഇവന്റ് സംഭവിക്കുകയും അനുവദനീയമായ സംക്രമണങ്ങളൊന്നും ഇല്ലാതിരിക്കുകയും ചെയ്താൽ - ഉദാഹരണത്തിന്, വെയിറ്റ് അവസ്ഥയിൽ ഒരു സേഫ് അടയ്ക്കുക അല്ലെങ്കിൽ വാതിൽ തുറന്നിരിക്കുമ്പോൾ ഒരു മെഴുകുതിരി നീക്കം ചെയ്യുക - ഇവന്റ് അവഗണിക്കപ്പെടും.

അന്തിമ അവസ്ഥ ( അന്തിമ അവസ്ഥ) എന്നാൽ സ്റ്റേറ്റ് മെഷീൻ പ്രവർത്തിക്കുന്നത് പൂർത്തിയാക്കി, ഇത് കൺട്രോളർ ഒബ്ജക്റ്റ് ഇല്ലാതാക്കുന്നു എന്നാണ്. അതിനാൽ കെണിയിൽ വീഴാൻ വേണ്ടത്ര അശ്രദ്ധരായവർക്ക്, കൺട്രോളർ ഒബ്‌ജക്റ്റ് ഇല്ലാതാകുന്നതിനാൽ, മുയലിനെ വീണ്ടും കൂട്ടിൽ കയറ്റാനും തറ തുടയ്ക്കാനും സിസ്റ്റം റീബൂട്ട് ചെയ്യാനും ഞങ്ങൾ നിർബന്ധിതരാകുന്നു.

സ്‌റ്റേറ്റ് മെഷീനുകൾക്ക് നേരിട്ട് നിരീക്ഷിക്കുകയോ പ്രവർത്തിക്കുകയോ ചെയ്യുന്ന വസ്തുക്കളെ മാത്രമേ കാണിക്കാൻ കഴിയൂ എന്ന് ഓർക്കുക. അതിനാൽ, വാതിൽ തുറന്നിരിക്കുമ്പോൾ ഞങ്ങൾ എന്തെങ്കിലും ഇടുകയോ സേഫിൽ നിന്ന് എന്തെങ്കിലും എടുക്കുകയോ ചെയ്യുമെന്ന് നിങ്ങൾ പ്രതീക്ഷിക്കുന്നുണ്ടെങ്കിലും, കൺട്രോളറിന് ഇതിനെക്കുറിച്ച് ഞങ്ങളോട് ഒന്നും പറയാൻ കഴിയാത്തതിനാൽ ഞങ്ങൾ ഇത് ഡയഗ്രാമിൽ അടയാളപ്പെടുത്തിയില്ല.

ഡെവലപ്പർമാർ ഒബ്‌ജക്റ്റുകളെ കുറിച്ച് സംസാരിക്കുമ്പോൾ, അവർ പലപ്പോഴും ഒബ്‌ജക്‌റ്റുകളുടെ അവസ്ഥയെ പരാമർശിക്കുന്നു, അതായത് ഒബ്‌ജക്റ്റുകളുടെ ഫീൽഡുകളിൽ അടങ്ങിയിരിക്കുന്ന എല്ലാ ഡാറ്റയുടെയും സംയോജനം. എന്നിരുന്നാലും, ഒരു സ്റ്റേറ്റ് മെഷീൻ ഡയഗ്രാമിലെ ഒരു സംസ്ഥാനം സംസ്ഥാനത്തിന്റെ കൂടുതൽ അമൂർത്തമായ ആശയമാണ്; സംഭവങ്ങളോട് പ്രതികരിക്കുന്നതിന് വ്യത്യസ്ത സംസ്ഥാനങ്ങൾക്ക് വ്യത്യസ്ത രീതികൾ ആവശ്യമാണ് എന്നതാണ് കാര്യം.

ഒരു സ്റ്റേറ്റ് ചാർട്ടിലെ ആന്തരിക പ്രവർത്തനങ്ങൾ

ഒരു പരിവർത്തനം നടത്താതെ തന്നെ സംസ്ഥാനങ്ങൾക്ക് ഇവന്റുകളോട് പ്രതികരിക്കാൻ കഴിയും ആന്തരിക പ്രവർത്തനങ്ങൾ (ആന്തരിക പ്രവർത്തനങ്ങൾ), ഈ സാഹചര്യത്തിൽ ഇവന്റ്, സംരക്ഷണം, പ്രവർത്തനം എന്നിവ സംസ്ഥാന ദീർഘചതുരത്തിനുള്ളിൽ സ്ഥാപിച്ചിരിക്കുന്നു.

ചിത്രത്തിൽ. 10.2 ആന്തരിക ചിഹ്ന പ്രവർത്തനങ്ങളും സഹായ സിസ്റ്റം ഇവന്റുകളും ഉള്ള സംസ്ഥാനം കാണിക്കുന്നു, അത് എഡിറ്ററുടെ ടെക്സ്റ്റ് ഫീൽഡുകളിൽ നിങ്ങൾക്ക് നിരീക്ഷിക്കാനാകും. UI. ആന്തരിക പ്രവർത്തനം ഒരു സ്വയം പരിവർത്തനം പോലെയാണ് - അതേ അവസ്ഥയിലേക്ക് മടങ്ങുന്ന ഒരു പരിവർത്തനം. സംഭവങ്ങൾ, പരിരക്ഷകൾ, നടപടിക്രമങ്ങൾ എന്നിവയുടെ അതേ ലോജിക്കൽ സ്കീം അനുസരിച്ചാണ് ആന്തരിക പ്രവർത്തനങ്ങളുടെ വാക്യഘടന നിർമ്മിച്ചിരിക്കുന്നത്.

ചിത്രത്തിൽ. 10.2 പ്രത്യേക പ്രവർത്തനങ്ങളും കാണിക്കുന്നു: ഇൻപുട്ട്, ഔട്ട്പുട്ട് പ്രവർത്തനങ്ങൾ. ഇൻപുട്ട് പ്രവർത്തനംനിങ്ങൾ ഒരു സംസ്ഥാനത്ത് പ്രവേശിക്കുമ്പോഴെല്ലാം നടപ്പിലാക്കും; ഔട്ട്പുട്ട് പ്രവർത്തനം- നിങ്ങൾ സംസ്ഥാനം വിടുമ്പോഴെല്ലാം. എന്നിരുന്നാലും, ആഭ്യന്തര പ്രവർത്തനങ്ങൾ ആരംഭിച്ചിട്ടില്ല ഇൻപുട്ട്, ഔട്ട്പുട്ട് പ്രവർത്തനങ്ങൾ; ഇതാണ് തമ്മിലുള്ള വ്യത്യാസം ആന്തരിക പ്രവർത്തനങ്ങൾ ഒപ്പംസ്വയം പരിവർത്തനങ്ങൾ .

ഒരു സംസ്ഥാന ഡയഗ്രാമിൽ പ്രവർത്തനം പ്രസ്താവിക്കുന്നു

നമ്മൾ ഇതുവരെ വിവരിച്ച സംസ്ഥാനങ്ങളിൽ, വസ്തു നിശബ്ദമാണ്, എന്തെങ്കിലും ചെയ്യുന്നതിനുമുമ്പ് അടുത്ത സംഭവത്തിനായി കാത്തിരിക്കുന്നു. എന്നിരുന്നാലും, ഒബ്ജക്റ്റ് ചില പ്രവർത്തനങ്ങൾ പ്രകടിപ്പിക്കുന്ന അവസ്ഥകൾ സാധ്യമാണ്.

സംസ്ഥാനം തിരയുന്നുചിത്രത്തിൽ. 10.3 അത്തരമൊരു അവസ്ഥയാണ് പ്രവർത്തന നില: നടന്നുകൊണ്ടിരിക്കുന്ന പ്രവർത്തനം ഒരു ചിഹ്നത്താൽ സൂചിപ്പിച്ചിരിക്കുന്നു ചെയ്യുക/; അതിനാൽ ഈ പദം ചെയ്യേണ്ട-പ്രവർത്തനം (സജീവമായിരിക്കുക). തിരയൽ പൂർത്തിയായ ശേഷം, പുതിയ ഉപകരണങ്ങൾ കാണിക്കുന്നത് പോലെയുള്ള പ്രവർത്തനങ്ങളില്ലാതെ പരിവർത്തനങ്ങൾ നടത്തുന്നു (പുതിയ ഹാർഡ്‌വെയർ പ്രദർശിപ്പിക്കുക). ഒരു പ്രവർത്തനത്തിനിടയിൽ ഒരു റദ്ദാക്കൽ ഇവന്റ് സംഭവിക്കുകയാണെങ്കിൽ ( റദ്ദാക്കുക), അത് ചെയ്യേണ്ട-പ്രവർത്തനംതടസ്സപ്പെടുത്തുന്നു, ഞങ്ങൾ സംസ്ഥാനത്തേക്ക് മടങ്ങുന്നു ഹാർഡ്‌വെയർ വിൻഡോ അപ്‌ഡേറ്റ് ചെയ്യുക.

ചെയ്യേണ്ട പ്രവർത്തനങ്ങളും സാധാരണ പ്രവർത്തനങ്ങളും ചില സ്വഭാവങ്ങളുടെ പ്രകടനത്തെ പ്രതിനിധീകരിക്കുന്നു. ഇവ രണ്ടും തമ്മിലുള്ള നിർണായക വ്യത്യാസം, സാധാരണ പ്രവർത്തനങ്ങൾ "തൽക്ഷണം" സംഭവിക്കുന്നു, സാധാരണ സംഭവങ്ങളാൽ തടസ്സപ്പെടുത്താൻ കഴിയില്ല, അതേസമയം പ്രവർത്തനങ്ങൾ പരിമിതമായ സമയത്തേക്ക് പ്രവർത്തിക്കുകയും തടസ്സപ്പെടുത്തുകയും ചെയ്യാം, ചിത്രം 1 ൽ കാണിച്ചിരിക്കുന്നു. 10.3 തൽക്ഷണം വ്യത്യസ്ത സിസ്റ്റങ്ങൾക്ക് വ്യത്യസ്തമായി വ്യാഖ്യാനിക്കപ്പെടുന്നു; തത്സമയ സിസ്റ്റങ്ങൾക്ക് ഇത് നിരവധി മെഷീൻ നിർദ്ദേശങ്ങൾ എടുത്തേക്കാം, ഡെസ്ക്ടോപ്പ് സോഫ്‌റ്റ്‌വെയറിനായി ഇതിന് കുറച്ച് സെക്കന്റുകൾ എടുത്തേക്കാം.

IN UML 1സാധാരണ പ്രവർത്തനങ്ങൾ ഈ പദത്താൽ നിയുക്തമാക്കിയിരിക്കുന്നു നടപടി(പ്രവർത്തനം), കാലാവധി പ്രവർത്തനം(പ്രവർത്തനം) ഇതിനായി മാത്രം ഉപയോഗിച്ചു ചെയ്യേണ്ട-പ്രവർത്തനങ്ങൾ.

സൂപ്പർസ്റ്റേറ്റുകൾ

പല സംസ്ഥാനങ്ങൾക്കും പൊതുവായ പരിവർത്തനങ്ങളും ആന്തരിക പ്രവർത്തനങ്ങളും ഉണ്ടെന്ന് പലപ്പോഴും സംഭവിക്കുന്നു. അത്തരം സന്ദർഭങ്ങളിൽ, അവയെ സബ്സ്റ്റേറ്റുകളാക്കി മാറ്റാനും മൊത്തത്തിലുള്ള പെരുമാറ്റം ഒരു സൂപ്പർസ്റ്റേറ്റിലേക്ക് മാറ്റാനും കഴിയും, ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നത് പോലെ. 10.4 ഒരു സൂപ്പർസ്റ്റേറ്റ് ഇല്ലെങ്കിൽ, നമുക്ക് ഒരു പരിവർത്തനം വരയ്ക്കേണ്ടി വരും റദ്ദാക്കുക(റദ്ദാക്കുക) ഒരു സംസ്ഥാനത്തിനുള്ളിലെ മൂന്ന് സംസ്ഥാനങ്ങൾക്കും കണക്ഷൻ വിശദാംശങ്ങൾ നൽകുക.

സമാന്തര സംസ്ഥാനങ്ങൾ

സംസ്ഥാനങ്ങളെ ഒരേസമയം പ്രവർത്തിക്കുന്ന ഒന്നിലധികം സമാന്തര സംസ്ഥാനങ്ങളായി വിഭജിക്കാം. ചിത്രത്തിൽ. ചിത്രം 10.5 ഒരു സിഡി അല്ലെങ്കിൽ റേഡിയോ ഓൺ ചെയ്യാനും നിലവിലെ സമയമോ അലാറം സമയമോ കാണിക്കാനും കഴിയുന്ന ഒരു ലളിതമായ അലാറം ക്ലോക്ക് കാണിക്കുന്നു.

CD/Radio, Current Time/Alarm Time എന്നീ ഓപ്ഷനുകൾ സമാന്തരമാണ്. ഒരു നോൺ-പാരലൽ സ്റ്റേറ്റ് ഡയഗ്രം ഉപയോഗിച്ച് ഇത് പ്രതിനിധീകരിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, നിങ്ങൾക്ക് സ്റ്റേറ്റുകൾ ചേർക്കേണ്ടിവരുമ്പോൾ ഒരു കുഴപ്പമുള്ള ഡയഗ്രം ലഭിക്കും. പെരുമാറ്റത്തിന്റെ രണ്ട് മേഖലകളെ രണ്ട് സംസ്ഥാന ഡയഗ്രാമുകളായി വേർതിരിക്കുന്നത് അത് കൂടുതൽ വ്യക്തമാക്കുന്നു.

അരി. 10.5 എന്നിവയും ഉൾപ്പെടുന്നു ചരിത്രാതീത കാലത്തെ അവസ്ഥ(സ്യൂഡോസ്റ്റേറ്റ് ചരിത്രം). ഇതിനർത്ഥം ക്ലോക്ക് ഓണായിരിക്കുമ്പോൾ, റേഡിയോ/സിഡി ഓപ്ഷൻ ക്ലോക്ക് ഓഫാക്കിയപ്പോൾ ഉണ്ടായിരുന്ന അവസ്ഥയിലേക്ക് പോകുന്നു എന്നാണ്. ചരിത്രാതീതകാലത്ത് നിന്ന് പുറത്തുവരുന്ന അമ്പടയാളം, ചരിത്രാതീതകാലം ഇല്ലാതിരുന്നപ്പോൾ ആദ്യം നിലനിന്നിരുന്ന അവസ്ഥയെ കാണിക്കുന്നു.

സ്റ്റേറ്റ് ചാർട്ടുകൾ നടപ്പിലാക്കുന്നു

ഒരു സംസ്ഥാന ഡയഗ്രം മൂന്ന് പ്രധാന വഴികളിൽ നടപ്പിലാക്കാൻ കഴിയും: ഒരു നെസ്റ്റഡ് സ്വിച്ച് സ്റ്റേറ്റ്മെന്റ്, ഒരു സ്റ്റേറ്റ് പാറ്റേൺ, ഒരു സ്റ്റേറ്റ് ടേബിൾ എന്നിവ ഉപയോഗിച്ച്. സ്റ്റേറ്റ്‌ചാർട്ടുകളിൽ പ്രവർത്തിക്കുന്നതിനുള്ള ഏറ്റവും നേരിട്ടുള്ള സമീപനം ചിത്രം പോലെയുള്ള ഒരു നെസ്റ്റഡ് സ്വിച്ച് സ്റ്റേറ്റ്‌മെന്റാണ്. 10.6

ഈ രീതി ലളിതമാണെങ്കിലും, ഈ ലളിതമായ കേസിന് പോലും ഇത് വളരെ ദൈർഘ്യമേറിയതാണ്. കൂടാതെ, ഈ സമീപനത്തിലൂടെ നിയന്ത്രണം നഷ്ടപ്പെടുന്നത് വളരെ എളുപ്പമാണ്, അതിനാൽ പ്രാഥമിക സാഹചര്യങ്ങളിൽ പോലും ഇത് ഉപയോഗിക്കാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നില്ല.
സംസ്ഥാന സ്വഭാവം കൈകാര്യം ചെയ്യുന്നതിനുള്ള സംസ്ഥാന ക്ലാസുകളുടെ ഒരു ശ്രേണിയെ സ്റ്റേറ്റ് പാറ്റേൺ പ്രതിനിധീകരിക്കുന്നു. ഒരു സംസ്ഥാന ഡയഗ്രാമിലെ ഓരോ സംസ്ഥാനത്തിനും അതിന്റേതായ ഉപവിഭാഗം സംസ്ഥാനമുണ്ട്. കൺട്രോളറിന് ഓരോ ഇവന്റിനുമുള്ള രീതികളുണ്ട്, അത് സംസ്ഥാന ക്ലാസിലേക്ക് കൈമാറുന്നു. ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്ന സംസ്ഥാന ഡയഗ്രം. ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്ന ക്ലാസുകൾ ഉപയോഗിച്ച് 10.1 നടപ്പിലാക്കാം. 10.7

ഇവന്റുകൾ പ്രോസസ്സ് ചെയ്യുന്ന എല്ലാ രീതികളുടെയും വിവരണം ഉൾക്കൊള്ളുന്ന ഒരു അമൂർത്ത ക്ലാസാണ് ശ്രേണിയുടെ മുകൾഭാഗം, എന്നാൽ നടപ്പിലാക്കാതെ.
ഓരോ നിർദ്ദിഷ്ട സംസ്ഥാനത്തിനും, സംസ്ഥാനത്ത് നിന്ന് ഒരു പരിവർത്തനം ആരംഭിക്കുന്ന ഒരു നിർദ്ദിഷ്ട ഇവന്റിനായി ഹാൻഡ്‌ലർ രീതി മാറ്റിയെഴുതിയാൽ മതിയാകും.
ഒരു സ്റ്റേറ്റ് ടേബിൾ ഒരു സ്റ്റേറ്റ് ഡയഗ്രം ഡാറ്റയായി പ്രതിനിധീകരിക്കുന്നു.

അതിനാൽ, ചിത്രത്തിലെ ഡയഗ്രം. 10.1 ഒരു പട്ടികയുടെ രൂപത്തിൽ അവതരിപ്പിക്കാം. 10.1
റൺടൈം സ്റ്റേറ്റ് ടേബിൾ ഉപയോഗിക്കുന്ന ഒരു ഇന്റർപ്രെറ്റർ അല്ലെങ്കിൽ ആ ടേബിളിൽ നിന്ന് ക്ലാസുകൾ സൃഷ്ടിക്കുന്ന ഒരു കോഡ് ജനറേറ്റർ ഞങ്ങൾ നിർമ്മിക്കുന്നു.

വ്യക്തമായും, സ്റ്റേറ്റ് ടേബിളിലെ ഭൂരിഭാഗം ജോലികളും ഒരിക്കൽ ചെയ്തു, എന്നാൽ ഒരു സംസ്ഥാന പ്രശ്നം പരിഹരിക്കപ്പെടുമ്പോൾ അത് ഉപയോഗിക്കാനാകും. റൺടൈം സ്റ്റേറ്റ് ടേബിൾ റീകംപൈൽ ചെയ്യാതെ തന്നെ പരിഷ്‌ക്കരിക്കാവുന്നതാണ്, ഇത് കുറച്ച് സൗകര്യപ്രദമാണ്. സംസ്ഥാന ടെംപ്ലേറ്റ് കൂട്ടിച്ചേർക്കാൻ എളുപ്പമാണ്, ഓരോ സംസ്ഥാനത്തിനും ഒരു പ്രത്യേക ക്ലാസ് ആവശ്യമാണെങ്കിലും, എഴുതേണ്ട കോഡിന്റെ അളവ് വളരെ ചെറുതാണ്.

കാണിച്ചിരിക്കുന്ന നിർവ്വഹണങ്ങൾ ഏതാണ്ട് കുറവാണ്, പക്ഷേ അവ എങ്ങനെ ഉപയോഗിക്കണം എന്നതിനെക്കുറിച്ചുള്ള ഒരു ആശയം നൽകുന്നു സംസ്ഥാന ഡയഗ്രമുകൾ. ഓരോ സാഹചര്യത്തിലും, സ്റ്റേറ്റ് മോഡലുകൾ നടപ്പിലാക്കുന്നത് ഒരു സ്റ്റീരിയോടൈപ്പിക്കൽ പ്രോഗ്രാമിന് കാരണമാകുന്നു, അതിനാൽ ഇത് നേടുന്നതിന് ഏതെങ്കിലും തരത്തിലുള്ള കോഡ് സൃഷ്ടിക്കുന്നത് അവലംബിക്കുന്നതാണ് നല്ലത്.

സൈറ്റിന്റെ വാർത്തകൾ സബ്‌സ്‌ക്രൈബ് ചെയ്യുക; സൈറ്റിന്റെ വലത് കോളത്തിൽ നിങ്ങൾക്ക് സബ്‌സ്‌ക്രിപ്‌ഷൻ ഫോം കണ്ടെത്താനാകും.

പ്രൊഫഷണലായി ഒരു ഫ്രീലാൻസർ ആയി എങ്ങനെ പ്രവർത്തിക്കാമെന്ന് നിങ്ങൾക്ക് പഠിക്കണമെങ്കിൽ, ഞങ്ങൾ നിങ്ങളെ "" കോഴ്‌സിലേക്ക് ക്ഷണിക്കുന്നു.

UML അല്ലെങ്കിൽ ഏകീകൃത മോഡലിംഗ് ലാംഗ്വേജ് എന്നത് സോഫ്‌റ്റ്‌വെയർ വികസന മേഖലയിലെ ഒബ്‌ജക്റ്റ് മോഡലിംഗിനുള്ള ഒരു ഗ്രാഫിക്കൽ വിവരണ ഭാഷയാണ്. എന്നാൽ യു‌എം‌എല്ലിന്റെ ഉപയോഗം ഐടിയിൽ മാത്രം ഒതുങ്ങുന്നില്ല; യു‌എം‌എല്ലിന്റെ പ്രായോഗിക പ്രയോഗത്തിന്റെ മറ്റൊരു വലിയ മേഖല ബിസിനസ്സ് പ്രക്രിയകൾ മോഡലിംഗ്, സിസ്റ്റം ഡിസൈൻ, ഓർഗനൈസേഷണൽ ഘടനകൾ മാപ്പിംഗ് എന്നിവയാണ്. പൊതുവായ ആശയങ്ങളെ പ്രതിനിധീകരിക്കുന്നതിനും രൂപകൽപ്പനയിലും വികസനത്തിലും ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നതിനും ഗ്രാഫിക്കൽ നൊട്ടേഷനുകൾ അംഗീകരിക്കാൻ സോഫ്റ്റ്‌വെയർ ഡെവലപ്പർമാരെ UML അനുവദിക്കുന്നു.

UML-ന്റെ പ്രയോജനങ്ങൾ

  • യു‌എം‌എൽ മോഡലിംഗ് ചെയ്യുന്ന സിസ്റ്റത്തിന്റെ ഘടകങ്ങൾക്ക് ഗ്രാഫിക്കൽ നൊട്ടേഷനുകൾ ഉപയോഗിക്കുന്നു, യു‌എം‌എൽ ഡയഗ്രമുകൾ മനസ്സിലാക്കാൻ വളരെ എളുപ്പമാണ്;
  • വിവിധ വശങ്ങൾ കണക്കിലെടുത്ത് സാധ്യമായ എല്ലാ കാഴ്ചപ്പാടുകളിൽ നിന്നും സിസ്റ്റങ്ങളെ വിവരിക്കുന്നത് UML സാധ്യമാക്കുന്നു;
  • UML ഒബ്‌ജക്റ്റ് ഓറിയന്റഡ് ആണ്: അതിന്റെ വിശകലന രീതികളും നിർമ്മാണ രീതികളും ആധുനിക OOP ഭാഷകളിൽ ഉപയോഗിക്കുന്ന പ്രോഗ്രാമിംഗ് രീതികളുമായി അർത്ഥപരമായി അടുത്താണ്;
  • UML ഒരു ഓപ്പൺ സ്റ്റാൻഡേർഡാണ്. സ്റ്റാൻഡേർഡ് പതിപ്പിൽ നിന്ന് പതിപ്പിലേക്ക് വികസിപ്പിക്കുകയും വികസിക്കുകയും ചെയ്യുന്നു, സിസ്റ്റങ്ങളെ വിവരിക്കുന്നതിനുള്ള ഏറ്റവും ആധുനിക ആവശ്യകതകൾ നിറവേറ്റുന്നു;
  • അധിക ടെക്‌സ്‌റ്റും ഗ്രാഫിക് തരങ്ങളും നൽകാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു വിപുലീകരണ സംവിധാനം അടങ്ങിയിരിക്കുന്നു, ഇത് ഐടി ഫീൽഡിൽ മാത്രമല്ല UML ഉപയോഗിക്കുന്നത് സാധ്യമാക്കുന്നു.

UML ഡയഗ്രം തരങ്ങൾ

UML-ൽ 14 തരം ഡയഗ്രമുകൾ ഉണ്ട്. അവയെ 2 വിഭാഗങ്ങളായി തിരിക്കാം:

  • ഘടനാപരമായ, വിവര ഘടനയെ പ്രതിനിധീകരിക്കുന്നു;
  • പെരുമാറ്റം, സിസ്റ്റത്തിന്റെ പെരുമാറ്റത്തെയും ഇടപെടലുകളുടെ വിവിധ വശങ്ങളെയും പ്രതിനിധീകരിക്കുന്നു. പെരുമാറ്റ ഡയഗ്രമുകളുടെ ഒരു പ്രത്യേക ഉപവിഭാഗം പരിഗണിക്കപ്പെടുന്നു ഇന്ററാക്ഷൻ ഡയഗ്രമുകൾ.

UML ഡയഗ്രം തരങ്ങളുടെ ശ്രേണി, ഒരു ക്ലാസ് ഡയഗ്രം പ്രതിനിധീകരിക്കുന്നു

ഘടനാരേഖകൾ

  1. ക്ലാസ് ഡയഗ്രംഒബ്ജക്റ്റ് ഓറിയന്റഡ് മോഡലിംഗിലെ ഒരു പ്രധാന ഘടകമാണ്. ഈ ഡയഗ്രം ഉപയോഗിക്കുന്നു (യഥാർത്ഥത്തിൽ, വഴി ക്ലാസുകൾ, അവരുടെ ഗുണവിശേഷങ്ങൾ, രീതികൾക്ലാസുകൾക്കിടയിലുള്ള ആശ്രിതത്വങ്ങളും) ഡൊമെയ്ൻ മോഡലും മാതൃകാപരമായ സിസ്റ്റത്തിന്റെ ഘടനയും വിവരിക്കുന്നു.
  2. ഘടകം ഡയഗ്രംപ്രോഗ്രാം കോഡിന്റെ തകർച്ച വലിയ ബ്ലോക്കുകളായി (ഘടനാപരമായ ഘടകങ്ങൾ) പ്രദർശിപ്പിക്കുകയും കാണിക്കുകയും ചെയ്യുന്നു ആശ്രിതത്വങ്ങൾഅവര്ക്കിടയില്. ഘടകങ്ങൾ പാക്കേജുകൾ, മൊഡ്യൂളുകൾ, ലൈബ്രറികൾ, ഫയലുകൾ മുതലായവ ആകാം.
  3. ഒബ്ജക്റ്റ് ഡയഗ്രംഒരു നിശ്ചിത സമയത്ത് സിമുലേറ്റഡ് സിസ്റ്റത്തിന്റെ പൂർണ്ണമായോ ഭാഗികമായോ ഒരു സ്ലൈസ് കാണിക്കുന്നു. ഇത് ക്ലാസ് സംഭവങ്ങൾ (വസ്തുക്കൾ), അവയുടെ അവസ്ഥ (നിലവിലെ ആട്രിബ്യൂട്ട് മൂല്യങ്ങൾ), അവ തമ്മിലുള്ള ബന്ധങ്ങൾ എന്നിവയെ പ്രതിനിധീകരിക്കുന്നു.
  4. സംയോജിത ഘടന ഡയഗ്രംക്ലാസുകളുടെ ആന്തരിക ഘടനയും സാധ്യമാകുന്നിടത്ത് ഈ ഘടനയുടെ ഘടകങ്ങൾ തമ്മിലുള്ള ഇടപെടലുകളും പ്രകടമാക്കുന്നു.
  5. പാക്കേജ് ഡയഗ്രംപാക്കേജുകളും അവ തമ്മിലുള്ള ബന്ധങ്ങളും കാണിക്കുന്നു. ചില മാനദണ്ഡങ്ങൾക്കനുസൃതമായി മോഡൽ ഘടകങ്ങളെ ഗ്രൂപ്പുകളായി സംയോജിപ്പിച്ച് മോഡലിന്റെ ഘടന (അതനുസരിച്ച്, അതിനോടൊപ്പം പ്രവർത്തിക്കുക) ലളിതമാക്കാൻ ഇത്തരത്തിലുള്ള ഡയഗ്രം സഹായിക്കുന്നു.
  6. വിന്യാസ ഡയഗ്രംസോഫ്റ്റ്‌വെയർ ഘടകങ്ങളുടെ വിന്യാസത്തെ മാതൃകയാക്കുന്നു ( പുരാവസ്തുക്കൾ) കമ്പ്യൂട്ടിംഗ് ഉറവിടങ്ങൾ / ഹാർഡ്‌വെയർ ഘടകങ്ങൾ ( നോഡുകൾ).
  7. പ്രൊഫൈൽ ഡയഗ്രം UML-നെ വിവിധ വിഷയ മേഖലകളിലേക്കും വ്യവസായങ്ങളിലേക്കും പൊരുത്തപ്പെടുത്താൻ അനുവദിക്കുന്ന ഒരു വിപുലീകരണ സംവിധാനം വിവരിക്കുന്നു.

ഉദാഹരണം UML ക്ലാസ് ഡയഗ്രം

പെരുമാറ്റ ഡയഗ്രമുകൾ

  1. പ്രവർത്തന ഡയഗ്രംപ്രവർത്തനങ്ങൾ കാണിക്കുന്നു ( പ്രവർത്തനങ്ങൾ) ഇതിൽ ചില പ്രവർത്തനങ്ങൾ ഉൾപ്പെടുന്നു ( പ്രവർത്തനം). ബിസിനസ്സ് പ്രക്രിയകൾ, സാങ്കേതിക പ്രക്രിയകൾ, സീക്വൻഷ്യൽ, പാരലൽ കമ്പ്യൂട്ടിംഗ് എന്നിവ മാതൃകയാക്കാൻ പ്രവർത്തന ഡയഗ്രമുകൾ ഉപയോഗിക്കുന്നു.
  2. കേസ് ഡയഗ്രം ഉപയോഗിക്കുക(അഥവാ കേസ് ഡയഗ്രം ഉപയോഗിക്കുക) അഭിനേതാക്കൾ (അഭിനേതാക്കൾ) തമ്മിലുള്ള ബന്ധവും മാതൃകാ സംവിധാനത്തിന്റെ ഉപയോഗ കേസുകളും (അതിന്റെ കഴിവുകൾ) വിവരിക്കുന്നു. ഉപഭോക്താക്കൾക്കും ഡെവലപ്പർമാർക്കും അന്തിമ ഉപയോക്താക്കൾക്കും സിസ്റ്റത്തെക്കുറിച്ച് സംയുക്തമായി ചർച്ച ചെയ്യുന്നതിനുള്ള ഒരു സാർവത്രിക ഉപകരണമാണ് ഡയഗ്രാമിന്റെ പ്രധാന ലക്ഷ്യം - അതിന്റെ കഴിവുകളും പെരുമാറ്റവും.
  3. സംസ്ഥാന ഡയഗ്രംഒരു എന്റിറ്റിയുടെ ചലനാത്മക സ്വഭാവം ചിത്രീകരിക്കുന്നു, ഈ എന്റിറ്റി, അതിന്റെ നിലവിലെ അവസ്ഥയെ ആശ്രയിച്ച്, വിവിധ സംഭവങ്ങളോട് എങ്ങനെ പ്രതികരിക്കുന്നുവെന്ന് കാണിക്കുന്നു. ഇത് പ്രധാനമായും ആറ്റം സിദ്ധാന്തത്തിൽ നിന്നുള്ള ഒരു സംസ്ഥാന ഡയഗ്രമാണ്.
  4. ആശയവിനിമയ ഡയഗ്രം(മുമ്പത്തെ പതിപ്പുകളിൽ സഹകരണ ഡയഗ്രം) സംയുക്ത ഘടനയുടെ ഭാഗങ്ങളും സഹകരണത്തിന്റെ റോളുകളും തമ്മിലുള്ള ഇടപെടലുകൾ കാണിക്കുന്നു. ഘടകങ്ങൾ (വസ്തുക്കൾ) തമ്മിലുള്ള ബന്ധത്തെ ഡയഗ്രം വ്യക്തമായി സൂചിപ്പിക്കുന്നു.
  5. സീക്വൻസ് ഡയഗ്രംഒബ്ജക്റ്റ് ഇടപെടലുകളുടെ ക്രമം ദൃശ്യവൽക്കരിക്കാൻ ഉപയോഗിക്കുന്നു. നൽകിയിരിക്കുന്ന ഒബ്‌ജക്‌റ്റിന്റെ ജീവിത ചക്രവും ഒരു പ്രത്യേക ഉപയോഗ കേസിൽ അഭിനേതാക്കളുടെ (അഭിനേതാക്കളുടെ) ഇടപെടലും അവർ കൈമാറുന്ന സന്ദേശങ്ങളുടെ ക്രമവും കാണിക്കുന്നു.
  6. ഇന്ററാക്ഷൻ അവലോകന ഡയഗ്രംസീക്വൻസ് ഡയഗ്രാമിന്റെയും കൺട്രോൾ ഫ്ലോ ഡിസൈനിന്റെയും ഭാഗവും ഉൾപ്പെടുന്നു. വ്യത്യസ്ത വീക്ഷണകോണുകളിൽ നിന്ന് വസ്തുക്കളുടെ ഇടപെടൽ പരിഗണിക്കാൻ സഹായിക്കുന്നു.
  7. സമയ ഡയഗ്രം- ടൈമിംഗിൽ പ്രത്യേകതയുള്ള ഇന്ററാക്ഷൻ ഡയഗ്രമുകളുടെ ഒരു പ്രത്യേക ഉപവിഭാഗം. ഈ തരത്തിലുള്ള ഡയഗ്രമുകൾ ഒരു നിശ്ചിത കാലയളവിൽ വസ്തുക്കളുടെ സ്വഭാവം പഠിക്കാൻ ഉപയോഗിക്കുന്നു.