Tipos de ciclo de vida

22
SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: CICLO DE VIDA VISIÓN TRADICIONAL DEL CICLO DE VIDA DEL DESARROLLO DE SISTEMAS DE INFORMACIÓN ALGUNOS MODELOS DE DESARROLLO DE SISTEMAS DE INFORMACIÓN Material diseñado y elaborado por: Prof. Luis Eduardo Mendoza M. Material revisado por: Prof. María A. Pérez de Ovalles UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS

Transcript of Tipos de ciclo de vida

Page 1: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN IITEORÍA

CONTENIDO:CICLO DE VIDA

VISIÓN TRADICIONAL DEL CICLO DE VIDA DEL DESARROLLO DE SISTEMAS DE INFORMACIÓN

ALGUNOS MODELOS DE DESARROLLO DE SISTEMAS DE INFORMACIÓN

Material diseñado y elaborado por:Prof. Luis Eduardo Mendoza M.Material revisado por:Prof. María A. Pérez de Ovalles

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

Page 2: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

INGENIERÍA DE SOFTWARE Y EL CICLO DE VIDA

DEFINICIÓN:• La INGENIERÍA DE SOFTWARE es un área de la Ciencia de la

Computación cuyo objetivo de estudio es la construcción de grandes y complejos sistemas de software de alta calidad.

• El término “Ingeniería de Software” fue usado por primera vez en 1968 durante una conferencia celebrada en Garmisch (Alemania) para analizar la llamada CRISIS DEL SOFTWARE.

NACIMIENTO:• Se concluyó que el problema de construir software es un TRABAJO

DE INGENIERÍA.• Requiere: GERENCIA, ORGANIZACIÓN, HERRAMIENTAS, TEORÍAS,

MÉTODOS y TÉCNICAS.• El descenso de los costos del hardware y el ascenso en los costos del

software, generaron un énfasis en la construcción ECONÓMICA de este último, promoviendo su CALIDAD.

• Más allá de la programación, el software es estudiado a través de todo su CICLO DE VIDA.

Page 3: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

PROCESO DE DESARROLLO DE SIO

CICLO DE VIDA DE DESARROLLO DE SI

En la Ingeniería del Software está presente la palabra ciclo, referida alproceso de desarrollo del software, ya que éste es denominado común-mente “ciclo de vida”. En base a esto, algunas definiciones son:

• “Secuencia de eventos en el desarrollo de un sistema de información (aplicación), lo cual requiere del esfuerzo mutuo, tanto de parte del usuario como del equipo técnico”. (Freedman, 1993)

• “Una actividad grupal, conducida con recursos limitados, que conducen a un producto intangible (software)”. (Topper et al., 1994)

• “Una actividad social, altamente creativa por naturaleza, que esconducida en un ambiente de recursos limitados y produce una serie de representaciones (o salidas) de un producto intangible, el software”. (Topper et al., 1994)

Continúa ...

Page 4: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

PROCESO DE DESARROLLO DE SIO

CICLO DE VIDA DE DESARROLLO DE SIContinuación ...

• “Un proceso lógico con el cual los analistas, ingenieros de software, programadores y usuarios finales, construyen Sistemas de Información y aplicaciones del computador para satisfacer necesidades y resolver problemas del negocio”. (Whitten y Bentley, 1998)

• “El proceso de desarrollo (las actividades involucradas en el desarrollo y mantenimiento de software) es un proceso complejo y variable que no puede ser fácilmente descrito usando un solo modelo”. (Sommerville, 1998)

El ciclo de vida de desarrollo de SI no es un modelo. Mientras un ciclo de vida de desarrollo de SI es una “secuencia de eventos en el desarrollo de un sistema de información (aplicación)” (Freedman, 1993), “... un modelo describe la estructura de cómo se desarrollará el proyecto”. (Raccoon, 1995)

Page 5: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

FASES GENÉRICAS DELCICLO DE VIDA DE DESARROLLO DE SI

Ciclo de vida simplificado de desarrollo

• La fase de DEFINICIÓN se centra en el qué. Normalmente, a esta fase se le denomina análisis.

• La fase de DESARROLLO se centra en el cómo. Para muchos autores, los procesos que se hacen en esta fase de desarrollo, se dividen en las fases que comúnmente se denominan diseño e implementación.

• La fase de MANTENIMIENTO se centra en el cambio. En esta fase se vuelven a aplicar los pasos de las fases de definición y desarrollo, pero ahora en el contexto del software ya existente.

DESARROLLO

MANTENIMIENTO

DEFINICIÓN

Page 6: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

¿Qué?

¿Cómo?

VISIÓN TRADICIONAL DEL CICLO DE VIDA DE DESARROLLO DE SI

