UML
Diagrama de ClassesDiagrama de Classes
elementos básicoselementos básicos
Contexto
• Os diagramas de classes fazem parte do da visão estática da UML.
• Os elemento desta visão são conceitos significativos para a aplicação.
• A visão estática modela a estrutura do objeto, tanto seus dados quanto suas operações.
• Os elementos chaves nesta visão são os classificadores e suas associações.
• Os classificadores podem ser: atores, artefatos, classe, colaboração, componente, interface, nó, caso de uso.
Classe• Uma classe representa um conceito discreto.
• Uma classe é uma descrição de um conjunto de objetos que compartilham dos mesmos atributos, operações, relações e semântica.
• Uma classe implementa uma ou mais interfaces.
Diagrama de Classes• Diagrama de classe descreve os tipos de
objetos no sistema e os vários tipos de relacionamento que existem entre as diversas classes.
Diagrama de Classes
• Usa-se o diagrama de classes para modelar a visão estática do sistema.
• Um diagrama de classes possui normalmente:• classes.
• interfaces.
• colaborações.
• relação de dependência, generalização e associação.
Contexto
• É um diagrama central nas metodologias orientadas a objetos.
• É a representação de maior poder conceitual.
• É o diagrama que descreve as abstrações do domínio do problema.
Perspectivas de Representação das Classes
• Semelhante a de modelagem de dados.– Conceitual.
• Representa os conceitos genéricos do mundo.
– Especificação.• Representa os conceitos genéricos do software a ser
construído.
– Implementação.• Representa as característica operacionais do software
a ser construído.
Perspectivas ... (II)• As perspectivas apresentadas não fazem
parte de UML formal é apenas uma abordagem importante e normalmente negligenciada.
Nome e Representação de Classes
• Toda classe deve ter um nome que a distingue das outras classes.
• Representação
Aluno
Atributos da Classe
• Um atributo representa uma propriedade da classe que está sendo modelada.
• Os atributos representam os dados pertencentes nas instâncias de uma classe.
• Os atributos podem ser representados apenas pelo nome ou com o tipo associado.
Atributos da Classe (II)• Uma classe pode ter vários ou nenhum
atributo.
• Em um determinado momento um objeto de uma classe terá valores específicos para cada um de seus atributos.
Representação de classe com atributos
Alunos
nometelidpaimãe
OU
Alunos
Nome:stringtel:stringid:stringpai:stringmãe:string
Pode-se também representar osPode-se também representar os
valoresvalores defaultdefault
Operações
• São processos que a classe sabe realizar.
• É uma abstração de do que se pode fazer com um objeto.
• É compartilhada com todos os objetos da classe.
• Uma classe pode ter nenhuma ou várias operações.
Operações• Em geral, a chamada de uma operação pode
trazer mudanças nos dados do objeto ou em seu estado.
• A assinatura de uma operação especifica quais os parâmetros para a execução da operação e, quando for o caso, o tipo de retorno.
Representação de operações
• Pode-se representar as operações apenas com o seu nome.
• Pode-se representar as operações com sua assinatura (seus parâmetros e o tipo de retorno).
Alunos
incluir()alterar()
Responsabilidades• A responsabilidade é um contrato ou
obrigação da classe.
• Uma classe pode ter várias responsabilidade: uma e não mais que cinco.
Características básicas de um bom modelo de Classe
• Identifique claramente operações e associações.• Operação: confere, em geral, uma mudança de estado em um
determinado objeto.• Associação: relação estática entre dois conceitos.
• Operações: • normalmente encontradas nas descrições dos casos de uso.
• Associação: • normalmente encontradas a partir da completude do modelo, por
exemplo uma fita de videolocadora é alugada para um cliente; regras de negócio são um bom ponto de partida para a se encontrar associações.
Características básicas de um bom modelo de Classe
• Identificação de Chaves.• Não é recomendado colocar no modelo de classes
atributos que representam conceitos de chaves como em um banco relacional.
Características básicas de um bom modelo de Classe
• Relatórios:• Um relatório é apenas um forma de mostrar aquilo que
o sistema já possui.
• Os relatório não devem ser representados como classes no sistema.
• Cabe aos métodos das classes executar operações que geram o relatório especificado.
UML
Classes conceitos avançadosClasses conceitos avançados
Visibilidade
• Os atributos e operações de uma classe podem ter restrições de acesso especificadas.
– + público: todos os classificadores podem usar/ter acesso.
– - privado: somente o próprio classificador poderá usar.
– #protegido: qualquer descendente do classificador poderá usar.
Classes abstratas
• Uma classe que contém uma operação abstrata é chamada de classe abstrata.
• Esse tipo de classe não pode criar instâncias visto que alguns de suas operações não podem ser implementadas.
– As classes abstratas devem possuir sub-classes, que implementem as respectivas operações.
Classes Abstratas (II)
Peça Xadrez
...
Movimento()
peão torre rei
Operação abstrataSão representadas em itálico
Interfaces
• Mais abstrata que a classe abstrata.
• Uma interface é uma classe abstrata que possui unicamente operações abstratas (nenhum método implementado) e nenhum atributo.
• Uma interface especifica algumas operações para providenciar um serviço de forma a cumprir uma responsabilidade.
Interfaces (II)
• Com interfaces é possível apenas se concentrar nos serviços oferecidos pelas classes.
• O uso de interface é uma forma elegante de isolar a especificação da implementação.
• Um interface especifica uma contrato sem levar em conta como este será implementado.
Interfaces (III)• Representação
Inome da interface
ou<<interface>>
Pilha
pop()push()vazia()
Classes de Associação • Uma classe de associação modela modelas
as propriedades associadas com uma associação.
• As propriedades decorrentes devem ser representadas por uma classe.
Classes de associação (II)
Aluno Matéria
* *
Desempenhonotafalta
Atividade de análise dos Casos de Uso
Rup Workflow for Analysis and Design Artifacts for Analyze Behavior
Análise do Caso de Uso
• Para cada caso de uso:• Crie uma realização deste caso de uso.• Acrescente descrição textual ao caso de uso.• Encontre classes de análise a aprtir do comportamento
do caso de uso.
• Para cada classe encontrada:• Defina as responsabilidade da classe.• Descreva os atributos e associações.
• Agrupe e refine as classes encontradas.
Classes de Análise
• Enquadram-se em três categorias:• Fronteira.
– Utilizada para modelar a interação entre o sistema e seus atores. Representa abstrações tais como janelas, impressoras, terminais etc.
• Controle.– Representa a coordenação, a seqüência e transação de outros
objetos.
• Entidade.– Utilizada para representar informações e dados persistentes.
Geralmente derivadas das classes de negócio.
Classes de Análise
Fonte: http://sparxsystems.com/resources/uml2_tutorial/uml2_sequencediagram.html
UML
Diagrama de objetosDiagrama de objetos
Diagrama de objetos• Os diagramas de objetos mostram uma
fotografia dos objetos em ação.
• Os objetos são mostrados com os valores de seus atributos e suas respectivas ligações.
• São apropriados para a modelagem de estrutura de dados complexas.
Diagrama de objetos (II)• Em geral há vários objetos em execução em
um determinado momento.
• Um diagrama mostra apenas parte dessa complexidade.
• O diagrama não considera a evolução desses objetos com o tempo.
Representação de objetos
Márcio Márcio:Professor
:Professor
Álvaro:Aluno
:Curso
Exemplo (I)
c:Companhia
d1:Departamento d2:Departamento
Nome=“Vendas” Nome=“RH”
Exemplo (II)
Aluno Matéria**
Classes
a:Aluno m:Matéria**
matricula(aluno)
Objetos
Dúvidas?
Top Related