AS03 Proceso Desarrollo

29
desarrollo de sistemas de información Ing. Guissella Romero Horna [email protected] Copyright © 2015, Guissella Romero, Lima-Perú

description

ANÁLISIS DE SISTEMA

Transcript of AS03 Proceso Desarrollo

Page 1: AS03 Proceso Desarrollo

Proceso de desarrollo de sistemas de información

Ing. Guissella Romero [email protected]

Copyright © 2015, Guissella Romero, Lima-Perú

Page 2: AS03 Proceso Desarrollo

Temas a tratarVisión genérica del proceso

de desarrollo

Modelos de proceso de desarrollo

Metodologías de desarrollo

Page 3: AS03 Proceso Desarrollo

Visión genérica del proceso de desarrollo

DefiniciónFasesDefinición

Ejemplo

Page 4: AS03 Proceso Desarrollo

Visión genérica del proceso de desarrollo

El proceso de desarrollo es un Marco de Trabajo que define las tareas a realizar para

desarrollar software de alta calidad.(Pressman).

Definición

Page 5: AS03 Proceso Desarrollo

Visión genérica del proceso de desarrollo

Definición

Desarrollo

Evolución

Fases

• Análisis del Sistema

• Requerimientos• Planificación • Diseño

• Codificación• Prueba · Corrección

· Adaptación· Mejora

Page 6: AS03 Proceso Desarrollo

AS02 El Proceso y Ciclo de vida 6/36

Visión genérica del proceso de desarrollo

La información que se debe proporcionar,

La funcionalidad y rendimiento que se desea,

Las interfaces que deben establecerse, Las restricciones de diseño que existen y

Los criterios de validación que se necesitan para definir un sistema

correcto.

Fase de DefiniciónSu propósito es identificar:

Page 7: AS03 Proceso Desarrollo

Visión genérica del proceso de desarrollo

Análisis del Sistema

Fase de Definición

Requerimientos del software

Planificación del proyecto

Se realizan las siguientes actividades:

Page 8: AS03 Proceso Desarrollo

Visión genérica del proceso de desarrollo

Cómo han de diseñarse las estructuras de datos y la arquitectura del software,

Cómo han de implementarse los detalles procedimentales,

Cómo ha de traducirse el diseño a un lenguaje de programación y

Cómo ha de realizarse la prueba..

Fase de DesarrolloSu propósito es decidir:

Page 9: AS03 Proceso Desarrollo

Visión genérica del proceso de desarrollo

Diseño del Software

Fase de Desarrollo

Codificación

Pruebas del software

Se realizan las siguientes actividades:

Page 10: AS03 Proceso Desarrollo

AS02 El Proceso y Ciclo de vida 10/36

Visión genérica del proceso de desarrollo

La corrección de errores, Las adaptaciones requeridas por la

evolución del entorno del software y Las modificaciones debidas a los cambios

de requisitos del usuario dirigidos a reforzar o ampliar el sistema.

Esta fase vuelve a aplicar las fases de definición y de desarrollo, pero en el contexto del software ya existente.

Fase de EvoluciónSe centra en los cambios asociados a:

Page 11: AS03 Proceso Desarrollo

Visión genérica del proceso de desarrollo

Corrección

Fase de Evolución

Adaptación

Mejora

Tres tipos de cambios:

Page 12: AS03 Proceso Desarrollo

Modelos del proceso de desarrollo

DefiniciónFasesDefinición

Secuencial Iterativos EvolutivosPrototipo

RAD

Incremental

Espiral

Componentes

Page 13: AS03 Proceso Desarrollo

Modelo Lineal Secuencial

Ciclo de vida clásico, modelo en cascada

+ antiguo, + usado Enfoque sistemático secuencial

AnálisisDiseño

Codif.Prueba

Mant.

Ingeniería sistemas

Page 14: AS03 Proceso Desarrollo

Modelo Lineal Secuencial Críticas:

◦ Proyectos reales raras veces se ajustan.◦ Raras veces cliente expone todos los req. de

entrada.◦ Producto operativo al final => Paciencia

(cliente) alta. Consejo:

Usar cuando todos los requerimientos han sido establecidos claramente de entrada.

Page 15: AS03 Proceso Desarrollo

Modelos Iterativos

No están claros los requisito de entrada Iterativo. Hasta cuando se itera? Working prototype, desechar y empezar con

desarrollo de sistema.

Escuchar al cliente

Validar prototipo

Construir prototipo

Construcción de Prototipos

Page 16: AS03 Proceso Desarrollo

Modelos Iterativos

Aceptado

NO Aceptado

Evaluación Cliente

Mejora de la Especificación

Construcción Prototipo

Obtención Especificació

n

Ciclo de Vida

Clásico

Construcción de Prototipos

Page 17: AS03 Proceso Desarrollo

Modelos Iterativos

Críticas:◦ Cliente cree que es el sistema.◦ Peligro de familiarización con malas

elecciones iniciales (quick and dirty). Consejo:

◦ Usar cuando inicialmente no están claros los requerimientos.

◦ Definir claramente de entrada las reglas de juego con el cliente.

◦ No ceder a presión del cliente.

Construcción de Prototipos

Page 18: AS03 Proceso Desarrollo

IS03 El Proceso SW

Modelos Iterativos

Es un modelo Lineal secuencial pero con ciclo extremadamente corto.

La rapidez se lograr porque:◦ El sistema se puede modularizar =>

cada una se asigna a equipos de desarrollo paralelos.

◦ Se basa en el reuso de componentes y T4G.

18/36

Desarrollo Rápido de AplicacionesRapid Application Development (RAD

Page 19: AS03 Proceso Desarrollo

Modelos Iterativos

Críticas:◦ Proyectos grandes => gran nro. de personas.◦ Alto compromiso en tiempo.◦ No apto para sistemas no modularizable,

baja reusabilidad de componentes. Consejos:

◦ No usar cuando riesgos tecnológicos son altos Por ejemplo, uso de un nuevo lenguaje o

alta interoperatividad con programas ya existentes.

Desarrollo Rápido de Aplicaciones

Page 20: AS03 Proceso Desarrollo

Modelos Evolutivos Se adaptan más fácilmente a los

cambios introducidos a lo largo del desarrollo.

Son Iterativos En cada iteración se obtienen versiones

más completas del Software Modelos Evolutivos:

◦ Modelo Incremental (*)◦ Modelo en Espiral (*)◦ Modelo de Desarrollo Basado en

Componentes (*)

Page 21: AS03 Proceso Desarrollo

Modelos Evolutivos

Iteración (repite) de Modelo Lineal Secuencial.

Cada iteración devuelve un “Incremento” o versión operativa.

Útil cuando no se está seguro de cumplir con plazos de tiempo o se tiene una fecha imposible de cambiar.

Modelo Incremental

Page 22: AS03 Proceso Desarrollo

Modelos Evolutivos

Análisis Diseño PruebaCodif. Entrega 1er IncrementoInc1

Análisis Diseño PruebaCodif. Entrega 2do Incremento

Inc2

Análisis Diseño PruebaCodif. Entrega 3er IncrementoInc3

Tiempo

Modelo Incremental

Page 23: AS03 Proceso Desarrollo

Modelos EvolutivosModelo en Espiral

Page 24: AS03 Proceso Desarrollo

Modelos Evolutivos

Útil para proyectos grandes. Permite usar el prototipado en todas las etapas de

la evolución para reducir el riesgo. Mantiene el enfoque sistemático de los pasos

sugeridos por el lineal secuencial, pero lo incorpora dentro de un marco iterativo más real.

Críticas: ◦ Difícil de convencer a los clientes de que es

controlable.◦ Requiere mucha habilidad para el análisis de riesgos

y de esta habilidad depende su éxito.

Modelo en Espiral

Page 25: AS03 Proceso Desarrollo

IS03 El Proceso SW 25/36

Modelos Evolutivos

PlanificaciónAnálisis de Riesgos

Ingeniería, Construcción y Entrega

Evaluación del Cliente

Comunicación con el Cliente

Ident. Comps. candidatos

Buscar Comps. en biblioteca

Construir Extraer

Colocar en biblioteca

Construir iteración

Desarrollo basado en componentes

Page 26: AS03 Proceso Desarrollo

Metodologías de Desarrollo del Software

Métodos informales

Métodos Semiformales

Métodos Formales

Page 27: AS03 Proceso Desarrollo

Métodos informales No siguen un esquema, depende

del estilo del desarrollador◦ Quick & Dirty (USA)◦ Match stick box (Europa)

Metodologías Ágiles

Page 28: AS03 Proceso Desarrollo

28/36

Métodos Semiformales Métodos Estructurados

◦ SA/SD (structured analysis & structured design)

◦ Métrica Métodos Orientados a Objetos

◦ OMT◦ OOSE◦ RUP

Page 29: AS03 Proceso Desarrollo

29/36

Métodos Formales Permiten al ingeniero de software especificar,

desarrollar y verificar un sistema informático mediante la aplicación de una notación matemática rigurosa.

Utilizan un lenguaje de especificación formal, Un método formal proporciona los medios de

especificar un sistema de forma que se aseguren, de manera sistemática, la consistencia, la completitud y la corrección.

Se suelen basar en notaciones matemáticas similares a las del álgebra de conjuntos y la lógica