Está en la página 1de 22

Sesión III: Modelos Prescriptivos

de Proceso

Ing. Luis Alfredo Fernández Vizcarra


lfernandez@speedy.com.pe
lfernandez@coesi.com.pe
Vistazo rápido: Modelos Prescriptivos
¿Qué es? ¿Quién lo hace?
• Un conjunto distinto de actividades, • Los ingenieros de software y sus
acciones, tareas, fundamentos y gerentes adaptan un modelo
productos de trabajo que se prescriptivo de proceso a sus
requieren para desarrollar software necesidades y después lo siguen.
de alta calidad. • La gente que ha solicitado el
• Proporcionan una guía útil para el software participa durante la
trabajo de la ingeniería del software. ejecución del modelo de software.

¿Por qué es importante? ¿Cuáles son los pasos?


• Proporciona estabilidad, control y • El proceso conduce a un equipo de
organización a una actividad que si software a través de un conjunto de
no controla puede volverse caótica. 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 ¿Cómo puedo estar seguro


obtenido? de que lo he hecho
• Desde el punto de vista de un correctamente?
ingeniero de software: • Los mejores indicadores de la
programas, documentos y datos que eficacia del proceso que se utiliza
se producen como consecuencia de son la calidad, el tiempo de entrega y
las actividades y tareas que define el la viabilidad a largo plazo del
proceso. producto que se construye.
Modelos Prescriptivos
Los Modelos Prescriptivos de Proceso definen un conjunto distinto de
actividades, acciones, tareas, flujo de trabajo, fundamentos y productos
de trabajo que se requieren para software de alta calidad.

MODELO EN CASCADA
CARACTERÍSTICAS DESVENTAJAS
 También se le conoce como  Es muy raro que los proyectos reales sigan
Ciclo de Vida Clásico. el flujo secuencial que propone el modelo.
 Enfoque sistemático  Con frecuencia es difícil para el cliente
secuencial hacia el establecer todos los requisitos de manera
desarrollo del software. explícita.
 Es el paradigma más antiguo  El cliente debe tener paciencia.
para la ingeniería de  La naturaleza lineal del modelo conduce a
Software. “estados de bloqueo” en los cuales algunos
miembros del equipo del proyecto deben
esperar a otros para terminar tareas
independientes.
Modelo en Cascada
•Inicio del proyecto
Comunicación
•Recopilación de requisitos

•Estimación
Planeación •Itinerario
•Seguimiento

•Análisis
Modelado
•Diseño

•Código
Construcción
•Prueba

•Entrega
Despliegue •Soporte
•Retroalimentación
Modelos de Proceso Incrementales
MODELO INCREMENTAL
Combina elementos
del modelo en
cascada aplicado en
forma iterativa.

Entrega una serie de


lanzamientos llamados CARACTERÍSTICAS
incrementos que
proporcionan en forma Se enfoca en la
progresiva más entrega de un
funcionalidad para los producto operacional
clientes a medida que se con cada incremento.
entrega cada uno de los
incrementos.
Modelo incremental
Comunicación
Funcionalidad y características del software

Planeación
Modelado (análisis, diseño)
Construcción (código, prueba)
Despliegue (entrega, retroalimentación)
Incremento # n
Entrega del
n-ésimo incremento

Incremento # 2
Entrega del
segundo incremento

Incremento # 1
Entrega del
primer incremento

Tiempo de calendario de proyecto


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.
CARACTERÍSTICAS •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.

•Necesita muchos Recursos Humanos


•Desarrolladores y los clientes deben involucrarse con
las actividades del desarrollo del sistema
DESVENTAJAS •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
Modelo DRA
Equipo #n Modelado
Modelado del negocio
Modelado de los datos
Modelado del proceso
Equipo #2
Construcción
Modelado Reutilización de
Comunicación Modelado del negocio componentes
Modelado de los datos Generación de código
Modelado del proceso automático
Pruebas
Planeación Equipo #1 Construcción
Reutilización de
Modelado componentes
Modelado del negocio
Generación de código
Modelado de los datos automático
Modelado del proceso Pruebas

Construcción
Reutilización de
componentes Despliegue
Generación de código Integración
automático Entrega
Pruebas Retroalimentación

60 - 90 días
Modelos de Proceso Evolutivos
Los modelos evolutivos son iterativos, los caracteriza la forma en que
permiten que los ingenieros de software desarrollen versiones cada vez
completas del software.
Su propósito es desarrollar software de alta calidad de una manera
iterativa o incremental.

CONSTRUCCION DE PROTOTIPOS
CARACTERISTICAS DESVENTAJAS
Se puede utilizar como un modelo de  El cliente no entiende lo que es
proceso independiente o como una un prototipo y el sistema final
técnica susceptible de implementarse  El desarrollador puede
dentro de otros modelos. adaptarse al lenguaje con el
 Ayuda al ingeniero de sistemas y al que elaboró el prototipo
cliente a entender de mejor manera  La calidad del software se
cual será el resultado de la reduce.
construcción cuando los requisitos
estén satisfechos.
Construcción de Prototipos

