Questa domanda è puramente per l'apprendimento e per rafforzare la mia comprensione tecnica. So che non esiste una soluzione perfetta e questa domanda ha una lista infinita di soluzioni, ma penso che sia molto importante per ogni architetto capire la differenza tra una demo e un progetto live.
Ho creato molte soluzioni demo in .Net in passato. Ora sono stato assegnato a Architect e implementare una soluzione web a livello di produzione, quindi volevo chiedere - a un livello molto alto, cosa è necessario per convertire una demo in una soluzione a livello di produzione. Da quanto ho capito, ciò richiederà (oltre all'implementazione funzionale dei requisiti dei clienti):
- Test unitari di ogni metodo
- Garantire una copertura del codice del ~ 100%
- Registrazione di tutte le eccezioni e possibili tagli di punti - possibile con AOP
- Utilizzo del modello di progettazione dell'interfaccia, iniezione di dipendenza, eventualmente utilizzando un framework, ad esempio spring.net
- Utilizzo di contatori delle prestazioni e profili per la strumentazione
- Applicare la sicurezza appropriata, ad esempio l'autenticazione di Windows (se ciò è richiesto dal client).
- Gestione delle transazioni su ogni singolo metodo
- Backup dei file dell'applicazione Web prima della nuova distribuzione della soluzione
Cos'altro?
La mia domanda è più legata al lato tecnico invece che funzionale / documentazione perché altrimenti andremo in un altro percorso :-)
Grazie.