Monografias.com > Computación > Software
Descargar Imprimir Comentar Ver trabajos relacionados

Introducción a la arquitectura de software




Enviado por Pablo Turmero



Partes: 1, 2

    Monografias.com

    Objetivos
    Suministrar una visión estructurada de la Arquitectura de Software contemporánea
    No es pedagogía Arquitectura 101, sino más bien un survey de lo que significa AS, una evaluación de lo que ha llegado a ser y una puntualización sobre lo que no es
    Despejar malos entendidos sobre arquitectura como diseño de aplicaciones
    Vincular perspectivas de la academia y la industria
    Privilegiar elaboraciones de la corriente teórica de CMU/SEI
    Describir desarrollos de estado de arte, problemas pendientes y tendencias
    Proporcionar referencias a recursos, documentación y herramientas

    Monografias.com

    Temario
    Objetivos
    Contexto
    Errores de concepto habituales
    Antecedentes históricos
    Definición – Repositorio de definiciones
    Corrientes principales
    Conceptos fundamentales (CMU/SEI)
    Estilos arquitectónicos
    Estilos y patrones
    Lenguajes de Descripción Arquitectónica (ADLs)
    Atributos de calidad, escenarios y tácticas
    Métodos basados en arquitectura
    Situación, conclusiones y referencias

    Monografias.com

    Contexto – 1995-2005
    Los 3 grandes temas de ingeniería de software
    Patrones
    Design patterns (GoF) – 1995
    Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides
    Architectural patterns (POSA) – 1996
    Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad y Michael Stal
    Organizational patterns (Coplien)
    Métodos heterodoxos (eXtreme Programming, Scrum, Evo, FDD, DSDM, RUP, AM, Crystal, LD, ASD.)
    Arquitectura de Software
    Otros:
    Refactorización
    AOP, SOA, Grid Computing, Semantic Web

    Monografias.com

    Conceptos cuestionables (1/2)
    Arquitectura como normativa madura
    Abundancia de herramientas de diseño arquitectónico
    Semántica y lenguajes arquitectónicos iguales en la academia y la industria
    UML como lenguaje formal de modelado "arquitectónico"
    Posición de la AS bien definida en ingeniería & ciclo de vida
    Ocurre en algún punto entre la elicitación de requerimientos y la especificación de casos de uso, o entre éstos y el diseño
    Arquitectura vinculada a metodología y proceso RUP
    La AS está formalmente desarrollada las disciplinas de RUP (cf. Kazman, Kruchten et al 2004)

    Monografias.com

    Conceptos cuestionables (2/2)
    La AS tiene que ver con modelado OO
    La AS no admite ni requiere otros paradigmas
    No hay urgencia en considerar otros paradigmas (Berners-Lee)
    Las herramientas arquitectónicas generan la estructura de la aplicación e incluso el código (analogía con modelos CASE)
    El dilema del roundtrip engineering está resuelto
    Hay que considerar modelo de DSL

    Monografias.com

    Antecedentes históricos (1/5)
    Edsger Dijkstra, 1968
    Ciencias de la computación como rama aplicada de las matemáticas
    Niveles de abstracción
    Stacks, abrazos mortales, semáforos, algoritmo de camino más corto
    NATO, 1968
    F. L. Bauer "Ingeniería de software"
    NATO, 1969
    P. I. Sharp, "Arquitectura de software"
    C.R. Spooner, 1971
    "Una arquitectura de software para los 70s"
    Referencia accidental

    Monografias.com

    Antecedentes históricos (2/5)
    Niklaus Wirth, 1971
    Niveles de abstracción ? Stepwise refinement
    DeRemer & Kron, 1976
    Programming in the large
    Fred Brooks, 1975 – MMM
    Diseñador del OS/360, Premio Turing 2000
    Arquitectura como interfaz usuario
    El arquitecto es un agente del usuario, igual que quien diseña su casa
    Importancia de las estructuras de alto nivel y de decisiones tomadas al principio
    Arquitectura: qué hacer – Implementación: cómo hacerlo

    Monografias.com

    Antecedentes históricos (3/5)
    David Parnas
    1972: Módulos – Ocultamiento de información
    1974: Estructuras de software
    1976: Familias de programas (Árbol de decisión) – Descomposición – Alternativa a diagramas de flujo, propensión estructural (no funcional)
    "Una familia de programas es un conjunto de programas (no todos los cuales han sido construidos o lo serán alguna vez) a los cuales es provechoso o útil considerar como grupo. Esto evita el uso de conceptos ambiguos tales como "similitud funcional" que surgen a veces cuando se describen dominios. Por ejemplo, los ambientes de ingeniería de software y los juegos de video no se consideran usualmente en el mismo dominio, aunque podrían considerarse miembros de la misma familia de programas en una discusión sobre herramientas que ayuden a construir interfaces gráficas, que ambos casualmente utilizan".

    Monografias.com

    Antecedentes históricos (4/5)
    Línea de Dijkstra-Parnas-Hoare
    Fundamentación matemática
    Métodos formales
    Programa fuerte
    Línea de Brooks
    Ambiente humano
    Visión cualitativa
    Pensamiento no lineal
    Programa crítico y heterodoxo

    Monografias.com

    Antecedentes históricos (4/5)
    Dewayne Perry, Alexander Wolf – 1992
    "Foundations for the study of software architecture"
    "La década de 1990, creemos, será la década de la arquitectura de software. Usamos el término "arquitectura" en contraste con "diseño", para evocar nociones de codificación, de abstracción, de estándares, de entrenamiento formal (de los arquitectos de software) y de estilo. ? Es tiempo de re-examinar el papel de la arquitectura de software en el contexto más amplio del proceso de software y de su administración, así como señalar las nuevas técnicas que han sido adoptadas".
    Escuela de Carnegie Mellon (CMU-SEI)
    Sin conexión explícita con CMMI®
    Mary Shaw, David Garlan, Paul Clements, Robert Allen, Rick Kazman

    Monografias.com

    Definición
    http://www.sei.cmu.edu/architecture/definitions.html
    (1) Proceso dentro del ciclo de vida, (2) Topología, (3) Disciplina.
    Arquitectura – IEEE 1471-2000:
    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.
    Adoptada por Microsoft en estrategia arquitectónica / MSF 3 & 4
    Ingeniería – IEEE 610.12.1990:
    [La Ingeniería de Software es] la aplicación de una estrategia sistemática, disciplinada y cuantificable al desarrollo, aplicación y mantenimiento del software; esto es, la aplicación de la ingeniería al software.

    Monografias.com

    Otras definiciones
    Paul Clements, 1996:
    "La AS es, a grandes rasgos, una vista del sistema que incluye los componentes principales del mismo, la conducta de esos componentes según se la percibe desde el resto del sistema y las formas en que los componentes interactúan y se coordinan para alcanzar la misión del sistema. La vista arquitectónica es una vista abstracta, aportando el más alto nivel de comprensión y la supresión o diferimiento del detalle inherente a la mayor parte de las abstracciones".
    * Vista – * Componente

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter