Buscar

Aula 4 Modelagem de Sistemas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

- -1
MODELAGEM DE SISTEMAS
DIAGRAMA DE CLASSES
- -2
Olá!
Bom dia!
Um dos diagramas de maior relevância dentro do contexto da orientação a objeto é o modelo de classes, que visa
apresentar as classes do sistema, com suas estruturas (atributos e métodos) e os relacionamentos entre as
classes.
A técnica adotada nesta aula pressupõe a existência do diagrama de casos de uso e as descrições textuais de cada
caso de uso, de onde serão derivadas as classes do negócio.
O modelo de classes vai sendo refinado e acrescido de outras classes, até chegar ao nível em que conterá as
classes a serem implementadas na linguagem de programação, dando forma ao sistema que fora elaborado,
paulatinamente, usando e refinando diversos diagramas da UML.
É desse assunto que trataremos nesta aula. Bons estudos!
Objetivos
•Distinguir os elementos do diagrama de classes;
•Reconhecer os possíveis relacionamentos entre as classes;
•Aplicar como se deriva o diagrama de classes a partir do diagrama e especificações de casos de uso.
Conceitos de diagrama de classes
O é considerado por muitos o , sendo também o diagrama de classes principal diagrama da UML mais
 por aqueles que usam a UML na modelagem de seus sistemas orientados a objetos.amplamente usado
Existem vários níveis de diagramas de classes, que são usados no nível de domínio — conceitual — e de
projeto.
Nesta aula, vamos inicialmente a partir da paraabordar o diagrama de classes observação do mundo real 
um determinado . Vamos , ou ainda, o chamado contexto construir o diagrama em nível de domínio modelo
conceitual de classes.
Para começarmos , atente-se para a seguinte informação, referente ao diagrama conceitual de classes:
Não se devem (interfaces, chaves, arquivos, campos etc.). O foco da análiserepresentar estruturas de projeto
é o .negócio
Modelo conceitual de classes
Com base no que vimos, podemos conhecer o modelo conceitual de classes.
- -3
Esse modelo , pois a finalidade é usa os elementos mais básicos do diagrama de classes representar os
 sem inserir aspectos de projeto ou de implementação no modelo.objetos tal qual existem no mundo real,
