Você está na página 1de 80

2

Introdução à
programação
em  C++

Copyright © 2006 by Pearson Education


OBJETIVOS
Neste capítulo, você aprenderá:
 A escrever programas de computador simples em
C++.
 A escrever instruções de entrada e saída simples.
 A utilizar tipos fundamentais.
 Os conceitos básicos de memória de computador.
 A utilizar operadores aritméticos.
 A precedência dos operadores aritméticos.
 A escrever instruções de tomada de decisão
simples.

2
Copyright © 2006 by Pearson Education
2.1 Introdução

• Programação em C++
– Torna mais fácil a adoção de um enfoque disciplinado ao
projeto de programação de computadores.
– Os programas processam informações e exibem os
resultados.
• Cinco exemplos demonstram
– Como exibir mensagens.
– Como obter informações do usuário.
– Como executar cálculos aritméticos.
– Como tomar decisões.

3
Copyright © 2006 by Pearson Education
2.2 Primeiro programa C++: imprimindo
uma linha de texto
• Programa simples
– Imprime uma linha do texto.
– Ilustra vários recursos importantes da linguagem C++.

4
Copyright © 2006 by Pearson Education
2.2 Primeiro programa C++: imprimindo
uma linha de texto (cont.)
• Comentários
– Explicam os programas a outros programadores.
• Melhoram a leitura do programa.
– São ignorados pelo compilador.
– Comentário de uma única linha
• Inicia-se com //
• Exemplo
– // Programa de impressão de texto.
– Comentário de múltiplas linhas
• Inicia-se com /*
• Termina com */

5
Copyright © 2006 by Pearson Education
Resumo
fig02_01.cpp
Diretiva do pré-processador para
A função main retorna um incluir o arquivo de cabeçalho de
valor inteiro. fluxo de entrada e saída
<iostream>

Comentários de uma única linha

A função main aparece exatamente uma vez


em cada programa C++.

A chave esquerda { inicia


o corpo da função.

Operador de Declarações end


inserção de fluxo com um ponto-e-
vírgula ;
A chave direita O nome cout pertence ao namespace std
correspondente } termina
o corpo da função.

A palavra-chave return é um dos vários meios de sair de uma


função; o valor 0 indica que o programa terminou com sucesso. 6
Copyright © 2006 by Pearson Education
Boa prática de programação 2.1

Todo programa deve começar com um comentário


que descreve o propósito do programa, o autor, a
data e a hora. (Não estamos mostrando o autor, a
data e a hora nos programas deste livro porque essas
informações seriam redundantes.)

7
Copyright © 2006 by Pearson Education
2.2 Primeiro programa C++: imprimindo
uma linha de texto (cont.)
• Diretivas de pré-processador
– São processadas pelo pré-processador antes da compilação.
– Começam com #
– Exemplo
• #include <iostream>
– Instrui o pré-processador a incluir o arquivo de
cabeçalho de fluxo de entrada/saída <iostream>
• Espaços em branco
– Linhas em branco e caracteres de espaço em branco e de
tabulação.
– São usados para tornar os programs mais fáceis de ler.
– São ignorados pelo compilador.
8
Copyright © 2006 by Pearson Education
Erro comum de programação 2.1

Esquecer de incluir o arquivo de cabeçalho


<iostream> em um programa que realiza a entrada
de dados pelo teclado ou a saída de dados pela tela
faz com que o compilador emita uma mensagem de
erro, porque o compilador não consegue reconhecer
referências aos componentes do fluxo (por exemplo,
cout).

9
Copyright © 2006 by Pearson Education
Boa prática de programação 2.2

Usar linhas em branco e caracteres de espaço em


branco para melhorar a legibilidade do
programa.

10
Copyright © 2006 by Pearson Education
2.2 Primeiro programa C++: imprimindo
uma linha de texto (cont.)
• Função main
– É uma parte de todo programa C++.
• Em um programa, deve haver precisamente uma função
main.
– Pode ‘retornar’ um valor.
– Exemplo
• int main()
– Essa função main retorna um inteiro (um número
inteiro).
– O corpo é delimitado por chaves ({}).
• Instruções
– Instruem o programa a executar uma ação.
– Todas as instruções terminam com um ponto-e-vírgula (;).
11
Copyright © 2006 by Pearson Education
2 2.2 Primeiro programa C++: imprimindo
uma linha de texto (cont.)
• Namespace
– std::
• Especifica que se deve usar um nome que pertence ao
‘namespace’ std.
• Pode ser removido por meio de instruções using.
• Objeto de fluxo de saída padrão
– std::cout
• Está ‘conectado’ à tela.
• É definido no arquivo de cabeçalho de fluxo de entrada/saída
<iostream>.

12
Copyright © 2006 by Pearson Education
2.2 Primeiro programa C++: imprimindo
uma linha de texto (cont.)
• Operador de inserção de fluxo <<
– O valor à direita (operando da direita) é inserido no
operando da esquerda.
– Exemplo
• std::cout << "Hello";
– Insere a string "Hello" na saída-padrão.
• Exibe-a na tela.
• Caracteres de escape
– Caracter precedido por "\"
• Indica uma saída de caractere ‘especial’.
– Exemplo
• "\n"
– O cursor se move para o início da linha seguinte na tela.
13
Copyright © 2006 by Pearson Education
Erro comum de programação 2.2

Omitir o ponto-e-vírgula no fim de uma instrução C++


é um erro de sintaxe. (Repetindo, as diretivas de pré-
processador não terminam em um ponto-e-vírgula.) A
sintaxe de uma linguagem de programação especifica
as regras para a criação de um programa apropriado
nessa linguagem. Ocorre um erro de sintaxe quando o
compilador encontra um código que viola as regras da
linguagem C++ (isto é, sua sintaxe). O compilador
normalmente emite uma mensagem de erro para
ajudar o programador a localizar e corrigir códigos
incorretos. (cont.)

14
Copyright © 2006 by Pearson Education
Erro comum de programação 2.2

Os erros de sintaxe são também chamados de erros de


compilador, erros em tempo de compilação ou erros
de compilação, porque o compilador os detecta
durante a fase de compilação. Você não poderá
executar seu programa enquanto não corrigir todos os
erros de sintaxe existentes. Como verá, alguns erros
de compilação não são erros de sintaxe.

15
Copyright © 2006 by Pearson Education
2.2 Primeiro programa C++: imprimindo
uma linha de texto (cont.)
• Instrução return
– Uma das várias formas de sair de uma função.
– Quando usada no fim de main
• O valor 0 indica que o programa terminou com sucesso.
• Exemplo
– return 0;

16
Copyright © 2006 by Pearson Education
Boa prática de programação 2.3

Muitos programadores tornam o último


caractere impresso por uma função um caractere
de nova linha (\n). Isso assegura que a função
mantenha o cursor de tela posicionado no início
de uma nova linha. Convenções dessa natureza
estimulam a reusabilidade de software — um
objetivo-chave no desenvolvimento de software.

17
Copyright © 2006 by Pearson Education
Fig. 2.2 | Seqüências de escape.

18
Copyright © 2006 by Pearson Education
Boa prática de programação 2.4

Recue o corpo inteiro de cada função um nível


para dentro das chaves que delimitam o corpo
da função. Isso faz com que a estrutura
funcional de um programa se destaque e ajuda a
tornar o programa mais fácil de ler.

19
Copyright © 2006 by Pearson Education
Boa prática de programação 2.5

Defina uma convenção para o tamanho de recuo


preferido, então aplique-a uniformemente. A
tecla Tab pode ser utilizada para criar recuos,
mas as paradas de tabulação podem variar.
Recomendamos utilizar paradas de tabulação
de ¼ de polegada (0,63 cm) ou (preferivelmente)
três espaços para formar um nível de recuo.

20
Copyright © 2006 by Pearson Education
2.3 Modificando nosso primeiro
programa C++
• Dois exemplos
– Imprimindo texto em um linha por meio de múltiplas
instruções (Fig. 2.3)
• Toda inserção de fluxo retoma a impressão do ponto em que
a anterior parou.
– Imprimindo texto em múltiplas linhas por meio de uma
única instrução (Fig. 2.4)
• Toda seqüência de escape de uma nova linha posiciona o
cursor no começo da linha seguinte.
• Dois caracteres de nova linha um após o outro produzem
uma linha em branco.

21
Copyright © 2006 by Pearson Education
Resumo
fig02_03.cpp

Múltiplas instruções de inserção de


fluxo produzem uma linha na saída.

22
Copyright © 2006 by Pearson Education
Resumo
fig02_04.cpp

Usam caracteres de nova linha para imprimir múltiplas linhas.

23
Copyright © 2006 by Pearson Education
2.4 Outro programa C++: adicionando
inteiros
• Variáveis
– Local na memória em que pode ser armazenado um valor.
– Tipos de dados comuns (fundamental, primitivo ou
predefinido)
• int – números inteiros
• char – caracteres
• double – números de ponto flutuante
– Declare as variáveis com um nome e um tipo de dado antes
de usar
• int integer1;
• int integer2;
• int sum;

