• Nenhum resultado encontrado

eBook - Microcontrolador 8051- Detalhado

N/A
N/A
Protected

Academic year: 2021

Share "eBook - Microcontrolador 8051- Detalhado"

Copied!
43
0
0

Texto

(1)

Guia sobre Orientação a Objetos

Guia sobre Orientação a Objetos

 Eliel Gonçalves  Eliel Gonçalves eliel@ccuec.unicamp.br eliel@ccuec.unicamp.br

(2)
(3)

1. Introdução

1. Introdução

O que é orientado a objeto ?

O que é orientado a objeto ?

• O software é organizado como uma coleção de objetos separados que incorporam aO software é organizado como uma coleção de objetos separados que incorporam a

estrutura e o comportamento de dados. estrutura e o comportamento de dados.

• Enfoque diferente do convencional.Enfoque diferente do convencional. •

• Características: identidade, classificação, polimorfismo e herança.Características: identidade, classificação, polimorfismo e herança.

Identidade

Identidade

• Os dados são divididos em entidades discretas e distintas denominadasOs dados são divididos em entidades discretas e distintas denominadas objetosobjetos. Cada. Cada

objeto tem sua própria identidade, mesmo que possuam o mesmo conjunto de atributos. objeto tem sua própria identidade, mesmo que possuam o mesmo conjunto de atributos.

• Exemplos:Exemplos: um parágrafo de um documento, uma janela no monitor de vídeo, umaum parágrafo de um documento, uma janela no monitor de vídeo, uma

bicicleta. bicicleta.

Classificação

Classificação

• Objetos com a mesma estrutura de dados (atributos) e o mesmo comportamentoObjetos com a mesma estrutura de dados (atributos) e o mesmo comportamento

(operações) são agrupados, ou

(operações) são agrupados, ou classificadosclassificados, em uma classe., em uma classe.

• Qualquer escolha de classe é arbitrária e depende da aplicação.Qualquer escolha de classe é arbitrária e depende da aplicação. •

• Cada classe descreve um conjunto de objetos individuais.Cada classe descreve um conjunto de objetos individuais. •

• Cada objeto é uma instância de uma classe.Cada objeto é uma instância de uma classe. •

• Cada instância de classe tem o seu próprio valor para cada atributo, mas compartilha osCada instância de classe tem o seu próprio valor para cada atributo, mas compartilha os

nomes de atributos e operações com outras instâncias da mesma classe. nomes de atributos e operações com outras instâncias da mesma classe.

• ExemploExemplo - classe “Bicicleta” - classe “Bicicleta”

Atributos: tamanho do quadro, tamanho da roda, engrenagem, material Atributos: tamanho do quadro, tamanho da roda, engrenagem, material Operações: mudar a marcha, mover, consertar

Operações: mudar a marcha, mover, consertar

• ExemploExemplo - Classe “Polígono” - Classe “Polígono”

Atributos: número de vértices, cor da borda, cor de preenchimento Atributos: número de vértices, cor da borda, cor de preenchimento Operações: desenhar, apagar, mover

Operações: desenhar, apagar, mover

Polimorfismo

Polimorfismo

• PolimorfismoPolimorfismo significa que a mesma operação pode atuar de modos diversos em classes significa que a mesma operação pode atuar de modos diversos em classes

diferentes. Em outras palavras: diferentes objetos respondem de maneira diferente à diferentes. Em outras palavras: diferentes objetos respondem de maneira diferente à mesma mensagem.

mesma mensagem.

(4)

• ExemploExemplo: operações “Mover” e “Desenhar”. “Mover” pode ter um código diferente para: operações “Mover” e “Desenhar”. “Mover” pode ter um código diferente para

cada classe “Janela” e “PeçadeXadrez”. “Desenhar” pode ter um

cada classe “Janela” e “PeçadeXadrez”. “Desenhar” pode ter um código diferente paracódigo diferente para cada classe “Quadrado” e “Elipse.”

cada classe “Quadrado” e “Elipse.”

Herança

Herança

• HerançaHerança é o compartilhamento de atributos e operações entre classes com base em um é o compartilhamento de atributos e operações entre classes com base em um

relacionamento hierárquico. Uma subclasse herda todas as características de sua relacionamento hierárquico. Uma subclasse herda todas as características de sua superclasse e acrescenta suas características exclusivas.

superclasse e acrescenta suas características exclusivas.

• Semelhança em outros contextos (fatorar, colocar em evidência):Semelhança em outros contextos (fatorar, colocar em evidência):

3x

