Modelagem UML: Desenvolvendo aplicativos
Última atualização: 3 de abril de 2007
Este tutorial se aplica ao ambiente de desenvolvimento integrado do NetBeans™ 5.5 (o IDE) e o NetBeans 5.5, Módulo de modelagem UML.
Neste tutorial, você aprende como usar os recursos de modelagem UML do IDE para criar um diagrama de classe UML. Em seguida, use os recursos de geração de código e engenharia reversa para desenvolver um aplicativo bancário simples, que você pode testar executando uma classe de teste. Esse aplicativo bancário é extremamente simplificado; um modelo real de um aplicativo desse tipo necessitaria de mais detalhes. A finalidade deste tutorial é apresentar alguns dos recursos de modelagem UML do IDE e não de ensinar sobre os conceitos de UML ou a linguagem de programação Java.
Para obter mais informações sobre como trabalhar com o NetBeans IDE, consulte a página Suporte e documentação no site do NetBeans.
Observação: Sempre que o ícone
for mostrado, você poderá clicar para exibir uma demonstração interativa detalhada das etapas descritas no tutorial.
Pré-requisitos
Para que este tutorial possa ser usado, o IDE deve ser instalado em seu sistema e você deve estar familiarizado com as partes básicas do IDE. Você também deve ter uma familiaridade básica com a linguagem de programação Java e a modelagem UML. Para ter um conhecimento básico do IDE, consulte os tópicos de Fundamentos do IDE na ajuda on-line. Uma boa fonte para as técnicas e as teorias da modelagem UML é a página de recursos oficial do UML em http://www.uml.org/.
Requisitos do sistema
Este tutorial presume que o seu sistema atende aos requisitos especificados nas Notas de versão do NetBeans 5.5, Módulo de modelagem UML.
Software necessário para o tutorial
Antes de começar, você deve instalar o seguinte software no seu computador:
Conteúdo
superior
Criando o projeto Java do aplicativo
Nesta seção, você cria um novo projeto Java do aplicativo Java que irá desenvolver neste tutorial.
- No menu principal, escolha Arquivo > Novo projeto e, em seguida, faça o seguinte no assistente para Novo projeto:
- Em Categorias, selecione Geral.
- Em Projetos, selecione Aplicativo Java
- Clique em Próximo.
- No campo Nome do projeto, digite JavaPrj.
- No campo Local do projeto, clique em Explorar, navegue para qualquer diretório do computador e crie uma nova pasta chamada MyPrj.
- Desmarque as caixas de seleção Definir como projeto principal e Criar classe principal.
- Clique em Finalizar.
Uma caixa de diálogo de progresso se abre.
Quando o novo projeto JavaPrj é criado, se abre na janela Projetos.
Exibir demonstração
superior
Criando o projeto UML e o diagrama de classe
Nesta seção, você cria o projeto de modelagem UML (ou projeto UML) e o diagrama de classe do aplicativo. Um projeto UML é o mecanismo pelo qual você armazena e gerencia uma coleção de arquivos de um modelo UML. Um modelo UML contém todos os diagramas do modelo, seus elementos associados e os metadados relacionados ao modelo UML.
- Para criar o projeto UML, escolha Arquivo > Novo projeto e, em seguida, faça o seguinte:
- Em Categorias, selecione UML.
- Em Projetos, selecione Modelo de plataforma de Java.
- Clique em Próximo.
A página Novo modelo de plataforma de Java é aberta.
- No campo Nome do projeto, digite UMLPrj.
Observe que quando você digita o Nome do projeto, o IDE sugere esse nome automaticamente como o nome da Pasta do projeto.
- Verifique se o Local do projeto é MyPrj.
- Clique em Finalizar.
O IDE cria o projeto UML e a caixa de diálogo Criar novo diagrama se abre.
- Na lista Tipo de diagrama, selecione Diagrama de classe.
- No campo Nome do diagrama, digite BankClassDiagram.
- Deixe UMLPrj no campo Namespace e clique em Finalizar.
O IDE realiza os seguintes procedimentos:
- Adiciona o nó do projeto UMLPrj na janela Projetos.
- Cria um nó BankClassDiagram sob o nó Modelo
- Exibe o novo diagrama no Editor de diagramas (o diagrama está vazio neste ponto)
- Abre a Paleta de modelagem
Exibir demonstração
superior
Adicionando e definindo elementos de classe
Agora, adicione e defina os elementos de classe que formarão o seu aplicativo Java. Use o ícone de classe na Paleta de modelagem para criar os elementos de classe.
- Na seção Básico da Paleta de modelagem, selecione o ícone de classe
e clique no Editor de diagramas.
Esta ação coloca um elemento de classe no Editor de diagramas.
- Desmarque o ícone de classe, clicando com o botão direito do mouse em qualquer lugar no Editor de diagramas.
- Selecione o elemento de classe recém-adicionado, digite BankAccount e pressione Enter.
O IDE realiza os seguintes procedimentos:
- Rotula o elemento BankAccount
- Cria uma operação pública, BankAccount()
- Exibe as propriedades da classe BankAccount na janela Propriedades
- Com o elemento de classe BankAccount selecionado no Editor de diagramas, clique com o botão direito do mouse na palavra Atributos e escolha Inserir atributo no menu pop-up.
Um editor de uma linha é aberto, exibindo a seguinte informação:
visibility type name[ranges]=initialValue{name=value}
- Digite balance e pressione Enter.
Um atributo privado chamado balance do tipo int aparece na classe BankAccount. As operações seguintes são criadas na classe:
- public int getBalance()
- public void setBalance(int val)
- Com o elemento de classe BankAccount ainda selecionado no Editor de diagramas, clique com o botão direito do mouse na palavra Operações e escolha Inserir operação no menu pop-up.
Um editor de uma linha é aberto, exibindo a seguinte informação:
visibility returnType name(parameter) {properties...}
- Digite withdraw, mova o cursor (use a seta para frente em seu teclado) para dentro dos parênteses, digite int amount e pressione Enter.
O IDE adiciona a nova operação no elemento de classe, da seguinte forma:
public void withdraw(int amount)
Exibir demonstração
superior
Adicionando mais elementos ao diagrama
Nesta seção, use mais ícones UML na Paleta de modelagem para adicionar interfaces, pacotes, atributos e operações ao seu aplicativo.
- Na seção Básico da Paleta de modelagem, selecione o ícone de pacote
.
Observação: Se necessário, role para baixo para ver ícones de modelagem adicionais. Você também pode fechar a janela Documentação para obter mais espaço e, em seguida, aumentar a Paleta de modelagem. Fazer isso permite que você veja mais ícones de elemento de classe disponíveis na Paleta de modelagem.
- Clique no Editor de diagramas para adicionar um elemento de pacote ao diagrama de classe.
- Clique com o botão direito do mouse em qualquer local no Editor de diagramas para cancelar a seleção do ícone de pacote.
Observação: Conforme adiciona elementos de modelagem ao diagrama, você pode selecioná-los e arrastá-los para novos locais no Editor de diagramas a fim de melhorar a aparência do diagrama. Tenha cuidado ao clicar com o botão direito do mouse, já que em algumas posições, essa ação abre um menu pop-up do Editor de diagramas. Se isso acontecer, basta clicar novamente no espaço em branco do Editor de diagramas.
- Com o elemento de pacote selecionado, digite bankpack e pressione Enter.
- Na seção Básico da Paleta de modelagem, selecione o ícone de interface
e clique no Editor de diagramas.
- Clique com o botão direito do mouse em qualquer local no Editor de diagramas para cancelar a seleção do ícone de interface.
- Com o elemento de interface selecionado, digite Bank e pressione Enter.
- Adicione uma operação deposit à interface Bank.
Você adiciona operações nas interfaces da mesma forma que as adiciona em classes (Etapa 6 na seção precedente). Defina a operação da seguinte forma:
public void deposit(int amount)
- Na Paleta de modelagem, selecione o ícone de classe
e clique no Editor de diagramas duas vezes.
- Clique com o botão direito do mouse em qualquer local no Editor de diagramas para cancelar a seleção do ícone de classe.
Observação: Se desenhar muitos elementos de classe, desmarque o ícone de classe, em seguida, clique com o botão direito do mouse no elemento de classe e selecione Editar > Excluir.
- Chame os elementos de classe de Checking e AccountTest e redimensione-os, se necessário.
Exibir demonstração
superior
Identificando associações entre elementos
Nesta seção, use os ícones UML da Paleta de modelagem para identificar a associação entre os elementos de classe.
- Na seção Básico da Paleta de modelagem, selecione o ícone de implementação
e clique dentro do elemento de classe BankAccount.
- Clique dentro do elemento de interface Bank e clique com o botão direito do mouse em qualquer lugar do Editor de diagramas para desmarcar o ícone de implementação.
Um link de implementação é mostrado entre a classe e o elemento de interface. Um link de implementação indica uma relação entre uma classe e uma interface.
- Na seção Básico da Paleta de modelagem, selecione o ícone de generalização
.
- Clique no elemento de classe Checking (a subclasse), em seguida, clique dentro do elemento de classe BankAccount (a superclasse).
A caixa de diálogo Selecionar métodos para redefinir se abre.
- Selecione o método withdraw e clique em OK.
O IDE realiza os seguintes procedimentos:
- Fecha a caixa de diálogo
- Adiciona o método withdraw à classe Checking
- Adicione o link de generalização entre dois elementos de classe relacionados
Um link de generalização mostra a relação entre uma subclasse e a sua superclasse. As subclasses são refinamentos da superclasse, o que significa que elas podem herdar recursos (atributos e operações) da superclasse.
- Clique com o botão direito do mouse no espaço em branco no Editor de diagramas para desmarcar o ícone de generalização.
- Na seção Básico da Paleta de modelagem, selecione o ícone de link aninhado
e clique dentro do elemento BankAccount e, em seguida, dentro do elemento de pacote bankpack.
- Use o ícone de link aninhado conforme descrito na etapa anterior e conecte os elementos Checking, AccountTest e Bank ao pacote bankpack.
- Desmarque o ícone de link aninhado.
Um link aninhado indica como os elementos são organizados em grupos. Nesse caso, você organizou todos os elementos de classe em um grupo no pacote bankpack.
- Pressione Ctrl-S em qualquer lugar no Editor de diagramas para salvar as alterações feitas no modelo.
Exibir demonstração
superior
Gerando código-fonte Java
Nesta seção, usando o recurso Gerar código da modelagem UML, você gera o código-fonte Java do modelo UML que criou nas seções anteriores.
- Na janela Projetos, clique com o botão direito do mouse no nó UMLPrj e escolha Gerar código no menu pop-up.
A caixa de diálogo Gerar código se abre.
- Na caixa de diálogo Gerar código, clique em Explorar.
- Na caixa de diálogo Escolher a pasta de destino, localize a pasta de destino do projeto JavaPrj que você criou anteriormente no tutorial.
Por exemplo: C:\Temp\MyPrj\JavPrj\src
- Clique em Abrir.
- De volta na caixa de diálogo Gerar código, desmarque a caixa de seleção Fazer backup dos arquivos de origem existentes.
- Clique em OK.
A caixa de diálogo Autorizar salvamento do projeto UML se abre.
- Clique em OK.
O IDE gera o código e a janela de saída exibe o andamento do processo de geração do código.
Exibir demonstração
superior
Continuando o desenvolvimento usando engenharia reversa
Nesta seção, você continua com o desenvolvimento do seu aplicativo, modificando o código-fonte gerado no Editor de código-fonte e usando o recurso Reverter engenharia para atualizar o modelo UML do seu aplicativo.
- Na janela Projetos, expanda o nó UMLPrj > Model > bankpack .
- Clique com o botão direito do mouse no nó BankAccount e escolha Navegar até a origem no menu pop-up.
- Adicione o código seguinte ao método deposit no Editor de código-fonte:
setBalance(getBalance() + amount);
- No nó UMLPrj > Model > bankpack na janela Projetos, clique com o botão direito do mouse no nó AccountTest e escolha Navegar até a origem no menu pop-up.
- Digite (ou copie e cole) o código seguinte no Editor de código-fonte:
public static void main(String[] args) {
Checking myChecking = new Checking();
myChecking.deposit(100);
System.out.println("Checking Balance is: " +
myChecking.getBalance() );
}
Este código cria um novo objeto Checking e especifica um depósito de US$ 100 e, em seguida, imprime os resultados.
- Clique com o botão direito do mouse no Editor de código-fonte e escolha Reformatar código.
- Pressione Ctrl-S em qualquer lugar no Editor de código-fonte para salvar as alterações feitas no arquivo de origem AccountTest.java.
- Clique novamente com o botão direito do mouse no Editor de código-fonte e escolha Reverter engenharia no menu pop-up.
A caixa de diálogo Engenharia reversa se abre.
- Selecione Usar projeto UML existente na caixa de diálogo Reverter engenharia e escolha UMLPrj como o projeto de destino.
- Clique em OK para chamar o processo de engenharia reversa.
- Na caixa de diálogo Autorização para sobrescrever elemento de modelo, clique em Sim para sobregravar o modelo existente da classe AccountTest.
- Clique na guia BankClassDiagram
Observe que o método main recém-inserido agora aparece no elemento de classe AccountTest no diagrama de classe.
Usando o recurso Reverter engenharia, as alterações feitas no projeto de origem Java podem ser refletidas no projeto do modelo UML correspondente.
Exibir demonstração
superior
Testando o seu trabalho
Agora construa e execute o seu projeto.
- Na janela Projetos, clique com o botão direito do mouse no nó JavaPrj e escolha Construir projeto no menu pop-up.
- Na janela Projetos, clique com o botão direito do mouse no nó JavaPrj e escolha Executar projeto no menu pop-up.
A caixa de diálogo Executar projeto se abre.
- Na caixa de diálogo Executar projeto, clique em OK para selecionar
bankpack.AccountTest como a classe principal.
O IDE executa o aplicativo e exibe a seguinte saída na janela Saída:
Checking Balance is: 100
Exibir demonstração
Agora você concluiu o aplicativo
superior
Resumo
Neste tutorial, você criou um diagrama de classe de um aplicativo bancário simples. Você aprendeu como realizar as seguintes tarefas:
- Criar um projeto UML
- Usar os ícones UML da Paleta de modelagem para criar classes, interfaces, pacotes, atributos e operações
- Vincular as classes com as associações UML
- Exibir os elementos que você criou no Editor de diagramas no projeto UML conforme representados na janela Projetos
- Gerar o código-fonte dos elementos criados no Editor de diagramas no projeto UML e exibir o código-fonte gerado no Editor de código-fonte.
- Usar os recursos geração de código e engenharia reversa para ir para frente e para trás entre a modelagem e o desenvolvimento do código no Editor de código-fonte
- Compilar e executar classes no Editor de código-fonte
superior