24
Copyright © 2006 by Pearson Education
Resumo
fig02_05.cpp

Declaram variáveis inteiras.

Usam um operador de extração de fluxo com uma


saída-padrão para obter uma entrada do usuário.

O manipulador de fluxo std::endl


gera uma nova linha e, em seguida,
‘esvazia o buffer de saída’.

Operações de inserção de fluxo por


concatenação, encadeamento ou em cadeia. 25
Copyright © 2006 by Pearson Education
2.4 Outro programa C++: adicionando
inteiros
• Variáveis (cont.)
– Você pode declarar diversas variáveis do mesmo tipo em
uma mesma declaração.
• Lista separada por vírgula
• int integer1, integer2, sum;
– Nome de variáveis
• Identificador válido
– Série de caracteres (letras, dígitos, sublinhados).
– Não pode iniciar com dígito.
– Faz distinção entre letras maiúsculas e minúsculas.

26
Copyright © 2006 by Pearson Education
Boa prática de programação 2.6

Insira um espaço logo após as vírgulas (,) para


tornar os programas mais legíveis.

27
Copyright © 2006 by Pearson Education
Boa prática de programação 2.7

Alguns programadores preferem declarar cada


variável em uma linha separada. Esse método
permite inserir facilmente um comentário
descritivo ao lado de cada declaração.

28
Copyright © 2006 by Pearson Education
Dica de portabilidade 2.1

O C++ permite identificadores de qualquer


comprimento, mas a sua implementação do C++
pode impor algumas restrições ao comprimento
dos identificadores. Utilize identificadores de 31
caracteres ou menos para manter a portabilidade.

29
Copyright © 2006 by Pearson Education
Boa prática de programação 2.8

Escolher identificadores significativos ajuda a


tornar o programa auto-explicativo — uma
pessoa consegue entender o programa lendo-o,
simplesmente, sem precisar consultar manuais
ou comentários.

30
Copyright © 2006 by Pearson Education
Boa prática de programação 2.9

Evite usar abreviações nos identificadores, para,


desse modo, aumentar a legibilidade do programa.

31
Copyright © 2006 by Pearson Education
Boa prática de programação 2.10

Evite identificadores que iniciem com sublinhados


e sublinhados duplos, porque os compiladores C++
podem utilizar nomes semelhantes para propósitos
internos. Isso impedirá que os nomes por você
escolhidos confundam-se com nomes escolhidos
pelos compiladores.

32
Copyright © 2006 by Pearson Education
Dica de prevenção de erro 2.1

Linguagens como C++ são ‘alvos móveis’. Quanto


mais evoluem, mais palavras-chave são adicionadas
à linguagem. Evite utilizar palavras ‘intencionadas’
como ‘object’ para identificadores. Ainda que
‘object’ não seja atualmente uma palavra-chave em
C++, poderia vir a se tornar; portanto, uma futura
compilação com novos compiladores poderia
quebrar o código existente.

33
Copyright © 2006 by Pearson Education
Boa prática de programação 2.11

Sempre coloque uma linha em branco entre uma


declaração e instruções executáveis adjacentes. Isso
faz com que as declarações se destaquem e torna o
programa mais claro.

34
Copyright © 2006 by Pearson Education
Boa prática de programação 2.12

Se preferir colocar as declarações no começo de


uma função, separe-as das instruções executáveis
nessa função com uma linha em branco para
destacar em que lugar as declarações terminam
e as instruções executáveis iniciam.

35
Copyright © 2006 by Pearson Education
2.4 Outro programa C++: adicionando
inteiros (cont.)
• Objeto de fluxo de entrada
– std::cin from <iostream>
• Em geral está conectado ao teclado.
• Operador de extração de fluxo >>
– Espera o usuário inserir um valor e pressionar a tecla
Enter (Return).
– Armazena um valor na variável à direita do operador.
• Converte o valor no tipo de dado da variável.
• Exemplo
– std::cin >> number1;
• Lê um inteiro digitado no teclado.
• Armazena o inteiro na variável number1.

36
Copyright © 2006 by Pearson Education
Dica de prevenção de erro 2.2

Os programas devem validar a correção de todos


os valores de entrada para impedir que
informações errôneas afetem os cálculos de um
programa.

