Modul (programvara)

Från Wikipedia, den fria encyklopedin
Hoppa till navigation Hoppa till sökning

Inom mjukvaruteknik är en modul (neutral, modulen [1] ) en komponent i ett mjukvarusystem som skapas under modulering , representerar en funktionellt stängd enhet och tillhandahåller en specifik tjänst. [2]

Moduler är karakteristiska för programmering enligt programmeringsparadigmet för modulär programmering . Moduler kan innehålla ytterligare moduler eller konstruktioner med andra namn (t.ex. funktion , procedur , klass, etc.). Detta gör att programfunktionaliteten kan delas upp i en hierarki. Moduler kan ärva datastrukturerna och metoderna som anges i dem eller tillåta eller förbjuda åtkomst till externa moduler.

I de olika programmeringsspråken och utvecklingsmiljöerna och deras utveckling över tid har många olika former av implementering av moduler (ibland med olika namn) utvecklats. Termen modul används också ofta synonymt med termer som subrutin, procedur, delprogram , programdel, programmodul [3] [4] .

Som ett lagringsobjekt för programkod är "modul" en typbeteckning för innehållet i ett programbibliotek , varvid en modul ofta är en sammanfattning av tematiskt relaterade procedurer, funktioner, klasser, konstanter och eventuellt andra programmeringsobjekt. Moduler finns också tillgängliga för huvudprogram ; de kan alternativt representera olika typer av programkoder (som källkod , mellanliggande kod , maskinprogram ).

En modul måste differentieras från en komponent som är en hierarkisk nivå högre när det gäller funktionalitet och kombinerar modulernas (grundläggande) funktioner till (ämnesspecifika) tjänster. Men sådana komponenter kallas ibland också "moduler" i vanlig användning (till exempel i SAP [5] ).

Skäl för att dela in program i moduler

För modulär programmering i allmänhet

  • Ur det ursprungliga perspektivet för assembler -programmering var anledningen till delningen multipel användning av samma instruktionssekvens på olika punkter i programmet, vilket sparar minnesutrymme och undviker kodrepetitioner .
  • I modern mjukvaruteknik är en annan viktig anledning struktureringen av programvarudesignen : programkällans koder består idag av korta och tydliga enskilda delar till förmån för bättre underhåll , begriplighet och felsökning (se modulär programmering ). Enligt denna princip är fristående deluppgifter (t.ex. läsrutiner, giltighetskontroller, komplexa beräkningar) en strukturellt separata delrutiner som implementeras (och eventuellt åberopas vid flera punkter i programkoden). Sådan "outsourcing" håller koden klar; den datorinterna tiden och administrativa utgifter för samtalen är praktiskt taget irrelevant för moderna datormaskiner.

För fristående moduler

  • En aspekt av mjukvaruarkitektur är skapandet av underrutiner för användning i flera datorprogram / applikationer. Vissa tekniska eller operativa funktioner (t.ex. beräkning av kontrollsiffror ) kan användas konsekvent i hela företaget, till exempel.
  • Moduler kan skapas och sammanställas separat i olika programspråk språk och görs tillgängliga för användning i programbibliotek.
  • Funktioner kan valfritt integreras enligt modulprincipen .
  • Enskilda komponenter kan licensieras separat för kommersiella applikationer.
  • Flera utvecklare eller utvecklargrupper kan skapa och testa delar av en applikation oberoende av varandra.
  • Om det behövs kan oberoende moduler vanligtvis ändras oberoende av deras anropsprogram (så länge gränssnittet förblir identiskt). Detta gäller särskilt för dynamiskt laddbara moduler.

Använd / använd

Användning av moduler med principen om inkapsling (inkapsling); sedan:

  • Gränssnittet för en modul innehåller / namnger endast data (områden) som modulen behöver / levererar som input och resultat av behandlingen.
  • Implementeringen innehåller den faktiska programkoden.

Utanför modulen förblir bearbetningsmetoden och alla modulspecifika data dolda (principen för informationsdöljning ).

Stora, komplexa program kan brytas ner och struktureras med hjälp av moduler. Detta kan vara användbart på många sätt (se även modularitet ). Till exempel har modulernas storlek ett inflytande på feldätheten - den är lägst med en modulstorlek på 200 till 400 rader kod . [6] Design och definition av moduler och gränssnitt är en del av designfasen inom mjukvaruutveckling.

Modulkonceptet publicerades först av David Parnas .