Plan rápido

Modelado
Comunicación diseño
rápido

Desarrollo, entreg
Construcción
ay
del prototipo
retroalimentación
Modelo en Espiral
CARACTERÍSTICAS DESVENTAJAS
- Conjuga la naturaleza iterativa de la - Es difícil convencer a los clientes de
construcción de prototipos con los aspectos que el enfoque evolutivo es
controlados y sistemáticos del modelo controlable.
cascada.
- Requiere una habilidad considerable
- Proporciona el material para el desarrollo para evaluar el riesgo.
rápido de versiones incrementales del
- Si un riesgo importante no se
software.
descubre y administra, sin duda
- Se puede adaptar y aplicar a través del ciclo surgirán problemas.
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
Modelo Espiral
Planeación
Estimación
Itinerario
Análisis de riesgos

Comunicación

Modelado
Análisis
Diseño
Inicio

Construcción
Despliegue
Código
Entrega Prueba
Retroalimentación
Modelo Desarrollo Concurrente

Todas las actividades


existen de forma
concurrente, pero se
encuentra en diferentes
estados.
Es más apropiado para
proyectos donde están Proporciona una visión
implicados diferentes exacta del estado actual
equipos de ingeniería. del proyecto.

Se representa en forma
esquemática como una Los eventos generados
serie de actividades del en un punto de la red
marco de trabajo, acciones CARACTERÍSTICAS del proceso disparan
y tareas de la ingeniería del transiciones entre los
software y sus estados estados.
asociados.
Modelo Desarrollo Concurrente
Ninguno Representa el estado
de una actividad o
Actividad de modelado tarea de la ingeniería
de software
Bajo desarrollo

En espera de
cambios En
modificación

En revisión
En línea de
base

Realizado
Modelos Especializados de Proceso
Se aplican cuando se ha elegido un enfoque de ingeniería del software definido
de una manera muy estrecha.
1. DESARROLLO BASADO EN

CARACTERÍSTICAS
- Incorpora muchas de las características del modelo espiral.
COMPONENTES

- 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.

- Investigar productos basados en


componentes y evaluarlos
- Integración de componentes
PASOS - Diseñar arquitectura de software
- Integrar los componentes a la
arquitectura
- Pruebas
Modelos Especializados de Proceso
CARACTERÍSTICAS
Definen un conjunto de actividades basadas en DESVENTAJAS
una especificación matemática • Es muy caro y consume mucho
Se verifica mediante notación matemática tiempo
rigurosa.
• Se requiere una capacitación
Una variación de este modelo es el llamado detallada al personal
“Ingeniería del software de sala limpia”
La ambigüedad, el estado incompleto y la • Dificulta la comunicación con los
inconsistencia se descubren y corrigen con clientes
mayor facilidad.

2. MODELO
DE MÉTODO
FORMALES
Modelos Especializados de Proceso
CARACTERÍSTICAS
Conocido también como Programación Orientada a
Aspectos (POA).
Incluye los intereses generales que cubren la
arquitectura total del sistema.
Proporciona un proceso y enfoque metodológico
para definir, especificar, diseñar y construir aspectos
(mecanismos más allá de subrutinas).
El Proceso Unificado
Es un ciclo de vida incremental e iterativo propuesto por los
creadores de UML (Unified Modeling Language).

CARACTERÍSTICAS
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.
Fases del Proceso Unificado
Fase Inicio
Abarca 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.

Fase de elaboración
Abarca 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 de Construcción
Refina y después traduce el modelo de diseño en componentes de software implementados.

Fase de Transición
Transfiere el software del desarrollador al usuario final para realizar las pruebas beta y obtener la
aceptación.

Fase de Producción
Se realiza el monitoreo continuo y el soporte.
El Proceso Unificado
Elaboración
Inicio

Lanzamiento
Incremento del
software

Construcción
Producción Transición
Productos de trabajo del proceso unificado

Documento de la

Fase de inicio
Modelo de casos de uso

Fase de elaboración
visión Modelo del diseño

Fase de construcción
Requisitos

Fase de transición
Modelo inicial de suplementarios, se Componentes del Incremento
caso de uso incluyen los no software
funcionales de software
Glosario inicial del Modelo de análisis Incremento integrado
proyecto integrado del
Descripción de la Reportes de
Caso inicial de arquitectura del software software
negocio Prototipo arquitectónico Plan y las pruebas
ejecutable procedimiento de beta
Evaluación inicial
del riesgo Modelo de diseño pruebas Retroaliment
preliminar
Plan de Casos de prueba ación
Lista revisada de riesgo
Proyecto, fases e Documentación del general del
Plan de proyecto que
iteraciones incluye: soporte usuario
Modelo del • Plan de iteración Manuales del
negocio si es • Flujos de trabajo usuario
adoptados
necesario Manuales de
• Fundamentos
Uno o más • Productos técnicos del instalación
prototipos trabajo
Descripción del
• Manual preliminar del
usuario incremento actual
Referencias

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

También podría gustarte