16
StarUML Tutorial Módulo por: Stephen Wong Resumo: StarUML é uma ferramenta para criar classes de diagramas e outros tipos de diagramas na Unified Modeling Language (UML). Este módulo é um breve tutorial sobre como usar StarUML para criar diagramas de classe Java. StarUML StarUML (SU) é uma ferramenta para criar diagramas UML classe e gerar automaticamente o Java "rascunho código". SU também pode fazer engenharia reversa fonte Java / byte para produzir o código correspondente diagramas UML. Neste tutorial, vamos usar um desenho SU a Pizza programa. Execute as seguintes etapas para criar os diagramas UML mostrado abaixo. SU irá gerar código que reflete a classe estrutura, mas não as acções específicas sobre quaisquer objetos. Por que, depois de criar o esquema usando SU, você editar o código resultante rascunho para adicionar o resto da funcionalidade para o código, enchimento de que cada método deveria fazer.

StarUML Tutorial

Embed Size (px)

Citation preview

Page 1: StarUML Tutorial

StarUML Tutorial Módulo por: Stephen Wong

Resumo: StarUML é uma ferramenta para criar classes de diagramas e outros tipos de diagramas na Unified Modeling Language (UML). Este módulo é um breve tutorial sobre como usar StarUML para criar diagramas de classe Java.

StarUML

StarUML (SU) é uma ferramenta para criar diagramas UML classe e gerar automaticamente o Java "rascunho código". SU também pode fazer engenharia reversa fonte Java / byte para produzir o código correspondente diagramas UML.

Neste tutorial, vamos usar um desenho SU a Pizza programa. Execute as seguintes etapas para criar os diagramas UML mostrado abaixo. SU irá gerar código que reflete a classe estrutura, mas não as acções específicas sobre quaisquer objetos. Por que, depois de criar o esquema usando SU, você editar o código resultante rascunho para adicionar o resto da funcionalidade para o código, enchimento de que cada método deveria fazer.

Figura 1 1. Instalação: Para começar, é preciso primeiro instalar o software que iremos

utilizar. se ainda não estiver instalado. O pacote, StarUML, é software de fonte aberta, licenciado sob a GPL (GNU Public License), e está disponível gratuitamente para download a partir de sua homepage. E aqui está uma relação directa com a própria embalagem.

2. Uma vez StarUML ( "SU") está instalado, inicie o programa. 3. Depois de iniciar SU, um modelo de caixa "Nova Abordagem pelo Projeto"

podem estar presentes: se for, selecione "Empty Project" e pressione "OK".

Page 2: StarUML Tutorial

Sugere-se que você desmarque "Definir como Padrão Abordagem".

4. Sobre o "Modelo Explorer" painel no lado superior direito, selecione o (como-ainda) "Untitled" modelo.

Page 3: StarUML Tutorial

5. Ou no menu principal em "Modelo", ou pelo clicando com o botão direito do modelo seleccionado, comecei a "Adicionar / Design Model"

Page 4: StarUML Tutorial

6. Ou no menu principal em "Modelo", ou pelo clicando com o botão direito do modelo seleccionado, comecei a "Adicionar Diagrama / Diagrama de Classes":

7. Ir para o "Modelo / perfil ..." para definir o "perfil" utilizada pelo projeto, que determina quais serão símbolos e convenções em uso. Certifique-se de incluir o "Java Perfil" no projecto.

8. Salve o projeto agora para que não perca nenhum progresso caso surja algum problema. A partir do menu "Arquivo", escolha a opção "Salvar" e escolha um local para salvar o

Page 5: StarUML Tutorial

projecto. StarUML Seu projeto deve agora parecido com este:

9. Agora, para começar a realmente criar o diagrama, a partir do "Toolbox", que se inicia por padrão no lado esquerdo da tela, selecione a "Categoria" ícone, e deixou-clique em qualquer local da janela do diagrama. Isso deve criar uma nova categoria com um nome genérico. Renomeie a classe para Circle clicando duas vezes sobre o nome.

10. Adicione um "atributo" (ou de campo) para a Circle clicando com o botão direito sobre o objeto do diagrama, a expansão do "Adicionar" menu, e pressionar o verde "atributos". Tipo o desejo em nome do campo, "_radius".

o Especificar o tipo de dados no painel Properties (lado inferior direito da janela), digitando o dobro em "Tipo" slot.

o Dados internos de uma classe (área / atributos) são sempre privadas porque são estritamente para uso pessoal com a turma para a ajudar a determinar o seu comportamento. Então, no painel Propriedades _radius para o campo, selecione PRIVADO para a sua visibilidade.

11. Repetir o mesmo processo para criar uma classe chamada retângulo com privados _width e _height campos de tipo dupla. Você pode notar usando o "Modelo Explorer" à direita é mais rápido para adicionar estes, mas que no entanto notar que a inclusão das classes e interfaces-se nesta toolbox (em vez de utilizar os instrumentos à esquerda e clicar sobre a paleta para criar o objeto ) Não irá criar os objectos no diagrama. Se você optar por usar o "Modelo Explorer", a zona vamos estar interessados em se visíveis após a expansão do "Projeto Modelo" do grupo.

12. Criar uma interface chamada IShape o A partir de "caixa de ferramentas, escolha" Interface "e clique em

qualquer local da paleta. Renomeie o nome genérico para IShape.

Page 6: StarUML Tutorial

Selecione a interface com o item clicando com o botão esquerdo após ser criada.

o Em cima da barra de ferramentas, selecione a lista suspensa "Estereótipo Display" e altere o valor para "Nenhum". Isto irá mudar a anterior forma circular em um formato retangular.

o Também na barra de ferramentas, de-selecione a opção "supressão de Operações" caixa. Isso nos permitirá ver o que a interface tem operações no diagrama vista.

o Adicione um tipo de método getArea dupla IShape para a interface. Isto pode ser feito clicando direito a interface, expandindo a

acrescentar menu, e pressionar o vermelho "Operação" botão. Digite o nome como: getArea.

Para definir o tipo de retorno, expandir IShape no "Model Explorer", clique direito getArea o método que você acabou de criar, e selecione "Adicionar Parâmetro". Na caixa "Propriedades", mudar o nome do parâmetro para nada ",", altere o "DirectionKind" para "regresso", e alterar o "Tipo" a dupla.

o Em ambos os IShape interface própria, bem como o seu método getArea, marque a caixa IsAbstract na propriedade painel. Isso irá tornar os seus títulos aparecem como itálico, de acordo com a norma UML para interfaces puramente abstracta e outras entidades.

13. Faça Circle e Retângulo IShape implementar através da selecção de "Realização" seta de "caixa de ferramentas, clicando e arrastando o círculo sobre a linha IShape. Repetir o mesmo processo para retângulo. Esta é a relação acrescentando que Circle e Retângulo IShape irá implementar a interface.

Page 7: StarUML Tutorial

o Para fazer com que o conector linha agradável fazer curvas de ângulo direito, o botão direito do mouse e selecione a linha "Formatar / Estilo da linha / Rectilinear". Você pode fazer seu diagrama olhar mais limpo, que simplesmente por setas que apontam para o mesmo local direita em cima de cada outros, tornando-se olhar como se há apenas uma flecha.

14. Uma vez que o círculo e retângulo classe tanto IShape implementar a interface, eles devem ter os mesmos comportamentos (métodos) como IShape.

o No painel Model Explorer, copie o método getArea (Ctrl-C ou o botão direito do mouse e selecione Copiar) de IShape para ambos Circle e Retângulo.

o Os métodos implementados no círculo e retângulo classes não são abstracta, mas concreta, porque eles realmente executar alguma ação especial (ou seja, o cálculo da área de um círculo e retângulo respectivamente). Então, desmarque a caixa IsAbstract para esses métodos.

15. Seu diagrama deve agora parecido com este:

16. Adicione uma classe chamada pizza. o Adicione um campo de tipo privado _price dupla. o Adicione um público getPrice operação que retorna tipo dupla.

17. Para fazer uma referência Pizza IShape, selecione classe Pizza. o Selecione a opção "DirectedAssociation" seta na "caixa de ferramentas,

clique em Pizza, e arraste para IShape.

Page 8: StarUML Tutorial

Agora, selecione a seta, e na caixa "Propriedades", à direita, mudar o nome para "-tem uma" mudança "End1.Aggregation" para "agregados" (esta é uma declaração formal de esquemas que é composta por uma pizza, ou seja, "agregados", com outro objeto, forma um objeto).

