El Diseño en el Proceso Unificado: Modelos y Aspectos Clave del Software

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,08 KB

El Diseño en el Ciclo de Vida Iterativo e Incremental del Proceso Unificado de Desarrollo (PUD)

Rol del Diseño en las Fases del PUD

El diseño, en la fase de inicio del Proceso Unificado de Desarrollo (PUD), contribuye a delinear la arquitectura. El enfoque principal se sitúa en este aspecto hacia el final de la fase de elaboración y al comienzo de las iteraciones de la fase de construcción. Esto es fundamental para establecer una arquitectura estable y sólida, así como para crear un plano del modelo de implementación. Posteriormente, durante la fase de construcción, una vez que la arquitectura es estable y los requisitos están claramente comprendidos, el centro de atención se desplaza hacia la implementación.

Comparación: Modelo de Análisis vs. Modelo de Diseño en el PUD

Modelo de Análisis

Características principales del Modelo de Análisis en el PUD:

  1. Es un modelo lógico, ya que representa una abstracción del sistema y permite omitir detalles específicos de la implementación.
  2. Es genérico con respecto al diseño, siendo aplicable a múltiples diseños posibles.
  3. Utiliza tres estereotipos lógicos para las clases: entidad, control e interfaz.
  4. Presenta un nivel de formalidad menor.
  5. Su desarrollo es, generalmente, menos costoso.
  6. Consta de menos capas o niveles de abstracción.
  7. Es de naturaleza dinámica, aunque no se centra primordialmente en la secuencia detallada de interacciones.
  8. Proporciona un bosquejo del diseño del sistema, incluyendo su arquitectura preliminar.
  9. Puede que no se mantenga actualizado rigurosamente durante todo el ciclo de vida del software.
  10. Define una estructura que constituye una entrada esencial para el modelado detallado del sistema.

Modelo de Diseño

Características principales del Modelo de Diseño en el PUD:

  1. Es un modelo físico, ya que actúa como un plano detallado para la implementación.
  2. No es genérico; es específico para una implementación particular y las tecnologías seleccionadas.
  3. Puede utilizar cualquier número de estereotipos físicos para las clases, dependiendo del lenguaje de implementación y las decisiones de diseño.
  4. Presenta un nivel de formalidad mayor.
  5. Su desarrollo es, generalmente, más costoso debido al nivel de detalle.
  6. Consta de más capas, reflejando la estructura de la implementación.
  7. Es de naturaleza dinámica, con un fuerte enfoque en la secuencia precisa de interacciones y comportamientos.
  8. Constituye un manifiesto del diseño del sistema, incluyendo su arquitectura detallada (representada como una de sus vistas).
  9. Debe mantenerse actualizado rigurosamente durante todo el ciclo de vida del software.
  10. Da forma al sistema final, procurando preservar y refinar la estructura definida por el modelo de análisis.

Proceso de Diseño de Software: Definición y Componentes Esenciales

Definición del Proceso de Diseño

El diseño de software es un proceso iterativo que aplica diversas técnicas y principios con el objetivo de definir un sistema con un nivel de detalle suficiente para permitir su realización física. En este proceso, se transforma un modelo lógico (proveniente del análisis) en un modelo físico (plano para la construcción), considerando las restricciones de negocio y los Requisitos No Funcionales (RNF), para que el sistema pueda dar soporte tanto a estos últimos como a los Requisitos Funcionales (RF).

Aspectos del Software que se Diseñan

Los principales aspectos del software que se abordan durante el proceso de diseño incluyen:

  • Arquitectura: Conjunto de decisiones significativas acerca de la organización del sistema. Estas decisiones permiten tomar el modelo de análisis y aplicarle las restricciones necesarias para satisfacer los requisitos de calidad (como rendimiento, seguridad, mantenibilidad). La arquitectura se presenta mediante vistas, que son proyecciones del sistema desde diferentes perspectivas particulares (ej. vista lógica, vista de despliegue).
  • Datos: Se analiza la estructura del sistema para identificar y definir los elementos de datos que sustentarán la funcionalidad. Es necesario diseñar tanto la estructura lógica y física de los datos como su persistencia (cómo y dónde se almacenarán).
  • Interfaz Humano-Máquina (IHM): Consiste en el diseño de la interacción y la experiencia del usuario (UX) con la aplicación. Esto incluye el diseño de pantallas, flujos de navegación, y la usabilidad general del sistema.
  • Procesos (o Componentes): Implica la transformación de los elementos estructurales de la arquitectura del programa en una descripción procedimental o de comportamiento de los componentes del software. Se definen las responsabilidades y colaboraciones entre módulos o clases.
  • Formas de Entrada/Salida (E/S): Se diseñan los mecanismos específicos mediante los cuales el usuario ingresará datos al sistema (ej. formularios, APIs de entrada) y las formas en que este emitirá información de salida (ej. reportes, visualizaciones, APIs de salida).
  • Procedimientos Manuales: Describe cómo el software se integrará y adaptará al sistema de negocio existente. Esto incluye la evaluación de su impacto en los procesos actuales de la organización y la definición de procesos alternativos o de contingencia en caso de que el sistema deje de funcionar temporalmente.

Entradas relacionadas: