UML മോഡലിംഗ് ഭാഷ ഉപയോഗിച്ച് "സ്പോർട്സ് ക്ലബ് പ്രക്രിയകളുടെ ഓർഗനൈസേഷൻ" എന്ന വിഷയ മേഖലയുടെ ഒരു ഒബ്ജക്റ്റ് മോഡലിന്റെ നിർമ്മാണം. കോഴ്‌സ് വർക്ക്: ഒരു ഒബ്‌ജക്റ്റ് മോഡൽ നിർമ്മിക്കുക

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

മോഡലുകൾ സഹായിക്കുന്നു:

അതിന്റെ വികസനത്തിന്റെ പ്രാരംഭ ഘട്ടത്തിൽ വികസിപ്പിച്ചുകൊണ്ടിരിക്കുന്ന സിസ്റ്റത്തിന്റെ പ്രകടനം പരിശോധിക്കുക;

സിസ്റ്റം ഉപഭോക്താവുമായി ആശയവിനിമയം നടത്തുക, സിസ്റ്റത്തിനായുള്ള അവന്റെ ആവശ്യകതകൾ വ്യക്തമാക്കുക;

സിസ്റ്റം ഡിസൈനിൽ (ആവശ്യമെങ്കിൽ) മാറ്റങ്ങൾ വരുത്തുക (അതിന്റെ രൂപകല്പനയുടെ തുടക്കത്തിലും അതിന്റെ ജീവിത ചക്രത്തിന്റെ മറ്റ് ഘട്ടങ്ങളിലും).

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

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

ഒബ്ജക്റ്റ് മോഡൽ ക്ലാസുകൾ നിർവചിക്കുന്നു

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

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

ഫലമായി, സാധ്യമായ ക്ലാസ് പേരുകളുടെ ഇനിപ്പറയുന്ന ലിസ്റ്റ് നമുക്ക് ലഭിക്കും:

മറ്റൊരു പ്രോക്സി;

പ്രമാണം;

റിമോട്ട് വെബ് സെർവർ;

കോൺഫിഗറേഷൻ;

പ്രമാണത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ;

റിമോട്ട് വെബ് സെർവറിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ;

അഭ്യർത്ഥന തലക്കെട്ട്;

പ്രതികരണ തലക്കെട്ട്.

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

ആപ്ലിക്കേഷൻ സിസ്റ്റങ്ങൾ വികസിപ്പിക്കുമ്പോൾ, ഒബ്‌ജക്റ്റുകളുടെ എല്ലാ ഗുണങ്ങളും സ്വകാര്യമാണെന്ന് അനുമാനിക്കുന്നത് സൗകര്യപ്രദമാണ് (അതായത്, ഒബ്‌ജക്റ്റിന് പുറത്ത് അവ ആക്‌സസ് ചെയ്യാൻ കഴിയില്ല). ഒബ്ജക്റ്റ് പ്രവർത്തനങ്ങൾ പൊതുവായതോ സ്വകാര്യമോ ആകാം.

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

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

ഈ മാർഗങ്ങളിൽ ഒന്ന് ഡൈനാമിക് മോഡൽ ഉപസിസ്റ്റങ്ങൾ. സബ്സിസ്റ്റത്തിന്റെ ഒബ്ജക്റ്റ് മോഡൽ നിർമ്മിക്കുകയും മുമ്പ് അംഗീകരിക്കുകയും ഡീബഗ്ഗ് ചെയ്യുകയും ചെയ്തതിന് ശേഷമാണ് ഇത് നിർമ്മിച്ചിരിക്കുന്നത്. ഒരു സബ്സിസ്റ്റത്തിന്റെ ഡൈനാമിക് മോഡൽ അതിന്റെ സബ്സിസ്റ്റം ഒബ്ജക്റ്റുകളുടെ സ്റ്റേറ്റ് ഡയഗ്രമുകൾ ഉൾക്കൊള്ളുന്നു.

ഒരു വസ്തുവിന്റെ നിലവിലെ അവസ്ഥ അതിന്റെ ആട്രിബ്യൂട്ടുകളുടെയും ബന്ധങ്ങളുടെയും നിലവിലെ മൂല്യങ്ങളുടെ ഒരു കൂട്ടമാണ്. സിസ്റ്റത്തിന്റെ പ്രവർത്തന സമയത്ത്, അതിന്റെ ഘടക വസ്തുക്കൾ പരസ്പരം ഇടപഴകുന്നു, അതിന്റെ ഫലമായി അവയുടെ അവസ്ഥകൾ മാറുന്നു. സ്വാധീനത്തിന്റെ യൂണിറ്റ് ആണ് സംഭവം: ഓരോ ഇവന്റും സിസ്റ്റത്തിലെ ഒന്നോ അതിലധികമോ ഒബ്‌ജക്റ്റുകളുടെ അവസ്ഥയിലോ പുതിയ സംഭവങ്ങളുടെ സംഭവത്തിലേക്കോ നയിക്കുന്നു. ഒരു സിസ്റ്റത്തിന്റെ പ്രവർത്തനം അതിൽ സംഭവിക്കുന്ന സംഭവങ്ങളുടെ ക്രമമാണ്.

ചില സമയങ്ങളിൽ ഒരു സംഭവം സംഭവിക്കുന്നു. സംഭവങ്ങളുടെ ഉദാഹരണങ്ങൾ: റോക്കറ്റ് വിക്ഷേപണം, 100 മീറ്റർ ഓട്ടത്തിന്റെ ആരംഭം, വയറിംഗിന്റെ ആരംഭം, പണം നൽകൽ തുടങ്ങിയവ. ഇവന്റിന് ദൈർഘ്യമില്ല (കൂടുതൽ കൃത്യമായി പറഞ്ഞാൽ, ഇതിന് വളരെ കുറച്ച് സമയമെടുക്കും).

സംഭവങ്ങൾക്ക് കാര്യകാരണ ബന്ധമില്ലെങ്കിൽ (അതായത് അവ യുക്തിപരമായി സ്വതന്ത്രമാണ്), അവയെ വിളിക്കുന്നു സ്വതന്ത്രമായ(സമകാലികം). അത്തരം സംഭവങ്ങൾ പരസ്പരം ബാധിക്കുന്നില്ല. സ്വതന്ത്ര ഇവന്റുകൾ ക്രമപ്പെടുത്തുന്നതിൽ അർത്ഥമില്ല, കാരണം അവ ഏത് ക്രമത്തിലും സംഭവിക്കാം. ഒരു വിതരണം ചെയ്ത സിസ്റ്റം മോഡലിൽ സ്വതന്ത്രമായ ഇവന്റുകളും പ്രവർത്തനങ്ങളും ഉണ്ടായിരിക്കണം.

സംഭവങ്ങളുടെ ക്രമത്തെ സ്ക്രിപ്റ്റ് എന്ന് വിളിക്കുന്നു. സാഹചര്യങ്ങൾ വികസിപ്പിക്കുകയും വിശകലനം ചെയ്യുകയും ചെയ്ത ശേഷം, ഓരോ സാഹചര്യ പരിപാടിയും സൃഷ്ടിക്കുകയും സ്വീകരിക്കുകയും ചെയ്യുന്ന ഒബ്ജക്റ്റുകൾ നിർണ്ണയിക്കപ്പെടുന്നു.

ഒരു ഇവന്റ് സംഭവിക്കുമ്പോൾ, ഒബ്ജക്റ്റ് ഒരു പുതിയ അവസ്ഥയിലേക്ക് മാറുക മാത്രമല്ല, ഈ ഇവന്റുമായി ബന്ധപ്പെട്ട പ്രവർത്തനവും നടത്തുന്നു. ഒരു ഇവന്റുമായി ബന്ധപ്പെട്ട ഒരു തൽക്ഷണ പ്രവർത്തനമാണ് പ്രവർത്തനം.

ഒരു ഒബ്ജക്റ്റ് മോഡൽ നിർമ്മിക്കുന്ന പ്രക്രിയയിൽ ഇനിപ്പറയുന്ന ഘട്ടങ്ങൾ ഉൾപ്പെടുന്നു:

ഒബ്ജക്റ്റുകളുടെയും ക്ലാസുകളുടെയും നിർവചനം;

ഡാറ്റ നിഘണ്ടു തയ്യാറാക്കുന്നു:

വസ്തുക്കൾ തമ്മിലുള്ള ആശ്രിതത്വം നിർണ്ണയിക്കൽ;

വസ്തുക്കളുടെയും കണക്ഷനുകളുടെയും സവിശേഷതകൾ നിർണ്ണയിക്കുക;

പാരമ്പര്യം ഉപയോഗിക്കുമ്പോൾ ക്ലാസുകൾ സംഘടിപ്പിക്കുകയും ലളിതമാക്കുകയും ചെയ്യുക;

മോഡലിന്റെ കൂടുതൽ ഗവേഷണവും മെച്ചപ്പെടുത്തലും.

ക്ലാസുകൾ തമ്മിലുള്ള ആശ്രിതത്വം (വസ്തുക്കൾ)

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

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

അരി. 2.6 ക്ലാസുകൾ തമ്മിലുള്ള ആശ്രിതത്വം

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

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

ക്ലാസുകൾക്കിടയിലുള്ള ഡിപൻഡൻസികളുടെ കൂടുതൽ ഉദാഹരണങ്ങൾ ചിത്രം 2.7 ൽ കാണിച്ചിരിക്കുന്നു. ആദ്യത്തെ ഉദാഹരണം ഒരു ബാങ്ക് ഉപഭോക്താവും അവന്റെ അക്കൗണ്ടുകളും തമ്മിലുള്ള ബന്ധം കാണിക്കുന്നു. ഒരു ബാങ്ക് ക്ലയന്റിന് ഈ ബാങ്കിൽ ഒരേ സമയം നിരവധി അക്കൗണ്ടുകൾ ഉണ്ടായിരിക്കാം, അല്ലെങ്കിൽ ഒരു അക്കൗണ്ട് ഇല്ല (അവൻ ആദ്യം ബാങ്കിന്റെ ക്ലയന്റ് ആകുമ്പോൾ). അതിനാൽ, ക്ലയന്റും നിരവധി അക്കൗണ്ടുകളും തമ്മിലുള്ള ബന്ധം ചിത്രീകരിക്കേണ്ടത് ആവശ്യമാണ്, അത് ചിത്രം 2.7 ൽ ചെയ്തിരിക്കുന്നു. രണ്ടാമത്തെ ഉദാഹരണം വിഭജിക്കുന്ന വളഞ്ഞ (പ്രത്യേകിച്ച് നേർരേഖകൾ) തമ്മിലുള്ള ബന്ധം കാണിക്കുന്നു. നിങ്ങൾക്ക് അത്തരം 2, 3 അല്ലെങ്കിൽ അതിലധികമോ ലൈനുകൾ പരിഗണിക്കാം, അവയ്ക്ക് നിരവധി ഇന്റർസെക്ഷൻ പോയിന്റുകൾ ഉണ്ടായിരിക്കാം. അവസാനമായി, മൂന്നാമത്തെ ഉദാഹരണം ഒരു ഓപ്ഷണൽ ഡിപൻഡൻസി കാണിക്കുന്നു: കമ്പ്യൂട്ടറിന് ഒരു മൗസ് ഉണ്ടായിരിക്കാം അല്ലെങ്കിൽ ഇല്ലായിരിക്കാം.


ക്ലാസുകൾ തമ്മിലുള്ള ആശ്രിതത്വം ഈ ക്ലാസുകളുടെ ഒബ്ജക്റ്റുകൾ തമ്മിലുള്ള ആശ്രിതത്വവുമായി പൊരുത്തപ്പെടുന്നു. ചിത്രം 2.6 ന്റെ ആദ്യ ഉദാഹരണത്തിനായി ഒബ്‌ജക്റ്റുകൾ തമ്മിലുള്ള ആശ്രിതത്വം ചിത്രം 2.8 കാണിക്കുന്നു; ചിത്രം 2.7 ൽ കാണിച്ചിരിക്കുന്ന ഉദാഹരണങ്ങൾക്കായി ഒബ്‌ജക്റ്റുകൾ തമ്മിലുള്ള ആശ്രിതത്വം ചിത്രം 2.9 കാണിക്കുന്നു.

അരി. 2.7 ഡിപൻഡൻസികളുടെ കൂടുതൽ ഉദാഹരണങ്ങൾ. പദവികൾ


അരി. 2.8 വസ്തുക്കൾ തമ്മിലുള്ള ആശ്രിതത്വം

ഒബ്‌ജക്റ്റുകൾ തമ്മിലുള്ള ആശ്രിതത്വം ചിത്രീകരിക്കുമ്പോൾ, നമുക്ക്, ഒരു ചട്ടം പോലെ, ഒബ്‌ജക്റ്റുകളുടെ എണ്ണം അറിയാമെന്നും “നിരവധി”, “രണ്ടോ അതിലധികമോ”, “ആവശ്യമില്ല” എന്നിങ്ങനെയുള്ള പദവികൾ ആവശ്യമില്ലെന്നും ശ്രദ്ധിക്കുക.

ഒരു സിസ്റ്റം രൂപകൽപന ചെയ്യുമ്പോൾ, ഒബ്ജക്റ്റുകളല്ല, മറിച്ച് ക്ലാസുകൾ ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നത് കൂടുതൽ സൗകര്യപ്രദമാണ്.

അരി. 2.9 വസ്തുക്കൾ തമ്മിലുള്ള കൂടുതൽ സങ്കീർണ്ണമായ ആശ്രിതത്വങ്ങൾ

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

ഒരു ഒബ്ജക്റ്റ് മോഡൽ നിർമ്മിക്കുന്ന പ്രക്രിയ വിവരിക്കുന്നതിന് ആവശ്യമായ എല്ലാ ആശയങ്ങളും ഇപ്പോൾ നമുക്കുണ്ട്. ഈ പ്രക്രിയയിൽ ഇനിപ്പറയുന്ന ഘട്ടങ്ങൾ ഉൾപ്പെടുന്നു:

  • വസ്തുക്കളും ക്ലാസുകളും നിർവചിക്കുന്നു;
  • ഒരു ഡാറ്റ നിഘണ്ടു തയ്യാറാക്കൽ;
  • വസ്തുക്കൾ തമ്മിലുള്ള ആശ്രിതത്വം നിർണ്ണയിക്കൽ;
  • ഒബ്ജക്റ്റ് ആട്രിബ്യൂട്ടുകളും ബന്ധങ്ങളും നിർവചിക്കുക;
  • പാരമ്പര്യം ഉപയോഗിക്കുമ്പോൾ ക്ലാസുകൾ സംഘടിപ്പിക്കുകയും ലളിതമാക്കുകയും ചെയ്യുക;
  • മോഡലിന്റെ കൂടുതൽ ഗവേഷണവും മെച്ചപ്പെടുത്തലും.

വിജ്ഞാന അടിത്തറയിൽ നിങ്ങളുടെ നല്ല സൃഷ്ടികൾ അയയ്ക്കുക ലളിതമാണ്. ചുവടെയുള്ള ഫോം ഉപയോഗിക്കുക

വിദ്യാർത്ഥികൾ, ബിരുദ വിദ്യാർത്ഥികൾ, അവരുടെ പഠനത്തിലും ജോലിയിലും വിജ്ഞാന അടിത്തറ ഉപയോഗിക്കുന്ന യുവ ശാസ്ത്രജ്ഞർ നിങ്ങളോട് വളരെ നന്ദിയുള്ളവരായിരിക്കും.

http://www.allbest.ru/ എന്നതിൽ പോസ്‌റ്റ് ചെയ്‌തു

ആമുഖം

1.1 ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ് സാങ്കേതികവിദ്യയുടെ അടിസ്ഥാന സൈദ്ധാന്തിക തത്വങ്ങൾ; ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് സമീപനത്തിന്റെ അടിസ്ഥാന ആശയങ്ങൾ

1.2 ആശയ വസ്തു

2. UML മോഡലിംഗ് ഭാഷ ഉപയോഗിച്ച് "സ്പോർട്സ് ക്ലബ് പ്രക്രിയകളുടെ ഓർഗനൈസേഷൻ" എന്ന വിഷയ മേഖലയുടെ ഒരു ഒബ്ജക്റ്റ് മോഡലിന്റെ നിർമ്മാണം

2.1 UML മോഡലിംഗ് ഭാഷയുടെ സവിശേഷതകൾ

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

2.1.2 UML ഭാഷ

2.1.3 UML പദാവലി

2.1.4 മോഡൽ നിയന്ത്രണ കാഴ്ച.

3.1 ആപ്ലിക്കേഷൻ ഘടനയുടെ വിവരണം

ഉപസംഹാരം

ഉറവിടങ്ങളുടെ പട്ടിക

അനുബന്ധം - എ

ആമുഖം

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

ഒരു കമ്പ്യൂട്ടർ ഉപയോഗിക്കുമ്പോൾ, ഈ പ്രക്രിയ കൂടുതൽ കൃത്യവും വേഗമേറിയതുമായിത്തീരുന്നു, ഇത് സ്വമേധയാ ഓർഗനൈസുചെയ്യുമ്പോൾ ഉണ്ടാകുന്ന നിരവധി സങ്കീർണതകളില്ലാതെ.

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

ഒരു ഡൊമെയ്‌നിന്റെ ഒബ്‌ജക്റ്റ് മോഡൽ വിഷ്വൽ ഒബ്‌ജക്റ്റ് മോഡലിംഗ് ഭാഷയായ UML ഉപയോഗിച്ചോ അല്ലെങ്കിൽ ഒബ്‌ജക്റ്റ് പ്രോഗ്രാമിംഗ് സാങ്കേതികവിദ്യയെ പിന്തുണയ്‌ക്കുന്ന ചില പ്രോഗ്രാമിംഗ് ഭാഷയിലെ ഒരു സോഫ്റ്റ്‌വെയർ ഉൽപ്പന്നമായോ നിർമ്മിക്കാൻ കഴിയും, ഇതിന് ഉദാഹരണമാണ് ഒബ്‌ജക്റ്റ് പാസ്‌കൽ ഭാഷ.

ഒബ്ജക്റ്റ് പാസ്കൽ ഭാഷയുടെ ഉദാഹരണം ഉപയോഗിച്ച് ഒബ്ജക്റ്റ് ഓറിയന്റഡ് മെത്തഡോളജിയും പ്രോഗ്രാമിംഗ് സാങ്കേതികവിദ്യയും പഠിക്കുക എന്നതാണ് ഈ ഗവേഷണത്തിന്റെ ലക്ഷ്യം, വിഷയ മേഖലകളുടെ ഒബ്ജക്റ്റ് മോഡലുകൾ നിർമ്മിക്കുന്നതിനുള്ള രീതികളും ഉപകരണങ്ങളും, വിഷയ മേഖലയുടെ ഒരു ഒബ്ജക്റ്റ് മോഡൽ നിർമ്മിക്കുന്നതിന് നേടിയ അറിവ് പ്രയോഗിക്കുന്നു. ഒരു സ്പോർട്സ് ക്ലബ്ബിന്റെ പ്രവർത്തനത്തിന്റെ ഓർഗനൈസേഷൻ.

ഈ പഠനത്തിന്റെ ലക്ഷ്യം കൈവരിക്കുന്നതിന്, ഇനിപ്പറയുന്ന ജോലികൾ സജ്ജമാക്കി:

· ഒബ്ജക്റ്റ് ഓറിയന്റഡ് മെത്തഡോളജിയുടെ അടിസ്ഥാന സൈദ്ധാന്തിക തത്വങ്ങൾ പഠിക്കുക;

· UML ഭാഷ പരിഗണിക്കുകയും ഈ ഭാഷ ഉപയോഗിച്ച് വിഷയ മേഖലയുടെ ഒരു ഒബ്ജക്റ്റ് മോഡൽ നിർമ്മിക്കുകയും ചെയ്യുക;

· അത്ലറ്റുകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ പ്രതിനിധീകരിക്കുന്നതിന് ഒരു കൂട്ടം ക്ലാസുകൾ ഉപയോഗിക്കുന്ന ഒരു ആപ്ലിക്കേഷൻ വികസിപ്പിക്കുക.

ഈ കോഴ്‌സ് വർക്കിന്റെ പഠന ലക്ഷ്യം ഒബ്‌ജക്റ്റ് ഓറിയന്റഡ് ഡിസൈൻ മെത്തഡോളജിയാണ്.

ഈ പഠനത്തിന്റെ വിഷയം "ഒരു സ്പോർട്സ് ക്ലബ്ബിന്റെ പ്രവർത്തനത്തിന്റെ ഓർഗനൈസേഷൻ" എന്ന വിഷയത്തിന്റെ ഒബ്ജക്റ്റ് മോഡലും അതിന്റെ പ്രധാന സവിശേഷതകളുമാണ്.

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

സബ്ജക്റ്റ് ഏരിയ വിശകലനം ചെയ്യുകയും ആപ്ലിക്കേഷൻ ഘടന രൂപകൽപ്പന ചെയ്യുകയും ചെയ്യുന്ന ഘട്ടത്തിൽ, ഒരു UML ക്ലാസ് ഡയഗ്രം നിർമ്മിക്കേണ്ടത് ആവശ്യമാണ്.

കോഴ്‌സ് പ്രോജക്റ്റ് എഴുതുന്ന പ്രക്രിയയിൽ, ഇനിപ്പറയുന്ന ഗവേഷണ രീതികൾ ഉപയോഗിച്ചു:

· പ്രശ്നത്തിന്റെ സൈദ്ധാന്തിക വശങ്ങൾ അവതരിപ്പിക്കുന്നതിനും പഠന വസ്തുവിനെ ഹ്രസ്വമായി ചിത്രീകരിക്കുന്നതിനും വിവരണാത്മക രീതി ഉപയോഗിക്കുന്നു;

· താരതമ്യത്തിന്റെയും വിശകലനത്തിന്റെയും രീതി. പരിഗണനയിലുള്ള വിഷയത്തെക്കുറിച്ചുള്ള വ്യത്യസ്ത വീക്ഷണങ്ങൾ താരതമ്യം ചെയ്യാനും പഠന വസ്തുവിനെ നിർണ്ണയിക്കാനും നിങ്ങളെ അനുവദിക്കുന്നു;

· സിസ്റ്റം സമീപനം. ലഭിച്ച ഫലങ്ങൾ സംഗ്രഹിക്കാനും അവയുടെ യുക്തിസഹമായ ബന്ധം തിരിച്ചറിയാനും ഇത് ഉപയോഗിച്ചു.

1. ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് മെത്തഡോളജിയുടെ അടിസ്ഥാന സൈദ്ധാന്തിക വ്യവസ്ഥകൾ

1.1 ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് സമീപനത്തിന്റെ അടിസ്ഥാന ആശയങ്ങൾ

വിഷയ ഭാഷാ പ്രോഗ്രാമിംഗ് മോഡൽ

വളരെക്കാലമായി, പ്രോഗ്രാമിംഗ് ഘടനാപരമായ, നടപടിക്രമങ്ങളെ അടിസ്ഥാനമാക്കിയുള്ള ഒരു മാതൃകയാണ് ഉപയോഗിക്കുന്നത്. പ്രോജക്റ്റ് ലക്ഷ്യങ്ങൾ തിരഞ്ഞെടുക്കുന്നത് "ടോപ്പ്-ഡൌൺ" എന്നും അതനുസരിച്ച് "ബോട്ടം-അപ്പ്" എന്നും വിളിക്കപ്പെടുന്ന രണ്ട് സമീപനങ്ങളിൽ ഒന്ന് ഉപയോഗിച്ചാണ് നടത്തുന്നത്.

1. "ടോപ്പ്-ഡൌൺ" സമീപനം സൂചിപ്പിക്കുന്നത്, ടാസ്‌ക്കിനെ ഉപടാസ്‌ക്കുകളായി തിരിച്ചിരിക്കുന്നു, അത് അടുത്ത ലെവലിന്റെ ഉപടാസ്‌ക്കുകളായി വിഭജിക്കപ്പെട്ടിരിക്കുന്നു. ഡീകോപോസിഷൻ എന്ന് വിളിക്കപ്പെടുന്ന ഈ പ്രക്രിയ, ഉപ ടാസ്‌ക്കുകളുടെ ലഘൂകരണം ഔപചാരികമാക്കാൻ കഴിയുന്ന പ്രാഥമിക ഫംഗ്‌ഷനുകളിലേക്ക് ചുരുക്കുന്നത് വരെ തുടരുന്നു.

2. "ബോട്ടം-അപ്പ്" സമീപനം സൂചിപ്പിക്കുന്നത്, ലളിതമായ പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നതിന് നടപടിക്രമങ്ങൾ എഴുതപ്പെട്ടിരിക്കുന്നു, തുടർന്ന് ആവശ്യമുള്ള ഫലം കൈവരിക്കുന്നതുവരെ അവ തുടർച്ചയായി കൂടുതൽ സങ്കീർണ്ണമായ നടപടിക്രമങ്ങളിലേക്ക് കൂട്ടിച്ചേർക്കപ്പെടുന്നു.

പ്രധാന പ്രോഗ്രാമിംഗ് ആശയങ്ങൾ നടപടിക്രമങ്ങൾ അടിസ്ഥാനമാക്കിയുള്ള പ്രോഗ്രാമിംഗും ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിംഗുമാണ്.

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

ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ് (OOP) എന്നത് ഒരു പ്രോഗ്രാമിംഗ് ശൈലിയാണ്, അത് അതിന്റെ നിർവ്വഹണ വിശദാംശങ്ങൾ മറയ്ക്കുന്ന രീതിയിൽ യഥാർത്ഥ-ലോക സ്വഭാവം പകർത്തുന്നു.

ഒരു ഒബ്‌ജക്റ്റ് എന്നത് അതിന്റെ ഗുണങ്ങൾ, സ്വഭാവം, മറ്റ് ആപ്ലിക്കേഷൻ ഒബ്‌ജക്റ്റുകളുമായുള്ള ഇടപെടൽ എന്നിവ കാരണം മറ്റ് എന്റിറ്റികൾക്കിടയിൽ വേറിട്ടുനിൽക്കുന്ന ഒരു പ്രത്യേക സ്ഥാപനമാണ്.

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

OOP ഉം നടപടിക്രമങ്ങൾ അടിസ്ഥാനമാക്കിയുള്ള പ്രോഗ്രാമിംഗും തമ്മിൽ രണ്ട് പ്രധാന വ്യത്യാസങ്ങളുണ്ട്:

1. OOP-ൽ, പ്രോഗ്രാമർ ആദ്യം സബ്ജക്ട് ഏരിയയുടെ വിവരണത്തിൽ നിന്ന് ക്ലാസുകൾ തിരഞ്ഞെടുക്കുന്നു, തുടർന്ന് പ്രശ്നം പരിഹരിക്കുന്നതിന് ഒരു ഒബ്ജക്റ്റ് മോഡൽ നിർമ്മിക്കുന്നു, അതിനുശേഷം മാത്രമേ അവയുടെ രീതികളും സവിശേഷതകളും വിശകലനം ചെയ്യാൻ മുന്നോട്ടുപോകൂ.

2. രീതികളും ഗുണങ്ങളും അനുബന്ധ പ്രവർത്തനങ്ങൾ നടത്താൻ ഉദ്ദേശിച്ചിട്ടുള്ള ഒരു ക്ലാസുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു.

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

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

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

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

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

