O a
uto
r
Olá, eu sou o Eric Cancellgliere,
Sou analista de sistemas, programador e técnico
em informática. Atuo na área de tecnologia
desde 2007. Gosto de ensinar o que aprendi (e
também de aprender o que ensino), afinal,
compartilhar conhecimento não faz com que se
crie concorrência apenas, mas sim com que
possamos contar com profissionais mais
qualificados no mercado.
Antes de Começar
Olá programador! É ótimo saber que está acessando
este e-book. Isso demonstra que, assim como eu, você
também se interessa em adquirir conhecimento para
melhorar suas habilidades.
Vou mostrar aqui uma série de passos que devem ser
utilizados na construção de um programa de
computador. São técnicas que todos os bons
programadores utilizam e que você irá aprender a
utilizar agora.
O passo fundamental e base de todo o
desenvolvimento de programas de computador você
conhecerá logo na próxima página.
Então, vamos começar!
Programação em Foco Eric Cancellgliere
O que você vai encontrar nesse e-book
1 – Ouça o Problema
2 – Faça Anotações
4 – Organize Tudo
(Briefing)
3 – Pergunte e Colete
Material
5 – Cronograma
6 – Algoritmo
7 – Teste de Mesa
8 – Código Fonte
Programação em Foco Eric Cancellgliere
1 Ouça o Problema
Ouvir o problema, isto é, o que lhe é pedido para desenvolver,
é a base de tudo, é o alicerce da criação de um programa de
computador.
Comercialmente falando, se um cliente entra em contato com
você para encomendar um sistema, é natural que ele lhe
passe algumas informações sobre como deseja que este seja
construído, definindo, inclusive, dados, informações e funções
do sistema já nesta conversa. Assim, você deve abstrair o que
foi passado para seguir com as próximas etapas.
E isto não serve apenas para o desenvolvimento comercial,
serve também para o desenvolvimento em ambiente
acadêmico, quando seu (sua) professor (a) está explicando um
problema proposto que você precisa interpretar para depois
realizar.
4
Programação em Foco Eric Cancellgliere
1 Ouça o Problema
Entenda que “ouvir o problema” também pode significar ler
uma especificação que lhe é passada, seja por seu cliente ou
por seus professores.
Tenha em mente que quando paramos e prestamos atenção
ao que nos é solicitado, fica muito mais simples continuar o
processo de desenvolvimento de software.
5
Programação em Foco Eric Cancellgliere
2 Faça Anotações
Enquanto conversamos com nosso cliente ou ouvimos nossos
professores sobre o desenvolvimento de um programa, é
interessante que façamos anotações, tanto sobre aquilo que
estão requisitando quanto sobre possíveis dúvidas e
questionamentos que precisarmos esclarecer.
É difícil para pessoas em nossa área de atuação lembrar tudo
o que conversamos com alguém, principalmente se tratando
de entender um problema para poder criar um software para
soluciona-lo, o que pode ser algo totalmente complexo. Isto
acontece porque estamos com nossos pensamentos passando
por nossas cabeças a quilômetros por hora e, com toda essa
confusão, eles podem acabar se chocando, fazendo com que
esqueçamos algo. Daí a importância de fazer anotações.
6
Programação em Foco Eric Cancellgliere
2 Faça Anotações #Dica: Não se preocupe em fazer anotações
de forma ordenada ou organizada. Nesta etapa isto não se faz necessário. Apenas anote tudo o que considerar importante.
Colocaremos em ordem depois.
7
Programação em Foco Eric Cancellgliere
3 Pergunte e colete Material
O pior erro que um programador pode cometer é achar que
entendeu um problema logo de primeira e que já é capaz de
criar uma solução. Nunca faça isso!
Claro que há problemas mais simples do que outros. Mas nem
sempre um problema que parece simples o é de fato e vice-
versa. Conforme vamos adquirindo experiência profissional,
aprenderemos a distinguir cada um.
É importante tirar as dúvidas que temos sobre a criação de
um projeto, inclusive as dúvidas do próprio cliente. Há uma
frase que os programadores experientes já conhecem bem
que diz:
“Nem sempre o que o cliente quer é o que
ele precisa.” “ 8
Programação em Foco Eric Cancellgliere
3 Pergunte e colete Material
Eu mesmo já perdi as contas de quantas vezes a frase acima
se aplicou aos meus projetos. Na maioria das vezes meus
clientes eram leigos, não entendiam profundamente suas
necessidades e tampouco como o desenvolvimento de um
programa funcionava. Então, coube a mim fazer as perguntas
corretas para seguir com o projeto.
E quais são as perguntas corretas?
Bom, isso varia de projeto para projeto. Ainda assim, há
algumas perguntas que são padrão. Veja 5 perguntas chave
que se pode fazer:
9
Programação em Foco Eric Cancellgliere
3 Pergunte e colete Material
Qual é o tipo de negócio da sua empresa?
Para qual área da empresa se destina o programa (RH,
financeiro, estoque, etc.)?
Quem vai utilizar o programa? É alguém que entende de
informática/tecnologia?
Quais os dados que o programa deve tratar?
Que tipo de informação o programa deve gerar?
Outras perguntas que você achar necessárias, de acordo com
a necessidade e o tipo de projeto, podem ser feitas. O que
vale aqui é não ficar com dúvidas.
10
Programação em Foco Eric Cancellgliere
3 Pergunte e colete Material
#Orientação Importante: Não confunda dado com informação! Dado é um elemento ou valor isolado que por si só não transmite nenhuma mensagem que possibilite o entendimento sobre determinada situação. A informação é o resultado da organização e processamento dos dados de tal maneira que forneça a quem a vê o conhecimento necessário sobre uma determinada perspectiva.
11
Programação em Foco Eric Cancellgliere
3 Pergunte e colete Material
A coleta de material
Qualquer material que o cliente fornecer (planilha, gráfico ou
outro documento) é de extrema importância. Pegue cópias do
que puder.
Tudo isto irá determinar a qualidade do seu projeto e,
obviamente, se ele atenderá a necessidade do seu cliente.
Portanto, tenha atenção!
12
Programação em Foco Eric Cancellgliere
4 Organize Tudo (Briefing)
Agora que você ouviu, anotou e perguntou, é hora de
organizar as coisas.
Basicamente vamos pegar as perguntas que fizemos e as
devidas respostas, todas as anotações (até mesmo aqueles
rascunhos e palavras que escrevemos e achamos sem sentido)
e materiais fornecidos, lembrar do que ouvimos do nosso
cliente e criar uma espécie de briefing do projeto.
13
Programação em Foco Eric Cancellgliere
4 Organize Tudo (Briefing)
“Briefing (palavra inglesa que significa
resumo em português): é um conjunto de
informações, uma coleta de dados para o
desenvolvimento de um projeto. É um
documento contendo a descrição da
situação de uma empresa, seus problemas,
objetivos e recursos para atingi-los.”
O briefing não é o projeto do sistema. É um guia para
entendimento do problema exposto. A partir dele
construiremos o projeto do sistema.
“
14
Programação em Foco Eric Cancellgliere
5 Cronograma
Definir prazos é a melhor forma de se organizar. Percebemos
isso em nosso dia-a-dia quando precisamos ter hora para
acordar, tomar café, ir à escola ou ao trabalho, almoçar, etc. E
também é um hábito que devemos criar para trabalhar em
nossos projetos, não importa de que tamanho sejam.
Desenvolver o Cronograma é um processo iterativo (se repete
diversas vezes) que envolve analisar a sequência das
atividades, sua duração, seus requerimentos e suas restrições,
determinando datas de início e término de cada atividade.
15
Programação em Foco Eric Cancellgliere
5 Cronograma
Modelo de Cronograma simples
Veja um modelo simples de cronograma que você pode
utilizar em seus projetos:
Atividade Início Término Responsável Status Comentário
16
Programação em Foco Eric Cancellgliere
5 Cronograma
Os itens do cronograma:
Atividade: ação a ser realizada. Exemplo: Ligar para o
cliente;
Início: data de início da atividade. Exemplo: 24/09/2015;
Término: data de término da atividade. Exemplo:
24/09/2015;
Responsável: pessoa responsável pela atividade.
Exemplo: Eric;
Status: situação da atividade. Exemplo: Concluído;
Comentário: alguma observação sobre a atividade.
Exemplo: Atividade já realizada.
O cronograma também pode ser passado para o cliente.
Assim, este pode acompanhar e fazer as cobranças
necessárias sobre o desenvolvimento do projeto.
17
Programação em Foco Eric Cancellgliere
6 Algoritmo
É aqui que a coisa vai começar a tomar forma. Algoritmo é
uma forma de representar a execução de uma tarefa ou a
solução de um problema. Nós usamos algoritmos em nosso
dia-a-dia sem que sequer notemos. Um bom exemplo é este:
Algoritmo Escovar os dentes
Início
1. Pegar a escova de dentes;
2. Pegar o creme dental com a outra mão;
3. Abrir a tampa do creme dental;
4. Colocar um pouco de creme dental na escova;
5. Colocar a escova na boca e escovar os dentes;
6. Tirar a escova da boca;
7. Lavar a boca e a escova com água.
Fim
18
Programação em Foco Eric Cancellgliere
6 Algoritmo
Perceba que as instruções de um algoritmo devem ser
numeradas, diretas, objetivas, sem redundância e ordenadas
de forma lógica, hierárquica. Além disso, os verbos devem
estar sempre no infinitivo (fazer, escrever, imprimir, etc.).
Vamos a outro exemplo de um algoritmo não computacional:
19
Programação em Foco Eric Cancellgliere
6 Algoritmo
Algoritmo Utilizar um telefone público
Início
1. Tirar o telefone do gancho;
2. Escutar o sinal de linha;
3. Introduzir o cartão;
4. Teclar o número desejado;
5. Se der sinal de chamar
5.1 Conversar;
5.2 Desligar;
5.3 Retirar o cartão;
6. Senão
6.1 Colocar o telefone no gancho;
6.2 Repetir;
Fim
20
Programação em Foco Eric Cancellgliere
6 Algoritmo
Neste exemplo vemos que há verificações de condições e
desvios de acordo com o que ocorrer. Também é possível
perceber melhor a hierarquia entre as instruções. É
exatamente assim que um programa de computador
funciona. Veja:
21
Programação em Foco Eric Cancellgliere
6 Algoritmo
Algoritmo Somar os números ímpares entre 0 e 10
Inicio
1. contador = 0;
2. soma = 0;
3. Enquanto contador < 10 Faça
3.1 Se (contador % 2 != 0)
3.1.1 soma = soma + contador
3.1.2 contador = contador + 1;
3.2 Fim Se
4. Fim Enquanto
5. Escrever (soma);
Fim
22
Programação em Foco Eric Cancellgliere
6 Algoritmo
O algoritmo acima descreve um programa capaz de somar os
números ímpares entre 0 e 10. Há uma variável para controlar
o loop que percorrerá o intervalo 0-10 (contador) e outra para
armazenar o resultado da soma dos números ímpares (soma)
no intervalo. Dentro do loop, realizamos uma verificação para
saber se o valor da variável contador é ímpar. Se for,
adicionamos este valor ao conteúdo já existente na variável
soma. Ao término do loop, exibimos o resultado obtido em
soma.
Ainda que este algoritmo não seja um programa de
computador, conseguimos ver claramente como o programa
propriamente dito deverá funcionar. Este é o objetivo desta
técnica.
23
Programação em Foco Eric Cancellgliere
7 Teste de Mesa
Não basta apenas criar um algoritmo e não ter certeza de que
este irá funcionar, não é mesmo? Mas nós não precisamos,
necessariamente, transcrever o algoritmo para uma
linguagem de programação para saber se vai funcionar. É
possível testar seu funcionamento sem sequer precisar estar
próximo a um computador. Este teste é chamado de Teste de
Mesa.
O Teste de Mesa tem o objetivo de nos ajudar a verificar se
um algoritmo (ou até mesmo um programa já pronto) nos
levará a um resultado esperado através de simulação de
valores. Nós iremos basicamente fazer o que o computador
faria, porém, utilizando apenas “papel e caneta”.
24
Programação em Foco Eric Cancellgliere
7 Teste de Mesa
Como fazer o Teste de Mesa?
Peguemos o exemplo o seguinte algoritmo:
Algoritmo Somar dois números
Inicio
1. numero1 = 0;
2. numero2 = 0;
3. soma = 0;
4. Ler(numero1);
5. Ler(numero2);
6. soma = numero1 + numero2;
7. Escrever (soma);
Fim
25
Programação em Foco Eric Cancellgliere
7 Teste de Mesa
Primeiramente devemos identificar as variáveis do nosso
algoritmo. No caso, nossas variáveis são numero1, numero2 e
soma.
Agora vamos criar uma tabela, onde:
A primeira coluna: deverá identificar os números das
linhas correspondentes às instruções observadas;
As demais colunas: deverão identificar as variáveis que
serão observadas;
As linhas: corresponderão aos valores obtidos em cada
instrução.
26
Programação em Foco Eric Cancellgliere
7 Teste de Mesa
Olhe como ficaria o teste de mesa do nosso exemplo:
Linha numero1 numero2 Soma
1 {0} ? ?
2 {0} {0} ?
3 {0} {0} {0}
4 (5) {0} {0}
5 (5) (3) {0}
6 (5) (3) (8)
7 (5) (3) (8)
27
Programação em Foco Eric Cancellgliere
7 Teste de Mesa
No teste de mesa, vamos colocando os valores na tabela
conforme vão aparecendo nas linhas do algoritmo. Veja que
nas linhas 4 e 5 do nosso algoritmo eu coloquei os valores 5
(para a variável numero1) e 3 (para a variável numero2). Estes
valores são apenas valores de teste, valores que um usuário
do programa poderia colocar. Poderiam ser quaisquer outros,
pois isto é apenas um teste de funcionalidade do algoritmo. E
pelo que podemos observar, o algoritmo funciona, visto que
conseguiu fazer com que a variável soma recebesse o
resultado da soma dos valores das variáveis, isto é, o valor 8.
Há também algumas particularidades no teste de mesa como
o uso de parênteses, chaves e o símbolo de interrogação.
Vamos entendê-las:
28
Programação em Foco Eric Cancellgliere
7 Teste de Mesa
Chaves {} : indicam um valor que foi escrito por uma
instrução, definido pelo programador;
Parênteses () : indicam um valor que foi lido, dado pelo
usuário;
Interrogação ? : indica um valor que ainda não foi
determinado.
#Dica: Quando for fazer o teste de mesa de um algoritmo
que possua um laço de repetição (loop), faça o teste do
loop separadamente da tabela principal, indicando tal
ação nesta tabela. No teste de mesa de laços de
repetição, a primeira coluna da tabela deverá representar
o número de vezes que a repetição será executada ao
invés do número da linha.
29
Programação em Foco Eric Cancellgliere
8 Código Fonte
Para fechar o ciclo, é hora de programar!
Há quem prefira vir diretamente para esta etapa, ignorando
completamente as anteriores, imaginando que sua
experiência e o conhecimento adquiridos ao longo do tempo
já são suficientes e bastam para realizar esta tarefa. Estes
ainda não conseguem perceber que os problemas que
encontrarão durante este processo poderiam ser minimizados
ou até mesmo inexistentes se tivessem seguido esta “receita”.
Assim como não se constrói um edifício sem pesquisa, sem
planejamento, sem projeto; não se constrói programas de
computadores sem seguir estes passos básicos. Sim, estes são
passos básicos. Dependendo do tipo de sistema, teremos que
adicionar alguns outros passos para garantir a qualidade no
seu desenvolvimento. Mas por hora, estes nos bastam.
30
Programação em Foco Eric Cancellgliere
8 Código Fonte
Vou mostrar nesta etapa como ficariam os algoritmos Somar
dois números e Somar os números ímpares entre 0 e 10
transcritos para a linguagem de programação C. Mas antes
disso, preciso fazer algumas considerações sobre como você
deve codificar os seus programas. Não são imposições, ou
seja, não vou dizer que vocês devem fazer exatamente como
será explicado. Isto é apenas uma sugestão de alguém que
conhece o mercado e sabe da importância de cada palavra
aqui escrita. Portanto, vamos às considerações.
Um bom código fonte deve ter:
Cabeçalho: descrevendo o nome do programa e/ou a sua
utilidade, autor do programa, data de criação, versão,
modificações feitas em cada versão;
Comentários: explicando o que cada linha, trecho ou
bloco de código faz;
31
Programação em Foco Eric Cancellgliere
8 Código Fonte
Indentação: para facilitar a compreensão do código e criar
uma espécie de hierarquia entre vários blocos que este
pode possuir.
Indentação: esta é a forma correta de
escrita da palavra. Vemos em muitos sites
pela internet esta palavra escrita como
“identação”, que é uma forma de escrita
incorreta. A palavra indentação é um
neologismo (palavra derivada de outra)
que tem sua origem na palavra inglesa
indentation, tendo um sentido de recuo.
“
32
Programação em Foco Eric Cancellgliere
8 Código Fonte
Agora é hora de ver os algoritmos se transformarem em
programas:
Programa 1: Somar dois números
Programa 2: Somar os números ímpares entre 0 e
10
33
Programação em Foco Eric Cancellgliere
Programa 1 - Somar dois números
34
Programação em Foco Eric Cancellgliere
Programa 2 - Somar os números ímpares entre 0 e 10
35
Programação em Foco Eric Cancellgliere
#Resumo e #Dicas Finais
Ouça o problema: Escute o que seu cliente irá lhe pedir.
Faça anotações: Enquanto ouve o cliente (e também depois
de ouvi-lo) anote suas dúvidas, observações, palavras-chave,
etc.
Pergunte e colete material: Crie um questionário com base
no que ouviu do seu cliente e em suas anotações e colete
qualquer material que considerar necessário.
#Dica: Pesquisar sobre o negócio para o qual irá construir
um programa também pode ser de grande ajuda.
36
Programação em Foco Eric Cancellgliere
#Resumo e #Dicas Finais
Organize tudo (Briefing): Crie uma espécie de “guia” através
do que obteve nos passos anteriores para poder criar o
projeto do sistema.
Cronograma: Organize suas atividades estipulando datas para
realizar cada uma.
Algoritmo: Crie um algoritmo antes de criar o programa
propriamente dito.
Teste de mesa: Teste o algoritmo criado antes de transforma-
lo em código fonte.
Código fonte: Crie o código fonte de forma organizada, com
cabeçalho, comentários e indentado.
37
Agradecimentos
Muito obrigado por ler este e-book. Espero que tenha
lhe sido útil e possa aplicar o que viu aqui em sua vida
profissional. Um forte abraço e sucesso sempre!
Agora é com você! 8 PASSOS que você deve seguir para criar um PROGRAMA DE COMPUTADOR. http://programacaoemfoco.com.br por Eric Cancellgliere.
Top Related