Clase Arquitectura de Software

48
ARQUITECTURA DE SOFTWARE Walter Adrián Gómez Céspedes Ingeniero de Sistemas Especialista en Pedagogía Universitaria Candidato a Máster en Dirección Estratégica en Ingeniería del Software

Transcript of Clase Arquitectura de Software

  • ARQUITECTURA DE SOFTWARE

    Walter Adrin Gmez Cspedes

    Ingeniero de Sistemas Especialista en Pedagoga Universitaria

    Candidato a Mster en Direccin Estratgica en Ingeniera del Software

  • DESARROLLO DE SISTEMAS DE SOFTWARE

    Requisitos

    Funcionales

    del Software

    Servira para un

    Software

    monoltico

    Los atributos de calidad de Software son esenciales

    Arquitectura

    de Software

    SW de Calidad

    Software

    Software

  • LOS REQUISITOS DETERMINAN EL MODELO

    Requisitos

    Conocimiento

    Arquitecto

    Sistema

  • IMPLICACIONES DE NO SEGUIR UN PROCESO CONOCIDO DE MODELADO

    Arquitectura es una abstraccin de un sistema

    Los sistemas tienen

    una estructura

    Todo sistema tiene

    una arquitectura.

    El tener una arquitectura, no implica que se

    tiene una arquitectura conocida.

    El no desarrollo

    de una

    arquitectura

    explcita

    conduce a

    inconformidad

  • CONSECUENCIAS DE LAS DECISIONES DE AS SOBRE LAS CUALIDADES

    La arquitectura es crtica para alcanzar los

    atributos de calidad

    Las cualidades del producto deben

    disearse como parte de la arquitectura

    Un cambio en la estructura que mejora una

    cualidad suele afectar a otras cualidades

    La arquitectura slo puede permitir, no garantizar que

    cualquier requisito de calidad se alcance

    Dependiendo

    de las

    decisiones de

    Arquitectura, un

    sistema alcanza

    sus requisitos de

    calidad

  • INFLUENCIA DE LOS INTERESADOS

    Arquitecto

    Gerente

    Empresa

    Gerente

    Producto

    Usuario Final

    Ingeniero de

    soporte

    Cliente

    Bajos costos

    Ocupar personal

    Valor Activos

    Elementos

    atractivos

    Terminar rpido

    Comparar

    competencia

    Comportamiento

    Seguridad

    Confiabilidad

    Usabilidad

    Modificabilidad

    Bajos costos

    Terminar rpido

    Pocos cambios

  • INTERESADOS INVOLUCRADOS

    Objetivos de la organizacin y las propiedades del sistema

    requeridas por el negocio, raramente se comprenden

    Los requisitos de

    calidad del cliente,

    casi nunca se

    documentan

    Identificar e

    involucrar

    activamente a los

    interesados

    Qu debe

    tener en

    cuenta el

    arquitecto de

    software?

    - Objetivos que no

    se alcanzan.

    - Conflicto entre los

    interesados.

    - Comprender restricciones

    reales del sistema.

    - Administrar las

    expectativas.

    - Negociar prioridades del

    sistema.

    -Tomar decisiones de

    compromiso.

  • ESQUEMA DE PROCESO DE MODELADO DE AS

    Determinar los

    Requisitos

    Arquitectnicos

    Diseo de la

    Arquitectura

    Validacin

  • ESQUEMA DE PROCESO DE MODELADO DE AS

    Determinar los

    Requisitos

    Arquitectnicos

    Involucra crear un modelo desde los requerimientos que

    guiarn el diseo de la arquitectura basado en los

    atributos de calidad esperados.

    Diseo de la

    Arquitectura

    Involucra definir la estructura y las responsabilidades de

    los componentes que comprendern la Arquitectura de

    Software.

    Validacin

    Significa probar la arquitectura, tpicamente pasando a

    travs del diseo contra los requerimientos actuales y

    cualquier posible requerimiento a futuro.

  • IDENTIFICAR REQUERIMIENTOS

    Requisitos

    Funcionales

    Requisitos de

    los interesados

    Determinar los Requisitos

    Arquitectnicos

    Requisitos de

    Arquitectura

    Priorizar

    Clasificacin de los requisitos no funcionales

    Identificar restricciones

  • REQUERIMIENTOS NO FUNCIONALES

    Describen como el software debe comportarse, es decir

    como hacer algo, no que debe hacer.

    Estn relacionados con los requerimientos funcionales

    porque describen la forma que se espera se logren

    dichos requerimientos.

    En algunos casos tienen restricciones de cmo hacerlo.

    Se clasifican de acuerdo al atributo de calidad esperado

    del sistema.

  • EJEMPLO DE REQUERIMIENTOS DE AS

  • ACTIVIDAD CON EL GRUPO DE TRABAJO

    Como ya se tiene planteado cul es el software que se va a desarrollar

    durante el trimestre, el siguiente paso a trabajar en identificar los

    requerimientos funcionales y no funcionales, para ello hacer uso de la

    siguiente forma para el levantamiento de requerimientos:

    Nombre:

    Tipo:

    Crtico: Si/No

    Descripcin:

    Criterios de Aceptacin:

  • DEFINICIONES DE AS

    Clements: Vista del sistema que incluye los componentes principales del mismo, la conducta de esos componentes segn se la percibe desde el resto del sistema y las

    formas en que los componentes interactan y se coordinan para alcanzar la misin del sistema.

    IEEE Std 1471-2000: es la organizacin fundamental de un sistema encarnada en sus componentes, las relaciones entre ellos y el ambiente y los principios que orientan su diseo y evolucin.

    Se

    ocupa

    de

    Diseo preliminar o de alto nivel.

    Organizacin a alto nivel 1. Descripcin y anlisis de estructura.

    2. Protocolos de comunicacin.

    Aspectos relacionados con

    el desarrollo del sistema y

    su evolucin.

    composicin, reconfiguracin,

    reutilizacin, escalabilidad,

    mentenibilidad.

    No se

    ocupa

    de

    Diseo Detallado, Diseo de algoritmos, diseo de estructura de

    datos.

  • MODELOS DE AS

    Modelos estructurales: AS est compuesta por componentes, conexiones entre ellos y

    (usualmente) otros aspectos (configuracin, estilo, restricciones, semntica, anlisis,

    propiedades, racionalizaciones, requerimientos, necesidades de los participantes).

    Modelos de framework: Son similares a la vista estructural, pero su nfasis primario radica en la estructura coherente del sistema completo, en vez de concentrarse en su composicin. Los modelos de framework a menudo se refieren a dominios o clases de problemas especficos.

    Modelos dinmicos: Enfatizan la cualidad conductual de los sistemas. Los cambios en la

    configuracin del sistema, o a la dinmica involucrada en el progreso de la

    computacin, tales como valores cambiantes de datos.

    Modelos de proceso: Se concentran en la construccin de la arquitectura, y en los pasos

    o procesos involucrados en esa construccin. En esta perspectiva, la arquitectura es el

    resultado de seguir un argumento (script) de proceso.

    Modelos funcionales: Una minora considera la arquitectura como un conjunto de

    componentes funcionales, organizados en capas que proporcionan servicios hacia

    arriba. Es tal vez til pensar en esta visin como un framework particular.

  • CONCEPTOS FUNDAMENTALES

    Estilos

    Concepto descriptivo que define una forma de articulacin u

    organizacin arquitectnica. El conjunto de los estilos cataloga las

    formas bsicas posibles de estructuras de software. Conjugan elementos,

    conectores, configuraciones y restricciones.

    ADL

    Lenguaje de Descripcin Arquitectnica. permiten modelar una

    arquitectura mucho antes que se lleve a cabo la programacin de las

    aplicaciones que la componen.

    Frameworks y Vistas

    Es una estructura conceptual y tecnolgica de soporte definido, normalmente

    con artefactos o mdulos de software concretos, que puede servir de base

    para la organizacin y desarrollo de software.

    Abstra-ccin

    Extraer las propiedades esenciales, o identificar los aspectos importantes,

    o examinar selectivamente ciertos aspectos de un problema,

    posponiendo o ignorando los detalles menos sustanciales, distractivos o

    irrelevantes.

  • ARQUITECTURA O DISEO

    Diferencias

    entre Arquitectura

    y Diseo

    1. Arquitectura y Diseo son lo mismo

    2. Arquitectura se encuentra en un nivel de abstraccin

    por encima del diseo.

    3. Arquitectura es algo nuevo y en alguna medida

    diferente del diseo (pero de qu manera y en qu

    medida se dejan sin especificar).

    4. Shaw y Garlan: AS es

    el primer paso en la

    produccin de un

    diseo de software.

    a. Arquitectura.

    b. Diseo del cdigo.

    c. Diseo de ejecutable.

  • ARQUITECTURA O DISEO

    Arquitectura

    Asocia las capacidades del sistema especificadas en el requerimiento con los componentes del sistema que habrn de implementarla. La descripcin arquitectnica incluye componentes y conectores (en trminos de estilos) y la definicin de operadores que crean sistemas a partir de subsistemas o, en otros trminos, componen estilos complejos a partir de estilos

    simples.

    Diseo del

    cdigo

    Comprende algoritmos y estructuras de datos; los

    componentes son aqu primitivas del lenguaje de

    programacin, tales como nmeros, caracteres, punteros

    e hilos de control. Tambin hay operadores primitivos.

    Diseo

    Ejecutable

    Remite al diseo de cdigo a un nivel de detalle todava

    ms bajo y trata cuestiones tales como la asignacin de

    memoria, los formatos de datos, etctera.

  • RELEVANCIA DE LA AS

    Comunicacin

    Mutua

    Decisiones

    tempranas de diseo Restricciones

    constructivas

    Abstraccin

    transferible

    Entendimiento

    mutuo, formar

    consenso y

    comunicarse

    entre si.

    Respecto al

    desarrollo

    restante del

    sistema, su

    servicio en el

    despliegue y su

    vida de

    mantenimiento.

    Blueprints

    parciales para

    el desarrollo

    Modelo

    relativamente

    pequeo de la

    forma en que

    un sistema se

    estructura y sus

    componenten

    se entienden

    entre si.

    Exponer

    restricciones de

    alto nivel sobre

    el diseo y

    justificar las

    decisiones

    arquitectnicas

    Participantes usan como base para Tienen un peso

    Proporciona Encarna

    Permite

    Componentes y

    dependencias

    entre ellos.

    Indicando

  • RELEVANCIA DE LA AS

    Evolucin Anlisis Administracin

    Exponer las

    dimensiones a

    lo largo de las

    cuales puede

    esperarse que

    evolucione el

    sistema.

    Nuevas

    oportunidades

    para anlisis

    Logros clave

    para el

    desarrollo de

    proyectos

    exitosos.

    La AS puede

    Aporta AS proporciona

    Verificaciones de

    consistencia,

    conformidad con las

    restricciones impuestas

    por un estilo,

    conformidad con

    atributos de calidad,

    anlisis de

    dependencia, anlisis

    de dominio y negocios.

    Incluyendo

  • ESTILOS ARQUITECTNICOS

    Estilos indican

    Los tipos de componentes y conectores involucrados.

    Patrones y restricciones de interconexin

    o composicin entre ellos.

    Serie de propiedades que lo caracterizan, determinando sus ventajas e inconvenientes

    Estilos se les asocian

    Condiciona la eleccin de uno u otro estilo

    Un estilo arquitectnico define una familia de sistemas (cierto tipo de sistemas) en trminos de

    patrones estructurales, de control, de comunicacin, etc.

  • CLASIFICACIN DE LOS ESTILOS

    Sistemas basados en flujos de datos

    - Pipes and Filters (Tuberas y Filtros). - Secuencial (Batch).

    Sistemas llamada y retorno

    - Sistemas principal/subrutinas.

    - Sistemas OO. - Capas jerrquicas

    Mquinas Virtuales - Intrpretes. - Sistemas basados en el conocimiento.

    Sistemas centrados en datos

    - Bases de datos. - Sistemas de Hipertexto. - Sistemas de pizarra.

  • DESCRIPCIN DE ALGUNOS ESTILOS

    Estilo de flujo de datos: enfatiza la reutilizacin y la modificabilidad. Es apropiada para sistemas que implementan transformaciones de datos en pasos sucesivos.

    Tuberas y Filtros

    Una tubera (pipeline) es una popular arquitectura que conecta componentes computacionales (filtros) a travs de conectores (pipes), de

    modo que las instrucciones se ejecutan a la manera de un flujo.

    Cada componente tiene un conjunto de entradas y uno de salidas.

    Cada componente lee las entradas y las transforma en salidas.

    Los filtros deben ser independientes, no comparten estado con otros.

    Los filtros realizan la labor independientemente del flujo de entrada.

    Ventajas: 1. Permite entender el sistema global en trminos de sus componentes. 2. Soporta la reutilizacin (Son independientes de sus vecinos). 3. Facilidad de mantenimiento y de diagnstico.

    Desventajas: 1. No es aconsejado para cuando se necesita interactividad. 2. Problemas de performance ya que los datos se transmiten en forma completa entre filtros. 3. Facilidad de mantenimiento y de diagnstico.

  • SE RECOMIENDA PARA

    Procesamiento de seales .

    Procesamiento de

    imgenes o sonido.

    Compiladores. Procesamiento de cadenas.

    Sistemas con poca o nula

    interaccin con el usuario cuyo

    flujo de datos se entienda o

    perciba como continuo.

    Aplicarlo para el clculo, algoritmos

    de bsqueda y modelos de

    simulacin cientfica.

    Para

    Desarrollos

  • ARQUITECTURA DE TUBERAS

    Filtros o componentes (Transformacin de los datos).

    Tuberas (Flujo de

    datos).

  • EJEMPLO DE TUBERAS

    Problema: Se desea implementar un software que sirva como traductor de algunos idiomas.

    Leer

    Traducir al ingls Escribir ingls

    Traducir al Francs Escribir Francs

    Nivel 0:

    Nivel 1: Vista conceptual

    Analizador Lexicogrfico

    Analizador Sintctico/Parser

    Analizador Semntico

    Generador de Cdigo Intermedio

    Tabla de

    Smbolos

    Traduccin

  • EJEMPLO DE TUBERAS

    Interfaz de

    usuario

    Herramienta

    Diccionario

    Filtro

    Java, .NET,

    otro

    Filtro

    Herramienta

    Para gestin

    contenidos

    Filtro

    Nivel 2: Vista lgica

  • EJEMPLO DE TUBERAS

    Input

    getDato()

    Lexicogrfico

    Lexo()

    Parser

    Aparse()

    Analizador Semntico

    Generador de Cdigo

    writeCodeByte()

    tubo SW

    Leer Escribir

    Intrprete

    getDato()

    call getDato

    call Alexo call Asemantico

    call codgen Escribir pipe

    Leer pipe

    Nivel 3: Vista lgica

  • EJEMPLO DE TUBERAS

    Fuente de

    datos

    push

    Lexicogrfico push

    Parser

    push

    Receptor

    de Datos

    escribir

    datos

    escribir

    datos

    datos

    escribir

    f1

    f2

    NOTA: La accin se inicia empujando los datos hacia el siguiente filtro

    Nivel 4: Flujo de datos

  • DESCRIPCIN DE ALGUNOS ESTILOS

    MVC

    Modelo Vista controlador (Model View Controler).

    Estilo llamada/retorno: enfatiza la modificabilidad y la escalabilidad. Son los estilos ms generalizados en sistemas en gran escala. Miembros de la familia son las

    arquitecturas de programa principal y subrutina, los sistemas basados en llamadas

    a procedimientos remotos, los sistemas orientados a objeto y los sistemas

    jerrquicos en capas.

    Un propsito comn en numerosos sistemas es el de tomar datos de un almacenamiento y mostrarlos al usuario. Luego que el usuario introduce

    modificaciones, las mismas se reflejan en el almacenamiento.

    Modelo. Maneja el comportamiento y los datos del dominio de la aplicacin, responde a los requerimientos de informacin acerca de su estado (usualmente desde la vista) y responde a las instrucciones para cambiar de estado (usualmente desde el controlador).

    Vista. Maneja la visualizacin de la informacin.

    Controlador. Interpreta las acciones del ratn y el teclado, informando al modelo y/o a la vista para que cambien segn resulte apropiado.

  • DESCRIPCIN DE ALGUNOS ESTILOS

    Ventajas: 1. Soporte de vistas mltiples. Dado que la vista se halla separada del modelo y no hay

    dependencia directa del modelo con respecto a la vista, la interfaz de usuario puede mostrar mltiples vistas de los mismos datos simultneamente.

    2. Adaptacin al cambio. Los requerimientos de interfaz de usuario tienden a cambiar con mayor rapidez que las reglas de negocios.

  • Tanto la vista como el controlador dependen del modelo. Sin embargo,

    el modelo no depende ni de la vista ni del controlador.

    La separacin permite que el modelo sea construido y probado

    independientemente de la presentacin visual.

    La separacin entre vista y controlador es secundaria en muchas

    aplicaciones, sin embargo en las aplicaciones Web la vista (el

    navegador) y el controlador (los componentes del lado servidor) estn

    bien definidos.

  • EJEMPLO ARQUITECTURA MVC

    Software para la gestin de prstamo a usuarios de biblioteca.

    MODELO Un conjunto de libros, conjunto de

    usuarios, conjunto de prestamos. El

    prstamo almacenar el libro

    seleccionado por un usuario. El usuario

    contendr informacin sobre su

    profesin y rea a la que pertenece.

    VISTA Consiste en un listado de usuarios que

    realizan prstamos. Un listado de los

    libros disponibles. Estadsticas de

    prstamos.

    CONTROLADOR Actualizacin por medio de teclado.

    Ingreso de datos por medio del teclado.

    Bsqueda de informacin por teclado

    y mouse.

    Nivel 1: Vista conceptual

    Tanto la vista como el controlador dependen del modelo, pero el modelo no depende de estos.

  • EJEMPLO ARQUITECTURA MVC

    Interfaz de

    Usuario

    Procedimientos Funciones

    Clases para mostrar los datos

    provenientes de las rdenes.

    CONTROLADOR

    Reportes Vistas SQL

    VISTA

    Clases para: Manejo de usuarios,

    estado del prstamo, ubicacin de libros,

    estado, etc.

    MODELO

    Nivel 2: Vista lgica

  • EJEMPLO ARQUITECTURA MVC

    Nivel 3: Vista lgica

    Orden

    Prstamo

    Tipo: String

    Items: String

    Consultar()

    Actualizar()

    Usuario

    Nombre: String

    Telfono: Integer

    Guardar()

    Consultar()

    Actualizar()

    Usuario Prstamo Libro

    Libro

    Nombre: String

    Tipo: String

    Cantidad: Integer

    Guardar()

    Consultar()

    Actualizar()

    Ficha

    Fecha: Date

    Ndias: Integer

    Entrega

    Publicacin:

    String

    Validacin

    Actualizar()

  • EJEMPLO ARQUITECTURA MVC

    Nivel 4: Flujo de datos

    CONTROLADOR VISTA MODELO

    Evento:

    Teclado

    Mouse Servicio:

    Bsqueda

    Registro

    Actualizacin

    Visualizacin

    Obtener Dato

  • EJEMPLO ARQUITECTURA MVC

    Enrutador

    Mvil

    Aplicacin

    Escritorio

    Dispositivo Tradicional

    Aplicacin

    Mvil

    Dispositivo Mvil

    WinForms

    Reportes

    SQL

    Clases

    Proced.

    Funciones.

    Aplicativo

    Controlador

    Interfaz

    Controlador

    Interfaz

    Mvil

    C#.Net

    WAP. ASP.Net

    Nivel 5: Vista Fsica

    Servidor

    Base de

    Datos

  • DESCRIPCIN DE ALGUNOS ESTILOS

    Arquitectura

    en Capas

    El diseo y desarrollo de estos sistemas informticos se realizan de forma jerrquica (capas). Los componentes de una capa slo pueden hacer referencia a componentes en capas inmediatamente inferiores.

    Presentacin

    Lgica

    Datos

    Se encarga de que el sistema interacte con el usuario y viceversa, muestra el sistema al usuario, le presenta la informacin y obtiene la informacin del usuario en un mnimo de proceso.

    Residen las funciones que se ejecutan, se reciben las peticiones del usuario, se procesa la informacin y se envan las respuestas tras el proceso.

    Encargada de almacenar los datos del sistema y de los usuarios. Su

    funcin es almacenar y devolver datos a la capa de negocio, aunque para esto tambin es necesario en algunos casos, que tengan procedimientos almacenados y funciones dentro de la capa.

  • DESCRIPCIN DE ALGUNOS ESTILOS

    Ventajas:

    1. Permite a los implementadores partir un problema complejo en una secuencia de pasos incrementales.

    2. El estilo admite muy naturalmente optimizaciones y refinamientos.

    3. Proporciona amplia reutilizacin.

    Desventaja:

    Los cambios en las capas de bajo nivel tienden a filtrarse hacia las de alto nivel.

  • DESCRIPCIN DE ALGUNOS ESTILOS

    Arquitectura OO

    Los componentes de este estilo son los objetos, o ms bien instancias de los tipos de dato abstractos. Los objetos interactan a travs de invocaciones de funciones y procedimientos.

    POO

    Clases

    Polimorfismo

    Herencia

    Abstraccin

    de datos Encapsulacin

    Ocultamiento de

    Informacin

  • DESCRIPCIN DE ALGUNOS ESTILOS

    Ventajas: 1. Se puede modificar la implementacin de un objeto sin afectar a sus clientes. 2. Es posible descomponer problemas en colecciones de agentes en interaccin.

    3. Un objeto es ante todo una entidad reutilizable en el entorno de desarrollo

    Desventajas:

    1. Para poder interactuar con otro objeto a travs de una invocacin de procedimiento, se debe conocer su identidad.

    2. Cuando se modifica un objeto se deben modificar tambin todos los objetos que lo invocan.

    3. Se presentan problemas de efectos colaterales en cascada.

  • DESCRIPCIN DE ALGUNOS ESTILOS

    Pizarra

    Hay dos componentes principales: una estructura de datos que representa el estado actual y una coleccin de componentes independientes que operan sobre l.

    Estos sistemas se han usado en aplicaciones que requieren complejas interpretaciones de proceso de seales (reconocimiento de patrones, reconocimiento de habla, etc), o en sistemas que involucran acceso compartido a datos con agentes dbilmente acoplados.

    Todo modelo de este tipo consiste en las siguientes tres partes:

    1. Fuentes de conocimiento, necesarias para resolver el problema.

    2. Una pizarra que representa el estado actual de la resolucin del problema.

    3. Una estrategia, que regula el orden en que operan las fuentes.

  • DESCRIPCIN DE ALGUNOS ESTILOS

  • EJEMPLO ARQUITECTURA MVC

    Software para la gestin de prstamo a usuarios de biblioteca.

    MODELO Este componente se encarga del

    manejo del comportamiento y los datos

    del dominio de la aplicacin, responde

    a los requerimientos de informacin

    acerca de su estado (usualmente

    desde la vista) y responde a las

    instrucciones para cambiar de estado

    (usualmente desde el controlador)

    VISTA Este componente se encarga todo el

    despliegue de la informacin del

    software.

    CONTROLADOR Este componente se encarga del

    Interpreta las acciones del usuario de teclado y ratn, informando al modelo

    y/o a la vista para cambiar

    apropiadamente sus estados.

    Nivel 1: Vista conceptual

    Tanto la vista como el controlador dependen del modelo, pero el modelo no depende de estos.

  • EJEMPLO ARQUITECTURA MVC

    Interfaz de

    Usuario

    Procedimientos Funciones

    Clases

    CONTROLADOR

    Windows Forms Reportes Vistas SQL

    VISTA

    Plataforma .NET Visual Studio 2010

    MODELO

    Nivel 2: Vista lgica

  • EJEMPLO ARQUITECTURA MVC

    Nivel 3: Vista lgica

    Orden

    Prstamo

    Tipo: String

    Items: String

    Consultar()

    Actualizar()

    Cliente

    Nombre: String

    Telfono: Integer

    Guardar()

    Consultar()

    Actualizar()

    Cliente Prstamo Publicacin

    Publicacin

    Nombre: String

    Tipo: String

    Cantidad: Integer

    Guardar()

    Consultar()

    Actualizar()

    Ficha

    Fecha: Date

    Ndias: Integer

    Entrega

    Publicacin:

    String

    Validacin

    Actualizar()

  • EJEMPLO ARQUITECTURA MVC

    Nivel 4: Flujo de datos

    CONTROLADOR VISTA MODELO

    Evento

    Servicio

    Actualizacin

    Obtener Dato

  • EJEMPLO ARQUITECTURA MVC

    Enrutador

    Mvil

    Aplicacin

    Escritorio

    Dispositivo Tradicional

    Aplicacin

    Mvil

    Dispositivo Mvil

    WinForms

    Reportes

    SQL

    Visual

    Studio

    2012

    Proced.

    Funciones.

    Clases

    Aplicativo

    Controlador

    Interfaz

    Controlador

    Interfaz

    Mvil

    C#.Net

    WAP. ASP.Net

    Nivel 5: Vista Fsica

    Servidor

    Base de

    Datos