Diseño e Implementación del Sistema Principios del diseño y criterios de calidad Arquitectura del Sistema CommonKADS Pasos para la creación de un modelo.

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

Sistema de Información Cultural, CONACULTA México, 2006 SiC / RENiC Aspectos técnicos relevantes para un Sistema de Información (SI)
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Plan de Implantación Sistemas de Información III
Fundamentos de Diseño de Software INFT.1
ANÁLISIS DE REQUERIMIENTOS
Arquitectura Orientada a Servicios (SOA)
Arquitectura CLARO-TECNOTREE
Diseño orientado al flujo de datos
Metodologías OMT Republica bolivariana de Venezuela
Fundamentos de Ingeniería de Software
Etapas y actividades en el desarrollo OO basado en UML
Java 2 Platform Enterprise Edition
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
Ingeniería del Software
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Profesor: Miguel Angel Vidal
Contexto: Aplicación gráfica.  Siempre que se piensa en separar la funcionalidad de una aplicación de su interacción con el usuario, bien sea una aplicación.
Propuesta de una metodología para el desarrollo de proyectos informáticos empleando la herramienta para el diseño automatizado GeneXus Autor: Dipl.-Ing.
Modelado Arquitectónico
Diseño del Software Diseño de datos Diseño arquitectónico
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
DISEÑO DE LA INTERFAZ DE USUARIO
Programación Orientada a Aspectos (POA)
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Diseño e Implementación
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
1 Diseño Orientado a Objetos Agustín J. González ELO-329: Diseño y Programación Orientados a Objetos 1er. Sem
Sistemas Basados en Conocimiento Diego Faúndez Nelson Escobar.
CS-432: Ingeniería Moderna de Software Semana 3
Construcción del Modelo de Conocimiento
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
Diseño e Implementación de Sistemas Basados en Conocimiento
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Modelo-Vista-Controlador Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación original fue realizada en Smalltalk.
Integrantes: Daniel Briceño Luis Carrera..  CommonKADS es la metodología desarrollada para apoyar la ingeniería del conocimiento.
Ximena Romano – Doris Correa
1 Diseño Orientado al Objeto Agustín J. González ELO-326: Seminario de Computadores II 2do. Sem
Sistemas Basados en Conocimiento (Knowledge Based Systems) Lic. Mario G. Oloriz Agosto 2004.
Diseño de Software y su Proceso
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Trainning DFD.
Estudio de Viabilidad del Sistema (EVS)
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Ingeniería de Software
Alexander Aristizabal Ángelo flores herrera
Diseño de Sistemas.
Introducción a UML Departamento de Informática Universidad de Rancagua
Ingeniería de Requisitos
Jairo Pinto Ing. sistemas
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Ciclo de Vida del Software
Acceso a Datos Erick López Ovando Licenciado en Informática.
Proceso de desarrollo de Software
Programación Orientada a Objetos: CLASES Y OBJETOS
Investigación preliminar  Entender la naturaleza del problema  Definir el alcance y las restricciones o limitaciones del sistema  Identificar los beneficios.
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
Modelo de procesos de software
Fundamentos de Ingeniería de Software
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible.
Servicio de Implementación Proceso de Desarrollo de Software Ventanilla Única de Comercio Exterior Mexicana.
Entregables del Proyecto
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Transcripción de la presentación:

Diseño e Implementación del Sistema Principios del diseño y criterios de calidad Arquitectura del Sistema CommonKADS Pasos para la creación de un modelo de diseño

Curso CommonKADSDiseño e implementación del Sistema2 Desde el análisis al diseño

Curso CommonKADSDiseño e implementación del Sistema3 Diseño del Sistema r Entrada: ä Modelo del conocimiento = requisitos de resolución de problemas ä Modelo de comunicación = requisitos de interacción ä Otros modelos = requisitos ‘no funcionales’ r Salida: ä Especificación de una arquitectura software ä Diseño de la aplicación con dicha arquitectura

Curso CommonKADSDiseño e implementación del Sistema4 Arquitectura del sistema r Descripción del software en términos de: ä Descomposición en sub-sistemas ä Elección del(los) regímene(s) de control ä Descomposición de los sub-sistemas en módulos software r Elemento central en el proceso de diseño r Arquitectura base para sistemas basados en CommonKADS