Assim, o diagrama de classes descreve, de forma gráfica, os tipos de objetos que interagem para realizar as 
, bem como os funcionalidades previstas em um sistema vários tipos de relacionamentos estáticos entre
. O mostra, ainda, aseles diagrama de classes propriedades e operações de uma classe e as restrições
relacionadas à forma como os objetos se relacionam.
A evolução do diagrama de classes
O evolui à medida que o . Observe esse processo através do esquema adiagrama de classes projeto avança
seguir:
Fase de projeto
Nessa fase, o mesmo diagrama de classes pode ser refinado com a inserção de:
• Multiplicidades e papéis;
• Relacionamento entre as classes;
• Novos métodos (como, por exemplo, get, set e formatações);
• Novos atributos;
• Parâmetros nas chamadas dos métodos;
• Visibilidade dos atributos e métodos;
• Novas classes, chamadas de classes de projeto (como representação de persistência).
Fase de implementação
Durante a (codificação na linguagem), como implementação novas classes podem surgir, classes que
determinada implementem característica da linguagem de programação ou determinada forma de
programar. É o diagrama de classes de implementação.
Fase de análise – 1º momento
Inicialmente, em sua primeira versão, na fase de análise, o diagrama apresenta as classes do negócio (também
e chama-se chamada de entidades) diagrama de classes conceitual.
•
•
•
•
•
•
•
- -4
Esse é um diagrama com as , ou seja, mostra a modelagem emcompatível funcionalidades dos casos de uso
classes dos requisitos essenciais do sistema.
Fase de análise – 2º momento
Num segundo momento, ainda na fase de análise, novas classes podem ser inseridas no diagrama de classes,
como as de controle e as de interface (ou fronteira).
Classe de fronteira (boundary) ou interface: responsável pela . Exemplo: parainteração com os atores
representar um formulário, para representar a interface com outro equipamento (um acionador de cancelas de
entrada e saída de veículos, por exemplo);
Classes de controle: responsável pela coordenação da interação entre os objetos, na realização de um caso
. A princípio, cada caso de .de uso uso teria uma classe de controle
Na verdade, embora com diferentes nomenclaturas, o diagrama de classes é um só, que vai crescendo e sendo
alterado a cada fase do ciclo de desenvolvimento. Algumas equipes de projeto podem optar por guardar as
versões finais de cada diagrama, mas a última versão guarda todas as alterações feitas.
A classe
Vamos conhecer o com mais detalhe:conceito de classe
Uma , na qual . Se, por exemplo, emclasse é uma abstração da realidade representamos algo do mundo real
um contexto de sistema, identificarmos que desejamos armazenar os dados de um determinado elemento,
estamos diante de uma candidata à classe do .sistema
Na conforme ilustra a figuraUML, uma classe é representada por um compartimento contendo três partes,
a seguir:
- -5
Exemplo
A figura, abaixo, ilustra um exemplo de classe de nome “cliente”, contendo os atributos Nome e Matrícula e os
métodos (operações) Criar(), Destruir() e Incluir Cliente():
- -6
Classe x Objeto
Qual a relação existente entre e ?classe objeto
Na imagem, a seguir, você pode visualizar o exemplo de um objeto específico pertencente à classe cliente. O
objeto é como se fosse um elemento específico do conjunto (classe) cliente.
Visão geral do diagrama de classes e seus elementos
A figura abaixo ilustra um , contendo apenas (entidades)diagrama conceitual de classes classes de negócio
que são modeladas, bem como apresenta comentários dos principais elementos do diagrama de classes.
Fique ligado
Ao modelarmos um sistema, estamos em busca de classes, e não de objetos. Poderíamos
pensar que o nome da técnica deveria chamar-se “orientação a classes”, e não “orientação a
objetos”.
- -7
Fonte: Figura extraída do livro UML Essencial: um breve guia para a linguagem-padrão de modelagem de 
objetos, de Martin Fowler, 3a edição.
Por meio do exemplo de diagrama, podemos observar que um possui os seguintes diagrama de classes
elementos básicos:
1. Classes, com atributos e operações (métodos) de cada uma;
2. Relacionamentos entre as classes;
3. Multiplicidade dos relacionamentos;
4. Visibilidade de atributos e métodos;
5. Nome dos relacionamentos e papel nos relacionamentos;
6. Navegabilidade nos relacionamentos;
7. Notas e comentários.
Classes com seus atributos e operações
Cada possui os seus atributos e . Veja como esses elementos se relacionam:classe operações específicos
Atributo
O conceito de atributo remete ao (estado) dos .conjunto de características objetos da classe
- -8
Ele descreve uma propriedade estrutural da classe, um dado relevante que desejamos armazenar daquela
. Segundo a UML, forma mínima de representar um atributo é: classe visibilidade Nome: tipo.
Operações
O conceito de método remete ao (comportamento) que a . conjunto de operacões classe fornece
A operacão de uma classe é , que é um procedimento ou função da classe.representada por um método
Segundo a UML, a forma mínima de representar um método é: visibilidade Nome (Lista de parâmetros) : tipo.
Associação entre classes
O o é o mais simples e comum relacionamento entre classes. relacionamento de associaçã Ocorre entre uma,
. duas ou mais classes distintas, não correlatas e independentes Ao final do relacionamento, as classes
permanecem com suas vidas próprias.
A associação entre classes pode acontecer das seguintes maneiras, veja:
Associação binária: É a , também chamada de associação entre .associação mais comum duas classe
Autoassociação: Também chamada de corresponde à associação que associação unária, ocorre com a mesma
, .classe na qual uma classe se relaciona com ela própria
Associação exclusiva: É uma s. Ela indica que objetos de umarestrição em duas ou mais associaçõe
determinadaclasse podem participar de no , em determinado momento.máximo uma das associações
Ela é representada por uma , entre as associações, com a especificação {ou}, linha tracejada denotando que o
relacionamento é exclusivo a somente uma das duas classes.
Multiplicidade nos relacionamentos
A é um conceito extremamente relevante nos relacionamentos. De uma forma bem simples, elamultiplicidade 
indica quantos objetos de cada classe podem estar envolvidos no relacionamento.
Visibilidade de atributos e métodos
Diz respeito a (visualizar) o . A ideia é que cada classe tenha quais classes podem ver quê de outra classe
elementos . Observe:privados e públicos
O que for pode ser visualizado e usado por público qualquer outra classe.
O que for só pode ser usado pela .privado classe proprietária
No entanto, ao sairmos da e passarmos para a , temos que observar asmodelagem implementação
particularidades de cada um no tocante à .visibilidade
A aborda o tema sem entrar nessa confusão e deixa a cargo da equipe de desenvolvimento esses aspectosUML 
de . Basicamente, a UML permite que se todo atributo e método de uma classe com umcompatibilidade rotule 
indicador de .visibilidade
Atenção
- -9
Em todos os exemplos vistos até aqui, usamos as visibilidades públicas (sinal de mais +) para os métodos e
visibilidade privada (sinal de menos -) para os atributos. A UML fornece quatro possibilidades de visibilidade, a
saber:
Preparamos algumas . Veja: diretrizes relevantes sobre visibilidade que você deve estar atento
1 O , um dos princípios básicos da orientação a objetos, diz que os encapsulamento atributos de uma classe
não devem ser usados por outras classes, e sim apenas por . A conclusão é que osmétodos da própria classe
atributos devem ser classificados com (-); visibilidade privada 
2 . Assim sendo, Uma classe deve prestar serviço às demais, através de seus métodos pelo menos um dos
 da classe deve ter , para que as demais classes possam usá-lo;métodos visibilidade pública
