La mayor parte de las organizaciones de desarrollo de software en áreas de sistemas y empresariales perciben los beneficios del Model-Driven Development (MDD) y del Unified Modeling Language (UML) y los aprovechan usando la familia de productos IBM®Rational®Software Architect. IBM®Rational Team Concert™es el entorno de gestión de la configuración de última generación que está diseñado teniendo en mente un desarrollo ágil. Basado en las plataformas IBM®Rational®Jazz™y Eclipse, proporciona los recursos necesarios para lograr el éxito en una organización globalmente distribuida, aunando las más recientes tecnologías de colaboración, la planificación del desarrollo de software, el control de fuente y las funcionalidades de gestión de cambios.
La integración entre Rational Software Architect y Rational Team Concert se proporciona desde ambos lados al potenciar el intercambio del shell Eclipse. El cliente Rational Team Concert Eclipse puede instalarse en el shell Rational Software Architect Eclipse, lo que le permitirá usar las funcionalidades Rational Team Concert, incluyendo el control de fuente, la gestión de elementos de trabajo y la administración en el Rational Software Architect. Del lado del Rational Software Architect, usted puede usar una funcionalidad visual “comparar y combinar” para modelos UML bajo el control de fuente, crear elementos de trabajo a partir de problemas originados en la validación de modelos y rastrear recursos UML a los elementos de trabajo de Rational Team Concert.
Las secciones siguientes ilustran en detalle cómo trabajar con la integración imitando un escenario de desarrollo paralelo real entre dos usuarios. Este trabajo paralelo provocará cambios conflictivos que habrán de manejarse cuando los usuarios integren su trabajo usando el Rational Team Concert Client instalado en su shell Rational Software Architect Eclipse. Los dos usuarios trabajarán en un proyecto UML que contiene modelos individuales, por lo que usarán modelos lógicos.
Requisitos previos de software y conocimientos
Usted necesita una comprensión básica de modelado UML para seguir este artículo y llevar a cabo el ejemplo. Se da por sentada la comprensión conceptual y práctica de la gestión de la configuración con Rational Team Concert. El entorno de Rational Team Concert está configurado y listo para usar en un desarrollo colaborativo.
El siguiente software debe estar disponible para dos usuarios hipotéticos en este escenario:
- Rational Software Architect para WebSphere®Versión 7.5.5 o posterior
- Rational Team Concert Versión 2.0.0.2 o posterior instalada en el shell Rational Software Architect
Cómo conectarse al repositorio Rational Team Concert
Para llevar a cabo la integración, usted debe tener acceso a un área de proyecto en un servidor Rational Team Concert. Dos usuarios Rational Team Concert, User1 y User2 en este ejemplo, tienen un acceso de lectura/escritura apropiado al área del proyecto. Para obtener información sobre cómo configurar Rational Team Concert, consulte la secciónGetting starteden el Centro de Información.
- Dé inicio a Rational Software Architect para WebSphere en un nuevo espacio de trabajo.
- En el menú principal, seleccioneWindow > Show View > Other (Ventana > Mostrar vista > Otros).
- SeleccioneTeam > Team Artifacts (Equipo > Artefactos del equipo), y haga clic enOK.
Figura 1. Visión de Artefactos del equipo
- Haga clic en el hipervínculoConnect to Project Area (Conectar al área del proyecto).
- Haga clic enNext (Siguiente)para crear una nueva conexión de repositorio.
- Ingrese su información sobre la conexión Rational Team Concert además de su URI de servidor Rational Team Concert, su nombre de usuario y su contraseña, como se muestra en la Figura 2.
Figura 2. Conexión de Repositorio Jazz
- Haga clic en el botónNext (Siguiente).
- Seleccione su área de proyecto y haga clic en el botónFinish (Finalizar).
Cómo comparar y combinar modelos UML en Rational Software Architect
Al usar una herramienta de gestión de la configuración como Rational Team Concert, los desarrolladores comparan y combinan archivos en sus actividades cotidianas debido al desarrollo paralelo. Esto se vuelve aún más importante cuando un equipo usa un enfoque de desarrollo ágil más colaborativo, que a menudo requiere que los desarrolladores integren continuamente su trabajo con el trabajo de otros miembros del proyecto.
Llevar a cabo operaciones de “comparar y combinar” para modelos UML es mucho más complejo que para archivos basados en texto tales como el código C++ y Java™. Rational Software Architect usa un formato basado en XML para sus modelos a fin de satisfacer los requisitos de UML 2.0 en cuanto a sus interconexiones y su semántica.
Hay dos tipos de modelos en Rational Software Architect:únicoylógico. Un modeloúnicoreside en un único archivo (.emx); mientras que un modelológicose divide en subunidades que están físicamente separadas pero lógicamente relacionadas. En Rational Software Architect, las subunidades se llamanfragmentosy se almacenan en archivos *.efx que son referenciados por el modelo principal (*.emx). Rational Team Concert Versión 2.0.0.2 o posterior soporta el modelo lógico Rational Software Architect al trabajar con el control de fuente Rational Team Concert.
Cómo importar un proyecto UML de muestra desde Rational Software Architect
User1 importará un proyecto de muestra denominado modelos UML PiggyBank desde la Rational Software Architect Samples Gallery. Más tarde, el proyecto de muestra se compartirá con el repositorio de control de fuente Rational Team Concert.
- En la barra de menú principal, seleccioneHelp > Help Contents (Ayuda > Contenidos de ayuda).
- AbraSamples > PiggyBank application > PiggyBank UML models (Muestras > Aplicación PiggyBank > Modelos UML PiggyBank).
- Haga clic enImport the sample link (Importar el hipervínculo de muestra)
- Haga clic en el botónFinish (Finalizar)para importar el mismo proyecto de modelos UML PiggyBank. El proyecto UML PiggyBank aparecerá en la vista del Project Explorer, como se muestra en la Figura 3.
Figura 3. Estructura del proyecto UML PiggyBank
Cómo compartir un proyecto con Rational Team Concert en Rational Software Architect
Ahora que usted ya tiene el proyecto de muestra, User1 creará primero un nuevo espacio de trabajo Rational Team Concert con un componente sobre el servidor. Este espacio de trabajo se usará para compartir el proyecto importado en la sección previa con el control de fuente de Rational Team Concert.
- Haga clic derecho en el proyecto y seleccioneTeam > Share Project (Equipo > Compartir proyecto).
- SeleccioneJazz Source Control (Control de fuente Jazz)y luego haga clic en el botónNext (Siguiente).
Figura 4. Opciones de la ventana Compartir Proyecto
- SeleccioneCreate a new repository workspace named… (Crear un nuevo espacio de
trabajo de repositorio llamado…)y dé a su repositorio un nombre
como
User1Respository. - SeleccioneShare with a component from an existing stream (Compartir con un componente de una secuencia existente).
- Seleccione su componente bajo la secuencia de su área de trabajo. Si no tiene un
componente, puede hacer clic enNew Component (Nuevo componente)para crear
uno nuevo.
Nota:Si usted crea un nuevo componente, asegúrese de que su usuario tenga permisos Rational Team Concert apropiados. - Haga clic enFinish (Finalizar).
- En la vista de Cambios Pendientes, haga clic derecho enUser1Workspace, y
seleccioneDeliver (Entregar).
Nota:User1 debe ser un miembro del equipo de destino y del área del proyecto para poder realizar la operación de Entrega.
Importar un proyecto desde Rational Team Concert
User1 entregó el proyecto Modelos UML PiggyBank a la secuencia del área del proyecto de manera que este proyecto esté a disposición de otros miembros del equipo. En la sección siguiente, User1 importará el proyecto de la secuencia principal dentro de su espacio de trabajo Rational Team Concert.
- Comience una nueva instancia de Rational Software Architect que será usada por User2.
- Siga los mismos pasos que en la sección del repositorioCómo conectarse a la
Rational Team Concertpara iniciar sesión en el repositorio como
User2. - SeleccioneShow View > Other (Mostrar vista > Otros)en la barra de menú principal.
- SeleccioneTeam > Team Artifacts (Equipo > Artefactos del equipo)y haga clic en el botónOK
- En la vistaTeam > Team Artifacts (Equipo > Artefactos del
equipo)haga clic derecho enMyProjectArea > Source Control
> Team 1 Stream (Team1) (MyProjectArea > Control de fuente
> Secuencia del equipo 1 (Team1)), y seleccioneNew >
Repository Workspace (Nuevo > Espacio de trabajo del
repositorio). Seleccione su área del proyecto y nombre de secuencia en
función de su configuración. Este ejemplo usa
MyProjectAreapara el nombre de área del proyecto yTeam 1 Streampara el nombre de secuencia. - Dé un nombre a su espacio de trabajo del repositorio, como
User2Workspace. - Haga clic enFinish (Finalizar).
- SeleccioneFind and load Eclipse projects (Encontrar y cargar proyectos Eclipse)como se muestra en la Figura 5 y haga clic enFinish (Finalizar).
Figura 5. Carga del espacio de trabajo de repositorio
Sugerencia:
El proyecto PiggyBank Models se carga dentro del espacio de trabajo local.
Entrega de cambios no conflictivos
User2 hará algunos cambios a los modelos y los entregará a la secuencia principal. Dado que User1 no ha modificado aún los modelos, los cambios serán no conflictivos. Los cambios que entregará User2 al repositorio de control de fuente también crearán problemas de validación del modelo.
- Cree fragmentos para los paquetes en el modelo de caso de uso haciendo clic derecho sobre el modelo y seleccionandoRefactor > Fragment All Sub-Packages (Refactorizar > Fragmentar todos los subpaquetes).
- Haga clic en el botónOKpara actualizar referencias.
- Ahora usted cambiará el nombre del actor deCustomertoClient. Haga clic derecho y seleccioneUse Case Model > Account Operations > Customer (Usar modelo de caso > Operaciones de cuenta > Customer),ay luego, en los menús descendentes, seleccioneRefactor > Rename (Refactorizar > Renombrar).
- Tipee
Clientpara reemplazar Customer en el diálogo, y haga clic enOK. - Ahora usted creará un nuevo modelo para el proyecto, el cual no se agregará al repositorio Rational Team Concert. Haga clic derecho y seleccionePiggyBank Models > Models (Modelos PiggyBank > Modelos)en la vistaProject Explorery seleccioneCreate Model (Crear modelo)en los menús desplegables.
- Seleccione la plantillaStandard (Estándar)y haga clic en el botónNext (Siguiente).
- Cree un modelo de paquete de caso de uso seleccionando la categoríaRequirements (Requisitos)y la plantillaUse Case Package (Paquete de caso de uso)como muestra la Figura 6.
Figura 6. Creación de un modelo de paquete de caso de uso
- Haga clic enFinish (Finalizar).
El modelo de requisitos que usted acaba de crear se agrega automáticamente como un candidato para ser inscrito en el control de fuente de Rational Team Concert. Ahora usted agregará el modelo a la lista Ignorar de manera que este modelo no se inscriba ni se entregue al repositorio del control de fuente.
- Haga clic derecho en el modelo y seleccioneTeam > Add to Ignore List (Equipo > Agregar a la lista Ignorar).
- Deje estas selecciones en forma predeterminada:
- What to Ignore: Resources with selected name (Qué ignorar: Recursos con nombre seleccionado)
- Where to Ignore: Only ignore items in the same directory (Dónde ignorar: Ignorar sólo elementos del mismo directorio)
- Haga clic enOKen la ventana de diálogo que se muestra en la Figura 7.
Figura 7. Cómo agregar un modelo UML a la lista Qué ignorar
- Agregue un actor UML al modelo creado haciendo clic derecho en el modelo y
seleccionandoAdd UML > Actor (Agregar UML >
Actor)Nómbrelo
ATM. - Abra el diagramaActors Overview (Generalidades de actor)deUse Case Model > Overviews (Modelo de caso de uso > Generalidades).
- Arrastre el actorATMhacia el diagrama.
- Guarde todos los modelos haciendo clic enFile > Save All (Archivos > Guardar todos)
- En la vistaPending Changes (Cambios pendientes), expanda su componente de espacio de trabajo de repositorio, como se muestra en la Figura 8.
Figura 8. Vista de cambios pendientes
- Haga clic derecho en la carpetaUnresolved (Sin resolver)y seleccioneCheck in and Deliver (Proteger y entregar).
- Ingrese comentarios relevantes en “Cambiar comentario establecido”, y luego haga clic enFinish (Finalizar), como se muestra en la Figura 9.
Figura 9. Ventana de diálogo Proteger y Entregar
Ahora User1 sincronizará su espacio de trabajo con la secuencia de desarrollo principal. La secuencia de desarrollo principal ahora contiene los cambios del modelo que User2 entregó en los pasos previos. User1 aceptará esos cambios que fueron entregados por User2 a su espacio de trabajo. Y finalmente User1 validará un modelo y creará elementos de trabajo Rational Team Concert a partir de los errores de validación del modelo.
- En la ventana Rational Software Architect de User1, abra la vistaPending Changes (Cambios pendientes)y haga clic en el botónRefresh (Actualizar).
- Expanda su espacio de trabajo/componente. AcepteAll incoming changes (Todos
los cambios entrantes)haciendo clic en el ícono A con la flecha
en la vistaPending
Changes (Cambios pendientes). - AbraPiggyBank Models (Modelos PiggyBank) > Use Case Model (Modelo de caso de uso)en el Project Explorer. Verá un mensaje de error que indica que el modelo contiene una referencia rota que podría ser automáticamente reparable.
- Haga clic en el botónIgnore (Ignorar).
- Valide elModelo de caso de usoseleccionando el modelo en elProject Explorery haciendo clic enModeling (Modelado) > Run Validation (Ejecutar validación)sobre la barra de menú principal.
- En la vistaProblems (Problemas), seleccione el error resultante de la validación. Haga clic derecho y seleccioneCreate work item (Crear elemento de trabajo).
Figura 10. Cómo crear un elemento de trabajo
- SeleccioneDefect (Defecto)como tipo de elemento de trabajo y haga clic
enFinish (Finalizar)
Nota:
Su lista de tipos de elementos de trabajo podría ser diferente de la
de la Figura 10 porque depende de la configuración de plantilla del elemento de
trabajo de su servidor Rational Team Concert.
- Complete los campos obligatorios en el editorWork Item (Elemento de trabajo).
- Elija el propietario de este elemento de trabajo de modo que seaUser2. Haga clic en el campoOwned By (Propiedad de)y seleccioneMore (Más).
- Busque User2, y haga clic enOKpara establecer el usuario como propietario del elemento de trabajo.
- Guarde el elemento de trabajo haciendo clic en el botónSave (Guardar).
Cómo combinar cambios conflictivos: combinación no lógica
Usted ya ha aprendido cómo comparar y combinar cambios no conflictivos. En los próximos pasos, aprenderá cómo combinar cambios de modelos conflictivos usando la funcionalidad Comparar y Combinar de Rational Software Architect.
- Encuentre elementos de trabajo que están asignados a User2 abriendo la vistaTeam Artifacts (Artefactos del equipo)y seleccionandoMyArea > Work items > Shared Queries > Predefined > Open assigned to me (MyArea > Elementos de trabajo > Consultas compartidas > Predefinidas > Abrir las asignadas a mí).
- En la vista de elementos de trabajo que se ilustra en la Figura 11, haga doble clic en el elemento de trabajo para abrirlo.
Figura 11. Resultado de la consulta de Rational Team Concert
- Ahora que User2 conoce el problema, el cual se muestra en la descripción predeterminada, usted agregará los artefactos faltantes al control de fuente de Rational Team Concert para arreglarlo.
- Elimine elModelo de caso de usode la lista “Ignorar” del Rational Team Concert haciendo clic derecho en el modelo delProject Explorery seleccionandoTeam > Remove from Ignore List (Equipo > Eliminar de la lista Ignorar)en el menú descendente.
- Haga clic en el botónOK.
Nota:Usted puede hacer clic en los hipervínculos del modelo de recursos de la descripción para navegar los elementos UML del Project Explorer.
Figura 12. Descripción de los elementos de trabajo
- Resuelva el defecto cambiando su estado y condición aResolve (Resolver)yFixed (Arreglado), respectivamente.
- Guarde el elemento de trabajo.
- Ahora, haga cambios en elPiggyBank Design Model (Modelo de diseño PiggyBank). ExpandaPiggyBank Design Model > PiggyBankImplementationDesigns (Modelo de diseño PiggyBank > Diseños de Implementación de PiggyBank)en la vista del Project Explorer.
- RenombrePiggyBankImplementationDesignPackagesaPiggyBankUser2Designhaciendo clic derecho en el diagrama y seleccionandoRefactor > Rename (Refactorizar > Renombrar)del menú desplegable.
- Ahora usted está listo para entregar los cambios. Abra la vistaPending Changes (Cambios pendientes). Proteja y entregue los cambios sin resolver.
- Asigne el defecto asignado a User2 al conjunto de cambios creados anteriormente. Cuando se le solicite que proporcione comentarios para el conjunto de cambios, haga clic enNext (Siguiente).
- Marque la casilla de verificaciónShow resolved (Mostrar resueltos)de
manera que el defecto que se resolvió aparezca en una lista, como ilustra la
Figura 13.
Figura 13. Cómo proteger y entregar un conjunto de cambios que esté anexado a un elemento de trabajo
- Haga clic en el botónFinish (Finalizar).
Ahora haremos cambios que crearán conflictos en el modelo UML.
- Inicie Rational Software Architect con el espacio de trabajo de User1.
- Repita los Pasos 6 y 7 pero renombre el diagrama a
PiggyBank User1 Designesta vez. Esto creará conflictos con los cambios realizados por User1 que deberían combinarse manualmente. - Guardeel modelo.
- Cuando abra la vista dePending Changes (Cambios pendientes), usted deberá
ver tanto los cambios No Resueltos como los Entrantes. Haga clic derecho
enUnresolved (Sin resolver)y seleccioneCheck in all (Proteger
todos)del menú principal.
Figura 14. Vista de cambios pendientes con cambios entrantes y salientes
- Acepte todos los cambios entrantes haciendo clic enAccept all (Aceptar todos)en la vistaPending Changes (Cambios pendientes).
- Haga clic en el botónAuto-Resolve (Resolver automáticamente).
- Haga clic enOKsobre el diálogo que indica que ninguno de los conflictos puede resolverse automáticamente.
- Se necesita ahora la combinación manual de los modelos para resolver los conflictos. Haga doble clic enDesign model.emx (Modified > Modified) (Diseñar model.emx (Modificado > Modificado)
- La Figura 15 muestra el editorCompare and Merge (Comparar y combinar). Acepte cambios de User1. Se sobrescribirán los cambios de User2.
- Expanda todos los conflictos. Haga clic derecho en el conflicto apropiado y seleccioneAccept (Aceptar).
- Haga clic en el botónResolve as Merged (Resolver como combinado).
- Vaya a la vistaPending Changes (Cambios pendientes)e ingrese un comentario para el conjunto de cambios salientes haciendo clic en él. Aparecerá un cuadro de texto editable.
- Entregue el modelo combinado al repositorio haciendo clic derecho en los cambiosOutgoing (Salientes)y seleccionandoDeliver (Entregar)en el menú descendente.
Figura 15. Vista del editor Comparar y Combinar Modelo
Vista ampliada de la Figura 15.
Habilitar “comparar y combinar” en el modelo lógico
A fin de comparar y combinar modelos UML con Rational Team Concert dentro de Rational Software Architect, es necesario habilitar opciones especiales. Después de llevar a cabo los pasos siguientes, usted podrá utilizar modelos lógicos con Rational Team Concert.
- SeleccioneWindow > Preferences (Ventana > Preferencias)de la barra de menú principal.
- SeleccioneTeam > Jazz Source Control > Model Enablement (Equipo > Control de fuente Jazz > Activación de modelo).
Figura 16. Preferencias de activación del modelo de control de fuente Jazz
- Seleccione estas casillas de verificación:
- Permitir herramientas de modelado (por ejemplo, UML) para participar en el contenido de archivo durante Accept (Aceptar),
- Modelos lógicos
- com.ibm.xtools.model.ui.resources.modelProvider
- Haga clic enApply (Aplicar)y luego enOK.
- Repita los pasos para los espacios de trabajo de ambos usuarios.
Cómo llevar a cabo una combinación de modelo lógico
A continuación, User1 y User2 crearán conflictos en el modelo lógico. Más tarde se resolverán aquellos conflictos.
- Como User1, renombre el caso de usoCash Checkcomo paqueteUse Case Model > Account Operations (Modelo de caso de uso > Operaciones de cuenta)haciendo clic derecho en el caso de uso y seleccionandoRefactor > Rename (Refactorizar > Renombrar).
- Déle el nombre de
Deposit Check (Cheque de depósito),y haga clic enOK - Entregue los cambios no resueltos a la secuencia. Repita los pasos 16–18 de la sección de Entrega de cambios no conflictivos para llevar a cabo esto.
- Como User2, repita los pasos anteriores desde “Check Allow…” hasta “Refactor
> Rename” (Refactorizar > Renombrar) pero nombre el caso de
uso
Cash CheckoCash Cheque). Esto creará un conflicto en el modelo lógico. - Abra la vistaPending Changes (Cambios pendientes), y permita todos los cambios sin resolver que usted creó en el paso anterior.
- Acepte todos los cambios entrantes desde User2.
- Haga clic enAuto-Resolve (Resolver automáticamente)cambios conflictivos.
- Cuando aparezca el diálogo Logical Merge (Combinación lógica) (Figura 17), haga doble clic enLogical Models > PiggyBank Models > IBM Rational Logical Model [Root file: Use Case Model.emx] (Full Context Merge). (Modelos lógicos > Modelos PiggyBank > IBM Rational Logical Model [Archivo raíz: Use Case Model.emx] (Combinación de todo el contenido).
Figura 17. Ventana de combinación lógica
Vista ampliada de la Figura 17.
- Acepte los cambios que creó User1 haciendo clic derecho y seleccionandoConflicts > Conflicting Modifications > Accept (Conflictos > Modificaciones conflictivas > Aceptar)en los menús descendentes.
- Guarde el modelo combinado haciendo clic en el botónCommit Merge (Confirmar combinación).
Para mayor información acerca de Rational Software Architect y Rational Team Concert, vea las citas de la sección de Recursos.
Aprender
- Aprenda más acerca de:
- Aprenda acerca de las características y los
beneficios de IBM Rational Team Concert:
- Rational Team Concert Information Center
- página de IBM developerWorks para Rational Team Concert, con vínculos a muchos otros recursos
- Transmisión por Internet:Cómo usar Rational Team Concert en un equipo globalmente distribuido
- Demostración:Paneles de control e informes
- Aprenda acerca de otras aplicaciones en laIBM Rational
Software Delivery Platform, incluyendo herramientas de colaboración para
desarrollo paralelo y equipos geográficamente dispersos, además de software
especializado para la gestión de la arquitectura, la gestión de activos, la gestión
de cambios y versiones, la gestión de requisitos integrados, la gestión de procesos
y carteras y la gestión de la calidad. Usted puede encontrar manuales de productos,
guías de instalación y otra documentación en elIBM Rational
Online Documentation Center.
- Visiteel área de software Rational
sobre developerWorkspara obtener los recursos técnicos y las mejores
prácticas para los productos Rational Software Delivery Platform.
- Explorecursos sobre Rational
basados en computadora, basados en Internet y guiados por instructores.
Perfeccione sus habilidades y aprenda más acerca de las herramientas Rational con
estos cursos, que abarcan desde niveles introductorios a avanzados. Los cursos que
se incluyen en este catálogo están disponibles a través de una capacitación basada
en computadora o basada en Internet. Además, existen algunos cursos introductorios
gratuitos.
- Suscríbase al newsletterIBM developerWorks,
publicación de actualización semanal que contiene lo mejor en materia de tutoriales,
artículos, descargas, actividades comunitarias, transmisiones por Internet y eventos
de developerWorks.
Obtener los productos y tecnologías
- Obtenga la descarga de
prueba deRational
Software Architect para WebSphere
- , la descarga de prueba deRational Software
Architect Standard Edition
- y la descarga de prueba de
Rational Team Concert (gratuitamente):
- Descargue las versiones de
prueba deIBM Rational
software.
- Descargue estas versiones de
prueba deproductos de
IBMy obtenga herramientas de desarrollo de aplicaciones y productos de
middleware desde DB2®, Lotus®, Tivoli® y WebSphere®.
Comentar
- Participe de la discusión en el foro deRational
Development Tools.
- Participe de la discusión en los foros deJazz.net.
- Consulte losblogs de developerWorksy
participe en lacomunidad de
developerWorks.
Myroslav integra el System and Integration Test Team for Rational Modeling Tools de IBM desde enero de 2008. Previamente, luego de egresar de la Carleton University de Ottawa (Canadá) como Licenciado en Ciencias de la Computación, dependiente de Ingeniería de Software, trabajó como diseñador de software en Nortel.