Che cosè effettivamente un modulo nellingegneria del software? [chiuso]

Chiuso . Questa domanda deve essere più mirata . Attualmente non accetta risposte.

Risposta

Un modulo,

  • incapsula codice e dati per implementare una particolare funzionalità.
  • ha uninterfaccia che consente ai client di accedere alle sue funzionalità in modo uniforme.
  • è facilmente collegabile a un altro modulo che si aspetta la sua interfaccia.
  • di solito è un pacchetto in una singola unità in modo che possa essere facilmente distribuito.

Ad esempio, dapper.net incapsula laccesso al database. Ha unAPI per accedere alle sue funzionalità. È un singolo file che può essere inserito in un albero dei sorgenti per essere costruito.

Il concetto di modulo deriva dal paradigma di programmazione modulare che sostiene che il software dovrebbe essere composto da componenti separati e intercambiabili chiamati moduli scomponendo il programma funzioni in moduli, ognuno dei quali realizza una funzione e contiene tutto il necessario per farlo.

Commenti

  • se abbiamo un sacco di requisiti quindi ognuno requisito può essere considerato come un modulo? Ad esempio: il requisito " Aggiungere un dipendente " può essere un modulo?
  • No o dipende. Le funzioni del programma dovrebbero essere suddivise in unità coesive. Se i requisiti possono essere suddivisi in questo modo, potrebbe essere sì. Ma non ho ancora ' visto niente di simile. Inoltre, " Laggiunta di un dipendente " non dovrebbe essere un candidato per il modulo. Di solito i moduli sono strutture di livello superiore che scompongono i programmi in unità logicamente coerenti.

Risposta

Il modulo potrebbe essere un sovraccarico termine, tanto che Wikipedia lo descrive con il termine Programmazione modulare quando si discute del suo utilizzo in relazione al software. Ne discutono in termini di programmazione strutturata basata su un approccio di progettazione top-down. Caratteristiche chiave della modularità relative alluso di un basso accoppiamento e di un alto coesione .

Il mio utilizzo è stato quello in un linguaggio come C o anche C ++, un modulo è correlato alla definizione di ununità compilata separatamente da un file sorgente (.c o .cpp) e tipicamente un file di intestazione associato (.h). Altre lingue usano il modulo come descrizione e il linguaggio Modula-2 mette la struttura attorno ai moduli in primo piano e al centro nel suo nome e nel suo approccio.

Storicamente, il modulo ha alcune altre implicazioni come sono state descritte nel D.L. Parnas paper “sui criteri da utilizzare nella scomposizione del software in moduli” . Si occupa principalmente di discutere i vantaggi della sostituzione della decomposizione funzionale con la decomposizione orientata ai dati che è stato un grande passo verso il nostro attuale stato dellarte che è la decomposizione orientata agli oggetti.

I linguaggi orientati agli oggetti sono organizzati in classi, quindi forse il termine modulo è meno importante e meno preciso in quel contesto.

Risposta

Non esiste “una definizione formale di un modulo, e cosa sia (o non sia) un modulo nel contesto del progetto dipende in gran parte dalla natura e dal design del progetto.

In generale, un modulo è un pezzo di codice autonomo che fornisce funzionalità specifiche e strettamente accoppiate, i moduli definiscono e impongono limiti logici nel codice.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *