Home Page Home Page Articoli Visual Studio 2005 Team System

Visual Studio 2005 Team System

Scopriamo il nuovo IDE di sviluppo che copre interamente l'intero ciclo di vita del software integrando in un solo ambiente più prodotti e studiato apposta per i ruoli di Architect, Developer e Tester.
Autore: Marco Caruso Livello:

1. Introduzione


Con l'uscita del .NET Framework 2.0 e del nuovo Visual Studio 2005 Microsoft ha presentato un nuova versione di Visual Studio 2005 chiamata Team System.
Con Visual Studio 2005 Team System Microsoft ha voluto creare un sistema di integrazione e collaboration che copre l'intero ciclo di vita del software che va dalla progettazione, allo sviluppo, al testing fino al rilascio.
Nel ciclo di vita del software ci sono dei ruoli ben distinti Architect, Developer, Tester e per questo motivo Visual Studio 2005 Team System si suddivide in 3 versioni:

1. Software Architects
2. Software Developers
3. Software Testers


C'è un ulteriore versione chiamata Visual Studio 2005 Team Suite che racchiude tutte e 3 le versioni insieme. Inoltre con l'utilizzo di Visual Studio Team Foundation Server (che non verrà trattato in questo articolo) il Project Manager può gestire le attività e costi del progetto avendo a disposizione anche Microsoft Excel e Microsoft Project che sono disponibili in Team Foundation Server.
Inoltre attraverso il controllo del codice sorgente e le assegnazione delle attività attraverso i Work Item il Project Manager ha sempre sotto controllo l'intero progetto.
Visual Studio 2005 Team System sfrutta tutte le funzionalità di Visual Studio 2005 aggiungendo ed estendendo determinate funzioni per ogni tipo di versione.

2. Versione Software Architects


La versione Software Architects è la versione dedicata agli Architetti di soluzioni che devono progettare il Software.
Prima quando si progettava un'applicazione come prima cosa si usava carta e penna per disegnare la struttura applicativa o ancora meglio si usava Microsoft Visio (almeno per quanto mi riguarda) per disegnare l'architettura. Ora con Visual Studio Team System per disegnare l'architettura applicativa della nostra soluzione abbiamo a disposizione l'Application Diagram.
L'Application Diagram permette di disegnare e progettare le architetture delle nostre applicazioni suddividendole in più applicazioni.
Ricopre un ruolo molto importante nelle architetture three-tiers e ancora di più nelle architetture orientate ai servizi (SOA - Service Oriented Architecture), dove la progettazione in più livelli e con determinati end point permette di rendere le applicazioni scalabili, performanti e modulari.
Nell'application diagram si possono inserire i seguenti elementi:

• Applicazione Windows
• Applicazione Web
• Applicazione Office
• Applicazione Generica
• Asp.Net WebService
• Web Service Esterno
• Web Sercive BizTalk
• Database Esterno
• EndPoint per i WebService
• EndPoint per i contenuti web
• EndPoint Generici


Nella seguente figura viene rappresenta un'applicazione three-tiers con un database come repository, lo strato di accesso ai dati (DAL - Data Access Layer), rappresentato da Windows Application o che può essere anche una DLL, lo strato della Business Logic rappresentato da un web service e la strato di Presentation rappresentato da una Web Application.



Per ogni applicazione deve essere definito il proprio EndPoint che il punto di collegamento tra le applicazioni ed è specifico per ognuna , esempio per il database si avrà un DBEndPoint per i WebService un WebServiceEndPoint ecc.
Con l'application diagram è possibile implementare direttamente le applicazioni in una soluzione di Visual Studio 2005 mantenendo la sincronizzazione tra soluzione e application diagram. Le applicazioni implementabili sono: le Applicazioni Windows, le Applicazioni Web e i gli ASP.NET Web Services, per effettuare questa operazione basta cliccare con il tasto destro sull'application diagram e cliccare su Implement All Application:



Inoltre per i Web Service ASP.NET è possibile definire le firme dei metodi attraverso l'apposita finestra Web Service Details:



