Dicas diagrama de casos de uso

3.735 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
3.735
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
81
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Dicas diagrama de casos de uso

  1. 1. Projeto Exemplo LOCADORA Table 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.
  2. 2. Visão Geral Este 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
  3. 3. 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.
  4. 4. • 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ídiaCasos de Uso Neste projeto utilizamos casos de uso da maneira proposta por Alistair CockburnNarrativas de Uso • Passando na Locadora • Devolvendo Filmes em Atraso • Adquirindo Novos Filmes
  5. 5. 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
  6. 6. 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 Objetivos Tabela de Atores e seus Objetivos ================================= ===== ====================================================================== = Ator Objetivo ------- ---------------------------------------------------------------------- - Cliente Locar Filme, Devolver Filme, Pagar Dívidas, Cadastrar-se. Fornecedor Cadastrar-se Balconista Locar Filme, Receber Comissão, Receber Locação, Cadastrar Filmes Novos. Proprietário Pagar Comissão, Pagar Fornecedor, Comprar Filme.
  7. 7. 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 ContasCasos 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
  8. 8. 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 BalconistaRegras 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 MultaDiagramas • Interação entre os módulos • Módulo Básico • Módulo de Empréstimos
  9. 9. Plano de releases Pontuaçã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
  10. 10. • 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 #2 o Controlar Devoluções 3 o Cadastrar Balconista 1 • Programador #1 o Cadastrar Conta 2 o Liquidar Conta 1 o Visualizar Balanço 1Tecnologia Empregada *Ferramenta de produtividade #glossarioSpeedCASE? *Tur bo Delphi Explorer
  11. 11. Planos Futuros *Automatizar controle de Promoções. *Automatizar controle de Descontos. *Dúvida: existe algum órgão que inspeciona o estoque da locadora?Outros Requisitos Contas 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)
  12. 12. 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êndices A - Modelos de Documentos
  13. 13. 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.
  14. 14. asos de UsoDiagrama de Casos de UsoObjetivoO Diagrama de Casos de Uso tem o objetivo de auxiliar a comunicação entre os analistas e ocliente.Um diagrama de Caso de Uso descreve um cenário que mostra as funcionalidades do sistemado ponto de vista do usuário.O cliente deve ver no diagrama de Casos de Uso as principais funcionalidades de seusistema.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 oslimites do sistema.Em maiores detalhes: • Atores Um 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. • RelacionamentosAjudam 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
  15. 15.  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  IncludeUm 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.  ExtendUm relacionamento extend de um caso de uso B para um caso de uso A indica que o caso deuso B pode ser acrescentado para descrever o comportamento de A (não é essencial). Aextensã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ãoser adicionados a ele. Quando o caso de uso for invocado, ele verificará se suas extensõesdevem ou não serem invocadas.Você entendeu?! Provavelmente, não. É que extend é unanimemente considerado umconceito 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çãode A).Um relacionamento entre um caso de uso genérico para um mais específico, que herda todasas características de seu pai.
  16. 16. 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 1Exemplo 2

×