• Nenhum resultado encontrado

ER05 - Modelagem

N/A
N/A
Protected

Academic year: 2021

Share "ER05 - Modelagem"

Copied!
60
0
0

Texto

(1)

Engenharia de Requisitos

(2)

Modelagem

• A modelagem é a fase de criação de um modelo que explique as características de funcionamento e

comportamento de um software a partir do qual ele

será criado, facilitando seu entendimento e seu projeto, através das características principais que evitarão erros através das características principais que evitarão erros de programação, projeto e funcionamento.

• Para que servem modelos?

– Representação – Organização – Comunicação

(3)
(4)
(5)
(6)

Máquina de Café Expresso

• Máquina de café expresso sem instruções de uso em restaurante universitário • De que torneira sairá o

café? café?

• Quando devo colocar as moedas?

• Como funcionam os menus?

Melhor observar outra pessoa pegando um café

(7)

Máquina de Café Expresso

• Má disposição dos menus • Falta de indicação da

saída do café saída do café

(8)

A Máquina da Tess

A Máquina da Tess

Esta máquina aparentemente inofensiva possui o péssimo hábito de “assaltar” as pessoas que nela colocam seu dinheiro pensando que, em troca, receberão um

cartão com crédito para seu celular.

Máquina Tess Express

Isso acontece toda vez que alguém coloca nela o seu dinheiro e não existem mais cartões disponíveis na máquina. Só depois ela avisa que não existem mais cartões com o número de unidades que você deseja. Não existem

quaisquer instruções de como recuperar o dinheiro.

(9)

O Problema

O Problema A SoluçãoA Solução

??

$$

@#! Devolver Dinheiro OU

OU

Primeiro escolher opção... Primeiro escolher opção...

...depois colocar dinheiro. ...depois colocar dinheiro.

OU OU

(10)

A Situação:

Você Você

O Controle Remoto da Garagem O Controle Remoto da Garagem

X

X

(11)
(12)
(13)

O que contribuiu para a Situação

Falhas de projeto:

– Não é possível identificar os botões rapidamente, através do tato ou contato visual breve.

– Pressa para acionar o botão, que pode ser – Pressa para acionar o botão, que pode ser

causada por diversas razões:

• Estar atrapalhando o trânsito • Medo de assaltos

• Nervosismo • Ansiedade

(14)

Como evitar ou sobreviver ao erro

Diferenciar botões:

– Cores (botão verde / vermelho)

– Formas (botão triangular / redondo) – Textos (Entrada / Saída)

– Textos (Entrada / Saída) – Teclas iluminadas

Desenho do controle:

– Formato diferenciado – Botões distanciados

(15)
(16)

Interface Humano Computador

-IHC

(17)

Interfaces

“O

sistema ideal

esconde tanto a tecnologia que

o usuário nem nota sua presença.”

“O objetivo é deixar as pessoas realizarem suas

“O objetivo é deixar as pessoas realizarem suas

atividades, com a

tecnologia

aumentando sua

produtividade, seu poder, e seu divertimento,

cada vez mais por ser

invisível, fora de vista,

fora da mente.”

(18)

Interfaces

“Deveríamos poder empregar a ferramenta na

tarefa, e não como é hoje, onde temos que

adequar a tarefa à ferramenta.”

“E essas ferramentas deveriam seguir os

três

axiomas do design: simplicidade,

(19)

Interface Humano Computador

Quando o conceito de interface surgiu, ela era

geralmente entendida como o hardware e o

software com o qual homem e computador

podiam se comunicar. A evolução do conceito

podiam se comunicar. A evolução do conceito

levou à inclusão dos aspectos cognitivos e

emocionais do usuário durante a

comunicação.

(20)

Interface Humano Computador

Não se pode pensar em interfaces sem

considerar o ser humano que vai usá-la, e

portanto interface e interação são conceitos

portanto interface e interação são conceitos

que não podem ser estabelecidos ou

(21)

Interface Humano Computador

Isso de maneira alguma quer dizer que o design

deve ser adequado a todas as pessoas, mas os

computadores

devem ser projetados

devem ser projetados

para as necessidades

e capacidades de um

grupo alvo.

(22)

O QUE É INTERAÇÃO/INTERFACE

HUMANO-COMPUTADOR

Para que os computadores se tornem

amplamente aceitos e efetivamente usados

eles precisam ser bem projetados.

(23)

Interface Humano Computador

Estamos vivendo um momento vital e

estratégico para os desenvolvedores de

interfaces. Pode-se dizer que a Tecnologia está

pronta. Temos portanto as pontes e túneis

pronta. Temos portanto as pontes e túneis

construídos e agora as estradas precisam ser

pavimentadas e as sinalizações pintadas para

tornar possível o pesado tráfico da grande leva

de usuários

(24)

Interface Humano Computador

• Designers de software têm explorado maneiras melhores de organizar informação graficamente. Eles têm desenvolvido linguagens de consulta e facilidades visuais para entrada, busca e saída de informação.

Têm usado sons (música e voz), representações Têm usado sons (música e voz), representações

tridimensionais, animação e vídeo para melhorar o conteúdo e a expressão das interfaces.

• Técnicas como manipulação direta, tele-presença, e realidade virtual mudam a maneira de interagir e de pensar sobre

(25)

Atividade

Criar as principais telas de seu projeto

– Foco na interação humano – máquina (usabilidade)

– Foco em atender os requisitos funcionais – Foco em atender os requisitos funcionais

(26)

Modelo de Casos de Uso

Representação das funcionalidades

observáveis do sistema e dos elementos

externos (atores) ao sistema que interagem

com o mesmo

com o mesmo

(27)

Modelo de Casos de Uso

Objetivos Principais dos Casos de Uso:

– Delimitação do contexto de um sistema

– Documentação e o entendimento dos requisitos – Descrição dos requisitos funcionais

– Descrição dos requisitos funcionais

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

(28)

Modelo de Casos de Uso

Objetivos Secundários dos Casos de Uso:

– Facilitam a comunicação entre os stakeholders – São a base para a definição do cronograma

– São a base para a definição do cronograma – Auxiliam na elaboração dos casos de teste

(29)
(30)

Casos de Uso

São uma descrição de um processo de negócio

relativamente longo com um começo, meio e

fim;

Representam as principais funcionalidades do

Representam as principais funcionalidades do

sistema “observáveis” por algum ator;

Representam funções no nível de sistema;

O QUE fazer, não COMO fazer;

(31)

Caso de Uso

UML: Unified Modeling Language

– Linguagem utilizada para modelagem de software

Casos de Uso em UML

Casos de Uso em UML

Uma elipse com o nome do caso de uso no centro: Emprestar Exemplar

(32)

Caso de Uso

Atores (UML)

– São entidades externas ao sistema computacional que participam de um ou mais casos de uso

– Ou fornecem eventos de entrada ou recebem – Ou fornecem eventos de entrada ou recebem

alguma resposta do sistema – Em geral, atores podem ser:

Papéis que pessoas representam nos casos de usoDispositivos de hardware mecânicos ou elétricos • Outros sistemas computacionais

(33)

Caso de Uso

Os atores interagem com os casos de uso

através de associações (linhas contínuas)

(34)

Diagramas de Casos de Uso

Mostram um conjunto de casos de uso, atores

e seus relacionamentos

Modelam aspectos dinâmicos do sistema

Proporcionam uma representação contextual

Proporcionam uma representação contextual

do sistema (fronteira explícita)

Indicam a forma como o sistema interage com

as entidades externas (atores)

(35)
(36)

Casos de Uso

Relacionamentos entre Casos de Uso:

– Objetivo: Aumentar a reutilização em diferentes contextos

– Evita a descrição de um mesmo conjunto de fluxos – Evita a descrição de um mesmo conjunto de fluxos

de eventos, através da extração/fatoração do comportamento comum dos casos de uso

(37)

Casos de Uso

A linguagem UML define três tipos de

relacionamentos:

– Generalização (herança) – Inclusão (<< include >>) – Inclusão (<< include >>) – Extensão (<< extend >>)

(38)

Casos de Uso

Generalização

