22
Sesión III: Modelos Prescriptivos de Proceso Ing. Luis Alfredo Fernández Vizcarra [email protected] [email protected]

3. modelos prescriptivos de proceso

Embed Size (px)

Citation preview

Page 1: 3. modelos prescriptivos de proceso

Sesión III: Modelos Prescriptivosde Proceso

Ing. Luis Alfredo Fernández Vizcarra

[email protected]

[email protected]

Page 2: 3. modelos prescriptivos de proceso

Vistazo rápido: Modelos Prescriptivos¿Qué es?

• Un conjunto distinto de actividades, acciones, tareas, fundamentos y productos de trabajo que se requieren para desarrollar software de alta calidad.

• Proporcionan una guía útil para el trabajo de la ingeniería del software.

¿Quién lo hace?

• Los ingenieros de software y sus gerentes adaptan un modelo prescriptivo de proceso a sus necesidades y después lo siguen.

• La gente que ha solicitado el software participa durante la ejecución del modelo de software.

¿Por qué es importante?

• Proporciona estabilidad, control y organización a una actividad que si no controla puede volverse caótica.

¿Cuáles son los pasos?

• El proceso conduce a un equipo de software a través de un conjunto de actividades del marco de trabajo que se organizan en un flujo de proceso, el cual puede ser lineal, incremental o evolutiva.

¿Cuál es el producto obtenido?

• Desde el punto de vista de un ingeniero de software: programas, documentos y datos que se producen como consecuencia de las actividades y tareas que define el proceso.

¿Cómo puedo estar seguro de que lo he hecho correctamente?

• Los mejores indicadores de la eficacia del proceso que se utiliza son la calidad, el tiempo de entrega y la viabilidad a largo plazo del producto que se construye.

Page 3: 3. modelos prescriptivos de proceso

Modelos Prescriptivos

Los Modelos Prescriptivos de Proceso definen un conjunto distinto deactividades, acciones, tareas, flujo de trabajo, fundamentos y productosde trabajo que se requieren para software de alta calidad.

MODELO EN CASCADA

CARACTERÍSTICAS DESVENTAJAS

También se le conoce comoCiclo de Vida Clásico.

Enfoque sistemáticosecuencial hacia eldesarrollo del software.

Es el paradigma más antiguopara la ingeniería deSoftware.

Es muy raro que los proyectos reales siganel flujo secuencial que propone el modelo.

Con frecuencia es difícil para el clienteestablecer todos los requisitos de maneraexplícita.

El cliente debe tener paciencia. La naturaleza lineal del modelo conduce a

“estados de bloqueo” en los cuales algunosmiembros del equipo del proyecto debenesperar a otros para terminar tareasindependientes.

Page 4: 3. modelos prescriptivos de proceso

Modelo en Cascada

Comunicación•Inicio del proyecto

•Recopilación de requisitos

Planeación

•Estimación

•Itinerario

•Seguimiento

Modelado•Análisis

•Diseño

Construcción•Código

•Prueba

Despliegue•Entrega

•Soporte

•Retroalimentación

Page 5: 3. modelos prescriptivos de proceso

Modelos de Proceso Incrementales

MODELO INCREMENTAL

CARACTERÍSTICAS

Combina elementos del modelo en

cascada aplicado en forma iterativa.

Se enfoca en la entrega de un

producto operacional con cada incremento.

Entrega una serie de lanzamientos llamados

incrementos que proporcionan en forma

progresiva más funcionalidad para los

clientes a medida que se entrega cada uno de los

incrementos.

Page 6: 3. modelos prescriptivos de proceso

Modelo incremental

Tiempo de calendario de proyecto

Fu

ncio

na

lida

d y

ca

racte

rística

s d

el so

ftw

are

Comunicación

Planeación

Modelado (análisis, diseño)

Construcción (código, prueba)

Despliegue (entrega, retroalimentación)

Entrega del primer incremento

Entrega del segundo incremento

Entrega del n-ésimo incremento

Incremento # 1

Incremento # 2

Incremento # n

Page 7: 3. modelos prescriptivos de proceso

Modelo DRA (Desarrollo Rápido de Aplicaciones)

•Es una adaptación a “alta velocidad” del modelo en cascada en el que se logra el desarrollo rápido mediante un enfoque de construcción basado en componentes.

•Si se entienden bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite crear un sistema completamente funcional en un periodo muy corto.

CARACTERÍSTICAS

•Necesita muchos Recursos Humanos

