Você está na página 1de 26

Ingeniera de Software

Ingeniera de Software y Control de Proyectos


Modelos de Proceso
Metodologas

Ingeniera de Software

El Proceso

Ingeniera del Software y Control de Proyectos


Requerimientos

Plan Proyecto
Diseo

Implementacin

Producto

Ingeniera de Software
Fundamentos-Proceso
Ingeniera de Software:
Combinacin de elementos

mejores elementos
de programacin

mtodos completos para


todas las fases

herramientas para automatizar


los mtodos

filosofa de coordinacin,
control
y buena gestin

mejores tcnicas de
control de calidad

Ingeniera de Software
Fundamentos-Proceso

El Proceso
+ Introduccin

H
M
Proceso

Marco de trabajo

Calidad

Ingeniera

IS una Visin:
Se encarga del desarrollo de proyectos tomando en consideracin
tres etapas:
Qu?

Cmo?

Cambio?

Definicin
Ing. Sist.+Planif.+Anlisis

Desarrollo
Diseo+Codif.+Pruebas

Mtto
Correccin
Adaptacin

Mejoras
Prevencin

Ingeniera de Software
Fundamentos-Proceso

El Proceso
Actividades

- Seguimiento y Control
- Gestin Riesgo
- RTF
- Garanta de la Calidad
- Reutilizacin
- Mediciones
- Configuracin

Conjunto de tareas
Tareas
Hitos, entregas
Puntos SQA

Actividades de Proteccin

Documentacin

Desarrollo

Control de calidad

Gestin

Gestin Configuracin

Reuniones

Mantenimiento

Operacin

Verificacin

Resolucin de problemas

Validacin

Auditora

Mejora

Ingeniera de Software
Fundamentos-Proceso
Objetivo del Proceso
I. Mejorar Calidad

III. Fechas y costos predecibles

II. Proyectos Manejables

IV. Guiar

Actividades, tareas y recursos


Actividad (o fase): conjunto de tareas que se realiza con un
propsito especfico (obtencin de requisitos, entrega,
administracin,...) pueden componerse de otras act.

PROCESO

Tarea: unidad elemental de trabajo que puede ser


administrada; consumen recursos, dan como resultado
productos de trabajo y dependen de productos de trabajo

ACTIVIDAD 1

ACTIVIDAD n

producidos por otras tareas.


TAREA 1

Recursos: bienes que se utilizan para realizar el trabajo:

tiempo, equipamiento y recursos humanos

al planificar, el gerente divide el trabajo en tareas y les asigna


recursos

Pueden incrementar la burocracia, e introducir dificultades (desarrolladores/clientes).

TAREA X

TAREA 1

Ingeniera de Software
Fundamentos-Proceso
Proceso

Los ingenieros de software buscan una solucin adecuada, en


varios pasos:
Formular el problema
Analizar el problema
Buscar soluciones
Decidir la solucin ms adecuada
Especificar la solucin

Actividades bsicas del desarrollo


Obtencin de requerimientos
Anlisis
Diseo del sistema
Implementacin

Otras actividades del desarrollo para evaluar la adecuacin de los modelos


Revisiones del anlisis: modelo del dominio del problema Vs. realidad del cliente
Revisiones del diseo: modelo del dominio de la solucin Vs. con los objetivos del
proyecto
Pruebas:
sistema Vs. el modelo del dominio de la solucin
Administracin del proyecto: modelo del proceso de desarrollo (calendario y
presupuesto)
Vs. (trabajos entregados y recursos gastados)

Ingeniera de Software
Fundamentos-Proceso
Calidad
Dos tipos:
1. Externos

Correccin, Robustez, Modificabilidad, Reusabilidad,


Compatibilidad, Eficiencia, Portabilidad, Verificabilidad,
Integridad, Facilidad de Uso.

2. Internos:

Modularidad

Legibilidad

No hacer simplificacin excesiva, seriedad, planear, controlar, profesional.

Ingeniera de Software
Fundamentos-Proceso
El Proceso
-

Conjunto ordenado de tareas, una serie de pasos que involucran actividades,


restricciones y recursos, que producen una salida determinada.
Proceso de software: conjunto de actividades necesarias para transformar los
requisitos de un usuario en un sistema software.
Caractersticas
tiene una serie de actividades principales.
utiliza recursos, est sujeto a restricciones y genera productos intermedios y
finales.
compuesto por subprocesos que se encadenan de alguna forma.
cada actividad tiene sus criterios de entrada y salida, que permiten conocer
cuando comienza y termina dicha actividad.
existen principios orientadores que explican las metas de cada actividad.

