luglio 2008 Blog Posts
Ho seguito il webcast "Disegno Architetturale: gli idiomi e le linee guida di desing per il .NET Framework" di Giancarlo Sudano relativo alla prima serie del percorso formativo per Aspire Architect. Volevo qui riassumere i concetti principali che ritengo importanti da ricordare. Per "Design Idiomatico" si intende un tipo di progettazione che tiene conto della particolare tecnologia/piattaforma che si utilizzerà per l'implementazione della soluzione. Si deve sempre ragionare per astrazione ma senza perdere il riferimento a caratteristiche specifiche dell'ambiente di sviluppo. E' fondamentale conoscerne vantaggi e limiti in modo da fare scelte consapevoli durante il design. Come progettare...
Ciao a tutti, sono circa due settimane che non mi faccio sentire a causa di un esame (superato ieri con pieni voti). Sono stato molto impegnato e mi sarò perso sicuramente un sacco di post e news interessanti ma non c'è problema perchè il mio feed aggregator (aimè Windows Live Mail) ha conservato tutto: 471 post non letti !!! Dedicherò la giornata di domani alla lettura :-) Ho fatto il trasloco da Pisa; il prossimo anno resterò a casa a studiare per gli ultimi esami e la tesi. Sapete qual è stata la difficoltà maggiore ? Spostare la mia...
Recentemente durante la stesura della relazione di un progetto web in un esame universitario mi sono imbattuto nell'utilizzo di UML per disegnare l'interazione utente-sistema. Questa tecnica nota come progettazione UX permette di modellare la struttura dinamica delle pagine e le mappe di navigazione. Di seguito un diagramma che mostra l'interazione dell'utente con la pagina "risultati della ricerca": Sappiamo tutti che UML è una famiglia di rappresentazioni grafiche che possono essere utilizzate per descrivere sistemi software a oggetti. UML è uno standard internazionale universalmente riconosciuto non necessariamente limitato all'ambiente della produzione del...
Tutti noi sappiamo quanto sia importante in alcune occasioni trovare un algoritmo polinomiale per risolvere un problema (meglio ancora se lineare o logaritmico). Vorrei sottolineare con un taglio matematico quanta rilevanza può avere questa semplice constatazione. Supponiamo di avere tre algoritmi che risolvono un medesimo problema. Il primo algoritmo ha complessità esponenziale, il secondo ha complessità quadratica e il terzo è lineare. La funzione Ti(n) indica il tempo richiesto dall'algoritmo i-esimo per trovare la soluzione di un problema di dimensione n (in poche parole la complessità dell'algoritmo). Abbiamo quindi: T1( n ) = 2 ^...