80
Diagramas de Casos de Uso Elaine Não diga pouco em muitas palavras, mas sim, muito em poucas. Pitágoras

Diagrama de Caso de Uso2011.ppt [Modo de Compatibilidade] · que ocorre entre algo que está fora do sistema, ... – O mesmo indivíduo pode ser o cliente que efetua ... um dialogo

  • Upload
    buiphuc

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Diagramas de Casos de Uso

Elaine

Não diga pouco em muitas palavras, mas sim, muito em poucas.

Pitágoras

Casos de uso

• O modelo de casos de uso modela os requisitos funcionais do sistema.

• É uma técnica de modelagem idealizada por Ivar Jacobson, na década de 70.

Elaine

Jacobson, na década de 70.

• Mais tarde a notação de casos de uso foi adicionada à UML.

• O diagrama da UML utilizado na modelagem de casos de uso é o diagrama de casos de uso.

Casos de Uso

• Um caso de uso descreve um conjunto de funcionalidades do sistema modelando o diálogoque ocorre entre algo que está fora do sistema, uma entidade externa chamada de ator e o

Elaine

uma entidade externa chamada de ator e o sistema.

Casos de Uso

• Um caso de uso especifica o comportamento de um sistema ou parte dele.

• É uma descrição do conjunto de passos que o sistema executará para desempenhar suas funções

Elaine

funções• Um caso de uso é baseado em um cenário que

descreve como o ator interage com o sistema. Ele identifica eventos que podem ser solicitados e descreve a resposta do sistema para esses eventos

Diagrama de Casos de Uso

• O diagrama de casos de uso representa todas as formas de uso do sistema. Todas as funcionalidades.

• Casos de uso fornecem uma visão do sistema

Elaine

• Casos de uso fornecem uma visão do sistema focada nas funcionalidade.

• Deixamos claro em que CASOS podemos USAR o sistema.

Diagrama de Casos de Uso

• Além das funcionalidades definimos como o software interage com o usuário para prover esse tipo de serviço.

• Podemos definir quem tem acesso ao que no

Elaine

• Podemos definir quem tem acesso ao que no contexto do sistema.

Diagrama de Casos de Uso

• Possibilitam um formato de apresentação compreensível que pode ser utilizado para aprimorar a comunicação, especialmente entre os projetistas da aplicação e os clientes.

Elaine

os projetistas da aplicação e os clientes.

• Também são úteis para outras fases, ajudando na quantificação, identificação de objetos e desenvolvimento de estratégias de teste (principalmente pelas descrições dos casos de uso)

Diagrama de Casos de Uso

• Objetivos:– Delimitação do contexto de um sistema– Documentação e o entendimento dos requisitos– Descrição dos requisitos funcionais– Principal saída da etapa de especificação de

Elaine

– Principal saída da etapa de especificação de requisitos

– Principal entrada da etapa de análise– Facilitam a comunicação entre os stakeholders– São a base para a definição do cronograma– Auxiliam na elaboração dos casos de teste

Casos de Uso

• Análise Tradicional– O que o sistema deve fazer?

Elaine

• Análise por Casos de Uso– O que o sistema deve fazer ... E para quem?

Atores

• São entidades do meio ambiente (externas ao sistema) que interagem com o sistema para solicitar algo ou informar algo.

• Atores podem dar inicio a eventos

Elaine

• Atores podem dar inicio a eventos ou interagir com o sistema em decorrência do resultado de eventos ocorridos.

• Categorias de atores:– Pessoas (Empregado, cliente, gerente, aluno,

professor);

– Organizações ( Empresa Fornecedora, Administradora

Atores

Elaine

de cartões);

– Outros Sistemas ( Sistema de estoque, Sistema de cobrança);

– Equipamentos (Leitora de cartões, Sensores, Alarmes);

• Um ator corresponde a um papel representado em relação ao sistema– O mesmo indivíduo pode ser o cliente que efetua

compras na loja e pode ser o vendedor que processa

Atores

Elaine

vendas;

– Uma pessoa pode representar o papel de Funcionário de um banco, mas também pode ser Cliente do banco.

• O nome dado a um ator deve lembrar o seu papel.

Atores

• Atores se comunicam com o sistema por muitas razões, incluindo:– Iniciar um caso de uso. Os casos de uso sempre são

iniciados por atores.

Elaine

– Pedir alguns dados armazenados no sistema, os quais então o caso do uso apresenta ao ator.

– Mudar os dados armazenados no sistema por meio de um dialogo com o sistema.

– Informar que ocorreu algo que o sistema deve estar ciente.

Atores

• Um ator inicia um caso de uso. Entretanto, depois que o caso de uso começou, ele pode se comunicar com vários outros atores.

• Considera-se às vezes, erradamente, que a associação de comunicação representa o fluxo de

Elaine

associação de comunicação representa o fluxo de dados. Não é isso. A associação de comunicação representa um diálogo entre o ator e o sistema, um tipo de canal de comunicação sobre o qual podem fluir dados em ambas as direções durante o diálogo.

