21
Faculdade de Tecnologia SENAC Guilhermi Vieira Dias Diagramas UML Análise e Projeto de Software Pelotas-RS 2014

Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

Embed Size (px)

Citation preview

Page 1: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

Faculdade de Tecnologia SENAC

Guilhermi Vieira Dias

Diagramas UML Análise e Projeto de Software

Pelotas-RS 2014

Page 2: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

2

Sumário Resumo ................................................................................................................................. 3

Introdução .............................................................................................................................. 4

Diagrama de objetos .............................................................................................................. 5

Diagrama de classes ............................................................................................................. 7

Diagrama de sequência ......................................................................................................... 9

Diagrama de Estrutura Composta ........................................................................................ 11

Diagrama de Comunicação.................................................................................................. 13

Diagrama de pacotes ........................................................................................................... 15

Diagrama de Interação ........................................................................................................ 16

Diagrama de componente .................................................................................................... 18

Diagrama de implantação .................................................................................................... 19

Conclusão ............................................................................................................................ 20

Referencias Bibliográficas ................................................................................................... 21

Page 3: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

3

Resumo

Esse trabalho foi realizado e desenvolvido através de pesquisas realizadas

durante o semestre. Nele será abordado o conteúdo referente a diagramas de UML

como Diagrama de Objetos, de Classes, de Sequência, de Estrutura Composta, de

Comunicação, de Pacotes e de Interação que são considerados os principais

diagramas da UML.

Page 4: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

4

Introdução

A UML, que significa Linguagem Unificada de Modelagem, é uma linguagem

padrão para modelagem orientada a objetos. Ela surgiu da fusão de três grandes

métodos, do BOOCH, OMT e OOSE. Esta linguagem de modelagem não

proprietária de terceira geração, não é um método de desenvolvimento. Têm como

papel auxiliar a visualizar o desenho e a comunicação entre objetos. Ele permite que

desenvolvedores visualizem os produtos do seu trabalho em diagramas

padronizados, e é muito usada para criar modelos de sistemas de software.

Simplificando, um diagrama é uma representação visual estruturada e

simplificada de um determinado conceito, ideia, etc. Existem diversos tipos de

diagramas e são utilizados em quase todas as áreas do conhecimento humano.

Nesse trabalho, vamos conhecer os principais diagramas da UML.

Page 5: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

5

Diagrama de objetos

O diagrama de objetos modela as instâncias das classes contidas no

diagrama de classes, isto é, o diagrama de objetos mostra um conjunto de objetos e

seus relacionamentos no tempo. Estes diagramas são importantes para construir os

aspectos estáticos do sistema. Normalmente, são compostos por objetos e vínculos.

Esse diagrama mostra uma imagem de um sistema Orientado a Objetos com

os objetos, com os valores de seus objetos, valores de seus atributos e as ligações

que seriam os métodos.

Ele permite um maior entendimento do problema e úteis para a modelagem

de estruturas de dados complexas, focando apenas uma parte dos objetos. Não

mostra a evolução do sistema com o tempo.

O diagrama de objetos é uma variação do diagrama de classes e utiliza quase

a mesma notação. A diferença é que o diagrama de objetos mostra os objetos que

foram instanciados das classes. O diagrama de objetos é como se fosse o perfil do

sistema em certo momento de sua execução.

A mesma notação do diagrama de classes é utilizada com das exceções: os

objetos são escritos com seus nomes sublinhados e todas as instâncias num

relacionamento são mostradas. Os diagramas de objetos não são tão importantes

como os diagramas de classes, mas eles são muito úteis para exemplificar

diagramas complexos de classes ajudando muito em sua compreensão. Diagramas

de objetos também são usados como parte dos diagramas de colaboração (passou

a se chamar comunicação na UML 2.0), onde a colaboração dinâmica entre os

objetos do sistema são mostrados.

Page 6: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

6

Figura 1 – Diagrama de objetos

Page 7: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

7

Diagrama de classes

Em programação, um diagrama de classes é uma representação da estrutura

e relações das classes que servem de modelo para objetos.

É uma modelagem muito útil para o desenvolvimento de sistemas, pois define

todas as classes que o sistema necessita possuir e é base para a construção dos

diagramas de comunicação, sequência e estados.

1. Classe: elemento abstrato que representa um conjunto de objetos. A

classe contém a especificação do objeto; suas características: atributos

(caraterísticas) e métodos (ações/comportamentos).

