Anda di halaman 1dari 53

PROCESOS DE

DESARROLLO DE
SOFTWARE
Juan Pablo Giraldo Rendn
pablo.giraldo@ucp.edu.co

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Temas
Sesin

Temtica

Propsito Particular del


Tema
1. Contexto: Ingeniera de
Software
Introduccin a
2. Conceptos bsicos
Procesos de
2.1 Modelos de ciclo de vida
Desarrollo de
2.2 SWEBOK
Software
3. Diagramas de actividades
4. Ejemplo de proceso: Control
de cambios
1. Fases
Proceso Unificado 2. Iteraciones y disciplinas
3. Roles y artefactos

Especializacin en
Desarrollo de Software

Criterios de
Evaluacin

Prueba
de
entrada, escrita
sobre conceptos
bsicos

Talleres

RUP Y OPEN UP

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Historia

Objectory

Jacobson
1988 - 1995

Rational
Objetory
Process
Rational
(Booch
Rumbaugh)
1995 - 1997

Especializacin en
Desarrollo de Software

Rational
Unified
Process
Rational 1998

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Historia

Unified Sw
Development
Process

Rational, 1998

RUP 2000

Rational 2000

Especializacin en
Desarrollo de Software

RUP 2003

IBM 2003

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Definicin RUP
RUP (Rational Unified Process) es un Proceso de

Ingeniera de Software, que proporciona un enfoque


disciplinado para la asignacin de tareas y
responsabilidades dentro de una entidad de desarrollo de
software.
Su objetivo es asegurar la produccin de software de alta
calidad que satisfaga las necesidades de sus usuarios
finales, dentro de un horario y presupuesto predecible.
https://www.ibm.com/developerworks/rational/library/conte

nt/03July/1000/1251/1251_bestpractices_TP026B.pdf

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Definicin Open UP
Es un Proceso Unificado gil, que contiene un

conjunto de prcticas mnimas para ayudar a los


equipos a ser mas efectivos al desarrollar
software
Nota .. Incluye detalles de RUP

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Caractersticas
Dirigido por requerimientos y riesgos
Centrado en la arquitectura
Iterativo e incremental

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Por requerimientos y riesgos


Obliga a pensar en trminos de importancia para el

usuario
Representan los requerimientos funcionales del sistema
Guan actividades del desarrollo
Cada uno de los actores que participa en el proceso de

desarrollo es un analista de riesgos

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Centrado en la arquitectura
Orientado a evolucionar a sistemas robustos.
Centra en la interaccin de los componentes y el

despliegue del hardware.


Ajusta la calidad desde los requerimientos no
funcionales

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Centrado en la arquitectura
Vista lgica: conceptos del sistema
Vista de implementacin: artefactos del sistema
Vista de proceso: aspectos concurrentes
Vista de despliegue: plataforma fsica
Vista casos de uso: casos de uso claves

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Iterativo e incremental
Las iteraciones son Sub-Proyectos

Las entregas se pueden hacer de manera parcial

o incremental
Son refinamientos continuos para llegar al
objetivo final

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Iteraciones
Planeacin

Evaluacin

Planeacin

Especificacin
del proyecto

Anlisis y
diseo

Iteracin
Construccin

Liberacin

Integracin y
verificacin

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Estructura UP
Hitos /
Milestone

Fases
Iteraciones
Ncleos
trabajo

Objetivos del
ciclo de vida

Inicio

Iter 1

Req

Arquitectura
del ciclo de
vida

Elaboracin

Iter 2

Ana

Iter 3

Capacidad
operacional

Liberacin
del producto

Construccin

Transicin

Iter 4

Dis

Especializacin en
Desarrollo de Software

Iter 5

Imp

Iter 6

Ver

Iter 7

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Operacin de UP

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Estructura RUP

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Ejercicio
A primera vista

Cules se pueden considerar las

diferencias significativas entre RUP y UP?

Especializacin en
Desarrollo de Software

DETALLE DE RUP

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Especializacin en
Desarrollo de Software

DETALLE DE OPEN UP

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Principios de Open UP
Colaborar para alinear intereses y compartir

conocimiento.
Equilibrar el conflicto de prioridades para maximizar el
valor para los accionistas y participantes.
Enfocarse en la arquitectura desde el inicio, para
minimizar riesgos y organizar el desarrollo.
Evolucin continua para retroalimentacin y
mejoramiento.

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Elementos del mtodo


Roles
Disciplinas
Tareas
Artefactos
Orientacin

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Roles
Stakeholders Participante
Representantes del grupo y lo que debe ser cumplido.
Analista
Encargado relaciones entre la empresa, los
participantes, el entendimiento del problema, y capturar
la prioridad de los requerimientos.
Arquitecto
Responsable de los diseos de la arquitectura del
software, decisiones tcnicas para la implementacin
del proyecto.
Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Roles
Desarrollador
Responsable del desarrollo de alguna parte del
sistema, debe incluir el diseo y encajar en la
arquitectura, as implementa, verifica, e integra
componentes.
Verificador
Es responsable del esfuerzo de revisin, que
corresponde con identificar, definir, implementar y
conducir las pruebas necesarias y analizar sus
resultados
Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Roles
Gestor de proyecto
Lidera la planificacin del proyecto con los participantes
y el grupo de trabajo. Coordina las interacciones,
enfoca el proyecto, y orienta los objetivos.
Cualquier rol
Cualquier persona del proyecto que puede
desempear tareas generales.

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Disciplinas
Requerimientos
Arquitectura
Desarrollo
Verificacin
Gestin del proyecto
Gestin del cambio y la configuracin

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Disciplinas Anexas
Modelamiento del negocio
Entorno
Gestin de requerimientos
Gestin de la configuracin
Estructura organizacional
Gestin del grupo de trabajo

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Tareas
Una tarea es la unidad mnima de trabajo, la cual

esta conectada con un Rol, all el encargado es


responsable de resolverla.
La naturaleza colaborativa de Open UP se
manifiesta en revisin el trabajo y las
interacciones entre las personas.

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Artefactos
Corresponde a cualquier cosa que es producida,

modificada o usada por una tarea.


Las personas en sus roles son los responsables
de crear y actualizar los artefactos.
Estos se revisan y retroalimentan a travs del
ciclo de vida del proyecto.

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Procesos
Componente reutilizable creado para la

aplicacin en el desarrollo de un proyecto.


Esta asociado con mtodos que proporcionan
explicaciones paso a paso.
Estos mtodos se encuentran al interior de los
ciclos de vida de desarrollo.

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Fases de Open UP
Fases:
Inicio (Concepcin), Elaboracin, Construccin,
Transicin

Una fase agrupa iteraciones


El nmero de iteraciones es variable
Cada fase termina en un hito (Lnea base)

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Iteraciones

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Ejercicio
De cada Fase de UP ..
Qu elementos se pueden usar para aplicarse a

los ciclos de vida que estamos construyendo?

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Fases de Open UP

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Inicio (Acciones / Objetivos)


Iteracin
Iniciar el proyecto
Planear y administrar la
iteracin
Identificar y refinar
requerimientos
Estar de acuerdo con el
enfoque tcnico

Objetivos
Comprender que se va a
desarrollar
Identificar funcionalidades
clave del sistema
Determinar soluciones
posibles
Comprender costo,
cronograma, y riesgos
asociados

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Inicio (Satisfaccin / Entregables)


Condiciones de satisfaccin

Entregables

Participantes estn de acuerdo


con el objetivo del proyecto

Documento de visin del proyecto,


contiene: Requerimientos,
Caractersticas y Restricciones

mbito del proyecto esta definido


y acordado con los participantes

Modelo inicial de los casos de uso


(10% - 20% completado)

Requerimientos clave han sido


capturados y acordados con los
participantes

Glosario del proyecto

Estimaciones de costo y
cronograma se han acordado con
los participantes