ഒരു വസ്തു മറ്റ് വസ്തുക്കളെ എങ്ങനെ ബാധിക്കുന്നു അല്ലെങ്കിൽ അവയുടെ സ്വാധീനത്തിൽ സ്വയം മാറുന്നത് എങ്ങനെയെന്നതിന്റെ സ്വഭാവമാണ് പെരുമാറ്റം. ഒരു വസ്തുവിന്റെ അവസ്ഥകൾ മാറുന്ന രീതിയെ പെരുമാറ്റം ബാധിക്കുന്നു.

ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ് സാങ്കേതികവിദ്യ "മൂന്ന് സ്തംഭങ്ങളെ" അടിസ്ഥാനമാക്കിയുള്ളതാണ്: എൻക്യാപ്സുലേഷൻ, ഹെറിറ്റൻസ്, പോളിമോർഫിസം.

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

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

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

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

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

ഒരു ക്ലാസിലെ ഒബ്‌ജക്‌റ്റുകൾ ഉപയോഗിക്കുന്നതിന് പകരം മറ്റൊന്ന് ഉപയോഗിക്കുന്നതിൽ നിന്ന് പരിരക്ഷിക്കുന്നതിനുള്ള ഒരു മാർഗമാണ് ടൈപ്പിംഗ്, അല്ലെങ്കിൽ കുറഞ്ഞത് അത്തരം ഉപയോഗം നിയന്ത്രിക്കുക.

പാരലലിസം എന്നത് സജീവമായ വസ്തുക്കളെ നിഷ്ക്രിയമായവയിൽ നിന്ന് വേർതിരിക്കുന്ന ഒരു സ്വത്താണ്.

സ്ഥിരത എന്നത് ഒരു വസ്തുവിന് ജന്മം നൽകിയ പ്രക്രിയയെ അതിജീവിച്ച്, (അല്ലെങ്കിൽ) ബഹിരാകാശത്ത്, അതിന്റെ യഥാർത്ഥ വിലാസ സ്ഥലത്ത് നിന്ന് നീങ്ങാനുള്ള കഴിവാണ്.

OOP യുടെ അടിസ്ഥാന ആശയങ്ങൾ തത്ത്വചിന്ത, യുക്തി, ഗണിതം, സെമിയോട്ടിക്സ് തുടങ്ങിയ വിജ്ഞാനത്തിന്റെ മറ്റ് മേഖലകളിൽ നിന്ന് പ്രത്യേക മാറ്റങ്ങളൊന്നും വരുത്താതെ പ്രോഗ്രാമിംഗിലേക്ക് മാറ്റിയിരിക്കുന്നു, കുറഞ്ഞത് ഈ ആശയങ്ങളുടെ സത്തയെ സംബന്ധിച്ചിടത്തോളം. വിഘടിപ്പിക്കുന്നതിനുള്ള ഒബ്ജക്റ്റ് രീതി (പ്രാതിനിധ്യം) സ്വാഭാവികമാണ്, നിരവധി നൂറ്റാണ്ടുകളായി ഉപയോഗിച്ചുവരുന്നു. അതിനാൽ, പ്രോഗ്രാമിംഗ് സാങ്കേതികവിദ്യയുടെ പരിണാമ പ്രക്രിയയിൽ അത് അതിന്റെ ശരിയായ സ്ഥാനം നേടിയതിൽ അതിശയിക്കാനില്ല.

അതിനാൽ, ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമുകൾ വികസിപ്പിക്കുന്ന പ്രക്രിയയിൽ ഇത് ആവശ്യമാണ്:

1. അത് രൂപപ്പെടുത്തുന്ന ഒബ്ജക്റ്റ് ക്ലാസുകളുടെ സെറ്റ് നിർണ്ണയിക്കുക (വിഘടിപ്പിക്കൽ);

2. ഓരോ ക്ലാസ് ഒബ്‌ജക്‌റ്റുകൾക്കും, ആവശ്യമായ ഡാറ്റയുടെ ഒരു കൂട്ടം (ഫീൽഡുകൾ) വ്യക്തമാക്കുക;

3. ഓരോ ക്ലാസ് ഒബ്‌ജക്‌റ്റുകൾക്കും, ഒബ്‌ജക്‌റ്റുകൾ നടത്തുന്ന ഒരു കൂട്ടം പ്രവർത്തനങ്ങൾ (രീതികൾ) വ്യക്തമാക്കുക;

4. ഓരോ ക്ലാസ് ഒബ്‌ജക്‌റ്റുകൾക്കും, ഒബ്‌ജക്‌റ്റുകൾ പ്രതികരിക്കുന്ന ഇവന്റുകൾ വ്യക്തമാക്കുകയും അനുബന്ധ ഹാൻഡ്‌ലർ നടപടിക്രമങ്ങൾ എഴുതുകയും ചെയ്യുക.

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

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

ക്ലാസിലെ അംഗങ്ങൾ ഇതായിരിക്കാം:

1. ഡാറ്റ സംഭരിക്കാൻ ഉപയോഗിക്കുന്ന ഫീൽഡുകൾ;

2. സ്വകാര്യ ഫീൽഡുകൾ ആക്സസ് ചെയ്യുന്നതിനുള്ള ഒരു മാർഗമായി പ്രോപ്പർട്ടികൾ;

3. വസ്തുക്കളുടെ പ്രവർത്തനക്ഷമത നിർവചിക്കുന്ന രീതികൾ;

4. പ്രോഗ്രാം മാനേജ്മെന്റിന്റെ മാർഗമായി ഇവന്റുകളും അവയുടെ ഹാൻഡലറുകളും.

1.2 ആശയ വസ്തു

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

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

1. ഒരു വസ്തു ഉപയോഗിച്ച് സാധ്യമായ പ്രവർത്തനങ്ങൾ നടപ്പിലാക്കുന്ന ഒരു ഫംഗ്ഷൻ അല്ലെങ്കിൽ നടപടിക്രമമാണ് ഒരു രീതി;

2. ഒരു സംഭവം എന്നത് വസ്തുക്കളുടെ പരസ്പരം ഇടപഴകുന്നതിനുള്ള ഒരു മാർഗമാണ്. ഒബ്‌ജക്റ്റുകൾ നിർദ്ദിഷ്ട ഇവന്റുകൾ സൃഷ്ടിക്കുകയും നിർദ്ദിഷ്ട ഇവന്റുകളോടുള്ള പ്രതികരണമായി പ്രവർത്തനങ്ങൾ നടത്തുകയും ചെയ്യുന്നു. ഒബ്‌ജക്‌റ്റുകൾ സ്വീകരിക്കുകയും അയയ്‌ക്കുകയും ചെയ്യുന്ന സന്ദേശങ്ങൾക്ക് സമാനമാണ് ഇവന്റുകൾ;

3. അവസ്ഥ - ഓരോ വസ്തുവും എല്ലായ്പ്പോഴും ഒരു നിശ്ചിത അവസ്ഥയിലാണ്, അത് വസ്തുവിന്റെ ഒരു കൂട്ടം ഗുണങ്ങളാൽ സവിശേഷതയാണ്. സംഭവങ്ങളുടെ സ്വാധീനത്തിൽ, ഒരു വസ്തു മറ്റ് സംസ്ഥാനങ്ങളിലേക്ക് പോകുന്നു. ഈ സാഹചര്യത്തിൽ, മറ്റൊരു അവസ്ഥയിലേക്ക് മാറുമ്പോൾ വസ്തുവിന് തന്നെ ഇവന്റുകൾ സൃഷ്ടിക്കാൻ കഴിയും;

4. സ്വത്ത് - ഒരു അടയാളം, ഒരു വസ്തുവിന്റെ ചില പ്രത്യേക ഗുണനിലവാരം (പാരാമീറ്റർ).

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

ഭൗതികമായവയ്‌ക്കൊപ്പം, അമൂർത്ത വസ്തുക്കളും നിലനിൽക്കുമെന്നത് ശ്രദ്ധിക്കേണ്ടതാണ്, അവയുടെ സാധാരണ പ്രതിനിധികൾ സംഖ്യകളാണ്. അതിനാൽ, ഒരു ഡൊമെയ്‌നിലെ ഏതെങ്കിലും ഭൗതികമോ അമൂർത്തമോ വ്യക്തമായി തിരിച്ചറിയാൻ കഴിയുന്ന ഒരു വസ്തുവാണ് ഒബ്‌ജക്റ്റ്.

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

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

ഈ രീതിയിൽ, ഒരു ഒബ്‌ജക്റ്റ് ആട്രിബ്യൂട്ടുകളും രീതികളും ഉൾക്കൊള്ളുന്നു, അതുമായി ഇടപഴകുകയും അതിന്റെ പ്രവർത്തനക്ഷമത ഉപയോഗിക്കുകയും ചെയ്യുന്ന മറ്റ് ഒബ്‌ജക്റ്റുകളിൽ നിന്ന് അതിന്റെ നടപ്പാക്കൽ മറയ്ക്കുന്നു.

ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് സമീപനം അതിന്റെ പ്രായോഗികതയെ അടിസ്ഥാനമാക്കി ഒരു സോഫ്റ്റ്‌വെയർ സിസ്റ്റത്തിന്റെ ഭാഷാ-സ്വതന്ത്ര വികസനത്തിനായി മോഡലുകളുടെ ചിട്ടയായ ഉപയോഗത്തെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്.

അവസാന ടേമിന് വ്യക്തത ആവശ്യമാണ്. ഒരു സോഫ്‌റ്റ്‌വെയർ സംവിധാനം വികസിപ്പിച്ചെടുക്കുന്നതിന്റെ ഉദ്ദേശ്യം കൊണ്ടാണ് പ്രാഗ്മാറ്റിക്‌സ് നിർണ്ണയിക്കുന്നത്: ബാങ്ക് ക്ലയന്റുകൾക്ക് സേവനം നൽകുന്നതിന്, ഒരു വിമാനത്താവളത്തിന്റെ പ്രവർത്തനം നിയന്ത്രിക്കുന്നതിന്, ലോകകപ്പ് സേവനത്തിനായി മുതലായവ. വികസിപ്പിച്ചുകൊണ്ടിരിക്കുന്ന സോഫ്റ്റ്‌വെയർ സിസ്റ്റത്തിന് പ്രസക്തമായ യഥാർത്ഥ ലോകത്തിന്റെ വസ്തുക്കളും ആശയങ്ങളും ലക്ഷ്യത്തിന്റെ രൂപീകരണത്തിൽ ഉൾപ്പെടുന്നു (ചിത്രം 1.2.1 കാണുക).

ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് സമീപനത്തിലൂടെ, ഈ വസ്തുക്കളും ആശയങ്ങളും അവയുടെ മാതൃകകളാൽ മാറ്റിസ്ഥാപിക്കപ്പെടുന്നു, അതായത്. ഒരു സോഫ്റ്റ്‌വെയർ സിസ്റ്റത്തിൽ അവയെ പ്രതിനിധീകരിക്കുന്ന ചില ഔപചാരിക ഘടനകൾ.

ചിത്രം.1.2.1 സെമാന്റിക്സ്.

മോഡലിൽ അത് പ്രതിനിധീകരിക്കുന്ന ഒബ്‌ജക്റ്റിന്റെ (സങ്കൽപ്പത്തിന്റെ) എല്ലാ സവിശേഷതകളും ഗുണങ്ങളും അടങ്ങിയിട്ടില്ല, എന്നാൽ വികസിപ്പിക്കുന്ന സോഫ്റ്റ്‌വെയർ സിസ്റ്റത്തിന് അത്യന്താപേക്ഷിതമായവ മാത്രം. അതിനാൽ, മോഡൽ "ദരിദ്രമാണ്", അതിനാൽ, അത് പ്രതിനിധീകരിക്കുന്ന ഒബ്ജക്റ്റിനേക്കാൾ (സങ്കൽപ്പം) ലളിതമാണ്. എന്നാൽ പ്രധാന കാര്യം ഇത് പോലുമല്ല, എന്നാൽ മോഡൽ ഒരു ഔപചാരികമായ നിർമ്മാണമാണ്: മോഡലുകളുടെ ഔപചാരിക സ്വഭാവം, അവയ്ക്കിടയിലുള്ള ഔപചാരികമായ ആശ്രിതത്വവും അവയിൽ ഔപചാരിക പ്രവർത്തനങ്ങളും നിർണ്ണയിക്കാൻ ഞങ്ങളെ അനുവദിക്കുന്നു. ഇത് മോഡലുകളുടെ വികസനവും പഠനവും (വിശകലനം) ഒരു കമ്പ്യൂട്ടറിൽ അവ നടപ്പിലാക്കുന്നതും ലളിതമാക്കുന്നു. പ്രത്യേകിച്ചും, മോഡലുകളുടെ ഔപചാരിക സ്വഭാവം അതിന്റെ ഘടകങ്ങളുടെ ഔപചാരിക മോഡലുകളുടെ ഒരു ഘടനയായി വികസിപ്പിച്ചെടുക്കുന്ന സോഫ്റ്റ്വെയർ സിസ്റ്റത്തിന്റെ ഒരു ഔപചാരിക മാതൃക ലഭ്യമാക്കാൻ ഞങ്ങളെ അനുവദിക്കുന്നു.

അങ്ങനെ, ഒബ്ജക്റ്റ് ഓറിയന്റഡ് സമീപനം പോലുള്ള സങ്കീർണ്ണമായ പ്രശ്നങ്ങളെ നേരിടാൻ സഹായിക്കുന്നു

· സോഫ്റ്റ്വെയർ സങ്കീർണ്ണത കുറയ്ക്കൽ;

· സോഫ്റ്റ്വെയർ വിശ്വാസ്യത വർദ്ധിപ്പിക്കുന്നു;

