Herramientas de arquitectura en VSTS 2010

Publicación del inglés original: sábado, 29 de agosto de 2009 a las 23:43 PST por Somasegar

Diseñar nueva funcionalidad en aplicaciones existentes puede ser desalentador. Siempre hay diferencias entre el diseño original y la implementación final.

Las nuevas herramientas de arquitectura dentro de Visual Studio Team System 2010 le ayudan a comprender la aplicación que tiene, a diseñar la nueva funcionalidad que necesita y validan que el diseño y la implementación coincidan.

Entendiendo lo que tiene

Entender las dependencias entre partes de la aplicación puede ser esencial para determinar dónde puede tener problemas. Además, tener un gráfico visual puede ayudarle a encontrar el mejor lugar para implementar la nueva funcionalidad.

Puede obtener una imagen visual de su solución por ensamblado, por espacio de nombres, por clase o a través de filtros personalizados en un documento DGML mediante la característica Generar gráfico de dependencia:

Puede visualizar el documento DGML generado de su solución como una matriz de dependencias, como un esquema o de arriba a abajo, como se muestra a continuación. Cada vista puede proporcionar una toma diferente en la estructura del proyecto.

Esta vista de alto nivel es ideal para comprender la forma general de la arquitectura, pero comprender las dependencias de un área que desea cambiar puede hacer la diferencia entre un cambio de quince minutos y un cambio de una hora. Por ejemplo, poder visualizar las relaciones alrededor de la clase Cart (Carro) puede ser muy útil para realizar cambios en el carro de la compra:

Otra forma de comprender cómo funciona la aplicación consiste en ser capaz de visualizar la secuencia de llamadas que se producen en secciones claves de la aplicación. Con la función Generar el diagrama de secuencia, disponible en el editor de código, obtendrá una vista de las llamadas a métodos que su aplicación efectúa. A continuación puede ver la secuencia de llamadas que componen la implementación del método Add (agregar) en el carro de la compra.

Diseñando nueva funcionalidad

Ahora que tiene un conocimiento más completo de la aplicación existente, está en una mejor posición para agregar funcionalidad. Colaborar en el diseño requiere comunicar de forma estándar. Los diagramas de lenguaje de modelado unificado (UML) le permiten expresar el diseño de forma que otros puedan entender. Por ejemplo, puede crear diagramas UML de componente y clase que describan los elementos estructurales existentes en su diseño, y a continuación agregar nuevos elementos a los diagramas para ilustrar y documentar los cambios. A continuación se muestra el aspecto de un diagrama de componente completo:

Un diagrama de clase tendrá este aspecto:

El siguiente diagrama de caso de uso permite a los equipos a entender y a acordar las funciones de la aplicación.

Una vez que tiene un diagrama UML puede crear o vincular elementos diseñadores con elementos en el sistema de seguimiento de elementos de trabajo dentro de Team Foundation Server (TFS).

Garantizar la validación de la aplicación

A lo largo del tiempo, la calidad del código de un proyecto puede decaer si no se realizan las correcciones de errores y la implementación de nuevas características con la arquitectura general en mente. Aquí es donde pueden ayudarle el Diseñador de capas y la Validación de capas. El Diseñador de capas le permite definir los niveles lógicos y las rutas de comunicación válidas entre las capas del proyecto. Una vez se han asociado los ensamblados, espacios de nombres y clases con las capas en el diagrama de nivel, puede validar el código nuevo o existente con las restricciones de capas. Por ejemplo, en este diagrama de nivel, es válido para el software dentro del nivel Presentation (presentación) tener dependencias de software dentro de la capa de la lógica empresarial. Sin embargo, puesto que no hay una línea de dependencia entre Presentation (presentación) y Resource Access (acceso de recurso) , cualquier software que intente tomar esa dependencia provocará una infracción de tiempo de compilación en la lista de errores.

Puede validar las restricciones de capa desde la superficie del diseñador, línea de comandos, o desde el proceso de generación. El proceso de protección de Team Build garantiza que las infracciones de restricción de capa nunca pasen al control de código fuente.

Éstas son algunas de las características de las herramientas de arquitectura de Visual Studio Team System 2010. Puede obtener más información acerca de éstas y otras características en el blog de Cameron Skinner (en inglés).

¡Namaste!