SlideShare a Scribd company logo
1 of 26
Download to read offline
9.Diseño de la Arquitectura
Ramiro Estigarribia Canese
¿Qué es el Diseño
Arquitectónico?
➔ El diseño arquitectónico representa la estructura de
los datos y de los componentes del programa que
se requieren para construir un sistema.
➔ Considera el estilo de arquitectura que adoptará el
sistema, la estructura y las propiedades de los
componentes que lo constituyen y las
interrelaciones que ocurren entre sus componentes
arquitectónicos.
Arquitectura del Software
Los autores Shaw y Garlan expresan:
➔ Desde el primer programa que se dividió en
módulos, los sistemas han tenido arquitecturas y
los programadores han sido los responsables de
las interacciones entre los módulos y las
propiedades globales del ensamble.
➔ Históricamente, las arquitecturas han estado
implícitas: accidentes de implementación o
sistemas heredados del pasado.
¿Qué es la Arquitectura
en una Construcción?
➔ Es la manera en la que los distintos componentes
del edificio se integran para formar un todo
cohesivo.
➔ Es la forma en la que la construcción se adapta a
su ambiente y se integra a los demás edificios en la
vecindad.
➔ Es la sensación estética de la estructura —el efecto
visual de la edificación— y el modo en el que se
combinan texturas, colores y materiales para crear
la fachada en el exterior.
¿Qué es una Arquitectura
de Software?
Es una representación que permite:
1. Analizar la efectividad del diseño.
2. Considerar alternativas arquitectónicas.
3. Reducir los riesgos asociados con la construcción
del software.
La arquitectura del software comprende a los
componentes del software, sus propiedades externas
visibles y las relaciones entre ellos.
La arquitectura no es el software operativo.
Arquitectura vs Diseño.
➔ Hay una diferencia entre los términos:
➔ Un diseño es una instancia de una arquitectura,
similar a un objeto que es una instancia de una
clase.
➔ Por ejemplo, considere la arquitectura de cliente-
servidor: es posible diseñar de muchas formas un
sistema basado en red, con el uso de una
plataforma Java o .NET.
➔ Entonces, hay una arquitectura, pero con base en
ella pueden crearse muchos diseños. Así, no es
válido mezclar “arquitectura” y “diseño”.
¿Por qué es importante la
Arquitectura?
1. Las representaciones de la arquitectura permiten la
comunicación entre todas las partes interesadas.
2. La arquitectura resalta las primeras decisiones que
tendrán un efecto profundo en el éxito o fracaso del
sistema.
3. La arquitectura “constituye un modelo relativamente
pequeño y asequible por la vía intelectual sobre
cómo está estructurado el sistema y la forma en la
que sus componentes trabajan juntos”.
Descripciones
Arquitectónicas
➔ Cada uno de nosotros tiene una imagen mental de
lo que significa la palabra arquitectura.
➔ Sin embargo, la realidad es que tiene significados
diferentes para distintas personas.
➔ Cada perspectiva desarrollada se aboca a una
preocupación de un participante específico.
➔ Las decisiones arquitectónicas en sí mismas se
consideran una perspectiva de la arquitectura.
➔ Las razones por las que se tomaron las decisiones
dan una visión de un sistema y su concordancia
con las preocupaciones del participante.
Géneros Arquitectónicos.
Algunos de los más conocidos son:
1. Inteligencia artificial: Sistemas que simulan o
incrementan la cognición humana.
2. Comerciales: Sistemas que son fundamentales
para la operación de una empresa de negocios.
3. Comunicaciones: Sistemas que proveen la
infraestructura para transferir y manejar datos.
4. Gobierno: Sistemas que dan apoyo a la conducción
y operaciones de una institución política local.
5. Industrial: Sistemas que simulan o controlan
procesos físicos.
Estilos Arquitectónicos.
Aunque en los últimos 60 años se han creado millones
de sistemas, la gran mayoría se clasifica en un
número pequeño de estilos:
Arquitectura centrada en los datos.
En el centro de esta arquitectura se halla un
almacenamiento de datos al que acceden con
frecuencia otros componentes que actualizan,
agregan, eliminan o modifican los datos de cierto
modo dentro del almacenamiento.
Arquitectura centrada en los
datos
Arquitectura de flujo de
datos.
➔ Los datos de entrada van a transformarse en datos
de salida a través de una serie de componentes.
➔ Tiene un conjunto de componentes, llamados
filtros, conectados por tubos que transmiten datos
de un componente al siguiente.
➔ Cada filtro trabaja en forma independiente de
aquellos componentes que se localizan arriba o
abajo del flujo; se diseña para esperar una entrada
de datos de cierta forma y produce datos de salida
(al filtro siguiente) en una forma especificada.
Arquitectura de flujo de
datos.
Arquitectura en capas.
➔ Se define un número de capas diferentes; cada una
ejecuta operaciones que se aproximan
progresivamente al conjunto de instrucciones de
máquina.
➔ En la capa externa, los componentes atienden las
operaciones de la interfaz de usuario.
➔ En la interna, los componentes realizan la interfaz
con el sistema operativo.
➔ Las capas intermedias proveen servicios de
utilerías y funciones de software de aplicación.
Arquitectura en capas.
Arquitectura de programa
principal/subprograma.
➔ Esta estructura clásica de programa descompone
una función en una jerarquía de control en la que
un programa “principal” invoca cierto número de
componentes de programa que a su vez invocan a
otros.
Arquitecturas de programa
principal/subprograma.
Patrones arquitectónicos
➔ A medida que se desarrolle el modelo de
requerimientos, se observará que el software debe
enfrentar cierto número de problemas.
➔ Por ejemplo, el modelo de requerimientos para
virtualmente cualquier aplicación de comercio
electrónico se enfrenta con el siguiente problema:
¿Cómo ofrecer una amplia variedad de bienes a un
grupo extenso de consumidores y permitir que los
adquieran en línea?
Diseño Arquitectónico.
➔ Cuando comienza el diseño arquitectónico, el
software que se va a desarrollar debe situarse en
➔ contexto, es decir, el diseño debe definir las
entidades externas (otros sistemas, dispositivos,
personas, etc.).
➔ Este proceso sigue en forma iterativa hasta que se
obtiene una estructura arquitectónica completa.
Representación del sistema
en contexto.
En el nivel de diseño arquitectónico, el arquitecto del
software usa un diagrama de contexto arquitectónico
(DCA) para modelar la manera en la que el software
interactúa con entidades más allá de sus fronteras:
1. Sistemas superiores: aquellos que utilizan al
sistema para obtener datos.
2. Sistemas subordinados: los que son usados por el
sistema objetivo y proveen datos o procesamiento.
3. Sistemas entre iguales: son los que interactúan
sobre una base de igualdad.
4. Actores: entidades (personas, dispositivos, etc.)
que interactúan con el sistema objetivo.
Representación del sistema
en contexto.
Definición de arquetipos
Un arquetipo es una clase o un patrón que representa
una abstracción fundamental de importancia
crítica para el diseño de una arquitectura para el
sistema objetivo.
En general, se requiere de un conjunto relativamente
pequeño de arquetipos a fin de diseñar sistemas
incluso algo complejos.
La arquitectura del sistema objetivo está compuesta
de estos arquetipos, que representan elementos
estables de la arquitectura, pero que son
implementadas en muchos modos diferentes con base
en el comportamiento del sistema.
Arquitectura hacia los
Componentes
Conforme la arquitectura se refina hacia los componentes,
comienza a emerger la estructura del sistema.
Pero, ¿cómo se eligen estos componentes?
Estas clases de análisis representan entidades dentro del
dominio de aplicación (negocio) que deben enfrentarse
dentro de la arquitectura del software.
Entonces, el dominio de aplicación es una fuente para la
obtención y refinamiento de los componentes. Otra fuente
es el dominio de la infraestructura.
La arquitectura debe albergar muchas componentes de la
infraestructura que hagan posible los componentes de la
aplicación, pero que no tengan conexión con el dominio de
ésta.
Descripción de las
instancias del sistema
El diseño arquitectónico modelado hasta este
momento todavía es de nivel relativamente alto. (con
pocos de detalles del sistema).
Es necesario más refinamiento (recuerde que todo el
diseño es iterativo).
Para lograr esto, se desarrollan instancias de la
arquitectura.
La arquitectura se aplica a un problema específico con
objeto de demostrar que tanto ella como sus
componentes son apropiados.
Resumen y Conclusiones.
La arquitectura del software proporciona una visión
holística del sistema que se va a construir.
Ilustra la estructura y organización de los
componentes del software, sus propiedades y
conexiones.
Los componentes del software incluyen módulos de
programa y las distintas representaciones
de datos que manipula éste.
Por tanto, el diseño de los datos es parte integral de la
generación de la arquitectura del software.
Resumen y Conclusiones.
Dentro de un género arquitectónico dado, hay varios
estilos y patrones diferentes disponibles
para el ingeniero de software.
Cada estilo describe una categoría de sistemas que
agrupa un conjunto de componentes que realizan una
función requerida por el sistema; un grupo de
conectores que permiten comunicación, coordinación y
cooperación entre los componentes;
restricciones que definen cómo pueden integrarse
éstos para formar el sistema y modelos semánticos
que permiten que un diseñador entienda las
propiedades generales del sistema.

