Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introducción a la Arquitectura de
software : Conceptos
usuario
final
Funcionalidad
Rendimiento
Seguridad
gerente del usabilidad soporte
proyecto aplicativo
Bajo costo
Rendimiento
del equipo
modificabilidad
arquitecto
Requisitos
Análisis
Diseño
Codificación
Diseño
Programación
Mantenimiento
Pruebas
Arquitectura de Software y Calidad
de Software
… diseñar buenas aquitecturas no sólo es rentable,
también ayuda a mejorar la calidad del software
obtenido.
Qué es calidad de software?
Qué significa la calidad de software, para el
desarrollador, para el cliente y para el usuario?
Qué tiene que ver la arquitectura de software en este
asunto?
Hay otras maneras de obtener calidad de software?
Arquitectura de Software y Calidad
de Software
La mayoría de los requisitos de calidad pueden ser
alcanzados, sólo si son considerados desde la
arquitectura:
Funcionalidad: Usabilidad:
Pertinencia, Precisión, Entendibilidad, Aprendibilidad,
Interoperabilidad, Adherencia, Operabilidad, Aceptación de Uso
Seguridad
Mantenibilidad: Portabilidad:
Analizabilidad, Cambiabilidad, Adaptabilidad, Instanciabilidad,
Estabilidad, Demostrabilidad Adecuación, Reemplazabilidad
Eficiencia: Confiabilidad:
Rendimiento, Madurez, Tolerancia a Fallas,
Uso de Recursos Recuperabilidad
Elementos de la Arquitectura de
Software
La arquitectura de software define:
componentes - lugar de almacenamiento o cómputo:
filtros, bases de datos, objetos, TDAs,
conectores - mediadores entre componentes:
llamadas a procedimientos, pipes, broadcast,
propiedades - información para construcción y análisis del
software:
pre/post condiciones, invariantes.
Un estilo o patrón de arquitecturas una solución general a
un problema recurrente, a partir del cual se obtendrán
arquitecturas específicas para los distintos problemas.
Un estilo o patrón de arquitecturas define una familia,
compuesta de:
componentes y conectores,
configuraciones,
semántica de las restricciones.
¿Para qué la Arquitectura de
Software?
Las personas necesitan pensar, diseñar, codificar, y
comunicarse en términos de grandes bloques.
Patrones Patrones
Servidores Redes Hardware
Arquitect. de Diseño
- B.D.
- Seguridad
- Transaccionales
- Web … a la arquitectura del escenario de trabajo,
- Usuarios
- etc. también se la conoce como Arquitectura Física
Conclusiones
Arquitectura de software y arquitectura de sistemas de
software, son dos cosas distintas.
No hay un concenso acerca de qué es y qué involucra
la arquitectura de software.
... Algunos sostienen que es complementaria a la
ingeniería de software.
La arquitectura de software plantea desafíos que no
han sido muy bien manejados por la ingeniería de
software tradicional.
Diseñar una buena arquitectura no sólo es necesario,
sino que además es una actividad rentable !!!
El ingeniero de software tradicional y el arquitecto de
software, son dos roles complementarios y necesarios.