Due definizioni equivalenti di buon disegno

 

Flessibile riesco a fare una modifica intervenendo localmente in parti isolate del codice
Robusto faccio una modifica del codice e questa incide solo sulle parti strettamente/logicamente correlate del programma
Riusabile riesco facilmente ad estrarre dal codice le funzionalità per riutilizzarle

Basso accoppiamento: la dipendenza dei componenti software del sistema da altri componenti software del sistema è bassa
Alta coesione: i componenti software del sistema possono collaborare tra di loro in svariate combinazioni per ottenere nuove funzionalità .

 

 

Tags :   |

Print | posted @ Thursday, June 19, 2008 10:41 PM

Comments on this entry:

Gravatar # re: Due definizioni equivalenti di buon disegno
by Antonio Ganci at 6/20/2008 10:11 AM

Vorrei proporre una definizione leggermente diversa di:

Basso accoppiamento: la dipendenza dei componenti software del sistema da altri componenti software del sistema è bassa

sostituendo bassa con la minima indispensabile.

Non mi piacciono le definizioni con aggettivi bassa, molto, alta perchè sono soggettivi.

Gravatar # re: Due definizioni equivalenti di buon disegno
by LudovicoVan at 6/20/2008 3:12 PM

Non credo che siano equivalenti. I primi tre punti sono fra le conseguenze degli ultimi due, cioe' sono obiettivi. Gli ultimi due sono caratteristiche del buon disegno, ma se non erro ce n'era almeno un'altra. Purtroppo ho lasciato il buon Pressman in Patria...

Antonio: qui basso e alto stanno infatti per approcci tendenziali, e la formulazione completa dei suddetti principi mette proprio in evidenza cosa si intende specificamente per "basso" e "alto" e in questo caso.

Ripeto, mi sembra che manchi piuttosto qualcosa... per esempio, un sistema monoblocco, in quanto monade, massimizza la coesione e minimizza l'accoppiamento... C'era qualcosa a contrappeso che aveva a che fare con la scomposizione del dominio dell'implementazione.

-LV
Gravatar # re: Due definizioni equivalenti di buon disegno
by LudovicoVan at 6/20/2008 3:38 PM

Mi pare che era semplicemente "modularita'", on top, con una definizione precisa dei legami fra la scomposizione del dominio del problema e il disegno di alto livello.

Ne approfitto per ricomprare Pressman...

-LV
Comments have been closed on this topic.