OOAD - Análisis orientado a objetos
En la fase de análisis del sistema o análisis orientado a objetos del desarrollo de software, se determinan los requisitos del sistema, se identifican las clases y se identifican las relaciones entre las clases.
Las tres técnicas de análisis que se utilizan conjuntamente para el análisis orientado a objetos son el modelado de objetos, el modelado dinámico y el modelado funcional.
Modelado de objetos
El modelado de objetos desarrolla la estructura estática del sistema de software en términos de objetos. Identifica los objetos, las clases en las que se pueden agrupar los objetos y las relaciones entre los objetos. También identifica los principales atributos y operaciones que caracterizan a cada clase.
El proceso de modelado de objetos se puede visualizar en los siguientes pasos:
- Identificar objetos y agruparlos en clases.
- Identificar las relaciones entre clases.
- Crear diagrama de modelo de objetos de usuario
- Definir atributos de objeto de usuario
- Definir las operaciones que se deben realizar en las clases.
- Revisar el glosario
Modelado dinámico
Una vez analizado el comportamiento estático del sistema, es necesario examinar su comportamiento con respecto al tiempo y los cambios externos. Este es el propósito del modelado dinámico.
El modelado dinámico se puede definir como “una forma de describir cómo un objeto individual responde a eventos, ya sean eventos internos desencadenados por otros objetos o eventos externos desencadenados por el mundo exterior”.
El proceso de modelado dinámico se puede visualizar en los siguientes pasos:
- Identificar estados de cada objeto
- Identificar eventos y analizar la aplicabilidad de acciones.
- Construir un diagrama de modelo dinámico, que comprende diagramas de transición de estado
- Exprese cada estado en términos de atributos de objeto.
- Validar los diagramas de transición de estado dibujados
Modelado funcional
El modelado funcional es el componente final del análisis orientado a objetos. El modelo funcional muestra los procesos que se realizan dentro de un objeto y cómo cambian los datos a medida que se mueven entre métodos. Especifica el significado de las operaciones de modelado de objetos y las acciones de modelado dinámico. El modelo funcional corresponde al diagrama de flujo de datos del análisis estructurado tradicional.
El proceso de modelado funcional se puede visualizar en los siguientes pasos:
- Identificar todas las entradas y salidas
- Construya diagramas de flujo de datos que muestren dependencias funcionales
- Indique el propósito de cada función
- Identificar limitaciones
- Especificar criterios de optimización
Análisis estructurado frente a análisis orientado a objetos
El enfoque de Análisis Estructurado / Diseño Estructurado (SASD) es el enfoque tradicional del desarrollo de software basado en el modelo en cascada. Las fases de desarrollo de un sistema que utiliza SASD son:
- Estudio de factibilidad
- Análisis y especificación de requisitos
- Diseño de sistemas
- Implementation
- Revisión posterior a la implementación
Ahora, veremos las ventajas y desventajas relativas del enfoque de análisis estructurado y el enfoque de análisis orientado a objetos.
Ventajas / desventajas del análisis orientado a objetos
Ventajas | Desventajas |
---|---|
Se centra en los datos en lugar de los procedimientos como en el análisis estructurado. | La funcionalidad está restringida dentro de los objetos. Esto puede plantear un problema para los sistemas que son intrínsecamente procedimentales o de naturaleza computacional. |
Los principios de encapsulación y ocultación de datos ayudan al desarrollador a desarrollar sistemas que no pueden ser manipulados por otras partes del sistema. | No puede identificar qué objetos generarían un diseño de sistema óptimo. |
Los principios de encapsulación y ocultación de datos ayudan al desarrollador a desarrollar sistemas que no pueden ser manipulados por otras partes del sistema. | Los modelos orientados a objetos no muestran fácilmente las comunicaciones entre los objetos del sistema. |
Permite una gestión eficaz de la complejidad del software en virtud de la modularidad. | Todas las interfaces entre los objetos no se pueden representar en un solo diagrama. |
Se puede actualizar de sistemas pequeños a grandes con mayor facilidad que en sistemas que siguen un análisis estructurado. |
Ventajas / desventajas del análisis estructurado
Ventajas | Desventajas |
---|---|
Como sigue un enfoque de arriba hacia abajo en contraste con el enfoque de abajo hacia arriba del análisis orientado a objetos, se puede comprender más fácilmente que OOA. | En los modelos de análisis estructurado tradicionales, una fase debe completarse antes de la siguiente. Esto plantea un problema de diseño, especialmente si surgen errores o cambian los requisitos. |
Se basa en la funcionalidad. Se identifica el propósito general y luego se realiza la descomposición funcional para desarrollar el software. El énfasis no solo brinda una mejor comprensión del sistema, sino que también genera sistemas más completos. | El costo inicial de construir el sistema es alto, ya que todo el sistema debe diseñarse de una vez dejando muy pocas opciones para agregar funcionalidad más adelante. |
Las especificaciones en él están escritas en un idioma inglés simple y, por lo tanto, pueden ser analizadas más fácilmente por personal no técnico. | No admite la reutilización del código. Por tanto, el tiempo y el coste del desarrollo son intrínsecamente elevados. |