Algoritmo e Programação
Software
Prof. Luiz Carlos
Software ou Programa
• É a parte lógica que faz o hardware de um
computador funcionar conforme desejado.
Também é responsável pela “inteligência” da
máquina;
– Podemos dividir os softwares em duas grandes
categorias:
• Software de sistema
– Software utilitário
• Software de aplicativos
Algoritmo x Software
• Algoritmo: ideia, plano ou sequência lógica de
passos para resolver um problema
• Programa: implementação de um algoritmo
em uma linguagem de programação
– Software: conjunto de programas que realiza uma
ou várias tarefas
Programa de Computador
Entrada Programa Maior Saída
Com um mesmo
5, 10, 25, Processamento 30 conjunto de dados, o
30, 1, 0
programa é o responsável
pela operação que é
Programa Soma realizado com o dados
alterando o resultado de
acordo com o programa.
5, 10, 25, Processamento 71
30, 1, 0
Lembre-se que as
Programa Ordena entradas são números
binários...
5, 10, 25, Processamento 0, 1, 5, 10,
30, 1, 0 25, 30
Programas, também...
5
Software de Aplicativos
• São os softwares que possuem uma finalidade
específica.
– Ex.:
• Softwares comerciais;
• Suítes de software (office, BrOffice);
• Softwares de controle aéreo.
Software de Aplicativos
• Podem ou não ser baseados em pessoas.
– Ex.:
• Software técnicos: Telefonia Celular, Redes, Televisão
(funcionam sem depender da intervenção humana)
• Software sociotécnicos: Controle financeiro
(dependem de pessoas e processos a serem seguidos)
Software de Aplicativos
• Software Sociotécnicos
– Possuem propriedades emergentes:
• Funcionais: Definem os objetivos do software
Ex.: Cadastrar usuário, validar senha...
• Não-Funcionais: Características do software
Ex.: Confiabilidade, desempenho, segurança...
Confiabilidade de um sistema
computacional
• Fatores que influenciam na confiabilidade de um
sistema de software:
– Confiabilidade de hardware
Ex.: Qual a probabilidade de falha de um hardware?
– Confiabilidade do software
Ex.: Qual a probabilidade de falha do software?
– Confiabilidade do operador
Ex.: Qual a probabilidade do operador cometer erros?
Desenvolvimento de Software
• Desenvolver um software não é tarefa fácil,
pois devemos observas as propriedades
funcionais e não funcionais a serem
atendidas.
–Por quê desenvolver um software
é tarefa complexa?
Desenvolvimento de softwares
– Atender as exigências dos clientes
• Clientes não sabem o que querem;
• Pedem mais do que realmente necessitam...
– Problema técnicos
• Não é possível atender a todas as exigências do
cliente em tempo e custo desejados;
• Pessoal desqualificado para desenvolver o software;
• Problemas sem solução...
– Outros problemas
• Falta de equipamentos;
• Ferramentas inadequadas para o desenvolvimento...
Desenvolvimento de Softwares
– Arquitetura do software
• Software pode ser formado por vários
módulos;
• Problema da comunicação entre os módulos;
• Coordenação das atividades que o software
deve realizar...
Software Aplicativos
• ENGENHARIA DE SOFTWARE
Preocupa-se com todas as questões para o
desenvolvimento, operação e evolução de um
software.
Software Aplicativos
• Processo de desenvolvimento de software
Software Aplicativos
Software Aplicativos
• Custo de um software aplicativo
– Desenvolver seu próprio software
• Equipe interna/ Software-House
– Tempo, pessoal...
– Adquirir softwares prontos
• Lojas
– Treinamento, customização...
Software Aplicativos
• Categorias de software quanto ao custo:
– Freeware: Software gratuito com direitos autorais.
• Ex.: Anti-Virus...
– Software Abertos: São gratuitos e trazem os
códigos fontes, que podem ser alterados.
• Ex.: Linux (GNU), MySql...
– Shareware: Software gratuitos por um
determinado tempo.
• Ex.: Office, Windows...
Software de Aplicativos
Discussão:
PIRATARIA DE SOFTWARE x SOFTWARES GRATUITOS
Software de Aplicativos
• O que é Pirataria?
– A Pirataria de Software é a prática de reproduzir
ilegalmente um programa de computador, sem a
autorização expressa do titular da obra e,
consequentemente, sem a devida licença de
uso.
Sistema Operacional
• O sistema operacional é um software de
sistema.
• Ele é o responsável pelo controle da CPU,
dispositivos de entrada, dispositivos de saída,
controles de armazenamento dentre outras
funções ligadas ao hardware do computador.
• Encontra-se entre o hardware e os softwares
aplicativos.
Sistema Operacional
Pessoas
Software
Aplicativos
Sistema OP
Hardware
Para saber mais
https://www.youtube.com/watch?v=2-
py6NvUeos
https://www.youtube.com/watch?v=TlIbjfbPZxA
https://www.youtube.com/watch?v=pKxWPo73
pX0