45
Engenharia de Software PROF. ROBERTO

Análise de Requisitos – Caso de uso

Embed Size (px)

DESCRIPTION

Material do curso de Engenharia de Software

Citation preview

  • Engenharia de SoftwarePROF. ROBERTO

  • Anlise de Requisitos Caso de uso

    Objetivos

    Anlise de Requisitos

    Atores

    Use Cases

  • Anlise de Requisitos Caso de uso

    Anlise de Requisitos com UML

    O comportamento de um sistema modelado atravs de diagramas casos de uso ("use cases")

    Apresentam as operaes do sistema e seus beneficiados

    As operaes do sistema so modeladas como "use cases"

    As entidades que as realizam so modeladas como atores

    O que o sistema deve fazer ?

    O que o sistema deve fazer ? Para quem ?

    Anlise tradicional

    Anlise com use cases

  • Anlise de Requisitos Caso de uso

    Processo de Desenvolvimento

    Os use cases de um sistema direcionam o seu processo de desenvolvimento

    Determinao dos requisitos do sistema

    Construo do modelo de anlise

    Construo do modelo de projeto

    Implementao do cdigo

    Determinao dos casos de teste

    Planejamento e gerenciamento do projeto

    Projeto TesteAnlise CdigoUse case

  • Anlise de Requisitos Caso de uso

    Modelo de Use Cases

    utilizado na comunicao com os usurios finais e especialistas do domnio da aplicao

    Garante o entendimento mtuo dos requisitos

    Pode ser utilizado como "contrato" do sistema

  • Anlise de Requisitos Caso de uso

    Modelo de Use Cases

    utilizado para determinar:

    Com quem o sistema deve interagir

    Se todos os requisitos foram identificados

    A quem interessa cada requisito do sistema

  • Anlise de Requisitos Caso de uso

    Atores

    Atores representam qualquer elemento que possa interagir com o sistema.

    Atores no so parte do sistema, mas representam os elementos externos que interagem com o sistema.

  • Anlise de Requisitos Caso de uso

    Atores

    Atores podem ser:

    Pessoas

    Outros sistemas

    Equipamentos ligados ao sistema.

  • Anlise de Requisitos Caso de uso

    Atores

    Um sistema pode ter diversos tipos de usurios. Exemplo: gerente, vendedor, almoxarife, ...

    Cada tipo de usurio tem interesse em um conjunto de operaesdisponveis no sistema.

    Cada tipo de usurio representado como um ator.

    Um ator pode representar um grupo de pessoas.

    Uma pessoa que realize o papel de diversos grupos pode ser analisada

  • Anlise de Requisitos Caso de uso

    Atores

    Atores podem:

    Entrar com informaes no sistema

    Receber resultados do sistema

    Entrar com informaes e receber resultados do sistema

  • Anlise de Requisitos Caso de uso

    Atores

    Representao

    O smbolo abaixo representa um ator em um diagrama de use cases:

  • Anlise de Requisitos Caso de uso

    Atores - Identificao

    Atores so descobertos a partir de entrevistas com o cliente ou com especialistas do domnio da aplicao

    Quem est interessado em uma determinada operao ?

    Onde o sistema ser utilizado ?

    Quem ser beneficiado pelo sistema ?

    Quem fornece informao para o sistema ?

    Quem usa ou remove informao do sistema ?

    Quem fornece suporte ou manuteno para o sistema ?

    O sistema utiliza recursos externos ?

    Alguma pessoa realiza diversos papis no sistema ?

    Diversas pessoas realizam o mesmo papel no sistema ?

  • Anlise de Requisitos Caso de uso

    Caractersticas de um Bom Ator

    No existem regras definitivas, mas existem guias:

    Dois atores que realizem as mesmas operaes podem ser representados por um nico ator

    Um ator que realize as operaes de dois ou mais atores pode ser descomposto nestes atores primrios

  • Anlise de Requisitos Caso de uso

    Caractersticas de um Bom Ator

    Documentao:

    Cada ator deve receber um nome

    As funes do ator no sistema devem ser resumidas em um pargrafo

  • Anlise de Requisitos Caso de uso

    Caractersticas de um Bom Ator

    Exerccios: Analise o sistema de controle, clculo e gerao de resultados das notas escolares de uma faculdade. Quais atores poderamos listar?

  • Anlise de Requisitos Caso de uso

    Caractersticas de um Bom Ator

    Exerccios: Analise o sistema de controle, clculo e gerao de resultados das notas escolares de uma faculdade. Quais atores poderamos listar?

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso

    Definio:

    Um use case um conjunto de aes, incluindo variantes de aes, que o sistema pode realizar e que oferece algum benefcio observvel para o usurio.

    Um caso de uso captura um contrato entre um patrocinador e um sistema acerca do comportamento do sistema

    O caso de uso descreve o comportamento do sistema em diversa; condies, a medida que ele responde a uma requisio gerada por um de seus patrocinadores, chamado de ator primrio.

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso

    Um caso de uso um dilogo entre o sistema e um ator

    Um caso de uso baseado em um cenrio descritivo de como o a interage com o sistema, identificando os eventos que podem ocorrer e as respostas esperadas a estes

    O conjunto de use cases de um sistema representa todas as operaes

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso

    Detalhamento dos casos de uso

    Casos de uso podem ser descritos por diagramas de estado, diagramas de atividade ou diagramas de colaborao

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso

    Instncias de casos de uso

    Uma instncia de uma caso de uso representa uma execuo do caso de uso, ou seja, um caminho percorrido atravs de suas redes de fluxos, partindo do fluxo principal.

    Instncias de caso de uso devem ser independentes, ou seja, no devem se comunicar com outras instncias de casos de uso durante sua execuo

    Assim, o comportamento de um caso de uso deve ser independentedo comportamento de outros casos de uso da aplicao

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso

    Instncias de casos de uso

    um use case representa uma funo completa do sistema

    Incluso + alterao + remoo + consulta = manuteno

    Manuteno = um nico use case

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso

    Use cases so representados por elipses

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Identificao

    Use cases tambm podem ser identificados atravs de entrevistas com os clientes, especialistas do domnio ou por inspees nos locais onde o sistema ser instalado.

    Quais so as funes de cada ator ?

    Que atores criam, alteram, removem ou consultam informaes?

    Que funes do sistema utilizaram estas informaes?

    Algum ator deve ser informado de alguma mudana externa?

    Algum ator deve ser informado de alguma ocorrncia no sistema?

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Descrio de Use Cases

    Descrio

    Condio de incio do use case

    O fluxo de aes do use case

    Sub-fluxos do use case

    Fluxos de tratamento de erro

    Variantes do fluxo de aes

    Requisitos especiais e no-funcionais

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Descobrindo Use Cases

    Mtodo direcionado por operaes

    Aplicvel a sistemas de informao

    Liste as operaes que os atores podem realizar no sistema

    Agrupe as operaes que tratem de um mesmo elemento ou processo do mundo real

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Descobrindo Use Cases

    Exemplo: Baseando-nos na identificao de atores do exerccio anterior, abaixo, encontram-se alguns casos de uso possveis:

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Descobrindo Use Cases

    Operaes tpicas de um sistema de informao

    Manuteno de cadastros

    Servios do sistema

    Gerao de relatrios

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Manuteno de Cadastros

    Operaes de incluso, remoo, alterao e consulta de um elemento ou processo do mundo real

    O analista deve identificar os elementos estticos do sistema

    Elementos estticos so aqueles cujas informaes no mudamsignificativamente ao longo do tempo

    Estes elementos normalmente existem para complementar os servios do sistema

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Servios do Sistema

    Representam os servios do sistema no mundo real

    Parte mais dinmica do sistema

    Identifique atividades realizadas no dia-a-dia do sistema real

    Identifique processos ou elementos afetados pelas atividades

    Verifique se existem atividades equivalentes ao cadastro

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Gerao de Relatrios (Consultas)

    Identifique as sadas de informao relevantes

    Comece pelos cadastros do sistema

    Prossiga pelos servios do sistema

    Determine os interessados por cada tipo de relatrio

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - De Operaes para Use Cases

    A lista de operaes deve ser refinada nos use cases

    Refinamento de cadastros

    Refinamento de servios

    Refinamento de relatrios

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - De Cadastros para Use Cases

    Cadastros

    Cada cadastro ter um use case com 4 sub-fluxos:

    Incluso

    Excluso

    Alterao

    Consulta

    importante sempre disponibilizar uma operao de alterao, mesmo que sob restries de segurana, ou seja, mesmo que o usurio precise de uma senha para utilizar esta operao

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - De Servios para Use Cases

    Servios

    Inicialmente, cada servio ter um use case

    Determine se a operao de incluso pode ser renomeada

    Determine se a operao de excluso pode ser renomeada

    Determine se existem operaes complementares

    Para cada servio, o analista deve procurar operaes que possam ser realizadas aps a "incluso" de um novo servio

    Uma tcnica para identificar estas operaes seguir a "linha do tempo" das diversas operaes do sistema

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - De Servios para Use Cases

    Servios

    Crie um use case separado para cada operao renomeada Como estas operaes so muito importantes para o sistema, importante

    destac-las no documento de anlise

    Crie um use case separado para cada operao complementar Como no tpico anterior, estas operaes so importantes para sistema,

    merecendo destaque

    Retire as operaes destacadas do use case original do servio Para evitar que elas sejam descritas em dois lugares no mesmo documento

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Relaes entre Atores e Use-Cases

    Objetivo

    Uma ligao entre um ator e um use case indica a existncia decomunicao entre eles, ou seja, indica que o ator recebe ou fornecealguma informao para o use case

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Relaes entre Atores e Use-Cases

    Representadas por uma reta entre o ator e o use case

    Informao navega nos dois sentidos da relao

    Se a navegao ocorre em somente uma direo, devemos acrescentar uma seta apontando para esta direo

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Relaes entre Use Cases

    So unidirecionais e representadas por uma seta

    Relao de uso

    Diversos use cases compartilham o mesmo comportamento

    O comportamento separado em um use case separado

    Diversos use cases usam o novo use case

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Relaes entre Use Cases

    Relao de extenso

    Indica comportamento opcional (extends) ou dependente (include) de condio.

    Complementos de um use case

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Relaes entre Use Cases

    Ainda sobre o exemplo dado sobre uma escola, abaixo encontram-se alguns exemplos de relao entre casos de uso:

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Classificao para o Usurio

    Unem atores, use cases e suas relaes

    Podem existir vrios diagramas de use case em um sistema

    Diagrama de use cases completo

    Diagrama de use cases de um determinado ator

    Diagrama de use cases implementados em uma iterao da espiral

    Diagrama apresentando um use case e suas relaes

  • Anlise de Requisitos Caso de uso

    Use cases Casos de uso - Limitaes dos Casos de Uso

    Comunicao a partir do sistema

    Em UML, os casos de uso so sempre iniciados a partir dos atores. Assim, a modelagem de situaes em que o sistema inicia o dilogo com os atores no natural

    A modelagem de casos de uso complexos atravs de uma estrutura de decomposio ou hierarquia no simples seguindo a notao da UML

    As descries de casos de uso tendem a ficar grandes Decomponha um caso de uso em diversos casos de uso

    Como os casos de uso no podem se comunicar, a UML tem limitaes em sua capacidade de descrever comportamento dependente do estado/execuo de outras operaes Pr-condies em casos de uso ajudam nesta modelagem

  • Bibliografia

    BOOCH, G.; JACOBSON, I.; RUMBAUGH, J. UML: guia do usurio. Rio de Janeiro: CAMPUS, 2002.

    PAULA FILHO, W. P. Engenharia de Software: fundamentos, mtodos e padres. 2 Edio. Rio de Janeiro: LTC, 2003.

    PRESSMAN, R. S. Engenharia de Software. So Paulo: Makron Books, 1995.

    SILVA, D. M. Guia de consulta rpida: UML. So Paulo: NOVATEC, 2001.

    SOMMERVILLE, I. Engenharia de Software. 6 Edio. Addison-Wesley, 2003.