Está en la página 1de 24

Agentes Inteligentes

Fundamentos y Sistemasde
de Ingeniería Multiagente
Software
Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl

Diseño de Inicial
Presentación
Software
DISEÑO DE SOFTWARE
INTRODUCCIÓN
INTRODUCCIÓN
QUÉ ES EL DISEÑO DE SOFTWARE (1)

q El diseño de software es un proceso iterativo por medio del cual


se traducen los requerimientos en “planos” para construir el
software.
q El nivel de abstracción utilizado en el diseño comienza en un
nivel mayor, y progresivamente va disminuyendo.

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
INTRODUCCIÓN
QUÉ ES EL DISEÑO DE SOFTWARE (2)

q El diseño de software involucra una descripción de la estructura


del software en desarrollo.
q La descripción de la estructura del software se puede disponer
en términos de modelos, interfaces, etc.
q Las actividades en el proceso de diseño varían dependiendo del
tipo de sistema a desarrollar.

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
INTRODUCCIÓN
QUÉ ES EL DISEÑO DE SOFTWARE (3)

q El proceso de diseño va de una visión “panorámica” del software


a otra más cercana que define el detalle requerido para
implementar un sistema.
q El proceso comienza centrándose en la arquitectura.
q Se definen los subsistemas, se establecen los mecanismos de
comunicación entre éstos, se identifican los componentes y se
desarrolla la descripción detallada de cada uno.
q Además, se diseñan las interfaces externa, interna y de usuario.

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
DISEÑO DE SOFTWARE
ARQUITECTURA DE SOFTWARE
ARQUITECTURA DE SOFTWARE
APROXIMACIÓN (1)

q La arquitectura del software de un programa o sistema de


cómputo es la estructura o estructuras del sistema.
q Lo anterior comprende los componentes del software, sus
propiedades externas visibles y las relaciones entre ellos.

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
ARQUITECTURA DE SOFTWARE
APROXIMACIÓN (2)

q La arquitectura no corresponde al software (terminado).


q Es una representación que permite:
§ Analizar la efectividad del diseño orientado a cumplir los requerimientos
establecidos.
§ Considerar alternativas arquitectónicas en una etapa en la que hacer cambios al
diseño todavía es relativamente fácil.
§ Reducir los riesgos asociados con el desarrollo del software.

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
ARQUITECTURA DE SOFTWARE
DIFERENCIA ENTRE DISEÑO-ARQUITECTURA

q Existen diferentes modelos referenciales de arquitectura de


software y sistemas.
q El diseño traduce los requerimientos de software a lineamientos
(vistas) de desarrollo del software.
q Considerando lo anterior, el diseño de software se torna
“particular” en base a los requerimientos del software. En este
sentido, los modelos de arquitectura orientan de manera
general cómo se podría disponer la solución final del software.

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
DISEÑO DE SOFTWARE
ACTIVIDADES DEL PROCESO DE DISEÑO
ACTIVIDADES DEL PROCESO DE DISEÑO
DISEÑO ARQUITECTÓNICO

q Permite identificar / describir la estructura global del sistema,


los principales componentes (llamados en ocasiones
subsistemas o módulos), sus relaciones y cómo se distribuyen.

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
ACTIVIDADES DEL PROCESO DE DISEÑO
DISEÑO DE INTERFACES

q Con una interfaz precisa entre componentes de un sistema, es


factible usar un componente sin que otros tengan que saber
cómo se implementó.
q Una vez que se acuerdan las especificaciones de interfaces, los
componentes se diseñan y se desarrollan de manera
concurrente.

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
ACTIVIDADES DEL PROCESO DE DISEÑO
DISEÑO DE COMPONENTES

q Se diseña el funcionamiento de cada componente del sistema.


q En caso de reutilización de un componente ya existente, se
establece una lista de cambios /ajustes sobre el componente a
reutilizar o sobre un modelo de diseño detallado.

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
ACTIVIDADES DEL PROCESO DE DISEÑO
DISEÑO DE BASES DE DATOS

q Se diseñan las estructuras del sistema de datos y cómo se


representarán en una base de datos.
q La labor depende si se reutilizará un repositorio de datos
ya existente, o bien, se creará una nueva base de datos.

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
DISEÑO DE SOFTWARE
ESTILOS ARQUITECTÓNICOS
ESTILOS ARQUITECTÓNICOS
INTRODUCCIÓN

q Existen diferentes modelos generales de referencia.


q Cada modelo permite pensar en una posible forma de organizar
los subsistemas / componentes del software.
q Los modelos son referenciales y pueden ser adaptados a cada
contexto en particular.

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
ESTILOS ARQUITECTÓNICOS
MVC - MODELO-VISTA-CONTROLADOR

MODELO

CONTROLADOR VISTA

USUARIO

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
ESTILOS ARQUITECTÓNICOS
ARQUITECTURA CLIENTE-SERVIDOR (1)

q Servidor(es) que ofrece(n) servicios a otros componentes.


q Cliente(s) que solicita(n) los servicios que ofrecen los servidores.
Usualmente existen varias instancias de un programa cliente que
se ejecuten de manera concurrente en diferentes computadoras.
q Se dispone de una red que permite a los clientes acceder a
dichos servicios. La mayoría de los sistemas cliente-servidor se
implementan como sistemas distribuidos, conectados mediante
protocolos de Internet.

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
ESTILOS ARQUITECTÓNICOS
ARQUITECTURA CLIENTE-SERVIDOR (2)

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
ESTILOS ARQUITECTÓNICOS
ARQUITECTURAS DE TRES CAPAS (1)

q Capa de Presentación: se asocia con la presentación de


información al usuario y toda interacción con él.
q Capa de Negocio (o de Aplicación): se asocia a las reglas de
negocio que el sistema cumple o que lo gobiernan.
q Capa de Datos: se asocia al registro y extracción de datos.

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
ESTILOS ARQUITECTÓNICOS
ARQUITECTURAS DE TRES CAPAS (2)

PRESENTACION NEGOCIO / APLICACIÓN DATOS

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
ESTILOS ARQUITECTÓNICOS
ARQUITECTURAS MULTICAPA (1)

q Se definen capas o niveles de software.


q Lo anterior puede seguir lineamientos de especialización o de
reutilización.
q Cada capa puede representar un subsistema en el que se ubican
componentes de software con responsabilidades propias.

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
ESTILOS ARQUITECTÓNICOS
ARQUITECTURA MULTICAPA (2)

PRESENTACION NEGOCIO / APLICACIÓN ACCESO / SEGURIDAD DATOS

Fundamentos de Ingeniería de Software


Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
Agentes Inteligentes
Fundamentos y Sistemasde
de Ingeniería Multiagente
Software
Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl
Dr. Daniel Cabrera Paniagua / daniel.cabrera@uv.cl

Presentación Inicial
Muchas gracias!

También podría gustarte