55
Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Embed Size (px)

Citation preview

Page 1: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Estudo de casoSistema de elevador

Criação: mar/2011

Page 2: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Tópicos

• Apresentação do sistema• Análise de Requisitos

Page 3: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Referências

• B.P.Douglass. Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks and Patterns. Addison-Wesley. Object Technology Series. 1999 (cap. 5)

• B.P.Douglass. ROPES: Rapid Object-Oriented Process for Embedded Systems. Obtido mar/2010 em http://citeseerx.ist.psu.edu

• Sistema do elevador: http://sir.unl.edu/portal/index.html

• Hsia, Pei; Samuel Jayarajan; Gao, Jerry; Kung, David; Toyoshima, Yasufumi; Chen, Cris. Formal Approach to Scenario Analysis. IEEE Softw., vol. 11, Mar/1994, pp33-41. IEEE Computer Society Press. Los Alamitos, CA, USA.

• Chance, B.D, Melhart, B.E.: A Taxonomy for Scenario Use in Requirements Elicitation and Analysis of Software Systems, Proc. IEEE Engineering of Computer-Based Systems (ECBS'99), 1999, pp.232-238.

Page 4: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Análise

AnáliseAnálise de Requisitos

Análise de Sistemas

Análise de Objetos

Page 5: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Sistema de controle de elevadores

T

1

2

Sensor de chegada da cabine no andar

...

porta

painel

cabine

motor

Sensor de porta fechada

edifício

...

Vários elevadores

Page 6: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Descrição• O sistema controla um conjunto de elevadores (várias cabines).• Em cada andar só tem um botão para chamar os elevadores.• Na cabine do elevador tem um painel de botões, com um botão para cada andar.• As solicitações são definitivas, i.e, não podem ser canceladas. Elas persistem até serem

atendidas.• A chegada da cabine a um andar é detectada por um sensor. • O elevador está desocupado quando não tem nenhuma solicitação. Quando uma

solicitação feita em um andar é recebida, o sistema escolhe o elevador mais próximo para atendê-la.

• Caso o elevador escolhido esteja ocioso, ele fecha a porta e se move em direção ao andar solicitado (ou solicitante). O sistema é notificado quando a porta é fechada.

• Ao chegar ao andar solicitado(ante), o elevador abre a porta para permitir que as pessoas entrem/saiam. Em seguida o sistema verifica se há solicitações pendentes na mesma direção. Se houver, continua subindo/descendo para atendê-las. Caso não haja mais solicitações pendentes na mesma direção, o sistema muda a direção da cabine, para atender solicitações na direção oposta. Se não há qualquer chamada pendente, a cabine permanece onde está, com a porta aberta.

• A proteção do fechamento de porta para evitar que pessoas fiquem “imprensadas” não é responsabilidade do sistema.

Page 7: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Requisitos Funcionais

Page 8: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Requisitos FuncionaisId Descrição Prioridade

RF01 Elevador atende requisições a partir de botões do painel interno e de botoeiras em andares. O primeiro e último andares só podem realizar solicitações para cima e para baixo, respectivamente;

Obrigatório

RF02 Elevador atende primeiro as requisições mais próximas no sentido no qual se encontra e quando não houver mais requisições naquele sentido, passa a atender requisições no sentido oposto;

Obrigatório

RF03 Ao receber uma requisição, o elevador fecha suas portas e se move em direção do andar requisitado;

Obrigatório

RF04 Ao atingir destino requisitado, o elevador abre suas portas; Obrigatório

RF05 Quando não há mais requisições a serem atendidas, o elevador fica parado no andar em que se encontra com as portas abertas;

Obrigatório

RF06 Quando uma requisição é feita a partir de um andar o sistema escolhe o elevador ocioso mais próximo para atendê-la. Caso não haja elevador ocioso, o sistema escolhe o elevador mais próximo que está indo em direção ao andar solicitado;

Obrigatório

Page 9: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Requisitos Não-Funcionais

Page 10: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Requisitos Não-FuncionaisId Descrição Prioridade

RNF01 Um elevador não pode se mover com a porta aberta. Obrigatório

RNF02

Page 11: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Análise

Análise

Análise de Requisitos

Análise de Sistemas

Análise de Objetos

• Identificar casos de uso e atores

• Decompor casos de usos

• Identificar eventos externos

• Definir cenários que caracterizam o comportamento do sistema

• Identificar restrições: interfaces com outros sistemas, desempenho, ...

• Lista de perigos

• Identificar casos de uso e atores

• Decompor casos de usos

• Identificar eventos externos

• Definir cenários que caracterizam o comportamento do sistema

• Identificar restrições: interfaces com outros sistemas, desempenho, ...

• Lista de perigos

Page 12: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Identificar casos de uso e atores

• Casos de uso:– Partes de RF

• Atores:– Entidades externas ao sistema. Podem ser:

• Pessoas

• Dispositivos

• Outros sistemas

Pessoas ou dispositivos?• Se as pessoas interagem com o sistema através de um

dispositivo existente ou fornecido separadamente dispositivo

Page 13: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Sistemas de controle

Page 14: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Sistemas de controle

• Podem controlar desde máquinas domésticas até infraestruturas críticas

• Interagem diretamente com dispositivos de hw– Reagem a eventos gerados pelo hw

– Emitem sinais de controle

• Devem responder, em tempo real, aos eventos gerados

• Podem ser embarcados em hw de maior porte

[Sommerville 2007, c.13]

Page 15: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Contexto de sistemas de controle – um esquema

Fonte: John Ellis. Objectifying Real-Time Systems. SIGS Books, 1994Apud B.P.Douglass: http://www.ece.ufrgs.br/~cpereira/temporeal_pos/www/chap2_douglass.htm

Page 16: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Contexto: sistema de elevadores

Sistema de controle de elevadores

(SCE)

LANRS-232

Interfaces

Botão do andar

Botão do painel internoSensor de

chegada no andar

Sensor de porta fechada

Lâmpadas do painel interno

GUI do controlador

Lâmpadas dos botões do andar

Passageiro potencial

Passageiro

Operador

Page 17: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Percepção/Ação Sensores/Atuadores Interfaces Sistema

Passageiro embarca ou desembarca, obstruindo a porta

Sensores da porta LAN para comunicação entre sensores ou atuadores e processadores

SCE

Passageiro potencial chama um elevador

- Botão do andar- Lâmpada do botão do andar indicando a direção do elevador- Sensor de chegada no andar

LAN SCE

Passageiro seleciona um andar

Botão do painel interno LAN SCE

Passageiro olha em que andar o elevador está

Lâmpadas do painel interno LAN SCE

Operador observa serviço dos elevadores

Terminal do controlador GUI do controlador SCE

Page 18: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Diagrama de contexto

Sistema deControle de

Elevador(SCE)

Sistema deControle de

Elevador(SCE)

BotãoPainel

LampadaPainel

SensorChegada

BotãoAndar

Operador

LampadaAndar

Page 19: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Casos de uso

Chamar elevadorChamar elevador

Selecionar andar

Selecionar andar

Pararelevador no

andar

Pararelevador no

andar

BotãoPainel

LampadaPainel

SensorChegada

BotãoAndar

Operador

LampadaAndar

ControlarelevadorControlarelevador

Page 20: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Descrição de caso de uso

Selecionar andar:Ator: BotaoPainelPré-condição: BotaoPainel pressionadoPassos:

1. Passageiro pressiona botão no painel interno do elevador. O sensor no botão envia requisição para SCE, identificando o andar solicitado.

2. Se o elevador está parado, o SCE determina em que direção vai mover o elevador.

3. O SCE comanda o fechamento da porta.

4. Quando a porta estiver fechada, o SCE comanda o motor para mover o elevador na direção determinada no passo 2.

5. ...

Chamar elevador:Ator: BotaoAndar

Pré-condição: BotaoAndar pressionado

Passos: 1. Passageiro pressiona botão no

andar. O sensor no botão envia requisição para SCE, identificando o andar onde o passageiro está.

2. Se o elevador está parado, o SCE determina em que direção vai mover o elevador.

3. O SCE comanda o fechamento da porta.

4. Quando a porta estiver fechada, o SCE comanda o motor para mover o elevador na direção determinada no passo 2.

5. ...

Page 21: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Descrição de caso de uso

Selecionar andar:Ator: BotaoPainelPré-condição: BotaoPainel pressionadoPassos:

1. Passageiro pressiona botão no painel interno do elevador. O sensor no botão envia requisição para SCE, identificando o andar solicitado.

2. Se o elevador está parado, o SCE determina em que direção vai mover o elevador.

3. O SCE comanda o fechamento da porta.

4. Quando a porta estiver fechada, o SCE comanda o motor para mover o elevador na direção determinada no passo 2.

5. ...

Chamar elevador:Ator: BotaoAndar

Pré-condição: BotaoAndar pressionado

Passos: 1. Passageiro pressiona botão no

andar. O sensor no botão envia requisição para SCE, identificando o andar onde o passageiro está.

2. Se o elevador está parado, o SCE determina em que direção vai mover o elevador.

3. O SCE comanda o fechamento da porta.

4. Quando a porta estiver fechada, o SCE comanda o motor para mover o elevador na direção determinada no passo 2.

5. ...

Page 22: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Chamar elevador:Ator: BotaoAndar

Pré-condição: BotaoAndar pressionado

Passos: 1. Passageiro pressiona botão no

andar. O sensor no botão envia requisição para SCE, identificando o andar onde o passageiro está.

2. Se o elevador está parado, o SCE determina em que direção vai mover o elevador.

3. O SCE comanda o fechamento da porta.

4. Quando a porta estiver fechada, o SCE comanda o motor para mover o elevador na direção determinada no passo 2.

5. ...

Selecionar andar:Ator: BotaoPainelPré-condição: BotaoPainel pressionadoPassos:

1. Passageiro pressiona botão no painel interno do elevador. O sensor no botão envia requisição para SCE, identificando o andar solicitado.

2. Se o elevador está parado, o SCE determina em que direção vai mover o elevador.

3. O SCE comanda o fechamento da porta.

4. Quando a porta estiver fechada, o SCE comanda o motor para mover o elevador na direção determinada no passo 2.

5. ...

Descrição de caso de uso

Fatorar para um outro caso de uso: Mover elevadorFatorar para um outro caso de uso: Mover elevador

Page 23: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Decomposição de casos de uso

Chamar elevadorChamar elevador

Selecionar andar

Selecionar andar

Pararelevador no

andar

Pararelevador no

andar

BotãoPainel

LampadaPainel

SensorChegada

BotãoAndar

Operador

LampadaAndar

ControlarelevadorControlarelevador

Mover elevadorMover

elevador

«include»«include»

Page 24: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Descrição de caso de uso

Selecionar andar:Ator: BotaoPainel

Pré-condição: BotaoPainel pressionado

Passos:1. Passageiro pressiona botão no

painel interno do elevador. O sensor no botão envia requisição para SCE, identificando o andar solicitado.

2. Se o elevador está parado, incluir o caso de uso Mover elevador.

3. ...

Chamar elevador:Ator: BotaoAndar

Pré-condição: BotaoAndar pressionado

Passos: 1. Passageiro pressiona botão no

andar. O sensor no botão envia requisição para SCE, identificando o andar onde o passageiro está.

2. Se o elevador está parado, incluir o caso de uso Mover elevador.

3. ...

Page 25: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Análise

Análise

Análise de Requisitos

Análise de Sistemas

Análise de Objetos

• Identificar casos de uso e atores

• Decompor casos de usos

• Identificar eventos externos

• Definir cenários que caracterizam o comportamento do sistema

• Identificar restrições: interfaces com outros sistemas, desempenho, ...

• Lista de perigos

• Identificar casos de uso e atores

• Decompor casos de usos

• Identificar eventos externos

• Definir cenários que caracterizam o comportamento do sistema

• Identificar restrições: interfaces com outros sistemas, desempenho, ...

• Lista de perigos

Page 26: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Eventos e mensagens

• Mensagem é uma abstração da troca de informação entre um emissor e um recebedor.– No nível de contexto: mensagens são trocadas entre o

sistema e os atores

– Detalhes sobre COMO as mensagens são trocadas não interessam na Análise mas sim suas propriedades.

• Evento: – Ocorrência importante para o sistema

• Ex.: botão emite evento para o sistema quando é pressionado

– Na UML, são representados por mensagens a serem respondidas pelo sistema

Page 27: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Identificando ocorrências de eventos

• Recepção de um sinal de um outro objeto – ex.: sensor

• Expiração de temporizador• Recepção da chamada de operação por parte de

um outro objeto• Uma condição se torna verdadeira• ...

Page 28: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Mensagens

• Têm conteúdo semântico, i.e, um significado– Ex.: o botão de chamada em um andar foi apertado; foi

comandada a abertura da porta

• Têm um formato, ou assinatura– Na Análise: lista de parâmetros

• Têm :– Pré-condição: estado (do sistema) que deve ser

verdadeiro antes do envio da mensagem

– Pós-condição: estado que deve ser verdadeiro depois do envio da mensagem

– Dados

Page 29: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Especificação de eventos externos

• Deve conter:– Ator associado (emissor ou recebedor)

– Padrão de chegada (periódico ou episódico)

– Instante da chegada

– Padrão de sincronização

– Tempo de resposta do sistema

Page 30: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Padrão de chegada

• Na terminologia do Douglass, o padrão de chegada de mensagens pode ser:– Episódico: depende da ocorrência de algum episódio ou

evento. Descrição:• Tempo mínimo (ou máximo) entre chegadas

• Taxa média de chegada e seu desvio padrão

– Periódico: é previsível, pois independe da ocorrência de eventos externos. Descrição:

• Período: freqüência de chegada

• Jitter: variação estatística do atraso na chegada de mensagens

Page 31: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Padrão de sincronização

• Descreve a forma de sincronização entre o emissor e o receptor da mensagem

• A UML define 3 padrões: chamada (call), espera (waiting) e assíncrona– Chamada e espera são modelos de comunicação síncrona,

e são bloqueantes, i.e, o emissor permanece bloqueado até que a mensagem seja recebida

• podem modelar RPC (Remote Procedure Call)

– Assíncrona modela comunicação não bloqueante• Não há passagem do controle do emissor para o receptor

Page 32: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Exemplo de especificação de mensagens: sistema de controle de tráfego aéreo (Douglass)

Evento Descrição Direção Padrão de chegada

Tempo de resposta

1 Ping do radar primário

Comando para transmitir um pulso para o radar primário

Radar primário

Periódico Período: 20ms

2 Resposta do radar primário

Retorno da reflexão do pulso na superfície de uma aeronave ou devido a característica ambiental

Sistema Episódico Tempo de resposta < 10ms

3 Movimento do cursor pelo usuário

Usuário moveu o cursor através de um dispositivo (e.g., mouse)

Sistema Episódico Tempo de resposta < 5ms

4 Comando de tela do usuário

Usuário seleciona um menu ou item do menu na interface

Tela Episódico Tempo de resposnta < 100ms

5 Registro de atividades das aeronaves

Guarda em log informações sobre aeronaves e condições atmosféricas

Log Periódico Período: 100msJitter: 10ms

Page 33: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Exemplo de especificação de mensagens: sistema de controle de elevador

Evento Resposta Dire-ção

Padrão de chegada/sincronização

Tempo de resposta

1 BotaoAndar pressionado

• Acende lâmpada do botão• Seleciona elevador• Move elevador

selecionado para o andar

SCE Episódico /assíncrono

• 0,5s• 5s• imediato

2 BotaoPainel pressionado

• Acende lâmpada do botão• Move o elevador para o

andar

SCE Episódico /assíncrono

• 0,5s• imediato

3 Elevador chega no andar (SensorChegada)

• Apaga lâmpada do botão• Abre porta

SCE Episódico /assíncrono

• 1s• 2s

4 Elevador se move

Move para o andar mais próximo da lista de andares com chamadas

SCE Episódico /assíncrono

1s

5 Falha no cabo • Aciona grampos de bloqueio

• Notifica operador via alarme

SCE Episódico /assíncrono

• 0,25 (latência) + 0,5s (acionar)

• 1s

Page 34: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Análise

Análise

Análise de Requisitos

Análise de Sistemas

Análise de Objetos

• Identificar casos de uso e atores

• Decompor casos de usos

• Identificar eventos externos

• Definir cenários que caracterizam o comportamento do sistema

• Identificar restrições: interfaces com outros sistemas, desempenho, ...

• Lista de perigos

• Identificar casos de uso e atores

• Decompor casos de usos

• Identificar eventos externos

• Definir cenários que caracterizam o comportamento do sistema

• Identificar restrições: interfaces com outros sistemas, desempenho, ...

• Lista de perigos

Page 35: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Exemplo de cenárioPasso

Status e eventos Ação Passageiro1

Passageiro2

SCE

[Elevador parado no T (térreo)]

1 Chamada@6° andar Elevador sobe Origem Destino

[Elevador passa pelo 2° andar]

2 Chamada@2° andar Chamada vai para fila Origem Destino

3 Elevador chega no 6° andar

Para o elevadorAbre a porta

Destino Origem

4 Passageiro1 entra e seleciona T

Fecha a porta e desce

5 Elevador chega no 2° andar

Para o elevadorAbre a porta

Destino Origem

6 Passageiro2 entra e seleciona 8°

Elevador continua descendo e enfileira pedido

...

Page 36: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Diagrama de seqüência

Elevador no térreo recebe chamada @ 6° andar

Elevador sobe, passa pelo 2° andar

Chamada@2° andar

...

BotaoAndar6 + Lâmpada

BotaoAndar6 + Lâmpada

BotaoAndar2 + Lâmpada

BotaoAndar2 + Lâmpada

SCESCE

BotaoAndar6 pressionado

Acende lâmpada

BotaoAndar2 pressionado

Acende lâmpada

Chamada na fila

...

Page 37: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Análise

Análise

Análise de Requisitos

Análise de Sistemas

Análise de Objetos

• Identificar casos de uso e atores

• Decompor casos de usos

• Identificar eventos externos

• Definir cenários que caracterizam o comportamento do sistema

• Identificar restrições: interfaces com outros sistemas, desempenho, ...

• Lista de perigos

• Identificar casos de uso e atores

• Decompor casos de usos

• Identificar eventos externos

• Definir cenários que caracterizam o comportamento do sistema

• Identificar restrições: interfaces com outros sistemas, desempenho, ...

• Lista de perigos

Page 38: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Análise

Análise

Análise de Requisitos

Análise de Sistemas

Análise de Objetos

• Identificar unidades de processamento (larga escala) e seus componentes

• Modelar comportamento dos componentes (modelo de estados)

• Determinar quais componentes são de hw, quais de sw

• Validar o comportamento do sistema utilizando modelos executáveis

• Identificar unidades de processamento (larga escala) e seus componentes

• Modelar comportamento dos componentes (modelo de estados)

• Determinar quais componentes são de hw, quais de sw

• Validar o comportamento do sistema utilizando modelos executáveis

Não será detalhado no cursoNão será detalhado no curso

Page 39: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Análise

Análise

Análise de Requisitos

Análise de Sistemas

Análise de Objetos

• Identificar os objetos

• Identificar as classes correspondentes aos objetos

• Modelar a interação entre objetos que atendam aos casos de uso

• Identificar comportamento de objetos reativos

• Identificar as operações e atributos

• Validar os objetos usando os cenários definidos em sub-fase anterior

• Associar às operações das classes as restrições de desempenho, ...

• Identificar os objetos

• Identificar as classes correspondentes aos objetos

• Modelar a interação entre objetos que atendam aos casos de uso

• Identificar comportamento de objetos reativos

• Identificar as operações e atributos

• Validar os objetos usando os cenários definidos em sub-fase anterior

• Associar às operações das classes as restrições de desempenho, ...

Page 40: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Diagrama de Classes Preliminar

Modelagem: Andre Esteve, abr/2011

Page 41: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Diagrama de Classes Refinado

Page 42: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Análise

Análise

Análise de Requisitos

Análise de Sistemas

Análise de Objetos

• Identificar os objetos

• Identificar as classes correspondentes aos objetos

• Modelar a interação entre objetos que atendam aos casos de uso

• Identificar comportamento de objetos reativos

• Identificar as operações e atributos

• Validar os objetos usando os cenários definidos em sub-fase anterior

• Associar às operações das classes as restrições de desempenho, ...

• Identificar os objetos

• Identificar as classes correspondentes aos objetos

• Modelar a interação entre objetos que atendam aos casos de uso

• Identificar comportamento de objetos reativos

• Identificar as operações e atributos

• Validar os objetos usando os cenários definidos em sub-fase anterior

• Associar às operações das classes as restrições de desempenho, ...

Page 43: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Comportamento: Porta

Page 44: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Comportamento: Botão Andar

Page 45: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Comportamento: Controlador Elevador

Page 46: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Análise

Análise

Análise de Requisitos

Análise de Sistemas

Análise de Objetos

• Identificar os objetos

• Identificar as classes correspondentes aos objetos

• Modelar a interação entre objetos que atendam aos casos de uso

• Identificar comportamento de objetos reativos

• Identificar as operações e atributos

• Validar os objetos usando os cenários definidos em sub-fase anterior

• Associar às operações das classes as restrições de desempenho, ...

• Identificar os objetos

• Identificar as classes correspondentes aos objetos

• Modelar a interação entre objetos que atendam aos casos de uso

• Identificar comportamento de objetos reativos

• Identificar as operações e atributos

• Validar os objetos usando os cenários definidos em sub-fase anterior

• Associar às operações das classes as restrições de desempenho, ...

Page 47: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Diagrama de classes detalhado

Page 48: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Operações e atributos

Page 49: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Cenário: Requisitar elevador a partir do andar

Page 50: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Análise

Análise

Análise de Requisitos

Análise de Sistemas

Análise de Objetos

• Identificar os objetos

• Identificar as classes correspondentes aos objetos

• Modelar a interação entre objetos que atendam aos casos de uso

• Identificar comportamento de objetos reativos

• Identificar as operações e atributos

• Validar os objetos usando os cenários definidos em sub-fase anterior

• Associar às operações das classes as restrições de desempenho, ...

• Identificar os objetos

• Identificar as classes correspondentes aos objetos

• Modelar a interação entre objetos que atendam aos casos de uso

• Identificar comportamento de objetos reativos

• Identificar as operações e atributos

• Validar os objetos usando os cenários definidos em sub-fase anterior

• Associar às operações das classes as restrições de desempenho, ...

Page 51: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Árvore de cenários: usuário elevador

Page 52: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Árvore de cenários: usuário andar

Page 53: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Análise

Análise

Análise de Requisitos

Análise de Sistemas

Análise de Objetos

• Identificar os objetos

• Identificar as classes correspondentes aos objetos

• Modelar a interação entre objetos que atendam aos casos de uso

• Identificar comportamento de objetos reativos

• Identificar as operações e atributos

• Validar os objetos usando os cenários definidos em sub-fase anterior

• Associar às operações das classes as restrições de desempenho, ...

• Identificar os objetos

• Identificar as classes correspondentes aos objetos

• Modelar a interação entre objetos que atendam aos casos de uso

• Identificar comportamento de objetos reativos

• Identificar as operações e atributos

• Validar os objetos usando os cenários definidos em sub-fase anterior

• Associar às operações das classes as restrições de desempenho, ...

Page 54: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Cenário: Requisitar elevador a partir do andar

{ 0,5 s }

Page 55: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011

Eliane Martins - Instituto de Computação - UNICAMP

Heurísticas para avaliação dos modelos