Engenharia de software
Definições
• Engenharia:
– aplicação sistemática de conhecimentos científicos na criação e construção de soluções com boa relação custo / benefício.
• Software:
– instruções / programas de computador que quando executados produzem o resultado, função e desempenho desejados.
2
Definições
• Engenharia de Software:
– aplicação de abordagem sistemática, disciplinada e quantificável no desenvolvimento, operação e manutenção de software.
IEEE, STD 610 – 1990
– estabelecimento e uso de sólidos princípios de engenharia na obtenção de um software confiável, eficiente e economicamente viável.
Fritz Bauer - 1969
3
1
18/02/2013
Engenharia
• Métodos: descrições de como proceder frente a um amplo conjunto de atividades.
– – – – – – Planejamento Análise de requisitos Concepção e projeto Implementação Codificação Testes e manutenção.
4
Engenharia
• Técnica: procedimentos definidos no âmbito de uma etapa de um método. Definem uma seqüência de atividades, produtos a serem entregues, controles que asseguram qualidade, etc. • Ferramentas: apoio aos métodos e técnicas
5
Software
• Diferenças do software em relação a outros itens construídos pelo homem:
– é imaterial; – não sofre desgaste, não é um produto no sentido usual da palavra; – custos relacionados ao desenvolvimento apenas, não há “matéria prima”; – abstrato e parcial. Para reduzir a complexidade, modelo de apenas uma parte da realidade. – imperceptível. Percebido por seu processo, interface, resultados, etc.
6
2
18/02/2013
Engenharia de Software
• Objetivos:
– aplicar, modelos, formalismos / técnicas e ferramentas da ciência da computação (e áreas afins) na produção / desenvolvimento sistemático de software. – aplicar métodos, técnicas e ferramentas para o gerenciamento do processo de produção (custos, prazos, equipe, qualidade, etc.) – produzir documentação formal do produto, do processo, dos critérios de qualidade e manuais.
7