Documentos de Académico
Documentos de Profesional
Documentos de Cultura
IS Clase 13 Metodos y Procesos PDF
IS Clase 13 Metodos y Procesos PDF
Software
(o bien, como desarrollar software sin morir en el intento...)
Cmo
Construir
un Reactor
Nuclear?
Mtodos / Metodologas
Cmo
Construir
un Reactor
Nuclear software
software?
ciclo de vida?
ciclo de desarrollo?
Ciclo de Vida / Ciclo de Desarrollo
Fuente: Adaptado de Kent Beck / Extreme Programming Explained, Embrace the Change
Productos,
Subproductos,
Insumos,
Entregable
(definicin)
Actividades
Roles,
Actores
(definicin)
Procesos
Tareas
(Genrico)
(definicin) Guas, Buenas
Herramientas Prcticas
y muchas otras...
Mtodos / Metodologas
(Buenas Prcticas)
...
Mtodos / Metodologas
Qu es el Proceso?
P2 P1 ... Pn
...
Procesos Livianos
(O de peso liviano)
Procesos Pesados
(O de peso pesado)
entregables,
subproductos,
hitos, etc
Mtodos / Metodologas
(Hitos)
Informe
La definicin y de
verificacin de Prototipos
Evaluacin
Hitos es una de Prototipos
forma de darle
visibilidad al
proceso
importante
No confundir los roles en los procesos de
desarrollo con los actores o roles del
sistema o con los interesados o
stakeholders
Anlisis
Diseo Pruebas
Codificacin
proceso en
cascada
Proceso en Cascada?
Se hacen compromisos
en las etapas iniciales Integracin y Cmo se ve
Prueba del completo?
El resultado de cada etapa son Sistema Lo hice bien?
documentos firmados y aprobados
por las partes involucradas
Operacin y
Altos costos, especialmente si se Mantenimiento
requieren cambios
Modelo en V
Operacin y
Valida Requerimientos Mantenimiento
Definicin de Pruebas de
Requerimientos Verifica Diseo Aceptacin
Diseo de
Verifica Diseo Pruebas de
Sistema y de
Sistema
Software
Pruebas de
Diseo de
unidades e
Programa
integracin
Implementacin
Operacin y
y Pruebas de
Mantenimiento
Unidades
Fuente; http://es.wikipedia.org/wiki/Espiral_de_Boehm
Modelo de Riesgos o de Espiral
Fuente; http://en.wikipedia.org/wiki/Spiral_model
Modelo de Riesgos o de Espiral
qu es un incremento?
(incrementar algo)
qu es una iteracin?
(iterar)
Modelos Incrementales
(Modelo Incremental)
Incrementos
...
Incremento 1 Incremento 2 Incremento 3 Incremento N
CU
Incremento 1
CU CU
Incremento 2
actor
CU CU Incremento 3
Incremento 4
CU
actor
CU CU
Iteraciones
...
Cada fase
se repite
cierta
cantidad de
veces
Modelo Iterativo-Incremental
Iteraciones para
cada una de las
fases
La visin de UP (Unified
Process)
White Watch,
Iterativo o Incremental?
Modelos Incrementales
(Modelo Incremental)
Alistair Cockburn:
http://alistair.cockburn.us/Incremental+versus+iterative+development
procesos evolutivos
y
basados en
prototipos
Modelos Evolutivos
qu es evolucionar?
Modelos Evolutivos
Bosquejo Versiones
Desarrollo
Inicial Intermedias
Versin
Validacin
Final
Pretende vencer las
limitaciones del modelo en
cascada debidas a la
deficiente realimentacin
entre sus fases
qu es un prototipo?
Modelos Basados en Prototipos
Prototipos Evolutivos
Poner un sistema a disposicin de los usuarios
finales. El proceso comienza con una serie de
requisitos, se desarrollan una serie de prototipos, se
exponen al usuario y se van refinando paso a paso
Prototipos Experimentales
Prototipos Desechables / Exploratorios
Se desarrollan prototipos (que luego se desecharan)
para aclarar aspectos particulares de los
requerimientos del usuario. Este conocimiento se
utilizar para especificar/disear/desarrollar la
aplicacin
Modelos Basados en Prototipos
Un prototipo se puede
Requisitos ver como una
Desarrollo
(Versin Inicial) especificacin de lo que
se desea desarrollar...
aunque esto es
muy, muy relativo Prototipos
tambin Ejecutables
Prototipos
+
Experimental
Especificacin
Definitiva
Modelos Basados en Prototipos
(No desechable)
Necesidades
/ Validacin
Construir Usar
Especificacin
Prototipo del Prototipo del
Abstracta
Sistema Sistema
NO
Entregar Sistema es
el Sistema Adecuado?
SI
Integracin del Proceso en Cascada y el
Desarrollo Basado en Prototipos
Anlisis de
Requerimientos Los Prototipos
tambin se
Diseo de
pueden utilizar
Sistema para minimizar o
cuantificar
riesgos...
Diseo de
Programa
Codificacin
Desarrollo de Pruebas
Prototipos
Operacin y
Mantenimiento
Almacn/Catlogo de
Componentes Reutilizables
Buscar
Bosquejar los Componentes Modificar
Reutilizables Requerimientos Modificar
Requerimientos
del
(COTS)
(Ej. Aplicaciones
Acorde a los
Componentes
+ Componentes
Encontrados
Sistema Listas o Casi Encontrados
Listas)
Buscar
Componentes Disear el
Reutilizables Sistema Modificar
Diseo
Arquitectnico
(COTS)
(Ej. Libreras,
Utilizando los
Componentes
+ Componentes
Encontrados
Frameworks u Reutilizados
otros)
http://www.agile-software-development.com/2007/05/beauty-of-not-doing-agile-development.html
Modelos giles
(XP)
http://www.extremeprogramming.org
Modelos giles
(XP)
Historia (cuento)
de usuario
GeneracindeFactura
advertencia
La Programacin Extrema (XP) y otros
mtodos no significan desarrollar sin
mtodo
Los mtodos giles requieren en el
fondo mucha disciplina para poder
ejecutarlos y mantener el orden de
forma satisfactoria
modelos giles
(scrum)
http://www.agile-software-development.com/2007/05/beauty-of-not-doing-agile-development.html
Modelos Incrementales
(Modelo Incremental)
advertencia
las siguientes transparencias han sido
tomadas (mutiladas?) de la clase de
scrum que vimos al comienzo del
semestre, lo que viene es un simple
resumen
Modelos giles
(SCRUM / Proceso)
requisitos
reunin
features de la
diaria
aplicacin
resultado
(producto)
(entregas frecuentes)
tareas de
< 16 horas
sprints
requisitos para el
(iteraciones)
sprint (iteracin)
(cortos)
Historias de Usuarios
(SCRUM / Requisitos)
GeneracindeFactura
Elusuariointroducelainformacindelcliente.Siel
clienteyaestregistradoconslointroducirlacdulase
debencargarsusdatos.Luegoseingresanloselementosa
facturarylascantidadesdecadaelemento.
Finalmenteelsistemaregistralafacturayescapazde
imprimirlaenlaimpresoralocalasociadaalterminaldel
usuario
Historias de Usuarios
(SCRUM / Requisitos)
GeneracindeFactura
Elusuariointroducelainformacindelcliente.Siel
clienteyaestregistradoconslointroducirlacdulase
debencargarsusdatos.Luegoseingresanloselementosa
facturarylascantidadesdecadaelemento.
Finalmenteelsistemaregistralafacturayescapazde
imprimirlaenlaimpresoralocalasociadaalterminaldel
usuario
cerdos
(realmente pollos
comprometidos) (involucrados)
Modelos giles
(Gestin y Seguimiento / Reunin Diaria)
Reunin Diaria:
Es una figura fundamental en SCRUM.
Tiene que reunirse TODO el equipo y debe hacerse
segn ciertas reglas
Modelos giles
(Gestin y Seguimiento / Scrum Burn Down)
EJE Y
Trabajo restante,
horas, puntos de
funcin u otra
unidad de medida
EJE X
Da o fecha del sprint
Esto es responsabilidad
del Scrum Master
Modelos giles
(Gestin y Seguimiento / Task Boards)
http://www.mountaingoatsoftware.com/scrum/task-boards
bien... pero...
qu mtodo o proceso de desarrollo
de software debo utilizar?
Qu Mtodo o Proceso de desarrollo de
software debo utilizar?
Procesos
Proceso
Tcnico 1
Proceso
Tcnico 2
... Proceso
Tcnico N
fundamentales
del desarrollo
de software
Grupo de
Procesos
Subproceso Subproceso
... A.1 ... A.n ...
<<recurso>>
Grupo o Informacin <<repositorio>>
Actor Requerida Datos
Crear la
Planificar la
Definir el Estructura Actualizar el
Gestin del
Alcance del de Plan del
Alcance del
Proyecto Desglose Proyecto
Proyecto
de Trabajo
<<documento>>
Enunciado del
Alcance del
Proyecto
<<documento>> <<documento>>
Plan de Gestin Estructura de
de Alcance Desglose de
Trabajo
Los modelos de
Productos describen
todos los productos
que se utilizan o se
producen en el mtodo
Scrum
http://www.scrumalliance.org/
Algunos Mtodos de Desarrollo
otros...
Algunos Mtodos de Desarrollo
Gray Watch
-
White Watch
(desarrollados aqu en la ULA)
Reflexin Final
reflexin final
Pase lo que pase, siempre procure
que el mtodo de desarrollo que use
trabaje a su favor. Si el mtodo que
est usando trabaja en su contra
entonces cambie el mtodo!
Recuerde, el mtodo no es importante,
lo importante es el cliente, el producto
y las personas involucradas en su
desarrollo
Gracias
Gracias!