Você está na página 1de 35

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", &nota1);
printf("Digite a segunda nota");
Calcular a média aritmética scanf("%d", &nota2);
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 System.out.println("Digite a primeira
nota");
Calcular a média nota1 = teclado.nextFloat();
aritmética System.out.println("Digite a segunda
nota");
nota2 = teclado.nextFloat();
Se a média for igual media = (nota1 + nota2)/2;
21
34
ou maior que 7, o if(media >=7)
aluno foi aprovado, System.out.println("Aprovado");
Se não, ele foi else System.out.println("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

Você também pode gostar