03_BasesdelProcesodeDesarrollo_S04.pdf

11
Las Bases del Proceso de Desarrollo Ambientes de Desarrollo

Transcript of 03_BasesdelProcesodeDesarrollo_S04.pdf

Page 1: 03_BasesdelProcesodeDesarrollo_S04.pdf

Las Bases del Proceso de

Desarrollo

Ambientes de Desarrollo

Page 2: 03_BasesdelProcesodeDesarrollo_S04.pdf

El desarrollo de Software requiere de un proceso

que:

o Proporcione orientación para ordenar las

actividades de un equipo.

o Dirija las tareas de los desarrolladores

individuales y del equipo en su conjunto.

o Especifique los objetos que deben ser

desarrollados.

o Ofrezca criterios para el seguimiento y la

medición de los productos y actividades de un

proyecto.

POCESO DE DESARROLLO Requerimientos

de Usuario Sistema

2

Page 3: 03_BasesdelProcesodeDesarrollo_S04.pdf

Proceso de Desarrollo:

Conjunto de Actividades necesarias para transformar los

requerimientos del usuario en un sistema.

Dos Grandes Tendencias:

• Construcción de Modelos: Describir incrementalmente el

sistema a través de un proceso estable.

• Construcción de Código: Desarrollo ágil de aplicaciones.

3

Page 4: 03_BasesdelProcesodeDesarrollo_S04.pdf

Taller

EL HUEVO VOLADOR

Se trata de plantear una solución para ganar un concurso que consiste en

lanzar un huevo de gallina la mayor distancia posible y recuperarlo intacto.

El huevo debe estar en condiciones normales.

• Ejercicio 1: Elaborar el diagrama de Casos de uso de la solución (15’)

• Ejercicio 2: Modelar el diseño de la solución propuesta. (20’)

• Ejercicio 3: Centrado en el Lanzador refinar los casos de uso. (5’)

4

Page 5: 03_BasesdelProcesodeDesarrollo_S04.pdf

Dirigido por Casos de Uso

Caso de Uso: Es una funcionalidad del sistema que le

proporciona al usuario un resultado valioso.

Los casos de uso capturan los requerimientos funcionales del

sistema.

El Modelo de Casos de Uso: describe la funcionalidad completa

del sistema.

Una Especificación Funcional contesta a la pregunta: ¿Que hace

el Sistema?

La estrategia de Casos de Uso puede caracterizarse si se le

agrega al final de la pregunta: ¿Para cada Usuario?

Caso de Uso Usuario

5

Page 6: 03_BasesdelProcesodeDesarrollo_S04.pdf

Caso de Uso Usuario

• USUARIO: Alguien o Algo que interactúa con el

sistema.

• Los Casos de Uso: Dirigen el proceso de

desarrollo. Significa que el proceso sigue un flujo

de actividades que derivan de los casos de uso.

o Inician el proceso de desarrollo.

o Son especificados.

o Son diseñados.

o Son probados.

6

Page 7: 03_BasesdelProcesodeDesarrollo_S04.pdf

Centrado en la Arquitectura

• El concepto de Arquitectura involucra los aspectos estáticos y dinámicos

más significativos del sistema. Provee una descripción desde diferentes

puntos de vista del sistema.

• La arquitectura nace de las necesidades de la organización, según son

detectadas por los usuarios y otras partes interesadas, y se refleja en los

casos de uso.

• Sin embargo, también se ve influenciada por muchos otros factores, como

la Plataforma del software a utilizar, los bloques de construcción

reutilizables disponibles, consideraciones de implementación, sistemas

legados, y los requerimientos no funcionales.

• La arquitectura es una vista de todo el diseño con las características más

importantes hechas visibles, dejando de lado los detalles.

7

Page 8: 03_BasesdelProcesodeDesarrollo_S04.pdf

Relación Arquitectura – Casos de Uso

• Casos de Uso: Funcionalidad.

• Arquitectura: Forma (estructura).

• Ambos deben ser concebidos en paralelo. Los casos

de uso deben poderse realizar en la arquitectura, y

esta debe ser capaz de permitir la realización de

todos los casos de uso requeridos.

• La arquitectura evoluciona desde los casos de uso

claves (Las funciones básicas o centrales del

sistema).

Arquitectura Básica

Casos de uso claves

Ajuste de la Arquitectura

8

Page 9: 03_BasesdelProcesodeDesarrollo_S04.pdf

El proceso es Iterativo e Incremental

• Una forma de lidiar con la complejidad es dividir el trabajo en

pequeños trozos: Una Iteración es un mini proyecto que da como

resultado un incremento.

• Seleccionar que debe hacerse en cada iteración tiene que ver con

dos aspectos principales:

o Un conjunto de casos de uso que extienden la funcionalidad

del sistema al ser desarrollados.

o Identificación y mitigación de los principales riesgos.

• Los incrementos no necesariamente son aditivos, en especial en

las primeras etapas en donde se reemplazan diseños muy

generales con diseños más detallados.

9

Page 10: 03_BasesdelProcesodeDesarrollo_S04.pdf

El Proceso es Iterativo e Incremental

Los pasos generales son:

• Identificar y especificar los casos de uso relevantes.

• Crear un diseño usando la arquitectura de base escogida como

guía. • Implementar el diseño en componentes.

• Verificar que los componentes satisfacen los casos de uso.

Los beneficios de un proceso iterativo controlado:

• Reducción de los costos por riesgos involucrados en el desarrollo de

un solo incremento.

• Disminuir el riego de no estar a tiempo.

• Disminuir el impacto sobre el desarrollo del cambio en los

requerimientos.

10

Page 11: 03_BasesdelProcesodeDesarrollo_S04.pdf

¿Preguntas? ¿Comentarios? ¿Sugerencias?