Altere o "End2.Name" para _shape. Isto irá automaticamente adicionar um campo privado chamado _shape tipo de IShape a Pizza.

End2.Visibility para mudar o privado. o Criar uma "gettor" método (rotina) para _shape chamado getShape que

retorna IShape. Isto é, criar uma operação denominada getShape que retorna IShape.

18. Construtores especiais são pedaços de código utilizado para inicializar um exemplo de uma classe, quando se trata em existência.

o Para adicionar um construtor de Pizza, clique direito em pizza, expandir o "Adicionar" menu, e selecione "Operação". A partir daqui, adicione um funcionamento normal como de costume, com preços e parâmetros de entrada dupla IShape forma.

Adicionando um parâmetro de entrada é apenas como adicionando um parâmetro de saída para o regresso tipo anterior, exceto que você especifique o nome pretendido parâmetros, tais como preço e forma, e do tipo de dados apropriado.

o Adicione um construtor com parâmetro duplo Círculo de raio. o Adicione um retângulo construtor com parâmetros dupla dupla altura e

largura. 19. Seu diagrama deve agora parecido com este:

20. Para ilustrar mais um tipo de classe UML diagrama recurso, adicione uma outra turma para o seu esquema chamado "Test_Pizza." Isso seria uma classe que usa a Pizza e derivados IShape-classes, digamos, para fins de teste.

o Dependência linhas ajudar a mostrar as relações entre classes que ocorrem de forma mais dinâmica. Por exemplo, uma classe pode

Page 9: StarUML Tutorial

instanciar uma outra categoria, mas não mantêm uma permanente referência a ele, usando um campo. Ou uma classe pode tomar um outro método da classe como um parâmetro de entrada, mantendo uma referência a ela apenas para a duração da execução desse método.

o Adicionar dependências entre as diferentes classes, selecionando a "dependência" seta de "caixa de ferramentas, a selecção de uma classe dependentes, e arrastando a seta para a classe que é dependente. Neste exemplo, Test_Pizza "depende" em pizza, Circle, e Retângulo instantiates porque eles.

o Digite um rótulo para a dependência, alterando o "Nome" a propriedade em Propriedades da caixa ou clicando duas vezes a dependência linha. Normalmente, quando uma classe instantiates outra classe, nós rótulo a dependência line "instantiates" (surpresa das surpresas!).

o Você pode mover o marcador da dependência em torno de uma linha mais estético local, selecionando a etiqueta com o esquema e arrastando-o.

o Dependências não têm qualquer efeito sobre o código geração. 21. Seu diagrama deve agora parecido com o diagrama no topo desta página. 22. Sinta-se livre para fazer outras alterações ao seu diagrama. Você pode arrastar

a sua classe em torno de diagramas e dobrar as setas de muitas formas diferentes (para fazer as setas retilíneo, selecione uma seta, clique direito dele, expandir formato, expandir Estilo da linha, e seleccione Rectilinear). Você apenas tem que experimentar com a ferramenta de conhecê-lo.

23. No menu Arquivo, selecione Salvar. SU utiliza um arquivo único projecto para o conjunto das informações, assim você deverá ter apenas 1 arquivo gerada atualmente.

24. Será útil diagramas de exportar para outros formatos, como imagens. Você pode fazer isso ao selecionar "Exportar Esquema" no menu Arquivo e escolha um tipo de arquivo adequado.

25. Para gerar o bacalhau Java rascunho: o Vá para "Ferramentas" no menu principal, expandir "Java", e selecione "Gerar

Código".

o A partir desta caixa de diálogo, selecione o seu modelo, provavelmente chamado "Model1" e pressione "Next"

Page 10: StarUML Tutorial

o Selecione "Selecionar Todos" rascunho para gerar código para todas as classes do seu modelo / esquema e, em seguida, pressione "Next".

o Selecione um diretório válido saída e selecione "Next" o No "Setup Options", certifique-se de verificar tanto "Gerar a

Documentação em Javadoc" e "Gerar javadoc vazia". Todas as outras caixas deverão ser desmarcado. Então pressione "Next".

o StarUML agora irá gerar o código de stubs seu diagrama. Clique em "Concluir" para sair do diálogo.

