Caratteristiche di programmazione modulare, esempi, vantaggi, applicazioni

Caratteristiche di programmazione modulare, esempi, vantaggi, applicazioni

IL Programmazione modulare È una tecnica utilizzata per lo sviluppo del software, in cui il programma è diviso in molti componenti o piccoli blocchi autonomi chiamati moduli, che sono gestibili, logici e funzionali.

Il modulo è un blocco di frasi che risolve un problema particolare. Ogni modulo contiene tutto ciò che è necessario per soddisfare la propria funzionalità e può essere modificato o modificato senza che il resto del progetto sia interessato.

Esempio di risoluzione di un problema usando i moduli. Fonte: kayau/cc di (https: // creativecommons.Org/licenze/di/3.0)

Questo modo di programmazione è ottenuto mantenendo un'interfaccia del modulo permanente utilizzata dagli altri componenti software per accedere alle funzioni di ciascun modulo.

I moduli impongono limiti logici tra i componenti, migliorando la capacità di manutenzione. Sono incorporati attraverso interfacce, che sono progettate in modo tale che la dipendenza tra i diversi moduli sia ridotta al minimo.

[TOC]

Modulo principale e ausiliario

Un modulo principale e diversi moduli secondari sono quelli che compongono la programmazione modulare. Dal modulo principale vengono effettuate le chiamate alle funzioni dei moduli ausiliari.

Questi moduli ausiliari esistono come file eseguibili separati, che vengono caricati quando viene eseguito il modulo principale. Ogni modulo ha un nome univoco assegnato nell'istruzione del programma.

I team di lavoro possono sviluppare diversi moduli separatamente senza conoscere tutti i moduli di sistema. Ciascuna delle applicazioni modulari ha un numero di versione associato per fornire flessibilità agli sviluppatori nella manutenzione del modulo.

Caratteristiche di programmazione modulare

Modularità

Un computer non ha bisogno di una versione di rottura del codice per essere in grado di eseguirlo. Sono le limitazioni cognitive umane che costringono il codice a scrivere in frammenti più piccoli.

Un programma può contenere altre funzioni e può anche fare riferimento a funzioni che si trovano in altri file. Queste funzioni o moduli sono insiemi di frasi che servono a eseguire un'operazione o calcolare un valore.

Al fine di mantenere semplicità e leggibilità in programmi grandi e complessi, viene utilizzata una breve funzione principale in combinazione con altre funzioni, anziché utilizzare una lunga funzione principale.

Quando si separa un programma nei gruppi di moduli, ogni modulo sarà più facile da capire, rispettando così i modelli di programmazione strutturati di base.

Definizione di funzione

Una funzione è costituita da una dichiarazione della sua definizione seguita da comandi e frasi. La forma generale di una funzione è:

Name_Function (Dichiarazione dei parametri)

frasi;

comandi;

restituire espressione;

- La dichiarazione dei parametri rappresenta le informazioni che vengono passate alla funzione.

- Le variabili aggiuntive utilizzate specificamente dalla funzione sono definite nelle frasi.

Può servirti: presentazioni elettroniche: quali sono l'uso, caratteristiche, elementi

- Tutte le funzioni devono includere una frase di ritorno.

Scopo

Le variabili dichiarate all'interno della funzione principale o nelle funzioni definite dall'utente sono chiamate variabili locali. Questi hanno un valore quando viene eseguita la funzione, ma il suo valore non viene mantenuto al termine della funzione.

Le variabili dichiarate esternamente al programma principale o alle funzioni definite dall'utente sono chiamate variabili globali. Queste variabili possono essere prese da qualsiasi funzione all'interno del programma.

È procedurale

La programmazione modulare è abbastanza procedurale, poiché è completamente orientata alla stesura del codice per le funzioni, senza tenere conto dei dati.

Esempi di programmazione modulare

Modularità nella vita reale

Supponiamo che una casa che abbia elettricità, con diversi punti vendita sui muri. Questo sistema consente di collegare diversi dispositivi elettrici, ad esempio microonde, lavatrice, asciugatrice, ecc.

Questi dispositivi sono progettati per svolgere il loro compito specifico quando si collegano e accesi, indipendentemente dalla casa dove si trovano.

I moduli di un'applicazione devono seguire questa stessa filosofia. Ciò significa che dovrebbero eseguire solo il loro compito specifico indipendentemente dalla parte dell'applicazione dove si trovano o anche con quale applicazione sono collegate.

Inoltre, come un dispositivo elettrico può facilmente scollegare dalla presa di corrente, un modulo dovrebbe essere progettato in modo tale che un'applicazione possa essere facilmente eliminata da un'applicazione.

Oltre ad eliminare un dispositivo elettrico non influisce sulla funzionalità degli altri dispositivi collegati, eliminare i moduli da un'applicazione non dovrebbe influire sulla funzionalità degli altri moduli di tale applicazione.

Funzioni in Java

In Java i moduli sono scritti come funzioni indipendenti. Ad esempio, puoi avere una funzione o un blocco di codice per calcolare la media generale di uno studente in base alle loro qualifiche in tutti i corsi che hai seguito.

La funzione deve ottenere come voce dell'elenco dei voti e quindi restituire la media delle note calcolate:

Questa funzione è chiamata calcoroprom media. Ricevi un elenco di note, utilizzando una matrice di tipi di dati a doppio e restituisce la media calcolata.

Nella funzione, la variabile locale di somma viene inizializzata a zero e quindi, mediante un ciclo per, tutte le qualifiche vengono aggiunte alla somma. Infine, la somma ottenuta tra il numero di note è divisa, restituendo il valore risultante.

Se la matrice di input avesse le note 3.5, 3.0 e 4.0, dopo averli aggiunti, il valore di 10,5 sarebbe aggiunto e quindi sarebbe diviso per 3, perché ci sono tre note. La funzione restituirebbe il valore 3.5.

Può servirti: oggetti tecnologici

Vantaggi

Programmazione indipendente del progetto

Diversi programmatori possono lavorare nello stesso progetto se sei diviso in moduli. Diversi programmatori possono progettare in modo indipendente diversi moduli di programma, necessari per un programma grande e complesso.

Programmi efficienti

I programmi possono essere sviluppati più velocemente, poiché i moduli piccoli e indipendenti sono più facili da comprendere, progettare e dimostrare che grandi programmi.

Il programmatore può fornire la voce necessaria e verificare che il modulo sia corretto esaminando.

Uso multiplo dei moduli

Il codice scritto per un programma è spesso utile in altri. La programmazione modulare consente di salvare queste sezioni per un uso futuro. Poiché il codice è trasferibile, i moduli salvati possono essere collegati a qualsiasi altro programma che soddisfi i requisiti di input e output.

Con la programmazione monolitica, tali sezioni di codice sono incorporate all'interno del programma e non sono disponibili per essere utilizzate da altri programmi.

Facilità di purificazione e modifica

Un modulo è più piccolo di un programma completo, quindi è più facile provarlo. Ogni modulo può essere scritto e testato separatamente dal resto del programma. Dopo che un modulo è stato testato, può essere utilizzato in un nuovo programma senza doverlo riprovare.

Quando un programma deve essere modificato, la programmazione modulare semplifica il lavoro. I moduli nuovi o raffinati possono essere collegati a un programma esistente senza il resto del programma Cambie.

Svantaggi

Struttura eccessivamente orientata all'oggetto

Questa programmazione utilizza le interfacce, che è un'idea abbastanza efficace. Per trarne vantaggio, alcuni frame di lavoro portano con sé un set completo di classi intercambiabili. Ad esempio, per gestire la persistenza, potrebbero esserci diverse classi che implementano un'interfaccia di persistenza.

Tuttavia, gli ambienti di sviluppo integrati (IDE) sono confusi con questo. Ad esempio, si potrebbe provare a trovare la fonte di un metodo e l'IDE non saprà quale metodo vuoi vedere, mostrando così un lungo elenco di file in cui esiste un metodo con quel nome.

Moduli troppo piccoli

Ci sono molti moduli che contengono solo una funzione molto piccola. Ogni modulo richiede tempo aggiuntivo di analisi e elaborazione, oltre alla sua intestazione nel codice.

Pertanto, l'uso di molti piccoli moduli aggiungerà un sovraccarico al sistema di compilazione, aumentando le dimensioni del pacchetto.

Può servirti: sesta generazione di computer: cronologia, caratteristiche, hardware, software

Rompi senza motivo

Alcuni codici non cambiano quasi mai. In quei casi potrebbe non avere molto senso provare a renderlo più pulito o con una logica astratta, se semplicemente usala funziona già bene.

Ci sono codici che non sembrano troppo belli e, tuttavia, non sono cambiati molto negli ultimi anni. Non c'è motivo di abbattere un codice che non è mai cambiato e che già funziona bene.

Applicazioni

La programmazione modulare è solo un concetto. La sua pratica può essere applicata in qualsiasi linguaggio di programmazione, in particolare quelli di natura procedurale, che hanno un programma compilato separato.

Le librerie di componenti costruite da moduli compilati separati possono essere combinate in un set da uno strumento di programmazione chiamato collegamento.

I nomi delle funzioni nei diversi moduli devono essere univoci per facilitare il loro accesso nel caso in cui le funzioni utilizzate dal modulo principale debbano essere esportate.

Tra i linguaggi di programmazione che ammettono il concetto di programmazione modulare ci sono C, ADA, PL/I, Erlang, Pascal, Algol, Cobol, RPG, Haskell, Python, HyperTalk, Assemblaggio IBM/360, MATLAB, RUBY, IBM RPG, SmallTalk, Morpho, Java (i pacchetti sono considerati moduli), Perl, ecc.

Lingua C

Nella programmazione modulare del linguaggio C può essere applicata perché consente di porre rimedio a una difficoltà di grande grandezza separandola in diversi moduli.

Ognuno di questi moduli risolve un problema particolare, mentre il programma principale, che è l'insieme di tali procedure, risolve il problema nel suo insieme.

Ogni funzione definita in C è per impostazione predefinita accessibile a livello globale. Questo può essere fatto includendo un file di intestazione, in cui è definita l'implementazione della funzione.

Ad esempio, cerca di dichiarare un tipo di dati dello stack e anche che l'implementazione e la struttura dei dati sono nascosti per gli utenti.

Questo può essere fatto prima di definire un file pubblico chiamato stack.H, che conterrà i dati generici con il tipo di dati dello stack e le funzioni supportate dal tipo di dati dello stack.

Pila.H:

stack_var1 esterno;

esterno int stack_do_something (void);

Ora puoi creare un file chiamato stack.C che contiene l'implementazione del tipo di dati dello stack:

Riferimenti

  1. CIO Wiki (2019). Programmazione modulare. Tratto da: Cio-Wiki.org.
  2. Definizioni IT (2020). Programmazione modulare. Tratto da: defit.org.
  3. New Mexico Tech (2020). Programmazione modulare con funzioni. Tratto da: EE.NMT.Edu.
  4. Christian Maioli (2020). 3 tecniche creative per scrivere codice modulare. Tech Beacon. Preso da: TechBeacon.com.
  5. Geeks for Geeks (2020). Approccio modulare nella programmazione. Tratto da: geeksforgeeks.org.
  6. Studio (2020). Programmazione modulare: definizione e applicazione in java. Preso da: studio.com.