Programvareavhengigheter

Fra Wikipedia, den frie encyklopedi

Programvareavhengigheter eller koblinger er et begrep innenfor programvareutvikling som betegner graden av avhengigheter mellom programvaremoduler. En målestokk for hvor nært koblet to rutiner eller moduler er,[1] er styrken på forholdene mellom modulene.[2] Programvareavhengigheter brukes også om avhengigheter mellom programmer, eller mellom teknisk utstyr og programvare.

Programvareavhengighet innen programmering[rediger | rediger kilde]

Kobling står vanligvis i kontrast til kohesjon. Kobling er et mål på hvor sterkt et objekt er knyttet til andre objekter. Kohesjon er et mål på hva slags ansvar et objekt har og hvor fokusert det ansvaret er. Dersom man har lav kohesjon slik at det er uklart hvilke oppgaver som løses i hvilke objekter, vil graden av kobling normalt bli høyere fordi flere objekter må bidra til å løse oppgaven. Lav kobling korrelerer derfor ofte med høy kohesjon, og omvendt. Lav kobling er ofte et tegn på et velstrukturert datasystem og et godt design. Når dette kombineres med høy kohesjon, støttes de generelle målsetninger om høy grad av lesbarhet og et system som er lett å vedlikeholde.

Programvareavhengighet og teknisk utstyr[rediger | rediger kilde]

Teknisk utstyr som bruker programvare for å virke trenger ofte at flere programmer, kodeker eller data-biblioteker som er avhengige av hverandre.[3][4] Når et system oppdateres, f.eks. for å tette et sikkerhetshull, kan det oppstå avhengighetsfeil som gjør at systemet ikke lenger virker.[5] Selv om et program er kompatibelt med det tekniske utstyret kan det oppstå konflikter mellom programmer slik at de ødelegger for hverandre. År 2000-problemet kom av en frykt for at avhengigheter mellom utstyr og programmer skulle føre til at viktige datasystemer skulle feile. Vanlige programmer og applikasjoner for smarttelefoner eller datamaskiner er kompilert for en spesiell plattform, og apper utviklet for Android vil kunne ha programvareavhengigheter mot operativsystemet som gjør at det ikke kan kjøres på Windows eller iOS.

Referanser[rediger | rediger kilde]

  1. ^ ISO/IEC/IEEE 24765:2010 Systems and software engineering — Vocabulary
  2. ^ ISO/IEC TR 19759:2005, Software Engineering — Guide to the Software Engineering Body of Knowledge (SWEBOK)
  3. ^ «Software Dependencies| nexB». www.nexb.com. Arkivert fra originalen 26. juni 2020. Besøkt 23. juni 2020. 
  4. ^ https://www.cc.gatech.edu/~beki/t1.pdf
  5. ^ «Hvordan rette Ubuntu-avhengighetsfeil». genuine-lamps.com. Besøkt 23. juni 2020.