Casos de Uso

• Caso de uso é um requisito que será automatizado. É usado para representar as funcionalidades de um sistema.

• Representa o que o sistema faz Cadastrar

Elaine

• Representa o que o sistema faz (não como). O “como” está associado à descrição do caso de uso. À partir dessa descrição partimos para as atividades de projeto.

Cadastrar

produto

Casos de Uso

• Casos de uso se comunicam com atores por muitos motivos:– Se algo especial aconteceu no sistema, um ator pode

ter de ser informado.

Elaine

– Um caso de uso pode necessitar da ajuda de um ator para tomar uma decisão.

– Um caso de uso pode delegar responsabilidade a um ator.

Conectando atores e casos de uso:

• Os atores e os casos de uso com os quais eles interagem são ligados pela associação de comunicação.

• A seta é opcional, mas, quando usada, ela indica qual elemento começa a interação.

• Para entender plenamente o papel definido para um

Elaine

• Para entender plenamente o papel definido para um ator, você deve saber em que casos de uso o ator está envolvido.

• Para entender plenamente o alcance de um caso de uso, você deve saber os atores com os quais ele se comunica.

Diagrama de Casos de Uso

Elaine

Descrição de um conjunto de passos

que é o detalhamento do

caso de uso

Associação entre ator e caso de uso

Exemplo

• Cliente de banco pode usar um caixa automático para:– Sacar dinheiro

– Transferir dinheiro

Elaine

– Transferir dinheiro

– Consultar saldo

Exemplo

Elaine

Relacionamentos

• Os relacionamentos que ocorrem com mais freqüência quando trabalhamos com casos de uso são:– Extend

Elaine

– Extend

– Include

Extensão

• É um tipo de relacionamento que só pode ocorrer entre casos de uso. Não existe um relacionamento de extensão entre um ator e um caso de uso.

Elaine

caso de uso.

• Define uma extensão de um relacionamento para um caso de uso a partir de outro caso de uso e essa extensão é opcional, ou seja é um comportamento que poderá ou não ser usado pelo caso de uso de origem.

Extensão• Nesse relacionamento de extensão estou

definindo que ao acessar a funcionalidade encerrar conta pode ser necessário ou não sacar dinheiro (Se a conta tem saldo positivo, vou sacar dinheiro) mas essa funcionalidade não é obrigatória, caso a conta tem saldo igual a zero não ocorrerá a funcionalidade de sacar dinheiro.É opcional.

Elaine

funcionalidade de sacar dinheiro.É opcional.

• De forma semelhante, ao acessar a funcionalidade encerrar conta pode ser necessário ou não depositar dinheiro (Se a conta tem saldo negativo vou depositar dinheiro) mas essa funcionalidade não é obrigatória, caso a conta tem saldo positivo ou igual a zero não ocorrerá a funcionalidade de depositar dinheiro.

Extensão

• Pode ser usada para:– Simplificar fluxos de eventos complexos– Representar comportamentos opcionais– Lidar com exceções

• Por exemplo, em uma descrição de um caso de

Elaine

• Por exemplo, em uma descrição de um caso de uso temos fluxos básicos e fluxos alternativos, quando um fluxo alternativo é complexo e opcional podemos modelá-lo como um caso de uso, ligando-o ao caso de uso de origem por um relacionamento de extensão.

Extensão

• As seguintes situações podem dar margem à utilização do extend:– Descrições de características que são opcionais ao

comportamento básico do sistema, por exemplo, características que podem ser adquiridas ou não.

Elaine

características que podem ser adquiridas ou não.– Descrições complexas de erros ou tratamentos de

exceções que, de outra forma, iriam obscurecer o comportamento primário do sistema. Exemplos disso são fluxos alternativos de tamanho significativo, especialmente aqueles cujo tamanho é maior do que o do fluxo principal.

Extensão

• Mais situações que podem dar margem à utilização do extend:– Customização do modelo de requisitos para atender a

necessidades específicas do usuário. Exemplos disso

Elaine

são fluxos alternativos que especificam como usuários específicos tratam diferentes condições que ocorrem dentro de um mesmo caso de uso.

– Gerência de escopo e versão. Um exemplo disso são características que não serão introduzidas até as últimas versões.

Extensão

• Podemos concluir então que o relacionamento de extensão me permite definir relações entre casos de uso onde existe uma adição de comportamentos opcionais ao caso de uso que

Elaine

comportamentos opcionais ao caso de uso que está sendo estendido.

Inclusão

• Também é um tipo de relacionamento que só pode ocorrer entre casos de uso. Não existe um relacionamento de inclusão entre um ator e um caso de uso.

Elaine

caso de uso.

• Defini a inclusão de comportamentos presentes em outro caso de uso e essa inclusão será obrigatória. Sempre irá utilizar essas funcionalidades presentes no caso de uso incluído ao caso de uso de origem

Inclusão• Identificar usuário é uma funcionalidade que poderia ser