– Similar à generalização entre classes

– O caso de uso filho herda tanto o significado do seu pai, quanto o seu comportamento

seu pai, quanto o seu comportamento – O comportamento do caso de uso filho

normalmente é redefinido

– Um caso de uso filho pode ser utilizado no lugar do seu pai

(39)

Casos de Uso

(40)

Casos de Uso

Inclusão

– Significa que o caso de uso base incorpora

explicitamente o comportamento de outro caso de uso em um ponto específico

de uso em um ponto específico

– Representado como uma dependência (seta

tracejada) que aponta para o caso de uso incluído

Se o caso de uso incluído muda, o caso de uso base precisa ser revisto

(41)

Casos de Uso

(42)

Casos de Uso

Extensão

– Significa que o caso de uso base incorpora

implicitamente o comportamento de outro caso de uso

de uso

– Apenas em circunstâncias específicas, o caso de uso estendido tem seu comportamento

incorporado pelo caso de uso base: pontos de extensão

– Utilizado para modelar o comportamento excepcional do sistema (exceções)

(43)

Casos de Uso

Extensão

– Representado como uma dependência (seta tracejada) que aponta para o caso de uso base

• Se o caso de uso base muda, o caso de uso estendido • Se o caso de uso base muda, o caso de uso estendido

precisa ser revisto

(44)

Casos de Uso

(45)

Casos de Uso

Documentação de Casos de Uso  Fluxo de

Eventos :

– Especifica o comportamento de um caso de uso; – E uma sequência de comandos declarativos que – E uma sequência de comandos declarativos que

descreve as etapas de execução de um Caso de Uso;

– Permanece focado no domínio do problema e não em sua solução;

(46)

Casos de Uso

Documentação de Casos de Uso  Fluxo de

Eventos :

– Contém informações relativas:

Às condições de início e término do caso de uso; Às condições de início e término do caso de uso; • Quais os atores interessados no sistema;

(47)

Casos de Uso

Documentação de Casos de Uso  Fluxo de

Eventos :

– O fluxo de eventos de um caso de uso é composto por:

por:

• Um Fluxo Básico  descreve a funcionalidade principal do caso de uso, quando nenhum desvio é tomado

• Zero ou Mais Fluxos Alternativos  descrevem desvios pré-definidos do fluxo básico

(48)

Casos de Uso

Documentação de Casos de Uso  Fluxo de

Eventos :

– Esses fluxos podem ser especificados através de:

Descrição textual informalDescrição textual informal

• Texto semiformal (através de pré-, pós-condições e invariantes)

• Pseudocódigo

(49)

Casos de Uso

Modelo Documento de casos de uso:

1. Nome – Descrição – Atores – Atores – Disparadores (opcional) – Requisitos Relacionados 2. Pré condições / Estado Inicial 3. Pós Condições

(50)

Casos de Uso

Modelo Documento de casos de uso:

4. Fluxo de eventos – Fluxo básico – Fluxo alternativo – Fluxo alternativo • Fluxo de exceção 50

(51)

Casos de Uso

Exemplo:

UC01: Comprar Produtos Atores: Cliente, Atendente

Descrição: Um cliente chega ao ponto de vendas para Descrição: Um cliente chega ao ponto de vendas para

comprar produtos. O atendente registra a compra e coleta o pagamento. O cliente vai embora com a compra.

Requisitos: RF01, RNF02

Pre-condição: PDV aberto com atendente logado. Nenhuma venda em aberto.

(52)

Casos de Uso

Exemplo cont...

Fluxo Principal (descrito em pseudocódigo):

1. O cliente chega ao ponto de vendas com os produtos da compra

compra

2. Para cada( produto trazido pelo cliente):

2.1. O atendente registra o código e a quantidade do produto

2.2. O sistema determina o preço do produto e o adiciona à compra

3. O atendente seleciona a opção de que a lista de produtos está completa

(53)

Casos de Uso

Exemplo cont...

Fluxo Principal (descrito em pseudocódigo):

4. O sistema calcula e apresenta o total

5. O atendente informa o cliente sobre o total da compra e 5. O atendente informa o cliente sobre o total da compra e

pergunta qual é a forma de pagamento

6. Se(dinheiro) forma de pagamento = “dinheiro” 7. O atendente registra a quantia recebida

8. O sistema mostra o troco e gera o recibo

9. O atendente deposita o dinheiro, devolve o troco e entrega o recibo da compra

(54)

Casos de Uso

Exemplo cont...

Fluxo Alternativo 1(descrito textualmente):

No passo 2 do fluxo básico, pode ter um produto com um código inválido. Nesse caso, o sistema com um código inválido. Nesse caso, o sistema

avisa que o código fornecido é inválido e pede que o atendente registre o próximo produto. Vá para o passo 2 do fluxo básico.

(55)

Casos de Uso

Exemplo cont...

Fluxo Alternativo 2(descrito textualmente):

No passo 6, o cliente pode escolher pagar com

cartão de crédito. Neste caso, o atendente passa o cartão de crédito. Neste caso, o atendente passa o cartão e o cliente digita a senha. Se houver crédito disponível, vá para o passo 7 do fluxo básico. Se não houver, vá para o passo 6 do fluxo básico.

(56)

Casos de Uso

Exemplo cont...

Fluxo Alternativo 3(descrito textualmente):

A qualquer momento, o atendente pode cancelar a transação. Nesse caso, as informações

a transação. Nesse caso, as informações

referentes à compra são descartadas e o caso de uso se encerra.

(57)

Casos de Uso

Exemplo de descrição usando um include

Fluxo Principal (Comprar Produtos):

4. O sistema calcula e apresenta o total 5. include (Efetuar Pagamento)

5. include (Efetuar Pagamento)

(58)

Casos de Uso

Exemplo de descrição usando um extend

Fluxo Principal (Devolver Produtos):

1. O atendente informa o código do produto a ser devolvido 2. O sistema exibe as opções de troca ou devolução

2. O sistema exibe as opções de troca ou devolução

3. O atendente seleciona a opção escolhida pelo usuário 4. se (opção de troca)

4.1. extend Efetuar Troca 5. se(opção em dinheiro);

5.1. extend Ressarcir em Dinheiro

(59)

Exercício

1. Utilizando o Astah, monte um diagrama de

casos de uso para o seu projeto.

2. Escreva os casos de uso do diagrama.

2. Escreva os casos de uso do diagrama.

(60)

Referências Bibliográficas

• Sommerville, Ian. Engenharia de Software. 8a edição. Pearson Education, 2007.

Pressman, Roger S. Engenharia de Software. 6a edição. McGraw-Hill, 2006.

Referências

Documentos relacionados

- DUAS SETAS DE CARTÃO VERMELHO para indicar a TEMPERATURA no termómetro - DUAS SETAS DE CARTÃO AMARELO para indicar o MÊS no CÍRCULO DAS ESTAÇÕES. - DUAS SECÇÕES CIRCULARES

Deve conhecer perfeitamente este Manual de Procedimentos ou “Bússola”, e o papel de cada ministério da Equipe de Serviço; assim como o Esquema do Curso

Para apoiar os esforços do Governo do Piauí, no ano de 2016, a Secretaria do Planejamento do Piauí - Seplan estabeleceu uma parceria com o PNUD com o propósito de viabilizar

Em outras palavras (J) é a probabilidade de ocorrência de um valor extremo durante N anos de vida útil da estrutura.. Com relação à conservação do solo, além das

A) C) Cliente Operador de caixa Sistema de Ponto de Vendas Registrar itens Calcular total Gerar cupom Cliente Operador de caixa Sistema de Ponto de Vendas Registrar

Potencializando a Equipe de Vendas Ideias que despertam a vontade do cliente comprar de você.. • Ele é bem informado; • Tem poder

O maior pico de mortalidade das plantas foi observado a partir dos 150 dias após o plantio, onde menos de 22% da população média das plantas permaneceram vivas até o final

Resultados e Discussão: A amostra entrevistada foi composta por 100% de idosas do sexo feminino, 44,8% viúvas, 55,2% com escolaridade entre 5-8 anos de estar relacionada, a