SlideShare a Scribd company logo
1 of 16
Download to read offline
INSTITUTO UNIVERSITARIO DE TECNOLOGIA

                      DE ADMINISTRACION INDUSTRIAL

                        ESPECIALIDAD: INFORMATICA

                             SECCION: 204-A-3

                  UNIDAD CURRICULAR: DISEÑO DE SISTEMA




      DISEÑO DE LA ARQUITECTURA DE UN SISTEMA DE INFORMACION




 Profesora:                                     Autores:

Naydrubys Trejo                                Perez Elaynne    CI: 20.209.733

                                               Rojas Zulay     CI: 18.556.085




                           Guarenas, Julio del 2011
INTRODUCCIÓN

Desde los años 90 del siglo XX, la Arquitectura de Información ha tenido,             una
creciente popularidad. Popularidad que decreció con la caída de las "punto com" en el
2001, pero que volvió a tomar auge en posteriores años.
En la presente información se dan a conocer breves conceptos como:
Una arquitectura es un diseño estructural integrado de un sistema, sus elementos y
definiciones dependen de los requerimientos proporcionados. El concepto de
“arquitectura” es ampliamente usado en el contexto de la construcción de
computadoras. Cuando se aplica a los sistemas de información asumimos que una
arquitectura es un plano abstracto que incluye los diseños de procesos de un sistema,
basado en principios de diseño y dentro de un marco metodológico.
La Arquitectura de Software, consiste en un conjunto de patrones y
abstracciones coherentes que proporcionan el marco de referencia necesario
para guiar la construcción del software para un sistema de información.


La Arquitectura de Software establece los fundamentos para que analistas,
diseñadores, programadores, etc. trabajen en una línea común que permita
alcanzar los objetivos del sistema de información, cubriendo todas las
necesidades.


Y los diferentes estilos de arquitectura de un sistema de información:
El modelo cliente/servidor: Es una arquitectura de procesamientos cooperativo
donde    uno    de    los    componentes     pide servicios a   otro.    Este   término
originalmente   es     aplicado     a la   arquitectura   de software;     describe    el
procesamiento        entre    dos     o    más programas;       una      aplicación    y
un servicio soportante.

De comunicación, de capas, entre otros.
Definición de arquitectura

Toda arquitectura es diseño, pero no todo el diseño es arquitectura. La
arquitectura es aquella que representa las decisiones de diseño significativas
que le dan forma a un sistema, donde lo significativo puede ser medido por el
costo del cambio.

                      Definición de arquitectura de software

La arquitectura del software es una descripción de los subsistemas y
componentes (computacionales) de un sistema software y las relaciones entre
ellos.

La determinación de la arquitectura del software consiste en la toma de
decisiones respecto a:

   •     La organización del sistema software.

   •     La selección de los elementos estructurales y sus interfaces.

   •     comportamiento de estos elementos estructurales.

   •     La posible composición de los elementos estructurales en subsistemas
         más grandes.

   •     El estilo que guía esta organización.

Teniendo en cuenta las propiedades (requisitos no funcionales) del sistema del
software que se quiere lograr:

   •     eficiencia, cambiabilidad, usabilidad, fiabilidad…

La arquitectura del software es el resultado de la actividad de diseño
arquitectónico del software.

Propiedades:

   •     Cambiable:

          Extensible: Nuevas funcionalidades o mejora de los componentes.
 Portátil: Cambio de plataforma hardware, sistemas operativos,
        lenguajes.

     Mantenible: Detención y reparación de errores.

     Reestructurable: Reorganización de componentes.

•   Interoperable:

        Capacidad de dos o más entidades software de intercambiar
        funcionalidad y datos.

•   Eficiente:

Tiempo de respuesta, rendimiento, uso de recursos.

•   Fiable:

     Tolerancia a fallos: Pérdida de conexión y recuperación posterior.

     Robustez: Protección contra el uso incorrecto y el tratamiento de
       errores inesperados.

•   Probable:

        Facilitar las pruebas del sistema.

•   Reusable:

     Reusar software ya existente.

     Hacer software para ser reusado.

•   Integridad conceptual:

        Harmonía, simetría y predictibilidad.

                          Estilos de arquitectura

 Cliente/Servidor: Representa un modelo de organización de la relación
    entre los distintos y numerosos ordenadores que existen en una
    empresa. Es la conexión en la que el “terminal” es llamado ahora cliente
    el cual tiene una capacidad propia de ejecución muy alta, con
independencia del ordenador principal, llamado ahora servidor, que se
      especializa    en      ciertas   funciones   especificas.   La   arquitectura
      cliente/servidor es una distribución lógica de funciones donde la
      capacidad de proceso de los ordenadores personales se emplea
      extensamente.

Esta arquitectura consiste básicamente en que un programa cliente realiza
peticiones a otro programa, servidor, que le da respuesta. Por lo tanto, en esta
arquitectura se divide la capacidad de proceso de información entre
ordenadores cliente y servidor. En realidad la separación entre cliente y
servidor es una separación de tipo lógico, donde el servidor no es
necesariamente una sola maquina, ni posee necesariamente un solo programa.
En general, este modelo utiliza el procesamiento distribuido entre clientes y
servidores conectados todos ellos por una red de comunicación.

Características significativas:

          o   Las funciones del cliente y del servidor pueden estar en
              plataformas separadas, o en la misma plataforma.

          o   Un servidor puede dar servicios a múltiples clientes de forma
              concurrente.

          o   Cada plataforma puede ser escalable de manera independiente.

          o   El esquema cliente/servidor construye además, a proporcionar, a
              los diferentes departamentos de una organización, soluciones
              locales, pero permitiendo la integración de la información
              relevante a nivel global.

    Peer to peer: Esta arquitectura convierte a los usuarios en servidores de
      contenido, de forma transparente, proporcionándoles un papel que va
      mas allá del que hasta este momento habían tenido, como simples
      consumidores de datos. En termino de funcionalidad, esta arquitectura
      consiste en que los nodos de una red pueden adoptar tanto el rol del
      cliente, como el del servidor con los demás nodos de la red. Basa su
      funcionamiento, dirigido a optimizar los recursos de la red (capacidad de
proceso, velocidad de proceso, disponibilidad de ancho de banda
       conexión de red, capacidad de almacenamiento,…), en que todos los
       usuarios pueden compartir. Existen variantes de esta arquitectura, ya
       que la red puede llamarse P2P, aunque utilice una filosofía C/S para
       ciertas tareas:

Redes P2P centralizadas: En esta modalidad todas las transacciones se
hacen a través de un único servidor que sirve de punto de enlace entre todos
los nodos, y como servidor de acceso al contenido. Esta arquitectura tiene
problemas de escalabilidad del servidor, de tolerancia a fallos, etc.

