View
2.254
Download
1
Category
Preview:
Citation preview
Projeto Exemplo LOCADORATable of Contents
1. Propósito 2. Escopo 3. Narrativas de Uso 4. Stakeholders e Interesses 5. Acionadores 6. Atores e Objetivos 7. Casos de Uso de Negócio 8. Casos de Uso do Sistema 9. Links
Esta página contém a documentação do projeto exemplo LOCADORA feito na ferramenta SpeedCASE, além disso exemplificamos aqui o uso do SVN para controle de versão e o TRAC como front-end web, ambas ferramentas também são utilizadas pela Tecnospeed em seus serviços de consultoria de desenvolvimento de software.
A implementação do projeto da locadora feito no SpeedCASE pode ser baixado na nossa página de Downloads.
Para entender como aconteceu a execução do projeto, desde a fase inicial até termos o produto acabado você pode visitar a página Execução do Projeto.
Visão GeralEste documento tem o objetivo de prover uma descrição da organização do projeto bem como seu propósito. Além disso abordará a forma como o sistema aqui descrito será construído.
Propósito
Este projeto procura exemplificar a aplicação da ferramenta SpeedCASE no processo de desenvolvimento de software, neste caso em particular em um pequeno software para controle de vídeo-locadoras. O objetivo principal é criar um projeto exemplo que possa servir de referência a todos os usuários da ferramenta SpeedCASE sejam eles iniciantes ou usuários avançados, por meio de um exemplo prático que aborde de maneira clara a maior gama de recursos da ferramenta possível.
Escopo
Por se tratar de um demonstrativo frisa-se que não está no escopo deste projeto produzir um software de nível comercial e nem se dará suporte qualquer a este tipo de iniciativa. Contudo esta prática não
será vedada aos nossos usuários, ou seja, se for de sua vontade e total responsabilidade o usuário poderá colocar o produto deste projeto no mercado.
Na prática, o sistema tem a intenção de informatizar os processos do negócio de locação de filmes. Para tanto controlará empréstimos de filmes associando-os a clientes previamente cadastrados para que, com base nesta informação, possa prover relatórios sobre comissões dos balconistas que locaram os filmes aos clientes, bem como sobre a saúde financeira do negócio. Some a isso a necessidade do gerente de saber detalhes sobre as contas a pagar e a receber que a empresa tenha a qualquer período, isto implica também no desenvolvimento de um fluxo de caixa.
Glossário SpeedCASE: Ferramenta de
produtividade para produção de softwares empregrada neste projeto.
Stakeholder: Parte interessada no comportamento do sistema.
Usuário : Balconista ou Proprietário da Locadora.
Dados do Funcionário
Dados de Cliente
Dados de Locação
Dados de Filme
Dados de Categorias de Filmes
Dados de Conta
Dados de Lançamento
Dados do Fornecedor
Dados de Gênero
Dados de Mídia
Casos de UsoNeste projeto utilizamos casos de uso da maneira proposta por Alistair Cockburn
Narrativas de Uso
Passando na Locadora Devolvendo Filmes em Atraso
Adquirindo Novos Filmes
Stakeholders e Interesses
Cliente:
1. Locar filmes e devolve-los no prazo adequado evitando possíveis multas.
Fornecedor:
1. Fornecer filmes a locadora e ser pago por eles.
Proprietáro:
1. Emprestar filmes ao cliente e cobrar quantia justa pelo empréstimo.
2. Pagar comissão ao balconista
3. Comprar filmes
Balconista:
1. Receber comissão.2. Emprestar filme ao cliente.
3. Fazer pedido de filmes
4. Receber filmes do pedido.
5. Receber devolução de empréstimos de filmes
6. Calcular valor a receber pela locação, incluindo possíveis multas
7. Receber valor referente a locação
Acionadores
Acionadores identificados
1. Cliente entra na locadora para alugar filmes.
2. Cliente chega ao balcão para cadastrar-se.
3. Cliente chega ao balcão para emprestar filmes.
4. Cliente chega ao balcão para devolver filmes.
5. Cliente chega ao balcão para pagar dívidas.
6. Proprietário entrega ao balconista lista de compras.
7. Proprietário resolve comprar filmes.
Atores e ObjetivosTabela de Atores e seus Objetivos====================================== =======================================================================Ator Objetivo------- -----------------------------------------------------------------------Cliente Locar Filme, Devolver Filme, Pagar Dívidas, Cadastrar-se.Fornecedor Cadastrar-seBalconista Locar Filme, Receber Comissão, Receber Locação, Cadastrar Filmes Novos.Proprietário Pagar Comissão, Pagar Fornecedor, Comprar Filme.
Casos de Uso de Negócio
1.Comercializar Filmes
1.1.Comprar Filme
1.1.1.Fazer Pedido 1.1.2.Receber Pedido
1.2.Locar Filme
1.2.1.Emprestar Filme 1.2.2.Devolver Filme 1.2.3Cadastrar Cliente
1.3.Controlar Finanças
1.3.1.Registrar Contas a Pagar 1.3.2.Registrar Contas a Receber 1.3.3.Pagar Contas 1.3.4.Receber Contas
Casos de Uso do Sistema
1.Comercializar Filmes
1.1.Comprar Filme
1.1.1.Cadastrar Fornecedor 1.1.2.Cadastrar Filme 1.1.3.Cadastrar Mídia 1.1.4.Cadastrar Gênero
1.2Locar Filme
1.2.1Cadastrar Cliente 1.2.2.Controlar Locações 1.2.3.Controlar Devoluções
1.3.Controlar Finanças
1.3.1.Cadastrar Conta 1.3.2.Liquidar Conta 1.3.3.Visualizar Balanço
1.4.Cadastrar Balconista
Regras de Negócio Lançamento da Locação Calculo do Valor da Locação
Gerar ID da Conta
Calcular Total da Conta
Associar Conta Lançamento
Associar Conta Superior
Receber Multa de Locação
Calculo do Valor da Multa
Diagramas Interação entre os módulos Módulo Básico
Módulo de Empréstimos
Plano de releasesPontuação dos Casos de Uso (em UDs - Unidades de Desenvolvimento)
As unidades de desenvolvimentos indicam a suposta complexidade de desenvolvimento de um Caso de Uso
Cadastrar Fornecedor(1) Cadastrar Filme (1)
Cadastrar Mídia(1)
Cadastrar Gênero(1)
Cadastrar Cliente(1)
Controlar Locações(3)
Controlar Devoluções(3)
Cadastrar Conta(2)
Liquidar Conta(1)
Visualizar Balanço(1)
Cadastrar Balconista(1)
Separação dos Casos de Uso em Releases
A cada iteração um programador pode comprometer-se com 4 UDs (isso pode variar de equipe para equipe
1ª Iteração
Programador #1
o Cadastrar Fornecedor 1
o Cadastrar Filme 1
o Cadastrar Mídia 1
o Cadastrar Gênero 1
Programador #2
o Cadastrar Cliente 1
o Controlar Locações 3
*2ª Iteração
Programador #2o Controlar Devoluções 3
o Cadastrar Balconista 1
Programador #1
o Cadastrar Conta 2
o Liquidar Conta 1
o Visualizar Balanço 1
Tecnologia Empregada*Ferramenta de produtividade #glossarioSpeedCASE? *Turbo Delphi Explorer
Planos Futuros*Automatizar controle de Promoções. *Automatizar controle de Descontos.
*Dúvida: existe algum órgão que inspeciona o estoque da locadora?
Outros RequisitosContas a pagar e a receber com Fluxo de caixa.
Registrar todas as contas a pagar e a receber da locadora, o registro das contas deverá conter:
* Data Lançamento (Cadastro); * Identificação Documento (Informado quando “a pagar” e automático quando “a receber” – código do empréstimo); * Data Vencimento (Previsão de pagamento/Recebimento); * Valor Documento (valor do empréstimo); * Data Liquidação (pagamento ou recebimento); * Valor Liquidação (pago ou recebido); * Conta (classificação do documento, cadastro de contas); * Pessoa (Cliente ou Fornecedor, utilizar cadastro unificado de pessoas) * Saldo (Valor Documento – Valor Liquidação)
Os cadastros de Clientes e Fornecedores podem ser feito na Classe Pessoa;
* Código; * Nome; * Conta Sintética (Relacionamento Cíclico);
O Cadastro de Contas é utilizado para classificar os documentos agrupando-os em tipos comuns.
* Classificação (1; 1.1; 1.1.01) * Descrição Conta;
As seguintes consultas deverão ser realizadas:
* Listar o movimento do caixa diariamente (Entrada e Saídas) para apurar o saldo do dia (somente documentos liquidados);
* Listar os documentos a vencer (Entrada e Saídas) demonstrando o fluxo de caixa previsto para o período desejado. (somente documentos abertos, agrupados por contas);
* Listar Documentos/Pessoas com atraso;
ApêndicesA - Modelos de Documentos
B - Como montar uma Videolocadora?
Links
TracGuide -- Built-in Documentation The Trac project -- Trac Open Source
Project
Trac FAQ -- Frequently Asked Questions
TracSupport -- Trac Support
For a complete list of local wiki pages, see TitleIndex.
asos de Uso Diagrama de Casos de Uso
Objetivo
O Diagrama de Casos de Uso tem o objetivo de auxiliar a comunicação entre os analistas e o cliente.Um diagrama de Caso de Uso descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário. O cliente deve ver no diagrama de Casos de Uso as principais funcionalidades de seu sistema.NotaçãoO diagrama de Caso de Uso é representado por:
atores; casos de uso; relacionamentos entre estes elementos.
Estes relacionamentos podem ser: associações entre atores e casos de uso; generalizações entre os atores; generalizações, extends e includes entre os casos de uso.
casos de uso podem opcionalmente estar envolvidos por um retângulo que representa os limites do sistema.Em maiores detalhes:
AtoresUm ator é representado por um boneco e um rótulo com o nome do ator. Um ator é um usuário do sistema, que pode ser um usuário humano ou um outro sistema computacional.
Caso de uso
Um caso de uso é representado por uma elipse e um rótulo com o nome do caso de uso. Um caso de usodefine uma grande função do sistema. A implicação é que uma função pode ser estruturada em outras funções e, portanto, um caso de uso pode ser estruturado.
Relacionamentos Ajudam a descrever casos de uso
o Entre um ator e um caso de uso Associação
Define uma funcionalidade do sistema do ponto de vista do usuário.
o Entre atores Generalização
- Os casos de uso de B são tambémcasos de uso de A- A tem seus próprios casos de uso
o Entre casos de uso Include
Um relacionamento include de um caso de uso A para um caso de uso B indica que B é essencial para o comportamento de A. Pode ser dito também que B is_part_of A.
Extend
Um relacionamento extend de um caso de uso B para um caso de uso A indica que o caso de uso B pode ser acrescentado para descrever o comportamento de A (não é essencial). A extensão é inserida em um ponto de extensão do caso de uso A.
Ponto de extensão em um caso de uso é uma indicação de que outros casos de uso poderão ser adicionados a ele. Quando o caso de uso for invocado, ele verificará se suas extensões devem ou não serem invocadas.
Você entendeu?! Provavelmente, não. É que extend é unanimemente considerado um conceito obscuro.
Vamos a novas explicações.
Quando se especifica B extends A, a semântica é:
Dois casos de uso são definidos: A e A extended by B;
B é uma variação de A. Contém eventos adicionais, para certas condições;
Tem que ser especificado onde B é inserido em A.
Generalização ou Especialização (é_um)
caso de uso B é_um caso de uso A (A é uma generalização de B, ou B é uma especialização de A).
Um relacionamento entre um caso de uso genérico para um mais específico, que herda todas as características de seu pai.
Sistema
Limites do sistema: representado por um retângulo envolvendo oscasos de uso que compõem o sistema.
Nome do sistema: Localizado dentro do retângulo.
Exemplo 1
Exemplo 2
Recommended