ARQUITECTURA DE SOFTWARE Es la serie de decisiones que

Anuncio
1.
ARQUITECTURA DE SOFTWARE
Es la serie de decisiones que debemos tomar al momento de implementar un sistema de software esto
incluye componentes, principios y fundamentos entre otros, con sus responsabilidades y efectos que
influyen en su respectivo desarrollo y la estructura del sistema. Debemos tener en cuenta el funcionamiento
e interacción entre las partes del software y el hardware el cual nos forma un marco de referencia necesario
para su correcto desarrollo e implementación.
2.
ANTECEDENTES HISTÓRICOS
Se empieza a pensar en la idea de arquitectura de software en 1960 por algunos círculos de investigación y
en 1969 por la OTAN pero toma popularidad en 1990 tras reconocerse la crisis del software convirtiéndose
esta en la década de la arquitectura del software. Academia de Carnegie Mellon. Su historia no ha sido tan
continua como la ingeniería de software pero ha empezado a tomar fuerza en los últimos años.en un
principio, hacia 1968, Edsger Dijkstra, aunque él no empezó a utilizar el término de arquitectura. Perry y
Wolf en 1992 construye el fundamento para la arquitectura de software.
3.
DEFINICIONES Y DELIMITACIÓN DE LA DISCIPLINA
Existen grandes compilaciones de definiciones pero una de las más reconocidas es la de Clements dice que
es 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.
Buscando una definición más extensa, David Garlan dice:” La Arquitectura de Software es la organización
fundamental de un sistema encarnada en sus componentes. Los autores clasifican los modelos de esta
forma:
1) Modelos estructurales
2) Modelos de framework
3) Modelos dinámicos
4) Modelos de proceso
5) Modelos funcionales
4.
CONCEPTOS FUNDAMENTALES
Más allá de que hoy existan numerosos conceptos en el plano detallado de las técnicas y metodologías, la
arquitectura de software se basa en unos pocos concepciones y elementos básicos y unas pocas
instrumentales especiales.
Estilos: Un estilo es un concepto descriptivo que define una forma de articulación u organización
arquitectónica.
Lenguajes de descripción arquitectónica: conjunto de propuestas de variado nivel de rigurosidad, todas ellas
de estirpe académico.
Frameworks y Vistas: La mayoría de los frameworks y estrategias reconoce entre tres y seis vistas, son las
que se encierran en el cuadro. Una vista es, para concretar brevemente, un subconjunto consecuencia de
hacer una selección o preocupación sobre un entorno, desde un punto de vista determinado
Procesos y Metodologías: corresponden con las perspectivas particulares de los diferentes participantes.
Abstracción: radica en extraer las pertenencias esenciales, o equiparar los aspectos transcendentales, o
explorar selectivamente ciertos talentes de un problema, olvidando o ignorando los datos menos
sustanciales, distractivos o notables.
Escenarios: han sido esencialmente técnicas que se hacen en la elicitación de las obligaciones,
exclusivamente en relación a los especialistas de sistemas.
5.
CAMPOS DE LA ARQUITECTURA DE SOFTWARE
Es un conjunto inmenso y heterogéneo de áreas de investigación teórica y de formulación práctica.








Lenguajes de descripción de arquitecturas
Fundamentos formales de la AS (bases matemáticas, determinaciones formales de
pertenencias extra- utilitarias tales como mantenibilidad, supuestos de la interconexión, etcétera).
Técnicas de análisis arquitectónicas
Métodos de desarrollo basados en arquitectura
Recuperación y reutilización de arquitectura
Codificación y guía arquitectónica.
Herramientas y ambientes de diseño arquitectónico
Paul Clements [Cle96b] define cinco temas fundamentales en torno de los cuales se agrupa la disciplina.