1.1 Atributos: define características da classe como:

1.1.1. Visibilidade: pública, representada pelo símbolo '+', onde outras classes

podem ter acesso ao atributo. Privada, representada pelo símbolo '-', o atributo

somente é acessado diretamente pela própria classe e Protegida, representada pelo

símbolo '#', ou Pacote, representada pelo símbolo '~', que é acessado pelo

relacionamento da classe com a classe externa.

1.1.2. Nome: identificação do atributo.

1.1.3. Tipo de dados: tipo de dado do atributo.

1.1.4. Multiplicidade: relacionamentos.

1.1.5. Valor inicial: depende da linguagem de programação, valor opcional.

1.1.6. Propriedade: características do elemento, opcional.

1.2. Operação: função requerida a um objeto abstrato (nome, visibilidade,

parâmetros).

1.3. Associação: relacionamentos entre classes.

1.3.1. Nome: nome da associação.

1.3.2. Multiplicidade.

1.3.3. Navegação: de onde vêm as informações da classe a para onde vai.

Os objetos tem relação entre eles: um professor ministra uma disciplina para

alunos numa sala, um cliente faz uma reserva de alguns lugares para uma data, etc.

Essas relações são representadas também no diagrama de classe.

Page 8: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

8

Figura 2 - Diagrama de classes

Page 9: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

9

Diagrama de sequência

O diagrama de sequência é usado em UML (Unified Modeling Language),

representando a sequência de processos (mais especificamente, de mensagens

passadas entre objetos) num programa de computador. Como um projeto pode ter

uma grande quantidade de métodos em classes diferentes, pode ser difícil

determinar a sequência global do comportamento. O diagrama de sequência

representa essa informação de uma forma simples e lógica.

Um diagrama de sequência descreve a maneira como os grupos de objetos

colaboram em algum comportamento ao longo do tempo. Ele registra o

comportamento de um único caso de uso e exibe os objetos e as mensagens

passadas entre esses objetos no caso de uso.

Em síntese o Diagrama de Sequência é uma das ferramentas UML usadas

para representar interações entre objetos de um cenário, realizadas através de

operações ou métodos. Este diagrama é construído a partir do Diagrama de Casos

de Usos. Primeiro, define-se qual o papel do sistema, depois, é definido como

software realizará seu papel.

O diagrama de sequência dá ênfase à ordenação temporal em que as

mensagens são trocadas entre os objetos de um sistema. Entende-se por

mensagens os serviços solicitados de um objeto a outro, e as respostas

desenvolvidas para as solicitações.

Ele procura determinar a sequência de eventos que ocorrem em um

determinado processo, identificando quais mensagens devem ser disparadas entre

os elementos envolvidos e em que ordem acontece.

Baseiam-se nos casos de uso, havendo normalmente um diagrama de

sequência para cada caso de uso. Dependem também do diagrama de classes, já

que as classes dos objetos utilizados no processo estão descritas nele.

Representa a sequência temporal em que as mensagens são trocadas. É

melhor quando há ramificações de controle simples, o tempo passa de cima para

baixo.

Page 10: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

10

Figura 3 - Diagrama de sequência

Page 11: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

11

Diagrama de Estrutura Composta O diagrama definido a partir da UML 2.0 do RUP destina-se a descrição dos

relacionamentos entre os elementos. Utilizado para descrever a colaboração interna

de classes, interfaces ou componentes para especificar má funcionalidade.

Colaboração: Define um conjunto de regras e suas ligações para ilustrar uma

funcionalidade específica.

Parte: Representa as classes internas que compõem uma classe

encapsulada à chamada Container.

Port: a interação entre uma classe e/ou objeto e sua interface.

O diagrama de estrutura composta é utilizado para modelar colaborações.

Uma colaboração descreve uma visão de um conjunto de entidades cooperativas

interpretadas por instâncias que cooperam entre si para executar uma função

específica.

Então podemos dizer que o diagrama de estrutura composta reflete a

colaboração interna das classes para descrever a funcionalidade. São bem similares

aos diagramas de classes, exceto pelo fato de que eles modelam um uso específico

da estrutura.

O termo estrutura se refere à composição dos elementos estruturais

interconectados de forma a atingir algum objetivo comum. O exemplo acima mostra

como as instâncias das classes autor, submissão, tema e tipo colaboram entre si

para submeter à submissão. As colaborações podem também possuir multiplicidade,

se as regras seguidas pelas classes utilizarem múltiplas instâncias.

