El análisis y diseño de sistemas orientado a objetos es una metodología diseñada para facilitar el desarrollo de sistemas que deben cambiar con rapidez en respuesta a los entornos empresariales dinámicos.
Se cree que las técnicas orientadas a objetos funcionan bien en situaciones en las que los sistemas de información complejos pasan a través de un continuo proceso de mantenimiento, adaptación y rediseño. Las metodologías orientadas a objetos utilizan el estándar de la industria para modelar sistemas orientados a objetos,conocido como lenguaje de modelado unificado (UML), para descomponer un sistema en un modelo de casos de uso.
La programación orientada a objetos difiere de la programación tradicional por procedimientos en cuanto a que examina a los objetos que forman parte de un sistema. Cada objeto es una representación computacional de una cosa o evento real. Los objetos pueden ser clientes, artículos, pedidos, etcétera. Los objetos se representan y agrupan mediante clases, las cuales son ideales para la reutilización y la facilidad de mantenimiento.
Una clase define el conjunto de atributos y comportamientos compartidos que se encuentran en cada objeto de la clase.
A menudo las metodologías orientadas a objetos se enfocan en iteraciones pequeñas y rápidas de desarrollo, a lo que algunas veces se le conoce como el modelo de espiral. El análisis se lleva a cabo en una parte pequeña del sistema, en donde por lo general se empieza con un elemento de alta prioridad o tal vez con uno que represente el mayor riesgo. A esto le sigue el diseño y la implementación y continua.
Las fases en el UML son similares a las del SDLC, siendo un modelado rígido y exigente. El analista pasa por las fases del problema y de identificación, una fase de análisis y una fase de diseño.
Descripción breve del proceso del UML:
- Definir el modelo de caso de uso. En esta fase, el analista identifica a los actores y los eventos principales iniciados por los actores. A menudo el analista empieza por dibujar un diagrama con figuras hechas con líneas que representan a los actores y flechas que muestran las relaciones entre ellos. A esto se le conoce como diagrama de caso de uso y representa el flujo estándar de eventos en el sistema. Después de esto, el analista por lo general escribe un escenario de caso de uso, que describe con palabras los pasos que se llevan a cabo comúnmente.
- Durante la fase de análisis de sistemas, empezar a dibujar diagramas de UML. El analista dibujará diagramas de actividad, los cuales ilustran todas las principales actividades en el caso de uso. Además el analista creará uno o más diagramas de secuencia para cada caso de uso, los cuales muestran la secuencia de actividades y su sincronización. Ésta es una oportunidad para regresar y revisar los casos de uso, replantearlos y modificarlos si es necesario.
- Continuar en la fase de análisis, desarrollar diagramas de clases. Los sustantivos en los casos de uso son objetos que se pueden agrupar potencialmente en clases. Por ejemplo, todo automóvil es un objeto que comparte características con otros automóviles. En conjunto conforman una clase.
- Aún en la fase de análisis, dibujar diagramas de estado. Los diagramas de clases se utilizan para dibujar diagramas de estado, los cuales ayudan a comprender procesos complejos que no se pueden derivar completamente mediante los diagramas de secuencia. Los diagramas de estado son en extremo útiles para modificar los diagramas de clases, por lo que continúa el proceso iterativo de modelado de UML.
- Empezar el diseño de sistemas mediante la modificación de los diagramas de UML; después, completar las especificaciones. El diseño de sistemas significa modificar el sistema existente, para lo cual hay que modificar los diagramas que se dibujaron en la fase anterior. Es posible usar estos diagramas para derivar clases, sus atributos y métodos. El analista tendrá que escribir especificaciones de clase para cada una de las clases e incluir los atributos, métodos y sus descripciones. También desarrollará especificaciones de los métodos en las que se detallen los requerimientos de entrada y salida para cada método, junto con una descripción detallada del procesamiento interno del método.
- Desarrollar y documentar el sistema. UML es, obviamente, un lenguaje de modelado. Un analista podrá crear modelos maravillosos, pero si el sistema no se desarrolla no tiene mucho sentido crearlos. La documentación es imprescindible. Entre más completa sea la información que se proporcione al equipo de desarrollo por medio de la documentación y los diagramas de UML, más rápido será el desarrollo y más sólido será el sistema de producción final.