Zusammenfassung der Ressource
Arquitectura de Software
- Es el
equivalente
del plano de
una casa.
- Es la Estructura o estructuras de sistemas,
lo que comprende a los componentes del
software, sus propiedades externas
visibles y las relaciones entre ellos.
- Durante la Gestión del Sistema:
Documento sobre el poder discutir,
Aumentar la precisión en la
estimación del coste y tiempo,
Ayuda a gestionar la Complejidad.
- Durante el Desarrollo: Es una excelente visita
general del sistema, Proporciona la relación de
puntos de diseños a tratar, Facilita el desarrollo
simultáneo de componentes, Permite detectar
errores de diseños en fases tempranas.
- Diseño
- Estructura; Descripción de
subsistemas como
composición de componentes.
- Comportamiento: Descripción de
la comunicación entre
componentes.
- Protocolos de Comunicación, sincronización, y
acceso a datos, Distribución física, Tecnología de
comunicación, Tecnología de desarrollo de
sistemas, Aspectos de seguridad.
- ¿Que diseño Incluye?: Suele incluir varias
vistas, Una vista representa un aspecto
parcial de una arquitectura software.
- ¿Cuándo se diseña la
arquitectura?: Diseño
Detallado, Diseño
Arquitectónico, Analizar el
problema
- ¿Que Aspectos se tiene en
cuenta para el diseño? Contexto
- Aspectos del Negocio: Amortizar
la infraestructura, Mantener
bajos costes de instalación,
Utilizar personal disponible.
- Aspectos de la estructura
organizacional: Promoción de los
intereses creados, ej. Mantener una
BD existente, Mantener el método
estándar de hacer negocio.
- Tendencias actuales: Desplegar la aplicación
en la nube, Interfaz para aplicaciones móviles
etc.
- Tecnología Disponible: Sist. Centralizados vs
Distribuidos, Desarrollo desde 0 vs
existentes, Lenguajes de Programación,
Plataformas Core, Herramientas.
- ¿Qué se tiene en
cuenta para el
diseño? Arquitecto
- Arquitecto de Software
- Líder Técnico, arquitecto jefe, arquitecto de aplicaciones,
arquitecto de infraestructura, arquitecto de datos. Tiene
conocimientos tecnológicos y habilidades de programación,
Habilidades de diseño, consciente de políticas
organizacionales, buen comunicador, Toma de decisiones,
es un negociador.
- ¿Cómo se modela?
Mediante
- Lenguajes de Programación (ADLs): Lenguajes
textuales formales ideados para describir una
arquitectura de software en términos de
componentes y conectores.
- Diagramas UML:
- Descripción de aspectos estructurales
(estáticos): Diagrama de componentes,
diagrama de despliegue, etc.
- Descripción de comportamiento (dinámico): Diagrama
de actividad, diagrama de secuencia etc.
- Diagramas de Alto Nivel: Describen la arquitectura
con una alto nivel de abstracción. Suele ser el primer
paso antes de un diseño más detallado (ej. Diagrama
de Componentes)