Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

Metodologías ágiles.
Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com.
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
MARCO METODOLOGICO.
Rational Unified Process (RUP)
¿Qué es RUP? RUP es un proceso de desarrollo de software: Objetivos:
Proceso de Originación de Crédito: Banco de los Alpes
Modelos de Proceso del Software
Ingeniería del Software
Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Tomado de:
Análisis y Diseño Orientado a Objetos utilizando UML
SIC Ingenieros, es una marca resgistrada © 2006 SIC Ingenieros. Esta presentación es privada para el cliente. No puede ser copiada ni usada sin el permiso.
Reunión NAME Valencia, 4 de Octubre de Quienes somos ? Tissat es una empresa de Consultoría Tecnológica Diversas áreas de actuación: Comunidades.
Propuesta de una metodología para el desarrollo de proyectos informáticos empleando la herramienta para el diseño automatizado GeneXus Autor: Dipl.-Ing.
Ingeniería de Software Orientado a Objetos
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Rational Unified Process (RUP)
Ciclo de Vida del Software Paradigmas de Desarrollo
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
1 Diseño Orientado a Objetos Agustín J. González ELO-329: Diseño y Programación Orientados a Objetos 1er. Sem
Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingeniería del Software
Rational Unified Process (RUP)
Ingeniería de Software: Parte 2 Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
VII Congreso de Expotecnología UVM 2007 Jonás A. Montilva C.
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 de Software
Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
1 Diseño Orientado al Objeto Agustín J. González ELO-326: Seminario de Computadores II 2do. Sem
Ingeniería de Software
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.
Ingeniería de Software I
Proyecto de Ingeniería de Software Grupo Nº 9 - GXPost (Desarrollo con GeneXus 8.0) Evaluación de la Fase Construcción (Jueves 4 de Noviembre de.
Alexander Aristizabal Ángelo flores herrera
METODOLOGÍAS DE DESARROLLO DE SOFTWARE MODERNAS
Roles de Open UP.
UML.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Relación con otras asignaturas del plan de estudio
Introducción al proceso de verificación y validación.
Actividades en el Proceso de desarrollo de Software
Modelo Prescriptivos de proceso
Estructurar tus ideas para hacerlas realidad
Motivación ELO329: Diseño y programación orientados a objetos Agustín J. González 1s08.
 Requisitos Capturar, definir y validar los casos de uso Realizar los casos de uso Verificar que se satisfacen los casos.
Proceso de desarrollo de Software
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.
UTFSM - Departamento de Electrónica1 Noviembre de 2003 “Beneficios del Uso de Metodologías en el Desarrollo de Proyectos”
Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Software de Comunicaciones
Modelo de procesos de software
ELO-329: Diseño y Programación Orientados a Objetos1 Proceso de Desarrollo de SW Agustín J. González ElO329: Diseño y Programación Orientados a Objeto.
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
1 Tema 2: Introducción al proceso unificado de desarrollo de software.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Entregables del Proyecto
Flujos de Trabajo Fundamentales Proceso Unificado de Desarrollo de Software.
Fase de Inicio Proceso Unificado de Desarrollo de Software.
Ingeniería de Software: Metodologías
Ingeniería de Software: Metodologías
Ingeniería de Software: Metodologías
Ingeniería de Software: Metodologías
Transcripción de la presentación:

Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: entre otras fuentes.

The Agile Manifesto “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over Processes and tools Working software over Comprehensive documentation Customer collaboration over Contract negotiation Responding to change over Following a plan That is, while there is value in the items on the right, we value the items on the left more.”

Algunas Metodologías... Personal Software Process y Team software Process XP (Programación Extrema)‏ SCRUM Rational Unified Process (RUP)‏

Elo329: Diseño y Programación Orientados a Objetos 4 Proceso de Desarrollo Iterativo e Incremental

Elo329: Diseño y Programación Orientados a Objetos 5 Recordar el ciclo de vida de un proyecto de software SueñoLanzamientoInvestigaciónDesarrolloSoporte Tiempo Parte a ser considerada en adelante

Elo329: Diseño y Programación Orientados a Objetos 6 Desarrollo Iterativo e Incremental Esta idea es la base de varios métodos de desarrollo de software como RUP (Rational Unified Proecess), Extreme Programming y otros métodos de desarrollo ágiles. La idea básica es desarrollar el sistema siguiendo etapas incrementales caracterizadas por generación de sucesivas versiones que van abarcando requerimientos hasta completar el sistema. Cada versión tiene sentido para el cliente.

Elo329: Diseño y Programación Orientados a Objetos 7 Principales metodologías en el tiempo Tiempo t Iteración 1Iteración 2Iteración 3 P C A&D R P C R P C R Modelo Iterativo Incremental 1990 Tiempo Inicialmente se usó el Modelo Tradicional de Cascada 1980 Definición de Requerimientos Análisis & Diseño Implementación y Test Unitarios Construcción/Pruebas t Integración y test del sistema Operación y mantención

Elo329: Diseño y Programación Orientados a Objetos 8 Desarrollo Iterativo e Incremental Iterativo: cada vez re-visitamos las etapas del modelo en cascada, rehacemos, refinamos y extendemos lo hecho. Incremental: regularmente integramos los avances para generar una versión con sentido para el cliente.

Elo329: Diseño y Programación Orientados a Objetos 9 Desarrollo Iterativo e incremental: RUP es uno de ellos, sus Características Guiado y Manejado por Casos de Uso Centrado en la Arquitectura Iterativo e Incremental Desarrollo Basado en Componentes Utilización de UML Proceso Integrado

Tiempo RUP Define Fases de Desarrollo... Esfuerzo Necesario por Actividad TransiciónElaboraciónConstrucciónConcepción Iteración Preliminar.... Iteración 1 Iteración Iteración n Iteración n+1 Análisis & Diseño Construcción Pruebas Distribución Requerimientos Áreas de trabajo (Workflow)‏ A & D C P D R C P D R C P D R C P D R

Elo329: Diseño y Programación Orientados a Objetos 11 Fases del Proceso del Desarrollo También llamado ciclo de vida, consiste en una serie de fases que en su conjunto conducen al sistema final. Cada fase está compuesta por un número de iteraciones que generan versiones del sistema. Las fases son 4: Concepción, Inicio o Estudio de oportunidad Elaboración Construcción Transición

Elo329: Diseño y Programación Orientados a Objetos 12...Fases del Proceso de Desarrollo Inicio o Estudio de oportunidad (inception)‏ Define el ámbito y objetivos del proyecto Se define la funcionalidad y capacidades del producto Elaboración Tanto la funcionalidad como el dominio del problema se estudian en profundidad Se define una arquitectura básica Se planifica el proyecto considerando recursos disponibles

Elo329: Diseño y Programación Orientados a Objetos 13...Fases del Ciclo de Desarrollo Construcción El producto se desarrolla a través de iteraciones donde cada iteración involucra tareas de análisis, diseño e implementación Las fases de estudio y análisis sólo dieron una arquitectura básica que es aquí refinada de manera incremental conforme se construye (se permiten cambios en la estructura)‏ Gran parte del trabajo es programación y pruebas Se documenta tanto el sistema construido como el manejo del mismo Esta fase proporciona un producto construido junto con la documentación

Elo329: Diseño y Programación Orientados a Objetos 14...Fases del Proceso de Desarrollo Transición Se libera el producto y se entrega al usuario para un uso real Se incluyen tareas de marketing, empaquetado atractivo, instalación, configuración, entrenamiento, soporte, mantenimiento, etc. Los manuales de usuario se completan y refinan con la información anterior Estas tareas se realizan también en iteraciones

Elo329: Diseño y Programación Orientados a Objetos 15 El proceso de desarrollo iterativo se basa en la evolución de prototipos ejecutables que se muestran a los usuarios y clientes En el proceso de desarrollo iterativo, en cada iteración se reproduce el ciclo de vida en cascada a menor escala Los objetivos de una iteración se establecen en función de la evaluación de las iteraciones precedentes Proceso Iterativo e Incremental

Elo329: Diseño y Programación Orientados a Objetos 16 Requerimientos Análisis Diseño Codific. Pruebas e Integración n veces... Proceso Iterativo e Incremental Las actividades se encadenan en una mini- cascada con un alcance limitado por los objetivos de la iteración

Elo329: Diseño y Programación Orientados a Objetos Proceso Iterativo e Incremental Cada iteración comprende: Planificar la iteración (estudio de riesgos)‏ Análisis de los Casos de Uso y escenarios Diseño de opciones arquitectónicas Codificación y pruebas. La integración del nuevo código con el hecho en iteraciones anteriores se hace gradualmente durante la construcción Evaluación de la entrega de ejecutable (evaluación del prototipo en función de las pruebas y de los criterios definidos)‏ Preparación de la entrega (documentación e instalación del prototipo)‏

Elo329: Diseño y Programación Orientados a Objetos 18 ConcepciónElaboraciónConstrucciónTransición Compromiso de recursos para fase elaboración Hito Objetivos, visión Hito Arquitectura Hito Capacidad Operacional Aceptación del cliente Liberación Producto Tiempo Importancia de los Hitos en RUP...

Elo329: Diseño y Programación Orientados a Objetos Elementos en RUP Artefactos Son los Resultados Parciales o Finales generados o usados durante el proyecto. Son las entradas y salidas de las actividades Un artefacto puede ser un documento, un modelo o un elemento de modelo Arquitectura La arquitectura de un sistema es la organización o estructura de sus partes más relevantes

Elo329: Diseño y Programación Orientados a Objetos 20 Características Esenciales de RUP Proceso Iterativo e Incremental Proceso Dirigido por los Casos de Uso Proceso Centrado en la Arquitectura

Elo329: Diseño y Programación Orientados a Objetos 21 ¿Cómo levantar los requerimientos de un sistema? ==> Casos de usos

Elo329: Diseño y Programación Orientados a Objetos 22 Casos de uso: Idea general Un caso de uso es una colección de escenarios de éxito y fallas relacionadas que describen actores usando el sistema para alcanzar algún objetivo. Un escenario es una secuencia específica de acciones e interacciones entre actores y el sistema bajo discusión. Un actor es algo externo al sistema en discusión que interactúa con éste. Por ejemplo: Una persona, otro sistema computacional, un sensor, etc. Los casos de uso muestran el comportamiento observable del sistema.

Elo329: Diseño y Programación Orientados a Objetos 23 Otra visión similar con más Actividades

Elo329: Diseño y Programación Orientados a Objetos 24 Otra visión similar con más Actividades Disciplinas o áreas de trabajo Modelado del Negocio Requisitos Análisis y Diseño Implementación Pruebas Distribución Entorno Gestión de configuración y cambios Gestión del proyecto Primarios De Apoyo

Elo329: Diseño y Programación Orientados a Objetos 25 Requisitos Capturar, definir y validar los casos de uso Realizar los casos de uso Verificar que los casos de uso se satisfacen Análisis & Diseño Implementación Pruebas Casos de Uso integran el trabajo Proceso dirigido por los Casos de Uso

Elo329: Diseño y Programación Orientados a Objetos 26 Caso de Uso Realización de Análisis Realización de Diseño Caso de Prueba X Pruebas Funcionales Pruebas Unitarias [The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]... Proceso dirigido por los Casos de Uso

Elo329: Diseño y Programación Orientados a Objetos 27 15% 10% 15% 30% 15% Preliminary Iteration(s)‏ iter. #1 iter. #2 iter. #n iter. #n+1 iter. #n+2 iter. #m iter. #m+1 Una iteración en la fase de elaboración Requisitos Diseño Implementación Pruebas Análisis Esfuerzo respecto de las Áreas de Trabajo (Workflows)‏ Concepción Elaboración ConstrucciónTransición 15% Gestión

Elo329: Diseño y Programación Orientados a Objetos 28 Preliminary Iteration(s)‏ iter. #1 iter. #2 iter. #n iter. #n+1 iter. #n+2 iter. #m iter. #m+1 Una iteración en la fase de elaboración Requisitos Diseño Implementación Pruebas Análisis Esfuerzo: 5%20% 65% 10% Duración: 10%30% 50% 10%...Esfuerzo respecto de las Fases Concepción Elaboración ConstrucciónTransición

Elo329: Diseño y Programación Orientados a Objetos 29 Lección importante El tiempo es independiente del contexto. Ahorrar una semana la comienzo de un proyecto es tan bueno como ahorrarla al final. Una semana es una semana. Es mucho más fácil ahorrar tiempo al inicio del proyecto (cuando los “entregables” son menos claros). Conclusión: ¿Cómo usted aplica esto al proyecto del ramo?