O documento discute os principais aspectos da engenharia de software, incluindo as atividades de análise, projeto e codificação necessárias para a construção de uma solução computacional. Também aborda os problemas comuns no desenvolvimento de software e a importância da qualidade e dos processos para entregar software que atenda às necessidades dos usuários.
13. Quem cuida da criação de software “ Esplanada dos Ministérios” Qual o percurso para software? Engenharia Civil Engenharia de Software Próxima da idéia (1957) Resultado (2000)
32. Implementando... Código obtido a partir do projeto ... de toda solução computacional Solução computacional Implementação Projeto Análise
33.
34. Depois crie o projeto (a solução computacional) Etapa laboriosa, extensa. Deve-se adquirir habilidades para tal.
35. Converta o projeto em código Sem projeto não há o que codificar. Considere a máquina conforme a liberdade possível. Problema Solução Código Análise Projeto Implementação
41. Produz um resultado esperado Algoritmo = modelo de solução computacional Qualquer seqüência de passos cuja execução dá origem a um resultado desejado em tempo finito ... é exemplo de algoritmo!
50. Algoritmo e programa correspondente Algoritmo Permutacao(p,S) Se S possui um caractere então Imprima p seguido de S Senão para i 0 até (n-1) faça S’ S – c i p’ p + c i Permutacao(p’,S’) fim para fim se #include <stdio.h> void Permutacao(char* p, char* S) { char Slinha[10], pLinha[10]; int c; if (strlen(S) == 1) printf("%s%s",p,S); else for (c = 0; c < strlen(S); c++) { memset(Slinha,0,10); memset(pLinha,0,10); strncpy(Slinha,S,c); strcat(Slinha,S+c+1); strcat(pLinha,p); strncat(pLinha,S+c,1); Permutacao(pLinha,Slinha); } } Algoritmo (projeto) Programa em C Acrescenta detalhes da linguagem, computador ...
51. Por que análise, projeto e codificação? Problema Projeto Software Como poderia ser diferente? Análise Codificação Entender o problema Definir uma solução Escrever o software conforme a solução
125. Linguagens ao longo do tempo Linguagens naturais Linguagem de máquina Mais abstração Menos abstração Linguagem algorítmica Linguagem de programação Cérebro Cérebro Compilador UML “ Fronteira” homem-máquina
128. Suposição bem-aceita Processo bom, resultado bom! Processo ruim, resultado ruim! Desenvolver programas exige trabalho em equipe
129. Ausência de disciplina Ausência de disciplina = usuário insatisfeito Não confundir com ausência de formalidade. Formigas são “informais” e “disciplinadas”.
130. Ferramentas “boas” são suficientes? Bons instrumentos fazem boa música? Bom prato é obtido com um bom fogão? Emprego da Última tecnologia Não necessariamente
131.
132.
133.
134. Você acredita nisso? Não existe solução mágica! Lâmpada mágica para construção de software. COMPRE AGORA! Pague só em 60 dias!