AS03 Proceso Desarrollo

Post on 12-Jul-2016

17 views 2 download

description

ANÁLISIS DE SISTEMA

Transcript of AS03 Proceso Desarrollo

Proceso de desarrollo de sistemas de información

Ing. Guissella Romero Hornaguissela23756@hotmail.com

Copyright © 2015, Guissella Romero, Lima-Perú

Temas a tratarVisión genérica del proceso

de desarrollo

Modelos de proceso de desarrollo

Metodologías de desarrollo

Visión genérica del proceso de desarrollo

DefiniciónFasesDefinición

Ejemplo

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

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

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:

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:

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:

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:

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:

Visión genérica del proceso de desarrollo

Corrección

Fase de Evolución

Adaptación

Mejora

Tres tipos de cambios:

Modelos del proceso de desarrollo

DefiniciónFasesDefinición

Secuencial Iterativos EvolutivosPrototipo

RAD

Incremental

Espiral

Componentes

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

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.

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

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

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

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

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

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 (*)

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

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

Modelos EvolutivosModelo en Espiral

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

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

Metodologías de Desarrollo del Software

Métodos informales

Métodos Semiformales

Métodos Formales

Métodos informales No siguen un esquema, depende

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

Metodologías Ágiles

28/36

Métodos Semiformales Métodos Estructurados

◦ SA/SD (structured analysis & structured design)

◦ Métrica Métodos Orientados a Objetos

◦ OMT◦ OOSE◦ RUP

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