Curso CommonKADSDiseño e implementación del Sistema5 Diseño basado en el mantenimiento de la estructura del análisis “Preservar durante el diseño tanto el contenidos como la estructura del modelo de análisis” r Principio esencial en el diseño moderno r Se considera que el diseño sólo debe ‘añadir detalles específicos de la implementación a los resultados del análisis’ r La clave está en preservar la información r Relacionado directamente con los criterios de calidad

Curso CommonKADSDiseño e implementación del Sistema6 Criterios generales de calidad en el diseño r Minimización del acoplamiento r Maximización de la cohesión r Transparencia r Mantenibilidad

Curso CommonKADSDiseño e implementación del Sistema7 Criterios de calidad para el diseño de SBC r Reusabilidad de elementos del diseño /del código resultante r Mantenibilidad y adaptabilidad ä Desarrollos en un solo paso es poco realista, especialmente para sistemas intensivos en conocimiento r Posibilidad de generar explicaciones r Facilidad en la extracción y refinamiento del conocimiento ä El conocimiento evoluciona en el tiempo

Curso CommonKADSDiseño e implementación del Sistema8 Pasos en el diseño de sistemas

Curso CommonKADSDiseño e implementación del Sistema9 Paso 1: especificar la arquitectura global r Principio: separar las cuestiones de funcionalidad de la interfase r Arquitectura MVC: ä Desarrollado para el Smaltalk-80 ä Se distingue entre los objetos de la aplicación y su visualización ä Unidad de control central con un régimen dirigido por eventos

Curso CommonKADSDiseño e implementación del Sistema10 Arquitectura del Sistemas: Componentes principales

Curso CommonKADSDiseño e implementación del Sistema11 Subsistema: modelo de la aplicación r Contiene los datos y las funciones de la aplicación = objetos del modelo de conocimiento r Datos ä Bases de conocimiento ä Datos dinámicos manipulados durante el razonamiento (roles dinámicos) r Funciones ä Tareas, inferencias, funciones de transferencia

Curso CommonKADSDiseño e implementación del Sistema12 Subsistema: vistas r Visualizaciones de los datos de la aplicación y de sus funciones r Posibilidad de que existan múltiples visualizaciones r Visualización por agregación de múltiples objetos de la aplicación r Requiere de mecanismos de actualización /integridad de la arquitectura ä Tabla de mapeo ä Protocolo de mensajes para cambios en los estados de los objetos

Curso CommonKADSDiseño e implementación del Sistema13 Subsistema: controlador r Unidad central de ‘mando y control’ r Proporciona manipuladores para los eventos internos y externos r Posibilita la activación de funciones de la aplicación r Puede definir sus propias vistas de control r Puede tener un reloj y una agenda interna ä Comportamiento por ‘demonios’

Curso CommonKADSDiseño e implementación del Sistema14 Puntualizaciones sobre la arquitectura MVC r Desarrollo en un contexto orientado a objetos r Es de hecho una descomposición funcional de objetos r Su utilización no está necesariamente limitada a aproximaciones O-O ä Aunque el paradigma de paso de mensajes se ajusta bien con las características de esas arquitecturas

Curso CommonKADSDiseño e implementación del Sistema15 Descomposición del subsistema del modelo de la aplicación r Criterio ä Debe permitir un diseño que preserve la estructura del análisis ä Debe posibilitar la integración con otras aproximaciones r Opciones ä Descomposición funcional o por objetos r Elección: descomposición basada en objetos ä Se ajusta bien con el carácter declarativo de las especificaciones de los objetos en el modelo de conocimiento (tarea => objeto) ä Simplifica la traducción (mapeo) en la implementaciones O-O

Curso CommonKADSDiseño e implementación del Sistema16 Arquitectura del sistema: Subsistema del modelo de la aplicación

Curso CommonKADSDiseño e implementación del Sistema17 Paso 2: Identificar la plataforma de implementación r Los requisitos específicos del cliente suelen restringir esta elección = es necesario considerar esto desde el principio r Hoy día es más importante la elección del software que la del hardware ä Excepto en aplicaciones de control en tiempo real r Si la elección no está limitada, considerar retrasar la elección hasta la finalización del paso 3

