I Projeto Integrador II r o d Princípios de Análise e ... · P r o j e t o I n t e g r a d o r I...

42
P r o j e t o I n t e g r a d o r I I 31 de julho de 2014 Profs. Arliones e Eraldo 1 Projeto Integrador II Princípios de Análise e Projeto de Sistemas com UML (livro de Eduardo Bezerra) Prof. Arliones Hoeller Prof. Eraldo Silveira e Silva [email protected] [email protected] 31 de julho de 2014

Transcript of I Projeto Integrador II r o d Princípios de Análise e ... · P r o j e t o I n t e g r a d o r I...

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 1

Projeto Integrador II

Princípios de Análise e Projeto de Sistemas com UML (livro de Eduardo

Bezerra)

Prof. Arliones HoellerProf. Eraldo Silveira e Silva

[email protected]@ifsc.edu.br

31 de julho de 2014

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 2

Cap.4 – Modelagem de Casos de Uso

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 3

Modelo de Casos de Uso

Representa● funcionalidades externamente observáveis do sistema● elementos externos que interagem com o sistema

Utilizado para documentar requisitos funcionais● Requisito funcional:

● o sistema deve manter cadastros dos usuários● Casos de Uso:

● Cadastrar usuário● Modificar cadastro de usuário● Excluir cadastro de usuário

Facilita comunicação entre usuários e desenvolvedor

Diagrama de Casos de Uso disponível na UML

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 4

Componentes do Modelo

O modelo de casos de uso de um sistema é composto de:● Casos de uso● Atores ● Relacionamentos entre os elementos anteriores.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 5

Casos de Uso

Um caso de uso representa quem faz o que (interage) com o sistema, sem considerar o comportamento interno do sistema.

Definido pela descrição narrativa das interações que ocorrem entre o(s) elemento(s) externo(s) e o sistema.● Formato● Grau de detalhamento● Grau de abstração

Um modelo de casos de uso típico é formado de vários casos de uso.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 6

Formato de Descrição Narrativa:Descrição Contínua

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 Sistema fornece a quantia desejada e imprime o recibo para o Cliente.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 7

Formato de Descrição Narrativa:Descrição Numerada

1.Cliente insere seu cartão no caixa eletrônico.

2.Sistema apresenta solicitação de senha.

3.Cliente digita senha.

4.Sistema exibe menu de operações disponíveis.

5.Cliente indica que deseja realizar um saque.

6.Sistema requisita quantia a ser sacada.

7.Cliente retira a quantia e recibo.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 8

Formato de Descrição Narrativa:Narrativa Particionada

Cliente SistemaInsere seu cartão no caixa eletrônico.

Digita senha.

Solicita realização de saque.

Retira a quantia e o recibo.

Apresenta solicitação de senha.

Exibe operações disponíveis.

Requisita quantia a ser sacada.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 9

Descrição Narrativa

Grau de Detalhamento● Sucinto: descreve as interações sem muitos detalhes.● Expandido: descreve as interações em detalhes.

Grau de Abstração● Caso de Uso Essencial

● Não faz menção a tecnologias.● Caso de Uso Real

● Apresenta detalhes da tecnologia a ser utilizada

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 10

Grau de Abstração:Descrição Essencial (e numerada)

1.Cliente fornece sua identificação.

2.Sistema identifica o usuário.

3.Sistema fornece operações disponíveis.

4.Cliente indica que deseja realizar um saque.

5.Sistema requisita quantia a ser sacada.

6.Cliente retira a quantia e recibo.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 11

Cenário

É uma descrição de uma das maneiras pelas quais um caso de uso pode ser realizado.

Também chamado de instância de um caso de uso.

Úteis para gerar casos de teste.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 12

Exemplo de Cenário

Um Cliente telefona para a empresa. Um Vendedor atende ao telefone. Cliente declara seu desejo de fazer um pedido de compra. Vendedor pergunta a forma de pagamento. Cliente indica que vai pagar com cartão de crédito. Vendedor requisita o número do cartão, a data de expiração e

o endereço de entrega. Vendedor pede as informações do primeiro item. Cliente fornece o primeiro item. Vendedor pede as informações do segundo item. Cliente fornece o segundo item Vendedor pede as informações do terceiro item Cliente e informa o terceiro item. Vendedor informa que o terceiro item está fora de estoque. Cliente pede para que O Vendedor feche o pedido somente com

os dois primeiros itens. Vendedor fornece o valor total, a data de entrega e uma

identificação do pedido. Cliente agradece e desliga o telefone. Vendedor contata a Transportadora para enviar o pedido do

Cliente.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 13

Atores

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 14

Atores

Elemento externo que interage com o sistema.● externo: atores não fazem parte do sistema.● interage: um ator troca informações com o sistema.

Casos de uso representam uma sequência de interações entre o sistema e o ator.● Há troca de informações entre ator(es) e sistema.

Normalmente um agente externo inicia a sequência de interações com o sistema, ou um evento acontece para que o sistema responda.

Um Ator representa um papel● Um mesmo indivíduo pode ser Aluno, Cliente, Vendedor,

Professor, etc.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 15

Categorias de Atores

Pessoas● Empregado, Cliente, Gerente, Almoxarife, Vendedor, etc.

Organizações● Empresa Fornecedora, Agência de Impostos,

Administradora de Cartões, etc

Outros Sistemas● Sistema de Cobrança, Sistema de Estoque de Produtos, etc

Equipamentos● Leitora de Código de Barras, Sensor, etc

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 16

Atores Primários e Secundários

Um ator pode participar de muitos casos de uso.

Um caso de uso pode envolver vários atores● Ator Primário: aquele que inicia uma sequência de

interações de um caso de uso.● Atores Secundários: supervisionam, operam, mantêm ou

auxiliam na execução do caso de uso.

Exemplo: para que o Usuário (ator primário) requisite uma página a um Browser (sistema), um outro ator (secundário) está envolvido, o Servidor Web.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 17

Relacionamentos emCasos de Uso

Comunicação● Associa atores a casos de uso● Se um ator está associado a um caso de uso, então ele

interage (troca informações) com o sistema.● Um ator pode se relacionar com vários casos de uso

Inclusão● Somente entre casos de uso● Sempre que dois ou mais casos de uso incluem uma

sequência de interações comum, esta sequência pode ser descrita em outro caso de uso

● Exemplo: sistema bancário● Várias opções: Sacar, Tirar Extrato, Transferir, etc● Sequência comum: Autenticar Usuário

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 18

Relacionamentos emCasos de Uso

Extensão● Modela situações onde diferentes sequências de interações

podem ser inseridas em um caso de uso.● Sejam A e B dois casos de uso.

● Um relacionamento de extensão de A para B indica que um ou mais dos cenários de B podem incluir o comportamento especificado por A.

● Neste caso, diz-se que B estende A.● O caso de uso A é chamado de estendido e o caso de uso B

de extensor.● A execução ou não do extensor é opcional no estendido.

● Depende de cenário ou escolha do ator.● Após execução do extensor o fluxo retorna ao ponto seguinte

de onde foi inserido no estendido.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 19

Relacionamentos emCasos de Uso

Generalização● Possibilita reuso de casos de uso● Permite que um caso de uso ou um ator herde

características de um caso de uso ou ator mais genérico.● O caso de uso ou ator herdeiro pode especializar o

comportamento do caso de uso ou ator base.● Entre dois casos de uso

● comportamento do caso de uso original é reutilizado pelos casos de uso herdeiros

● Somente o comportamento que não faz sentido ou é diferente para um herdeiro precisa ser redefinido

● Herdeiro participa em qualquer relacionamento do herdado● Entre dois atores

● Herdeiro tem mesmo comportamento que herdado● Porém, herdeiro pode participar de casos de uso que herdado

não participa

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 20

Diagrama de Casos de Uso

Reservar Livro

Ator

Usuário

Relacionamentode comunicação

Caso de Uso

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 21

Diagrama de Casos de UsoNotação

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 22

Diagrama de Casos de UsoInclusão

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 23

Diagrama de Casos de UsoExtensão

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 24

Diagrama de Casos de UsoGeneralização

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 25

Diagrama de Casos de UsoGeneralização

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 26

Como Identificar os Elementos

Quais os atores do meu sistema?

Quais os casos de uso do meu sistema?

Quais as relações dos CSU e Atores do sistema?

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 27

Identificação dos Elementosdo Modelo de Casos de Uso

Os atores e os casos de uso são identificados a partir de informações coletadas na fase de levantamento de requisitos do sistema.

Não há uma regra geral para determinar quantos casos de uso são necessários para descrever um sistema.● A quantidade de casos de uso a ser utilizada depende da

complexidade do sistema.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 28

Identificação de Atores

Fontes e destinos das informações são atores em potencial.● um ator é todo elemento externo interagindo com o sistema.

Deve-se identificar:● Áreas da empresa/cliente/usuários que utilizarão o sistema.● Fontes de informações a serem processadas● Destinos das informações geradas.

Perguntas úteis:● Que órgãos, empresas ou pessoas utilizarão o sistema?● Que outros sistemas se comunicarão com o sistema?● Alguém deve ser informado de alguma ocorrência?● Quem são os interessados em um certo requisito funcional?

O desenvolvedor deve ainda continuar a pensar sobre atores quando passar para a identificação dos casos de uso.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 29

Tipos de Caso de Uso

Dois tipos de casos de uso● Primário:

● representa os objetivos dos atores.● Secundário:

● não traz benefício direto aos atores● geralmente são casos de uso inseridos ou extensores

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 30

Identificação de Casos de UsoPrimários

Perguntas úteis:● Quais são as necessidades e objetivos de cada ator?● Que informações o sistema deve produzir?● O sistema realizará alguma ação periódica?● Para cada requisito funcional, existe um (ou mais) caso(s)

de uso para atendo-o? Outras técnicas de identificação:

● Caso de uso “oposto”.● Caso de uso que precede a outro caso de uso.● Caso de uso relacionado a uma condição interna.● Caso de uso que sucede a outro caso de uso.● Caso de uso temporal.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 31

Identificação de Casos de Uso Secundários

Estes se encaixam nas seguintes categorias:● Manutenção de cadastros. ● Manutenção de usuários.● Manutenção de informações provenientes de outros

sistemas. Importante: um sistema de software não existe para

cadastrar informações, nem tampouco para gerenciar os seus usuários.● O objetivo principal é produzir algo de valor para o ambiente

no qual ele está implantado.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 32

Construindo Modelosde Casos de Uso

Diagramas de casos de uso● Servem para embasar a parte escrita do modelo● Fornecem uma visão de alto nível

Quanto mais fácil for a leitura do diagrama representando casos de uso, melhor.

Se o sistema sendo modelado não for tão complexo, pode ser criado um único diagrama.● Este diagrama permite dar uma visão global e de alto nível

do sistema.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 33

Construindo Modelosde Casos de Uso

Diagramas de casos de uso● Servem para embasar a parte escrita do modelo● Fornecem uma visão de alto nível

Quanto mais fácil for a leitura do diagrama representando casos de uso, melhor.

Sistemas simples● Pode ser criado um único diagrama● Este diagrama dá uma visão global de alto nível do sistema

Sistemas complexos● Um único diagrama talvez seja um tanto ilegível● Alternativa: criar vários diagramas, de acordo com as

necessidades de visualização.● Diagrama exibindo um caso de uso e seus relacionamentos;● Diagrama exibindo todos os casos de uso para um ator;● Diagrama exibindo todos os casos de uso a ser implementados

em um ciclo de desenvolvimento.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 34

Documentação

Atores● Uma breve descrição para cada ator deve ser adicionada ao

modelo de casos de uso.● O nome de um ator deve lembrar o papel desempenhado

pelo mesmo no sistema.

Casos de Uso● UML não define uma estruturação específica a ser utilizada

na descrição de um caso de uso.● A equipe de desenvolvimento deve utilizar o formato de

descrição que lhe for realmente útil.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 35

Documentação de Casos de Uso

Campus típicos da descrição expandida● Nome● Descrição● Identificador● Importância● Sumário● Ator Primário● Atores Secundários● Pré-condições● Fluxo Principal● Fluxos Alternativos● Fluxos de Exceção● Pós-condições● Regras do Negócio ● Histórico● Notas de Implementação

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 36

Regras de Negócio

Requisitos não-funcionais não estão no diagrama de casos de uso● Regras de Negócio, Requisitos de Desempenho, etc

Estes requisitos devem ser incluídos na documentação associada ao modelo de casos de uso

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 37

Exemplo: Requisitos de Desempenho

Identificadordo caso de uso

Freqüênciada utilização

Tempo máximo esperado

...

CSU01 5/mês Interativo …

CSU02 15/dia 1 segundo …

CSU03 60/dia Interativo …

CSU04 180/dia 3 segundos …

CSU05 600/mês 10 segundos …

CSU07 500/dia durante 10 dias seguidos

10 segundos ...

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 38

Exemplo: Regra de Negócio

Nome Quantidade de inscrições possíveis (RN01)

Descrição Um aluno não pode ser inscrever em mais de seis disciplinas por semestre letivo.

Fonte Coordenador da escola de informática

Histórico Data de identificação: 12/07/2002

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 39

Casos de Uso noProcesso de Desenvolvimento

Maioria dos atores e casos de uso identificados na fase de concepção

A descrição dos casos de uso considerados mais críticos começa já nesta fase, que termina com 10% a 20% do modelo de casos de uso completo.

Ao final da fase de elaboração 80% do modelo de casos de uso está construído.

Descrição feita até em um nível de abstração essencial.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 40

Casos de Uso noProcesso de Desenvolvimento

Na fase de construção, casos de uso são uma base natural para realizar iterações do desenvolvimento

Um grupo de casos é alocado a cada iteração● Descrição expandida do caso de uso feita em cada iteração

Este tipo de desenvolvimento é chamado de desenvolvimento dirigido a casos de uso

Deve-se considerar os casos de uso mais importantes primeiramente

Propõe-se classificar de acordo com risco de desenvolvimento e prioridades estabelecidas

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 41

Casos de Uso noProcesso de Desenvolvimento

Na fase de análise, descrições de casos de uso devem capturar os requisitos funcionais do sistema e ignorar aspectos de projeto, como a interface gráfica com o usuário.

Pro

jeto

In

t eg

r ad

or

II

31 de julho de 2014 Profs. Arliones e Eraldo 42

Modelo Incremental de Desenvolvimento Dirigido a Casos de Uso

1.Identifique os atores e casos de uso na fase de concepção.

2.Na fase de elaboração:a.desenhe o(s) diagrama(s) de casos de uso;b.escreva os casos de uso em formato alto nível e essencial;c. ordene a lista de casos de uso por prioridade e risco.

3.Associe cada grupo de casos de uso a uma iteração da fase de construção. Grupos mais prioritários e arriscados nas iterações iniciais.

4.Na i-ésima iteração da fase de construção:a.Detalhe os casos de uso do grupo da iteração (nível de

abstração real);b. Implemente estes casos de uso.