· ശേഷിക്കുന്ന ഘടകങ്ങൾ മാറ്റാതെ വ്യക്തിഗത സോഫ്‌റ്റ്‌വെയർ ഘടകങ്ങൾ പരിഷ്‌ക്കരിക്കുന്നതിനുള്ള കഴിവ് നൽകുന്നു;

· വ്യക്തിഗത സോഫ്‌റ്റ്‌വെയർ ഘടകങ്ങൾ വീണ്ടും ഉപയോഗിക്കാനുള്ള സാധ്യത ഉറപ്പാക്കുന്നു.

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

1.3 ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ് സാങ്കേതികവിദ്യ നടപ്പിലാക്കുന്നതിനുള്ള ഉപകരണങ്ങൾ

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

ഏതൊരു പ്രോഗ്രാമിംഗും നാല് തത്ത്വങ്ങളിൽ ഒന്ന് അനുസരിച്ചാണ് നടത്തുന്നത്:

മോഡുലാരിറ്റിയുടെ തത്വം

തത്വം "പൊതുവിൽ നിന്ന് നിർദ്ദിഷ്ടത്തിലേക്ക്"

· ഘട്ടം ഘട്ടമായുള്ള തത്വം

· ഘടനാപരമായ തത്വം

മോഡുലാർ പ്രോഗ്രാമിംഗ്. മൊഡ്യൂളുകളുടെ (ഫംഗ്ഷനുകൾ) രൂപത്തിൽ ഒരു പ്രോഗ്രാം വികസിപ്പിക്കുന്നതിനുള്ള ആവശ്യകതയായി മോഡുലാരിറ്റിയുടെ തത്വം രൂപപ്പെടുത്തിയിരിക്കുന്നു. ഈ സാഹചര്യത്തിൽ, മൊഡ്യൂളുകളിലേക്കുള്ള വിഭജനം മെക്കാനിക്കൽ സ്വഭാവമുള്ളതായിരിക്കരുത്, പക്ഷേ പ്രോഗ്രാമിന്റെ യുക്തിയെ അടിസ്ഥാനമാക്കി:

1. മൊഡ്യൂൾ വലിപ്പം പരിമിതപ്പെടുത്തിയിരിക്കണം;

2. മൊഡ്യൂൾ യുക്തിപരമായി സമഗ്രവും പൂർണ്ണവുമായ പ്രവർത്തനം നടത്തണം;

3. മൊഡ്യൂൾ സാർവത്രികമായിരിക്കണം, അതായത്, സാധ്യമാകുമ്പോഴെല്ലാം, പാരാമീറ്റർ ആയിരിക്കണം: നടപ്പിലാക്കുന്ന പ്രവർത്തനത്തിന്റെ എല്ലാ മാറ്റാവുന്ന സവിശേഷതകളും പരാമീറ്ററുകളിലൂടെ കൈമാറ്റം ചെയ്യണം;

4. ഇൻപുട്ട് പാരാമീറ്ററുകളും മൊഡ്യൂളിന്റെ ഫലവും ആഗോള വേരിയബിളുകളിലൂടെയല്ല, ഔപചാരിക പാരാമീറ്ററുകളിലൂടെയും ഫംഗ്ഷന്റെ ഫലത്തിലൂടെയും കൈമാറുന്നത് ഉചിതമാണ്.

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

മോഡുലാരിറ്റി തത്വത്തിന്റെ ആൾരൂപം സ്റ്റാൻഡേർഡ് ഫംഗ്ഷനുകളുടെ ലൈബ്രറിയാണ്. ഇത് സാധാരണ ഡാറ്റാ ഘടനകൾ ഉപയോഗിച്ച് പാരാമീറ്റർ ചെയ്ത പ്രവർത്തനങ്ങളുടെ ഒരു പൂർണ്ണ സെറ്റ് നൽകുന്നു. ലൈബ്രറികൾ സമാന പ്രോഗ്രാമുകളാണ്, സ്വതന്ത്രമായി വിവർത്തനം ചെയ്യുകയും ലൈബ്രറി കാറ്റലോഗിൽ സ്ഥാപിക്കുകയും ചെയ്യുന്നു.

ടോപ്പ്-ഡൗൺ പ്രോഗ്രാമിംഗ്. ടോപ്പ്-ഡൌൺ പ്രോഗ്രാം ഡിസൈൻ അർത്ഥമാക്കുന്നത്, "പൊതുവിൽ നിന്ന് പ്രത്യേകം" എന്ന സ്വാഭാവിക ഭാഷയിലെ ചില പ്രോഗ്രാം പ്രവർത്തനങ്ങളുടെ പൊതുവായ അനൗപചാരിക രൂപീകരണത്തിൽ നിന്നാണ് വികസനം പുരോഗമിക്കുന്നത്: മൂന്ന് ഔപചാരിക പ്രോഗ്രാമിംഗ് ഭാഷാ നിർമ്മാണങ്ങളിൽ ഒന്ന് പകരം വയ്ക്കുന്നത്:

· പ്രവർത്തനങ്ങളുടെ ലളിതമായ ക്രമം;

· തിരഞ്ഞെടുക്കൽ നിർമ്മാണങ്ങൾ അല്ലെങ്കിൽ പ്രസ്താവനകൾ എങ്കിൽ;

· ആവർത്തനം അല്ലെങ്കിൽ സൈക്കിൾ നിർമ്മാണങ്ങൾ.

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

· തുടക്കത്തിൽ സ്വാഭാവിക ഭാഷയിൽ ചില അനൗപചാരിക പ്രവർത്തനങ്ങളുടെ രൂപത്തിലാണ് പ്രോഗ്രാം രൂപപ്പെടുത്തിയിരിക്കുന്നത്;

· ഇൻപുട്ട് പാരാമീറ്ററുകളും പ്രവർത്തനത്തിന്റെ ഫലവും തുടക്കത്തിൽ നിർണ്ണയിക്കപ്പെടുന്നു;

· വിശദമായി അടുത്ത ഘട്ടം മുൻ ഘട്ടങ്ങളിൽ ലഭിച്ച പ്രോഗ്രാമിന്റെ ഘടന മാറ്റില്ല;

· ഡിസൈൻ പ്രക്രിയയിൽ വ്യത്യസ്ത ശാഖകളിൽ സമാനമായ പ്രവർത്തനങ്ങൾ ലഭിക്കുകയാണെങ്കിൽ, ഇതിനർത്ഥം ഈ പ്രവർത്തനം ഒരു പ്രത്യേക പ്രവർത്തനമായി രൂപകൽപ്പന ചെയ്യേണ്ടത് ആവശ്യമാണ്;

· ആവശ്യമായ ഡാറ്റാ ഘടനകൾ പ്രോഗ്രാമിന്റെ വിശദാംശങ്ങളോടൊപ്പം ഒരേസമയം രൂപകൽപ്പന ചെയ്തിരിക്കുന്നു.

ഘട്ടം ഘട്ടമായുള്ള പ്രോഗ്രാമിംഗ്. ടോപ്പ്-ഡൌൺ ഡിസൈൻ സ്വഭാവത്തിൽ വർദ്ധനയുള്ളതാണ്, കാരണം ഓരോ തവണയും ഒരു വാക്കാലുള്ള ഫോർമുലേഷൻ മാറ്റി ഒരൊറ്റ ഭാഷാ നിർമ്മാണം ഇതിൽ ഉൾപ്പെടുന്നു. എന്നാൽ ഒരു പ്രോഗ്രാം വികസിപ്പിക്കുന്ന പ്രക്രിയയിൽ, കൂടുതൽ വിശദമായി വാക്കാലുള്ള ഫോർമുലേഷന്റെ സ്പെസിഫിക്കേഷനുമായി ബന്ധപ്പെട്ട മറ്റ് ഘട്ടങ്ങൾ ഉണ്ടാകാം.

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

പൊതുവേ, ടോപ്പ്-ഡൌൺ സ്റ്റെപ്പ്-ബൈ-സ്റ്റെപ്പ് പ്രോഗ്രാം ഡിസൈൻ ഒരു "ശരിയായ" പ്രോഗ്രാമിന് ഉറപ്പുനൽകുന്നില്ല, പക്ഷേ ഒരു ഡെഡ്‌ലോക്ക് കണ്ടെത്തുമ്പോൾ വിശദാംശങ്ങളുടെ മുകളിലെ ഘട്ടങ്ങളിലൊന്നിലേക്ക് മടങ്ങാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു.

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

ഘടനാപരമായ പ്രോഗ്രാമിംഗ് എന്നത് മോഡുലാർ, ടോപ്പ്-ഡൌൺ, അൽഗോരിതം, ഡാറ്റ സ്ട്രക്ച്ചറുകൾ എന്നിവയുടെ ഘട്ടം ഘട്ടമായുള്ള രൂപകൽപ്പനയാണ്.

പ്രോഗ്രാമിംഗിലേക്കുള്ള ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് സമീപനത്തിൽ 3 പ്രധാന ഘടകങ്ങൾ ഉൾപ്പെടുന്നു:

· ഒബ്ജക്റ്റ് ഓറിയന്റഡ് വിശകലനം (OOA),

· ഒബ്ജക്റ്റ് ഓറിയന്റഡ് ഡിസൈൻ (OOD),

· ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ് (OOP).

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

· നൽകിയിരിക്കുന്ന (ഒരുപക്ഷേ അനൗപചാരിക) ഫങ്ഷണൽ സ്പെസിഫിക്കേഷനുകൾ തൃപ്തിപ്പെടുത്തുന്നു;

· ഉപകരണങ്ങൾ ചുമത്തിയ പരിമിതികളുമായി പൊരുത്തപ്പെടുന്നു;

· പ്രകടനത്തിനും വിഭവ ഉപഭോഗത്തിനുമുള്ള വ്യക്തമായതും പരോക്ഷവുമായ ആവശ്യകതകൾ നിറവേറ്റുന്നു;

· വ്യക്തവും അവ്യക്തവുമായ ഉൽപ്പന്ന ഡിസൈൻ മാനദണ്ഡങ്ങൾ പാലിക്കുന്നു;

· വികസന പ്രക്രിയയുടെ ആവശ്യകതകൾ, ദൈർഘ്യവും ചെലവും, കൂടാതെ അധിക ഉപകരണങ്ങളുടെ ഉപയോഗം എന്നിവയും നിറവേറ്റുന്നു.

പരസ്പരവിരുദ്ധമായ ആവശ്യകതകൾ കണക്കിലെടുത്ത് രൂപകൽപ്പനയിൽ ഉൾപ്പെടുന്നു. ഭാവി സിസ്റ്റത്തിന്റെ ഘടന, ബാലൻസ് ആവശ്യകതകൾ, ഒരു നടപ്പാക്കൽ പദ്ധതിയുടെ രൂപരേഖ എന്നിവ മനസ്സിലാക്കാൻ ഞങ്ങളെ അനുവദിക്കുന്ന മോഡലുകളാണ് ഇതിന്റെ ഉൽപ്പന്നങ്ങൾ.

പ്രോഗ്രാം രൂപകൽപ്പന ചെയ്യുന്ന സിസ്റ്റത്തിന്റെ ഒരു സംഖ്യാ മാതൃകയാണ് (ചിത്രം 1.3.1.)

അരി. 1.3.1. പ്രോഗ്രാം ഘടന.

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

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

· ചിഹ്നങ്ങൾ - ഓരോ മാതൃകയും വിവരിക്കുന്നതിനുള്ള ഭാഷ;

· പ്രക്രിയ - ഒരു മോഡൽ രൂപകൽപ്പന ചെയ്യുന്നതിനുള്ള നിയമങ്ങൾ;

· ഉപകരണങ്ങൾ - മോഡലുകൾ സൃഷ്ടിക്കുന്ന പ്രക്രിയയെ വേഗത്തിലാക്കുന്ന ഉപകരണങ്ങൾ, കൂടാതെ മോഡലുകളുടെ പ്രവർത്തന നിയമങ്ങൾ ഇതിനകം ഉൾക്കൊള്ളുന്നു. വികസന പ്രക്രിയയിൽ പിശകുകൾ തിരിച്ചറിയാൻ ഉപകരണങ്ങൾ സഹായിക്കുന്നു.

പ്രോഗ്രാമർക്ക് ഒരു പരിധിവരെ ആവിഷ്‌കാര സ്വാതന്ത്ര്യം അനുവദിക്കുമ്പോൾ ഒരു നല്ല ഡിസൈൻ രീതി ഉറച്ച സൈദ്ധാന്തിക അടിത്തറയെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്.

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

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

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

അരി. 1.3.2 ഒബ്ജക്റ്റ് ഓറിയന്റഡ് മോഡലുകൾ.

ക്ലാസുകൾ എന്ന് വിളിക്കപ്പെടുന്ന ഈ ഡാറ്റയുമായി ഒരുമിച്ച് പ്രവർത്തിക്കാൻ കഴിയുന്ന ഡാറ്റയും നടപടിക്രമങ്ങളും സംയോജിപ്പിക്കുന്നതിനെ അടിസ്ഥാനമാക്കിയുള്ള ഒരു പ്രോഗ്രാമിംഗ് പ്രത്യയശാസ്ത്രമാണ് OOP.

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

ഒരു ക്ലാസ് നിർവ്വഹണത്തിന്റെ ഉദാഹരണമായി, പുസ്തകം TBook ന്റെ ഒരു പ്രാതിനിധ്യവും ഈ തരത്തിലുള്ള വേരിയബിളുകൾക്കൊപ്പം പ്രവർത്തിക്കുന്നതിനുള്ള ഒരു കൂട്ടം ഫംഗ്ഷനുകളും നിർവചിക്കുന്നതിന് ഒരു ക്ലാസ് ഉപയോഗിച്ച് ഒരു പുസ്തകം എന്ന ആശയം നടപ്പിലാക്കുന്നത് നോക്കാം:

പേജുകളുടെ എണ്ണം: പൂർണ്ണസംഖ്യ;

