240 likes | 455 Views
Análise Orientada a Objetos. A fase de Análise. 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. Construção do modelo.
E N D
Análise Orientada a Objetos A fase de Análise Thelma AO/PO
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
Construção do modelo 1) 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
Criando o modelo de Classes de Objetos Descrição dos casos de Uso Análise textual do enunciado Definição das classes candidatas Seleção das classes Modelos de classes de objetos Thelma AO/PO
Casos de Uso • Descreve a funcionalidade que o sistema oferece • São refinados durante o desenvolvimento Especificação dos requisitos funcionais Análise Projeto Compra de produtos Compra de produtos Compra de produtos Casos de uso Modelo de análise (o domínio do problema) Modelo de Projeto Thelma AO/PO
Casos de Uso Exemplo: Casos de Uso de uma seguradora Contrato de seguro Estatística de Vendas Cliente Vendedor de seguro Estatística de clientes Thelma AO/PO
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
Casos de Uso • Para cada ator considerar: 1- as tarefas que o ator deseja que o sistema realize 2- as informações que o ator fornece ao sistema 3- eventos que o ator deve comunicar ao sistema 4- se existe algo importante que o sistema precisa informar ao ator 5- se o ator é responsável por iniciar ou terminar o sistema • Exemplo: para o ator cliente da viodeolocadora 1- alugar fita, devolver fita, reservar fita 2- nome, endereço, nome do filme, número de identificação 3- mudança de endereço, extravio de fita 4- fita reservada chega na loja e está disponível para ser alugada 5- não Thelma AO/PO
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 Alteração de endereço Cliente Extravio fita Thelma AO/PO
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
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
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 1.2: Colocar na fila(file) [Impressora ocupada] Computador Fila 1: Imprimir(file) servidor 1.1: imprimir(file) [Impressora livre] impressora Thelma AO/PO
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 impressora Fila Imprimir(file) Imprimir(file) [Impressora livre] Colocar na fila(file) [Impressora ocupada] Thelma AO/PO
8: M8 3: M3 5: M5 A A B C C 1: M1 4: M4 10:M10 M1 9: M9 7: M7 M2 6: M6 2:M2 M3 B M4 M5 M6 M7 M8 M9 M10 Ferramentas para cenários Diagrama de seqüência Diagrama de colaboração Thelma AO/PO
Sistema da Videolocadora Cliente Atendente Gerente Avisar extravio de fita Obter registro de aluguel Buscar registro de aluguel Retornar Registro de aluguel Apresentar-se ao gerente Falar com gerente Procurar registro da fita Buscar registro da fita retornar registro da fita Negociar multa Pagar Utilizando diagrama de seqüência para representar iteração entre atores e sistema Thelma AO/PO
Utilizando diagrama de colaboração para representar iteração entre atores e sistema 1:Avisar extravio de fita 5: Apresentar-se ao gerente Atendente Cliente 2: Obter registro de aluguel Falar com gerente 4: Retornar Registro de aluguel Pagar 3: Buscar registro de aluguel 10: Negociar multa 9: retornar registro da fita Sistema da Videolocadora Gerente 8: Buscar registro da fita 7: Procurar registro da fita Thelma AO/PO
Objetos/classes Substantivos Atributos Associações Verbos Operações Análise textual do enunciado • A descrição do problema é utilizado para se elaborar o primeiro esboço do modelo de classes de objetos Enunciado do Problema Thelma AO/PO
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
Exemplo- Sistema de Caixa eletrônico Desenvolva 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 computadoresde 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
Classes inadequadas Vagas Sistema reserva de segurança Arquivo de Registros Rede bancária Atributos Dados sobre conta Dados sobre transações Extrato Dinheiro Implementação Registro de transações Linha de comunicação Acesso Software Redundante Usuário Irrelevante Custo Classes válidas Conta Computador central Cliente ATM Computador do Banco Caixa Banco Consórcio Transação Terminal de caixa Cartão magnético Separação dos substantivos Thelma AO/PO
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
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
Diagrama de Objetos inicial Consórcio Banco Conta Cliente Comp. central Comp. do banco Caixa Transação do caixa Terminal do caixa Transação remota Cartão magnético ATM Thelma AO/PO
Conta saldo limite crédito tipo Cliente nome endereço cic Cartão magnético senha Diagrama de Objetos inicial - Incluindo atributos Consórcio Banco Comp. central Comp. do banco Caixa Transação do caixa Terminal do caixa Transação remota ATM Thelma AO/PO