El análisis estructurado y el diseño estructurado (SA/SD) es una notación esquemática que está diseñada para ayudar a las personas a comprender el sistema. El objetivo básico de SA/SD es mejorar la calidad y reducir el riesgo de falla del sistema. Establece especificaciones de gestión y documentación concretas. Se centra en la solidez, la flexibilidad y la mantenibilidad del sistema.
Básicamente, el enfoque de SA/SD se basa en el diagrama de flujo de datos . Es fácil de entender SA/SD pero se enfoca en límites bien definidos del sistema mientras que el enfoque JSD es demasiado complejo y no tiene ninguna representación gráfica.
SA/SD se conoce como SAD y se enfoca principalmente en los siguientes 3 puntos:
- Sistema
- Proceso
- Tecnología
SA/SD implica 2 fases:
- Fase de Análisis: Utiliza Diagrama de Flujo de Datos, Diccionario de Datos, Diagrama de Transición de Estado y Diagrama ER.
- Fase de Diseño: Utiliza Diagrama de Estructura y Pseudo Código.
1. Fase
de análisis: la fase de análisis involucra el diagrama de flujo de datos, el diccionario de datos, el diagrama de transición de estado y el diagrama de entidad-relación.
- Diagrama de flujo de datos:
en el diagrama de flujo de datos, el modelo describe cómo fluyen los datos a través del sistema. Podemos incorporar los operadores booleanos y & o vincular el flujo de datos cuando más de un flujo de datos puede ser entrada o salida de un proceso.Por ejemplo, si tenemos que elegir entre dos rutas de un proceso, podemos agregar un operador o si son necesarios dos flujos de datos para un proceso, podemos agregar un operador. La entrada del proceso «pedido de cheque» necesita la información de crédito y la información del pedido, mientras que la salida del proceso sería un pedido de efectivo o un pedido de buen crédito.
- Diccionario de datos:
el contenido que no se describe en el DFD se describe en el diccionario de datos. Define el almacén de datos y el significado relevante. Puede incluirse un diccionario de datos físicos para elementos de datos que fluyen entre procesos, entre entidades y entre procesos y entidades. Esto también incluiría descripciones de elementos de datos que fluyen fuera de los almacenes de datos.También puede incluirse un diccionario de datos lógicos para cada elemento de datos de este tipo. Todos los nombres de sistemas, ya sean nombres de entidades, tipos, relaciones, atributos o servicios, deben ingresarse en el diccionario.
- Diagrama
de transición de estado: el diagrama de transición de estado es similar al modelo dinámico. Especifica cuánto tiempo tardará la función en ejecutarse y el acceso a los datos desenstringdo por eventos. También describe todos los estados que puede tener un objeto, los eventos bajo los cuales un objeto cambia de estado, las condiciones que deben cumplirse antes de que ocurra la transición y las actividades que se llevaron a cabo durante la vida de un objeto.
- Diagrama ER:
El diagrama ER especifica la relación entre el almacén de datos. Se utiliza básicamente en el diseño de bases de datos. Básicamente describe la relación entre diferentes entidades.
2. Fase de
diseño: la fase de diseño involucra el diagrama de estructura y el pseudocódigo.
- Diagrama de Estructura:
Es creado por el diagrama de flujo de datos. El gráfico de estructura especifica cómo los procesos de DFS se agrupan en tareas y se asignan a la CPU. El gráfico estructurado no muestra la estructura interna y de trabajo de los procesos o módulos y no muestra la relación entre datos o flujos de datos. Al igual que otras herramientas SASD, es independiente del tiempo y el costo y no existe una técnica de verificación de errores asociada con esta herramienta.Los módulos de un gráfico estructurado se organizan arbitrariamente y cualquier proceso de un DFD puede elegirse como transformación central según la propia percepción de los analistas. El gráfico estructurado es difícil de modificar, verificar, mantener y verificar que esté completo y coherente.
- Pseudo Código:
Es la implementación real del sistema. Es una forma informal de programación que no requiere ningún lenguaje de programación o tecnología específica.