ciclo de vida de los sistemas

27
CICLO DE VIDA DEL DESARROLLO DE SISTEMAS UV_Ciclo de vida del desarrollo de sistemas

Upload: andrea-cortizo

Post on 03-Dec-2015

7 views

Category:

Documents


3 download

DESCRIPTION

Breve reseña del ciclo de vida de desarrollo de software

TRANSCRIPT

Page 1: Ciclo de Vida de los Sistemas

CICLO DE VIDA DEL

DESARROLLO DE SISTEMAS

UV_Ciclo de vida del desarrollo de sistemas

Page 2: Ciclo de Vida de los Sistemas

Necesidades de la Organizaciones

Definir las actividades necesarias en el

desarrollo de un Sistema de Información.

Mantener una coherencia entre todos los

proyectos de una misma organización.

Introducir puntos de control para realizar

revisiones y controles de calidad, toma de

decisiones.

Investigación de paradigmas o modelos de

desarrollo.

Page 3: Ciclo de Vida de los Sistemas

Ciclo de Vida

Planeamiento

Desarrollo Operación y

mantenimiento

Page 4: Ciclo de Vida de los Sistemas

Ciclo de Vida de Desarrollo de Software

Page 5: Ciclo de Vida de los Sistemas

Ciclo de Vida de Desarrollo de Software

Page 6: Ciclo de Vida de los Sistemas

Definiciones

CICLO DE VIDA: Conjunto de etapas que se han de llevar a

cabo para crear, explotar y mantener un Sistema Informático.

METODOS: Son las normativas que marcan las directrices que

se han de seguir para llevar a cabo una tarea. Responde a la

pregunta QUÉ.

TECNICAS: Es un modo de representación para la solución de

un problema concreto. Responde a la pregunta CÓMO.

METODOLOGIA: Es un conjunto coherente de métodos y

técnicas que cubren más de una etapa del ciclo de vida.

HERRAMIENTAS: Proporcionan un soporte automático o semi-automático para el proceso y para los métodos.

Page 7: Ciclo de Vida de los Sistemas

Paradigmas o Modelos de Desarrollo

Los paradigmas o modelos de desarrollo de Software son

estrategias de desarrollo para organizar las diversas etapas y

actividades del ciclo de vida del software.

Describe las transiciones entre las etapas, especificando qué

actividades desarrollar en cada momento.

Selección de un modelo o paradigma específico dependiendo de

la naturaleza del proyecto y/o aplicación, los métodos, las

herramientas a utilizar, los controles y entregas que se

requieren.

Page 8: Ciclo de Vida de los Sistemas

Paradigmas o Modelos de Desarrollo

El trabajo asociado a la ingeniería del

Software puede dividirse en tres fases

fundamentales, independientemente del área

de aplicación:

FASE DE DEFINICIÓN

FASE DE DESARROLLO

FASE DE MANTENIMIENTO

Page 9: Ciclo de Vida de los Sistemas

Fase de definición

Qué información que ha de ser procesada,

Qué función y rendimiento se desea

Qué comportamiento del sistema

Qué interfaces van a ser establecidas

Qué restricciones de diseño existen

Qué criterios de validación se necesitan para definir

Dependiendo del paradigma o modelo se definen un conjunto

específico de actividades, pero las tareas principales serán:

ingeniería de sistema o de información, planificación del

proyecto del software, y análisis de los requisitos

Page 10: Ciclo de Vida de los Sistemas

Fase de Desarrollo

Cómo han de diseñarse las estructuras de datos,

Cómo ha de implementarse la función como una

arquitectura del software

Cómo han de caracterizarse las interfaces

Cómo ha de traducirse el diseño en un lenguaje de

programación

Cómo ha de realizarse la prueba

Las tareas principales serán: diseño del software,

generación de código y prueba del software

Page 11: Ciclo de Vida de los Sistemas

Fase de Mantenimiento

Fase centrada en el cambio que va asociado a la corrección de

errores, a las adaptaciones requeridas a medida que

evoluciona el entorno del software, y a cambios producidos

por los requisitos cambiantes del software.

Cuatro tipos de cambio:

Corrección, Adaptación (Cambio de sistema Operativo, reglas de

la empresa,etc.), Mejora, Prevención (reingeniería)

Actividades a realizar:

Gestión de riesgos, revisiones técnicas formales, mediciones,

garantia de calidad del software, seguimiento y gestion del

