Você está na página 1de 61

ELEMENTOS DE PROGRAMAO

EDIO N 1 - 2007

LARCIO DA CRUZ LOUREIRO


___________________________________________________________________
Apoio

Gesto e Execuo

Contedo e Tecnologia

Elementos de Programao

SUMRIO
AULA 1 - MANIPULAO DE ARRAYS....................................................................9
AULA 2 - TRABALHANDO COM REGISTROS........................................................21
AULA 3 - PROGRAMAO ORIENTADA A OBJETOS..........................................30
AULA 4 - INTRODUO A UML...............................................................................42

SOCIESC Sociedade Educacional de Santa Catarina

Elementos de Programao

Apresentao
Este livro didtico contm a disciplina de Elementos de Programao.
O material apresenta aos alunos do EAD um passo adiante na construo de
programas para computador. Voc ser submetido a um novo desafio: obter os
conhecimentos mais atuais para o desenvolvimento de sistemas e principalmente
ampliar o grande nmero de informaes para um bom desempenho como
programador.
Voc poder concluir que atualmente a atividade de programar computadores
uma tarefa ampla, atravs de uma abordagem cada vez mais multidisciplinar e
exigindo do profissional uma viso cada vez mais integrada de todos os elementos
envolvidos.
O principal objetivo deste curso voc obter esta viso ampla (alguns
autores referem-se viso holstica). Sero apresentados aspectos importantes que
faro uma composio estruturada para uma programao mais poderosa.
importante ressaltar que o livro foi desenvolvido com o objetivo de oferecer
um aprendizado independente, que est inerente aos estudos do EAD, e o contedo
foi revisado com o intuito de oferecer uma linguagem simples, objetiva e estimulante.
Lembre-se que a sua passagem por esta disciplina ser tambm
acompanhada pelo Sistema de Ensino Tupy Virtual, seja por correio postal, fax,
telefone, e-mail ou Ambiente Virtual de Aprendizagem.
Sempre entre em contato conosco quando surgir alguma dvida ou
dificuldade.

SOCIESC Sociedade Educacional de Santa Catarina

Elementos de Programao

Toda a equipe ter a maior alegria em atend-lo, pois a sua aquisio de


conhecimento nessa jornada o nosso maior objetivo.
Acredite no seu sucesso e bons momentos de estudo!
Equipe Tupy Virtual.

SOCIESC Sociedade Educacional de Santa Catarina

Elementos de Programao

Carta do Professor
A programao de computadores divertida. Algumas vezes a
programao uma cincia elegante. Ela tambm sobre a
construo e o uso de novas ferramentas de software. A
programao tambm sobre pessoas: qual o problema que
realmente o meu cliente espera que eu resolva? Como eu
posso fazer isso mais fcil, para que os usurios se
comuniquem com o meu programa? A programao tambm me
leva a aprender tpicos desde a qumica orgnica at as
campanhas de Napoleo.
(Bentley, 1988)

Caro aluno,

com esta mensagem que eu desejo iniciar este novo mdulo. Voc estar
aqui, significa que j superou os primeiros passos na programao de computadores
e concluiu que no to complexa como os outros comentavam. Na verdade,
assim como outras atividades em nossa vida, a programao de computadores
tornou-se uma cincia elegante, ou seja, possui uma maturidade que nos favorece
aprender e criar solues poderosas.
Nas primeiras duas aulas deste curso, faremos um avano na lgica de
programao, aprendendo a trabalhar com arrays e tambm sobre registros. Esses
dois assuntos ampliam a forma como trabalhamos com variveis em nossos
programas e permite solues especficas para problemas estruturados mais
complexos. A terceira aula que possui uma caracterstica especial: voc ter o
primeiro contato com uma nova abordagem na construo de programas, a
programao orientada a objetos. Esse assunto recebe uma aura de grande
importncia diante dos desafios atuais, mas amplifica as preocupaes dos
iniciantes em programao, j que fornece um novo enfoque na interpretao e
construo de programas.

SOCIESC Sociedade Educacional de Santa Catarina

Elementos de Programao

Na aula seguinte, vamos conhecer como representar os programas


orientados a objetos, usando uma notao especfica chamada UML (Unified
Modeling Language, ou Linguagem Unificada de Modelagem). Assim como vimos a
representao de programas em pseudocdigo ou fluxogramas, agora vamos
aprender representaes grficas que apiam a modelagem de programas
orientados a objetos, bem como, em vrias outras atividades associadas ao
desenvolvimento de sistemas.
Finalmente, na ltima aula vamos conhecer os componentes na criao de
programas para interfaces grficas com o usurio (ou GUI - Graphic User Interface).
As interfaces grficas referem-se forma como os usurios interagem com os
sistemas operacionais, como Macintosh da Apple sendo o primeiro a implementar de
forma mais popular, atravs do MacOS, e depois acompanhado dos sistemas
operacionais Windows, Linux e Unix (pelo menos na forma popular que conhecemos
hoje as interfaces grficas). Veremos as exigncias de conhecimento para esse tipo
de programao e falaremos mais sobre as ferramentas atuais na construo de
programas, baseadas em Ambiente de Desenvolvimento de Interfaces (IDE
Interface Development Environment).
isso! Sinta-se desafiado.
Espero que eu possa ajudar em mais esta etapa de seu conhecimento e
mantenha-se motivado a continuar seus estudos, pois agora a aventura fica mais
instigante.
Bom estudo!
Professor Larcio da Cruz Loureiro

SOCIESC Sociedade Educacional de Santa Catarina

Elementos de Programao

Cronograma de Estudo
Acompanhe no cronograma abaixo os contedos das aulas, e atualize as
possveis datas de realizao de aprendizagem e avaliaes.
Semana

Carga horria

Aula

Data / Avaliao

Trabalhando com Arrays

_/_ a _/_

Trabalhando com Registros

_/_ a _/_

Programao Orientada a
Objetos

_/_ a _/_

Programao Orientada a
Objetos (cont.)

_/_ a _/_

16

Introduo UML

_/_ a _/_

SOCIESC Sociedade Educacional de Santa Catarina

Elementos de Programao

Plano de Estudos
Ementa
Continuidade do curso de Lgica de Programao. Arrays, vetores e matrizes.
Trabalhar com registros. Programao orientada a objetos, aspectos iniciais e
elementos fundamentais. Introduo UML e representao grfica de solues
baseadas em objetos. Programao Visual e componentes grficos para a
construo de sistemas.

Objetivos da Disciplina

Geral
Continuar os conhecimentos sobre lgica de programao;
Compreender as bases da programao orientada a objetos;
Obter uma viso geral sobre a notao UML;
Conhecer o processo e os componentes na programao visual de sistemas

Especficos
Aprender como trabalhar com estruturas de programao, com parte das
solues baseadas em programao estruturada;
Conhecer os elementos principais do desenvolvimento de sistemas orientados
a objetos, principalmente no que se refere s formas diferentes para a
composio de solues baseadas em computador;
Entender e conhecer como um programa orientado a objeto emprega os
elementos programao e quais seus benefcios em relao programao
estruturada;
Aprender os componentes bsicos para a modelagem de sistemas usando a
UML.

.
Carga Horria: 40 horas.

SOCIESC Sociedade Educacional de Santa Catarina

Elementos de Programao

Aula 1

MANIPULAO DE ARRAYS
Objetivos da aula
Ao final desta aula, voc dever ser capaz de:

Construir algoritmos mais complexos usando arrays;

Implementar arrays unidimensionais (vetores) e arrays

multidimensionais (matrizes);

Utilizar estruturas de dados nos algoritmos.

Contedos da aula
Acompanhe os assuntos desta aula, se preferir, ao terminar,
assinale o contedo j estudado.


Introduo s estruturas de dados

Arrays

Arrays Multidimensionais

Aplicao prtica usando array

Prezado(a) aluno(a), seja bem-vindo(a) a nossa


primeira aula. Conhea agora novas solues para
problemas complexos, que devero ser consideradas
em seus algoritmos. Voc ver que array um recurso poderoso e
imprescindvel em vrias aplicaes computacionais. Este o
primeiro passo no uso de estruturas de dados.
Boa Aula!

SOCIESC Sociedade Educacional de Santa Catarina

10

Elementos de Programao

1 INTRODUO S ESTRUTURAS DE DADOS


Voc j aprendeu que comum na programao de computadores,
trabalharmos com variveis na memria. Voc tambm deve recordar que o objetivo
de trabalhar com variveis representar informaes armazenadas na memria
para uso posterior. Isso significa que ser comum a necessidade de trabalhar com
variveis em seus programas, com o objetivo de armazenar dados a partir dos
algoritmos construdos.
Vamos lembrar a regra de pseudocdigo para a criao e manipulao de
variveis, conforme mostra a figura 1.

Figura 1 Regra do pseudocdigo para criao e manipulao de variveis


Mas uma varivel pode armazenar apenas um valor por vez, e haver casos
que voc precisar armazenar um grande volume de dados na memria. Nesse
cenrio, o volume de trabalho e as dificuldades para manipular um grande volume
de dados, apenas com variveis, uma atividade que exigir um esforo e uma
lgica que dificultaria ainda mais o seu trabalho.
Por exemplo, considere que voc precisa trabalhar com uma lista de cinco
funcionrios da empresa, o pseudocdigo usando variveis seria:

SOCIESC Sociedade Educacional de Santa Catarina

11

Elementos de Programao

Imagine se a lista de funcionrios fosse referente quantidade de 100


pessoas, voc iria ter um trabalho exagerado para declarar e atribuir dados para as
variveis e depois seria no mnimo trabalhoso utiliz-las.
Ento, com a finalidade de organizar a memria do computador e responder ao
desafio acima, voc pode utilizar uma nova forma de representao de dados na
memria, as chamadas estruturas de dados. Estrutura de dados apenas um
termo tcnico, que se refere a um armazenamento de dados mais eficiente no
algoritmo construdo (http://en.wikipedia.org/wiki/Data_structures, acessado em
26/04/2007). Usando as linguagens de programao e os tipos de dados especiais
aplicados s variveis, poderemos obter todo o potencial dessa tcnica de
desenvolvimento de programas.
Os arrays tambm so conhecidos, na teoria de estrutura de dados, como
variveis compostas homogneas.
2 ARRAYS
Array uma estrutura de dados que representa uma varivel em memria, que
ser composta de um conjunto de elementos do mesmo tipo e representada por um
nico nome.
Para representar um array em pseudocdigo, a linha de comando a seguinte:
variavel [tipo de dados] [nome] [dimenso]

Repare que a declarao de uma varivel agora recebe mais um componente:


dimenso. Esse componente refere-se ao nmero de elementos necessrios no
array para a individualizao de cada informao dentro da estrutura de dados.
A ttulo de exemplo, veja, na figura 2, a declarao de array em pseudocdigo:
variavel real NotasBimestrais [3]
Sendo:

SOCIESC Sociedade Educacional de Santa Catarina

12

Elementos de Programao

Figura 2 Detalhes sobre a declarao de um array


Nesse exemplo, podero ser armazenadas quatro informaes na mesma
varivel. Agora passe para a seo seguinte e vamos explorar em mais detalhes o
uso dessa tcnica.

2.1 TRABALHANDO COM ARRAYS


Implementar arrays em programao de computadores, segue as mesmas
orientaes para trabalhar com variveis, adicionando-se apenas as dimenses
envolvidas na operao que est sendo realizada.
So trs operaes comuns no uso de arrays: criar um array, armazenar
informaes em um elemento do array e recuperar informao de um elemento
desejado.
Como j vimos na seo O que um array, para criar um array em
pseudocdigo, utilize a seguinte declarao:
variavel [tipo de dados] [nome] [dimenso]

Vamos agora, olhando a figura 3, avaliar como fica a representao de um


exemplo e a estrutura armazenada na memria.

SOCIESC Sociedade Educacional de Santa Catarina

13

Elementos de Programao

Figura 3 Representao de um array armazenado na memria


Cada rea de memria poder armazenar informaes mantendo-se o mesmo
tipo de dados. O armazenamento das informaes realizado atravs da seguinte
declarao (em pseudocdigo):
variavel [dimenso]  valor/informao
Ento, o pseudocdigo de exemplo e a representao na memria:
NotasBimestrais[0]  7,5
NotasBimestrais[1]  8
NotasBimestrais[2]  6,5
NotasBimestrais[3]  7

Figura 4 Representao de um array na memria com dados armazenados


Repare na figura 4, que cada dimenso representada pelo nome da varivel
e o ndice da dimenso do array que se deseja armazenar a informao. Na
memria, as informaes ficam armazenadas em reas de memria reservadas e
associadas ao array. Finalmente, para recuperar a informao de um elemento
do array, voc pode utilizar a seguinte representao que, neste caso, escrever o
contedo do elemento do array:
ESCREVER variavel [dimenso]

SOCIESC Sociedade Educacional de Santa Catarina

14

Elementos de Programao

2.2 TAMANHO DE UM ARRAY


Repare que no exemplo de array apresentado na seo 2.1, o nmero de
elementos na dimenso informado foi 3. Isso significa que o array possui QUATRO
elementos, considerando que o ndice inicia em zero.
Essa informao extremamente importante para o seu entendimento sobre o
uso de arrays, pois existem diferenas em algumas linguagens de programao de
mercado. Por exemplo, a declarao de um array em Pascal ou em Visual Basic 6.0
define que o ndice de dimenses inicia em 1. J as linguagens mais atuais como o
Java da fabricante Sun e o C# (fala-se c chrp) da Microsoft, incluindo a nova
verso do Visual Basic para a nova plataforma de desenvolvimento chamada .NET
(alguns autores falam ponto nt outros falam dote nt), iniciam o ndice de
dimenses em 0. Neste mdulo estamos utilizando o padro das linguagens mais
atuais, com o ndice iniciando em 0 (zero).
Como concluso, importante voc entender que o ltimo nmero de um array
N, ser sempre N-1, ou seja, se for necessrio um array de 10 elementos, a
declarao do array dever ser 9 (0 a 9 fornecer 10 elementos).
2.3 ARRAYS UNIDIMENSIONAIS VETORES
Voc reparou que, at o momento, foram apresentados os conceitos e
exemplos de arrays usando apenas uma dimenso, ou seja, representamos apenas
um valor entre os colchetes da declarao do array (por exemplo, [2]).
Esse tipo de array chamado array unidimensional, tambm conhecido como
vetor.
Podemos ento definir que um VETOR uma estrutura de dados representada
por um array com uma nica dimenso, ou seja, um conjunto de informaes
organizado em uma simples coluna ou linha (Microsoft Computer Dicionary, 2002).
possvel aprimorarmos ainda mais a tcnica de manipulao de informaes
nos algoritmos, usando vrias dimenses. Esse o nosso prximo assunto.

SOCIESC Sociedade Educacional de Santa Catarina

15

Elementos de Programao

3 ARRAYS MULTIDIMENSIONAIS
At agora vimos como trabalhar com um grande volume de dados usando
arrays unidimensionais (ou vetores). Mas em alguns casos, apenas uma dimenso
no suficiente para representar adequadamente a informao no algoritmo. Alm
disso, comum desejarmos associar as informaes para a comparao de dados.
Veja o exemplo que podemos ter (tabela 1):
Tabela 1 Associao de informaes para comparao de dados
Vendas Janeiro

Vendas Fevereiro

$ 1.000,00

$ 1.100,00

$ 2.500,00

$ 2.200,00

Diante dessa tabela, podemos armazenar as informaes em um array


multidimensional, chamado de matriz, considerando sua abordagem baseada no
mesmo conceito matemtico de matrizes.
3.1 TRABALHANDO COM ARRAYS MULTIDIMENSIONAIS
A nica diferena na declarao de um array multidimensional a agregao
de mais um elemento no comando, conforme o comando abaixo em pseudocdigo.
variavel [tipo de dados] [nome] [dimenso1 dimenso2 dimensoN]
Ento, podemos declarar um array multidimensional para suportar a tabela de
vendas exemplo nesta seo usando o seguinte comando:
variavel real Vendas[2,2]
Depois vamos armazenar os dados atravs dos seguintes comandos:
Vendas[1,1]  1000,00
Vendas[1,2]  2500,00
Vendas[2,1]  1100,00
Vendas[2,2]  2200,00

SOCIESC Sociedade Educacional de Santa Catarina

16

Elementos de Programao

Na memria, o armazenamento se dar da seguinte forma (figura 5):

Figura 5 Representao de exemplo de array multidimensional

4 APLICAO PRTICA USANDO ARRAY


Vamos considerar agora uma abordagem prtica no uso de arrays, com a
ferramenta Portugol.
4.1 PROBLEMA
Dado um conjunto de 10 idades, calcule e fornea os seguintes resultados:
Mdia das idades informadas;
Quantidade de pessoas acima da mdia calculada;
Quantidade de pessoas abaixo da mdia calculada.
4.2 SOLUO
O nmero total de entradas que sero fornecidas informado no problema (10
idades), portanto a lgica para a leitura de dados dever ser controlada por um
contador. Vamos utilizar um lao de repetio com contador automtico.
Para calcular a mdia, ser necessrio receber todas as idades. Depois vamos
comparar cada entrada de idade usando um vetor de 10 elementos. Vamos utilizar
dois laos de repetio: um para leitura e soma das idades e o outro para a
comparao de cada valor armazenado no vetor com a mdia calculada.

SOCIESC Sociedade Educacional de Santa Catarina

17

Elementos de Programao

4.3 PROCEDIMENTO
1. Executar o software Portugol;
2. Apague a linha escrever "PORTUGOL IDE

6-12-2006";

3. Digite o seguinte comentrio:


//L o valor das 10 idades, calcula e fornece a mdia das
//idades a quantidade de pessoas acima e abaixo da mdia

4. Declare as variveis:
variavel inteiro idades [ 10 ] , contar , total , acima , abaixo
variavel real media

5. Inicialize as variveis
total <- 0
acima <- 0
abaixo <- 0

6. Vamos agora declarar o lao de repetio para obter as idades:


para contar de 0 ate 9 passo 1
ler idades [ contar ]
total <- total + idades [ contar ]
proximo

7. Aps receber a entrada de todas as idades, vamos obter a mdia das


idades. Insira o seguinte pseudocdigo:
// Calculando a mdia
mdia <- total / 10

8. Vamos agora implementar o lao de repetio para separar as idades


informadas abaixo e acima da mdia calculada:
para contar de 0 at 10 passo 1
se idades[contar] > mdia ento
acima <- acima + 1
fimse
se idades[contar] < mdia ento
abaixo <- abaixo + 1
fimse

SOCIESC Sociedade Educacional de Santa Catarina

18

Elementos de Programao

proximo

9. Finalmente, vamos apresentar os resultados usando os seguintes


comandos:
escrever "Total das Idades: ", total, "\n"
escrever "Mdia das Idades: ", mdia, "\n"
escrever "Total das Idades Acima: ", acima, "\n"
escrever "Total das Idades Abaixo: ", abaixo, "\n"

10. Execute o pseudocdigo usando o comando Executar do menu Algoritmo;


11. Informe as idades e veja o resutlado do programa (figura 6)

Figura 6 Janela do Portugol solicitando dados