Este é um diagrama que não é muito utilizado na UML e provavelmente é

mais um diagrama teórico do que um diagrama utilizado nos processos de

desenvolvimento.

Page 12: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

12

Figura 4 - Diagrama de estrutura composta

Page 13: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

13

Diagrama de Comunicação

Também chamado de Diagrama de Colaboração, define a estrutura de como

os objetos estão vinculados.

Um Diagrama de comunicação (era conhecido como Diagrama de

Colaboração até a versão 1.5 da UML) é definido pelo UML (Unified Modeling

Language). O Diagrama de Colaboração exibe uma interação, consistindo de

um conjunto de objetos e seus relacionamentos, incluindo as mensagens que podem

ser trocadas entre eles. O diagrama de sequência e de colaboração é isomórfico.

O diagrama de colaboração mostra de maneira semelhante ao diagrama de

sequência, a colaboração dinâmica entre os objetos. Se a ênfase do diagrama for o

decorrer do tempo, é melhor escolher o diagrama de sequência, mas se a ênfase for

o contexto do sistema, é melhor dar prioridade ao diagrama de colaboração. O

diagrama de colaboração é desenhado como um diagrama de objeto, onde os

diversos objetos são mostrados juntamente com seus relacionamentos.

O Diagrama de Comunicação dá ênfase à ordenação estrutural em que as

mensagens são trocadas entre os objetos de um sistema.

Objeto: Instância da classe.

Vínculo: Ligações entre os objetos.

Mensagem: Mensagem a um método.

O Diagrama de Colaboração foi renomeado para o Diagrama de

Comunicação.

Os diagramas de comunicação são utilizados para mostrar como os objetos

interagem para executar o comportamento de um caso de uso específico ou de parte

de um caso de uso. Junto com os diagramas de sequência, os diagramas de

comunicação são utilizados pelos designers para definir e esclarecer as funções dos

objetos que executam um fluxo específico de eventos de um caso de uso. Eles são a

principal fonte de informações usada para determinar interfaces e responsabilidades

de classe.

Diferente de um diagrama de sequência, um diagrama de comunicação

mostra os relacionamentos entre os objetos. Os diagramas de sequência e os

Page 14: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

14

diagramas de comunicação expressam informações semelhantes, mas as mostram

de maneiras diferentes. Os diagramas de comunicação mostram os relacionamentos

entre os objetos e proporcionam uma melhor compreensão de todos os efeitos

causados em determinado objeto e para design de procedimentos.

Em razão do formato, os diagramas de comunicação tendem a ser mais

adequados às tarefas de análise. Ou seja, eles representam melhor as interações

mais simples de um número menor de objetos. À medida que o número de objetos e

de mensagens aumenta, fica cada vez mais difícil ler o diagrama. Além disso, é

difícil exibir informações descritivas adicionais (como andamento, pontos de decisão

ou outras informações não estruturadas), que podem ser facilmente incluídas nas

anotações de um diagrama de sequência.

Figura 5 - Diagrama de comunicação

Page 15: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

15

Diagrama de pacotes O diagrama de pacotes, definido pela UML, descreve os pacotes ou pedaços

do sistema divididos em agrupamentos lógicos mostrando as dependências entre

eles. Este diagrama é muito utilizado para ilustrar a arquitetura de um sistema

mostrando o agrupamento de suas classes.

Um pacote representa um grupo de classes (ou outros elementos). Os

pacotes se relacionam com outros pacotes através de uma relação de dependência.

Um diagrama de pacotes pode ser utilizado em qualquer fase do processo de

modelagem e visa organizar os modelos.

Pacote é um mecanismo de propósito geral para a organização de elemento

em grupos. Esses elementos podem ser classes, casos de uso, diagramas de

interação, ou mesmo outros pacotes.

O benefício permite reunir elementos com um objetivo comum, de forma a

organizar estruturalmente o sistema a ser modelado. Um elemento pertencente a um

pacote pode ser referenciado em outro pacote.

Uma dependência de pacote indica que um ou mais elementos do pacote

dependente têm, de alguma forma, conhecimento dos elementos do pacote-alvo.

Figura 6 - Diagrama de pacotes

Page 16: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

16

Diagrama de Interação

Diagramas de interação mostram padrões de interação entre instâncias de

objetos. Na verdade, de acordo com a norma UML, os diagramas de interação

podem aparecer em duas formas diferentes, os diagramas de sequência e os

