Вы находитесь на странице: 1из 51

PARADIGMAS de Linguagem | Programação

Respeitar o professor é respeitar a si mesmo


PARADIGMAS de Linguagem | Programação

1.
1. Conceitos
ConceitosBásicos
Básicos
1.1
1.1Algoritmos
AlgoritmoseeProgramas
Programas
1.2
1.2Linguagens
Linguagensde deProgramação
Programação
1.3
1.3Processo
ProcessodedeDesenvolvimento
Desenvolvimentode
deProgramas
Programas
1.4
1.4Estilo
EstiloeeQualidade
Qualidadede
deProgramas
Programas

2.
2. Tipos
Tiposde
deDados
Dados
2.1
2.1Tipos
Tiposde
deDados
DadosPrimitivos
Primitivos
2.2
2.2Tipos
TiposString
Stringde
deCaracteres
Caracteres
2.3
2.3Tipos
TiposOrdinais
OrdinaisDefinidos
Definidospelo
peloUsuário
Usuário
2.4
2.4Tipos
TiposArray
Array
2.5
2.5Tipos
TiposRegistro
Registro
2.6
2.6Tipos
TiposPonteiro
Ponteiro

Prof. Reverton 2
PARADIGMAS de Linguagem | Programação

3.
3.Expressões
ExpressõeseeInstruções
InstruçõesdedeAtribuição
Atribuição
3.1
3.1Expressões
ExpressõesAritméticas
Aritméticas
3.2
3.2Conversões
Conversõesde deTipo
Tipo
3.3
3.3Expressões
ExpressõesRelacionais
RelacionaiseeBooleanas
Booleanas
3.4
3.4Instruções
Instruçõesde
deAtribuição
Atribuição

4.
4.Estruturas
EstruturasdedeControle
Controle
4.1
4.1Estruturas
EstruturasCondicionais
Condicionais
4.2
4.2Estruturas
Estruturasde
deRepetição
Repetição

5.
5. Subprogramas
Subprogramas
5.1
5.1Fundamentos
Fundamentos
5.2
5.2Métodos
Métodosde
dePassagem
PassagemdedeParâmetros
Parâmetros
5.3
5.3Sobrecarga
Sobrecargade
deSubprogramas
Subprogramas
Prof. Reverton 3
PARADIGMAS de Linguagem | Programação

6.
6.Programação
ProgramaçãoEstruturada
Estruturada
6.1
6.1Caracterização
Caracterização
6.2
6.2Linguagens
LinguagensImperativas
Imperativas(Basic,
(Basic,Pascal,
Pascal,C)
C)

7.7. Práticas
Práticasde
deProgramação:
Programação:Programação
ProgramaçãoEstruturada
Estruturada
7.1
7.1Exemplos
ExemplosdedeProgramas
Programas(Basic,
(Basic,Pascal,
Pascal,C)
C)
7.2
7.2Implementações
ImplementaçõesPráticas
Práticas

8.
8. Programação
ProgramaçãoOrientada
OrientadaaaEventos
Eventos
8.1
8.1Conceitos
ConceitosFundamentais
Fundamentais
8.2
8.2Caracterização
Caracterização
8.3
8.3Linguagens
LinguagensOrientadas
OrientadasaaEventos
Eventos(Delphi,
(Delphi,Visual
Visual
Basic)
Basic)
Prof. Reverton 4
PARADIGMAS de Linguagem | Programação

9.
9. Práticas
Práticasde
deProgramação:
Programação:Programação
ProgramaçãoOrientada
Orientadaaa
Eventos
Eventos
9.1
9.1Exemplos
ExemplosdedeProgramas
Programas(Delphi,
(Delphi,Visual
VisualBasic)
Basic)
9.2
9.2Implementações
ImplementaçõesPráticas
Práticas

10.
10. Tipos
TiposAbstratos
Abstratosde
deDados
Dados
10.1
10.1Fundamentos
Fundamentosde deAbstração
Abstração
10.2
10.2Encapsulamento
Encapsulamento
10.3
10.3Métodos
MétodosdedeAcesso
AcessoaaDados
Dados(public,private
(public,privateee
protected)
protected)
10.4
10.4Exemplos
ExemplosdedeAbstração
Abstraçãode
deDados
Dadosem
emJava
Java

Prof. Reverton 5
PARADIGMAS de Linguagem | Programação