ഫംഗ്ഷൻ CompareWithBook(OtherBook: TBook): integer;

നടപടിക്രമം ഷോടൈറ്റിൽ;

കൺസ്ട്രക്റ്റർ സൃഷ്‌ടിക്കുക(പുതിയ ടൈറ്റിൽ, പുതിയത്

മനുഷ്യന്റെ വൈജ്ഞാനിക കഴിവുകൾ പരിമിതമാണ്; വിഘടനം, അമൂർത്തീകരണം, ശ്രേണികൾ എന്നിവ ഉപയോഗിച്ച് നമുക്ക് അവയുടെ അതിരുകൾ നീക്കാൻ കഴിയും.

വസ്തുക്കളിലോ പ്രക്രിയകളിലോ ശ്രദ്ധ കേന്ദ്രീകരിച്ച് സങ്കീർണ്ണമായ സംവിധാനങ്ങൾ പഠിക്കാൻ കഴിയും; ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് വിഘടനം ഉപയോഗിക്കുന്നതിന് നല്ല കാരണങ്ങളുണ്ട്, അതിൽ ലോകത്തെ വസ്തുക്കളുടെ ക്രമീകരിച്ച ശേഖരമായി കാണുന്നു, അത് പരസ്പരം ഇടപഴകുന്ന പ്രക്രിയയിൽ സിസ്റ്റത്തിന്റെ സ്വഭാവം നിർണ്ണയിക്കുന്നു.

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

2. UML മോഡലിംഗ് ഭാഷ ഉപയോഗിച്ച് "ഓർഗനൈസേഷൻ ഓഫ് സ്‌പോർട്‌സ് ക്ലബ് പ്രക്രിയകൾ" എന്ന വിഷയ ഡൊമെയ്‌നിന്റെ ഒരു ഒബ്‌ജക്റ്റ് മോഡലിന്റെ നിർമ്മാണം

2.1 UML ഭാഷയുടെ ആശയം

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

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

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

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

UML-ൽ വർദ്ധിച്ചുവരുന്ന താൽപ്പര്യത്തിന്റെ പശ്ചാത്തലത്തിൽ, ഡിജിറ്റൽ എക്യുപ്‌മെന്റ് കോർപ്പറേഷൻ, ഹ്യൂലറ്റ്-പാക്കാർഡ്, i-Logix, IntelliCorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle Corporation, Rational Software തുടങ്ങിയ കമ്പനികൾ ഭാഷയുടെ പുതിയ പതിപ്പുകൾ വികസിപ്പിക്കുന്നതിൽ ചേർന്നു. യു‌എം‌എൽ പാർട്‌ണേഴ്‌സ് കൺസോർഷ്യത്തിനുള്ളിൽ. , ടെക്‌സാസ് ഇൻസ്ട്രുമെന്റ്‌സ് ആൻഡ് യുണിസിസ്. സംയുക്ത പ്രവർത്തനത്തിന്റെ ഫലം 1997 ജനുവരിയിൽ പുറത്തിറങ്ങിയ UML 1.0 സ്പെസിഫിക്കേഷൻ ആയിരുന്നു. അതേ വർഷം നവംബറിൽ പതിപ്പ് 1.1 ന് ശേഷം, നൊട്ടേഷനിലെ മെച്ചപ്പെടുത്തലുകളും ചില സെമാന്റിക് എക്സ്റ്റൻഷനുകളും അടങ്ങിയിരിക്കുന്നു. UML 1.4.2 ഒരു അന്താരാഷ്ട്ര നിലവാരമായി ISO/IEC 19501:2005 അംഗീകരിച്ചു.

UML 2.0-ന്റെ ഏറ്റവും പുതിയ പതിപ്പിന്റെ ഔപചാരികമായ സ്പെസിഫിക്കേഷൻ 2005 ഓഗസ്റ്റിൽ പ്രസിദ്ധീകരിച്ചു. മാതൃകാപരമായ വികസനം - MDD രീതിശാസ്ത്രത്തെ പിന്തുണയ്ക്കുന്നതിനായി ഭാഷയുടെ അർത്ഥശാസ്ത്രം ഗണ്യമായി പരിഷ്കരിക്കുകയും വിപുലീകരിക്കുകയും ചെയ്തിട്ടുണ്ട്. UML 2.4.1-ന്റെ ഏറ്റവും പുതിയ പതിപ്പ് 2011 ഓഗസ്റ്റിൽ പ്രസിദ്ധീകരിച്ചു. ISO/IEC 19505-1, 19505-2 വഴി UML 2.4.1 ഒരു അന്താരാഷ്ട്ര നിലവാരമായി സ്വീകരിച്ചു.

2.1.2 UML ഭാഷ

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

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

2.1.3 UML നിഘണ്ടു

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

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

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

· ആശ്രിതത്വം രണ്ട് എന്റിറ്റികൾ തമ്മിലുള്ള അത്തരമൊരു ബന്ധം കാണിക്കുന്നു, അവയിലൊന്നിലെ മാറ്റം - സ്വതന്ത്രം - മറ്റൊന്നിന്റെ അർത്ഥശാസ്ത്രത്തെ ബാധിക്കും - ആശ്രിതത്വം. ആശ്രിത എന്റിറ്റിയിൽ നിന്ന് സ്വതന്ത്രമായ ഒന്നിലേക്ക് നയിക്കുന്ന ഡോട്ട് ഇട്ട അമ്പടയാളമാണ് ആശ്രിതത്വം പ്രതിനിധീകരിക്കുന്നത്.

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

· ഒരു സാമാന്യവൽക്കരണം എന്നത് ഒരു പാരന്റ് എന്റിറ്റിയും ഒരു ചൈൽഡ് എന്റിറ്റിയും തമ്മിലുള്ള ബന്ധമാണ്. അടിസ്ഥാനപരമായി, ഈ ബന്ധം ക്ലാസുകൾക്കും വസ്തുക്കൾക്കുമുള്ള അനന്തരാവകാശത്തിന്റെ സ്വത്ത് പ്രതിഫലിപ്പിക്കുന്നു. പാരന്റ് എന്റിറ്റിയിലേക്ക് നയിക്കുന്ന ഒരു ത്രികോണത്തിൽ അവസാനിക്കുന്ന ഒരു വരിയായി സാമാന്യവൽക്കരണം കാണിക്കുന്നു. കുട്ടിക്ക് മാതാപിതാക്കളുടെ ഘടനയും (ആട്രിബ്യൂട്ടുകളും) പെരുമാറ്റവും (രീതികൾ) പാരമ്പര്യമായി ലഭിക്കുന്നു, എന്നാൽ അതേ സമയം അതിന് പുതിയ ഘടന ഘടകങ്ങളും പുതിയ രീതികളും ഉണ്ടാകാം. ഒന്നിലധികം പാരന്റ് എന്റിറ്റികളുമായി ഒരു എന്റിറ്റി ബന്ധപ്പെട്ടിരിക്കുന്നിടത്ത് UML ഒന്നിലധികം അനന്തരാവകാശം അനുവദിക്കുന്നു.

· നടപ്പിലാക്കൽ - ഈ സ്വഭാവം (ക്ലാസ്, ഘടകം) നടപ്പിലാക്കുന്നത് നിർവചിക്കുന്ന ഒരു എന്റിറ്റിയുമായുള്ള പെരുമാറ്റത്തിന്റെ (ഇന്റർഫേസ്) ഒരു സ്പെസിഫിക്കേഷൻ നിർവചിക്കുന്ന ഒരു എന്റിറ്റി തമ്മിലുള്ള ബന്ധം. ഘടകങ്ങൾ മോഡലിംഗ് ചെയ്യുമ്പോൾ ഈ ബന്ധം സാധാരണയായി ഉപയോഗിക്കാറുണ്ട്, തുടർന്നുള്ള ലേഖനങ്ങളിൽ കൂടുതൽ വിശദമായി വിവരിക്കും.

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

· സിസ്റ്റത്തിന്റെ സ്വഭാവം വിവരിക്കുന്ന ഡയഗ്രമുകൾ:

സംസ്ഥാന ഡയഗ്രമുകൾ

· പ്രവർത്തന ഡയഗ്രമുകൾ,

· ഒബ്ജക്റ്റ് ഡയഗ്രമുകൾ,

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

· സഹകരണ ഡയഗ്രമുകൾ;

സിസ്റ്റത്തിന്റെ ഭൗതിക നിർവ്വഹണത്തെ വിവരിക്കുന്ന ഡയഗ്രമുകൾ:

· ഘടക ഡയഗ്രമുകൾ;

· വിന്യാസ ഡയഗ്രമുകൾ.

2.1.4 മോഡൽ മാനേജ്മെന്റ് ഘടന

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

UML നൽകുന്നു.

പാക്കേജുകൾ ഹൈലൈറ്റ് ചെയ്തുകൊണ്ട് സങ്കീർണ്ണമായ ഒരു സിസ്റ്റത്തിന്റെ ശ്രേണിപരമായ വിവരണം;

· ഉപയോഗ കേസുകളുടെ ഉപകരണം ഉപയോഗിച്ച് സിസ്റ്റത്തിനായുള്ള പ്രവർത്തനപരമായ ആവശ്യകതകളുടെ ഔപചാരികവൽക്കരണം;

ആക്റ്റിവിറ്റി ഡയഗ്രമുകളും സാഹചര്യങ്ങളും നിർമ്മിച്ച് സിസ്റ്റം ആവശ്യകതകൾ വിശദീകരിക്കുന്നു;

· ഡാറ്റ ക്ലാസുകൾ തിരിച്ചറിയുകയും ക്ലാസ് ഡയഗ്രമുകളുടെ രൂപത്തിൽ ഒരു ആശയപരമായ ഡാറ്റ മോഡൽ നിർമ്മിക്കുകയും ചെയ്യുക;

· ഉപയോക്തൃ ഇന്റർഫേസ് വിവരിക്കുന്ന ക്ലാസുകൾ തിരിച്ചറിയുകയും ഒരു സ്ക്രീൻ നാവിഗേഷൻ സ്കീം സൃഷ്ടിക്കുകയും ചെയ്യുക;

· സിസ്റ്റം പ്രവർത്തനങ്ങൾ നടത്തുമ്പോൾ വസ്തുക്കൾ തമ്മിലുള്ള പ്രതിപ്രവർത്തന പ്രക്രിയകളുടെ വിവരണം;

· പ്രവർത്തനത്തിന്റെയും സംസ്ഥാന ഡയഗ്രമുകളുടെയും രൂപത്തിൽ വസ്തുക്കളുടെ സ്വഭാവത്തെക്കുറിച്ചുള്ള വിവരണം;

· സോഫ്റ്റ്‌വെയർ ഘടകങ്ങളുടെ വിവരണവും ഇന്റർഫേസുകളിലൂടെയുള്ള അവയുടെ ഇടപെടലും;

· സിസ്റ്റത്തിന്റെ ഫിസിക്കൽ ആർക്കിടെക്ചറിന്റെ വിവരണം.

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

2.2 "ഒരു സ്പോർട്സ് ക്ലബ്ബിന്റെ പ്രവർത്തനത്തിന്റെ ഓർഗനൈസേഷൻ" എന്ന വിഷയത്തിന്റെ പ്രവർത്തനത്തിന്റെ വിവരണം

എന്റർപ്രൈസസിന്റെ ഡിവിഷനുകൾ തമ്മിലുള്ള ബന്ധങ്ങളുടെ സ്വഭാവത്തെ ആശ്രയിച്ച്, ഇനിപ്പറയുന്ന തരത്തിലുള്ള സംഘടനാ ഘടനകൾ വേർതിരിച്ചിരിക്കുന്നു: ലീനിയർ, ഫങ്ഷണൽ, ലീനിയർ-ഫങ്ഷണൽ, മാട്രിക്സ്.

ഈ സ്പോർട്സ് ക്ലബ്ബിന്റെ പ്രവർത്തനം ഒരു ലീനിയർ മാനേജ്മെന്റ് ഘടനയാണ് ഉപയോഗിക്കുന്നത്.

സ്പോർട്സ് ക്ലബ് ഇനിപ്പറയുന്ന പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നു:

· ചിട്ടയായ ശാരീരിക വിദ്യാഭ്യാസത്തിലും കായികരംഗത്തും യുവാക്കളുടെയും അവരുടെ കുടുംബാംഗങ്ങളുടെയും പങ്കാളിത്തം;

ശാരീരികവും ധാർമ്മികവുമായ ഗുണങ്ങളുടെ വിദ്യാഭ്യാസം, ആരോഗ്യം ശക്തിപ്പെടുത്തുക, രോഗാവസ്ഥ കുറയ്ക്കുക, യുവാക്കളുടെ പ്രൊഫഷണൽ സന്നദ്ധതയും സാമൂഹിക പ്രവർത്തനവും വർദ്ധിപ്പിക്കുക;

· ബഹുജന വിനോദ, ശാരീരിക വിദ്യാഭ്യാസം, കായിക ഇവന്റുകൾ എന്നിവ സംഘടിപ്പിക്കുകയും നടത്തുകയും ചെയ്യുക;

കായികരംഗത്ത് അമച്വർ സ്പോർട്സ് അസോസിയേഷനുകൾ, ക്ലബ്ബുകൾ, വിഭാഗങ്ങൾ, ടീമുകൾ എന്നിവയുടെ സൃഷ്ടി;

ശാരീരിക സംസ്‌കാരത്തിന്റെയും കായിക വിനോദത്തിന്റെയും പ്രോത്സാഹനം, ആരോഗ്യകരമായ ജീവിതശൈലി, അർത്ഥവത്തായ വിശ്രമത്തിന്റെ ഓർഗനൈസേഷൻ, ബഹുജന സാമൂഹിക-രാഷ്ട്രീയ പരിപാടികളിൽ യുവാക്കളുടെ വിശാലമായ പങ്കാളിത്തം

സ്പോർട്സ് ക്ലബ് ഇനിപ്പറയുന്ന പ്രവർത്തനങ്ങൾ ചെയ്യുന്നു:

· യുവാക്കളുടെ പ്രവർത്തനങ്ങളിലും അവരുടെ ജീവിതത്തിലും വിനോദത്തിലും ശാരീരിക സംസ്കാരവും കായികവും നടപ്പിലാക്കുന്നു; ആരോഗ്യകരമായ ജീവിതശൈലി പ്രോത്സാഹിപ്പിക്കുന്നു, മോശം ശീലങ്ങളെ മറികടക്കാൻ പോരാടുന്നു;

· രാജ്യത്ത് സ്ഥാപിതമായ പാരമ്പര്യങ്ങൾക്കനുസൃതമായി വിവിധ രൂപങ്ങളും തരത്തിലുള്ള ശാരീരിക സംസ്കാരവും കായികവും പരിശീലിക്കുന്നതിന് ആവശ്യമായ സംഘടനാപരവും രീതിശാസ്ത്രപരവുമായ സാഹചര്യങ്ങൾ സൃഷ്ടിക്കുന്നു;

· ശാരീരിക വിദ്യാഭ്യാസം, വിപുലമായ അനുഭവം, ശാസ്ത്രീയ നേട്ടങ്ങൾ എന്നിവയുടെ പുതിയ രൂപങ്ങളും രീതികളും അവതരിപ്പിക്കുന്നു; ഭൗതിക വിഭവങ്ങൾ യുക്തിസഹമായും കാര്യക്ഷമമായും ഉപയോഗിക്കുന്നു;

· ബഹുജന ശാരീരിക വിദ്യാഭ്യാസം, ആരോഗ്യം, കായിക പ്രവർത്തനങ്ങൾ എന്നിവയിൽ സാധ്യമായ എല്ലാ വഴികളിലും സാമൂഹിക തത്വങ്ങൾ വികസിപ്പിക്കുന്നു;

· ബഹുജന വിനോദം, ശാരീരിക വിദ്യാഭ്യാസം, കായിക പ്രവർത്തനങ്ങൾ എന്നിവ സംഘടിപ്പിക്കുന്നതിന് സെക്കൻഡറി സ്കൂളുകൾക്കും കോളേജുകൾക്കും സഹായം നൽകുന്നു;

കായിക വിഭാഗങ്ങളിൽ (ദേശീയ ടീമുകൾ) വിദ്യാഭ്യാസ, പരിശീലന പ്രക്രിയ സംഘടിപ്പിക്കുന്നു;

· ബഹുജന വിനോദം, ശാരീരിക വിദ്യാഭ്യാസം, കായിക ഇവന്റുകൾ എന്നിവയ്ക്കായി കലണ്ടർ പ്ലാനുകൾ വികസിപ്പിക്കുകയും നടപ്പിലാക്കുകയും ചെയ്യുന്നു, അവ നടപ്പിലാക്കുന്നതിന്റെ സുരക്ഷ ഉറപ്പാക്കുന്നു;

ഏറ്റവും ഉയർന്ന കായിക യോഗ്യതയുള്ള അത്ലറ്റുകളെ തയ്യാറാക്കുന്നതിനായി സ്പോർട്സ് ക്ലബ്ബിന്റെ വിഭാഗങ്ങളിലെ വിദ്യാഭ്യാസ, പരിശീലന പ്രക്രിയയിൽ നിയന്ത്രണം നൽകുന്നു, അവരുടെ കായിക കഴിവുകളുടെ വളർച്ചയ്ക്ക് ആവശ്യമായ വ്യവസ്ഥകൾ സൃഷ്ടിക്കുന്നതിന് സംഭാവന ചെയ്യുന്നു;

· വിഭാഗങ്ങളിൽ (ദേശീയ ടീമുകൾ) ശാരീരിക സംസ്കാരത്തിലും കായികരംഗത്തും ഏർപ്പെട്ടിരിക്കുന്നവരുടെ ആരോഗ്യനിലയിൽ ആരോഗ്യ അധികാരികളുമായി ചേർന്ന് മെഡിക്കൽ നിയന്ത്രണം സംഘടിപ്പിക്കുന്നു;

· ബഹുജന ശാരീരിക വിദ്യാഭ്യാസം, ആരോഗ്യം, വിദ്യാഭ്യാസ, കായിക പ്രവർത്തനങ്ങൾ എന്നിവയുടെ വികസനത്തിന് നിലവിലുള്ളതും ദീർഘകാലവുമായ പദ്ധതികൾ തയ്യാറാക്കുന്നു, ക്ലബ്ബിന്റെ ചെലവ് കണക്കാക്കുന്നു.

· അതിന്റെ കഴിവിന്റെ പരിധിക്കുള്ളിൽ, ശാരീരിക വിദ്യാഭ്യാസ ഉദ്യോഗസ്ഥരെ തിരഞ്ഞെടുക്കുകയും സ്ഥാപിക്കുകയും ചെയ്യുന്നു;

· ഒരു പതാക, ചിഹ്നം, സ്പോർട്സ് യൂണിഫോം, സ്റ്റാമ്പ്, ലെറ്റർഹെഡ് എന്നിവ ഉണ്ടായിരിക്കാം;

· ബഹുജന മത്സരങ്ങൾ, കായിക ദിനങ്ങൾ (യൂണിവേഴ്സിയേഡ്), വിദ്യാഭ്യാസ, പരിശീലന ക്യാമ്പുകൾ എന്നിവ നടത്തുന്നു;

· അംഗീകൃത നടപടിക്രമം അനുസരിച്ച്, ടീമുകളെയും വ്യക്തിഗത കായികതാരങ്ങളെയും മത്സരങ്ങളിലേക്ക് അയയ്ക്കുന്നു;

· യൂണിവേഴ്സിറ്റി ടീമുകളിലെ അംഗങ്ങൾക്ക് ഉചിതമായ സർട്ടിഫിക്കറ്റുകൾ (ബാഡ്ജുകൾ) നൽകുന്നു;

2.3 "സ്പോർട്സ് ക്ലബ് പ്രക്രിയകളുടെ ഓർഗനൈസേഷൻ" എന്ന വിഷയത്തിന്റെ ഒരു ക്ലാസ് ഡയഗ്രാമിന്റെ നിർമ്മാണം

ക്ലബ്ബിനെ അടിസ്ഥാനമാക്കി സ്പോർട്സ് ക്ലബ്ബിന് നാല് വിഭാഗങ്ങളുണ്ട്:

· ബാസ്കറ്റ്ബോൾ

· വോളിബോൾ

· ടെന്നീസ്.

ഏതെങ്കിലും വിഭാഗത്തിൽ ചേരുന്നതിന് കാൻഡിഡേറ്റ്-അത്ലറ്റുകൾ ഒരു സ്പോർട്സ് ക്ലബ്ബിലേക്ക് അപേക്ഷിക്കുമ്പോൾ, രജിസ്ട്രേഷൻ നടത്തപ്പെടുന്നു, അതിൽ ഇനിപ്പറയുന്ന പ്രവർത്തനങ്ങൾ ഉൾപ്പെടുന്നു:

· അത്ലറ്റുകളെക്കുറിച്ചുള്ള ഡാറ്റ 5 ഫീൽഡുകൾ സൂചിപ്പിക്കുന്ന ഒരു പട്ടികയിൽ നൽകിയിട്ടുണ്ട്: അവസാന നാമം, പേരിന്റെ ആദ്യ പേര്, പ്രായം, ഫോൺ, വിഭാഗം.

· കായികതാരങ്ങളെ അപേക്ഷ സമർപ്പിച്ച വിഭാഗങ്ങളായി തിരിച്ചിരിക്കുന്നു.

· അത്ലറ്റുകളുടെ രക്ഷിതാക്കൾക്ക് സ്പോർട്സ് ക്ലബ് വിഭാഗങ്ങളുടെ ഒരു ഷെഡ്യൂൾ നൽകുന്നു.

ക്ലബിന്റെ ശരിയായ പ്രവർത്തനം സംഘടിപ്പിക്കുന്നതിനും, വിഭാഗങ്ങളുടെ പ്രവർത്തനം ഏകോപിപ്പിക്കുന്നതിനും, പരിശീലകരുടെ ജോലിക്കും, സ്പോർട്സ് ക്ലബ്ബിന്റെ അഡ്മിനിസ്ട്രേറ്റർ ഷെഡ്യൂൾ പൂരിപ്പിക്കുന്നു.

ഒരു ക്ലബിൽ ചേരുമ്പോൾ, ഒരു അത്ലറ്റ് വിഭാഗത്തെ സൂചിപ്പിക്കുന്ന ഒരു പട്ടികയിൽ പ്രവേശിക്കുന്നു. ക്ലബിൽ ഉൾപ്പെട്ടിരിക്കുന്ന എല്ലാ അത്ലറ്റുകളും വിഭാഗത്തെ സൂചിപ്പിക്കുന്ന പ്രധാന പട്ടികയിൽ നൽകണം.

സ്പോർട്സ് ക്ലബ്ബിന്റെ പ്രവർത്തന പ്രക്രിയകളെ ദൃശ്യപരമായി പ്രതിനിധീകരിക്കുന്നതിന്, ഒരു UML ഡയഗ്രം നിർമ്മിച്ചു (ചിത്രം 2.3.1).

അരി. 2.3.1 സ്പോർട്സ് ക്ലബ്ബിന്റെ ഒബ്ജക്റ്റ് ഓറിയന്റഡ് മോഡൽ.

3. വിഷ്വൽ പ്രോഗ്രാമിംഗ് എൻവയോൺമെന്റ് ഡെൽഫി ഉപയോഗിച്ച് "ഒരു സ്പോർട്സ് ക്ലബ്ബിന്റെ ഓർഗനൈസേഷൻ ഓഫ് വർക്ക്" എന്ന വിഷയ ഡൊമെയ്നിന്റെ ഒരു ഒബ്ജക്റ്റ് മോഡലിന്റെ നിർമ്മാണം

3.1 ആപ്ലിക്കേഷൻ ഘടനയുടെ വിവരണം

ഈ ആപ്ലിക്കേഷൻ സ്പോർട്ട് പാക്കേജിന്റെ ഭാഗമാണ്. ഇതിൽ ഒരു ക്ലാസ് അടങ്ങിയിരിക്കുന്നു: ക്ലാസ് ടിപി പീപ്പിൾ.

"Ogonyok" എന്ന് വിളിക്കപ്പെടുന്ന ഈ സ്പോർട്സ് ക്ലബ്ബിൽ ഉൾപ്പെട്ടിരിക്കുന്ന കുട്ടികളെക്കുറിച്ചുള്ള വിവരങ്ങൾ സൃഷ്ടിക്കാനും ശേഖരിക്കാനും "TPeople" ക്ലാസ് നിങ്ങളെ അനുവദിക്കുന്നു. ഇതിന് അഞ്ച് ഫീൽഡുകളുണ്ട്: "പേര്" എന്ന സ്ട്രിംഗ് ഉപയോഗിച്ച് പേര് വ്യക്തമാക്കിയിരിക്കുന്നു; അവസാന നാമം സ്ട്രിംഗ് "ഫാമിൽ" വ്യക്തമാക്കുന്നു; സംഖ്യാ വേരിയബിളിൽ (int) "Age" എന്നതിൽ പ്രായം സംഭരിച്ചിരിക്കുന്നു; ടെലിഫോൺ നമ്പർ സ്ട്രിംഗ് "ടെൽ" വ്യക്തമാക്കുന്നു; അത്ലറ്റ് ട്രെയിൻ ചെയ്യുന്ന വിഭാഗം "Sekc" എന്ന സ്ട്രിംഗ് വ്യക്തമാക്കുന്നു.

ജനം = ക്ലാസ്

പേര്: സ്ട്രിംഗ്;

കുടുംബം: സ്ട്രിംഗ്;

പ്രായം: പൂർണ്ണസംഖ്യ;

ടെൽ: സ്ട്രിംഗ്;

sekc: സ്ട്രിംഗ്;

കൺസ്‌ട്രക്‌റ്റർ സൃഷ്‌ടിക്കുക (അനാമേ: സ്ട്രിംഗ്);

അവസാനിക്കുന്നു;

ഈ സാഹചര്യത്തിൽ, ഫീൽഡുകൾ രണ്ട് തരത്തിൽ നൽകപ്പെടുന്നു:

എൽഎസ്ടി എക്സ്റ്റൻഷൻ ഉപയോഗിച്ച് സംരക്ഷിച്ച ഫയലിൽ നിന്ന് ഒരു മൂല്യം ലോഡ് ചെയ്യുന്നു. (ചിത്രം 3.1.1.)

ഓപ്പൺ ഡിഎൽജി ഫംഗ്‌ഷൻ ഉപയോഗിച്ചാണ് ഈ രീതി ക്രമീകരിച്ചിരിക്കുന്നത്, ക്ലാസിലെ ഓരോ വരിയും പ്രത്യേക മൂല്യമായി വായിക്കുന്നു.

var F: ടെക്സ്റ്റ് ഫയൽ;

ഞാൻ: പൂർണ്ണസംഖ്യ;

ആരംഭിക്കുന്നു

ശ്രമിക്കുക

OpenDlg ഉപയോഗിച്ച്, PersonsList.Items ചെയ്യുന്നു

ആരംഭിക്കുന്നു

എക്സിക്യൂട്ട് ചെയ്തില്ലെങ്കിൽ പുറത്തുകടക്കുക;

ഫയലിൽ നിന്ന് ലോഡ് ചെയ്യുക (ഫയൽ നാമം);

AssignFile(F, Copy(FileName,1,Length(FileName)-4)+".lso");

റീസെറ്റ് (എഫ്);

ഞാൻ:= 0;

EOF(F) ചെയ്യാത്ത സമയത്ത്

ആരംഭിക്കുന്നു

ഒബ്ജക്റ്റുകൾ[i] := TPeople.Create("");

Readln(F, (Objects[i] TPeople).പേര്);

Readln(F, (Objects[i] TPeople).Famil);

Readln(F, (Objects[i] TPeople).Age);

Readln(F, (Objects[i] TPeople).tel);

Readln(F, (Objects[i] TPeople).sekc);

Inc(i);

അവസാനിക്കുന്നു;

ക്ലോസ്ഫയൽ(എഫ്);

അവസാനിക്കുന്നു;

ഒഴികെ

ഇയിൽ: EFOpenError do ShowMessage("ഫയൽ തുറക്കുന്നതിൽ പിശക്");

അവസാനം;അവസാനം;

അരി. 3.1.1 ഫയൽ അപ്‌ലോഡ്.

പട്ടിക പൂരിപ്പിക്കുന്നതിനുള്ള രണ്ടാമത്തെ രീതി എഡിറ്റ് ഘടകങ്ങൾ ഉപയോഗിച്ചുള്ള ഇൻപുട്ട് ആണ് (ചിത്രം 3.1.2.)

അരി. 3.1.2 എഡിറ്റ് ഘടകം ഉപയോഗിച്ച് പട്ടിക പൂരിപ്പിക്കൽ.

കൂടാതെ, "സെക്ഷൻ" ഫീൽഡിന്റെ മൂല്യം കോംബോബോക്സ് ഘടകത്തിന്റെ മൂല്യങ്ങളിൽ നിന്ന് തിരഞ്ഞെടുത്ത് "Sekc" ലൈനിലേക്ക് നിയോഗിക്കുന്നു. (ചിത്രം.3.1.3)

അരി. 3.1.3 കോംബോബോക്സ് ഘടകം.

ആവശ്യമുള്ള മൂല്യം തിരഞ്ഞെടുത്ത് "മാറ്റുക" ബട്ടൺ ക്ലിക്കുചെയ്തുകൊണ്ട് നൽകിയ മൂല്യങ്ങൾ ക്രമീകരിക്കാൻ കഴിയും (ചിത്രം 3.1.4)

അരി. 3.1.4 മൂല്യങ്ങൾ മാറ്റുന്നു.

ഒരു എൻട്രി (ചിത്രം 3.1.5) ഇല്ലാതാക്കി എല്ലാ എൻട്രികളും (ചിത്രം 3.1.6) ഇല്ലാതാക്കി ഒരു മൂല്യം ഇല്ലാതാക്കാൻ പ്രോഗ്രാം നൽകുന്നു.

ഒരു മൂല്യം തിരഞ്ഞെടുത്ത് "ഇല്ലാതാക്കുക" ബട്ടൺ ക്ലിക്കുചെയ്തുകൊണ്ട് ഒരു റെക്കോർഡ് ഇല്ലാതാക്കുന്നു.

അരി. 3.1.5 ഒരു എൻട്രി ഇല്ലാതാക്കുന്നു.

എല്ലാ റെക്കോർഡുകളും മായ്ക്കാൻ, "മായ്ക്കുക" ബട്ടൺ ക്ലിക്ക് ചെയ്യുക.

അരി. 3.1.6 "മായ്ക്കുക" ബട്ടൺ.

രണ്ട് നീക്കംചെയ്യൽ രീതികളും ഇനിപ്പറയുന്ന രീതികൾ ഉപയോഗിച്ചാണ് നടത്തുന്നത്:

നടപടിക്രമം TMainForm.ToolButton4Click(അയക്കുന്നയാൾ: TObject);

ആരംഭിക്കുന്നു

PersonsList do Items ഉപയോഗിച്ച്. ഡിലീറ്റ്(ഐറ്റംഇൻഡക്സ്);

അവസാനിക്കുന്നു;

നടപടിക്രമം TMainForm.ToolButton5Click(അയക്കുന്നയാൾ: TObject);

ആരംഭിക്കുന്നു

PersonsList.Items.Clear;

അവസാനിക്കുന്നു;

അത്ലറ്റുകളുടെ പട്ടിക പൂരിപ്പിച്ച ശേഷം, ഭാവിയിലെ ഉപയോഗത്തിനായി അത് സംരക്ഷിക്കേണ്ടത് ആവശ്യമാണ്. "സംരക്ഷിക്കുക" ബട്ടൺ (ചിത്രം 3.1.7) ക്ലിക്ക് ചെയ്തുകൊണ്ടാണ് ഇത് ചെയ്യുന്നത്. ഈ ബട്ടണിൽ ക്ലിക്ക് ചെയ്ത ശേഷം, ഒരു ഡയലോഗ് ബോക്സ് തുറക്കുന്നു, അവിടെ ഫയൽ സ്റ്റോറേജ് ഫോൾഡറും അതിന്റെ പേരും സൂചിപ്പിച്ചിരിക്കുന്നു. (ചിത്രം 3.1.8).

സമാനമായ രേഖകൾ

    വിഷയ മേഖലയുടെ ഹ്രസ്വ വിവരണം. ഒരു വിദ്യാഭ്യാസ ലൈബ്രറിക്ക് വേണ്ടി ഒബ്ജക്റ്റ് ഓറിയന്റഡ് ഇൻഫർമേഷൻ സിസ്റ്റം മോഡൽ വികസിപ്പിക്കുന്നതിന്റെ പ്രസക്തി. യൂസ് കേസ് ഡയഗ്രം, സീക്വൻസ് ഡയഗ്രം, സഹകരണ ഡയഗ്രം, ക്ലാസ് ഡയഗ്രം എന്നിവ സൃഷ്‌ടിക്കുക.

    കോഴ്‌സ് വർക്ക്, 06/01/2009 ചേർത്തു

    "KavkazYugAvto" എന്ന കമ്പനിക്ക് വേണ്ടി ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് വെയർഹൗസ് അക്കൗണ്ടിംഗ് സബ്സിസ്റ്റത്തിന്റെ വികസനം. വിഷയ മേഖലയുടെ ഹ്രസ്വ വിവരണം. പ്ലേസ്‌മെന്റ്, ഉപയോഗ കേസുകൾ, ക്രമം, ഘടകങ്ങൾ, ക്ലാസുകൾ എന്നിവയുടെ ഡയഗ്രമുകൾ വരയ്ക്കുന്നു. C++ കോഡ് സൃഷ്ടിക്കുന്നു.

    കോഴ്‌സ് വർക്ക്, 06/26/2011 ചേർത്തു

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

    സംഗ്രഹം, 06/09/2009 ചേർത്തു

    വിഷയ മേഖലയുടെ വിവരണം "കമ്പ്യൂട്ടർ ഘടകങ്ങൾ വിൽക്കുന്ന സ്റ്റോർ." ER, റിലേഷണൽ ഡാറ്റ, എന്റിറ്റി, റിലേഷൻഷിപ്പ് മോഡലുകൾ എന്നിവ നിർമ്മിക്കുന്നു. ഇആറിന്റെയും റിലേഷണൽ ഡാറ്റ മോഡലിന്റെയും സൃഷ്ടി, അന്വേഷണങ്ങൾ, കാഴ്‌ചകൾ, വിഷയ മേഖലയ്‌ക്കായി സംഭരിച്ച നടപടിക്രമങ്ങൾ.

    കോഴ്‌സ് വർക്ക്, 06/15/2014 ചേർത്തു

    കമ്പ്യൂട്ടർ ക്ലബ് സോഫ്റ്റ്‌വെയർ സിസ്റ്റങ്ങളുടെ പ്രസക്തിയും പ്രായോഗിക പ്രാധാന്യവും. ഡൊമെയ്ൻ വിശകലനം. ക്ലാസ് ഡയഗ്രം, സിസ്റ്റത്തിന്റെ ഫിസിക്കൽ മോഡൽ. UML2.0 ഭാഷയും Microsoft Visio മോഡലിംഗ് പരിതസ്ഥിതിയും ഉപയോഗിച്ച് ഒരു വിഷ്വൽ IS പ്രോജക്റ്റിന്റെ വികസനം.

    കോഴ്‌സ് വർക്ക്, 06/21/2014 ചേർത്തു

    ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് സമീപനത്തെ അടിസ്ഥാനമാക്കി "കവികളുടെ മത്സരം" എന്ന വിഷയ മേഖലയുടെ വിശകലനം. ഒരു വിൻഡോ ആപ്ലിക്കേഷന്റെ വികസനവും വിഷയ മേഖലയുടെ വിവര മാതൃകയുടെ വിവരണവും. വികസിപ്പിച്ച C++ നടപടിക്രമങ്ങളുടെയും ആപ്ലിക്കേഷൻ ടെസ്റ്റിംഗ് ഫലങ്ങളുടെയും വിവരണം.

    കോഴ്‌സ് വർക്ക്, 06/18/2013 ചേർത്തു

    ഫങ്ഷണൽ മോഡലിംഗ് IDEF0. സാങ്കേതിക പിന്തുണാ വകുപ്പിന്റെ എല്ലാ പ്രവർത്തന പ്രക്രിയകളുടെയും വിവരണം. സന്ദർഭ രേഖാചിത്രത്തിന്റെയും പ്രധാന പ്രക്രിയകളുടെയും വിഘടനം. IDEF1X സ്റ്റാൻഡേർഡിൽ ഡൊമെയ്ൻ പ്രക്രിയകളുടെ ഒരു മാതൃക നിർമ്മിക്കുന്നു. ട്രാഫിക് കൺട്രോൾ പ്രോഗ്രാമിന്റെ ഇന്റർഫേസ്.

    പരിശീലന റിപ്പോർട്ട്, 11/22/2014 ചേർത്തു

    ER ഡയഗ്രം രീതി ഉപയോഗിച്ച് ഒരു വിഷയ മേഖലയുടെ വിവരസാങ്കേതിക മാതൃകയുടെ നിർമ്മാണം. SQL ഭാഷ ഉപയോഗിച്ച് ഡാറ്റാബേസ് ബന്ധങ്ങൾ സൃഷ്ടിക്കുന്നു. ഡാറ്റാബേസ് പൂരിപ്പിക്കൽ. കമ്പ്യൂട്ടർ ക്ലബ് ഡാറ്റാബേസിലേക്ക് അന്വേഷണങ്ങൾ സൃഷ്ടിക്കുന്നു. Microsoft Word, Microsoft Excel എന്നിവ ഉപയോഗിച്ച് ഒരു റിപ്പോർട്ട് സൃഷ്ടിക്കുക.

    കോഴ്‌സ് വർക്ക്, 02/26/2009 ചേർത്തു

    വിഷയ മേഖലയുടെ ഹ്രസ്വ വിവരണം. ഉപയോഗ കേസ്, സീക്വൻസ്, സഹകരണം, ക്ലാസ്, പ്ലേസ്മെന്റ്, ഘടക ഡയഗ്രമുകൾ എന്നിവ സൃഷ്ടിക്കുക. പ്രവർത്തന വിവരണങ്ങളിലേക്ക് വിശദാംശങ്ങൾ ചേർക്കുകയും ക്ലാസ് ആട്രിബ്യൂട്ടുകൾ നിർവചിക്കുകയും ചെയ്യുന്നു. C++ കോഡ് സൃഷ്ടിക്കുന്നു.

    കോഴ്‌സ് വർക്ക്, 06/29/2011 ചേർത്തു

    സാമ്പത്തിക പ്രവർത്തനത്തിന്റെ ഒരു വസ്തുവായി ഒരു വെയർഹൗസിന്റെ പൊതു സവിശേഷതകൾ. ഒരു ഉപയോഗ കേസും സീക്വൻസ് ഡയഗ്രാമും സൃഷ്ടിക്കുക. ഒരു കോർപ്പറേറ്റ് സഹകരണ ഡയഗ്രം നിർമ്മിക്കുന്നു. ക്ലാസിന്റെയും ഘടക രേഖാചിത്രങ്ങളുടെയും ഉദ്ദേശ്യം. C++ കോഡ് സൃഷ്ടിക്കുന്നു.

ഡാറ്റാബേസ്. കറസ്പോണ്ടൻസ് വിദ്യാർത്ഥികൾ

ലബോറട്ടറി വർക്ക് നമ്പർ 1

UML മോഡലിംഗ് ഭാഷ ഉപയോഗിച്ച് ഒരു പ്രശ്നത്തിന്റെ ഒബ്ജക്റ്റ് മോഡൽ നിർമ്മിക്കുന്നു.

നിങ്ങളുടെ ജോലിയെ പ്രതിരോധിക്കുന്നതിന്, മൂന്ന് തരം ഡയഗ്രമുകൾ ഉൾപ്പെടെ, റേഷനൽ റോസ് പാക്കേജിൽ സൃഷ്ടിച്ച ഒരു പ്രോജക്റ്റ് നിങ്ങൾ നൽകണം: ഓരോ ഫംഗ്ഷനുമുള്ള കേസുകൾ, ക്ലാസുകൾ (ഇന്റർഫേസ്, ഡാറ്റ), സീക്വൻസുകൾ എന്നിവ ഉപയോഗിക്കുക.

പൊതുവിവരം

വികസിപ്പിച്ചുകൊണ്ടിരിക്കുന്ന സിസ്റ്റം നന്നായി മനസ്സിലാക്കുന്നതിന് ഒരു മാതൃക നിർമ്മിക്കേണ്ടത് ആവശ്യമാണ്.

ഇനിപ്പറയുന്ന പ്രശ്നങ്ങൾ പരിഹരിക്കാൻ മോഡലിംഗ് നിങ്ങളെ അനുവദിക്കുന്നു:

നിലവിലെ അല്ലെങ്കിൽ ആവശ്യമുള്ള അവസ്ഥയിൽ സിസ്റ്റം ദൃശ്യവൽക്കരിക്കുക;

ഒരു സിസ്റ്റത്തിന്റെ ഘടന അല്ലെങ്കിൽ സ്വഭാവം നിർണ്ണയിക്കുക;

സിസ്റ്റം രൂപകൽപ്പന ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു ടെംപ്ലേറ്റ് നേടുക;

തത്ഫലമായുണ്ടാകുന്ന മോഡലുകൾ ഉപയോഗിച്ച് എടുത്ത ഡോക്യുമെന്റ് തീരുമാനങ്ങൾ.

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

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

ബിഹേവിയറൽ എന്റിറ്റികൾ UML മോഡലിന്റെ ചലനാത്മക ഘടകങ്ങളാണ്. ഇവ ഭാഷയുടെ ക്രിയകളാണ്: സമയത്തിലും സ്ഥലത്തും മോഡലിന്റെ പെരുമാറ്റം വിവരിക്കുന്നു. രണ്ട് തരത്തിലുള്ള പെരുമാറ്റ ഘടകങ്ങളുണ്ട്:

ഇടപെടൽ;

സംസ്ഥാന യന്ത്രം.

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

ഗ്രൂപ്പിംഗ് എന്റിറ്റികൾ UML-ന്റെ ഓർഗനൈസിംഗ് ഭാഗങ്ങളാണ്. മോഡൽ വിഘടിപ്പിക്കാൻ കഴിയുന്ന ബ്ലോക്കുകളാണിവ. ഒരു ഗ്രൂപ്പിംഗ് എന്റിറ്റി മാത്രമേയുള്ളൂ, അതായത് പാക്കേജ്.

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

വ്യാഖ്യാന എന്റിറ്റികൾ- UML മോഡലിന്റെ വിശദീകരണ ഭാഗങ്ങൾ. മോഡലിന്റെ ഏതെങ്കിലും ഘടകത്തെക്കുറിച്ച് കൂടുതൽ വിവരണമോ വ്യക്തതയോ അഭിപ്രായമോ നൽകാനുള്ള കമന്റുകളാണിവ. ഒരു തരം വ്യാഖ്യാന ഘടകം മാത്രമേയുള്ളൂ - കുറിപ്പ്.

കുറിപ്പ്ഒരു ഘടകത്തിലേക്കോ ഘടകങ്ങളുടെ ഗ്രൂപ്പിലേക്കോ ഘടിപ്പിച്ചിരിക്കുന്ന അഭിപ്രായങ്ങളെയോ നിയന്ത്രണങ്ങളെയോ പ്രതിനിധീകരിക്കുന്നതിനുള്ള ഒരു പ്രതീകമാണ്. ഗ്രാഫിക്കലായി, ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു ടെക്‌സ്‌റ്റോ ഗ്രാഫിക് കമന്റോ അടങ്ങിയ വളഞ്ഞ അരികുള്ള ദീർഘചതുരമായി ഒരു കുറിപ്പ് ചിത്രീകരിച്ചിരിക്കുന്നു. 6.

UML നാല് തരത്തിലുള്ള ബന്ധങ്ങളെ നിർവചിക്കുന്നു:

ആസക്തി;

അസോസിയേഷൻ;

പൊതുവൽക്കരണം;

നടപ്പിലാക്കൽ.

ഈ ബന്ധങ്ങൾ UML-ലെ അടിസ്ഥാന നിർമ്മാണ ബ്ലോക്കുകളാണ്, അവ സാധുവായ മോഡലുകൾ സൃഷ്ടിക്കാൻ ഉപയോഗിക്കുന്നു.

ആസക്തി(ആശ്രിതത്വം) എന്നത് രണ്ട് എന്റിറ്റികൾ തമ്മിലുള്ള ഒരു സെമാന്റിക് ബന്ധമാണ്, അതിൽ അവയിലൊന്നിലെ മാറ്റം, സ്വതന്ത്രമായി, മറ്റൊന്നിന്റെ അർത്ഥശാസ്ത്രത്തെ ബാധിക്കും. ഗ്രാഫിക്കലായി, ആശ്രിതത്വം ഒരു നേർരേഖയായി ചിത്രീകരിച്ചിരിക്കുന്നു, പലപ്പോഴും ഒരു അമ്പടയാളം (ചിത്രം 7 കാണുക).

അസോസിയേഷൻ(അസോസിയേഷൻ) - ഒരു കൂട്ടം കണക്ഷനുകൾ വിവരിക്കുന്ന ഒരു ഘടനാപരമായ ബന്ധം; വസ്തുക്കൾ തമ്മിലുള്ള ബന്ധമാണ് കണക്ഷൻ. ഗ്രാഫിക്കലായി, ഒരു അസ്സോസിയേഷൻ ഒരു നേർരേഖയായി ചിത്രീകരിച്ചിരിക്കുന്നു (ചിലപ്പോൾ ഒരു അമ്പടയാളത്തിൽ അവസാനിക്കുന്നു അല്ലെങ്കിൽ ഒരു ലേബൽ അടങ്ങിയിരിക്കുന്നു), അതിന് അടുത്തായി ഗുണിതവും റോൾ നാമങ്ങളും പോലുള്ള അധിക ചിഹ്നങ്ങൾ ഉണ്ടായിരിക്കാം. ചിത്രത്തിൽ. ഇത്തരത്തിലുള്ള ബന്ധത്തിന്റെ ഒരു ഉദാഹരണം ചിത്രം 8 കാണിക്കുന്നു.

UML-ലെ ഒരു ഡയഗ്രം എന്നത് ഒരു കൂട്ടം മൂലകങ്ങളുടെ ഗ്രാഫിക്കൽ പ്രാതിനിധ്യമാണ്, മിക്കപ്പോഴും വെർട്ടീസുകളും (എന്റിറ്റികളും) അരികുകളും (ബന്ധങ്ങൾ) ഉള്ള ഒരു ബന്ധിപ്പിച്ച ഗ്രാഫായി ചിത്രീകരിച്ചിരിക്കുന്നു. വ്യത്യസ്ത വീക്ഷണകോണുകളിൽ നിന്ന് ഒരു സിസ്റ്റത്തെ ദൃശ്യവൽക്കരിക്കാൻ ഡയഗ്രമുകൾ വരയ്ക്കുന്നു. UML-ൽ ഒമ്പത് തരം ഡയഗ്രമുകൾ ഉണ്ട്:

ക്ലാസ് ഡയഗ്രമുകൾ;

ഒബ്ജക്റ്റ് ഡയഗ്രമുകൾ;

കേസ് ഡയഗ്രമുകൾ ഉപയോഗിക്കുക;

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

സഹകരണ ഡയഗ്രമുകൾ;

സംസ്ഥാന ഡയഗ്രമുകൾ;

പ്രവർത്തന ഡയഗ്രമുകൾ;

ഘടക രേഖാചിത്രങ്ങൾ;

വിന്യാസ ഡയഗ്രമുകൾ.

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

ഓൺ കേസ് ഡയഗ്രം ഉപയോഗിക്കുകമുൻഗാമികളും അഭിനേതാക്കളും (ക്ലാസ്സുകളുടെ ഒരു പ്രത്യേക കേസ്) അവതരിപ്പിക്കുന്നു, അതുപോലെ അവർ തമ്മിലുള്ള ബന്ധവും. ഉപയോഗ കേസുകളുടെ അടിസ്ഥാനത്തിൽ ഒരു സിസ്റ്റത്തിന്റെ സ്റ്റാറ്റിക് വ്യൂവിനെയാണ് യൂസ് കേസ് ഡയഗ്രമുകൾ സൂചിപ്പിക്കുന്നത്. സിസ്റ്റം പെരുമാറ്റം സംഘടിപ്പിക്കുകയും മാതൃകയാക്കുകയും ചെയ്യുമ്പോൾ അവ വളരെ പ്രധാനമാണ്.

സീക്വൻസ് ഡയഗ്രമുകൾഇന്ററാക്ഷൻ ഡയഗ്രമുകളുടെ ഒരു പ്രത്യേക സാഹചര്യമാണ്. ഓൺ ഇന്ററാക്ഷൻ ഡയഗ്രമുകൾവസ്തുക്കൾ തമ്മിലുള്ള കണക്ഷനുകൾ അവതരിപ്പിക്കുന്നു; വസ്തുക്കൾക്ക് കൈമാറാൻ കഴിയുന്ന സന്ദേശങ്ങൾ പ്രത്യേകിച്ച് കാണിക്കുന്നു. ഇന്ററാക്ഷൻ ഡയഗ്രമുകൾ സിസ്റ്റത്തിന്റെ ചലനാത്മക കാഴ്ചയെ സൂചിപ്പിക്കുന്നു. സീക്വൻസ് ഡയഗ്രമുകൾ സന്ദേശങ്ങളുടെ താൽക്കാലിക ക്രമം പ്രതിഫലിപ്പിക്കുന്നു.

ഇനിപ്പറയുന്ന ടാസ്ക് ഒരു ഉദാഹരണമായി ഉപയോഗിച്ച് ജോലിയുടെ ക്രമം ചർച്ച ചെയ്യും:

ഇനിപ്പറയുന്ന വിവരങ്ങൾ ഡാറ്റാബേസിൽ സംഭരിച്ചിട്ടുണ്ടെന്ന് ഉറപ്പാക്കേണ്ടത് ആവശ്യമാണ്:

- വിദ്യാർത്ഥികളെക്കുറിച്ചുള്ള വിവരങ്ങൾ (പൂർണ്ണമായ പേര്, വീട്ടുവിലാസം, പാസ്പോർട്ട് വിശദാംശങ്ങൾ, റെക്കോർഡ് നമ്പർ, ജനനത്തീയതി, ഗ്രൂപ്പ് എന്നിവ ഉൾപ്പെടുന്നു);

- പ്രത്യേകതകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ (പ്രത്യേകതയുടെ പേര്, കോഡ്);

- ഗ്രൂപ്പുകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ (പ്രത്യേകത, പ്രവേശന വർഷം, ഗ്രൂപ്പ് നമ്പർ).

ഇനിപ്പറയുന്ന ഫീൽഡുകൾ അടങ്ങുന്ന "ഗ്രൂപ്പ് ലിസ്റ്റ്" പ്രമാണത്തിന്റെ ഇഷ്യൂ ഉറപ്പാക്കുക: സീരിയൽ നമ്പർ, മുഴുവൻ പേര്, റെക്കോർഡ് നമ്പർ.

ഒബ്ജക്റ്റ് മോഡലിന്റെ നിർമ്മാണം യുക്തിസഹമായ റോസ് പാക്കേജിലാണ് നടത്തുന്നത്. ഇത് ചെയ്യുന്നതിന്, നമുക്ക് ഒരു ശൂന്യമായ പ്രോജക്റ്റ് സൃഷ്ടിക്കാം. ഒരു യൂസ് കേസ് ഡയഗ്രം ഉപയോഗിച്ച് നിങ്ങളുടെ ജോലി ആരംഭിക്കണം. ചിത്രം 9-ൽ കാണിച്ചിരിക്കുന്നതുപോലെ, യൂസ് കേസ് വ്യൂ വിഭാഗത്തിന്റെ പ്രധാന ഏരിയയിലാണ് ഇത് നിർമ്മിച്ചിരിക്കുന്നത്.

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

നിർമ്മിച്ച ഡയഗ്രം ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നു. 10.


അടുത്തതായി, ലോജിക്കൽ വ്യൂ വിഭാഗത്തിൽ, നിങ്ങൾ രണ്ട് ക്ലാസ് ഡയഗ്രമുകൾ സൃഷ്ടിക്കണം. ഇത് ചെയ്യുന്നതിന്, നിങ്ങൾക്ക് രണ്ട് പാക്കേജുകൾ സൃഷ്ടിക്കാൻ കഴിയും. ആദ്യ ഡയഗ്രാമിൽ രൂപകൽപ്പന ചെയ്യുന്ന ആപ്ലിക്കേഷന്റെ ഇന്റർഫേസ് ക്ലാസുകൾ അടങ്ങിയിരിക്കണം (ചിത്രം 11 കാണുക). രണ്ടാമത്തെ ഡയഗ്രം ഡാറ്റാബേസ് എന്റിറ്റികളാണ് (ചിത്രം 12 കാണുക).

നിർമ്മിച്ച ക്ലാസ് ഡയഗ്രം ഭാവി ആപ്ലിക്കേഷന്റെ എല്ലാ രൂപങ്ങളും അവയുടെ ബന്ധങ്ങളും പ്രദർശിപ്പിക്കുന്നു.

ഒരു ഒബ്ജക്റ്റ് മോഡൽ നിർമ്മിക്കുന്നതിന്റെ അടുത്ത ഘട്ടം സീക്വൻസ് ഡയഗ്രമുകൾ സൃഷ്ടിക്കുകയാണ്. ഉപയോഗ കേസ് ഡയഗ്രാമിൽ ഓരോ ഉപയോഗ കേസിനും സീക്വൻസ് ഡയഗ്രമുകൾ സൃഷ്ടിക്കപ്പെടുന്നു. ഒരു യൂസ് കെയ്‌സിലേക്ക് ഒരു സീക്വൻസ് ഡയഗ്രം ചേർക്കുന്നതിന്, നിങ്ങൾ അത് ട്രീയിൽ തിരഞ്ഞെടുത്ത് ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ അതിലെ സന്ദർഭ മെനുവിലേക്ക് വിളിക്കേണ്ടതുണ്ട് (NewàSequence ഡയഗ്രം). 13.

"സ്പെഷ്യാലിറ്റികളുടെ ഒരു ലിസ്റ്റ് പരിപാലിക്കുക" എന്നതിന്റെ ഒരു സീക്വൻസ് ഡയഗ്രാമിന്റെ ഉദാഹരണം ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നു. 14.