3 Num relacionamento de generalização/ especialização, todos os atributos e métodos que desejar que
sejam herdados pela classe especializada (subclasse) devem ter visibilidade protegida na classe geral
(superclasse).
Outros relacionamentos entre classes
Os representam os mais relevantes . Por isso, agorarelacionamentos elementos de um diagrama de classes
estudaremos os relacionamentos mais usados na .modelagem de classes
Além das , são possíveis os seguintes relacionamentos:associações
Classe se associação: É uma classe que surge do entre outras duas classes.relacionamento de associação 
Generalização/especialização(herança): É o relacionamento entre classes que implementa o conceito de
 com reaproveitamento de código, preconizado pela orientação a objetos.herança,
Agregação ou composição: Esses dois relacionamentos são do tipo “ ”, ou seja, existe uma classe quetodo-parte
denota um todo e outras que denotam as partes.
Dependência: A e: mudanças na definição de uma classe puderdependência entre duas classes existe s
demandar mudanças na definição da outra classe.
Nome do relacionamento e papel nos relacionamentos
- -10
Podemos definir, para um relacionamento, um e um . A imagem a seguir mostra um exemplo denome papel
como definir esses elementos:
Faz pedido: O é um nome dado ao papel que cada classe papel no relacionamento representa no
. Semanticamente, é útil para o entendimento do diagrama. Exemplo: Faz Pedido.relacionamento
Faz: Pode ser dado um , no caso faz, e com o sentido da leitura (seta indicando comonome ao relacionamento
se lê), no caso a leitura é: cliente faz pedido.
Fique ligado
Cada classe pode ter o nome de seu papel descrito no relacionamento, conforme ilustra a
figura anterior. Seu uso é opcional e, caso seja necessário, pode-se especificar o papel de
apenas uma das classes no relacionamento. Veja:
• Faz é o nome do relacionamento, com a seta apontado para pedido, indicando 
que a leitura é na direção cliente faz pedido;
• Possui é o nome do relacionamento entre pedido e itens pedido, com a seta 
apontada para itens pedido, indicando que a leitura é na direção pedido possui 
itens pedidos;
• Faz pedido é o papel que o cliente tem no relacionamento entre cliente e 
pedido;
• Cada item do pedido é o papel que itens pedido tem no relacionamento entre 
•
•
•
•
- -11
Navegabilidade nos relacionamentos de associação
A navegabilidade mostra a direção da navegação.
Podemos citar como exemplo, uma que é dita da classe C1 para a classe C2 se, a partir deassociação navegável 
um objeto de C1, consegue-se obter diretamente os objetos relacionados da classe C2. Assim, denota-se, no
diagrama de classes, a capacidade de um objeto mandar mensagens a objetos de outra classe.
Veja mais um exemplo:
No diagrama de classes representado pela figura a seguir, está sendo representada a navegabilidade da
associação entre as classes cliente e endereços. O símbolo é a seta colada na classe endereços.
A interpretação para o diagrama que vimos anteriormente é a seguinte:
• O cliente sabe quais são seus endereços;
• Mas o endereço não sabe a quais clientes pertence;
• A classe cliente poderá enviar mensagens à classe endereços, mas o contrário não poderá ocorrer;
• Esta é uma notação semântica que ajuda muito na implementação.
Notas e comentários no diagrama de classes e UML
Notas são . Elas podem ser por , a um doscomentários nos diagramas isoladas ou vinculadas, linha tracejada
elementos do diagrama. Podem ainda ser usadas em qualquer diagrama.
A figura a seguir, ilustra as : no caso à classe endereçosduas possibilidades notas associadas a um elemento,
e , de uma forma geral.nota associada ao diagrama
• Cada item do pedido é o papel que itens pedido tem no relacionamento entre 
pedido e itens pedido.
•
•
•
•
•
- -12
O que vem na próxima aula
•Conceitos inerentes aos diagramas de interação;
•Elementos e modelagem de interações com diagrama de sequência.
CONCLUSÃO
Nesta aula, você:
• Reconheceu os elementos básicos e avançados da UML para a criação do diagrama de classes;
• Avaliou, através de uma atividade, os diagramas de casos de uso e de classes.
Saiba mais
Para saber mais sobre os tópicos estudados nesta aula, pesquise na internet sites, vídeos e
artigos relacionados ao conteúdo visto. Se ainda tiver alguma dúvida, fale com seu professor
online, utilizando os recursos disponíveis no ambiente de aprendizagem.
•
•
- -13
Referências
BOOCH, G.; JACOBSON, I.; RUMBAUGH, J. — Guia do Usuário. 2. ed. Rio de Janeiro: Elsevier, 2005. cap. 1 e 2.UML 
FOWLER, Martin. — um breve guia para a linguagem padrão. 3. ed. Porto Alegre: Artmed, 2005. UML essencial 
cap. 1
LARMAN, Craig. uma introdução à análise e ao projeto orientados a objetos e aoUtilizando UML e padrões?
processo unificado. 3. ed. Porto Alegre: Artmed, 2007. cap. 2.

Outros materiais