Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouIgor Peres Garrido Alterado mais de 8 anos atrás
1
Análise Orientada a Objetos Wedson Quintanilha da Silva - 2007
2
2 Pauta Diagrama de Seqüência de Sistema; Diagrama de Seqüência de Sistema; Modelo de domínio; Modelo de domínio; Exercício prático. Exercício prático.
3
3 Diagrama de seqüência de sistema Ilustram os eventos de entrada e saída relacionados ao sistema em discussão Ilustram os eventos de entrada e saída relacionados ao sistema em discussão Permite investigar o comportamento do sistema como uma caixa preta Permite investigar o comportamento do sistema como uma caixa preta Não é definição da UML Não é definição da UML Mostra uma seqüência específica de eventos dentro de um caso de uso Mostra uma seqüência específica de eventos dentro de um caso de uso
4
4 Diagrama de seqüência de sistema Podem ser utilizados para demonstrar a colaboração entre sistemas durante a fase de especificação de requisitos como, por exemplo, a comunicação com um sistema de cartão de crédito. Podem ser utilizados para demonstrar a colaboração entre sistemas durante a fase de especificação de requisitos como, por exemplo, a comunicação com um sistema de cartão de crédito.
5
5 Diagrama de seqüência de sistema Cenário principal 1. Cliente chega ao balcão com os títulos que deseja locar; 2. Atendente inicia nova locação no sistema; 3. Atendente informa o cpf ou o nome do cliente; 4. Sistema exibe dados do cliente cadastrado; 5. Atendente informa o título a ser locado; 6. Sistema exibe o valor da locação do título e a descrição. Atendente repete os passos 5 e 6 Até que não tenha mais títulos a lançar; 7. Atendente informa ao sistema que concluiu o lançamento dos títulos a locar; 8. Sistema apresenta total da locação; 9. Atendente informa pagamento com cartão de crédito e informa os dados necessários; 10. Sistema obtém aprovação com a operadora de cartão de crédito; 11. Sistema emite o recibo comprovante da transação e finaliza a locação.
6
6 Modelo de Domínio Ilustra as classes conceituais significativas em um domínio de problema Ilustra as classes conceituais significativas em um domínio de problema É o artefato mais importante a ser criado durante a análise orientada a objetos É o artefato mais importante a ser criado durante a análise orientada a objetos Identifica um conjunto rico de objetos ou classes conceituais está no cerne da análise orientada a objetos Identifica um conjunto rico de objetos ou classes conceituais está no cerne da análise orientada a objetos Não são modelo de componentes de software Não são modelo de componentes de software Idéia chave: dicionário de abstrações Idéia chave: dicionário de abstrações A identificação de classes conceituais faz parte da investigação do problema!
7
7 Modelo de domínio Formalmente uma classe conceitual pode ser considerada em termos de: Formalmente uma classe conceitual pode ser considerada em termos de: Símbolo: palavras ou imagem que representa o conceito; Símbolo: palavras ou imagem que representa o conceito; Intenção: definição de uma classe conceitual; Intenção: definição de uma classe conceitual; Extensão: exemplos de aplicação do conceito. Extensão: exemplos de aplicação do conceito.
8
8 Modelo de domínio Exemplo de conceitos existentes num sistema de locação de DVD’s Exemplo de conceitos existentes num sistema de locação de DVD’s
9
9 Modelo de domínio Identificando as classes conceituais: Identificando as classes conceituais: As classes conceituais são identificadas ao longo do desenvolvimento de forma incremental e a cada iteração; As classes conceituais são identificadas ao longo do desenvolvimento de forma incremental e a cada iteração; Identifique as classes conceituais ligadas ao cenário que está sendo trabalhado no momento; Identifique as classes conceituais ligadas ao cenário que está sendo trabalhado no momento; É melhor identificar classes conceituais em excesso do que subespecificá-las; É melhor identificar classes conceituais em excesso do que subespecificá-las; Identificar substantivos (ou frases que possam estar no lugar de substantivos). Identificar substantivos (ou frases que possam estar no lugar de substantivos).
10
10 Modelo de domínio Como construir um modelo de domínio: Como construir um modelo de domínio: Liste as classes conceituais candidatas; Liste as classes conceituais candidatas; Desenhe-as em um modelo de domínio; Desenhe-as em um modelo de domínio; Acrescente as associações necessárias; Acrescente as associações necessárias; Acrescente os atributos necessários. Acrescente os atributos necessários. Nomeie os conceitos com os nomes do mundo real.
11
11 Modelo de domínio
12
12 Modelo de domínio Inclusão de associações Inclusão de associações Associação é um relacionamento entre tipos que indicam uma conexão com interesse; Associação é um relacionamento entre tipos que indicam uma conexão com interesse; Percurso abstrato e não é afirmação de conexão entre entidades de software; Percurso abstrato e não é afirmação de conexão entre entidades de software; A multiplicidade representa o relacionamento numérico entre os conceitos; A multiplicidade representa o relacionamento numérico entre os conceitos; A seta opcional demonstra a “direção de leitura” da associação; A seta opcional demonstra a “direção de leitura” da associação; Evite associações redundantes; Evite associações redundantes; É mais importante identificar os conceitos do que suas associações em sí; É mais importante identificar os conceitos do que suas associações em sí; Cada extremo da associação é conhecido como um papel. Cada extremo da associação é conhecido como um papel.
13
13 Modelo de domínio T * T 1..* T 1..4 T 5 T 3,5,8 Zero ou mais Um a quatro um ou mais Exatamente 5 Exatamente 3, 5 ou 8
14
14 Modelo de domínio Inclusão de atributos: Inclusão de atributos: É um valor de dados lógico de um objeto. É um valor de dados lógico de um objeto. Informações que os requisitos sugerem ou implicam a necessidade de memorizar informações sobre o conceito; Informações que os requisitos sugerem ou implicam a necessidade de memorizar informações sobre o conceito; Devem ser simples ou tipos de dados primitivos; Devem ser simples ou tipos de dados primitivos; Se tiver alguma regra associada, é bom que o atributo vire um conceito separado; Se tiver alguma regra associada, é bom que o atributo vire um conceito separado;
15
15 Modelo de domínio Modelo de domínio com atributos
16
16 Modelo de domínio Classe associativa Classe associativa Derivada de uma associação onde é necessário expressar propriedades da associação Derivada de uma associação onde é necessário expressar propriedades da associação
17
17 Fonte para pesquisa http://www.inf.pucrs.br/~bastos/Modelage mSistemasInformacao/ModeloAnaliseDiag Classes.pdf; http://www.inf.pucrs.br/~bastos/Modelage mSistemasInformacao/ModeloAnaliseDiag Classes.pdf; http://www.inf.pucrs.br/~bastos/Modelage mSistemasInformacao/ModeloAnaliseDiag Classes.pdf http://www.inf.pucrs.br/~bastos/Modelage mSistemasInformacao/ModeloAnaliseDiag Classes.pdf Utilizando UML e Padrões: Craig Larman; Utilizando UML e Padrões: Craig Larman; Writing Effective Use Cases e Surviving OO Projects: Alistair Cockburn; Writing Effective Use Cases e Surviving OO Projects: Alistair Cockburn;
18
Exercícios de Fixação
19
19 Exercício 1 Identifique os conceitos de domínio Para cada necessidade, podem haver várias características. Uma característica, apesar de atender a uma única necessidade, pode ter várias regras de sistema associadas à mesma que, por sua vez, deve atender uma ou várias características.
20
20 Exercício 2 Identifique os conceitos de domínio Uma festa pode conter vários convidados. Um convidado pode freqüentar várias festas.
21
21 Exercício 3 Identifique os conceitos de domínio para problema abaixo: Numa biblioteca virtual, o cliente pode escolher os produtos desejados e colocar na cesta. Cada produto possui uma especificação e um preço associado. Este preço pode mudar ao longo do tempo, porém, deseja-se obter relatórios de venda considerando o preço da venda e não o atualizado. O cliente, para efetivar a compra, deve informar a forma de pagamento que pode ser do tipo boleta bancária ou cartão de crédito. A empresa trabalha com os cartões Visa, Mastercard e American Express apenas.
22
22 Exercício 4 Identifique os conceitos de domínio Um vôo realizado por um avião contém uma tripulação de 5 pessoas sendo 1 comandante, 1 co-piloto e 3 comissárias. Os passageiros deste vôo possuem bilhetes que determinam as poltronas de assento. Um passageiro pode ser uma criança ou adulto.
23
23 Exercício 5 Identifique os conceitos de domínio Um funcionário registra exceções de ponto, estas exceções podem ser faltas ou horas extras e possui data e hora de início e término. Se a hora extra for realizada no feriado ou no domingo, ela vale 100% do valor da hora normal. Se ela for realizada em qualquer dia só que no horário das 22h às 6h do dia seguinte, ela possui, além do valor da hora extra equivalente ao tempo e de acordo com o dia útil ou não, um adicional noturno de 75% do valor da hora extra equivalente. Para os demais casos, o valor da hora extra é normal, ou seja, 50% do valor da hora normal.
24
24 Exercício 6 Identifique os conceitos de domínio e os casos de uso para as necessidades abaixo. O cliente necessita: Controlar fluxo de caixa (entrada e saída) por período (manhã e tarde) e por dia, considerando o saldo inicial e final de cada período; Controlar fluxo de caixa (entrada e saída) por período (manhã e tarde) e por dia, considerando o saldo inicial e final de cada período; Controlar saldo de contas bancárias (movimentações) diariamente; Controlar saldo de contas bancárias (movimentações) diariamente; Controlar o pagamento de contas bem como o recebimento de duplicatas (contas a pagar e a receber); Controlar o pagamento de contas bem como o recebimento de duplicatas (contas a pagar e a receber); Enviar dados das movimentações de caixa e bancária para a contabilidade. Enviar dados das movimentações de caixa e bancária para a contabilidade.
25
25 Exercício 7 Elabore os diagramas de caso de uso, seqüência de sistema, modelo de domínio e a especificação de caso de uso para o problema abaixo: o cliente efetua compra de produtos, cada produto possui uma especificação e um preço. A compra tem um imposto que é calculado fora da empresa através da consulta à tabela fornecida pela empresa contábil. O pagamento é através de dinheiro, cheque ou cartão. O cliente pode desistir da compra no momento em que ele desejar, desde que a compra não tenha sido dada como concluída e confirmada.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.