Links: Apuntes Metodologias de Desarrollo

Estructura y Alcance

Motivación

El proceso de Desarrollo Software es el conjunto de actividades necesarias para transformar los requisistos de un usuario en un sistema software

  • Aumento continuo de las expectativas
  • Exigencia de una adaptación cada vez mayor a necesidades cambiantes
  • Importancia de disponer de soluciones rápidamente

Se necesita un método o um proceso común que:

  • Sirva de guía para planificas y ordenar las actividaded del equipo
  • Permita dirigir las tareas de cada integrante por separado y del equipo como un todo
  • Especifique los modelos y artefactos que han de desarrollarse
  • Aporte criterios y métricas para evaluar y controlar los productos y actividades del proyecto

Desarrollo

Alcance

  • Es más que un proceso, es un marco de trabajo genérico que puede especializarse para diferentes sistemas, área, organizaciones y casi cualquier tamaño de proyecto.
  • Se basa en componentes y sy interconexión con interfaces bien definidas
  • Emplea UML para preparar todas las facetas de sistema

Claves

  • Dirigido por Casos de Uso
  • Centrado en la Arquitectura
  • Iterativo e Incremental

Ciclos de vida

El proceso unificado se repite en multiples ciclos
Un ciclo concluye con una versión del producto para los clientes
Una versión soporta un conjunto de utilidades
Las utilidades adquieren su significado en un marco funcional

  • Versión

    cuenta con:

    • Un cuerpo en código
    • Un artefacto entregable
    • Manuales y documentación
    • Otros productos asociados

Vista 4+1

  • Casos de Uso

    Se utiliza para identificar y validad el diseño de arquitectura
    También sirve como punto de partida para pruebas de un prototipo de arquitectura

  • Lógica

    Está enfocada en describir la estructura y funcionalidad del sistema
    Diagramas de Clase, Comunicación y Secuencia

  • Implementación / desarrollo

    Ilustra el sistema de la perspectiva del programador y está enfocado en la administración de los artefactos de software
    Diagrama de Componentes y Paquetes

  • Proceso

    Trata los aspectos dinámicos del sistema, explica los procesos de sistema y cómo se comunican.
    Se enfoca en el comportamiento del sistema en tiempo de ejecución.
    Diagrama de Actividad

  • Despliegue / física

    Describe el sistema desde el punto de vista de un ingeniero de sistemas
    Está relacionada con la tompología de compornentes de software en la capa física y sus conexiones
    Diagrama de Despliegue

Fases

  • Inicio

    Se desarrolla una descripción del producto final a partir de una buena idea y se acopla al análisis del negocio

  • Elaboración

    Se especifica en detalle la mayoría de los casos de uso y se concreta el diseño de la Arquitectura

  • Construcción

    Se especifica en detalle la arquitectura para la construcción de sus elementos y la determinación dinal de componentes

  • Transición

    Es aquella de la que resulta la versión a liberar inicial del producto

Resumen

El proceso Unificado está basado en componentes.
Utiliza el estándar UML para la esquematización conceptual y la representación visual.
Se basa los Casos de Uso, la Arquitectura y el Desarrollo Iterativo e Incremental y par que funcionen ha de tenerse en cuenta:

  • Ciclos
  • Fases
  • Fujos de trabajo
  • Gestión de riesgo
  • Control de calidad
  • Gestión y planificación del proyecto
  • Control de la configuración

El proceso unificado establece un marco de trabajo que integra estas facetas.

Flujos de trabajo

Preliminares

El paso desde la determinación de las necesidaddes hasta la implementación de un sistema que las soporte no es trivial:

  • Las necesidades de los usuarios son dificiles de discernir
  • Hay que capturarlas de tal manera que se puedan verificar y discutir con el propio usuario y también en sus integración con otras, para evaluar su conveniencia
  • Las necesidades han de comunicarse fácilmente y con precisión a todos los implicados en el proyecto
  • El diseño ha de ajustarse a las necesidades
  • La prueba del sistema ha de verificar que el sistema satisface las necesidades

Modelado de Negocio

El objetivo es comprender la estructura y dinámica de la organización que requiere el software, asegurar que clientes, usuarios finales, y desarrolladores tienen un entendimiento común.
Plantea también que el esfuerzo de modelado del negocio puede tener distinto alcance dependiendo del contexto y necesidades de la organización.

Modelado

Casos de Uso del Negocio
Diagramas de Actividad

Captura de Requisitos

La persectiva que proporcionan los casos de uso refuerza el objetivo último de la Ingeniería del Software: la creación de productos que permitan a los clientes realizar un trabajo útil.
Un caso de uso identifica las facilidades del software que hay que lograr para cumplir los objetivos de la organización en general y en particular de los usuarios.

Análisis

El Modelo de análisis crece incementalmente según se añaden casos de uso.

El procedimiento práctico de trabajo es el siguiente:

  • Identificar y describir los casos de uso de una iteración
  • Proponer clasificadores y asociaciones
  • Abordar coordinadamente todos los casos de uso de la iteración

Diseño

El Modelo de Diseñó se crea tomando el Modelo de Análisis como entrada principlal.
Funciona como esquema para la implementación.

Implementación

Durnate el flujo de Implementación se desarrolla todo lo necesario para obtener un sistema ejecutable.

Componentes

Un componenten es una parte reemplazable del sistema que cumple y proporciona un conjunto de interfaces definidas.

  • Ejecutables
  • De fichero (código fuente, scripts, ficheros de cnfiguración)
  • De tabla (elementos de la persistencia, DAOs etc.)

Validación y prueba

La disciplina de prueba actúa en muchos aspectos como un porveedor de servicios a las otras disciplinas.
Existen distintos tipos de testing y multiples herramientas.

Despliegue

Trata de hacer el producto de software disponible para el usuario final, y es la culminación de los esfuerzos de desarrollo.
Es importante probar que que el producto está bien probado antes de su lanzamiento.

Consta de:

  • Plan de Despliegue
  • Material de apoyo
  • Unidad de Despliegue