Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

49
Analise e Projetos Orientado a Objetos UML Prof. Rudson K. S. Carvalho - 2010

description

Aula de Analise e Projetos - Diagramas UML

Transcript of Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Page 1: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Analise e Projetos

Orientado a Objetos

UML

Prof. Rudson K. S. Carvalho - 2010

Page 2: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML - Contexto Histórico

A UML surgiu em 1997 da unificação de três das principais linguagens de modelação orientadas por objetos:

Método de Booch, de Grady Booch; Método OMT (Object Modeling Technique) de Ivar

Jacobson; Método OOSE (Object Oriented Software

Engineering) de James Rumbaugh.

Rapidamente, adquiriu o estatuto de norma no âmbito da Object Management Group (OMG) e da International Organization for Standardization (ISO), tendo vindo a ser adotado pelas empresas e universidades de todo o mundo.

Page 3: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Os Três Amigos

Page 4: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Vantagens de Utilizar a UML

A principal vantagem da UML é que permite gerir, praticamente em toda a sua totalidade, projetos com arquiteturas complexas. Sendo uma linguagem muito usada e simples de utilizar e perceber, facilita a comunicação entre todos os intervenientes: do cliente ao programador, passando pelo designer. A conjugação de todos estes fatores ajuda substancialmente a reduzir os custos e prazos dos projetos.

Page 5: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML - Elementos básicos

A estrutura de conceitos da UML consiste num conjunto variado de notações, as quais podem ser aplicados em diferentes domínios de problemas e a diferentes níveis de abstração. Pode ser vista através das seguintes noções: “Coisas” ou elementos básicos, com base nos quais se

definem os modelos; Relações, que relacionam elementos; Diagramas, que agrupam elementos.

Os elementos estão organizados relativamente a sua funcionalidade ou responsabilidade.

Os elementos existentes são de estrutura, comportamento, agrupamento e de anotação.

Page 6: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Diagramas - UML Os diagramas são os meios utilizados para a

visualização dos blocos de construção da UML, são representações gráficas de um conjunto de elementos.

Permitem visualizar o sistema sob diferentes perspectivas.

Existem 13 diagramas na UML versão 2.0, são hierarquicamente dependentes e complementares, de modo a permitir a modelagem de um projeto ao longo do seu ciclo de vida.

Page 7: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Diagramas - UML

Os diagramas UML são basicamente divididos em 2 grupos:

Estruturais (Estáticos)

Comportamentais (Dinâmicos)

Page 8: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Diagramas - UML

Page 9: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Diagramas - UML Partes estáticas do sistema:

Diagrama de classes Diagrama de objetos Diagrama de componentes Diagrama de pacotes Diagrama de implantação (Diagrama de instalação) Diagrama de estrutura composta

Partes dinâmicas do sistema: Diagrama de caso de uso Diagrama de atividades Diagrama de seqüência Diagrama de colaboração (UML 1.x) -> Diagrama de

comunicação (UML 2.0) Diagrama de máquina de estados (Diagrama de transição de

estados) Diagrama de tempo Diagrama de visão interação

Page 10: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Diagrama de Caso de Uso Representação visual dos itens do Escopo Auxílio ao usuário final no entendimento do

que será desenvolvido Formaliza o Escopo Diferencia os vários papéis dentro do Sistema

Page 11: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Diagrama de Caso de Uso

Page 12: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Diagrama de Classes Refere-se a descrição de um conjunto de objetos

que compartilham os mesmos atributos,operações, relações e semântica.

UML sugere capitalizar todas as primeiras letras de cada palavra no nome (ex.: ``Lugar'', ``DataReserva'').

Uma boa pratica é manter nomes de classe no singular, classes por padrão “contem” mais de um objeto, o plural é implícito. [Nicolas Anquetil]

Page 13: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Diagrama de Classes

Page 14: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Diagrama de Classes

Diferença entre Classes x Objetos Classes

Estrutura Define as características que um conjunto de

elementos (objetos) tem em comum Durante a modelagem do sistema definimos

CLASSES Objetos

Instância (ocorrência) Na execução do sistema o que existe é um

conjunto de OBJETOS

Page 15: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

15

UML – Diagrama de Objetos

O Diagrama de Objetos é usado na modelagem

de estruturas de objetos.

Fornece uma visão instantânea (“congelada”) de

um conjunto de objetos no Sistema, descrevendo

o estado de cada objeto e as relações que

existem entre esses objetos em um dado ponto

no tempo.

Esses diagramas são formados por objetos e

vínculos. Também podem conter notas e

restrições, bem como, pacotes para representar

agrupamentos.

Page 16: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Representação de um Objeto:

A representação de um objeto (instância) é semelhante a representação de

uma classe.

No compartimento do nome, indica-se o nome do objeto (variável de

referência) seguido por : (dois pontos) e o nome da classe que o objeto

representa, e ambos sublinhados.

O nome da referência pode ser omitido, resultando assim em uma instância

anônima.

No compartimento dos atributos, indica-se o valor dos atributos em um

determinado momento da execução do sistema.

Objeto nomeado

P1: Produto

id = 10descricao = “Copo”preco = 10.50

Objeto anônimo

: Produto

id = 10descricao = “Copo”preco = 10.50

UML – Diagrama de Objetos

Page 17: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

17

Exemplo:

UML – Diagrama de Objetos

Page 18: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Diagrama de Pacotes

Um Diagrama de Pacotes demonstra o agrupamento das classes e/ou interfaces.

Um pacote é representado por uma pasta (um retângulo com uma aba no canto esquerdo da borda superior).

Modelo

Modelo

Cliente Produto

Page 19: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagramas de Pacotes

Pode demonstrar classes seus respectivos pacotes.

Page 20: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

Demonstra a Decomposição de um Sistema em

subsistemas. Estereótipo

<<System>>

Banco Online

<<Subsystem>> <<Subsystem>> <<Subsystem>>

Apresentação Relatórios Administração

Diagrama de Pacotes

Page 21: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

21

Demonstra a Decomposição de um Sistema em

Camadas.

<<tier>>

Cliente

<<tier>>

Apresentação

<<tier>>

Negócio

<<tier>>

Dados

Diagrama de Pacotes

Page 22: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Atividades

Diagrama comportamental (visualiza aspectos

dinâmicos) usado para modelar o fluxo de

trabalho (fluxo de uma atividade para outra).

Descreve o fluxo de eventos de um cenário de

um Caso de Uso.

Muito semelhante a um fluxograma usado em

Lógica de Programação.

Page 23: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Atividades

Page 24: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagramas de Interação

Os Diagramas de Interação são usados para modelar o comportamento

dinâmico do sistema. Descrevem os fluxos de controle, como os objetos

interagem durante a execução de uma tarefa do sistema.

Demonstram as trocas de mensagens entre os objetos.

São divididos em quatro tipos:• Diagrama de seqüência (ênfase no tempo )• Diagrama de Colaboração / Comunicação (ênfase na organização dos objetos)• Diagrama de Tempo• Diagrama de Visão de Interação

Page 25: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Seqüência

Demonstra a troca de mensagens entre os objetos do

sistema em uma ordem temporal, ou seja, dá ênfase à

ordem em que as mensagens entre objetos são trocadas.

Mostra visualmente o fluxo de controle ao longo do

tempo.

Linha de Vida do Objeto

Linha tracejada vertical ligada a um objeto que representa a

existência desse objeto em um período de tempo.

Foco de Controle (barra de ativação / barra de execução)

Retângulo estreito sobre a linha de vida que mostra o período

durante o qual um objeto está desempenhando uma ação.

Mensagem / Chamada de método

Comunicação entre os objetos representada por uma linha

contínua horizontal entre as linhas de vida dos objetos, com

uma seta apontando do objeto emissor para o objeto receptor

da mensagem.

Page 26: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Seqüência

Page 27: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Page 28: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Colaboração ou Comunicação Demonstra a troca de mensagens entre os objetos do sistema de forma a

capturar as relações estruturais entre eles. Mostra como os objetos estão

vinculados.

Page 29: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Colaboração/Comunicação

Page 30: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Máquina de Estados

Descreve o ciclo de vida de um objeto, mostrando os estados que esse objeto

apresenta e as transições entre esses estados que ocorrem em resposta a

eventos durante a sua existência.

Page 31: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Máquina de Estados

Estados