6.
Diseño o elección de la arquitectura: Cómo erigir o preferir una arquitectura en base de exigencias
funcionales, de ganancia o de calidad.
Escritura de la arquitectura: Cómo informar una arquitectura. Este complicación se ha mostrado
como el problema de la carácter de arquitecturas manejando recursos filológicos, pero la dificultad
también encierra la selección del ligado de información a ser anunciada.
Evaluación y estudios de la arquitectura: Cómo razonar una arquitectura para adivinar cualidades
del procedimiento en que se revela. Un problema semejante es cómo confrontar y escoger entre
varias arquitecturas en competitividad.
Desarrollo y maniobra basados en arquitectura: Cómo montar y conservar un sistema dada
uncarácter de la cual se cree que es la arquitectura que satisfará el problema conveniente.
Independencia de la arquitectura: Cómo hacer que un sistema legacy despliegue cuando los
cambios perturban su estructura; para los sistemas de los que se escasee de expediente confiable,
esto envuelve primero una “arqueología arquitectónica” que desentierre su arquitectura.
MODALIDADES Y TENDENCIAS
Arquitectura como etapa de ingeniería y diseño orientada a objetos: etapa de ingeniería y diseño
orientada a objetos. Es el patrón de James Rumbaugh, Ivar Jacobson, Grady Booch, Craig Larman y otros,
combinado apretadamente al universo de UML y Rational. No cabe incertidumbre que se conoce de una
corriente concreta.
Arquitectura organizada, asentada en un tipo detenido de estilos, ADLs y vistas: es una corriente
fundacional y clásica de la disciplina.
Estructuralismo arquitectónico radical: es una actitud más confrontativa con el mundo con dos tendencias;
una que excluye de plano la relevancia del modelado orientado a objetos para la arquitectura de software y
otra que procura definir nuevos metamodelos y estereotipos de UML como correctivos de la situación.
Arquitectura basada en patrones: esta variante reconoce como referencia la serie POSA de Buschmann,
predomina cierta pasividad hacia tipos de proceso estratégicos.
Arquitectura procesual: se intenta establecer modelos de ciclo de vida y técnicas de elicitación de
requerimientos, brainstorming, diseño, análisis, selección de dilemas, validación, comparación, apreciación
de calidad y apología económica concretas para la construcción de software.
Arquitectura basada en escenarios: es la corriente más nueva. En este estándar suele esgrimir diagramas de
temas de uso UML como herramienta inconstante u ocasional, dado que los asuntos de uso son uno de los
teatros posibles. Los casos de uso no están orientados a objetos.
7.
DIFERENCIAS ENTRE ARQUITECTURA Y DISEÑO
La ingeniería de software estudia los principios y las metodologías de desarrollo de software.
Es la diligencia del juicio científico al esquema y fábrica de software y toda la expediente requerida para
desplegar, operar y conservarlo.
En si la técnica de software es una Ciencia. Mientras que la construcción de software es solamente la
colocación o distribución del programa. Es expresar el croquis del presentación desde los esquemas,
diagramas, elección de lenguaje, elección de inconstantes para el programa, en si la representación total de
que llevara a cabo el programa y de qué forma.
Dicho de otra forma la ingeniería de software comprende todos las técnicas correspondidos para desarrollar
programas y dentro de esos métodos se encuentra la arquitectura del software.
8.
RELEVANCIA DE LA ARQUITECTURA DE SOFTWARE
Comunicación mutua. La AS personifica un alto nivel de meditación común que la generalidad de las
colaboradoras, si no todos, pueden utilizar como asiento para crear intelecto mutuo, formar consentimiento
y notificar entre sí. En sus mejores palabras, la representación arquitectónica exhibe las prohibiciones de
alto ras sobre el croquis del sistema, así como la defensa de medidas arquitectónicas principales.
Decisiones anticipadas de diseño. La AS representa la representación de las arbitrajes de croquis más
adelantados sobre un sistema, y esos vínculos adelantados tienen un compromiso fuera de toda simetría en
su dificultad propia con respecto al perfeccionamiento restante del sistema, su asistencia en el expansión y
su vida de sostenimiento. La arquitectura figura lo que la regla SAAM un portón de canon: el desarrollo no
puede subsistir hasta que los partícipes involucrados certifiquen su diseño.
Limitaciones constructivas. Un retrato arquitectónico provee blueprints improcedentes para el avance,
indicando los mecanismos y las obediencias entre ellos. Por ejemplo, un panorama en capas de una
construcción documenta típicamente los fines de ensimismamiento entre las piezas, nivelando las
importantes interfaces instituyendo las formas en que unas piezas pueden interactuar las demás.
Reutilización, o contemplación transferible de un procedimiento. La AS incorpora un modelo
comparativamente pequeño, intuitivamente tratable, del carácter en que un sistema se organización y sus
componentes se hallan entre sí; esta guía es transferible a través de sistemas; en particular, se puede
aplicar a otros sistemas que exteriorizan amonestaciones parecidos y puede originar reutilización en gran
escalafón. El esquema arquitectónico aguanta reutilización de grandes dispositivos o incluso de frameworks
en el que se pueden integrar dispositivos.
Evolución. La AS puede exponer las extensiones a lo largo de las cuales puede esperarse que aumente un
sistema. Haciendo evidentes estas “paredes” perpetuas, quienes conservan un sistema pueden percibir
mejor las derivaciones de los cambios y evaluar con mayor claridad los costos de las transformaciones. Esas
demarcaciones ayudan también a instituir mecanismos de enlace que permiten manejar exigencias
cambiantes de interoperabilidad, prototipado y nueva utilización tilización.
Análisis. Las representaciones arquitectónicas aportan sucesos y congruencias para el análisis, conteniendo
verificaciones de firmeza del sistema, aprobación con las restricciones imputadas por un estilo, conformidad
con propiedades de calidad, exámenes de dependencias y exámenes específicos de mando y negocios.
Administración. La experiencia manifiesta que los proyectos triunfantes consideran una arquitectura
realizable como una ganancia clave del transcurso de progreso industrial. La valoración crítica de una
arquitectura transporta típicamente a una penetración más clara de los requerimientos, las estrategias de
ejecución y los riegos permisibles.
BERNARDO RUEDA HERNANDEZ
LUIS FELIPE MANCILLA MURILLO
Descargar