Especificación de los Requerimientos del Software

Diseño Físico o Detallado (Programa)

Codificación / Implementación

Prueba del Programa a Nivel de Unidad

Prueba del Programa a Nivel de Sistema

Uso del Programa

Mantenimiento del Software

Implemen-tación

Implemen-tación

Espaciodel

Problema

Espaciode la

Solución

Especificación de los Requerimientos de los Usuarios

Análisis de los Requerimientos de los Usuarios

Diseño Lógico o General (Sistemas)

AnálisisAnálisis

DiseñoDiseño

Page 7: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

ALGUNOS MODELOS DE DESARROLLO DE SI

MODELO DE CASCADA O CLÁSICO

ESPECIFICACIÓNDE

REQUERIMIENTOS

ANÁLISIS

DISEÑO

CODIFICACIÓN

PRUEBA

MANTENIMIENTO

Page 8: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

ALGUNOS MODELOS DE DESARROLLO DE SI

MODELO DE CONSTRUCCIÓN DE PROTOTIPOS

Recoleccióny refinamiento derequerimientos

Diseñorápido

Construccióndel prototipo

Evaluación delprototipo por

parte del cliente

Refinamientodel prototipo

Producto deingeniería

Comienzo

Parada

Page 9: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

ALGUNOS MODELOS DE DESARROLLO DE SI

MODELO EN ESPIRAL O EVOLUTIVO

PLANIFICACIÓN ANÁLISIS DE RIESGO

EVALUACIÓNDEL CLIENTE INGENIERÍA

Recolección derequisitos yplanificacióndel proyectoiniciales

Planificaciónbasada en loscomentariosdel cliente

Evaluacióndel cliente

Análisis de riesgobasado en losrequisitos inicialesAnálisis de riesgobasado en lareacción del cliente

Decisión deseguir o no

Hacia elsistema final

Prototipo inicialdel softwarePrototipo delsiguiente nivelSistema deingeniería

Page 10: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

ALGUNOS MODELOS DE DESARROLLO DE SI

MODELO DE LA FUENTE PARA EL DESARROLLODE SI ORIENTADO A OBJETO

1

2

3

4567

8

91011

1 Análisis de Requerimientos

2 Especificación de los Requerimientos de los Usuarios

3 Especificación de los Requerimientos del Software

4 Diseño del Sistema

5 Diseño del Programa

6 Codificación

7 Prueba de Unidad

8 Prueba del Sistema

9 Uso del Programa

10 Mantenimiento

11 Desarrollo Adicional

Page 11: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

ALGUNOS MODELOS DE DESARROLLO DE SI

MODELO DEL CAOS

Desarrollotécnico

Definiciónde problemas

Integraciónde soluciones

Statusquo

LAS FASES DE UN LAZO DERESOLUCIÓN DE PROBLEMAS

Desarrollotécnico

Definiciónde problemas

Integraciónde soluciones

Statusquo

Desarrollotécnico

Definiciónde problemas

Integraciónde soluciones

Statusquo

Desarrollotécnico

Definiciónde problemas

Integraciónde soluciones

Statusquo

Desarrollotécnico

Definiciónde problemas

Integraciónde soluciones

Statusquo

Desarrollotécnico

Definiciónde problemas

Integraciónde soluciones

Statusquo

Statusquo

Statusquo

FASES DENTRO DE LAS FASES DE UNLAZO DE RESOLUCIÓN DE PROBLEMAS

Page 12: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

• “Aproximación al desarrollo de sistemas que incorpora una variedad de herramientas de diseño automatizadas (CASE). Desarrollada por el ‘gurú’ de la industria, James Martin, está centrada tanto en la administración humana y en la participación del usuario, como en la tecnología”. (Freedman, 1993)

• “Metodología para el desarrollo de sistemas creada para disminuir radicalmente el tiempo necesario para diseñar e implementar Sistemas de Información. El RAD cuenta con una participación intensa del usuario, sesiones JAD, prototipaje, herramientas CSE integradas y generadores de código”.(Valacich et al., 2001)

• El RAD requiere de cuatro (4) ingredientes esenciales: gerencia,gente, metodologías y herramientas.

ALGUNOS MODELOS DE DESARROLLO DE SIRAD (Rapid Application Development)

Page 13: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

ALGUNOS MODELOS DE DESARROLLO DE SIRAD (Rapid Application Development)

Identificacióny seleccióndel proyecto

Iniciación yplanificacióndel proyecto

Análisis

Diseñológico

Diseñofísico

Implemen-tación

Mantenimiento

Planificaciónde

requerimientos

Diseño

Desarrollo

Cutover

Ciclo de VidaTradicional de

Desarrollo

Ciclo de VidaRAD

de James Martin

Page 14: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

ALGUNOS MODELOS DE DESARROLLO DE SIRAD (Rapid Application Development)

• Muchas firmas han adoptado el RAD como uno de sus enfoques para el desarrollo de sistemas. Entre éstas, esta Cambridge Technology Partners (CTP), especificando un ciclo de vida para el RAD que consiste en cinco (5) pasos:1) Enfoque2) Taller de soluciones rápidas.3) Diseño.4) Desarrollo.5) Rollout.

FASES DEL CICLO DE VIDA RAD DEL CTP. (Valacich et al., 2001)

EnfoqueTaller de

solucionesrápidas

Diseño Desarrollo Rollout

Fases del Ciclo de Vida RAD de James MartinPlanificación derequerimientos Diseño Construcción Cutover

Page 15: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

ALGUNOS MODELOS DE DESARROLLO DE SIRAD (Rapid Application Development)

VENTAJAS DESVENTAJASAhorro dramático de tiempo durante el desarrollo delsistema.

Mayor velocidad y menores costos pueden repercutiren la calidad del sistema (p.e., debido a falta deatención en controles internos).

Puede ahorrarse tiempo, dinero y esfuerzo humano. Peligrosa incoherencia entre el sistema desarrollado yel negocio, debido a la falta de información o aprocesos del negocio sobreentendidos.

Estrecha correspondencia entre los requerimientosdel usuario y las especificaciones del sistema.

Pueden producirse inconsistencias entre diseñosinternos y entre sistemas.

Trabaja muy bien cuando la velocidad de desarrolloes importante (cambios rápidos de las condicionesdel negocio), o cuando lo sistemas puedencapitalizarse en oportunidades estratégicas.

Posibles violaciones de estándares de programaciónrelacionadas con nomenclaturas inconsistentes einsuficiente documentación.

Permite cambiar rápidamente el diseño de lossistemas cuando los usuarios lo demandan

Dificultades con el reuso de módulos para futurossistemas.

Los sistemas son optimizados por los usuariosinvolucrados en el proceso del RAD.

Carencia de un diseño escalable dentro del sistema.

Se concentra en los elementos esenciales del sistema,desde el punto de vista del usuario.

Falta de atención de la futura administración delsistema dentro de los sistemas existentes (p.e., faltade integración con el modelo de datos organizacionaly facilidades de recuperación del sistema)

El usuario se compromete y se hace propietario delsistema

Altos costos de compromiso por parte del personalclave.

VENTAJAS Y DESVENTAJAS DEL RAD. (Valacich et al., 2001)

Page 16: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

ALGUNOS MODELOS DE DESARROLLO DE SIMICROSOFT SOLUTION FRAMEWORK (MSF)

• Basado en las técnicas desarrolladas por Microsoft Corporation, su brazo consultor y sus socios, MSF provee un enfoque sistemático que asegura alta calidad y entrega a tiempo (Felder, 1999).

• Los bloques de construcción centrales para la guía de soluciones basadas en MSF son los seis modelos principales MSF: (Microsoft, 1999)(Felder, 1999)

1) Modelo de arquitectura de la empresa.2) Modelo del equipo.3) Modelo del proceso.4) Modelo de gestión de riesgo.5) Modelo del proceso de diseño.6) Modelo de la aplicación.

Page 17: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

MODELO DE PROCESO MSF. (Microsoft, 1999)

• El MSF requiere de un equipo organizado, código estructurado y procesos sistemáticos, que minimizan el riesgo y maximizan la capacidad para tomar decisiones inteligentes.

ALGUNOS MODELOS DE DESARROLLO DE SIMICROSOFT SOLUTION FRAMEWORK (MSF)

Alcancecompletado1er uso

Plan de proy.aprobado

Visión/alcanceaprobado

Versión

ESTABILIZACIÓN VISUALIZACIÓN

DESARROLLO PLANIFICACIÓN

Page 18: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

ALGUNOS MODELOS DE DESARROLLO DE SIMetodología Evolutiva Incremental para el Desarrollo de Aplicaciones de Workflows (MEIDAW)

• Las metodologías encontradas no eran lo suficientemente sistémicas para adaptarse a los desarrollos de Workflow deseadosy, además, no pudieron aplicarse por completo debido a la restricción de que la metodología debe cumplir todo el proceso de desarrollo dentro la empresa.

• Se utilizan elementos de la Metodología Evolutiva Incremental (MEI) como esquema de trabajo (enfocada al proceso), con el soporte de los estándares metodológicos de Workflow Management Coalition (WFMC), para buscar la calidad en el producto.

• Como resultado, se incorporaron los estándares metodológicos de WFMC dentro de la metodología general aplicada para el desarrollo de cualquier sistema dentro de la organización; también se determinó que estos se adoptarán para los desarrollos futuros que se realicen en la empresa en el área de Workflows.

Page 19: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

ALGUNOS MODELOS DE DESARROLLO DE SIMetodología Evolutiva Incremental para el Desarrollo de Aplicaciones de Workflows (MEIDAW)

LA ORIENTACIÓN AL PROCESO:

• Contiene, para el control de los proyectos, elementos de Metodologías del tipo Evolutiva Incremental (MEI); entre ellos están los incrementos planificatorios.

• La metodología sigue el esquema general de las metodologías tradicionales de desarrollo: análisis, diseño, implementación, pruebas, documentación e implantación. Estas etapas se encuentran levemente solapadas, es decir, la parte final de una etapa se realiza en paralelo con el comienzo de la próxima, lo cual se ajusta bastante a la realidad.

• Esta es una metodología muy sistémica lo cual permite una mayor adaptabilidad a los cambios y descubrimientos que ocurran sobre la marcha, permitiendo así mayores posibilida-des de lograr una alta efectividad. Además, permite reducir el tiempo de finalización si se aumentan los recursos, esto la hace adaptable, inclusive al tiempo [Callaos y Callaos, 1995].

Page 20: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

ALGUNOS MODELOS DE DESARROLLO DE SIMetodología Evolutiva Incremental para el Desarrollo de Aplicaciones de Workflows (MEIDAW)

• Dentro de los incrementos existen dos procesos de suma importancia: Planificación y Ejecución. Además, contiene dos aspectos muy impor-tantes para el control en los incrementos: Feedback y Feedforward.

ESQUEMA DE LA METODOLOGÍA, ORIENTACIÓN AL PROCESO

• La planificación y las actividades de los incrementos planificatorios se registran a través de los informes de avance, que contienen: Estado actual del sistema, Actividades completadas y Actividades retrasadas.

Tiempo de ejecución

Incrementos o etapas deplanificación

Etapa 1

Etapa 2

Etapa 3

Etapa 4

Etapa 5

Planificación

Ejecución

t0 t1 t2 t3 t4 t5

Page 21: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

ALGUNOS MODELOS DE DESARROLLO DE SIMetodología Evolutiva Incremental para el Desarrollo de Aplicaciones de Workflows (MEIDAW)

LA ORIENTACIÓN AL PRODUCTO:

• En las etapas del proyecto, desde un enfoque al producto, los aspectos de mayor importancia son los productos finales dentro de cada una de las fases dentro de un esquema tradicional de desarrollo.

ESQUEMA DE LA METODOLOGÍA, ORIENTACIÓN AL PRODUCTOTiempo de ejecución

Fases del proyecto

Incremento(s) deanálisis

Periodo deactividad

t0 t1 t2 t3 t4 t5

Incremento(s) dediseño

Incremento(s) deimplementación

Incremento(s) depruebas

Incremento(s) dedocumentacion

Incremento(s) deimplantación

t4 t5

Page 22: Tipos de ciclo de vida

SISTEMAS DE INFORMACIÓN II TEORÍA

UNIVERSIDAD SIMÓN BOLÍVARDEPARTAMENTO DE PROCESOS Y SISTEMAS

ALGUNOS MODELOS DE DESARROLLO DE SIMetodología Evolutiva Incremental para el Desarrollo de Aplicaciones de Workflows (MEIDAW)

Los productos de cada una de las macro-etapas anteriores son:• ANÁLISIS. Documento de Alcance y Requerimientos, y Glosario.• DISEÑO DETALLADO. Reglas del Negocio, Flujo de Trabajo, Roles,

Estados y Transiciones de los Ítems de Trabajo, Escalaciones, Notificaciones, Interfaces y Reportes.

• DESARROLLO DEL SISTEMA. Configuración de la Arquitectura de Desarrollo, Implementación de la Estructura de Datos, Desarrollo de Componentes y Servicios, Programación de Pantallas, Filtros y Enlaces Activos, y Programación de Notificaciones, Escalaciones y Reportes.

• PRUEBAS. Pruebas Funcionales y Pruebas de Carga de Datos.• DOCUMENTACIÓN FORMAL DEL SISTEMA. Manual del Usuario y

Manual del Administrador del Sistema.• IMPLANTACIÓN DEL SISTEMA. Configuración del Servidor de Pro-

ducción y de Base de Datos, Migración del Sistema, Pruebas del Siste-ma en el Ambiente de Producción y el Entrenamiento de los Usuarios.