3x22 + 6x + 9 + 6x + 9 = 3(x= 3(x22 + 2x + 3) + 2x + 3)

• Vantagem: reduz repetições.Vantagem: reduz repetições.

O que é

O que é desenvolvime

desenvolvimento orientado a objeto

nto orientado a objeto

?

?

• Um modo de tratar o software com base emUm modo de tratar o software com base em abstraçõesabstrações do mundo real. do mundo real. •

• Desenvolvimento refere-se a parte inicial do ciclo de vida:Desenvolvimento refere-se a parte inicial do ciclo de vida: análise-projeto eanálise-projeto e

implementação implementação..

• Essência do desenvolvimento orientado a objeto: identificação e organização dosEssência do desenvolvimento orientado a objeto: identificação e organização dos

conceitos do domínio da aplicação, em vez de sua representação definitiva em uma conceitos do domínio da aplicação, em vez de sua representação definitiva em uma linguagem de programação.

linguagem de programação.

• Objetivo no curso:Objetivo no curso: análiseanálise..

Conceitos em modelagem, não em

Conceitos em modelagem, não em implementação

implementação

• Vantagem real da orientação a objetos: enfoque em problemas conceituais, não emVantagem real da orientação a objetos: enfoque em problemas conceituais, não em

implementação (erros nas etapas iniciais são mais caros). implementação (erros nas etapas iniciais são mais caros).

• Uma nova maneira de pensar (usar os conceitos do domínio da aplicação) e não umaUma nova maneira de pensar (usar os conceitos do domínio da aplicação) e não uma

técnica de programação (conceitos de implementação). técnica de programação (conceitos de implementação).

Metodologia baseada em objetos

Metodologia baseada em objetos

A metodologia TMO (Técnica de Modelagem de Objetos) propõe as seguintes etapas: A metodologia TMO (Técnica de Modelagem de Objetos) propõe as seguintes etapas:

• AnáliseAnálise - Construir um modelo da situação do mundo real. O modelo é uma abstração do - Construir um modelo da situação do mundo real. O modelo é uma abstração do

que

que o sistema deve fazer (e não o sistema deve fazer (e não comocomo deve ser feito). deve ser feito). ExemploExemplo: em um sistema de: em um sistema de

 janelas

 janelas, a classe “Janela” deve ser descrita em termos dos atributos e operações visíveis, a classe “Janela” deve ser descrita em termos dos atributos e operações visíveis ao usuário.

(5)

• Projeto do sistemaProjeto do sistema - Tomar decisões de alto nível relativamente à arquitetura geral. - Tomar decisões de alto nível relativamente à arquitetura geral.

Exemplo

Exemplo: decidir que as modificações de tela devem ser rápidas e suaves mesmo quando: decidir que as modificações de tela devem ser rápidas e suaves mesmo quando as janelas forem movimentadas ou apagadas.

as janelas forem movimentadas ou apagadas.

• Projeto de objetosProjeto de objetos - Construir um modelo de projeto baseado no modelo de análise, mas - Construir um modelo de projeto baseado no modelo de análise, mas

contendo detalhes de implementação.

contendo detalhes de implementação. ExemploExemplo: as operações da classe: as operações da classe Janela Janela são são especificadas em termos do hardware ou sistema operacional existente.

especificadas em termos do hardware ou sistema operacional existente.

• ImplementaçãoImplementação - Traduzir as classes e os relacionamentos em uma linguagem de - Traduzir as classes e os relacionamentos em uma linguagem de

programação, em um banco de dados ou em hardware.

programação, em um banco de dados ou em hardware. ExemploExemplo: codificar a classe: codificar a classe

 Janela

 Janela com emprego de chamadas ao sistema de gráficos. com emprego de chamadas ao sistema de gráficos.

Três modelos

Três modelos

A metodologia TMO propõe três modelos para descrever um sistema. Pela ordem, os A metodologia TMO propõe três modelos para descrever um sistema. Pela ordem, os modelos descrevem

modelos descrevem o queo que está mudando, está mudando, quandoquando e e comocomo ocorrem as modificações: ocorrem as modificações:

• Modelo de ObjetoModelo de Objeto: descreve os objetos e seus relacionamentos através do Diagrama de: descreve os objetos e seus relacionamentos através do Diagrama de

Objetos. Objetos.

• Modelo DinâmicoModelo Dinâmico: descreve os aspectos que se modificam com o tempo através do: descreve os aspectos que se modificam com o tempo através do

Diagrama de Estados. Diagrama de Estados.

• Modelo FuncionalModelo Funcional: descreve as transformações dos valores dos dados através do: descreve as transformações dos valores dos dados através do

Diagrama de Fluxo de Dados. Diagrama de Fluxo de Dados.

Diferenças em relação à

Diferenças em relação à metodologia funcional

metodologia funcional

• Metodologia funcionalMetodologia funcional: ênfase na especificação e decomposição da funcionalidade do: ênfase na especificação e decomposição da funcionalidade do

sistema. Pode parecer mais direto, mas o sistema resultante é frágil. sistema. Pode parecer mais direto, mas o sistema resultante é frágil.

• Metodologia orientada a objetoMetodologia orientada a objeto: ênfase na identificação de objetos e depois nos: ênfase na identificação de objetos e depois nos

procedimentos relativos a eles. Mantém-se mais estável na medida em que os requisitos procedimentos relativos a eles. Mantém-se mais estável na medida em que os requisitos evoluem, pois apoia-se na estrutura fundamental da aplicação.

(6)

2 - A modelagem como técnica de projeto

• Modelos são abstrações construídas para que um problema seja compreendido antes da

implementação da solução.

• Exemplos de modelos: desenho de peças de máquinas, rascunho de anúncios, peças de

vestuário.

Objetivos da construção de modelos

• Testar uma entidade física antes de dar uma forma (são mais baratos) • Comunicação com clientes (imitam uma parte do produto final)

• Visualização (permitem introduzir modificações antes de ter o produto final)

• Redução da complexidade (a mente humana só consegue tratar uma quantidade limitada

de informações)

“Um modelo de objetos, mesmo que seja simplificado, pode ser comparado com o mundo real ou com a aplicação desejada, criticado e melhorado.”

(7)

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

• Uma classe de objetos descreve um grupo de objetos com propriedades semelhantes

(atributos), o mesmo comportamento (operações), os mesmos relacionamentos com outros objetos e a mesma semântica.

• Exemplos: “Pessoa”, “Empresa”, “Animal”, “Processo”, “Janela”.

• Importância da “classe”: as definições comuns são armazenadas somente uma vez em

uma classe, ao invés de serem armazenadas nas instâncias de classes.

• Exemplo: classe “Elipse” com as operações “Desenhar”, “Calcular área” e “Testar

intersecções com uma reta”. Todas as elipses compartilham os mesmos procedimentos definidos na classe “Elipse”.

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

• Descreve classes de objetos. Corresponde a um conjunto infinito de diagramas de

instâncias. Descrevem o quadro geral de modelagem de um sistema.

(8)

• Descreve como as instâncias de classe de um determinado conjunto se relacionam entre

si. São úteis para esclarecer e principalmente testar um diagrama de classes complexo.

• Notação: retângulo com bordas arredondadas. O nome da classe é escrito entre parênteses

e, logo abaixo, o nome da instância.

• Exemplo. Classe “Pessoa”; Objetos (instância de classe): “Maria”, “Pedro”, “Ana”.

Pessoa (Pessoa)Maria (Pessoa)Pedro (Pessoa)

Classe (retângulo) e instâncias de classe (retângulo de borda arredondada)

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)Maria (Pessoa)Pedro

nome: string idade: inteiro

25 52

Classe com atributos e instâncias de classe com valores.

• 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

(9)

• Exemplo: Classe “Empresa”. Operações: “Contratar”, “Despedir”, “Pagar-dividendo”. • Exemplo: Classe “Janela”. Operações: “Abrir”, “Fechar”, “Ocultar”, “Reexibir”.

• Cada operação tem um objeto-alvo. Um objeto “sabe” a qual classe pertence e a correta

implementação dessa operação.

• Operação polimórfica: a mesma operação quando se aplica a classes diferentes. Método:

implementação de uma operação para uma classe.

• Exemplo: classe “Arquivo”, operação “Imprimir”. Um método pode ser implementado

para imprimir arquivo ASCII e outro para imprimir arquivo binário. A tarefa lógica é a mesma: imprimir.

• Cada método pode ser implementado por um diferente trecho de código. Uma operação

pode ter argumentos. Estes servem como parâmetros e não afetam a escolha do método. É preferível evitar o mesmo nome para operações semanticamente diferentes.

• Exemplo: Inverter uma matriz e inverter (colocar de cabeça para baixo) uma figura

geométrica.

• Notação: as operações devem ser colocadas na parte inferior da caixa de classe. • Cada operação pode ser seguida da lista de argumentos e o tipo do resultado. Os

argumentos são escritos entre parênteses e separados por vírgula. O resultado deve ser precedido de “dois pontos”. Se for omitido, indica que a operação não retorna valor.

• Exemplo: classes “Pessoa”, “Arquivo” e “Objeto Geométrico”.

Pessoa Arquivo Objeto geométrico nome

idade nometamanho

última atualização imprimir mudar cargo mudar-endereço cor posição mover (delta:Vetor)

selecionar (p:Ponto): Boolean girar (ângulo)

Classes “Pessoa”, “Arquivo” e “Objeto geométrico”.

• Classe “Pessoa”. Os atributos são “nome”, “idade”. As operações são “mudar-cargo” e

“mudar-endereço”.

• Classe “Arquivo”. Os atributos são “nome”, “tamanho”, ”última atualização”. A operação

é “imprimir”.

• Classe “Objeto geométrico”. Os atributos são “cor” , ”posição”. As operações são

“mover” (com argumento “delta”, que é vetor), “selecionar” (com argumento “p”, que é ponto e retorna um valor booleano) e “girar” (com argumento “ângulo”)

(10)

• Ligações e associações: meios para estabelecer relacionamentos entre objetos.

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.

País (País) (País) (País) nome Canadá França Senegal Cidade nome (Cidade) (Cidade) (Cidade) Ottawa Paris Dakar Diagrama de classes Diagrama de instâncias Tem-capital  Tem-capital  Tem-capital  Tem-capital   Associação e ligações.

• Exemplo. Em aplicações CAD, um problema comum é encontrar redes de conectividade.

Dada uma linha, encontrar todas as linhas que a cortam; dado um ponto de intersecção, encontrar todas as linhas que passam pelo ponto, etc. Considere as linhas L1, L2, L3, L4, L5 e os pontos de interseção P1 e P2. P1 é ponto de interseção de L1, L2 e L3; P2 é ponto de interseção de L3 e L4; L5 não tem interseções.

(11)

L1 L2 L3 L4 L5 P1 P2

 Linhas e pontos de interseção.

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.

Linha  Cruza Ponto

2+

Nome Nome

 Diagrama de classes

(12)

• Associação ternária: associação que envolve três objetos.

• Notação: o símbolo para associação ternária é um losango. O nome da associação,

quando necessário, deve ser escrito junto ao losango.

• Exemplo: Programadores de sistemas utilizam linguagens de programação nos seus

projetos.

Projeto

Pessoa

Linguagem Diagrama de Classe

(Projeto) Sistema Contábil (Projeto) CAD (Linguagem) Cobol (LInguagem) C (Pessoa)

Maria Diagrama de Instâncias

 Diagrama de classe e diagrama de instâncias.

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)

(13)

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.

• Observação importante: a determinação da cardinalidade depende da aplicação. Por

exemplo, uma empresa contrata nenhum ou muitos empregados; um empregado é contratado por nenhuma ou uma empresa. Uma pessoa pode trabalhar para várias empresas, porém o segundo emprego pode ser considerado irrelevante.

Empresa Contrata  Empregado

 Associação com cardinalidade.

A importância das associações

• 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.

Conceitos avançados de ligações e associações

Atributos de Ligação

• Atributo de ligação: propriedade das ligações de uma associação (semelhante a atributos

de objeto).

(14)

• Exemplo: “Permissão de acesso” é um atributo da ligação “Acessível por”, isto é, é

atributo da ligação existente entre instâncias da classe “Arquivo” e instâncias da classe “Usuário”.

 Acessível por 

Arquivo Usuário

permissão de acesso

 /etc/termcap (leitura) João

 /etc/termcap (leitura-escrita) Maria  /usr/doe/.login (leitura-escrita) João

 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

 Associação entre classes.

Forma mais perene

Empresa Trabalha-para  Pessoa

Nome Nome

Endereço Endereço

Salário Cargo

(15)

A modelagem de uma associação como classe

• 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  Autorizado Estação de Trabalho Usuário Prioridade Privilégios Iniciar sessão Diretório básico Diretório

 Associação modelada como classe.

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

(16)

• Notação: o nome é escrito próximo à classe que exerce o papel.

• Exemplo: Uma pessoa assume o papel de “empregado” em relação a uma “empresa”.

Uma empresa assume o papel de “empregador” em relação à “pessoa”. Pessoa empregado empregador Empresa

Trabalha-para

 Nomes de papéis.

• Exemplo: Um diretório pode conter vários diretórios e opcionalmente estar contido em

outro diretório. Cada diretório tem um usuário proprietário, que o criou, e muitos usuários autorizados a utilizá-lo. 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.

(17)

• Agregação: uma forma especial de associação, na qual os objetos que representam as

partes de alguma coisa são associadas a um objeto que representa a estrutura inteira.

• A existência de um objeto componente pode depender (não existe separadamente) da

existência de um objeto do qual ele faz parte. A agregação pode ter um número arbitrário de níveis.

• Notação: a agregação é desenhada como uma associação, com um pequeno losango

próximo à classe que indica o todo.

• Exemplo. Um documento é composto por vários parágrafos, e cada parágrafo é composto

por várias sentenças.

Documento Parágrafo Sentença

Exemplo de agregação.

• Exemplo. Um microcomputador é composto por um ou mais monitores, uma caixa com o

sistema, um mouse opcional e um teclado. A caixa de sistema possui um chassis, uma CPU, muitos objetos RAM e uma ventoinha opcional.

Exemplo de agregação.

(18)

• Generalização e herança: abstrações poderosas para destacar características comuns das

classes, e ao mesmo tempo preservar as diferenças.

• Generalização (ou relacionamento “é-um”): relacionamento entre uma classe e uma ou

mais versões refinadas dela. Superclasse (ou classe geral): classe em processo de

refinamento. Subclasse (ou classe especializada): cada versão refinada. Uma subclasse herda as características da subclasse e pode acrescentar as suas próprias características.

• Notação: um triângulo interligando uma superclasse às suas subclasses.

• Discriminador: termo que indica qual a base usada para a especialização de classes. • Exemplo: Peças de equipamentos.

(19)

Tipo do equipamento

Tipo de bomba

Tipo de tanque

(Bomba de diafragma) (Aparelho de troca de calor) (Tanque de teto flutuante)

Nome = P101 Nome= E302 Nome= T111

Fabricante = Simplex Fabricante= Brown Fabricante= Simplex Peso= 100 Kg Peso= 5000 Kg Peso= 10000 Kg Preço = $5000 Preço=$ 20000 Preço= $50000 Pressão sucção = 1.1 atm Área superfície= Volume= 400000 l Pressão descarga = 3.3 atm Diâmetro tubo= 2 cm Pressão= 1.1 atm Taxa de fluxo = 300 l/h Comprimento tubo= 6 m Diâmetro= 8 m Material diafragma=Teflon Pressão tubo= 15 atm Altura= 9 m

Pressão concha= 1.7 atm Equipamento Nome Fabricante Peso Preço Bomba Pressão de sucção Pressão de descarga Taxa de fluxo

Aparelho de troca de calor Área da superfície Diâmetro do tubo Comprimento do tubo Pressão do tubo Pressão da concha Tanque Volume Pressão Bomba centrífuga Diâmetro do impelidor Número de lâminas Eixo de rotação Bomba de diafragma Material do diafragma Bomba de imersão Comprimento do pistão Diâmetro do pistão Número de cilindros Tanque esférico Diâmetro Tanque pressurizado Diâmetro Altura

Tanque de teto flutuante Diâmetro

(20)
(21)

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:

◊ Colocar não mais de um módulo em uma folha.

◊ Cada generalização ou associação devem aparecer em somente uma folha.

Sugestões para a construção de diagramas

• Antes de iniciar a construção de um modelo, tente compreender o problema a ser

resolvido.

• Mantenha o modelo simples, evitando complicações.

• Escolha nomes com cuidado. Dê preferência à terminologia do usuário.

• Evite associações ternárias e n-árias. A maioria pode ser decomposta em associações

binárias com atributos de ligação.

• Não tente construir cardinalidade perfeita muito cedo. • Não amontoe atributos de ligação em uma classe. • Evite generalizações com excessivo número de níveis.

• Faça sucessivas revisões em seu modelo, melhorando nomes, corrigindo erros,

acrescentando detalhes.

• Peça a outras pessoas para revisarem o seu modelo.

• Documente sempre o modelo. A descrição textual explica porque o modelo foi feito de

um determinado modo.

• Nas classes gerais (superclasses), coloque poucos atributos e operações, para facilitar o

(22)

4. Modelagem avançada de objetos

Agregação

• Agregação: um modo de associação forte na qual um objeto agregado é feito de

componentes.

• Fisicamente um agregado é composto por objetos menores (partes).

• Cada relacionamento todo-partes é tratado separadamente para enfatizar a semelhança

com a associação.

• A decisão de usar “agregação” é muitas vezes arbitrária.

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?

• As agregações incluem explosões em suas partes constituintes. Exemplo: uma empresa é

uma agregação de divisões, que são agregações de departamentos, porém não é uma agregação de seus empregados, uma vez que “Empresa” e “Pessoa” são objetos independentes.

Empresa Divisão Departamento

Trabalha para Pessoa

(23)
(24)

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.

Exemplo de agregação e generalização.

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.

Possui cópia cópia

Lâmpada

Fluorescente Incandescente

Cobertura Interruptor Fiação Base

Contra-peso Braço

(25)

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 valor recebido no ano

calcular pagamento {abstrata}

Horista Assalariado Autônomo salário hora salário semanal salário mensal salário hora extra

calcular pagamento calcular pagamento calcular pagamento

(26)

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.

• Exemplo: “Veículo Anfíbio” tanto é um “Veículo Aquático” quanto um “Veículo

Terrestre”.

Veículo

Terrestre Aquático

Automóvel Anfíbio Barco

(27)

Lista de Exercícios

1. Descubra classes de objetos potenciais em uma Biblioteca.

2. Descubra semelhanças e diferenças entre: “tenda, caverna, barraco, garagem, celeiro, casa, arranha-céu”.

3. Descubra semelhanças e diferenças entre: “bicicleta, veleiro, carro, caminhão, avião,  planador, motocicleta, cavalo”.

4. Descubra semelhanças e diferenças entre: “ prego, parafuso, pino, rebite.”

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.”

7. Elabore um diagrama de classe para: “Alunos matriculam-se em disciplinas que são ministradas por professores.”

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”.

9. Prepare um diagrama de classes para o diagrama de instâncias abaixo:

(País) Limita-se  (País) Limita-se (País) Espanha França Bélgica

10. Desenhe, dê nomes e acrescente cardinalidade para 4 associações entre partido político e cidadão.

11. Elabore um diagrama de classe para: “Todo barco é composto de um casco e opcionalmente um motor .”

(28)

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.”

16.Classifique os relacionamentos abaixo em generalização, agregação ou associação. Podem existir associações ternárias ou n-árias, portanto não presuma que todo

relacionamento envolvendo três ou mais classes seja uma generalização. Defenda suas respostas.

a) Um país possui uma capital.

b) Um filósofo à mesa de jantar está usando uma faca.

c) Um arquivo pode ser um arquivo comum ou um arquivo-diretório. d) Arquivos contém registros

e) Um polígono é composto por um conjunto ordenado de pontos.

 f) Um objeto de desenho pode ser um texto, um objeto geométrico ou um grupo. g) Um estudante freqüenta uma disciplina ministrada por um professor.

h) Uma pessoa utiliza uma linguagem de programação em um projeto i) Os modems e os teclados são dispositivos de entrada/saída

 j)  As classes podem ter diversos atributos.

k) Um atleta joga em uma equipe em um determinado ano. l) Uma estrada interliga duas cidades.

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.

18. Elabore um diagrama mostrando associação, agregação, generalização e cardinalidade entre as seguintes classes: “arquivo, diretório, arquivo ASCII, arquivo binário, disco, disco flexível, disco rígido, unidade de disco, trilha, setor, caractere.” Coloque nomes e cardinalidade nas associações, nomes de papéis (se for necessário) e discriminador.

19. Elabore um diagrama de classes mostrando associações, agregações e generalizações para o problema a seguir. Inclua atributos e operações. “ A empresa XYK promove cursos de Informática. A cada trimestre a empresa divulga um cronograma de cursos. Todos os cursos têm um número limitado de 10 vagas, a mesma carga horária (20 horas) e são

(29)

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.”

20. Em qual situação você sugere a construção de um diagrama de instância? Justifique. 21. Dado o diagrama abaixo, desenhe um diagrama de instância para Passageiro,

Caminhão e Moto.

22. Explique a diferença fundamental entre o diagrama de classe e o diagrama de instância. 23. Dado o diagrama de classe abaixo, desenhe um diagrama de instância para Professor,

Administrativo e Aluno. Veículo Marca Ano Cor Combustível Pessoa Nome Endereço Idade Sexo Passageiro Nro. passageiro Funcionário Caminhão Peso da carga Moto Aluno Nro. registro acadêmico

(30)

24. Explique em detalhes o significado do diagrama: {ordenado}

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 consoantepara: “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.”

27.Atividade de Pesquisa. Elabore um diagrama de hierarquia de herança multinivelada com instâncias semelhante ao apresentado em classe (“Equipamentos”). Desenhe pelo menos três níveis hierárquicos. Acrescente tipo de dados aos atributos.

28. Mostre que o diagrama abaixo pode ser reduzido a uma associação binária.

Vendedor Produto Cliente BARALHO CARTA Naipe Valor

(31)

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

partida de avião (empresa aérea, número de vôo, cidade) botão do mouse apertado (botão, localização)

string de entrada introduzido (texto) telefone levantado

dígito discado (dígito)

velocidade da máquina penetrou em zona de perigo

• 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

(32)

• 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.

Exemplo: cenário para utilização de uma linha telefônica

pessoa que chama (chamador) retira o fone do gancho começa o sinal de discar

chamador disca um número (5) sinal de discar pára

chamador disca um número (5) chamador disca um número (5) chamador disca um número (1) chamador disca um número (2) chamador disca um número (3) chamador disca um número (4) telefone chamado começa a tocar

ouve-se o tilintar do telefone chamado pessoa chamada atende

telefone chamado pára de tocar

som de chamada desaparece do telefone chamador telefones são interligados

pessoa chamada desliga telefones são desligados chamador desliga

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

(33)

Exemplo: diagrama de eventos para uma chamada telefônica.

Linha telefônica

 levanta o fone do gancho inicia o sinal de linha

disca (5)

termina o sinal de linha disca (5) disca (5) disca (1) disca (2) disca (3) disca (4)

sinal de chamada o telefone toca

atende o telefone

o sinal pára pára de tocar

linha conectada linha conectada

coloca o fone no gancho quebra de conexão

Pessoa liga Pessoa atende

coloca o fone no gancho

quebra de conexão

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.

(34)

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.

Exemplo: alarme soando em um relógio.

• Nome do estado: alarme soando.

• Descrição: o alarme do relógio está soando para indicar o momento visado • Seqüência de eventos que produz o estado:

⇒Preparar o alarme (momento visado)

⇒Qualquer seqüência exclusive desligar o alarme ⇒Momento atual = momento visado

• Condição que caracteriza o estado: alarme = ligado e momento visado < = momento atual

< = momento visado + 20 segundos e nenhum botão apertado desde o momento visado.

• Eventos aceitos no estado:

(35)

momento atual = momento visado + 20 reajustar alarme normal botão pressionado (qualquer botão) reajustar alarme normal

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”.

(36)

• 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.

(37)

• 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.

Exemplo: jogo de xadrez.

Início Vez das cheque-mate Pretas

brancas vencem

empate forçado

pretas brancas Empate

 jogam jogam Vez das

pretas empate forçado

Brancas cheque-mate vencem

(38)

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.

Exemplo: tráfego terrestre

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

(39)

• 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 “/ “.

Exemplo: menu instantâneo

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 “/”.

(40)

Relacionamento entre os modelos de classe e dinâmico.

• O modelo dinâmico especifica as seqüências possíveis de modificações nos objetos. • O diagrama de estado descreve uma parte do comportamento dos objetos de uma classe. • Estado relacionam-se aos atributos dos objetos.

• Eventos podem ser representados como operações no modelo de classe.

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

(41)

Exercícios

1. Para que serve o diagrama de transição de estados?

2. Descreva os principais conceitos e ferramentas do modelo dinâmico.

3. Como o diagrama de transição de estados se relaciona com o diagrama de classes? 4. Para qual tipo de sistema o diagrama de transição de estados é considerado uma boa

ferramenta de modelagem? Justifique!

5. O que é um cenário? Elabore um cenário para uma consulta de saldo em um caixa automático.

6. Qual é a definição de “estado”? O que é uma mudança de estado? Como a mudança de estado é mostrada no diagrama de transição de estado?

7. Qual é a definição de “evento”? Como a ocorrência do evento é mostrada no diagrama de transição de estado?

8. O que são condições em um diagrama de transição de estados? Como são mostradas? 9. Qual a diferença entre ação e atividade? Como são mostradas no diagrama?

10.Nas afirmações abaixo, coloque certo (C) ou errado (E), justificando as erradas. ( ) Cenário é uma sequência de eventos.

( ) Atividade é uma operação instantânea e está associada a um evento. ( )Endereço de cobrança de cliente é um estado aceitável.

( ) As operações em uma classe podem ser classificadas emação e atividade. ( ) Toda classe deve ter um diagrama de estados associado a ela.

( ) Vários objetos trocam eventos em um diagrama de eventos ( ) Tecla ESC pressionada é um evento aceitável.

( ) Uma atividade é normalmente invocada quando o objeto muda de estado. ( ) Somente um evento pode ocorrer em um estado.