More Related Content

What's hot

Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareAndresRealp1
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesVictor Escamilla
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwaresergio
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacionZonickX
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareEvelinBermeo
 
Arquitectura de Data Fabric: Clave en proyectos de Big Data y Machine Learning
Arquitectura de Data Fabric: Clave en proyectos de Big Data y Machine LearningArquitectura de Data Fabric: Clave en proyectos de Big Data y Machine Learning
Arquitectura de Data Fabric: Clave en proyectos de Big Data y Machine LearningDenodo
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseñolandeta_p
 
Test Driven Development. Fortalezas y Debilidades
Test Driven Development. Fortalezas y DebilidadesTest Driven Development. Fortalezas y Debilidades
Test Driven Development. Fortalezas y DebilidadesAlejandro Araújo
 
Arquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoArquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoGermania Rodriguez
 

What's hot (20)

Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-software
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de software
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
oohdm
oohdmoohdm
oohdm
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacion
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de Software
 
Arquitectura de Data Fabric: Clave en proyectos de Big Data y Machine Learning
Arquitectura de Data Fabric: Clave en proyectos de Big Data y Machine LearningArquitectura de Data Fabric: Clave en proyectos de Big Data y Machine Learning
Arquitectura de Data Fabric: Clave en proyectos de Big Data y Machine Learning
 
MVC
MVCMVC
MVC
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
Test Driven Development. Fortalezas y Debilidades
Test Driven Development. Fortalezas y DebilidadesTest Driven Development. Fortalezas y Debilidades
Test Driven Development. Fortalezas y Debilidades
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Rup (iteraciones)
Rup (iteraciones)Rup (iteraciones)
Rup (iteraciones)
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Arquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoArquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseño
 

Viewers also liked

Arquitectura de Datos
Arquitectura de DatosArquitectura de Datos
Arquitectura de DatosJazmin Glez.
 
Diagrama de flujo_de_datos_(dfd)[1]
Diagrama de flujo_de_datos_(dfd)[1]Diagrama de flujo_de_datos_(dfd)[1]
Diagrama de flujo_de_datos_(dfd)[1]jauanilfabian
 
7.modelado de los requerimientos escenarios y clases
7.modelado de los requerimientos  escenarios y clases7.modelado de los requerimientos  escenarios y clases
7.modelado de los requerimientos escenarios y clasesRamiro Estigarribia Canese
 
Diseno de la Interfaz de Usuario
Diseno de la Interfaz de UsuarioDiseno de la Interfaz de Usuario
Diseno de la Interfaz de UsuarioUTPL
 
Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)Aldo Ulloa Carrasco
 
Diagramas de Flujo de Datos
Diagramas de Flujo de DatosDiagramas de Flujo de Datos
Diagramas de Flujo de Datosinggaitan
 
Diagramas de flujos para base de datos
Diagramas de flujos  para base de datosDiagramas de flujos  para base de datos
Diagramas de flujos para base de datoslafp36
 
Kevin lynch -_la_imagen_de_la_ciudad
Kevin lynch -_la_imagen_de_la_ciudadKevin lynch -_la_imagen_de_la_ciudad
Kevin lynch -_la_imagen_de_la_ciudadLía A
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de DatosRenny Batista
 
