Fase de Construção - Análise
Notas
Ciclo de
Desenv. 2
Ciclo de
Desenv. 1
Refin.
Plano
Sinc.
Artefatos
a. se ainda não feito
b. contínuo
c. opcional
...
Análise
Projeto
1. Definir Casos de
Uso Essenciais
a
2. Refinar Diag.
Casos de Uso
3. Refinar Modelo
Conceitual
5. Definir Diag.
Seq.
6. Definir Contrat.
de Operação
7. Definir Diag.
Estado
c
Implementação
4. Refinar
Glossário
Teste
b
Diagrama de Sequencia
O Modelo Conceitual é estático - como
representar o comportamento dinâmico do
sistema?
Diagrama de Sequencia ilustra a ordem das
interações entre os atores e o sistema
O Sistema é representado como uma “caixapreta”
Diagrama de Sequencia
Diagrama de Sequencia
Na análise, é importante saber “o que” o
sistema faz, e não “como”
Tipicamente, um diagrama de sequencia
está ligado a um caso de uso
Os casos de uso indicam como os atores
interagem com o sistema
Os eventos cruzam fronteiras dos sistemas
Diagramas de Sequencia
Operações do sistema
Para cada evento, o sistema desempenha uma
operação correspondente
Operações descrevem comportamento dinâmico
O tempo flui de cima para baixo
Texto do caso de uso no diagrama de
sequencia facilita a compreensão
Diagramas de Sequencia
Diagrama de Sequencia
Como elaborar um diagrama de sequencia
 Desenhe uma linha vertical representando o
sistema como uma caixa-preta.
Desenhe uma linha vertical representando cada
um desses atores.
Com base nos casos de uso, ilustre no diagrama
os eventos de sistema gerados pelos atores.
Opcionalmente, incluia o texto do caso de uso à
esquerda do diagrama.
Diagramas de Sequencia
Outro exemplo
Diagrama de Sequencia
Recomendações
Nomeie operações começando com verbos
Enfatize a intenção, com alto nível de abstração
EncerrarVenda em vez de pressionarTeclaEnter
fazerPagamento em vez de entrarQuantia
Evite diagramas de sequencia para situações
óbvias
Ótimos para ilustrar o comportamento de
objetos em um único caso de uso
Contratos
Um contrato é um documento que descreve
os compromissos de uma operação
Estilo declarativo
Pré e pós-condições de mudanças de estado
Usamos contratos para representar melhor o
comportamento do sistema
Após o modelo conceitual e diag.de sequencia
Contrato - Seções
Contrato:
Responsabilidades:
Tipo:
Referencia:
Notas:
Exceções:
Saída:
Pré-condições:
Pós-condições:
Nome e parâmetros da operação
Descrição informal das responsabilidades da operação
Nome do tipo (sistema, classe, interface)
Funções, casos de uso, etc.
Notas de projeto, algoritmos, etc.
Casos excepcionais
Saídas não-IU, tais como mensagens ou registros
enviados para fora do sistema
Pré-suposições sobre o estado do sistema antes da
execução da operação
O estado do sistema após a execução da operação
Contrato - Exemplo
Contrato:
Responsabilidades:
entrarItem (upc :número, quantidade :inteiro)
Registra venda de um item e o adiciona à venda
corrente. Mostra descrição e preço do item.
Tipo:
Referencia:
Sistema
Funções: R1.1, R1.3, R1.9
Casos de uso: Comprar Itens
Notas:
Exceções:
Saída:
Usar acesso rápido ao BD
Se UPC inválido, indicar erro.
Contrato - Exemplo (cont)
Pré-condições:
Pós-condições:
UPC é conhecido do sistema
Se nova venda, uma Venda foi criada (criação de instância).
 Se nova venda, a nova Venda foi associada com um POST (formação de
associação.
 Um Item-de-Venda foi criado (criação de instância).
 O Item-de-Venda foi associado à Venda (formação de associação).
 Item-de-Venda.quantidade foi definido para quantidade (modificação de
atributo).
 O Item-de-Venda foi associado com uma Especificação-Produto, baseado
no casamento de UPCs (formação de associação).

Contratos
Ainda estamos em análise! Consideramos
apenas operações do sistema(caixa-preta)
Na fase de projeto, contratos para métodos
individuais
Identifique operações de sistema a partir dos
diagramas de seqüência.
Construa um contrato para cada operação
Dica: comece escrevendo informalmente a
seção Responsabilidades
Contratos
Na seção Pós-condições, descreva as
mudanças de estado de objetos do modelo
conceitual:
Criação e remoção de instância
Modificação de atributo
Formação e quebra de associações
Não indique ações, apenas mudança de
estado!
Contratos e outros artefatos
Download

Apresentação da Aula_10 em PowerPoint