introdução uml, diagrama de classes e comunicação/colabaração prof. leandro buss becker...
TRANSCRIPT
![Page 1: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/1.jpg)
Introdução UML, Diagrama de Classes e
Comunicação/Colabaração
Prof. Leandro Buss Becker
![Page 2: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/2.jpg)
Unified Model Language
UML (Unified Modeling Language) – Linguagem de Modelagem UnificadaÉ uma linguagem de modelagem (visual), não uma linguagem de programaçãoÉ uma linguagem de modelagem não proprietária Permite a utilização de diagramas padronizados para especificação e visualização de um sistema
![Page 3: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/3.jpg)
De onde surgiu?
Da união de três metodologias de modelagem: 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.
Os “três amigos”.
![Page 4: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/4.jpg)
UML
“Fundadores” da UML
![Page 5: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/5.jpg)
De onde surgiu?
A primeira versão foi lançada em 1996
Em 1997 a UML foi adotada pela a OMG (Object Management Group – Grupo de gerenciamento de Objetos) como linguagem padrão de modelagem.
![Page 6: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/6.jpg)
O que é modelagem?
Atividade de construir modelos que expliquem as características ou comportamentos de um sistema.A UML pode ser usada com todos os processos durante o ciclo de desenvolvimento do projeto
Análise de requisitos; Análise de sistema; Design; Programação e Testes.
![Page 7: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/7.jpg)
Por que usar UML?
Desenvolver o modelo de uma aplicação antes de construí-la, é tão essencial quanto ter uma planta para a construção de uma casa. Analisar o projeto sobre vários aspectos; Diminui a possibilidade de erros. Facilita a programação; Todo o time entende a modelagem, facilitando
assim a manutenção.
![Page 8: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/8.jpg)
E onde fica a modelagem?Análise de requisitos Modelagem
ImplementaçãoTestes
Manutenção
Modelo de desenvolvimento mais comum. Todos os modelos são derivados dessa idéia
![Page 9: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/9.jpg)
Ciclo de DesenvolvimentoAnálise de requisitos Modelagem
ImplementaçãoTestes
Manutenção
![Page 10: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/10.jpg)
ModelosTipos de Modelagens Estrutural; Comportamental.
Estrutural (Estática) Diagrama de Classes Diagramas de Objetos Diagrama de Caso de Uso Diagrama de Componentes Dinâmica
Diagrama de Estados Diagrama de Atividades Diagrama de Colaboração Diagrama de Seqüência
![Page 11: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/11.jpg)
Relacionamento
As Classes costumam possuir relacionamento entre si, com o intuito de compartilhar informações e colaborarem umas com as outras para permitir a execução dos diversos processos executados pelo sistema.
![Page 12: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/12.jpg)
Associações
Descreve um vínculo que ocorre normalmente entre duas Classes, chamado neste caso de Associação Binária.
Em uma Associação determina-se que as instâncias de uma Classe estão de alguma forma ligadas às instâncias das outras Classes.
![Page 13: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/13.jpg)
Multiplicidade
0..1 No mínimo zero (nenhum) e no máximo um. Indica que os Objetos da classe associada não precisam obrigatoriamente estar relacionados.
1..1 Um e somente um. Indica que apenas um objeto da classe se relaciona com os objetos da outra classe.
0..* No mínimo nenhum e no máximo muitos. Indica que pode não haver não instâncias da classe participando do relacionamento.
* Muitos. Indica que muitos objetos da Classe estão envolvidos no Relacionamento.
1..* No mínimo um e no máximo muitos. Indica que há pelo menos um objeto envolvido no relacionamento, podendo haver muitos.
3..5 No mínimo 3 e no máximo 5. Indica que há pelo menos 3 instâncias envolvidas no relacionamento e que pode ser 4 ou 5 as instâncias envolvidas, mas não mais do que isso.
![Page 14: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/14.jpg)
Associação Binária
Ocorre quando são identificados relacionamentos entre duas classes.
Este tipo de Associação constitui-se na mais comum encontrada nos Diagramas de Classe.
![Page 15: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/15.jpg)
Representação da Associação Binária
![Page 16: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/16.jpg)
Agregação
É um tipo especial de associação onde tenta-se demonstrar que as informações e um objeto (chamado objeto-todo) precisam ser complementadas pelas as informações contidas em um objeto de outra classe (chamado objeto-parte).
![Page 17: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/17.jpg)
Representação de Agregação
![Page 18: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/18.jpg)
Composição
Constitui-se em uma variação do tipo agregação. Uma associação do tipo Composição tenta representar um vínculo mais forte entre os objetos-todo e objetos-parte.
Tenta mostrar que os objetos-parte têm que pertencer exclusivamente a um único objeto-todo.
![Page 19: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/19.jpg)
Representação da Composição
![Page 20: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/20.jpg)
Especialização / Generalização
Similar à associação de mesmo nome utilizado no Diagrama de Casos de Uso. Seu objetivo é identificar classes-mãe (gerais) e classes filhas (especializadas).
Permite também demonstrar a ocorrência de métodos polimórficos nas classes especializadas.
![Page 21: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/21.jpg)
Especialização / Generalização
![Page 22: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/22.jpg)
Dependência
Não é um tipo comum de relacionamento, como o próprio nome diz, identifica um certo grau de dependência de uma classe em relação a outra.
Representado por uma reta tracejada entre duas classes, contendo uma seta na extremidade do relacionamento que é dependente de alguma forma.
![Page 23: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/23.jpg)
Dependência
![Page 24: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/24.jpg)
Diagrama de Classes
É com certeza o mais importante e o mais utilizado diagrama da UML.
Permite a visualização das classes que comporão o sistema com seus respectivos atributos e métodos, bem como os relacionamento entre as classes.
![Page 25: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/25.jpg)
Diagrama de Classes
Apresenta uma visão estática de como as Classes estão organizadas;
Preocupação apenas com a estrutura lógica.
Serve como base para outros diagramas da UML.
![Page 26: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/26.jpg)
Diagrama de ClassesExemplo
![Page 27: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/27.jpg)
Diagrama de Comunicação/Colaboração
O Diagrama de Comunicação era conhecido como Diagrama de Colaboração até a versão 1.5 da UML, tendo seu nome modificado para Diagrama de Comunicação a partir da versão 2.0.
![Page 28: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/28.jpg)
Diagrama de Comunicação/Colaboração
Representa interação entre os objetos od sistema
Preocupação com o tempo de execução.
Em um diagrama de comunicação o tempo é representado através de uma numeração, que pode ser de duas formas: simples (1,2,3,...) composta (1.1, 1.2, 1.2.1, ...)
![Page 29: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/29.jpg)
Diagrama de Comunicação/Colaboração
Um objeto é representado como um retângulo, contendo no seu interior um rótulo, que informa o nome do objeto e o nome da classe, separados por dois pontos
![Page 30: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/30.jpg)
Diagrama de Comunicação/Colaboração
Um vínculo é uma associação que identifica uma ligação entre dois objetos envolvidos em um processo. É caracterizado pelo envio ou recebimento de uma mensagem, ou ambos.
![Page 31: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/31.jpg)
Diagrama de Comunicação/Colaboração
É possível adicionar condições, para representar as mensagens enviadas entre os objetos, basta adicionar a descrição entre colchetes na própria mensagem.
![Page 32: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/32.jpg)
Diagrama de Comunicação/Colaboração
![Page 33: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/33.jpg)
Diagrama de Comunicação/Colaboração
Um objeto pode disparar uma mensagem em si próprio, o que é reconhecido como autochamada.
![Page 34: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/34.jpg)
Diagrama de Comunicação/Colaboração
Exemplo:
Realizar submissão de um artigo em um congresso.
Mostrar as mensagens trocadas entre o Submissor, a página do congresso, o controlador do congresso, o tema e a Submissão.
![Page 35: Introdução UML, Diagrama de Classes e Comunicação/Colabaração Prof. Leandro Buss Becker lbecker@das.usfsc.br](https://reader037.vdocuments.site/reader037/viewer/2022102900/552fc12f497959413d8d40bf/html5/thumbnails/35.jpg)