Documentos de Académico
Documentos de Profesional
Documentos de Cultura
los que trabajan
los que trabajan
Producto
lo que se obtiene
lo que se obtiene
Proyecto
la pauta a seguir para desarrollar un producto
la pauta a seguir para desarrollar un producto
Proceso
la pauta a seguir para desarrollar un proyecto
la pauta a seguir para desarrollar un proyecto
Un traje
Personas
El sastre
El sastre
Producto
El traje
El traje
Proyecto:
el sastre, el traje, el presupuesto del traje, el traje en s
el sastre, el traje, el presupuesto del traje, el traje en s
, los
, los
pasos a dar para hacer el traje...
pasos a dar para hacer el traje...
Proceso
La secuencia de acciones para hacer un traje concreto
La secuencia de acciones para hacer un traje concreto
Una cena
Personas
Empleados de una empresa de catering
Empleados de una empresa de catering
Producto
La cena que se sirve
La cena que se sirve
Proyecto
El men
El men
, ...
, ...
Proceso
La secuencia de acciones de servir una cena
La secuencia de acciones de servir una cena
Una gama de automviles
Personas
Empleados de la marca
Empleados de la marca
Producto
Los autom
Los autom
viles
viles
Proyecto
Desarrollo de un modelo nuevo
Desarrollo de un modelo nuevo
Proceso
Las instrucciones de la empresa sobre c
Las instrucciones de la empresa sobre c
mo
mo
desarrollar un modelo nuevo
desarrollar un modelo nuevo
Para vosotros
Personas
vuestro grupo
vuestro grupo
Producto
la aplicaci
la aplicaci
n elegida
n elegida
Proyecto
parte pr
parte pr
ctica IS
ctica IS
Proceso
entregas mensuales + c
entregas mensuales + c
mo vosotros decid
mo vosotros decid
is
is
organizaros
organizaros
Capas de la IS
Capa de enfoque de calidad
Capa de proceso
Capa de mtodos
Capa de herramientas
Capas de la IS
Capa de calidad
Base de cualquier proceso de ingenier
Base de cualquier proceso de ingenier
a
a
La IS se basa en calidad
La IS se basa en calidad
Mejores tcnicas de construccin de software
Capa de proceso
Capa que une calidad y m
Capa que une calidad y m
todos
todos
Desarrollo racional de la IS
C
C
onjunto
onjunto
de actividades y resultados asociados que
de actividades y resultados asociados que
sirven para construir un producto software
sirven para construir un producto software
Capas de la IS
Capa de mtodos
Un m
Un m
todo incluye:
todo incluye:
Anlisis de requisitos
Diseo
Construccin de programas
Prueba
Mantenimiento
Suelen estar bastante ligados al proceso
Suelen estar bastante ligados al proceso
Capa de herramientas
Soporte autom
Soporte autom
tico o semiautom
tico o semiautom
todos
todos
Herramientas CASE
Herramientas CASE
Visin general de la IS
Con independencia del modelo de proceso hay
tres fases genricas:
Fase de definici
Fase de definici
n
n
Fase de desarrollo
Fase de desarrollo
Fase de mantenimiento
Fase de mantenimiento
Cada una de estas fases se descompone en un
conjunto de tareas
Fase de definicin/especificacin
Se identifican requisitos de sistema y software:
Informaci
Informaci
n a procesar
n a procesar
Funci
Funci
n y rendimiento deseados
n y rendimiento deseados
Comportamiento del sistema
Comportamiento del sistema
Interfaces establecidas
Interfaces establecidas
Restricciones de dise
Restricciones de dise
o
o
Tareas principales:
Tareas principales:
Planificacin del proyecto software
Ingeniera de sistemas o de informacin
Anlisis de requisitos
Fase de desarrollo
Se define:
C
C
mo dise
mo dise
C
C
C
C
C
C
mo traducir el dise
mo traducir el dise
o a programaci
o a programaci
n
n
C
C
n)
n)
Tareas principales:
Tareas principales:
Diseo del software
Generacin del cdigo
Pruebas del software
Fase de mantenimiento
Centrada en cambios que se pueda necesitar realizar
sobre un producto
Se vuelven a aplicar las fases de definicin y
desarrollo, pero sobre software ya existente
Pueden producirse cuatro tipos de cambio:
Correcci
Correcci
n
n
: Corregir los defectos
: Corregir los defectos
Adaptaci
Adaptaci
n
n
: Modificaciones por cambio externo
: Modificaciones por cambio externo
Mejora
Mejora
: Ampliar los requisitos funcionales originales, a
: Ampliar los requisitos funcionales originales, a
petici
petici
n del cliente
n del cliente
Prevenci
Prevenci
n
n
: Cambio para facilitar el cambio
: Cambio para facilitar el cambio
Visin general de la IS
Estas fases se complementan con las
actividades de soporte
No crean software
No crean software
Mejoran su
Mejoran su
calidad
calidad
Facilitan su desarrollo
Facilitan su desarrollo
Se aplican a lo largo de todo el proceso del
software
Visin general de la IS
Ejemplos de actividades de soporte
Documentaci
Documentaci
n
n
Gesti
Gesti
n de configuraci
n de configuraci
n
n
Seguimiento y control del proyecto de software
Seguimiento y control del proyecto de software
Revisiones t
Revisiones t
cnicas formales
cnicas formales
Garant
Garant
Gesti
Gesti
n de reutilizaci
n de reutilizaci
n
n
Mediciones
Mediciones
Gesti
Gesti
n de riesgos
n de riesgos
Proceso software
Conjunto estructurado de actividades y resultados
asociados requeridos para desarrollar un sistema de
software
Especificaci
Especificaci
n
n
: establecer requisitos y restricciones
: establecer requisitos y restricciones
Dise
Dise
o
o
: Producir un modelo en papel del sistema
: Producir un modelo en papel del sistema
Implementaci
Implementaci
n
n
: construcci
: construcci
Validaci
Validaci
n
n
:
:
verificar (por ejemplo mediante pruebas) que el
verificar (por ejemplo mediante pruebas) que el
sistema cumple con las especificaciones requeridas
sistema cumple con las especificaciones requeridas
Instalaci
Instalaci
n
n
: entregar el sistema al usuario
: entregar el sistema al usuario
Evoluci
Evoluci
n y mantenimiento
n y mantenimiento
:
:
cambiar/adaptar el software
cambiar/adaptar el software
seg
seg
n las demandas;
n las demandas;
reparar fallos en el sistema
reparar fallos en el sistema
Modelos de proceso
Un modelo de proceso, o paradigma de IS, es
una plantilla, patrn o marco que define el
proceso a travs del cual se crea software
Dicho de otra forma, los procesos son
instancias de un modelo de proceso
En esta asignatura los trminos proceso y
modelo de proceso se utilizan indistintamente
Modelos de proceso
Una organizacin podra variar su modelo de
proceso para cada proyecto, segn:
La naturaleza del proyecto
La naturaleza del proyecto
La naturaleza de la aplicaci
La naturaleza de la aplicaci
n
n
Los m
Los m
Los controles y entregas requeridas
Los controles y entregas requeridas
Caractersticas del proceso
Entendible
Visibilidad: Grado en que las actividades del proceso
proporcionan resultados
Soportablepor herramientas CASE
Aceptabilidad: Grado en que los desarrolladores aceptan y
usan el proceso
Fiabilidad: Capacidad de evitar o detectar errores antes de que
sean defectos
Robustez: Continuidad del proceso a pesar de los problemas
Mantenible: Capacidad de evolucin para adaptarse
Rapidez: Velocidad en que el proceso puede proporcionar un
sistema a partir de una especificacin
Modelos Genricos de Desarrollo de
Software
Modelo de Cascada
Prototipado
Desarrollo Evolutivo
En espiral
Desarrollo basado en componentes
Mtodos Formales
Modelo en cascada (waterfall)
Modelo de proceso clsico (desde los 70)
Basado en la mentalidad de lnea de
ensamblaje (cartesiano)
Es sencillo y fcil de entender
El proyecto pasa a travs de una serie de fases
Al final de cada fase se revisan las tareas de
Al final de cada fase se revisan las tareas de
trabajo y productos
trabajo y productos
Para poder pasar a la siguiente fase se tiene que haber
conseguido todos los objetivos de la fase anterior
No hay apenas comunicaci
No hay apenas comunicaci
Conceptualizaci
Conceptualizaci
n
n
: Se determina la arquitectura de la
: Se determina la arquitectura de la
soluci
soluci
n (divisi
n (divisi
An
An
lisis de requisitos
lisis de requisitos
: B
: B
Dise
Dise
o
o
: Representaci
: Representaci
n de la aplicaci
n de la aplicaci
n que sirve de gu
n que sirve de gu
a a
a a
la implementaci
la implementaci
n
n
Implementaci
Implementaci
n
n
: Transforma el dise
: Transforma el dise
o en c
o en c
digo
digo
Prueba
Prueba
: Validaci
: Validaci
n e integraci
n e integraci
n de software y sistemas
n de software y sistemas
Instalaci
Instalaci
n y comprobaci
n y comprobaci
n
n
: Se instala el software al
: Se instala el software al
cliente, el cual comprueba la correcci
cliente, el cual comprueba la correcci
n de la aplicaci
n de la aplicaci
n
n
Se supone que slo se baja en la cascada... pero
tambin se puede subir (aunque difcilmente)
Modelo en cascada (waterfall)
Posibles ventajas:
Sencillo: Sirve cuando el personal est
Sencillo: Sirve cuando el personal est
poco cualificado
poco cualificado
Aplicable cuando el problema es estable y cuando se
Aplicable cuando el problema es estable y cuando se
trabaja con t
trabaja con t
cnicas conocidas
cnicas conocidas
Crticas:
No se ve un producto hasta muy tarde en el proceso
No se ve un producto hasta muy tarde en el proceso
Un error grave detectado en las ltimas fases puede ser letal
Especificaci
Especificaci
n de requisitos estable
n de requisitos estable
Impone una estructura de gesti
Impone una estructura de gesti
n de proyectos
n de proyectos
Fases muy rgidas
Las revisiones de proyectos de gran complejidad son muy
Las revisiones de proyectos de gran complejidad son muy
dif
dif
ciles
ciles
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
Prototipadoevolutivo: el prototipo inicial se refina
progresivamente hasta convertirse en versin final
Prototipadodesechable: de cada prototipo se extraen
ideas buenas que se usan para hacer el siguiente, pero
cada prototipo se tira entero
Prototipado
Escuchar
al cliente
El cliente
evala el
prototipo
Construir/
revisar
prototipo
Prototipado
Comienza con la recoleccin de requisitos
Cliente y desarrolladores definen los objetivos globales del
Cliente y desarrolladores definen los objetivos globales del
software.
software.
Adem
Adem
s definidos.
s definidos.
Aparece un diseo rpido centrado en los aspectos
visibles para el cliente (e.g. informacin de E/S)
El dise
El dise
o r
o r
n de un prototipo
n de un prototipo
El prototipo lo evala el cliente y lo utiliza para
refinar los requisitos
El proceso se itera... desechando el prototipo?
Prototipado
Ventajas
Permite identificar los requisitos incrementalmente
Permite identificar los requisitos incrementalmente
Permite probar alternativas a los desarrolladores
Permite probar alternativas a los desarrolladores
Tiene una alta visibilidad
Tiene una alta visibilidad
pidamente
pidamente
Inconvenientes
El cliente no entiende por qu
El cliente no entiende por qu
hay que desechar el prototipo
hay que desechar el prototipo
Si simplemente ha pedido unos ajustes...(?)
Riesgo de software de baja calidad
Riesgo de software de baja calidad
Compromisos de implementacin para que el prototipo funcione
rpidamente y que al final son parte integral del sistema
Utilizar un SO o lenguaje de programacin inadecuado pero conocido
Modelos evolutivos
Caractersticas:
Gestionan bien la naturaleza evolutiva del software
Gestionan bien la naturaleza evolutiva del software
Son iterativos: construyen versiones de software
Son iterativos: construyen versiones de software
cada vez m
cada vez m
s completas
s completas
Se adaptan bien:
Los cambios de requisitos del producto
Los cambios de requisitos del producto
Fechas de entrega estrictas poco realistas
Fechas de entrega estrictas poco realistas
Especificaciones parciales del producto
Especificaciones parciales del producto
Modelos evolutivos
Descripcin
del sistema
Versin
Inicial
Versiones
Intermedias
Versiones
Intermedias
Versin
Final
Especificacin
Desarrollo
Validacin
Actividades
Concurrentes
Modelos evolutivos. Incremental
Fusiona el modelo lineal secuencial con el de
construccin de prototipos
A
D C
P
1
er
incremento
A
D C
P
2 incremento
.....................
N-simo incremento
Modelos evolutivos. Incremental
Cada secuencia lineal secuencial produce un
incremento del software
Incremento: producto operacional de una parte del sistema
Incremento: producto operacional de una parte del sistema
El primer incremento suele ser el ncleo
Requisitos b
Requisitos b
sicos
sicos
Muchas funciones suplementarias se dejan para despu
Muchas funciones suplementarias se dejan para despu
s
s
Se evala (p.ej., por el cliente) el producto entregado
Como resultado se desarrolla un plan para el siguiente
Como resultado se desarrolla un plan para el siguiente
Se itera
Hasta elaborar el producto completo
Hasta elaborar el producto completo
Modelos evolutivos. Incremental
Ventajas
Es interactivo
Es interactivo
Con cada incremento se entrega al cliente un producto operacional
al cliente, que puede evaluarlo
Personal
Personal
Permite variar el personal asignado a cada iteracin
Gesti
Gesti
n riesgos t
n riesgos t
cnicos
cnicos
Por ejemplo, disponibilidad de hardware especfico
Inconvenientes
La primera iteraci
La primera iteraci
Vuelta a la espiral: ciclo
Vuelta a la espiral: ciclo
N
N
micamente
micamente
Se pueden variar las actividades de desarrollo: familia
de modelos de procesos
Modelo de Proceso de Espiral
Determine objetivos
alternativas y
restricciones
Evale alternativas,
identifique y resuelva
riesgos
Anlisis de
Riesgos
Anlisis de
Riesgos
Anlisis de
Riesgos
Anlisis
de
Riesgos
Planea la
siguiente fase
Desarrolla y verifica
el siguiente nivel
del producto
Prototipo
Operacional
Prototipo
3
Prototipo
2
Proto
tipo1
Plan de requerimientos
Plan del ciclo de vida
REVISIN
Plan de
Desarrollo
Plan de Integracin
y Prueba
Concepto de
Operacin
Simulaciones, modelos y benchmarks
Requeri
mientos
de
SW
Validacin de
Requerimientos
Diseo
V &V
Servicio
Prueba de
Aceptacin
Prueba de
Integracin
Prueba de
Unidades
Codificacin
Diseo
Detallado
Diseo
del
Producto
Modelo de Proceso en Espiral
El modelo en espiral es bastante adecuado para
la gestin de riesgos
Se puede aadir una actividad de gestin de
riesgos
De hecho, el modelo original de Boehm:
Fijar objetivos
Fijar objetivos
Gestionar y reducir riesgos
Gestionar y reducir riesgos
Desarrollo y validaci
Desarrollo y validaci
n
n
Planificar siguiente ciclo
Planificar siguiente ciclo
Modelos Evolutivos. Espiral Boehm
Fijar objetivos
Definir objetivos del ciclo
Definir objetivos del ciclo
Identificar restricciones del proceso y producto
Identificar restricciones del proceso y producto
Desarrollar plan de gesti
Desarrollar plan de gesti
n
n
Identificar riesgos
Identificar riesgos
Identificar estrategias alternativas
Identificar estrategias alternativas
Gestionar y reducir el riesgo
RSGR para cada riesgo identificado
RSGR para cada riesgo identificado
Modelos Evolutivos. Espiral Boehm
Desarrollo y validacin
Elegir modelo de desarrollo
Elegir modelo de desarrollo
Algunos autores lo denominan metamodelo
Algunos autores lo denominan metamodelo
Yo prefiero llamarlo modelo
Yo prefiero llamarlo modelo
param
param
trico
trico
Planificacin
Revisi
Revisi
n del proyecto
n del proyecto
Decisi
Decisi
Enfoque realista
Enfoque realista
Gesti
Gesti
n expl
n expl
cita de riesgos
cita de riesgos
Centra su atenci
Centra su atenci
n en la reutilizaci
n en la reutilizaci
n de
n de
componentes y eliminaci
componentes y eliminaci
n de errores en
n de errores en
informaci
informaci
Los objetivos de calidad son el primer objetivo
Los objetivos de calidad son el primer objetivo
Integra desarrollo con mantenimiento
Integra desarrollo con mantenimiento
Modelos de Proceso en Espiral
Inconvenientes
Convencer cliente enfoque controlable
Convencer cliente enfoque controlable
Requiere de experiencia en la identificaci
Requiere de experiencia en la identificaci
n de
n de
riesgos
riesgos
Requiere refinamiento para uso generalizado
Requiere refinamiento para uso generalizado
Desarrollo Basado en Componentes
Desarrollo de sistemas en poco tiempo
Adaptacin a alta velocidad de la cascada
Equipos trabajando en paralelo
Equipos trabajando en paralelo
Aplicando tecnolog
Aplicando tecnolog
a de componentes
a de componentes
A
D
C
P
Equipo 1
A
D
C
P
Equipo 2
A
D
C
P
Equipo n
............
60-90 das
Desarrollo Basado en Componentes
Ventajas
Rapidez
Rapidez
V
V
Exige conocer bien los requisitos y delimitar el
Exige conocer bien los requisitos y delimitar el
mbito del
mbito del
proyecto
proyecto
N
N
mero de personas
mero de personas
Clientes y desarrolladores comprometidos
Clientes y desarrolladores comprometidos
Gesti
Gesti
n riesgos t
n riesgos t
cnicos altos
cnicos altos
Uso de nueva tecnologa
Alto grado de interoperabilidad con sistemas existentes
Identificar
componentes
candidatos
Buscar
componentes
en biblioteca
Extraer
componentes
disponibles
Construir
componentes
que falten
Aadir
componentes
a biblioteca
Construir
iteracin N
del sistema
Desarrollo Basado en Componentes
Desarrollo con mtodos formales
Se basaen la transformacinde una
especificacinformal a lo largo de varias
representacioneshastallegar a un programa
ejecutable
Las transformacionespreservanla correccin
Permiten
Permiten
comprobar
comprobar
f
f
cilmente
cilmente
que
que
el
el
programa
programa
es
es
conforme
conforme
a la
a la
especificaci
especificaci
n
n
Desarrollo con mtodos formales
Requirements
definition
Formal
specification
Formal
transformation
Integration and
system testing
Transformaciones formales
R2
Formal
specification
R3
Executable
program
P2 P3
P4
T1
T2 T3 T4
Proofs of transformation correctness
Formal transformations
R1
P1
Desarrollo formal de sistemas
Problemas
Hace
Hace
falta
falta
una
una
formaci
formaci
n
n
especializada
especializada
para
para
aplicar
aplicar
la
la
t
t
cnica
cnica
Muchos
Muchos
aspectos
aspectos
de los
de los
sistemas
sistemas
reales
reales
son
son
dif
dif
ciles
ciles
de
de
especificar
especificar
formalmente
formalmente
Interfaz de usuario
Requisitos no funcionales
Aplicabilidad
Sistemas
Sistemas
cr
cr
ticos
ticos
en los
en los
que
que
la
la
seguridad
seguridad
y
y
fiabilidad
fiabilidad
debe
debe
poder
poder
asegurarse
asegurarse
antes de
antes de
poner
poner
el
el
sistema
sistema
en
en
operaci
operaci
n
n
Visibilidad de Procesos
Los sistemas de software son intangibles por lo que
los administradores necesitan documentacin para
identificar el progreso en el desarrollo
Esto puede causar problemas
El tiempo planeado para entregar resultados puede no
El tiempo planeado para entregar resultados puede no
coincidir con el necesario para completar una actividad
coincidir con el necesario para completar una actividad
La necesidad de producir documentos restringe la iteraci
La necesidad de producir documentos restringe la iteraci
n
n
entre procesos
entre procesos
Tiempo para revisar y aprobar documentos significativo
Tiempo para revisar y aprobar documentos significativo
El modelo de cascada es an el modelo basado en
resultados mas utilizado
Visibilidad de Procesos
Modelo de Proceso Visibilidad del Proceso
Modelo de Cascada Buena visibilidad, cada actividad
produce un documento o
resultado
Desarrollo Evolutivo Visibilidad pobre, muy caro al
producir documentos en cada
iteracin
Modelos Formales Buena visibilidad, en cada fase
deben producirse documentos
Desarrollo orientado a la
reutilizacin
Visibilidad moderada. Importante
contar con documentacin de
componentes reutilizables
Modelo de Espiral Buena visibilidad, cada segmento
y cada anillo del espiral debe
producir un documento
Qu modelo utilizar?
Para sistemas bien conocidos se puede utilizar el
Modelo de Cascada. La fase de anlisis de riesgos es
relativamente fcil
Con requisitos estables y sistemas de seguridad
crticos, se recomienda utilizar modelos formales
Con especificaciones incompletas, el modelo de
prototipadoayuda a identificarlos y va produciendo
un sistema funcional
Pueden utilizarse modelos hbridos en distintas partes
del desarrollo
Ejemplos
Dos modelos de proceso concretos:
Proceso Unificado de
Proceso Unificado de
Rational
Rational
(pesado)
(pesado)
Extreme
Extreme
Programming
Programming
(
(
gil)
gil)
Proceso Unificado
Los autores de UML
Booch
Booch
: m
: m
todo
todo
Booch
Booch
Rumbaugh
Rumbaugh
: OMT
: OMT
J acobson: proceso
J acobson: proceso
Objectory
Objectory
Tambin conocido como RUP: Rational
Unified Process
Proceso Unificado
Es un proceso de desarrollo de software
Dirigido por casos de uso Dirigido por casos de uso
Centrado en la arquitectura Centrado en la arquitectura
Iterativo e incremental Iterativo e incremental
Utiliza UML para definir los modelos del sistema software
El sistema software en construccin estformado por
componentes componentes software software
interconectados a trav interconectados a trav s de s de interfaces interfaces
Proceso de
desarrollo de
software
Requisitos
de usuario
Sistema
software
Los requisitos cambian
y el sistema software evoluciona
Proceso Unificado
Elaboration Construction Transition Inception
Phases
Requirements Capture
Analysis &Design
Implementation
Test
Management
Environment
Deployment
Process Components
Supporting Components
Iterations
preliminary
iteration(s)
iter.
#1
iter.
#2
iter.
#n
iter.
#n+1
iter.
#n+2
iter.
#m
iter.
#m+1
Organi zati on
along content
Organization along t ime
Extreme Programming (XP)
Modelo de proceso de Kent Beck
Un modo ligero, eficiente, de bajo riesgo, flexible,
Un modo ligero, eficiente, de bajo riesgo, flexible,
predecible, cient
predecible, cient
Alta visibilidad debido a ciclos muy cortos
Alta visibilidad debido a ciclos muy cortos
Planificaci
Planificaci
n incremental
n incremental
Se adapta a cambios de negocio
Se adapta a cambios de negocio
Extreme Programming (XP)
Basado en pruebas automatizadas escritas por
desarrolladores y clientes (test-driven)
Alta comunicacin
Diseo evolutivo
Colaboracin entre programadores
Busca equilibrio entre las necesidades a corto
plazo de los programadores y las de largo
plazo del proyecto
Extreme Programming (XP)
La estructura del proceso, si la hay, es un poco
atpica
Actividades en XP
Prueba Evaluacin Diseo
Codificacin
Extreme Programming (XP)
Las cuatro actividades estn soportadas por doce prcticas:
El juego de planificaci El juego de planificaci n n
Peque Peque as entregas as entregas
Met Met fora fora
Dise Dise o simple o simple
Prueba Prueba
Refactoring Refactoring
Programaci Programaci n en pareja n en pareja
Propiedad colectiva Propiedad colectiva
Integraci Integraci n continua n continua
Semana de cuarenta horas Semana de cuarenta horas
Cliente en el lugar de desarrollo Cliente en el lugar de desarrollo
Codificaci Codificaci n est n est ndar ndar
Extreme Programming (XP)
Ventajas:
Bueno para especificaciones cambiantes
Bueno para especificaciones cambiantes
Fundamentaci
Fundamentaci
n pr
n pr
ctica
ctica
Inconvenientes:
Poco probado
Poco probado
Poco compatible con especificaciones/dise
Poco compatible con especificaciones/dise
os
os
totales
totales
S
S
os (hasta diez
os (hasta diez
personas)
personas)
Extreme Programming (XP)
Diferencias fundamentales (hay ms que ya se
vern)
No hay requisitos expl
No hay requisitos expl
Se empieza por automatizar las pruebas
Se empieza por automatizar las pruebas
Se desarrolla siempre la versi
Se desarrolla siempre la versi
n m
n m
s simple posible
s simple posible
que resuelva el problema
que resuelva el problema
Se ejecutan todas las pruebas todos los d
Se ejecutan todas las pruebas todos los d
as
as
Se cambia el dise
Se cambia el dise
Un
Un
El proceso de software se caracteriza seg
El proceso de software se caracteriza seg
n el caso
n el caso
Se definen poco procesos
Se definen poco procesos
El
El
Se incluye seguimiento del coste, la planificaci
Se incluye seguimiento del coste, la planificaci
n y la
n y la
funcionalidad
funcionalidad
Se repiten t
Se repiten t
Las ACP son:
Las ACP son:
Planificacin del proyecto de software
Seguimiento y supervisin del proyecto de software
Gestin de requisitos
Gestin de la configuracin software (GCS)
Garanta de calidad del software (SQA)
Gestin de la subcontratacin
CMM
Nivel 3: Definido
Nivel 2
Nivel 2
Las actividades se documentan, estandarizan e integran en
Las actividades se documentan, estandarizan e integran en
un proceso a nivel organizaci
un proceso a nivel organizaci
n
n
Existe un proceso documentado
Existe un proceso documentado
Las ACP son:
Las ACP son:
Definicin y enfoque del proceso de la organizacin
Programa de formacin
Revisiones peridicas
Coordinacin entre grupos
Ingeniera de productos software
Gestin de integracin del software
CMM
Nivel 4: Gestionado
Nivel 3
Nivel 3
Se recopilan medidas del proceso del software y de
Se recopilan medidas del proceso del software y de
la calidad del producto
la calidad del producto
Estas medidas sirven para gestionar el proceso
Estas medidas sirven para gestionar el proceso
Las ACP son:
Las ACP son:
Gestin de la calidad del software
Gestin cuantitativa del software
CMM
Nivel 5: Optimizacin
Nivel 4
Nivel 4
En base a la experiencia y m
En base a la experiencia y m
tricas se optimiza el
tricas se optimiza el
proceso
proceso
Las ACP son:
Las ACP son:
Gestin de cambios del proceso
Gestin de cambios de tecnologa
Prevencin de defectos
CMM
Un nivel razonable es el definido (nivel 3)
Un nivel deseable es optimizacin (nivel 5)
Con independencia del CMM, ACPsmnimas:
Planificaci
Planificaci
n del proyecto
n del proyecto
Seguimiento y supervisi
Seguimiento y supervisi
n del proyecto
n del proyecto
Gesti
Gesti
n de requisitos
n de requisitos
GCS
GCS
SQA
SQA
Definici
Definici
n del proceso
n del proceso
Revisiones peri
Revisiones peri
dicas
dicas
Coordinaci
Coordinaci
n entre grupos
n entre grupos
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
Modelos de proceso
Pressman 17-46, Sommerville 42-67
Proceso Unificado
Proceso Unificado
J acobson, Krutchen
SW CMM
SW CMM
Pressman Cap. 2, Sommerville Cap. 25
http://www.sei.cmu.edu/cmm/obtain.cmm.html
Material
Material
Pablo Gervs
J uan Pavn y J orge Gmez
Natalia J uristo