Cuando implica construccin de un producto, se suele llamar ciclo de vida.


Aportan consistencia y estructura sobre el conjunto de actividades, lo que
permite realizar la misma tarea correctamente de forma repetida.
Existen diferentes modelos de proceso.

Ingeniera de Software
Modelos de Proceso
Modelos de Proceso (paradigmas)
Modelado: mtodo bsico de la ciencia
Modelo
Representacin abstracta de un sistema que da respuesta a preguntas sobre el
sistema

Resolucin de problemas:
Def. Problemas
Identificar

Estado actual
Desarrollo
Solucin

Integracin
resultados

Ingeniera de Software
Proceso - Tecnologas
Tecnologas de Procesos
Analizar procesos actuales, organizar tareas, controlar, monitorear, calidad.

Por qu? Para qu ?

Se hace seleccin del modelo para el proceso de desarrollo?

Plan
Se realiza el plan y se genera el programa que contenga tareas y tiempos realistas.
El progreso de las actividades deben ser monitoreadas.
Se pueden utilizar las herramientas y tcnicas usadas en otras disciplinas.

Ingeniera de Software
Modelos de Proceso
Modelos de Procesos de Desarrollo de Sistemas

Ciclos de Vida: Etapas del desarrollo y existencia del producto.


Cascada

Exploratorio

Iterativo

Espiral

Prototipos

Rehuso

Desarrollo gil

Ingeniera de Software
Ingeniera del Software y Control de Proyectos
Modelos Clsicos de Proceso

Anlisis
Des. Prototipo
Diseo

Ingeniera de Software
Modelos de Proceso Ad-Hoc
Modelos de Procesos de Desarrollo de Sistemas
Modelo de desarrollo Ad-hoc:
Desarrollo de sistemas de forma catica o fortuita dependiendo enteramente de
las habilidades y experticias de los miembros que llevan a cabo el trabajo.
Center for Technology in Government. University of Albany

Capacidad de proceso impredecible, cambiado o modificado con el trabajo.


Programas, presupuesto, funcionalidad y calidad del producto inconsistentes.
xito por capacidad individual, habilidades, conocimientos y motivaciones,
mas que procedimientos organizacionales o mtodos consistentes.
Pocos procesos de software estables, sin un proceso maduro de la
organizacin.
El seguir teniendo resultados depende completamente en contar con el
mismo grupo para el siguiente proyecto.
El xito que depende de esto no provee bases para una productividad a
largo plazo y mejoramiento de la calidad en toda la organizacin
Paulk, Curtis, Chrissis and Weber

Ingeniera de Software
Modelos de Proceso: Cascada
Modelo en Cascada (Lineal Secuencial)
Es uno de los ms antiguos y tambin ms utilizados. Esto es atribuido debido
a que provee las bases tericas para otros modelos de proceso debido a su gran
parecido al ciclo de vida de desarrollo.
Requerimentos
y Anlisis
Diseo
Implementacin
Pruebas
Mantenimiento

Retroalimentacin y
correccin de errores

Ingeniera de Software
Modelos de Proceso: Cascada
Modelo en Cascada (cont...)
Consiste de los siguientes pasos:
Conceptualizacin del sistema.

Anlisis del sistema.

Diseo del sistema.

Codificacin.

Prueba.

Mtto.

An siendo ampliamente usado, tambin es atacado:


Diseo rgido y procedimientos poco flexibles.
Dificultad para establecer requisitos concretos al comienzo.
Proyectos raramente siguen la secuencia que propone el modelo.
Desarrollar bajo este modelo puede ser largo y tedioso
No produce versin del sistema sino muy tarde en el proceso.
resultado de cada fase: uno o ms
documentos aprobados

se retrasa la localizacin y correccin


de errores

una fase comienza cuando la anterior


termina

pueden producir sistemas poco tiles


para usuarios o mal estructurados

en la prctica, las etapas se solapan

inflexibilidad del modelo: dificultad


para responder a cambios en los
requerimientos

iteraciones de coste elevado y


reelaboracin del trabajo: tendencia a
la congelacin de partes del desarrollo
(especificaciones,...)