diagramas de comunicação (também chamados de diagramas de colaboração, na

versão um da norma UML).

As informações em ambos os diagramas é equivalente, mas cada tipo de

diagrama enfatiza um aspecto particular da interação. Os diagramas de sequência

mostram a sequência explícita de estímulos entre objetos e são melhores para

especificações de tempo real e para cenários complexos.

Os diagramas de comunicação mostram o relacionamento entre as instâncias

e são melhores para o entendimento de todos os efeitos sobre uma determinada

instância, bem como para um design procedural. Uma regra prática para sabermos

quando devemos utilizar diagramas de sequência ou diagramas de comunicação é a

seguinte: se o número de objetos interagindo é grande, e o número de mensagens

sendo trocado entre cada objeto é pequeno, devemos dar preferência aos

diagramas de comunicação. Se, ao contrário, o número de objetos é pequeno,

mas o número de mensagens sendo trocadas entre eles é grande, então o mais

adequado é a utilização de um diagrama de sequência.

Diagramas de Interação são modelos que descrevem como grupo de objetos

colabora em um determinado comportamento. Um diagrama de interação captura o

comportamento entre objetos dentro um único use case.

Utiliza-se o diagrama de atividade para representar o comportamento de

objetos entre vários use cases.

Tipos: Diagrama de Sequência e Diagrama de Colaboração;

Interação, na Unified Modeling Language, é um tipo de diagrama de atividade

que representa o envio ou o recebimento de dados entre um ator e um caso de uso.

A interação de objetos para dar suporte à funcionalidade de um caso de uso

denomina-se realização de um caso de uso. A realização de um caso de uso

descreve o comportamento de um ponto de vista interno ao sistema. A realização de

um caso de uso é representada por diagramas de interação. Diagramas de interação

combinam diagramas de atividade com diagrama de sequência.

Page 17: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

17

Figura 7 - Diagrama de interação

Page 18: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

18

Diagrama de componente

Ilustra como as classes deverão se encontrar organizadas através da noção

de componentes de trabalho. Por exemplo, pode-se explicitar, para cada

componente, qual das classes que ele representa. Qualquer parte de seu sistema

pode ser representado em um diagrama de componente.

Um componente é qualquer arquivo que contenha uma parte necessária à

consecução de um software, ele expõe suas interfaces (métodos públicos) para o

mundo externo.

É utilizado para:

Modelar os dados do código fonte, do código executável do software.

Destacar a função de cada módulo para facilitar a sua reutilização.

Auxiliar no processo de engenharia reversa, por meio da organização dos módulos

do sistema e seus relacionamentos.

Figura 8 - Diagrama de componente

Page 19: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

19

Diagrama de implantação Descreve os componentes de hardware e software e sua interação com

outros elementos de suporte ao processamento. Representa a configuração e a

arquitetura de um sistema em que estarão ligados seus componentes, sendo

representado pela arquitetura física de hardware, processadores, etc.

Os elementos básicos deste diagrama são os Nós, que representam os

componentes, Associações entre Nós, que são as ligações entre os Nós do

diagrama, e os Artefatos, representações de entidades físicas do mundo real.

Figura 9 - Diagrama de implantação

Page 20: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

20

Conclusão Conclui-se que os diagramas são uma excelente ferramenta para o

gerenciamento de projeto e para o desenvolvimento de sistemas, pois facilita a

visibilidade e a maneira de como o sistema funcionará de uma forma simplificada.

Page 21: Trabalho Análise e projeto de software - Diagramas UML - Guilhermi Vieira Dias.pdf

21

Referencias Bibliográficas

UML - Uma Abordagem Prática - 2ª Edição. GUEDES, Gilleanes T. A. – São Paulo: No 2006.

Diagramas de atividade UML [Internet]. Disponível em: <http:// microsoft.com>. Acesso em: 06/2014;

Normas da ABNT- Citações e Referências Bibliográficas [Internet]. Disponível em: <http://www.leffa.pro.br>. Acesso em: 06/2014;

Unified Modeling Language™ (UML®) [Internet]. Disponível em: <http://www.uml.org>. Acesso em: 06/2014;

Unified Modeling Language (UML) [Internet]. Disponível em: <http://www-01.ibm.com>. Acesso em: 06/2014;

OS PRINCIPAIS DIAGRAMAS DA UML – RESUMO RÁPIDO [Internet]. Disponível em: <http://www.profissionaisti.com.br>. Acesso em: 06/2014.