Download - Análise Orientada a Objetos
Thelma AO/PO 1
A fase de Análise
Thelma AO/PO 2
Documentos da fase de análise
• Enunciado do problema
• Modelo de Objetos – Diagrama de classes de objetos
– Dicionário de Dados
• Modelo dinâmico– diagrama de estados
– diagrama de seqüência ou diagrama de colaboração
Thelma AO/PO 3
Construção do modelo1) identificar os objetos e classes
2) Preparar dicionário de dados
3) identificar associações (agregações)
4) identificar atributos
5) identificar herança (generalização / especialização)
6) testar os caminhos de acesso usando cenários
7) refinar o modelo
8) agrupar classes em módulos
Thelma AO/PO 4
Criando o modelo de Classes de Objetos
Descrição dos casos de Uso
Análise textual do enunciado
Definição das classes candidatas
Modelos de classes de objetos
Seleção das classes
Thelma AO/PO 5
Casos de Uso
•Descreve a funcionalidade que o sistema oferece
•São refinados durante o desenvolvimento
Compra de produtosCompra de produtos Compra de produtos
Especificação dos requisitos funcionais
Análise Projeto
Casos de uso Modelo de análise(o domínio do problema)
Modelo de Projeto
Thelma AO/PO 6
Casos de Uso
Estatística de Vendas
Contrato de seguro
Estatística de clientes
Exemplo: Casos de Uso de uma seguradora
ClienteVendedor de seguro
Thelma AO/PO 7
Casos de Uso
• Identificação baseada em atores – aqueles que irão interagir com o sistema
– podem ser pessoas ou outros sistemas computacionais
• Exemplo de atores de uma videolocadora:– cliente
– atendente
– gerente
– proprietário
Thelma AO/PO 8
Casos de Uso• Para cada ator considerar:
1- as tarefas que o ator deseja que o sistema realize2- as informações que o ator fornece ao sistema3- eventos que o ator deve comunicar ao sistema4- se existe algo importante que o sistema precisa informar ao ator5- se o ator é responsável por iniciar ou terminar o sistema
• Exemplo: para o ator cliente da viodeolocadora1- alugar fita, devolver fita, reservar fita2- nome, endereço, nome do filme, número de identificação3- mudança de endereço, extravio de fita4- fita reservada chega na loja e está disponível para ser alugada5- não
Thelma AO/PO 9
Casos de Uso• Casos de uso derivados do conjunto de respostas
– O cliente fica sócio e cadastra-se fornecendo: nome, endereço– O cliente aluga fita– O cliente devolve fita alugada– O cliente reserva fita– O cliente é contatado quando fita reservada está disponível– O cliente comunica mudança de endereço– O cliente comunica que perdeu uma fita
Cadastro
Aluguel
Devolução
Reserva
Disponibilidade
ClienteExtravio fita
Alteração de endereço
Thelma AO/PO 10
Casos de Uso• Identificação baseada em atributos
• Exemplo: estabelecer os casos de uso baseados nos dados de uma fita: nome do filme, nomes dos atores, nome do diretor, etc.
– O cliente quer encontrar todos os filmes estrelados por um ator
– O cliente quer encontrar um filme com o mesmo diretor do último filme que ele alugou
– O atendente atualiza informações sobre filme com um determinado nome
Thelma AO/PO 11
Cenários
• Cada cenário mostra a colaboração (troca de mensagens) entre objetos correspondente a cada serviço oferecido pela aplicação
• Ferramentas utilizadas para representar cenários– Diagrama de colaboração
– Diagrama de seqüência
Thelma AO/PO 12
Diagrama de colaboração
• Mostra as mensagens trocadas entre objetos• Enfatiza o contexto em que se dá a troca de mensagens
• Exemplo: Cenário para impressão de um arquivo
Computador
servidor
Fila
impressora
1: Imprimir(file)
1.1: imprimir(file)[Impressora livre]
1.2: Colocar na fila(file)[Impressora ocupada]
Thelma AO/PO 13
Diagrama de seqüência
• Da mesma forma que o diagrama de colaboração, mostra a seqüência de mensagens entre objetos
•Enfatiza a seqüência das trocas de mensagem
•Exemplo: Cenário para impressão de um arquivo
Computador servidor Filaimpressora
Imprimir(file)
Colocar na fila(file)[Impressora ocupada]
Imprimir(file)[Impressora livre]
Thelma AO/PO 14
Ferramentas para cenários
A
B
C
3: M35: M5
9: M97: M7
1: M14: M410:M10
6: M6
8: M8
2:M2
A B C
M1M2
M3
M4M5
M6M7
M8
M9
M10
Diagrama de colaboração Diagrama de seqüência
Thelma AO/PO 15
Utilizando diagrama de seqüência para representar iteração entre atores e sistema
Cliente Atendente Gerente
Avisar extravio de fita Obter registro de aluguel
Retornar Registro de aluguel
Apresentar-se ao gerente
Falar com gerente
Buscar registro da fita
Procurar registro da fita
Buscar registro de aluguel
Negociar multa
Pagar
Sistema da Videolocadora
retornar registro da fita
Thelma AO/PO 16
Utilizando diagrama de colaboração para representar iteração entre atores e sistema
ClienteAtendente
Gerente
1:Avisar extravio de fita
2: Obter registro de aluguel
4: Retornar Registro de aluguel
5: Apresentar-se ao gerente
Falar com gerente
8: Buscar registro da fita7: Procurar registro da fita
3: Buscar registro de aluguel10: Negociar
multa
Pagar
Sistema da Videolocadora
9: retornar registro da fita
Thelma AO/PO 17
Análise textual do enunciado
Enunciado do
Problema
• A descrição do problema é utilizado para se elaborar o primeiro esboço do modelo de classes de objetos
Substantivos
Verbos
Objetos/classes
Atributos
Associações
Operações
Thelma AO/PO 18
A análise do texto do problema
• listar os objetos candidatos (substantivos)• eliminar objetos candidatos impróprios
– classes redundantes– classes irrelevantes– classes vagas– atributos– operações, etc.
• revisar a lista• identificar associações• identificar atributos• refinar o modelo utilizando herança
Thelma AO/PO 19
Exemplo- Sistema de Caixa eletrônicoDesenvolva um software para apoiar uma rede bancária computadorizada
incluindo caixas humanos e máquinas de caixa automático (ATM) a ser compartilhada por um consórcio de bancos. Cada banco provê seu próprio computador para manter suas contas e processar transações sobre elas. Os caixas automáticos são propriedades dos bancos e se comunicam diretamente com os computadores de seus bancos proprietários. Os caixas humanos introduzem dados sobre contas e transações. Os caixas eletrônicos comunicam-se com um computador central que liqüida as transações com os bancos adequados. Um caixa automático recebe cartões magnéticos, interage com o usuário, comunica-se com o sistema central para executar transações, entrega dinheiro e imprime extratos. O sistema exige um adequado arquivamento de registros e reserva de segurança. O sistema deve manipular corretamente acessos concorrentes à mesma conta. Os bancos devem prover software para seus seus próprios computadores. Você deve projetar o software para as ATM e para a rede. O custo do sistema compartilhado deve ser distribuído pelos bancos de acordo com o n.º de clientes com cartões magnéticos.
Thelma AO/PO 20
Separação dos substantivos
VagasSistemareserva de segurançaArquivo de RegistrosRede bancária
Atributos Dados sobre contaDados sobre transaçõesExtratoDinheiro
ImplementaçãoRegistro de transaçõesLinha de comunicaçãoAcessoSoftware
RedundanteUsuário
IrrelevanteCusto
Classes inadequadas
Classes válidasConta Computador central ClienteATM Computador do Banco CaixaBanco Consórcio TransaçãoTerminal de caixa Cartão magnético
Thelma AO/PO 21
Análise das associações (verbos)
• Associação entre classes eliminadas– Exemplos: ATM imprime extratos
Rede bancária inclui caixas e ATM
• Associações irrelevantes– Exemplo: O sistema deve manipular corretamente
acessos concorrentes
• Ações – Exemplo: Um caixa eletrônico recebe cartão magnético
• Múltiplas Associações– Exemplo: Caixa introduz transação para conta(caixa
introduz transação e transação é aplicada à uma conta)
Thelma AO/PO 22
Análise das associações (verbos)
• Associações derivadas– Exemplo: Consórcio compartilha ATM (consórcio
possui computador central e computador central comunica-se com ATM)
• Multiplicidade
– Exemplo: Computador central comunica-se com várias ATM
• Associações ausentes
– Exemplo: Cliente tem conta
Transação autorizada por cartão
Thelma AO/PO 23
Diagrama de Objetos inicial
Consórcio Banco Conta Cliente
Comp. central
ATM
Comp. do banco
Terminal do caixa
Caixa
Transação do caixa
Transação remota
Cartão magnético
Thelma AO/PO 24
Diagrama de Objetos inicial - Incluindo atributos
Consórcio Banco
Comp. central
ATM
Comp. do banco
Terminal do caixa
Caixa
Transação do caixa
Transação remota
Clientenomeendereçocic
Contasaldolimitecréditotipo
Cartão magnéticosenha