12. O cdigo final do programa dever se apresentar conforme abaixo:
inicio
//L o valor das 10 idades, calcula e fornece a mdia das idades
//a quantidade de pessoas acima e abaixo da mdia
variavel inteiro idades [ 10 ] , contar , total , acima , abaixo
variavel real media
total <- 0
acima <- 0
abaixo <- 0
para contar de 0 ate 9 passo 1
ler idades [ contar ]
total <- total + idades [ contar ]
proximo
// Calculando a mdia
mdia <- total / 10
// Agora vamos separar as idades informadas que esto abaixo

SOCIESC Sociedade Educacional de Santa Catarina

19

Elementos de Programao

// e acima da mdia para contar de 0 at 10 passo 1


se idades[contar] > mdia ento
acima <- acima + 1
fimse
se idades[contar] < mdia ento
abaixo <- abaixo + 1
fimse
proximo
escrever "Total das Idades: ", total, "\n"
escrever "Mdia das Idades: ", mdia, "\n"
escrever "Total das Idades Acima: ", acima, "\n"
escrever "Total das Idades Abaixo: ", abaixo, "\n"
fim

SNTESE
Nesta aula realizamos o primeiro passo para o desenvolvimento de solues
mais complexas. O uso de arrays uma abordagem muito comum, principalmente
em solues que exigem o tratamento de um grande volume de informaes, apesar
de que tambm comum seu uso em pequenas solues.
Veja que o array estende as capacidades de manipulao de dados na
linguagem e uso, e sua utilizao facilita no tratamento de informaes de forma
estruturada.
O conhecimento em estruturas mais complexas apenas comeou.
Vamos em frente!

SOCIESC Sociedade Educacional de Santa Catarina

20

Elementos de Programao

EXERCCIOS PROPOSTOS
1)

Defina vetor e exemplifique.

___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________

2)

Qual a vantagem em utilizarmos um array multidimensional?

___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________

3)

Apresente exemplos de declarao para um vetor e de uma matriz.

___________________________________________________________________
___________________________________________________________________
_______________

SOCIESC Sociedade Educacional de Santa Catarina

21

Elementos de Programao

Aula 2

TRABALHANDO COM REGISTROS


Objetivos da aula
Ao final desta aula, voc dever ser capaz de:

Utilizar registros, identificando as suas vantagens;

Construir algoritmos utilizando-se da manipulao de registros;

Diferenciar array de registro.

Contedos da aula
Acompanhe os assuntos desta aula, se preferir, ao
terminar, assinale o contedo j estudado.


Variveis compostas heterogneas

Aplicao prtica usando registros


Prezado(a) aluno(a), nesta aula voc ter o primeiro
contato na forma de armazenamento mais comum
dos dados em um computador. Normalmente

desejamos armazenar um conjunto de informaes para depois


utiliz-las das mais variadas formas. Vimos na aula anterior, que
um array nos permite trabalhar com um grande conjunto de dados,
mas ele limitado a um nico tipo de dados. J um registro, amplia
a abordagem do array, permitindo que seus elementos possam
armazenar tipos de dados diferentes. uma construo simples e
extremamente poderosa.
Mos obra e boa Aula!

SOCIESC Sociedade Educacional de Santa Catarina

22

Elementos de Programao

1 VARIVEIS COMPOSTAS HETEROGNEAS


Como vimos na aula anterior, um array pode armazenar dados com os mesmos
tipos (por exemplo: tipos numricos ou texto), em uma forma de matriz, mas h
necessidade de armazenamento de informaes, usando a mesma abordagem de
um array, com tipos de dados diferentes. A construo de uma estrutura de dados,
na forma de matriz, que permite o armazenamento de diferentes tipos de dados em
seus elementos conhecida como varivel composta heterognea.
importante ressaltar que esse tipo de estrutura de dados tambm
conhecido como registro e cada um de seus elementos so chamados de
campos. Esse tipo de abordagem busca associar composio de um registro de
informaes, por exemplo: um cadastro de clientes. A figura 7 mostra os campos
para que sejam registradas informaes sobre um cliente.
Cadastro de Clientes

Nome
Endereo

Campos

Bairro
Cidade
Estado
Idade

Salvar

Cancelar

Figura 7 Exemplo de campos para registro de informaes


A representao na memria de um registro voc pode visualizar na figura 8.

Figura 8 Representao de registro na memria

SOCIESC Sociedade Educacional de Santa Catarina

23

Elementos de Programao

1.1 REPRESENTAO DE UM REGISTRO EM PSEUDOCDIGO


Para criar um registro, utilizamos um nome e um conjunto de variveis,
especificando o tipo de cada varivel.
Vamos avaliar a instruo de pseudocdigo abaixo:
[nome do registro]: REGISTRO
[campo 1] [tipo de dados]
[campo 2] [tipo de dados]
[campo n] [tipo de dados]
FIM REGISTRO

Agora vamos entender cada componente do pseudocdigo (figura 9),


utilizando como exemplo o Cadastro de Clientes que foi apresentado.

Figura 9 Componentes do pseudocdigo de um registro


1.2 MANIPULAO DE REGISTROS
Quando criamos um registro, na memria h uma rea de armazenamento, na
forma de matriz, cujo elemento corresponde a um campo do registro. Cada campo

SOCIESC Sociedade Educacional de Santa Catarina

24

Elementos de Programao

pode conter tipos de dados diferentes. No exemplo de Cadastro de Clientes, que


estamos utilizando, visualizemos a figura 10, para entender como a informao
armazenada na memria.

Figura 10 Exemplo de um conjunto de registros


Observe que, a cada registro armazenado na memria (ou linha de informao)
corresponde um conjunto de dados que esto associados e participam de uma
estrutura maior de dados.
Outro aspecto fundamental a ser observado que a estrutura de dados
armazena as informaes como uma matriz. Por isso, cada linha possui uma
referncia numrica na memria, para que possamos encontrar as informaes
armazenadas.
Em pseudocdigo, para determinarmos o nmero de registros do conjunto de
dados e criarmos uma matriz de registros, utilizamos a seguinte instruo:
[nome do registro]: [nome da matriz] [dimenses]

SOCIESC Sociedade Educacional de Santa Catarina

25

Elementos de Programao

A instruo acima precisa ser informada logo aps a construo do registro.


Para recuperar uma informao de determinado campo de um registro em
pseudocdigo, voc deve utilizar a seguinte instruo:
IDENTIFICADOR[ndice].Campo
Identificador o nome utilizado para a criao do registro, entre colchetes o
ndice ou linha correspondente, seguido do sinal ponto (.) e, finalmente, o nome do
campo que se deseja utilizar. Veja um exemplo na figura 11:

Figura11 Como obter informaes de um registro


Para armazenar uma informao em um registro, em pseudocdigo voc deve
utilizar a seguinte instruo:
IDENTIFICADOR[ndice].Campo  [Valor]

2 APLICAO PRTICA USANDO REGISTROS


Usando os conceitos apresentados nessa aula, vamos realizar uma abordagem
prtica na construo e manipulao de registros, atravs de pseudocdigo.
Infelizmente, a ferramenta Portugol, bem como as demais ferramentas conhecidas

SOCIESC Sociedade Educacional de Santa Catarina

26

Elementos de Programao

como Interpretador de Linguagem Algortmica (ILA), no suportam variveis


compostas heterogneas. Por isso, neste mdulo vamos construir o nosso
pseudocdigo usando o bloco de notas (ou um editor de textos de sua preferncia).
2.1 PROBLEMA
Dado um conjunto de 40 registros contendo informaes de alunos, calcular a
mdia e a situao desses alunos. O algoritmo dever exibir uma lista dos alunos
contendo a mdia e a situao.
2.2 SOLUO
O nmero total de entradas que sero fornecidas informado no problema (10
idades), portanto, a lgica para a leitura de dados dever ser controlada por um
contador. Vamos utilizar um lao de repetio com contador automtico.
Para obter a mdia e a situao dos alunos, primeiramente vamos obter as
informaes usando a entrada de dados pelo usurio.
2.3 PROCEDIMENTO
13. Executar o Bloco de Notas;
14. Digite a abertura e fechamento do pseudocdigo:
Inicio
Fim

15. Abaixo da instruo Incio, vamos declarar as variveis:


Inicio
Reg_Alunos: REGISTRO
Texto Nome, Situacao
Real Nota1, Nota2, Nota3, Nota4, Media
Inteiro Faltas, Contador
FIM REGISTRO
Fim

SOCIESC Sociedade Educacional de Santa Catarina

27

Elementos de Programao

16. Agora vamos declarar a quantidade de registros que sero armazenados na


estrutura de dados. Informe a instruo abaixo do texto Fim Registro.
Reg_Alunos:aluno[40]

17. Vamos obter as informaes do usurio:


Para Contador de 0 at 39 passo
Ler Aluno[Contador].Nome
Ler Aluno[Contador].Nota1
Ler Aluno[Contador].Nota2
Ler Aluno[Contador].Nota3
Ler Aluno[Contador].Nota4
Ler Aluno[Contador].Faltas
Prximo

18. Agora vamos realizar os clculos necessrios.


Insira as instrues acima da palavra Prximo no lao anterior (Item 5),
considerando que vamos efetuar o clculo a cada entrada de dados.
Aluno[Contador].Media  (Nota1+Nota2+Nota3+Nota4)/4
SE Aluno[Contador].Media >= 7 E Aluno[Contador].Faltas <= 10 ENTO
Aluno[Contador].Situacao  Aprovado
Seno
Aluno[Contador].Situacao  Reprovado
FIMSE

19. Agora vamos imprimir a lista de alunos:


Contador  0
Para Contador 0 at 39 passo
Escrever \nAluno: ,Aluno[Contador].Nome, 
Aluno[Contador].Media, Aluno[Contador].Situacao
Prximo

20. Observe que, na instruo Escrever, h um texto a ser apresentado na


tela com a seguinte composio: \nAluno: . Os caracteres \n, no texto,
sero interpretados como uma quebra de linha, ou seja, antes de
apresentar na tela a informao, ser realizada uma quebra de linha.
Tambm observe que a instruo no cabe no leiaute da apostila, por isso o
smbolo ,

ao final da primeira linha da instruo Escrever, significando

que uma linha contnua.

SOCIESC Sociedade Educacional de Santa Catarina

28

Elementos de Programao

SNTESE
O conceito de variveis compostas um instrumento de grande importncia
na programao de computadores. Primeiro, porque o uso permite realizar um
conjunto de tarefas de forma rpida e organizada; segundo, porque permite o
armazenamento de informaes de diferentes tipos de dados.
Varivel composta , na verdade, uma ampliao das capacidades de um
array, este permite o armazenamento de informaes apenas do mesmo tipo; aquela
(varivel composta ou registro) permite o armazenamento de informaes com tipos
de dados diferentes. Como o processamento das informaes realizado na
memria RAM do computador, sua utilizao permite um nvel de resposta de
processamento altamente performtico.
Ficamos aqui com o final dos tpicos relacionados programao
estruturada.
Prepare-se que, na prxima aula, voc ter contato com uma nova
abordagem de programao, muito poderosa e uma resposta para as
complexidades atuais dos negcios.
Fique firme na obteno desse conhecimento e nos encontramos na prxima
aula. At l.

SOCIESC Sociedade Educacional de Santa Catarina

29

Elementos de Programao

EXERCCIOS PROPOSTOS
1) Apresente quatro exemplos de aplicao de variveis compostas.
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________

2) Voc responsvel pela construo de um sistema para o gerenciamento de


veculos em um estacionamento. Crie um registro para o armazenamento dos
dados de cadastro de veculos.
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________

3) Crie um registro que armazene informaes de dados pessoais de uma pessoa.


Os dados devero ser: nome, endereo, bairro, cidade, estado e CPF.
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________

SOCIESC Sociedade Educacional de Santa Catarina

30

Elementos de Programao

Aula 3

PROGRAMAO ORIENTADA A
OBJETOS
Objetivos da aula
Ao final desta aula, voc dever ser capaz de:

Mostrar diferenas entre a programao estruturada e a

programao orientada a objetos;

Compreender os motivos que formam a necessidade da adoo

da programao orientada a objetos;

Conceituar programao orientada a objetos.

Contedos da aula
Acompanhe os assuntos desta aula, se preferir, ao
termino, assinale o contedo j estudado.
 O que a programao orientada a objetos?
 O desafio da OOP
 A histria da OOP
 Terminologia
 Vantagens e Desvantagens

Prezado(a) aluno(a),
com grande satisfao que lhe dou boas-vindas a
um assunto to instigante: a programao orientada a objetos.
Procuraremos, nessa aula, oferecer-lhe uma viso geral do mtodo
de programao e buscaremos fazer com que perceba as vantagens
de sua adoo. Espero que voc se sinta motivado a absorver estes
assuntos to relevantes para suas atividades como profissional.
Novamente, bem-vindo(a) e bons estudos.

SOCIESC Sociedade Educacional de Santa Catarina

31

Elementos de Programao

1 O QUE A PROGRAMAO ORIENTADA A OBJETOS


1.1 A PROGRAMAO ESTRUTURADA E OS NOVOS DESAFIOS EM
DESENVOLVER SISTEMAS
Como voc deve lembrar, a arte de programar computadores basicamente
resolver problemas. Em essncia, a principal funo do programador interpretar
adequadamente um problema e apresentar uma soluo, usando um mtodo que
possa ser entendido pelo cliente que lhe trouxe o problema, bem como pelo
computador. Nesse sentido, vimos que existem duas formas de representao de
um programa de computador:
O fluxograma, que serve tanto para melhor entendimento do problema junto
ao cliente, como para suportar a lgica na construo do programa;
O pseudocdigo, para auxiliar na especificao do programa para o
programador, com uma abordagem usando uma linguagem comum.
O mtodo a que nos referimos at o momento baseado em uma abordagem
chamada programao estruturada, que decompe o problema em partes lgicas e
estabelece um conjunto de instrues a serem executadas como soluo. As duas
grandes vantagens desse modelo so:
Maior facilidade na manuteno do programa;
Capacidade em localizar problemas e resolv-los de maneira mais simples.
medida que o programador desenvolve a soluo, um grande nmero de
pedaos de programas construdo e integrado, exigindo controle dos algoritmos e
suas interdependncias. Outro problema desse modelo de programao a
dificuldade na reutilizao de rotinas, produzindo o que os autores chamam de
cdigo espaguete, as interdependncias entre os programas geram um constante
Incio e Fim, em uma seqncia procedimental cheia de desvios, laos e elementos
condicionais. comum, em caso de alterao de uma instruo, acarretar mudanas
em todos os pontos onde a instruo utilizada, gerando uma cascata de
alteraes.
Devemos ento, considerar quatro aspectos dificultadores no uso da
programao estruturada:

SOCIESC Sociedade Educacional de Santa Catarina

32

Elementos de Programao

1. Os programas no possuem a capacidade de ser alterados sem a


necessidade de abrir o cdigo-fonte, ou seja, os programas no so
extensveis;
2. Um programa no pode se basear em outro programa, gerando, na maioria
dos casos, construes condicionais em ambos ou at a repetio das linhas
de programao. Algumas linguagens mais atuais fornecem alternativas para
resolver esse problema;
3. Com o aumento do tamanho e da complexidade das aplicaes, h
necessidade constante de otimizao do processo de desenvolvimento de
sistemas e as respostas da programao estruturada para os desafios atuais
no so mais suficientes;
4. Com o advento do desenvolvimento de sistemas grficos e tambm para a
Internet, a abordagem do desenvolvimento estruturado no resolve mais os
desafios que as tecnologias atuais impem, exigindo uma nova forma de
pensamento e interpretao dos problemas.
1.2 A PROGRAMAO ORIENTADA A OBJETOS
nesse contexto que o mtodo de programao orientada a objetos se
apresenta: como uma evoluo para os desafios atuais no desenvolvimento de
sistemas, oferecendo um arcabouo fundamental para uma nova abordagem de
solues computacionais aos problemas.
A expresso Programao orientada a objetos pode ser substituda pelo
acrnimo POO, ou o que mais comum, usando o acrnimo em ingls OOP
(Object Oriented Programming), modo como vamos trat-la daqui por diante.
A novidade da OOP est principalmente na reutilizao de programas e em
uma modularizao mais suscetvel s dinmicas que as regras de negcio exigem
na atualidade.
A OOP introduz uma abordagem na qual o programador interpreta o problema
e concebe o seu programa como uma coleo de objetos interdependentes, ao invs
de procedimentos e funes, cujos objetos se comunicam por mensagens. Cada um
dos objetos uma derivao de uma classe e todas as classes formam uma
hierarquia no sistema. Uma classe apenas um modelo de objeto.

SOCIESC Sociedade Educacional de Santa Catarina

33

Elementos de Programao

O objetivo principal dessa nova abordagem, no desenvolvimento de sistemas,


est na busca de uma forma mais clara para interpretar problemas, abstraindo-lhe a
soluo.
Veja que todo problema submetido construo de um sistema envolve uma
srie de elementos, por exemplo: equipamentos, veculos e notas fiscais. Esses
elementos podem ser representados como objetos cujos atributos podem ser: cor do
equipamento, tamanho do veculo e data de emisso da nota fiscal. Desta forma, as
rotinas sero representadas e implementadas atravs de classes, ao invs de
desenvolver um procedimento para cada uma.
Para facilitar ainda esta explicao, vamos considerar o exemplo de registro
utilizado na aula passada. O registro de clientes possui uma srie de campos, e
podemos ter um conjunto de registros de clientes armazenados. Usando a OOP, o
registro Clientes seria uma Classe, um cliente seria um Objeto e os campos do
registro seriam os Atributos da classe.
2 O DESAFIO DA OOP
Como voc pde perceber, h uma nova forma de trabalhar com a
programao de sistemas usando o mtodo de orientao a objetos. Na verdade,
hoje, a adoo desse mtodo ainda est longe do que poderia ser aplicado na
programao de computadores.
Vrios dificultadores acabaram criando certa resistncia na adoo da OOP.
Vamos conhecer alguns deles nesta seo.
A programao de computadores ainda tratada como algo que de difcil
entendimento e de grande complexidade, o mtodo de programao estruturada
acabou sendo absorvido ao longo dos anos de estudo e construo de programas,
por parte dos programadores. Isso acabou criando uma grande gerao de
profissionais que nasceram e cresceram pensando de forma estruturada para
resolver os problemas submetidos programao. Quando a OOP tomou fora, com
o advento de linguagens populares que suportavam o mtodo, houve um movimento
de mudana para os programadores e uma deciso a ser tomada: mudar a maneira
de interpretar os problemas e a maneira como as solues eram construdas.

SOCIESC Sociedade Educacional de Santa Catarina

34

Elementos de Programao

Atualmente, com o advento de linguagens de programao de alto nvel, que


