Skip to content

Análise Orientada a Objetos

Página para disciplina de Análise Orientada a Objetos do curso de ADS do IFPI (módulo III).

Apresentação

Análise e projeto são atividades fundamentais na criação de soluções e serviços baseados em software, e podem ser resumidas no seguinte:

  • Análise de sistemas orientada a objetos – compreender e representar formalmente os conceitos e o funcionamento de um sistema de informação existente (do mundo real) através de uma linguagem de modelagem que use os mesmos conceitos da programação orientada a objetos (classes, objetos, mensagens e atributos);
  • Projeto de software orientado a objetos – projetar um software usando os conceitos e funcionalidades descobertos na fase de análise, propondo mudanças (ou não) na forma de funcionamento do mesmo. Diferente da fase de análise, o projeto deve ser mais próximo em termos conceituais do software que irá ser implementado (podem ser construídos diversos níveis de projeto, chegando cada vez mais próximo da implementação);

Com o que estamos lidando?

Nesse processo, normalmente utiliza-se a linguagem de modelagem UML, que será apresentada nessa disciplina. Entretanto, UML é apenas uma linguagem de representação, e o principal objetivo da disciplina é fazer com que o aluno seja capaz de entender e construir nexos e softwares através de um processo de tradução das diversas representações/planos de sistemas de informação:

  • Plano real – sistema de informação implícito nos negócios e atividades das pessoas no mundo real. Normalmente pouco documentado, sendo aprendido através de boca a boca;
  • Plano documental – representação em linguagem natural (texto), normalmente usando pouca ou nenhuma formalidade matemática, inclusive apresentando contradições lógicas, incoerências com o plano real, e sendo desatualizado (o plano real é dinâmico);
  • Plano coloquial – conjunto informal de descrições feitas por pessoas (normalmente é o que se obtém em conversas/entrevistas com clientes/stakeholders dos sistemas do plano real;
  • Plano de análise – plano que formaliza os 3 planos anteriores, procurando representar da maneira mais correta possível o plano real;
  • Plano de projeto – proposta de automatização/modificação do plano real, utilizando módulos de software orientado a objetos para implementar a parte automatizada;
  • Plano de implementação – realização do plano de projeto em um software utilizando uma linguagem orientada a objetos;

O que tem de interessante nisso?

Além de formalizar e documentar a criação de softwares de sistemas de informação, existem outras atividades/desafios interessantes que são derivadas ou parte do processo de análise e projeto de software:

  • Descoberta de padrões – mesmo em sistemas distintos, é comum se observar certos padrões de comportamento (ou de projeto) que se repetem. Essas soluções independentes de linguagem, ou mesmo de contexto, são úteis para simplificar a sua aplicação. Da mesma forma, é possível se identificar erros que ocorrem de forma recorrente, e assim evitá-los em projetos futuros (anti-padrões). Padrões de projeto é um assunto comum às disciplinas de AOO e programação corporativa (ambas do módulo III do curso de ADS);
  • Manipulação dinâmica de modelos UML – existem alguns formatos de arquivo abertos para a representação de artefatos UML. Com isso, é possível se criar ferramentas de software que navegam/manipulam esses modelos, permitindo a pesquisa e aplicação de algoritmos nesse contexto: análise de modelos UML, para observar a existência de padrões automaticamente; análise da evolução de modelos UML ao longo de um projeto, entre outras;

Referências online para a disciplina:

TODO

Advertisements
No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: