Notación Para Representar Las Arquitecturas Del Software
Existen muchas notaciones y lenguajes para representar los artefactos del diseño software. Unas son para representar la estructura y otras el comportamiento, unas sirven principalmente durante el diseño arquitectural, otras durante el diseño detallado, y algunas durante ambos, algunas se emplean principalmente en el contexto de métodos específicos.
1.
Notaciones de
aspectos estructurales (estática), es decir, los componentes y sus
interconexiones.
· Lenguajes de Descripción de Arquitecturas (ADLs):
Lenguajes textuales formales ideados para describir una arquitectura software
en términos de componentes y conectores.
· Diagramas de Clases y Objetos: Para representar un
conjunto de clases (y objetos) y sus interrelaciones.
· Diagramas de Componentes: Para representar un
conjunto de componentes (partes físicas y reemplazables de un sistema que
son conformes a y proveen un conjunto de interfaces) y sus
interrelaciones.
· Tarjetas CRC (Clase Responsabilidad Colaborador):
Para denotar los nombres de los componentes (clases), sus responsabilidades, y
los nombres de los componentes con los que colaboran.
·
Diagramas de
Despliegue: Para representar un conjunto de nodos físicos y sus
interrelaciones, modelando los aspectos físicos de un sistema.
· Diagramas Entidad-Interrelación: Para representar
modelos conceptuales de los datos almacenados en sistemas de información.
§ Lenguajes de Descripción de Interfaces (IDLs):
Similares a los lenguajes de programación normales, sirven
para definir las interfaces (nombres y tipos de las
operaciones exportadas) de los componentes software.
§ Diagramas de Estructura de Jackson: Para describir
las estructuras de datos en términos de secuencia, selección e iteración.
§ Grafo de Estructura: Para describir la estructura de
llamadas de los programas (qué módulos llaman y son llamados por qué módulos).
2.
Las siguientes
notaciones y lenguajes sirvan para describir el comportamiento (dinámica) de
un software y sus componentes.
· Diagramas de Actividad: Para mostrar el flujo de
control entre actividades (ejecuciones no atómicas dentro de una máquina de
estados).
· Diagramas de Colaboración: Para mostrar las interacciones
entre un grupo de objetos, haciendo énfasis en los objetos, sus conexiones y
los mensajes que intercambian en dichas conexiones.
· Diagramas de Flujo de Datos (DFDs): Para
representar el flujo de datos entre un conjunto de procesos.
· Tablas y Diagramas de Decisión: Para representar
combinaciones complejas de condiciones y acciones.
· Diagramas de Flujo [Estructurados]: Para representar
el flujo de control y las acciones asociadas que deben ser realizadas.
· Diagramas de Secuencia: Para mostrar las interacciones
entre un grupo de objetos, con énfasis en la ordenación temporal de los
mensajes.
· Diagramas de Transición de Estados y Grafos de
Máquinas de Estados: Para mostrar el flujo de control entre estados de una
máquina de estados.
· Lenguajes de Especificación Formal: Lenguajes
textuales que usan nociones básicas matemáticas (lógica, conjuntos, secuencia)
para definir de forma rigurosa y abstracta las interfaces y el
comportamiento de los componentes (habitualmente en términos de pre y post-condiciones).
· Pseudocódigo y Lenguajes de Diseño de Programas
Lenguajes, al estilo de los tradicionales de programación estructurada, usados
para describir, normalmente en la etapa de diseño detallado.
No hay comentarios:
Publicar un comentario