SlideShare a Scribd company logo
1 of 42
Fundamentos de Definición
de Arquitectura de Software
Integrantes:
Castillo Harving V-21.134.315
Garcia Ender V-16.126.317
Guzmán Mariam V-20.963.865
Muñoz Luis V-19.278.031
Rodriguez Maria V-22.114.256
Sandoval Anthony V-23.037.857
Septiembre 27 a Octubre 01 de 2005
Bogotá, Colombia
Arquitectura de Software
+ Que es una arquitectura?
+ “No estamos seguros, pero la reconocemos cuando

vemos una”
+ IEEE-1471-FAQ

2

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Arquitectura de Software
+ IEEE 1471

+ Software Architecture in

Practice - Kazman

El nivel conceptual más alto de
un sistema en su ambiente.
“La estructura de
estructuras de un sistema,
la cual abarca
+ Arquitectura es la organización
componentes de software,
fundamental de un sistema
propiedades externas
visibles de estos
descrita en:
componentes y sus
– Sus componentes.
relaciones”.
– Relación entre ellos y con el
ambiente.
– Principios que guían su diseño y
evolución.
3

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Discusión
+ Definir la arquitectura en los proyectos actuales es

crítico...

4

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Evolución de Arquitecturas
+ Dos factores primarios en la ingeniería de software

que han incrementado la importancia de la
arquitectura:

5

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Evolución de Arquitecturas
+ Aplicaciones Monolíticas

Arquitectura Cliente-Servidor

+ Interfaces gráficas de usuario (GUI).
+ Servicios de presentación, negocios

+ Clientes pesados, no estándar
+ Conexiones dedicadas a BD

y persistencia en la misma máquina.
+ No hay concurrencia de usuarios.
+ Alto acoplamiento entre tiers.

+ Protocolos pesados
+ Ejecución remota de SQLs
+ Alta administración
+ Bajo rendimiento
+ Alto tráfico de red
+ Baja accesibilidad

6

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Evolución de Arquitecturas
+ Arquitectura Cliente-Servidor

Arquitectura de 3 niveles

Mejorada
+ Reutilización de lógica de negocio para
+ Lógica de negocios en BD
+ Clientes pesados, no estándar.
+ Conexiones dedicadas a la BD.
+ Mejora en rendimiento

diferentes clientes o sistemas.
+ Mejora la escalabilidad.
+ Mejora la flexibilidad.
+ Independencia de la base de datos.

+ Alta administración
+ Baja escalabilidad
+ Baja flexibilidad
+ Baja portabilidad

7

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Evolución de Arquitecturas
+ Arquitectura de N-niveles
100.000+

+ Bajo costo de administración de clientes.
+ Alta accesibilidad.
+ Alta flexibilidad.
+ Alta disponibilidad y tolerancia a fallos.
+ Alta escalabilidad.
+ Independencia de DB

8

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Evolución de Arquitecturas
+ Visión de Arquitectura Orientada a Servicios (SOA)

+ Requerimientos

Sistema
Batch

Portal de
Servicios Integrados

Arquitectónicos
+ Heterogeneidad
+ Escalabilidad

Base de
Datos

+ Disponibilidad

Servidor de
Procesos
+ Distribución
(BPM) Aplicaciones
+ Manejabilidad de Procesos
Legadas
+ Administración y monitoreo de procesos,

servicios e infraestructura
9

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005

Cluster de
Servidores de
Aplicaciones
Que es un Arquitecto de Software?
•

Rational Unified Process

•

SUN SL-425:

Arquitecto es un rol en un proyecto de El arquitecto:
desarrollo de software el cual es
– Visualiza el comportamiento
responsable de:
del sistema.
– Crea los planos del sistema.
– Liderar el proceso de arquitectura. –
Define la forma en la cual los
– Producir los artefactos necesarios:
elementos del sistema
Documento de descripción de
trabajan en conjunto.
arquitectura
– Responsable de integrar los
– Modelos y prototipos de
requerimientos no-funcionales
arquitectura.
(NRFs) en el sistema.

10

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Discusión
+ Existe alguna diferencia entre arquitectura y diseño

de software?

11

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Arquitectura Vs. Diseño
+ La arquitectura y el diseño difieren en tres áreas:
Arquitectura

Diseño

Nivel de
Abstracción

Alto nivel

Bajo nivel. Enfoque
específico en detalles

Entregables

Planear subsistemas, interfaces
con sistemas externos,
servicios horizontales,
frameworks, componentes
reutilizables, prototipo
arquitectónico

Diseño detallado
componentes.

Selección de tecnologías,
Requerimientos no funcionales
(QoS),
Manejo de riesgos

Requerimientos
funcionales

Áreas de
Enfoque

12

Especificaciones de
codificación

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Arquitectura Vs. Diseño
+ La arquitectura envuelve un conjunto de decisiones

estratégicas de diseño, lineamientos, reglas y
patrones que restringen el diseño y la implementación
de un software.
Código
Implementación
Diseño

Las decisiones
de arquitectura
causan un alto
impacto en los
proyectos de IT

Arquitectura

13

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Discusión
+ Cuales son los principios fundamentales en los

métodos de desarrollo de software modernos?

14

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Arquitectura y Procesos de Desarrollo
Principios Fundamentales de Procesos Modernos
+ Desarrollo iterativo e incremental.
+ Conducido por las calidades sistémicas.
+ Centrado en la arquitectura.
+ Dirigido por los casos de uso.
+ Basada en Modelos.
+ Mejores prácticas de diseño.

15

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Arquitectura y Procesos de Desarrollo
+ Que es un Proceso de Arquitectura?
+ Rational Unified Process:
+ Secuencia de actividades

que conllevan a la
producción de artefactos
arquitectónicos:
– Descripción de arquitectura
– Prototipo arquitectónico

16

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Arquitectura y Procesos de Desarrollo
Rational Unified Process:

SunTone AM:

En el proceso de definición de
arquitectura se producen:

Adicionalmente se producen:
Matriz Tecnológica de Layers
y Tiers
+ Template de Arquitectura
+

Arquitectura Inicial.
+ Arquitectura de Referencia.
+ Documento de Descripción de
arquitectura (SAD):
+

–
–
–

+
17

Subsistemas
Componentes
Arquitectura Runtime.

Guías para el proyecto y
estándares de Diseño.

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Definición de Arquitectura en RUP
Fase de Inicio
+

Con respecto a la arquitectura, en la
fase de inicio de los proyectos se
establece:
Requerimientos no-funcionales
– Lista de riesgos y restricciones
– Arquitectura inicial
–

18

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Definición de Arquitectura en RUP
Fase de Elaboración
+

+

19

Con respecto a la arquitectura, en la
fase de elaboración se establece:
– Arquitectura línea base.
Entregables:
– Documento de Definición de
Arquitectura.
– Prototipo evolutivo de arquitectura.
– Guías y Estándares de Diseño.

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Definición de Arquitectura en RUP
+ Modelo de Vista 4+1
+ Framework para Descripción de Arquitectura, basado en vistas

lógicas y físicas UML y una vista funcional de casos de uso.

Logical View

Analysts/Designers
Structure

Implementation View

Programmers
Software management

End-user
Functionality

Use-Case View
Process View
System integrators
Performance
Scalability
Throughput
20

Deployment View
System engineering
System topology
Delivery, installation
communication

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Definición de Arquitectura en RUP
Definir arquitectura
candidata
Evaluar Req.
No Funcionales (NFR)
Refinar y Seleccionar
la Arquitectura
Prototipar la
Arquitectura
Valorar Calidades
Sistémicas

21

Ajustar
Arquitectura

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Definición de Arquitectura en SunTone AM
+

+

22

Metodología de desarrollo de software análoga al Unified
Process (UP) con un fuerte énfasis en Calidad de Servicio y
Patrones de diseño.
El cubo: framework conceptual, el cual provee una vista
tridimensional:
– Tiers lógicos
– Layers tecnológicos
– Calidades sistémicas

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Definición de Arquitectura en SunTone AM

23

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Definición de Arquitectura en SunTone
+ Principios Arquitectónicos
+ La arquitectura es primariamente necesaria para crear

un framework para el desarrollo basado en patrones y
para la entrega de calidades sistémicas predecibles.
Presentation
Action Factory

Business
Integration

Business

Database Integration

DAO
Factory

Business
Delegate
Action
Session Facade

Oracle DAO
Factory

Composite Entity

Front Controller
View
JSF Components

24

Service
Locator

Value
Object

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005

DAO
OracleDAO
Definición de Arquitectura en IFM
+ Principios Arquitectónicos
+ El proceso de creación de arquitectura debe ser un

proceso de creación de valor.
+ La arquitectura se descompone en elementos

arquitectónicos (AEs).
+ La arquitectura se crea incrementalmente acorde a un

proceso secuencial dirigido por el ROI.

25

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Definición de Arquitectura en IFM
+ Principios Arquitectónicos
+ La instanciación de los elementos arquitectónicos

(AEs) se realiza incrementalmente acorde a la
secuencia de MMFs, determinada por el ROI.
AE 1
AE 3
AE 7

AE 7
AE 8

AE 8

MMF A
26

AE 2
MMF B

MMF C

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ eBank Trusted Hosting
+ Workshop de Arquitectura y Diseño de Aplicaciones J2EE
+ Curso WS50I - Lucasian Labs Ltda.
+ Entidad que presta el hosting

de los servicios de banca
personal en Internet
para un grupo de bancos.

27

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ Dado un conjunto de requerimientos primarios

28

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ Identificación de requerimientos funcionales y de

calidad de servicio (QoS)

29

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ Identificación de supuestos, riesgos y restricciones

30

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ Identificación de Actores y Casos de Uso primarios

31

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ Arquitectura Lógica. Identificación de tiers lógicos,

subsistemas y paquetes

