Вы находитесь на странице: 1из 25

Proceso de desarrollo de software

Pablo Gervs

F. Informtica, UCM, noviembre


2007

Contenidos

El proceso de desarrollo de software (PDS)


Una vara de medir para empresas: SW CMM

Conceptos importantes

Personas (los que trabajan)


Producto (lo que se obtiene)
Proyecto (la pauta a seguir para desarrollar
un producto)
Proceso (la pauta a seguir para desarrollar
un proyecto)

Para vosotros

Personas
Producto
Proyecto
Proceso

(vuestro
grupo)
(la
aplicacin
elegida)
(parte prctica
IS)
(entregas mensuales +
cmo vosotros
decidis
organizaros)

Modelos Genricos de Desarrollo de


Software

Desarrollo Evolutivo
Modelo de Cascada
Prototipado
En espiral
Desarrollo basado en componentes
Mtodos Formales

Desarrollo Evolutivo
Actividades
Concurrente
s

Descripcin
del sistema

Especificacin

Versin
Inicial

Desarrollo

Versiones
Intermedias

Validacin

Versin
Final

Modelo de Cascada
Definicin de
Requerimientos

Diseo del Software


y del Sistema

Implementacin y
Prueba de unidades

Integracin y Prueba
del Sistema

Operacin y
Mantenimient
o

Prototipado

Se usa un prototipo para dar al usuario una idea


concreta de lo que va a hacer el sistema
Se aplica cada vez ms cuando la rapidez de
desarrollo es esencial
Prototipado exploratorio: el prototipo inicial se
refina progresivamente hasta convertirse en
versin final
Prototipado de usar y tirar: de cada prototipo se
extraen ideas buenas que se usan para hacer el
siguiente, pero cada prototipo se tira entero

Modelo de Proceso de Espiral


Determine objetivos
alternativas y
restricciones

Anlisis de
Riesgos
Anlisis de
Riesgos

Evale alternativas,
identifique y resuelva
riesgos

Anlisis de
Riesgos

REVISIN
Plan de
requerimientos
Plan del ciclo de vida
Plan de
Desarrollo

Planea la
siguiente
fase

Plan de
Integracin
y Prueba

Prototipo
Prototipo
3
2

Prototipo
Operacional

Anlisis
de Proto
Riesgo tipo1
s
Simulaciones, modelos y
Concepto
benchmarks
de
Requeri
Operacin mientos
Diseo
Diseo
Detallado
de
Validacin de
del Codificacin
SW
Requerimiento
ProductoPrueba
s
de
Dise
Prueba deUnidades
o
Integracin
V &V Prueba de
Desarrolla y verifica
Aceptacin
el siguiente nivel
Servici
del producto
o

Desarrollo basado en
componentes
Identificar
componentes
candidatos
Construir
iteracin N
del sistema

Buscar
componentes
en biblioteca

Aadir
componentes
a biblioteca

Extraer
componentes
disponibles

Construir
componentes
que falten

Desarrollo con mtodos formales

Transformaciones formales

El Proceso de Software

Conjunto estructurado de actividades requeridas


para desarrollar un sistema de software.

Especificacin.
Diseo.
Validacin.
Evolucin.

Las actividades varan dependiendo de la


organizacin y del tipo de sistema a desarrollarse.
Debe estar explcitamente modelado si va a ser
bien administrado.

El Proceso de Software

Las instrucciones para desarrollar una aplicacin.

Cmo descubrir qu tiene que hacer la aplicacin.


Cmo decidir cmo va a estar estructurada la aplicacin.
Cmo asegurarse de que la aplicacin funciona y hace lo que tena que hacer.
Cmo ocuparse de que la aplicacin se pueda ampliar / migrar / adaptar.

Hay que adaptarlas para cada caso.

Conviene que las instrucciones figuren por escrito


(Cundo?
)

Proceso explcito: condiciones

Se llevan a cabo varios proyectos en paralelo


Se hacen proyectos peridicamente
El equipo es muy grande
Hay mucha rotacin de personal
Se pretende ir refinando la manera de trabajar

Qu debe incluir un Proceso

Especificacin - establecer los requisitos y


restricciones del sistema
Diseo - producir un modelo en papel del sistema
Manufactura - construir el sistema
Prueba - verificar que el sistema cumpla con las
especificaciones requeridas
Instalacin - entregar el sistema al usuario y
asegurarse de que satisface sus necesidades
Mantenimiento - reparar fallos en el sistema
cuando sea descubiertos

Ejemplos

Dos modelos de proceso concretos:

Proceso Unificado de Rational (pesado)


Extreme Programming
(gil)

Proceso Unificado de Rational

Extreme Programming (XP)


Diferencias fundamentales (hay ms que ya se vern)
No hay requisitos explcitos sino que el cliente participa
en el desarrollo
Se empieza por automatizar las pruebas
Se desarrolla siempre la versin ms simple posible que
resuelva el problema
Se ejecutan todas las pruebas todos los das
Se cambia el diseo (aunque sea radicalmente) siempre
que haga falta

Contenidos

El proceso de desarrollo de software (PDS)


Una vara de medir para empresas: SW CMM

La empresa ideal

El Dpto. de la Defensa de los US fund el


Software Engineering Institute (SEI)
asociado con Carnegie Mellon.
Desarrollan el Software Capability Maturity
Model (SW CMM) a mediados de 1980s,
refinado en los inicios de l990s.

Software Capability Maturity Model

Areas clave del proceso

Ian Sommerville 1995

Software Engineering, 5th edition. Chapter 31.

Slide ##

Datos Agosto 2000

Inicial
34,9%
Repetible
38,2%
Definido
18,5%
Gestionado
5,5%
Optimizado
2,9%

Resultados de 901 empresas desde 1996.

Referencias

Modelos de proceso

Proceso unificado de Rational

Pressman 17-46, Sommerville 42-67


Jacobson, Krutchen

SW CMM

reas clave del SW CMM (campus virtual)


Pressman 21-25, Sommerville 557-575
http://www.sei.cmu.edu/cmm/obtain.cmm.html

Вам также может понравиться