Curso CommonKADSDiseño e implementación del Sistema18 Criterios de selección de la plataforma r Librería de visualización de clases de objetos ä Su desarrollo puede ser muy costoso r Formalismo de representación del conocimiento declarativo r Interfaces estándar a otro software ä Ej. ODBC, CORBA ä Suele ser un requisito r Facilidades de tipado en el lenguaje ä El tipado débil implica usualmente más trabajo en mapeo del modelo de análisis (ver paso 4a) r Control de las facilidades/protocolos

Curso CommonKADSDiseño e implementación del Sistema19 Entorno ejemplo: Prolog r Librería de visualización: dependiente del vendedor r Representación del conocimiento declarativa r Interfaces con BD: depende del vendedor r Tipado débil del lenguaje r No existen protocolos estándar para el control de eventos o paso de mensajes

Curso CommonKADSDiseño e implementación del Sistema20 Entornos ejemplo: Java r Librería de vistas r No tiene una representación del conocimiento declarativa r Posee interfases con BD r Facilidades de tipado similares a C++ r Facilidades de control: ä Ej. Multi-threading

Curso CommonKADSDiseño e implementación del Sistema21 Paso 3: especificar los componentes de la arquitectura r Especificar las interfases de los componentes r Diseñar las utilidades/facilidades generales de la arquitectura ä Mecanismo de actualización de las vistas

Curso CommonKADSDiseño e implementación del Sistema22 Facilidades del controlador r Activación/terminación de las funciones de la aplicación r Interrupciones de usuario para trazar o editar información de background r Aborto de funciones r Gestión de las funciones de transferencia

Curso CommonKADSDiseño e implementación del Sistema23 Facilidades del modelo de la Aplicación (1) r Tarea: ä Métodos de inicialización y ejecución r Método de la tarea: ä Elementos de control del lenguaje ä ‘Declaratividad’ del lenguaje de control r Inferencia: ä Ejecutar, ¿más soluciones?, ¿tiene solución? ä Enlace con los métodos de inferencia

Curso CommonKADSDiseño e implementación del Sistema24 Facilidades del modelo de la Aplicación (2) r Método de Inferencia ä ¿existe un catálogo de métodos? ä Posibilitar relaciones muchos a muchos entre las inferencias y los métodos r Funciones de transferencia ä Implementarlas mediante envío de mensajes r Roles dinámicos ä Tipos de datos permitidos: elemento, conjunto, lista ¿?¡ ä Operaciones de actualización y acceso: seleccionar, eliminar, añadir,...

Curso CommonKADSDiseño e implementación del Sistema25 Facilidades del modelo de la Aplicación (3) r Roles estáticos ä Funciones de acceso y de query r Modelos del Dominio ä Formato representacional ä Funciones de acceso y query ä Funciones de modificación y análisis r Construcciones del Dominio ä (Sólo revisarlas)

Curso CommonKADSDiseño e implementación del Sistema26 Facilidades de las vistas r Visualizaciones gráficas standard r Generación de formatos externos ä e.j. SQL query r Facilidades de actualización de vistas ä Tabla de mapeo ä Protocolos basados en mensajes

Curso CommonKADSDiseño e implementación del Sistema27 Interfases de usuario r Interfase de usuario final ä Considerar utilidades específicas como la generación de lenguaje natural. ä Utilizar visualizaciones características del Dominio r Interfase Experta ä Interfase de traza ä Interfase para editar o refinar las bases de conocimiento

Curso CommonKADSDiseño e implementación del Sistema28 Ejemplo de trazador

Curso CommonKADSDiseño e implementación del Sistema29 Paso 4: especificar la aplicación en la arquitectura Paso 4a: “mapear el análisis en la arquitectura” ä Es un proceso engorroso Paso 4b: “añadir detalles de diseño” ä Listar los detalles de diseño que necesiten añadirse para completar la operacionalización del modelo de análisis

Curso CommonKADSDiseño e implementación del Sistema30 Paso 4a: mapear la información del análisis en la arquitectura r Existen herramientas de mapeo en desarrollo ä ejemplo: VOID API ä Ver el web de CommonKADS r El alcance del mapeo va a depender de algunas decisiones de diseño