37
Copyright © 2006 by Pearson Education
2.4 Outro programa C++: adicionando
inteiros (cont.)
• Operador de atribuição =
– Atribui um valor à esquerda à variável à direita.
– Operador binário (dois operandos).
– Exemplo:
• sum = variable1 + variable2;
– Acrescenta os valores variable1 e variable2.
– Armazena o resultado em sum.
• Manipulador de fluxo std::endl
– Gera um nova linha.
– Esvazia o buffer de saída.

38
Copyright © 2006 by Pearson Education
Boa prática de programação 2.13

Insira espaços em ambos os lados de um operador


binário. Isso faz com que o operador fique
destacado e torna o programa mais legível.

39
Copyright © 2006 by Pearson Education
2.4 Outro programa C++: adicionando
inteiros (cont.)
• Concatenando operações de inserção de fluxo
– Use múltiplas operações de inserção de fluxo em uma única
instrução.
• A operação de inserção de fluxo sabe como gerar cada tipo de dado.
– Essa operação é também conhecida por encadeamento ou em
cascata.
– Exemplo
• std::cout << "Sum is " << number1 + number2
<< std::endl;
– Gera "Sum is "
– Em seguida, gera a soma de number1 e number2.
– Posteriormente, gera nova linha e esvazia o buffer de
saída.

40
Copyright © 2006 by Pearson Education
2.5 Conceitos de memória
• Nomes de variável
– Correspondem ao local real na memória do computador.
• Cada variável tem um nome, tipo, tamanho e valor.
– Quando um novo valor é inserido na variável, esse valor
sobrescreve o anterior.
• Gravar na memória é destrutível.
– Ler variáveis da memória não é destrutível.
– Exemplo
• sum = number1 + number2;
– O valor de sum é sobrescrito.
– Os valores de number1 e number2 permanecem
intactos.
41
Copyright © 2006 by Pearson Education
Fig. 2.6 | Posição da memória mostrando o nome e o valor da variável number1.

42
Copyright © 2006 by Pearson Education
Fig. 2.7 | Posições da memória depois de armazenar os valores para number1 e
number2.

43
Copyright © 2006 by Pearson Education
Fig. 2.8 | Posições da memória depois de calcular e armazenar a sum de number1 e
number2.

44
Copyright © 2006 by Pearson Education
2.6 Aritmética
• Operadores aritméticos
– *
• Multiplicação
– /
• Divisão
• A divisão de um inteiro trunca o restante.
– 7 / 5 estima o valor como 1
– %
• O operador módulo retorna o restante.
– 7 % 5 estima o valor como 2

45
Copyright © 2006 by Pearson Education
Erro comum de programação 2.3

Tentar usar o operador módulo (%) com operandos


não inteiros constitui erro de compilação.

46
Copyright © 2006 by Pearson Education
2.6 Aritmética (cont.)
• Forma em linha reta
– Essencial para expressões aritméticas em C++.
– Todas as constantes, variáveis e operadores aparecem em
uma linha reta.
• Agrupando subexpressões
– Os parênteses são usados em expressões C++ para agrupar
subexpressões.
• Mesmo procedimento das expressões algébricas.
– Exemplo
•a * ( b + c )
– Mutiplica a vezes a quantidade b + c.

47
Copyright © 2006 by Pearson Education
Fig. 2.9 | Operadores aritméticos.

48
Copyright © 2006 by Pearson Education
2.6 Aritmética (cont.)
• Regras de precedência de operadores
– Os operadores entre parênteses são avaliados primeiro.
• Parênteses aninhados/embutidos
– Os operadores no par mais interno de parênteses são
aplicados primeiro.
– Operações de multiplicação, divisão e módulo são
aplicadas em seguida.
• Os operadores são aplicados da esquerda para a direita.
– Operações de adição e subtração são aplicadas por último.
• Os operadores são aplicados da esquerda para a direita.

49
Copyright © 2006 by Pearson Education
Fig. 2.10 | Precedência de operadores aritméticos.

50
Copyright © 2006 by Pearson Education
Erro comum de programação 2.4

Algumas linguagens de programação utilizam os


operadores ** ou ^ para representar a
exponenciação. O C++ não suporta esses
operadores de exponenciação; utilizá-los em
operações de exponenciação provoca erros.

51
Copyright © 2006 by Pearson Education
Boa prática de programação 2.14

Utilizar parênteses redundantes em expressões


aritméticas complexas pode tornar as expressões
mais claras.

52
Copyright © 2006 by Pearson Education
Fig. 2.11 | Ordem em que um polinômio de segundo grau é avaliado.

53
Copyright © 2006 by Pearson Education
2.7 Tomada de decisão: operadores de
igualdade e operadores relacionais
• Condição
– A expressão pode ser tanto true quanto false.
– Pode ser formada usando operadores de igualdade ou
relacionais.
• Instrução if
– Se a condição for true, o corpo da instrução if será
executado.
– Se a condição for false, o corpo da instrução if não será
executado.

54
Copyright © 2006 by Pearson Education
Fig. 2.12 | Operadores de igualdade e operadores relacionais.

55
Copyright © 2006 by Pearson Education
Erro comum de programação 2.5

Ocorrerá um erro de sintaxe se algum dos


operadores ==, !=, >= e <= aparecer com espaços
entre seu par de símbolos.

56
Copyright © 2006 by Pearson Education
Erro comum de programação 2.6

Inverter a ordem do par de símbolos em algum dos


operadores !=, >= e <= (escrevendo-os como =!, =>
e =<, respectivamente) constitui, em geral, um erro
de sintaxe. Em alguns casos, escrever != como =!
não constitui erro de sintaxe, mas, quase
certamente, um erro de lógica que tem um efeito
em tempo de execução. (cont.)

57
Copyright © 2006 by Pearson Education
Erro comum de programação 2.6

Você entenderá a razão disso quando for


aprender a utilizar operadores lógicos, no
Capítulo 5. Um erro de lógica fatal faz com que
um programa falhe e termine prematuramente.
Um erro de lógica não fatal permite que um
programa continue em execução, mas geralmente
gera resultados incorretos.

58
Copyright © 2006 by Pearson Education
Erro comum de programação 2.7
Confundir o operador de igualdade == com o
operador de atribuição = gera erros de lógica. O
operador de igualdade deve ser lido como ‘é igual
a’, e o operador de atribuição deve ser lido como
‘obtém’ ou ‘obtém o valor de’ ou ‘recebe o valor
de’. Algumas pessoas preferem ler o operador de
igualdade como ‘duplo igual’. Como discutimos na
Seção 5.9, confundir esses operadores talvez não
cause necessariamente um erro de sintaxe fácil de
reconhecer, mas pode causar erros de lógica
extremamente sutis.

59
Copyright © 2006 by Pearson Education
Resumo
fig02_13.cpp
(1 de 2)

As declarações using eliminam a


necessidade do prefixo std::

Declaram variáveis.

Podem escrever cout e cin sem o prefixo std::

A instrução if compara os valores de


number1 e number2 para testar a igualdade.

Se a condição for true (isto é, os valores


forem iguais), ela executa esta instrução.

Se a condição for true (isto é, se os valores


não forem iguais), ela executa esta instrução.

A instrução if compara os
valores de number1 e
Compara dois números usando os number2 para testar a
operadores relacionais < e > desigualdade. 60
Copyright © 2006 by Pearson Education
Resumo
fig02_03.cpp
Compara dois (2 de 2)
números usando os
operadores relacionais
<= e >=

61
Copyright © 2006 by Pearson Education
Boa prática de programação 2.15

Coloque declarações using imediatamente após o


#include ao qual elas estiverem se referindo.

62
Copyright © 2006 by Pearson Education
Boa prática de programação 2.16

Recue a(s) instrução(ões) no corpo de uma


instrução if para melhorar a legibilidade.

63
Copyright © 2006 by Pearson Education
Boa prática de programação 2.17

Por motivos de legibilidade, não deve haver mais


de uma instrução por linha em um programa.

64
Copyright © 2006 by Pearson Education
Erro comum de programação 2.8
Colocar um ponto-e-vírgula imediatamente após o
parêntese direito depois da condição em uma instrução
if costuma ser um erro de lógica (embora não seja um
erro de sintaxe). O ponto-e-vírgula faz com que o corpo
da instrução if se esvazie. Assim, a instrução if não
realiza nenhuma ação, independentemente de sua
condição ser verdadeira ou falsa. Pior ainda, a
instrução original do corpo da instrução if poderia se
tornar uma instrução em seqüência com a instrução if e
sempre seria executada, o que faz com que o programa
freqüentemente produza resultados incorretos.

65
Copyright © 2006 by Pearson Education
Erro comum de programação 2.9

Constitui um erro de sintaxe dividir um


identificador inserindo caracteres de espaço em
branco (por exemplo, escrever main como
ma in).

