Software e Engenharia de Software ENGENHARIA DE SOFTWARE - PRESSMAN
Aula 03 - Conceitos de Software · SOFTWARE LIVRE Refere-se à liberdade dos usuários para...
Transcript of Aula 03 - Conceitos de Software · SOFTWARE LIVRE Refere-se à liberdade dos usuários para...
INFORMÁTICA APLICADAINFORMÁTICA APLICADAINFORMÁTICA APLICADAINFORMÁTICA APLICADAAULA 03 AULA 03 AULA 03 AULA 03 –––– CONCEITOS DE CONCEITOS DE CONCEITOS DE CONCEITOS DE
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO
CURSO: Bacharelado em Ciências e Tecnologia
AULA 03 AULA 03 AULA 03 AULA 03 –––– CONCEITOS DE CONCEITOS DE CONCEITOS DE CONCEITOS DE SOFTWARESOFTWARESOFTWARESOFTWARE
ProfProfProfProfªªªª Danielle Danielle Danielle Danielle CasilloCasilloCasilloCasillo
SUMÁRIO
� O que é software?� Software x Hardware� Sistemas Operacionais� Softwares
Aula 03 - Conceitos de Software
� Softwares� Aplicativos� Customizado� Empacotado� Freeware
� Software de negócios
2
O QUE É SOFTWARE?
� O que é Software?O que é Software?O que é Software?O que é Software?
� Conjunto alterável de instruções, ordenadas elógicas, fornecidas ao hardware para a execuçãode procedimentos necessários à solução dos
Aula 03 - Conceitos de Software
de procedimentos necessários à solução dosproblemas e tarefas do processamento de dados.
� É o que torna possível os computadores terem umavariedade ilimitada de utilizações.
3
SOFTWARE X HARDWARE
� SoftwareSoftwareSoftwareSoftware� Ordena e controla todas as atitudes do hardware�Maleável - modificações fáceis, feitas por
programadores
Aula 03 - Conceitos de Software
� HardwareHardwareHardwareHardware� Depende do software para funcionar�Rígido - modificações difíceis, feitas somente pelos
fabricantes.
4
CATEGORIAS DE SOFTWARE
� CategoriasCategoriasCategoriasCategorias� Software Básico� Software Aplicativo (ou de Aplicação)
Aula 03 - Conceitos de Software
Software Aplicativo (ou de Aplicação)
5
SOFTWARE DO SISTEMA
� SoftwareSoftwareSoftwareSoftware dodododo SistemaSistemaSistemaSistema� Programas que controlam
as operações docomputadores e seusdispositivos
� Interface entre o usuário,
Aula 03 - Conceitos de Software
SOFTWAREDO SISTEMA
SOFTWAREAPLICATIVO
� Interface entre o usuário,o software aplicativo e ohardware
� TiposTiposTiposTipos� Sistemas Operacionais� Programas Utilitários
6
CLASSIFICAÇÃO DOS SOFTWARES
Aula 03 - Conceitos de Software
� Quanto a finalidade de uso� Básico (Sistema Operacional e Utilitários)� Aplicativo� Linguagem de Programação
� Quanto a codificação
7
� Quanto a codificação� Proprietário� Livre
� Quanto a aquisição� Demo� Freeware� Shareware
SISTEMA OPERACIONAL
� Conjunto de programas contendo instruções quecoordenam todas as atividades entre recursoscomputacionais.
� Requisito para o funcionamento de um
Aula 03 - Conceitos de Software
� Requisito para o funcionamento de umcomputador.
� Ponto de partida para um aprendizado voltadopara o domínio de qualquer computador.
8
SISTEMA OPERACIONAL
Aula 03 - Conceitos de Software
� Sistema Operacional (SO)� É o Sistema Operacional que viabiliza o
funcionamento do hardware do computador e aexecução de todos os outros programas. É oprograma principal do computador.
9
programa principal do computador.
� Alguns exemplos de Sistemas Operacionais� DOS� WINDOWS 95, 98, 2000, XP, Vista� WINDOWS NT� LINUX
MAC OS (MACINTOSH OPERATING SYSTEM):
� A primeira versão foi lançada em 1984;� Considerado o SO com melhor interface GUI
(Graphical User Interface);� Foi o primeiro sistema gráfico amplamente usado em
computadores a usar ícones para representar os itens
Aula 03 - Conceitos de Software
computadores a usar ícones para representar os itensdo computador, como programas, pastas edocumentos;
� Também foi pioneiro na disseminação do conceito deDesktop, com uma Área de Trabalho com ícones dedocumentos, pastas e uma lixeira, em analogia aoambiente de escritório.
10
INTERFACE GUI DO MAC OS
Aula 03 - Conceitos de Software
11
UNIX
� O Unix é um sistema operacional multiusuáriomultiusuáriomultiusuáriomultiusuário emultitarefasmultitarefasmultitarefasmultitarefas que foi desenvolvido tendo-se emmente um sistema operacional multiplataformamultiplataformamultiplataformamultiplataforma,ou seja portável.
� O Unix é dividido em duas partes que são: o kernelkernelkernelkernel
Aula 03 - Conceitos de Software
� O Unix é dividido em duas partes que são: o kernelkernelkernelkernele os aplicativosaplicativosaplicativosaplicativos eeee serviçosserviçosserviçosserviços, onde o kernel fornecetoda a infraestrutura para suportar as aplicaçõese serviços.� SISTEMASISTEMASISTEMASISTEMA OPERACIONALOPERACIONALOPERACIONALOPERACIONAL GRÁTIS!!!GRÁTIS!!!GRÁTIS!!!GRÁTIS!!!� Maior Aplicação:
�ServidoresServidoresServidoresServidores dededede internetinternetinternetinternet
12
INTERFACE EM LINHA DE COMANDO DO UNIX
Aula 03 - Conceitos de Software
13
LINUX
� Linux refere-se a qualquer sistema operacional do tipo Unixque utiliza o núcleo Linux;
� É um dos mais proeminentes exemplos de desenvolvimentocom código aberto e de software livre;
� É utilizado em aparelhos variando desde
Aula 03 - Conceitos de Software
� É utilizado em aparelhos variando desdesupercomputadores, até celulares, e vem ganhandopopularidade no mercado de computadores pessoais(Conceito(Conceito(Conceito(Conceito dededede ComputadorComputadorComputadorComputador Popular)Popular)Popular)Popular);
� Bem mais estável que qualquer versão do Windows;
� SISTEMASISTEMASISTEMASISTEMA OPERACIONALOPERACIONALOPERACIONALOPERACIONAL GRÁTIS!!!GRÁTIS!!!GRÁTIS!!!GRÁTIS!!! (Há(Há(Há(Há versõesversõesversõesversões Pagas)Pagas)Pagas)Pagas)
� NÃONÃONÃONÃO HÁHÁHÁHÁ VIRUSVIRUSVIRUSVIRUS PARAPARAPARAPARA LINUX!!!LINUX!!!LINUX!!!LINUX!!!
14
LINUX
� Diversas Versões:
� Red Hat;
� Big Linux;
� Ubuntu;
Aula 03 - Conceitos de Software
� Ubuntu;
� KDE;
� Bit Linux;
� Gnome;
� Etc.
15
INTERFACE GUI DO LINUX
Aula 03 - Conceitos de Software
16
FUNÇÕES DOS SISTEMAS OPERACIONAIS
Aula 03 - Conceitos de Software
MultiMulti--usuáriousuário
SO permite a execuçãosimultânea de programaspor dois ou mais usuários
MultiMulti--usuáriousuário
SO permite a execuçãosimultânea de programaspor dois ou mais usuários
MultiMulti--processamentoprocessamento
SO pode suportar a execuçãosimultânea de programas pordois ou mais processadores
MultiMulti--processamentoprocessamento
SO pode suportar a execuçãosimultânea de programas pordois ou mais processadores
17
por dois ou mais usuáriospor dois ou mais usuários dois ou mais processadoresdois ou mais processadores
ComputadorComputador ToleranteTolerante aa FalhasFalhas
Continua a operar mesmo se um ouou mais de seus componentes falhar(duplicação de componentes, taiscomo processadores, memórias edrives de disco)
ComputadorComputador ToleranteTolerante aa FalhasFalhas
Continua a operar mesmo se um ouou mais de seus componentes falhar(duplicação de componentes, taiscomo processadores, memórias edrives de disco)
FUNÇÕES DOS SISTEMAS OPERACIONAIS
� Driver de dispositivo� Programa que possibilita a comunicação do SO
com um dispositivo de E/S
� Cada dispositivo requer um driver próprio.
Aula 03 - Conceitos de Software
� Cada dispositivo requer um driver próprio.
18
driver de dispositivodriver de
dispositivo
PROGRAMAS
� Partes componentes do software� Armazenados em unidades de memória secundária.� Desenvolvidos utilizando Linguagens de Programação.� Analistas de Sistemas e Programadores
� Projetam e desenvolvem programas / software
Aula 03 - Conceitos de Software
� Projetam e desenvolvem programas / software� Engenharia de Software
� Área de estudo que se preocupa com o desenvolvimentode software
� Quando o computador está usando um programa emparticular, dizemos que eles está rodando ouexecutando aquele programa.
19
SOFTWARES UTILITÁRIOS
� São softwares de apoio ao Sistema Operacional
� Exemplos:� backup;
antivírus (Norton, McAfee, AVG);
Aula 03 - Conceitos de Software
� antivírus (Norton, McAfee, AVG);� compactação (Winzip, WinRar);� desfragmentação de arquivos;� etc
20
SOFTWARES APLICATIVOS
� São os softwares utilizados como ferramentas.para auxiliá-lo na execução dos seus trabalhos.
� Alguns exemplos de Softwares Aplicativos:� Editores de Texto;
Aula 03 - Conceitos de Software
� Editores de Texto;� Planilhas Eletrônicas;� Bancos de Dados;� Gerador de Apresentações;� Programas para Folha de Pagamento, Controle de
Estoque;� Etc.
21
SOFTWARE – LINGUAGEM DE PROGRAMAÇÃO
� É um conjunto de convenções e regras que especificamcomo instruir o computador a executar determinadastarefas
� O meio mais eficaz de comunicação entre pessoas é a
Aula 03 - Conceitos de Software
� O meio mais eficaz de comunicação entre pessoas é alinguagem ou idioma
� Na programação de computadores, uma linguagem deprogramação serve de meio de comunicação entre ousuário (programador) que possui um problema a serresolvido e o computador escolhido para ajudá-lo nasolução
22
SOFTWARE PROPRIETÁRIO
� O uso, redistribuição ou modificação do softwareproprietário é proibida ou cercados de muitas restriçõesque na prática não são possíveis de serem realizadoslivremente.
� Mecanismos que barateiam o custo de softwareproprietário:
Aula 03 - Conceitos de Software
proprietário:� Licença de uso empresarial� Versão para rede
� Pirataria de software:� A pirataria de software existe para quem copia ou usa
ilegalmente um software proprietário� No Brasil pirataria de software é crime
23
SOFTWARE LIVRE
� Refere-se à liberdade dos usuários para executarem,copiarem, distribuírem, estudarem, modificarem emelhorarem o software.
� Diz respeito a quatro tipos de liberdade:
Aula 03 - Conceitos de Software
� Diz respeito a quatro tipos de liberdade:
� Execução� Estudo e adaptação� Redistribuição� Publicação de melhorias
24
SOFTWARE LIVRE
� Programas que mantém o copyright, e ainda assimpermitem:� a livre distribuição (cópia);� o acesso ao código-fonte;� o direito de alterar o programa.
Aula 03 - Conceitos de Software
� o direito de alterar o programa.
� Software livre ≠ Software gratuitoEx: Sistema Operacional LINUX
25
DEMOS, FREEWARES E SHAREWARES
� São softwares que podem ser usados temporária oupermanentemente a um custo zero ou muito próximo a isso.
� DemosDemosDemosDemos (demonstrativos)(demonstrativos)(demonstrativos)(demonstrativos):::: softwares em versão reduzida,distribuídos livremente, sem qualquer custo.
Aula 03 - Conceitos de Software
distribuídos livremente, sem qualquer custo.� FreewaresFreewaresFreewaresFreewares:::: softwares totalmente gratuitos.� SharewaresSharewaresSharewaresSharewares:::: distribuídos gratuitamente para teste por um
determinado período de tempo, caso haja interesse naaquisição permanente o software deve ser comprado.
� Forma de aquisição: internet ou revistas de informática.
26
DEMO OU TRIAL
� As versões DemoDemoDemoDemo são basicamente relacionadas ajogos.
� O TrialTrialTrialTrial funciona quase da mesma maneira, seaplica a programas, mas com uma pequena
Aula 03 - Conceitos de Software
O TrialTrialTrialTrial funciona quase da mesma maneira, seaplica a programas, mas com uma pequenadiferença: algumas não salvam nem exportam ostrabalhos realizados.
27
ADQUIRINDO SOFTWARE – MANEIRAS TRADICIONAIS
� Software customizado� Escrito por programadores contratados pela
organização.
Software empacotado (comercial)
Aula 03 - Conceitos de Software
� Software empacotado (comercial)� Comprado em uma loja, por meio de catálogo, ou
por um site Web.
28
SOFTWARE CUSTOMIZADO
� Feito sob medida, especificamente para asnecessidades de uma organização.
� A organização contrata programadores decomputador para projetar, escrever, testar e
Aula 03 - Conceitos de Software
computador para projetar, escrever, testar eimplementar software.
� Pode ser extremamente complexo e demandaranos para ser escrito.
29
SOFTWARE EMPACOTADO
� Vendido em lojas, catálogos ou sites Web.� Às vezes, é baixado da Internet.
� O pacote contém um ou mais CDs ou DVDs, que
Aula 03 - Conceitos de Software
� O pacote contém um ou mais CDs ou DVDs, quecontêm o software.� Tipicamente, contém a documentação do
software.
� Projetado para ser amigável (user-friendly).
30
SOFTWARE AMIGÁVEL
� Fácil de usar:
� Deve ser intuitivo até mesmo para o usuárioiniciante.
� Pode ser usado com um mínimo de treinamento e
Aula 03 - Conceitos de Software
� Pode ser usado com um mínimo de treinamento edocumentação.
31
SOFTWARE DE DOMÍNIO PÚBLICO
� Software que não tem copyright.
� Pode ser usado e até mesmo alterado sempermissão.
� Tipicamente, é desenvolvido por universidades
Aula 03 - Conceitos de Software
� Tipicamente, é desenvolvido por universidadese/ou instituições de pesquisa usando subvençõesdo governo.
32
SOFTWARE DE FONTE ABERTA
� Uma variação de freeware.
� O código-fonte é disponibilizado.
� Código fonte: legível por seres humanos.
� Outros programadores podem modificar e
Aula 03 - Conceitos de Software
� Outros programadores podem modificar eredistribuir os programas livremente.
� Ajuda a identificar erros (bugs) e a criar melhoriasmais facilmente.
33
COMPRANDO SOFTWARE COMERCIAL
• Cópias individuais para cada computador:
• Licença local
• Distribuição eletrônica de software
• Provedor de aplicativos (Application Service
Aula 03 - Conceitos de Software
• Provedor de aplicativos (Application ServiceProvider – ASP)
34
LICENÇA LOCAL
� Software instalado em alguns ou em todos oscomputadores, dependendo dos termos da licença.� O cliente controla quantos usuários o usam.
� O número de usuários não pode ultrapassar o númerode licenças.
Aula 03 - Conceitos de Software
de licenças.
� O cliente copia e distribui software e manuais aosusuários.
� Algumas organizações usam licenças de rede.� Software instalado no servidor.
� A taxa de licenciamento baseia-se no número deusuários simultâneos
35
SOFTWARE ORIENTADO PARA TAREFAS
Aula 03 - Conceitos de Software
� Frequentemente, chamado de software deprodutividade.
� Categorias comuns:� Processamento de texto/editoração eletrônica
36
� Planilhas eletrônicas� Gerenciamento de banco de dados� Gráficos� Comunicações� Outros
PROCESSAMENTO DE TEXTOS
� O software decomputador pessoal maisamplamente usado.
� Crie memorandos,
Aula 03 - Conceitos de Software
� Crie memorandos,relatórios e artigos.
� Incorpore gráficos emdocumentos.
37
PLANILHAS ELETRÔNICAS
� Compostas de linhas ecolunas de números.
� Realizam análise(“Se...então?”).� Altere uma célula e
Aula 03 - Conceitos de Software
� Altere uma célula efaça com que aplanilha sejarecalculada.
� Apresentam dadosgraficamente.� Exiba as despesas
como gráficos de pizza.
38
GERENCIAMENTO DE BANCO DE DADOS
� Encarrega-se do gerenciamentode uma coleção de fatos inter-relacionados.� O software pode armazenar,
recuperar, atualizar emanipular dados.
Aula 03 - Conceitos de Software
manipular dados.� Também pode apresentar
relatório de dados de muitasmaneiras e imprimi-los.
� Transforma grandesquantidades de dados eminformação.
39
SOFTWARE GRÁFICOS
� Criam gráficos e mapas a partir de dadosnuméricos:
� Identifique tendências e compare dados maisfacilmente:
Aula 03 - Conceitos de Software
facilmente:� Prova visual mais efetiva.
� Incluídos em programas de planilhas.
� A apresentação gráfica cria apresentações de“slide show”:
� Combina gráficos, áudio e vídeo de altaqualidade.
40
COMUNICAÇÕES
� A capacidade de ligar ocomputador à linhatelefônica, cabo ouwireless e comunicar-secom outro computador.Tipicamente, conectado
Aula 03 - Conceitos de Software
� Tipicamente, conectadopor meio da Internet.� Necessita de um
navegador (browser)para acessar outraslocalizações naInternet.
41
SISTEMA COMPUTACIONAL
Aula 03 - Conceitos de Software
42
ÉTICA E SOFTWARE APLICATIVO
� PiratariaPiratariaPiratariaPirataria:::: a aquisição e uso ilegal de cópias desoftware.
� FalsificaçãoFalsificaçãoFalsificaçãoFalsificação:::: copiar grandes quantidades de CD-ROMs ou DVD-ROMs e empacotá-los de forma ase assemelharem aos originais.
Aula 03 - Conceitos de Software
se assemelharem aos originais.
� Cópia não-autorizada de software é roubo.
43
PIRATARIA DE SOFTWARE
� Exemplos:� Copiar software de um laboratório ou de um amigo.
� Comprar 2 ou 3 cópias de software e distribuí-las adezenas ou centenas de empregados.
Aula 03 - Conceitos de Software
� Comprar 1 cópia de software e instalá-la emdiversos computadores em casa.
44
PESSOAL DA INFORMÁTICA
Aula 03 - Conceitos de Software
� A maioria das organizações tem algum tipo dedepartamento de tecnologia da informação.
� Composto de pessoas que são responsáveis pelosrecursos de informática da organização.
� Faz a manutenção de dados e provê serviços aos
45
� Faz a manutenção de dados e provê serviços aosusuários finais.
� Operadores de computador monitoram sistemas,mantêm periféricos em funcionamento e fazembackups.
� Programadores projetam, escrevem, testam,implementam e mantêm programas de computador.