1.3. Patrones de Diseño

Ver comentarios

Los patrones de diseño del software se encuentra en el núcleo técnico de la ingeniería del software y se aplica independientemente del modelo de diseño de software que se utilice. Una vez que se analizan y especifican los requisitos del software, el diseño del software es la primera de las tres actividades técnicas y de diseño, generación de código y pruebas que se requieren para construir y verificar el software. Cada actividad transforma la información de manera que dé lugar por último a un software de computadora validado.

Cada uno de los elementos del modelo de análisis proporciona la información necesaria para crear los cuatro modelos de diseño que se requieren para una especificación completa de diseño. En la siguiente imagen se muestra la conversión del modelo de análisis en un diseño de software.

La tarea de diseño produce un diseño de datos, un diseño arquitectónico, un diseño de interfaz y un diseño de componentes:

Diseño de datos. Transforma el modelo del dominio de información que se crea durante el análisis en las estructuras de datos que se necesitarán para implementar el software. Los objetos de datos y las relaciones definidas en el diagrama relación entidad y el contenido de datos detallado que se representa en el diccionario de datos proporcionan la base de la actividad del diseño de datos.

Diseño arquitectónico. Define la relación entre los elementos estructurales principales del software, los patrones de diseño que se pueden utilizar para lograr los requisitos que se han definido para el sistema, y las restricciones que afectan a la manera en que se pueden aplicar los patrones de diseño arquitectónicos.

Diseño de la interfaz. Describe la manera de comunicarse el software dentro de sí. Una interfaz implica un flujo de información y un tipo específico de comportamiento. Por tanto, los diagramas de flujo de control y de datos proporcionan gran parte de la información que se requiere para el diseño de la interfaz.

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.

Tres características que sirven como guía para la evaluación de un buen diseño:

1. El diseño deberá implementar todos los requisitos explícitos del modelo de análisis, y deberán ajustarse a todos los requisitos implícitos que desea el cliente.

2. El diseño deberá ser una guía legible y comprensible para aquellos que generan código y para aquellos que comprueban y consecuentemente, dan soporte al software.

3. El diseño deberá proporcionar una imagen completa del software, enfrentándose a los dominios de comportamiento, funcionales y de datos.

Normas de valuación de calidad del diseño:

1. Un diseño deberá presentar una estructura arquitecto que:

  • Se haya creado mediante Patrones de diseño reconocibles.
  • Esté formada por componentes que exhiban características de buen diseño.
  • Puedan implementar de manera evolutiva, facilitando así la implementación y la comprobación.

2. Un diseño deberá ser modular, el software deberá dividirse lógicamente en elementos que realicen funciones y subfunciones específicas.

3. Un diseño deberá contener distintas representaciones de datos, arquitectura, interfaces y componentes (módulos).

4. Un diseño deberá conducir a estructuras de datos adecuadas para los objetos que se van a implementar y que procedan de patrones de datos reconocibles.

5. Un diseño deberá conducir a componentes que presenten características funcionales independientes.

6. Un diseño deberá conducir a interfaces que reduzcan la complejidad de las conexiones entre los módulos y con el entorno externo.

7. Un diseño deberá derivarse mediante un método repetitivo y controlado por la información obtenida

8. Durante el análisis de los requisitos del software.


Comentarios