SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Documento de Especificação de Requisitos
Projeto: Vídeo Locadora Passatempo
Versão: 1.3
Responsáveis: Ricardo de Almeida Falbo
1. Introdução
Este documento apresenta a especificação dos requisitos do sistema da Vídeo
Locadora Passatempo. A atividade de análise de requisitos foi conduzida aplicando-se
técnicas de modelagem de casos de uso, modelagem de classes e modelagem de
comportamento dinâmico do sistema. Os modelos apresentados foram elaborados
usando a UML. Este documento está organizado da seguinte forma: a seção 2 apresenta
os subsistemas identificados, mostrando suas dependências na forma de um diagrama de
pacotes; a seção 3 apresenta o modelo de casos de uso, incluindo descrições de atores,
os diagramas de casos de uso e descrições de casos de uso; a seção 4 apresenta o
modelo conceitual estrutural do sistema, na forma de diagramas de classes; a seção 5
apresenta o modelo comportamental dinâmico do sistema, na forma de diagramas de
estado e de sequência; finalmente, a seção 6 apresenta o dicionário de projeto, contendo
as definições das classes, atributos e principais operações identificadas.
2. Identificação de Subsistemas
A Figura 1 mostra os subsistemas identificados no contexto do presente projeto,
os quais são descritos na tabela abaixo.
Figura 1 – Diagrama de Pacotes e os Subsistemas Identificados.
Subsistema Descrição
controleAcervo Envolve toda a funcionalidade relacionada com o controle do acervo da
videolocadora, abrangendo controle de filmes, itens, tipos de mídia e
distribuidoras
atendimentoCliente Envolve a funcionalidade relacionada ao atendimento aos clientes da
locadora, incluindo locação e devolução de itens, reserva de filmes,
pagamento e cadastro de clientes
3. Modelo de Casos de Uso
O modelo de casos de uso visa capturar e descrever as funcionalidades que um sistema deve
prover para os atores que interagem com o mesmo. Os atores identificados no contexto deste projeto
estão descritos na tabela abaixo.
Ator Descrição
Administrador Representa funcionários da locadora responsáveis pela manutenção
do acervo da vídeo locadora.
Atendente Representa funcionários da locadora responsáveis pelo atendimento
aos clientes da locadora
Cliente Representa os clientes da locadora.
Sistema de Operadoras de Cartão
de Crédito
Representa o sistema das operadoras de cartão de crédito,
responsável por autorizar transações com cartão.
A seguir, são apresentados os diagramas de casos de uso e descrições associadas,
organizados por subsistema.
3.1 - Subsistema controleAcervo
A Figura 2 apresenta o diagrama de casos de uso do subsistema controleAcervo.
Figura 2 – Diagrama de Casos de Uso do Subsistema controleAcervo.
A seguir, são apresentadas as descrições de cada um dos casos de uso identificados. Os casos
de uso cadastrais de baixa complexidade, envolvendo inclusão, alteração, consulta e exclusão, são
descritos na tabela abaixo, segundo o padrão da organização.
Casos de Uso Cadastrais
Caso de Uso Ações Possíveis Observações Requisitos Classes
Cadastrar
Distribuidora
I, A, C, E [I] Informar: razão social, CNPJ, endereço,
telefone e pessoa de contato.
[E] Não é permitido excluir uma
distribuidora que tenha filmes associados.
RF07, RNF01 Distribuidora
Cadastrar Filme I, A, C, E [I] Informar: título original, título em
português, países, ano, diretores, atores,
sinopse, duração, gênero e distribuidora.
[E] Não é permitida a exclusão de filmes
que tenham itens associados.
[E] Ao excluir um filme, devem-se excluir
as reservas associadas.
RF06, RNF01 Filme,
Distribuidora
Cadastrar Item I, A, C, E [I] Informar: filme, tipo de mídia, data de
aquisição e número de série. Incluir
Verificar Existência de Reserva Pendente.
[E] Não é permitido excluir um item que
tenha locações associadas.
RF06, RNF01,
RNF03
Item, Filme,
TipoMidia
Cadastrar Tipo
de Mídia
I, A, C, E [I] Informar: nome e valor padrão de
locação.
[E] Não é permitido excluir um tipo de
mídia que tenha itens associados.
[E] Ao excluir um tipo de mídia, devem-se
excluir as reservas que especificam apenas
esse tipo de mídia.
RF06, RNF01 TipoMidia
Os casos de uso de consulta mais abrangente que as consulta a um único objeto (já tratadas
como parte dos casos de uso cadastrais), mas ainda de baixa complexidade, tais como consultas que
combinam informações de vários objetos envolvendo filtros, estão descritos na tabela abaixo,
segundo o padrão da organização.
Casos de Uso de Consulta
Caso de Uso Observações Requisitos Classes
Consultar Acervo As consultas ao acervo poderão ser feitas
informando uma (ou uma combinação) das
seguintes informações: título (ou parte dele),
original ou em português, gênero, tipo de mídia
disponível, ator, diretor, nacionalidade e
lançamentos.
RF08, RNF01,
RNF02
Filme, Item,
TipoMidia
3.2 - Subsistema atendimentoCliente
A Figura 2 apresenta o diagrama de casos de uso do subsistema atendimentoCliente.
Figura 2 – Diagrama de Casos de Uso do Subsistema atendimentoCliente.
A seguir, são apresentados os casos de uso de maior complexidade que não puderam ser
descritos segundo os formatos tabulares simplificados. Esses casos de uso são descritos segundo o
padrão de descrição completa de casos de uso definido pela organização.
Descrição de Caso de Uso
Projeto: Vídeo Locadora Passatempo
Subsistema: atendimentoCliente
Caso de Uso: Cadastrar Cliente
Descrição Sucinta: Este caso de uso é responsável pela inclusão de um novo titular e seus
dependentes, bem como alteração de dados, consulta e exclusão de clientes em geral (titulares e
dependentes).
Fluxos de Eventos Normais
Nome do Fluxo de Eventos
Normal
Precondição Descrição
Incluir Novo Titular 1. O atendente informa os dados do novo titular, a saber: nome, sexo,
data de nascimento, endereço, telefones residencial, celular e
comercial e local de trabalho.
2. O sistema gera um número de inscrição para o titular.
3. O novo cliente titular é registrado como sendo um cliente ativo.
4. Caso o cliente titular deseje inscrever dependentes, realizar o fluxo
de eventos “Incluir Dependente”.
Incluir Novo Dependente 1. O atendente informa o titular que deseja incluir um novo dependente.
2. O atendente informa os dados do novo dependente, a saber: nome,
sexo e data de nascimento.
3. O sistema gera um número de inscrição para o dependente.
4. O novo dependente é registrado como sendo um cliente ativo.
Alterar Dados de Cliente 1. O atendente informa o cliente do qual deseja alterar dados.
2. O atendente informa os novos dados, sendo que o número de
inscrição de um cliente não pode ser alterado.
3. As alterações são registradas.
Desativar Cliente 1. O atendente informa o cliente ativo a ser desativado.
2. O cliente é desativado.
Reativar Cliente 1. O atendente informa o cliente inativo a ser reativado.
2. O cliente é reativado.
Consultar Dados de Cliente 1. O atendente informa o cliente que deseja consultar.
2. Os dados do cliente são apresentados.
3. Se o cliente for um titular e possuir dependentes ativos, apresentar,
também, os nomes dos mesmos.
Excluir Cliente 1. O atendente informa o cliente que deseja excluir.
2. Os dados do cliente são apresentados e é solicitada confirmação.
3. As reservas feitas pelo cliente e por seus dependentes são excluídas.
4. Caso o cliente seja um titular, seus dependentes são também
excluídos.
5. O cliente é excluído.
Fluxos de Eventos Variantes
Nome do Fluxo de Eventos
Normal Relacionado
Variante Descrição
Desativar Cliente 2 – O cliente é um cliente
titular e possui dependentes.
2a – O cliente titular e seus dependentes são desativados.
Fluxos de Eventos de Exceção
Nome do Fluxo de Eventos
Normal Relacionado
Condição de Exceção Descrição
Incluir Novo Titular 1 – Dados inválidos 1a - Uma mensagem de erro é exibida, retornando ao passo 1
para correção da informação inválida.
Incluir Novo Dependente 1 – O titular já possui
três dependentes ativos
1a - uma mensagem de erro é exibida, informando que o
titular já possui três dependentes ativos e o fluxo de eventos é
abortado.
Incluir Novo Dependente 2 – Dados inválidos 2a - uma mensagem de erro é exibida, retornando ao passo 2
para correção da informação inválida
Alterar Dados de Cliente 2 – Dados inválidos 2a - uma mensagem de erro é exibida, retornando ao passo 2
para correção da informação inválida
Reativar Cliente 2 – O cliente a ser
reativado é dependente
de um cliente titular
inativo
2a - uma mensagem de erro é exibida, informando que cliente
é dependente de um titular inativo e o fluxo de eventos é
abortado
Excluir Cliente 1 - O cliente ou um de
seus dependentes possui
locações
1a - Uma mensagem de erro é exibida, indicando que o
cliente ou um de seus dependentes possui locações e,
portanto, não pode ser excluído, e perguntando se deseja
desativar o cliente.
1b - Se o atendente desejar desativar o cliente, realizar o fluxo
de eventos “Desativar Cliente”, senão abortar o fluxo de
eventos corrente.
Excluir Cliente 2 – Solicitação de
confirmação de
exclusão negada.
2a – Abortar o fluxo de eventos
Requisitos Relacionados: RF09, RF10, RF11, RN04, RN05, RN06, RN07, RNF01, RNF04
Classes Relacionadas: Cliente, ClienteTitular, ClienteDependente, Reserva
Descrição de Caso de Uso
Projeto: Vídeo Locadora Passatempo
Subsistema: atendimentoCliente
Caso de Uso: Efetuar Locação
Descrição Sucinta: Este caso de uso é responsável pela realização de uma nova locação, bem como
pela consulta e cancelamento de uma locação.
Fluxos de Eventos Normais
Nome do Fluxo Normal Precondição Descrição
Efetuar Nova Locação 1. O atendente informa o cliente que deseja efetuar a locação.
2. Para cada item a ser locado
2.1 - O atendente informa o item a ser locado.
2.2 - O sistema calcula o valor de locação do item (ver RN11).
2.3 - O sistema calcula a data de devolução prevista (ver RN12).
2.4 - Caso deseje, o atendente poderá alterar a data de devolução
prevista e o valor de locação de um item locado.
2.5 - O sistema adiciona o valor de locação do item locado ao valor
da locação.
3. A locação é registrada com a data corrente como data de locação.
4. Caso o cliente deseje pagar, incluir Efetuar Pagamento.
Consultar Dados de
Locação
1. O atendente seleciona a locação que deseja consultar os dados.
2. Os dados da locação são apresentados.
Cancelar Locação 1. O atendente seleciona a locação que deseja cancelar.
2. Os dados da locação são apresentados e é solicitada confirmação do
cancelamento.
3. A locação selecionada é excluída.
Fluxos de Eventos de Exceção
Nome do Fluxo de Eventos
Normal Relacionado
Condição de Exceção Descrição
Efetuar Nova Locação 1 – Cliente está em
atraso.
1.a - Uma mensagem de erro é exibida, informando que há
itens locados pelo cliente em atraso e apresentando dados
desses itens. O fluxo de eventos é abortado.
Efetuar Nova Locação 2.1 – Existe uma reserva
pendente para o item do
filme e tipo de mídia
sendo locado .
2.1a – Se o cliente da próxima reserva pendente não é o
cliente da locação, então uma mensagem de erro é exibida,
indicando o item não está disponível para locação e retornar
ao passo 2.1 sem incluir esse item na locação.
2.1b - Se o cliente da próxima reserva pendente é o cliente da
locação, então registrar a reserva como tendo sido atendida e
avançar para o passo 2.2.
Cancelar Locação 1 – Locação paga. 1a - Uma mensagem de erro é exibida, indicando que a
locação já foi paga e, portanto, não pode ser cancelada. O
fluxo de eventos é abortado.
Cancelar Locação 2 – Solicitação de
confirmação de
cancelamento negada.
2a - Abortar o fluxo de eventos.
Requisitos Relacionados: RF01, RN01, RN08, RN10, RN11, RN12, RN13, RN14, RN16, RNF01,
RNF04
Classes Relacionadas: Cliente, Locacao, ItemLocado, Item, TipoMidia, Filme, Reserva
Descrição de Caso de Uso
Projeto: Vídeo Locadora Passatempo
Subsistema: atendimentoCliente
Caso de Uso: Efetuar Devolução
Descrição Sucinta: Este caso de uso é responsável pela realização de uma devolução de itens.
Fluxos de Eventos Normais
Nome do Fluxo de Eventos
Normal
Precondição Descrição
Efetuar Devolução 1. O atendente informa cada um dos itens que estão sendo devolvidos.
2. Para cada item devolvido
2.1 - Se o item não tiver sido pago no ato da locação, adicionar o
seu valor de locação ao valor a ser pago na devolução.
2.2 - Caso o item locado esteja em atraso (data de devolução >
data de devolução prevista do item), calcular a multa devida
(ver RN02) e adicionar o valor da multa ao valor a ser pago
na devolução.
3. Se o valor a ser pago na devolução for maior do que zero, incluir
Efetuar Pagamento.
4. Registrar a devolução, indicando os itens locados que foram
devolvidos e atribuindo a data corrente como data de devolução.
5. Para cada item devolvido, incluir Verificar Existência de Reserva
Pendente.
Fluxos de Eventos de Exceção
Nome do Fluxo de Eventos
Normal Relacionado
Condição de Exceção Descrição
Efetuar Devolução 1 - Item informado não
possui uma locação
vigente.
1a - Uma mensagem de erro é exibida, informando que o item
informado não está locado no momento.
1b – Retornar ao passo 1 sem incluir esse item no conjunto de
itens sendo devolvidos.
Requisitos Considerados: RF02, RN02, RN08, RNF01, RNF04, RNF06
Classes Relacionadas: Item, ItemLocado, Locacao, Devolucao
Descrição de Caso de Uso
Projeto: Vídeo Locadora Passatempo
Subsistema: atendimentoCliente
Caso de Uso: Efetuar Pagamento
Descrição Sucinta: Este caso de uso é responsável pela realização de um pagamento.
Fluxos de Eventos Normais
Nome do Fluxo de Eventos
Normal
Precondição Descrição
Efetuar Pagamento 1. De posse do valor a ser pago, o atendente informa a forma de
pagamento.
2. Caso deseje, o atendente poderá aplicar um desconto no valor total
a ser pago.
3. Efetuar o pagamento na forma escolhida:
3a. Em dinheiro
3b. Em cheque
3c. Em cartão
Fluxos de Eventos Variantes
Nome do Fluxo de Eventos
Normal Relacionado
Variante Descrição
Efetuar Pagamento 3a – Em dinheiro 3a.1 – O atendente informa a quantia em dinheiro entregue pelo
cliente.
3a.2 – O sistema informa o valor do troco a ser dado ao cliente.
3a.3 – O sistema registra o pagamento em dinheiro.
Efetuar Pagamento 3b – Em cheque 3b.1 – O atendente informa os dados do cheque, a saber: banco,
agência, conta e valor .
3b.2 – O sistema registra o pagamento em cheque, armazenando os
dados do cheque.
Efetuar Pagamento 3c – Em cartão 3c.1 – O atendente envia as informações do cartão, valor e
identificação da loja para o serviço de autorização do
Sistema de Operadoras de Cartão de Crédito.
3c.2 – O Sistema de Operadoras de Cartão de Crédito envia o
número da autorização.
3c.3 – O sistema registra o pagamento em cartão, armazenando a
operadora do cartão e o número da autorização.
Fluxos de Eventos de Exceção
Nome do Fluxo de Eventos
Normal Relacionado
Condição de Exceção Descrição
Efetuar Pagamento 2a.1 – O valor da quantia
paga em dinheiro é inferior
ao valor a ser pago.
2a.1.1 - Uma mensagem de erro é exibida, informando que
a quantia paga deve ser maior ou igual ao valor a ser pago.
2a.1.2 – Retornar ao passo 2a.1
Efetuar Pagamento 2b.1 – O valor do cheque é
diferente do valor a ser
pago
2b.1.1 - Uma mensagem de erro é exibida, informando
que o valor do cheque deve ser igual ao valor a ser pago.
2b.1.2 – Retornar ao passo 2b.1.
Efetuar Pagamento 2c.2 – O Sistema de
Operadoras de Cartão de
Crédito não autoriza a
transação
2c.2.1 - Uma mensagem de erro é exibida, informando que
a transação não foi autorizada.
2c.2.2 – Retornar ao passo 1.
Requisitos Relacionados: RF03, RN09, RNF05
Classes Relacionadas: Pagamento, Cheque, AutorizacaoCartao, Locacao, Devolucao
Descrição de Caso de Uso
Projeto: Vídeo Locadora Passatempo
Subsistema: atendimentoCliente
Caso de Uso: Efetuar Reserva
Descrição Sucinta: Este caso de uso é responsável pela realização de uma nova reserva, consulta e
cancelamento de uma reserva existente.
Fluxos de Eventos Normais
Nome do Fluxo de Eventos
Normal
Precondição Descrição
Efetuar Nova Reserva 1. O atendente informa o cliente que deseja efetuar a reserva.
2. O atendente informa os dados para reserva, a saber: o filme e o tipo
de mídia.
3. A reserva é registrada, com a data e a hora do sistema, além das
informações de cliente, filme e tipo de mídia solicitados.
Consultar Dados de Reserva 1. O atendente informa a reserva que deseja consultar os dados.
2. Os dados da reserva são apresentados.
Cancelar Reserva 1. O atendente informa a reserva que deseja cancelar.
2. Os dados da reserva são apresentados e é solicitada confirmação.
3. Se a exclusão for confirmada, a reserva é excluída.
4. Para o item que estava reservado, incluir Verificar Existência de
Reserva Pendente.
Cancelar Reserva
Automaticamente
1. Diariamente, o sistema verifica que reservas já expiraram (ver
RN15).
2. Para cada reserva expirada,
2.a - O sistema a registra como cancelada. A reserva não é
efetivamente excluída, mas apenas marcada como cancelada.
2.b. - Incluir Verificar Existência de Reserva Pendente.
Fluxos de Eventos de Exceção
Nome do Fluxo de Eventos
Normal Relacionado
Condição de Exceção Descrição
Efetuar Nova Reserva 1 – Cliente está em
atraso.
1a - Uma mensagem de erro é exibida, informando que há
itens locados pelo cliente em atraso e apresentando dados
desses itens. O fluxo de eventos é abortado.
Efetuar Nova Reserva 2 - Há itens que
atendem à reserva
(filme e tipo de mídia
solicitados) disponíveis
para locação
2a - Uma mensagem é exibida, informando que não é possível
efetuar a reserva, pois há itens que atendem à reserva
disponíveis na locadora. O fluxo de eventos é abortado.
Cancelar Reserva 1 – Reserva informada
já foi cancelada
automaticamente.
1a - Uma mensagem de erro é exibida, informando que a
reserva já foi cancelada automaticamente pelo sistema por ter
expirado seu prazo. O fluxo de eventos é abortado.
Requisitos Relacionados: RF04, RF05, RN03, RN10, RN15, RN16, RN17, RNF01, RNF04
Classes Relacionadas: Cliente, Filme, TipoMidia, Item, Locacao, ItemLocado
Descrição de Caso de Uso
Projeto: Vídeo Locadora Passatempo
Subsistema: atendimentoCliente
Caso de Uso: Verificar Existência de Reserva Pendente
Descrição Sucinta: Este caso de uso é responsável por verificar se existe uma reserva pendente
para um filme em um certo tipo de mídia.
Fluxos de Eventos Normais
Nome do Fluxo de Eventos
Normal
Precondição Descrição
Verificar Existência de
Reserva Pendente
1. De posse de um item, o sistema verifica se há um reserva pendente
para o filme do item, no tipo de mídia do item.
2. Se não há reserva pendente, o sistema torna o item disponível.
3. Se há reserva pendente:
3a. O sistema envia um email para o cliente da próxima reserva
pendente, indicando que há um item disponível para locação e
que, a partir daquele momento, ele tem 24 horas para efetuar a
locação.
3b. Registrar a próxima reserva como tendo sido comunicada ao
cliente.
Requisitos Relacionados: RF12, RN10, RNF04, RNF06
Classes Relacionadas: Item, Filme, Reserva, Cliente
4. Modelo Estrutural
O modelo conceitual estrutural visa capturar e descrever as informações (classes,
associações e atributos) que o sistema deve representar para prover as funcionalidades descritas na
seção anterior. A seguir, são apresentados os diagramas de classes de cada um dos subsistemas
identificados no contexto deste projeto. Na seção 6 – Dicionário de Projeto – são apresentadas as
descrições das classes e atributos presentes nos diagramas apresentados nesta seção.
4.1 - Subsistema controleAcervo
A Figura 3 apresenta o diagrama de classes do subsistema controleAcervo.
Figura 3 – Diagrama de Classes do Subsistema controleAcervo.
4.2 - Subsistema atendimentoCliente
A Figura 4 apresenta o diagrama de classes do subsistema atendimentoCliente. Nesse
diagrama, as restrições de integridade abaixo têm de ser garantidas.
Restrições de Integridade
• Um cliente titular só pode possuir até três dependentes ativos.
Figura 4 – Diagrama de Classes do Subsistema atendimentoCliente.
5. Modelo Dinâmico
O modelo dinâmico visa capturar o comportamento dinâmico do sistema. A seguir, são
apresentados os diagramas de estados e o diagrama de atividades elaborados no contexto deste
projeto.
5.1 – Diagramas de Estados
A Figura 5 apresenta o diagrama de estados da classe Item do subsistema controleAcervo.
Figura 5 – Diagrama de Estados da Classe Item.
A Figura 6 apresenta o diagrama de estados da classe Reserva do subsistema
atendimentoCliente.
Figura 6 – Diagrama de Estados da Classe Reserva.
5.2 – Diagrama de Atividades
A Figura 7 apresenta o diagrama de atividades para o fluxo de eventos Efetuar Nova
Reserva do caso de uso Efetuar Reserva do subsistema atendimentoCliente. A Figura 8 apresenta o
diagrama de atividades para o fluxo de eventos Efetuar Nova Locação do caso de uso Efetuar
Locação do subsistema atendimentoCliente.
Figura 7 – Diagrama de Atividades: Efetuar Nova Reserva.
Figura 8 – Diagrama de Atividades: Efetuar Nova Locação.
6. Dicionário de Projeto
Esta seção apresenta as definições das classes (e seus atributos e operações), servindo como
um glossário do projeto. As definições são organizadas por subsistema. Vale destacar que operações
básicas (operações get e set, construtoras e destrutoras de objetos) não são listadas e descritas.
6.1 - Subsistema controleAcervo
• Distribuidora: Empresas responsáveis pela distribuição de filmes para a locadora.
• razaoSocial: razão social da distribuidora
• cnpj: CNPJ da distribuidora
• endereco: endereço da distribuidora
• telefone: telefone para contato com a distribuidora
• pessoaContato: nome de uma pessoa para contato com a distribuidora
• ativa: indica se a distribuidora está (V) ou não (F) fornecendo filmes para a locadora
• Filme: Filmes do acervo da locadora
• tituloOriginal: título original do filme, em sua língua de origem
• títuloPortugues: título do filme em língua portuguesa, definido pela distribuidora
• paises: países onde o filme foi produzido. Devem ser vários quando o filme for uma
co-produção
• ano: ano de lançamento do filme
• diretores: nomes dos diretores responsáveis pela direção do filme
• atores: nomes dos atores que compõem o elenco do filme
• sinopse: sinopse, fazendo um resumo do filme
• duracao: duração do filme em minutos
• genero: gênero do filme (ver tipo de dados enumerado Genero para ver possíveis
valores)
• ehLancamento: indicador de se o filme é lançamento (V) ou não (F)
• existeItemDisponivel(tpMidia: TipoMidia): boolean - verifica dentre os itens de um
filme se há algum deles do tipo de mídia tpMidia disponível na locadora. Caso haja,
retorna verdadeiro (V); caso contrário, retorna falso (F).
• Item: os objetos físicos (Dvds, fitas VHS etc.) que têm os filmes gravados e que são
efetivamente locados.
• numeroSerie: número de série do item no formato de código de barras
• dtAquisicao: data de aquisição do item pela locadora
• estado: estado corrente do item (ver diagrama de estados da classe Item e tipo de
dados enumerado correspondente)
• obterProximaReservaPendente: Reserva - retorna a próxima reserva pendente que
indique o filme e o tipo de mídia do item.
• TipoMidia: tipos de mídias com os quais a locadora trabalha (p.ex., DVD, Fita VHS etc.),
i.e., que a locadora possui itens desse tipo.
• nome: nome do tipo de mídia
• valorPadraoLocacao: valor padrão a ser cobrado por locação de itens deste tipo
• ativo: indica se a locadora está (V) ou não (F) trabalhando com itens neste tipo de
mídia
6.2 - Subsistema atendimentoCliente
• AutorizacaoCartao: autorização emitida pelo Sistema de Operadoras de Cartão de Crédito
quando da aprovação de um pagamento realizado com cartão de crédito.
• operadora: nome da operadora de cartão de crédito que aprovou o pagamento
• numero: número da autorização do pagamento, enviado pelo Sistema de Operadoras
de Cartão de Crédito quando o pagamento com cartão de crédito é autorizado
• data: data de envio da autorização
• Cheque: cheques utilizados para efetuar pagamentos.
• banco: número do banco da conta do cheque
• agencia: número da agência da conta do cheque
• conta: número da conta do cheque
• numero: número do cheque usado para pagamento
• Cliente: clientes da locadora.
• numeroInscricao : número de inscrição do cliente
• nome: nome do cliente
• sexo: sexo do cliente (ver tipo de dados enumerado Sexo para ver possíveis valores)
• dataNascimento: data de nascimento do cliente
• email: e-mail do cliente
• ativo: indica se o cliente está ativo (V) ou inativo (F) na locadora.
• emAtraso(): boolean – verifica, dentre os itens locados nas locações do cliente, se há
algum deles que já deveria ter sido devolvido (data corrente > data devolução
prevista) e ainda não foi. Caso haja, retorna verdadeiro (V); caso contrário, retorna
falso (F).
• ClienteDependente: clientes que dependem de clientes titulares. São indicados pelo cliente
titular e suas ações junto à locadora são atribuídas ao seu titular.
• ClienteTitular: clientes principais da locadora, os quais são responsáveis pelas suas ações
junto à locadora e também pelas de seus dependentes.
• cpf: cpf do cliente titular
• endereco: endereço do cliente titular (ver tipo de dados Endereco para ver a estrutura
dos endereços)
• telefoneResidencial: telefone da residência do cliente titular
• telefoneCelular: telefone celular do cliente titular
• telefoneComercial: telefone do local de trabalho do cliente titular
• localTrabalho: local onde o cliente titular trabalha
• Devolucao: registros das devoluções de itens que foram locados previamente.
• data: data em que ocorreu a devolução
• ItemLocado: registros das locações de itens individuais.
• valorLocacao: valor de locação do item
• dtDevolucaoPrevista: data limite que o item tem de ser de devolvido para não ser
cobrada multa
• multa: valor cobrado de multa por atraso na devolução do item locado
• calcularValorLocacao(): Currency - calcula o valor devido para a locação do item,
segundo a descrição da regra de negócio RN11. Retorna esse valor.
• calcularDataDevolucaoPrevista(): Date - calcula a data de devolução prevista do item
locado, segundo a descrição da regra de negócio RN12. Retorna essa data.
• Locacao: registros das locações de itens efetuadas por clientes.
• data: data em que ocorreu a locação
• Pagamento: registros de pagamentos efetuados.
• valor: valor recebido como pagamento
• Reserva: registros de reservas efetuadas pelos clientes para filmes em determinados tipos de
mídia.
• dtReserva: data e hora em que a reserva foi efetuada
• dtComunicacaoCliente: data e hora em que foi feita a comunicação com o cliente de
que há um item disponível na locadora para atender à reserva efetuada pelo cliente
• estado: indica o estado em que se encontra uma reserva (ver diagrama de estados da
classe Reserva e tipo de dados enumerado correspondente)
6.3 – Tipos de Dados Específicos de Domínio
• Cep: código de endereçamento postal (CEP) .
• infoRegiao: String – 5 primeiros dígitos do CEP, contendo informações da região e
setor de um endereço, conforme sistema decimal definido pelos Correios
• idDistribuicao: String – 3 últimos dígitos, contendo informações de identificadores
de distribuição usados pelos Correios para entrega de correspondências
• Cnpj: Número no Cadastro de Pessoas Jurídicas com 11 dígitos.
• numIdentificacao: String - 8 primeiros dígitos, identificando a empresa
• digitoVerificador: String - dois últimos dígitos, usados para verificar se o número do
CNPJ é válido
• CodigoBarras: String - código numérico de identificação inequívoca de um item a ser
vendido, movimentado e armazenado, composto por 13 dígitos.
• Cpf: Número no Cadastro de Pessoas Físicas com 11 dígitos.
• numIdentificacao: String - 9 primeiros dígitos, identificando a pessoa física
• digitoVerificador: String - dois últimos dígitos, usados para verificar se o número do
CPF é válido
• Endereco: endereços, conforme estrutura definida abaixo.
• rua: String - nome da rua
• numero: String - número do endereço
• complemento: String - informação complementar ao número, tal como apartamento
• bairro: String - bairro do endereço
• cidade: String - cidade do endereço
• estado: Estado
• cep: do endereço
• Estado: estados do Brasil. Tipo enumerado que pode assumir os seguintes valores: {AC –
Acre, AL - Alagoas, AM - Amazonas, AP - Amapá, BA - Bahia, CE - Ceará, DF – Distrito
Federal, ES – Espírito Santo, GO - Goiás, MA - Maranhão, MG – Minas Gerais, MS – Mato
Grosso do Sul, MT – Mato Grosso, PA - Pará, PB - Paraíba, PE - Pernambuco, PI - Piauí, PR
- Paraná, RJ – Rio de Janeiro, RN - Rio Grande do Norte, RO - Rondônia, RR - Roraima,
RS – Rio Grande do Sul, SC – Santa Catarina, SE - Sergipe, SP – São Paulo, TO –
Tocantins}
• EstadoItem: estados pelos quais itens podem passar. Tipo enumerado que pode assumir os
seguintes valores: Disponível, Reservado, Locado e Inativo. Ver diagrama de estados da
classe Item.
• EstadoReserva: estados pelos quais reservas podem passar. Tipo enumerado que pode
assumir os seguintes valores: Pendente, Comunicada, Atendida e Expirada. Ver diagrama de
estados da classe Reserva.
• Genero: gêneros nos quais os filmes da locadora são classificados. Tipo enumerado que
pode assumir os seguintes valores: {Ação, Animação, Aventura, Comédia, Documentário,
Drama, Ficção, Guerra, Musical, Policial, Romance, Suspense, Terror}
• Sexo: sexo de pessoas físicas. Tipo enumerado que pode assumir os seguintes valores:
{Feminino, Masculino}
• Telefone: números de telefones.
• ddd: String – número do DDD do telefone (3 dígitos)
• numero: String – número do telefone propriamente dito (8 dígitos)