( ) Uma condição impede a ocorrência de um evento. ( ) Uma condição impede a transição de estado.

( ) Ação é uma operação demorada e está associada a um estado. ( ) Um evento com condição de guarda nunca dispara uma transição.

( ) Pode ocorrer um evento em um estado e o objeto permanecer nesse estado. ( ) Evento corresponde a um estímulo externo ao sistema.

(42)

13. Elabore um diagrama de transição de estados para um semáforo. 14. Elabore um diagrama de transição de estados para uma lâmpada.

15. Explique em detalhes quando haverá transição do estado “Ligada/inativa” para o estado

“Aguardando”.

Toque do telefone [quinto toque]

16. Explique o significado de: “tempo decorrido [carros nas vias esquerdas N/S]” no trecho de diagrama abaixo.

Tempo decorrido [carros nas vias esquerdas N/S]

17. Explique o que está errado no diagrama abaixo.

C [calcular taxa de envio de dados] D A B

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

Ligada/inativa Estado 1 Estado 1 Aguardando Estado 2 Estado 2 Estado 3 Estado 4

(43)

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.

Desligar chave Liberar

21.Elabore um diagrama de transição de estados para o controle de uma secretária eletrônica, que responde às chamadas telefônicas com um aviso pré-gravado. Uma chamada telefônica é detectada mas a secretária somente responde com o aviso

pré-gravado se o telefone não for atendido até o quinto toque da campainha. Se o telefone for atendido antes do quinto toque, a secretária desliga.Quando o aviso da secretária termina, a mensagem de quem chamou é gravada. Quando o chamador desliga, a secretária

também desliga. O chamador pode desligar o telefone enquanto a secretaria estiver avisando. Neste caso, a secretária também desliga.

22.Elabore um diagrama de estados para o calibrador de pneu. O calibrador de pneu indica uma certa medida de pressão. Quando um novo pneu é calibrado, um novo ajuste de

pressão pode ser necessário. O ajuste é feito pressionando-se dois botões, A e B, com um leve toque. O botão A aumenta o indicador de pressão em uma unidade e o botão B

diminui em uma unidade. Quando a pressão atual do pneu é detectada, o calibrador

automaticamente ajusta a pressão do pneu segundo a medida de seu indicador. Note que a pressão do pneu pode estar menor, igual ou maior do que a medida do indicador. Se a pressão do pneu estiver menor, o pneu será enchido até a pressão do indicador. Se a

pressão estiver maior, o pneu será esvaziado até a pressão do indicador. Se for igual, nada ocorrerá.

23.Elabore um diagrama de estados para o relógio digital simples. O relógio tem um visor, dois botões para ajustá-lo, “A” e “B”, e três estados operacionais: “exibindo hora”,

“acertando hora” e “acertando minuto”. No estado “exibindo hora”, as horas e minutos são mostrados, separados por dois pontos piscantes. O botão “A” é usado para mudar os estados. A cada vez que é acionado, a mudança ocorre na sequência: “exibindo hora”, “acertando hora”, “acertando minuto”, “exibindo hora”, etc. Nos estados “acertando hora” e “acertando minuto”, o botão “B” é usado para avançar as horas ou minutos uma

Desligada Partida

Referências

Documentos relacionados

[r]

Os autores relatam a primeira ocorrência de Lymnaea columella (Say, 1817) no Estado de Goiás, ressaltando a importância da espécie como hospedeiro intermediário de vários parasitos

É perceptível, desta forma, o constante aumento do aprofundamento dos personagens: os “príncipes” têm agora não só nome e falas, mas personalidades bem desenvolvidas,

A nutrição enteral (NE), segundo o Ministério da Saúde do Brasil, designa todo e qualquer “alimento para fins especiais, com ingestão controlada de nutrientes, na forma isolada

Os candidatos reclassificados deverão cumprir os mesmos procedimentos estabelecidos nos subitens 5.1.1, 5.1.1.1, e 5.1.2 deste Edital, no período de 15 e 16 de junho de 2021,

potencialmente porque não são entendidos como tal pela maioria da população e porque não estão classificados — e, em parte, a uma lacuna consistente relativa à formação de

Desta maneira, observando a figura 2A e 2C para os genótipos 6 e 8, nota-se que os valores de captura da energia luminosa (TRo/RC) são maiores que o de absorção (ABS/RC) e

tidos para o Coefi ciente de Efi cácia Protéica para o leite de búfala, vaca e caseína como padrão, verifi caram que a caseína e o leite de vaca, não apresentaram diferença