Aula 1
Fundamentos de Desenvolvimento de
Softwares
1
34
Profª Luciane Yanase Hirabara Kanashiro
Conversa Inicial
2
34
Software
Na aula de hoje, estudaremos o conceito de
software. Veremos também a relação entre
algoritmos, linguagens e programas. Essa
3
34 aula traz ainda uma breve descrição sobre o
ciclo de vida do software
Software e programas
Algoritmos
Linguagens
4
Software básico
34
Ciclo de vida de software
Software e programas
5
34
Software
Software consiste em
Instruções (programas de computador) que,
quando executadas, fornecem características,
funções e desempenho desejados
Estruturas de dados que possibilitam aos
6 programas manipular informações
adequadamente
34
Informação descritiva, tanto na forma
impressa quanto na virtual, descrevendo a
operação e o uso dos programas
Software
Programa
Sequência de passos ou instruções
descritos por um algoritmo
Algoritmo
Estrutura passo a passo de como um
7
34
problema deve ser resolvido
Ex.: uma receita de bolo
Software de sistema (básico)
Sistemas operacionais
Sistemas tradutores
8
Software utilitário
34
Software aplicativo
Software de sistema (básico)
Coleção de programas para apoiar outros
programas
Contato direto com o hardware: gerencia a
execução de outro software
Sistemas operacionais
9
34
Sistemas tradutores
Software utilitário
Fornece ao usuário ferramentas para
organizar os discos, verificar disponibilidade
de memória e corrigir falhas de
processamento
Útil ao sistema computacional
10
Ex.: antivírus, compactadores, emuladores,
34
desfragmentadores, formatadores, backup
Software aplicativo
Programa que auxilia o usuário de
computador a realizar determinada tarefa
Ex.: navegadores, editor de texto, planilhas
apresentações, SGBDs, editor de imagens etc.
11
34
Algoritmos
12
34
“Algoritmo é uma sequência de passos que
visa atingir um objetivo bem definido”
(Forbellone, 1999, p. 3)
13
34
Objetivo: representar mais fielmente o
raciocínio envolvido na lógica de
programação
Uma vez concebida uma solução, pode ser
14
34
traduzida para qualquer linguagem de
programação
Exemplo de algoritmo
Receita de bolo
Misture os ingredientes
Unte a forma com manteiga
Paulista/adobe stock
Despeje a mistura na forma
15
34
Leve a forma ao forno
Enquanto não dourar, deixe a forma no forno
Retire do forno
Deixe esfriar
Calcular média de prova
Obter as duas notas de provas
16
34 Calcular a média aritmética
Se a média for igual ou maior que 7, o
aluno foi aprovado
Se não, ele foi reprovado
Linguagem
17
34
Linguagens de programação tratam os dados
de um computador por meio do uso de
algoritmos
Programador
Encontra um algoritmo que resolve o seu
18
34
problema
Implementação usando uma linguagem de
programação
Algoritmos
C
C++
Lógica de
programação Linguagem C#
Java
19 Python
34
Estrutura de
dados
Exemplo de linguagem
Algoritmo Linguagem de programação - C
Obter as duas notas de
printf("Digite a primeira nota");
provas
scanf("%d", ¬a1);
printf("Digite a segunda nota");
Calcular a média aritmética scanf("%d", ¬a2);
Se a média for igual ou media = (nota1 + nota2)/2;
20
maior que 7, o aluno foi if(media >=7)
34 aprovado printf("Aprovado \n");
else
Se não, ele foi reprovado printf("Reprovado \n");
Algoritmo Linguagem de programação – Java
Obter as duas notas
de provas [Link]("Digite a primeira
nota");
Calcular a média nota1 = [Link]();
aritmética [Link]("Digite a segunda
nota");
nota2 = [Link]();
Se a média for igual media = (nota1 + nota2)/2;
21
34
ou maior que 7, o if(media >=7)
aluno foi aprovado, [Link]("Aprovado");
Se não, ele foi else [Link]("Reprovado");
reprovado
Software básico
22
34
Sistemas operacionais
O software básico é aquele necessário para o
funcionamento do hardware ou de parte dele
23
34
Ex.: sistemas operacionais e sistemas
tradutores
O sistema operacional é um software
responsável pela supervisão dos processos
executados em um computador. O sistema
operacional gerencia todo o hardware e todo
24 o software do computador e realiza a
34
“comunicação” entre eles
Camada de software entre o hardware e os
softwares usados pelos usuários
Usuário/aplicativo
Sistema operacional
25
34
Hardware
Iamnee/Shutterstock
Funções dos sistemas operacionais
Facilitar o uso do computador pelo usuário,
tornando mais simples a utilização de seus
recursos
Gerenciar os recursos do computador
Controlar a execução de
26
34 programas pela CPU
Iamnee/Shutterstock
Sistemas tradutores
media =
(nota1 +
Convertem os programas
nota2)/2;
if(media >
=7)
escritos para um código em
printf
uma linguagem de máquina, (“Aprovado
\n”);
27
34 mais adequada para
manipular bits
10000010011111111010101000111
10001110101010101010101011110
Programa escrito em linguagem de alto nível:
necessidade ser traduzido para a linguagem
de máquina para que o computador possa
executá-lo Fonte
Fonte
Interpretadores e compiladores Fonte
Fonte
Fonte
Fonte Interpretador
Fonte
28 Fonte Compilador
Fonte
34
Fonte 1100010000
1100010000 0011101011
0101010101
1000111001
CPU 0111011011
Ciclo de vida de software
29
34
Ciclo de vida
Etapas que devem ser seguidas quando se
cria um produto de software
Modelo de processo
30
34
Três fases genéricas
Definição
Desenvolvimento
Manutenção
31
34
Definição Desenvolvimento Manutenção
Definição
Engenharia
de Reuniões com cliente
requisitos
Definição
do
problema
32
34
Divisão do problema
Análise de
sistema Relacionamento entre
subproblemas
Blue Planet Studio/Shutterstock
Lyovajan/Shutterstock
A-image/Shutterstock
Desenvolvimento
C
Linguagem C#
de Codificação
programação Java
PHP
Definição da sequência de passos
necessários para a execução de cada um Algoritmo
dos módulos definidos na fase de projeto
33
34
Padrões
Testes
Qualidade
Allies Interactive/Shutterstock
Tarikvision/Shutterstock
Manutenção
Manuais
Inclusão Solução
Modificação de
34
alteração problemas
34
Treinamento
dos usuário
Blan-k/Shutterstock
Visual Generation/Shutterstock
35
34