Objetivos: O diagrama de CASOS DE USO procura, por meio de uma linguagem simples, possibilitar a...

Post on 18-Apr-2015

106 views 0 download

Transcript of Objetivos: O diagrama de CASOS DE USO procura, por meio de uma linguagem simples, possibilitar a...

Objetivos:Objetivos:

O diagrama de CASOS DE USO procura, por meio de uma linguagem simples,

possibilitar a compreensão do comportamento externo do sistema por qualquer

pessoa, através da perspectiva do usuário ...

- visão externa geral das funções e serviços disponibilizadas

O diagrama de CASOS DE USO procura, por meio de uma linguagem simples,

possibilitar a compreensão do comportamento externo do sistema por qualquer

pessoa, através da perspectiva do usuário ...

- visão externa geral das funções e serviços disponibilizadas

Auxiliar na etapa de análise de requisitos, ajudando a especificar, visualizar e

documentar as características, funções e serviços do sistema desejado pelo

usuário.

Auxiliar na etapa de análise de requisitos, ajudando a especificar, visualizar e

documentar as características, funções e serviços do sistema desejado pelo

usuário.

Identificar os tipos de usuários que irão interagir com o sistema.Identificar os tipos de usuários que irão interagir com o sistema.

•... representação das funcionalidades externamente observáveis do sistema e dos elementos externos que interagem com o mesmo.

•Esse modelo representa os requisitos funcionais do sistema.

•Também direciona diversas das atividades posteriores do ciclo de vida do sistema de software.

•Além disso, força os desenvolvedores a moldar o sistema de acordo com as necessidades do usuário.

•Equipe de clientes (validação)•aprovam o que o sistema deverá fazer•entendem o que o sistema deverá fazer

•Equipe de desenvolvedores •Ponto de partida para refinar requisitos de software.•Podem seguir um desenvolvimento dirigido a casos de uso.•Designer (projetista): encontrar classes •Testadores: usam como base para casos de teste

Formatos de representação

Formato

Este caso de uso inicia quanto o Cliente chega ao caixa eletrônico e insere seu cartão. O Sistema requisita a senha do Cliente. Após o Cliente fornecer sua senha e esta ser validada, o Sistema exibe as opções de operações possíveis. O Cliente opta por realizar um saque. Então o Sistema requisita o total a ser sacado. O Cliente fornece o valor da quantidade que deseja sacar. O Sistema fornece a quantia desejada e imprime o recibo para o Cliente. O Cliente retira a quantia e o recibo, e o caso de uso termina.

Exemplo de descrição contínua

Formato

1) Cliente insere seu cartão no caixa eletrônico.2) Sistema apresenta solicitação de senha.3) Cliente digita senha.4) Sistema valida a senha e exibe menu de operações disponíveis.5) Cliente indica que deseja realizar um saque.6) Sistema requisita o valor da quantia a ser sacada.7) Cliente fornece o valor da quantia que deseja sacar.8) Sistema fornece a quantia desejada e imprime o recibo para o Cliente9) Cliente retira a quantia e o recibo, e o caso de uso termina.

Exemplo de descrição numerada

Formato

Cliente Sistema

Insere seu cartão no caixa eletrônico. Digita senha. 

Solicita realização de saque. Fornece o valor da quantia que deseja sacar.

 Retira a quantia e o recibo.

  

 Apresenta solicitação de senha. Valida senha e exibe menu de operações disponíveis. Requisita quantia a ser sacada. Fornece a quantia desejada e imprime o recibo para o Cliente

Exemplo de descrição tabular

Conceitos:Conceitos:

Dentre todos os diagramas é o mais flexível e informal.Dentre todos os diagramas é o mais flexível e informal.

Este é utilizado no início da modelagem do sistema.Este é utilizado no início da modelagem do sistema.

Pode ser modificado durante a etapa da análise e servir para modelar outros

diagramas•Diagrama mais ABSTRATO•Diagrama mais FLEXÍVEL•Diagrama mais INFORMAL

Pode ser modificado durante a etapa da análise e servir para modelar outros

diagramas•Diagrama mais ABSTRATO•Diagrama mais FLEXÍVEL•Diagrama mais INFORMAL

Conceitos:Conceitos:

É responsável por apresentar uma visão geral do comportamento do sistema a

ser devolvido.

Sem se preocupar com o COMO;

É responsável por apresentar uma visão geral do comportamento do sistema a

ser devolvido.

Sem se preocupar com o COMO;

O diagrama de caso de uso concentra-se em dois itens principais: Atores e Casos

de Uso.

O diagrama de caso de uso concentra-se em dois itens principais: Atores e Casos

de Uso.

Atores:Atores:

Normalmente: Representam os papéis desempenhados pelos diversos usuários.Normalmente: Representam os papéis desempenhados pelos diversos usuários.

Eventualmente: Ele pode representar um hardware especial ou outro software que

interaja com o sistema.

Eventualmente: Ele pode representar um hardware especial ou outro software que

interaja com o sistema.

São representados por bonecos magros:São representados por bonecos magros:

Atores - Exemplos:Atores - Exemplos:

Casos de Uso:Casos de Uso:

Referem-se aos serviços, tarefas ou funções que podem ser utilizados pelos

usuários do sistema.

Referem-se aos serviços, tarefas ou funções que podem ser utilizados pelos

usuários do sistema.

Um caso de uso representa o que um ator quer que o sistema faça. Um caso de uso representa o que um ator quer que o sistema faça.

Pode se associar um caso de uso a outro caso de uso do sistema. Pode se associar um caso de uso a outro caso de uso do sistema.

Os casos de uso costumam ser documentados, fornecendo instruções em linhas

gerais de como será seu funcionamento, quais atividades deverão ser

executadas, quais atores os poderão utilizar, quais suas possíveis restrições,

entre outras.

Os casos de uso costumam ser documentados, fornecendo instruções em linhas

gerais de como será seu funcionamento, quais atividades deverão ser

executadas, quais atores os poderão utilizar, quais suas possíveis restrições,

entre outras.

Casos de Uso - Exemplo:Casos de Uso - Exemplo:

São representados por elipses:São representados por elipses:

Casos de Uso - DOCUMENTAÇÃO:Casos de Uso - DOCUMENTAÇÃO:

Associações:Associações:

Representam os relacionamentos entre os atores que fazem parte do diagrama,

entre os atores e os casos de uso ou os relacionamentos entre os casos de uso e

outros casos de uso. Relacionamento entre:

Representam os relacionamentos entre os atores que fazem parte do diagrama,

entre os atores e os casos de uso ou os relacionamentos entre os casos de uso e

outros casos de uso. Relacionamento entre:

•ATORES

•ATORES e CASOS DE USO (COMUNICAÇÃO)

•CASOS DE USO e CASOS DE USO

•ATORES

•ATORES e CASOS DE USO (COMUNICAÇÃO)

•CASOS DE USO e CASOS DE USO

Recebem nomes como: Inclusão, Extensão e Generalização.Recebem nomes como: Inclusão, Extensão e Generalização.

Exemplo:Exemplo:

Associações:Associações:

Ator Caso de UsoAtor Caso de Uso

Demonstra que o ator utiliza-se, de alguma maneira, uma função do sistema

representada pelo caso de uso – requisitando a execução e recebendo o

resultado produzido. ***Cliente utiliza de alguma maneira o serviço Abertura Conta,

informação trafega nas duas direcões

Demonstra que o ator utiliza-se, de alguma maneira, uma função do sistema

representada pelo caso de uso – requisitando a execução e recebendo o

resultado produzido. ***Cliente utiliza de alguma maneira o serviço Abertura Conta,

informação trafega nas duas direcões

Associações – Especialização/Generalização:Associações – Especialização/Generalização:

É uma forma de associações entre casos de uso na qual existem dois ou mais casos de uso com características semelhantes.É uma forma de associações entre casos de uso na qual existem dois ou mais casos de uso com características semelhantes.

Não é necessário colocar a mesma documentação para todos os casos de uso

envolvidos.

- Caso de Uso Geral/Herança

Não é necessário colocar a mesma documentação para todos os casos de uso

envolvidos.

- Caso de Uso Geral/Herança

Generalização

Especialização

Associações – Especialização/Generalização:Associações – Especialização/Generalização:

Entre AtoresEntre Atores

Generalização

Especialização

Associações – Inclusão:Associações – Inclusão:

Usada quando existe um serviço, situação ou rotina comum a mais de um Caso de Uso.Usada quando existe um serviço, situação ou rotina comum a mais de um Caso de Uso.

Quando um caso de uso possui um relacionamento de inclusão com outro, a

execução do primeiro obriga também a execução do segundo.

Quando um caso de uso possui um relacionamento de inclusão com outro, a

execução do primeiro obriga também a execução do segundo.

Analogia à “Chamada de Sub-Rotina”Analogia à “Chamada de Sub-Rotina”

Representação – linha tracejada com texto “<<Include>>”Representação – linha tracejada com texto “<<Include>>”

Exemplo:Exemplo:

Associações – Extensão:Associações – Extensão:

Utilizado para descrever cenários opcionais de um caso de uso. Utilizado para descrever cenários opcionais de um caso de uso.

Estes descrevem cenários que acontecerão apenas em situação específica, se

uma determinada condição for satisfeita. Exemplo:

Estes descrevem cenários que acontecerão apenas em situação específica, se

uma determinada condição for satisfeita. Exemplo:

Exemplo:Exemplo:

Exemplo:Exemplo:

Exemplo:Exemplo:

Mecanismos Gerais

•Utilizado para estender (enriquecer) o significado de um determinado elemento em um diagrama.

•A UML predefine diversos estereótipos. •É possível também definir estereótipos específicos.

•Estereótipos podem ser classificados em dois tipos:

•estereótipo gráfico: um ícone que lembre o significado do conceito a ele associado. •estereótipos de rótulo: um nome delimitado pelos símbolos << e >>.

Estereótipos

Exemplos de estereótipos

«fronteira»FormulárioVisualizaçãoAvaliações

Notações:Notações:

Estereótipos:Permitem a identificação de componentes – permitindo sua diferenciação dando maior destaque no diagrama.

Estereótipos:Permitem a identificação de componentes – permitindo sua diferenciação dando maior destaque no diagrama.

Notas explicativas Utilizadas para comentar ou esclarecer alguma

parte de um diagrama. Podem ser descritas em texto livre; também podem

corresponder a uma expressão formal utilizando OCL (Linguagem de Restrição de Objetos).

Apresentar texto explicativo.

Exemplos de notas explicativas

+obterPagamento() : Moeda-comissão : Porcentagem

Vendedor

return comissão * obterSalárioBase();

Notações:Notações:

Pacotes:Organizar elementos em grupos para serem utilizados na modelagem de sistemas muito extensos – principalmente quando existem vários sistemas ou sub-sistemas integrados.

Pacotes:Organizar elementos em grupos para serem utilizados na modelagem de sistemas muito extensos – principalmente quando existem vários sistemas ou sub-sistemas integrados.

PacotesPacotes podem ser agrupados dentro de outros pacotes,

formando uma hierarquia de contenção.

Sistema de Controle Hospitalar