Che cos'è la coesione nell'ingegneria del software?

...

la coesione nell'ingegneria del software è l'indicatore dell'organizzazione del programma

I significati letterari della parola "coesione" sono consistenza e organizzazione di diverse unità. Nell'informatica e nell'ingegneria del software, la coesione si riferisce al livello di forza e unità con cui i diversi componenti di un programma software sono interconnessi tra loro. È rimasta una norma nell'ingegneria del software che i programmi software siano sviluppati attraverso differenti funzioni (o moduli) interconnesse e ciascuno di questi moduli ha compiti separati associati a loro. La coesione di qualsiasi software determina la forza del suo codice sorgente e può essere ulteriormente compresa esplorando i suoi principi associativi, i tipi e i metodi di calcolo.

Fondamenti

Il concetto di coesione viene introdotto per catturare le caratteristiche di "qualità", "concisione" ed "efficacia" di un programma nel dominio dell'ingegneria del software. Questo concetto rende facile determinare quanto sia strettamente collegato ciascun modulo del programma software, il che indica quanto rapidamente può eseguire i diversi compiti ad esso assegnati. L'aumento della coesione di un programma software si ottiene attraverso operazioni molto identiche eseguite dai suoi diversi moduli, ed è inversamente proporzionale alla diminuzione del numero di moduli. Ciò significa che un programma software progettato per eseguire più attività attraverso più moduli ha un maggiore probabilità di avere una coesione inferiore, che influisce negativamente sulle prestazioni complessive e sull'efficacia sul calcolo macchine.

Video del giorno

Principi associativi

I principi associativi della coesione del software si riferiscono ai tipi di relazione tra un modulo software e le azioni corrispondenti (operazioni). Questi principi costituiscono collettivamente la coesione di qualsiasi programma software e variano a seconda delle sue diverse esigenze operative. Esistono sette principi associativi formalizzati per sette tipi di coesione del software, che include coincidente, logico, temporale, procedurale, comunicativo, sequenziale e funzionale coesioni. A ciascuno di questi tipi di coesione è associato un principio associativo univoco, che ne definisce le proprietà di azione per qualsiasi modulo software.

Proprietà

Ci sono alcune proprietà predefinite associate alla coesione nell'ingegneria del software. Ad esempio, se un software è costituito da tre moduli diversi e tutti sono simili tra loro in termini di azioni, aumenta la coesione complessiva del programma software. Allo stesso modo, la coesione diminuisce se questi moduli hanno azioni completamente diverse e uniche ad essi associate. Inoltre, la coesione dei programmi software dipende anche dai tipi di dati che elabora ed è inversamente proporzionale all'aumento del numero di tipi di dati.

Analisi

La coesione di un programma software può essere analizzata attraverso metodi sia quantitativi che qualitativi. Nel processo di misurazione qualitativa, il codice testuale del programma software viene analizzato prendendo il suo diversi campioni e valutandoli secondo gli standard di codifica della rispettiva programmazione linguaggio. Al contrario, la valutazione quantitativa della coesione identifica il numero di moduli costituiti all'interno di un programma software e ne valuta le azioni secondo scale predefinite.