Diagrama de Flujo de Datos
Diagrama de Flujo de DatosDiagrama de Flujo de Datos
Diagrama de Flujo de DatosInés Andara
 
Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Yaskelly Yedra
 
Pruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionAbner Gerardo
 
Ejercicios De Diagrama De Flujo
Ejercicios De Diagrama De FlujoEjercicios De Diagrama De Flujo
Ejercicios De Diagrama De FlujoFabio Valencia
 

Viewers also liked (20)

Arquitectura de Datos
Arquitectura de DatosArquitectura de Datos
Arquitectura de Datos
 
Diagrama de flujo_de_datos_(dfd)[1]
Diagrama de flujo_de_datos_(dfd)[1]Diagrama de flujo_de_datos_(dfd)[1]
Diagrama de flujo_de_datos_(dfd)[1]
 
Correcion imagen de ciudad
Correcion imagen de ciudadCorrecion imagen de ciudad
Correcion imagen de ciudad
 
7.modelado de los requerimientos escenarios y clases
7.modelado de los requerimientos  escenarios y clases7.modelado de los requerimientos  escenarios y clases
7.modelado de los requerimientos escenarios y clases
 
12.diseño basado en patrones
12.diseño basado en patrones12.diseño basado en patrones
12.diseño basado en patrones
 
Redes Rpc
Redes RpcRedes Rpc
Redes Rpc
 
10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes
 
Diseno de la Interfaz de Usuario
Diseno de la Interfaz de UsuarioDiseno de la Interfaz de Usuario
Diseno de la Interfaz de Usuario
 
Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)
 
Diagramas de Flujo de Datos
Diagramas de Flujo de DatosDiagramas de Flujo de Datos
Diagramas de Flujo de Datos
 
Diagramas de flujos para base de datos
Diagramas de flujos  para base de datosDiagramas de flujos  para base de datos
Diagramas de flujos para base de datos
 
Kevin lynch -_la_imagen_de_la_ciudad
Kevin lynch -_la_imagen_de_la_ciudadKevin lynch -_la_imagen_de_la_ciudad
Kevin lynch -_la_imagen_de_la_ciudad
 
Diseño de la interfaz de usuario
Diseño de la interfaz de usuarioDiseño de la interfaz de usuario
Diseño de la interfaz de usuario
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de Datos
 
Diagrama de Flujo de Datos
Diagrama de Flujo de DatosDiagrama de Flujo de Datos
Diagrama de Flujo de Datos
 
RPC
RPCRPC
RPC
 
Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)
 
Pruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacion
 
Ejercicios De Diagrama De Flujo
Ejercicios De Diagrama De FlujoEjercicios De Diagrama De Flujo
Ejercicios De Diagrama De Flujo
 

Similar to 9.diseño de la arquitectura

diseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informaciondiseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informacionzulaymaylin
 
Arquitectura de software.docx
Arquitectura de software.docxArquitectura de software.docx
Arquitectura de software.docxKeiberOrtiz1
 
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.pptxjuan351241
 
Diseno de software_-_gabriel_gonzalez
Diseno de software_-_gabriel_gonzalezDiseno de software_-_gabriel_gonzalez
Diseno de software_-_gabriel_gonzalezGabrielGonzalez463
 
Arquitecturas
ArquitecturasArquitecturas
Arquitecturasenlinea70
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónicolandeta_p
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónicolandeta_p
 
Unidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasUnidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasSergio Sanchez
 
La arquitectura de 41 vistas
La arquitectura de 41 vistasLa arquitectura de 41 vistas
La arquitectura de 41 vistaszurda21
 
210452 arquitectura-de-software-adrian-lasso
210452 arquitectura-de-software-adrian-lasso210452 arquitectura-de-software-adrian-lasso
210452 arquitectura-de-software-adrian-lassoEpmaps q
 
Tema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareTema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareMagemyl Egana
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Softwarelcastillo110
 
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-IntroducciónLuis Fernando Aguas Bucheli
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidosTensor
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidosTensor
 
Patricio quiros tarea final
Patricio quiros tarea finalPatricio quiros tarea final
Patricio quiros tarea finalLeonel Ibarra
 

Similar to 9.diseño de la arquitectura (20)

Patrones
PatronesPatrones
Patrones
 
diseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informaciondiseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informacion
 