interna de sacar dinheiro e de depositar dinheiro mas sendo comum a vários casos de uso, é mais interessante modelar identificar usuário em um caso de uso que permita o reuso do mesmo.

Elaine

permita o reuso do mesmo.

• Assim, todos os casos de uso que necessitem identificar usuário de forma obrigatória é ligado ao caso de uso Identificar usuário através do relacionamento de inclusão.

Inclusão

• Pode ser usada para:– Representar comportamentos reutilizáveis– Simplificar fluxos de eventos complexos

Quando existe uma dada função dentro do sistema que

Elaine

Quando existe uma dada função dentro do sistema que aparece em vários casos de uso, ou seja ela é utilizada por várias funcionalidades, podemos modelar essa função em um caso de uso uma única vez e ligá-la a todos os casos de uso que incluem essa função comum, dizendo que essa função é usada em diferentes partes do meu software.

Especialização

• Um caso de uso pode especializar outro caso de uso:– Adicionando o fluxo de eventos original

– Refinando o fluxo de eventos original

Elaine

– Refinando o fluxo de eventos original

• Especialização permite modelar comportamento diferenciado entre um caso de uso base e casos de uso filhos.

• Pouco utilizado.

• Pode existir entre atores também

Generalização de casos de uso

• Quando o usuário acessar a funcionalidade consultar saldo, essa funcionalidade vai se dar de uma maneira

Elaine

vai se dar de uma maneira específica: – ou consultar saldo na tela

– ou consultar saldo impresso.

Relacionamentos

Relação Função Notação

Associação O caminho de comunicação entre um ator e o(s) caso(s) de uso em que participa

Inclusão A inserção de um comportamento adicional em um caso de uso base que explicitamente

Elaine

em um caso de uso base que explicitamente descreve a inserção

Generalização Um relacionamento entre um caso de uso geral e um mais específico que herda e adiciona propriedades à aquele

Extensão A inserção de um comportamento adicional em um caso de uso base que não sabe sobre o comportamento adicional

Sentido da seta

• Na inclusão partimos do caso de uso base para o caso de uso que será incluído

<<include>>

Elaine

Sacar dinheiro

Identificar usuário

<<include>>

Sentido da seta

• Na extensão parte do caso de uso opcional para o caso de uso base

<<extend>>

Elaine

Inscrever Aluno

Atualizar cadastro

<<extend>>

Secretária

Regras

• Não existe ligação entre atores.– Atores são entidades externas do sistema, portanto a

comunicação entre eles está fora do escopo do sistema, não devendo ser modelada no diagrama de caso de uso, um vez que ele modela apenas as

Elaine

caso de uso, um vez que ele modela apenas as funcionalidades do sistema.

Herança de Atores• Alguns casos de uso são

utilizados por vários atores, para simplificar o diagrama e diminuir o número de associações, cria-se um ator genérico.

Elaine

genérico.• Além disso alguns casos de

uso são exclusivos de apenas um ou alguns atores, mas não de todos.

• Generalização pode simplificar a representação gráfica do sistema.

Sem Generalização x Com Generalização

Elaine

Exemplo

Elaine

Estudo de Caso Locadora de Veículos

• O diagrama de caso de uso é criado com base em um cenário descrito a partir da especificação de requisitos.

• Assim, vamos construir o diagrama de caso de uso para a locadora de veículos descrita no cenário a seguir.

Elaine

• É importante ressaltar que a partir de um conjunto de requisitos definidos podemos ter diferentes diagramas de casos de uso modelados pois estes diagramas refletem a solução que cada analista dá para o problema.

Cenário – Locadora de Veículos• Uma locadora de veículos deseja um sistema para

facilitar o atendimento a seus clientes.

• O processo de aluguel de carros atual é confuso e está gerando insatisfação entre os clientes.

• A locadora é composta basicamente pelos seus

Elaine

• A locadora é composta basicamente pelos seus funcionários e carros para aluguel. Os funcionários são identificados por cpf, nome, endereço, telefone. Já os carros estão divididos em diversos tipos: popular, luxo, utilitário, etc. As informações importantes sobre os carros a serem armazenadas são: código (placa do carro), tipo, modelo, ano, cor, chassis, km e valor do aluguel (diárias e semanais).

• Os funcionários serão responsáveis pelo cadastro dos clientes e dos carros adquiridos pela locadora, por efetuar o aluguel de um carro para o cliente e dar baixa no aluguel.

• Existem clientes especiais e clientes comuns. Os especiais possuem uma taxa de desconto e um quilometragem extra

Cenário – Locadora de Veículos

Elaine

possuem uma taxa de desconto e um quilometragem extra para seus aluguéis.

• Qualquer cliente é identificado por rg, nome, cpf, telefone, endereço, cidade.

• Desta forma, o cliente poderá solicitar o aluguel de carros a um funcionário da locadora.

Funcionalidades do Sistema• Alugar Carro: cliente deve solicitar ao funcionário o aluguel

