trabalho análise e projeto de software - diagramas uml - guilhermi vieira dias.pdf
TRANSCRIPT
Faculdade de Tecnologia SENAC
Guilhermi Vieira Dias
Diagramas UML Análise e Projeto de Software
Pelotas-RS 2014
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
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.
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.
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.
6
Figura 1 – Diagrama de objetos
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.
8
Figura 2 - Diagrama de classes
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.
10
Figura 3 - Diagrama de sequência
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.
12
Figura 4 - Diagrama de estrutura composta
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
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
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
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.
17
Figura 7 - Diagrama de interação
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
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
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.
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.