Diseño de arquitectura de software
El Lenguaje de Descripción de Arquitectura (ADL) se utiliza para describir la arquitectura del software. Existen muchos lenguajes de descripción arquitectónica, como Wright (desarrollado por la Universidad Carnegie Mellon), Acme (desarrollado por la Universidad Carnegie Mellon), C2 (desarrollado por la UCI) y Darwin (desarrollado por el Imperial College London). Los componentes básicos de ADL incluyen componentes, conectores y configuraciones. Estructura
Una representación gráfica de una vista arquitectónica se llama plano arquitectónico. Para las diversas vistas mencionadas anteriormente, el dibujo de diseño consta de los siguientes diagramas del Lenguaje Unificado de Modelado [UML99]:
Vistas lógicas: diagrama de clases, diagrama de estados y diagrama de objetos.
Vista de procesos: diagrama de clases y diagrama de objetos (incluyendo tarea-proceso e hilo).
Vista de implementación: diagrama de componentes.
Vista de implementación: Diagrama de configuración.
Diagrama de casos de uso: el diagrama de casos de uso describe los casos de uso, los protagonistas y las clases de diseño comunes; el diagrama de secuencia describe los objetos de diseño y sus relaciones de colaboración. Hay algunos diseñadores de software con un alto nivel técnico y una rica experiencia que deben ser responsables del diseño arquitectónico de los sistemas de software, es decir, cómo dividir los componentes del sistema, cómo interactuar entre los componentes y cómo hacer que los componentes sean lógicos y físicos. y cambios sistemáticos en el sistema.
Estas personas son los llamados arquitectos. En muchas empresas, el arquitecto no es un puesto formal dedicado. Por lo general, en un equipo de desarrollo, el programador con más experiencia será responsable de algún trabajo arquitectónico. Dentro de un departamento, el director de proyectos con más experiencia será responsable de algunos trabajos estructurales.
Sin embargo, cada vez más empresas se están dando cuenta de la importancia de la arquitectura y están creando puestos de arquitectos especializados en diferentes niveles organizacionales para ser responsables del diseño, configuración y configuración de la arquitectura lógica, la arquitectura física y la arquitectura del sistema en mantener diferentes niveles.