apsooapsoo aula 03. requisitos (revisando) capacidade e condições que o sistema deve atender,...

29
APSOO APSOO Aula 03 Aula 03

Upload: internet

Post on 17-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

APSOOAPSOOAPSOOAPSOO

Aula 03Aula 03

Page 2: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Requisitos (Revisando)• Capacidade e Condições que o

sistema deve atender, incondicionalmente

• Além de identificar, gerenciar é um dos problemas

• Tipos – Funcionais– Não Funcionais

Page 3: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Requisitos (Revisando)• Mudanças são necessárias

– Cliente não sabe o que quer– Não há integração da equipe

(comunicação)– Mudança no domínio da aplicação

Page 4: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Requisitos com casos de uso

• Casos de uso (Use Case)– Facilitam o entendimento de um

sistema mostrando a sua visão externa;

– Elo de entendimento entre usuários e os desenvolvedores;

– São usados para modelar o contexto de um sistema ou subsistema;

– É a maneira mais comum de doUCmentar os requisitos do sistema;

– Identificam as interfaces do sistema.

Page 5: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Requisitos com casos de uso

• Atores– Participam do sistema– Grupos de usuários, sistemas externos

• Cenário– Um caminho possível dentro de um

caso de uso– Cenário base + cenários alternativos

Page 6: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Requisitos com Casos de uso

• Nome do caso de uso– Objetivo que o ator vai ver oferecido

e resolvido pelo sistema• Não definem apenas uma lista de

funcionalidades• Modelagem é basicamente redigir

textos.– UML oferece diagrama para facilitar a

visualização

Page 7: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Formato dos casos de uso

• Casos de uso são caixas pretas– Descrevem o que, não como!Exemplos:1. Sistema registra venda2. Sistema grava no banco de dados e

gera SQL INSERT

Page 8: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Formatos de casos de uso

• Tipos de formalidade (o que é útil)– Resumido - um parágrafo, geralmente o

cenário de sucesso principal, como por exemplo:

"Processar venda: Um cliente chega em um ponto de pagamento com itens que deseja adquirir. O caixa do sistema PDV (Sistema de Ponto-De-Venda, voltado para registrar vendas e UCidar de pagamentos) para registrar cada item comprado. O sistema vai apresentando um total parcial e uma linha de detalhes à medida que registra cada item. O cliente entra com os dados de pagamento, que são validados e, em seguida, registrado pelo sistema. O sistema atualiza o estoque. Cliente recebe um recibo do sistema e sai com os itens comprados".

Page 9: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Formatos de casos de uso

– Informal - Múltiplos parágrafos que cobrem vários cenários, como mostra o exemplo:

– "Tratar Devoluções• Cenário Principal de Sucesso: um cliente chega a

um poste de pagamento com itens a serem devolvidos. O caixa usa o sistema PDV para registrar cada item devolvido.

• Cenários Alternativos:– Se ele pagou os itens com crédito e a transação de

reembolso para estorno em sua conta de crédito é rejeitada, informe o cliente e o reembolso com dinheiro.

– Se o identificador do item não for encontrado no sistema, este notifica o caixa e sugere que entre manualmente o código do produto (talvez ele esteja corrompido).

– Se o sistema detecta uma falha para se comunicar com o sistema externo de contabilidade..."

Page 10: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Formatos de casos de uso

• Completo: É o mais elaborado, onde todos os passos e variantes são escritos detalhadamente, com pré-condições e garantias de sucessos.

Page 11: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

UC1: Processar Venda

• Ator Principal: Caixa• Pré-condições:

– Caixa é identificado e autenticado

• Pós-condições:– A venda é registrada– Os impostos são calculados– O estoque é atualizado– Pagamentos efetuados e recibos

gerados

Page 12: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

UC1: Processar Venda• Cenário base

1. Cliente chega no PDV com produtos2. Caixa começa uma nova venda3. Caixa entra em contato com o identificador da

unidade do produto4. Sistema checa unidade, registra item da venda,

apresenta descrição, seu preço e total parcial da venda

Caixa repete os passos 3 e 4 até o término dos itens5. Sistema apresenta o total já com impostos

calculados6. Cliente paga e o sistema trata o pagamento7. Sistema registra a venda finalizada, atualizando o

sistema de estoque8. Sistema emite recibo9. Cliente sai com recibo e itens comprado

Page 13: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

UC1: Processar venda

• Cenários alternativos3-6a: cliente pede ao caixa para

cancelar item de venda1. Caixa entra com identificador do item2. Sistema exibe total parcial atualizado

5a. Sistema detecta falha no serviço de cálculo do imposto1. Sistema reinicia sistema externo e

continua1. Sistema detecta que o serviço não voltou2. Caixa calcula manualmente imposto e

adiciona ou cancela venda

Page 14: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

UC1: Processar venda

• Requisitos especiais– Resposta de autorização do

pagamento de no máximo 30s– Texto no PDV deve ser visível de 1

metro

Page 15: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Encontrando casos de uso

• Casos de uso devem ser definidos para realizar os objetivos dos atores

• Passos– Identificar a fronteira do sistema– Identificar atores principais– Identificar objetivos, que vão gerar os

casos de uso

Page 16: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Identificar atores

• Evitar criar um conjunto extenso de atores que utilizam o sistema de forma idêntica

• Observar os dois tipos de atores possíveis– Os que solicitam/esperam algo do

sistema– Sistemas externos que o sistema

necessita

Page 17: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Identificar Atores• Perguntas

– Quem faz a administração de usuários?

– Quem utiliza e recebe algo do sistema?

– Quem ativa e pára o sistema?

Page 18: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Identificar casos de uso• Pode-se fazer uma lista ator-objetivo• Perguntas

– Que funções cada ator requer do sistema?– Que informações cada ator deseja criar,

consultar, remover ou alterar no sistema?

• Nomes mais adequados começam com verbo– Processar venda– Gerenciar produtos

Page 19: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Dicas• Deixe de fora a interface do

usuário, focaliza na intençãoAdministrador identifica-se EM VEZ DE

administrador entra com login e senha

• Especificação de casos de uso são incompletos– Comunicação pessoal e permanente

Page 20: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Unified Modeling Language (UML)

• Linguagem para expressar modelos– Vocabulário e regras– Permite visões variadas, abstratas,

conectadas entre si

• UML (1997): padrão para “plantas” de software

• Não define como o desenvolvimento será realizado

Page 21: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Diagramas de casos de uso

• Representação gráfica de atores e casos de uso

• Enriquecem os documentos

Processar Venda

TratarDevolução

caixaATORES

CASOS DE USO

Page 22: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Diagrama de casos de uso

Page 23: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Organização de casos de uso

• Diagramas não são o foco da disciplina– Não perder muito tempo com os mesmos– Ferramentas de desenho

• Eles podem ser melhor organizados– Organização por ator, assunto, etc– Relacionamento entre os casos de uso

Page 24: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Organização de casos de uso

Page 25: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Casos de uso no PU

• Desenvolvimento guiado por casos de uso– Requisitos são primeiramente

registrados em casos de uso– Casos de uso para planejamento

iterativo (iterações escolhem alguns cenários ou casos de uso inteiros)

– Realização dos UC´s guiam a análise e o projeto (solução e implementação)

Page 26: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Casos de uso no PU• Fase de concepção

– Identificar todos (com variadas técnicas) mas detalhar apenas 10%

• Fase de elaboração– Implementação e validação fornecem

novas informações– Detalhamento de 90% dos requisitos

durante as iterações, aproveitando a realimentação do processo

Page 27: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Casos de uso no PU

• No nosso projeto– Pensar em todos os casos de uso– Combinar concepção e elaboração– Detalhar apenas os mais importantes

• Riscos

Page 28: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Aula Prática 2Aula Prática 2Aula Prática 2Aula Prática 2

RequisitosRequisitos

Page 29: APSOOAPSOO Aula 03. Requisitos (Revisando) Capacidade e Condições que o sistema deve atender, incondicionalmente Além de identificar, gerenciar é um dos

Objetivos da Prática• Elaborar os diagramas de casos de

uso