Introdução a Engenharia de Software - Prof. Dr. Luis ... SW I - Parte 1... · Ética & Engenharia...
Transcript of Introdução a Engenharia de Software - Prof. Dr. Luis ... SW I - Parte 1... · Ética & Engenharia...
Prof.Luís Fernando GARCIA
www.Garcia.pro.br
2
“
”
Software é um lugar onde sonhos são plantados e pesadelos são colhidos, um pântano abstrato e místico onde demônios terríveis competem com mágicas panacéias, um mundo de lobisomens e balas de prata / Brad. J. Cox
Por que Engenharia de Software ??
Onipresença/DEPENDÊNCIA de “computadores”
Computador “=“ Software
Aspectos POSITIVOS
Aspectos NEGATIVOS
17
Software
• “Abstrato” ... Intangível
• Produto “complicado” ... “diferente”
• Sem limitações/”leis da física”
• Complexo ...
22
Questões a pensar
• Fabricação ou desenvolvimento
• Software “ desgasta “ ?
• Natureza mutável do software ...
27
Artesanal ...
• “Na falta de padrões expressivos, uma nova indústria, como a de software, passa a depender de FOLCLORE” (Tom de Marco)
• CTRL-C/CTRL-V ...
• F8 .. Tentativa e erro ...
35
Definições
▸ “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” ... Fritz Bauer, 1972
37
Definições
• “Aplicação de uma abordagem sistemática, disciplinada e quantificável para o desenvolvimento, operação e manutenção do software” ...IEEE
38
Definições
• “Engenharia é a aplicação sistemática de conhecimentos científicos na criação e construção de soluções com um bom custo-benefício para a resolução de problemas práticos da sociedade” ... SEI
39
Crise do Software – 1968/OTAN
• Cronogramas não observados.• Projetos abandonados.• Módulos que não operam corretamente quando combinados.• Programas que não fazem exatamente o que era esperado.• Sistemas tão difíceis de usar que são descartados.• Sistemas que simplesmente param de funcionar.
41
Ética & Engenharia de Software47
A engenharia de software envolve responsabilidades mais amplas doque a simples aplicação de habilidades técnicas.
Engenheiros de software devem se comportar de uma maneirahonesta e eticamente responsável para serem respeitados comoprofissionais.
Comportamento ético é mais do que simplesmente agir emconcordância com a lei, envolve seguir um conjunto de princípiosmoralmente corretos.
Ética & Engenharia de Software48
•Confidencialidade
•Competência
•Propriedade Intelectual
•Uso indevido do computador
Princípios clássicos
• Rigor e Formalismo
• Separação Preocupações
• Modularização
• Abstração
• Antecipação de Mudanças (?)
• Generalização
• Incrementabilidade
56