14
UNIVERSIDAD JOSE CARLOS MARIATEGUI CARRERA : INGENIERIA DE SISTEMAS E INFORMATICA CURSO : TOPICOS AVANZADOS DE INGENIERIA DE SISTEMAS PROFESOR : JAVIER CLEMENTE BAQUERIZO ALUMNO : PEREZ DEL CASTILLO ARTEMIO CICLO : X PERIODO : 2011 - II

Trabajoartemio

Embed Size (px)

Citation preview

Page 1: Trabajoartemio

UNIVERSIDAD JOSE CARLOS MARIATEGUI

CARRERA : INGENIERIA DE SISTEMAS E INFORMATICA

CURSO : TOPICOS AVANZADOS DE INGENIERIA DE SISTEMAS

PROFESOR : JAVIER CLEMENTE BAQUERIZO

ALUMNO : PEREZ DEL CASTILLO ARTEMIO

CICLO : X

PERIODO : 2011 - II

Page 2: Trabajoartemio

ARQUITECTURAS DE SOFTWARE

DEFINICIONES:Son el conjunto de decisiones de diseño que, si son tomadas de forma equivocada, pueden provocar que su proyecto sea cancelado, por no cumplir con los servicios y la funcionalidad que espera el usuario.Es la organización fundamental de un sistema encarnada en sus componentes, las relaciones entre ellos y el ambiente y los principios que orientan su diseño y evolución.

Page 3: Trabajoartemio

La arquitectura de un sistema de software define al sistema en términos de componentes computacionales e interacciones entre estos componentes.

COMPONENTES INTERACCIONES

• Clientes y Servidores.• Base de Datos.• Filtros.• Niveles de un sistema jerárquico.

• Llamadas a procedimientos.• Compartimiento de variables.• Protocolos cliente servidor.• Protocolos de acceso a BB.DD.

Page 4: Trabajoartemio

CUALIDADES DEL SOFTWARE

• Correctitud.- Un programa es funcionalmente correcto, si se comporta de acuerdo a la especificación de las funciones que debería proveer.

• Confiabilidad.- Se define en términos del comportamiento estadístico: la probabilidad de que el software opere como es esperado en un intervalo de tiempo especificado. Contrariamente a la correctitud que es una cualidad absoluta, la confiabilidad es relativa.

Page 5: Trabajoartemio

• Robustez.- Un programa es robusto si se comporta en forma razonable aún en circunstancias que no fueron anticipadas en la especificación de requerimientos.

• Performance.- En la ingeniería de software generalmente performance equivale a eficiencia. Un sistema de software es eficiente si utiliza los recursos computacionales en forma económica. La performance de un sistema es importante porque afecta su usabilidad.

Page 6: Trabajoartemio

• Amigabilidad.- Un sistema de software es amigable si un usuario humano lo encuentra fácil de usar.

• Mantenibilidad.- Es utilizado generalmente para referirse a las modificaciones que se realizan a un sistema de software luego de su liberación inicial.

• Reparabilidad.- Debe permitir la reparación de sus defectos con una carga limitada de trabajo. La modularidad juega un rol importante en este punto.

Page 7: Trabajoartemio

• Evolucionabilidad.- Un sistema es evolucionable si acepta cambios que le permitan satisfacer nuevos requerimientos.

• Reusabilidad.- Es similar a la evolucionabilidad, aquí se modifica un producto para construir una nueva versión del producto.

• Portabilidad.- El software es portable si puede ser ejecutado en distintos ambientes, de plataforma de hardware y software.

• Interoperabilidad.- Se refiere a la habilidad de un sistema de coexistir y cooperar con otros sistemas.

Page 8: Trabajoartemio

• Productividad.- Es una cualidad del proceso de producción de software, mide la eficiencia del proceso y como se vio antes.

• Oportunidad.- Es una cualidad del proceso que se refiere a la habilidad de entregar un producto a tiempo.

Page 9: Trabajoartemio

ESTILOS DE ARQUITECTURA

• Sirven para sintetizar estructuras de soluciones.

• Definen los patrones posibles de las aplicaciones.

• Permiten evaluar arquitecturas alternativas con ventajas y desventajas conocidas ante diferentes conjuntos de requerimientos no funcionales.

Page 10: Trabajoartemio

DATOS CENTRALIZADOS

Sistemas en los cuales cierto numero de clientes accede y actualiza datos compartidos de un repositorio de manera frecuente.

• Bases de datos.• Sistemas de hipertexto.• Pizarras.

Page 11: Trabajoartemio

FLUJO DE DATOS

El sistema es visto como una serie de transformaciones sobre piezas sucesivas de datos de entrada. El dato ingresa en el sistema, y fluye entre los componentes, de uno en uno, hasta que se le asigne un destino final (salida o repositorio).

• Secuencial en lote.• Tubos y filtros.

Page 12: Trabajoartemio

MAQUINAS VIRTUALES

Simulan alguna funcionalidad que no es nativa al hardware o software sobre el que esta implementado.

• Interpretes.• Sistemas basados en reglas.

Page 13: Trabajoartemio

LLAMADA Y RETORNO

El sistema se constituye de un programa principal que tiene el control del sistema y varios subprogramas que se comunican con este mediante el uso de llamadas.

• Programa principal y subrutina.• Sistemas orientados al objeto.• Capas jerárquicas.

Page 14: Trabajoartemio

COMPONENTES INDEPENDIENTES

Consiste en un numero de procesos u objetos independientes que se comunican a través de mensajes.

• Procesos comunicativos.• Sistemas de eventos.