facilitam a vida do programador na absoro dos conceitos da OOP, o mtodo
acabou recebendo um nmero cada vez maior de adeptos. A linguagem Java pode
ser considerada como a precursora desse movimento, trazendo um amplo conjunto
de benefcios e totalmente construda usando o mtodo de programao orientada a
objetos.
Diante desse cenrio, podemos resumir os seguintes desafios para
aprendermos OOP:
1. Exige uma forma diferente de como interpretamos os problemas;
2. Exige que a construo dos programas tenha definio tambm diferente do
modelo de programao estruturada;
3. Fornece nova forma para apresentar soluo ao usurio, exigindo maior nvel
de abstrao;
4. Novos conceitos e formas de construo de programas, com o objetivo de
explorar o potencial do mtodo OOP, exigem uma forma diferente de pensar
do programador;
5. Alguns preconceitos foram criados contra a OOP como: o esforo necessrio
para a construo de sistemas, a construo de recursos mais amigveis ao
usurio so trabalhosos demais e algumas promessas do mtodo que
acabam na prtica exigindo do programador esforos parecidos como havia
na programao estruturada.
Hoje, o sentimento de que realmente h preconceitos; antes, o que havia
era uma grande falta de domnio sobre a oferta do mtodo e a forma como ele
deveria ser utilizado.
3 A HISTRIA DA OOP
A origem da OOP remonta a 1966, quando os escandinavos Ole-Johan Dahl e
Kristen Nygaard criaram a linguagem Simula para a construo de modelos de
simulao. Para obter uma viso histrica desse momento, acesse o site:
http://heim.ifi.uio.no/~kristen/FORSKNINGSDOK_MAPPE/F_OO_start.html

SOCIESC Sociedade Educacional de Santa Catarina

35

Elementos de Programao

Essa linguagem influenciou a criao do Smalltalk na Xerox, em Palo Alto,


Califrnia, nos anos setenta, o que podemos observar em detalhes no seguinte
endereo na internet:
http://www.smalltalk.org/smalltalk/TheEarlyHistoryOfSmalltalk_TOC.html
Posteriormente, a Simula influenciou outras linguagens, ora construdas com
base nos conceitos originais, como o Eiffel, ou inspiradas na sintaxe de outras j
existentes, como o caso do C++, Java, Object Pascal, Delphi e Ada95.

4 TERMINOLOGIA
4.1 ABSTRAO DE DADOS
Um recurso que recebeu destaque na OOP chama-se programao com tipos
de dados abstratos cujos tipos fornecem a implementao dos conceitos da OOP,
chamados encapsulamento e modularidade.
Como vimos anteriormente, os tipos de dados so utilizados como uma
operao comum na programao de computadores. Na declarao de uma
varivel, definimos o tipo de dados para armazenamento, delimitando, dessa forma,
o conjunto de valores que podem ser armazenados.
As linguagens de programao oferecem um conjunto de tipos de dados
bsicos e pr-definidos (tambm chamados de tipos primitivos), mas algumas
linguagens oferecem a construo de tipos especficos e complexos, so as
variveis compostas heterogneas que vimos na segunda aula do mdulo. Esse tipo
de dado complexo abstrai os dados armazenados na varivel.
Na OOP cria-se um novo tipo de dado chamado objeto, que pode conter, alm
de atributos especficos, dados e procedimentos embutidos. Nesse tipo de dado, o
programador se preocupa apenas em saber como utilizar os recursos disponveis
pelo objeto, sem a necessidade de saber como o objeto foi construdo e como
funciona os procedimentos internos.
Com essa abordagem, conseguimos obter uma verdadeira abstrao de
dados, ou seja, o usurio conhece apenas o necessrio para seu uso, sem precisar
conhecer detalhes complexos do objeto.

SOCIESC Sociedade Educacional de Santa Catarina

36

Elementos de Programao

4.2 ENCAPSULAMENTO
A abordagem de programao usando tipos de dados abstratos inclui o
conceito de encapsulamento que, basicamente, esconde e protege as
informaes contidas no objeto. O encapsulamento consiste em ocultarmos ao
usurio o funcionamento interno de uma classe.
4.3 OBJETOS
Os objetos so reconhecidos como uma entidade autnoma que combina a
representao da informao (estruturas de dados) e meios de sua manipulao
(procedimentos), uma vez que possuem capacidade de processamento e
armazenam um estado local, usando variveis encapsuladas no objeto.
Um objeto composto de:

Propriedades: so as informaes, estruturas de dados que representam


o estado interno do objeto;

Comportamentos: tambm conhecidos como mtodos, que agem sobre


as propriedades. Os mtodos so acionados quando o objeto recebe uma
mensagem solicitando sua execuo;

Identidade: uma propriedade que diferencia um objeto do outro; ou seja,


o seu nome.

4.4 MENSAGENS
Um objeto sozinho no muito til e geralmente aparece como componente de
um grande programa que contm muitos outros objetos. Pela interao desses
objetos, pode-se obter uma grande funcionalidade e comportamentos mais
complexos. Objetos de software interagem e comunicam-se com os outros por
mensagens, formadas por trs componentes bsicos:

o objeto a quem a mensagem endereada (receptor);

o nome do mtodo que se deseja executar;

os parmetros (se existirem) necessrios ao mtodo.

SOCIESC Sociedade Educacional de Santa Catarina

Elementos de Programao

37

4.5 MTODOS
Um mtodo implementa algum aspecto do comportamento do objeto.
Comportamento a forma como um objeto age e reage, em termos das suas trocas
de estado e troca de mensagens.
Um mtodo uma funo ou procedimento definido na classe e tipicamente
pode acessar o estado interno de um objeto da classe para realizar alguma
operao.
4.6 CLASSES
Objetos de estrutura e comportamento idnticos so descritos como
pertencendo a uma classe, de tal forma que a descrio de suas propriedades pode
ser feita de uma s vez, de forma concisa, independente do nmero de objetos
idnticos em termos de estrutura e comportamento que possam existir em uma
aplicao. A noo de um objeto equivalente ao conceito de uma varivel em
programao convencional, pois especifica uma rea de armazenamento, enquanto
a classe vista como um tipo abstrato de dados, uma vez que representa a
definio de um tipo.
Cada objeto criado, a partir de uma classe, denominado de instncia dessa
classe. Uma classe prov toda a informao necessria para construir e utilizar
objetos de um tipo particular, ou seja, descreve a forma da memria privada e como
se realizam as operaes das suas instncias. Os mtodos residem nas classes,
uma vez que todas as instncias de uma classe possuem o mesmo conjunto de
mtodos, a mesma interface.
4.7 HERANA
O mecanismo de herana permite a reutilizao das propriedades de uma
classe na definio de outra. A classe mais generalizada chamada superclasse e a
mais especializada, subclasse.

SOCIESC Sociedade Educacional de Santa Catarina

38

Elementos de Programao

4.8 POLIMORFISMO
Polimorfismo refere-se capacidade de dois ou mais objetos responderem
mesma mensagem, cada um a seu prprio modo. A utilizao da herana torna-se
fcil com o polimorfismo.
4.9 SIMILARIDADES ENTRE A PROGRAMAO ESTRUTURADA E A OOP
possvel identificarmos similaridades entre a programao estruturada e a
programao orientada a objetos, com o objetivo de facilitar o entendimento do
conceitos de OOP, observe a tabela 2:
Tabela 2 Comparao bsica entre Programao Estruturada e OOP
Programao Estruturada

OOP

Tipos de dados

Classes

Varivel

Objetos

Funo/Procedimento

Operao/Mtodo

Chamada de funo

Envio de mensagem

5 LINGUAGENS ORIENTADAS A OBJETOS


Nem todas as linguagens de programao do mercado so orientadas a
objetos, que uma tcnica de programao, ou melhor, um paradigma para
escrever um bom programa cuja finalidade resolver um determinado problema.
Ento, para que possamos considerar uma linguagem orientada a objetos, a
linguagem dever possuir mecanismos que suportem o estilo de programao que o
mtodo OOP apresenta.
importante, nesse contexto, voc entender que muitas linguagens se
apresentam como baseadas em objetos e outras suportam claramente a orientao
a objetos. As linguagens baseadas em objetos suportam recursos que facilitam a
construo de sistemas usando a programao estruturada, usando recursos visuais
e elementos facilitadores. Um exemplo muito comum a linguagem Visual Basic da

SOCIESC Sociedade Educacional de Santa Catarina

39

Elementos de Programao

Microsoft, cuja verso atual, baseada em .NET, oferecia formas de construo que
se utilizavam de conceitos baseados em objetos, mas no havia na linguagem
suporte aos padres que a OOP oferece. Esse tipo de linguagem e mtodo de
programao conhecido como programao orientada a eventos.
As linguagens mais populares que suportam efetivamente a programao
orientada a objetos so: Java (Pura), C++ (Hbrida), SmallTalk (Pura), Object Pascal
(Pura) e C# (Pura). As linguagens consideradas puras, no suporte OOP,
nasceram com base nos padres da OOP e as linguagens consideradas hbridas
so linguagens que nasceram no modelo de programao estruturada e evoluram
para suportar os recursos da OOP.

SNTESE
Nesta aula voc percebeu a dimenso da programao orientada a objetos.
uma abordagem atual e que atende s demandas atuais do mundo globalizado.
O primeiro assunto que abordamos procurou lhe fornecer a percepo das
diferenas entre a programao estruturada e a programao orientada a objetos. A
programao estruturada possui limitaes para os desafios atuais porque:

Os efeitos em cascata so gerados pela modificao de programas;

Com a grande quantidade de programas, procedimentos e funes


implementados, a localizao de um problema tornou-se algo mais difcil
de se resolver;

Sees reutilizveis de cdigo de programao so muito difceis de


serem construdas.

O objetivo da OOP (programao orientada a objetos) desenhar e construir


uma soluo baseada nos objetos existentes no problema e no mais atravs de
procedimentos e situaes interdependentes. Isso faz com que o programa seja
quebrado em mdulos gerenciveis e auto-suficientes. Ento, a OOP permite um
programa mais adequado aos desafios que as reas de negcios impem s
solues de Tecnologia da Informao. Porque o cdigo de programao criado :

Modular;

Extensvel;

SOCIESC Sociedade Educacional de Santa Catarina

40

Elementos de Programao

Reutilizvel;

Mais fcil de manter;

Mais simples de depurar.

Como o prprio nome sugere, a programao orientada a objetos baseada


no conceito de software objeto e busca manter total similaridade aos conceitos de
objetos do mundo real (caneta, mesa, cadeira, etc.). Dessa forma, os objetos
compartilham algumas caractersticas com outros objetos, devido s suas
propriedades e comportamentos. As propriedades, tambm conhecidas como
estados do objeto, so implementadas pelas variveis e o comportamento do objeto
desenvolvido pelos seus mtodos.
A reunio dos mtodos e propriedades de um objeto denominada
abstrao de dados, pois o usurio do objeto no precisa saber como as
propriedades e os mtodos foram construdos, ele precisa saber apenas como
utiliz-los.
Considerando que uma aplicao poder conter vrios objetos, esses podem
relacionar-se uns com os outros. A comunicao que ocorre entre os objetos
realizada por mensagens que, por sua vez, so realizadas pelo uso do objeto, da
execuo de um mtodo associado ao objeto, e da passagem de informaes para
que o mtodo seja executado adequadamente.
medida que os objetos so construdos, poder haver similaridades e a
OOP oferece o uso de classes para criar estruturas pr-construdas. fazendo uso
desse mecanismo de classes que podemos nos utilizar dos recursos de reuso que o
mtodo nos oferece. Alm disso, o agrupamento de classes com caractersticas
comuns utilizado pela OOP para criar uma hierarquia de classes e com isto
estabelecer uma lgica de reuso. As prticas de extenses, sobreposies e de
herana se utilizam dessa hierarquia para a construo de novos objetos que,
futuramente, se beneficiaro de qualquer mudana que ocorrer na classe superior.
A conseqncia no uso dessas prticas implementa um dos principais
recursos da OOP: o polimorfismo, ou seja, o objeto possui um comportamento
diferente de acordo com o contexto em que utilizado.
Esses so os principais conceitos da OOP que voc precisa levar para as
futuras linguagens de desenvolvimento que oferecem suporte ao mtodo.

SOCIESC Sociedade Educacional de Santa Catarina

41

Elementos de Programao

Na prxima aula, vamos aprender como representar graficamente os sistemas


orientados a objetos.
At l.
EXERCCIOS PROPOSTOS
1) Defina com as suas palavras o que a programao orientada a objetos.
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________
2) O que encapsulamento?
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________
3) Podemos afirmar que toda linguagem de programao orientada a objetos?
Justifique.
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________

SOCIESC Sociedade Educacional de Santa Catarina

42

Elementos de Programao

Aula 4

INTRODUO A UML
Objetivo da Aula
Ao final desta aula, voc dever ser capaz de:

Explicar a necessidade da modelagem de solues;

Comparar a modelagem de sistemas orientados a objetos com

a modelagem de sistemas estruturados;

Explicar o que a UML e sua histria;

Obter um conhecimento essencial sobre os diagramas da UML.

Contedo da Aula
Acompanhe os assuntos desta aula, se preferir, ao
terminar, assinale o contedo j estudado.


Porque modelar aplicaes

O que UML?

O modelo conceitual da UML

Ferramentas de modelagem UML


Prezado(a) aluno(a),
Como vimos na aula passada, a OOP uma
poderosa abordagem para a construo de sistemas,

trazendo novos conceitos, mtodos e prticas na construo de


sistemas. Nesse sentido, a representao visual das solues
orientadas a objetos tambm precisa de um novo conjunto de
prticas para atender s particularidades dessa nova implementao.
Nesta aula voc aprender os conceitos bsicos da
representao visual de sistemas orientados a objetos, chamada UML.
Espero que voc perceba a importncia da modelagem de
aplicaes usando UML e receba este primeiro contato como uma
alavanca para obter maior conhecimento e domnio da programao
SOCIESC Sociedade Educacional de Santa Catarina

43

Elementos de Programao

orientada a objetos.
Desejo-lhe uma excelente aula.
1 PORQUE MODELAR APLICAES
Diante da quantidade de detalhes e conhecimentos que o programador precisa
manter em mente, podemos afirmar que, semanalmente, novas tecnologias e
recursos so disponibilizados pela indstria de software, fazendo com que a
experincia e o conhecimento fiquem obsoletos com grande velocidade e facilidade.
Modelar uma soluo para um sistema de computador tem como principal
finalidade simplificar a realidade (Pencer, 2002), ou seja, fornecer uma
representao visual da interpretao de um problema. O ditado popular que uma
imagem vale mais que mil palavras a afirmativa que nos remete necessidade da
modelagem de aplicaes.
Diante das complexidades atuais do mundo dos negcios e da amplitude que
um programa de computador pode atingir, fundamental a adoo de uma
representao visual da soluo. O modelo de uma aplicao para computador
oferece a mesma importncia de um projeto de arquitetura para a construo civil. A
aplicao modelada ser um ingrediente fundamental nas relaes entre os
profissionais envolvidos na construo do programa, desde o cliente que solicitou a
soluo at os programadores que efetivamente iro desenvolv-la.
Devemos ainda ressaltar que, no caso de um programa de computador, vrios
pontos de vista so necessrios para compreender o modelo apresentado. Dessa
forma, significa que um modelo nunca suficiente e podemos utilizar vrios modelos
visuais conectados entre si, para tornar possvel entender qualquer aspecto do
sistema.
1.1 COMPONENTES DE UM MODELO COMPUTACIONAL
A importncia da modelagem de um sistema est baseada nos seguintes
elementos: visualizao, especificao, construo e documentao (Pencer, 2002).

Visualizao: h uma diferena muito grande entre pensar na soluo de


um sistema e sua construo em cdigo de programao. Alguns detalhes

SOCIESC Sociedade Educacional de Santa Catarina

44

Elementos de Programao

nos sistemas no podem ser completamente compreendidos sem a


construo de um modelo que v alm da frieza dos cdigos de
programao. Alm disso, um modelo visualmente representado facilita a
comunicao;

Especificao: um conjunto de instrues que so definidas junto ao


modelo visual, com um nvel de aplicao tcnica para que o programador
possa seguir corretamente para a construo do programa;

Construo: os atuais pacotes de software utilizados para a modelagem


de sistemas fornecem alguma forma de gerao de cdigo de
programao, com o objetivo de facilitar e acelerar o processo de
construo do programa. Algumas ferramentas, inclusive, permitem a
chamada engenharia reversa, que significa a criao automtica de um
modelo visual a partir de um cdigo de programao j construdo;

Documentao: um dos aspectos mais importantes no desenvolvimento


de sistemas a documentao de seus componentes. Alm disso, uma
das tarefas mais difceis de se empregar em uma equipe de
programadores, pois, normalmente, h preocupao natural com a
tecnologia e pouca com a documentao do projeto. Um modelo visual
permite que a documentao seja criada e dinamicamente mantida,
facilitando o entendimento e as possveis transformaes que o sistema
pode receber durante a fase de levantamento e depurao dos programas.

1.2 BENEFCIOS DA MODELAGEM DE APLICAES


Diante do que voc leu nos tpicos anteriores, podemos ento resumir os
seguintes benefcios na modelagem de aplicaes:

Os modelos ajudam na visualizao de como o sistema ou dever ser;

Os modelos permitem a especificao da estrutura do programa ou do


comportamento de um sistema;

Os modelos fornecem guias e orientaes para a construo de um


sistema;

Os modelos documentam as decises que foram tomadas para o sistema;

SOCIESC Sociedade Educacional de Santa Catarina

45

Elementos de Programao

Os modelos fornecem uma linguagem comum que poder ser utilizada por
vrios profissionais, contendo vrios pontos de vista, mas mantendo uma
viso ampla do sistema todo.

Agora que voc percebeu a importncia da modelagem de aplicaes, vamos


conhecer, na prxima seo, a linguagem de modelagem de aplicaes mais
utilizadas na atualidade.
2 O QUE UML?
A UML um padro para a criao de modelos utilizados na representao de
sistemas orientados a objetos e solues complexas de negcios, combinando as
melhores prticas de diagramao utilizadas pelos engenheiros de software nos
ltimos 40 anos. Na verdade, a UML padroniza os elementos para a representao
dos sistemas, mas no determina rigidamente como os modelos so aplicados. Por
isso, voc encontrar sua utilizao em reas afins da programao, como na
modelagem de banco de dados ou na modelagem de processos de negcios, por
exemplo.
A UML o acrnimo de Unified Modeling Language, ou Linguagem
Unificada de Modelagem. Apesar de haver uma traduo para o padro, seu uso
comum UML (fala-se -emi-ele).
2.1 CONHECENDO A HISTRIA DA UML
A UML est em desenvolvimento formal desde 1994. a unificao de trs
grandes notaes para a especificao de sistemas e foi influenciada por um grande
nmero de tcnicas de modelagem, utilizadas nas ltimas dcadas.
Desenvolvida especificamente para representar sistemas orientados a objetos,
em 1990, alguns profissionais renomados e experientes, no campo de metodologias
para o desenvolvimento de sistemas, iniciaram informalmente sua composio. As
trs grandes notaes que dispararam os fundamentos da UML foram:

Engenharia de Software Orientada a Objetos, ou Object-Oriented


Software Engineering (OOSE): desenvolvida por Ivar Jacobson,
baseada no conceito de casos de uso, que so formas simples de

SOCIESC Sociedade Educacional de Santa Catarina

46

Elementos de Programao

entendimento do problema a partir da viso do usurio e objetivando a


construo de um sistema (figura 12);

Figura 12 Processo OOSE

Tcnica de Modelagem de Objetos, ou Object-Modeling Technique


(OMT): desenvolvida por James Rumbaugh, tem como nfase a anlise
de negcios e o claro entendimento dos dados utilizados para a definio
do problema (figura 13);

Figura 13 Smbolos utilizados na OMT

Mtodo de Booch, ou Booch Method: desenvolvida por Grady Booch,


tem caractersticas importantes para o desenho e a implementao da
soluo, buscando definir e mapear a soluo s necessidades de
negcios (figura 14).

SOCIESC Sociedade Educacional de Santa Catarina

47

Elementos de Programao

Figura 14 Smbolos utilizados no mtodo Booch


Em Outubro de 1994, Booch e Rumbaugh, trabalhavam na Rational Corp. e
iniciaram a unificao de seus dois mtodos. Seus esforos geraram uma notao
nica e simplificada, usando o melhor de cada uma das suas notaes. Esse
perodo considerado como o incio formal da composio da UML e, aps um ano,
seus autores publicaram a primeira verso como Unified Modeling Language verso
0.8.
Nesse mesmo perodo, a empresa de Ivar Jacobson foi adquirida pela Rational
e iniciaram os trabalhos para a integrao da OOSE ao padro UML. O resultado
dessa colaborao gerou as verses 0.9 e .9.1, em 1996.
Outros padres de mercado existiam na poca e alguns deles eram mantidos
pela OMG (Object Management Group), mas a adoo da UML por vrias empresas
e instituies acadmicas, fez com que a OMG estabelecesse um consrcio com a
Rational e vrias outras empresas, dentre elas a IBM, HP, Microsoft, Oracle e
Unisys. Em virtude desse consrcio e da contribuio de vrias especificaes de
cada um dos seus participantes, foi publicada a verso 1.0 da UML, em Janeiro de
1997.
Vrias revises foram aplicadas UML e muitas verses intermedirias foram
publicadas (1.1 at 1.5), mas o mundo mudou muito aps a publicao dessas
verses e as mudanas ocorreram fundamentalmente na captura e no mapeamento
das necessidades dos sistemas. Alm disso, a UML 1.x foi criada para humanos, ou
seja, ela tinha fundamentalmente a busca pelo entendimento do ser humano sobre a
soluo que estava sendo desenhada.
SOCIESC Sociedade Educacional de Santa Catarina

48

Elementos de Programao

Ento, a verso 2.0 da UML teve os seguintes objetivos:

Aprimorar a linguagem para tornar-se mais fcil de usar, implementar e


personalizar;

Aumentar o suporte ao desenvolvimento baseado em componentes. Esse


tipo de desenvolvimento foi amplamente utilizado aps a publicao das
primeiras verses da UML, tendo por objetivo decompor o sistema em
componentes lgicos e funcionais;

Aumentar a capacidade da linguagem para atender s demandas


complexas no relacionamento entre os modelos, atualizar as notaes e a
criao de novos diagramas (figura 15).

Figura 15 Histria da UML

3 O MODELO CONCEITUAL DA UML


Os autores da UML sugerem que uma aplicao pode ser descrita fazendo-se
uso de cinco vises, conforme menciona Bezerra (2002), e cada viso enfatiza
aspectos diferentes do sistema a ser construdo. So elas:

Viso de casos de uso: descrevem as necessidades do sistema


estritamente do ponto de vista externo, apresentando o grau de

SOCIESC Sociedade Educacional de Santa Catarina

49

Elementos de Programao

atendimento que o sistema oferece para o usurio. Em resumo, atravs


dessa viso que se obtm o entedimento do que precisa ser construdo no
sistema, do ponto de vista de como o trabalho realizado hoje ou como
dever ser realizado, baseando-se em regras de negcios detalhadas pelo
usurio;

Viso de Projeto: focaliza a estrutura do sistema e o comportamento de


seus componentes, atravs da definio de classes, colaboraes e as
interfaces do sistema;

Viso de Implementao: tem por finalidade representar os aspectos


fsicos do sistema (programas, bibliotecas, banco de dados e etc.), que
sero os componentes da montagem final. Tambm acompanha e controla
as verses dos elementos e do prprio sistema;

Viso de Implantao: representa os recursos fsicos da soluo


(hardware), disponibilizao e instalao do sistema, incluindo suas
especificaes de integrao com outros elementos de hardware;

Viso

de

Processo:

fornece

as

informaes

relacionadas

ao

processamento do sistema, mais especificamente o desempenho e a


escalabilidade, incluindo a capacidade de resposta das demandas de
processamento.

Figura 16 Vises da UML


importante ressaltar que nem todas as vises precisam ser utilizadas. Seu
uso depende do tamanho do projeto, complexidade e exigncias nas especificaes
funcionais do sistema.

SOCIESC Sociedade Educacional de Santa Catarina

50

Elementos de Programao

Para cada viso a UML oferece um diagrama ou notao. Um diagrama uma


representao grfica de um conjunto de elementos e so desenhados para permitir
a visualizao sob diferentes perspectivas.
3.1 DIAGRAMAS DA UML
A UML oferece nove diagramas ou notaes grficas: diagrama de classes,
diagrama de objetos, diagrama de componentes, diagrama de implantao,
diagrama de caso de uso, diagrama de seqncia, diagrama de colaborao,
diagrama de estados e diagrama de atividades. Segundo Furlan (1998), os
diagramas da UML possuem uma notao padro e bastante compreensvel que
permite abstrair certos aspectos do sistema, ficando, assim, fcil de entend-lo
atravs de suas partes. Ao final da modelagem, essas partes se completam e
representam o sistema em sua totalidade. So eles:
1. Diagramas de Caso de Uso: um caso de uso, ou situao, aonde o
sistema utilizado para atender um ou mais requisitos de negcio do
usurio. Segundo Bezerra (2002), esse diagrama molda os requisitos
funcionais do sistema. Com o uso desse diagrama desenhamos a
necessidade do cliente ou do negcio, utilizando de uma notao padro,
conforme mostra a figura 17:

SOCIESC Sociedade Educacional de Santa Catarina

51

Elementos de Programao

Figura 17 Exemplo de Caso de Uso

2. Diagrama de Classes: modela os recursos utilizados para construir e


operar o sistema. Apresenta as classes do sistema, seus relacionamentos,
as operaes e os atributos da classe. o principal diagrama da UML,
pois todos os demais diagramas obtm informaes a partir do modelo
representado nesse diagrama. Veja a figura 18:

Figura 18 Exemplo de Diagrama de Classes

SOCIESC Sociedade Educacional de Santa Catarina

52

Elementos de Programao

Enquanto o diagrama de classes apresenta a definio dos recursos, o


diagrama de objetos modela os fatos ou exemplos. O principal objetivo
desse diagrama validar o diagrama de classe, fazendo uso de exemplos
e testes;
3. Diagrama de Interao: ajudam a documentar e compreender os
aspectos dinmicos do sistema, descrevendo a seqncia de mensagens
enviadas e recebidas pelos objetos. Na UML 1.4, os diagramas de
interao so referenciados aos diagramas de seqncia e de
colaborao.

Basicamente,

esses

dois

diagramas

descrevem

comunicao entre os objetos para realizar uma determinada ao. Vamos


ver na figura 19, um exemplo de um diagrama de seqncia:

Figura 19 Diagrama de interao


5. O diagrama de colaborao quase a mesma representao do
diagrama de seqncia, sendo a perspectiva a diferena entre eles.
Ambos os diagramas apresentam as interaes para uma tarefa
especfica, mas enquanto o diagrama de seqncia procura apresentar a
seqncia de interaes ao longo do tempo, o diagrama de colaborao
apresenta como as interaes utilizam a estrutura dos objetos e seus
relacionamentos.
6. Diagrama de Estados: esse diagrama apresenta como estmulos
externos causam alteraes ao objeto durante o seu ciclo de vida. O
diagrama de atividades uma derivao do diagrama de estados, pois
SOCIESC Sociedade Educacional de Santa Catarina

53

Elementos de Programao

normalmente estados um momento da ao, e as transies so


normalmente disparadas a partir do trmino das aes;
7. Diagrama de implementao: composto por dois diagramas: o
diagrama de componentes, que representa as partes de software no
ambiente de implementao, e o diagrama de implantao, modela os
elementos de hardware do ambiente de implementao. Cada n no
diagrama representa um tipo de hardware, como uma unidade de disco,
memria, computador, ou processador.

3.2 VISO GERAL DOS DIAGRAMAS DA UML


medida que o sistema modelado, um conjunto de diagramas construdo e
um grande volume de documentaes gerado. Ento, o grande desafio manter
uma viso completa da soluo, manter um entendimento completo sobre a
interdependncia dos diagramas e a manuteno das mudanas que ocorrem
medida que os levantamentos so obtidos.
Como vimos anteriormente, a UML pode ser dividida em vises. Com esta
diviso, poderemos estabelecer o posicionamento dos diagramas e sua aplicao
em cada viso, conforme mostra a figura 20.

Figura 20 As vises da UML e os diagramas

SOCIESC Sociedade Educacional de Santa Catarina

54

Elementos de Programao

Vrios

autores

buscam

apresentar

vises

mais

claras

sobre

os

relacionamentos entre os diagramas da UML, principalmente as influncias e


