Está en la página 1de 55

Arquitectura de Software

German Alonso Suárez Guerrero


Nivelatorio AES
Retos de las aplicaciones
empresariales
• Incremento de la productividad
del desarrollo
• Responder al incremento de la
demanda
• Mantener el valor de los
sistemas de información
existentes
• Mantener la seguridad de los
sistemas
Arquitectura de Software

Architecture is defined by the


recommended practice as the
fundamental organization of a system,
embodied in its components, their
relationships to each other and the
environment, and the principles
governing its design and evolution.
[ANSI/IEEE Std 1471-2000 ]
Arquitectura de Software

The software architecture of a program


or computing system is the structure or
structures of the system, which comprise
software elements, the externally visible
properties of those elements, and the
relationships among them.
[L.Bass, P.Clements, R.Kazman, Software
Architecture in Practice (2nd edition),
Addison-Wesley 2003]
Arquitectura de Software
[Software architecture goes] beyond the algorithms and data structures of the computation;
designing and specifying the overall system structure emerges as a new kind of problem.
Structural issues include gross organization and global control structure; protocols for
communication, synchronization, and data access; assignment of functionality to design
elements; physical distribution; composition of design elements; scaling and performance;
and selection among design alternatives.
[D. Garlan, M. Shaw, An Introduction to Software Architecture, Advances in Software
Engineering and Knowledge Engineering, Volume I, World Scientific, 1993]
Define la estructura de un
sistema
Define la estructura de un
sistema
Define la comunicación entre
componentes
La arquitectura trata los
requerimientos no fucionales
• Restricciones técnicas
• Restricciones de negocio
• Atributos de calidad
Arquitectura como una
abstracción
Justificando la necesidad de
arquitactura de software
Justificando la necesidad de arquitactura de
software
Justificando la necesidad de
arquitactura de software
Arquitectura como un factor
para minimizar riesgos
Objetivos de la arquitectura
Rol del arquitecto
Rol del arquitecto

• Enlace entre diferentes


stekeholders
• Ingeniero de Software
• Conocedor de tecnologia
• Administrador de riesgos
Tareas del arquitecto
Responsabilidades del
arquitecto
Responsabilidades del
arquitecto
El arquitecto y su realación con
otros miembros
Arquitectura vs Diseño
Arquitectura vs Diseño
Principios de Arquitectura
Entregables típicos del
arquitecto
Vistas de Arquitectura
Vistas de Arquitectura
Vistas de Arquitectura – Casos
de Uso
Vistas de Arquitectura – Casos
de Uso
Vistas de Arquitectura – Vista
Lógica
Vistas de Arquitectura – Vista
Lógica
Vistas de Arquitectura – Vista de
Implementación
Vistas de Arquitectura –
Diagramas de Proceso
Vistas de Arquitectura –
Diagramas de Proceso
Vistas de Arquitectura – Diagramas de
Proceso
Vistas de Arquitectura –
Diagramas de Proceso
Vistas de Arquitectura – Vista de
despliegue
Prototipo de arquitectura
Flujo de trabajo para elaborar
la arquitectura
Seleccionar el tipo de
arquitectura
Tipos de arquitecturas de
software
Aplicaciones standalone
Cliente-Servidor
Aplicaciones N-Tier
Aplicaciones N-Tier Web
Aplicaciones N-Tier
Empresariales
Arquitecturas y tecnologías
Títulos de arquitectos
• Chief Architect: Typically a senior position who manages a team of architects within an organization. Operates at a
broad, often organizational level, and coordinates efforts across system, applications, and product lines. Very experi-
enced, with a rare combination of deep technical and business knowledge.
• Product/Technical/Solution Architect: Typically someone who has progressed through the technical ranks and
oversees the architectural design for a specific system or application. They have a deep knowledge of how some
important piece of software really works.
• Enterprise Architect: Typically a much less technical, more business-focus role. Enterprise architects use various
business methods and tools to understand, document, and plan the structure of the major systems in an enterprise.
Tecnologias de Middleware
Objetos Distribuidos
Message-Oriented Middleware
Message-Oriented Middleware
Message-Oriented Middleware
Servidores de Aplicaciones
Arquitectura orientada a
servicios

También podría gustarte