Professional Documents
Culture Documents
Projeto: Vdeo Locadora Passatempo Verso: 1.3 Responsveis: Ricardo de Almeida Falbo
1. Introduo
Este documento apresenta a especificao dos requisitos do sistema da Vdeo Locadora Passatempo. A atividade de anlise de requisitos foi conduzida aplicando-se tcnicas de modelagem de casos de uso, modelagem de classes e modelagem de comportamento dinmico do sistema. Os modelos apresentados foram elaborados usando a UML. Este documento est organizado da seguinte forma: a seo 2 apresenta os subsistemas identificados, mostrando suas dependncias na forma de um diagrama de pacotes; a seo 3 apresenta o modelo de casos de uso, incluindo descries de atores, os diagramas de casos de uso e descries de casos de uso; a seo 4 apresenta o modelo conceitual estrutural do sistema, na forma de diagramas de classes; a seo 5 apresenta o modelo comportamental dinmico do sistema, na forma de diagramas de estado e de sequncia; finalmente, a seo 6 apresenta o dicionrio de projeto, contendo as definies das classes, atributos e principais operaes identificadas.
2. Identificao de Subsistemas
A Figura 1 mostra os subsistemas identificados no contexto do presente projeto, os quais so descritos na tabela abaixo.
Subsistema controleAcervo
Descrio Envolve toda a funcionalidade relacionada com o controle do acervo da videolocadora, abrangendo controle de filmes, itens, tipos de mdia e distribuidoras Envolve a funcionalidade relacionada ao atendimento aos clientes da locadora, incluindo locao e devoluo de itens, reserva de filmes, pagamento e cadastro de clientes
atendimentoCliente
A seguir, so apresentados os diagramas de casos de uso e descries 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, so apresentadas as descries de cada um dos casos de uso identificados. Os casos de uso cadastrais de baixa complexidade, envolvendo incluso, alterao, consulta e excluso, so descritos na tabela abaixo, segundo o padro da organizao.
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 informaes de vrios objetos envolvendo filtros, esto descritos na tabela abaixo, segundo o padro da organizao. Casos de Uso de Consulta
Caso de Uso Consultar Acervo Observaes Requisitos Classes As consultas ao acervo podero ser feitas RF08, RNF01, Filme, Item, informando uma (ou uma combinao) das RNF02 TipoMidia seguintes informaes: ttulo (ou parte dele), original ou em portugus, gnero, tipo de mdia disponvel, ator, diretor, nacionalidade e lanamentos.
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, so apresentados os casos de uso de maior complexidade que no puderam ser descritos segundo os formatos tabulares simplificados. Esses casos de uso so descritos segundo o padro de descrio completa de casos de uso definido pela organizao.
Excluir Cliente
2 O cliente um cliente 2a O cliente titular e seus dependentes so desativados. titular e possui dependentes.
1 O titular j possui 1a - uma mensagem de erro exibida, informando que o trs dependentes ativos titular j possui trs dependentes ativos e o fluxo de eventos abortado. 2 Dados invlidos 2 Dados invlidos 2a - uma mensagem de erro exibida, retornando ao passo 2 para correo da informao invlida 2a - uma mensagem de erro exibida, retornando ao passo 2 para correo da informao invlida
2 O cliente a ser 2a - uma mensagem de erro exibida, informando que cliente reativado dependente dependente de um titular inativo e o fluxo de eventos de um cliente titular abortado inativo 1 - O cliente ou um de 1a - Uma mensagem de erro exibida, indicando que o seus dependentes possui cliente ou um de seus dependentes possui locaes e, locaes portanto, no pode ser excludo, e perguntando se deseja desativar o cliente. 1b - Se o atendente desejar desativar o cliente, realizar o fluxo de eventos Desativar Cliente, seno abortar o fluxo de eventos corrente. 2 Solicitao confirmao excluso negada. de 2a Abortar o fluxo de eventos de
Excluir Cliente
Excluir Cliente
Requisitos Relacionados: RF09, RF10, RF11, RN04, RN05, RN06, RN07, RNF01, RNF04 Classes Relacionadas: Cliente, ClienteTitular, ClienteDependente, Reserva
1 Cliente est em 1.a - Uma mensagem de erro exibida, informando que h atraso. itens locados pelo cliente em atraso e apresentando dados desses itens. O fluxo de eventos abortado. 2.1 Existe uma reserva pendente para o item do filme e tipo de mdia sendo locado . 2.1a Se o cliente da prxima reserva pendente no o cliente da locao, ento uma mensagem de erro exibida, indicando o item no est disponvel para locao e retornar ao passo 2.1 sem incluir esse item na locao. 2.1b - Se o cliente da prxima reserva pendente o cliente da locao, ento registrar a reserva como tendo sido atendida e avanar para o passo 2.2. 1a - Uma mensagem de erro exibida, indicando que a locao j foi paga e, portanto, no pode ser cancelada. O fluxo de eventos abortado.
Cancelar Locao
1 Locao paga.
Cancelar Locao
Requisitos Relacionados: RF01, RN01, RN08, RN10, RN11, RN12, RN13, RN14, RN16, RNF01, RNF04 Classes Relacionadas: Cliente, Locacao, ItemLocado, Item, TipoMidia, Filme, Reserva
1 - Item informado no 1a - Uma mensagem de erro exibida, informando que o item possui uma locao informado no est locado no momento. vigente. 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
Efetuar Pagamento
3b Em cheque
Efetuar Pagamento
3c Em carto
2a.1 O valor da quantia 2a.1.1 - Uma mensagem de erro exibida, informando que paga em dinheiro inferior a quantia paga deve ser maior ou igual ao valor a ser pago. ao valor a ser pago. 2a.1.2 Retornar ao passo 2a.1 2b.1 O valor do cheque 2b.1.1 - Uma mensagem de erro exibida, informando diferente do valor a ser que o valor do cheque deve ser igual ao valor a ser pago. pago 2b.1.2 Retornar ao passo 2b.1. 2c.2 O Sistema de 2c.2.1 - Uma mensagem de erro exibida, informando que Operadoras de Carto de a transao no foi autorizada. Crdito no autoriza a 2c.2.2 Retornar ao passo 1. transao
Efetuar Pagamento
Efetuar Pagamento
Requisitos Relacionados: RF03, RN09, RNF05 Classes Relacionadas: Pagamento, Cheque, AutorizacaoCartao, Locacao, Devolucao
Cancelar Automaticamente
1 Cliente est em 1a - Uma mensagem de erro exibida, informando que h atraso. itens locados pelo cliente em atraso e apresentando dados desses itens. O fluxo de eventos abortado. 2 - H itens que 2a - Uma mensagem exibida, informando que no possvel atendem reserva efetuar a reserva, pois h itens que atendem reserva (filme e tipo de mdia disponveis na locadora. O fluxo de eventos abortado. solicitados) disponveis para locao 1 Reserva informada 1a - Uma mensagem de erro exibida, informando que a j foi cancelada reserva j foi cancelada automaticamente pelo sistema por ter automaticamente. expirado seu prazo. O fluxo de eventos abortado.
Cancelar Reserva
Requisitos Relacionados: RF04, RF05, RN03, RN10, RN15, RN16, RN17, RNF01, RNF04 Classes Relacionadas: Cliente, Filme, TipoMidia, Item, Locacao, ItemLocado
Requisitos Relacionados: RF12, RN10, RNF04, RNF06 Classes Relacionadas: Item, Filme, Reserva, Cliente
4. Modelo Estrutural
O modelo conceitual estrutural visa capturar e descrever as informaes (classes, associaes e atributos) que o sistema deve representar para prover as funcionalidades descritas na seo anterior. A seguir, so apresentados os diagramas de classes de cada um dos subsistemas identificados no contexto deste projeto. Na seo 6 Dicionrio de Projeto so apresentadas as descries das classes e atributos presentes nos diagramas apresentados nesta seo. 4.1 - Subsistema controleAcervo A Figura 3 apresenta o diagrama de classes do subsistema controleAcervo.
4.2 - Subsistema atendimentoCliente A Figura 4 apresenta o diagrama de classes do subsistema atendimentoCliente. Nesse diagrama, as restries de integridade abaixo tm de ser garantidas. Restries de Integridade Um cliente titular s pode possuir at trs dependentes ativos.
5. Modelo Dinmico
O modelo dinmico visa capturar o comportamento dinmico do sistema. A seguir, so 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 Locao do caso de uso Efetuar Locao do subsistema atendimentoCliente.
6. Dicionrio de Projeto Esta seo apresenta as definies das classes (e seus atributos e operaes), servindo como um glossrio do projeto. As definies so organizadas por subsistema. Vale destacar que operaes bsicas (operaes get e set, construtoras e destrutoras de objetos) no so listadas e descritas. 6.1 - Subsistema controleAcervo Distribuidora: Empresas responsveis pela distribuio de filmes para a locadora. razaoSocial: razo social da distribuidora cnpj: CNPJ da distribuidora endereco: endereo 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 no (F) fornecendo filmes para a locadora
Filme: Filmes do acervo da locadora tituloOriginal: ttulo original do filme, em sua lngua de origem ttuloPortugues: ttulo do filme em lngua portuguesa, definido pela distribuidora paises: pases onde o filme foi produzido. Devem ser vrios quando o filme for uma co-produo ano: ano de lanamento do filme diretores: nomes dos diretores responsveis pela direo do filme atores: nomes dos atores que compem o elenco do filme sinopse: sinopse, fazendo um resumo do filme duracao: durao do filme em minutos genero: gnero do filme (ver tipo de dados enumerado Genero para ver possveis valores) ehLancamento: indicador de se o filme lanamento (V) ou no (F) existeItemDisponivel(tpMidia: TipoMidia): boolean - verifica dentre os itens de um filme se h algum deles do tipo de mdia tpMidia disponvel na locadora. Caso haja, retorna verdadeiro (V); caso contrrio, retorna falso (F).
Item: os objetos fsicos (Dvds, fitas VHS etc.) que tm os filmes gravados e que so efetivamente locados. numeroSerie: nmero de srie do item no formato de cdigo de barras dtAquisicao: data de aquisio 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 prxima reserva pendente que indique o filme e o tipo de mdia do item.
TipoMidia: tipos de mdias 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 mdia valorPadraoLocacao: valor padro a ser cobrado por locao de itens deste tipo ativo: indica se a locadora est (V) ou no (F) trabalhando com itens neste tipo de mdia
6.2 - Subsistema atendimentoCliente AutorizacaoCartao: autorizao emitida pelo Sistema de Operadoras de Carto de Crdito quando da aprovao de um pagamento realizado com carto de crdito. operadora: nome da operadora de carto de crdito que aprovou o pagamento numero: nmero da autorizao do pagamento, enviado pelo Sistema de Operadoras de Carto de Crdito quando o pagamento com carto de crdito autorizado data: data de envio da autorizao
Cheque: cheques utilizados para efetuar pagamentos. banco: nmero do banco da conta do cheque agencia: nmero da agncia da conta do cheque conta: nmero da conta do cheque numero: nmero do cheque usado para pagamento
Cliente: clientes da locadora. numeroInscricao : nmero de inscrio do cliente nome: nome do cliente sexo: sexo do cliente (ver tipo de dados enumerado Sexo para ver possveis 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 locaes do cliente, se h algum deles que j deveria ter sido devolvido (data corrente > data devoluo prevista) e ainda no foi. Caso haja, retorna verdadeiro (V); caso contrrio, retorna falso (F).
ClienteDependente: clientes que dependem de clientes titulares. So indicados pelo cliente titular e suas aes junto locadora so atribudas ao seu titular.
ClienteTitular: clientes principais da locadora, os quais so responsveis pelas suas aes junto locadora e tambm pelas de seus dependentes. cpf: cpf do cliente titular endereco: endereo do cliente titular (ver tipo de dados Endereco para ver a estrutura dos endereos) telefoneResidencial: telefone da residncia 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 devolues de itens que foram locados previamente. data: data em que ocorreu a devoluo
ItemLocado: registros das locaes de itens individuais. valorLocacao: valor de locao do item dtDevolucaoPrevista: data limite que o item tem de ser de devolvido para no ser cobrada multa multa: valor cobrado de multa por atraso na devoluo do item locado calcularValorLocacao(): Currency - calcula o valor devido para a locao do item, segundo a descrio da regra de negcio RN11. Retorna esse valor. calcularDataDevolucaoPrevista(): Date - calcula a data de devoluo prevista do item locado, segundo a descrio da regra de negcio RN12. Retorna essa data.
Locacao: registros das locaes de itens efetuadas por clientes. data: data em que ocorreu a locao
Reserva: registros de reservas efetuadas pelos clientes para filmes em determinados tipos de mdia. dtReserva: data e hora em que a reserva foi efetuada dtComunicacaoCliente: data e hora em que foi feita a comunicao com o cliente de que h um item disponvel 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 Especficos de Domnio Cep: cdigo de endereamento postal (CEP) . infoRegiao: String 5 primeiros dgitos do CEP, contendo informaes da regio e setor de um endereo, conforme sistema decimal definido pelos Correios idDistribuicao: String 3 ltimos dgitos, contendo informaes de identificadores de distribuio usados pelos Correios para entrega de correspondncias
Cnpj: Nmero no Cadastro de Pessoas Jurdicas com 11 dgitos. numIdentificacao: String - 8 primeiros dgitos, identificando a empresa digitoVerificador: String - dois ltimos dgitos, usados para verificar se o nmero do CNPJ vlido
CodigoBarras: String - cdigo numrico de identificao inequvoca de um item a ser vendido, movimentado e armazenado, composto por 13 dgitos. Cpf: Nmero no Cadastro de Pessoas Fsicas com 11 dgitos. numIdentificacao: String - 9 primeiros dgitos, identificando a pessoa fsica digitoVerificador: String - dois ltimos dgitos, usados para verificar se o nmero do CPF vlido
Endereco: endereos, conforme estrutura definida abaixo. rua: String - nome da rua numero: String - nmero do endereo complemento: String - informao complementar ao nmero, tal como apartamento bairro: String - bairro do endereo cidade: String - cidade do endereo estado: Estado cep: do endereo
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 Esprito Santo, GO - Gois, MA - Maranho, MG Minas Gerais, MS Mato Grosso do Sul, MT Mato Grosso, PA - Par, PB - Paraba, PE - Pernambuco, PI - Piau, PR - Paran, RJ Rio de Janeiro, RN - Rio Grande do Norte, RO - Rondnia, RR - Roraima, RS Rio Grande do Sul, SC Santa Catarina, SE - Sergipe, SP So Paulo, TO Tocantins} EstadoItem: estados pelos quais itens podem passar. Tipo enumerado que pode assumir os seguintes valores: Disponvel, 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: gneros nos quais os filmes da locadora so classificados. Tipo enumerado que pode assumir os seguintes valores: {Ao, Animao, Aventura, Comdia, Documentrio, Drama, Fico, Guerra, Musical, Policial, Romance, Suspense, Terror} Sexo: sexo de pessoas fsicas. Tipo enumerado que pode assumir os seguintes valores: {Feminino, Masculino} Telefone: nmeros de telefones. ddd: String nmero do DDD do telefone (3 dgitos) numero: String nmero do telefone propriamente dito (8 dgitos)