Title: Ciclo de desarrollo de una aplicacin: Visual Studio Team System
1Ciclo de desarrollo de una aplicación Visual
Studio Team System
2Agenda
- Presentación de Visual Studio Team System
- Modelado de aplicaciones y servicios
- Análisis de código y modelado de clases
- Test unitarios y cobertura de código
- Trabajo en equipo con Team Foundation
3- Visual Studio Team System
4Visual Studio Team System
Visual StudioTeam Architect
Visual StudioTeam Developer
Visual StudioTeam Test
Visual StudioTeam Foundation
5- Modelado de aplicaciones y
- servicios
6Diseño de arquitecturaAplicaciones distribuidas
- Las aplicaciones distribuidas requieren un
trabajo adicional - Strings de conexión, configuración de servidores,
permisos en dominios - Es un trabajo que no tiene nada que ver con el
código. - Requiere una visión global de los sistemas
implicados. - Crear, mantener y documentar la arquitectura es
tan necesario como laborioso.
7Diseño de arquitecturaDiseño desde VSTS
- Una solución de VS puede llevar aparejada sus
propios esquemas de distribución e implantación. - Los esquemas cubren desde la relación entre las
aplicaciones hasta la implantación de las mismas. - Los esquemas se sincronizan con los proyectos
para reflejar cambios. - El esqueleto de los proyectos se genera
automáticamente. - La documentación se genera también
automáticamente.
8Diseño de arquitecturaEtapas del diseño
- Esquema de aplicaciones
- Diseño de sistemas
- Diagrama de infraestructuras
- Implantación
- Generación de los proyectos y la documentación
9Diseño de arquitecturaEsquemas de aplicaciones
- Definimos las aplicaciones que integrarán la
solución - No a nivel de componentes, sino de aplicaciones
- Uno por solución.
- Diversos tipos de aplicaciones
- Windows (Consola y Servicios), Web, Servicios
Web, bases de datos - Las aplicaciones se conectan entre ellas mediante
puntos de entrada - La conexión generará una referencia entre
proyectos o una cadena de conexión (si es una BD)
10Diseño de arquitecturaPropiedades de las
aplicaciones
- Restricciones
- Definen las restricciones que se aplican a la
aplicación - Se utilizarán en la implementación
- Configuraciones
- Definen configuraciones específicas de la
aplicación - Se traducirán en entradas del fichero de
configuración. - Son específicas del tipo de aplicación.
11Esquema de aplicaciones
12Diseño de arquitecturaDiseño de sistemas
- Los sistemas permiten agrupar aplicaciones y
encapsular su complejidad. - No son obligatorios pero si útiles.
- Facilitan la implantación
- Se crean puntos de entrada y de salida del
sistema. - Las aplicaciones del sistema interactúan con esos
puntos de entrada - Los sistemas pueden incluir otros sistemas.
- Las restricciones de una aplicación dentro de un
sistema no varían, pero la configuración puede
ser diferente de sistema a sistema.
13Diseño de sistemas
14Diseño de arquitecturaDiagrama de
infraestructuras
- Permite crear una representación lógica de los
servidores involucrados - Los servidores pueden representar una sola
máquina o varias - Se puede subdividir la infraestructura en zonas
- Lógicas, no físicas
- Los servidores y las zonas pueden tener
restricciones y configuraciones propias - Los servidores pueden enlazarse mediante puntos
de entrada y salida. - Las zonas también pueden enlazarse entre sí.
- Las zonas son reutilizables en distintos
proyectos.
15Diagrama de infraestructuras
16Diseño de arquitecturaImplantación
- Asignamos las aplicaciones a los servidores del
diagrama de infraestructuras - Puede realizarse a partir del esquema de
aplicaciones o a partir de los sistemas. - La implantación ha de validarse antes de
continuar - Errores tipicos de validación
- Conflicto entre restricciones de servidor.
- Confllictos entre configuraciones de aplicación y
de servidor. - Falta de canales de comunicación.
17Implantación
18Diseño de arquitecturaGeneración de los proyectos
- Cuando la implantación está validada se pueden
generar los proyectos - Se crean las aplicaciones de los tipos
especificados - No se crean las aplicaciones genéricas
- Se enlazan los proyectos
- Se crean referencias Web y strings de conexión
- Se generan los ficheros de configuración y las
operaciones de los servicios Web - Todo el conjunto está sincronizado
- Cambios en los esquemas se traducen en cambios en
los proyectos y viceversa.
19Diseño de arquitecturaDocumentación
- La documentación se genera en HTML
- Se documentan todas las aplicaciones, los
sistemas y las zonas - Aparecen todas las restricciones y todas las
configuraciones
20Generación de proyectos y documentación
21 22Modelado de clases
- Es una utilidad del IDE que permite diseñar los
elementos de las clases - Interfaces, relaciones, métodos, propiedades
- No todo se puede hacer, pero sí lo más usual
- Realiza ingeniería inversa
- Arrastrando el fichero de clases al diagrama se
añaden sus clases - Modificar la clase modifica el diagrama y
viceversa - Se puede exportar como imagen para utilizarla en
la documentación
23Modelado de clases
24 25Herramientas de testTesteo integrado
- No es necesario recurrir a herramientas externas
para realizar pruebas - El propio entorno suministra diversos tipos de
proyectos que enfocan diversos tipos de test - Se consigue la automatización de las tareas de
testeo
26Herramientas de testTipos de test
- Unitarios
- Prueban métodos individuales de clases
- Web Tests
- Lanzan scripts de peticiones contra una
aplicación web - Tests manuales
- Instrucciones para realizar pruebas
- Test genéricos
- Utilian un programa externo para realizar un test
27Herramientas de testLanzamiento de los test
- Test de carga
- Crean un conjunto de pruebas a partir de diversos
test - Coloca contadores en las máquinas que intervienen
en el test para medir el rendimiento y otros
aspectos - Test ordenado
- Realiza las pruebas en un orden establecido
28Herramientas de testCobertura de código
- Nos permite saber qué partes del código han sido
probadas - También podemos controlar el código del propio
test
29Test unitarios, cobertura de código y Web Test
30 31Analizador de código
- Es una herramienta que permite mejorar el código
- Realiza recomendaciones, no provoca errores de
compilación - A menos que lo configuremos
- Podemos habilitar o deshabilitar advertencias
- Podemos configurarlas como errores de compilación
32Análisis de código
33Recursos
- Web de MSDN en España
- Iniciativas de Microsoft para el desarrollador
- www.microsoft.com/spanish/msdn/Spain
- Desarrolla con MSDN
- Formación de .NET online
- www.DesarrollaConMsdn.com
- Grupos de usuarios
- Comunidades locales de desarrollo
- www.GruposDeUsuarios.net
34(No Transcript)