Académique Documents
Professionnel Documents
Culture Documents
UNICAMP
Centro de Computação
Eliel Gonçalves
eliel@ccuec.unicamp.br
[GuiaOrientaçãoObjetos:V1.0:01/05/2007:DDS:CNARQ]
1. Introdução
Identidade
Classificação
Polimorfismo
• Polimorfismo significa que a mesma operação pode atuar de modos diversos em classes
diferentes. Em outras palavras: diferentes objetos respondem de maneira diferente à
mesma mensagem.
• Método: uma implementação específica de uma operação por uma determinada classe.
2
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
• Exemplo: operações “Mover” e “Desenhar”. “Mover” pode ter um código diferente para
cada classe “Janela” e “PeçadeXadrez”. “Desenhar” pode ter um código diferente para
cada classe “Quadrado” e “Elipse.”
Herança
3
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Três modelos
A metodologia TMO propõe três modelos para descrever um sistema. Pela ordem, os
modelos descrevem o que está mudando, quando e como ocorrem as modificações:
4
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
“Um modelo de objetos, mesmo que seja simplificado, pode ser comparado com o mundo
real ou com a aplicação desejada, criticado e melhorado.”
5
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
3 - A modelagem de objetos
Elementos do modelo de objetos: classes, instâncias de classe, relacionamentos, atributos e
operações.
Objetos e classes
Objeto
• Objeto: alguma coisa que faz sentido no contexto de uma aplicação; um conceito, uma
abstração, algo com limites nítidos e significado em relação a um problema.
• Exemplos: “João”, “Companhia ABC”, “processo 7648”, “janela de mais alto nível”.
• Por razões de precisão, diz-se que “objeto” é uma “instância de uma classe”.
Classe
Diagrama de objetos
• O diagrama de objetos é uma notação gráfica formal para a modelagem de objetos.
• Dois tipos de diagramas: de classes e de instâncias.
Diagrama de classes
Diagrama de instâncias
6
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Atributos
• Atributo: valor de dados guardado pelas instâncias de classe.
• Exemplos: “nome”, “idade” e “peso” são atributos da classe “Pessoa”.
“Cor”, “peso”, “ano”, “modelo” são atributos da classe “Carro”.
• Cada atributo possui um valor para cada instância de objeto. Exemplo: atributo com valor
“25” no objeto “Maria”. O atributo deve ser um valor puro.
• Notação: os atributos devem ser mostrados na segunda parte da caixa de classe.
Dependendo do nível de detalhe desejado, pode ser definido o tipo de dados e valor
default.
• Exemplo
(Pessoa) (Pessoa)
Pessoa Maria Pedro
nome: string 25 52
idade: inteiro
• Como cada objeto tem a sua própria identidade, não há necessidade de colocar um
atributo “Código” (que é um recurso computacional).
Operações e métodos
• Operação: função ou transformação que pode ser aplicada a objetos ou por estes a uma
classe. Todas as instâncias de classe compartilham as mesmas operações.
7
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Ligações e associações
8
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Conceitos gerais
• Ligação: uma conexão física ou conceitual entre instâncias de objetos. Uma ligação é
uma instância de associação.
• Exemplo: Maria trabalha para a empresa ABC.
• Notação: uma linha entre instâncias.
• Associação: um grupo de ligações com estrutura e significado comuns. Uma associação
descreve um conjunto de potenciais ligações.
• Notação: a associação é representada como uma linha entre classes.
• O nome da associação pode ser omitido se o par de classes tiver uma única e óbvia
associação. O nome costuma ser lido da esquerda para a direita (ordem direta). As
associações podem ser “binárias” (as mais comuns), “ternárias” ou de ordem mais
elevada.
• Exemplo. Associação entre as classes “País” e “Cidade” com ligações entre instâncias de
ambas essas classes.
Associação e ligações.
9
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
L2
P1 P2
L3
L4
L5 L1
O diagrama de classes, por ser geral, deve mostrar que cada ponto pode ser interseção de
duas ou mais linhas e cada linha pode ter zero ou mais pontos de interseção. A bolinha cheia
e “2+” são símbolos de cardinalidade.
Diagrama de classes
Diagrama de instâncias
10
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Projeto Linguagem
Diagrama de Classe
Pessoa
(Projeto) (Linguagem)
Sistema Contábil Cobol
(Pessoa)
Maria Diagrama de Instâncias
(Projeto) (LInguagem)
CAD C
Cardinalidade
• Cardinalidade: número inteiro não negativo que especifica quantas instâncias de uma
classe relacionam-se a uma única instância de uma classe associada.
• Notação: escrever o valor numérico ou o símbolo nas extremidades das linhas de
associação.
1 exatamente 1
1+ um ou mais
3-5 3, 4 e 5 (seqüência)
3,4,18 3, 4 ou 18 (alternativas)
muitos (zero ou mais)
11
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
opcional (zero ou 1)
linha sem símbolos exatamente 1
Símbolos de cardinalidade.
Exemplos
• Associação “Tem-capital”. Cardinalidade “um-para-um”: cada país tem uma capital; cada
cidade é capital de um país.
• Associação “Cruza”. Cardinalidade “muitos” (ou “zero ou mais”): uma linha pode ter
zero ou muitos pontos de interseção. Cardinalidade “dois ou mais”: um ponto de
interseção pode estar associado a duas ou mais linhas.
Contrata
Empresa Empregado
• Durante a modelagem conceitual, não se deve colocar dentro de objetos ponteiros e outras
referências como atributos e sim modelá-los como associações para indicar que a
informação que contêm não é subordinada a uma única classe.
12
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Acessível por
Arquivo Usuário
permissão de acesso
Atributos de ligação
O exemplo abaixo mostra que atributos de ligação conduzem a modelos mais flexíveis.
Forma desaconselhável
Empresa Pessoa
Trabalha-para Nome
Nome Endereço
Endereço Salário
Cargo
Nome Nome
Endereço Endereço
Salário
Cargo
13
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
• O quadro de atributos de uma associação pode ter um nome e operações, logo pode ser
modelado como uma classe.
• Exemplo : Os usuários são autorizados a usar várias estações de trabalho. Cada
autorização é acompanhada por uma prioridade e privilégios de acesso. Um usuário tem
um diretório básico para cada estação autorizada, porém este diretório pode ser
compartilhado por diversas estações e diversos usuários.
Usuário
Prioridade
Privilégios
Iniciar sessão
Diretório básico
Diretório
Nomes de papéis
• Um papel (“role played”) serve para identificar uma extremidade de uma associação.
• É um meio de percorrer as associações a partir de uma classe, sem mencionar
explicitamente a associação. São necessários para dois objetos da mesma classe.
14
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Nomes de papéis.
proprietário
contém
Usuário Diretório
usuário autorizado
está contido
Nomes de papéis.
Ordenação
• Na maioria das vezes, as instâncias de classe do lado “muitos” de uma associação não têm
uma ordem explícita e podem ser consideradas um conjunto. Porém existem situações
onde as instâncias são ordenadas.
• Notação: colocar “{ordenado}” junto ao símbolo de cardinalidade da associação.
• Exemplo. Em uma interface gráfica, várias janelas podem ficar sobrepostas de tal forma
que somente a janela de cima seja visível.
{ordenado}
Janela Tela
Visível-em
Exemplo de ordenação.
15
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Exemplo de agregação.
Exemplo de agregação.
Generalização e herança
Conceitos gerais
16
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
17
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Equipamento
Nome
Fabricante
Peso
Preço
Tipo do equipamento
Tipo de bomba
Tipo de tanque
18
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
19
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Construções de agrupamento
Módulo
• Módulo: uma construção lógica para agrupar classes, associações e generalizações.
• Os módulos incorporam diferentes visões de uma situação e permitem o particionamento
de um modelo de objetos.
• Um modelo de objeto é formado por vários módulos.
• Exemplo. Os módulos de eletricidade, encanamentos e ventilação representam diferentes
visões de um edifício.
Folha
• Folha (página ou pedaço de papel) é um mecanismo para facilitar o desenho de um
módulo. Regras:
20
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Agregação x associação
• Agregação é uma forma especial de associação. Se dois objetos estiverem estreitamente
ligados através de um relacionamento todo-partes, eles formam uma agregação. Se forem
independentes, eles formam uma associação.
• Testes:
◊ Você usaria a expressão é-parte-de?
◊ Algumas operações executadas sobre o todo aplicam-se automaticamente sobre as
partes?
◊ Alguns valores de atributos propagam-se do todo para as partes?
Trabalha para
Pessoa
21
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
22
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Agregação x generalização
• Agregação e generalização são conceitos diferentes.
• Agregação relaciona-se a instâncias: um objeto faz parte do outro. Generalização é uma
forma de estruturar uma classe. Tanto uma superclasse quanto uma subclasse referem-se
às propriedades de um único objeto.
• Exemplo. Lâmpada pode ser classificada em duas subclasses: fluorescente e
incandescente. Base, cobertura, interruptor e fiação são partes da lâmpada. Uma lâmpada
fluorescente tem um contrapeso, um braço flexível e um starter; uma lâmpada
incandescente tem um bocal.
Lâmpada
Fluorescente Incandescente
Propagação de operações
• Propagação: aplicação automática de uma operação em uma rede de objetos quando a
operação é aplicada em um objeto inicial. Por exemplo, a movimentação de uma
agregação movimenta os seus agregados.
• Notação: uma seta indicando a direção da propagação, junto ao nome da operação.
• Exemplo: uma pessoa possui vários documentos, cada documento é composto por
parágrafos e estes são compostos por caracteres. A operação “cópia” propaga-se do
documento para os parágrafos e para os caracteres.
Propagação de operações.
Classes abstratas
• Classe abstrata: classe que não possui instâncias diretas, mas as suas subclasses sim.
Classe concreta: é uma classe instanciável, isto é, pode ter instâncias diretas.
• Classes abstratas são normalmente usadas para definir protocolo para uma operação, sem
apresentar um método correspondente. Isso é chamado operação abstrata. Uma operação
abstrata define a forma de uma operação e cada subclasse deve prover a sua própria
implementação. Uma operação abstrata é representada por uma observação entre chaves.
• Exemplo: A classe “Empregado” é uma classe abstrata. As subclasses “Horista”,
“Assalariado” e “Autônomo” são concretas. “Calcular-pagamento” é uma operação
abstrata.
Empregado
24
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Herança múltipla
• Herança múltipla é o mecanismo que permite que uma classe possua mais de uma
superclasse e herde características de todos o seus ancestrais.
Veículo
Terrestre Aquático
Herança múltipla.
25
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Lista de Exercícios
1. Descubra classes de objetos potenciais em uma Biblioteca.
5. Elabore um diagrama de classe para: “Um cliente pode solicitar nenhum ou muitos
pedidos. Cada pedido contém 1 ou mais itens de pedido, e cada item refere-se a um único
produto.”
6. Elabore um diagrama de classe para: “Um empregado ocupa uma mesa de trabalho em
um determinado dia da semana.”
8. Elabore um diagrama de classe e um diagrama de instância (com três instâncias para cada
classe) para: “um atleta defende uma equipe em um determinado ano”.
10. Desenhe, dê nomes e acrescente cardinalidade para 4 associações entre partido político e
cidadão.
12. Elabore um diagrama de classe para: “Martelo é formado por uma cabeça e um cabo.”
26
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
13. Elabore um diagrama de classe para : “Álcali, ácido e solvente são líquidos. Ácido pode
ser clorídrico ou nítrico.”
14. Elabore um diagrama de classe para: “Carro possui quatro rodas, chassi, motor e
radiador. Motor é composto por pistão, biela e várias válvulas.”
15. Elabore um diagrama de classe para: “Carro pode ser classificado em europeu, nacional
e oriental. Carro europeu pode ser sueco, alemão e italiano, etc. Carro oriental pode ser
coreano ou japonês.”
17. Elabore um diagrama com as seguintes classes: “escola, playground, diretor, conselho
escolar, sala de aula, livro, aluno, professor, sala de repouso, computador, carteira,
cadeira, régua, porta, balanço.” Coloque nomes e cardinalidade nas associações, nomes
de papéis (se for necessário) e discriminador.
27
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
realizados na mesma sala, equipada com um computador por aluno. Cursos que não
atingem um número mínimo de 5 inscrições são cancelados. A empresa firma convênios
com escolas, empresas, associações profissionais e outras entidades. Cada afiliado tem
direito a um desconto nos cursos em que desejar participar. Para qualquer outro
interessado, a taxa de inscrição é normal. No início do curso o aluno recebe uma
apostila e um disquete e, no final, o certificado de participação. A empresa contrata
instrutores para cada curso. Um instrutor pode ministrar mais de um curso e pode
também participar como aluno em um ou mais cursos.”
Veículo
Marca
Ano
Cor
Combustível
23. Dado o diagrama de classe abaixo, desenhe um diagrama de instância para Professor,
Administrativo e Aluno.
Pessoa
Nome
Endereço
Idade
Sexo
Funcionário Aluno
Nro. registro
acadêmico
Professor Administrativo
{ordenado} CARTA
BARALHO
Naipe
Valor
25. No exercício anterior, considere que Naipe possa assumir os valores: copas, paus, ouros
e espadas; e Valor possa assumir os valores: 2, 3, 4,..., Valete, Dama, Rei e Ás. Desenhe
um diagrama de instâncias com 2 instâncias para a classe CARTA.
26. Elabore um diagrama de classe e um diagrama de instância com duas instâncias de vogal
e duas instâncias de consoante para: “O alfabeto da lingua portuguesa é formado por 26
letras (incluindo as letras empregadas em vocábulos estrangeiros não aportuguesados):
a, b, c , d , e , f , g , h , i , j , k , l , m , n , o , p , q , r , s , t , u , v , x , y , z , w. As letras
podem ser classificadas em vogais e consoantes.”
28. Mostre que o diagrama abaixo pode ser reduzido a uma associação binária.
Vendedor Produto
Cliente
29
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
5. Modelagem dinâmica
• O modelo dinâmico descreve os aspectos de um sistema relativos ao tempo e à seqüência
de operações que ocorrem em resposta a estímulos externos, sem considerar como as
operações são implementadas.
• Principais conceitos: eventos e estados.
• Principal ferramenta: diagrama de estados.
• O modelo dinâmico consiste em múltipos diagramas de estado, um para cada classe com
comportamento dinâmico importante.
Eventos
• Evento: transmissão ou informação unidirecional de um objeto para outro; estímulo
individual. Diferente de uma subrotina (retorna um valor).
• Informação: sinal simples ou dados (atributos de eventos, mostrados entre parênteses).
• Evento representa um ponto no tempo. É algo que acontece em um certo momento. É uma
ocorrência considerada rápida. Não tem duração.
Exemplos
• Eventos podem depender um do outro. Exemplo: o vôo 123 deve partir de São Paulo
antes de chegar ao Rio de Janeiro.
• Um evento pode não depender de outro evento, neste caso eles são chamados eventos
concorrentes. Exemplo: o vôo 123 pode partir antes ou depois do vôo 456.
30
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
• Eventos são também modelados como classe. O momento em que um evento ocorre é um
atributo implícito de todos os eventos.
Cenários e diagramas de eventos
• Cenário é uma seqüência de eventos que ocorrem durante uma determinada execução do
sistema.
• Um cenário pode incluir todos os eventos de um sistema ou somente aqueles que são
gerados por alguns objetos.
Diagrama de eventos
• Um diagrama que mostra a seqüência de eventos e os objetos que permutam eventos.
• Objetos são representados por uma linha vertical e os eventos por uma seta horizontal
indicando o sentido da transmissão.
31
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
disca (5)
disca (5)
disca (5)
disca (1)
disca (2)
disca (3)
disca (4)
atende o telefone
Estados
• Estado: valores do conjunto de atributos.
• Um estado corresponde ao intervalo entre dois eventos recebidos por um objeto. Eventos
e estados formam duplas: um evento separa dois estados e um estado separa dois eventos
• Estados representam intervalos de tempo (têm uma duração).
• Objetos reagem aos eventos recebidos. A reação pode ser a modificação de seu estado
interno. Exemplo: se um dígito for discado no estado SINAL DE DISCAR, a linha
telefônica abandona o sinal de discar e passa para o estado DISCANDO.
• Os atributos que não afetam o comportamento do objeto são ignorados.
32
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Exemplos
O tilintar de um telefone
Viagem de São Paulo ao Rio de Janeiro
Água no estado líquido (a temperatura está entre 0 e 100 graus)
Transmissão do automóvel na primeira marcha
Aguardando usuário introduzir uma senha
Aquecendo uma mistura
Aguardando o próximo comando
Acelerando o motor
Enchendo o tanque
Processador ocioso
Caracterização de estado
• Um estado pode ter um nome, uma descrição de seu propósito, a seqüência de eventos
que conduz a ele, a condição que o caracteriza, os eventos aceitos, as ações tomadas e o
próximo estado.
33
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Diagrama de estados
• O diagrama de estados é uma ferramenta gráfica que mostra a relação entre estados e
eventos.
• Quando um evento é recebido, o estado seguinte depende do estado atual e do evento. A
modificação de estado por um evento é chamada “transição”.
• Notação: o diagrama de estados é representado por um grafo contendo nós e arcos. Os
nós são “estados” e os arcos direcionados são “transições” contendo os nomes de
“eventos”. O nó é uma figura arredondada. Dentro do nó escreve-se o nome do estado.
• A transição é uma seta que parte de um estado-origem para o estado-destino. O nome da
seta é o evento que causa a transição entre os estados. Quando acontece o evento diz-se
que a transição “disparou”.
34
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
• Estados não definem totalmente todos os valores de atributos do objeto. Por exemplo, o
estado discando inclui todas as sequências de números incompletos de telefone. Cada
número não é um estado diferente, mas o número inteiro é um atributo.
• Um diagrama de estados descreve o comportamento de uma única classe de objetos.
Como todas as instâncias da classe têm o mesmo conjunto de operações, todas
compartilham o mesmo diagrama. Como cada objeto tem seus próprios valores de
atributos, cada um tem o seu estado interno próprio como resultado da seqüência de
eventos que recebeu. Logo, cada objeto é independente e comporta-se a seu próprio
modo.
• Um diagrama pode representar ciclos simples ou contínuos.
• Ciclo contínuo: enfatiza as passagens pelo diagrama. Exemplo: linha telefônica.
35
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
• Ciclo simples (uma só passagem): representam objetos com vidas finitas. Enfatiza o
estado inicial e final do objeto, onde o estado inicial representa a criação do objeto e o
estado final a destruição do objeto.
• Notação: estado inicial é indicado por um círculo cheio e o final por um “olho de boi”.
Podem ser rotulados para indicar as condições de início e fim.
Vez das
pretas empate forçado
Brancas
cheque-mate vencem
36
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Condição
• Condição é uma função booleana de valores de objeto (retorna valor verdadeiro ou falso).
Exemplo: “temperatura abaixo do ponto de congelamento”. (V, F)
• Condição pode ser usada como “guarda” na transição. Uma transição “guardada” dispara
quando seu evento ocorre, mas somente se a condição for verdadeira. Exemplo: “Quando
sair de manhã (evento) e a temperatura estiver abaixo do ponto de congelamento
(condição), coloque as luvas (estado seguinte).”
• Notação: escrever a condição entre colchetes, à frente do evento.
Controle de operações
• Operações vinculadas a estados ou transições são executadas em resposta aos
correspondentes eventos ou estados. Dois tipos de operações são definidos: “atividade” e
“ação”.
Atividade
• “Atividade” é uma operação que consome tempo para se completar. Está associada a
“estado”.
• Pode ser uma operação contínua (exibição de uma imagem) ou sequencial, que termina
após um intervalo de tempo.
37
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
• Notação: escrever “faça: A” dentro da caixa de estado. Indica que a atividade A inicia na
entrada do estado e termina na saída do estado.
Ação
• Ação: é uma operação instantânea e está associada a um evento. Representa uma
operação cuja duração é insignificante. Modelar uma operação como “ação” significa não
estar preocupado com controle interno ou detalhamento.
• Notação: escrever o nome da ação à frente do evento, separado pela “/ “.
Resumo da notação
• Estado: escrever dentro da caixa.
• Evento: escrever junto à seta de transição.
• Condição: escrever dentro de colchetes, à frente do evento.
• Atividade: escrever dentro da caixa de estado, junto à palavra “faça”.
• Ação: escrever à frente do evento, precedido pela barra “/”.
38
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Sugestões práticas
• Construa diagramas de estado para classes com comportamento dinâmico significativo.
• Use cenários para ajudar a iniciar a elaboração do diagrama de estados.
• Considere atributos relevantes ao definir um estado. Nem todos os atributos são usados
no diagrama de estados.
39
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Exercícios
40
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
Ligada/inativa Aguardando
Toque do telefone [quinto toque]
16. Explique o significado de: “tempo decorrido [carros nas vias esquerdas N/S]” no trecho
de diagrama abaixo.
D
Estado 1
Estado 2 Estado 4
A B
Estado 3
18) Elabore um diagrama de transição de estados para o tocador de fita cassete simples.
Considere que o aparelho funciona com o seguinte conjunto de teclas, cujo significado é
familiar a todos: Eject (abrir/fechar a unidade), Play (tocar), Stop (parar), Pause
(pausa/continua), Fast Forward (avanço rápido), Rewind (rebobinar). OBS: despreze a
queda de energia e considere que o aparelho já está ligado com fita.
19) Elabore um diagrama de transição de estados para a catraca. Uma catraca, acionada por
cartões magnéticos, controla a entrada e saída de alunos no laboratório. Ela permanece
travada e somente é liberada quando o aluno passa o cartão em uma das leitoras. Para
entrar no laboratório, o aluno passa o cartão na leitora de entrada e aguarda a liberação da
catraca. Quando esta é liberada, o aluno entra, a catraca gira no sentido da entrada, em
seguida é novamente travada. Para sair do laboratório, o procedimento é inverso. O aluno
pode passar o cartão mas não entrar nem sair do laboratório. Neste caso, a catraca é
travada após um certo tempo. Considere que não há nenhum problema com o cartão ou o
41
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
ato de passar o cartão na leitora, nem é feito nenhum controle sobre a entrada ou saida, ou
seja, se alguém passar o cartão em uma leitora mas não girar a catraca, pode passar
novamente o cartão na mesma leitora, que a catraca é liberada.
20. O trecho de diagrama abaixo corresponde ao objeto IGNIÇÃO de um automóvel.
Considere que para passar de Desligada para Partida deve-se girar a chave, porém
somente haverá transição se a transmissão estiver em ponto morto. Complete o diagrama
com esses detalhes.
Desligada Partida
42
Universidade Estadual de Campinas
UNICAMP
Centro de Computação
24.Elabore um diagrama de estados para a escada extensível. Uma escada extensível tem
uma corda, uma roldana e um prendedor para içar, baixar e prender a extensão. Quando o
prendedor está acionado, a extensão fica mecanicamente apoiada, sendo possível subir a
escada com segurança. Para soltar o prendedor, suspende-se ligeiramente a extensão com
a corda. Pode-se então suspender ou baixar livremente a extensão. O prendedor produz
um estalido ao passar pelos degraus da escada. O prendedor pode ser acionado enquanto a
extensão está sendo içada revertendo-se a direção no exato momento em que ele passa por
um degrau.
25.Elabore um diagrama de transição de estados para o motor.
26.Elabore um diagrama de transição de estados para um radar funcionando em uma via
urbana.
27.Elabore um diagrama de transição de estados para uma máquina copiadora (xerox).
28.Elabore um diagrama de transição de estados para o forno de microondas.
29.Elabore um diagrama de transição de estados para uma máquina de lavar automóvel.
43