Centro de Ingeniería de Software I+D Universidad Autónoma ... · Centro de Ingeniería de...

25
Centro de Ingeniería de Software I+D Universidad Autónoma de Ciudad Juárez Instituto de Ingeniería y Tecnología luis felipe fernández mtz.

Transcript of Centro de Ingeniería de Software I+D Universidad Autónoma ... · Centro de Ingeniería de...

Centro de Ingeniería de Software I+DUniversidad Autónoma de Ciudad Juárez

Instituto de Ingeniería y Tecnologíaluis felipe fernández mtz.

El estado del arte de la enseñanza de la AS: A vuelo de pájaro¿ Arquitectura de software?¿Arquitecto de software?¿ Entonces qué enseñar ?

Ibant obscuri sola sub nocte per umbrampVirgilio

Un breve recorrido por las páginas Web algunas universidades, ló i li é i d l í (22) fi ltecnológicos y politécnicas del país (22), con carreras afines a la

computación◦ Informática◦ Sistemas ComputacionalesSistemas Computacionales◦ Ciencias Computacionales◦ Tecnologías de Información◦ Ing. de Software◦ Ing. en Computación

Dio como resultado que la gran mayoría de las instituciones revisadas no consideran en sus planes de estudio un curso derevisadas no consideran en sus planes de estudio un curso de Arquitecturas de Software

De las revisadas sólo se encontró que cuatro instituciones tienen un b bl fí AScurso probablemente afín a AS

◦ Diseño y arquitectura de software (2)◦ Arquitecturas de software y patrones de diseño (1)◦ Arquitectura de software (OO) (1)Arquitectura de software (OO) (1)

Adicionalmente se revisó a algunas empresas de capacitación que f ASofrecen AS:◦ Patrones de diseño

Todo parece indicar que la enseñanza de arquitectura de software i li d di ñimplica patrones de diseñoPrácticamente nadie considera ADLs

Arquitectura de software se define como: “una palabra que utilizamos cuando queremos hablar de diseño y queremos que se escuche como algo importante” 

í l h d h ? fMartín Fowler, Who need an architect?, IEEE Software, pp 11‐13, Sep‐Oct 2003

Aquí se enumeran varios tipos de arquitecturas de q p qsoftware:

Tubería y filtrosArquitecturas de Pizarra o RepositorioArquitecturas de Pizarra o RepositorioModel-View-Controller (MVC)Arquitecturas Basadas en AtributosArquitecturas en CapasArquitectura de Máquinas VirtualesArquitecturas Orientadas a ObjetosArquitecturas Basadas en ComponentesArquitecturas Orientadas a Servicios (SOA)Arquitecturas Orientadas a Servicios (SOA)

‘‘—Mr. Beck, what is software architecture?” asked a participantat an OOPSLA workshop in Vancouver in the fall of 1992. ‘‘—Softwarearchitecture?” replied Kent, now famous for being the fatherof XP (eXtreme Programming, not the O.S.), ‘‘well, it is what softwarearchitects do.” (Chuckles in the audience.) ‘‘—So then, whatis an architect?” ‘‘—Hmm, ‘software architect’ it’s a new pompoustitle that programmers demand to have on their business cardsto justify their sumptuous emoluments.”

What do software architects really do?Philippe KruchtenPhilippe Kruchten

The Journal of Systems and Software 81 (2008) 2413–2416

A diferencia de un programador, el Arquitecto de Software debe d i l id d d l í d f á i ddominar la mayor cantidad de tecnologías de software y prácticas de diseñoTomar decisiones adecuadas para garantizar el mejor desempeño, reuso robustez portabilidad flexibilidad escalabilidad yreuso, robustez, portabilidad, flexibilidad, escalabilidad y mantenibilidad de las aplicaciones. La estructura y dinámica de la aplicación son plasmadas en una notación formal estandarizada como lo es UML; sobre todo si se utilizan las nuevas tecnologías, en especial con los lenguajes orientados a objetos.

In my experience the term SoftwareArchitect is too limited. Because f h l i f d l d hof the complexity of systems development today, you must have

someone who is really a SystemsArchitect? - someone versed in network, hardware, databases and directories, in addition to software development at a high level.software development at a high level.

Malcolm Campbell

Architects spend the lion’s share of their time up front: ◦ listening to clients, ◦ understanding the totality of their needs and resources, ◦ scrutinizing feasibility, ◦ forming a practical vision of a structureforming a practical vision of a structure, ◦ and creating a blueprint.

◦ As the structure is built, the architect intervenes in the client’s favor, l h l d d h h h hensuring compliance to the plan and guiding the vision through the

tempest of design changes, crises and ambiguities. WWISA (Worldwide Institute of Software Architect)

Then this is what software architects should be focused on, this is h f hi h ld dwhat software architects should do: ◦ make design choices, ◦ validate them, ◦ and capture them in various architecture related artifactsand capture them in various architecture related artifacts.

What do software architects really do?What do software architects really do?Philippe Kruchten

The Journal of Systems and Software 81 (2008) 2413–2416

Documentar

Evaluar, Validar Verificar

Diseñar

Métodos de evaluación y

Documentar

ADOO

evaluación y verificación

Núcleo básico

Núcleo básicoNiveles de abstracción

Ideas

RespuestasRespuestas

Gracias