Um estado é uma condição ou situação em que um objeto se encontra num

determinado momento. É representado por um retângulo de cantos

arredondados.

Estado Inicial e Final

Estados especiais que definem respectivamente o início e o fim do ciclo de

vida.

Transições (“Eventos”)

Uma transição é um relacionamento entre dois estados, indicando a

mudança de um estado para outro após a realização de certas ações. São

representadas por uma linha contínua com uma seta apontando do estado

origem para o estado final. Uma transição é formada por cinco partes:

Estado de Origem

Estado em que o objeto se encontra quando recebe um evento de ativação

para realizar uma certa ação.

31

Page 32: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Máquina de Estados

Evento de Ativação

Estímulo que ocorre em um objeto, capaz de disparar uma

transição de estado.

Condição de Proteção / Condição de Guarda

Expressão booleana entre colchetes que é avaliada quando

uma transição é iniciada pelo evento de ativação. Que define se a

transição será ou não executada.

Ação

Computação que pode ocorrer em uma transição,

normalmente uma chamada de método.

Estado Destino

Estado em que o objeto se encontra após a conclusão da

transição.

32

Page 33: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Máquina de Estados

Page 34: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

34

UML – Diagrama de Máquina de Estados

Page 35: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

35

UML – Diagrama de Componentes

Um componente é uma parte substituível e executável

de um sistema cujos detalhes de implementação são

ocultos. Pode ser reutilizado em vários sistemas sem a

necessidade de modificar sua implementação. É

representado por um retângulo com dois outros

retângulos menores na borda esquerda. Ou então,

através de um retângulo com um ícone de componente

no canto superior direito.

<<componente>>

VerificadorCartao

<<componente>>

VerificadorCartao

Page 36: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Componentes

Relação de dependência: um componente pode usar uma ou mais Interfaces

– Diz-se que essas interfaces são importadas– Um componente que usa outro componente através

de uma interface bem definida, não deve depender da implementação (do componente em si), mas apenas da interface

Page 37: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Componentes

Page 38: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de

Implantação/Implementação/Desdobramento

Modela como o sistema está fisicamente distribuído. Demonstrando a configuração dos nós de processamento e os componentes executados nesses nós.

Um nó é um elemento físico que representa um recurso computacional. Um nó executa componentes. É representado por um cubo.

Os diagramas de implementação são empregados para a modelagem da visão estática da implementação de um sistema. Na maior parte, isso envolve a modelagem da topologia do hardware em que o sistema é executado;

São utilizados para visualizar, especificar e documentar sistemas embutidos, cliente/servidor, distribuídos e gerenciamento de sistemas executáveis;

WebServer

Page 39: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de

Implantação/Implementação/Desdobramento

Page 40: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de

Implantação/Implementação/Desdobramento

Page 41: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de

Implantação/Implementação/Desdobramento

Page 42: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de

Implantação/Implementação/Desdobramento

Page 43: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Visão Geral de Interação ou Interação

Geral

O diagrama de visão geral de interação e uma variação do diagrama de atividades, proposto na versão atual de UML. Seus elementos sintáticos são os mesmos do diagrama de atividades. As interações que fazem parte do diagrama de visão geral de interação podem ser referencias a diagramas de interação existentes na especificação tratada, é um diagrama que congrega os outros diagramas de interação (seqüência, comunicação, tempo). Serve para mostrar seqüências entre estes diagramas de atividades são permitidas nesse diagrama.

Page 44: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Visão Geral de Interação

Page 45: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Tempo ou TemporizaçãoDiagrama de tempo (Timing Diagram) incluído a partir da UML 2.0 apresenta o comportamento dos objetos e sua interação em uma escala de tempo, focalizando as condições que mudam no decorrer desse período.

Page 46: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Tempo ou Temporização

Page 47: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Estrutura Composta

O diagrama de estrutura composta fornece meios de definir a estrutura de um elemento e de focalizá-la no detalhe, na construção e em relacionamentos internos. E um dos novos diagramas propostos na segunda versão da UML, voltado a detalhar elementos de modelagem estrutural, como classes, pacotes e componentes, descrevendo sua estrutura interna.

Page 48: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho

UML – Diagrama de Estrutura Composta

Page 49: Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho