Copyright © 2011 Fábio Nogueira de Lucena [email_address] Construir Software Idéias Análise Projeto Código
Conteúdo Quem cuida da criação de software
Engenharia de software (perspectivas)
Existem problemas no mundo
Elementos de uma solução computacional
Atividades e dependências entre elas para uma solução
Problema, solução e código
Por que análise, projeto e codificação?
Linguagens empregadas
Problemas de desenvolvimento e “regras de ouro”
Estímulo econômico para construir software
Revisão
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)
Engenharia de software (perspectivas) Algumas perspectivas Atividades
Artefatos
Pessoas
Processo
Métodos
Projeto
Qualidade Ênfase em desenvolvimento Alguns artefatos
Algumas atividades Não aborda processo
Não aborda gerência de projeto Esta apresentação:
Reconheça a existência de problemas Guerras
Baixa qualidade de serviços prestados
Custos elevados de produção
Cura de muitas enfermidades
... Alguns podem ser “resolvidos” por computador Alvo da computação Problemas existentes
Computação pode resolver problemas Mas não todos os problemas
Elementos de solução computacional Software não é só código! DADOS CÓDIGO DOCUMENTOS
Atividades necessárias... Analisando... Problema é definido
Projetando... Modelo de solução que emprega computador
Implementando... Código obtido a partir do projeto ... de toda solução computacional Solução computacional Implementação Projeto Análise
Dependência entre atividades Primeiro  caracterize  o  problema Sem problema não há o que fazer
Depois  crie  o  projeto  (a solução computacional) Etapa laboriosa, extensa.  Deve-se adquirir habilidades para tal.
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
Problema O que é preciso? Compreendê-lo Como se faz? Analisando-o Como saber se foi compreendido? Validando com os usuários (clientes) Antes da análise Após a análise “idealmente” Análise Atividade “mais difícil”
Projeto O que é preciso? Criá-lo (exige registro) Como se faz? Princípios de projeto
Exercitando o raciocínio lógico Como saber se está correto? Verificando a solução
Algoritmo (parte de projeto detalhado) Abstração de um programa
Seqüência de passos de execução finita
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!
Projeto não é só algoritmo Definição de partes da solução
Mecanismo de interação entre as partes

Introducao

Notas do Editor

  • #2 Não é uma visão romântica
  • #40 Não confundir com ausência de formalidade.