proyecto

48
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

Upload: giona

Post on 11-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

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: - PowerPoint PPT Presentation

TRANSCRIPT

Diapositiva 1

Proyecto

Implementacin de un software orientado a la web que gestione la aplicacin de la tcnica 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.0Realizado Por: Yacchirema Espn Luis Miguel

Tutores: Ing. Cecilia Hinojosa Directora Ing. Edison Lascano Codirector

AgendaResumenTecnologas, HerramientasMetodologaDesarrollo del SoftwareConclusiones y RecomendacionesResumen 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 Gua Bsica para la Aplicacin de la Tcnica de Calidad Seis Sigma al Proceso de Desarrollo de Software. Este proyecto tambin est enfocado en dar a conocer algunas alternativas de tecnologas 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. Adems, para cubrir todo el ciclo de vida de desarrollo del software, se aplic una metodologa gil denominada ICONIX.

Objetivo GeneralImplementar un software orientado a la web que gestione la aplicacin de la tcnica 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 EspecficosDefinir los requerimientos que debe cumplir el software, empleando la Gua de aplicacin de la tcnica de calidad Seis Sigma al proceso de desarrollo de software.Analizar y Disear 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.

MetodologaPara cubrir todo el ciclo de desarrollo del software se aplic una metodologa gil denominada ICONIX.ICONIX fue elaborada a partir de una sntesis del Proceso Unificado de los Three Amigos (Booch, Rumbaugh y Jacobson).Ofrece el soporte de UML, dirigida por casos de uso como RUP. MetodologaICONIX se divide en dos flujos de trabajo: Esttico y Dinmico.

MetodologaICONIX de fundamenta en cuatro fases que son:

Anlisis de Requerimientos

Anlisis y Diseo Preliminar

Diseo Detallado

ImplementacinMetodologaMETODOLOGA ICONIXFaseActividadTcnica / NotacinEntregable/ArtefactoAnlisis de RequerimientosDefinir requerimientos funcionalesEntrevistas, encuestas, con las personas interesadas en el Proyecto.Documento: Listado de Requerimientos.Modelar el dominioModelo de Dominio.Lenguaje UML.Modelo de Domino Inicial.Modelar los casos de usoPrototipado.Diagrama de casos de uso.Diagrama de paquetes.Lenguaje UML.Prototipo GUI.Diagramas de Casos de Uso.Diagrama de Paquetes.Especificacin de casos de uso (Borrador).Anlisis y Diseo PreliminarRealizar anlisis de robustezDiagrama de robustez.Lenguaje UML.Diagrama de Robustez por cada caso de uso.Especificacin de casos de uso.Modelo de dominio actualizado.Diseo DetalladoAsignar comportamientoDiagrama de secuencia.Lenguaje UML.Diagrama de secuencia por cada caso de uso.Diagrama de Clases. Modelo de Datos.ImplementacinGenerar cdigoUtilizar seam-gen 2.2.0.GA.Cdigo fuente.Realizar pruebas funcionalesInteraccin con usuario final. Software funcionando correctamente.La mayora de tecnologas son especificaciones de la Plataforma Java EE 5.0

Adems se emple un Framework web de implementacin denominado JBoss Seam en su versin 2.2.0TecnologasJava EE es un entorno de programacin, 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 programacin java.TecnologasPlataforma Java EE 5.0Generalmente las aplicaciones Java EE estn hechas a base de componentes que se encuentran corriendo en diferentes mquinas.TecnologasPlataforma Java EE 5.0

TecnologasEspecificaciones Java EE 5.0 utilizadas

J D B C

Java DatabaseConnectivityTecnologasEspecificaciones Java EE 5.0 utilizadasJ P A

Java PersistenceAPI

TecnologasEspecificaciones Java EE 5.0 utilizadasJ S F

JavaServerFaces

Seam es un framework open source que rene los estndares de Java EE para que puedan trabajar como una solucin integrada. Integra tecnologas como JavaScript asncrono y XML (AJAX), JavaServer Faces (JSF), Java Persistence API (JPA)/Hibernate, Enterprise Java Beans (EJB 3.0) y Business Process Management (BPM).

TecnologasJBoss Seam FrameworkTecnologas que Seam es capaz de reunir en una aplicacin tpicaTecnologasJBoss Seam Framework

Framework de Clases de Seam implementadas para JPATecnologasJBoss Seam Framework

Caractersticas principales:

Bsicamente Seam facilita que EJB 3.0 y JSF (componentes principales de Java EE) trabajen juntos.

Integracin con AJAX, mediante el soporte de tecnologas como ICEfaces o RichFaces. Elimina el exceso de uso de archivos descriptores XML.

TecnologasJBoss Seam FrameworkCaractersticas principales:

Seam introduce el concepto de contextos (manejo de estados), es as que cada componente seam existe dentro de un contexto.TecnologasJBoss Seam Framework

Caractersticas principales:

Seam define un archivo descriptor denominado pages.xml que ofrece una gama mucho amplia de controles de navegacin de lo que el archivo faces-config.xml de JSF puede soportar.TecnologasJBoss Seam FrameworkHerramientasEnterprise Architect 7.5

HerramientasEnterprise Architect 7.5

Caractersticas principales:

EA est basada en la especificacin 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, comunicacin, secuencia, descripcin de la interaccin, actividad, estado, y tiempo), y diagramas extendidos como: anlisis (actividad simple), personalizado (para requisitos, cambios, y UI).HerramientasEnterprise Architect 7.5

Caractersticas principales:

Permite la generacin e ingeniera inversa de cdigo fuente.Soporte para casos de prueba (JUnit y NUnit).Control de versiones (empleando CVS o SCC).Generacin de documentacin en formatos HTML y RTF.HerramientasNetbeans 6.7.1

HerramientasNetbeans 6.7.1Caractersticas principales:

Es un producto libre y gratuito sin restricciones de uso.Est escrito en Java, pero puede servir para cualquier otro lenguaje de programacin. Soporta el desarrollo de todos los tipos de aplicaciones Java.Todas las funciones del IDE son provistas por mdulos. Cada mdulo provee una funcin bien definida, tales como el soporte de Java, edicin, o soporte para el sistema de control de versiones.

HerramientasSubversion 1.6.6

HerramientasSubversion 1.6.6Caractersticas principales:

Es un producto libre y de cdigo fuente abierto.Se utiliza en cualquier lenguaje de Programacin y para cualquier tipo de proyecto.Implementa un sistema de ficheros versionado virtual que sigue los cambios sobre rboles de directorios completos a travs del tiempo.Subversion expresa las diferencias del fichero usando un algoritmo de diferenciacin binario.Subversion puede acceder al repositorio a travs de redes.

HerramientasMySQL Server 5.1

HerramientasMySQL Server 5.1Caractersticas principales:

Es un producto de licencia dual (gratuita y comercial).El servidor de base de datos MySQL es muy rpido, fiable y fcil de usar.MySQL Server trabaja en entornos cliente/servidor.Funciona en diferentes plataformas.

HerramientasJBoss Application Server 5.1.0

HerramientasJBoss Application Server 5.1.0Caractersticas principales:

Producto de licencia de cdigo abierto sin costo adicional.Cumple los estndares. JBoss implementa todo el paquete de servicios de Java EE (EJB, JMS, JTS/JTA, Servlets/JSP, JNDI).

El software desarrollado en el presente proyecto de tesis, se fundamenta en una Gua Bsica para la Aplicacin de la Tcnica de Calidad Seis Sigma al Proceso de Desarrollo de Software.

Esta Gua (elaborada por estudiantes de la ESPE como proyecto de graduacin) busca mejorar el nivel de eficiencia en el control de calidad del proceso de desarrollo de software, a travs de la aplicacin de la tcnica de calidad SEIS SIGMA.

Desarrollo de la HerramientaSeis Sigma es una metodologa 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 travs 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 estadsticas y de anlisis y propone el desarrollo de grupos de trabajo dinamizadores, creando una estructura propia de trabajo dentro de la organizacin de la empresa.Seis SigmaDesarrollo de la HerramientaFundamentos de Seis Sigma