do carro. O sistema verifica se o carro solicitado pelo cliente está disponível. Caso esteja, o processo de locação é concluído e o carro passa a estar indisponível. A data de aluguel deve ser guardada para calculo do valor do aluguel na devolução.

• Dar Baixa: cliente faz devolução do carro para o

Elaine

• Dar Baixa: cliente faz devolução do carro para o funcionário e solicita nota fiscal (recibo) com a quilometragem percorrida e o valor do aluguel. O funcionário coloca o status do carro novamente como disponível, solicita ao sistema para calcular o valor a ser pago e emite o recibo para o cliente.

• Cadastrar Cliente: cliente solicita ao funcionário que o cadastre na locadora. O funcionário recebe os dados e cadastra-o.

• Cadastrar Carro: funcionário cadastra o carro adquirido.

Funcionalidades do Sistema

• Na funcionalidade Alugar Carro temos descrito um conjunto de passos que serão executados no contexto desta funcionalidade. Essa descrição de passos servirá para descrever o caso de uso e não gerar outros casos de uso.

Elaine

• Assim, solicitar aluguel, verificar disponibilidade do carro, alterar disponibilidade etc não serão casos de uso, mas passos que serão executados dentro do caso de uso Alugar Carro.

• O mesmo ocorre para Dar baixa, Cadastrar Cliente e Cadastrar Carro

Solução - Locadora de Veículos

Elaine

Estudo de Caso II

• Sistema de reserva de passagem aérea– Para esse estudo de caso trabalharemos com a lista

de requisitos definidos durante a engenharia de requisitos.

Elaine

– Importante deixar claro que nem todo requisito listado será um caso de uso. Ele pode ser simplesmente um passo interno de algum caso de uso que represente uma funcionalidade mais abrangente.

RF1 Sistema deve permitir o cadastro do usuário

RF2 Sistema deve permitir que o usuário se identifique

RF3 Sistema deve consultar a classe vôo

RF4 Sistema deve consultar o trecho da viagem

RF5 Sistema deve permitir consulta aos aeroportos

RF6 Sistema deve permitir consulta as datas disponíveis de ida e volta

RF7 Sistema deve permitir que usuário consulte as formas de pagamento

RF8 Sistema deve enviar para os usuários cadastrados e-mails promocionais

RF9 Sistema deve permitir que o usuário consulte CEP no sistema dos correios

RF10 Sistema deve permitir que o usuário solicite a reserva on-line

Elaine

RF10 Sistema deve permitir que o usuário solicite a reserva on-line

RF11 Sistema deve gerar código de reserva

RF12 Sistema deve emitir e-mail ao usuário confirmando a reserva com dados

RF13 Sistema deve permitir que usuário cancele a reserva

RF14 Sistema deve permitir que administrador emita relatório de reservas confirmadas

RF15 Sistema deve permitir que administrador emita relatório de reservas canceladas

RF16 Sistema deve validar o pagamento junto com a operadora de cartão

RF17 Sistema deve permitir que o administrador emita relatório de usuários cadastrados

RF18 Sistema deve permitir que usuário edite seus dados pessoais

O RF1 será modelado como caso de uso.

RF1 Sistema deve permitir o cadastro do usuário

RF2 Sistema deve permitir que o usuário se identifique

RF3 Sistema deve consultar a classe vôo

RF4 Sistema deve consultar o trecho da viagem

RF5 Sistema deve permitir consulta aos aeroportos

RF6 Sistema deve permitir consulta as datas disponíveis de ida e volta

RF7 Sistema deve permitir que usuário consulte as formas de pagamento

RF8 Sistema deve enviar para os usuários cadastrados e-mails promocionais

Elaine

O RF1 será modelado como caso de uso.

Importante percebermos que os RF de 2 até o 7 são passos internos da funcionalidade mais abrangente efetuar reserva, portanto eles não se tornarão casos de uso. Essas funcionalidades farão parte da descrição do caso de uso efetuar reserva.

O RF8 será um caso de uso, uma vez que representa uma funcionalidade específica do sistema .

RF1 Sistema deve permitir o cadastro do usuário

RF2 Sistema deve permitir que o usuário se identifique

RF3 Sistema deve consultar a classe vôo

RF4 Sistema deve consultar o trecho da viagem

RF5 Sistema deve permitir consulta aos aeroportos

RF6 Sistema deve permitir consulta as datas disponíveis de ida e volta

RF7 Sistema deve permitir que usuário consulte as formas de pagamento

RF8 Sistema deve enviar para os usuários cadastrados e-mails promocionais

RF9 Sistema deve permitir que o usuário consulte CEP no sistema dos correios

RF10 Sistema deve permitir que o usuário solicite a reserva on-line

Elaine

RF10 Sistema deve permitir que o usuário solicite a reserva on-line

RF11 Sistema deve gerar código de reserva

RF12 Sistema deve emitir e-mail ao usuário confirmando a reserva com dados

Os RFs 9, 11 e 12 também são passos internos da funcionalidade mais abrangente efetuar reserva, portanto eles não se tornarão casos de uso. Já o RF10 é exatamente a funcionalidade efetuar reserva, que engloba todos estes outros RFs citados, assim ele será um caso de uso.

RF13 Sistema deve permitir que usuário cancele a reserva

RF14 Sistema deve permitir que administrador emita relatório de reservas confirmadas

RF15 Sistema deve permitir que administrador emita relatório de reservas canceladas

O RF 13 será modelado como um caso de uso, visto que cancelar reserva é um ato a parte do sistema onde o usuário vai solicitar cancelamento da reserva, o sistema exibe as reservas desse usuário

Elaine

cancelamento da reserva, o sistema exibe as reservas desse usuário para que ele possa selecionar aquela que ele deseja cancelar.

O RF14 e o RF15 serão modelados como um caso de uso emitir relatório de reservas, já que o que muda é apenas o status da reserva que será incluída no relatório. Essa diferença pode ser interna ao caso de uso, detalhada na descrição.

RF16 Sistema deve validar o pagamento junto com a operadora de cartão

RF17 Sistema deve permitir que o administrador emita relatório de usuários cadastrados

RF18 Sistema deve permitir que usuário edite seus dados pessoais

O RF 16 também é um passo interno da funcionalidade mais abrangente efetuar reserva, portanto não se tornará caso de uso.

O RF17 será caso de uso novo pois embora seja um relatório, este é totalmente diferente dos outros (RF14 e RF15).

Elaine

totalmente diferente dos outros (RF14 e RF15).

O RF18 será modelado como um caso de uso pois a edição dos dados do usuário será desvinculada do efetuar cadastro. Para edição ele tem que efetuar o login, abrir sua ficha cadastral já existente para então fazer a alteração. São ação desvinculadas do ponto de vista do usuário. Não estamos modelando um manter usuário nesse sistema on-line.

Casos de uso definidos

• Cadastrar Usuário

• Enviar e-mail promocional

• Efetuar reserva

• Cancelar reserva

Elaine

• Cancelar reserva

• Emitir relatório de reservas

• Emitir relatório de usuários cadastrados

• Atualizar dados pessoais.

Definição de Atores

• Os RF14, RF15 e RF17 são efetuados pelo administrador do sistema.

• Os RF2, 7, 8, 10, 12, 13 e 18 citam um ator usuário• O RF9 diz que haverá interação com um sistema

externo (Sistema dos correios), como um sistema

Elaine

externo (Sistema dos correios), como um sistema externo que troca informação com o sistema é considerado um ator, teremos o ator Sistema do Correio.

• Da mesma forma que o RF16 cita interação com a operadora de cartão, definindo assim o ator Operadora de Cartão

RF1 Sistema deve permitir o cadastro do usuário

RF2 Sistema deve permitir que o usuário se identifique

RF3 Sistema deve consultar a classe vôo

RF4 Sistema deve consultar o trecho da viagem

RF5 Sistema deve permitir consulta aos aeroportos

RF6 Sistema deve permitir consulta as datas disponíveis de ida e volta

RF7 Sistema deve permitir que usuário consulte as formas de pagamento

RF8 Sistema deve enviar para os usuários cadastrados e-mails promocionais

RF9 Sistema deve permitir que o usuário consulte CEP no sistema dos correios

RF10 Sistema deve permitir que o usuário solicite a reserva on-line

Elaine

RF10 Sistema deve permitir que o usuário solicite a reserva on-line

RF11 Sistema deve gerar código de reserva

RF12 Sistema deve emitir e-mail ao usuário confirmando a reserva com dados

RF13 Sistema deve permitir que usuário cancele a reserva

RF14 Sistema deve permitir que administrador emita relatório de reservas confirmadas

RF15 Sistema deve permitir que administrador emita relatório de reservas canceladas

RF16 Sistema deve validar o pagamento junto com a operadora de cartão

RF17 Sistema deve permitir que o administrador emita relatório de usuários cadastrados

RF18 Sistema deve permitir que usuário edite seus dados pessoais

Funcionalidades do Administrador

Elaine

Funcionalidades do Usuário

• Podemos perceber que o usuário (internauta) pode se cadastrar mas que para Efetuar reserva, Cancelar reserva e Atualizar dados

Elaine

reserva e Atualizar dados pessoais, ele tem que ser um usuário logado, ou seja um tipo especial de usuário que vamos chamar de cliente.

Ator Correio

• O sistema de correios é consultado durante o cadastro do usuário, para consultar o CEP, assim esse ator está ligado ao caso de uso Cadastrar usuário

Elaine

usuário

Ator Operadora do Cartão

• A operadora do cartão é um sistema externo que será acessado durante a validação do pagamento que ocorre durante o caso de uso Efetuar reserva

Elaine

Diagrama de caso de uso finalizado

Elaine

Módulo de Gestão de Usuário RF1 O software deve ident. e validar todos os usuários que desejarem acessá-lo, identificando seu perfil

RF2 O software deve disp. ao usuário identificado as func. associadas ao seu perfil e ao seu papel no sist. (coordenador, bolsista, etc). As func. de acesso restrito e as func. de acesso público.

RF3 O software deve disp. ao usuário não identificado somente as func. Públicas.

RF4 O software deve permitir ao usuário recuperar a sua senha, caso esqueça

RF5 O software deve permitir que o adm. inclua, altere ou exclua usuários

RF6 O software deve permitir que o adm. inclua, altere ou exclua perfis de acesso

Elaine

RF7 O software deve permitir que o adm. associe as func. disponíveis nos módulos aos perfis cadastrados ou exclua dos perfis as funcionalidades previamente associadas.

RF8 O software deve permitir que o adm. associe um usuário a um único perfil de acesso

RF9 O software deve permitir ao adm. consultar as funcionalidades associadas a um perfil

RF10 O software deve permitir ao adm. consultar os usuários associados a um determinado perfil

RF11 O software deve permitir ao adm. indicar se um determinado usuário pode administrar seus substitutos ou não

RF12 O software deve permitir que os usuários devidamente autorizados designem um ou mais substitutos com os respectivos períodos de substituição (data inicial e final) e selecionem um subconjunto das suas funcionalidades as quais os substitutos terão acesso.

RF13 O software deve permitir que todos os usuários façam a manutenção de seus dados pessoais:email, localização, senha e telçefones.

RF14 O software deve permitir que os administradores reenviem a senha de qualquer usuário e que os usuários reenviem a própria senha

RF15 O software deve gerar senhas temporárias, válidas somente no primeiro login, quando as senhas forem reenviadas pelos administradores ou pelos próprios usuários

RF16 O software deve solicitar a troca de senha, após o login, para todas as senhas que já expiraram

RF17 O software deve, caso o usuário corrente seja um substituto, apresentar a lista de usuários que ele está

Módulo de Gestão de Usuário

Elaine

O software deve, caso o usuário corrente seja um substituto, apresentar a lista de usuários que ele está substituindo na data corrente.

RF18 O software deve, caso o usuário corrente seja um substituto, permitir que ele selecione o usuário com o qual vai atuar, caso ele seja substituto de mais de um usuário.

Estudando cada RF• RF1- O software deve identificar e validar todos os usuários que desejarem

acessá-lo, identificando seu perfil– Caso de Uso: Autenticar Usuário– Ator: Usuário

• RF2- O software deve disponibilizar ao usuário identificado as funcionalidades associadas ao seu perfil e ao seu papel no sistema (coordenador, bolsista, etc). As funcionalidades de acesso restrito e as funcionalidades de acesso público.– Passo que ocorre dentro do autenticar usuário

Elaine

– Passo que ocorre dentro do autenticar usuário

• RF3- O software deve disponibilizar ao usuário não identificado somente as funcionalidades de acesso público.– Passo que ocorre dentro de autenticar usuário, podendo ser modelada como um

fluxo alternativo.

• RF4- O software deve permitir ao usuário recuperar a sua senha, caso esqueça– Se quiséssemos modelar a possibilidade de recuperação de senha a qualquer

momento através de um menu daí seria um caso de uso, mas neste caso vamos optar por só poder recuperar senha dentro do efetuar login, então essa funcionalidade será um fluxo alternativo de efetuar login.

• RF5- O software deve permitir que o administrador inclua, altere ou exclua usuários– Caso de uso: Administrar usuário – Ator: Administrador

• RF6- O software deve permitir que o administrador inclua, altere ou exclua perfis de acesso– Caso de uso: Administrar perfis de acesso

Estudando cada RF

Elaine

– Caso de uso: Administrar perfis de acesso– Ator: Administrador

• RF7- O software deve permitir que o administrador associe as funcionalidades disponíveis nos módulos aos perfis cadastrados ou exclua dos perfis as funcionalidades previamente associadas.– Passo da funcionalidade Administrar perfil de acesso.

• RF8- O software deve permitir que o administrador associe um usuário a um único perfil de acesso– Passo da funcionalidade Administrar perfil de acesso.

• RF9- O software deve permitir ao administrador consultar as funcionalidades associadas a um perfil– Passo da funcionalidade Administrar perfil de acesso

• RF10- O software deve permitir ao administrador consultar os usuários associados a um determinado perfil– Passo da funcionalidade Administrar perfil de acesso

• RF11- O software deve permitir ao administrador indicar se um determinado usuário

Estudando cada RF

Elaine

• RF11- O software deve permitir ao administrador indicar se um determinado usuário pode administrar seus substitutos ou não– Passo da funcionalidade Administrar usuário

• RF12- O software deve permitir que os usuários devidamente autorizados designem um ou mais substitutos com os respectivos períodos de substituição (data inicial e final) e selecionem um subconjunto das suas funcionalidades as quais os substitutos terão acesso.

