Analisi, progettazione ed implementazione di un’applicazione Web

Da un po’ di tempo mi chiedo quale sia il metodo migliore per realizzare un applicazione Web. Sentiamo parlare di molte metodologie per la creazione di software robusti e sicuri, ma ne esiste una migliore per le applicazioni Web?

Io mi trovo spesso ad applicare un approccio intermedio tra RUP e Programmazione Agile.

Questo sono le fasi che seguo nella realizzazione di un software:

Analisi e Progettazione:

  1. Intervista con il cliente
  2. Bozza di un documento tecnico
  3. Case Study per studiare chi sono gli attori coinvolti nel sistema e le azioni che possono svolgere
  4. Schema E/R nel caso in cui ci sia da progettare un DB (prima su carta poi con qualche bel software)
  5. Schema UML per la modellazione delle classi coinvolte nel progetto
  6. Diagrammi di sequenza per le interazioni più complesse tra le classi del sistema
  7. Scelta del framework e del linguaggio più adatto a seconda dei requisiti di sistema e della tipologia dell’applicazione
  8. Documento tecnico ufficiale approvato dal cliente

Progettazione ed Implementazione

  1. progettazione dei moduli di sistema (solitamente utilizzo il pattern MVC)
  2. creazione dei test per ogni azione (utilizzo di UnitTest)
  3. implementazione delle azioni utilizzando i test creati
  4. testing
  5. tono al punto 2 fino a quando non ho terminato tutte le azioni
  6. beta testing
  7. produzione

Nella lista effettuata ho tralasciato tutta la parte di studio dell’architettura contenutistica e delle interfaccie grafiche del sistema, in quando solitamento non mi occupo di questa parte. Tuttavia ritengo che questa fase sia del tutto parallela alla prima fase di analisi e progettazione. Le interfacce / maschere dovrebbero essere implementate parallelamente al sistema e montate alla fine.

La domanda che mi trovo spesso a fare è: “Ma se tutte le applicazioni che creo, da un sito ad un applicazione molto complessa, le dovessi realizzare in questo modo, quanto aumenterebbe il valore del software che realizzo e quindi il suo prezzo di vendita?”

Spesso a causa di budget limitati non riesco a realizzare analisi e progettazioni così dettagliate, comunque credo che ogni software realizzato ad hoc dovrebbe essere accompagnato da allegati tecnici dettagliati sia per tutelare il proprio lavoro sia per tutelare le esigenze del cliente.

1 Commento:

  1. Simone, 30. novembre 2006, 0:51

    Gia’, piu e’ “piccolo” il progetto piu bisogna segare punti, o limitarli pesantemente … soprattutto in provincia e per clienti piccoli che gia’ si agitano per preventivi a 3 zeri (e con davanti un solo numero inferiore a 5) :(

    Li vorrei vedere i supermanager delle grandi aziende avere a che fare con quei numeri :)

     

Lascia un commento: