42
MODELOS DE DESARROLLO DE SISTEMAS

Modelos de Desarrollo de Sistemas

  • Upload
    ferk801

  • View
    15

  • Download
    0

Embed Size (px)

DESCRIPTION

Los sistemas de información, modelos para su diseño

Citation preview

Page 1: Modelos de Desarrollo de Sistemas

MODELOS DE DESARROLLO DE SISTEMAS

Page 2: Modelos de Desarrollo de Sistemas

¿ Qué es el proceso de desarrollo de sistemas?

Metodología seguida por una organización para el desarrollo del software

Esta metodología incluye todas las fases del ciclo de vida clásico Este proceso se define de manera general para todas las

aplicaciones de una organización Igualmente se definen tareas especificas a cada aplicación en

particular

2

Page 3: Modelos de Desarrollo de Sistemas

3

El Proceso de Software “Conjunto estructurado de actividades requeridas para

desarrollar un sistema de software. Especificación. Diseño. Validación. Evolución”.

“Las actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse”.

“Debe estar explícitamente modelado si va a ser bien administrado”.

Page 4: Modelos de Desarrollo de Sistemas

4

El Proceso de Software Las instrucciones para desarrollar una aplicación.

Cómo descubrir qué tiene que hacer la aplicación. Cómo decidir cómo va a estar estructurada la aplicación. Cómo asegurarse de que la aplicación funciona y hace lo que tenía que hacer. Cómo ocuparse de que la aplicación se pueda ampliar / migrar / adaptar.

Hay que adaptarlas para cada caso. Conviene que las instrucciones figuren por escrito

Page 5: Modelos de Desarrollo de Sistemas

DESARROLLO DEL SOFTWARE

5

Page 6: Modelos de Desarrollo de Sistemas

Modelos del proceso del software• Modelo lineal• Modelo en cascada• Modelo de construcción de prototipos• Modelo de desarrollo rápido de aplicaciones (DRA)• Modelos evolutivos: incremental, espiral, de desarrollo

concurrente• Modelo basado en componentes

6

Page 7: Modelos de Desarrollo de Sistemas

Modelo lineal

7

Page 8: Modelos de Desarrollo de Sistemas

Modelo en Cascada

• Desarrollado entre 1960-1980 • Basado en el modelo en cascada de Winston Royce• Se conoce como el ciclo de vida básico • Secuencia de actividades, donde la estrategia

principal es seguir el progreso del desarrollo de software hacia puntos de revisión bien definidos mediante entregas calendarizadas.

8

Page 9: Modelos de Desarrollo de Sistemas

Modelo en Cascada

9

Definición Análisis

Diseño Desarrollo

Pruebas Mantenim.

Definición de requisitos:• Las restricciones y metas del sistema se definen a partir de la

interacción con el interesado.• Se comprende la naturaleza de la aplicación y el dominio de

información, así como su funcionalidad, rendimiento e interconexión • Se reúnen todos los requisitos que debe cumplir el software

Page 10: Modelos de Desarrollo de Sistemas

Modelo en Cascada

10

Definición Análisis

Diseño Desarrollo

Pruebas Mantenim.

Se concentra en cuatro características básicas:Estructura de datosArquitectura del softwareRepresentaciones de interfazDetalle procedimental (algoritmo)

Page 11: Modelos de Desarrollo de Sistemas

Modelo en Cascada

11

Definición Análisis

Diseño Desarrollo

Pruebas Mantenim.

• Se llama también Implementación• Generación de código entendible por la máquina• Actualmente se investiga mucho sobre la manera

de generar código automáticamente

Page 12: Modelos de Desarrollo de Sistemas

Modelo en Cascada

12

Definición Análisis

Diseño Desarrollo

Pruebas Mantenim.

• Proceso de depuración de programas• Chequear la validez de las sentencias• Pruebas para detectar errores, asegurando que a

partir de los datos de entrada si se genere la salida deseada

Page 13: Modelos de Desarrollo de Sistemas

Modelo en Cascada

13

Definición Análisis

Diseño Desarrollo

Pruebas Mantenim.

• Corrección de errores no detectados en la etapa de pruebas

• Posibles mejoras funcionales debidas a nuevos requerimientos del cliente

• En esta fase se vuelven a aplicar todas las etapas anteriores sobre el software existente

Page 14: Modelos de Desarrollo de Sistemas

Modelo en Cascada

14

Definición Análisis

Diseño Desarrollo

Pruebas Mantenim. LIMITACIONES

• En la realidad no estrictamente secuencial (se traslapan las etapas)

• El interesado debería exponer los requisitos en la etapa inicial, pero en realidad él lo hace a través de todo el proceso y esto complica las cosas

• La primera versión del software llega al final del proceso, a veces el afán del cliente hace que la aplicación final no cumpla con los requerimientos

Page 15: Modelos de Desarrollo de Sistemas

Modelo de Construcción de Prototipos

Comienza con una recolección inicial de requisitos para pasar a un diseño rápido y finalmente a la construcción de un prototipo de la solución.

15

Page 16: Modelos de Desarrollo de Sistemas

Modelo de Construcción de Prototipos

El desarrollador y el cliente deben ser concientes de que el prototipo se utiliza para precisar los requisitos del software y así evitar inconvenientes como:

• El cliente cree que el prototipo es una primera versión funcional del Sistema.

• El desarrollador construye el prototipo rápidamente y en ocasiones sin hacer uso de la tecnología optima disponible.

16

Page 17: Modelos de Desarrollo de Sistemas

Modelo de Construcción de Prototipos

17

Page 18: Modelos de Desarrollo de Sistemas

Modelo de Construcción de Prototipos

18

Page 19: Modelos de Desarrollo de Sistemas

Modelo de Desarrollo Rápido de Aplicaciones (DRA)

• Basado en el Modelo Lineal Secuencial• Modelo llevado a cabo por varias equipos de trabajo que siguen

las etapas del proceso de manera simultanea.• Modelo aplicable a la construcción de sistemas de información

fácilmente modularizables.• El Modelo DRA necesita clientes y desarrolladores

comprometidos con el proceso.• No es muy útil para aplicaciones que requieren adopción de

nuevas tecnologías porque la curva de aprendizaje puede afectar el cronograma del proyecto.

19

Page 20: Modelos de Desarrollo de Sistemas

Modelo de Desarrollo Rápido de Aplicaciones (DRA)

20

Page 21: Modelos de Desarrollo de Sistemas

Modelo de Desarrollo Rápido de Aplicaciones (DRA)1. Modelo de Gestión:- ¿Qué información se genera?, ¿Quién la genera?.- ¿A dónde va la información?.- ¿Quién la procesa?.2. Modelado de Datos: Formalización del conjunto de objetos de datos

(definición de características de los objetos y relaciones entre ellos).3. Modelado de Procesos: Transformación de los objetos de datos para

lograr el flujo de información necesarios para las funciones de gestión.4. Generación de Aplicaciones: Utilización de programas ya existentes como

parte de la nueva solución (Reutilización de código).5. Pruebas y Entrega: Se verifican los componentes nuevos del sistema,

porque los ya existentes ya pasaron por el proceso de validación, lo que reduce el tiempo de pruebas del mismo.

21

Page 22: Modelos de Desarrollo de Sistemas

Modelo de Desarrollo Rápido de Aplicaciones (DRA)

22

Page 23: Modelos de Desarrollo de Sistemas

Modelo de Desarrollo Rápido de Aplicaciones (DRA)

23

Page 24: Modelos de Desarrollo de Sistemas

Modelos evolutivos

• Modelos flexibles que permiten la modificación del sistema durante su proceso de desarrollo.

• Procesos iterativos que permiten a los desarrolladores construir versiones del software cada vez más completas

• Ejemplos:• Modelo Incremental.• Modelo Espiral.• Modelo Espiral WINWIN.• Modelo de Desarrollo Concurrente.

24

Page 25: Modelos de Desarrollo de Sistemas

Modelo Incremental

• Aplica el enfoque lineal secuencial escalonadamente• Incrementos parciales de la herramienta completa (versiones) • Cada incremento agrega funcionalidad adicional o mejorada

sobre el sistema• Cada etapa debe cumplir con los requisitos de las desarrolladas

30

04

58

2 -

I.S

Univ

ers

idad N

aci

onal de

Colo

mbia

25Incremento 2

Incremento n

... ... ... ...

Análisis Diseño Código Pruebas

Análisis Diseño Código Pruebas

Análisis Diseño Código Pruebas

Page 26: Modelos de Desarrollo de Sistemas

Modelo Incremental

26

Page 27: Modelos de Desarrollo de Sistemas

Modelo Incremental• Ventajas:• Los clientes no tienen que esperar hasta que el sistema se entregue

completamente para comenzar a hacer uso de él.• Los clientes pueden usar los incrementos iniciales como prototipo para

precisar los requerimientos posteriores del sistema.• Minimización del riesgo de falla en el proyecto porque los errores se

van corrigiendo progresivamente.• Problemas:• Adaptación de los requisitos del cliente para lograr incrementos

pequeños (no mas de 20.000 líneas de código) que añadan funcionalidad al sistema.

• Nota: Una evolución de este enfoque se conoce como Programación Extrema (XP-Extreme Programming).

27

Page 28: Modelos de Desarrollo de Sistemas

Modelo Espiral

• Utilización de ciclos en lugar de sucesión de actividades.• Facilita el desarrollo rápido de versiones incrementales de

software.

28

Page 29: Modelos de Desarrollo de Sistemas

Modelo Espiral

29

Page 30: Modelos de Desarrollo de Sistemas

Modelo Espiral

30

Page 31: Modelos de Desarrollo de Sistemas

Modelo Espiral WINWIN

• Hace énfasis en la etapa Comunicación con el Cliente definiendo un conjunto de actividades de negociación que se llevan a cabo al principio de cada ciclo

• El proceso de negociación busca que ambos ganen, tanto cliente como analista:• el cliente obtiene el producto que satisface gran parte de sus

necesidades y • el desarrollador intenta obtener requisitos que le permitan cumplir con

tiempos de entrega realistas

31

Page 32: Modelos de Desarrollo de Sistemas

Modelo Concurrente

• Provee una meta descripción del proceso de software• Mientras que en el Espiral la principal contribución es que las actividades

del software ocurran repetidamente, en el Concurrente es la capacidad de describir las múltiples actividades del software que ocurren simultáneamente.

• Dado que los requerimientos cambian es muy probable que una vez haya comenzado la fase de diseño, sea necesario incorporar cambios. En estos casos No se debe detener el diseño, sino que se debe continuar “si es posible” al mismo tiempo que se modifican los requerimientos.

• Por lo tanto en este modelo, diversas actividades pueden estar ocurriendo concurrentemente

• Posibilita el conocimiento del verdadero estado del proyecto

32

Page 33: Modelos de Desarrollo de Sistemas

Modelo basado en componentes

33

Page 34: Modelos de Desarrollo de Sistemas

Modelo basado en Componentes

• Identificar• componentes• candidatos

• Buscar • componentes• en biblioteca

• Extraer• componentes• disponibles

• Construir• componentes• que falten

• Añadir• componentes• a biblioteca

• Construir• iteración N• del sistema

34

Page 35: Modelos de Desarrollo de Sistemas

Modelo basado en componentes

35

Page 36: Modelos de Desarrollo de Sistemas

¿Qué Modelo Utilizar?

36

Page 37: Modelos de Desarrollo de Sistemas

Un Proyecto...

• Un proyecto es una organización transitoria de individuos dedicados a alcanzar un objetivo especifico dentro de un periodo de tiempo, un presupuesto, y un objetivo técnico.

Page 38: Modelos de Desarrollo de Sistemas

Por lo Tanto...

Un proyecto: • Tiene un principio y un fin. • Debe de tener un objetivo (debe de ser medible).• Requiere de un líder y de un equipo.

Lo que nos indica que es:• Temporal y Unico, ya que involucra hacer algo que no se ha hecho

antes.

Page 39: Modelos de Desarrollo de Sistemas

¿Qué Modelo?

• Dado que cada proyecto es único, no existe un modelo que se aplique al 100% a todos los proyectos de una organización.

• Una organización puede contar con uno o más modelos de desarrollo para ser utilizados dependiendo del tipo de proyecto.

• El modelo seleccionado tendrá influencia en el éxito del proyecto y en el tipo de decisiones que se deberán hacer.

Page 40: Modelos de Desarrollo de Sistemas

¿Cuál Seguir?

Para seleccionar el modelo a adoptar habrá que hacerse una serie de cuestionamientos:

• ¿Qué tantos son los riesgos del proyecto?• ¿Qué tan claros están los requerimientos?• ¿Se conoce bien la tecnología ha utilizar?• ¿Visibilidad que requiere el proyecto?• ¿Qué tanta planeación hacia adelante es requerida?• ¿Qué restricciones se tienen?

Page 41: Modelos de Desarrollo de Sistemas

Criterios de Exito

• Contar con un modelo debidamente documentado. (entradas, salidas, entregables, aprobaciones)

• Los documentos deben de estar actualizados.

• La gente que participa en el proyecto debe estar capacitada en su uso.

• Se debe de reforzar el uso del modelo mediante auditorias y revisiones.

Page 42: Modelos de Desarrollo de Sistemas

Criterios de Exito

• La alta gerencia debe soportar la utilización de un modelo.

• Cualquier desviación al modelo debe ser documentada y aprobada.

• Se debe de medir la eficiencia del modelo.

• Retroalimentar y ajustar.