SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
Arquitectura de Software
Antes…
• Qué haría usted si en una definición de la IEEE
encuentra algo como esto:
• “Arquitectura: No estamos
seguros, pero la reconocemos
cuando vemos una”
• IEEE-1471-FAQ
• Introducción
• Definición de Arquitectura de Software
• SW Architecture desde el RUP
• SW Architecture desde un enfoque netamente SW
Architect
• Funcionalidad
• Atributos de calidad
• Patrones y arquitecturas de referencia
• Cómo empezar en SW Architecture?
• La estrategia Bass-Clements-Kazman
Bibliografía
• http://www.sei.cmu.edu/architecture/
• http://msdn.microsoft.com/en-
us/library/ff650706.aspx
• http://www.softwarearchitectures.com
• http://www.iasaglobal.org/iasa/default.asp
• Software Architecture in Practice, Second Edition
By Len Bass, Paul Clements, Rick Kazman
• y muchas otras fuentes…
• “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.”
SEI – Carnegie Mellon (Bass, Clements, Kazman. Software
Architecture In Practice 2nd Edition)
• “La Arquitectura de Software es la organización
fundamental de un sistema encarnada en sus
componentes, las relaciones entre ellos y el ambiente y
los principios que orientan su diseño y evolución.”
IEEE 1471-2000
Definición
• The software architecture discipline is centered on the
idea of reducing complexity through abstraction and
separation of concerns. As a maturing discipline with
no clear rules on the right way to architect it is still a
composition of art and science.
• An architect must use judgment to decide on the
level of detail that must be exposed or hidden in
order to explain to various audiences how a system
will address key business drivers.
Definición (Softwarerachitects.com)
• Vista estructural de alto nivel.
• Combinación de estilos para una solución.
• Esencial para el éxito o el fracaso.
• Quien busca el logro de los requisitos no
funcionales.
• Una disciplina que provee un plan de diseño de un
sistema
• Implica un propósito.
• Una abstracción que ayuda en la gestión de la
complejidad de un sistema.
Sintetizando, la Arquitectura es (Lozano, 2009)
• Software Architecture is “concerned with issues ...
Beyond the algorithms and data structures of the
computation.” [Garlan y Shaw]
• “Architecture is concerned with the selection of
architectural elements, their interaction, and the
constraints on those elements and their interactions
Design is concerned with the modularization and
detailed interfaces of the design elements, their
algorithms and procedures, and the data types needed
to support the architecture and to satisfy the
requirements.” [Perry y Wolf]
Arquitectura vs Diseño
• Software Architecture is “concerned with issues ...
Beyond the algorithms and data structures of the
computation.” [Garlan y Shaw]
• “Architecture is concerned with the selection of
architectural elements, their interaction, and the
constraints on those elements and their interactions
Design is concerned with the modularization and
detailed interfaces of the design elements, their
algorithms and procedures, and the data types needed
to support the architecture and to satisfy the
requirements.” [Perry y Wolf]
Arquitectura vs Diseño
Fuente: IBM Mastering OOAD w/ UML 2.0
Arquitectura vs Diseño según RUP
Fuente: IBM Mastering OOAD w/ UML 2.0
Arquitectura vs Diseño según RUP
Fuente: IBM Mastering OOAD w/ UML 2.0
Arquitectura vs Diseño según RUP
Fuente: Lozano 2009
Entonces
Análisis de
Requerimientos
Diseño de
Software
Arquitectura
de
Software
• Igual en la academia que en la industria.
• Madura.
• DISEÑO CON UML.
• Natural en el desarrollo basado en Componentes.
• Algo vinculado con RUP o metodología.
• Algo vinculado con la orientación a objetos.
Arquitectura NO es (Lozano, 2009)
• Software Architecture
• Enterprise Architecture
• Infrastructure Architecture
• Information Architecture
• Business Architecture
Fuente: http://www.iasaglobal.org
Tipos de Arquitecturas acorde con IASA: the
Global IT Architect Association
• The software architecture of a system is the set of
structures needed to reason about the system,
which comprise software elements, relations among
them, and properties of both.
• The term also refers to documentation of a system's
software architecture. Documenting software
architecture facilitates communication between
stakeholders, documents early decisions about high-
level design, and allows reuse of design components
and patterns between projects.
Software Architecture
• Communication among stakeholders. Software
architecture represents a common abstraction of a
system that most if not all of the system's stakeholders
can use as a basis for mutual understanding,
negotiation, consensus, and communication.
ARCHITECTURE IS THE VEHICLE FOR
STAKEHOLDER COMMUNICATION
Why Is Software Architecture Important? (I)
(Bass, Clements and Kazman)
• Early design decisions. Software architecture
manifests the earliest design decisions about a system,
and these early bindings carry weight far out of
proportion to their individual gravity with respect to the
system's remaining development, its deployment, and its
maintenance life. It is also the earliest point at which
design decisions governing the system to be built can be
analyzed.
Why Is Software Architecture Important? (II)
(Bass, Clements and Kazman)
• Transferable abstraction of a system. Software
architecture constitutes a relatively small, intellectually
graspable model for how a system is structured and how
its elements work together, and this model is transferable
across systems. In particular, it can be applied to other
systems exhibiting similar quality attribute and functional
requirements and can promote large-scale re-use.
Why Is Software Architecture Important? (III)
(Bass, Clements and Kazman)
• An enterprise architecture (EA) is a rigorous description of
the structure of an enterprise, which comprise enterprise
components (business entities), the externally visible
properties of those components, and the relationships (e.g.
the behavior) between them.
• EA describes the terminology, the composition of
enterprise components, and their relationships with the
external environment, and the guiding principles for the
requirement, design, and evolution of an enterprise.
• This description is comprehensive, including enterprise goals,
business process, roles, organizational structures,
organizational behaviors, business information, software
applications and computer systems.
Enterprise Architecture
Ejemplo Arquitectura Empresarial
Fuente: http://sunilduttjha.files.wordpress.com/2012/02/16_changes.gif
• A business architecture is a part of an enterprise
architecture related to architectural
organization of business, and the documents
and diagrams that describe that architectural
organization. People who help build business
architecture are known as Business Architects
Business Architecture
• It describes the structure and behavior of the technology
infrastructure of an enterprise, solution or system.
• It covers the client and server nodes of the hardware
configuration, the infrastructure applications that run on them,
the infrastructure services they offer to applications, the
protocols and networks that connect applications and nodes.
It addresses issues such as performance and resilience,
storage and backup.
Infrastructure Architecture
• Information architecture (IA) is the art of expressing a model or
concept of information used in activities that require explicit
details of complex systems.
• Among these activities are library systems, Content Management
Systems, web development, user interactions, database
development, programming, technical writing, enterprise
architecture, and critical system software design.
• Information architecture has somewhat different meanings in these
different branches of IS or IT architecture. Most definitions have
common qualities: a structural design of shared environments,
methods of organizing and labeling websites, intranets, and online
communities, and ways of bringing the principles of design and
architecture to the digital landscape.
Information Architecture
• http://prezi.com/aafmvya6bk7t/understanding-
information-architecture/
• Resumen por Peter Morville.
Information Architecture
Otras consideraciones
(Bass, Clements, Kazman)
Architecture Patterns
Buschman et al, Pattern-Oriented Software Architecture
- A System of Patterns
• Layers
• Model-view-controller (MVC)
• Pipes and Filters
• Blackboards
• C/S
Fuente: IBM Mastering OOAD w/ UML 2.0
Antes de arrancar
Cómo arranco con Arquitectura de SW?
Arquitectura de Software acorde con RUP
Enfoque SW Architecture Pura
(Bass, Clements, Kazman)
What is functionality?
• It is the ability of the system to do the work for which
it was intended.
• Functionality may be achieved through the use of
any of a number of possible structures
• Functionality is largely independent of structure
Enfoque SW Architecture Pura
(Bass, Clements, Kazman)
Quality Attributes (three classes:)
• Qualities of the system. We will focus on
availability, modifiability, performance, security,
testability, and usability.
• Business qualities (such as time to market) that are
affected by the architecture.
• Qualities, such as conceptual integrity, that are
about the architecture itself although they indirectly
affect other qualities, such as modifiability.
Enfoque SW Architecture Pura
(Bass, Clements, Kazman)
Quality Attributes?
• Architecture is critical to the realization of many qualities of
interest in a system, and these qualities should be designed in
and can be evaluated at the architectural level.
• Architecture, by itself, is unable to achieve qualities. It
provides the foundation for achieving quality, but this foundation
will be to no avail if attention is not paid to the details.
• Within complex systems, quality attributes can never be achieved
in isolation. The achievement of any one will have an effect,
sometimes positive and sometimes negative, on the
achievement of others. For example, security and reliability
often exist in a state of mutual tension
Estrategia para arrancar de acuerdo con
(Bass, Clements, Kazman, 2012)
• Chapter 4: Understanding Quality Attributes
• Quality Attribute Requirements
• Tactics
• Chapter 5-12: Quality Attributes
• Chapter 13: Patterns and Tactics
• Chapter 26: Architectures for the Cloud
• http://www.slideshare.net/rickkazman

Mais conteúdo relacionado

Mais procurados

Loyd Baker: MBSE - connecting the dots process with loyd baker
Loyd Baker: MBSE - connecting the dots process with loyd bakerLoyd Baker: MBSE - connecting the dots process with loyd baker
Loyd Baker: MBSE - connecting the dots process with loyd bakerEnergyTech2015
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)Arun Shukla
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringMeghaj Mallick
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)Animesh Chaturvedi
 
Importance of software architecture 1
Importance of software architecture 1Importance of software architecture 1
Importance of software architecture 1Dr Reeja S R
 
Systematic Architecture Design
Systematic Architecture DesignSystematic Architecture Design
Systematic Architecture DesignGESSI UPC
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patternsHimanshu
 
System engineering
System engineeringSystem engineering
System engineeringLisa Elisa
 

Mais procurados (10)

Loyd Baker: MBSE - connecting the dots process with loyd baker
Loyd Baker: MBSE - connecting the dots process with loyd bakerLoyd Baker: MBSE - connecting the dots process with loyd baker
Loyd Baker: MBSE - connecting the dots process with loyd baker
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
Importance of software architecture 1
Importance of software architecture 1Importance of software architecture 1
Importance of software architecture 1
 
Systematic Architecture Design
Systematic Architecture DesignSystematic Architecture Design
Systematic Architecture Design
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
L23 Summary and Conclusions
L23 Summary and ConclusionsL23 Summary and Conclusions
L23 Summary and Conclusions
 
