Anda di halaman 1dari 18

03-09-15

Procesos del software


Eduardo Aguilar Torres
Agosto,2015.

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

Agenda

Introduccin
Modelos del desarrollo del software
Desarrollo iterativo y el Proceso Unificado
Metodologas giles

Bibliografa

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

03-09-15

Agenda

Introduccin
Modelos del desarrollo del software
Desarrollo iterativo y el Proceso Unificado
Metodologas giles
Bibliografa

Eduardo Andrs Aguilar Torres

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Proceso del desarrollo del software

Necesidades
Restricciones
Diseo e
Implementacin
Especificacin

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Evolucin

Validacin

Producto
Software

Eduardo Andrs Aguilar Torres

03-09-15

Agenda

Introduccin
Modelos del desarrollo del software
Desarrollo iterativo y el Proceso Unificado
Metodologas giles
Bibliografa

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

Modelos del proceso de desarrollo


Modelo en cascada
Definicin de requerimientos
Diseo del sistema y del software
Implementacin y pruebas de
unidades
Integracin y pruebas de sistema
Funcionamiento y mantenimiento

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

03-09-15

Modelos del proceso de desarrollo


Ingeniera de software basada en componentes

Especificacin de
requisitos

Anlisis de
componentes

Modificacin de
requisitos

Diseo con reutilizacin

Desarrollo e integracin

Validacin del sistema

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

Modelos del proceso de desarrollo


Desarrollo Evolutivo

Especificacin

Versin inicial

Desarrollo

Versiones
intermedias

Validacin

Versin final

Esbozo de la
descripcin

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

03-09-15

Modelos del proceso de desarrollo


Desarrollo evolutivo
Tipos
Desarrollo exploratorio.
Prototipo desechable.

Caractersticas
La especificacin se desarrolla mejor.
Recomendado para sistemas pequeos o medianos.

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

Agenda

Introduccin
Modelos del desarrollo del software
Desarrollo iterativo y el Proceso Unificado
Metodologas giles

Bibliografa

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

03-09-15

Desarrollo Iterativo

Mini proyectos
Duracin fija
Sistema ejecutable, incompleto
Ampliacin y refinamiento

Requisitos

Pruebas

Implement
acin

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Anlisis

Diseo

Eduardo Andrs Aguilar Torres

Desarrollo Iterativo
Beneficios

Mitigacin de riesgos
Visibilidad del progreso
Retroalimentacin temprana
Gestin de la complejidad
Reuso del conocimiento

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

03-09-15

Desarrollo Iterativo
Desventajas

El proceso no es visible
Estructura puede ser deficiente
Herramientas y tcnicas especiales

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

Desarrollo Iterativo
Buenas practicas

Abordar cuestiones de alto riesgo en las primeras iteraciones


Involucrar a los usuarios
Construir en la primera iteracin la arquitectura
Verificacin continua de la calidad
Aplicar casos de uso
Modelar el software visualmente (UML)
Gestin de requisitos
Manejar peticiones de cambio y gestin de configuracin

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

03-09-15

El Proceso Unificado
Inicio

Visin aproximada
Anlisis del negocio
Alcance
Estimaciones imprecisas

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

El Proceso Unificado
Elaboracin

Visin refinada
Ncleo central de la arquitectura
Resolucin riesgos altos
Identificacin de requisitos
Estimacin ms realista

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

03-09-15

El Proceso Unificado
Construccin
Implementacin iterativa
Preparacin para el despliegue

Transicin
Pruebas beta
Despliegue

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

El Proceso Unificado

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

03-09-15

El Proceso Unificado
Procesos Pesados v/s Agilidad

Cantidad de artefactos
Rigidez y control
Nivel de detalle de la planificacin
Prediccin / Adaptacin

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

Agenda

Introduccin
Modelos del desarrollo del software
Desarrollo iterativo y el Proceso Unificado
Metodologas giles

Bibliografa

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

10

03-09-15

Desarrollo gil
Lema: Aceptar el cambio
Estrategia: Maniobrabilidad
Caractersticas

Iteraciones de duracin fija


Desarrollo evolutivo
Planificacin adaptativa
Entregas evolutivas

Respuesta rpida y flexible al cambio


Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

Algunas prcticas bsicas

Simplicidad
Comunicacin
Equipos autodirigidos
Programacin sobre la documentacin

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

11

03-09-15

El manifiesto gil
Estamos poniendo al descubierto mejores mtodos para desarrollar
software, hacindolo y ayudando a otros a que lo hagan. Con este
trabajo hemos llegado a valorar:
A los individuos y su interaccin, por encima de los procesos y las
herramientas.
El software que funciona, por encima de la documentacin exhaustiva.
La colaboracin con el cliente, por encima de la negociacin
contractual.
La respuesta al cambio, por encima del seguimiento de un plan.

Aun cuando existe valor en los elementos de la derecha, valoramos


ms los de la izquierda
Fuente: www.agilealliance.com
Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

Principios de la agilidad
1.

Una de las prioridades ms importantes es satisfacer al cliente a


travs de tempranas versiones de software.

2.

Aceptar los cambios de requerimientos aun en las etapas finales


del desarrollo.

3.

Realizar la entrega de software de forma peridica, ya sea cada


2 semanas o cada un mes, siendo preferibles las escalas de
tiempo lo ms cortas posibles.

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

12

03-09-15

Principios de la agilidad
4.

Los desarrolladores y los clientes deben trabajar juntos


diariamente a travs de todo el proyecto.

5.

Construir proyectos con gente motivada. Se les debe proveer el


ambiente y el apoyo que necesitan, adems de la confianza que
requieren para poder terminar el trabajo que se les ha asignado.

6.

El mtodo ms eficiente y efectivo de pasar la informacin desde


y hacia el equipo de desarrollo es la conversacin frente a
frente.

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

Principios de la agilidad
7.

La principal medida de progreso es el software funcional

8.

Los procesos giles promueven el desarrollo sostenible.

9.

Tanto los desarrolladores como los clientes deben saber cmo


mantener el paso en todo el perodo del desarrollo.

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

13

03-09-15

Principios de la agilidad
10. La continua verificacin de la excelencia tcnica y buen diseo
mejora la agilidad en los procesos.
11. La simplicidad el arte de maximizar la cantidad de trabajo no
realizado es esencial.
12. Las mejores arquitecturas, requerimientos y diseos provienen
de equipos auto organizados.

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

Principios de la agilidad
13. Peridicamente, el equipo debe buscar la manera de cmo ser
ms efectivo, para poder ajustarse de acuerdo a su
comportamiento.

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

14

03-09-15

Variables claves
Dinero
Esfuerzo

Duracin

Costo

Tiempo

mbito

Calidad

Alcance
Problemas

Altos
niveles

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

Algunas metodologas giles

Programacin Extrema (XP)


SCRUM
Crystal
Feature Driven Development

Lean Development
Adaptative Software Development
DSDM

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

15

03-09-15

Programacin Extrema
Valores XP

Comunicacin
Sencillez
Retroalimentacin
Coraje

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

Prcticas de XP

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

16

03-09-15

Fases de XP
Historias
de los
Usuarios

Re

qu

Escenarios
de prueba
er

im

ien

to
s

Metfora
del sistema

Nueva
Historia

Planeacin
de la Entrega

Errores

Iteracin
Plan de
Entrega

Spike
s Es
tim
ado
Estimiables Inci ado
f
ert s
n
Co
os

FASE DE
EXPLORACI
N

FASE DE
PLANEACIN

ltima
Versin

Tests de Aprobacin
Aceptaci del cliente
n

Entregas
Pequeas

Prxima
Iteracin

ITERACIONES
PARA LA FASE
DE ENTREGA

FASE DE
PRODUCCIN
FASE DE MANTENCIN

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

Scrum

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

17

03-09-15

Agenda

Introduccin
Modelos del desarrollo del software
Desarrollo iterativo y el Proceso Unificado
Metodologas giles
Bibliografa

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

Bibliografa
Ingeniera de Software, Ian Sommerville, Pearson
Educacin, 2005.
UML y Patrones: Una introduccin al anlisis y diseo
orientado a objetos y al proceso unificado, Craig
Larman, Pearson Educacin, 2003.
R. Haussmann. Gua para la incorporacin de calidad
en metodologas giles. Memoria para optar al grado
de Licenciado en Ciencias de la Ingeniera y al Ttulo de
Ingeniero Civil en Computacin e Informtica. 2010.

Departamento de Ingeniera de Sistemas y Computacin Ingeniera de Software I

Eduardo Andrs Aguilar Torres

18

Anda mungkin juga menyukai