Análise Orientada a Objeto
Para que serve ?
Entender qual o papel da análise orientada a objetos dentro do processo de desenvolvimento de software, visando a identificação de informações necessárias às decisões de projeto e modelagem de um sistema.
Em que situação é útil:
Identificação de informações que apoiam as atividades de modelagem, análise e projeto de sistemas de software.
Como nós todos ansiamos , precisaremos participar de algumas decisões de projeto, como selecionar a técnica de análise e modelagem, linguagem de programação e ambiente de desenvolvimento adequados.
É importante refletir sobre a ordem em que suas atividades são executadas. Por exemplo, antes de escolher uma linguagem de programação e ambiente de desenvolvimento, devemos definir a estratégia de análise e modelagem de sistemas.
Entretanto,sabe-se que os sistemas de software encontram-se, quase permanentemente, sendo modificados. Essas mudanças ocorrem devido à necessidade de corrigir erros existentes no software ou de adicionar novos recursos e funcionalidades.
Em razão disto, você pode questionar: Por que modelar um sistema? Porque à medida que o sistema cresce, também cresce o código, tornando mais difícil seu desenvolvimento e mais ainda sua manutenção. É mais fácil raciocinar e fazer a manutenção em um sistema para o qual você tem um modelo. Para tanto, a modelagem é essencial no desenvolvimento de qualquer sistema. A análise orientada a objetos serve para ajudar no entendimento e decisões de projeto .
A imagem abaixo representa os diversos tipos de diagramas que podem ser elaborados durante todo o desenvolvimento do sistema:

Antes de iniciar a modelagem com uma linguagem como a UML, você deve proceder a análise orientada a objetos, que compreende os seguintes passos:
Entender o problema do cliente e identificar e documentar os requisitos;
Descrever os requisitos funcionais usando diagramas de casos de uso da UML;
Identificar objetos e classes a partir das informações no documento de requisitos, descrição do sistema e especificação de casos de uso;
Identificar relacionamentos entre as classes ;
Identificar atributos e operações ;
Elaborar e analisar os diagramas de classes de sistema, adicionando e/ou corrigindo atributos e operações, bem como revisando os relacionamentos identificados.
"O primeiro passo, a partir do momento em que você já fez o levantamento de requisitos junto ao cliente, é identificar objetos e classes. Nesse momento, você é o projetista e, portanto, deve examinar a declaração do problema procurando identificar objetos."
Saiba mais: https://vidadeprogramador.com.br/tag/poo/