Ingeniera de Software
Modelos de Proceso: Incremental
Modelos Iterativos
Incremental:
El proyecto es dividido en partes mas pequeas los resultados se ven
temprano y se obtiene valiosa retroalimentacin del usuario.
Caractersticas:
Cada iteracin es un mini proceso de cascada. Primero es un producto
esencial.
El producto obtenido al final de cada iteracin puede ser puesto en
produccin inmediatamente como una publicacin incremental.
Los usuarios tienen que estar activamente involucrados durante todo el
desarrollo del proyecto. Demanda de tiempo del staff (retraso).
Requerimientos informales para mejoras despus de cada fase puede
generar confusin.
Feedback despus de cada fase aumento de las demandas de usuarios.
Bueno si no hay personal completo, iteraciones son versiones incompletas.

Ingeniera de Software
Modelos de Proceso: Incremental
Modelo Iterativo Incremental

Ingeniera de Software
Modelos de Proceso: Incremental
Modelo Iterativo Incremental

D e fi n i c i n g e n e r a l d e
re q u e rim ie n t o s

A s ig n a c i n d e re q u e rim ie n t o s
a in c re m e n t o s

D is e o d e la a rq u it e c t u ra d e l
s is t e m a

D e s a rro llo d e in c re m e n t o s
d e l s is t e m a

V a lid a r
in c re m e n t o s

In t e g r a r
in c re m e n t o s

V a lid a r
s is t e m a

s i s te m a i n c o m p l e to
s i s te m a c o m p l e to

S i s te m a fi n a l

Ingeniera de Software
Modelos de Proceso: DRA
Modelos Iterativos
DRA:
Desarrollo rpido de Aplicaciones. Adaptacin de alta velocidad del modelo en
cascada. Basado en componentes, conociendo requisitos. Ciclos de 60-90 das.
Caractersticas:
Modular. Cada mdulo se debe desarrollar en 60-90 das.
Cada funcin es atacada por un equipo DRA.
Proyectos grandes necesitan mucha gente.
Riesgos tcnicos, no apropiado.

Ingeniera de Software
Modelos de Proceso: Prototipos
Modelo de Prototipos
Permite un desarrollo que obtiene algunos resultados sin requerir toda la
informacin desde el inicio.
El desarrollador construye una versin simplificada del sistema propuesto.
El cliente proporciona feedback y el desarrollador vuelve y refina el sistema.
A veces el prototipo es desechado y se inicia de nueva la construccin de otro.
El modelo comprende:
Definicin y recoleccin de requerimientos.
Creacin o modificacin del prototipo.
Anlisis
Evaluacin por el cliente.
Refinamiento del prototipo.
Des. Prototipo
Diseo
Implementacin del sistema.
Problemas: Puede crear falsas expectativas.
El diseo del sistema puede ser muy pobre.

Diseo

Ingeniera de Software
Modelos de Proceso: Espiral
Modelo en Espiral
Utiliza lo mejor de Cascada y Prototyping aadiendo un nuevo componente:
valoracin del riesgo.
Se desarrolla una versin inicial del sistema y es repetidamente revisada por el
cliente. Cada versin es cuidadosamente diseada usando los pasos
del modelo cascada.
A medida que avanza en el espiral se van obteniendo versiones mejoradas.
La valoracin del riesgo es incluida con cada versin para determinar si el
desarrollo debe o no continuar.
Est compuesto de:
Objetivos del proyecto.
Valoracin del riesgo.
Ingeniera y produccin.
Planificacin y gerencia.

Ingeniera de Software
Modelos de Proceso: Espiral
Modelo en Espiral

Ingeniera de Software
Modelos de Proceso: Rehuso
Modelo Rehuso
Fue concebido bajo la premisa de que un sistema debe ser construido utilizando
componentes existentes OOCE.
Se tienen libreras de mdulos de programas pueden ser copiados para
ser usado en cualquier sistema (procedurales, Base de Datos)..
Si no existe algn modulo que se necesite, el desarrollador lo construye y lo
guarda como una copia en las libreras para futuros usos.
Est compuesto de:
Definicin de requerimientos.
Definicin de objetos.
Coleccin de objetos
Creacin de objetos del usuario.
Ensamblado del prototipo.
Evaluacin del prototipo.
Refinamiento de requerimientos.
Refinamiento de objetos.

Ingeniera de Software
Modelos de Proceso: Comparacin

Ingeniera de Software
Metodologas de Desarrollo
Metodologas para el Desarrollo de Software
+ Modelos
+ Comparacin
- Metodologas

Es el proceso de software detallado y completo.


Las metodologas se basan en una combinacin de los modelos de
proceso genricos (cascada, evolutivo, incremental, etc.).

Clasificacin:
Por productos de Anlisis y Diseo:
Estructuradas
Orientadas a Objetos
Por Actividades (planificacin, control, modelado, generacin de cdigo)
Tradicionales - Clsicas
giles

Você também pode gostar