Desarrollo de la HerramientaModelosSeis Sigma alcanza sus objetivos mediante el uso de dos modelos secundarios:ModelosFasesDMAIC (Utilizada para mejorar procesos ya existentes)

Define (Definir)Measure (Medir)Analyze (Analizar)Improve (Mejorar)Control (Controlar)DMADV o DFSS(Utilizada en el rediseo de procesos)Define (Definir)Measure (Medir)Analyze (Analizar)Design (Disear)Verify (Verificar)Desarrollo de la HerramientaAutomatizacin de la GuaTomando en cuenta el modelo DMAIC de Seis Sigma se elabor la Gua empleada en el presente proyecto.Desarrollo de la HerramientaPor cada fase la gua 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 HerramientaFase Iniciacin del ProyectoObjetivosActividadesTareasDefinir con claridad el problema.

Definir el alcance del proyecto.

Proponer una solucin.

Determinar los costos y beneficios de la solucin.

Obtener la aprobacin del proyecto.Identificar el problema.Elaborar un RFS (Requerimiento de Servicios IT), que ser usado como notificacin inicial por parte del cliente sobre el sistema requerido.Conformar el equipo de desarrollo.Conformar el equipo de desarrollo de acuerdo a las caractersticas y particularidades de cada proyecto.Identificar requerimientos preliminares.Iniciar el proceso de desarrollo a travs 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 la aprobacin del proyecto.Obtener aprobacin de todos los clientes, departamentos y/o entidades, que tengan relacin directa o indirecta con el nuevo sistema.Desarrollo de la HerramientaFase Anlisis del SistemaObjetivosActividadesTareasCompletar la identificacin de los requerimientos que comenz en la fase de Iniciacin del Proyecto.

Transformar los requerimientos de alto nivel en especificaciones detalladas del sistema.

Crear un diseo conceptual del sistema a travs del estudio de fiabilidad detallado.Entender los procesos actuales.Desarrollar una lnea base con los procesos actuales que permitan justificar el propsito de las mejoras a obtenerse con el sistema.Identificar los requerimientos.Definir requerimientos detallados del sistema.Desarrollar el Criterio de Evaluacin 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 tendrn el mayor impacto sobre los requerimientos prioritarios.Determinar cules de los procesos de mejora propuestos, debern 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 repercusin en el sistema.Completar el desarrollo del diseo conceptual del sistema.Completar el diseo conceptual del nuevo sistema.Completar el documento de especificacin de requerimientos.Agrupar la informacin obtenida en las tareas precedentes bajo una estructura definida, para conformar el documento de referencia final de requerimientos del proyecto.Obtener aprobacinPresentar el documento de especificacin de requerimientos elaborado al cliente para obtener aprobacin.Fases de Desarrollo en base a ICONIXDesarrollo de la Herramienta

Generar listado de requerimientos

Elaborar Modelo de Dominio inicialFases de Desarrollo en base a ICONIXDesarrollo de la HerramientaCrear Prototipos de interfaz de usuario

Realizar el Modelo de Casos de UsoFases de Desarrollo en base a ICONIXDesarrollo de la HerramientaRealizar el Diagrama de PaquetesElaborar las Especificaciones de Casos de uso

Fases de Desarrollo en base a ICONIXDesarrollo de la HerramientaCrear los Diagramas de RobustezActualizar el Modelo de Dominio inicial

Reescribir las Especificaciones de casos de usoFases de Desarrollo en base a ICONIXDesarrollo de la HerramientaDisear la Arquitectura del SoftwareElaborar los Diagramas de Secuencia

Finalizar el Modelo de Dominio Modelo de ClasesFases de Desarrollo en base a ICONIXDesarrollo de la HerramientaCrear el Modelo de DatosGenerar proyecto Seam, utilizando seam-generator

Fases de Desarrollo en base a ICONIXDesarrollo de la HerramientaCodificar a travs de Netbeans IDEDesplegar el Software en JBoss (archivo .ear)

Desarrollo de la Herramienta

Software en funcionamiento47ConclusionesRecomendacionesG R A C I A S 48