La Historia de La Arquitectura de Software

download La Historia de La Arquitectura de Software

of 4

Transcript of La Historia de La Arquitectura de Software

  • 7/24/2019 La Historia de La Arquitectura de Software

    1/4

    La historia de la Arquitectura de software

    Cada vez que se narra la historia de la AS se reconoce que Edsger Dijikstraquien propuso el establecimiento de una estructuraci n correcta de los

    sistemas de S! antes de programar" al igual que el mismo sosten#a que lasciencias de la computaci n eran una rama aplicada de las matem$ticas" %ltambi%n fue uno de los instructores de la noci n de S& organizados por capas'

    (ambi%n a)udo a precisar docenas de conceptos como *el algoritmo del caminom$s corto+" stacks" vectores" sem$foros" entre otros' De %l tambi%n podemoshacer referencia a *niveles de abstracci n+ que es tan com,n ho) en d#a'

    Durante -A(& ./0/" un a1o despu%s de que se fundara la 2ngenier#a deSoftware 3'2' Sharp formulo lo siguiente en base a las ideas de Dijkstra

    *3ienso que tenemos algo" aparte de la ingenier#a de software4 algo de lo quehemos hablado mu) poco pero que deber#amos poner sobre el tapete )

    concentrar la atenci n en ello' Es la cuesti n de la arquitectura de software' Laarquitectura es diferente de la ingenier#a' Como ejemplo de lo que quiero decir"echemos una mirada a &S5607' 3artes de &S5607 est$n e8tremadamente biencodi9cadas' 3artes de &S" si vamos al detalle" han utilizado t%cnicas que hemosacordado constitu)en buena pr$ctica de programaci n' La raz n de que &S seaun amontonamiento amorfo de programas es que no tuvo arquitecto' Su dise1ofue delegado a series de grupos de ingenieros" cada uno de los cuales inventsu propia arquitectura' : cuando esos pedazos se clavaron todos juntos noprodujeron una tersa ) bella pieza de software'+

    Sharp a9rma que con el tiempo probablemente se legue a hablarse de *Laescuela de arquitectura de Dijkstra+' Despu%s de esto nadie volvi a tocar eltema" aunque por algunos a1os *arquitectura+ era tomada como una met$fora"pero esta no ten#a ni precisi n sem$ntica ni consistencia pragm$tica' En el 0/;red en 2verson tomaban como arquitectura a la estructuraconceptual de un sistema en la perspectiva del programador' En ./?@

  • 7/24/2019 La Historia de La Arquitectura de Software

    2/4

    la calidad de software medible en econom#a ) mantenimiento' Despu%s en./? publico un ensa)o en que mencionaba la mejora del dise1o de estosmediante la e8ibilidad ) control conceptual del sistema'

    El concepto de ocultamiento se fue mezclando con encapsulamiento )abstracci n" tras algunos avatares de avance ) retroceso' Los arquitectos m$sescrupulosos distinguen entre encapsulamiento ) ocultamiento" considerando aaqu%l como una capacidad de los lenguajes de programaci n ) a %ste como unprincipio m$s general de dise1o' En este punto 3arnas no habla sobre 3&& sinode m dulos ) subrutinas )a que los &bjetos aun no e8ist#an en la programaci n

    3arnas nos dice lo siguiente acerca de las familias de programas4

    * na familia de programas es un conjunto de programas Fno todos los cualeshan sido construidos o lo ser$n alguna vezG a los cuales es provechoso o ,tilconsiderar como grupo' Esto evita el uso de conceptos ambiguos tales como*similitud funcional+ que surgen a veces cuando se describen dominios' 3orejemplo" los ambientes de ingenier#a de software ) los juegos de video no seconsideran usualmente en el mismo dominio" aunque podr#an considerarsemiembros de la misma familia de programas en una discusi n sobreherramientas que a)uden a construir interfaces gr$9cas" que casualmenteambos utilizan'+

    Este concepto soporta la noci n de derivar un miembro de la familia a partir deuno )a e8istente" al igual que se pueden derivar varios miembros de la familiade un punto de decisi n en com,n" aclarando la semejanza ) diferencias entreellos' La signi9caci n del concepto de familia de programas para la AS es queella corresponde a las decisiones cerca del tope del $rbol de decisi n de3arnas' Es importante considerar que el $rbol de 3arnas es topHdown no s lo

    porque se constru)e ) recorre de lo general a lo particular" sino porque susra#ces se encuentran hacia arriba Fo a la izquierda si el modelo es horizontalG'

    Durante los I7 s los m%todos de desarrollo estructurado demostraron noescalar su9cientemente ) dejaron el descubrimiento de un nuevo paradigma elde la 3&&' Lo cual llevo a la investigaci n de lo que ser#a el dise1o &rientado a&bjetos lo cual se puede remontar a la d%cada de ./07 con Simula" unlenguaje de simulaci n el cual fue el primero en proporcionar tipos de datosabstractos ) clases ) despu%s se re9no con la llegada de Smalltalk" )a en ./I7se toma el concepto de AS para hacer referencia a la con9guraci n morfol gicade una aplicaci n'

    El primer estudio en el que aparece la e8presi n Arquitectura de software tal )como lo conocemos actualmente fue gracias a 3err) ) !olf" el art#culocomienza con lo siguiente4

    *El prop sito de este paper es construir el fundamento para la arquitectura desoftware' 3rimero desarrollaremos una intuici n para la arquitectura desoftware recurriendo a diversas disciplinas arquitect nicas bien de9nidas'Sobre la base de esa intuici n" presentamos un modelo para la arquitectura desoftware que consiste en tres componentes4 elementos" forma ) raz n

  • 7/24/2019 La Historia de La Arquitectura de Software

    3/4

    FrationaleG' Los elementos son elementos )a sea de procesamiento" datos ocone8i n' La forma se de9ne en t%rminos de las propiedades de" ) lasrelaciones entre" los elementos" es decir" restricciones operadas sobre ellos' Laraz n proporciona una base sub)acente para la arquitectura en t%rminos de lasrestricciones del sistema" que lo m$s frecuente es que se deriven de losrequerimientos del sistema' Discutimos los componentes del modelo en elconte8to tanto de la arquitectura como de los estilos arquitect nicosJ'+

    Los autores siguen redise1ando el progreso de la t%cnicas de dise1o en lad%cada de ./?7" en la que los investigadores pusieron en claro que el dise1oes una actividad separada de la implementaci n ) que requiere notaciones )herramientas especializadas las cuales dieron como resultado a lasherramientas CASE" lo cual dio como resultado la absorci n de lasherramientas de dise1o por los lenguajes de implementaci n' Su integraci n seesfumo gracias a la confusi n entre dise1o e implementaci n' :a en los I7 s seperfeccionaron las t%cnicas descriptivas permitiendo un mejor razonamientosobre sistemas de software' 3ara la caracterizaci n de lo que suceder$ en la

    d%cada siguiente ellos formulan esta otra frase que ha quedado inscripta en lahistoria ma)or de la especialidad4

    *La d%cada de .//7" creemos" ser$ la d%cada de la arquitectura de software'samos el t%rmino *arquitectura+ en contraste con *dise1o+" para evocar

    nociones de codi9caci n" de abstracci n" de est$ndares" de entrenamientoformal Fde los arquitectos de softwareG ) de estilo' J Es tiempo de reHe8aminarel papel de la arquitectura de software en el conte8to m$s amplio del procesode software ) de su administraci n" as# como se1alar las nuevas t%cnicas quehan sido adoptadas'+

    En la misma d%cada" demasiado pr diga en acontecimientos" surge tambi%n la

    programaci n basada en componentes" que en su momento de ma)or impactoimpuls a algunos arquitectos ma)ores" como 3aul Clements " quien a9rma quela AS promov#a un modelo que deb#a ser m$s de integraci n de componentespre programados que de programaci n'

    A lo largo de una cadena de intermediarios ) pensadores originales" las ideasllegaron por 9n a la inform$tica diez a1os m$s tarde' Si bien la idea dearquitectura impl#cita en el trabajo actual con patrones est$ m$s cerca de laimplementaci n ) el c digo" ) aunque la reutilizaci n de patrones guardaestrecha relaci n con la tradici n del dise1o concreto orientado a objetos' (antoen los patrones como en la arquitectura la idea dominante es la dereutilizaci n' " la AS de este per#odo realiz su trabajo de homogeneizaci n de

    la terminolog#a" desarroll la tipi9caci n de los estilos arquitect nicos ) elaborlenguajes de descripci n de arquitectura FADLsG" temas que en este estudio setratan en documentos separados' (ambi%n se consolid la concepci n de lasvistas arquitect nicas" reconocidas en todos ) cada uno de los frameworksgeneralizadores que se han propuesto FK ." (&MA;" NB5&D3" 2EEEG'

    Oasta el a1o 777 surgi uno de los acontecimientos m$s importantes fue lac%lebre tesis de No) ;ielding la cual presento el modelo NES(" el cual estableceel tema de las tecnolog#as de 2nternet ) los modelos orientados a servicios'

  • 7/24/2019 La Historia de La Arquitectura de Software

    4/4

    Asimismo tambi%n se publica la versi n de9nitiva de la recomendaci n 2EEE Std.K?. que procura homogeneizar ) ordenar la nomenclatura de descripci narquitect nica ) homologa los estilos como un modelo fundamental derepresentaci n conceptual'En el siglo PP2" la AS aparece dominada por estrategias orientadas a l#neas deproductos ) por establecer modalidades de an$lisis" dise1o" veri9caci n"re9namiento" recuperaci n" dise1o basado en escenarios" estudios de casos )hasta justi9caci n econ mica" rede9niendo todas las metodolog#as ligadas alciclo de vida en t%rminos arquitect nicos'La aparici n de las metodolog#as basadas en arquitectura" junto con lapopularizaci n de los m%todos $giles en general ) E8treme 3rogramming enparticular" han causado un reordenamiento del campo de los m%todos" hastaentonces dominados por las estrategias de dise1o *de peso pesado+' Despu%sde la AS ) de las t$cticas radicales" las metodolog#as nunca volver$n a ser lasmismas'