Ingeniería del Diseño

El diseño es realmente un proceso de muchos paso, pero que se clasifica dentro de uno mismo. En general, la actividad del diseño se refiere al establecimiento de las estructuras de datos, la arquitectura general de software, representaciones de interfaz y algoritmos. 

El proceso de diseño traduce requisitos en una representación de software.Es la creatividad, unión, modelo de análisis, modelo de diseño y estructura de datos de un software. Lo hacen los ingenieros de software y es importante porque evalúa antes de generar el código, representa la calidad y usuarios finales involucrados.

Contexto del diseño de software.

El diseño del software se encuentra en el núcleo técnico de la respectiva ingeniería y se aplica de manera independiente al modelo de software que se utilice. Una vez que se analizan y especifican los requisitos, el diseño del software es la última acción de la ingeniería correspondiente dentro de la actividad del modelado, la cual establece una plataforma para la construcción.

Diseño Arquitectónico.

El diseño arquitectónico puede representarse al usar uno o más de muchos modelos diferentes. Los modelos estructurales representan la arquitectura como una colección organizada de componentes del programa. Los modelos del marco de trabajo repetible incrementan el grado de abstracción del diseño al intentar identificar marcos de trabajo repetibles del diseño arquitectónico que se encuentran en tipos de aplicaciones similares.

Fases del Diseño.

  • El diseño del software es un proceso iterativo por el cual, con los requisitos elaboramos un plano para construir el software. 
  • El Diseño se empieza a realizar en un nivel alto de abstracción: desde el objetivo del sistema mismo. 
  • A medida que ocurren las iteraciones del diseño, el refinamiento subsiguiente lleva a niveles de abstracción más bajos.
  • Durante el proceso del Diseño, su calidad se evalúa con una serie de revisiones técnicas formales. 
Hay 3 características que sirven de guía para evaluar un buen Diseño. Todo Diseño debe:
  1. Implementar todos los requisitos explícitos del Análisis, y ajustarse a todos los requisitos implícitos que desea el cliente. 
  2. Ser una guía legible y comprensible para el programador y quienes comprueban y dan soporte al software.
  3. Dar una imagen completa del software.

Diseño y Calidad del Software.

Para evaluar la calidad del Diseño , deben establecerse los criterios técnicos para un buen diseño; siguiendo estas directrices: 

Un Diseño deberá presentar una Estructura Arquitectónica que:
  • Se haya creado con Patrones de Diseño reconocibles.
  • Esté formada por componentes con características de buen Diseño. 
  • Y que se puedan implementar de forma evolutiva , facilitando así la implementación y la comprobación. 
Hay dos formas de diseñar un software: Una forma es construirlo de forma tan simple, que no existan deficiencias obvias. Otra es hacerlo tan complicado, que tampoco existan deficiencias obvias. La primera forma es mucho más difícil que la segunda. Cada actividad transforma la información para originar un software de computadora validado. Los peligros más comunes de la Ingeniería del Software son las transiciones desde el Análisis hasta el diseño; y desde el diseño hasta el código. Cada elemento del Análisis brinda la información necesaria para crear los Modelos de Diseño requeridos para una especificación completa de diseño.

Modelos de Diseño.

Diseño de Datos: transforma el modelo de información que se crea durante el análisis en las estructuras de datos que se necesitarán para implementar el Software. Parte del diseño de datos puede darse junto con el diseño de la arquitectura del software. Mientras se diseñan los componentes del software, pueden aparecer más detalles de diseño.

Diseño Arquitectónico: define la relación entre los: elementos estructurales principales del software, los patrones de diseño que se utilizan, y las restricciones que afectan a la forma en que se pueden aplicar los patrones de diseño arquitectónicos.

Diseño de Interfaces: Describe la manera de comunicarse el Software: Dentro de sí mismo, Con Sistemas que interoperan dentro de él, y con las personas que lo utilizan. Una interfaz implica un flujo de información y un tipo específico de comportamiento.

Diseño a Nivel de Componentes : transforma los elementos estructurales de la arquitectura del software en una descripción procedimental de los componentes del software.

La importancia del Diseño del Software se puede describir con una sola palabra: calidad. proporciona las representaciones del software que se pueden evaluar en cuanto a calidad, es la única forma de convertir exactamente los requisitos de un cliente en un producto finalizado. Sin un diseño, corremos el riesgo de construir un sistema inestable.

El Diseño de Software es un proceso y también un modelo. El proceso de diseño es una secuencia de pasos que describen todos los aspectos del software que se va construir. 

El Modelo de Diseño es el equivalente a los planes de un arquitecto para una casa. Comienza representando todo lo que se va a construir (por ejemplo, una representación en tres dimensiones de la casa) y refina lentamente hasta proporcionar la guía para construir cada detalle. De modo similar, el Modelo de Diseño que se crea para el Software , proporciona diversas visiones diferentes de Software.

Principios básicos de Diseño.

  1. En el proceso de diseño no se deben usar orejeras.
  2. El diseño debe poder rastrearse hasta el modelo de análisis.
  3. El diseño no debe inventar nada que ya esté inventado.
  4. Debe minimizar la distancia intelectual, entre el software y el problema como si de la misma vida real se tratara.
  5. El diseño deberá presentar uniformidad e integración.
  6. El diseño deberá estructurarse para admitir cambios.
  7. El diseño deberá estructurarse para degradarse poco a poco, incluso cuando se enfrenta con datos, sucesos o condiciones de operación aberrantes.
  8. El diseño no es escribir código y escribir código no es diseñar.
  9. El diseño debe evaluarse en función de la calidad, mientras se va creando, no después de terminarlo.
  10. El diseño deberá revisarse para minimizar los errores conceptuales (semánticos).

Comentarios

Entradas más populares de este blog

Modelado de Análisis para WebApps

Prueba de Aplicaciones Web

Formulación y Planeación para Ingeniería Web