180 likes | 325 Views
Architettura di applicazioni enterprise. Michele Aponte - DotNetCampania Team. CHI SONO. Aponte Michele: Presidente DotNetCampania Docente Overnet Education Speaker Basta!Italia Componente del Team Sviluppo Crionet Srl Resp. Area Sviluppo e Risorse Umane in BC Soft SNC
E N D
Architettura di applicazioni enterprise Michele Aponte - DotNetCampania Team
CHI SONO Aponte Michele: • PresidenteDotNetCampania • DocenteOvernet Education • Speaker Basta!Italia • Componente del Team Sviluppo Crionet Srl • Resp. Area Sviluppo e Risorse Umane in BC Soft SNC • Microsoft Student Partner per la Federico II di Napoli http://dotnetcampania.org/blogs/michele michele.aponte@dotnetcampania.org
AGENDA • Dai Requisitiall’architettura del sistema • Analisideirequisiti • Sceltadell’architettura • Design del sistema • Un esempioreale: GEM • Richieste del cliente • Visual Studio 2010 per la definizionedell’architettura e del design del sistema • Prototipizzazione • Sketchflow per la definizionedell’UI
Dai Requisitiall’architettura del sistema Uno deiprincipicardinedell’ingegneria del software è la SoC (Separation of Concerns) : Analista Architetto Project Manager Developer Devigner Cliente (checipaga)
Analisideirequisiti Tuttocominciadallaraccoltadeirequisiti: Individuazionedeglistackholder Interviste Risolvereirequisiti in contrasto Documento di Vision Approvazionedella Vision Documentodeirequisiti (anche UML)
Sceltadell’architettura L’architettorecepisceirequisiti e: Divide ilsistema in isolefunzionali Ipotizza le variesoluzioniarchitetturalipossibili Scegliel’architetturachemegliorispondeairequisitifunzionali e non funzionali Prende la difficiledecisione di non fare necessariamentetuttoda zero… Respinge in tuttiimodipossibili la suaindoledaprogrammatore Redige le specifiche per iprogrammatoriusando, se pensachesianecessario, anche UML
Design del sistema Definital’architetturail design emerge: Architecture is hard to change Separation of Concerns Design Patterns Soluzioni n-layer / n-tier Layer <> Tier Ricordiamociche I requisitisonogiàstatidefiniti…non serve aggiungernealtri per soddisfareilnostro ego: giochiamo a casa, qui siamopagati per fare business!
Un esempioreale: GEM Il GEM (Gestione Eventi di Massa) è un Sistema Informativo complesso e distribuito finalizzato a gestire eventi che coinvolgono una grande partecipazione di pubblico, quali concerti, cinema, teatri, conferenze, etc.. Il sistema distribuito presenta una parte di Back-Office per la gestione degli eventi da parte degli amministratori, un Front-End per l’acquisto di un biglietto di un evento da parte di un utente finale, ed un client su dispositivo mobile, utilizzato dai Controllori per verificare la validità degli accessi.
Un esempioreale: GEM I principali servizi offerti dal sistema sono 5: • Visualizzazione, su un sito web, degli eventi disponibili. • Acquisto Biglietto per un evento. • Controllo Accesso all’evento da parte di un addetto alla Security. • Gestione degli Eventi • Inserimento nuovo Evento • Modifica Evento esistente • Cancellazione Evento • Visualizzazione dati relativi ad un Evento • Gestione dei Clienti • Visualizzazione dati relativi ad un Cliente • Cancellazione di un Cliente
Un esempioreale: GEM Il sistema offre un sito web in cui sono elencati tutti i prossimi eventi per cui è possibile acquistare un biglietto. Un Cliente, al fine di procedere con l’acquisto, deve preventivamente registrarsi presso il sistema, per ottenere un account. In fase di registrazione l’utente specifica i propri dati anagrafici, una login ed una password. Dopo la fase di autenticazione, l’utente ha la possibilità di selezionare un evento per cui sono disponibili posti, specificando il numero di biglietti desiderati. Dopo aver inserito i dati della carta di credito, il sistema ne controlla la validità, appoggiandosi ad un servizio esterno offerto da una banca. Qualora il pagamento vada a buon fine, il sistema restituisce al cliente un codice alfanumerico univoco che ne permetterà il riconoscimento all’ingresso dell’evento.
Un esempioreale: GEM Gli addetti al controllo dei biglietti dispongono di terminali mobili per validare un accesso. Tali dispositivi, collegati in wi-fi con un server centrale, permettono l’inserimento del codice alfanumerico di un avventore, e qualora questo risulti corretto, mostreranno il numero di accessi associati. Lato Back-Office, un gestore del sistema ha possibilità di specificare un nuovo evento, indicando data, luogo, prezzo e numero massimo di spettatori. Inoltre ha facoltà di visionare tutti gli eventi già inseriti, con la possibilità di visualizzare informazioni statistiche (biglietti venduti, incasso, etc…), modificarne i dati salienti, o di cancellare l’evento, qualora non vi siano già biglietti venduti. Infine, l’amministratore ha possibilità di visionare i dati dei clienti, ancora a fini statistici (numero biglietti acquistati, spesa totale effettuata, etc…), o di cancellarlo.
DEMO Definizionedell’architettura e design del sistema con Visual Studio 2010
Prototipizzazione Per definire con precisioneirequisiti e interfacciarci con ilclientepossiamodefiniredei mockup: Statici Mostrano come saràfattoilsistema E’ un riferimento per glialtridiagrammidell’analisi Puòessere un punto di partenza per creare un prototipo…
Prototipizzazione Un esempio:
Sketchflow per la definizionedell’UI Un mockup statico è utile…ma unodinamico è meglio! Sketchflowcipermette di: Definire con un tool grafico la UI Definireilflussodell’applicazione Farlaprovare al cliente Farciforniredei feedback Farciapprovare le cosecheglidaremo Fornireil layout darealizzareaglisviluppatori Aiutarcinelladefinizione del sistema
DEMO Prototipizzazione con SketchFlow
Un grazie di cuore a tuttigli sponsor Senza di lorooggi non saremmo qui!
Compilateil modulo di feedback! La vostraopinione per noi è fondamentale! Grazie!