Redes P2P “puras” o totalmente descentralizada: No requieren de un nodo
central. Son más comunes, y las más versátiles.

Redes P2P hibridas: En esta topología, se puede observar la interacción
entre un nodo o más nodos que actúan de servidores centrales para
administrar los recursos de ancho de banda de conexión de la red, y gestionar
los enrutamientos y comunicaciones entre nodos; aunque lo hacen de manera
transparente, es decir, sin conocer la identidad de cada nodo, y sin almacenar
contenidos, o proporcionar otros recursos que pueden ser alcanzados por otros
nodos.

Las redes P2P se usan muy a menudo para compartir toda clase de archivos
que contienen: audio, video, texto, software y datos, en cualquier formato
digital. Esta arquitectura se liga a menudo a distribución de contenidos, sin
embargo, su aplicación en la empresa a puesto de manifiesto su potencialidad
para otro tipo de soluciones, tales como, el soporte a servicios de comunicación
y colaboración, la implantación de sistemas descentralizados de computación
masiva, el desarrollo de plataformas C2C (client to client) de soporte a
complejas relaciones comerciales, etc.

    De comunicación: Es una estructura organizada jerárquicamente con
       el fin de permitir el intercambio de datos entre niveles lógicos
       semejantes en distintas máquinas o terminales de la misma o distinta
       red.
Al hablar de redes y de comunicaciones entre ordenadores resultan fundamentales 2
conceptos: Protocolos y Arquitectura de comunicación.

Los protocolos se utilizan para la comunicación entre entidades de diferentes
sistemas. Ejemplos de entidades son programas de aplicación de usuario, paquetes
de transferencia de ficheros, sistemas de manejo de BD y terminales. Ejemplo de
sistemas son ordenadores, terminales y sensores remotos. Podemos decir, que una
entidad es algo capaz de enviar o de recibir información y un sistema es un objeto que
contiene una o más entidades. Para que 2 entidades puedan comunicarse han de
hablar el mismo idioma, mediante una serie de convenciones entre estas, a este
conjunto de convenciones se le denomina protocolo, que puede definirse como el
conjunto de reglas que gobiernan el intercambio de datos entre 2 entidades.

Debido a la complejidad que requiere la comunicación entre 2 entidades de diferentes
sistemas, encontramos implementadas las funciones de comunicación mediante un
conjunto de protocolos estructurados. Esta organización de los protocolos se realiza
mediante capas o niveles con objeto de simplificar su diseño. El propósito de cada
capa es ofrecer ciertos servicios a las capas superiores.

La capa n en una máquina conversa con la capa n de la otra máquina. Las reglas y
convecciones utilizadas en la conversación se conocen como protocolo de la capa n.
A las entidades de una misma capa correspondiente a máquinas diferentes se le
denomina procesos pares.

En la realidad, la transferencia de datos desde una capa n de una máquina a la capa n
de otra máquina no se realiza directamente, sino que los datos son pasados a la capa
inmediatamente inferior de la máquina y así sucesivamente hasta llegar a la capa 1,
donde nos encontramos el medio físico, por donde se realiza la comunicación con la
otra máquina.

Entre cada par de capas adyacentes hay una interfaz, la cual define los
servicios y operaciones primitivas que la capa inferior ofrece a la superior. Al
conjunto de capas con las interfaces y protocolos recibe el nombre de
arquitectura de la red.

    De capas: La metodología RPM presentada por C. Larman presupone
       una estructura de tres capas que es              típica de los Sistemas de
       Información. Estas tres capas son:
•   La capa de la presentación: Esta capa reúne todos los aspectos del
       software que tiene que ver con las interfaces y la interacción con los
       diferentes tipos de usuarios humanos Estos aspectos típicamente
       incluyen el manejo y aspecto de las ventanas, el formato de los reportes,
       menúes, gráficos y elementos multimedia en general.


   •   La capa del Dominio de la Aplicación: Esta capa reúne todos los
       aspectos del software que tienen que automatizan o apoyan los
       procesos de negocio que llevan a cabo los usuarios. Estos aspectos
       típicamente incluyen las tareas que forman parte de los procesos, las
       reglas y restricciones que aplican.
   •   La capa del Repositorio: Esta capa reúne todos los aspectos del
       software que tienen que ver con el manejo de los datos persistentes, por
       lo que también se le denomina la capa de las Bases de Datos).
RPM toca muy superficialmente los problemas asociados al desarrollo de una
capa de Presentación. Menciona que es conveniente usar un enfoque de
prototipaje y que pueden ser útiles los casos reales de uso; sin embargo no
proporciona métodos, principios o lineamientos metodológicos que apoyen el
desarrollo de una metáfora de diseño para la interfaz, el diseño lógico de la
presentación o su diseño físico.

RPM tampoco proporciona muchas luces sobre el desarrollo de la capa del Repositorio
y tiende a subestimar su complejidad.


Una vez elaborado el Modelo de Uso, RPM recomiendo seguir con actividades de
análisis de requerimientos. Para ello se elabora un Modelo Conceptual, en el cual se
busca identificar los conceptos importantes del dominio de la aplicación, abstrayendo
todo lo que puedan ser mecanismos o conceptos propios de un diseño o de una
implementación. Así, en el ejemplo de un Sistema de Punto de Venta, nos interesan
los conceptos como Venta, Recibo, Efectivo, Cheque, Impuesto que tienen que ver con
los procesos de negocio que se están apoyando y no nos interesan conceptos como
Menú, Ventana, Tabla relacional, Consulta a Base de Datos que tienen que ver con
cómo mejor implementar los conceptos del negocio. La mayoría de estos elementos
de un Modelo Conceptual terminan agrupándose naturalmente en la capa del Dominio
de La Aplicación.
Este enfoque de RPM termina por sesgar la metodología hacia el desarrollo de la capa
del Dominio de la Aplicación, y en la práctica, tiende a hacer presuponer que el
desarrollo de las otras capas se puede ajustar al diseño de la capa del Dominio de
Aplicación, lo cual no es siempre el caso, incluso dentro del ámbito de los Sistemas de
Información.


Antes de estudiar el Modelo Conceptual, nos conviene aclarar qué es una arquitectura
de capas, su importancia e implicaciones, para tener mayor claridad en los riesgos que
corremos       al     adoptar       una      metodología        como       RPM.


