![Page 1: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/1.jpg)
Engenharia de Software
Lara Popov Zambiasi Bazzi OberderferIFSC – Câmpus Chapecó
[email protected]://professores.chapeco.ifsc.edu.br/lara/eng/
![Page 2: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/2.jpg)
2
Objetivos∗Compreender o que é Engenharia de
Software e por que ela é importante.
∗Mostrar as distinções e relacionamentos entre sistema e software.
∗Mostrar as principais questões sobre engenharia software.
∗Compreender questões profissionais e éticas relevantes para os engenheiros de software.
![Page 3: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/3.jpg)
3
Por que?
∗Por que tanta demora para entregar o sistema?
∗Por que os prazos se atrasam?∗Por que os custos são altos?∗Por que não achar todos os erros
antes de entregar?∗Por que é difícil medir o progresso do
desenvolvimento de um software?
![Page 4: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/4.jpg)
4
No mercado atual, não há dúvida de que os profissionais de TI envolvidos com projetos de
desenvolvimento de software e soluções corporativas têm um
claro desafio:
Desafio
![Page 5: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/5.jpg)
5
PRODUZIR soluções mais rápidas, melhores e mais baratas
que antes (melhor ainda ser mais rápidas, melhores e mais baratas
que a concorrência)
Desafio
![Page 6: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/6.jpg)
6
∗Desenvolver software é um problema de métodos e técnica, em suma, de atividade humana.
∗Gerenciar projetos de TI é gerenciar riscos assumidos e vencidos por seres humanos inteligentes.
Desafio
![Page 7: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/7.jpg)
7
Evolução do Software
Período Evolução
1950-1960 Orientação a batch
Software totalmente customizado
Distribuição limitada
1960-1970 Multiusuários
Tempo Real
Banco de Dados
![Page 8: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/8.jpg)
8
Desafio
Período Evolução
1980-1990 Sistemas distribuídos
Inteligência Embutida
Hardware de baixo custo
1990-2000 Sistemas de desktop poderosos
Tecnologia orientada a objeto
Sistemas Especialistas....
![Page 9: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/9.jpg)
9
Desafio
Período Evolução2000 - atual As tecnologias orientadas a
objetosUso das técnicas de "quarta geração" para o desenvolvimento de softwareOs sistemas especialistas e o software de inteligência artificial.
![Page 10: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/10.jpg)
10
Aplicação do Software
Básico Coleção de programas escritos para apoio a outros programas.
Tempo Real Software que monitora / analisa / controla eventos do mundo real.
Comercial Processa informações comerciais, reestruturação de dados para tomada de decisões.
Científico e de
engenharia
Algoritmos de processamento de números(astronomia,vulcanologia).
![Page 11: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/11.jpg)
11
Aplicação do Software
Embutido usado para controlar produtos e sistemas para os mercados industriais e de consumo.
Computador Pessoal
Processamento de textos, planilhas, computação gráfica.
Inteligência Artificial
faz uso de algoritmos não numéricos para resolver problemas que não sejam favoráveis à computação ou à análise direta.
![Page 12: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/12.jpg)
12
O que é Sistema?
é um conjunto de elementos inter-dependentes que realizam
operações visando atingir metas
especificadas.
![Page 13: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/13.jpg)
13
Sistema de Computação
é aquele destinado ao suporte ou
automação de tarefas através de
processamento de informações.
![Page 14: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/14.jpg)
14
Componentes de Sistemas deComputação
Hardware Computadores,periféricos e redes.
Software Os programas e arquivos de dados.
Usuários Usuários e operadores que realizam as tarefas e procedimentos.
![Page 15: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/15.jpg)
15
Componentes de Sistemas deComputação (cont.)
ProcedimentosAtividades realizadas pelos usuários e operadores, bem como pelos programas.
DocumentaçãoManuais e formulários que descrevem as operações do sistema.
![Page 16: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/16.jpg)
16
Exemplos de Sistemas Computacionais
∗ Automação Bancária
∗ Frequência e Folha de Pagamento
∗ Controle de Tráfego Urbano
∗ Controle Acadêmico
∗ Editoração de Jornais e Revistas
∗ Controle de Elevadores
∗ Automação de Biblioteca
![Page 17: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/17.jpg)
17
O que é Software?
∗Programas de computadores associados a documentação.
∗É um conjunto de soluções algorítmicas, codificadas numa linguagem de programação, executado numa máquina real.
![Page 18: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/18.jpg)
18
Tipos de produtos de software
∗Genéricos (COTS – Commercial Off-The Shelf) - tipo stand-alone, pacotes de software, como por exemplo, processadores de texto, ferramentas de gerenciamento.
∗Sob encomenda ( personalizado) –desenvolvido para um cliente em particular.
![Page 19: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/19.jpg)
19
Componentes do Software
Plano Especificação
de Requisitos
Projeto Listagem
Plano de
Testes
Estruturasde Dados
Programa
Funcionando
![Page 20: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/20.jpg)
20
Características do Software
∗Complexidade
∗Conformidade
∗Mutabilidade
![Page 21: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/21.jpg)
21
Características do Software
∗Complexidade
– Software é mais complexo do que qualquer outro produto construídos por seres humanos.
![Page 22: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/22.jpg)
22
Características do Software∗Conformidade
– O software deve ser desenvolvido conforme o ambiente. Não é o ambiente que deve se adaptar ao software.
–Desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico (industrial).∗Sucesso é medido pela qualidade e não
quantidade.
![Page 23: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/23.jpg)
23
Características do Software∗Mutabilidade
– Existe sempre uma pressão para se fazer mudanças em um software.
–Não se “desgasta”, mas se deteriora devido as mudanças.
–A maioria é feita sob medida em vez de ser montada a partir de catálogos de componentes existentes (reusabilidadede software).
![Page 24: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/24.jpg)
24
Falhas do Hardware
tempo
“desgaste”“mortalidadeinfantil”
índice de falhas
Defeitos de projeto e manufatura
ProblemasAmbientais(poeira, vibração, abuso, temperaturas, ...)
![Page 25: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/25.jpg)
25
Falhas do Softwaremudanças
índice de falhas
curva real
curva idealizada
tempo
![Page 26: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/26.jpg)
26
Falhas do Hardware/Software∗ Quando um componente de hardware se desgasta é
substituído por uma “peça de reposição”
∗ Não existe “peça de reposição” para software
–Toda falha indica um erro no projeto ou no processo de tradução para o código executável
–Manutenção do software é mais complexa do que a do hardware
![Page 27: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/27.jpg)
27
Formas do Software
![Page 28: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/28.jpg)
28
Falhas na Comunicação
![Page 29: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/29.jpg)
29
![Page 30: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/30.jpg)
30
![Page 31: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/31.jpg)
Crise do Software
31
![Page 32: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/32.jpg)
32
Crise do Software
∗Refere-se a um conjunto deproblemas encontrados nodesenvolvimento de software.
∗Problemas não se limitam asoftwares que não funcionam adequadamente.
![Page 33: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/33.jpg)
33
Crise do Software
∗Prazos ultrapassados
∗Custos acima do previsto
∗Não atendimento dos requisitos do usuário
![Page 34: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/34.jpg)
34
∗Elevado custo de manutenção–1/3 dos projetos são cancelados
–2/3 dos projetos extrapolam o orçamento
∗Custo hardware x software– 1970 = 8:2
– 1991 = 2:8
– Hoje = 1:9
Crise do Software
![Page 35: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/35.jpg)
35
∗As estimativas de prazo e de custo são imprecisas:– Não dedicamos tempo para coletar
dados sobre o processo dedesenvolvimento de software
– Estimativas são feitas a olho, comresultados ruins
–Os prazos arrastam-se por meses
Crise do Software
![Page 36: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/36.jpg)
36
∗As estimativas de prazo e de custo são imprecisas (cont.)– Causa insatisfação para o cliente e
falta de confiança.– Sem nenhuma indicação sólida de
produtividade, não podemos avaliarcom precisão a eficácia de novasferramentas, métodos ou padrões.
Crise do Software
![Page 37: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/37.jpg)
37
Crise do Sofware
∗A produtividade das pessoas da área de software não tem acompanhado a demanda por seus serviços
– Os projetos de desenvolvimento de software normalmente são efetuados apenas com um vago indício das exigências do cliente
![Page 38: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/38.jpg)
38
Crise do Sofware∗O software existente é muito difícil
de manter:
– A tarefa de manutenção devora o orçamento destinado ao software
– A facilidade de manutenção não foienfatizada como um critérioimportante.
![Page 39: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/39.jpg)
39
Crise do Sofware
Solução para a Crise do Sofware:
Engenharia de Software aliada a:
TÉCNICAS E FERRAMENTAS
![Page 40: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/40.jpg)
40
Causas dos problemas associados à crise de software
∗Filosofia do Software.
∗Falhas das Pessoas Responsáveis pelo Desenvolvimento de Software.
∗Mitos do Software.
![Page 41: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/41.jpg)
∗ O software é um elemento de sistemalógico e não físico.
∗Consequentemente, o sucesso émedido pela qualidade de uma únicaentidade e não pela qualidade demuitas entidades manufaturadas.
41
Filosofia do Software
![Page 42: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/42.jpg)
42
Falhas das Pessoas Responsáveis pelo Desenvolvimento de Software
∗ Gerentes sem nenhum backgroundem software.
∗ Os profissionais da área de software ∗ têm recebido pouco treinamento∗ formal em novas técnicas para o∗ desenvolvimento de software.
∗ Resistência a mudanças.
![Page 43: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/43.jpg)
Mitos do Software
Mitos do Administrativos, do Cliente e do Profissional
43
![Page 44: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/44.jpg)
44
Problemas Administrativos
∗Gerentes se encontram sob pressão∗ manter orçamentos∗ evitar que os prazos sejam
ultrapassados∗ melhorar a qualidade
![Page 45: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/45.jpg)
45
Mitos Administrativos
∗Mito: Já temos um manualrepleto de padrões e procedimentos para a construção de software.
![Page 46: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/46.jpg)
46
Mitos Administrativos
∗Realidade:– Será que o manual é usado?– Os profissionais sabem que ele
existe?– Ele reflete a prática moderna de
desenvolvimento de software? –Ele é completo?
![Page 47: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/47.jpg)
47
Mitos Administrativos
∗Mito: Meu pessoal tem ferramentas de desenvolvimento de software de última geração; afinal compramos para eles os mais novos computadores.
![Page 48: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/48.jpg)
48
Mitos Administrativos
∗Realidade:—É preciso muito mais do que os mais
recentes computadores para se fazer um desenvolvimento de software de alta qualidade.
—Ferramentas de Engenharia de Software Auxiliada por Computador - CASE (Computer-Aided Software Engineering) são mais importantes do que o hardware.
![Page 49: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/49.jpg)
49
Mitos Administrativos
∗Mito:
Se nós estamos atrasados nos
prazos, podemos adicionar mais
programadores e tirar o atraso.
![Page 50: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/50.jpg)
50
Mitos Administrativos
∗Realidade:–O desenvolvimento de software não
é um processo mecânico igual à manufatura.
–Acrescentar pessoas em um projeto torna-o ainda mais atrasado. Pessoas podem ser acrescentadas.
![Page 51: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/51.jpg)
51
Mitos dos Clientes
∗Mito: Uma declaração geral dos objetivos é suficiente para se começar a escrever programas -podemos preencher os detalhes mais tarde.
![Page 52: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/52.jpg)
52
∗Realidade:
–Uma definição inicial ruim é a principal causa de fracassos dos esforços de desenvolvimento de software.
–É fundamental uma descrição formal e detalhada do domínio da informação, função, desempenho, interfaces, restrições de projeto e critérios de validação.
Mitos dos Clientes
![Page 53: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/53.jpg)
53
Mitos dos Clientes
∗Mito: Os requisitos de projeto modificam-se continuamente, mas as mudanças podem ser facilmente acomodadas, porque o software é flexível.
![Page 54: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/54.jpg)
54
∗Realidade:– Requisitos podem ser mudados, mas o
impacto varia de acordo com o tempo que é introduzido (projeto e custo).
– Uma mudança, quando solicitada tardiamente num projeto, é mais dispendiosa do que a mesma mudança solicitada nas fases iniciais.
Mitos dos Clientes
![Page 55: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/55.jpg)
55
Mitos do Profissional
∗Mito: Assim que escrevermos o programa e o colocarmos em funcionamento nosso trabalho estará completo.
![Page 56: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/56.jpg)
56
∗Realidade:
– Os dados da indústria indicamque entre 50 e 70% de todoesforço gasto num programaserão despendidos depois queele for entregue pela primeiravez ao cliente
Mitos do Profissional
![Page 57: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/57.jpg)
57
∗Mito: Enquanto não tiver o programa "funcionando", eu não terei realmente nenhuma maneira de avaliar sua qualidade.
Mitos do Profissional
![Page 58: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/58.jpg)
58
∗Realidade:
– Mecanismo (Revisão Técnica Formal) de garantia de qualidade de software é aplicado desde o começo do projeto.
∗Revisões de software são um “filtro de qualidade” - descobre erros/defeitos.
Mitos do Profissional
![Page 59: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/59.jpg)
59
∗Mito: A única coisa a ser entregue em um projeto bem sucedido é o programa funcionando.
Mitos do Profissional
![Page 60: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/60.jpg)
60
∗Realidade:
–Um programa funcionando é somente uma parte de uma Configuração de Software que inclui todos os itens de informação produzidos durante a construção e manutenção do software.
A DOCUMENTAÇÃO é o alicerce
Mitos do Profissional
![Page 61: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/61.jpg)
61
Categorias de Tamanho de Softwares
Categoria Tamanho daEquipe
Duração Tamanho do Fonte
(linhas de código)
Trivial 1 1-4 semanas 500
Pequeno 1 1-6 meses 1000 a 2000
Médio 2-5 1-2 anos 5 mil a 50 mil
Grande 5-20 2-3 anos 50 mil a 100 mil
Muito grande 100-200 4-5 anos 1 milhão
Extremamentegrande
2000-5000 5-10 anos 1 a 10 milhões
ex: O Win 95: teve 11 milhões de linhas e 200 programadores / O Nestscape teve 3 milhões de linhas e 120 programadores
![Page 62: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/62.jpg)
62
Solução∗Reconhecer os problemas e suas causas
e desmascarar os mitos do software são os primeiros passos
∗Métodos e Técnicas para disciplinar o processo de desenvolvimento do software.
.
![Page 63: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/63.jpg)
63
Aspectos históricos da Engenharia de Software
∗1968 Conferência da OTAN
∗Objetivo: resolver a “Crise do Software”
∗Software é entregue
– Atrasado
– Com orçamento estourado
– Com falhas residuais
![Page 64: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/64.jpg)
64
∗Eles não encontraram uma solução, mas definiram uma meta: Engenharia de Software.
∗Custo do hardware decrescente e custo do software em ascensão.
Aspectos históricos da Engenharia de Software
![Page 65: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/65.jpg)
Conceitos
65
![Page 66: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/66.jpg)
66
O que é Engenharia de Software?
∗Fritz Bauer – 1969 ( primeira definição)
“O estabelecimento e uso de sólidos
princípios de engenharia para que se
possa obter economicamente um
software que seja confiável e que
funcione eficientemente em
máquinas reais”
![Page 67: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/67.jpg)
67
∗IEEE, 1993“A aplicação de uma abordagem sistemática,
disciplinada e quantificável para o
desenvolvimento, operação e manutenção
do software. O estudo de abordagens e
princípios a fim de obter economicamente
softwares confiáveis e que executem de
forma eficiente nas máquinas reais”
O que é Engenharia de Software?
![Page 68: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/68.jpg)
68
Programador (técnicas) Engenheiro (técnicas)
1. Paradigma de tentativa e erro
1. Paradigma adaptado ao escopo do sistema
2. Estrutura de Dados 2. Análise e Projeto
3. Linguagens de Programação
3. Ferramentas CASE e SGBD´s
O que é Engenharia de Software?
![Page 69: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/69.jpg)
69
∗É uma disciplina que integra métodos,ferramentas e procedimentos para o desenvolvimento de software de computador.
∗Possibilitar ao gerente o controle do processo de desenvolvimento.
∗Oferecer ao profissional uma base para a construção de software de alta qualidade.
O que é Engenharia de Software?
![Page 70: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/70.jpg)
70
∗Proporcionam os detalhes de “como fazer” para construir o software.
∗Envolvem um amplo conjunto de tarefas.
∗Um método de ES é uma aproximação estruturada para o desenvolvimento de software.
O que é Engenharia de Software?
![Page 71: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/71.jpg)
71
∗Todos os métodos pretendem
–Criar modelos do sistema que possam ser representados graficamente;
–Usar estes métodos como especificação.
Engenharia de Software - Método
![Page 72: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/72.jpg)
72
∗Década de 70 (DeMarco e Jackson):∗Orientado à função.
∗80s-90s (Booch e Rumbaugh):∗Métodos orientados a objeto.
∗Atualmente os diferentes métodos estão integrados numa aproximação unificada baseada em Unified Modeling Language (UML).
Engenharia de Software - Método
![Page 73: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/73.jpg)
73
Engenharia de Software - Método
![Page 74: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/74.jpg)
74
•Métodos devem incluir os seguintes componentes:
–Descrição gráficas
–Regras
–Recomendações
–Diretrizes de processo
Engenharia de Software - Método
![Page 75: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/75.jpg)
75
∗Descrição gráficas.
Descrições dos modelos do sistema que deverão ser desenvolvidos e da notação usada para os definir.
Ex. Modelos de objetos, fluxos de dados etc.
Engenharia de Software - Método
![Page 76: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/76.jpg)
76
• Regras Restrições que se aplicam a modelos de
sistema. Ex.Cada entidade deve ter um único nome.
• Recomendações Conselho em prática de projeto. Ex.Nenhum objeto deve ter mais que sete
subobjetos.
Engenharia de Software - Método
![Page 77: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/77.jpg)
77
∗Diretrizes de processo – Descrição das atividades que
podem ser seguidas.–
–Atributos de objetos devem ser documentados.
Engenharia de Software - Método
![Page 78: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/78.jpg)
78
∗ Fornecem suporte automatizado ou semi- automatizado aos métodos.
∗Existem atualmente ferramentas para sustentar cada um dos métodos.
∗Quando as ferramentas são integradas é estabelecido um sistema de suporte ao desenvolvimento de software chamado CASE.
Engenharia de Software - Ferramentas
![Page 79: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/79.jpg)
79
O que é CASE(Computer-Aided Software Engineering)
∗Upper-CASE - Ferramenta para dar apoio às fases iniciais do processo de software.
∗Lower-CASE - Ferramenta para dar apoio à implementação a aos testes.∗Ex.(Poseidon para UML , ArgoUML
..)
![Page 80: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/80.jpg)
80
∗ Constituem o elo de ligação que mantém juntos os métodos e as ferramentas para desenvolvimento do software.
∗ Sequência em que os métodos serão aplicados.
∗ Controles que ajudam assegurar a qualidade e coordenar as alterações.
∗ Marcos de referência que possibilitam administrar o progresso do software.
Engenharia de Software - Procedimentos
![Page 81: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/81.jpg)
81
Procedimentos
Métodos
Ferramentas
Resultados
Engenharia de Software - Procedimentos
![Page 82: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/82.jpg)
82
Princípios da Engenharia de Software
∗Todo engenheiro de software deve desenvolver com:
1. – Rigor e Formalidade2. – Separação de interesses3. – Modularidade4. – Abstração5. – Antecipação de mudanças6. – Generalidade7. – Possibilidades de evolução
![Page 83: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/83.jpg)
83
∗Rigor e Formalidade O rigor é a abordagem que produz
produtos mais confiáveis pelo controle das variáveis envolvidas. Formalidade é o requisito de que o processo seja dirigido e avaliado por leis matemáticas.
Princípios da Engenharia de Software
![Page 84: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/84.jpg)
84
∗Separação de interessesSeparar conceitos permite-nos trabalhar com aspectos individuais e diferentes de um mesmo problema. Esta separação facilita o entendimento, focando a atenção em certas características mais significativas.
Princípios da Engenharia de Software
![Page 85: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/85.jpg)
85
∗Modularidade
Consiste na divisão de sistemas complexos em partes menores e mais simples (módulos) com características desejáveis (coesão e acoplamento).
Princípios da Engenharia de Software
![Page 86: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/86.jpg)
86
∗Modularidade (cont.)∗ Decomposição é o ato de dividir um
problema original em subproblemas recursivamente.
∗Composição é o ato de juntar os elementos componentes de um problema até chegar ao sistema completo. Ajuda na manutenção do sistema.
Princípios da Engenharia de Software
![Page 87: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/87.jpg)
87
∗Antecipação de mudançasSistemas de softwares são desenvolvidos enquanto seus requisitos ainda não estão totalmente claros. Quando o sistema é finalmente liberado, novos requisitos podem ser descobertos e velhos requisitos atualizados através do “feedback” do usuário.
Princípios da Engenharia de Software
![Page 88: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/88.jpg)
88
∗Generalidade / EspecialidadeSoluções genéricas tendem a ser mais caras em termos de recursos e em tempo de desenvolvimento, ao contrário das soluções específicas. No processo de produção de software estas questões devem ser cuidadosamente analisadas.
Princípios da Engenharia de Software
![Page 89: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/89.jpg)
89
∗IncrementabilidadeCaracteriza o processo em modo passo a passo, incrementalmente. O objetivo desejado é atingido por aproximações sucessivas. Útil quando os requisitos iniciais não foram todos obtidos antes do início do desenvolvimento da aplicação.
Princípios da Engenharia de Software
![Page 90: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/90.jpg)
90
Quais os custos da Engenharia de Software?
∗A distribuição dos custos através do processo de software depende do processo usado e do tipo de software a desenvolver.
∗Custos de desenvolvimento de um software complexo quando se conseguem definir custos separadamente para especificação, desenho, implementação, integração e testes.
![Page 91: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/91.jpg)
91
Quais os custos da Engenharia de Software?
Análise de Requisitos
5%Integração8%
Teste7%
Desenv.5%
Design6%Manutenção
69%
![Page 92: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/92.jpg)
0 25 50 75 100
Especificação Desenho Desenvolvimento Integração e Tes te
�Custos segundo aproximação evolutiva
0 25 50 75 100
Especificação Desenvolvimento Evolutivo Testes do Sis tema
92
Quais os custos da Engenharia de Software?
![Page 93: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/93.jpg)
� Custos de desenvolvimento de produtos de software genéricos:
0 25 50 75 100
Especificação Desenvolvimento Teste
93
�Custos relativos entre desenvolvimento e manutenção do software0 25 50 75 100
Desenvolvimento Manutenção
Quais os custos da Engenharia de Software?
![Page 94: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/94.jpg)
94
Custo em relação a falhas
![Page 95: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/95.jpg)
95
Impacto dos custo de manutenção
• Manutenção corretiva [aproximadamente 20%]
– 60 a 70% das necessidades de correção são falhas de especificação ou design.
• Manutenção evolutiva (melhoria)– Aperfeiçoamento [aproximadamente 60%]
– Adaptação [aproximadamente 20%]
![Page 96: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/96.jpg)
96
Principais desafios enfrentados pela Engenharia de Software
∗Sistemas de legado - Devem ser mantidos e devem ser atualizado.
∗Heterogeneidade - Operar com sistemas distribuídos e incluem uma mistura de hardware e software.
∗Fornecimento - Entrega mais rápida de software.
![Page 97: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/97.jpg)
97
Responsabilidade profissional e ética
∗Confiabilidade – respeitar a confiabilidade de seus empregadores ou clientes.
∗Competência – os engenheiros não devem aceitar serviços que estejam for a do seu limite de competência.
![Page 98: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/98.jpg)
98
∗Direito de propriedade intelectual –os engenheiros devem estar cientes das leis locais que regulam o uso da propriedade intelectual, como patentes e direitos autorais.
Responsabilidade profissional e ética
![Page 99: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/99.jpg)
Organização da Engenharia de Software
99
![Page 100: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/100.jpg)
Ferramentas
Métodos de Software
Processo de Software
Alta Qualidade e Baixo Custo
100
Engenharia de Software em Camadas
![Page 101: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/101.jpg)
∗ Atributos de um bom software:∗ Facilidade de manutenção
∗ Confiança
∗ Eficiência
∗ Usabilidade, etc...
101
Qualidade de Software
![Page 102: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/102.jpg)
∗ Conjunto de atividades (e seus resultados) cujo objetivo é o desenvolvimento de software.
∗ O processo oferece estabilidade, controle e organização no ciclo de desenvolvimento.
∗ Atividades principais:∗ Especificação
∗ Desenvolvimento
∗ Validação
∗ Evolução 102
Processo de Software
![Page 103: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/103.jpg)
∗ Abordagens estruturadas para desenvolvimento de software.
∗ Os métodos fornecem técnicas de como fazer.
∗ Os métodos incluem:∗ Modelos,
∗ Noções,
∗ Regras,...
103
Métodos de Software
![Page 104: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/104.jpg)
∗ Fornecem apoio automatizado para o processo e para os demais métodos.
∗ Exemplo: ferramentas de modelagem do processo:∗ Permitem definir ações, tarefas, produtos, etc. de um
modelo de processo
104
Ferramentas
![Page 105: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/105.jpg)
Desenvolvimento de Software
105
![Page 106: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/106.jpg)
1. Especificação de Requisitos
2. Projeto de Software
3. Implementação
4. Validação de Software
5. Evolução do Software
106
Atividades do Desenvolvimento de Software
![Page 107: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/107.jpg)
∗ Um sistema de software deve satisfazer as necessidades de seus usuários∗ Tais necessidades são expressas na forma de requisitos
∗ Requisito = ação que deve ser executada pelo sistema
∗ Ex: registrar as notas dos alunos, calcular a média final,
verificar aprovação, etc.
107
Especificação de Requisitos
![Page 108: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/108.jpg)
∗Inclui quatro fases principais:∗ Estudo de viabilidade
∗ Elicitação (ou análise) de requisitos
∗ Especificação de requisitos
∗ Validação dos requisitos
108
Especificação de Requisitos
![Page 109: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/109.jpg)
Dividido em duas etapas:
∗ Projeto Preliminar define a estrutura modular do software, as interfaces e as estruturas de dados utilizadas∗ Modelo de Arquitetura
∗ Projeto Detalhado descreve detalhadamente cada módulo definido do projeto preliminar ∗ Modelo de Projeto
109
Projeto de Software
![Page 110: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/110.jpg)
110
Projeto de uma Casa
![Page 111: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/111.jpg)
111
Projeto de Software
Usuário
-cpf#codigo-nome#login-senha-funcao-rg-endereco-cidade-estado-pais-cep-telefone#email-permissao
+getCpf()+setCpf()+getCodigo()+setCodigo()+getNome()+setNome()+getLogin()+setLogin()+getSenha()+setSenha()+getFuncao()+setFuncao()+getRg()+setRg()+getEndereco()+setEndereco()+getCidade()+setCidade()+getEstado()+setEstado()+getPais()+setPais()+geCep()+setCep()+getTelefone()+setTelefone()+getEmail()+setEmail()+getPermissao()+setPermissao()+marcar_horario()+desmarcar_horario()+verificar_horario()+fazer_login()
FormaDePagamento
-data#codigo-valor-tipo
+escolher_pagamento()+getData()+setData()+getCodigo()+setCodigo()+getValor()+setValor()+getTipo()+setTipo()
1..*
1
Calendário
-dia-mes-horario
+montar_calendario()+alterar_calendario()+getDia()+setDia()+getMes()+setMes()+getHorario()+setHorario()
Serviço
-tipo-quantidade-valor-tempo
+calcular_servico()+escolher_servico()+getTipo()+setTipo()+getQuantidade()+setQuantidade()+getValor()+setValor()+getTempo()+setTempo()
1..* 1..*
1..*
1..*
1..*
1
![Page 112: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/112.jpg)
∗ A implementação segue as definições da fase anterior
∗ Transcreve as decisões de projeto arquitetural e detalhado para uma linguagem de programação
∗ Abordado em outras disciplinas AEDS 1 e 2, Programação Orientada a Objetos, Programação Orientada a Eventos, etc.
112
Implementação
![Page 113: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/113.jpg)
∗ Tem por objetivo garantir que o sistema satisfaça os requisitos
∗ Consiste da realização de alguns tipos de testes para encontrar erros
∗ A inexistência de erros não representa a adequação operacional do sistema∗ Deve ser feita a validação com o cliente
113
Validação e Testes
![Page 114: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/114.jpg)
114
Validação e Testes
Localizar Erro
Projetar Reparo
Reparar Erro
Re-testar
![Page 115: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/115.jpg)
∗ Teste de Componente (unitário)
∗ Garantir que um componente funciona
∗ Teste de Sistema (integração)
∗ Garantir que dois ou mais componentes funcionam juntos
∗ Teste de Aceitação (validação)
∗ Garantir que o sistema faz o que o cliente deseja
115
Validação e Testes
![Page 116: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/116.jpg)
∗ O custo de manutenção é geralmente muito maior que o custo de desenvolvimento
∗ Cada vez menos sistemas são desenvolvidos “do zero”∗ Sistemas são desenvolvidos/adaptados a partir de
outros sistemas
∗ Faz sentido considerar desenvolvimento e manutenção como atividades contínuas
116
Manutenção e Evolução
![Page 117: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/117.jpg)
117
Resumindo Engenharia de Software
∗Aplicação de teoria, modelos, formalismos, técnicas e ferramentas da ciência da computação e áreas afins para o desenvolvimento sistemático de software.
∗Produção da documentação formal destinada a comunicação entre os membros da equipe de desenvolvimento bem como aos usuários.
![Page 118: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/118.jpg)
118
Resumindo Engenharia de Software
∗Encontrar caminhos para se "construir" softwares de qualidade.
∗Fatores externos, perceptíveis aos usuários e clientes, devem ser distinguidos dos fatores internos, perceptíveis aos projetistas e implementadores.
![Page 119: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/119.jpg)
119
∗A manutenção de software, que consome grande parte dos custos do software, é penalizada pela dificuldade em se implementar mudanças no software produto, e pela excessiva dependência dos programas da estrutura física dos dados que eles manipulam.
Resumindo Engenharia de Software
![Page 120: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/120.jpg)
120
Prática
∗Visualizando a informática em uma empresa, cite exemplos de:
∗Mitos utilizados pelo analista ou pelo administrador de uma empresa específica.
∗Falhas que ocasionaram grandes custos.
∗Falhas que ocasionaram mudanças de projetos.
![Page 121: IFSC – Câmpus Chapecóprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/1-Introducao-a... · ∗Sob encomenda ( personalizado) ... ∗têm recebido pouco treinamento ∗formal](https://reader035.vdocuments.pub/reader035/viewer/2022070718/5ede7b9bad6a402d6669cea4/html5/thumbnails/121.jpg)
Referencias Bibliográficas
121
Capítulo 1Introdução à Engenharia de Software
Slides do Livro do Sommerville, 2000Disponíveis em inglês em www.software-engin.com
Traduzidos por Jacinta PereiraGraduando do Curso de Letras da UFC
Apresentados por Lara Popov ZambiasiIFSC – Câmpus Chapecó
[email protected]://professores.chapeco.ifsc.edu.br/lara/eng/