Buscar

Revisão AV2

Prévia do material em texto

REVISÃO AV2
POR QUE UTILIZAR A UML?
� Seu principal valor está na comunicação e no entendimento
� Os diagramas também podem ajudá-lo a entender um sistema de 
software ou um processo do negócio
� A UML se tornou não somente a notação gráfica dominante dentro do 
mundo orientado a objetos, como também uma técnica popular nos 
círculos não-orientados a objetos. 
Fonte: Martin Fowler – UML Essencial
O que é UML
� A Linguagem de Modelagem Unificada (UML) “é uma linguagem gráfica 
(visual) para especificar, construir e documentar os artefatos dos 
software” (OMG03a)
� OMG - Object Management Group
� O OMG foi formado para estabelecer padrões que suportassem 
interoperabilidade, especificamente a de sistemas orientados a objetos.
Fonte: Craig Larman – Utilizando UML e padrões
Vantagens da UML
� Usa notação gráfica
� Mais clara que a linguagem natural (imprecisa, ambígua)
� Posso usar linguagem natural para especificar um software?
� Ajuda a obter uma visão global do sistema
� Não é dependente de tecnologia (IMPORTANTE)
� Apesar de ter sido elaborada pensando-se na OO
Histórico de UML
Fonte: ITnerante.com
� Outras versões, com o mesmo conjunto de modelos da proposta 
original (versão 0.8/0.91):
� Versão 1.2 – 1998
� Versão 1.3 – 1999
� Versão 1.4 – 2002
� Versão 1.5 – 2003
� Versão 2.0 – 2003 (OMG)
� Versão 2.2 – 2009 (último diagrama)
� Versão 2.3 – 2010
� Versão 2.4 – 2011
� Versão 2.5 - 2013
Histórico de UML
Superestrutura da UML
Fonte: OMG. UML superstructure
Esse diagrama é importante
Não consideram o tempo Consideram o tempo
Estáticos Dinâmicos
DIAGRAMA DE CASO DE USO
CASO DE USO é a representação dos 
requisitos de sistema.
Nome caso 
de uso
Simbologia
DIAGRAMA DE CASO DE USO
CASO DE USO é a representação dos 
requisitos de sistema.
ATOR é a representação do responsável 
por realizar o caso de uso.
Nome ator
Nome caso 
de uso
Podem ser: 
• Pessoas, setores, entidades, órgãos 
governamentais, etc..
• Outros Sistemas.
Simbologia
DIAGRAMA DE CASO DE USO
CASO DE USO é a representação dos 
requisitos de sistema.
ATOR é a representação do responsável 
por realizar o caso de uso.
INTERAÇÃO CASO DE USO-ATOR 
representa a realização.
Nome ator
Nome caso 
de uso
Nome caso 
de uso
Nome ator
Simbologia
DIAGRAMA DE CASO DE USO
<include> estabelece a ligação obrigatória entre os casos 
de uso. SEMPRE o caso de uso será executado.
INTERAÇÃO Caso de Uso – Caso de Uso
Simbologia
Ou seja: o responsável por realizar um caso de uso é uma caso de 
uso e não um ator
A B
DIAGRAMA DE CASO DE USO
<include> estabelece a ligação obrigatória entre os casos 
de uso. SEMPRE o caso de uso será executado.
INTERAÇÃO Caso de Uso – Caso de Uso
Vendedor
Vender 
Produto
<include>
Emitir Nota 
Fiscal
Simbologia
Ou seja: o responsável por realizar um caso de uso é uma caso de 
uso e não um ator
<include> estabelece a ligação obrigatória entre os casos 
de uso. SEMPRE o caso de uso será executado.
INTERAÇÃO Caso de Uso – Caso de Uso
<extend> estabelece a ligação opcional entre os casos de 
uso. O caso de uso será executado em atendimento a 
uma regra de negócio.
Vendedor
Vender 
Produto
<include>
Emitir Nota 
FiscalCadastrar Cliente
<extend>
Simbologia
DIAGRAMA DE CASO DE USO
Deve ser usada quando:
Temos mais de um ator realizando a mesma tarefa e, 
algumas tarefas diferenciadas.
Funcionário
Vendedor Gerente
Simbologia
GENERALIZAÇÃO DE ATOR
DIAGRAMA DE CASO DE USO
DIAGRAMA DE CASO DE USO
Simbologia
GENERALIZAÇÃO DE ATOR
Funcionário
Vendedor Gerente
Vender 
Produto
<include>
Emitir Nota 
Fiscal
Cadastrar 
Cliente
<extend> Autorizar pagamento 
comissão
DIAGRAMA DE CASO DE USO
Concentra em um caso de uso um conjunto de 
procedimentos que serão utilizados por vários outros casos 
de uso que possuem outras particularidades.
Simbologia
GENERALIZAÇÃO DE CASO DE USO
ATENDENTE 
GRADUAÇÃO
Cadastrar Alunos 
Graduação
ATENDENTE 
MESTRADO
Cadastrar 
Alunos
Cadastrar Alunos 
Mestrado 
Diagrama de Classes - Introdução
� Conjunto de objetos do 
mesmo tipo
� Com mesmas características
� Propriedades
� Atributos / Relacionamentos
� Comportamento
� Operações (métodos)
Modelo que representa as informações necessárias para 
realização das funcionalidades do sistema em estudo a 
partir do conceito de CLASSE. 
CLASSE
Diagrama de Classes - Introdução
� Alunos
� Professores
� Disciplinas
� Matrículas
� ...
Em termos de objetos, o que temos numa universidade? 
Cada grupo de objetos tem suas 
características (atributos e métodos)
O analista então cria CLASSES para 
representar esses objetos
Podemos pensar uma CLASSE como 
um template, um molde, uma forma 
para gerar objetos
Classes
� Atributos
Representam o conjunto de características (estado) dos 
objetos daquela classe
� Métodos
Representam o conjunto de operações (comportamento) 
que a classe fornece
Diagrama de Classes - Elementos
� As caixas do diagrama de classe são classes e 
estão divididas em 3 compartimentos:
� Nome da classe
(Obrigatório)
� Atributos
� Operações
Diagrama de Classes – Elementos Básicos
Pedido
- dataPagamento : Date[0..1]
# éPréPago : boolean[1] = true
+ itensDeLinha : itenDeLinha [*] {ordenada}
- numeroPedidos : int
+ pagar (valor : double)
- calcularTotal() : double
O analista define o nível de detalhe que quer mostrar no diagrama
Diagrama de Classes
Pedido
- dataPagamento : Date[0..1]
# éPréPago : boolean[1] = true
+ itensDeLinha : itenDeLinha [*] {ordenada}
- numeroPedidos : int
+ pagar (valor : double)
- calcularTotal() : double
Nome da operação Tipo de retornoAtributo estático
Visibilidade
Nome do 
atributo
Tipo de 
dado
Nome da 
classe
Multiplicidade
Valor por 
Omissão
Restrição
Diagrama de Classes – Atributos
- O marcador de visibilidade indica se o atributo é
(+) público / (-) privado / (#) protegido / (~) Pacote
Público (+): O elemento é visível por qualquer classe
Protegido (#): O elemento é visível na própria classe e pelas
subclasses da classe
Pacote (~): O elemento é visível apenas pela própria classe ou
dentro do pacote onde a classe está localizada
Privado (-): O elemento é visível apenas pela própria classe
Diagrama de Classes – Atributos
- Multiplicidade: define o número de vezes em que o objeto 
participa da associação
A representação de multiplicidade possui o seguinte esquema: 
Li ... Ls, onde: Li define o Limite inferior 
Ls define o Limite superior
Li e Ls poderão ter valores numéricos de 0 a n e Ls poderá
também ter a representação * que tem como significado 
infinito/muitos.
Indicadores de multiplicidade:
– 1 Exatamente um
– 1..* Um ou mais
– 0..* Zero ou mais (muitos)
– * Zero ou mais (muitos)
– 0..1 Zero ou um
– m..n Faixa de valores (por exemplo: 4..7)
Pessoa Empresa
1..*
associação
Representação da multiplicidade
*trabalha para
Diagrama de Classes - Atributos
Diagrama de Classes – Relacionamentos
Associação: é ligação estabelecida entre as classes, por 
necessidade de comportamentos do negócio analisado
PAPEL: nome da associação, tornando claro no 
diagrama o ligação estabelecida.
Associação / Agregação:
– É um tipo especial de associação utilizada para 
indicar “todo-parte”
– Um objeto “parte” pode fazer parte de vários objetos 
“todo”
ItemPedido 0..* 1..*
agregação
todo parte
Diagrama de Classes - Relacionamentos
Associação / Composição:
– É uma variante semanticamente mais “forte” da 
agregação
– Os objetos “parte” só podem pertencer a um único 
objeto“todo” e têm o seu tempo de vida coincidente 
com o dele
– Quando o “todo” morre todas as suas “partes”
também morrem
TecladoNotebook
FrameWindow
1 1
1 0..*
1..* 0..*
errado
Diagrama de Classes - Relacionamentos
GENERALIZAÇÃO / ESPECIALIZAÇÃO
Generalização representa os vários tipos de um objeto 
em uma única classe.
Diagrama de Classes - Relacionamentos
Dependência:
• Representa que a alteração de um objeto (o objeto 
indepedendente) pode afetar outro objeto (o objeto 
dependente)
Ex:
– Obs:
• A classe cliente depende de algum serviço da classe 
fornecedor
• A mudança de estado do fornecedor afeta o objeto cliente 
• A classe cliente não declara nos seus atributos um objeto do 
tipo fornecedor
• Fornecedor é recebido por parâmetro de método
cliente fornecedor
Diagrama de Classes - Relacionamentos
Simbologia
AUTO ASSOCIAÇÃO
Define quando um objeto de uma classe está relacionado 
com outro objeto da mesma classe para atender a algum 
comportamento. A multiplicidade é estabelecida 
normalmente.
Diagrama de Classes - Relacionamentos
DESCRIÇÃO DE CASO DE USO
� É uma descrição narrativa de uma sequência de eventos que 
ocorre quando um ator (agente externo) usa um sistema para 
realizar uma tarefa[Jacobson 92]
Em outras palavras:
É a representação textual dos casos de uso
� Utilizada para complementar o modelo de casos de uso
� Define o que o sistema faz quando o caso de uso é realizado
� Ajuda a validar se a compreensão dos requisitos foi plena
� Registra a funcionalidade lógica e é o documento 
comprobatório do levantamento dos requisitos
DESCRIÇÃO DE CASO DE USO
Formato de Documentação de Casos de Uso
(Modelo mais usado)
• Nome do Caso de Uso
• Breve descrição
• Ator (principal)
• Pré-Condições
• Pós-Condições
• Fluxo de eventos:
– Fluxo de evento principal
– Fluxos secundários: alternativos e de exceção
DESCRIÇÃO DE CASO DE USO
A descrição poderá ser desenvolvida de duas formas: 
Descrição não Expandida e Descrição Expandida.
DESCRIÇÃO DE CASO DE USO
Descrição não Expandida prevê a apresentação sucinta dos 
procedimentos, como um pequeno relato apresentando os 
objetivos a serem atingidos. Deve ser utilizada quando o Caso 
de Uso for de conhecimento completo de todos, não possuir 
exceções ou, utilizar mecanismos de outro caso de uso.
DESCRIÇÃO DE CASO DE USO
Descrição Expandida prevê a apresentação detalhada dos 
procedimentos, apresentando os objetivos a serem atingidos 
passo-a-passo e com referência a responsabilidade se ator ou 
sistema.
Devemos considerar a descrição em duas partes: Fluxo Normal 
e Fluxo Alternativo.
DIAGRAMAS DE INTERAÇÃO
� Como as operações do sistema são
executadas internamente?
� A que classes estas operações internas
pertencem?
� Quais objetos participam da realização 
de um caso de uso ou de uma
operação do software?
Os modelos de análise não respondem a algumas perguntas:
O modelo de classes (modelo conceitual) não mostra:
� De que forma os objetos colaboram para que um determinado 
caso de uso seja realizado?
� Em que ordem as mensagens são enviadas durante esta 
realização?
� Que informações precisam ser enviadas em uma mensagem 
de um objeto a outro?
� Será que há responsabilidades ou mesmo classes que ainda 
não foram identificadas?
Pedido
- dataPagamento : Date[0..1]
# éPréPago : boolean[1] = true
+ itensDeLinha : itenDeLinha [*] {ordenada}
- numeroPedidos : int
+ pagar (valor : double)
- calcularTotal() : double
Diagramas de interação representam como o sistema age
internamente para que um ator atinja seu objetivo na 
realização de um caso de uso. A modelagem de um SOO 
normalmente contém diversos diagramas de interação. O 
conjunto de todos os diagramas de interação de um sistema 
constitui o seu modelo de interações. (Bezerra, E. seg.edição)
� Para responder às questões anteriores, omodelo de interações
deve ser criado.
� Esse modelo representa como os objetos interagem via 
mensagens para a execução de cenários dos casos de uso do 
sistema.
DIAGRAMAS DE INTERAÇÃO
Objetivos do modelo de interação
1 - Obter informações adicionais para completar e aprimorar 
outros modelos (principalmente o modelo de classes)
� Quais as operações de uma classe?
� Quais os objetos participantes da realização de um caso 
de uso (ou cenário deste)?
� Para cada operação, qual a sua assinatura?
� Uma classe precisa de mais atributos?
2 - Fornecer aos programadores uma visão detalhada dos 
objetos e mensagens envolvidos na realização dos casos de 
uso.
DIAGRAMAS DE INTERAÇÃO
DIAGRAMAS DE INTERAÇÃO
Conceitos
� O Diagrama de Interação apresenta a relação entre os objetos 
e a troca de mensagens que são necessárias para efetivar a 
realização do comportamento.
� O Diagrama de Interação representa um único caso de uso e 
deve ser usado quando se deseja visualizar os 
comportamentos utilizados pelos vários objetos dentro do 
caso de uso.
� Diagramas de interação são apresentados sob duas formas na 
UML através do Diagrama de Sequência e Diagrama de 
Comunicação (Colaboração).
Mensagem
� O conceito básico da interação entre objetos é a mensagem.
� Um sistema OO é uma rede de objetos que trocam mensagens.
– Funcionalidades são realizadas pelos objetos, que só podem 
interagir através de mensagens.
– Um objeto envia uma mensagem para outro objeto quando 
o primeiro deseja que o segundo realize alguma tarefa.
� Na construção de diagramas de interação, mensagens de um 
objeto a outro implicam em operações que classes devem ter. 
Uma mensagem representa a requisição de um objeto remetente
a um objeto receptor para que este último execute alguma 
operação definida para sua classe. Essa mensagem deve conter 
informação suficiente para que a operação do objeto receptor 
possa ser executada.
Tipos de diagramas de Interação
1 - Diagrama de Sequência
� Foco nas mensagens enviadas no decorrer do 
tempo.
� Se a ênfase do que se quer modelar é o decorrer do 
tempo
� A visualização fica dificultada conforme o número de 
objetos cresce (disposição em uma dimensão).
Tipos de diagramas de Interação
1 - Diagrama de Comunicação
� Foco nas mensagens enviadas entre objetos que 
estão relacionados
� Se a ênfase é o contexto do sistema
� Exibe mensagens enfatizando relacionamentos.
� Melhor utilização do espaço (disposição em duas 
dimensões)
DIAGRAMA DE SEQUÊNCIA - SIMBOLOGIA
GERENTE
:nome objeto
:nome objeto
Ator
Objeto
Linha da vida
DIAGRAMAS DE INTERAÇÃO
:nome objeto :nome objeto
Lista de 
objetos
DIAGRAMA DE SEQUÊNCIA - SIMBOLOGIA
Estacionamento Estácio - DSS
Representa a ligação entre o 
mundo externo e o sistema
:objeto1 :objeto2
:objeto1 :objeto2
mensagem() 
retorno() 
mensagem() 
Ligação
Mensagem
DIAGRAMA DE COMUNICAÇÃO – SIMBOLOGIA
DIAGRAMAS DE INTERAÇÃO
Representa a ligação entre os objetos
Diagrama de Comunicação
Representa troca de mensagens sem sequência.
:formulário
escolherHospede()
escolherProcedencia()
InformarDiasPermanencia()
clicaCONFIRMA()
:Hóspedes
4: *ler()
listaHospedes
1: apresentaInformações()
2: apresentaDataChegada()
3: calculaDataSaída ()
5: *ler()
listaProcedência
:Procedência
6: [disponíveis]*ler()
listaQuartos
:Quartos
7: Incluir()
:Hospedagem
8: <include>
alocarQuarto
9: <include>
abrirCCorrente
DIAGRAMA DE MÁQUINAS DE ESTADO
� Representa o comportamento de um objeto individual
� Complementa a descrição de um Caso de Uso e se apoia
no Diagrama de Classes.
� Mostra todos os estados possíveis que objetos de uma 
certa classe podem assumir e também quais são os eventos 
do sistemas que provocam tais mudanças.� Sua construção é recomendada apenas quando existir um 
certo grau de complexidade referente à transição de estados
de um dos objetos envolvidos no processo. 
Conceitos básicos:
� Evento
� Evento externo
� Evento interno
� Evento temporal
� Estado
� Transição
� Ação de transição
� Condição de guarda
DIAGRAMA DE MÁQUINAS DE ESTADO
Conceitos básicos:
Estado – É a condição de um objeto em determinado
momento no tempo – o tempo entre os eventos. 
Exemplo: Um telefone está no estado ocioso após o 
fone ter sido colocado no gancho e até que seja
novamente retirado do gancho.
DIAGRAMA DE MÁQUINAS DE ESTADO
Conceitos básicos:
Transição – É um relacionamento entre dois estados, 
indicando que, quando um evento ocorre, o objeto
muda do estado anterior para o estado subsequente. 
Exemplo: Quando o evento “fora do gancho” ocorre, o 
telefone transiciona do estado “ocioso” para o estado
“ativo”.
DIAGRAMA DE MÁQUINAS DE ESTADO
Conceitos básicos:
Condição de guarda – Define que a transição só
ocorrerá se o resultado do teste for favorável.
DIAGRAMA DE MÁQUINAS DE ESTADO
Diagrama de Estado – Caso de uso Registrar locação
Aguardando Entrada 
Verificando cadastro 
Aguardando Cadastro 
do veículo 
Entrar nova locação
Entrar informações veículo [veículo 
não cadastrado]/Cadastrar Veículo
Apresentar informações 
veículo [veículo 
cadastrado]
Cadastrando Locação 
Aguardando Cadastro 
do cliente 
Aguardando 
Confirmação 
Entrar Informação 
Cliente/
Cadastrar Cliente
Finalizar Locação/
Emitir Comprovante
Confirmar Locação 
[confirma]
Apresentar informações 
veículo 
Confirmar Locação 
[cancela]
Aguardando 
Comprovante 
Liberar Estacionamento
DIAGRAMA DE MÁQUINAS DE ESTADO
O diagrama de atividade permite escolher a ordem pela qual 
as coisas devem ser feitas, isto é, indica meramente as regras 
essenciais de sequência que necessitam ser seguidas - esse 
é um aspecto fundamental para diferenciar um diagrama de 
atividade de um fluxograma. 
Fluxogramas são limitados a processos sequenciais enquanto 
que Diagramas de Atividade podem manipular processos 
paralelos.
DIAGRAMA DE ATIVIDADE
Quando usar:
• Para representar o processo;
• Para representar cada Caso de Uso complexo.
DIAGRAMA DE ATIVIDADE
DIAGRAMA DE ATIVIDADE
Boa AV2!

Continue navegando