32

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ Diseño de Arquitectura Runtime. Diagrama de

Despliegue.

33

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ Plataforma Tecnológica. Definición de la matriz

tecnológica de layers y tiers

34

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Discusión
+ Los requerimientos no funcionales son fuentes

comunes de riesgo…

35

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Calidades Sistémicas
+ El manejo inadecuado de los requerimientos no

funcionales, es una de las fuentes más importante
de riesgo en los proyectos:
Reglas de negocio de alta complejidad.
– Calidades sistémicas
–

−
−
−
−
−

Seguridad
Rendimiento
Escalabilidad
Disponibilidad
Extensibilidad

+ La calidad de servicio (QoS = Quality Of Service) es

un riesgo primario relacionado con la arquitectura.
36

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Calidades Sistémicas
+ Definición
+ Propiedades que establecen la

calidad de servicio (QoS) que un
sistema expone.

+ Son globales a toda la arquitectura
+ Influencian el diseño.
+ Son no-funcionales pero

+ Familias de

Calidades
Sistémicas
+ Manifiestas
+ Operacionales
+ Desarrollo
+ Evolutivas

observables.

37

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Calidades Sistémicas Manifiestas
+ Observables por los usuarios del sistema.
+ Performance. Tiempo de respuesta desde el punto de vista del

usuario.
+ Reliability. Grado de probabilidad de realizar operaciones

correctamente.
+ Availability. Porcentaje de tiempo que un sistema puede

procesar solicitudes.

38

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Calidades Sistémicas Operacionales
Observables cuando el sistema está operando en producción.
+ Throughput. Solicitudes atendidas + Security. Prevención de uso

por unidad de tiempo.
+ Manageability. Cantidad inversa de

esfuerzo para realizar labores
administrativas.
+ Serviceability. Esfuerzo para

actualizar el sistema para reparar
errores.

39

indeseado, por abuso o uso
inapropiado:
– Identidad
– Autoridad
– Confidencialidad
– Auditabilidad
– Integridad

+ Testability. Esfuerzo

invertido para detectar y
aislar errores.

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Calidades Sistémicas - Evolutivas
+ Relacionadas con el comportamiento del sistema

cuando sufre algún cambio.

+ Escalability. La habilidad para

soportar la calidad de servicio
requerida conforme la carga aumenta.

+ Flexibility. Esfuerzo ahorrado cuando

se hace un cambio de configuración.
+ Portability. Esfuerzo ahorrado

+ Reusability. Esfuerzo ganado

en la utilización de componentes
existentes.
+ Extensibility. Esfuerzo ahorrado

para adicionar nuevas
funcionalidades.

cuando se migra a una infraestructura
+ Mantainability. Esfuerzo
diferente.
ahorrado para revisar y corregir
errores.
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005

40
Lecciones Aprendidas en
Consultoría
+ Defina una persona o un grupo de personas experimentadas,

encargadas de definir y validar arquitectura de sus proyectos.
+ Establezca los requerimientos de calidad de servicio con los

expertos del dominio y con los usuarios finales.
+ Involucre al equipo de trabajo en el proceso de definición de

arquitectura.
+ Documente y comunique la arquitectura y

lineamientos de diseño y logre aceptación.
No la imponga.
+ Sea firme con las decisiones, valore impactos

e identifique riesgos.
41

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Lecciones Aprendidas en
Consultoría
+ Valore alternativas de arquitectura y diseño tomando en cuenta las

calidades sistémicas y relación costo-beneficio.
+ Instancie los mecanismos arquitectónicos definidos incrementalmente.

No los instancie en bloque.
+ Reutilice frameworks, patrones de diseño y mejores prácticas. Sea

racional en el uso de tecnologías.
+ Tenga siempre presente que requerimientos

de seguridad, integración con sistemas
externos, canales de comunicaciones
con poco ancho de banda,
crecimiento del volumen de
usuario, expectativas de cambios de
requerimientos son fuentes comunes de riesgo.
42

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005

More Related Content

What's hot

Mapa Conceptual Ing. de Requerimientos
Mapa Conceptual Ing. de RequerimientosMapa Conceptual Ing. de Requerimientos
Mapa Conceptual Ing. de RequerimientosBervelynaily
 
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdfCICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdfDavidVeraOlivera
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven DesignAndriy Buday
 
Requerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareRequerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareKelvin Abdiel Alvarado
 
Metodologías Agentes inteligentes
Metodologías Agentes inteligentesMetodologías Agentes inteligentes
Metodologías Agentes inteligentesCarmen Rios Zapata
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwareJose Patricio Bovet Derpich
 
Iot andriod app development
Iot andriod app development Iot andriod app development
Iot andriod app development AbhinavKumarMeena
 
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
 
Arquitectura software capitulo i
Arquitectura software capitulo iArquitectura software capitulo i
Arquitectura software capitulo iCathy Guevara
 