proyecto de software, gestión de reutilizació….

Page 12: Ciclo de Vida de los Sistemas

Paradigmas o Modelos de Desarrollo

Desglosando las fases anteriores, obtendríamos las principales

fases o etapas del ciclo de vida del software

Identificación del sistema y definición de requerimientos

Análisis

Diseño

Desarrollo e implementación

Integración y prueba del software

Documentación

Entrenamiento y uso

Mantenimiento del software

Page 13: Ciclo de Vida de los Sistemas

METODOLOGIAS DE DESARROLLO DE

SOFTWARE

Page 14: Ciclo de Vida de los Sistemas

Modelo en Cascada

Modelo Basado en Prototipos

Modelo Incremental o Evolutivo

Modelo Espiral

Modelo OO

Modelo Cascada con Sub - Proyectos

Modelo Entrega por Etapas

METODOLOGIAS DE DESARROLLO DE

SOFTWARE

Page 15: Ciclo de Vida de los Sistemas

Actividades de un proceso genérico

Procesos de Software

ANALISIS CODIGO DISEÑO PRODUCTO PRUEBAS

Page 16: Ciclo de Vida de los Sistemas

Modelo en Cascada

Planeación Estratégica

Estudio de Factibilidad

Análisis de Requerimientos

Especificación formal de requerimientos

Diseño Global

Especificación Formal del Diseño

Programación Librerías y herramientas

Entrenamiento Operación y Mantenimiento

Programación aplicación

Pruebas de integración

PRODUCTO

Page 17: Ciclo de Vida de los Sistemas

Modelo en Cascada

Page 18: Ciclo de Vida de los Sistemas

Modelo Basado en Prototipos

Obtención de requisitos

Diseño Global

Construcción Prototipo

Desarrollo Prototipo

Refinamiento Prototipo

Sistema Terminado

GRUPO

USUARIO / DISEÑADOR

GRUPO

SISTEMA / CONSTRUCTOR

Page 19: Ciclo de Vida de los Sistemas

Modelo Incremental - Evolutivo

Versión

# 2

Versión

# 1 ANALISIS DISEÑO CODIGO PRUEBAS PRODUCTO

ANALISIS DISEÑO CODIGO PRUEBAS PRODUCTO

NUEVAS

FUNCIONALIDA

DES

Page 20: Ciclo de Vida de los Sistemas

Modelo Espiral

Tiempo -Madurez del Desarrollo

Planificación Proyecto

Análisis de Riesgos

Toma de Decisión

Construcción y Adaptación

Evaluación del

Cliente

Comunicación con

Cliente

Page 21: Ciclo de Vida de los Sistemas

Modelo Espiral

Page 22: Ciclo de Vida de los Sistemas

Diagrama de Clases

Diagramas de Objetos

Diagramas de Módulos

Diagramas de Procesos

Modelo OO

Page 23: Ciclo de Vida de los Sistemas

Modelo Cascada con Sub - Proyectos

Definición del Problema

Análisis Requerimientos

Diseño Global

Diseño Detallado

Codificación y Depuración

Definición del Problema

Prueba Integral

Producto Final

Pruebas Subproyecto

Diseño Detallado

Codificación y Depuración

Definición del Problema

Pruebas Subproyecto

Page 24: Ciclo de Vida de los Sistemas

Modelo Entrega por Etapas

Definición del problema

Análisis de Requerimientos

Diseño Global

Etapa I

Diseño Detallado

Codificación

Depuración

Prueba

Entrega Etapa II

Diseño Detallado

Codificación

Depuración

Prueba

Entrega Etapa I

Diseño Detallado

Codificación

Depuración

Prueba

Entrega

Etapa N …

Page 25: Ciclo de Vida de los Sistemas

Comparativo

MODELO ENFOQUE VENTAJAS /DESVENTAJAS APLICABILIDAD

MODELO EN CASCADA

El inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior Cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado, aumentando los costes del desarrollo.

Los proyectos raras veces siguen una evolución secuencial. No todos los requisitos son expuestos, al principio, de forma explícita como requiere este modelo. El cliente debe tener paciencia, ya que la aplicación sólo estará disponible en un estado muy avanzado del proyecto. Ampliamente criticado desde el ámbito académico y la industria

Utilizado cuando existen especificaciones amplias de los requerimientos del cliente.

MODELO BASADO EN PROTOTIPOS

