Universidad del Cauca Universidad Autónoma de Occidente Herramientas de Apoyo a los procesos de desarrollo de SW MG. Ing. Franco Arturo Urbano Introducción Contenido Herramientas de apoyo a RUP Herramientas de apoyo en la captura de requisitos Herramientas de modelado con UML 1
Introducción Herramientas básicas Como abordar el desarrollo de sistemas de información? Introducción El uso de herramientas simplifica ciertas tareas y hace posible la ejecución de otras, que serían muy difíciles de realizar de forma manual. Herramientas comerciales y Open Source. Infinidad de herramientas cubren todas las áreas en las que se puede gestionar la calidad de SW. Empresa. 2
Clases de herramientas De Gestión de Pruebas actividades de aseguramiento de calidad. De Ejecución de Pruebas pruebas de rendimiento y de seguridad De Gestión de Requisitos Para Gestión de Defectos registro y seguimiento de errores Clases de herramientas De Gestión de la Configuración evolución de los productos SW Para Pruebas Unitarias unidades completas de Código Inspección de Código estilo, vulnerabilidad y seguridad De Modelado IDEs (Entornos Integrados de Desarrollo) 3
Mapa de herramientas Herramientas de apoyo a RUP 4
Plataforma Rational Productos SW para gobernar el desarrollo de Sistemas y de SW. Administración de requerimientos Posibilita la creación, análisis y administración de requerimientos y casos de uso. Administración de calidad de SW Análisis, modelado, diseño y construcción Las Herramientas ayudan a construir aplicaciones a partir de modelos. Administración de cambios, configuraciones y entregas de SW http://www.ibm.com/products/co/ Rational Herramientas para la Gestión de Requisitos 5
Requerimientos Cuanto mejor se comunique y administre los requisitos, mejor será la oportunidad que tendrá su proyecto para brindar la solución correcta a tiempo y dentro del presupuesto. Administracion de requisitos=proceso clave. Entrevistas con el cliente y añadir nuestra experiencia. Documento de requerimientos. Requerimientos Objeto de las herramientas de gestión de requisitos Mejor comunicación Reducir los riesgos del proyecto Formato de documento debe ser estándar. Herramientas para gestión de requisitos Rational RequisitePro REM 6
1. Rational Requisite Pro Combina MSWord y Bases de Datos. Formato natural Vincula documentos a BD (priorizar/organizar) Click en el requisito, activa Word. Clasificar requisitos: prioridad/dificultad Rational RequisitePro Provee funcionalidades para establecer y analizar el impacto de los cambios. Matriz de Rastreabilidad El cambio es inevitable Aceptar cambios sin previa evaluación puede llevar a una creciente inestabilidad del proyecto 7
Rational RequisitePro Acceso Web para equipos distribuidos Integración con múltiples herramientas de la plataforma Rational Rational SW Architect: elementos de diseño requisitos Soporte a la metodología de IBM, RUP Documento con el requerimiento auditado: quien, que, por qué se realizan cambios. 2. REM Entorno Metodológico de Ingeniería de Requisitos para Sistemas de Información. Universidad de Sevilla. Herramienta de Gestión de Requisitos. Gratuita GUI sencilla e intuitiva Basada en XML y XSLT, genera HTML 8
Herramientas de Modelado Que son? Herramientas que permiten crear una simulación del sistema a bajo costo y riesgo mínimo. Permiten crear modelos/planos del sistema. Permiten centrarse en lo importante Están representados todos los requerimientos? El analista comprendió que hará el Sx? Diferentes herramientas de modelado para un Sx. Consistencia de los modelos. 9
Características Visión descendente del sistema Particionar el sistema Elementos gráficos con algo de apoyo textual Modelo obtenido debe ser transparente Mínima redundancia (+transparencia) Herramientas de Modelado con UML UML es un lenguaje para especificar, construir, visualizar y documentar los artefactos de un sistema de software orientado a objetos (OO). Después de la publicación oficial de UML en 1997, aparecieron muchas herramientas comerciales de modelado 10
Herramientas de Modelado con UML Permiten aplicar la metodología de análisis y diseño OO y abstraernos del código fuente, en un nivel donde la arquitectura y el diseño se vuelven mas obvios y mas fáciles de entender y modificar. Al utilizar las herramientas de modelado con UML Los analistas de sistemas pueden capturar los requisitos del negocio Los diseñadores/arquitectos pueden producir el modelo de diseño. Los desarrolladores pueden transformar rápidamente los modelos en una aplicación funcionando. 11
Herramientas UML Compañía Herramienta URL Proyecto Open Source StarUML http://staruml.sourceforge.net/en/ IBM Rational Rose http://www- 306.ibm.com/software/rational/ Gentleware Poseidon for UML http://www.gentleware.com Omondo EclipseUML http://www.omondo.com Listado de herramientas http://www.objectsbydesign.com/tools/umltools_ bycompany.html Diagramas Use Case Diagrams Use Case Diagramas Diagrams de Secuencia Use Case Diagrams Use Case Diagramas Diagrams de Casos de Uso State Diagrams State Diagramas Diagrams de Clases State Diagrams State Diagramas Diagrams de Objetos Scenario Diagrams Scenario Diagramas Diagrams de Colaboración Modelos State Diagrams State Diagramas Diagrams de Componentes Scenario Diagrams Scenario Diagramas Diagrams de Estados Diagramas de Actividad Component Diagrams Component Diagramas Diagrams de Implantación 12
1. Rational Rose Enterprise Ofrece un lenguaje visual que acelera la creación de aplicaciones robustas y flexibles. Con Rational Rose se puede obtener software de alta calidad de forma rápida. Desarrollo conducido por modelos. http://www-306.ibm.com/software/rational/ Ventajas de Rational Rose Maneja cambios de forma efectiva y protege los valores estratégicos que son críticos en una organización. Independiente de la plataforma o tipo de aplicación (Java,.NET,...). Rational guía desde el inicio hasta el final, asegurando el éxito del proyecto. 13
Rational Rose Vista de Vista de Componentes Lógica Vista de Casos de Uso Vista de Vista de Implantación Concurrencia Vistas de UML 2. Poseidon para UML Ediciones: Comunidad Estándar Profesional http://www.gentleware.com 14
Diagrama de Componentes Diagrama de Implantación 15
3. EclipseUML Compañía Omondo: Creada por/para desarrolladores de JAVA. Integración con IDE Eclipse. Sincronización entre modelo y código. Desarrollo conducido por el modelo para construir software rápida y eficientemente. Entrega las necesidades del usuario desplegadas en código JAVA. http://www.omondo.com Eclipse Es una plataforma de SW de código abierto. Está compuesto de muchos proyectos Proyecto: EMF Plataforma de modelado y generación de código para construir herramientas y otras aplicaciones basadas en un modelo de datos estructurado. Provee elementos para producir a partir de un modelo un conjunto de clases Java. http://www.eclipse.org/modeling/emf/ 16
EclipseUML EclipseUML Free Edition Editor de UML Sin soporte desde 2007 EclipseUML Studio Edition v3.5 Editor de UML Nuevas Potencialidades: Integración con herramientas de Hibernate, Web, WebServices y EJB. 4. StarUML Proyecto de Código Abierto Licencia Publica GNU Construir una herramienta de modelado y una plataforma Soporta UML 2.0 Soporta ingeniería directa Escrito en Delphi http://staruml.sourceforge.net/en/ 17
Características Diagramas UML 2.0 Casos de Uso - Clases Secuencia - Colaboración Estados - Actividad Componentes Despliegue(Deployment) Estructura compuesta Características Soporta varios lenguajes Perfil Java/C++ Ingeniería directa/inversa Soporta tecnología MDA (Arquitectura basada en modelos) Perfiles UML definidos por el usuario Soporta modelado en base a frameworks(j2ee,.net,..) 18
Versiones 1996: Plastic v0.9 Herramienta simple 2003: Plastic soporta UML 1.4 2005: Agora Plastic Certificado de Buen Software dado por el Ministerio de Información y Comunicaciones de Corea 2005: Renombrado a StarUML v5.0 Soporta UML 2.0 Módulos StarUML puede manejar módulos desarrollados por terceras partes. Web Application Extension Notación para Aplicaciones Web Software Proccess Engineering Metamodel Modelos para procesos de SW que incluyen roles, tareas, productos de trabajo. Agent Modelling Language(AML) Profile Modelos para sistemas multiagente (ontologías, aspectos sociales, ) 19
Gracias 20