– Caso de uso: Administrar substitutos

– Ator: usuário autenticado

• RF13- O software deve permitir que todos os usuários façam a manutenção de seus dados pessoais: e-mail, localização, senha e telefones.

– Caso de uso: Manter dados pessoais

– Ator: usuário autenticado

• RF14- O software deve permitir que os administradores reenviem a senha de qualquer usuário e que os usuários reenviem a própria senha

Estudando cada RF

Elaine

qualquer usuário e que os usuários reenviem a própria senha

– Passo presente em administrar usuário e em administrar perfil

• RF15- O software deve gerar senhas temporárias, válidas somente no primeiro login, quando as senhas forem reenviadas pelos administradores ou pelos próprios usuários

– Passo presente em casos de uso do sistema

• RF16- O software deve solicitar a troca de senha, após o login, para todas as senhas que já expiraram

– Regras associadas a autenticar usuário

• RF17- O software deve, caso o usuário corrente seja um substituto, apresentar a lista de usuários que ele está substituindo na data corrente.

– Regra interna ao autenticar usuário

Estudando cada RF

Elaine

• RF18- O software deve, caso o usuário corrente seja um substituto, permitir que ele selecione o usuário com o qual vai atuar, caso ele seja substituto de mais de um usuário.– Caso de uso: Selecionar perfil de uso

– Ator: Usuário autenticado

Solução - Caso de Uso

Elaine

Descrição Casos de Uso• UC1 – Nome do Caso de Uso

– Objetivo: Breve descrição do que o caso de uso deverá fazer– Requisitos: A qual RF do doc de requisitos ele se refere– Atores: Quem acessa esse caso de uso– Prioridade: É prioritário ou não (cliente define)– Pré-condições: quais as condições necessárias antes de disparar o caso de uso– Freqüência de uso: a frequencia me dá idéia de criticalidade (risco)– Criticalidade (risco): importância do caso de uso

Elaine

– Criticalidade (risco): importância do caso de uso– Condição de entrada: o que dispara esse caso de uso– Fluxo Principal: descrever ações normais que ocorrem– Fluxo Alternativo: desvios do cenário principal– Extensões: descrevem os extends– Pós Condições: o que deve ser verdade depois de executado o caso de uso– Regras de Negócio: que pode ser definido agora ou em doc à parte.

Prioridade e Risco• Devemos considerar os casos de uso mais importantes

primeiramente. Para identificar os mais importantes verificamos os parâmetros: risco de desenvolvimento(criticalidade) e prioridade estabelecidas pelo usuário. Dessa forma, cada caso de uso se encaixa em uma das categorias a seguir:– 1. Risco alto e prioridade alta: casos de uso nesta categoria são os mais

críticos. Devem ser considerados o quanto antes.– 2. Risco alto e prioridade baixa: embora os casos de uso nesta categoria

Elaine

– 2. Risco alto e prioridade baixa: embora os casos de uso nesta categoria tenham risco alto, é necessário, antes de começar a considerá-los, negociar com o cliente em relação a sua verdadeira necessidade.

– 3. Risco baixo e prioridade alta: embora os casos de uso tenham prioridade alta, é necessário ter em mente que os casos de uso de mais alto risco devem ser considerados primeiro.

– 4. Risco baixo e prioridade baixa: em situações em que o desenvolvimento do sistema está atrasado, estes casos de uso são os primeiros a serem "cortados".

Exemplo de descrição

• UC1 – Consultar Clientes– Objetivo: O sistema deve permitir que o setor de atendimento

ao cliente consulte clientes cadastrados

– Requisitos: RF1

– Atores: Setor de atendimento ao cliente

– Prioridade: -

Elaine

– Prioridade: -

– Pré-condições: -

– Freqüência de uso: diária

– Criticalidade: -

– Condição de entrada: o ator seleciona a opção consultar cliente

Fluxo Principal:1. O sistema apresenta tela de busca de clientes contendo as

informações:

- Nome (campo editável)

- Status (lista contendo os itens: Em dia, Inadimplente)

- As opções:

* Buscar

* Cancelar

2. O ator informa dados de busca e seleciona a opção Buscar [A1]

Elaine

2. O ator informa dados de busca e seleciona a opção Buscar [A1]

3. O sistema apresenta tela com informações dos Clientes de acordo como filtro especificado:

- Nome (somente leitura)

- Status (somente leitura)

- CPF (somente leitura)

- Data de Nascimento (somente leitura)

- A opção Detalhar

4. O sistema apresenta ao final a opção Voltar

Fluxo Principal:5. O ator seleciona a opção Detalhar [A2]

6. O sistema apresenta tela de detalhes para o cliente contendoas informações:

- Nome (somente leitura)

- CPF (somente leitura)

- Status (somente leitura)

- Data de Nascimento (somente leitura)Se o cliente estiver com

status em dia não

Elaine

- Data de Nascimento (somente leitura)

- Endereço (somente leitura)

- Motivo [RN1] (somente leitura)

