Ingeniería de Software: Metodologías

Slides:



Advertisements
Presentaciones similares
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Advertisements

CARRERA ING.DE SISTEMAS INTEGRANTE: DANIEL SORIA MURILLO DOCENTE: ING. ERVIN FLORES MATERIA: INGENIERIA DE SOFTWARE GESTION 2009.
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
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
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.
Clase 09.  Garantizar la calidad de software  La prueba nunca termina, del IS translada se translada al usuario  Las casas de software invierte del.
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Sistemas de Información Enfoques para la Construcción de los Sistemas de Información MBA Luis Elissondo.
METODOLOGIA AGIL ASD (DESARROLLO DE SOFTWARE ADAPTABLE) ESTUDIANTE: MARITZA HUARACHI MATERIA: INGENIERIA DE SOFTWARE DOCENTE: Lic. ERVIN FLORES JULIO-2009.
RUP Vs. XP Sandra Lorena Anaya. Introducción ● Calidad del SW ● Transparencia y control sobre el proceso ● Producir lo esperado en el tiempo esperado.
Lcdo. Eddy Cortez Sistemas II. Ingeniería de Requisitos.
Marlon Martínez Sernaque CIP Importancia del Uso de Metodologías en el Desarrollo de Software.
Los requisitos para una planificación eficaz ya que es la tarea más importante en cuanto condiciona el hacer y el actuar. Los objetivos deben ser alcanzables.
Metodología de Implementación de Sistemas ERP
Ingeniería de Software: Metodologías
Proceso de desarrollo de sistemas de información.
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Gestión de Proyectos.
Gestión de Proyectos Ágiles
1  Introducción a Rational Unified Process (RUP) Profesor Abraham Oliver Jara Miranda – JornSoft S.A.
Ingeniería de Software
SWEBOK.
Metodología de Sistemas Unidad IV: MÉTODOS ÁGILES
CICLO DE VIDA DEL SOFTWARE
Ingeniería de Software: Metodologías
Proceso de Desarrollo de SW
INGENIERÍA DE SOFTWARE CICLOS DE VIDA Y METODOLOGIAS
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
Ingeniería de Software: Metodologías
Ingeniería de Software: Metodologías
CICLO DE VIDA DEL SOFTWARE
Fundamentos de Ingeniería de Software MODELO DE CASOS DE USO
Ciclo de Vida del Software
Ingeniería del Software
Proceso Unificado de Desarrollo de Software
GRUPO ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION SENA EXPOSICION MEMORIA RAM INTEGRANTES STEVEN PALOMA ALEJANDRO BERNAL TATIANA RODRÍGUEZ.
Factores que restringen el éxito de un proyecto.
Ciclo de Vida del Software
Proceso de Desarrollo de SW
MF. MARGARITA VALLE LEÓN
Ciclo de vida del Software
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.
ANALISIS DE SISTEMAS ANALISIS ORIENTADO A OBJETOS.
Introducción al Proceso de Desarrollo de Software Patricio Letelier Departamento de Sistemas Informáticos y Computación Universidad.
METODOLOGIAS AGILES VS TRADICIONALES SCRUM - RUP FABIO ARNOBY BEJARANO Q. UNIREMINGTON BUGA (V) INGENIERIA DE SOFTWARE II SEPTIEMBRE 2018.
CICLO DE VIDA DE SOFTWARE
Es el proceso de subdividir los entregables y el trabajo del proyecto en componentes más pequeños y más fáciles de manejar Se puede dar una visión estructurada.
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.
Tema: Administración de la configuración de software UNIVERSIDAD TECNOLÓGICA ISRAEL CALIDAD DE SOFTWARE.
METODOLOGIA AGIL XP LIC. ROXANA LAUREL R.. INTRODUCCION  Proceso : conjunto de actividades ordenadas para lograr una serie de objetivos  Proceso Pesado.
Metodología de Desarrollo de Sistemas II Ingeniería de Software  DEFINICIÓN La ingeniería del software es el establecimiento y uso de principios de.
UTFSM - Departamento de Electrónica1 Noviembre de 2003 “Beneficios del Uso de Metodologías en el Desarrollo de Proyectos” Trabajo de título presentado.
Essential Unified Process
1 Introducción al proceso unificado de desarrollo de software.
INTEGRACIÓN DE SISTEMAS DE GESTIÓN MTO. LUIS EDUARDO ROCHA MAGAÑA Integración de Sistemas de Gestión.
1 SISTEMAS II CICLO DE VIDA. 2 Sistemas II. CICLO DE VIDA DE Los Sistemas de Información “ Es un proceso por el cual los analistas de sistemas, los ingenieros.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
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.
PRUEBAS DE CAJA NEGRA. -Internationa Software Testing Qualification Board (ISTQB) Internationa Software Testing Qualification Board (ISTQB) Técnica de.
Plan de Sistemas de Información (PSI). Plan de Sistemas de Información (PSI) Descripción y Objetivos Tiene como objetivo la obtención de un marco de referencia.
Ing. Carlos García P. C.I UNIDAD EDUCATIVA “SALINAS INNOVA” P Identifique el contexto para el cual se Planifica un nuevo sistema ÁREA.
ICI 502 Procesos de Software
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
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.

Manifiesto por el Desarrollo Ágil de Software “Estamos descubriendo formas mejores de desarrollar software tanto por nuestra propia experiencia como ayudando a terceros. A través de este trabajo hemos aprendido a valorar: Individuos e interacciones sobre procesos y herramientas Software funcionando sobre documentación extensiva Colaboración con el cliente sobre negociación contractual Respuesta ante el cambio sobre seguir un plan Esto es, aunque valoramos los elementos de la derecha, valoramos más los de la izquierda.” http://agilemanifesto.org/iso/es/manifesto.html

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

Recordar el ciclo de vida de un proyecto de software Sueño Lanzamiento Investigación Desarrollo Soporte Tiempo Parte a ser considerada en adelante

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.

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.

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

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 Definición de objetivos y funcionalidades del sistema Elaboración Definición de arquitectura y recursos disponibles Construcción Desarrollo del producto (programación, pruebas y documentación) y refinamiento de etapas anteriores iterativamente Transición Entrega del producto, manuales y tareas de marketing también iterativamente

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

... Proceso Iterativo e Incremental Cada iteración comprende: Planificar la iteración (estudio de riesgos)‏ Análisis de los Casos de Uso (ya viene) y escenarios Diseño de opciones arquitectónicas Codificación y pruebas. La integración del código nuevo código con el de iteraciones previas 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)‏

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

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

Características Esenciales de RUP Proceso Iterativo e Incremental Proceso Dirigido por los Casos de Uso Proceso Centrado en la Arquitectura

¿Cómo levantar los requerimientos de un sistema? ==> Casos de usos

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.

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 satisfacción de los casos de uso Pruebas

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

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

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

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?