OOAD - Análise Orientada a Objetos
Na fase de análise de sistema ou análise orientada a objetos do desenvolvimento de software, os requisitos do sistema são determinados, as classes são identificadas e os relacionamentos entre as classes são identificados.
As três técnicas de análise usadas em conjunto para análise orientada a objetos são modelagem de objetos, modelagem dinâmica e modelagem funcional.
Modelagem de Objetos
A modelagem de objetos desenvolve a estrutura estática do sistema de software em termos de objetos. Ele identifica os objetos, as classes nas quais os objetos podem ser agrupados e os relacionamentos entre os objetos. Também identifica os principais atributos e operações que caracterizam cada classe.
O processo de modelagem de objetos pode ser visualizado nas seguintes etapas -
- Identificar objetos e agrupar em classes
- Identifique as relações entre as classes
- Criar diagrama de modelo de objeto de usuário
- Definir atributos de objeto de usuário
- Defina as operações que devem ser realizadas nas aulas
- Rever glossário
Modelagem Dinâmica
Depois que o comportamento estático do sistema é analisado, seu comportamento em relação ao tempo e às mudanças externas precisa ser examinado. Este é o propósito da modelagem dinâmica.
A Modelagem Dinâmica pode ser definida como “uma forma de descrever como um objeto individual responde a eventos, sejam eventos internos acionados por outros objetos, ou eventos externos acionados pelo mundo exterior”.
O processo de modelagem dinâmica pode ser visualizado nas seguintes etapas -
- Identifique os estados de cada objeto
- Identificar eventos e analisar a aplicabilidade das ações
- Construir diagrama de modelo dinâmico, composto por diagramas de transição de estado
- Expresse cada estado em termos de atributos de objeto
- Valide os diagramas de transição de estado desenhados
Modelagem Funcional
A modelagem funcional é o componente final da análise orientada a objetos. O modelo funcional mostra os processos executados em um objeto e como os dados mudam à medida que se movem entre os métodos. Ele especifica o significado das operações de modelagem de objetos e as ações de modelagem dinâmica. O modelo funcional corresponde ao diagrama de fluxo de dados da análise estruturada tradicional.
O processo de modelagem funcional pode ser visualizado nas seguintes etapas -
- Identifique todas as entradas e saídas
- Construir diagramas de fluxo de dados mostrando dependências funcionais
- Indique o propósito de cada função
- Identifique as restrições
- Especifique os critérios de otimização
Análise Estruturada vs. Análise Orientada a Objetos
A abordagem Structured Analysis / Structured Design (SASD) é a abordagem tradicional de desenvolvimento de software com base no modelo em cascata. As fases de desenvolvimento de um sistema usando SASD são -
- Estudo de viabilidade
- Análise e Especificação de Requisitos
- Projeto de sistema
- Implementation
- Revisão pós-implementação
Agora, veremos as vantagens e desvantagens relativas da abordagem de análise estruturada e da abordagem de análise orientada a objetos.
Vantagens / desvantagens da análise orientada a objetos
Vantagens | Desvantagens |
---|---|
Concentra-se em dados em vez de procedimentos como na Análise Estruturada. | A funcionalidade é restrita aos objetos. Isso pode representar um problema para sistemas que são intrinsecamente procedimentais ou computacionais por natureza. |
Os princípios de encapsulamento e ocultação de dados ajudam o desenvolvedor a desenvolver sistemas que não podem ser violados por outras partes do sistema. | Ele não pode identificar quais objetos gerariam um design de sistema ideal. |
Os princípios de encapsulamento e ocultação de dados ajudam o desenvolvedor a desenvolver sistemas que não podem ser violados por outras partes do sistema. | Os modelos orientados a objetos não mostram facilmente as comunicações entre os objetos no sistema. |
Ele permite o gerenciamento eficaz da complexidade do software em virtude da modularidade. | Todas as interfaces entre os objetos não podem ser representadas em um único diagrama. |
Ele pode ser atualizado de sistemas pequenos para grandes com maior facilidade do que em sistemas que seguem uma análise estruturada. |
Vantagens / desvantagens da análise estruturada
Vantagens | Desvantagens |
---|---|
Como segue uma abordagem de cima para baixo em contraste com a abordagem de baixo para cima da análise orientada a objetos, pode ser mais facilmente compreendida do que OOA. | Em modelos de análise estruturados tradicionais, uma fase deve ser concluída antes da próxima fase. Isso representa um problema de design, principalmente se ocorrerem erros ou se os requisitos forem alterados. |
É baseado na funcionalidade. O propósito geral é identificado e então a decomposição funcional é feita para desenvolver o software. A ênfase não só dá uma melhor compreensão do sistema, mas também gera sistemas mais completos. | O custo inicial de construção do sistema é alto, uma vez que todo o sistema precisa ser projetado de uma só vez, deixando poucas opções para adicionar funcionalidade posteriormente. |
As especificações nele são escritas em inglês simples e, portanto, podem ser analisadas mais facilmente por pessoal não técnico. | Ele não oferece suporte à reutilização de código. Portanto, o tempo e o custo de desenvolvimento são inerentemente altos. |