Ingeniería de Software: Metodologías

Slides:



Advertisements
Presentaciones similares
Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Tomado de:
Advertisements

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.
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)
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)
Ingeniería de Software: Parte 2 Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingeniería de Software
Ingeniería de Software
NOTA: Para cambiar la imagen de esta dispositiva, seleccione la imagen y elimínela. A continuación haga clic en el icono Imágenes en el marcador de posición.
El Proceso Unificado Un framework para desarrollar sistemas con UML.
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Técnicas de Estimación. La estimación de lo que costara el desarrollo del software es una actividad importante, ya que una característica que debe tener.
RUP Vs. XP Sandra Lorena Anaya. Introducción ● Calidad del SW ● Transparencia y control sobre el proceso ● Producir lo esperado en el tiempo esperado.
NUCLEO 2: METODOLOGÍAS DE DESARROLLO DE SOFTWARE 1. Introducción y Conceptos generales 2. Visión histórica del desarrollo de metodologías 3. Características.
MODELO ADDIE Módulo 2. 1.Fundamentos teóricos ADDIE Análisis Diseño Desarrollo Implementación Evaluación Prototipación rápida 2.Actividad de clase.
Fases de la Gestión de Proyectos Existen diversos enfoques de la gestión de actividades del proyecto, incluyendo: agilidad, enfoque interactivo, incremental.
CAPACITACIÓN METODOLOGÍA. Objetivos Capacitación Básica.
wShifts – Gestión de Turnos de Trabajo
METODOLOGIA DE TRABAJO
El proceso unificado de desarrollo de software
Ingeniería de Software: Metodologías
Conferencia # 3 Ingeniería de Software II
Alcance Visión general
Grupo del Proceso de Cierre
1  Introducción a Rational Unified Process (RUP) Profesor Abraham Oliver Jara Miranda – JornSoft S.A.
Tema 4: Ingeniería del Software
Proceso para el desarrollo de software
Ingeniería de Software: Metodologías
Proyecto de Software. t07
Proyecto de Software. Clase 06
Proceso de Desarrollo de SW
Aplicación Distribuida sobre Arquitectura Multi Capas, caso práctico Módulo Evaluación de RR.HH basado en Competencias ESPE Guillermo Narváez V.
Ingeniería de Software: Metodologías
Ingeniería de Software
Método Blue Watch Universidad Alejandro de Humboldt
Las herramientas Case Julian madrigal.
Diagramas del modelo uml
METODOLOGIAS PARA EL DESARROLLO DE SISTEMAS DE INFORMACION
Especificación de requerimientos por: Sonia Cristina Gamboa Sarmiento
Proceso Unificado de Desarrollo de Software
«CUADROS SINOPTICOS DE LAS FASES DEL MODELO DEL CICLO DE VIDA.»
Proceso de Desarrollo de SW
Definir el alcance geográfico de gestión (Área de Estudio)
MODELO ADDIE. MODELO ADDIE El modelo ADDIE es un proceso de diseño Instruccional interactivo, en donde los resultados de la evaluación formativa de.
Metodologías de Desarrollo de Software RUP – Proceso Racional Unificado Gilber BASILIO ROBLES I.E.S.T.P. “DANIEL ALCIDES CARRIÓN” Taller de Modelamiento.
“El Proceso de Ingeniería Web”
PROCESO UNIFICADO DE DESARROLLO R.U.P.
Equipo 2 Arellano Catalán Marco A. Damián Contreras Ma. Guadalupe
Modelo de la cascada (cont.)
Desarrollo de sitios web
Tema 2 Sistemas de información y la organización
Rational Unified Process (RUP)
C.R.M. Comercial.
1 Taller de Proyecto Tema 1. Metodología de desarrollo de software Rational Unified Process –RUP [1,2] Prof. Nora La Serna © Prof. Nora La Serna.
Kick Off del Proyecto Fecha:
INGENIERIA DE SOFTWARE
Metodologías de Desarrollo Web
UTFSM - Departamento de Electrónica1 Noviembre de 2003 “Beneficios del Uso de Metodologías en el Desarrollo de Proyectos” Trabajo de título presentado.
METODOLOGÍAS ÁGILES Por metodologías ágiles entendemos a aquellas metodologías de gestión que permiten adaptar la forma de trabajo al contexto y naturaleza.
Essential Unified Process
1 Introducción al proceso unificado de desarrollo de software.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
LA INTEGRACIÓN SEGMENTADA COMO METODOLOGÍA DE DESARROLLO PARA UNA GERENCIA DE SISTEMAS DE INFORMACIÓN EFECTIVOS 05/08/2019.
Ingeniería de Software: Metodologías
UTFSM - Departamento de Electrónica1 Noviembre de 2003 “Beneficios del Uso de Metodologías en el Desarrollo de Proyectos” Trabajo de título presentado.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
Canvas de diseño Aprendizaje orientado a proyectos
Gestión de Proyectos Informáticos (GPI) ISW
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: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ 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)‏

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

Recordar el ciclo de vida de un proyecto de software Sueño Lanzamiento Investigación Desarrollo Soporte Tiempo Parte a ser considerada en adelante Elo329: Diseño y Programación Orientados a Objetos

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

Principales metodologías en el 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 Modelo Iterativo Incremental 1990 Iteración 1 Iteración 2 Iteración 3 R R R A&D A&D A&D C C C P P P t Tiempo Elo329: Diseño y Programación Orientados a Objetos

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

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 Elo329: Diseño y Programación Orientados a Objetos

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

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

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

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

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

Proceso Iterativo e Incremental 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 El proceso propuesto tiene mucho en común con el modelo de proceso propuesto por Barry Bohem en 1988: “El modelo espiral”. Los cuadrantes de la espiral son: Determinar objetivos, alternativas y restricciones Evaluar alternativas, identificar y resolver riesgos, construir proptotipos Desarrollo y verificación del producto Planificación de las siguientes fases Elo329: Diseño y Programación Orientados a Objetos

... Proceso Iterativo e Incremental Las actividades se encadenan en una mini- cascada con un alcance limitado por los objetivos de la iteración Requerimientos Análisis Diseño Codific. Pruebas e Integración n veces 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

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

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

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

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

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

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

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

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

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

Esfuerzo respecto de las Áreas de Trabajo (Workflows)‏ Concepción Elaboración Construcción Transición 15% Requisitos Una iteración en la fase de elaboración 10% Análisis 15% Diseño 30% Implementación 15% Pruebas 15% P r e l i m n a y I t o ( s )‏ i t e r . # 1 i t e r . # 2 i t e r . # n i t e r . # n + 1 i t e r . # n + 2 i t e r . # m i t e r . # m + 1 Gestión Elo329: Diseño y Programación Orientados a Objetos

...Esfuerzo respecto de las Fases Concepción Elaboración Construcción Transición Requisitos Una iteración en la fase de elaboración Análisis Diseño Implementación Pruebas P r e l i m n a y I t o ( s )‏ i t e r . # 1 i t e r . # 2 i t e r . # n i t e r . # n + 1 i t e r . # n + 2 i t e r . # m i t e r . # m + 1 Esfuerzo: 5% 20% 65% 10% Duración: 10% 30% 50% 10% Elo329: Diseño y Programación Orientados a Objetos

Elo329: Diseño y Programación Orientados a Objetos 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? Elo329: Diseño y Programación Orientados a Objetos