Modulaire programmeerkenmerken, voorbeelden, voordelen, toepassingen

Modulaire programmeerkenmerken, voorbeelden, voordelen, toepassingen

De Modulaire programmering Het is een techniek die wordt gebruikt voor softwareontwikkeling, waarbij het programma is verdeeld in vele componenten of kleine autonome blokken die modules worden genoemd, die beheersbaar, logisch en functioneel zijn.

De module is een blok met zinnen die een bepaald probleem oplost. Elke module bevat alles wat nodig is om zijn eigen functionaliteit te vervullen en kan worden bewerkt of gewijzigd zonder dat de rest van het project wordt beïnvloed.

Voorbeeld van het oplossen van een probleem met behulp van modules. Bron: kayau/cc door (https: // creativeCommons.Org/licenties/door/3.0)

Deze manier van programmeren wordt bereikt door een permanente module -interface te handhaven die door de andere softwarecomponenten wordt gebruikt om toegang te krijgen tot de functies van elke module.

De modules leggen logische limieten op tussen de componenten, waardoor het onderhoudscapaciteit wordt verbeterd. Ze worden opgenomen via interfaces, die zodanig zijn ontworpen dat de afhankelijkheid tussen de verschillende modules wordt geminimaliseerd.

[TOC]

Hoofdmodule en hulpmiddel

Een hoofdmodule en verschillende secundaire modules zijn die welke het modulaire programmering vormen. Van de hoofdmodule worden de oproepen naar de functies van de hulpmodules gemaakt.

Deze hulpmodules bestaan ​​als afzonderlijke uitvoerbare bestanden, die worden geladen wanneer de hoofdmodule wordt uitgevoerd. Elke module heeft een unieke naam toegewezen in de programma -instructie.

Werkteams kunnen verschillende modules afzonderlijk ontwikkelen zonder alle systeemmodules te kennen. Elk van de modulaire applicaties heeft een versienummer dat is gekoppeld aan flexibiliteit aan ontwikkelaars bij het onderhoud van de module.

Modulaire programmeerkenmerken

Modulariteit

Een computer heeft geen afbraakversie van de code nodig om deze uit te voeren. Het zijn de menselijke cognitieve beperkingen die code dwingen om in kleinere fragmenten te schrijven.

Een programma kan andere functies bevatten en kan ook verwijzen naar functies die zich in andere bestanden bevinden. Deze functies of modules zijn sets van zinnen die dienen om een ​​bewerking uit te voeren of een waarde te berekenen.

Om eenvoud en leesbaarheid in grote en complexe programma's te behouden, wordt een korte hoofdfunctie gebruikt in combinatie met andere functies, in plaats van een lange hoofdfunctie te gebruiken.

Bij het scheiden van een programma in modulegroepen zal elke module gemakkelijker te begrijpen zijn, waardoor de basis gestructureerde programmeerpatronen worden nageleefd,.

Definitie van functie

Een functie bestaat uit een verklaring van de definitie ervan gevolgd door opdrachten en zinnen. De algemene vorm van een functie is:

Name_function (parameters verklaring)

zinnen;

bevelen;

retouruiting;

- De verklaring van de parameters vertegenwoordigt de informatie die aan de functie wordt doorgegeven.

- De extra variabelen die specifiek door de functie worden gebruikt, worden in de zinnen gedefinieerd.

Kan u van dienst zijn: elektronische presentaties: wat zijn het nut, kenmerken, elementen

- Alle functies moeten een retourzin bevatten.

Domein

De variabelen die worden aangegeven binnen de hoofdfunctie of in functies die door de gebruiker zijn gedefinieerd, worden lokale variabelen genoemd. Deze hebben een waarde wanneer de functie wordt uitgevoerd, maar de waarde ervan wordt niet behouden wanneer de functie is voltooid.

De variabelen die extern naar het hoofdprogramma of de door de gebruiker zijn gedefinieerde functies worden aangedaan, worden globale variabelen genoemd. Deze variabelen kunnen worden genomen uit elke functie die zich binnen het programma bevindt.

Het is procedureel

Modulaire programmering is vrij procedureel, omdat het volledig is georiënteerd op het schrijven van code voor functies, zonder rekening te houden met de gegevens.

Modulaire programmeervoorbeelden

Modulariteit in het echte leven

Stel dat een huis dat elektriciteit heeft, met verschillende verkooppunten op de muren. Met dit systeem kunt u verschillende elektrische apparaten aansluiten, bijvoorbeeld magnetron, wasmachine, droger, enz.

Deze apparaten zijn ontworpen om hun specifieke taak uit te voeren bij het aansluiten en aangestoken, ongeacht het huis waar ze zijn.

De modules van een applicatie moeten dezelfde filosofie volgen. Dit betekent dat ze alleen hun specifieke taak moeten uitvoeren, ongeacht het deel van de toepassing waar ze zijn, of zelfs welke toepassing ze zijn verbonden.

Bovendien, zoals een elektrisch apparaat, kan gemakkelijk loskoppelen van de stroomuitgang, een module moet zodanig worden ontworpen dat een applicatie gemakkelijk uit een applicatie kan worden geëlimineerd.

Naast het elimineren van een elektrisch apparaat heeft geen invloed op de functionaliteit van de andere verbonden apparaten, mogen modules uit een applicatie geen invloed hebben op de functionaliteit van de andere modules van die toepassing.

Functies in Java

In Java worden de modules geschreven als onafhankelijke functies. U kunt bijvoorbeeld een codefunctie of blokkeren om het algemene gemiddelde van een student te berekenen volgens hun kwalificaties in alle cursussen die u hebt gevolgd.

De functie moet als invoer de lijst met cijfers verkrijgen en vervolgens het gemiddelde van de berekende notes retourneren:

Deze functie wordt gemiddelde berekening genoemd. Ontvang een lijst met notities, met behulp van een dubbele gegevenstype matrix en retourneert het berekende gemiddelde.

In de functie wordt de som lokale variabele geïnitialiseerd tot nul en vervolgens, door middel van een cyclus voor, worden alle kwalificaties toegevoegd aan som. Ten slotte is de verkregen som tussen het aantal noten verdeeld, waardoor de resulterende waarde wordt geretourneerd.

Als de invoermatrix de Notes 3.5, 3.0 en 4.0 had, zou de waarde van 10,5 worden toegevoegd na het toevoegen ervan en dan zou deze worden gedeeld door 3, omdat er drie noten zijn. De functie zou de waarde retourneren 3.5.

Kan u van dienst zijn: technologische objecten

Voordelen

Onafhankelijke projectprogrammering

Verschillende programmeurs kunnen in hetzelfde project werken als u bent verdeeld in modules. Verschillende programmeurs kunnen onafhankelijk verschillende programmamodules ontwerpen, die nodig zijn voor een groot en complex programma.

Efficiënte programma's

Programma's kunnen sneller worden ontwikkeld, omdat kleine en onafhankelijke modules gemakkelijker te begrijpen, ontwerpen en bewijzen dat grote programma's.

De programmeur kan de nodige invoer verstrekken en controleren of de module correct is door te onderzoeken.

Meerdere gebruik van modules

De geschreven code voor een programma is vaak nuttig in andere. Met modulaire programmering kunnen deze secties worden opgeslagen voor toekomstig gebruik. Omdat de code verplaatst is, kunnen opgeslagen modules worden gekoppeld aan een ander programma dat voldoet aan de invoer- en uitvoervereisten.

Met monolithische programmering zijn dergelijke codenecties ingebed in het programma en zijn ze niet beschikbaar om door andere programma's te worden gebruikt.

Gemak van zuivering en aanpassing

Een module is kleiner dan een compleet programma, dus het is gemakkelijker om het te proberen. Elke module kan worden geschreven en afzonderlijk van de rest van het programma worden getest. Nadat een module is getest, kan deze in een nieuw programma worden gebruikt zonder het opnieuw te hoeven proberen.

Wanneer een programma moet worden gewijzigd, vereenvoudigt modulaire programmering het werk. Nieuwe of verfijnde modules kunnen worden gekoppeld aan een bestaand programma zonder de rest van het Cambie -programma.

Nadelen

Overmatig objectgeoriënteerde structuur

Deze programmering maakt gebruik van interfaces, wat een vrij effectief idee is. Om daarvan te profiteren, brengen sommige werkframes een complete set verwisselbare klassen met zich mee. Om bijvoorbeeld aan persistentie aan te kunnen, kunnen er verschillende klassen zijn die een persistentie -interface implementeren.

Geïntegreerde ontwikkelingsomgevingen (IDE) worden echter hiermee verward. Men zou bijvoorbeeld kunnen proberen de bron van een methode te vinden, en de IDE zal niet weten welke methode u wilt zien, waardoor een lange lijst met bestanden wordt weergegeven waar een methode is met die naam.

Modules te klein

Er zijn veel modules die alleen een zeer kleine functie bevatten. Elke module vereist extra tijdstijd en verwerking, naast de header in de code.

Daarom zal het gebruik van veel kleine modules een overbelasting toevoegen aan het compilatiesysteem, waardoor de pakketgrootte toeneemt.

Het kan u van dienst zijn: zesde generatie computers: geschiedenis, kenmerken, hardware, software

Zonder reden afbreken

Sommige codes veranderen bijna nooit. In die gevallen is het misschien niet veel zin om te proberen het er schoner of met een abstracte logica uit te laten zien, als het alleen maar goed werkt, werkt het al goed.

Er zijn codes die er niet te mooi uitzien en desondanks zijn ze de afgelopen jaren niet veel veranderd. Er is geen reden om een ​​code af te breken die nooit is veranderd en die al goed werkt.

Toepassingen

Modulaire programmering is slechts een concept. De praktijk kan worden toegepast in elke programmeertaal, met name die van procedurele aard, die een apart samengesteld programma hebben.

Componentbibliotheken die zijn gebouwd van afzonderlijke gecompileerde modules kunnen worden gecombineerd in een set door een programmeertool met de naam Linking.

De namen van de functies in de verschillende modules moeten uniek zijn om hun toegang te vergemakkelijken voor het geval de functies die door de hoofdmodule worden gebruikt, moeten worden geëxporteerd.

Onder de programmeertalen die het concept van modulaire programmering toelaten, zijn C, ADA, PL/I, Erlang, Pascal, Algol, Cobol, RPG, Haskell, Python, Hypertalk, IBM/360 Assembler, Matlab, Ruby, IBM RPG, SmallTalk, Morpho, Java (de pakketten worden beschouwd als modules), perl, enz.

C -taal

In C -taal kan modulaire programmering worden toegepast omdat het een probleem van grote omvang kan verhelpen door het in verschillende modules te scheiden.

Elk van deze modules lost een bepaald probleem op, terwijl het hoofdprogramma, dat de set van dergelijke procedures is, het probleem als geheel oplost.

Elke functie gedefinieerd in C is standaard wereldwijd toegankelijk. Dit kan worden gedaan door een kopbestand op te nemen, waarbij de implementatie van de functie is gedefinieerd.

Als voorbeeld is het ernaar om een ​​stapelgegevenstype te verklaren en ook dat de implementatie en gegevensstructuur voor gebruikers verborgen is.

Dit kan eerst worden gedaan om eerst een openbaar bestand te definiëren met de naam Stack.H, die de generieke gegevens bevatten met het type stapelgegevens en de functies die worden ondersteund door het stapelgegevenstype.

Stappen.H:

externe stack_var1;

extern int stack_do_something (void);

Nu kunt u een bestand met de naam Stack maken.C die de implementatie van het stapelgegevenstype bevat:

Referenties

  1. CIO Wiki (2019). Modulaire programmering. Genomen van: Cio-Wiki.borg.
  2. Het definities (2020). Modulaire programmering. Genomen uit: defit.borg.
  3. New Mexico Tech (2020). Modulaire programmering met functies. Genomen uit: ee.NMT.Edu.
  4. Christian Maioli (2020). 3 Creatieve technieken voor het schrijven van modulaire code. Tech Beacon. Genomen van: TechBeacon.com.
  5. Geeks voor geeks (2020). Modulaire benadering bij het programmeren. Genomen uit: geeksforgeeks.borg.
  6. Studie (2020). Modulaire programmering: definitie en toepassing in Java. Genomen van: Studie.com.