o Agora você pode editar o código gerado rascunho para acrescentar funcionalidade para a aplicação.

26. Agora definir o que realmente faz deste programa, ou seja, escrever o código para implementar os métodos descritos em seu esquema.

o Use DrJava para adicionar o código correspondente à classe. Java arquivo. O código seria o mesmo que você escreveu para HW02. (Nota: o código Test_Pizza é melhor para a autoprodução DrJava em vez de criar a mão na StarUML. Estamos aqui para lhe mostrou apenas ilustrativos razões.)

o Lembre-se que a IShape getArea () método é o resumo e, portanto não tem nenhum código corpo.

o Certifique-se de acrescentar comentários ao código como mostrado no código da amostra. Os comentários são escritos em "javadoc" estilo. Você vai aprender mais sobre javadoc em laboratórios posteriores.

27. StarUML também é capaz de criar um diagrama de classe existentes código Java, o que é referido como a "engenharia reversa" o código. Isto é muito útil quando você tem código já existente que pretende esquema ou se tem modificado código que foi gerado por StarUML , acrescentando campos e métodos e assim você deseja atualizar seus esquemas de forma a reflectir as alterações. O processo de vão e vêm entre a trabalhar em seu código através de um diagrama e através de um editor de texto como o DrJava, é chamado de "ida e volta de engenharia" e é a concepção básica utilizada no processo de programação orientada objeto.

o Para fazer engenharia reversa algum código existente, vá para o menu principal bar e selecione "Ferramentas / Java / engenharia reversa ...".

o Selecione o diretório que guarda o Java (. Java) arquivos que você deseja utilizar e clique no botão "Adicionar" ou "Adicionar todos" botão para incluí-los no processo de engenharia reversa. Em seguida, clique em "Next (N)".

o Selecione o modelo que deseja adicionar as classes para, provavelmente "Model1" clique em "Next (N)".

o Na opção Setup: Tenha certeza que as opções para a geração de "público",

"pacote", "protegida" e "privado" visibilidade são todos controlados (este é o padrão).

Além disso, por padrão, o botão "Criar o campo para o atributo" deve ser selecionada.

A menos que você deseja SU para criar outro, mal-estabelecidas fora, diagrama de classe mostrando-lhe todas as classes do seu modelo, desmarque a opção "Criar Geral Diagrama" caixa.

Quando acabar de verificar as suas opções, clique em "Executar (R)".

Page 11: StarUML Tutorial

SU agora irá importar as classes nos arquivos selecionados para o seu modelo. Clique em "Concluir" para sair da janela quando está completo.

o SU irá adicionar qualquer importados aulas em seu modelo, mas não o seu esquema. Para adicioná-los ao seu diagrama, basta arrastá-los a partir do Modelo Explorer para o seu esquema.

Bug aviso: A partir de versão 5.0.2.1570 do StarUML, quando uma generalização linha foi suprimida a partir do diagrama, ele não pode realmente ser suprimida a partir do modelo subjacente. Isto pode causar errada na geração de códigos. Para detectar se há excesso relacionamentos ainda remanescentes para uma classe, faça o seguinte:

1. Clique com o botão direito e escolha a classe "Colecção Editor". 2. No Colecção Editor, selecione a opção "Relações" guia. 3. As relações guia irá mostrar todas as relações associadas com a classe, tanto os

que apontam linha de distância da classe assim como os que apontam para ele. 4. Se houver mais relações mostrado na aba do que mostrando as relações com o

esquema, verifique a descobrir o que está em um erro. 5. Para excluir uma relação que não é visível na classe diagrama, clique direito, a

relação de Relações com o guia e selecione "Excluir".

Mais informações sobre a correr StarUML pode ser encontrada aqui.

Comentários, perguntas, comentários, críticas?

Enviar comentários

E-mail do autor do módulo, StarUML Tutorial

Rodapé

Mais sobre este conteúdo: Metadados | Versão História

Como a reutilização e atribuem este conteúdo Como citar este atributo e conteúdo

Este trabalho é licenciado por Stephen Wong sob uma licença Creative Commons Atribuição (CC-POR 2.0).

Última edição por Stephen Wong em Sep 10, 2007 12:37 pm GMT-5.