ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Ingeniería de Software 2


Enviado por   •  30 de Mayo de 2019  •  Tareas  •  1.918 Palabras (8 Páginas)  •  12 Visitas

Página 1 de 8

[pic 1]

UNIVERSIDAD ABIERTA PARA ADULTOS

(UAPA)

ASIGNATURA:

Ingeniería de Software 2

Tema:

Tarea I

Facilitador:

Tomas F. Ramírez

Participante:

Emmanuel de Jesús García Fortuna  Mat.16-7103

Fecha:

16/05/2019,

Santiago,

República Dominicana

Después de consultar el texto básico de la asignatura y otros documentos sugeridos por su facilitador, en el contenido de la Unidad I.

  1. Elabora un diario de doble entrada donde explique la diferencia de las diferentes arquitecturas de software existente.

Arquitecturas de Software

Patrón de capas

La programación por capas es un modelo de desarrollo software en el que el objetivo primordial es la separación (desacoplamiento) de las partes que componen un sistema software o también una arquitectura cliente-servidor: lógica de negocios, capa de presentación y capa de datos. De esta forma, por ejemplo, es sencillo y fácil de mantener al crear diferentes interfaces sobre un mismo sistema sin requerirse cambio alguno en la capa de datos o lógica.

Este patrón se puede utilizar para estructurar programas que se pueden descomponer en grupos de sus tareas.

La particularidad de esta arquitectura de software es que tiene como objetivo la separación de la lógica de diseño y la lógica de negocios.

Este tipo de arquitectura se basa en dividir el código fuente según su funcionabilidad principal.

En comparación con otras arquitecturas esta presenta las siguientes ventajas y desventajas:

Ventajas :

  • Facilita la comprensión
  • Facilita mantenimiento
  • Facilita reutilización
  • Facilita portabilidad

Desventajas:

  • Dificulta para identificar niveles de abstracción.

Arquitectura cliente-servidor

Este patrón consiste en dos partes; un servidor  y múltiples clientes. Los clientes solicitan servicios del servidor y el servidor proporciona servicios relevantes a esos clientes. Además, el servidor sigue escuchando las solicitudes de los clientes. En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores.

 

Está compuesta por servidores que ofrecen servicios y clientes que usan los servicios ofrecidos por el servidor.

Particularmente este tipo de arquitectura se emplea en aplicaciones en línea como correo electrónico, uso compartido de documentos y banca.

En comparación con otras arquitecturas esta tiene las siguientes ventajas y desventajas:

ventajas:

  • Escalabilidad
  • Fácil mantenimiento
  • Centralización del control
  • Tecnología maduras y robustas
  • Distribución de datos directa.

Desventajas:

  • Puede saturarse por el elevado acceso simultáneo de clientes.
  • Frente a fallos el servidor queda paralizado  para los clientes.

Arquitectura maestro-esclavo

Este patrón permite organizar el trabajo de tal manera que en un componente (el maestro) distribuye trabajo a componentes idénticos (esclavos) y calcula un resultado final de los resultados que dichos esclavos retornan.

Este patrón en comparación con los otros es muy ventajoso cuando se creamos aplicaciones multi-tarea.

En comparación con otras arquitecturas esta tiene las siguientes ventajas:

  • Soporta procedimientos en paralelo.
  • Es tolerante ante fallas.

Arquitectura de filtro de tubería

Este patón se puede usar para estructurar sistemas que producen y procesan una secuencia de datos. Cada paso de procesamiento se incluye dentro de un componente de filtro. Los datos que se procesaran se pasan a  través de las tuberías. Estas tuberías se pueden utilizar para el almacenamiento en búfer o con fines de sincronización.

La particularidad de esta arquitectura radica en que este se suele utilizar cuando los datos de entrada se habrán de transformar en datos de salida. Median unas series de componentes para la manipulación.

En comparación con otras arquitecturas esta tiene las siguientes ventajas y desventajas:

ventajas:

  • Fácil de comprender.
  • Permite reutilización
  • Fácil evolución y mantenimiento.
  • Permite la ejecución en paralelo.

Desventajas:

  • No es apropiado para aplicaciones interactivas.
  • Se pierde el paralelismo potencial y la cooperación.
  • Necesidad de consistencia entre flujos de datos.

Modelo Vista Controlador

Es un estilo arquitectónico de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos.

  • El modelo contiene una representación de los datos que maneja el sistema, su lógica de negocio, y sus mecanismos de persistencia.
  • La vista, o interfaz de usuario, que componen la información que se envía al cliente y los mecanismos que interaccionan con este.
  • El controlador, que actúa como intermediario entre el modelo y la vista.  Gestiona el flujo de información entre ellos y las transformaciones para adaptar los datos a las necesidades de cada uno.

La particularidad del patrón MVC radica en la separación total entre las capas que componen el sistema, dígase capa de negocio, presentación y datos.

En comparación con otras arquitecturas esta tiene las siguientes ventajas y desventajas:

ventajas:

  • Separación total.
  • Soporte de vistas múltiples.
  • Adaptación al cambio.

Desventajas:

  • Complejidad.
  • Costo de actuaciones frecuentes.

Patrón arquitectónico de pizarra

Este patrón es útil para problemas para los que no se conocen estrategias de solución deterministas.

Un sistema de pizarra se implementa para resolver problemáticas en las cuales las entidades individuales se manifiestan incapaces de aproximarse a una solución o para los que sí existe pero es inviable por la dimensión del espacio de búsqueda.

Este patrón consta de 3 componentes:

  • Pizarra: una memoria global estructurada que contiene objetos del espacio de solución.
  • Fuente de conocimiento:

Módulos especializados con su propia representación.

  • Componente de control:

Selecciona, configura y ejecuta módulos.

Generalmente este tipo de arquitectura se suele utilizar en sistemas expertos o sistemas basados en el conocimiento.

En comparación con otras arquitecturas esta tiene las siguientes ventajas y desventajas:

ventajas:

  • Hace posible la interacción de agentes contra el sistema.
  • Funciona muy bien con los problemas no deterministas.

Desventajas:

  • Problemas de seguridad ya que la pizarra es accesible por todos.
  • Problemas de sincronización al chequear y vigilar la pizarra.

...

Descargar como (para miembros actualizados)  txt (14 Kb)   pdf (347.5 Kb)   docx (251.5 Kb)  
Leer 7 páginas más »
Disponible sólo en Clubensayos.com