03_BasesdelProcesodeDesarrollo_S04.pdf
-
Upload
juan-david-lara-rengifo -
Category
Documents
-
view
212 -
download
0
Transcript of 03_BasesdelProcesodeDesarrollo_S04.pdf
Las Bases del Proceso de
Desarrollo
Ambientes de Desarrollo
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
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
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
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
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
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
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
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
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
¿Preguntas? ¿Comentarios? ¿Sugerencias?