La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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,

Presentaciones similares


Presentación del tema: "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,"— Transcripción de la presentación:

1 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

2 Agenda Resumen Metodología Tecnologías, Herramientas
Desarrollo del Software Conclusiones y Recomendaciones

3 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.

4 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”.

5 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 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.

6 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.

7 Metodología ICONIX se divide en dos flujos de trabajo: Estático y Dinámico.

8 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

9 Metodología METODOLOGÍA ICONIX Fase Actividad Técnica / Notación
Entregable/Artefacto Análisis de Requerimientos Definir requerimientos funcionales Entrevistas, encuestas, con las personas interesadas en el Proyecto. Documento: Listado de Requerimientos. Modelar el dominio Modelo de Dominio. Lenguaje UML. Modelo de Domino Inicial. Modelar los casos de uso Prototipado. Diagrama de casos de uso. Diagrama de paquetes. Prototipo GUI. Diagramas de Casos de Uso. Diagrama de Paquetes. Especificación de casos de uso (Borrador). Análisis y Diseño Preliminar Realizar análisis de robustez Diagrama de robustez. Diagrama de Robustez por cada caso de uso. Especificación de casos de uso. Modelo de dominio actualizado. Diseño Detallado Asignar comportamiento Diagrama de secuencia. Diagrama de secuencia por cada caso de uso. Diagrama de Clases. Modelo de Datos. Implementación Generar código Utilizar seam-gen GA. Código fuente. Realizar pruebas funcionales Interacción con usuario final. Software funcionando correctamente.

10 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

11 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.

12 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.

13 Tecnologías Especificaciones Java EE 5.0 utilizadas
J D B C Java Database Connectivity

14 Especificaciones Java EE 5.0 utilizadas J P A Java Persistence API
Tecnologías Especificaciones Java EE 5.0 utilizadas J P A Java Persistence API

15 Especificaciones Java EE 5.0 utilizadas
Tecnologías Especificaciones Java EE 5.0 utilizadas J S F JavaServer Faces

16 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).

17 Tecnologías JBoss Seam Framework
Tecnologías que Seam es capaz de reunir en una aplicación típica

18 Tecnologías JBoss Seam Framework
Framework de Clases de Seam implementadas para JPA

19 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.

20 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.

21 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.

22 Herramientas Enterprise Architect 7.5

23 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 extendidos como: análisis (actividad simple), personalizado (para requisitos, cambios, y UI).

24 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.

25 Herramientas Netbeans 6.7.1

26 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.

27 Herramientas Subversion 1.6.6

28 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.

29 Herramientas MySQL Server 5.1

30 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.

31 JBoss Application Server 5.1.0
Herramientas JBoss Application Server 5.1.0

32 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).

33 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.

34 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.

35 Desarrollo de la Herramienta Fundamentos de Seis Sigma

36 Desarrollo de la Herramienta
Modelos Seis Sigma alcanza sus objetivos mediante el uso de dos modelos secundarios: Modelos Fases DMAIC (Utilizada para mejorar procesos ya existentes) Define (Definir) Measure (Medir) Analyze (Analizar) Improve (Mejorar) Control (Controlar) DMADV o DFSS (Utilizada en el rediseño de procesos) Design (Diseñar) Verify (Verificar)

37 Desarrollo de la Herramienta Automatización de la Guía
Tomando en cuenta el modelo DMAIC de Seis Sigma se elaboró la Guía empleada en el presente proyecto. Guía Fases de Desarrollo Iniciación del Proyecto Análisis del Sistema Diseño del Sistema Construcción Evaluación y Aseguramiento de Calidad Implementación 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)

38 Desarrollo de la Herramienta Fase – Iniciación del Proyecto
Objetivos Actividades Tareas Definir con claridad el problema. Definir el alcance del proyecto. Proponer una solución. Determinar los costos y beneficios de la solución. Obtener la aprobación del proyecto. Identificar el problema. Elaborar un RFS (Requerimiento de Servicios IT), que será usado como notificación inicial por parte del cliente sobre el sistema requerido. Conformar el equipo de desarrollo. Conformar el equipo de desarrollo de acuerdo a las características y particularidades de cada proyecto. Identificar requerimientos preliminares. Iniciar el proceso de desarrollo a través del mapa de procesos. Desarrollar un bosquejo inicial de proyecto. Definir las metas del proyecto. Identificar los clientes. Identificar salidas claves. Documentar los procesos actuales. Definir los requerimientos de alto nivel. Validar los requerimientos. Validar los requerimientos de alto nivel previamente obtenidos. Desarrollar un estudio de fiabilidad. Estructurar un estudio de fiabilidad para el proyecto. Obtener aprobación de todos los clientes, departamentos y/o entidades, que tengan relación directa o indirecta con el nuevo sistema.

39 Desarrollo de la Herramienta Fase – Análisis del Sistema
Objetivos Actividades Tareas Completar la identificación de los requerimientos que comenzó en la fase de Iniciación del Proyecto. Transformar los requerimientos de alto nivel en especificaciones detalladas del sistema. Crear un diseño conceptual del sistema a través del estudio de fiabilidad detallado. Entender los procesos actuales. Desarrollar una línea base con los procesos actuales que permitan justificar el propósito de las mejoras a obtenerse con el sistema. Identificar los requerimientos. Definir requerimientos detallados del sistema. Desarrollar el Criterio de Evaluación de Requerimientos. Priorizar los requerimientos. Priorizar los requerimientos detallados conjuntamente con el cliente. Identificar mejoras potenciales en los procesos. Identificar soluciones potenciales para los requerimientos detallados, catalogados como prioritarios. Determinar las mejoras que tendrán el mayor impacto sobre los requerimientos prioritarios. Determinar cuáles de los procesos de mejora propuestos, deberán ser implantados en el sistema para asegurar el mayor impacto sobre los requerimientos prioritarios. Crear un mapa de estado detallado. Generar un mapa funcional de procesos detallado (de estados) sobre los requerimientos prioritarios. Evaluar el impacto y riesgos de las propuestas de mejora de los procesos. Evaluar el impacto y los riesgos sobre las mejoras de procesos propuestas, y su repercusión en el sistema. Completar el desarrollo del diseño conceptual del sistema. Completar el diseño conceptual del nuevo sistema. Completar el documento de especificación de requerimientos. Agrupar la información obtenida en las tareas precedentes bajo una estructura definida, para conformar el documento de referencia final de requerimientos del proyecto. Obtener aprobación Presentar el documento de especificación de requerimientos elaborado al cliente para obtener aprobación.

40 Desarrollo de la Herramienta
Fases de Desarrollo en base a ICONIX Elaborar Modelo de Dominio inicial Generar listado de requerimientos

41 Desarrollo de la Herramienta
Fases de Desarrollo en base a ICONIX Crear Prototipos de interfaz de usuario Realizar el Modelo de Casos de Uso

42 Desarrollo de la Herramienta
Fases de Desarrollo en base a ICONIX Realizar el Diagrama de Paquetes Elaborar las Especificaciones de Casos de uso

43 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

44 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

45 Desarrollo de la Herramienta
Fases de Desarrollo en base a ICONIX Crear el Modelo de Datos Generar proyecto Seam, utilizando seam-generator

46 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)

47 Desarrollo de la Herramienta Software en funcionamiento

48 G R A C I A S Conclusiones Recomendaciones


Descargar ppt "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,"

Presentaciones similares


Anuncios Google