Arquitectura de software.docx
Arquitectura de software.docxArquitectura de software.docx
Arquitectura de software.docx
 
Arquitectura. de Software. en ambientes distribuidos.
Arquitectura. de Software. en ambientes distribuidos.Arquitectura. de Software. en ambientes distribuidos.
Arquitectura. de Software. en ambientes 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
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Diseno de software_-_gabriel_gonzalez
Diseno de software_-_gabriel_gonzalezDiseno de software_-_gabriel_gonzalez
Diseno de software_-_gabriel_gonzalez
 
Arquitecturas
ArquitecturasArquitecturas
Arquitecturas
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico
 
Unidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasUnidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De Sistemas
 
La arquitectura de 41 vistas
La arquitectura de 41 vistasLa arquitectura de 41 vistas
La arquitectura de 41 vistas
 
210452 arquitectura-de-software-adrian-lasso
210452 arquitectura-de-software-adrian-lasso210452 arquitectura-de-software-adrian-lasso
210452 arquitectura-de-software-adrian-lasso
 
Unidad 4. diseno del sistema
Unidad 4. diseno del sistemaUnidad 4. diseno del sistema
Unidad 4. diseno del sistema
 
Tema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareTema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de software
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Software
 
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
 
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
 
Patricio quiros tarea final
Patricio quiros tarea finalPatricio quiros tarea final
Patricio quiros tarea final
 

More from Ramiro Estigarribia Canese

8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdfRamiro Estigarribia Canese
 

More from Ramiro Estigarribia Canese (20)

8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf
 
Principios que Guían la Práctica
Principios que Guían la PrácticaPrincipios que Guían la Práctica
Principios que Guían la Práctica
 
CSS - Hojas de Estilo en Cascada.pdf
CSS -  Hojas de Estilo en Cascada.pdfCSS -  Hojas de Estilo en Cascada.pdf
CSS - Hojas de Estilo en Cascada.pdf
 
Python conceptos básicos
Python   conceptos básicosPython   conceptos básicos
Python conceptos básicos
 
Diseño de WebApps
Diseño de WebAppsDiseño de WebApps
Diseño de WebApps
 
Diseño basado en patrones
Diseño basado en patronesDiseño basado en patrones
Diseño basado en patrones
 
Servicios web
Servicios webServicios web
Servicios web
 
Especificaciones de los procesadores
Especificaciones de los procesadoresEspecificaciones de los procesadores
Especificaciones de los procesadores
 
Lenguaje de programación awk
Lenguaje de programación awkLenguaje de programación awk
Lenguaje de programación awk
 
Bases de datos con PHP y PDO
Bases de datos con PHP y PDOBases de datos con PHP y PDO
Bases de datos con PHP y PDO
 
Bases de datos con PHP y Mysqli
Bases de datos con PHP y MysqliBases de datos con PHP y Mysqli
Bases de datos con PHP y Mysqli
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuario
 
Variables del sistema en php
Variables del sistema en phpVariables del sistema en php
Variables del sistema en php
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
Bootstrap menues, contenedores y formularios
Bootstrap   menues, contenedores y formulariosBootstrap   menues, contenedores y formularios
Bootstrap menues, contenedores y formularios
 
Estructuras de control en bash
Estructuras de control en bashEstructuras de control en bash
Estructuras de control en bash
 
Visual studio code
Visual studio codeVisual studio code
Visual studio code
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Herramienta cacti
Herramienta cactiHerramienta cacti
Herramienta cacti
 
Monitoreo de datacenter
Monitoreo de datacenterMonitoreo de datacenter
Monitoreo de datacenter
 

Recently uploaded

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Recently uploaded (15)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

9.diseño de la arquitectura

  • 1. 9.Diseño de la Arquitectura Ramiro Estigarribia Canese
  • 2. ¿Qué es el Diseño Arquitectónico? ➔ El diseño arquitectónico representa la estructura de los datos y de los componentes del programa que se requieren para construir un sistema. ➔ Considera el estilo de arquitectura que adoptará el sistema, la estructura y las propiedades de los componentes que lo constituyen y las interrelaciones que ocurren entre sus componentes arquitectónicos.
  • 3. Arquitectura del Software Los autores Shaw y Garlan expresan: ➔ Desde el primer programa que se dividió en módulos, los sistemas han tenido arquitecturas y los programadores han sido los responsables de las interacciones entre los módulos y las propiedades globales del ensamble. ➔ Históricamente, las arquitecturas han estado implícitas: accidentes de implementación o sistemas heredados del pasado.
  • 4. ¿Qué es la Arquitectura en una Construcción? ➔ Es la manera en la que los distintos componentes del edificio se integran para formar un todo cohesivo. ➔ Es la forma en la que la construcción se adapta a su ambiente y se integra a los demás edificios en la vecindad. ➔ Es la sensación estética de la estructura —el efecto visual de la edificación— y el modo en el que se combinan texturas, colores y materiales para crear la fachada en el exterior.
  • 5. ¿Qué es una Arquitectura de Software? Es una representación que permite: 1. Analizar la efectividad del diseño. 2. Considerar alternativas arquitectónicas. 3. Reducir los riesgos asociados con la construcción del software. La arquitectura del software comprende a los componentes del software, sus propiedades externas visibles y las relaciones entre ellos. La arquitectura no es el software operativo.
  • 6. Arquitectura vs Diseño. ➔ Hay una diferencia entre los términos: ➔ Un diseño es una instancia de una arquitectura, similar a un objeto que es una instancia de una clase. ➔ Por ejemplo, considere la arquitectura de cliente- servidor: es posible diseñar de muchas formas un sistema basado en red, con el uso de una plataforma Java o .NET. ➔ Entonces, hay una arquitectura, pero con base en ella pueden crearse muchos diseños. Así, no es válido mezclar “arquitectura” y “diseño”.
  • 7. ¿Por qué es importante la Arquitectura? 1. Las representaciones de la arquitectura permiten la comunicación entre todas las partes interesadas. 2. La arquitectura resalta las primeras decisiones que tendrán un efecto profundo en el éxito o fracaso del sistema. 3. La arquitectura “constituye un modelo relativamente pequeño y asequible por la vía intelectual sobre cómo está estructurado el sistema y la forma en la que sus componentes trabajan juntos”.
  • 8. Descripciones Arquitectónicas ➔ Cada uno de nosotros tiene una imagen mental de lo que significa la palabra arquitectura. ➔ Sin embargo, la realidad es que tiene significados diferentes para distintas personas. ➔ Cada perspectiva desarrollada se aboca a una preocupación de un participante específico. ➔ Las decisiones arquitectónicas en sí mismas se consideran una perspectiva de la arquitectura. ➔ Las razones por las que se tomaron las decisiones dan una visión de un sistema y su concordancia con las preocupaciones del participante.
  • 9. Géneros Arquitectónicos. Algunos de los más conocidos son: 1. Inteligencia artificial: Sistemas que simulan o incrementan la cognición humana. 2. Comerciales: Sistemas que son fundamentales para la operación de una empresa de negocios. 3. Comunicaciones: Sistemas que proveen la infraestructura para transferir y manejar datos. 4. Gobierno: Sistemas que dan apoyo a la conducción y operaciones de una institución política local. 5. Industrial: Sistemas que simulan o controlan procesos físicos.
  • 10. Estilos Arquitectónicos. Aunque en los últimos 60 años se han creado millones de sistemas, la gran mayoría se clasifica en un número pequeño de estilos: Arquitectura centrada en los datos. En el centro de esta arquitectura se halla un almacenamiento de datos al que acceden con frecuencia otros componentes que actualizan, agregan, eliminan o modifican los datos de cierto modo dentro del almacenamiento.
  • 12. Arquitectura de flujo de datos. ➔ Los datos de entrada van a transformarse en datos de salida a través de una serie de componentes. ➔ Tiene un conjunto de componentes, llamados filtros, conectados por tubos que transmiten datos de un componente al siguiente. ➔ Cada filtro trabaja en forma independiente de aquellos componentes que se localizan arriba o abajo del flujo; se diseña para esperar una entrada de datos de cierta forma y produce datos de salida (al filtro siguiente) en una forma especificada.
  • 14. Arquitectura en capas. ➔ Se define un número de capas diferentes; cada una ejecuta operaciones que se aproximan progresivamente al conjunto de instrucciones de máquina. ➔ En la capa externa, los componentes atienden las operaciones de la interfaz de usuario. ➔ En la interna, los componentes realizan la interfaz con el sistema operativo. ➔ Las capas intermedias proveen servicios de utilerías y funciones de software de aplicación.
  • 16. Arquitectura de programa principal/subprograma. ➔ Esta estructura clásica de programa descompone una función en una jerarquía de control en la que un programa “principal” invoca cierto número de componentes de programa que a su vez invocan a otros.
  • 18. Patrones arquitectónicos ➔ A medida que se desarrolle el modelo de requerimientos, se observará que el software debe enfrentar cierto número de problemas. ➔ Por ejemplo, el modelo de requerimientos para virtualmente cualquier aplicación de comercio electrónico se enfrenta con el siguiente problema: ¿Cómo ofrecer una amplia variedad de bienes a un grupo extenso de consumidores y permitir que los adquieran en línea?
  • 19. Diseño Arquitectónico. ➔ Cuando comienza el diseño arquitectónico, el software que se va a desarrollar debe situarse en ➔ contexto, es decir, el diseño debe definir las entidades externas (otros sistemas, dispositivos, personas, etc.). ➔ Este proceso sigue en forma iterativa hasta que se obtiene una estructura arquitectónica completa.
  • 20. Representación del sistema en contexto. En el nivel de diseño arquitectónico, el arquitecto del software usa un diagrama de contexto arquitectónico (DCA) para modelar la manera en la que el software interactúa con entidades más allá de sus fronteras: 1. Sistemas superiores: aquellos que utilizan al sistema para obtener datos. 2. Sistemas subordinados: los que son usados por el sistema objetivo y proveen datos o procesamiento. 3. Sistemas entre iguales: son los que interactúan sobre una base de igualdad. 4. Actores: entidades (personas, dispositivos, etc.) que interactúan con el sistema objetivo.
  • 22. Definición de arquetipos Un arquetipo es una clase o un patrón que representa una abstracción fundamental de importancia crítica para el diseño de una arquitectura para el sistema objetivo. En general, se requiere de un conjunto relativamente pequeño de arquetipos a fin de diseñar sistemas incluso algo complejos. La arquitectura del sistema objetivo está compuesta de estos arquetipos, que representan elementos estables de la arquitectura, pero que son implementadas en muchos modos diferentes con base en el comportamiento del sistema.
  • 23. Arquitectura hacia los Componentes Conforme la arquitectura se refina hacia los componentes, comienza a emerger la estructura del sistema. Pero, ¿cómo se eligen estos componentes? Estas clases de análisis representan entidades dentro del dominio de aplicación (negocio) que deben enfrentarse dentro de la arquitectura del software. Entonces, el dominio de aplicación es una fuente para la obtención y refinamiento de los componentes. Otra fuente es el dominio de la infraestructura. La arquitectura debe albergar muchas componentes de la infraestructura que hagan posible los componentes de la aplicación, pero que no tengan conexión con el dominio de ésta.
  • 24. Descripción de las instancias del sistema El diseño arquitectónico modelado hasta este momento todavía es de nivel relativamente alto. (con pocos de detalles del sistema). Es necesario más refinamiento (recuerde que todo el diseño es iterativo). Para lograr esto, se desarrollan instancias de la arquitectura. La arquitectura se aplica a un problema específico con objeto de demostrar que tanto ella como sus componentes son apropiados.
  • 25. Resumen y Conclusiones. La arquitectura del software proporciona una visión holística del sistema que se va a construir. Ilustra la estructura y organización de los componentes del software, sus propiedades y conexiones. Los componentes del software incluyen módulos de programa y las distintas representaciones de datos que manipula éste. Por tanto, el diseño de los datos es parte integral de la generación de la arquitectura del software.
  • 26. Resumen y Conclusiones. Dentro de un género arquitectónico dado, hay varios estilos y patrones diferentes disponibles para el ingeniero de software. Cada estilo describe una categoría de sistemas que agrupa un conjunto de componentes que realizan una función requerida por el sistema; un grupo de conectores que permiten comunicación, coordinación y cooperación entre los componentes; restricciones que definen cómo pueden integrarse éstos para formar el sistema y modelos semánticos que permiten que un diseñador entienda las propiedades generales del sistema.