Você está na página 1de 6

Pular para o conteúdo

PROJETO DE SISTEMAS
Site para disciplina de Projeto de Sistemas do Curso
de Especialização em Tecnologias e Sistemas e
Informação da UAB-UFABC
Menu
InícioAula4

Aula4
Introdução ao UML (Unified Modelling
Language)
1. Introdução

Vimos anteriormente que o projeto orientado a objetos de um


sistema computacional permite a criação de um código mais modular
e fácil de manter, além de permitir o reuso de código desenvolvido
anteriormente.

Nesta aula veremos como fazer para descrever um sistema


computacional orientada a objetos usando diagramas. O padrão
utilizado para descrever estes sistemas é o UML (Unified Modelling
Language). Este padrão é composto por 9 tipos de diagramas:

 Diagramas de Casos de Uso: descreve as interações entre os


usuários (atores) e os componentes do sistema;
 Diagramas de Classes: descreve as classes que fazem parte do
sistema;
 Diagramas de Objetos: descreve os objetos que fazem parte do
sistema;
 Diagramas de Sequência: descreve a sequência temporal de
interações entre os componentes do sistema;
 Diagramas de Colaboração: mostra as interações entre os
objetos do sistema;
 Diagramas de Estado: mostra a sequência de estados que um
objeto pode assumir e sua resposta em resposta a estímulos
externos;
 Diagramas de Atividade: mostra o fluxo de atividades de um
processo, de modo que o término de uma ação em um objeto
causa o início de outra ação em outro (ou no mesmo) objeto;
 Diagramas de Componentes: descreve o sistema como uma
estrutura de pacotes e mostra a relação entre os diversos
pacotes;
 Diagramas de Implantação: descreve como os componentes do
sistema de software são implantados na estrutura física.

Nesta aula apresentaremos os diagramas de casos de uso, de classes


e de sequência, que são os diagramas utilizados com maior
frequência na descrição dos projetos. Para mais informações sobre os
demais tipos de diagramas, existem diversos tutoriais na web e livros
sobre UML, tal como o livro de GRADY BOOCH, JAMES RUMBAUGH e
IVAR JACOBSON de título UML GUIA DO USUÁRIO da Editora CAMPUS
– ELSEVIER.

Existem diversas ferramentas para desenhar diagramas UML. Uma


opção multiplataforma e gratuita é o ArgoUML,
(http://argouml.tigris.org/). Para quem não quiser instalar um
software no computador, o Gliffy (http://www.gliffy.com/) permite
gerar diagramas UML online, mas é gratuito por apenas 30 dias.

2. Diagramas de Casos de Uso


Os diagramas de caso de uso descrevem as interações entre os
usuários (atores) e os componentes do sistema. Estes diagramas são
utilizados para descrever os requisitos funcionais e do usuário do
sistema, especificando como os usuários irão interagir com o sistema
e quais funções devem estar disponíveis para cada usuário.

Os usuários são normalmente denominados atores e podem assumir


diferentes papéis. Os atores são normalmente representados pela
figura de um boneco, como na figura a seguir. Já as ações do sistema
são representadas por marcações ovais.
Na figura apresentada há um exemplo de caso de uso de alto-nível
para um sistema de vendas de uma empresa. Neste caso, um
consumidor pode realizar a busca por um produto, colocar o produto
no carrinho de compras ou verificar o estado do pedido. Já o
vendedor, que controla as vendas, pode despachar o pedido para
entrega e verificar o estado de cada pedido.

3. Diagramas de Classes (Diagrama Estrutural)


Os diagramas de classe representam as classes de um projeto
orientado a objetos, incluindo seus métodos e atributos, e suas
interações com outras classes do sistema. O diagrama é estático, pois
ele mostra apenas as interações, e não o fluxo de ações ou mudanças
de estado.

O diagrama a seguir mostra a interação entre um grupo de classes.

Notem que existem 3 tipos de interações:

 Associação: representa o caso em que uma classe sabe da


existência da outra. Por exemplo, alguma de suas operações
pode receber uma instância daquela classe como parâmetro.
Por exemplo, cada Pedido está associado a um Consumidor;
 Agregação: representa o caso em que uma classe possui uma
coleção de objetos de uma segunda classe. No exemplo ao
lado, cada objeto Pedido possui uma lista de objetos do tipo
Produto;
 Generalização: representa o caso em que é usado herança, e
indica que uma classe é superclasse de outras classes. No caso,
a classe do tipo Boleto é uma subclasse do tipo Pagamento.
Os números presentes nas interações representam a multiplicidade
da interação. Os exemplos utilizados na figura estão entre os
seguintes casos:

1 → Exatamente uma instância

m..n → Entre m e n instâncias

0..* → Número nulo ou ilimitado de instâncias

1..* → Pelo menos 1 instância

Além disso, cada classe possui uma lista de atributos, que são os
dados que ficam na memória de cada objeto. Estes atributos podem
ser dos tipos permitidos pela linguagem de programação escolhida.
No caso da figura apresentada, utilizamos os tipos String, Real e
Lista<Produto>, que representa uma lista de objetos do tipo Produto,
mas outros tipos podem ser utilizados. Também podem ser descritas
as operações que podem ser realizadas sobre os objetos de cada tipo.

Finalmente, para cada método e atributo é possível especificar se ele


é do tipo privado (-) do objeto, isto é, só pode ser acessado por
operações do próprio objeto, ou se é público (+), isto é, pode ser
acessado por qualquer objeto.

4. Diagramas de Sequências
São diagramas que mostram quais mensagens são enviadas entre os
objetos do sistema e em que ordem. Por tratar da questão temporal
das mensagens, dizemos que os diagramas de sequência são
dinâmicos.

Os diagramas de sequência são organizados colocando-se os objetos


no topo, e o tempo é representado por uma linha vertical. As
mensagens são posicionadas na linha de acordo com o momento de
seu envio, seguindo uma ordenação com do topo para a base.

O exemplo a seguir mostra o processo de compra de 2 itens na loja


virtual de eletrônicos. O objeto que representa o Consumidor envia
duas mensagens a Pedido, relativos a dois itens que serão
comprados. Em seguida, ele envia uma mensagem para finalizar o
pedido.
O objeto do tipo Pedido notifica Pagamento para que seja efetuado o
pagamento. Este por sua vez solicita os dados ao cliente, que os
envia de volta. Confirmada a cobrança, o objeto Pagamento avisa
Pedido que avisa Consumidor que a compra foi finalizada.

A grande vantagem de utilizar os diagramas de sequência é que fica


claro qual é a ordem das chamadas durante a realização de alguma
funcionalidade. Neste sentido, o diagrama de sequência é
complementar aos diagramas de classe, que apenas mostra de modo
estático quais tipos de objetos interagem com quais.

4. Conclusão
Os diagramas UML facilitam a visualização de diferentes aspectos de
um sistema, como as interações dos usuários com o sistema, a
estrutura de classes e as sequências de interações dos objetos. Além
dos 3 tipos de diagramas vistos, existem outros 6 tipos.
O objetivo desta aula foi apenas introduzir os tipos mais utilizados de
diagramas, sem a preocupação de descrever todos os detalhes de
notação, que podem ser obtidos nos inúmeros livros e tutoriais web
disponíveis sobre o assunto, como os que seguem para estudo extra:

 UML Resource Page (em inglês)


 Fundamentos de UML (em português)
Compartilhe isso:

 Twitter
 Facebook

Deixe um comentário

InstantaneamentePor diaPor semana


Comentário
Crie um website ou blog gratuito no WordPress.com.

 Assinar

Você também pode gostar