Plan de proyecto inicial

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Inicio (Satisfaccin / Entregables)


Condiciones de satisfaccin

Entregables

El caso de estudio (Negocio) ha


sido planteado por el gestor del
proyecto

Caso de estudio (Negocio)

El gestor de proyecto ha realizado


una evaluacin de riesgos

Documento de evaluacin de
riesgos

Factibilidad confirmada desde lo


tcnico y/o con prototipos

Uno o mas prototipos usados y


dejados

La arquitectura ha sido esbozada

Documento inicial de arquitecturas

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Fases de Open UP

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Elaboracin (Acciones / Objetivos)


Iteracin
Planear y administrar la
iteracin
Identificar y refinar
requerimientos
Definir arquitecturas
Desarrollar solucin
incremental
Verificar la solucin
Continuidad de las tareas

Objetivos
Dar mas detalles al
entendimiento de los
requerimientos
Disear, implementar,
validar y dar lnea base a
la arquitectura
Mitigar riesgos esenciales,
actualizar cronogramas y
estimar costos

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Elaboracin (Satisfaccin / Entregables)


Condiciones de satisfaccin

Entregables

Arquitectura robusta creada

Lnea base de la arquitectura


ejecutada

Lnea base de la arquitectura,


mostrando que los riesgos han
sido identificados y resueltos

Modelo esttico de UML


Modelo dinmico de UML
Modelo de casos de uso

Visin del producto estabilizada Documento de visin


Evaluacin de riesgos revisada

Evaluacin de riesgos
actualizada

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Elaboracin (Satisfaccin / Entregables)


Condiciones de satisfaccin

Entregables

Caso de estudio actualizado, y


acordado con los participantes

Actualizacin del caso de estudio

Plan de proyecto creado con


suficiente detalle para hacer una
Plan de proyecto actualizado
apuesta en tiempo, dinero y
recursos.
Acuerdos del plan de proyecto con
Caso de estudio
los participantes
Caso de estudio actualizado
Acuerdos para continuidad

Firma de documento con


participantes

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Fases de Open UP

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Construccin (Acciones / Objetivos)


Iteracin
Planear y administrar la
iteracin
Identificar y refinar
requerimientos
Desarrollar solucin
incremental
Verificar la solucin
Continuidad de las tareas

Objetivos
Desarrollo iterativo de un
producto completo que
pueda ser llevado a la
transicin con el usuario
Minimizar el costo del
desarrollo, y procurar el
paralelismo

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Construccin (Satisfaccin / Entregables)


Condiciones de satisfaccin

Entregables

Producto es estable y de
calidad para ser entregado

El producto software
Modelos UML
Verificacin

Acuerdo con los participantes


para la transicin del software
al entorno

Manuales de usuario
Descripcin del lanzamiento

Costos actuales vs Costos


planeados

Plan de proyecto

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Fases de Open UP

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Transicin (Acciones / Objetivos)


Iteracin
Planear y administrar la
iteracin
Desarrollar solucin
incremental
Verificar la solucin
Continuidad de las tareas

Objetivos
Versiones Beta para
validad el cumplimiento de
las expectativas del
usuario
Llegar a acuerdos para un
desarrollo completo

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Transicin (Satisfaccin / Entregables)


Condiciones de satisfaccin
Versin BETA completada,
cambios realizados, usuarios
ajustados, despliegue exitoso

Entregables

Producto software

Comunidad usando
activamente el producto

Estrategias de soporte
acordadas con los usuarios y
desarrolladores

Plan de soporte
Manuales de usuario ajustados

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Ejercicio
De los elementos que quedaron para se

aplicados a nuestros ciclos de vida es necesario


buscar soporte y elementos de apoyo
http://epf.eclipse.org/wikis/openup/

Especializacin en
Desarrollo de Software

Procesos de Desarrollo de Software - 2016 - Juan Pablo Giraldo Rendn

Preguntas

Especializacin en
Desarrollo de Software

Anda mungkin juga menyukai