![Page 1: Eliane Martins - Instituto de Computação - UNICAMP Estudo de caso Sistema de elevador Criação: mar/2011](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/44.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/45.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/46.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/47.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/48.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/49.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/50.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/51.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/52.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/53.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/54.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062418/552fc167497959413d8eb231/html5/thumbnails/55.jpg)
Eliane Martins - Instituto de Computação - UNICAMP
Heurísticas para avaliação dos modelos