Diagramas UML de Seqüência
Interações Ator - Sistema
Utilizações dos Casos de Uso
Expandidos
• Como fonte de informação para encontrar conceitos
para o modelo conceitual detalhado
• Como fonte de informação para encontrar as operações
e leituras de sistema, que darão origem aos métodos
que fazem a interface do sistema com o mundo externo
– Diagramas de Seqüência
Elementos de um Diagrama UML de
Seqüência
• A cada caso de uso corresponderá um diagrama de
seqüência
• Descreve as interações ator – sistema, conforme o
caso de uso, da seguinte forma
–
–
–
–
Coluna(s) Ator(es)
Coluna Um Objeto da Entidade Sistema
Eixo do Tempo: de cima para baixo
Interação (arcos orientados)
• Mensagem Operação ou Leitura de um ator para o sistema
• Respostas do sistema (“OK” não vale!)
Elementos de um Diagrama de
Seqüência
• Iterações
– Estereótipo <<Iteração>>
– Escopo da iteração
• Um retângulo
• Mensagens
– Notação funcional (mais compacta)
• Só Fluxo Principal
• Com Fluxos Alternativos
Diagrama de Seqüência do Caso de
Uso Emprestar Fitas (Fluxo Principal)
:Sistema
Funcionário
identificaCliente(nome)
<<iteração>>
Enquanto houver fitas
emprestaFita(codigo)
valor:= consultaValor()
prazos:= consultaPrazos()
valor, prazos:= finalizaEmprestimo()
Comentários Sobre o Exemplo
• Mensagem do Tipo Operação
– Muda o estado do sistema
• emprestaFita(código)
• Mensagens do Tipo Leitura
– Sem mudança de estado
• Leitura simples (“get”)
– identificaCliente(nome)
– consultaPrazos()
• Leitura com transformação da informação
– consultaValor()
» Retorna um valor derivado dos valores unitários das fitas
• finalizaEmprestimo()
– Operação ou leitura?
Diagrama de Seqüência (Fluxo
Alternativo)
:Biblioteca
Funcionário
identificaCliente(nome)
[nomeNaoExiste] sinalizaExcecao(...)
[existeDebito] sinalizaExcecao(...)
prazo := emprestaMaterial(titulo)
[estourouLimite} sinalizaExcecao(...)
* Enquanto houver material
prazos := finalizaEmprestimo()
Comenários Sobre o Exemplo
• Note o modo alternativo de expressar uma
iteração
• Mensagem do Sistema comunicando uma
exceção
– Linha pontilhada partindo da mensagem que
originou a exceção
– Sintaxe: [exceção]sinalizaExcecao()
Comentários Gerais
• O importante na análise é identificar
corretamente que operações e leituras de
sistema são necessárias
• Diagramas completos, isto é, incluindo os fluxos
alternativos, são importantes para o projeto da
interface
• Na atividade de Projeto (“Design”)
– Operações e Leitura se tornam métodos da classe
de software Fachada (“Facade”)
Comentários Gerais
• O próximo passo da atividade de análise são os
contratos de operação de sistema
– Entradas: diagramas de sequência e modelo
conceitual
– O contrato descreve conceitualmente a operação
• Em termos do modelo conceitual
Projeto da Disciplina: Parte II
• Para cada caso de uso em alto nível
– Expandir o caso de uso
• Diagrama UML do caso de uso, detalhado
– Relacionamentos is_a, include e extend, onde aplicável
– Texto expandido conforme o “template” dado em aula
– Desenhar o correspondente diagrama de seqüência
• Fluxo Principal
• Fluxos Alternativos
• Data-limite: 23/04
Download

operações e leituras de sistema