I paradigmi di programmazione e lo sviluppatore della manutenzione [chiuso]

9

Stavo leggendo, fatti e errori dell'ingegneria del software, che ha una sezione di manutenzione. Dal momento che, sono stato uno sviluppatore di manutenzione per anni, sono stato presentato fatti molto interessanti. Eccone tre.

  • Fatto 41: la manutenzione normalmente consuma dal 40 all'80 percento (in media, il 60 percento) dei costi del software. Pertanto, è probabilmente la fase più importante del ciclo di vita del software.
  • Fact 42: Enhancement è responsabile di circa il 60 percento dei costi di manutenzione del software. La correzione degli errori è all'incirca del 17 percento. Pertanto, la manutenzione del software consiste principalmente nell'aggiungere nuove funzionalità ai vecchi software, non nel risolverli.
  • Fatto 45: un migliore sviluppo dell'ingegneria del software porta a una maggiore manutenzione, non inferiore.

Questo era contro-intuitivo, risulta che un buon software ha più manutenzione, perché è facile da cambiare. Quindi, rimane in uso più a lungo, portando a sì, più modifiche.

Quale paradigma (come funzionale, orientato agli oggetti, procedurale) ha la miglior manutenibilità, e c'è qualche ricerca per fare questo?

    
posta KaizenSoze 05.12.2011 - 16:51
fonte

2 risposte

12

Penso che scoprirai che paradigmi come funzionale, OO e procedurale probabilmente non corono con la manutenibilità del software in modo significativo.

Cosa potresti trovare i seguenti corellati in modo molto più chiaro con la manutenibilità del software:

  • Livello di raccolta dei requisiti e ingegneria dei requisiti

  • Buone pratiche di sviluppo: (accoppiamento lento, alta coesione, test unitario, YAGNI ...)

  • Ingegneri del software esperti e qualificati (valgono 10 volte tanto quanto un deficiente)

  • Squadra QA tecnica qualificata e organizzata

  • Buona gestione del progetto guidata da project manager competenti (anche più difficile da trovare rispetto agli esperti sviluppatori di software IMHO)

  • Proprietari di prodotti buoni o gestori di applicazioni, strong leadership, buona direzione a lungo termine, buon feedback ai team di progetto, visione generale.

risposta data 05.12.2011 - 17:31
fonte
2

This one was counter-intuitive, turns out that good software has more maintenance, because it's easy to change. Hence, it stays in use longer, leading to, yes, more changes.

Sembra che tu stia osservando questo dalla quantità di manutenzione e non dalla percentuale di costo. Un buon software che ha più funzioni aggiunte è solo una quantità maggiore di software. Se la percentuale di manutenzione è fissa (perché era un buon software e riteniamo che le funzionalità aggiuntive siano state aggiunte come un buon software), l'importo aumenterà. È solo un pezzo di torta più grande con lo stesso numero di fette.

In base a ciò che stai chiedendo, è importante che il software "buono" sia stato scritto in: codice funzionale, OOP o procedurale. Dare a qualcuno una sega elettrica guidata da un laser se non la persona che sa misurare?

    
risposta data 05.12.2011 - 18:13
fonte

Leggi altre domande sui tag