- A opção Ok

7. O ator seleciona a opção ok

8. O sistema retorna ao passo 3 do fluxo principal.

status em dia não aparece, se estiver em

atraso, mostra o motivo de acordo com regra

negócio 1

Fluxo Alternativo:Fluxo Alternativo:

[A1] O ator selecionou a opção Cancelar

1. Sistema retorna para a tela inicial.

2. O caso de uso é encerrado.

[A2] O ator selecionou a opção Voltar

1. Sistema retorna ao passo 1 do fluxo principal.

Elaine

1. Sistema retorna ao passo 1 do fluxo principal.

Extensões: -

Pós Condições: -

Regras de Negócio: [RN1] O campo Motivo será apresentado

apenas se o Status do cliente for inadimplente

Descrições independentes de Interface• Alteração na Interface � alteração descrição

– Considere a situação de uma parte da interface estar sendo continuamente modificada, por alguma razão. O fato da interface ser modificada possivelmente resultará na modificação da descrição do caso de uso.

• Assim, casos de uso devem ser independentes do

desenho da interface pelo fato de que os requisitos do

Elaine

desenho da interface pelo fato de que os requisitos do

sistema não devem estar associados a detalhes de interface.

• A atenção deve estar na essência das interações entre

atores e o sistema, em vez de como cada interação é

realizada fisicamente.

• Por exemplo, usar o termo "envia uma requisição" ao invés de "duplo clique sobre o botão de envio de requisições".

Caso de Uso – Incluir Cliente• UC1 – Incluir Clientes

– Objetivo: O sistema deve permitir que o administrador efetue o cadastrado de cliente

– Requisitos: RF2

– Atores: Administrador

– Prioridade: -

Elaine

– Prioridade: -

– Pré-condições: -

– Freqüência de uso: -

– Criticalidade: -

– Condição de entrada: o ator seleciona a opção incluir cliente

Fluxo Principal:1. O sistema apresenta tela de cadastro de clientes contendo as

informações:

(Dados Pessoais)

- Nome (campo editável)

- CPF(campo editável)

- RG (campo editável)

-Data de Nascimento (campo editável)

-Sexo (lista contendo as opções feminino e masculino)

Elaine

-Sexo (lista contendo as opções feminino e masculino)

(Informações de Contato)

- Endereço (campo editável)

- Telefone de contato (campo editável)

- e-mail (campo editável)

- As opções:

* Incluir Cliente

* Cancelar

2. O ator informa os dados do cliente e seleciona a

opção incluir Cliente [A1]

3. O sistema valida os dados informados [RN1]

4. O sistema efetua o cadastro do cliente [RN2]

5. O sistema exibe a mensagem “Cliente cadastrado com

sucesso” com a opção OK no final.

6. O ator seleciona OK

Fluxo Principal:

Elaine

6. O ator seleciona OK

7. O sistema retorna para a tela inicial

8. O caso de uso é encerrado.

Fluxo AlternativoFluxo Alternativo: [A1] O ator seleciona a opção Cancelar

1. Sistema retorna para a tela inicial.

2. O caso de uso é encerrado.

[A2] Dados para cadastro do cliente inválidos

1. O sistema exibe mensagem de erro “Existem informaçõesobrigatórias que não foram preenchidas com a opção OK no final.

2. O ator seleciona a opção

Elaine

2. O ator seleciona a opção

3. O sistema retorna ao passo 1 do fluxo principal.

Extensões: -Pós Condições: -Regras de Negócio: [RN1] Todos os campos do cadastro de clientes são obrigatórios.

[RN2] Ao efetuar o cadastro do cliente, um número de matrícula deve ser gerado para o cliente.

Extensão ou Fluxo Alternativo

• Conceitualmente, o mecanismo de extensão é idêntico aquele dos fluxos alternativos. Um caso de uso de extensão, assim como um fluxo alternativo, insere a si próprio no fluxo do caso de uso que ele estende. Somente o caso de uso de extensão conhece o ponto no

Elaine

Somente o caso de uso de extensão conhece o ponto no caso de uso base onde o comportamento será inserido. Em conseqüência, freqüentemente um caso de uso de extensão começa sua vida como um fluxo alternativo.

Extensão ou Fluxo Alternativo• Nem todo fluxo alternativo deve virar um caso de uso de

extensão. As regras para os fluxos alternativos são mais frouxas do que aquelas para os casos de uso de extensão. Devido ao fato de que os fluxos alternativos são parte do caso de uso, eles podem explorar seu conhecimento do estado do caso de uso, suas pré-condições, e outros fluxos

Elaine

estado do caso de uso, suas pré-condições, e outros fluxos de eventos para terminar o caso de uso ou para continuar o fluxo do caso de uso em pontos de extensão diferentes daquele onde eles assumiram o controle. Tudo o que os casos de uso de extensão conhecem a respeito do caso de uso original é o ponto de extensão onde eles introduziram a si próprios no fluxo de eventos do caso de uso estendido.