aula de analise e projetos - diagramas uml - prof. rudson kiyoshi s. carvalho
DESCRIPTION
Aula de Analise e Projetos - Diagramas UMLTRANSCRIPT
Analise e Projetos
Orientado a Objetos
UML
Prof. Rudson K. S. Carvalho - 2010
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.
UML – Os Três Amigos
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.
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.
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.
Diagramas - UML
Os diagramas UML são basicamente divididos em 2 grupos:
Estruturais (Estáticos)
Comportamentais (Dinâmicos)
Diagramas - UML
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
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
Diagrama de Caso de Uso
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]
Diagrama de Classes
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
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.
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
17
Exemplo:
UML – Diagrama de Objetos
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
UML – Diagramas de Pacotes
Pode demonstrar classes seus respectivos pacotes.
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
21
Demonstra a Decomposição de um Sistema em
Camadas.
<<tier>>
Cliente
<<tier>>
Apresentação
<<tier>>
Negócio
<<tier>>
Dados
Diagrama de Pacotes
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.
UML – Diagrama de Atividades
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
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.
UML – Diagrama de Seqüência
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.
UML – Diagrama de Colaboração/Comunicação
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.
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
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
UML – Diagrama de Máquina de Estados
34
UML – Diagrama de Máquina de Estados
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
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
UML – Diagrama de Componentes
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
UML – Diagrama de
Implantação/Implementação/Desdobramento
UML – Diagrama de
Implantação/Implementação/Desdobramento
UML – Diagrama de
Implantação/Implementação/Desdobramento
UML – Diagrama de
Implantação/Implementação/Desdobramento
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.
UML – Diagrama de Visão Geral de Interação
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.
UML – Diagrama de Tempo ou Temporização
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.
UML – Diagrama de Estrutura Composta