•Desarrolladores y los clientes deben involucrarse con las actividades del desarrollo del sistema

•La construcción de componentes es complicada

•Si se convierte interfaces en componentes el DRA no funcionará

•Es inapropiado con riesgos técnicos muy altos

DESVENTAJAS

Page 8: 3. modelos prescriptivos de proceso

Modelo DRA

ModeladoModelado del negocio

Modelado de los datos

Modelado del proceso

Construcción

Reutilización de componentes

Generación de código automático

Pruebas

Comunicación

Planeación

60 - 90 días

ModeladoModelado del negocio

Modelado de los datos

Modelado del proceso

Construcción

Reutilización de componentes

Generación de código automático

Pruebas

ModeladoModelado del negocio

Modelado de los datos

Modelado del proceso

Construcción

Reutilización de componentes

Generación de código automático

Pruebas

DespliegueIntegraciónEntregaRetroalimentación

Equipo #1

Equipo #2

Equipo #n

Page 9: 3. modelos prescriptivos de proceso

Modelos de Proceso EvolutivosLos modelos evolutivos son iterativos, los caracteriza la forma en quepermiten que los ingenieros de software desarrollen versiones cada vezcompletas del software.Su propósito es desarrollar software de alta calidad de una maneraiterativa o incremental.

CONSTRUCCION DE PROTOTIPOS

CARACTERISTICAS DESVENTAJAS

Se puede utilizar como un modelo de proceso independiente o como una técnica susceptible de implementarse dentro de otros modelos. Ayuda al ingeniero de sistemas y al

cliente a entender de mejor maneracual será el resultado de laconstrucción cuando los requisitosestén satisfechos.

El cliente no entiende lo que esun prototipo y el sistema final

El desarrollador puedeadaptarse al lenguaje con elque elaboró el prototipo

La calidad del software sereduce.

Page 10: 3. modelos prescriptivos de proceso

Construcción de Prototipos

Plan rápido

Modelado diseño rápido

Construcción del prototipo

Desarrollo, entrega y

retroalimentación

Comunicación

Page 11: 3. modelos prescriptivos de proceso

Modelo en Espiral

DESVENTAJAS

- Es difícil convencer a los clientes de que el enfoque evolutivo es controlable.

- Requiere una habilidad considerable para evaluar el riesgo.

- Si un riesgo importante no se descubre y administra, sin duda surgirán problemas.

CARACTERÍSTICAS

- Conjuga la naturaleza iterativa de la construcción de prototipos con los aspectos controlados y sistemáticos del modelo cascada.

- Proporciona el material para el desarrollo rápido de versiones incrementales del software.

- Se puede adaptar y aplicar a través del ciclo de vida completo de una aplicación, desde el desarrollo del concepto hasta el mantenimiento.

- Es un enfoque realista para el desarrollo de software y de sistemas a gran escala.

- Se considera el riesgo en cada revolución

- Se revisa los costos

- Se adapta a lo largo de la vida del software

Page 12: 3. modelos prescriptivos de proceso

Modelo Espiral

Comunicación

Planeación

EstimaciónItinerarioAnálisis de riesgos

Despliegue

EntregaRetroalimentación

Construcción

CódigoPrueba

Modelado

AnálisisDiseño

Inicio

Page 13: 3. modelos prescriptivos de proceso

Modelo Desarrollo Concurrente

CARACTERÍSTICAS

Se representa en forma esquemática como una serie de actividades del

marco de trabajo, acciones y tareas de la ingeniería del software

y sus estados asociados.

Es más apropiado para proyectos donde

están implicados diferentes equipos de

ingeniería.

Todas las actividades existen de forma

concurrente, pero se encuentra en

diferentes estados.Proporciona una visión exacta del estado actual del

proyecto.

Los eventos generados en un

punto de la red del proceso disparan

transiciones entre los estados.

Page 14: 3. modelos prescriptivos de proceso

Modelo Desarrollo Concurrente

Ninguno

Bajo desarrollo

En espera de cambios En

modificación

En revisiónEn línea de

base

Realizado

Representa el estado de una actividad o

tarea de la ingeniería de software

Actividad de modelado

Page 15: 3. modelos prescriptivos de proceso

Modelos Especializados de ProcesoSe aplican cuando se ha elegido un enfoque de ingeniería del software definidode una manera muy estrecha.

1. D

ESA

RR

OLL

O B

ASA

DO

EN

C

OM

PO

NEN

TES

CARACTERÍSTICAS

- Incorpora muchas de las características del modelo espiral.

- Destaca la reutilización y ensambladura de componentes.

- Se pueden emplear cuando el software está en construcción.

- Proporcionan funcionalidad dirigida con interfaces bien definidas que permiten su integración en el software.

PASOS

- Investigar productos basados en componentes y evaluarlos

- Integración de componentes

- Diseñar arquitectura de software

- Integrar los componentes a la arquitectura

- Pruebas

Page 16: 3. modelos prescriptivos de proceso

Modelos Especializados de Proceso

2. MODELO DE MÉTODO FORMALES

CARACTERÍSTICAS

Definen un conjunto de actividades basadas enuna especificación matemática

Se verifica mediante notación matemáticarigurosa.

Una variación de este modelo es el llamado“Ingeniería del software de sala limpia”

La ambigüedad, el estado incompleto y lainconsistencia se descubren y corrigen conmayor facilidad.

DESVENTAJAS

• Es muy caro y consume muchotiempo

• Se requiere una capacitacióndetallada al personal

• Dificulta la comunicación con losclientes

Page 17: 3. modelos prescriptivos de proceso

Modelos Especializados de Proceso

CARACTERÍSTICAS

Conocido también como Programación Orientada aAspectos (POA).

Incluye los intereses generales que cubren laarquitectura total del sistema.

Proporciona un proceso y enfoque metodológicopara definir, especificar, diseñar y construir aspectos(mecanismos más allá de subrutinas).

Page 18: 3. modelos prescriptivos de proceso

El Proceso Unificado

CA

RA

CTE

RÍS

TIC

AS

Es un ciclo de vida incremental e iterativo propuesto por los creadores de UML (Unified

Modeling Language).

Dirigido por los casos de uso

Centrado en la arquitectura

Iterativo e incremental

Distingue 6 fases: inicio, elaboración, construcción, transición, producción.

Page 19: 3. modelos prescriptivos de proceso

Fase de Producción

Se realiza el monitoreo continuo y el soporte.

Fase de TransiciónTransfiere el software del desarrollador al usuario final para realizar las pruebas beta y obtener la

aceptación.

Fase de Construcción

Refina y después traduce el modelo de diseño en componentes de software implementados.

Fase de elaboraciónAbarca la comunicación con el cliente y las actividades de modelado con un enfoque en la creación de modelos

de análisis y diseño, con énfasis en las definiciones de clase y representaciones arquitectónicas.

Fase InicioAbarca la comunicación con el cliente y las actividades de planeación y destaca el desarrollo y el

refinamiento de casos de uso como un modelo primario.

Fases del Proceso Unificado

Page 20: 3. modelos prescriptivos de proceso

El Proceso UnificadoElaboración

Inicio

ConstrucciónTransición

Incremento del software

Lanzamiento

Producción

Page 21: 3. modelos prescriptivos de proceso

Productos de trabajo del proceso unificado

Fase

de

co

nst

rucc

ión

Fase

de

ela

bo

raci

ón

Fase

de

tra

nsi

ció

n

Fase

de

inic

ioDocumento de la visión

Modelo inicial de caso de uso

Glosario inicial del proyecto

Caso inicial de negocio

Evaluación inicial del riesgo

Plan de Proyecto, fases e iteraciones

Modelo del negocio si es necesario

Uno o más prototipos

Modelo de casos de uso

Requisitos suplementarios, se incluyen los no funcionales

Modelo de análisis

Descripción de la arquitectura del software

Prototipo arquitectónico ejecutable

Modelo de diseño preliminar

Lista revisada de riesgo

Plan de proyecto que incluye:

• Plan de iteración

• Flujos de trabajo adoptados

• Fundamentos

• Productos técnicos del trabajo

• Manual preliminar del usuario

Modelo del diseño

Componentes del software

Incremento integrado del software

Plan y procedimiento de pruebas

Casos de prueba

Documentación del soporte

Manuales del usuario

Manuales de instalación

Descripción del incremento actual

Incremento de software integrado

Reportes de las pruebas beta

Retroalimentación general del usuario

Page 22: 3. modelos prescriptivos de proceso

Bruegge, B., Dutoit, A.H., Ingeniería del Software Orientado a Objetos, cap. 1

Jacobson, I., Booch, G., Rumbaugh, J., El Proceso Unificado de Desarrollo de Software, cap. 1

Pressman, R.S., Ingeniería del Software. Un enfoque práctico, cap. 1 y 2

Sommerville, I., Ingeniería de Software, cap. 1, 2 y 3

Referencias