270 likes | 360 Views
Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000. Análise de Requisitos. Use Case. Renata Araujo Ricardo Storino. Comportamento do Sistema. É como o sistema age e reage, ou seja, a sua atividade externamente observável e que pode ser validada
E N D
Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise de Requisitos Use Case Renata Araujo Ricardo Storino
Comportamento do Sistema • É como o sistema age e reage, ou seja, a sua atividade externamente observável e que pode ser validada • Modelo de Casos de Uso(Use Case) Descrição do sistema, do ambiente e do relacionamento entre o sistema e o ambiente
Modelo de Casos de Uso Atualizar fitas Cliente Imprimir catálogo Operador
Modelo de Casos de Uso • Modelo da funcionalidade do sistema e dos elementos que interagem com o mesmo(atores) • Atores -> usuários ou outros sistemas • Casos de Uso -> útil na comunicação para validação dos requisitos com usuário final.
Elementos • Ator -> qualquer coisa que interage, ou seja, troca dados ou eventos com o sistema • Casos de Uso -> sequência de transações realizadas pelo sistema que resulta em um resultado de interesse de um ator.(Requisitos Funcionais)
Ator • Podem ser: • Pessoas que executam as principais funções do sistema • Pessoas que executam funções secundárias • Hardware externo utilizado pelo sistema • Outros sistemas • Fornecedor e/ou receptor de informações • Um ator representa um papél desempenhado por uma pessoa em um determinado caso de uso
Glossário • Define os conceitos que serão utilizados nas descrições dos casos de uso • Palavras chave do negócio - Jargões • Hipertexto
Casos de Uso • Definem a funcionalidade do sistema • Um caso de uso é um curso completo de eventos iniciados por um ator, especificando a interação que ocorre entre ator(es) e sistema • Todos os casos de uso de um sistema, especificam todas as maneiras de se utilizar este sistema.
Exemplos Devolução de Itens Este caso de uso é iniciado pelo cliente quando ele deseja devolver latas, garrafas ou engradados. A cada item que o cliente coloca na máquina, o sistema incrementa o número de itens recebidos pelo cliente assim como o total diário de cada tipo particular. Quando o cliente terminar o processo de devolução, ele pressiona o botão de recibo para obter um recibo com a relação de todos os itens devolvidos com uma totalização ao final. Administração de Itens Este caso de uso é utilizado pelo operador para modificar informações no sistema. O valor de devolução, assim como o tamanho de cada item pode ser modificado, assim como novos tipos de itens podem ser adicionados.
Descobrindo Casos de Uso • Como cada ator interage com o sistema? • Quais as tarefas principais que o ator necessita que o sistema realize? • O ator irá criar, armazenar, modificar, remover ou ler informações do sistema? • O ator irá informar ou será informado (eventos) sobre certas ocorrências no sistema?
Modelo de Casos de Uso - Visão Geral • Título do sistema • Introdução - descrição breve do propósito do sistema • Lista de atores - nome, descrição, quais casos de uso aparece
Modelo de Casos de Uso - Visão Geral • Casos de Uso - Sumário (id, nome, descrição breve) Ex: O caso de uso Administração de itens permite adicionar, remover, e modificar itens de depósito. O valor de devolução e o tamanho de cada item pode ser modificado. • Glossário • Cada caso de uso vira uma entrada na Matriz de Requisitos
Modelo de Casos de Uso - Detalhamento • ID e Nome • Curso básico ( Ação e Reação) • Cursos alternativos (Sequências alternativas ou exceções - tratamento de situações de erro)
Modelo de Casos de Uso - Detalhado • Pré-condições - Restrições que devem ser atendidas ao se iniciar um caso de uso Ex: O usuário deve estar logado no sistema • Pós-condições - Resultado a ser atingido ao final do caso de uso Ex: A transação é completada ou em caso de erro, a transação não é realizada
Modelo de Casos de Uso - Detalhado • Formas de Detalhamento • ID e Nome do caso de uso • Sumário • Atores • Pré-condições • Descrição Detalhada • Pós-condições • Exceções/Cursos alternativos • Interface • Requisitos não funcionais • Use Cases relacionados(uses e extends)
Modelo de Casos de Uso - Detalhado • Descrição Detalhada - Tabela de Ação X Reação
Extends • Um caso de uso A estende um caso de uso B Devolução de itens <<extends>> Item Engasgado
Extends • Caso de uso B possui um curso completo de transações, ou seja independe de possíveis casos de uso relacionados via “extends” • Podemos ver uma associação “extends” como uma interrupção no caso de uso original (B), ponto a partir do qual o caso de uso (A) será inserido. O caso de uso B não sabe se uma interrupção irá ocorrer ou não • Na descrição do caso de uso A, o ponto de interrupção no caso de uso original deve ser descrito da forma mais precisa possível.
Extends • Item Engasgado • Este caso de uso é inserido no caso de uso Devolução de itens quando o cliente retorna um item que fica engasgado na máquina. O operador é chamado e o cliente não pode devolver mais nenhum item até que o operador o informe que a máquina pode ser usada novamente.
Extends • Modelar comportamento opcional em um caso de uso. Descrevendo os fluxos opcionais em casos de uso diferentes, pode-se fazer uma separação clara entre comportamento mandatório e comportamentos opcionais. • Modelar um fluxo complexo de transações que raramente ocorre. • Modelar exceções que tenham um fluxo de transações associados. • Modelar a inserção de vários sub-fluxos em qualquer combinação em um fluxo de eventos.
Extends Login / Logout <<extends>> <<extends>> <<extends>> Compilando Editando Texto Mail
Uses • Um caso de uso A resulta da fatoração de sub-fluxos comuns em casos de uso B, C, ... Impressão <<uses>> <<uses>> Devolução de itens Impressão de Relatório Diário
Uses • Extrair sub-fluxos comuns presentes em vários casos de uso • Redundância
Uses X Extends • Extends: adição de um fluxo a um caso de uso já completo • Uses: compartilhar comportamento comum entre casos de uso existentes.
Uses X Extends Freguês Jantar <<extends>> <<extends>> <<extends>> Entrada Sobremesa Luz de Velas
Uses X Extends Freguês Jantar <<uses>> <<uses>> <<uses>> Entrada Sobremesa Luz de Velas
Uses X Extends Freguês Jantar <<uses>> <<uses>> <<uses>> Entrada Sobremesa Luz de Velas