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,

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

Desarrollo de aplicaciones en n- capas
Metodologías ágiles.
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ANÁLISIS DE REQUERIMIENTOS
Presentación de la Plataforma de Gestión de la Excelencia
DIRECTOR: ING. DIEGO MARCILLO CODIRECTOR: ING. JAIME ANDRANGO
UNIVERSIDAD TECNOLÓGICA ISRAEL CARRERA DE SISTEMAS INFORMÁTICOS
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
MI PROGRAMA DE FORMACION
PROYECTO DE GRADO ANÁLISIS, DISEÑO, DESARROLLO E IMPLEMENTACIÓN DE UN SISTEMA WEB PARA EL CONTROL DE UN TALLER TÉCNICO AUTOMOTRIZ EN PLATAFORMA PHP –
Felipe Donoso Natalia Sandoval
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
ACIS Desarrollar proyectos de software y “evitar” el fracaso ?
Java 2 Platform Enterprise Edition
Ingeniería del Software
FRANKLIN PORTUGAL TARIFA GERENCIA DE PROCESOS
ANÁLISIS, DESARROLLO E IMPLANTACIÓN DE UN SISTEMA ORIENTADO A LA WEB PARA GESTIÓN ACADÉMICA. CASO PRÁCTICO: JOHN OSTEEN CHRISTIAN ACADEMY Elaborado por.
Erique Gaspar, Carlos Alfredo
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Trabajo Práctico Taller de Desarrollo de Proyectos 2 Septiembre 2009.
UNIVERSIDAD DE LA FF. AA. ESPE CARRERA DE INGENIERIA DE SISTEMAS PROYECTO DE TESIS : “Análisis, diseño, construcción e implementación de una Guía Interactiva.
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Propósito: * Mostrar indicativos porcentuales de los diversos microorganismos con los que se alimentan el camarón en un manejo semi-intensivo aplicado.
Ingeniería de Software Orientado a Objetos
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
ESCUELA POLITÉCNICA DEL EJÉRCITO
1 Diseño Orientado a Objetos Agustín J. González ELO-329: Diseño y Programación Orientados a Objetos 1er. Sem
Metodología para el desarrollo de Software educativo POO
Proyecto de Ingeniería de Software Grupo 9 Septiembre 2009
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Ximena Romano – Doris Correa
INGENIERÍA EN SISTEMAS E INFORMÁTICA
Importancia en la efectividad del:
Diseño de Software y su Proceso
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
TEMA: DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL DE USO Y EL MANTENIMIENTO DE VEHÍCULOS DE UNA INSTITUCIÓN PÚBLICA AUTOR: EDISON GUAMAN   DIRECTOR:
Aspectos Tecnológicos Plataforma e-Muni Luis M. Guzmán S. Jefe de Tecnología MuNet e-Gobierno.
INTRODUCCIÓN AL PROCESO UNIFICADO DE DESARROLLO DESOFTWARE
El rol de SQA en PIS.
Dominios de control para la información y tecnologías (cobit) Pamela Pacheco Aviles.
Introducción a UML Departamento de Informática Universidad de Rancagua
Roles de Open UP.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Introducción al proceso de verificación y validación.
Actividades en el Proceso de desarrollo de Software
Estructurar tus ideas para hacerlas realidad
FACULTAD DE CIENCIAS COMPUTACIONALES Y TELECOMUNICACIONES ASIGNATURA:
CONCEPTO DE CICLO DE VIDA 1 En los departamentos de Sistemas se debe definir un marco de referencia común que debe ser:  Pueda ser empleado por todos.
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
Evolución y comportamiento del Sector TICs Praxis & Technology Group PraTech METODOLOGÍA DE CALIDAD.
EI, Profesor Ramón Castro Liceaga IV. AREAS DE EVALUACIÓN DE LA AUDITORIA EN INFORMÁTICA. UNIVERSIDAD LATINA (UNILA)
UNIVERSIDAD LATINA (UNILA)
Autor: Reinozo Cuesta Christian Marcelo
Integrantes Miguel Betancourt Alexis Tacuri.  Activiti es una plataforma para la formación de flujos de trabajo y procesos empresariales dentro del.
Modelo de procesos de software
Autores: Myriam Montes, Iván Viera, Carlos Caizaguano, José Sancho
1 Tema 2: Introducción al proceso unificado de desarrollo de software.
Verificación y Validación del Software
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
Sistemas de calidad en el desarrollo de software.
Entregables del Proyecto
Universidad Nacional de Ingeniería Comprendiendo los Fundamentos de
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
Fase de Inicio Proceso Unificado de Desarrollo de Software.
Transcripción de la presentación:

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

Agenda Resumen 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

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 2.2.0.GA. Código fuente. Realizar pruebas funcionales Interacción con usuario final. Software funcionando correctamente.

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

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

Especificaciones Java EE 5.0 utilizadas 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 extendidos como: 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.

JBoss Application Server 5.1.0 Herramientas JBoss Application Server 5.1.0

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

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)

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.

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.

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 Crear el Modelo de Datos Generar proyecto Seam, utilizando seam-generator

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