66
Copyright © 2006 by Pearson Education
Boa prática de programação 2.18
Uma instrução longa pode se estender por várias
linhas. Se uma única instrução precisar ter sua
linha quebrada, escolha pontos de quebra
significativos, como após uma vírgula em uma
lista separada por vírgulas ou após um operador
em uma expressão extensa. Se uma instrução se
estender por duas ou mais linhas, recue todas as
linhas subseqüentes e alinhe o grupo à esquerda.

67
Copyright © 2006 by Pearson Education
Fig. 2.14 | Precedência e associatividade dos operadores discutidos até agora.

68
Copyright © 2006 by Pearson Education
Boa prática de programação 2.19
Consulte o gráfico de precedência e associatividade de
operadores ao escrever expressões que contenham
muitos operadores. Confirme se os operadores na
expressão são realizados na ordem em que você espera.
Se não estiver certo quanto à ordem de avaliação em
uma expressão complexa, divida a expressão em
instruções menores ou utilize parênteses para forçar a
ordem de avaliação, exatamente como faria em uma
expressão algébrica. Lembre-se de que alguns
operadores, como atribuição (=), associam da direita
para a esquerda, e não da esquerda para a direita.

69
Copyright © 2006 by Pearson Education
2.8 Estudo de caso de engenharia de
software: examinando o documento de
requisitos de ATM (opcional)
• Processo de um projeto orientado a objetos
(OOD) utilizando UML
– Executado nos Capítulos 3-7, 9 e 13.
– Documento de requisitos
• Especifica o propósito geral e o que o sistema deve fazer.
• Implementação de uma programação orientada a
objetos (OOP)
– Implementação completa no Apêndice G.

70
Copyright © 2006 by Pearson Education
2.8 Estudo de caso de engenharia de
software: examinando o documento de
requisitos de ATM (opcional) (cont.)
• Documento de requisitos
– Novo caixa eletrônico (ATM).
– Permite transações financeiras básicas.
• Exibe o saldo e permite que o usuário faça saques e depósitos.
– Interface com o usuário
• Tela, teclado numérico, dispensador de cédulas e
compartimento de depósito.
– Sessão do ATM
• Autentica o usuário e executa transações financeiras.

71
Copyright © 2006 by Pearson Education
Fig. 2.15 | A interface com o usuário do caixa eletrônico.

72
Copyright © 2006 by Pearson Education
Fig. 2.16 | Menu principal do ATM.

73
Copyright © 2006 by Pearson Education
Fig. 2.17 | Menu de saque do ATM.

74
Copyright © 2006 by Pearson Education
2.8 Estudo de caso de engenharia de software:
examinando o documento de requisitos de ATM
(opcional) (cont.)
• Analisando o sistema ATM
– Coleta de requisitos
– Ciclo de vida do software
• Modelo em cascata
• Modelo interativo
– Modelagem de caso de uso
• Diagrama de casos de uso
– Modela as interações entre clientes e seus casos de uso.
– Ator
• Entidade externa

75
Copyright © 2006 by Pearson Education
Fig. 2.18 | Diagrama de casos de uso para o sistema ATM da perspectiva do usuário.

76
Copyright © 2006 by Pearson Education
Fig. 2.19 | Diagrama de casos de uso para uma versão modificada do nosso sistema ATM
que também permite aos usuários transferir dinheiro
entre contas.
77
Copyright © 2006 by Pearson Education
2.8 Estudo de caso de engenharia de software:
examinando o documento de requisitos de ATM
(opcional) (cont.)
• Tipos de diagrama da UML
– Modelam a estrutura do sistema.
• Diagrama de classes
– Modela classes ou ‘blocos de construção’ de um sistema.
– Tela, teclado numérico, dispensador de cédulas e
compartimento de depósito.

78
Copyright © 2006 by Pearson Education
2.8 Estudo de caso de engenharia de software:
examinando o documento de requisitos de ATM
(opcional) (cont.)
– Modelam o comportamento do sistema
• Diagramas de casos de uso
– Modelam interações entre o usuário e o sistema.
• Diagramas de estados de máquina
– Modelam as formas pelas quais um objeto muda de
estado.
• Diagramas de atividades
– Modelam a atividade de um objeto durante a execução
de um programa.
• Diagramas de comunicação (diagramas de colaboração)
– Modelam as interações entre objetos.
– Enfatizam as interações que ocorrem.
• Diagramas de seqüência
– Modelam as interações entre objetos.
– Enfatizam quando as interações ocorrem.
79
Copyright © 2006 by Pearson Education
Para fazer

– 2.24, 2.25 na lista

80
Copyright © 2006 by Pearson Education

Você também pode gostar