In questo modo gli architetti progettano e gli sviluppatori devono solo implementare il web service e quindi ognuno si assumerà per bene le proprie colpe. :-)

Una volta definita l'architettura applicativa andiamo a definire l'architettura logica dei nostri server/computer, operazione che di solito spetta ad un architetto di infrastruttura che conosce sicuramente meglio gli aspetti sistemistici.
Per creare un'architettura logica usiamo un altro diagramma che si chiama Logical DataCenter
Questo diagramma permette di definire e descrivere le configurazioni dei computer di un datacenter, quali per esempio un database server con SQL Server o un Web Server con Internet Information Server o un Windows Client dove possono essere inserite più applicazioni.
Inoltre per una rappresentazione sia logica che di comunicazione di sicurezza i server possono essere inseriti in Zone come viene rappresentato nella figura che sono suddivisi tra Intranet e Internet:



Inoltre per ogni server si possono definire Impostazioni e Vincoli, per esempio per il tipo di Server Windows Client si possono scegliere quali applicazioni devono essere presenti(Office Application, Smart Client ,ecc.)e i settaggi del server vero e proprio ovvero:

• Sistema Operativo
• Il tipo di computer se è un Server, un Domain Controller o una Workstation
• Se ci sono dei service Pack
• La versione del .NET Framework istallato
• Altro / Ecc.


In dettaglio potete vederli nell'immagine:



Inoltre è possibile utilizzare il diagramma System Designer per progettare sistemi di applicazioni facendo l'override delle impostazioni e delle connessioni nei casi in cui la soluzione debba essere distribuita su diversi clienti e su diverse piattaforme. Utilizzando il System Designer si ha la possibilità di creare più versioni di deployment della soluzione.
Infinde utilizzando il Deployment Designer possiamo associare l'architettura applicativa all'architettura logica che è stata disegnata tramite il Logical DataCenter.
Utilizzando questo designer si associano per ogni server una o più unità applicative come viene illustrato nell'immagine successiva:



Come potete vedere nel DBServer ho associato il Repository, nel WindowsClient la DAL Application e così per tutti gli altri.
Una volta associate tutte le applicazioni si ha la possibilità di validare il diagramma per controllare se tutti i vincoli e i le impostazioni sono state configurate correttamente.
Infine se la convalida è andata a buon fine è possibile far generare un Report (viene generata una pagina HTML) dove vengono descritti in modo dettagliato tutte le configurazioni, con i vari diagrammi e dove è possibile inserire, i nominativi dei ruoli coinvolti. Questo Report è molto ben fatto e può essere utilizzato come documento tecnico da allegare alle offerte o alla documentazione di progetto.

3. Software Developers


La versione per Software Developers racchiude tutte le funzionalità di Visual Studio 2005 Professional e inoltre aggiunge alcuni strumenti utili per migliorare lo sviluppo.
Questi strumenti sono:

• Code Analysis
• Profiler
• Unit Test


Code Analysis


Code Analisys è uno strumento che effettua l'analisi del codice attraverso dei parametri stabiliti che possono essere modificati in base alle esigenze e alla piattaforma.
L'analisi del codice è molto importante perché permette di capire e correggere diversi errori come la sicurezza, l'utilizzo della Globalizzazione e di alcune classi rispetto ad altre.
Per modificare i parametri bisogna andare nelle proprietà del progetto e cliccare sul tab Code Analysis:



Come vedete dall'immagine, si può impostare il tipo di configurazione (Debug, Release) su quale piattaforma, poi ci sono una serie di categorie Design, Globalitazion, Security ecc. dove ci sono una serie di regole che si può scegliere se includere nell'analisi del codice e il tipo di stato ovvero se deve essere solo un'avvertimento o un vero e proprio errore.
Una volta definiti tutti i parametri dal menu Build fare Run Code Analisys.

Performance Tool