Prototipos: No posee la funcionalidad total del sistema pero si condensa la idea principal del mismo, Paso a Paso crece su funcionalidad, alto grado de participación del usuario.

El cliente puede pensar que el prototipo es una versión acabada. Pueden llegar a pasarse por alto la calidad del software global o el mantenimiento a largo plazo. Las herramientas elegidas pueden ser inadecuadas. La clave del éxito de este modelo consiste en definir bien, desde el principio, las reglas del juego. Alto grado de participación del usuario

Se utiliza si en el mercado no se encuentra el producto pero el cliente desea resultados inmediatos. Conveniente en caso de ser necesario desarrollar módulos Para sistemas interactivos pequeños o de tamaño pequeño. 1. Para partes de sistemas grandes 2. Para sistemas con vida corta.

Page 26: Ciclo de Vida de los Sistemas

Comparativo

MODELO ENFOQUE VENTAJAS /DESVENTAJAS APLICABILIDAD

MODELO INCREMENTAL O EVOLUTIVO

Modelo Lineal-Secuencial con el Modelo Basado en Prototipos El sistema no se entrega de una vez, sino que se divide y se entregan incrementos. Con cada incremento se entrega la parte de la funcionalidad que se ha establecido. Los requisitos son priorizados. Los requisitos con una más alta prioridad se incluyen en los incrementos más tempranos. Los requisitos de un incremento son inamovibles. Sin embargo estos puede verse modificados en incrementos posteriores. Este proceso se repite hasta la obtención de un producto completo. Sin embargo el modelo incremental se centra en la entrega de un producto operativo en cada incremento.

Los clientes no tienen que esperar hasta tener el sistema completo. El primer incremento satisface los requisitos más críticos. Los primeros incrementos sirven como prototipo y ayudan en la tarea de detectar los posteriores requisitos. 1. Existe un riesgo bajo de fallar en el proyecto total. Los servicios del sistema con la prioridad más alta tienden a ser los más probados. Puede ser difícil ajustar los requisitos a los incrementos.

Reemplazar el antiguo desarrollo con uno nuevo que satisfaga las nuevas necesidades según las redefiniciones del problema Manejo de Versiones

MODELO ESPIRAL

Es una mejora del Modelo Basado en prototipos Cada vuelta en la espiral representa una fase del proceso. No hay fases fijas, cada vuelta en la espiral determina las actividades a realizar. La dimensión radial representa el coste acumulado en la financiación de las fases. La dimensión angular representa el progreso hecho en completar cada ciclo de la espiral. Un ciclo a través de la espiral es simular un paso a través de un modelo en cascada

Requiere comunicación permanente con el cliente por lo tanto si se cambia el contacto con le cual se realiza desarrollo es necesario que esté al tanto de lo realizado y lo pendiente, cliente debe ser gran conocedor del sistema.

Utilizado para el desarrollo de aplicaciones complejas y/o específicas. (Ej. Investigación Genética)

Page 27: Ciclo de Vida de los Sistemas

Comparativo

MODELO ENFOQUE VENTAJAS /DESVENTAJAS APLICABILIDAD

MODELO BASADO EN COMPONENTES (ORIENTADO A OBJETOS)

Es programación orientada a Objetos. Se utilizan objetos, clases y se reutilizan en diferentes partes del sistema.

Optimiza los tiempos de respuesta a los requerimientos del cliente y facilita la labor del programador pues hay un alto aprovechamiento del código. Facilita mantenimiento del software.

Sistemas robustos y de alta proyección.

CODE AND FIX

No requiere planeación y se trata de codificar y corregir. Se trabaja mediante prueba y error. Especial para desarrollos rápidos y sencillos

Desarrollo Rápido No garantiza calidad

Desarrollo muy pequeños con claridad de objetivos, requerimientos pequeños o de mantenimientos con bajo impacto.

CASCADA CON SUBPROYECTOS

Requiere planeación.

Plantea Organización y planeación de un gran proyecto Se pueden realizar varias partes del proyecto al mismo tiempo por diferentes desarrolladores

Adecuada para el desarrollo de proyectos complejos que estiman de 1 a 3 años de desarrollo.

ENTREGA POR ETAPAS

Cascada con entregas grandes en diferentes etapas del desarrollo. Cascada con Evolutivo.

Debe entregarse una etapa para continuar con la siguiente

Desarrollos robustos. Desarrollo depende del presupuesto directamente Ej. Ppto adjudicado anual/..