Curso CommonKADSDiseño e implementación del Sistema31 Diseño de la aplicación para el controlador r Entrada: modelo de comunicación r Mínimo: procedimiento de arranque r Otras funciones: ä Requerimientos de gestión de justificaciones ä Control del usuario sobre el proceso de razonamiento ä Interrupciones del razonamiento / estrategia de control ä Posibilitar escenarios “what-if”

Curso CommonKADSDiseño e implementación del Sistema32 Diseño del modelo de la aplicación Conjunto mínimo de actividades para el diseño de la aplicación: r Para cada método de tarea: ä Construir la estructura de control operacional r Para cada role dinámico: ä Elegir un tipo de datos r Para cada inferencia ä Identificar un mapeo ä Escribir un método de invocación para la inferencia

Curso CommonKADSDiseño e implementación del Sistema33 Diseño de la aplicación para las vistas r Si fuera necesario, seleccionar una vista para cada objeto de la aplicación r Consejo: utilizar vistas lo más parecidas a los formatos utilizados en el dominio para la interfase de usuario ä Demasiado a menudo los diseñadores imponen a los usuarios sus preferencias ä Cada dominio tiene sus propias tradiciones a la hora de representar la información (y normalmente por buenos motivos)

Curso CommonKADSDiseño e implementación del Sistema34 Prototipado: subsistema de razonamiento r ¿Cuándo se necesita? ä Para elementos de conocimiento novedosos o sin precedentes ä Cuando se detecten ‘vacíos’ en el conocimiento del dominio ä En general: para verificar y validar el modelo de conocimiento –verificación: “is the system right” –validación: “is it the right system” r La plataforma de implementación debe ser capaz de facilitar este proceso ä La construcción del prototipo debe ser cuestión de días

Curso CommonKADSDiseño e implementación del Sistema35 Elementos Clave r Se considera al diseño como un proceso de refinamiento en el que se mantiene la estructura del análisis r Cuatro pasos para el proceso de diseño r Se puede recibir apoyo de: ä Arquitectura CommonKADS ä Herramientas de transformación de los modelos de conocimiento y comunicación ä Plataformas específicas con paquetes CommonKADS r “diseño racional: cómo y porqué imitarlo” (Parnas & Clements)

Curso CommonKADSDiseño e implementación del Sistema36 Prototype: mock-up agent interface r Test mock-up interface without full application functionality r When needed: ä complex external interaction (e.g.; HOMEBOTS) ä complex view formats ä complex view aggregations

Curso CommonKADSDiseño e implementación del Sistema37 Sistemas de conocimiento distribuidos r Servicios de Razonamiento ä El modelo de la aplicación actúa como un servicio ä Sin interfase de usuario r Servidor de bases de conocimiento /ontologías r Servicio de métodos ä Sistemas distribuidos implementados mediante un conjunto de métodos r Combinaciones

Curso CommonKADSDiseño e implementación del Sistema38 Sample implementations r Housing application r Source code at web-site r “Academic” implementation ä public-domain Prolog r “Business” implementation ä Aion8 r Experiences show that prototypes of “running knowledge models” can be built within days

Curso CommonKADSDiseño e implementación del Sistema39 Architecture Prolog system

Curso CommonKADSDiseño e implementación del Sistema40 Trace Prolog system (1)

Curso CommonKADSDiseño e implementación del Sistema41 Trace Prolog system (2)

Curso CommonKADSDiseño e implementación del Sistema42 Trace Prolog system (3)

Curso CommonKADSDiseño e implementación del Sistema43 Trace Prolog system (4)

Curso CommonKADSDiseño e implementación del Sistema44 Aion8 system for “housing” r Realized as O-O “framework” ä roles, interfaces => multiple inheritance ä Hollywood principle r Includes task-template library facility r Default implementation of inferences

Curso CommonKADSDiseño e implementación del Sistema45 Aion8 system architecture

Curso CommonKADSDiseño e implementación del Sistema46 Aion8 CommonKADS classes

Curso CommonKADSDiseño e implementación del Sistema47 Aion8 assessment library

Curso CommonKADSDiseño e implementación del Sistema48 Trace Aion8 system (1)

Curso CommonKADSDiseño e implementación del Sistema49 Trace Aion8 system (2)