Mais conteúdo relacionado

Mais procurados

Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01gtiprotec
 
Maturidade no desenvolvimento de software: CMMI e MPS-BR
Maturidade no desenvolvimento de software: CMMI e MPS-BR Maturidade no desenvolvimento de software: CMMI e MPS-BR
Maturidade no desenvolvimento de software: CMMI e MPS-BR Devmedia
 
ITSM Project
ITSM ProjectITSM Project
ITSM ProjectOleksandr
 
Diagramas de casos de uso
Diagramas de casos de usoDiagramas de casos de uso
Diagramas de casos de usoSergio Chaves
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMAricelio Souza
 
Exemplo especificacaoderequisitos(locadora)
Exemplo especificacaoderequisitos(locadora)Exemplo especificacaoderequisitos(locadora)
Exemplo especificacaoderequisitos(locadora)Bruno Santana
 
Разработка сценариев использования (use cases)
Разработка сценариев использования (use cases)Разработка сценариев использования (use cases)
Разработка сценариев использования (use cases)Dmitry Strunkin
 
ASP.NET With C# (Revised Syllabus) [QP / April - 2014]
ASP.NET With C# (Revised Syllabus) [QP / April - 2014]ASP.NET With C# (Revised Syllabus) [QP / April - 2014]
ASP.NET With C# (Revised Syllabus) [QP / April - 2014]Mumbai B.Sc.IT Study
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
 
iPaaS: A platform for Integration technology convergence
iPaaS: A platform for Integration technology convergenceiPaaS: A platform for Integration technology convergence
iPaaS: A platform for Integration technology convergenceRaveendra Babu Darsi
 
Feb2008 Service Desk Maturity Models & Fram
Feb2008 Service Desk Maturity Models & FramFeb2008 Service Desk Maturity Models & Fram
Feb2008 Service Desk Maturity Models & FramIT Service and Support
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Rosanete Grassiani dos Santos
 
Descrição formal de Casos de Uso
Descrição formal de Casos de UsoDescrição formal de Casos de Uso
Descrição formal de Casos de UsoNatanael Simões
 

Mais procurados (20)

Cmmi e mps.Br
Cmmi e mps.BrCmmi e mps.Br
Cmmi e mps.Br
 
Principais diagramas da UML
Principais diagramas da UMLPrincipais diagramas da UML
Principais diagramas da UML
 
Avaliação de Interface
Avaliação de InterfaceAvaliação de Interface
Avaliação de Interface
 
Aula Xml Schema - XSD
Aula Xml Schema - XSDAula Xml Schema - XSD
Aula Xml Schema - XSD
 
Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01
 
Maturidade no desenvolvimento de software: CMMI e MPS-BR
Maturidade no desenvolvimento de software: CMMI e MPS-BR Maturidade no desenvolvimento de software: CMMI e MPS-BR
Maturidade no desenvolvimento de software: CMMI e MPS-BR
 
ITSM Project
ITSM ProjectITSM Project
ITSM Project
 
Diagramas de casos de uso
Diagramas de casos de usoDiagramas de casos de uso
Diagramas de casos de uso
 
Diagrama de Casos de Uso
Diagrama de Casos de UsoDiagrama de Casos de Uso
Diagrama de Casos de Uso
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVM
 
Exemplo especificacaoderequisitos(locadora)
Exemplo especificacaoderequisitos(locadora)Exemplo especificacaoderequisitos(locadora)
Exemplo especificacaoderequisitos(locadora)
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Разработка сценариев использования (use cases)
Разработка сценариев использования (use cases)Разработка сценариев использования (use cases)
Разработка сценариев использования (use cases)
 
ASP.NET With C# (Revised Syllabus) [QP / April - 2014]
ASP.NET With C# (Revised Syllabus) [QP / April - 2014]ASP.NET With C# (Revised Syllabus) [QP / April - 2014]
ASP.NET With C# (Revised Syllabus) [QP / April - 2014]
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
iPaaS: A platform for Integration technology convergence
iPaaS: A platform for Integration technology convergenceiPaaS: A platform for Integration technology convergence
iPaaS: A platform for Integration technology convergence
 
Feb2008 Service Desk Maturity Models & Fram
Feb2008 Service Desk Maturity Models & FramFeb2008 Service Desk Maturity Models & Fram
Feb2008 Service Desk Maturity Models & Fram
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
 
Descrição formal de Casos de Uso
Descrição formal de Casos de UsoDescrição formal de Casos de Uso
Descrição formal de Casos de Uso
 

Semelhante a Sistema de Vídeo Locadora

Dicas diagrama de casos de uso
Dicas diagrama de casos de usoDicas diagrama de casos de uso
Dicas diagrama de casos de usoRita Almeida
 
Análise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoAnálise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoCursoSENAC
 
REA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UMLREA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UMLIFFar - SVS
 
Minicurso sobre Use-Case 2.0
Minicurso sobre Use-Case 2.0Minicurso sobre Use-Case 2.0
Minicurso sobre Use-Case 2.0Jean Hauck
 
Requisitos monitoria
Requisitos monitoriaRequisitos monitoria
Requisitos monitoriaPaulo Damas
 
Trabalho OO clinica veterinária
Trabalho OO clinica veterináriaTrabalho OO clinica veterinária
Trabalho OO clinica veterináriaValdir Junior
 
1- Diagramas de caso de uso
1- Diagramas de caso de uso1- Diagramas de caso de uso
1- Diagramas de caso de usoCris Fidelix
 
Principios de analise de sistemas modelagem de casos de uso ppt
Principios de analise de sistemas modelagem de casos de uso pptPrincipios de analise de sistemas modelagem de casos de uso ppt
Principios de analise de sistemas modelagem de casos de uso pptLeandro Maduro
 
Es 04 desenvolvimento de software dirigido por casos de uso - parte iii
Es 04   desenvolvimento de software dirigido por casos de uso - parte iiiEs 04   desenvolvimento de software dirigido por casos de uso - parte iii
Es 04 desenvolvimento de software dirigido por casos de uso - parte iiiRodrigo Gomes da Silva
 
requisitos de software.pptx
requisitos de software.pptxrequisitos de software.pptx
requisitos de software.pptxAlanCunha14
 
Aula 13 es-uml
Aula 13   es-umlAula 13   es-uml
Aula 13 es-umlthiagoufal
 

Semelhante a Sistema de Vídeo Locadora (20)

Dicas diagrama de casos de uso
Dicas diagrama de casos de usoDicas diagrama de casos de uso
Dicas diagrama de casos de uso
 
Aula6 diagrama casos de uso
Aula6 diagrama casos de usoAula6 diagrama casos de uso
Aula6 diagrama casos de uso
 
Análise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoAnálise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de Uso
 
REA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UMLREA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UML
 
Minicurso sobre Use-Case 2.0
Minicurso sobre Use-Case 2.0Minicurso sobre Use-Case 2.0
Minicurso sobre Use-Case 2.0
 
Requisitos monitoria
Requisitos monitoriaRequisitos monitoria
Requisitos monitoria
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
Trabalho OO clinica veterinária
Trabalho OO clinica veterináriaTrabalho OO clinica veterinária
Trabalho OO clinica veterinária
 
1- Diagramas de caso de uso
1- Diagramas de caso de uso1- Diagramas de caso de uso
1- Diagramas de caso de uso
 
UMLAulaI.pdf
UMLAulaI.pdfUMLAulaI.pdf
UMLAulaI.pdf
 
Use Case 2.0
Use Case 2.0Use Case 2.0
Use Case 2.0
 
6 e casosusoexerc
6 e casosusoexerc6 e casosusoexerc
6 e casosusoexerc
 
Principios de analise de sistemas modelagem de casos de uso ppt
Principios de analise de sistemas modelagem de casos de uso pptPrincipios de analise de sistemas modelagem de casos de uso ppt
Principios de analise de sistemas modelagem de casos de uso ppt
 
Use-Case 2.0
Use-Case 2.0Use-Case 2.0
Use-Case 2.0
 
casos de uso
casos de usocasos de uso
casos de uso
 
4 casos-de-uso
4 casos-de-uso4 casos-de-uso
4 casos-de-uso
 
Es 04 desenvolvimento de software dirigido por casos de uso - parte iii
Es 04   desenvolvimento de software dirigido por casos de uso - parte iiiEs 04   desenvolvimento de software dirigido por casos de uso - parte iii
Es 04 desenvolvimento de software dirigido por casos de uso - parte iii
 
Aula3 casos de uso
Aula3 casos de usoAula3 casos de uso
Aula3 casos de uso
 
requisitos de software.pptx
requisitos de software.pptxrequisitos de software.pptx
requisitos de software.pptx
 
Aula 13 es-uml
Aula 13   es-umlAula 13   es-uml
Aula 13 es-uml
 

Mais de Thiago Luis Colozio Casácio (20)

Ti nas organizações e wms
Ti nas organizações e wmsTi nas organizações e wms
Ti nas organizações e wms
 
Ti nas organizações e wms
Ti nas organizações e wmsTi nas organizações e wms
Ti nas organizações e wms
 
Questões wallmart
Questões wallmartQuestões wallmart
Questões wallmart
 
Estudo de caso wal mart
Estudo de caso wal martEstudo de caso wal mart
Estudo de caso wal mart
 
Banco de dados [ aula 2 ]
Banco de dados [ aula 2 ]Banco de dados [ aula 2 ]
Banco de dados [ aula 2 ]
 
Pj 2009 avioes_overflow
Pj 2009 avioes_overflowPj 2009 avioes_overflow
Pj 2009 avioes_overflow
 
Pj 2010 pneu_sedex
Pj 2010 pneu_sedexPj 2010 pneu_sedex
Pj 2010 pneu_sedex
 
Erp
ErpErp
Erp
 
Material
MaterialMaterial
Material
 
P r o j e t o
P r o j e t oP r o j e t o
P r o j e t o
 
Estrutura condicional
Estrutura condicionalEstrutura condicional
Estrutura condicional
 
Apostila hdw
Apostila hdwApostila hdw
Apostila hdw
 
Lab inf 1_ aula_4
Lab  inf 1_ aula_4Lab  inf 1_ aula_4
Lab inf 1_ aula_4
 
Lab inf 1_ aula_3
Lab  inf 1_ aula_3Lab  inf 1_ aula_3
Lab inf 1_ aula_3
 
C++
C++C++
C++
 
Fontes e no break
Fontes e no breakFontes e no break
Fontes e no break
 
Apostila complementar
Apostila complementarApostila complementar
Apostila complementar
 
1 2 fontes_estab_gab_nobreak
1 2  fontes_estab_gab_nobreak1 2  fontes_estab_gab_nobreak
1 2 fontes_estab_gab_nobreak
 
Estudo de caso wal mart
Estudo de caso wal martEstudo de caso wal mart
Estudo de caso wal mart
 
Lógica da programação
Lógica da programaçãoLógica da programação
Lógica da programação
 

Sistema de Vídeo Locadora

  • 1. Documento de Especificação de Requisitos Projeto: Vídeo Locadora Passatempo Versão: 1.3 Responsáveis: Ricardo de Almeida Falbo 1. Introdução Este documento apresenta a especificação dos requisitos do sistema da Vídeo Locadora Passatempo. A atividade de análise de requisitos foi conduzida aplicando-se técnicas de modelagem de casos de uso, modelagem de classes e modelagem de comportamento dinâmico do sistema. Os modelos apresentados foram elaborados usando a UML. Este documento está organizado da seguinte forma: a seção 2 apresenta os subsistemas identificados, mostrando suas dependências na forma de um diagrama de pacotes; a seção 3 apresenta o modelo de casos de uso, incluindo descrições de atores, os diagramas de casos de uso e descrições de casos de uso; a seção 4 apresenta o modelo conceitual estrutural do sistema, na forma de diagramas de classes; a seção 5 apresenta o modelo comportamental dinâmico do sistema, na forma de diagramas de estado e de sequência; finalmente, a seção 6 apresenta o dicionário de projeto, contendo as definições das classes, atributos e principais operações identificadas. 2. Identificação de Subsistemas A Figura 1 mostra os subsistemas identificados no contexto do presente projeto, os quais são descritos na tabela abaixo. Figura 1 – Diagrama de Pacotes e os Subsistemas Identificados. Subsistema Descrição controleAcervo Envolve toda a funcionalidade relacionada com o controle do acervo da videolocadora, abrangendo controle de filmes, itens, tipos de mídia e distribuidoras atendimentoCliente Envolve a funcionalidade relacionada ao atendimento aos clientes da locadora, incluindo locação e devolução de itens, reserva de filmes, pagamento e cadastro de clientes
  • 2. 3. Modelo de Casos de Uso O modelo de casos de uso visa capturar e descrever as funcionalidades que um sistema deve prover para os atores que interagem com o mesmo. Os atores identificados no contexto deste projeto estão descritos na tabela abaixo. Ator Descrição Administrador Representa funcionários da locadora responsáveis pela manutenção do acervo da vídeo locadora. Atendente Representa funcionários da locadora responsáveis pelo atendimento aos clientes da locadora Cliente Representa os clientes da locadora. Sistema de Operadoras de Cartão de Crédito Representa o sistema das operadoras de cartão de crédito, responsável por autorizar transações com cartão. A seguir, são apresentados os diagramas de casos de uso e descrições associadas, organizados por subsistema. 3.1 - Subsistema controleAcervo A Figura 2 apresenta o diagrama de casos de uso do subsistema controleAcervo. Figura 2 – Diagrama de Casos de Uso do Subsistema controleAcervo. A seguir, são apresentadas as descrições de cada um dos casos de uso identificados. Os casos de uso cadastrais de baixa complexidade, envolvendo inclusão, alteração, consulta e exclusão, são descritos na tabela abaixo, segundo o padrão da organização.
  • 3. Casos de Uso Cadastrais Caso de Uso Ações Possíveis Observações Requisitos Classes Cadastrar Distribuidora I, A, C, E [I] Informar: razão social, CNPJ, endereço, telefone e pessoa de contato. [E] Não é permitido excluir uma distribuidora que tenha filmes associados. RF07, RNF01 Distribuidora Cadastrar Filme I, A, C, E [I] Informar: título original, título em português, países, ano, diretores, atores, sinopse, duração, gênero e distribuidora. [E] Não é permitida a exclusão de filmes que tenham itens associados. [E] Ao excluir um filme, devem-se excluir as reservas associadas. RF06, RNF01 Filme, Distribuidora Cadastrar Item I, A, C, E [I] Informar: filme, tipo de mídia, data de aquisição e número de série. Incluir Verificar Existência de Reserva Pendente. [E] Não é permitido excluir um item que tenha locações associadas. RF06, RNF01, RNF03 Item, Filme, TipoMidia Cadastrar Tipo de Mídia I, A, C, E [I] Informar: nome e valor padrão de locação. [E] Não é permitido excluir um tipo de mídia que tenha itens associados. [E] Ao excluir um tipo de mídia, devem-se excluir as reservas que especificam apenas esse tipo de mídia. RF06, RNF01 TipoMidia Os casos de uso de consulta mais abrangente que as consulta a um único objeto (já tratadas como parte dos casos de uso cadastrais), mas ainda de baixa complexidade, tais como consultas que combinam informações de vários objetos envolvendo filtros, estão descritos na tabela abaixo, segundo o padrão da organização. Casos de Uso de Consulta Caso de Uso Observações Requisitos Classes Consultar Acervo As consultas ao acervo poderão ser feitas informando uma (ou uma combinação) das seguintes informações: título (ou parte dele), original ou em português, gênero, tipo de mídia disponível, ator, diretor, nacionalidade e lançamentos. RF08, RNF01, RNF02 Filme, Item, TipoMidia
  • 4. 3.2 - Subsistema atendimentoCliente A Figura 2 apresenta o diagrama de casos de uso do subsistema atendimentoCliente. Figura 2 – Diagrama de Casos de Uso do Subsistema atendimentoCliente. A seguir, são apresentados os casos de uso de maior complexidade que não puderam ser descritos segundo os formatos tabulares simplificados. Esses casos de uso são descritos segundo o padrão de descrição completa de casos de uso definido pela organização.
  • 5. Descrição de Caso de Uso Projeto: Vídeo Locadora Passatempo Subsistema: atendimentoCliente Caso de Uso: Cadastrar Cliente Descrição Sucinta: Este caso de uso é responsável pela inclusão de um novo titular e seus dependentes, bem como alteração de dados, consulta e exclusão de clientes em geral (titulares e dependentes). Fluxos de Eventos Normais Nome do Fluxo de Eventos Normal Precondição Descrição Incluir Novo Titular 1. O atendente informa os dados do novo titular, a saber: nome, sexo, data de nascimento, endereço, telefones residencial, celular e comercial e local de trabalho. 2. O sistema gera um número de inscrição para o titular. 3. O novo cliente titular é registrado como sendo um cliente ativo. 4. Caso o cliente titular deseje inscrever dependentes, realizar o fluxo de eventos “Incluir Dependente”. Incluir Novo Dependente 1. O atendente informa o titular que deseja incluir um novo dependente. 2. O atendente informa os dados do novo dependente, a saber: nome, sexo e data de nascimento. 3. O sistema gera um número de inscrição para o dependente. 4. O novo dependente é registrado como sendo um cliente ativo. Alterar Dados de Cliente 1. O atendente informa o cliente do qual deseja alterar dados. 2. O atendente informa os novos dados, sendo que o número de inscrição de um cliente não pode ser alterado. 3. As alterações são registradas. Desativar Cliente 1. O atendente informa o cliente ativo a ser desativado. 2. O cliente é desativado. Reativar Cliente 1. O atendente informa o cliente inativo a ser reativado. 2. O cliente é reativado. Consultar Dados de Cliente 1. O atendente informa o cliente que deseja consultar. 2. Os dados do cliente são apresentados. 3. Se o cliente for um titular e possuir dependentes ativos, apresentar, também, os nomes dos mesmos. Excluir Cliente 1. O atendente informa o cliente que deseja excluir. 2. Os dados do cliente são apresentados e é solicitada confirmação. 3. As reservas feitas pelo cliente e por seus dependentes são excluídas. 4. Caso o cliente seja um titular, seus dependentes são também excluídos. 5. O cliente é excluído. Fluxos de Eventos Variantes Nome do Fluxo de Eventos Normal Relacionado Variante Descrição Desativar Cliente 2 – O cliente é um cliente titular e possui dependentes. 2a – O cliente titular e seus dependentes são desativados.
  • 6. Fluxos de Eventos de Exceção Nome do Fluxo de Eventos Normal Relacionado Condição de Exceção Descrição Incluir Novo Titular 1 – Dados inválidos 1a - Uma mensagem de erro é exibida, retornando ao passo 1 para correção da informação inválida. Incluir Novo Dependente 1 – O titular já possui três dependentes ativos 1a - uma mensagem de erro é exibida, informando que o titular já possui três dependentes ativos e o fluxo de eventos é abortado. Incluir Novo Dependente 2 – Dados inválidos 2a - uma mensagem de erro é exibida, retornando ao passo 2 para correção da informação inválida Alterar Dados de Cliente 2 – Dados inválidos 2a - uma mensagem de erro é exibida, retornando ao passo 2 para correção da informação inválida Reativar Cliente 2 – O cliente a ser reativado é dependente de um cliente titular inativo 2a - uma mensagem de erro é exibida, informando que cliente é dependente de um titular inativo e o fluxo de eventos é abortado Excluir Cliente 1 - O cliente ou um de seus dependentes possui locações 1a - Uma mensagem de erro é exibida, indicando que o cliente ou um de seus dependentes possui locações e, portanto, não pode ser excluído, e perguntando se deseja desativar o cliente. 1b - Se o atendente desejar desativar o cliente, realizar o fluxo de eventos “Desativar Cliente”, senão abortar o fluxo de eventos corrente. Excluir Cliente 2 – Solicitação de confirmação de exclusão negada. 2a – Abortar o fluxo de eventos Requisitos Relacionados: RF09, RF10, RF11, RN04, RN05, RN06, RN07, RNF01, RNF04 Classes Relacionadas: Cliente, ClienteTitular, ClienteDependente, Reserva
  • 7. Descrição de Caso de Uso Projeto: Vídeo Locadora Passatempo Subsistema: atendimentoCliente Caso de Uso: Efetuar Locação Descrição Sucinta: Este caso de uso é responsável pela realização de uma nova locação, bem como pela consulta e cancelamento de uma locação. Fluxos de Eventos Normais Nome do Fluxo Normal Precondição Descrição Efetuar Nova Locação 1. O atendente informa o cliente que deseja efetuar a locação. 2. Para cada item a ser locado 2.1 - O atendente informa o item a ser locado. 2.2 - O sistema calcula o valor de locação do item (ver RN11). 2.3 - O sistema calcula a data de devolução prevista (ver RN12). 2.4 - Caso deseje, o atendente poderá alterar a data de devolução prevista e o valor de locação de um item locado. 2.5 - O sistema adiciona o valor de locação do item locado ao valor da locação. 3. A locação é registrada com a data corrente como data de locação. 4. Caso o cliente deseje pagar, incluir Efetuar Pagamento. Consultar Dados de Locação 1. O atendente seleciona a locação que deseja consultar os dados. 2. Os dados da locação são apresentados. Cancelar Locação 1. O atendente seleciona a locação que deseja cancelar. 2. Os dados da locação são apresentados e é solicitada confirmação do cancelamento. 3. A locação selecionada é excluída. Fluxos de Eventos de Exceção Nome do Fluxo de Eventos Normal Relacionado Condição de Exceção Descrição Efetuar Nova Locação 1 – Cliente está em atraso. 1.a - Uma mensagem de erro é exibida, informando que há itens locados pelo cliente em atraso e apresentando dados desses itens. O fluxo de eventos é abortado. Efetuar Nova Locação 2.1 – Existe uma reserva pendente para o item do filme e tipo de mídia sendo locado . 2.1a – Se o cliente da próxima reserva pendente não é o cliente da locação, então uma mensagem de erro é exibida, indicando o item não está disponível para locação e retornar ao passo 2.1 sem incluir esse item na locação. 2.1b - Se o cliente da próxima reserva pendente é o cliente da locação, então registrar a reserva como tendo sido atendida e avançar para o passo 2.2. Cancelar Locação 1 – Locação paga. 1a - Uma mensagem de erro é exibida, indicando que a locação já foi paga e, portanto, não pode ser cancelada. O fluxo de eventos é abortado. Cancelar Locação 2 – Solicitação de confirmação de cancelamento negada. 2a - Abortar o fluxo de eventos.
  • 8. Requisitos Relacionados: RF01, RN01, RN08, RN10, RN11, RN12, RN13, RN14, RN16, RNF01, RNF04 Classes Relacionadas: Cliente, Locacao, ItemLocado, Item, TipoMidia, Filme, Reserva
  • 9. Descrição de Caso de Uso Projeto: Vídeo Locadora Passatempo Subsistema: atendimentoCliente Caso de Uso: Efetuar Devolução Descrição Sucinta: Este caso de uso é responsável pela realização de uma devolução de itens. Fluxos de Eventos Normais Nome do Fluxo de Eventos Normal Precondição Descrição Efetuar Devolução 1. O atendente informa cada um dos itens que estão sendo devolvidos. 2. Para cada item devolvido 2.1 - Se o item não tiver sido pago no ato da locação, adicionar o seu valor de locação ao valor a ser pago na devolução. 2.2 - Caso o item locado esteja em atraso (data de devolução > data de devolução prevista do item), calcular a multa devida (ver RN02) e adicionar o valor da multa ao valor a ser pago na devolução. 3. Se o valor a ser pago na devolução for maior do que zero, incluir Efetuar Pagamento. 4. Registrar a devolução, indicando os itens locados que foram devolvidos e atribuindo a data corrente como data de devolução. 5. Para cada item devolvido, incluir Verificar Existência de Reserva Pendente. Fluxos de Eventos de Exceção Nome do Fluxo de Eventos Normal Relacionado Condição de Exceção Descrição Efetuar Devolução 1 - Item informado não possui uma locação vigente. 1a - Uma mensagem de erro é exibida, informando que o item informado não está locado no momento. 1b – Retornar ao passo 1 sem incluir esse item no conjunto de itens sendo devolvidos. Requisitos Considerados: RF02, RN02, RN08, RNF01, RNF04, RNF06 Classes Relacionadas: Item, ItemLocado, Locacao, Devolucao
  • 10. Descrição de Caso de Uso Projeto: Vídeo Locadora Passatempo Subsistema: atendimentoCliente Caso de Uso: Efetuar Pagamento Descrição Sucinta: Este caso de uso é responsável pela realização de um pagamento. Fluxos de Eventos Normais Nome do Fluxo de Eventos Normal Precondição Descrição Efetuar Pagamento 1. De posse do valor a ser pago, o atendente informa a forma de pagamento. 2. Caso deseje, o atendente poderá aplicar um desconto no valor total a ser pago. 3. Efetuar o pagamento na forma escolhida: 3a. Em dinheiro 3b. Em cheque 3c. Em cartão Fluxos de Eventos Variantes Nome do Fluxo de Eventos Normal Relacionado Variante Descrição Efetuar Pagamento 3a – Em dinheiro 3a.1 – O atendente informa a quantia em dinheiro entregue pelo cliente. 3a.2 – O sistema informa o valor do troco a ser dado ao cliente. 3a.3 – O sistema registra o pagamento em dinheiro. Efetuar Pagamento 3b – Em cheque 3b.1 – O atendente informa os dados do cheque, a saber: banco, agência, conta e valor . 3b.2 – O sistema registra o pagamento em cheque, armazenando os dados do cheque. Efetuar Pagamento 3c – Em cartão 3c.1 – O atendente envia as informações do cartão, valor e identificação da loja para o serviço de autorização do Sistema de Operadoras de Cartão de Crédito. 3c.2 – O Sistema de Operadoras de Cartão de Crédito envia o número da autorização. 3c.3 – O sistema registra o pagamento em cartão, armazenando a operadora do cartão e o número da autorização.
  • 11. Fluxos de Eventos de Exceção Nome do Fluxo de Eventos Normal Relacionado Condição de Exceção Descrição Efetuar Pagamento 2a.1 – O valor da quantia paga em dinheiro é inferior ao valor a ser pago. 2a.1.1 - Uma mensagem de erro é exibida, informando que a quantia paga deve ser maior ou igual ao valor a ser pago. 2a.1.2 – Retornar ao passo 2a.1 Efetuar Pagamento 2b.1 – O valor do cheque é diferente do valor a ser pago 2b.1.1 - Uma mensagem de erro é exibida, informando que o valor do cheque deve ser igual ao valor a ser pago. 2b.1.2 – Retornar ao passo 2b.1. Efetuar Pagamento 2c.2 – O Sistema de Operadoras de Cartão de Crédito não autoriza a transação 2c.2.1 - Uma mensagem de erro é exibida, informando que a transação não foi autorizada. 2c.2.2 – Retornar ao passo 1. Requisitos Relacionados: RF03, RN09, RNF05 Classes Relacionadas: Pagamento, Cheque, AutorizacaoCartao, Locacao, Devolucao
  • 12. Descrição de Caso de Uso Projeto: Vídeo Locadora Passatempo Subsistema: atendimentoCliente Caso de Uso: Efetuar Reserva Descrição Sucinta: Este caso de uso é responsável pela realização de uma nova reserva, consulta e cancelamento de uma reserva existente. Fluxos de Eventos Normais Nome do Fluxo de Eventos Normal Precondição Descrição Efetuar Nova Reserva 1. O atendente informa o cliente que deseja efetuar a reserva. 2. O atendente informa os dados para reserva, a saber: o filme e o tipo de mídia. 3. A reserva é registrada, com a data e a hora do sistema, além das informações de cliente, filme e tipo de mídia solicitados. Consultar Dados de Reserva 1. O atendente informa a reserva que deseja consultar os dados. 2. Os dados da reserva são apresentados. Cancelar Reserva 1. O atendente informa a reserva que deseja cancelar. 2. Os dados da reserva são apresentados e é solicitada confirmação. 3. Se a exclusão for confirmada, a reserva é excluída. 4. Para o item que estava reservado, incluir Verificar Existência de Reserva Pendente. Cancelar Reserva Automaticamente 1. Diariamente, o sistema verifica que reservas já expiraram (ver RN15). 2. Para cada reserva expirada, 2.a - O sistema a registra como cancelada. A reserva não é efetivamente excluída, mas apenas marcada como cancelada. 2.b. - Incluir Verificar Existência de Reserva Pendente. Fluxos de Eventos de Exceção Nome do Fluxo de Eventos Normal Relacionado Condição de Exceção Descrição Efetuar Nova Reserva 1 – Cliente está em atraso. 1a - Uma mensagem de erro é exibida, informando que há itens locados pelo cliente em atraso e apresentando dados desses itens. O fluxo de eventos é abortado. Efetuar Nova Reserva 2 - Há itens que atendem à reserva (filme e tipo de mídia solicitados) disponíveis para locação 2a - Uma mensagem é exibida, informando que não é possível efetuar a reserva, pois há itens que atendem à reserva disponíveis na locadora. O fluxo de eventos é abortado. Cancelar Reserva 1 – Reserva informada já foi cancelada automaticamente. 1a - Uma mensagem de erro é exibida, informando que a reserva já foi cancelada automaticamente pelo sistema por ter expirado seu prazo. O fluxo de eventos é abortado. Requisitos Relacionados: RF04, RF05, RN03, RN10, RN15, RN16, RN17, RNF01, RNF04 Classes Relacionadas: Cliente, Filme, TipoMidia, Item, Locacao, ItemLocado
  • 13. Descrição de Caso de Uso Projeto: Vídeo Locadora Passatempo Subsistema: atendimentoCliente Caso de Uso: Verificar Existência de Reserva Pendente Descrição Sucinta: Este caso de uso é responsável por verificar se existe uma reserva pendente para um filme em um certo tipo de mídia. Fluxos de Eventos Normais Nome do Fluxo de Eventos Normal Precondição Descrição Verificar Existência de Reserva Pendente 1. De posse de um item, o sistema verifica se há um reserva pendente para o filme do item, no tipo de mídia do item. 2. Se não há reserva pendente, o sistema torna o item disponível. 3. Se há reserva pendente: 3a. O sistema envia um email para o cliente da próxima reserva pendente, indicando que há um item disponível para locação e que, a partir daquele momento, ele tem 24 horas para efetuar a locação. 3b. Registrar a próxima reserva como tendo sido comunicada ao cliente. Requisitos Relacionados: RF12, RN10, RNF04, RNF06 Classes Relacionadas: Item, Filme, Reserva, Cliente
  • 14. 4. Modelo Estrutural O modelo conceitual estrutural visa capturar e descrever as informações (classes, associações e atributos) que o sistema deve representar para prover as funcionalidades descritas na seção anterior. A seguir, são apresentados os diagramas de classes de cada um dos subsistemas identificados no contexto deste projeto. Na seção 6 – Dicionário de Projeto – são apresentadas as descrições das classes e atributos presentes nos diagramas apresentados nesta seção. 4.1 - Subsistema controleAcervo A Figura 3 apresenta o diagrama de classes do subsistema controleAcervo. Figura 3 – Diagrama de Classes do Subsistema controleAcervo. 4.2 - Subsistema atendimentoCliente A Figura 4 apresenta o diagrama de classes do subsistema atendimentoCliente. Nesse diagrama, as restrições de integridade abaixo têm de ser garantidas. Restrições de Integridade • Um cliente titular só pode possuir até três dependentes ativos.
  • 15. Figura 4 – Diagrama de Classes do Subsistema atendimentoCliente.
  • 16. 5. Modelo Dinâmico O modelo dinâmico visa capturar o comportamento dinâmico do sistema. A seguir, são apresentados os diagramas de estados e o diagrama de atividades elaborados no contexto deste projeto. 5.1 – Diagramas de Estados A Figura 5 apresenta o diagrama de estados da classe Item do subsistema controleAcervo. Figura 5 – Diagrama de Estados da Classe Item. A Figura 6 apresenta o diagrama de estados da classe Reserva do subsistema atendimentoCliente.
  • 17. Figura 6 – Diagrama de Estados da Classe Reserva. 5.2 – Diagrama de Atividades A Figura 7 apresenta o diagrama de atividades para o fluxo de eventos Efetuar Nova Reserva do caso de uso Efetuar Reserva do subsistema atendimentoCliente. A Figura 8 apresenta o diagrama de atividades para o fluxo de eventos Efetuar Nova Locação do caso de uso Efetuar Locação do subsistema atendimentoCliente.
  • 18. Figura 7 – Diagrama de Atividades: Efetuar Nova Reserva.
  • 19. Figura 8 – Diagrama de Atividades: Efetuar Nova Locação.
  • 20. 6. Dicionário de Projeto Esta seção apresenta as definições das classes (e seus atributos e operações), servindo como um glossário do projeto. As definições são organizadas por subsistema. Vale destacar que operações básicas (operações get e set, construtoras e destrutoras de objetos) não são listadas e descritas. 6.1 - Subsistema controleAcervo • Distribuidora: Empresas responsáveis pela distribuição de filmes para a locadora. • razaoSocial: razão social da distribuidora • cnpj: CNPJ da distribuidora • endereco: endereço da distribuidora • telefone: telefone para contato com a distribuidora • pessoaContato: nome de uma pessoa para contato com a distribuidora • ativa: indica se a distribuidora está (V) ou não (F) fornecendo filmes para a locadora • Filme: Filmes do acervo da locadora • tituloOriginal: título original do filme, em sua língua de origem • títuloPortugues: título do filme em língua portuguesa, definido pela distribuidora • paises: países onde o filme foi produzido. Devem ser vários quando o filme for uma co-produção • ano: ano de lançamento do filme • diretores: nomes dos diretores responsáveis pela direção do filme • atores: nomes dos atores que compõem o elenco do filme • sinopse: sinopse, fazendo um resumo do filme • duracao: duração do filme em minutos • genero: gênero do filme (ver tipo de dados enumerado Genero para ver possíveis valores) • ehLancamento: indicador de se o filme é lançamento (V) ou não (F) • existeItemDisponivel(tpMidia: TipoMidia): boolean - verifica dentre os itens de um filme se há algum deles do tipo de mídia tpMidia disponível na locadora. Caso haja, retorna verdadeiro (V); caso contrário, retorna falso (F). • Item: os objetos físicos (Dvds, fitas VHS etc.) que têm os filmes gravados e que são efetivamente locados. • numeroSerie: número de série do item no formato de código de barras • dtAquisicao: data de aquisição do item pela locadora • estado: estado corrente do item (ver diagrama de estados da classe Item e tipo de dados enumerado correspondente) • obterProximaReservaPendente: Reserva - retorna a próxima reserva pendente que indique o filme e o tipo de mídia do item.
  • 21. • TipoMidia: tipos de mídias com os quais a locadora trabalha (p.ex., DVD, Fita VHS etc.), i.e., que a locadora possui itens desse tipo. • nome: nome do tipo de mídia • valorPadraoLocacao: valor padrão a ser cobrado por locação de itens deste tipo • ativo: indica se a locadora está (V) ou não (F) trabalhando com itens neste tipo de mídia 6.2 - Subsistema atendimentoCliente • AutorizacaoCartao: autorização emitida pelo Sistema de Operadoras de Cartão de Crédito quando da aprovação de um pagamento realizado com cartão de crédito. • operadora: nome da operadora de cartão de crédito que aprovou o pagamento • numero: número da autorização do pagamento, enviado pelo Sistema de Operadoras de Cartão de Crédito quando o pagamento com cartão de crédito é autorizado • data: data de envio da autorização • Cheque: cheques utilizados para efetuar pagamentos. • banco: número do banco da conta do cheque • agencia: número da agência da conta do cheque • conta: número da conta do cheque • numero: número do cheque usado para pagamento • Cliente: clientes da locadora. • numeroInscricao : número de inscrição do cliente • nome: nome do cliente • sexo: sexo do cliente (ver tipo de dados enumerado Sexo para ver possíveis valores) • dataNascimento: data de nascimento do cliente • email: e-mail do cliente • ativo: indica se o cliente está ativo (V) ou inativo (F) na locadora. • emAtraso(): boolean – verifica, dentre os itens locados nas locações do cliente, se há algum deles que já deveria ter sido devolvido (data corrente > data devolução prevista) e ainda não foi. Caso haja, retorna verdadeiro (V); caso contrário, retorna falso (F). • ClienteDependente: clientes que dependem de clientes titulares. São indicados pelo cliente titular e suas ações junto à locadora são atribuídas ao seu titular.
  • 22. • ClienteTitular: clientes principais da locadora, os quais são responsáveis pelas suas ações junto à locadora e também pelas de seus dependentes. • cpf: cpf do cliente titular • endereco: endereço do cliente titular (ver tipo de dados Endereco para ver a estrutura dos endereços) • telefoneResidencial: telefone da residência do cliente titular • telefoneCelular: telefone celular do cliente titular • telefoneComercial: telefone do local de trabalho do cliente titular • localTrabalho: local onde o cliente titular trabalha • Devolucao: registros das devoluções de itens que foram locados previamente. • data: data em que ocorreu a devolução • ItemLocado: registros das locações de itens individuais. • valorLocacao: valor de locação do item • dtDevolucaoPrevista: data limite que o item tem de ser de devolvido para não ser cobrada multa • multa: valor cobrado de multa por atraso na devolução do item locado • calcularValorLocacao(): Currency - calcula o valor devido para a locação do item, segundo a descrição da regra de negócio RN11. Retorna esse valor. • calcularDataDevolucaoPrevista(): Date - calcula a data de devolução prevista do item locado, segundo a descrição da regra de negócio RN12. Retorna essa data. • Locacao: registros das locações de itens efetuadas por clientes. • data: data em que ocorreu a locação • Pagamento: registros de pagamentos efetuados. • valor: valor recebido como pagamento • Reserva: registros de reservas efetuadas pelos clientes para filmes em determinados tipos de mídia. • dtReserva: data e hora em que a reserva foi efetuada • dtComunicacaoCliente: data e hora em que foi feita a comunicação com o cliente de que há um item disponível na locadora para atender à reserva efetuada pelo cliente • estado: indica o estado em que se encontra uma reserva (ver diagrama de estados da classe Reserva e tipo de dados enumerado correspondente) 6.3 – Tipos de Dados Específicos de Domínio • Cep: código de endereçamento postal (CEP) . • infoRegiao: String – 5 primeiros dígitos do CEP, contendo informações da região e setor de um endereço, conforme sistema decimal definido pelos Correios • idDistribuicao: String – 3 últimos dígitos, contendo informações de identificadores de distribuição usados pelos Correios para entrega de correspondências
  • 23. • Cnpj: Número no Cadastro de Pessoas Jurídicas com 11 dígitos. • numIdentificacao: String - 8 primeiros dígitos, identificando a empresa • digitoVerificador: String - dois últimos dígitos, usados para verificar se o número do CNPJ é válido • CodigoBarras: String - código numérico de identificação inequívoca de um item a ser vendido, movimentado e armazenado, composto por 13 dígitos. • Cpf: Número no Cadastro de Pessoas Físicas com 11 dígitos. • numIdentificacao: String - 9 primeiros dígitos, identificando a pessoa física • digitoVerificador: String - dois últimos dígitos, usados para verificar se o número do CPF é válido • Endereco: endereços, conforme estrutura definida abaixo. • rua: String - nome da rua • numero: String - número do endereço • complemento: String - informação complementar ao número, tal como apartamento • bairro: String - bairro do endereço • cidade: String - cidade do endereço • estado: Estado • cep: do endereço • Estado: estados do Brasil. Tipo enumerado que pode assumir os seguintes valores: {AC – Acre, AL - Alagoas, AM - Amazonas, AP - Amapá, BA - Bahia, CE - Ceará, DF – Distrito Federal, ES – Espírito Santo, GO - Goiás, MA - Maranhão, MG – Minas Gerais, MS – Mato Grosso do Sul, MT – Mato Grosso, PA - Pará, PB - Paraíba, PE - Pernambuco, PI - Piauí, PR - Paraná, RJ – Rio de Janeiro, RN - Rio Grande do Norte, RO - Rondônia, RR - Roraima, RS – Rio Grande do Sul, SC – Santa Catarina, SE - Sergipe, SP – São Paulo, TO – Tocantins} • EstadoItem: estados pelos quais itens podem passar. Tipo enumerado que pode assumir os seguintes valores: Disponível, Reservado, Locado e Inativo. Ver diagrama de estados da classe Item. • EstadoReserva: estados pelos quais reservas podem passar. Tipo enumerado que pode assumir os seguintes valores: Pendente, Comunicada, Atendida e Expirada. Ver diagrama de estados da classe Reserva. • Genero: gêneros nos quais os filmes da locadora são classificados. Tipo enumerado que pode assumir os seguintes valores: {Ação, Animação, Aventura, Comédia, Documentário, Drama, Ficção, Guerra, Musical, Policial, Romance, Suspense, Terror} • Sexo: sexo de pessoas físicas. Tipo enumerado que pode assumir os seguintes valores: {Feminino, Masculino} • Telefone: números de telefones. • ddd: String – número do DDD do telefone (3 dígitos) • numero: String – número do telefone propriamente dito (8 dígitos)