Arquitectura de Capas
      Preguntar qué conocen por arquitectura de capas (en Sistemas de
       Operación, Redes de Computadores...).
      Nos limitaremos a manejar la noción de arquitectura como una forma de
       estructurar los elementos de un software.
      En toda arquitectura de capa los elementos agrupados en una misma capa
       pueden comunicarse entre si; pero existen variantes en cuanto a las
       comunicaciones permitidas entre elementos de capas diferentes:
   1. Arquitectura top-down de capas: Los elementos de una capa i+1
       pueden enviar solicitudes de servicio a elementos de la capa inferior i.
       Típicamente se produce una cascada de solicitudes, es decir para
       satisfacer una solicitud a una capa i+2, ésta requiere enviar varias
       solicitudes a la capa i+1; cada una de estas solicitudes a la capa i+1
       genera a su vez un conjunto de solicitudes a la capa i y así
       sucesivamente. Una arquitectura top-down es laxa (o no estricta) si los
       elementos de una capa i+1 pueden enviar solicitudes de servicio
       directamente a un elemento de cualquiera de las i capas inferiores.


   2. Arquitectura bottom-up de capas: Cada elemento de una capa i puede
       notificar a elementos de la capa superior i+1 de que ha ocurrido algún
       evento de interés (ej. manejadores de dispositivos). La capa i+1 puede
       juntar varios eventos antes de notificar a su vez an elemento de la capa
       i+2. Una arquitectura bottom-up tambien puede ser no estricta si el
elemento de la capa i puede notificar a cualquier elemento de cualquier
       capa superior a la capa i.


   3. Arquitectura bidireccional de capas En su forma más común involucra
       dos pilas de N capas que se comunican entre sí. El ejemplo más
       conocido es el de los protocolos en Redes de Computadores.
Al implementar una arquitectura top-down de capas, se deben tomar en cuenta los
siguientes factores:
   1. ¿Cuál es el criterio de abstracción para agrupar servicios/clases en una
       capa?
       Mencionar el criterio Presentación-Dominio de Aplicación-Repositorio de
       Sistemas de Información.


   2. Determinar el número de capas
       En términos simplistas, a más capas más flexibilidad pero menor
       desempeño.


   3. Típicamente las capas más internas ofrecen menos servicios.
       Esto ayuda la reutilización de capas ("pirámide invertida de reuso").


   4. El grado de encapsulamiento de las capas.
       A mayor encapsulamiento, menor dependencia externa sobre la
       estructura de una capa.


   5. Estructura interna de cada capa.


   6. ¿Cuánta información pasar de una capa a otra?
       Tomemos el caso de la arquitectura top-down. Es muy posible que, de
       acuerdo con el tipo de servicio solicitado, la capa inferior requiera una
       cantidad de información variable. En un modelo puro "empujado" (push),
       la capa superior está obligada a enviarle toda la información que pueda
       llegar a hacerle falta a la capa inferior en la solicitud.
Esto no siempre es posible (piense por ejemplo en una solicitud de servicio a
       una base de datos que no logra completarse por estar fuera de línea. ¿Qué se
       hace: reintentar, abandonar, usar una fuente alterna?).

       En el modelo contrario, "halado" (pull o por demanda), la capa inferior solicita
       mayor información sólo si le hace falta --¿pero de quién la pida? El modelo de
       solicitudes top-down presupone un invocador anónimo y un invocado conocido.

       La solución la proporciona el patrón Editorial-Suscriptor (Publish-Subscribe)
       que    encapsula   la   idea   del   callback.   Este     patrón   de   diseño   lo
       estudiaremos más adelante.

   7. Diseñe la estrategia de manejo de errores. Este es un aspecto que es
       frecuentemente obviado, aunque tiene impacto fuerte tanto en el tiempo
       de procesamiento como en el esfuerzo de programación. Típicamente se
       recomienda manejar el error en el nivel que lo descubrió, si esto no es
       posible, dejar que lo resuelva la capa más arriba, pero generalmente
       abstrayendo el tipo de error para que sea comprensible en término de
       los servicios de la capa superior.
Todo patrón tiene ventajas y desventajas: en el caso de la arquitectura de
capas ya las hemos mencionado [dejar que los estudiantes las resuman]:

   •   Ventajas
          o   Reutilización de capas;
          o   Facilita la estandarización
          o   Dependencias se limitan a intra-capa
          o   Contención de cambios a una o pocas capas
   •   Desventajas
          o   A veces no se logra la contención del cambio y se requiere una
              cascada de cambios en varias capas;
          o   Pérdida de eficiencia;
          o   Trabajo innecesario por parte de capas más internas o
              redundante entre varias capas;
          o   Dificultad de diseñar correctamente la granularidad de las capas.
Existen tres propuestas de arquitecturas de capas para Sistemas de
Información, donde las capas a veces reciben el nombre de niveles (en Inglés
tiers):

    •     Arquitectura de dos capas;
    •     Arquitectura de tres capas;
    •     Arquitectura de cuatro capas.

Dos capas
En la actualidad muchos sistemas de información están basados en
arquitecturas de dos capas, denominadas:

    •     Nivel de aplicación;
    •     Nivel de la base de datos.
Existen herramientas de amplio uso que presuponen esta estructura (p. ej.
Visual Basic + Access/SQL server). Estas arquitecturas fueron las primeras en
aprovecharse de la estructura cliente-servidor (aplicación en los clientes, base
de datos como servidor). Las desventajas de dos niveles son bien conocidas:

    •     El nivel de las aplicaciones se recargan, entremezclando aspectos
          típicos del manejo de la interfaz con las reglas del negocio;
    •     Las reglas del negocio quedan dispersas entre el nivel de aplicación y
          los "stored procedures" de la base de datos;
    •     La aplicación queda sobrecargada de información de bajo nivel si hay
          que extraer los datos de varias bases de datos, posiblemente con
          estructuras diferentes.
    •     El nivel de aplicación puede ser demasiado pesado para el cliente.

Tres capas
Por estas razones, existe una fuerte y bien avanzada tendencia a adoptar una
arquitectura de tres capas:

    •     Aplicación
    •     Dominio de la aplicación;
    •     Repositorio.
La mayoría de estos sistemas buscan conservar la tecnología de BD relacional
para la capa del repositorio e introducir la tecnología OO para el dominio de la
aplicación. Para la capa de presentación existe una pelea entre tecnología
HTML (Java-enabled) vs. Generadores GUI.


¿Qué contiene el dominio de la aplicación? En terminología más clásica de BD los tres
niveles pueden equipararse, a grosso modo, con:
   •   Esquema externo;
   •   Esquema conceptual;
   •   Esquema interno o de almacenamiento.