11.
11. Programação
ProgramaçãoOrientada
OrientadaaaObjetos
Objetos
11.1
11.1Conceitos
ConceitosFundamentais
Fundamentais
11.2
11.2Caracterização
CaracterizaçãoeeComparação
Comparação
11.3
11.3Linguagens
LinguagensOrientadas
OrientadasaaObjetos
Objetos(Smalltalk,
(Smalltalk,C++,
C++,
Java,
Java,C#)
C#)

12.
12. Práticas
Práticasde
deProgramação:
Programação:Orientação
OrientaçãoaaObjetos
Objetos
12.1
12.1Exemplos
Exemplosde deProgramas
Programas(Smalltalk,
(Smalltalk,C++,
C++,Java,
Java,C#)
C#)
12.2
12.2Implementações
ImplementaçõesPráticas
Práticas

Prof. Reverton 6
PARADIGMAS de Linguagem | Programação

Que
Queprogramas
programasnós
nósvamos
vamosprecisar
precisarpara
paratrabalhar
trabalhar??


➔VISUALG
VISUALG (freeware)
(freeware)––construção
construçãodedealgoritmos
algoritmos
➔ PASCALZIM (freeware)
➔ PASCALZIM (freeware)––turbo
turbopascal
pascalfor
forwindows
windows
➔ VISUAL BASIC 6 (microsoft – academic aliance) - OE
➔ VISUAL BASIC 6 (microsoft – academic aliance) - OE

Metodologia
Metodologiade
detrabalho:
trabalho:

➔Aulas
Aulasexpositivas.
expositivas.
➔ Laboratório de programação.
➔ Laboratório de programação.
➔ Trabalhos e apresentações.
➔ Trabalhos e apresentações.
➔ Avaliação bimestral.
➔ Avaliação bimestral.

Prof. Reverton 7
PARADIGMAS de Linguagem | Programação

INTRODUÇÃO
INTRODUÇÃO
OOque
queéé“paradigma
“paradigmade
delinguagem
linguagem| |programação”?
programação”?

ÉÉaaescolha
escolhaque
quefazemos
fazemosdentro
dentrodas
dasferramentas
ferramentaseetécnicas
técnicas
existentes
existentespara
paraaaconstrução
construçãode
deprogramas
programasdedecomputador.
computador.
Quais
Quaisferramentas?
ferramentas?

●Linguagens
Linguagensde
deProgramação
Programação(VB,
(VB,Delphi,
Delphi,Java,
Java,PHP,
PHP,(…))
(…))
● Diagramação (argoUML, DBDesigner, EA,(...))
● Diagramação (argoUML, DBDesigner, EA,(...))
● Geradores de documentação.
● Geradores de documentação.
● Gerenciamento e Controle de versões. (CVS, Clearcase)
● Gerenciamento e Controle de versões. (CVS, Clearcase)
● Gerenciadores de BD. (MySQL, SQL Server, ACCESS,
● Gerenciadores de BD. (MySQL, SQL Server, ACCESS,

Oracle).
Oracle).
Prof. Reverton 8
PARADIGMAS de Linguagem | Programação

Algoritmos
AlgoritmoseeProgramas
Programas
Algoritmo
Algoritmoééaarepresentação
representaçãoestruturada,
estruturada,informal,
informal,que
queutiliza
utiliza
alguma
alguma técnica
técnica de
de escrita,
escrita, para
para aa resolução
resolução dede um um
determinado
determinadoproblema
problemacomputacional.
computacional.
Para
Para oo estudo
estudo dos
dos algoritmos
algoritmos avançados
avançados utilizaremos
utilizaremos oo
visualg:
visualg:
Procedimento = É uma seqüência finita de instruções que
podem ser executadas por um agente computacional.

Prof. Reverton 9
PARADIGMAS de Linguagem | Programação

PROGRAMAÇÃO

Programação é o processo de escrita,


teste e manutenção de um programa de
computador.
algoritmo
algoritmo "idéia"
"idéia"
var
var
nome
nome :: caracter
caracter
inicio
inicio
escreva("Informe
escreva("Informe seu
seu nome
nome :: ")
")
leia(nome)
leia(nome)
escreva("Olá
escreva("Olá ",nome,"
",nome," tudo
tudo bem
bem !")
!")
fimalgoritmo
fimalgoritmo
Prof. Reverton 10
PARADIGMAS de Linguagem | Programação

PROGRAMAÇÃO

program
program idéia;
idéia;
uses
uses Crt;
Crt;
var
var
nome
nome :: string;
string;
begin
begin
write('Informe
write('Informe seu
seu nome
nome :: ');
');
readln(nome);
readln(nome);
write('Olá
write('Olá ',nome,'
',nome,' tudo
tudo bem
bem !');
!');
end.
end.
Linguagem Pascal

Prof. Reverton 11
PARADIGMAS de Linguagem | Programação

As linguagens de programação podem ser classificadas e


sub-classificadas de várias formas

● Técnica de Programação Linear


Em matemática, problemas de Programação Linear são
problemas de otimização nos quais a função objetivo e as
restrições são todas lineares.

Entrada de dados | Processamento | Saída

Início Fim

Prof. Reverton 12
PARADIGMAS de Linguagem | Programação

As linguagens de programação podem ser classificadas e


sub-classificadas de várias formas

● Técnica de Programação Modular


Programação modular é um paradigma de programação no
qual o desenvolvimento das rotinas de programação é feito
através de módulos, que são interligados entre si através de
uma interface comum.
Calcula
CPF Function calcula_CPF(cpf)
Calcula
CNPJ
Cadastro

Prof. Reverton 13
PARADIGMAS de Linguagem | Programação

As linguagens de programação podem ser classificadas e


sub-classificadas de várias formas

● Técnica de Programação Estruturada


Programação estruturada é uma forma de programação de
computadores que preconiza que todos os programas
possíveis podem ser reduzidos a apenas três estruturas:
sequência, decisão e iteração.

Prof. Reverton 14
PARADIGMAS de Linguagem | Programação

As linguagens de programação podem ser classificadas e


sub-classificadas de várias formas

● Técnica de Programação Orientada a Objeto

É um paradigma de análise, projeto e programação de


sistemas de software baseado na composição e interação
entre diversas unidades de software chamadas de objetos.

Prof. Reverton 15
PARADIGMAS de Linguagem | Programação

Algoritmo de Euclides

Especifica como calcular o MDC (Máximo Divisor Comum)
de dois números inteiros positivos m e n.

➔ P1: x,y (adotam) m,n


➔ P2: r (resto da divisão) de x mod y
➔ P3: x <- y e y <- r

P4: Se r = nulo então x (MDC procurado)

Prof. Reverton 16
PARADIGMAS de Linguagem | Programação

Algoritmo de Euclides
algoritmo
algoritmo "MDC"
"MDC"
var
var
x,y,m,n,r
x,y,m,n,r :: inteiro
inteiro
inicio
inicio
leia(m)
leia(m)
xx <-
<- mm
leia(n)
leia(n)
yy <-
<- nn
repita
repita
rr <-
<- xx mod
mod yy
xx <-
<- yy
yy <-
<- rr
ate
ate rr == 00
escreva("MDC
escreva("MDC == ", ", x)
x)
fimalgoritmo
fimalgoritmo
Prof. Reverton 17
PARADIGMAS de Linguagem | Programação

Algoritmo de Euclides

Private
Private Sub Sub Command1_Click()
Command1_Click()
Dim
Dim m,m, n,
n, rr AsAs Integer
Integer
mm == Int(num1.Text)
Int(num1.Text)
nn == Int(num2.Text)
Int(num2.Text)
rr == mdc.calcula(m,
mdc.calcula(m, n) n)
MsgBox
MsgBox r, r, vbInformation,
vbInformation, "MDC
"MDC de
de
"" && mm && "" ee "" && nn
End
End Sub
Sub

Prof. Reverton 18
PARADIGMAS de Linguagem | Programação

Algoritmo de Euclides

Function
Function calcula(ByVal
calcula(ByVal xx As
As Integer,
Integer, ByVal
ByVal yy As
As
Integer)
Integer) As As Integer
Integer
On
On Error
Error GoTo
GoTo erro
erro
Dim
Dim rr AsAs Integer
Integer
Do
Do
rr == xx Mod
Mod yy
xx == yy
yy == rr
Loop
Loop Until
Until rr == 00
calcula
calcula == xx
Exit
Exit Function
Function
erro:
erro:
MsgBox
MsgBox Err.Description
Err.Description
Exit
Exit Function
Function
End
End Function
Function
Prof. Reverton 19
PARADIGMAS de Linguagem | Programação

Algoritmo de Euclides

Prof. Reverton 20
PARADIGMAS de Linguagem | Programação

FUNÇÕES E PROCEDIMENTOS - PRÁTICA

Subalgoritmos

São
São trechos
trechos de
de algoritmos
algoritmos que
que efetuam
efetuam umum
ou
ou mais
mais cálculos
cálculos determinados.
determinados. AoAo invés
invés de
de
escrever
escrever um
um algoritmo
algoritmo grande,
grande, escrevem-se
escrevem-se
vários
vários algoritmos
algoritmos menores,
menores, os
os quais,
quais, não
não
isoladamente,
isoladamente, masmas em
em conjunto,
conjunto, resolvem
resolvem
oo problema
problema proposto.
proposto.

Prof. Reverton 21
PARADIGMAS de Linguagem | Programação

Subalgoritmos
-- Eles
Eles reduzem
reduzem oo tamanho
tamanho do
do algoritmo.
algoritmo.

-- Facilitam
Facilitam aa compreensão
compreensão ee visualização
visualização do
do
algoritmo.
algoritmo.

-- São
São declarados
declarados no
no início
início do
do algoritmo
algoritmo ee
podem
podem ser
ser chamados
chamados emem qualquer
qualquer ponto
ponto
após
após sua
sua declaração.
declaração.

-- Eles
Eles podem
podem ser
ser Funções
Funções que
que retorna
retorna algum
algum
valor
valor ou
ou Procedimento
Procedimento (Subrotina)
(Subrotina) que
que não
não
retorna
retorna nada.
nada.
Prof. Reverton 22
PARADIGMAS de Linguagem | Programação

Funções
Uma
Uma função
função éé um
um instrumento
instrumento (Estático)
(Estático) que
que
tem
tem como
como objetivo
objetivo retornar
retornar um
um valor
valor ou
ou
uma
uma informação.
informação.

AA chamada
chamada de
de uma
uma função
função éé feita
feita através
através da
da citação
citação
do
do seu
seu nome
nome seguido
seguido opcionalmente
opcionalmente de de seus
seus
argumentos
argumentos iniciais
iniciais entre
entre parênteses.
parênteses.
inicio
leia(m)
leia(n)
md <- mdc(m,n)
escreva("MDC = ", md)
fimalgoritmo
Prof. Reverton 23
PARADIGMAS de Linguagem | Programação

Criando Funções
AA criação
criação de
de uma
uma Função
Função deve
deve ser
ser declarada,
declarada, com
com os
os
demais
demais objetos,
objetos, no
no início
início do
do programa.
programa.

Este
Este tipo
tipo de
de subalgoritmo
subalgoritmo sempre
sempre retornam
retornam um
um ee
apenas
apenas umum valor
valor ao
ao algoritmo
algoritmo que
que lhe
lhe chamou
chamou
funcao <identificador> ([var]<parâmetros>) <tipo
de retorno>
var
<declaração de variáveis locais>
inicio
<lista de comandos>
retorne <variável de retorno>
fimfuncao
Prof. Reverton 24
PARADIGMAS de Linguagem | Programação

Criando Funções
AA criação
criação de
de uma
uma Função
Função deve
deve ser
ser declarada,
declarada, com
com os
os
demais
demais objetos,
objetos, no
no início
início do
do programa.
programa.

Este
Este tipo
tipo de
de subalgoritmo
subalgoritmo sempre
sempre retornam
retornam um
um ee
apenas
apenas umum valor
valor ao
ao algoritmo
algoritmo que
que lhe
lhe chamou
chamou
funcao <identificador> ([var]<parâmetros>) <tipo
de retorno>
var
<declaração de variáveis locais>
inicio
<lista de comandos>
retorne <variável de retorno>
fimfuncao
Prof. Reverton 25
PARADIGMAS de Linguagem | Programação

Exemplo

ALGORITMO
ALGORITMO "Funções
"Funções Personalizadas"
Personalizadas"
var
var
Valor_1,Valor_2,
Valor_1,Valor_2, soma:
soma: real
real
funcao
funcao FSoma(Recebe_valor1,
FSoma(Recebe_valor1, Recebe_valor2:
Recebe_valor2:
Real):Real
Real):Real
var
var
total
total :: real
real
Inicio
Inicio
total<-Recebe_valor1+Recebe_valor2
total<-Recebe_valor1+Recebe_valor2
retorne
retorne total
total
fimfuncao
fimfuncao
Prof. Reverton 26
PARADIGMAS de Linguagem | Programação

Exemplo

Inicio
Inicio
Escreva
Escreva ("Valor_1
("Valor_1 :: ")
")
Leia
Leia (Valor_1)
(Valor_1)
Escreva
Escreva ("Valor_2
("Valor_2 :: ")
")
Leia
Leia (Valor_2)
(Valor_2)
Soma
Soma <-
<- FSoma(Valor_1,Valor_2)
FSoma(Valor_1,Valor_2)
Escreva
Escreva ("Soma
("Soma das
das vaiáveis
vaiáveis éé ",
", soma)
soma)
fimalgoritmo
fimalgoritmo

Prof. Reverton 27
PARADIGMAS de Linguagem | Programação

Procedimento

ÉÉuma
umasub-rotina
sub-rotinaque
queefetua
efetuaum
umprocessamento
processamentomas
masnão
não
retorna
retornavalor.
valor.

procedimento
procedimento <identificador>
<identificador> ([var]<parâmetros>)
([var]<parâmetros>)
var
var
<declaração
<declaração dede variáveis
variáveis locais>
locais>
inicio
inicio
<lista
<lista de
de comandos>
comandos>
fimprocedimento
fimprocedimento

Prof. Reverton 28
PARADIGMAS de Linguagem | Programação

Procedimento - exemplo

ALGORITMO
ALGORITMO "Procedimento"
"Procedimento"
var
var
A,B,C,D,CONT,AUX:Inteiro
A,B,C,D,CONT,AUX:Inteiro
Procedimento
Procedimento TROCA(var
TROCA(var x,
x, y:
y: inteiro)
inteiro)
var
var
Aux
Aux :: inteiro
inteiro
INICIO
INICIO
Aux
Aux <-
<- xx
xx <-
<- yy
yy <-
<- Aux
Aux
FIMProcedimento
FIMProcedimento
Prof. Reverton 29
PARADIGMAS de Linguagem | Programação

Procedimento - exemplo
inicio
inicio
leia
leia (A,B,C,D)
(A,B,C,D)
Enquanto
Enquanto NAO((A<=B)
NAO((A<=B) ee (B<=C)
(B<=C) ee (C<=D))
(C<=D)) faca
faca
se
se (D<C)
(D<C) entao
entao
TROCA(D,C)
TROCA(D,C)
fimse
fimse
se
se (C<B)
(C<B) entao
entao
TROCA(C,B)
TROCA(C,B)
fimse
fimse
se
se B<A
B<A entao
entao
TROCA(A,B)
TROCA(A,B)
fimse
fimse
fimenquanto
fimenquanto
escreva
escreva (A,"
(A," ",B,"
",B," ",C,"
",C," ",D) ",D)
fimalgoritmo
fimalgoritmo Prof. Reverton 30
PARADIGMAS de Linguagem | Programação

O Professor irá disponibilizar a lista de exercícios.

Prof. Reverton 31
PARADIGMAS de Linguagem | Programação

Linguagens de Programação

ummétodo
ÉÉum métodopadronizado
padronizadopara
paraexpressar
expressarinstruções
instruçõespara
para
um
umcomputador.
computador.

ÉÉum
umconjunto deregras
conjuntode regrassintáticas
sintáticaseesemânticas
semânticasusadas
usadas
para
paradefinir
definirum
umprograma
programade
decomputador.
computador.

OOconjunto
conjuntode
depalavras
palavras(tokens),
(tokens),compostos
compostosde
deacordo
acordocom
com
essas
essasregras,
regras,constituem
constituemoocódigo
códigofonte
fontede
deum
umsoftware.
software.

Esse código fonte é depois traduzido para código de


máquina, que é executado pelo processador.
Prof. Reverton 32
PARADIGMAS de Linguagem | Programação
Código=Fonte
Código=Fonte
Linguagens de Programação (Linguagem
(LinguagemdedeProgramação)
Programação)

Compilação
Compilação&&Interpretação
Interpretação Análise
Análiselexicográfica
lexicográfica

compilador
(scanner)
(scanner)
Um
Umcompilador
compiladorééumumprograma
programa Análise
Análisesintática/semântica
de
decomputador
computador(ou
(ouumumgrupo
grupodede sintática/semântica
(parser)
(parser)
programas)
programas)que,
que,aapartir
partirde
deum
um
código Gerador
Geradorde
decódigo
códigofonte
fonteescrito
escritoem
emumauma código
intermediário
linguagem intermediário
linguagemcompilada,
compilada,cria
criaumum
programa
programasemanticamente
semanticamente
equivalente,
equivalente,porém
porémescrito
escritoem
em Código
Códigonão
nãootimizado
otimizadopara
para
arquitetura X
outra
outralinguagem,
linguagem,código
códigoobjeto.
objeto. arquitetura X

Código-máquina para arquitetura


Gerador
Geradorde
decódigo-objeto
código-objeto
X
Prof. Reverton 33
PARADIGMAS de Linguagem | Programação

Linguagens de Programação | Compilação de código

tabela
tabelade desímbolos
símbolos,,guarda
guardapara
paracada
cadaidentificador
identificador
((símbolo
símbolo))usado
usadononoprograma
programaasasinformações
informações
correspondentes,
correspondentes,taistaiscomo
comonatureza
natureza(variável,constante,
(variável,constante,
procedimento,
procedimento,...),
...),tipo,
tipo,endereço,
endereço,espaço
espaçoocupado,
ocupado,etc.
etc.
Prof. Reverton 34
PARADIGMAS de Linguagem | Programação

Linguagens de Programação
Análise
Análiselexicográfica
lexicográfica
● A análise léxica é a primeira
(scanner)
(scanner) fase do compilador.
compilador

Análise
Análisesintática
sintática
Análise semântica
Análise semântica
● A função do analisador léxico,
(parser)
(parser) também denominado scanner, é
Gerador
ler o código fonte, caracter a
Geradorde
decódigo
código caracter, buscando a separação
intermediário
intermediário
e identificação dos elementos
componentes do programa
fonte, denominados símbolos
léxicos ou tokens.

Prof. Reverton 35
PARADIGMAS de Linguagem | Programação

Linguagens de Programação
Por exemplo, considere o trecho de programa Pascal:

if x>0 then
modx := x
else
modx := (-x)

Prof. Reverton 36
PARADIGMAS de Linguagem | Programação

Prof. Reverton 37
PARADIGMAS de Linguagem | Programação

Linguagens de Programação
Análise
Análiselexicográfica
lexicográfica A análise sintática deve
(scanner)
(scanner) reconhecer a estrutura
compilador

Análise
Análisesintática
sintática global do programa, por
Análise semântica
Análise semântica
(parser)
(parser)
exemplo, verificando que
programas, comandos,
Gerador
Geradorde
decódigo
código
intermediário
intermediário
declarações, expressões, etc
têm as regras de
composição respeitadas.

Caberia à análise sintática reconhecer a estrutura do trecho:

if x>0 then modx := x else modx := (-x)


Prof. Reverton 38
PARADIGMAS de Linguagem | Programação

Linguagens de Programação

Quase universalmente, a sintaxe das linguagens de


programação é descrita por gramáticas livres de contexto,
em uma notação chamada BNF (Forma de Backus-Naur ou
ainda Forma Normal de Backus)

Prof. Reverton 39
PARADIGMAS de Linguagem | Programação

Linguagens de Programação
<comando-if>
<comando-if> ::=
::=
IF
IF <expressão>
<expressão> THEN
THEN <comandos>
<comandos>
{{ ELSIF
ELSIF <expressão>
<expressão> THEN
THEN <comandos>
<comandos> }}
[[ ELSE
ELSE <comandos>
<comandos> ]]
END
END IF
IF ;;

As chaves e os colchetes indicam que a parte ELSIF pode ser


repetida zero ou mais vezes, e que a parte ELSE pode ocorrer
zero ou uma vez. De forma semelhante, temos:
<comandos> ::= <comando> { <comando> }

Prof. Reverton 40
PARADIGMAS de Linguagem | Programação

Linguagens de Programação
Análise
Análiselexicográfica
lexicográfica

As análises léxica e sintática,
(scanner)
(scanner) não estão preocupadas com o
compilador

Análise
Análisesintática
sintática significado ou semântica dos
Análise semântica
Análise semântica
(parser)
(parser)
programas que elas processam.
Gerador
Geradorde
decódigo
código
intermediário
intermediário

Analisador semântico prove
métodos pelos quais as
estruturas construídas pelo
analisador sintático possam ser
avaliadas ou executadas
Um exemplo de tarefa própria do analisador semãntico é a checagem de
tipos de variáveis em expressões
Prof. Reverton 41
PARADIGMAS de Linguagem | Programação

PROCESSO DE DESENVOLVIMENTO DE PROGRAMAS

Um processo de desenvolvimento de software é um conjunto


de atividades, parcialmente ordenadas, com a finalidade de
obter um produto de software.
(ENGENHARIA DE SOFTWARE)

Vamos ver agora:

Prof. Reverton 42
PARADIGMAS de Linguagem | Programação

PROCESSO DE DESENVOLVIMENTO DE PROGRAMAS

A Análise de requisitos de software é a


primeira fase de desenvolvimento de
software.

Neste fase conhecemos as


funcionalidades do sistema que
será desenvolvido. Através de
reuniões com o(s) cliente(s).
Prof. Reverton 43
PARADIGMAS de Linguagem | Programação

PROCESSO DE DESENVOLVIMENTO DE PROGRAMAS

É nesta fase também que ocorre a


maior parte dos erros


Falta de experiência do cliente.

Dúvidas sobre os requisitos do sistema.

Falta de clareza sobre as funcionalidades
do sistema.
Prof. Reverton 44
PARADIGMAS de Linguagem | Programação

PROCESSO DE DESENVOLVIMENTO DE PROGRAMAS

ANÁLISE DE REQUISITOS

Suponha que....
Você foi contratado para desenvolver um sistema
para uma grande empresa. Depois de 6 meses de
desenvolvimento, sendo, análise, implementação,
testes, etc. Você descobre que o cliente está
frustrado e desmotivado a usar o software porque
não atendeu aos REQUISITOS que ele imaginou
quando decidiu construir o software.

O QUE ACONTECEU?
Prof. Reverton 45
PARADIGMAS de Linguagem | Programação

PROCESSO DE DESENVOLVIMENTO DE PROGRAMAS

ASSINALE QUAL A CAUSA PARA O FRACASSO DO PROJETO

Problema na hora de entender o projeto

Problema na hora de escrever o código

Falta de tempo

O cliente não sabe direito o que quer

Prof. Reverton 46
PARADIGMAS de Linguagem | Programação

ENTENDA O PROBLEMA


●Estude
Estude
● Escreva
● Escreva
● Analise
● Analise
● Entenda
● Entenda

FERRAMENTAS
FERRAMENTASQUE
QUETEMOS
TEMOSPARA
PARAISSO:
ISSO:

--Papel
Papeleelápis
lápis
--Editor
Editorde
detexto
texto
--Templates
Templates(modelos)
(modelos)
--Métodos
Métodos
Prof. Reverton 47
PARADIGMAS de Linguagem | Programação

CASO DE USO
OOQUE
QUEÉÉ??
ÉÉuma
umadescrição
descriçãotextual
textualdas
dasfunções/módulos
funções/módulos(requisitos)
(requisitos)de
de
um
umsistema.
sistema.

Antes de mais nada vamos..

Identificar o escopo do Sistema

Prof. Reverton 48
PARADIGMAS de Linguagem | Programação

Identificar o escopo do Sistema

Questões chave:


O que o sistema vai fazer?

Quem vai usá-lo?

Como será usado?

O que o sistema não vai fazer?

O que está dentro e o que está fora do sistema?

Prof. Reverton 49
PARADIGMAS de Linguagem | Programação

Conceitos
Ator
É o papel executado por objetos externos ao
sistema e que interagem com ele para a
execução de uma tarefa.

Caso de uso
Uma unidade coerente de funcionalidades,
Caso de uso provida pelo sistema, constituída de uma
seqüência de mensagens trocadas entre o
sistema e os atores (usuários), e de ações
executadas pelo sistema em decorrência
dessas mensagens.

Prof. Reverton 50
PARADIGMAS de Linguagem | Programação

Conceitos

<<inclui>>
Caso de uso

Cenário
Uma instância de um caso de uso
Interação entre o ator e o caso de uso.

Vamos modelar usando o ......

Prof. Reverton 51

Вам также может понравиться