Många programmeringsspråk stöder modulkonceptet genom integrerade språkresurser, till exempel Ada , COBOL , D , F, Fortran , Haskell , Java , ML , Modula-2 , Oberon , Component Pascal och PL / I. Skriptspråk som Perl , Python , PHP och Ruby bör också nämnas.

Exempel på varianter av moduler

Följande exempel visar att moduler kan ha olika tekniska egenskaper:

Moduler som struktureringsmedel i källkoden

Enligt principerna för modulär programmering är moduler "logiska delblock" där uppgiften för ett datorprogram bryts ner. Modulen definieras ofta bara som en individuell kodsektion i källkoden , med OOP kan detta vara en klass . Denna koddel / modul kan innehålla ytterligare moduler eller kan kallas som en oberoende, separat kompilerad underprogram .

Klasser i objektorientering

En särskild form av modul / modularisering är klasserna av objektorienterad mjukvaruutveckling :

  • Kopior av klasser kan skapas ( instansieras ) i form av objekt ,
  • Klasser kan ärva egenskaper till andra klasser,
  • Polymorfism gör att klasser kan ändra egenskaper vid körning - relationer mellan andra moduler är vanligtvis statiska.

Objektmodul (stordator IBM världen)

En kompilator eller en assembler genererar en så kallad objektmodul från en källtext, vars instruktioner lagras i ett programbibliotek i form av maskinkod . För att kunna köra ett program är dess objektkod "länkad" till objektkoden för alla kallade subrutiner med en så kallad länk , varvid bland annat subrutinernas inmatningsadresser används. Resultatet är en laddningsmodul .

Laddningsmodul (stordator IBM världen)

Alternativ A: Huvudprogram och dem (= statiska) tillagda bundna delprogram är ett vanligt körbart program som en gemensam laddningsmodul <Huvudprogram> 'i ett programbibliotek . Därifrån kan de kallas med exempelvis JCL -samtal (EXEC <Pgm>).
Variant B: Om subrutiner bara ska laddas under programkörningen (= dynamisk) genereras en enda "laddningsmodul <UPRO>" från deras objektkod, som laddas av ett laddningskommando i det anropande (huvud) programmet via operativsystemet och sedan - som med statiskt bundna moduler - kallas för bearbetning.
Interaktion av det uppringda och uppringda programmet (del) i detalj: Se delprogram .

Moduler i MS Access och VBA

MS Access -utvecklingsmiljön förstår att en "modul" är en sammanfattning av alla procedurer eller funktioner som har skapats i VBA för ett objekt, till exempel ett formulär eller en rapport. I sådana moduler kan ytterligare, underordnade underfunktioner skapas och exekveras, till exempel "händelseprocedurer" [7] med vilka en individuell kontroll ska utföras när ett visst datafält ändras i en form. Dessutom kan moduler för globalt giltiga data (t.ex. 'GLOBAL DATA') eller för globalt adresserbara funktioner (t.ex. 'GLOBAL KOD') skapas.

Termen modul på SAP

I SAP -programvaran kallas enskilda applikationer "moduler". [8] Detta motsvarar dock termen i programvaruteknikmodulen endast i vid bemärkelse och är en sammanfattning av funktionalitet på affärsnivå som en användare valfritt kan skaffa och använda.

Se även

webb-länkar

Wiktionary: Modul - förklaringar av betydelser, ordets ursprung, synonymer, översättningar

Individuella bevis

  1. Duden, volym 5, Foreign Dictionary, sjunde reviderade och utökade upplagan, Mannheim 2001
  2. ^ Definitionsmodul för Gabler [1]
  3. psion user-club OPL - kursdel 4 [2] eftersom några av modulerna ("även: procedurer, ...") kommer att användas igen
  4. econstor.eu [3] sidan 19: ... i vilken utsträckning ett program är uppdelat i delprogram (moduler), ...
  5. tse.de [4] SAP R3 -moduler
  6. Y. Malayia, J. Denton,: modulers storleksfördelning och defektdensitet. (pdf) I: 11th International Symposium on Software Reliability Engineering (ISSRE'00). Oktober 2000, åtkomst 1 augusti 2018 .
  7. ^ Microsoft skapade en VBA -procedur i standard- eller klassmoduler ( Memento från 8 april 2014 i Internetarkivet )
  8. SAP ERP Vad är ERP? [5] "Varje applikation, dvs varje ERP -modul, är inriktad på ett affärsområde."