La ventaja es que ahora la aplicación puede describirse únicamente en
relación a la semántica de la aplicación, sin tener que preocuparse sobre cómo
está implementado ese dominio (ubicación y estructura física de la data).

Cuatro capas
Los desarrollos más recientes empiezan a experimentar con una capa adicional
(para 2000 no había visto evidencia de esto en Venezuela):

   •   Presentación;
   •   Aplicación;
   •   Dominio de la aplicación;
   •   Repositorio
La idea básica es separar todo lo que es programación GUI de la aplicación per
se (y por ende tiende a usar frameworks para GUI como MFC). El nivel de la
presentación no hace cálculos, consultas o actualizaciones sobre el dominio
--de hecho nisiquiera tiene visibilidad sobre la capa del dominio. La capa de la
aplicación es la encargada de accesar la capa del dominio, simplificar la
información del dominio convirtiéndolo a los tipos de datos que entiende la
interfaz: enteros, reales, cadenas de caracteres, fecha y clases contenedoras
(container, collection).

    Modelo vista controlador (MVC): Separa los datos de aplicación
       (contenidos en el modelo) de los componentes de presentación grafica
       (la vista) y lógica de procesamiento de la entrada (el controlador).

El MVC no restringe una aplicación a una sola vista o un solo controlador. En
un programa más sofisticado (como un procesador de palabras), podría haber
dos vistas de un modelo de documento. Una vista podría mostrar un bosquejo
del documento y el otro podría mostrar el documento completo. El procesador
de palabras podría también implementar varios controladores: uno para
manejar la entrada del teclado y otro para manejar las selecciones del ratón. Si
cualquiera de los dos controladores realiza un cambio en el modelo, tanto la
vista del bosquejo como la ventana de vista previa de impresión mostrarán el
cambio inmediatamente, cuando el modelo notifique los cambios a todas las
vistas.

Otro beneficio clave para el patrón de arquitectura MVC es que los
desarrolladores pueden modificar cada componente de manera individual, sin
tener que modificar los demás componentes. Por ejemplo, los desarrolladores
podrían modificar la vista que muestra el documento en línea, y no tendrían que
modificar ni el modelo ni las demás vistas o controladores.
CONCLUSIÓN

Un proyecto de desarrollo de un Sistema de Información comprende varios
componentes o pasos llevados a cabo durante la etapa del análisis, el cual ayuda a
traducir las necesidades del cliente en un modelo de Sistema que utiliza uno más de
los componentes: Software, hardware, personas, base de datos, documentación y
procedimientos.
En una organización o Empresa, el análisis y Diseño de Sistemas, es el proceso de
estudiar su Situación con la finalidad de observar cómo trabaja y decidir si es
necesario realizar una mejora; el encargado de llevar a cabo estas tareas es el
analista de sistemas.
Lo más importante de los estilos de arquitectura de un sistema de información:
Cliente/Servidor puede incluir múltiples plataformas, bases de datos, redes y
sistemas operativos. Estos pueden ser de distintos proveedores, en
arquitecturas propietarias y no propietarias y funcionando todos al mismo
tiempo. Por lo tanto, su implantación involucra diferentes tipos de estándares:
APPC, TCP/IP, OSI, NFS, DRDA corriendo sobre DOS, OS/2, Windows o
PC UNIX, en Token Ring, Ethernet, FDDI o medio coaxial, sólo por mencionar
algunas de las posibilidades.
Referencias



E. Teniente López - A Olive Ramón. E. Mayol Sarroca – Gómez Seoane.
Diseño de Sistema del software en UML

http://books.google.co.ve/books?id=p7nD8_g77_MC&printsec=frontcover&dq=dise
%C3%B1o+de+sistemas&hl=es&ei=eTAiTsXRBsrs0gGR-
dSsAw&sa=X&oi=book_result&ct=result&resnum=2&ved=0CC8Q6AEwAQ#v=onepage&q&f=fa
lse

Juan José Goñi Zabala. El cambio son personas: la dirección de los procesos
de cambio

http://books.google.co.ve/books?id=E-
PgDbPnSKsC&pg=PA85&dq=definicion+arquitectura+cliente/servidor+del+sistema+de+inform
acion&hl=es&ei=8FIiTuzuIYj40gGrusnZAw&sa=X&oi=book_result&ct=result&resnum=1&ved=0
CCgQ6AEwAA#v=onepage&q&f=false

Harvey M. Deitel,Paul J. Deitel. Cómo programar en Java

http://books.google.co.ve/books?
id=is2J44U4DpsC&pg=PA910&dq=arquitectura+modelo+vista+controlador+del+sistema+de+in
formacion&hl=es&ei=ckYkTuriNM6ftgev0Z23Aw&sa=X&oi=book_result&ct=result&resnum=2
&ved=0CDUQ6AEwAQ#v=onepage&q&f=false

More Related Content

What's hot

UNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDAS
UNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDASUNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDAS
UNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDAS
Eduardo S de Loera
 
ANSI-SPARC - Star Trek style - v2.0
ANSI-SPARC - Star Trek style - v2.0ANSI-SPARC - Star Trek style - v2.0
ANSI-SPARC - Star Trek style - v2.0
Damian T. Gordon
 

What's hot (20)

Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Capas de la ingenieria de software
Capas de la ingenieria de softwareCapas de la ingenieria de software
Capas de la ingenieria de software
 
CUALES SON LAS FUNCIONES QUE REALIZA UN DBA
CUALES SON LAS FUNCIONES QUE REALIZA UN DBACUALES SON LAS FUNCIONES QUE REALIZA UN DBA
CUALES SON LAS FUNCIONES QUE REALIZA UN DBA
 
Paso 2 diana_cuelar
Paso 2 diana_cuelarPaso 2 diana_cuelar
Paso 2 diana_cuelar
 
Advanced data modeling
Advanced data modelingAdvanced data modeling
Advanced data modeling
 
Funciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de DatosFunciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de Datos
 
UNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDAS
UNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDASUNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDAS
UNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDAS
 
Arquitectura de aplicaciones
Arquitectura de aplicacionesArquitectura de aplicaciones
Arquitectura de aplicaciones
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Modelos de análisis estructurado
Modelos de análisis estructuradoModelos de análisis estructurado
Modelos de análisis estructurado
 
R Services con SQL Server
R Services con SQL ServerR Services con SQL Server
R Services con SQL Server
 
Fundamentos de desarrollo de sistemas
Fundamentos de desarrollo de sistemasFundamentos de desarrollo de sistemas
Fundamentos de desarrollo de sistemas
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas Orientados a Objetos
Sistemas Orientados a ObjetosSistemas Orientados a Objetos
Sistemas Orientados a Objetos
 
Challenges of Conventional Systems.pptx
Challenges of Conventional Systems.pptxChallenges of Conventional Systems.pptx
Challenges of Conventional Systems.pptx
 
Ch1- Introduction to dbms
Ch1- Introduction to dbmsCh1- Introduction to dbms
Ch1- Introduction to dbms
 
CLASE 3_ArquiteturaBD_UsuariosBD_IndependiciaLogFis_ModelosBD.pdf
CLASE 3_ArquiteturaBD_UsuariosBD_IndependiciaLogFis_ModelosBD.pdfCLASE 3_ArquiteturaBD_UsuariosBD_IndependiciaLogFis_ModelosBD.pdf
CLASE 3_ArquiteturaBD_UsuariosBD_IndependiciaLogFis_ModelosBD.pdf
 
METODOS Y MODELOS POO
METODOS Y MODELOS POOMETODOS Y MODELOS POO
METODOS Y MODELOS POO
 
ANSI-SPARC - Star Trek style - v2.0
ANSI-SPARC - Star Trek style - v2.0ANSI-SPARC - Star Trek style - v2.0
ANSI-SPARC - Star Trek style - v2.0
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 

Similar to diseño de arquitectura de un sistema de informacion

Diseño de sistemas de informacion
Diseño de sistemas de informacionDiseño de sistemas de informacion
Diseño de sistemas de informacion
Jhonderson
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Universidad de Guadalajara
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
Margarita Labastida
 
Fundam servclient
Fundam servclientFundam servclient
Fundam servclient
tvazamar
 
Arquitectura de Red
Arquitectura de RedArquitectura de Red
Arquitectura de Red
katlopez
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidos
Javierialv
 
Exposición Unidad I - Ingeniería en Software II.pptx
Exposición Unidad I - Ingeniería en Software II.pptxExposición Unidad I - Ingeniería en Software II.pptx
Exposición Unidad I - Ingeniería en Software II.pptx
juan351241
 

Similar to diseño de arquitectura de un sistema de informacion (20)

Diseño de sistemas de informacion
Diseño de sistemas de informacionDiseño de sistemas de informacion
Diseño de sistemas de informacion
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
Fundam servclient
Fundam servclientFundam servclient
Fundam servclient
 
Arquitectura software
Arquitectura softwareArquitectura software
Arquitectura software
 
Arquitectura multicapa
Arquitectura multicapaArquitectura multicapa
Arquitectura multicapa
 
Modelos de sistema
Modelos de sistemaModelos de sistema
Modelos de sistema
 
Arquitecturas de software
Arquitecturas de software Arquitecturas de software
Arquitecturas de software
 
Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Presentacion katerin
Presentacion katerinPresentacion katerin
Presentacion katerin
 
Arquitectura de Red
Arquitectura de RedArquitectura de Red
Arquitectura de Red
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidos
 
Exposición Unidad I - Ingeniería en Software II.pptx
Exposición Unidad I - Ingeniería en Software II.pptxExposición Unidad I - Ingeniería en Software II.pptx
Exposición Unidad I - Ingeniería en Software II.pptx
 
Clase002
Clase002Clase002
Clase002
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Arquitectura de red
Arquitectura de red Arquitectura de red
Arquitectura de red
 
Arquitectura de red
Arquitectura de redArquitectura de red
Arquitectura de red
 

Recently uploaded

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
NadiaMartnez11
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 

Recently uploaded (20)

Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 

