Eliane Martins - Instituto de Computação - UNICAMP
Estudo de casoSistema de elevador
Criação: mar/2011
Eliane Martins - Instituto de Computação - UNICAMP
Tópicos
• Apresentação do sistema• Análise de Requisitos
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.
Eliane Martins - Instituto de Computação - UNICAMP
Análise
AnáliseAnálise de Requisitos
Análise de Sistemas
Análise de Objetos
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
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.
Eliane Martins - Instituto de Computação - UNICAMP
Requisitos Funcionais
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
Eliane Martins - Instituto de Computação - UNICAMP
Requisitos Não-Funcionais
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
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
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
Eliane Martins - Instituto de Computação - UNICAMP
Sistemas de controle
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]
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
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
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
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
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
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. ...
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. ...
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
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»
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. ...
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
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
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• ...
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
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
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
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
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
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
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
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
...
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
...
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
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
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, ...
Eliane Martins - Instituto de Computação - UNICAMP
Diagrama de Classes Preliminar
Modelagem: Andre Esteve, abr/2011
Eliane Martins - Instituto de Computação - UNICAMP
Diagrama de Classes Refinado
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, ...
Eliane Martins - Instituto de Computação - UNICAMP
Comportamento: Porta
Eliane Martins - Instituto de Computação - UNICAMP
Comportamento: Botão Andar
Eliane Martins - Instituto de Computação - UNICAMP
Comportamento: Controlador Elevador
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, ...
Eliane Martins - Instituto de Computação - UNICAMP
Diagrama de classes detalhado
Eliane Martins - Instituto de Computação - UNICAMP
Operações e atributos
Eliane Martins - Instituto de Computação - UNICAMP
Cenário: Requisitar elevador a partir do andar
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, ...
Eliane Martins - Instituto de Computação - UNICAMP
Árvore de cenários: usuário elevador
Eliane Martins - Instituto de Computação - UNICAMP
Árvore de cenários: usuário andar
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, ...
Eliane Martins - Instituto de Computação - UNICAMP
Cenário: Requisitar elevador a partir do andar
{ 0,5 s }
Eliane Martins - Instituto de Computação - UNICAMP
Heurísticas para avaliação dos modelos