1 UNIOESTE – Universidade Estadual do Oeste do Paraná
CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Ciência da Computação
Curso de Bacharelado em Ciência da Computação
Processo De Engenharia de Software II
Sistema Sisloc
Sistema de Gerenciamento para Locadoras
Cascavel, Abril de 2012
2
Gustavo Catarino da Costa Mateus Felipe Teixeira Thiago Magalhães Faino
Especificação de Requisitos e Modelagem Orientada a Objetos
Professor: Victor Francisco Araya Santander
Cascavel, Abril de 2012
3
Sumário
1 . Introdução ... 4
2 . Modelagem Organizacional ... 5
2.1 . Modelo de Dependência Estratégicas ... 5
2.2 . Modelo de Razões Estratégicas ... 7
3. Requisitos Funcionais ... 8
4. Requisitos Não-Funcionais ... 12
4.1. Requisitos do Processo ... 12
4.2. Requisitos do Produto ... 12
5 . Diagrama de Casos de Uso... 14
6 . Diagrama de Classes... 34
7 . Metodologia... 37
4
1.
Introdução
A empresa escolhida para o desenvolvimento do trabalho prático da disciplina de Processo de Engenharia de Software II (primeira parte - Especificação de Requisito e Análise Orientada a Objetos) foi a VIDEO LOCADORA GRALHA AZUL LTDA, localizada na cidade de Cascavel - Paraná - Brasil, com um único estabelecimento, no endereço: Avenida Gralha-azul, número 480, Bairro Guarujá. Tendo como razão social "Video Locadora Gralha Azul Ltda" e CNPJ: 07.672.385/0001-82.
A empresa trabalha no ramo de locação de filmes, tendo seu trabalho voltado para todas as mídias disponíveis no mercado (fitas VHS, DVD's e Blu-rays) e também para os diversos gêneros de filme. Além disso, a empresa trabalha com filmes recém-lançados no mercado e com filmes que são considerados antigos.
No auxílio de seus trabalhos a empresa possui um sistema informatizado de gerenciamento de locação e devolução das cópias de filmes. Porém este sistema se tornou antigo e a atual empresa que deveria fornecer suporte ao sistema não está cumprindo com o mesmo, portanto impossibilitando o usuário a desenvolver as atividades da empresa. Além da falta de suporte, o sistema é muito complexo para a empresa em questão, segundo o entrevistado, tantas funções disponíveis acabam tornando o sistema um pouco complicado de usar, mesmo o funcionário atual já trabalhando na empresa há algum tempo, ainda sim há problemas com o sistema.
Tendo como uma base inicial o sistema já implantado na empresa e também as entrevistas realizadas com o representante da empresa, foram levantados os principais requisitos do sistema que serão implantados como projeto da disciplina de Processo de Engenharia de Software II, ofertado no curso de Ciência da Computação, Unioeste - Cascavel - PR.
Considerando o sistema atual da empresa propõe-se a implementação de um novo sistema de gerenciamento para empresa, que além de gerenciar os filmes, cliente, funcionários e finanças, de uma forma otimizada, não seja complexo e contenha somente as funcionalidades necessárias da empresa.
O sistema será implementado para a plataforma Windows, utilizando a linguagem de programação Java e seu banco de dados será gerenciado pela ferramenta PostgreSQL e deverá ter as seguintes características: o funcionário e gerente terão a possibilidade de gerenciar as locações e devoluções de filmes, gerenciar os filmes (cópias), gerenciar clientes, gerenciar finanças da empresa. Como objetivo específico do gerente, o gerente poderá gerenciar finanças, por exemplo, salário de funcionário, gerenciar funcionário e gerar relatórios diversos. Os usuários serão diferenciados por privilégios, usando sistema de login e senha, entre funcionários e gerentes, como já citados.
5 Este documento contém a descrição detalhada dos Requisitos Funcionais, Não-Funcionais e modelagem organizacional (i*) do Sistema de Gerenciamento de Locadoras. Além de apresentar os diagramas de Casos de Uso e de Classe.
A coleta de informações sobre a empresa está descrita no apêndice A, deste documento.
2.
Modelagem Organizacional i*
Utilizando a modelagem organizacional, baseada na técnica i*, demonstraremos os modelos de Dependências Estratégicas (SD) e Razões Estratégicas (SR).
2.1. Modelo de Dependências Estratégicas
A partir do modelo SD, figura 1, pode-se perceber que o sistema é composto por seis atores, destes, somente dois, gerente e funcionário, fazem a utilização direta com o sistema, esta utilização é especifica nas dependências destes dois atores com o sistema
6 Figura 1 – Modelagem SD
O ator funcionário interage com o ator sistema, para isso é necessário estar logado no sistema, sendo necessário informar usuário e senha. Após logado o ator funcionário
7 poderá realizar as tarefas: Realizar Locação, Consultar Disponibilidade, Realizar
Devolução, Gerenciar Finanças e Gerenciar Clientes. Estas funções do sistema
relacionado ao ator funcionário não precisa de nenhuma autorização de ator gerente, que detém acesso ilimitado ao sistema.
O ator gerente interage com o ator sistema, para isso é necessário estar logado no sistema, sendo necessário informar usuário e senha. Após logado o ator gerente é o único ator que tem acesso total ao sistema. Considerando que o ator gerente é um funcionário especializado e terá acesso a todas as tarefas do ator funcionário também terá acesso as seguintes funções: Gerar Relatórios, Gerenciar Filmes e Gerenciar
Funcionários. Para tanto o ator gerente deverá estar devidamente logado como usuário
gerente.
O ator fornecedor atende as dependências do ator gerente quanto a aquisição de novos filmes para a empresa, também como a disponibilidade de dados para realização de cadastro.
O ator cliente depende do ator funcionário, e também do ator gerente, para ser bem atendido, realizar locação e devolução de filmes e também consultar disponibilidade de filmes na empresa.
O ator sistema dependerá do ator SGBD para ter acesso garantido ao banco de dados, com consultas otimizadas e integridade dos dados.
2.2. Modelo de Razões Estratégicas
O modelo de Razões Estratégicas (SR), figura 2, visa complementar o SD, expandindo cada tarefa que cada ator terá dentro do sistema.
No modelo SR temos a expansão do ator sistema, nas tarefas relacionadas diretamente com o ator gerente, temos a tarefa Gerenciar Finanças com a subdivisão: Gerenciar Folhas de Pagamento. Para as tarefas Gerenciar Funcionários, Gerenciar Filmes temos as mesmas subdivisões: Adicionar, Editar e Excluir. E Gerar Relatório com as subdivisões: Escolher Tipo e Gerar.
Nas tarefas relacionadas com o funcionário temos Gerenciar Clientes com as seguintes subdivisões: Adicionar, Excluir e Editar. Para Realizar uma Locação deverá: Adicionar ao carrinho do cliente, e efetuar pagamento, caso seja pagamento na locação deverá fazer movimentação de caixa, se não será uma conta à receber. Para Realizar Devolução deverá: Remover filme do carrinho do cliente e caso o filme não esteja pago realizar movimentação de caixa. Outras tarefas do funcionário estão relacionadas a Consultar Disponibilidade, para realizar uma locação e também Gerenciar Finanças.
8 Figura 2 – Modelo SR
9
3.
Requisitos Funcionais
[RF-01] Gerenciar Finanças
Descrição: O sistema deve possibilitar ao gerente gerenciar as folhas de pagamento de todos os funcionários da empresa. Também tendo controle de todos os outros gastos provenientes da empresa.
Solicitante: Gerente. Prioridade: Média.
[RF-02] Gerenciar Funcionário
Descrição: O sistema deve possibilitar ao gerente gerenciar os funcionários da empresa, podendo:
• Adicionar Funcionário: informando nome, CPF, RG, registro carteira de trabalho, data de nascimento, endereço de moradia, telefone e informações adicionais relevantes;
• Editar Funcionário: podendo editar as informações relacionadas ao funcionário em questão;
• Excluir Funcionário: deve retirar um funcionário do cadastro da empresa, antes da operação realizada o sistema deve verificar se não existe pendência (financeira e trabalhista) com este funcionário. Caso haja alguma pendência o sistema não deve permitir a exclusão deste funcionário.
Solicitante: Gerente. Prioridade: Média.
[RF-03] Gerenciar Filmes
Descrição: O sistema deve possibilitar ao solicitante gerenciar os filmes da empresa, podendo:
• Adicionar Filme: informando nome, gênero, diretor(es), ator(es), ano de lançamento, número de cópias, tipo de mídia (VHS, DVD, Blu-Ray), preço de compra, preço de locação, resumo;
• Editar Filme: deve possibilitar a edição do cadastro do filme em questão;
• Excluir Filme: deve possibilitar haver a exclusão de um filme, após verificação de que não haja cópias locadas ou faltando. Caso haja alguma pendência o sistema não deve permitir a exclusão do filme, excluindo todas as cópias do mesmo do sistema.
Solicitante: Gerente. Prioridade: Baixa.
10 [RF-04] Gerenciar Relatórios
Descrição: O sistema deve possibilitar ao solicitante gerar relatórios relevantes a empresa, por exemplo, financeiro, número de locações em um determinado período, número de cópias atrasadas entre outros. Primeiramente o sistema deverá permitir o gerente escolher o tipo de relatório, após deverá escolher entre visualização em tela ou impressão em papel.
Solicitante: Gerente. Prioridade: Baixa.
[RF-05] Gerenciar Finanças
Descrição: O sistema deve possibilitar ao solicitante gerenciar as finanças referentes à: movimentação de caixa - podendo haver entra e saída de dinheiro, contas à receber - que serão as contas que a empresa irá receber, referentes a locações de filmes. E contas a pagar - que serão as contas que a empresa irá pagar, referentes à manutenção da empresa, compra de cópias de filmes e serviços como água, luz, telefone e internet. Solicitante: Funcionário e Gerente.
Prioridade: Alta.
[RF-06] Realizar Devolução
Descrição: O sistema deve possibilitar ao solicitante realizar a devolução de um filme locado, possibilitando remover o filme do cadastro de um cliente, e se necessário realizar a movimentação de caixa, se o cliente pagar a locação na devolução, neste caso será uma entra de caixa, que poderá ser em qualquer forma de pagamento, haja vista que o cliente requisitante do sistema tem um sistema de cartão de crédito na empresa. Caso a devolução do filme esteja atrasada o sistema deverá calcular um valor de multa, levando em consideração o preço de locação do filme, se é lançamento, ofertas, tempo de atraso e outros.
Solicitante: Funcionário e Gerente. Prioridade: Alta.
11 [RF-07] Consultar Disponibilidade
Descrição: O sistema deve possibilitar ao solicitante consultar a disponibilidade de um certo filme, já cadastrado no sistema, para posterior locação. Esta consulta deverá retornar, caso esteja disponível, o número de cópias existentes na empresa. Caso esteja indisponível, sem cópias disponíveis para locação, o sistema deverá retornar quando haverá uma disponível para locação.
Solicitante: Funcionário e Gerente. Prioridade: Média.
[RF-08] Realizar Locação
Descrição: O sistema deve possibilitar ao solicitante realizar a locação de um determinado filme para um determinando cliente, fazendo com que seja consultado a disponibilidade do filme, lançando no carrinho do cliente e marcando a forma de pagamento da locação, caso o pagamento seja na locação entra como movimentação de caixa, entrada. Caso seja na devolução, o pagamento fica como uma conta à receber. Além destas operações, o sistema deverá guardar os seguintes dados de locação: data da locação e data da devolução, filmes locados, identificando qual cópia de um determinado filme esta sendo locado, e valor da locação.
Solicitante: Funcionário e Gerente. Prioridade: Alta.
[RF-09] Gerenciar Clientes
Descrição: O sistema deve possibilitar ao funcionário realizar a gerencia do cliente da empresa, possibilitando 1 - Adicionar Cliente, informando nome, CPF, RG, endereço e telefone. 2 - Edição de Cliente deve possibilitar a edição de qualquer campo relacionado ao cliente. 3 - Exclusão de Clientes, primeiramente deve verificar se o cliente em questão não tem nenhuma pendência com a empresa, verificando contas à pagar e filmes locados, caso esteja regular o sistema deve possibilitar a exclusão do mesmo.
Solicitante: Funcionário e Gerente. Prioridade: Alta.
12
4.
Requisitos Não-Funcionais (NFR)
Segue abaixo os requisitos não funcionais obtidos a partir de entrevistas e também propostos pela equipe. São divididos em: processo e produto. O grafo SIG é apresentado em seguida na figura 3.
4.1. Requisitos do processo
[RNF-01] O sistema será implementado na linguagem Java (orientada a objetos) com suporte para o sistema operacional Windows.
[RNF-02] A implementação seguirá todos os requisitos pedidos pelo cliente. 4.2. Requisitos do produto
Segurança:
[RNF-01] A confiabilidade de segurança dos dados será implementada por um sistema de login e senha, e opcionalmente um verificador captch, em que cada funcionário terá acesso as funcionalidades e aos dados conforme seu cargo.
[RNF-02] A integridade dos dados será mantida pela utilização do banco de dados e frequentes back-ups dos dados deste banco de dados em um sistema de back-ups.
[RNF-03] A disponibilidade será mantida pelo SGDB, podendo conectar-se somente após a realização de login.
[RNF-04] A robustez será garantida na prevenção de erros.
Usabilidade:
[RNF-01] O sistema possuirá uma interface padronizada, com informações e funcionalidades intuitivas e também com um sistema de feedback.
[RNF-02] Um sistema de ajuda auxiliará os usuários com informações detalhadas de como operar o sistema e seus dados.
Desempenho:
[RNF-01] O espaço a ser utilizado será de acordo com o banco de dados.
[RNF-02] O tempo de uma operação dependerá dos recursos dos computadores (processadores, memória).
[RNF-03] A implementação deverá ser otimizada para melhor um desempenho do sistema.
13
Manutenabilidade:
[RNF-01] O sistema deverá ter facilidade nos testes.
[RNF-02] O sistema deverá ser fácil para modificar, sendo estruturado, conciso e legível.
14
5.
Diagrama de Casos de Uso
O
diagrama de caso de uso tem como objetivo descrever um cenário que mostra as funcionalidades do sistema no ponto de vista do usuário, nele chamados de ator. A seguir apresentaremos o diagrama de Casos de Uso no ponto de vista dos atores (funcionário e gerente), figura 4. E descreveremos todos os casos de uso de forma textual detalhada.15 Caso de uso 1: Realizar Login
Objetivo no Contexto: Realizar o login de um funcionário no sistema. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Usuário estar cadastrado no sistema.
Condição final de Sucesso: Funcionário logado com sucesso.
Condição final de Falha: Funcionário não logado e usuário notificado. Ator Primário: Funcionário.
Cenário Principal de Sucesso:
Passo 1: Funcionário insere o login e senha.
Passo 2: Sistema consulta os dados no banco de dados. Passo 3: Funcionário logado com sucesso.
Extensões:
Passo 2.1: Falha no acesso ao banco de dados: operação cancelada e erro notificado.
Passo 2.2: Login ou senha não existente no banco de dados: operação cancelada e usuário notificado.
Informação Relacionada: Prioridade: Alta
Frequência: Alta
Caso de uso 2: Consultar Funcionario
Objetivo no Contexto: Realizar a consulta de um funcionário no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema.
Condição final de Sucesso: Funcionário consultado com sucesso.
Condição final de Falha: Funcionário não consultado e usuário notificado. Ator Primário: Gerente.
Cenário Principal de Sucesso:
Passo 1: Gerente realiza busca do funcionário: Pesquisar Funcionario <<include>>.
16 Passo 3: Gerente conclui consulta e clica em Fechar.
Extensões:
Informação Relacionada: Prioridade: Alta
Frequência: Alta
Caso de uso 3: Excluir Categoria e Preco
Objetivo no Contexto: Realizar a exclusão de uma categoria e preço de filme do banco de dados.
Escopo: Sistema Computacional SisLoc. Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção de Cadastrar Categoria e Preço (A opção de excluir se localiza dentro dessa tela).
Condição final de Sucesso: Categoria excluída com sucesso.
Condição final de Falha: Categoria não excluída e usuário notificado. Ator Primário: Gerente.
Cenário Principal de Sucesso:
Passo 1: O sistema lista todas as categorias e preços cadastradas.
Passo 2: Gerente clica na imagem de um X vermelho que fica ao lado da imagem de editar, localizados na lateral direita da tela.
Passo 3: Sistema exibe um alerta avisando o usuário que todas as vinculações da categoria e preço com o sistema serão excluídas e que os filmes dessa categoria ficaram com a categoria “Sem Categoria” e o preço em zero.
Passo 4: Sistema exclui categoria e preço do banco de dados. Passo 5: Sistema exibe mensagem de sucesso.
Passo 6: Sistema atualiza lista de categorias e preços cadastradas. Extensões:
Passo 1.1: Falha no acesso ao banco de dados: cadastro cancelado e erro notificado. Informação Relacionada:
Prioridade: Alta Frequência: Baixa
Caso de uso 4: Alterar Categoria e Preco
Objetivo no Contexto: Realizar a edição de uma categoria e preço de filmes no banco de dados.
Escopo: Sistema Computacional SisLoc. Nível de Usuário
17 Pré-condições: Estar logado no sistema e ter acessado a opção de Cadastrar
Categoria e Preço (A opção de alterar se localiza dentro dessa tela). Condição final de Sucesso: Categoria e preço editada com sucesso.
Condição final de Falha: Categoria e preço não editada e usuário notificado. Ator Primário: Gerente.
Cenário Principal de Sucesso:
Passo 1: O sistema lista todas as categorias e preços cadastradas.
Passo 2: Gerente clica na imagem de um lápis ao lado da categoria e preço desejada. Passo 3: Sistema exibe um alerta pedindo o novo nome da categoria e preço.
Passo 4: Funcionário insere o novo nome da categoria e valor de preço. Passo 5: Sistema verifica se a categoria já existe no banco de dados. Passo 6: Sistema exibe mensagem de sucesso.
Passo 7: Sistema atualiza lista de categorias e preços cadastradas.
Extensões:
Passo 1.1: Falha no acesso ao banco de dados: cadastro cancelado e erro notificado. Passo 5.1: Categoria já cadastrada: edição cancelada e erro notificado.
Informação Relacionada: Prioridade: Alta
Frequência: Baixa
Caso de uso 5: Cadastrar Categoria e Preco
Objetivo no Contexto: Realizar a inserção de uma categoria e preço de filme no banco de dados.
Escopo: Sistema Computacional SisLoc. Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção de Cadastrar Categoria e Preço.
Condição final de Sucesso: Categoria e preço cadastrada com sucesso.
Condição final de Falha: Categoria e preço não cadastrada e usuário notificado. Ator Primário: Gerente.
Cenário Principal de Sucesso:
Passo 1: O sistema lista todas as categorias e preços cadastradas.
Passo 2: Gerente insere o nome da nova categoria e o valor do preço no formulário. Passo 3: O sistema verifica se a categoria já existe no banco de dados.
Passo 4: O sistema insere os dados no Banco de Dados.
Passo 5: O sistema emite mensagem de cadastro realizado com sucesso. Passo 6: O sistema atualiza a lista de categorias e preços cadastradas. Extensões:
18 Passo 1.1: Falha no acesso ao banco de dados: cadastro cancelado e erro notificado. Passo 3.1: Categoria já cadastrada: cadastro cancelado e erro notificado.
Informação Relacionada: Prioridade: Alta
Frequência: Baixa
Caso de uso 6: Ver Relatorios
Objetivo no Contexto: Realizar a visualização de um determinado relatório. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção de Ver Relatórios. Condição final de Sucesso: Relatório exibido com sucesso.
Condição final de Falha: Relatório não exibido e usuário notificado. Ator Primário: Gerente.
Cenário Principal de Sucesso:
Passo 1: Gerente escolhe um relatório em específico.
Passo 2: O sistema busca informações no banco de dados e exibe o relatório. Passo 3: Gerente conclui visualização.
Extensões:
Passo 2.1: Falha no acesso ao banco de dados: edição cancelada e erro notificado. Passo 3.1: Gerente imprime relatório.
Informação Relacionada: Prioridade: Alta
Frequência: Média
Caso de uso 7: Alterar Funcionario
Objetivo no Contexto: Realizar a edição de um funcionário no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção de Cadastrar Funcionário (A opção de alterar se localiza dentro dessa tela).
Condição final de Sucesso: Funcionario editado com sucesso.
Condição final de Falha: Funcionario não editado e usuário notificado. Ator Primário: Gerente.
19 Passo 1: Gerente realiza busca do funcionário: Pesquisar Funcionario <<include>>. Passo 2: Gerente edita os campos necessários e clica em salvar.
Passo 3: O sistema atualiza os dados no Banco de Dados.
Passo 4: O sistema emite mensagem de edição realizada com sucesso. Extensões:
Passo 3.1: Falha no acesso ao banco de dados: edição cancelada e erro notificado. Informação Relacionada:
Prioridade: Alta Frequência: Baixa
Caso de uso 8: Excluir Funcionario
Objetivo no Contexto: Realizar a exclusão de um funcionário do banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção de Cadastrar Funcionário (A opção de excluir se localiza dentro dessa tela).
Condição final de Sucesso: Funcionario excluido com sucesso.
Condição final de Falha: Funcionario não excluido e usuário notificado. Ator Primário: Gerente.
Cenário Principal de Sucesso:
Passo 1: Gerente realiza busca do funcionário: Pesquisar Funcionario <<include>>. Passo 2: Gerente visualiza as informações do funcionário e clica em Excluir. Passo 3: O sistema exibe uma mensagem de confirmação e avisando o usuário que todos os vínculos que o funcionário tem com o sistema serão excluídos e não será possível recuperar esses dados.
Passo 4: O sistema exclui o cliente do Banco de Dados.
Passo 5: O sistema emite mensagem de exclusão realizada com sucesso. Extensões:
Passo 4.1: Falha no acesso ao banco de dados: exclusão cancelada e erro notificado. Passo 4.2: Funcionario possui pendências com o sistema: exclusão cancelada e erro notificado
Informação Relacionada: Prioridade: Média
20 Caso de uso 9: Cadastrar Funcionario
Objetivo no Contexto: Realizar a inserção de um funcionário no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção Cadastrar Funcionário.
Condição final de Sucesso: Funcionario cadastrado com sucesso.
Condição final de Falha: Funcionario não cadastrado e usuário notificado. Ator Primário: Gerente.
Cenário Principal de Sucesso:
Passo 1: Gerente obtém os dados cadastrais do funcionário e insere-os no formulário.
Passo 2: O sistema verifica se funcionário já existe no banco de dados. Passo 3: O sistema insere os dados no Banco de Dados.
Passo 4: O sistema emite mensagem de cadastro realizado com sucesso. Extensões:
Passo 2.1: Falha no acesso ao banco de dados: cadastro cancelado e erro notificado. Passo 2.2: Funcionario já cadastrado: cadastro cancelado e erro notificado.
Informação Relacionada: Prioridade: Alta
Frequência: Baixa
Caso de uso 10: Pesquisar Funcionario
Objetivo no Contexto: Realiza a busca de um funcionário no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Ter sido chamado por outro caso de uso.
Condição final de Sucesso: Funcionario encontrado com sucesso. Condição final de Falha: Funcionario não encontrado.
Ator Primário: Gerente.
Cenário Principal de Sucesso:
Passo 1: Gerente insere chave para busca do funcionário.
Passo 2: O sistema procura funcionários que correspondem com a chave e lista-os. Passo 3: Gerente clica no funcionário desejado.
Passo 4: O sistema retorna todas as informações do funcionário escolhido. Extensões:
21 Informação Relacionada:
Prioridade: Alta Frequência: Baixa
Caso de uso 11: Cadastrar Filme
Objetivo no Contexto: Realizar a inserção de um filme no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção de Cadastrar Filme. Condição final de Sucesso: Filme cadastrado com sucesso.
Condição final de Falha: Filme não cadastrado e usuário notificado. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: Funcionário obtém os dados cadastrais do filme e insere-os no formulário. Passo 2: O sistema verifica se filme já existe no banco de dados.
Passo 3: O sistema insere os dados no Banco de Dados.
Passo 4: O sistema emite mensagem de cadastro realizado com sucesso. Extensões:
Passo 2.1: Falha no acesso ao banco de dados: cadastro cancelado e erro notificado. Passo 2.2: filme já cadastrado: cadastro cancelado e erro notificado.
Informação Relacionada: Prioridade: Alta
Frequência: Média
Caso de uso 12: Alterar Filme
Objetivo no Contexto: Realizar a edição de um filme no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção de Cadastrar Filme (A opção de alterar se localiza dentro dessa tela).
Condição final de Sucesso: Filme editado com sucesso.
Condição final de Falha: Filme não editado e usuário notificado. Ator Primário: Funcionario.
22 Passo 1: Funcionário realiza busca do filme: Pesquisar Filme <<include>>.
Passo 2: Funcionário edita os campos necessários e clica em salvar. Passo 3: O sistema atualiza os dados no Banco de Dados.
Passo 4: O sistema emite mensagem de edição realizada com sucesso. Extensões:
Passo 3.1: Falha no acesso ao banco de dados: edição cancelada e erro notificado. Informação Relacionada:
Prioridade: Alta Frequência: Média
Caso de uso 13: Excluir Filme
Objetivo no Contexto: Realizar a exclusão de um filme do banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção de Cadastrar Filme (A opção de excluir se localiza dentro dessa tela).
Condição final de Sucesso: Filme excluído com sucesso.
Condição final de Falha: Filme não excluído e usuário notificado. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: Funcionário realiza busca do filme: Pesquisar Filme <<include>>. Passo 2: Funcionário visualiza as informações do filme e clica em Excluir.
Passo 3: O sistema exibe uma mensagem de confirmação e avisando o usuário que todos os vínculos que o filme tem com o sistema serão excluídos e não será possível recuperar esses dados.
Passo 4: O sistema exclui o filme do Banco de Dados.
Passo 5: O sistema emite mensagem de exclusão realizada com sucesso. Extensões:
Passo 4.1: Falha no acesso ao banco de dados: exclusão cancelada e erro notificado. Passo 4.2: Filme possui pendências com o sistema: exclusão cancelada e erro notificado
Informação Relacionada: Prioridade: Média
23 Caso de uso 14: Ver Contas a Receber
Objetivo no Contexto: Visualização geral de todas as pendências dos clientes. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção de Ver Contas a Receber.
Condição final de Sucesso: Conta consultada com sucesso.
Condição final de Falha: Conta não consultada e usuário notificado. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: Sistema lista todas as faturas pendentes de pagamento por data. Passo 2: Funcionário clica em uma delas e visualiza os detalhes da fatura. Passo 3: Funcionário conclui consulta e clica em Fechar.
Extensões:
Passo 1.1: Falha no acesso ao banco de dados: busca cancelada e erro notificado. Passo 1.2: Funcionário altera a ordem de exibição escolhendo entre Cliente, Data e Valor.
Informação Relacionada: Prioridade: Alta
Frequência: Média
Caso de uso 15: Ver Contas a Pagar
Objetivo no Contexto: Realizar a consulta de uma conta no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção Ver Contas a Pagar. Condição final de Sucesso: Conta consultada com sucesso.
Condição final de Falha: Conta não consultada e usuário notificado. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: Funcionário realiza busca da conta: Pesquisar Conta <<include>>. Passo 2: Funcionário visualiza várias informações da conta.
Passo 3: Funcionário conclui consulta e clica em Fechar. Extensões:
Passo 3.1: Funcionário realiza edição da conta: Alterar Conta a pagar <<extend>>. Passo 3.1: Funcionário realiza exclusão da conta: Excluir Conta a pagar
24 Informação Relacionada:
Prioridade: Alta Frequência: Média
Caso de uso 16: Pesquisar Conta a Pagar
Objetivo no Contexto: Realizar a busca de uma conta a pagar no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Ter sido chamado por outro caso de uso. Condição final de Sucesso: Conta encontrado com sucesso. Condição final de Falha: Conta não encontrado.
Ator Primário: Funcionario. Cenário Principal de Sucesso:
Passo 1: O sistema lista todas as contas a pagar cadastradas. Passo 2: Funcionário insere uma chave para buscar uma conta.
Passo 3: O sistema procura contas que corresponde com a chave e lista-as, diminuindo assim a gama de opções.
Passo 4: Funcionário clica na conta desejada.
Passo 5: O sistema retorna todas as informações da conta escolhida. Extensões:
Passo 1.1: Falha no acesso ao banco de dados: busca cancelada e erro notificado. Passo 2.1: Funcionário realiza Passo 4.
Informação Relacionada: Prioridade: Alta
Frequência: Média
Caso de uso 17: Excluir Conta a Pagar
Objetivo no Contexto: Realizar a exclusão de uma conta do banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção Cadastrar Conta a Pagar (A opção de excluir se localiza dentro dessa tela).
Condição final de Sucesso: Conta excluida com sucesso.
Condição final de Falha: Conta não excluida e usuário notificado. Ator Primário: Funcionario.
25 Passo 1: Funcionário realiza busca da conta: Pesquisar Conta <<include>>.
Passo 2: Funcionário visualiza as informações da conta e clica em Excluir.
Passo 3: O sistema exibe uma mensagem de confirmação e avisando o usuário que todos os vínculos que a conta tem com o sistema serão excluídos e não será possível recuperar esses dados.
Passo 4: O sistema exclui a conta do Banco de Dados.
Passo 5: O sistema emite mensagem de exclusão realizada com sucesso. Extensões:
Passo 4.1: Falha no acesso ao banco de dado: exclusão cancelada e erro notificado. Informação Relacionada:
Prioridade: Média Frequência: Baixa
Caso de uso 18: Alterar Conta a Pagar
Objetivo no Contexto: Realizar a edição de uma conta no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção Cadastrar Conta a Pagar (A opção de excluir se localiza dentro dessa tela).
Condição final de Sucesso: Conta editada com sucesso.
Condição final de Falha: Conta não editada e usuário notificado. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: Funcionário realiza busca da conta: Pesquisar Conta <<include>>. Passo 2: Funcionário edita os campos necessários e clica em salvar.
Passo 3: O sistema atualiza os dados no Banco de Dados.
Passo 4: O sistema emite mensagem de edição realizada com sucesso. Extensões:
Passo 3.1: Falha no acesso ao banco de dados: edição cancelada e erro notificado. Informação Relacionada:
Prioridade: Alta Frequência: Baixa
26 Caso de uso 19: Adicionar Conta a Pagar
Objetivo no Contexto: Adiciona uma conta a pagar no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção Cadastrar Conta a Pagar.
Condição final de Sucesso: Conta adicionada com sucesso.
Condição final de Falha: Falha na adesão, notificação ao usuário. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: Funcionário insere os dados da conta a ser paga. Passo 2: O sistema insere os dados no Banco de Dados.
Passo 3: O sistema emite mensagem de adesão realizado com sucesso. Extensões:
Passo 2.1: Falha no acesso ao banco de dados: adesão cancelada e erro notificado. Informação Relacionada:
Prioridade: Alta Frequência: Alta
Caso de uso 20: Realizar Mov. Caixa - Saida
Objetivo no Contexto: Realizar a retirada de valores do caixa. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção de Movimentação de Caixa - Saída.
Condição final de Sucesso: Retirada realizada com sucesso.
Condição final de Falha: Falha na retirada, notificação ao usuário. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: Funcionário insere os dados da quantia que está sendo retirada do caixa, o motivo e a pessoa responsável.
Passo 2: O sistema insere os dados no Banco de Dados.
Passo 3: O sistema emite mensagem de retirada realizado com sucesso. Extensões:
Passo 2.1: Falha no acesso ao banco de dados: retirada cancelada e erro notificado. Informação Relacionada:
27 Prioridade: Alta
Frequência: Média
Caso de uso 21: Realizar Mov. Caixa - Entrada
Objetivo no Contexto: Realizar a inserção de valores no caixa. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção de Movimentação de Caixa - Entrada.
Condição final de Sucesso: Inserção realizada com sucesso.
Condição final de Falha: Falha na inserção, notificação ao usuário. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: Funcionário insere os dados da quantia que está sendo inserida no caixa. Passo 2: O sistema insere os dados no Banco de Dados.
Passo 3: O sistema emite mensagem de inserção realizado com sucesso. Extensões:
Passo 2.1: Falha no acesso ao banco de dados: inserção cancelada e erro notificado. Informação Relacionada:
Prioridade: Alta Frequência: Média
Caso de uso 22: Pagar Fatura
Objetivo no Contexto: Realizar o pagamento de fatura(s) no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Ter sido chamado por outro caso de uso. Condição final de Sucesso: Fatura(s) paga(s) com sucesso.
Condição final de Falha: Pagamento não realizado, notificação ao usuário. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: O sistema lista o nome dos filmes, o ID da fatura que ele pertence, valor e uma opção para saber se vai pagar ou não aquele filme. Por padrão essa opção vem habilitada.
Passo 2: Sistema exibe o total a pagar baseado nos valores dos filmes que estão com a opção de pagar habilitada.
Passo 3: Funcionário informa o valor recebido.
28 Passo 5: Funcionário conclui a transação.
Passo 6: Sistema atualiza as faturas calculando o valor total pago de cada uma no banco de dados.
Passo 7: Sistema exibe mensagem de sucesso. Extensões:
Passo 1.1: Funcionário desabilita a opção de pagar para um ou mais filmes. Passo 6.1: Falha no acesso ao banco de dados: pagamento cancelado e erro notificado.
Informação Relacionada: Prioridade: Alta
Frequência: Alta
Caso de uso 23: Realizar Devolucao
Objetivo no Contexto: Realizar a devolução de um filme no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção de Realizar Devolução.
Condição final de Sucesso: Filme devolvido com sucesso.
Condição final de Falha: Filme não devolvido e usuário notificado. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: Funcionário realiza busca do cliente: Pesquisar Cliente <<include>>. Passo 2: Sistema exibe filmes locados e que precisão ser devolvidos pelo cliente, com um marcador dizendo se está ou não pago.
Passo 3: Funcionário marca os filmes que estão sendo devolvidos e prossegue. Passo 4: Sistema adiciona as cópias disponíveis para o estoque.
Passo 5: Sistema exibe mensagem de devolução concluída. Extensões:
Passo 5.1: Pagar fatura <<extend>>. Informação Relacionada:
Prioridade: Alta Frequência: Alta
29 Caso de uso 24: Realizar Locacao
Objetivo no Contexto: Realizar a locação de um filme no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção de Realizar Locação. Condição final de Sucesso: Filme locado com sucesso.
Condição final de Falha: Filme não locado e usuário notificado. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: Funcionário realiza busca do cliente: Pesquisar Cliente <<include>>. Passo 2: Funcionário realiza busca do filme: Pesquisar Filme <<include>>. Passo 3: Funcionário adiciona filme ao carrinho e volta ao passo 2 se necessário. Passo 4: Sistema exibe possível data de devolução dos filmes, podendo ser editado pelo funcionário.
Passo 5: Funcionário conclui pedido e prossegue com a transação.
Passo 6: Sistema gera nova fatura pendente para pagamento e retira cópias disponíveis do estoque.
Passo 7: Pagar Fatura <<include>> Extensões:
Passo 3.1: Funcionário retira filme do carrinho: clicando na imagem de um X vermelho ao lado do nome.
Informação Relacionada: Prioridade: Alta
Frequência: Alta
Caso de uso 25: Consultar Filme
Objetivo no Contexto: Realizar a consulta de um filme no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção de Consultar Filme. Condição final de Sucesso: Filme consultado com sucesso.
Condição final de Falha: Filme não consultado e usuário notificado. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: Funcionário realiza busca do filme: Pesquisar Filme <<include>>. Passo 2: Funcionário visualiza várias informações do filme.
Passo 3: Funcionário conclui consulta e clica em Fechar. Extensões:
30 Passo 3.1: Funcionário realiza locação do filme: Realizar Locação <<extend>>. Informação Relacionada:
Prioridade: Alta Frequência: Alta
Caso de uso 26: Consultar Cliente
Objetivo no Contexto: Realizar a consulta de um cliente no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção Consultar Cliente. Condição final de Sucesso: Cliente consultado com sucesso.
Condição final de Falha: Cliente não consultado e usuário notificado. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: Funcionário realiza busca do cliente: Pesquisar Cliente <<include>>. Passo 2: Funcionário visualiza diversas informações sobre a conta e pessoais do cliente.
Passo 3: Funcionário conclui consulta e clica em Fechar. Extensões:
Passo 3.1: Funcionário realiza locação p/ o cliente: Realizar Locação <<extend>>. Passo 3.2: Funcionário realiza devolução p/ o cliente: Realizar Devolução
<<extend>>.
Informação Relacionada: Prioridade: Alta
Frequência: Alta
Caso de uso 27: Pesquisar Filme
Objetivo no Contexto: Realizar a busca de um filme no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Ter sido chamado por outro caso de uso. Condição final de Sucesso: Filme encontrado com sucesso. Condição final de Falha: Filme não encontrado.
Ator Primário: Funcionario. Cenário Principal de Sucesso:
31 Passo 1: Funcionário insere chave para busca do cliente.
Passo 2: O sistema procura clientes que correspondem com a chave e lista-os. Passo 3: Funcionário clica no cliente desejado.
Passo 4: O sistema retorna todas as informações do filme escolhido. Extensões:
Passo 2.1: Falha no acesso ao banco de dados: busca cancelada e erro notificado. Informação Relacionada:
Prioridade: Alta Frequência: Alta
Caso de uso 28: Pesquisar Cliente
Objetivo no Contexto: Realiza a busca de um cliente no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Ter sido chamado por outro caso de uso. Condição final de Sucesso: Cliente encontrado com sucesso. Condição final de Falha: Cliente não encontrado.
Ator Primário: Funcionario. Cenário Principal de Sucesso:
Passo 1: Funcionário insere chave para busca do cliente.
Passo 2: O sistema procura clientes que correspondem com a chave e lista-os. Passo 3: Funcionário clica no cliente desejado.
Passo 4: O sistema retorna todas as informações do cliente escolhido. Extensões:
Passo 2.1: Falha no acesso ao banco de dados: busca cancelada e erro notificado. Informação Relacionada:
Prioridade: Alta Frequência: Alta
Caso de uso 29: Cadastrar Cliente
Objetivo no Contexto: Realizar a inserção de um cliente no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção Cadastrar Cliente. Condição final de Sucesso: Cliente cadastrado com sucesso.
32 Condição final de Falha: Cliente não cadastrado e usuário notificado.
Ator Primário: Funcionario. Cenário Principal de Sucesso:
Passo 1: Funcionário obtém os dados cadastrais do cliente e insere-os no formulário.
Passo 2: O sistema verifica se cliente já existe no banco de dados. Passo 3: O sistema insere os dados no Banco de Dados.
Passo 4: O sistema emite mensagem de cadastro realizado com sucesso. Extensões:
Passo 2.1: Falha no acesso ao banco de dados: cadastro cancelado e erro notificado. Passo 2.2: Cliente já cadastrado: cadastro cancelado e erro notificado.
Informação Relacionada: Prioridade: Alta
Frequência: Média
Caso de uso 30: Alterar Cliente
Objetivo no Contexto: Realizar a alteração de um cliente no banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção Cadastrar Cliente (A opção de alterar se localiza dentro dessa tela).
Condição final de Sucesso: Cliente editado com sucesso.
Condição final de Falha: Cliente não editado e usuário notificado. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: Funcionário realiza busca do cliente: Pesquisar Cliente <<include>>. Passo 2: Funcionário edita os campos necessários e clica em salvar.
Passo 3: O sistema atualiza os dados no Banco de Dados.
Passo 4: O sistema emite mensagem de edição realizada com sucesso. Extensões:
Passo 3.1: Falha no acesso ao banco de dados: edição cancelada e erro notificado. Informação Relacionada:
Prioridade: Alta Frequência: Média
33 Caso de uso 31: Excluir Cliente
Objetivo no Contexto: Realizar a exclusão de um cliente do banco de dados. Escopo: Sistema Computacional SisLoc.
Nível de Usuário
Pré-condições: Estar logado no sistema e ter acessado a opção Cadastrar Cliente (A opção de excluir se localiza dentro dessa tela).
Condição final de Sucesso: Cliente excluído com sucesso.
Condição final de Falha: Cliente não excluído e usuário notificado. Ator Primário: Funcionario.
Cenário Principal de Sucesso:
Passo 1: Funcionário realiza busca do cliente: Pesquisar Cliente <<include>>. Passo 2: Funcionário visualiza as informações do cliente e clica em Excluir. Passo 3: O sistema exibe uma mensagem de confirmação e avisando o usuário que todos os vínculos que o cliente tem com o sistema serão excluídos e não será possível recuperar esses dados.
Passo 4: O sistema exclui o cliente do Banco de Dados.
Passo 5: O sistema emite mensagem de exclusão realizada com sucesso. Extensões:
Passo 4.1: Falha no acesso ao banco de dados: exclusão cancelada e erro notificado. Passo 4.2: Cliente possui pendências com o sistema: exclusão cancelada e erro notificado
Informação Relacionada: Prioridade: Média
34 6. Diagramas de Classe
O diagrama de classe é utilizado para mostrar a existência das classes e as relações entre elas sob um ponto de vista lógico. Durante a etapa de análise, esses diagramas são utilizados para indicar os papeis e as responsabilidades das entidades que fornecem o comportamento do sistema, e durante a etapa de desenvolvimento o diagrama de classe assume a função de capturar as estruturas das classes que compõe a arquitetura do sistema. Logo abaixo é apresentado o diagrama de classes do sistema (figura 5), e uma breve descrição de cada classe segue abaixo.
7.
35 Pessoa:
Os atributos desta classe são referentes aos dados pessoais, tais como: nome, CPF, RG, sexo, entre outros, e dizem respeito aos dados comuns a todos os indivíduos, é a generalização das classes Cliente, Funcionario e Gerente. Ela está relacionada associativamente com a classe Endereco para obter o endereço do indivíduo.
Endereco:
Engloba todos os atributos referentes à localização, tais como: estado, cidade, rua, entre outros. Ela possui relação de associação com a classe Pessoa. Funcionario:
Esta classe é a representação do usuário Funcionário, e também uma generalização da classe Gerente, contendo os atributos como os seus dados bancários e o numero do PIS para a realização de pagamentos, e contém atributos referentes a sua identificação no sistema: Login e Senha. Também estão disponíveis métodos para o seu gerenciamento como cadastrar, editar, excluir ou consultar além de um método que possibilita a emissão de relatórios, e método para login e logout no sistema. Ela esta relacionada associativamente com as classes Filmes, Clientes, Caixa, Contas_Pagar dessa forma o funcionário pode gerenciar os mesmos.
Gerente:
Esta classe é a representação do usuário Gerente. Esta classe por herança obtém todos os atributos e métodos da classe Funcionario. Ela tem associação com as classes Funcionario e Categoria_Preco, podendo assim gerenciar os mesmos. Além de poder fazer o mesmo gerenciamento atribuído à classe
Funcionario, o Gerente possui um método de gerenciamento de Senhas do
sistema. Cliente:
Esta classe é a representação do Cliente do sistema, é derivada da classe
Pessoa. Pode fazer uso de todos os métodos e atributos desta através do
mecanismo de herança. Através de seus métodos é possível obter-se relatórios de clientes, alteração e ou exclusão destes dados. Está associada com a classe
Locacao para efetuar o empréstimo de filmes, além de estar associada com a
classe Funcionario que realiza o seu cadastro e a locação de filmes. Filme:
Esta classe é a representação dos Filmes. Ela possui atributos para a identificação do filme como id, nome, atores, diretores, ano, entre outros. Possui métodos para o gerenciamento da classe: cadastrar, editar, excluir, consultar além do método que possibilita a geração de relatórios. Apresenta associação com as classes Categoria_Preco, que verifica o preço da categoria do filme e adiciona esse preço ao filme desejado, classe Locacao, que vincula o filme à locação feita pelo cliente, e também a classe Funcionario que faz todo o gerenciamento desta classe.
36 Copia_Filme:
Esta classe representa as cópias adquiridas de cada Filme. Ela possui atributos para a identificação da cópia como id da cópia, data da compra, e um atributo com o id do filme, para identificar a qual filme esta cópia pertence. Possui um atributo Ocupado, para verificar a disponibilidade de locação da cópia, e um atributo Estado, onde é adicionada uma nota a cópia, esta nota refere-se ao estado que se encontra a cópia, à medida que a cópia vai sendo danificada sua nota de estado vai diminuindo, com isso obtêm-se o controle de cópias danificadas para possíveis trocas. Apresenta associação com a classe
Filme, onde um filme pode possuir várias cópias.
Locacao:
Esta classe representa a locação dos filmes feita pelo cliente. Ela possui atributos que identificam o empréstimo do filme, como: id, o nome de quem efetuou a locação (Cliente), a data da locação e da devolução e valor total. Possui métodos para o gerenciamento da mesma, e um método que verifica se esta locação já foi paga (GetPago), que retorna uma variável booleana indicando se já foi efetuado ou não o pagamento da mesma, e ainda possui um método para a geração de relatórios. Apresenta associação com as classes Cliente, que faz a locação para o determinado cliente, classe Filme, que vincula o filme desejado ao carrinho do cliente, e também a classe Funcionario que faz todo o gerenciamento desta classe.
Categoria_Preco:
Esta classe representa a categoria dos filmes com os seus respectivos preços. Ela possui atributos que identificam a categoria como o nome e id, e um atributo informando o preço dessa categoria, além de métodos de gerenciamento como cadastrar, editar e excluir. Apresenta associação com a classe Filme, a que atribui ao filme um preço com relação a sua categoria, e associação com a classe
Gerente, que faz o gerenciamento das categorias e seus respectivos preços.
Caixa:
Esta classe representa o caixa da locadora, ou seja, a movimentação de valores em um determinado dia. Ela possui atributos como data, valor da movimentação, o motivo e a natureza (se é um valor que está entrando, ou saindo do caixa), e possui métodos para o gerenciamento da mesma, e um método de geração de relatórios. Apresenta associação com a classe
Funcionario, que faz todo esse controle e Contas_Pagar.
Contas_Pagar:
Esta classe como o próprio nome diz, faz relação a todas as contas a serem pagas pela locadora. Ela possui atributos que identificam a conta como: id, tipo, valor, vencimento, número do documento, entre outros. Possui métodos como cadastrar, excluir, editar e consultar, e um método que faz a geração de relatórios. Apresenta associação com a classe Funcionarios, que gerencia essa classe e Caixa.
37 8. Metodologia
A metodologia escolhida para desenvolvimento deste trabalho é a metodologia de desenvolvimento SCRUM. Esta escolha se deve:
Um dos membros da equipe será o gerente do trabalho, para manter em dia o projeto em desenvolvimento.
• Cliente em constante envolvimento com o desenvolver do projeto. • Equipe de desenvolvimento com três pessoas.
Além destes três tópicos citados, por conta da falta de tempo dos membros da equipe, relacionado ao restante das disciplinas do curso de Ciência da Computação faremos reuniões, com datas marcadas de acordo com a disponibilidade da equipe. Nestas reuniões serão feitas as divisões de trabalho, para serem desenvolvidos em um período de tempo, encaixando esta metodologia como Sprint. O período de desenvolvimento de cada sprint será em média de 15 dias, adequando-se a disponibilidade de cada membro da equipe. Após cada sprint será feita uma reunião para avaliar o desenvolvimento do sprint.
Espera-se que com a adoção desta metodologia que ao final de cada sprint possamos proporcionar ao cliente uma pequena parte do produto.
9. Conclusão
Na elaboração da modelagem desse sistema utilizamos a técnica i*, e para melhor esclarecimento de como satisfazer os requisitos não funcionais, foi utilizado o grafo SIG(Softgoal Interdependency Graph). A partir disto, fizemos o uso da técnica UML para a construção de um modelo de casos de uso no qual é visualizada as interações entre os usuários e o sistema. Isso nos deu uma noção mais completa de como vai ser satisfeito os requisitos e os passos necessários para satisfação destes.
Como temos por intuito programar o sistema utilizando a metodologia de programação orientada a objeto, utilizamos um diagrama de classes para identificar quais classes fariam parte desse sistema. Isso pode evitar erros em tempo de implementação e produzir um software de melhor qualidade.
Através deste documento procuramos atender a todos os requisitos necessários para satisfação das necessidades da empresa. Esta documentação servirá de apoio para implementação do sistema em questão.
38 Apêndice A - Coleta de informações
A coleta de informações baseou-se em entrevistas realizadas diretamente com o cliente. Estas entrevistas serviram para compreender melhor o funcionamento da empresa e também para entender o que o cliente necessita neste novo sistema. No anexo I há a entrevista realizada com o cliente.
Apêndice B - Validação de Requisitos Não Funcionais
Baseando-se na primeira entrevista realizada com o cliente, foi desenvolvido o diagrama RNF, a partir de pedidos do cliente e também de sugestões por parte da equipe. A validação destes requisitos não funcionais deu-se por uma segunda entrevista com o cliente. A descrição da validação dos requisitos não funcionais segue no Anexo II.
39 ANEXO I
Entrevista realizada com cliente, para levantamento de requisitos necessários para o software, que terá como principal objetivo gerenciar uma empresa de locação de filmes.
Parte interessada: VIDEO LOCADORA GRALHA AZUL LTDA. Entrevistado: JOÃO RAFAEL QUADRO DOS SANTOS
Dia(s) da entrevista: 22/03(pessoalmente) e 28/03(via telefone)
O que o sistema deverá fazer?
O sistema deverá informatizar todo o processo de locação e devolução de filmes da locadora. Terá que vincular para qual cliente esta sendo feito a locação, também como vincular os custos desta locação para com o cliente. Além de facilitar e agilizar o gerenciamento da empresa, possibilitando gerenciar as contas da empresa, gerenciar os funcionários e gerar relatórios
O que o sistema deve conter, o que é mais necessário? 1. Campo para cadastros:
• Filme: • Nome; • Gênero; • Ano de lançamento; • Diretor; • Atores principais; • Número de cópias
• Preço de obtenção das cópias; • Sinopse. • Cliente: • Nome; • CPF; • RG; • Data de Nascimento; • Endereço; • Telefone; • E-mail; • Foto (opcional).
40 • Funcionário: • Nome; • RG; • CPF; • Data de Nascimento;
• Número Carteira de Trabalho; • Endereço;
• Telefone.
2. Controle de locação e devolução:
• Registro de empréstimo de uma determinada cópia de filme para um determinado cliente;
• Registro de devolução de um cópia por um cliente;
• Registrar transação financeira desta locação e/ou devolução (cliente pode pagar na locação, na devolução ou em ambas);
3. Controle de Gastos: • Contas à receber; • Contas à pagar; • Salários.
4. Geração de relatórios - financeiros, por locação de cópias, atividades de clientes e outros;
5. Campo para observações;
Atualmente como é o trabalho na empresa?
Possuímos um sistema informatizado, porém este sistema é complexo, tendo funcionalidade que não uso e somente atrapalham, confundem e de certa forma deixa o sistema pesado para o atual computador que possuo.
Quando devem ser gerados os relatórios? Quando solicitado.
Qual o tipo de beneficio você espera que o sistema ofereça? Com o sistema espero agilizar todos as atividades da empresa, com menos probabilidade de erro, já que o novo sistema possuirá apenas as funcionalidades desejadas.
41 Possui tecnologia necessária para implantação desse sistema?
Possuo um pequeno entendimento de tecnologia na área de informática, atualmente possuo um computador ultrapassado, mas que roda o sistema atual da empresa. Creio que com este novo sistema que será desenvolvido precisarei de um novo computador, mais atualizado, em questões de processamento e memória, por isso para a implantação do sistema irei adquirir novas tecnologia para o sucesso deste novo sistema.
42 ANEXO II
Alguns Requisitos Não Funcionais
Neste ponto da entrevista, deixamos que o cliente pedisse alguns requisitos não funcionais e mais a diante a equipe propôs alguns outros.
O que você espera que o sistema tenha para proporcionar o seu trabalho dentro na sua empresa? (Houve uma breve explicação da diferença de requisitos funcionais e não funcionais).
Login e senha:
Primeiramente, segurança. Acho que o sistema deve ter acesso por login e senha, com determinadas funções para cada tipo de usuário, no caso o gerente teria acesso limitado e também seria quem daria acesso aos outros usuários. Isto serve para que pessoas não autorizadas modifiquem os dados dela no sistema, por exemplo.
Back-ups:
Outro importante fator é a manutenção dos dados, não posso chegar na empresa e ter meus dados perdidos, ou todo o trabalho do dia anterior te sido perdido, um sistema de back-ups é muito importante para evitar isso.
Sistema de busca otimizado e código otimizado
Apesar de que eu irei comprar um novo computador para a implantação do sistema, com tecnologia suficiente para rodar o sistema, espero que tanto o sistema de busca de dados (filmes, clientes e etc..) e o sistema em si, tenha um desempenho ótimo, mas este desempenho ótimo tem que ser pela implementação dele e não puramente pela máquina em que esta rodando.