diseño de arquitectura de un sistema de informacion

  • 1. INSTITUTO UNIVERSITARIO DE TECNOLOGIA DE ADMINISTRACION INDUSTRIAL ESPECIALIDAD: INFORMATICA SECCION: 204-A-3 UNIDAD CURRICULAR: DISEÑO DE SISTEMA DISEÑO DE LA ARQUITECTURA DE UN SISTEMA DE INFORMACION Profesora: Autores: Naydrubys Trejo Perez Elaynne CI: 20.209.733 Rojas Zulay CI: 18.556.085 Guarenas, Julio del 2011
  • 2. INTRODUCCIÓN Desde los años 90 del siglo XX, la Arquitectura de Información ha tenido, una creciente popularidad. Popularidad que decreció con la caída de las "punto com" en el 2001, pero que volvió a tomar auge en posteriores años. En la presente información se dan a conocer breves conceptos como: Una arquitectura es un diseño estructural integrado de un sistema, sus elementos y definiciones dependen de los requerimientos proporcionados. El concepto de “arquitectura” es ampliamente usado en el contexto de la construcción de computadoras. Cuando se aplica a los sistemas de información asumimos que una arquitectura es un plano abstracto que incluye los diseños de procesos de un sistema, basado en principios de diseño y dentro de un marco metodológico. La Arquitectura de Software, consiste en un conjunto de patrones y abstracciones coherentes que proporcionan el marco de referencia necesario para guiar la construcción del software para un sistema de información. La Arquitectura de Software establece los fundamentos para que analistas, diseñadores, programadores, etc. trabajen en una línea común que permita alcanzar los objetivos del sistema de información, cubriendo todas las necesidades. Y los diferentes estilos de arquitectura de un sistema de información: El modelo cliente/servidor: Es una arquitectura de procesamientos cooperativo donde uno de los componentes pide servicios a otro. Este término originalmente es aplicado a la arquitectura de software; describe el procesamiento entre dos o más programas; una aplicación y un servicio soportante. De comunicación, de capas, entre otros.
  • 3. Definición de arquitectura Toda arquitectura es diseño, pero no todo el diseño es arquitectura. La arquitectura es aquella que representa las decisiones de diseño significativas que le dan forma a un sistema, donde lo significativo puede ser medido por el costo del cambio. Definición de arquitectura de software La arquitectura del software es una descripción de los subsistemas y componentes (computacionales) de un sistema software y las relaciones entre ellos. La determinación de la arquitectura del software consiste en la toma de decisiones respecto a: • La organización del sistema software. • La selección de los elementos estructurales y sus interfaces. • comportamiento de estos elementos estructurales. • La posible composición de los elementos estructurales en subsistemas más grandes. • El estilo que guía esta organización. Teniendo en cuenta las propiedades (requisitos no funcionales) del sistema del software que se quiere lograr: • eficiencia, cambiabilidad, usabilidad, fiabilidad… La arquitectura del software es el resultado de la actividad de diseño arquitectónico del software. Propiedades: • Cambiable:  Extensible: Nuevas funcionalidades o mejora de los componentes.
  • 4.  Portátil: Cambio de plataforma hardware, sistemas operativos, lenguajes.  Mantenible: Detención y reparación de errores.  Reestructurable: Reorganización de componentes. • Interoperable: Capacidad de dos o más entidades software de intercambiar funcionalidad y datos. • Eficiente: Tiempo de respuesta, rendimiento, uso de recursos. • Fiable:  Tolerancia a fallos: Pérdida de conexión y recuperación posterior.  Robustez: Protección contra el uso incorrecto y el tratamiento de errores inesperados. • Probable: Facilitar las pruebas del sistema. • Reusable:  Reusar software ya existente.  Hacer software para ser reusado. • Integridad conceptual: Harmonía, simetría y predictibilidad. Estilos de arquitectura  Cliente/Servidor: Representa un modelo de organización de la relación entre los distintos y numerosos ordenadores que existen en una empresa. Es la conexión en la que el “terminal” es llamado ahora cliente el cual tiene una capacidad propia de ejecución muy alta, con
  • 5. independencia del ordenador principal, llamado ahora servidor, que se especializa en ciertas funciones especificas. La arquitectura cliente/servidor es una distribución lógica de funciones donde la capacidad de proceso de los ordenadores personales se emplea extensamente. Esta arquitectura consiste básicamente en que un programa cliente realiza peticiones a otro programa, servidor, que le da respuesta. Por lo tanto, en esta arquitectura se divide la capacidad de proceso de información entre ordenadores cliente y servidor. En realidad la separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no es necesariamente una sola maquina, ni posee necesariamente un solo programa. En general, este modelo utiliza el procesamiento distribuido entre clientes y servidores conectados todos ellos por una red de comunicación. Características significativas: o Las funciones del cliente y del servidor pueden estar en plataformas separadas, o en la misma plataforma. o Un servidor puede dar servicios a múltiples clientes de forma concurrente. o Cada plataforma puede ser escalable de manera independiente. o El esquema cliente/servidor construye además, a proporcionar, a los diferentes departamentos de una organización, soluciones locales, pero permitiendo la integración de la información relevante a nivel global.  Peer to peer: Esta arquitectura convierte a los usuarios en servidores de contenido, de forma transparente, proporcionándoles un papel que va mas allá del que hasta este momento habían tenido, como simples consumidores de datos. En termino de funcionalidad, esta arquitectura consiste en que los nodos de una red pueden adoptar tanto el rol del cliente, como el del servidor con los demás nodos de la red. Basa su funcionamiento, dirigido a optimizar los recursos de la red (capacidad de
  • 6. proceso, velocidad de proceso, disponibilidad de ancho de banda conexión de red, capacidad de almacenamiento,…), en que todos los usuarios pueden compartir. Existen variantes de esta arquitectura, ya que la red puede llamarse P2P, aunque utilice una filosofía C/S para ciertas tareas: Redes P2P centralizadas: En esta modalidad todas las transacciones se hacen a través de un único servidor que sirve de punto de enlace entre todos los nodos, y como servidor de acceso al contenido. Esta arquitectura tiene problemas de escalabilidad del servidor, de tolerancia a fallos, etc. Redes P2P “puras” o totalmente descentralizada: No requieren de un nodo central. Son más comunes, y las más versátiles. Redes P2P hibridas: En esta topología, se puede observar la interacción entre un nodo o más nodos que actúan de servidores centrales para administrar los recursos de ancho de banda de conexión de la red, y gestionar los enrutamientos y comunicaciones entre nodos; aunque lo hacen de manera transparente, es decir, sin conocer la identidad de cada nodo, y sin almacenar contenidos, o proporcionar otros recursos que pueden ser alcanzados por otros nodos. Las redes P2P se usan muy a menudo para compartir toda clase de archivos que contienen: audio, video, texto, software y datos, en cualquier formato digital. Esta arquitectura se liga a menudo a distribución de contenidos, sin embargo, su aplicación en la empresa a puesto de manifiesto su potencialidad para otro tipo de soluciones, tales como, el soporte a servicios de comunicación y colaboración, la implantación de sistemas descentralizados de computación masiva, el desarrollo de plataformas C2C (client to client) de soporte a complejas relaciones comerciales, etc.  De comunicación: Es una estructura organizada jerárquicamente con el fin de permitir el intercambio de datos entre niveles lógicos semejantes en distintas máquinas o terminales de la misma o distinta red.
  • 7. Al hablar de redes y de comunicaciones entre ordenadores resultan fundamentales 2 conceptos: Protocolos y Arquitectura de comunicación. Los protocolos se utilizan para la comunicación entre entidades de diferentes sistemas. Ejemplos de entidades son programas de aplicación de usuario, paquetes de transferencia de ficheros, sistemas de manejo de BD y terminales. Ejemplo de sistemas son ordenadores, terminales y sensores remotos. Podemos decir, que una entidad es algo capaz de enviar o de recibir información y un sistema es un objeto que contiene una o más entidades. Para que 2 entidades puedan comunicarse han de hablar el mismo idioma, mediante una serie de convenciones entre estas, a este conjunto de convenciones se le denomina protocolo, que puede definirse como el conjunto de reglas que gobiernan el intercambio de datos entre 2 entidades. Debido a la complejidad que requiere la comunicación entre 2 entidades de diferentes sistemas, encontramos implementadas las funciones de comunicación mediante un conjunto de protocolos estructurados. Esta organización de los protocolos se realiza mediante capas o niveles con objeto de simplificar su diseño. El propósito de cada capa es ofrecer ciertos servicios a las capas superiores. La capa n en una máquina conversa con la capa n de la otra máquina. Las reglas y convecciones utilizadas en la conversación se conocen como protocolo de la capa n. A las entidades de una misma capa correspondiente a máquinas diferentes se le denomina procesos pares. En la realidad, la transferencia de datos desde una capa n de una máquina a la capa n de otra máquina no se realiza directamente, sino que los datos son pasados a la capa inmediatamente inferior de la máquina y así sucesivamente hasta llegar a la capa 1, donde nos encontramos el medio físico, por donde se realiza la comunicación con la otra máquina. Entre cada par de capas adyacentes hay una interfaz, la cual define los servicios y operaciones primitivas que la capa inferior ofrece a la superior. Al conjunto de capas con las interfaces y protocolos recibe el nombre de arquitectura de la red.  De capas: La metodología RPM presentada por C. Larman presupone una estructura de tres capas que es típica de los Sistemas de Información. Estas tres capas son:
  • 8. La capa de la presentación: Esta capa reúne todos los aspectos del software que tiene que ver con las interfaces y la interacción con los diferentes tipos de usuarios humanos Estos aspectos típicamente incluyen el manejo y aspecto de las ventanas, el formato de los reportes, menúes, gráficos y elementos multimedia en general. • La capa del Dominio de la Aplicación: Esta capa reúne todos los aspectos del software que tienen que automatizan o apoyan los procesos de negocio que llevan a cabo los usuarios. Estos aspectos típicamente incluyen las tareas que forman parte de los procesos, las reglas y restricciones que aplican. • La capa del Repositorio: Esta capa reúne todos los aspectos del software que tienen que ver con el manejo de los datos persistentes, por lo que también se le denomina la capa de las Bases de Datos). RPM toca muy superficialmente los problemas asociados al desarrollo de una capa de Presentación. Menciona que es conveniente usar un enfoque de prototipaje y que pueden ser útiles los casos reales de uso; sin embargo no proporciona métodos, principios o lineamientos metodológicos que apoyen el desarrollo de una metáfora de diseño para la interfaz, el diseño lógico de la presentación o su diseño físico. RPM tampoco proporciona muchas luces sobre el desarrollo de la capa del Repositorio y tiende a subestimar su complejidad. Una vez elaborado el Modelo de Uso, RPM recomiendo seguir con actividades de análisis de requerimientos. Para ello se elabora un Modelo Conceptual, en el cual se busca identificar los conceptos importantes del dominio de la aplicación, abstrayendo todo lo que puedan ser mecanismos o conceptos propios de un diseño o de una implementación. Así, en el ejemplo de un Sistema de Punto de Venta, nos interesan los conceptos como Venta, Recibo, Efectivo, Cheque, Impuesto que tienen que ver con los procesos de negocio que se están apoyando y no nos interesan conceptos como Menú, Ventana, Tabla relacional, Consulta a Base de Datos que tienen que ver con cómo mejor implementar los conceptos del negocio. La mayoría de estos elementos de un Modelo Conceptual terminan agrupándose naturalmente en la capa del Dominio de La Aplicación.
  • 9. Este enfoque de RPM termina por sesgar la metodología hacia el desarrollo de la capa del Dominio de la Aplicación, y en la práctica, tiende a hacer presuponer que el desarrollo de las otras capas se puede ajustar al diseño de la capa del Dominio de Aplicación, lo cual no es siempre el caso, incluso dentro del ámbito de los Sistemas de Información. Antes de estudiar el Modelo Conceptual, nos conviene aclarar qué es una arquitectura de capas, su importancia e implicaciones, para tener mayor claridad en los riesgos que corremos al adoptar una metodología como RPM. Arquitectura de Capas  Preguntar qué conocen por arquitectura de capas (en Sistemas de Operación, Redes de Computadores...).  Nos limitaremos a manejar la noción de arquitectura como una forma de estructurar los elementos de un software.  En toda arquitectura de capa los elementos agrupados en una misma capa pueden comunicarse entre si; pero existen variantes en cuanto a las comunicaciones permitidas entre elementos de capas diferentes: 1. Arquitectura top-down de capas: Los elementos de una capa i+1 pueden enviar solicitudes de servicio a elementos de la capa inferior i. Típicamente se produce una cascada de solicitudes, es decir para satisfacer una solicitud a una capa i+2, ésta requiere enviar varias solicitudes a la capa i+1; cada una de estas solicitudes a la capa i+1 genera a su vez un conjunto de solicitudes a la capa i y así sucesivamente. Una arquitectura top-down es laxa (o no estricta) si los elementos de una capa i+1 pueden enviar solicitudes de servicio directamente a un elemento de cualquiera de las i capas inferiores. 2. Arquitectura bottom-up de capas: Cada elemento de una capa i puede notificar a elementos de la capa superior i+1 de que ha ocurrido algún evento de interés (ej. manejadores de dispositivos). La capa i+1 puede juntar varios eventos antes de notificar a su vez an elemento de la capa i+2. Una arquitectura bottom-up tambien puede ser no estricta si el
  • 10. elemento de la capa i puede notificar a cualquier elemento de cualquier capa superior a la capa i. 3. Arquitectura bidireccional de capas En su forma más común involucra dos pilas de N capas que se comunican entre sí. El ejemplo más conocido es el de los protocolos en Redes de Computadores. Al implementar una arquitectura top-down de capas, se deben tomar en cuenta los siguientes factores: 1. ¿Cuál es el criterio de abstracción para agrupar servicios/clases en una capa? Mencionar el criterio Presentación-Dominio de Aplicación-Repositorio de Sistemas de Información. 2. Determinar el número de capas En términos simplistas, a más capas más flexibilidad pero menor desempeño. 3. Típicamente las capas más internas ofrecen menos servicios. Esto ayuda la reutilización de capas ("pirámide invertida de reuso"). 4. El grado de encapsulamiento de las capas. A mayor encapsulamiento, menor dependencia externa sobre la estructura de una capa. 5. Estructura interna de cada capa. 6. ¿Cuánta información pasar de una capa a otra? Tomemos el caso de la arquitectura top-down. Es muy posible que, de acuerdo con el tipo de servicio solicitado, la capa inferior requiera una cantidad de información variable. En un modelo puro "empujado" (push), la capa superior está obligada a enviarle toda la información que pueda llegar a hacerle falta a la capa inferior en la solicitud.
  • 11. Esto no siempre es posible (piense por ejemplo en una solicitud de servicio a una base de datos que no logra completarse por estar fuera de línea. ¿Qué se hace: reintentar, abandonar, usar una fuente alterna?). En el modelo contrario, "halado" (pull o por demanda), la capa inferior solicita mayor información sólo si le hace falta --¿pero de quién la pida? El modelo de solicitudes top-down presupone un invocador anónimo y un invocado conocido. La solución la proporciona el patrón Editorial-Suscriptor (Publish-Subscribe) que encapsula la idea del callback. Este patrón de diseño lo estudiaremos más adelante. 7. Diseñe la estrategia de manejo de errores. Este es un aspecto que es frecuentemente obviado, aunque tiene impacto fuerte tanto en el tiempo de procesamiento como en el esfuerzo de programación. Típicamente se recomienda manejar el error en el nivel que lo descubrió, si esto no es posible, dejar que lo resuelva la capa más arriba, pero generalmente abstrayendo el tipo de error para que sea comprensible en término de los servicios de la capa superior. Todo patrón tiene ventajas y desventajas: en el caso de la arquitectura de capas ya las hemos mencionado [dejar que los estudiantes las resuman]: • Ventajas o Reutilización de capas; o Facilita la estandarización o Dependencias se limitan a intra-capa o Contención de cambios a una o pocas capas • Desventajas o A veces no se logra la contención del cambio y se requiere una cascada de cambios en varias capas; o Pérdida de eficiencia; o Trabajo innecesario por parte de capas más internas o redundante entre varias capas; o Dificultad de diseñar correctamente la granularidad de las capas.
  • 12. Existen tres propuestas de arquitecturas de capas para Sistemas de Información, donde las capas a veces reciben el nombre de niveles (en Inglés tiers): • Arquitectura de dos capas; • Arquitectura de tres capas; • Arquitectura de cuatro capas. Dos capas En la actualidad muchos sistemas de información están basados en arquitecturas de dos capas, denominadas: • Nivel de aplicación; • Nivel de la base de datos. Existen herramientas de amplio uso que presuponen esta estructura (p. ej. Visual Basic + Access/SQL server). Estas arquitecturas fueron las primeras en aprovecharse de la estructura cliente-servidor (aplicación en los clientes, base de datos como servidor). Las desventajas de dos niveles son bien conocidas: • El nivel de las aplicaciones se recargan, entremezclando aspectos típicos del manejo de la interfaz con las reglas del negocio; • Las reglas del negocio quedan dispersas entre el nivel de aplicación y los "stored procedures" de la base de datos; • La aplicación queda sobrecargada de información de bajo nivel si hay que extraer los datos de varias bases de datos, posiblemente con estructuras diferentes. • El nivel de aplicación puede ser demasiado pesado para el cliente. Tres capas Por estas razones, existe una fuerte y bien avanzada tendencia a adoptar una arquitectura de tres capas: • Aplicación • Dominio de la aplicación; • Repositorio.
  • 13. La mayoría de estos sistemas buscan conservar la tecnología de BD relacional para la capa del repositorio e introducir la tecnología OO para el dominio de la aplicación. Para la capa de presentación existe una pelea entre tecnología HTML (Java-enabled) vs. Generadores GUI. ¿Qué contiene el dominio de la aplicación? En terminología más clásica de BD los tres niveles pueden equipararse, a grosso modo, con: • Esquema externo; • Esquema conceptual; • Esquema interno o de almacenamiento. La ventaja es que ahora la aplicación puede describirse únicamente en relación a la semántica de la aplicación, sin tener que preocuparse sobre cómo está implementado ese dominio (ubicación y estructura física de la data). Cuatro capas Los desarrollos más recientes empiezan a experimentar con una capa adicional (para 2000 no había visto evidencia de esto en Venezuela): • Presentación; • Aplicación; • Dominio de la aplicación; • Repositorio La idea básica es separar todo lo que es programación GUI de la aplicación per se (y por ende tiende a usar frameworks para GUI como MFC). El nivel de la presentación no hace cálculos, consultas o actualizaciones sobre el dominio --de hecho nisiquiera tiene visibilidad sobre la capa del dominio. La capa de la aplicación es la encargada de accesar la capa del dominio, simplificar la información del dominio convirtiéndolo a los tipos de datos que entiende la interfaz: enteros, reales, cadenas de caracteres, fecha y clases contenedoras (container, collection).  Modelo vista controlador (MVC): Separa los datos de aplicación (contenidos en el modelo) de los componentes de presentación grafica (la vista) y lógica de procesamiento de la entrada (el controlador). El MVC no restringe una aplicación a una sola vista o un solo controlador. En un programa más sofisticado (como un procesador de palabras), podría haber
  • 14. dos vistas de un modelo de documento. Una vista podría mostrar un bosquejo del documento y el otro podría mostrar el documento completo. El procesador de palabras podría también implementar varios controladores: uno para manejar la entrada del teclado y otro para manejar las selecciones del ratón. Si cualquiera de los dos controladores realiza un cambio en el modelo, tanto la vista del bosquejo como la ventana de vista previa de impresión mostrarán el cambio inmediatamente, cuando el modelo notifique los cambios a todas las vistas. Otro beneficio clave para el patrón de arquitectura MVC es que los desarrolladores pueden modificar cada componente de manera individual, sin tener que modificar los demás componentes. Por ejemplo, los desarrolladores podrían modificar la vista que muestra el documento en línea, y no tendrían que modificar ni el modelo ni las demás vistas o controladores.
  • 15. CONCLUSIÓN Un proyecto de desarrollo de un Sistema de Información comprende varios componentes o pasos llevados a cabo durante la etapa del análisis, el cual ayuda a traducir las necesidades del cliente en un modelo de Sistema que utiliza uno más de los componentes: Software, hardware, personas, base de datos, documentación y procedimientos. En una organización o Empresa, el análisis y Diseño de Sistemas, es el proceso de estudiar su Situación con la finalidad de observar cómo trabaja y decidir si es necesario realizar una mejora; el encargado de llevar a cabo estas tareas es el analista de sistemas. Lo más importante de los estilos de arquitectura de un sistema de información: Cliente/Servidor puede incluir múltiples plataformas, bases de datos, redes y sistemas operativos. Estos pueden ser de distintos proveedores, en arquitecturas propietarias y no propietarias y funcionando todos al mismo tiempo. Por lo tanto, su implantación involucra diferentes tipos de estándares: APPC, TCP/IP, OSI, NFS, DRDA corriendo sobre DOS, OS/2, Windows o PC UNIX, en Token Ring, Ethernet, FDDI o medio coaxial, sólo por mencionar algunas de las posibilidades.
  • 16. Referencias E. Teniente López - A Olive Ramón. E. Mayol Sarroca – Gómez Seoane. Diseño de Sistema del software en UML http://books.google.co.ve/books?id=p7nD8_g77_MC&printsec=frontcover&dq=dise %C3%B1o+de+sistemas&hl=es&ei=eTAiTsXRBsrs0gGR- dSsAw&sa=X&oi=book_result&ct=result&resnum=2&ved=0CC8Q6AEwAQ#v=onepage&q&f=fa lse Juan José Goñi Zabala. El cambio son personas: la dirección de los procesos de cambio http://books.google.co.ve/books?id=E- PgDbPnSKsC&pg=PA85&dq=definicion+arquitectura+cliente/servidor+del+sistema+de+inform acion&hl=es&ei=8FIiTuzuIYj40gGrusnZAw&sa=X&oi=book_result&ct=result&resnum=1&ved=0 CCgQ6AEwAA#v=onepage&q&f=false Harvey M. Deitel,Paul J. Deitel. Cómo programar en Java http://books.google.co.ve/books? id=is2J44U4DpsC&pg=PA910&dq=arquitectura+modelo+vista+controlador+del+sistema+de+in formacion&hl=es&ei=ckYkTuriNM6ftgev0Z23Aw&sa=X&oi=book_result&ct=result&resnum=2 &ved=0CDUQ6AEwAQ#v=onepage&q&f=false