14 Sep

Para que una metodología para el desarrollo de SBC sea completa, debe abordar el diseño y la implementación del sistema. El objetivo de un diseñador es producir un modelo o representación de una entidad que será construida posteriormente. El proceso de diseño producirá:

  • D. datos: transformará el modelo de dominio de la aplicación en las estructuras de datos necesarias para la implementación.
  • D. arquitectónico: definirá la relación entre los elementos estructurales principales del software y las restricciones que afectan la aplicación de los patrones de diseño arquitectónico.
  • D de la interfaz: describirá la forma en que el software se comunica internamente, con otros sistemas que interoperan y con las personas que lo utilizan.
  • D de los componentes: transformará los elementos estructurales de la arquitectura del software en una descripción procedimental de los componentes software.

Diseño y calidad: tres características que debe incluir un buen diseño:

  1. Debe implementar todos los requisitos explícitos en el modelo de análisis y ajustarse a los requisitos implícitos propuestos por el cliente.
  2. Deberá ser una guía legible y comprensible para los programadores.
  3. Deberá dar una imagen completa del software desde una perspectiva de implementación.

Principios básicos:

  • No utilizar orejeras, el diseño debe poder ser rastreado hasta el m.análisis.
  • No inventar nada que no esté inventado.
  • Reducir la distancia entre el software y el problema.
  • Ser uniforme, integrado, estructurado y robusto.
  • El diseño no es codificación, debe evaluarse en función de la calidad mientras se va creando.
  • Revisar el diseño para minimizar errores.

Cuando todo esto se aplica adecuadamente, el diseño muestra los factores de calidad:

  • Externos: aquellas propiedades del software que pueden ser observadas por los usuarios, como la velocidad y la fiabilidad.
  • Internos: conducen a un diseño de alta calidad y solo tienen sentido para los ingenieros.

Modelo de diseño: describe la implementación computacional de los modelos de conocimiento y comunicación, debe cubrir los siguientes objetivos de diseño:

  • Separación del análisis y la implementación.
  • Garantizar la calidad.
  • Especificación independiente de la plataforma.
  • Descomposición de la tarea de diseño.
  • Separación de la arquitectura de los contenidos.
  • Inclusión de los requisitos del entorno.
  • Reutilización.
  • Diseño de la interfaz y la interacción.

La diferencia entre el m.diseño y el resto de los modelos es que este no debe añadir conocimiento adicional sobre el problema.




Se decompone en dos dimensiones:

  • Primera dimensión (Permite diferenciar entre el d. de la aplicación, el d. de la arquitectura y el d. de la plataforma).
  • Segunda dimensión (Establece la diferencia entre los distintos tipos de subsistemas).

Los objetivos del m.diseño son:

  • D.aplicación (ubicado en el nivel conceptual).
  • D.arq (Abstracción del nivel computacional).
  • D.plataforma (lenguaje de implementación).

Arquitectura: descripción de los elementos computacionales sobre los que los elementos conceptuales deben ser especificados.

Req Funcionales: describen el comportamiento funcional requerido por la app.

Req no funcionales: requisitos que expresan restricciones sobre el comportamiento funcional.

El objetivo de los modelos de análisis es la descripción de los aspectos funcionales.

Diseño con conservación de la estructura: En el proceso de diseño se distinguen dos actividades: la especificación de la arquitectura del sistema y la elección de las estructuras y técnicas computacionales. CommonKads recomienda seguir el principio de la conservación de la estructura (el contenido y la estructura de la información que está presente en el m.conocimiento debe conservarse hasta el final). Tiene que ser posible rastrear a partir del código las estructuras del conocimiento del dominio, como sus relaciones con las inferencias y los roles de conocimiento. La principal ventaja de este principio es que los modelos de conocimiento y comunicación actúan como especificaciones de alto nivel proporcionando enlaces hacia aquellos elementos del código que se deben modificar al variar las especificaciones.

Criterios de Calidad: Reutilización de código, mantenimiento, facilidades de explicación, soporte para la adquisición de conocimiento.

Proceso de diseño: El concepto central es la arquitectura del software, que describe la estructura del software y el régimen de control. CommonKADS recomienda la utilización de una arquitectura de referencia, la MVC:

  • Controlador: gestión de las entradas tanto externas (agentes) como internas (funciones).
  • Vistas: visualizan los resultados de los agentes externos.
  • Modelo: funciones de razonamiento (tareas e inferencias), BBDD.

Se compone de cuatro pasos:

  1. Diseño de la arquitectura del sistema: se especifica la arquitectura general del sistema.
  2. Selección de la plataforma de implementación: se eligen el hardware y el software que se van a utilizar.
  3. Especificación de los componentes de la arquitectura: se especifican con mayor detalle los subsistemas que han sido definidos en la arquitectura, las interfaces y se toman decisiones.
  4. Especificación de la aplicación sobre la arquitectura: los elementos del modelo de análisis se especifican sobre los elementos de la arquitectura.

Deja un comentario