510 likes | 783 Views
Proyecto. Implementación de un software orientado a la web que gestione la aplicación de la técnica de calidad Seis Sigma al Proceso de Desarrollo de Software, sobre la Plataforma “Java EE 5.0” empleando un framework integrador “JBoos Seam Framework 2.2.0”. Realizado Por:
E N D
Proyecto Implementación de un software orientado a la web que gestione la aplicación de la técnica de calidad Seis Sigma al Proceso de Desarrollo de Software, sobre la Plataforma “Java EE 5.0” empleando un framework integrador “JBoos Seam Framework 2.2.0” Realizado Por: Yacchirema Espín Luis Miguel • Tutores: • Ing. Cecilia Hinojosa – Directora • Ing. Edison Lascano – Codirector
Resumen Agenda • Metodología • Tecnologías, Herramientas • Desarrollo del Software • Conclusiones y Recomendaciones
Resumen • En el presente proyecto se desarrolló un software orientado a la web que sirva como herramienta de apoyo en el control del proceso de desarrollo de software, y complemente la “Guía Básica para la Aplicación de la Técnica de Calidad Seis Sigma al Proceso de Desarrollo de Software”. • Este proyecto también está enfocado en dar a conocer algunas alternativas de tecnologías que pueden ser utilizadas en desarrollos web, es así, que se trabajó sobre la plataforma Java EE 5.0, y se empleó un framework web llamado JBoss Seam. Además, para cubrir todo el ciclo de vida de desarrollo del software, se aplicó una metodología ágil denominada ICONIX.
Objetivo General Implementar un software orientado a la web que gestione la aplicación de la técnica de calidad SEIS SIGMA al proceso de desarrollo de software, sobre la plataforma “Java Enterprise Edition 5.0” empleando un framework integrador “JBoss Seam 2.2.0”.
Objetivos Específicos Definir los requerimientos que debe cumplir el software, empleando la Guía de aplicación de la técnica de calidad Seis Sigma al proceso de desarrollo de software. Analizar y Diseñar el software utilizando lenguaje UML. Desarrollar el software, sobre la plataforma Java EE 5.0, y empleando el framework integrador JBoss Seam 2.2.0. Ejecutar pruebas funcionales y correcciones. Implantar el software, instalando las herramientas necesarias para su correcto despliegue, a fin de probar el cumplimiento de todos sus requerimientos.
Metodología Para cubrir todo el ciclo de desarrollo del software se aplicó una metodología ágil denominada ICONIX. ICONIX fue elaborada a partir de una síntesis del Proceso Unificado de los “Three Amigos” (Booch, Rumbaugh y Jacobson). Ofrece el soporte de UML, dirigida por casos de uso como RUP.
Metodología ICONIX se divide en dos flujos de trabajo: Estático y Dinámico.
Metodología • ICONIX de fundamenta en cuatro fases que son: • Análisis de Requerimientos • Análisis y Diseño Preliminar • Diseño Detallado • Implementación
Tecnologías La mayoría de tecnologías son especificaciones de la Plataforma Java EE 5.0 Además se empleó un Framework web de implementación denominado JBoss Seam en su versión 2.2.0
Tecnologías Plataforma Java EE 5.0 Java EE es un entorno de programación, que define un conjunto de especificaciones de APIs Java, para el desarrollo de aplicaciones distribuidas multicapa (3-capas, n-capas) basadas en web, empleando el lenguaje de programación java.
Tecnologías Plataforma Java EE 5.0 Generalmente las aplicaciones Java EE están hechas a base de componentes que se encuentran corriendo en diferentes máquinas.
Tecnologías Especificaciones Java EE 5.0 utilizadas J D B C Java Database Connectivity
Tecnologías Especificaciones Java EE 5.0 utilizadas J P A Java Persistence API
Tecnologías Especificaciones Java EE 5.0 utilizadas J S F JavaServer Faces
Tecnologías • JBoss Seam Framework Seam es un framework open source que reúne los estándares de Java EE para que puedan trabajar como una solución integrada. Integra tecnologías como JavaScript asíncrono y XML (AJAX), JavaServer Faces (JSF), Java Persistence API (JPA)/Hibernate, Enterprise Java Beans (EJB 3.0) y Business Process Management (BPM).
Tecnologías • JBoss Seam Framework Tecnologías que Seam es capaz de reunir en una aplicación típica
Tecnologías • JBoss Seam Framework Framework de Clases de Seam implementadas para JPA
Tecnologías • JBoss Seam Framework • Características principales: • Básicamente Seam facilita que EJB 3.0 y JSF (componentes principales de Java EE) trabajen juntos. • Integración con AJAX, mediante el soporte de tecnologías como ICEfaces o RichFaces. • Elimina el exceso de uso de archivos descriptores XML.
Tecnologías • JBoss Seam Framework • Características principales: • Seam introduce el concepto de contextos (manejo de estados), es así que cada componente seam existe dentro de un contexto.
Tecnologías • JBoss Seam Framework • Características principales: • Seam define un archivo descriptor denominado pages.xml que ofrece una gama mucho amplia de controles de navegación de lo que el archivo faces-config.xml de JSF puede soportar.
Herramientas • Enterprise Architect 7.5
Herramientas • Enterprise Architect 7.5 • Características principales: • EA está basada en la especificación UML 2.1, ofreciendo soporte para diferentes tipos de diagramas de UML como: diagramas estructurales (clase, objeto, compuesto, paquete, componente, y despliegue.), diagramas de comportamiento (casos de uso, comunicación, secuencia, descripción de la interacción, actividad, estado, y tiempo), y diagramas extendidoscomo: análisis (actividad simple), personalizado (para requisitos, cambios, y UI).
Herramientas • Enterprise Architect 7.5 • Características principales: • Permite la generación e ingeniería inversa de código fuente. • Soporte para casos de prueba (JUnit y NUnit). • Control de versiones (empleando CVS o SCC). • Generación de documentación en formatos HTML y RTF.
Herramientas Netbeans 6.7.1
Herramientas • Netbeans 6.7.1 • Características principales: • Es un producto libre y gratuito sin restricciones de uso. • Está escrito en Java, pero puede servir para cualquier otro lenguaje de programación. • Soporta el desarrollo de todos los tipos de aplicaciones Java. • Todas las funciones del IDE son provistas por módulos. Cada módulo provee una función bien definida, tales como el soporte de Java, edición, o soporte para el sistema de control de versiones.
Herramientas Subversion 1.6.6
Herramientas Subversion 1.6.6 • Características principales: • Es un producto libre y de código fuente abierto. • Se utiliza en cualquier lenguaje de Programación y para cualquier tipo de proyecto. • Implementa un sistema de ficheros versionado “virtual” que sigue los cambios sobre árboles de directorios completos a través del tiempo. • Subversion expresa las diferencias del fichero usando un algoritmo de diferenciación binario. • Subversion puede acceder al repositorio a través de redes.
Herramientas MySQL Server 5.1
Herramientas • MySQL Server 5.1 • Características principales: • Es un producto de licencia dual (gratuita y comercial). • El servidor de base de datos MySQL es muy rápido, fiable y fácil de usar. • MySQL Server trabaja en entornos cliente/servidor. • Funciona en diferentes plataformas.
Herramientas JBoss Application Server 5.1.0
Herramientas • JBoss Application Server 5.1.0 • Características principales: • Producto de licencia de código abierto sin costo adicional. • Cumple los estándares. • JBoss implementa todo el paquete de servicios de Java EE (EJB, JMS, JTS/JTA, Servlets/JSP, JNDI).
Desarrollo de la Herramienta El software desarrollado en el presente proyecto de tesis, se fundamenta en una “Guía Básica para la Aplicación de la Técnica de Calidad Seis Sigma al Proceso de Desarrollo de Software”. Esta Guía (elaborada por estudiantes de la ESPE como proyecto de graduación) busca mejorar el nivel de eficiencia en el control de calidad del proceso de desarrollo de software, a través de la aplicación de la técnica de calidad SEIS SIGMA.
Desarrollo de la Herramienta • Seis Sigma Seis Sigma es una metodología de mejora de procesos. Analiza la variabilidad de los procesos utilizando mediciones basadas en datos de productos, procesos y servicios y que es administrada a través de serie de indicadores, consiguiendo reducir o eliminar los defectos o fallas en la entrega de un producto o servicio al cliente. Se apoya en herramientas estadísticas y de análisis y propone el desarrollo de grupos de trabajo dinamizadores, creando una estructura propia de trabajo dentro de la organización de la empresa.
Desarrollo de la Herramienta • Fundamentos de Seis Sigma
Desarrollo de la Herramienta • Modelos Seis Sigma alcanza sus objetivos mediante el uso de dos modelos secundarios:
Desarrollo de la Herramienta • Automatización de la Guía • Por cada fase la guía considera la siguiente estructura: • Objetivo(s) de la fase. • Listado de Actividades de la fase • Contenido de cada actividad: • Tarea(s) • Entregable(s) • Consideraciones Seis Sigma • Formato(s) Tomando en cuenta el modelo DMAIC de Seis Sigma se elaboró la Guía empleada en el presente proyecto.
Desarrollo de la Herramienta • Fases de Desarrollo en base a ICONIX Elaborar Modelo de Dominio inicial Generar listado de requerimientos
Desarrollo de la Herramienta • Fases de Desarrollo en base a ICONIX Crear Prototipos de interfaz de usuario Realizar el Modelo de Casos de Uso
Desarrollo de la Herramienta • Fases de Desarrollo en base a ICONIX Realizar el Diagrama de Paquetes Elaborar las Especificaciones de Casos de uso
Desarrollo de la Herramienta • Fases de Desarrollo en base a ICONIX Reescribir las Especificaciones de casos de uso Crear los Diagramas de Robustez Actualizar el Modelo de Dominio inicial
Desarrollo de la Herramienta • Fases de Desarrollo en base a ICONIX Diseñar la Arquitectura del Software Elaborar los Diagramas de Secuencia Finalizar el Modelo de Dominio – Modelo de Clases
Desarrollo de la Herramienta • Fases de Desarrollo en base a ICONIX Generar proyecto Seam, utilizando seam-generator Crear el Modelo de Datos
Desarrollo de la Herramienta • Fases de Desarrollo en base a ICONIX Codificar a través de Netbeans IDE Desplegar el Software en JBoss (archivo .ear)
Desarrollo de la Herramienta Software en funcionamiento
G R A C I A S Conclusiones Recomendaciones