System design
System designSystem design
System design
 
System engineering
System engineeringSystem engineering
System engineering
 

Destaque

software metrics (in spanish)
software metrics (in spanish)software metrics (in spanish)
software metrics (in spanish)Fáber D. Giraldo
 
Examples of smart_objective_attributes
Examples of smart_objective_attributesExamples of smart_objective_attributes
Examples of smart_objective_attributeshenry KKK
 
Software configuration management in deep
Software configuration management in deepSoftware configuration management in deep
Software configuration management in deepFáber D. Giraldo
 
ISO 29119 and Software Testing - now what??
ISO 29119 and Software Testing - now what??ISO 29119 and Software Testing - now what??
ISO 29119 and Software Testing - now what??Fáber D. Giraldo
 
Preliminary Scope Statement New
Preliminary Scope Statement NewPreliminary Scope Statement New
Preliminary Scope Statement NewMelanieRos
 
Project scope statement template v2.3
Project scope statement template v2.3Project scope statement template v2.3
Project scope statement template v2.3Aditya Pandey
 
software estimation (in spanish)
software estimation (in spanish)software estimation (in spanish)
software estimation (in spanish)Fáber D. Giraldo
 

Destaque (11)

software metrics (in spanish)
software metrics (in spanish)software metrics (in spanish)
software metrics (in spanish)
 
CMMI
CMMICMMI
CMMI
 
Introduction to MDE
Introduction to MDEIntroduction to MDE
Introduction to MDE
 
Implementation Model
Implementation ModelImplementation Model
Implementation Model
 
I software quality
I   software qualityI   software quality
I software quality
 
Examples of smart_objective_attributes
Examples of smart_objective_attributesExamples of smart_objective_attributes
Examples of smart_objective_attributes
 
Software configuration management in deep
Software configuration management in deepSoftware configuration management in deep
Software configuration management in deep
 
ISO 29119 and Software Testing - now what??
ISO 29119 and Software Testing - now what??ISO 29119 and Software Testing - now what??
ISO 29119 and Software Testing - now what??
 
Preliminary Scope Statement New
Preliminary Scope Statement NewPreliminary Scope Statement New
Preliminary Scope Statement New
 
Project scope statement template v2.3
Project scope statement template v2.3Project scope statement template v2.3
Project scope statement template v2.3
 
software estimation (in spanish)
software estimation (in spanish)software estimation (in spanish)
software estimation (in spanish)
 

Semelhante a Lab Software Architecture (in spanish)

Chapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptChapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptRushikeshChikane1
 
Chapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptChapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptRushikeshChikane2
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
 
Architecture Design
Architecture DesignArchitecture Design
Architecture DesignSaqib Raza
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplifiedPrasad Chitta
 
An Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed DesignAn Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed DesignBlue Elephant Consulting
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptxtaxegap762
 
Technical Architecture
Technical ArchitectureTechnical Architecture
Technical Architecturescmiyer
 
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.pptChapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.pptBule Hora University
 
Design Decisions For Understanding Software Architecture
Design Decisions For Understanding Software ArchitectureDesign Decisions For Understanding Software Architecture
Design Decisions For Understanding Software ArchitectureTiffany Graham
 
Software Architecture
Software Architecture Software Architecture
Software Architecture ssuser9d62d6
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureVikas Dhyani
 
chapter-1 Software Design.pptx
chapter-1 Software Design.pptxchapter-1 Software Design.pptx
chapter-1 Software Design.pptxharoon451422
 
Week-2_LectureA1_701.pdf
Week-2_LectureA1_701.pdfWeek-2_LectureA1_701.pdf
Week-2_LectureA1_701.pdfssuserc3fe80
 

Semelhante a Lab Software Architecture (in spanish) (20)

Chapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptChapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.ppt
 
Chapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.pptChapter 2_Software Architecture.ppt
Chapter 2_Software Architecture.ppt
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
Architecture Design
Architecture DesignArchitecture Design
Architecture Design
 
Sda 1
Sda   1Sda   1
Sda 1
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplified
 
An Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed DesignAn Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed Design
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
Jacques Van Niekerk Workshop on IWMC 2015
Jacques Van Niekerk Workshop on IWMC 2015Jacques Van Niekerk Workshop on IWMC 2015
Jacques Van Niekerk Workshop on IWMC 2015
 
Ch01
Ch01Ch01
Ch01
 
Technical Architecture
Technical ArchitectureTechnical Architecture
Technical Architecture
 
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.pptChapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
 
What is Software Architecture?
What is Software Architecture?What is Software Architecture?
What is Software Architecture?
 
Design Decisions For Understanding Software Architecture
Design Decisions For Understanding Software ArchitectureDesign Decisions For Understanding Software Architecture
Design Decisions For Understanding Software Architecture
 
Software Architecture
Software Architecture Software Architecture
Software Architecture
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Architectural design
Architectural designArchitectural design
Architectural design
 
chapter-1 Software Design.pptx
chapter-1 Software Design.pptxchapter-1 Software Design.pptx
chapter-1 Software Design.pptx
 
Week-2_LectureA1_701.pdf
Week-2_LectureA1_701.pdfWeek-2_LectureA1_701.pdf
Week-2_LectureA1_701.pdf
 
SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
 

Mais de Fáber D. Giraldo

Applying a software TeleCare prototype in a real residences for older people ...
Applying a software TeleCare prototype in a real residences for older people ...Applying a software TeleCare prototype in a real residences for older people ...
Applying a software TeleCare prototype in a real residences for older people ...Fáber D. Giraldo
 
Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...Fáber D. Giraldo
 
Teamwork in Software Engineering Projects
Teamwork in Software Engineering ProjectsTeamwork in Software Engineering Projects
Teamwork in Software Engineering ProjectsFáber D. Giraldo
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...Fáber D. Giraldo
 
Introduction to Software Process
Introduction to Software ProcessIntroduction to Software Process
Introduction to Software ProcessFáber D. Giraldo
 
Workflows adaptations for security management through MDD and Aspects
Workflows adaptations for security management through MDD and Aspects Workflows adaptations for security management through MDD and Aspects
Workflows adaptations for security management through MDD and Aspects Fáber D. Giraldo
 
Continuous Integration Introduction
Continuous Integration IntroductionContinuous Integration Introduction
Continuous Integration IntroductionFáber D. Giraldo
 
software configuration management
software configuration managementsoftware configuration management
software configuration managementFáber D. Giraldo
 

Mais de Fáber D. Giraldo (16)

Applying a software TeleCare prototype in a real residences for older people ...
Applying a software TeleCare prototype in a real residences for older people ...Applying a software TeleCare prototype in a real residences for older people ...
Applying a software TeleCare prototype in a real residences for older people ...
 
Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...
 
Teamwork in Software Engineering Projects
Teamwork in Software Engineering ProjectsTeamwork in Software Engineering Projects
Teamwork in Software Engineering Projects
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
 
SEMAT
SEMATSEMAT
SEMAT
 
The SEI Approach
The SEI ApproachThe SEI Approach
The SEI Approach
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
 
Introduction to RUP & SPEM
Introduction to RUP & SPEMIntroduction to RUP & SPEM
Introduction to RUP & SPEM
 
Introduction to Software Process
Introduction to Software ProcessIntroduction to Software Process
Introduction to Software Process
 
Code Inspection
Code InspectionCode Inspection
Code Inspection
 
Workflows adaptations for security management through MDD and Aspects
Workflows adaptations for security management through MDD and Aspects Workflows adaptations for security management through MDD and Aspects
Workflows adaptations for security management through MDD and Aspects
 
Continuous Integration Introduction
Continuous Integration IntroductionContinuous Integration Introduction
Continuous Integration Introduction
 
Patterns Overview
Patterns OverviewPatterns Overview
Patterns Overview
 
L software testing
L   software testingL   software testing
L software testing
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
 

Último

ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 

Último (20)

ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 

Lab Software Architecture (in spanish)

  • 2. Antes… • Qué haría usted si en una definición de la IEEE encuentra algo como esto: • “Arquitectura: No estamos seguros, pero la reconocemos cuando vemos una” • IEEE-1471-FAQ
  • 3. • Introducción • Definición de Arquitectura de Software • SW Architecture desde el RUP • SW Architecture desde un enfoque netamente SW Architect • Funcionalidad • Atributos de calidad • Patrones y arquitecturas de referencia • Cómo empezar en SW Architecture? • La estrategia Bass-Clements-Kazman
  • 4. Bibliografía • http://www.sei.cmu.edu/architecture/ • http://msdn.microsoft.com/en- us/library/ff650706.aspx • http://www.softwarearchitectures.com • http://www.iasaglobal.org/iasa/default.asp • Software Architecture in Practice, Second Edition By Len Bass, Paul Clements, Rick Kazman • y muchas otras fuentes…
  • 5. • “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.” SEI – Carnegie Mellon (Bass, Clements, Kazman. Software Architecture In Practice 2nd Edition) • “La Arquitectura de Software es la organización fundamental de un sistema encarnada en sus componentes, las relaciones entre ellos y el ambiente y los principios que orientan su diseño y evolución.” IEEE 1471-2000 Definición
  • 6. • The software architecture discipline is centered on the idea of reducing complexity through abstraction and separation of concerns. As a maturing discipline with no clear rules on the right way to architect it is still a composition of art and science. • An architect must use judgment to decide on the level of detail that must be exposed or hidden in order to explain to various audiences how a system will address key business drivers. Definición (Softwarerachitects.com)
  • 7. • Vista estructural de alto nivel. • Combinación de estilos para una solución. • Esencial para el éxito o el fracaso. • Quien busca el logro de los requisitos no funcionales. • Una disciplina que provee un plan de diseño de un sistema • Implica un propósito. • Una abstracción que ayuda en la gestión de la complejidad de un sistema. Sintetizando, la Arquitectura es (Lozano, 2009)
  • 8. • Software Architecture is “concerned with issues ... Beyond the algorithms and data structures of the computation.” [Garlan y Shaw] • “Architecture is concerned with the selection of architectural elements, their interaction, and the constraints on those elements and their interactions Design is concerned with the modularization and detailed interfaces of the design elements, their algorithms and procedures, and the data types needed to support the architecture and to satisfy the requirements.” [Perry y Wolf] Arquitectura vs Diseño
  • 9. • Software Architecture is “concerned with issues ... Beyond the algorithms and data structures of the computation.” [Garlan y Shaw] • “Architecture is concerned with the selection of architectural elements, their interaction, and the constraints on those elements and their interactions Design is concerned with the modularization and detailed interfaces of the design elements, their algorithms and procedures, and the data types needed to support the architecture and to satisfy the requirements.” [Perry y Wolf] Arquitectura vs Diseño
  • 10. Fuente: IBM Mastering OOAD w/ UML 2.0 Arquitectura vs Diseño según RUP
  • 11. Fuente: IBM Mastering OOAD w/ UML 2.0 Arquitectura vs Diseño según RUP
  • 12. Fuente: IBM Mastering OOAD w/ UML 2.0 Arquitectura vs Diseño según RUP
  • 13. Fuente: Lozano 2009 Entonces Análisis de Requerimientos Diseño de Software Arquitectura de Software
  • 14. • Igual en la academia que en la industria. • Madura. • DISEÑO CON UML. • Natural en el desarrollo basado en Componentes. • Algo vinculado con RUP o metodología. • Algo vinculado con la orientación a objetos. Arquitectura NO es (Lozano, 2009)
  • 15. • Software Architecture • Enterprise Architecture • Infrastructure Architecture • Information Architecture • Business Architecture Fuente: http://www.iasaglobal.org Tipos de Arquitecturas acorde con IASA: the Global IT Architect Association
  • 16. • The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both. • The term also refers to documentation of a system's software architecture. Documenting software architecture facilitates communication between stakeholders, documents early decisions about high- level design, and allows reuse of design components and patterns between projects. Software Architecture
  • 17. • Communication among stakeholders. Software architecture represents a common abstraction of a system that most if not all of the system's stakeholders can use as a basis for mutual understanding, negotiation, consensus, and communication. ARCHITECTURE IS THE VEHICLE FOR STAKEHOLDER COMMUNICATION Why Is Software Architecture Important? (I) (Bass, Clements and Kazman)
  • 18. • Early design decisions. Software architecture manifests the earliest design decisions about a system, and these early bindings carry weight far out of proportion to their individual gravity with respect to the system's remaining development, its deployment, and its maintenance life. It is also the earliest point at which design decisions governing the system to be built can be analyzed. Why Is Software Architecture Important? (II) (Bass, Clements and Kazman)
  • 19. • Transferable abstraction of a system. Software architecture constitutes a relatively small, intellectually graspable model for how a system is structured and how its elements work together, and this model is transferable across systems. In particular, it can be applied to other systems exhibiting similar quality attribute and functional requirements and can promote large-scale re-use. Why Is Software Architecture Important? (III) (Bass, Clements and Kazman)
  • 20. • An enterprise architecture (EA) is a rigorous description of the structure of an enterprise, which comprise enterprise components (business entities), the externally visible properties of those components, and the relationships (e.g. the behavior) between them. • EA describes the terminology, the composition of enterprise components, and their relationships with the external environment, and the guiding principles for the requirement, design, and evolution of an enterprise. • This description is comprehensive, including enterprise goals, business process, roles, organizational structures, organizational behaviors, business information, software applications and computer systems. Enterprise Architecture
  • 21. Ejemplo Arquitectura Empresarial Fuente: http://sunilduttjha.files.wordpress.com/2012/02/16_changes.gif
  • 22. • A business architecture is a part of an enterprise architecture related to architectural organization of business, and the documents and diagrams that describe that architectural organization. People who help build business architecture are known as Business Architects Business Architecture
  • 23. • It describes the structure and behavior of the technology infrastructure of an enterprise, solution or system. • It covers the client and server nodes of the hardware configuration, the infrastructure applications that run on them, the infrastructure services they offer to applications, the protocols and networks that connect applications and nodes. It addresses issues such as performance and resilience, storage and backup. Infrastructure Architecture
  • 24. • Information architecture (IA) is the art of expressing a model or concept of information used in activities that require explicit details of complex systems. • Among these activities are library systems, Content Management Systems, web development, user interactions, database development, programming, technical writing, enterprise architecture, and critical system software design. • Information architecture has somewhat different meanings in these different branches of IS or IT architecture. Most definitions have common qualities: a structural design of shared environments, methods of organizing and labeling websites, intranets, and online communities, and ways of bringing the principles of design and architecture to the digital landscape. Information Architecture
  • 27. Architecture Patterns Buschman et al, Pattern-Oriented Software Architecture - A System of Patterns • Layers • Model-view-controller (MVC) • Pipes and Filters • Blackboards • C/S
  • 28. Fuente: IBM Mastering OOAD w/ UML 2.0 Antes de arrancar
  • 29. Cómo arranco con Arquitectura de SW? Arquitectura de Software acorde con RUP
  • 30. Enfoque SW Architecture Pura (Bass, Clements, Kazman) What is functionality? • It is the ability of the system to do the work for which it was intended. • Functionality may be achieved through the use of any of a number of possible structures • Functionality is largely independent of structure
  • 31. Enfoque SW Architecture Pura (Bass, Clements, Kazman) Quality Attributes (three classes:) • Qualities of the system. We will focus on availability, modifiability, performance, security, testability, and usability. • Business qualities (such as time to market) that are affected by the architecture. • Qualities, such as conceptual integrity, that are about the architecture itself although they indirectly affect other qualities, such as modifiability.
  • 32. Enfoque SW Architecture Pura (Bass, Clements, Kazman) Quality Attributes? • Architecture is critical to the realization of many qualities of interest in a system, and these qualities should be designed in and can be evaluated at the architectural level. • Architecture, by itself, is unable to achieve qualities. It provides the foundation for achieving quality, but this foundation will be to no avail if attention is not paid to the details. • Within complex systems, quality attributes can never be achieved in isolation. The achievement of any one will have an effect, sometimes positive and sometimes negative, on the achievement of others. For example, security and reliability often exist in a state of mutual tension
  • 33. Estrategia para arrancar de acuerdo con (Bass, Clements, Kazman, 2012) • Chapter 4: Understanding Quality Attributes • Quality Attribute Requirements • Tactics • Chapter 5-12: Quality Attributes • Chapter 13: Patterns and Tactics • Chapter 26: Architectures for the Cloud • http://www.slideshare.net/rickkazman