Nessa aula, começaremos a tratar de um assunto que não envolve a criação de código, mas que é muito importante na condução de qualquer projeto de software: a modelagem conceitual de sistemas.
Ao final da aula, teremos uma noção do que é a modelagem conceitual de sistemas e do papel da UML na criação de tais modelos.
A modelagem conceitual é uma forma de construir uma descrição do sistema a ser desenvolvido, em qualquer nível de detalhe desejado.
Ela permite orientar atividades de desenvolvimento e ajuda na verificação dos requisitos de um sistema durante sua construção e na manutenção e expansão destes durante toda a vida de um projeto de software.
Assim como a documentação do nosso código através do Javadoc permite ao programador entender como usar o código sem ter a necessidade de consultar os fontes, ...
um modelo permite aos programadores e outras partes envolvidas em um projeto entender como um sistema foi ou deve ser construído, sem sequer conhecer a linguagem de programação que foi ou será utilizada
Conforme cresce o número de classes no nosso programa, fica fácil se perder em como os conceitos estão estruturados...
Portanto é interessante possuirmos um "mapa" do sistema, onde podemos encontrar rapidamente os conceitos e como se relacionam.
O objetivo desse tópico é introduzir alguns aspectos da modelagem de sistemas devido a proximidade do assunto ao projeto de sistemas orientado a objeto.
O conteúdo desse tópico é estudado em detalhes na disciplina "Modelagem de Sistemas de Informação" (eletiva).
Aos que quiserem se aprofundar mais no assunto, recomendo o livro "Conceptual Modeling of Information Systems" (Antoni Olivé, 2007).
Os dois aspectos da modelagem conceitual que abordaremos parcialmente aqui são:
Como ferramenta de trabalho, usaremos a Unified Modeling Language (UML).
A UML é uma linguagem gráfica para modelagem conceitual de sistemas. Ou seja, a informação é comunicada através de diagramas, em elementos gráficos padronizados.
Foi criada em meados dos anos 1990, por Grady Booch, Ivar Jacobson e James Rumbaugh, na Rational Software, empresa que foi posteriormente comprada pela IBM.
Em 1997, a UML foi adotada como padrão para modelagem pelo Object Management Group (OMG) e em 2005 foi aprovada como padrão internacional pela ISO.
Veremos aqui dois tipos de diagrama UML:
1. Diagrama de classes (estrutural): representa a hierarquia de classes e interfaces do sistema e seus relacionamentos.
2. Diagrama de sequência (comportamental): representa as interações dos objetos em uma linha do tempo.
A partir de agora vamos estudar a confecção de diagramas UML de classe e sequência, para ajudar no projeto dos nossos sistemas e na interpretação daquilo que construimos.
Consultem esse documento para uma visão completa sobre o diagrama de classes e esse outro documento para o diagrama de sequência.
Nas próximas aulas falaremos deles em mais detalhes e iremos exercitá-los.
Sugiro a instalação do UMLet para desenhar os diagramas.
O UMLet também possui uma versão integrada ao Eclipse (plugin).
Até a próxima aula!