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:
- Debe implementar todos los requisitos explícitos en el modelo de análisis y ajustarse a los requisitos implícitos propuestos por el cliente.
- Deberá ser una guía legible y comprensible para los programadores.
- 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:
- Diseño de la arquitectura del sistema: se especifica la arquitectura general del sistema.
- Selección de la plataforma de implementación: se eligen el hardware y el software que se van a utilizar.
- 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.
- 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