Examen Final De Capitulos 5,6,7 De Cisco
Examen Final De Capitulos 5,6,7 De CiscoExamen Final De Capitulos 5,6,7 De Cisco
Examen Final De Capitulos 5,6,7 De CiscoCarlos Ceballos
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 
Tipos abstractos de datos
Tipos abstractos de datosTipos abstractos de datos
Tipos abstractos de datosJose Armando
 
Introducción a las Arquitecturas Orientadas a Servicios
Introducción a las Arquitecturas Orientadas a ServiciosIntroducción a las Arquitecturas Orientadas a Servicios
Introducción a las Arquitecturas Orientadas a ServiciosMarta Silvia Tabares
 

What's hot (20)

Mapa Conceptual Ing. de Requerimientos
Mapa Conceptual Ing. de RequerimientosMapa Conceptual Ing. de Requerimientos
Mapa Conceptual Ing. de Requerimientos
 
Proyecto mineria de_datos_caso_2
Proyecto mineria de_datos_caso_2Proyecto mineria de_datos_caso_2
Proyecto mineria de_datos_caso_2
 
Arquitecturas de software
Arquitecturas de softwareArquitecturas de software
Arquitecturas de software
 
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdfCICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Requerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareRequerimientos en Ingenieria de Software
Requerimientos en Ingenieria de Software
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Metodologías Agentes inteligentes
Metodologías Agentes inteligentesMetodologías Agentes inteligentes
Metodologías Agentes inteligentes
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del software
 
Iot andriod app development
Iot andriod app development Iot andriod app development
Iot andriod app development
 
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
 
Arquitectura software capitulo i
Arquitectura software capitulo iArquitectura software capitulo i
Arquitectura software capitulo i
 
Flex y Bison
Flex y BisonFlex y Bison
Flex y Bison
 
Examen Final De Capitulos 5,6,7 De Cisco
Examen Final De Capitulos 5,6,7 De CiscoExamen Final De Capitulos 5,6,7 De Cisco
Examen Final De Capitulos 5,6,7 De Cisco
 
Arquitecturas de Software
Arquitecturas de SoftwareArquitecturas de Software
Arquitecturas de Software
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Tipos abstractos de datos
Tipos abstractos de datosTipos abstractos de datos
Tipos abstractos de datos
 
Introducción a las Arquitecturas Orientadas a Servicios
Introducción a las Arquitecturas Orientadas a ServiciosIntroducción a las Arquitecturas Orientadas a Servicios
Introducción a las Arquitecturas Orientadas a Servicios
 

Viewers also liked

Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Marta Silvia Tabares
 
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 SOFTWAREjose_rob
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Marta Silvia Tabares
 
FINAL Ellen Moore Presentation PDF
FINAL Ellen Moore Presentation PDFFINAL Ellen Moore Presentation PDF
FINAL Ellen Moore Presentation PDFAnna Shapkina
 
Ingenieria del software
Ingenieria del softwareIngenieria del software
Ingenieria del softwarefeliramirez5
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Softwarefeliramirez5
 
2 3 5 Patron De DiseñO Singular (Singleton)
2 3 5 Patron De DiseñO Singular (Singleton)2 3 5 Patron De DiseñO Singular (Singleton)
2 3 5 Patron De DiseñO Singular (Singleton)UVM
 
Patrones de diseño Singleton
Patrones de diseño SingletonPatrones de diseño Singleton
Patrones de diseño SingletonCarolina Rojas
 
Introduccion a Amazon Web Services
Introduccion a Amazon Web ServicesIntroduccion a Amazon Web Services
Introduccion a Amazon Web ServicesJose Papo, MSc
 
Lecciones aprendidas en proyectos 1
Lecciones aprendidas en proyectos 1Lecciones aprendidas en proyectos 1
Lecciones aprendidas en proyectos 1Jorge Osinski
 
Arquitectura Monolítica
Arquitectura MonolíticaArquitectura Monolítica
Arquitectura Monolíticaurumisama
 
Singleton design pattern
Singleton design patternSingleton design pattern
Singleton design pattern11prasoon
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareRoger Villegas
 
Ejemplos de fundamentos de diseño
Ejemplos de fundamentos de diseñoEjemplos de fundamentos de diseño
Ejemplos de fundamentos de diseñoLYAR4
 
Software Design Document
Software Design DocumentSoftware Design Document
Software Design DocumentNadia Nahar
 
Software Architectural And Detailed Design Description Template
Software Architectural And Detailed Design Description TemplateSoftware Architectural And Detailed Design Description Template
Software Architectural And Detailed Design Description TemplateArash Sharif
 
METODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWAREMETODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWAREadark
 

Viewers also liked (20)

Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1
 
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
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2
 
FINAL Ellen Moore Presentation PDF
FINAL Ellen Moore Presentation PDFFINAL Ellen Moore Presentation PDF
FINAL Ellen Moore Presentation PDF
 
Ingenieria del software
Ingenieria del softwareIngenieria del software
Ingenieria del software
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
 
2 3 5 Patron De DiseñO Singular (Singleton)
2 3 5 Patron De DiseñO Singular (Singleton)2 3 5 Patron De DiseñO Singular (Singleton)
2 3 5 Patron De DiseñO Singular (Singleton)
 
Patrones de diseño Singleton
Patrones de diseño SingletonPatrones de diseño Singleton
Patrones de diseño Singleton
 
Singleton
SingletonSingleton
Singleton
 
Introduccion a Amazon Web Services
Introduccion a Amazon Web ServicesIntroduccion a Amazon Web Services
Introduccion a Amazon Web Services
 
Curso Cloud Computing, Parte 1: Amazon Web Services
Curso Cloud Computing, Parte 1: Amazon Web ServicesCurso Cloud Computing, Parte 1: Amazon Web Services
Curso Cloud Computing, Parte 1: Amazon Web Services
 
Lecciones aprendidas en proyectos 1
Lecciones aprendidas en proyectos 1Lecciones aprendidas en proyectos 1
Lecciones aprendidas en proyectos 1
 
Arquitectura Monolítica
Arquitectura MonolíticaArquitectura Monolítica
Arquitectura Monolítica
 
Singleton design pattern
Singleton design patternSingleton design pattern
Singleton design pattern
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de software
 
Ejemplos de fundamentos de diseño
Ejemplos de fundamentos de diseñoEjemplos de fundamentos de diseño
Ejemplos de fundamentos de diseño
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
Software Design Document
Software Design DocumentSoftware Design Document
Software Design Document
 
Software Architectural And Detailed Design Description Template
Software Architectural And Detailed Design Description TemplateSoftware Architectural And Detailed Design Description Template
Software Architectural And Detailed Design Description Template
 
METODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWAREMETODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWARE
 

Similar to Fundamentos de la arquitectura del software

Ejemplo de Archimate. Depositario Central de Valores en México
Ejemplo de Archimate. Depositario Central de Valores en MéxicoEjemplo de Archimate. Depositario Central de Valores en México
Ejemplo de Archimate. Depositario Central de Valores en MéxicoDavid Solis
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareJosé Antonio Sandoval Acosta
 
0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...
0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...
0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...GeneXus
 
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...OVERTI
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónicoDamián Rotta
 
Arquitecturas Empresariales, Soa Y Bpm 1.0
Arquitecturas Empresariales, Soa Y Bpm 1.0Arquitecturas Empresariales, Soa Y Bpm 1.0
Arquitecturas Empresariales, Soa Y Bpm 1.0Alberto Otero
 
Architect IT role Architect IT role Architect IT role
Architect IT role Architect IT role Architect IT roleArchitect IT role Architect IT role Architect IT role
Architect IT role Architect IT role Architect IT roleMiguelAngelNuezSabin1
 
Introduccion a las Arquitecturas Limpias
Introduccion a las Arquitecturas LimpiasIntroduccion a las Arquitecturas Limpias
Introduccion a las Arquitecturas Limpiassolidussnake07
 
Metodologías Agiles - APIT - UTN FRBA
Metodologías Agiles - APIT - UTN FRBAMetodologías Agiles - APIT - UTN FRBA
Metodologías Agiles - APIT - UTN FRBAGustavo Andres Brey
 
Arquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la TorreArquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la TorreDiana Pinto
 
Arquitectura evolutiva
Arquitectura evolutivaArquitectura evolutiva
Arquitectura evolutivaLuisa Emme
 
KronOps - Perfil Corporativo
KronOps - Perfil CorporativoKronOps - Perfil Corporativo
KronOps - Perfil CorporativoKronOps
 
Qué hace un arquitecto de soluciones?
Qué hace un arquitecto de soluciones?Qué hace un arquitecto de soluciones?
Qué hace un arquitecto de soluciones?Juan Pablo
 
Presentación - Modelado de Software .pdf
Presentación - Modelado de Software .pdfPresentación - Modelado de Software .pdf
Presentación - Modelado de Software .pdfMiguelACalveiro
 
Cloud computing essentials and a business perspective
Cloud computing essentials and a business perspectiveCloud computing essentials and a business perspective
Cloud computing essentials and a business perspectiveNicolás Pérez Briones
 

Similar to Fundamentos de la arquitectura del software (20)

Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Ejemplo de Archimate. Depositario Central de Valores en México
Ejemplo de Archimate. Depositario Central de Valores en MéxicoEjemplo de Archimate. Depositario Central de Valores en México
Ejemplo de Archimate. Depositario Central de Valores en México
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...
0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...
0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...
 
Arquitectura Empresarial 11.0
Arquitectura Empresarial 11.0Arquitectura Empresarial 11.0
Arquitectura Empresarial 11.0
 
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Arquitecturas Empresariales, Soa Y Bpm 1.0
Arquitecturas Empresariales, Soa Y Bpm 1.0Arquitecturas Empresariales, Soa Y Bpm 1.0
Arquitecturas Empresariales, Soa Y Bpm 1.0
 
Architect IT role Architect IT role Architect IT role
Architect IT role Architect IT role Architect IT roleArchitect IT role Architect IT role Architect IT role
Architect IT role Architect IT role Architect IT role
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Arquitectura Evolutiva
Arquitectura EvolutivaArquitectura Evolutiva
Arquitectura Evolutiva
 
CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.
 
Introduccion a las Arquitecturas Limpias
Introduccion a las Arquitecturas LimpiasIntroduccion a las Arquitecturas Limpias
Introduccion a las Arquitecturas Limpias
 
Metodologías Agiles - APIT - UTN FRBA
Metodologías Agiles - APIT - UTN FRBAMetodologías Agiles - APIT - UTN FRBA
Metodologías Agiles - APIT - UTN FRBA
 
Arquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la TorreArquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la Torre
 
Arquitectura evolutiva
Arquitectura evolutivaArquitectura evolutiva
Arquitectura evolutiva
 
KronOps - Perfil Corporativo
KronOps - Perfil CorporativoKronOps - Perfil Corporativo
KronOps - Perfil Corporativo
 
Qué hace un arquitecto de soluciones?
Qué hace un arquitecto de soluciones?Qué hace un arquitecto de soluciones?
Qué hace un arquitecto de soluciones?
 
Presentación - Modelado de Software .pdf
Presentación - Modelado de Software .pdfPresentación - Modelado de Software .pdf
Presentación - Modelado de Software .pdf
 
Cloud computing essentials and a business perspective
Cloud computing essentials and a business perspectiveCloud computing essentials and a business perspective
Cloud computing essentials and a business perspective
 

Recently uploaded

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
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
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
 
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
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 

Recently uploaded (13)

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
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
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)
 
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
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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
 
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
 
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
 
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
 
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
 
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
 
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...
 

Fundamentos de la arquitectura del software

  • 1. Fundamentos de Definición de Arquitectura de Software Integrantes: Castillo Harving V-21.134.315 Garcia Ender V-16.126.317 Guzmán Mariam V-20.963.865 Muñoz Luis V-19.278.031 Rodriguez Maria V-22.114.256 Sandoval Anthony V-23.037.857 Septiembre 27 a Octubre 01 de 2005 Bogotá, Colombia
  • 2. Arquitectura de Software + Que es una arquitectura? + “No estamos seguros, pero la reconocemos cuando vemos una” + IEEE-1471-FAQ 2 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 3. Arquitectura de Software + IEEE 1471 + Software Architecture in Practice - Kazman El nivel conceptual más alto de un sistema en su ambiente. “La estructura de estructuras de un sistema, la cual abarca + Arquitectura es la organización componentes de software, fundamental de un sistema propiedades externas visibles de estos descrita en: componentes y sus – Sus componentes. relaciones”. – Relación entre ellos y con el ambiente. – Principios que guían su diseño y evolución. 3 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 4. Discusión + Definir la arquitectura en los proyectos actuales es crítico... 4 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 5. Evolución de Arquitecturas + Dos factores primarios en la ingeniería de software que han incrementado la importancia de la arquitectura: 5 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 6. Evolución de Arquitecturas + Aplicaciones Monolíticas Arquitectura Cliente-Servidor + Interfaces gráficas de usuario (GUI). + Servicios de presentación, negocios + Clientes pesados, no estándar + Conexiones dedicadas a BD y persistencia en la misma máquina. + No hay concurrencia de usuarios. + Alto acoplamiento entre tiers. + Protocolos pesados + Ejecución remota de SQLs + Alta administración + Bajo rendimiento + Alto tráfico de red + Baja accesibilidad 6 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 7. Evolución de Arquitecturas + Arquitectura Cliente-Servidor Arquitectura de 3 niveles Mejorada + Reutilización de lógica de negocio para + Lógica de negocios en BD + Clientes pesados, no estándar. + Conexiones dedicadas a la BD. + Mejora en rendimiento diferentes clientes o sistemas. + Mejora la escalabilidad. + Mejora la flexibilidad. + Independencia de la base de datos. + Alta administración + Baja escalabilidad + Baja flexibilidad + Baja portabilidad 7 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 8. Evolución de Arquitecturas + Arquitectura de N-niveles 100.000+ + Bajo costo de administración de clientes. + Alta accesibilidad. + Alta flexibilidad. + Alta disponibilidad y tolerancia a fallos. + Alta escalabilidad. + Independencia de DB 8 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 9. Evolución de Arquitecturas + Visión de Arquitectura Orientada a Servicios (SOA) + Requerimientos Sistema Batch Portal de Servicios Integrados Arquitectónicos + Heterogeneidad + Escalabilidad Base de Datos + Disponibilidad Servidor de Procesos + Distribución (BPM) Aplicaciones + Manejabilidad de Procesos Legadas + Administración y monitoreo de procesos, servicios e infraestructura 9 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005 Cluster de Servidores de Aplicaciones
  • 10. Que es un Arquitecto de Software? • Rational Unified Process • SUN SL-425: Arquitecto es un rol en un proyecto de El arquitecto: desarrollo de software el cual es – Visualiza el comportamiento responsable de: del sistema. – Crea los planos del sistema. – Liderar el proceso de arquitectura. – Define la forma en la cual los – Producir los artefactos necesarios: elementos del sistema Documento de descripción de trabajan en conjunto. arquitectura – Responsable de integrar los – Modelos y prototipos de requerimientos no-funcionales arquitectura. (NRFs) en el sistema. 10 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 11. Discusión + Existe alguna diferencia entre arquitectura y diseño de software? 11 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 12. Arquitectura Vs. Diseño + La arquitectura y el diseño difieren en tres áreas: Arquitectura Diseño Nivel de Abstracción Alto nivel Bajo nivel. Enfoque específico en detalles Entregables Planear subsistemas, interfaces con sistemas externos, servicios horizontales, frameworks, componentes reutilizables, prototipo arquitectónico Diseño detallado componentes. Selección de tecnologías, Requerimientos no funcionales (QoS), Manejo de riesgos Requerimientos funcionales Áreas de Enfoque 12 Especificaciones de codificación XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 13. Arquitectura Vs. Diseño + La arquitectura envuelve un conjunto de decisiones estratégicas de diseño, lineamientos, reglas y patrones que restringen el diseño y la implementación de un software. Código Implementación Diseño Las decisiones de arquitectura causan un alto impacto en los proyectos de IT Arquitectura 13 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 14. Discusión + Cuales son los principios fundamentales en los métodos de desarrollo de software modernos? 14 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 15. Arquitectura y Procesos de Desarrollo Principios Fundamentales de Procesos Modernos + Desarrollo iterativo e incremental. + Conducido por las calidades sistémicas. + Centrado en la arquitectura. + Dirigido por los casos de uso. + Basada en Modelos. + Mejores prácticas de diseño. 15 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 16. Arquitectura y Procesos de Desarrollo + Que es un Proceso de Arquitectura? + Rational Unified Process: + Secuencia de actividades que conllevan a la producción de artefactos arquitectónicos: – Descripción de arquitectura – Prototipo arquitectónico 16 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 17. Arquitectura y Procesos de Desarrollo Rational Unified Process: SunTone AM: En el proceso de definición de arquitectura se producen: Adicionalmente se producen: Matriz Tecnológica de Layers y Tiers + Template de Arquitectura + Arquitectura Inicial. + Arquitectura de Referencia. + Documento de Descripción de arquitectura (SAD): + – – – + 17 Subsistemas Componentes Arquitectura Runtime. Guías para el proyecto y estándares de Diseño. XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 18. Definición de Arquitectura en RUP Fase de Inicio + Con respecto a la arquitectura, en la fase de inicio de los proyectos se establece: Requerimientos no-funcionales – Lista de riesgos y restricciones – Arquitectura inicial – 18 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 19. Definición de Arquitectura en RUP Fase de Elaboración + + 19 Con respecto a la arquitectura, en la fase de elaboración se establece: – Arquitectura línea base. Entregables: – Documento de Definición de Arquitectura. – Prototipo evolutivo de arquitectura. – Guías y Estándares de Diseño. XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 20. Definición de Arquitectura en RUP + Modelo de Vista 4+1 + Framework para Descripción de Arquitectura, basado en vistas lógicas y físicas UML y una vista funcional de casos de uso. Logical View Analysts/Designers Structure Implementation View Programmers Software management End-user Functionality Use-Case View Process View System integrators Performance Scalability Throughput 20 Deployment View System engineering System topology Delivery, installation communication XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 21. Definición de Arquitectura en RUP Definir arquitectura candidata Evaluar Req. No Funcionales (NFR) Refinar y Seleccionar la Arquitectura Prototipar la Arquitectura Valorar Calidades Sistémicas 21 Ajustar Arquitectura XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 22. Definición de Arquitectura en SunTone AM + + 22 Metodología de desarrollo de software análoga al Unified Process (UP) con un fuerte énfasis en Calidad de Servicio y Patrones de diseño. El cubo: framework conceptual, el cual provee una vista tridimensional: – Tiers lógicos – Layers tecnológicos – Calidades sistémicas XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 23. Definición de Arquitectura en SunTone AM 23 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 24. Definición de Arquitectura en SunTone + Principios Arquitectónicos + La arquitectura es primariamente necesaria para crear un framework para el desarrollo basado en patrones y para la entrega de calidades sistémicas predecibles. Presentation Action Factory Business Integration Business Database Integration DAO Factory Business Delegate Action Session Facade Oracle DAO Factory Composite Entity Front Controller View JSF Components 24 Service Locator Value Object XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005 DAO OracleDAO
  • 25. Definición de Arquitectura en IFM + Principios Arquitectónicos + El proceso de creación de arquitectura debe ser un proceso de creación de valor. + La arquitectura se descompone en elementos arquitectónicos (AEs). + La arquitectura se crea incrementalmente acorde a un proceso secuencial dirigido por el ROI. 25 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 26. Definición de Arquitectura en IFM + Principios Arquitectónicos + La instanciación de los elementos arquitectónicos (AEs) se realiza incrementalmente acorde a la secuencia de MMFs, determinada por el ROI. AE 1 AE 3 AE 7 AE 7 AE 8 AE 8 MMF A 26 AE 2 MMF B MMF C XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 27. Ejemplo de Definición de Arquitectura + eBank Trusted Hosting + Workshop de Arquitectura y Diseño de Aplicaciones J2EE + Curso WS50I - Lucasian Labs Ltda. + Entidad que presta el hosting de los servicios de banca personal en Internet para un grupo de bancos. 27 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 28. Ejemplo de Definición de Arquitectura + Dado un conjunto de requerimientos primarios 28 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 29. Ejemplo de Definición de Arquitectura + Identificación de requerimientos funcionales y de calidad de servicio (QoS) 29 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 30. Ejemplo de Definición de Arquitectura + Identificación de supuestos, riesgos y restricciones 30 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 31. Ejemplo de Definición de Arquitectura + Identificación de Actores y Casos de Uso primarios 31 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 32. Ejemplo de Definición de Arquitectura + Arquitectura Lógica. Identificación de tiers lógicos, subsistemas y paquetes 32 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 33. Ejemplo de Definición de Arquitectura + Diseño de Arquitectura Runtime. Diagrama de Despliegue. 33 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 34. Ejemplo de Definición de Arquitectura + Plataforma Tecnológica. Definición de la matriz tecnológica de layers y tiers 34 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 35. Discusión + Los requerimientos no funcionales son fuentes comunes de riesgo… 35 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 36. Calidades Sistémicas + El manejo inadecuado de los requerimientos no funcionales, es una de las fuentes más importante de riesgo en los proyectos: Reglas de negocio de alta complejidad. – Calidades sistémicas – − − − − − Seguridad Rendimiento Escalabilidad Disponibilidad Extensibilidad + La calidad de servicio (QoS = Quality Of Service) es un riesgo primario relacionado con la arquitectura. 36 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 37. Calidades Sistémicas + Definición + Propiedades que establecen la calidad de servicio (QoS) que un sistema expone. + Son globales a toda la arquitectura + Influencian el diseño. + Son no-funcionales pero + Familias de Calidades Sistémicas + Manifiestas + Operacionales + Desarrollo + Evolutivas observables. 37 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 38. Calidades Sistémicas Manifiestas + Observables por los usuarios del sistema. + Performance. Tiempo de respuesta desde el punto de vista del usuario. + Reliability. Grado de probabilidad de realizar operaciones correctamente. + Availability. Porcentaje de tiempo que un sistema puede procesar solicitudes. 38 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 39. Calidades Sistémicas Operacionales Observables cuando el sistema está operando en producción. + Throughput. Solicitudes atendidas + Security. Prevención de uso por unidad de tiempo. + Manageability. Cantidad inversa de esfuerzo para realizar labores administrativas. + Serviceability. Esfuerzo para actualizar el sistema para reparar errores. 39 indeseado, por abuso o uso inapropiado: – Identidad – Autoridad – Confidencialidad – Auditabilidad – Integridad + Testability. Esfuerzo invertido para detectar y aislar errores. XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 40. Calidades Sistémicas - Evolutivas + Relacionadas con el comportamiento del sistema cuando sufre algún cambio. + Escalability. La habilidad para soportar la calidad de servicio requerida conforme la carga aumenta. + Flexibility. Esfuerzo ahorrado cuando se hace un cambio de configuración. + Portability. Esfuerzo ahorrado + Reusability. Esfuerzo ganado en la utilización de componentes existentes. + Extensibility. Esfuerzo ahorrado para adicionar nuevas funcionalidades. cuando se migra a una infraestructura + Mantainability. Esfuerzo diferente. ahorrado para revisar y corregir errores. XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005 40
  • 41. Lecciones Aprendidas en Consultoría + Defina una persona o un grupo de personas experimentadas, encargadas de definir y validar arquitectura de sus proyectos. + Establezca los requerimientos de calidad de servicio con los expertos del dominio y con los usuarios finales. + Involucre al equipo de trabajo en el proceso de definición de arquitectura. + Documente y comunique la arquitectura y lineamientos de diseño y logre aceptación. No la imponga. + Sea firme con las decisiones, valore impactos e identifique riesgos. 41 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 42. Lecciones Aprendidas en Consultoría + Valore alternativas de arquitectura y diseño tomando en cuenta las calidades sistémicas y relación costo-beneficio. + Instancie los mecanismos arquitectónicos definidos incrementalmente. No los instancie en bloque. + Reutilice frameworks, patrones de diseño y mejores prácticas. Sea racional en el uso de tecnologías. + Tenga siempre presente que requerimientos de seguridad, integración con sistemas externos, canales de comunicaciones con poco ancho de banda, crecimiento del volumen de usuario, expectativas de cambios de requerimientos son fuentes comunes de riesgo. 42 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005