Come migliorare le competenze nell'architettura del software [chiuso]

6

Qual è il modo migliore per migliorare le tue competenze nell'architettura software? Ci sono stati insegnati modelli di design all'università, e vedo molti libri con esempi semplici e diretti, ma a parte loro, come si può imparare una buona architettura? In altre parole, come si evolve in un grande architetto? Quali sono i prerequisiti?

    
posta Adam Lear 26.11.2010 - 05:29
fonte

3 risposte

17
  1. Rete . Conosci alcuni bravi architetti. Parla con loro. Impara da loro e rimbalza da loro.

  2. Leggi voracemente . Ci sono centinaia di libri sull'architettura del software (anche molti buoni). Leggi sull'argomento e leggi argomenti correlati (costruzione dell'architettura, strutture di gestione, ingegneria elettrica, architettura operativa, ecc.).

  3. Architettura di studio . Ci sono migliaia di piattaforme e prodotti là fuori. Guardali. Sezionare le loro parti. Alcuni dei miei migliori apprendimenti sono stati guardando le architetture grandi (guarda le lingue piccole, i file compressi e le strutture semplici nell'origine Doom originale, per esempio).

  4. Pensa, abbozzato, prova . Esercita le tue abilità di progettazione su problemi immaginari. Problemi divertenti Problemi interessanti.

  5. Do . Lavora su sistemi reali. Spediscili. Senti il dolore causato dalle tue decisioni sbagliate, il dolore che causi ai tuoi sviluppatori e impara da esso. Una buona architettura sta nel bilanciare ciò che ottieni, come ci si arriva e quanto costa.

risposta data 26.11.2010 - 06:12
fonte
5

Personalmente, direi che ho imparato di più dalla semplice prova ed errore che dalla lettura. Potresti essere sorpreso dal numero di idee folli che hai scoperto essere buone e dal numero di idee brillanti che si rivelano terribili. Ma non lo sai mai finché non ci provi. Questo è altrettanto vero quando inizi a scrivere il codice come quando sei a metà. Non attenersi a un'architettura che non funziona solo perché è ciò che hai già deciso.

Infine, dedica il tempo a pensare alla soluzione. Fai del tuo meglio per non ascoltare colleghi e manager che ti spingono a non pensare e iniziare a programmare.

    
risposta data 26.11.2010 - 05:43
fonte
1

Un programmatore pensa a risolvere il problema; un architetto pensa di mantenere la soluzione, limita l'implementazione impone alla soluzione, le aree dell'implementazione migliorano quando il tempo lo permette, le aree dell'implementazione che possono essere tralasciate o ridotte in ambito se la schedulazione scivola, dipendenze (sia interne che esterne ) che possono influire sulle prestazioni dell'implementazione e su ciò che può essere fatto per limitare l'esposizione al rischio, la formazione richiesta per i nuovi utenti del sistema, la documentazione in fase di sviluppo e le modifiche necessarie poiché l'implementazione si discosta dalla soluzione prevista e come i soggetti interessati ritengono che i progressi compiuti e l'applicabilità dell'attuazione al problema attuale siano risolti.

Essere un architetto richiede che tu sia in grado di comunicare in modo efficace, organizzare i tuoi pensieri e piani in un programma praticabile, scomporre un problema in parti implementabili, costruire prototipi di pezzi tecnicamente impegnativi e coordinare l'implementazione dei pezzi in modo che tutto finisca puntuale.

Impara a rappresentare la tua soluzione utilizzando Enterprise Architect , Visio , o carta e penna. Come menzionato in altre risposte, chiedi a un architetto mentore e condividi i diagrammi della soluzione con loro per la revisione. Ascolta il feedback e modifica i tuoi diagrammi.

Impara a costruire pianificazioni realistiche. Inizia a monitorare il tempo necessario per implementare le cose e tieni traccia di quanto sei vicino a stimare correttamente il tempo necessario.

Analizza il tuo prossimo compito in piccoli pezzi prima di iniziare a programmare e tenere traccia dei passaggi che hai tralasciato. Impara ad anticipare le aree problematiche e a prototiparle prima di iniziare a codificare la soluzione finale.

L'articolo collegato da Pierre 303 in questa risposta a una domanda simile vale la pena aggiungere anche qui:

Chi ha bisogno di un architetto di Martin Fowler

    
risposta data 26.11.2010 - 07:18
fonte

Leggi altre domande sui tag