Il Performance Tool permette di analizzare le prestazioni dell'applicazione in fase di esecuzione per cercare di capire chi richiede più risorse, e ci sono due tipologie a campionamento o a instrumentazione. La prima viene eseguita ad intervalli di tempo mentre la seconda mentre si esegue il progetto. Per eseguire il performance tool dal menu Tools selezionare Performance Tools e poi eseguire il wizard.
All'interno di Visual Studio si aprirà una nuova vista che permette di lanciare il Performance in base alle impostazioni che avete impostato. Una volta che avete terminato verrà generato un report con vari analizzatori



Unit Test


Anche nella versione Software Developers si ha la possibilità di effettuare test includendo un progetto di tipo test e dove è possibile per esempio creare un Unit Test dove il metodo che effettua il test avrà l'attributo TestMethod

Codice .NET n°1
[TestMethod()]
public void GetUtenteTest()
{
}


4. Software Testers


Nel ciclo di vita del software il testing ricopre un ruolo fondamentale (purtroppo non è per tutti così) e in grandi progetti soprattutto di livello enterprise e importante affiancare al gruppo di sviluppo un gruppo di testers. Proprio per il gruppo di tester è stato sviluppato Visual Studio 2005 Team System for Software Testers.
Non entreremo in dettaglio di questa versione perché ci vorrebbe un articolo a parte ma descriveremo i vari test che sono possibili effettuare tramite Team System:

Unit Test: consente di testare funzioni e metodi dell'applicazione e vengono usati per testare il codice sorgente
Test Web: consente di registrare l'attività di una determinata pagina web per verificarne il comportamento
Test ordinati: consento di raggruppare e ordinare un qualsiasi numero di unit test o test web.
Test di carico / Load Test: permette di verificare le caratteristiche di carico dell'applicazione dal numero di utenti simultanei, il tipo di browser, la comunicazione. Questo test è importante per verificare la scalabilità e le performance in base alle varie caratteristiche.
Test Manuali: definiscono una serie di test manuali che devono essere definiti dai tester
Test generico: è un programma esistente che può essere usato come test in visual studio.
Inoltre con Team Foundation Server e possibile centralizzare i test i quali possono anche partire da degli use cases (casi d'uso) per creare dei Test Cases che sono spesso richiesti nella fase del collaudo.


Conclusioni


In questo articolo sono andato più in dettaglio nella versione for Architects perché è quella che potuto usare di più anche perché è il ruolo che ricopro, ma spero di avervi fatto capire le grandi potenzialità di Visual Studio 2005 Team System che chiaramente è stato sviluppato per il lavoro in Team ma anche i singoli Architetti/Sviluppatori troveranno in questo strumento un valido aiuto nel progettare e sviluppare le proprie applicazioni.
Voto medio articolo: 2.8 Numero Voti: 4
Marco Caruso

Marco Caruso

Consulente Informatico di Roma, inizia la sua carriera nel 2000 utilizzando la tecnlogia Lotus Notes e il server Domino. Alla fine del 2001 passa alla piattaforma Microsoft.NET dove si appassiona sempre più a questa nuova tecnlogia. Importanti progetti a livello Enterprise per grandi società lo portano a cono... Profilo completo

Articoli collegati

Utilizzare NUnit per testare codice .NET
Scopriamo in questo articolo come utilizzare il popolare framework Open Source NUnit per effettuare Unit Testing del codice .NET aumentandone la qualità e riducendo il numero di eventuali bugs.
Autore: Michela Zangarelli | Difficoltà:
SQL Injection, che cosa è e come difendersi
I malintenzionati sono sempre dietro l'angolo. Il SQL Injection è una delle pratiche più semplici da utilizzare per attaccare un'applicazione poco sicura e violarla o arrecare danni al database. Vediamo che cos'è e come garantire la sicurezza delle applicazioni in modo adeguato.
Autore: Alessandro Alpi | Difficoltà: | Commenti: 4
Tutorial ADO.NET ed esempi pratici - Parte 2
Dopo aver fatto un po' di teoria su ADO.NET nella Parte 1 dell'articolo procediamo con un Tutorial pratico che ci condurrà alla creazione di un'applicazione basilare che consenta l'accesso e la modifica dei dati su un Database Access.
Autore: Stefano Passatordi | Difficoltà: | Commenti: 10
Introduzione ad ADO.NET - Parte 1
ADO.NET è uno dei componenti chiave del .NET Framework. Eredita il nome dal vecchio ADO ma è praticamente quasi tutto cambiato. Una nuova architettura, nuovi concetti, nuove funzionalità e nuovi oggetti. Vediamo quali sono e a cosa servono.
Autore: Stefano Passatordi | Difficoltà: | Commenti: 6
Colonne calcolate e parola "Child" con ADO.NET
Una cosa utile di ADO.NET e' la possibilita di aggiungere ad una colonna da codice il cui valore sia il risultato di operazioni sui dati dei record (o tra valori di altre colonne). Quando si utilizza un dataset con piu tabelle collegate mediante relazioni invece, usando la parola chiave "child" si possono avere delle informazioni riguardanti le tabelle figlio, direttamente nei record della tabella
Autore: Matteo Raumer | Difficoltà: | Voto:
Usare degli indicatori di progresso con Query SQL
Nell'articolo vediamo come sia possibile con un l'aiuto delle classi DataReader e Command di ADO.NET, mostrare un indicatore di progresso che indichi lo stato di avanzamento di una query SQL durante il fetching dei dati.
Autore: Matteo Raumer | Difficoltà: | Voto:
La crittografia e la classe Rijndael
Vediamo come utilizzare una delle tante classi messe a disposizione dal .NET Framework per la crittografia dei dati. In particolare la classe Rijndael implementa un algoritmo di crittografia molto forte diventato famoso negli ultimi anni.
Autore: David De Giacomi | Difficoltà:
DES il famoso standard creato da IBM per la crittografia dei dati
In questo articolo dimostreremo come crittografare dei file usando il .NET Framework e in particolare la classe DESCryptoServiceProvider che implementa l'ormai noto algoritmo di cifratura inventato da IBM negli anni 70 chiamato DES (Data Encryption Standard)
Autore: David De Giacomi | Difficoltà: | Commenti: 2 | Voto:
Cosa sono e come funzionano le funzioni ricorsive?
Ecco tre esempi efficaci che vi spiegano come usare correttamente le funzioni ricorsive, per effettuare ricerche di file e cartelle all'interno del disco fisso, per ricostruire la struttura di un file XML oppure per svuotare determinati controlli in una Form.
Autore: Matteo Raumer | Difficoltà: | Commenti: 2
Costruire Console Applications con Visual Studio .NET
Spiegheremo in questo articolo i passi base fondamentali per costruire Console Applications utilizzando Visual Studio .NET.
Autore: David De Giacomi | Difficoltà: | Voto:
TextReader e TextWriter
Una panoramica su come utilizzare queste due classi che ci permettono di leggere e scrivere file di testo.
Autore: David De Giacomi | Difficoltà: | Commenti: 1 | Voto:
Giochiamo un po' con il registro di Windows!
Scopriamo uno degli elementi fondamentali del sistema operativo Windows e vediamo come è possibile accedervi tramite le classi offerte dal .NET Framework: Microsoft.Win32.Registry e Microsoft.Win32.RegistryKey
Autore: David De Giacomi | Difficoltà: | Commenti: 1 | Voto:
.NET Framework 1.1 Beta
Una prima panormaica sulle novità offerte dal Framework 1.1 che sarà integrato nella prossima versione di Visual Studio .NET 2003.
Autore: David De Giacomi | Difficoltà:
Cosa posso costruire con Visual Studio .NET ?
Un' introduzione sui vari tipi di progetto disponibili in Visual Studio dalle tipiche applicazioni Windows fino alle recenti applicazioni Web e agli innovativi Web Services.
Autore: David De Giacomi | Difficoltà: | Commenti: 1
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5