definies que so realizadas entre os diagramas.
Uma outra forma de agrupamento representar os aspectos dinmicos e
estticos do sistema. A condio esttica do projeto pode ser representada pelos
diagramas de classes, de objetos, de componentes e de casos de uso e a condio
dinmica pode ser representada pelos diagramas de estados, de atividade, de
seqncia e de colaborao. Diante disso, podemos obter uma viso mais ampla,
segundo Song (2003). Veja na figura 21 os diagramas e relacionamentos da UML.

Figura 21 Viso Geral sobre a UML, seus diagramas e relacionamentos

4 FERRAMENTAS DE MODELAGEM UML


Como a UML oferece um conjunto de orientaes para a modelagem de
sistemas, fazendo uso de uma notao padro e um conjunto de especificaes

SOCIESC Sociedade Educacional de Santa Catarina

55

Elementos de Programao

pblicas, o uso de ferramentas para a modelagem UML uma situao comum.


Atualmente, existem dezenas de solues direcionadas para esse fim e muitas
oferecem um modelo de licenciamento baseado em software livre.
Na Internet, existem vrios sites que apresentam anlises e sugestes para
uma grande variedade de ferramentas, com destaque o site da Wikipedia no
seguinte endereo (em ingls):
http://en.wikipedia.org/wiki/List_of_UML_tools
Finalmente, h tambm um site com um conjunto amplo de informaes:
http://www.objectsbydesign.com/tools/umltools_byCompany.html
Cada ferramenta oferece um potencial especfico para apoiar o processo de
modelagem, pois alguns projetos exigem apenas o uso de um modelo e outros, o
uso de vrias modelos. Algumas vantagens que podem ser obtidas usando uma
ferramenta de UML:

A ferramenta pode suportar todos os padres da UML, inclusive suas


regras de semntica, o que garante a gerao do modelo dentro das
especificaes da linguagem;

Gerao de cdigo com base nos modelos gerados, acelerando a


construo de cdigo de programao. Tambm permite a gerao de
modelos a partir de um programa, que chamada de engenharia
reversa;

A integrao entre os modelos reforada, garantindo que nenhuma


especificao seja quebrada e acelera a construo dos modelos;

Tambm atravs da integrao fornece informaes relevantes para o


gerenciamento do projeto e instrumentos para a conduo das atividades
de modelagem e construo do programa, inclusive uma ampla
documentao dos elementos e de todo o projeto;

Outro aspecto relevante, fornecido pela integrao dos modelos de uma


ferramenta UML, a colaborao entre os participantes de uma equipe de
desenvolvimento da soluo. Vrias solues oferecem excelentes
recursos para a colaborao e interao de um modelo sendo utilizado e
mantido por vrias pessoas, mantendo um controle de segurana,
versionamento e registro de alteraes;

SOCIESC Sociedade Educacional de Santa Catarina

56

Elementos de Programao

Normalmente, as ferramentas de UML apresentam um repositrio de


dados, oferecendo uma abordagem segura de informaes do projeto e
que pode ser compartilhada por vrios componentes do processo de
construo do programa. Em grandes e complexos projetos, esse tipo de
recurso auxilia no controle de mudanas e na dinmica que a soluo
pode sofrer.

4.1 FERRAMENTAS GRATUITAS


Vamos registrar aqui algumas ferramentas gratuitas para modelagem UML.
4.1.1 Argo UML
Ferramenta baseada em Java, apresenta uma soluo elegante e gratuita para
a construo de diagramas. Para usurios iniciantes e com o objetivo de utilizar uma
soluo simples, rpida e executada em vrias plataformas, uma excelente opo.
No oferece o nvel de poder, suporte a diagramas e integrao que as ferramentas
proprietrias.
http://argouml.tigris.org/
4.1.2 Violet
Ferramenta tambm baseada em Java, tem uma abordagem mais simples,
podendo ser executada utilizando a plataforma Java Web Start. Tambm uma
abordagem simples para a criao de diagramas, mas seu uso extremamente
simples, fcil e rpido. Das ferramentas avaliadas o pacote de instalao de menor
tamanho e de facilidade de execuo (figura 22).
http://www.horstmann.com/violet/

SOCIESC Sociedade Educacional de Santa Catarina

57

Elementos de Programao

Figura 22 Ambiente do Violet


4.1.3 EclipseUML
O Eclipse uma soluo largamente utilizada por programadores Java. Esse
software oferece uma abordagem baseada em integrao com vrias ferramentas
auxiliares, chamadas plug-in, que podem ser integradas ao ambiente de
desenvolvimento e facilitar o uso integrado entre as vrias faces da construo de
programas. Vrias ferramentas proprietrias e de software livre oferecem plug-ins
para integrao com o Eclipse, dentre elas o Rational Rose e o Enterprise Architect.
H tambm um amplo conjunto de opces de add-ins em forma de software livre.
http://www.eclipse.org
4.2 FERRAMENTAS PROPRIETRIAS
Apesar de pagas, as ferramentas UML proprietrias oferecem um amplo
conjunto de recursos, integrados e ricos em funcionalidades para facilitar a vida do
profissional que ir modelar um sistema.

SOCIESC Sociedade Educacional de Santa Catarina

58

Elementos de Programao

4.2.1 Rational Rose


uma ferramenta de modelagem, faz parte de uma suite de software da
Rational que possui um amplo conjunto de ferramentas para atender a todos os
aspectos envolvidos na construo de sistemas (figura 23). Seu foco principal est
na abordagem visual para a criao dos modelos e sua completa integrao. a
ferramenta mais utilizada para a construo de programas utilizando a UML, mas
seu custo e complexidade acabam no facilitando sua adoo.
http://www-306.ibm.com/software/rational/

Figura 23 Ambiente do Rational Rose

4.2.2 Enterprise Architect


Uma excelente opo ao Rational Rose o Enterprise Architect. Seu principal
diferencial est na abordagem facilitadora na criao de diagramas, com apelo visual
e menor consumo de recursos do computador. Alm disso, possui recursos
poderosos para a colaborao dos diagramas entre os integrantes de uma equipe de
projeto. Assim como o Rational, possui suporte completo s atuais especificaes da
UML.
http://www.sparxsystems.com.au/
SOCIESC Sociedade Educacional de Santa Catarina

59

Elementos de Programao

SNTESE
Com certeza a UML um assunto amplo, que exige dedicao e estudo
especfico e dedicado. Nesta aula tivemos por principal meta lhe oferecer uma ampla
viso da modelagem de sistemas usando a UML, apresentando um nvel genrico
de detalhes de sua implementao.
Reforo que uma notao importante, muito utilizada atualmente,
independente das plataformas de tecnologias envolvidas. Lembre-se de que a UML
um padro para a modelagem de aplicaes e o conhecimento aqui adquirido
poder servir como base para participao de projetos de sistemas orientados a
objetos.
Modelos so normalmente representados por representaes grficas,
usando algum tipo de notao, que define um conjunto de regras na forma de
smbolos grficos e conexes visuais. O principal objetivo dos modelos facilitar o
entendimento da estrutura complexa de um sistema.
Usando modelos tambm conseguimos obter consistncia durante o processo
de desenvolvimento, pois estabelecem padres que sero mantidos durante todo o
tempo do projeto. Isso particularmente importante, pois a comunicao entre os
participantes de uma equipe um dos principais fatores de insucesso de um projeto
de software.
A UML (Unified Modeling Language) uma notao para a construo de
solues orientadas a objetos e consiste em um conjunto de diagramas que
representam diferentes vises do projeto de software.
Nesta aula obtivemos uma viso geral sobre a UML e seus componentes.
Voc pde perceber as vantagens e as facilidades que a notao oferece. Perceba
ainda que toda proposta da UML baseia-se em modelos interdependentes, que
fornecem elementos visuais facilitadores do entendimento e da conduo de um
projeto de software.
Chegamos ao final de mais um mdulo. Espero que voc tenha atingido seus
objetivos e que utilize os conhecimentos aqui apresentados como um apoio para
evoluir o seu domnio sobre o processo de desenvolvimento de sistemas.
Um grande abrao e at a prxima.
Prof. Larcio da Cruz Loureiro

SOCIESC Sociedade Educacional de Santa Catarina

60

Elementos de Programao

EXERCCIOS PROPOSTOS
1) Apresente os mtodos principais que deram a origem para a UML.
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________

2)

Defina com as suas prprias palavras, a finalidade do diagrama de Casos de


Uso.

___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________

3)

Descreva com as suas prprias palavras as vantagens da adoo de uma


notao grfica para a anlise e construo de software.

___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________

SOCIESC Sociedade Educacional de Santa Catarina

61

Elementos de Programao

REFERNCIAS
FORBELLONE, A. e EBERSPACHER, H. Lgica de programao: a construo
de algoritmos e estrutura de dados. 2.ed. So Paulo: Makron Books, 2000.
GILLEANES T. A. GUEDES. UML: uma abordagem prtica. So Paulo: Novatec,
2004.
GRADY BOOCH, JAMES RUMBAUGH E IVAR JACOBSON. UML: Guia do
usurio. Rio de Janeiro: Campus, 2005.
JIM KEOGH, MARIO GRANNINI. OOP desmistificado - programao orientada a
objetos. Rio de Janeiro: Altabooks, 2005.
LAFORE, ROBERT. Aprenda em 24 horas estrutura de dados e algoritmo. Rio
de Janeiro: Campus, 1999.
SINTES, ANTHONY. Aprenda em 21 dias programao orientada a objetos. So
Paulo: Makron Books, 2002.
TOM PENDER. Livro UML a bblia. Rio de Janeiro: Campus / Elsevier, 2004.
VILLAS, MARCOS VIANNA. Estruturas de dados - conceitos e tcnicas de
implementao. Rio de Janeiro: Campus BB, 1999.

SOCIESC Sociedade Educacional de Santa Catarina

Você também pode gostar