ENGENHARIA DE SOFTWARE
José Manuel de Sacadura Rocha
jsacadura@ultrarapida.com.br
http://unigalera.vila.bol.com.br
O que é um Sistema?
É uma série integrada de partes com uma meta claramente definida.
Carro: É um sistema cuja meta/objetivo é fornecer transporte.
Todavia, as partes do sistema são interdependentes.
http://unigalera.vila.bol.com.br
Sistemas
• Conjunto de processos, relacionados e coordenados de forma a
produzirem um bem (produto ou serviço);
• Processo: conjunto de atividades, coordenadas entre si, e que
formam uma estrutura organizada;
Sistemas Automatizados
Software
Hardware
Usuários
SISTEMA
Dados
Procedimentos
http://unigalera.vila.bol.com.br
Visão de Gestão de
Sistemas
Conjunto de entidades interrelacionadas que, através de
instruções e procedimentos (processos) numa seqüência
lógica definida, produzem resultados, utilizando
determinados recursos (hardware, software, tecnologia de
comunicação, depósitos de dados e RH).
Sistemas apresentam características específicas comuns,
tais como objetivo, totalidade, tendência à deteriorização,
adaptabilidade ao meio e reciprocidade funcional.
http://unigalera.vila.bol.com.br
Crise de Software
Crise de Tecnologia - hardware caminha mais rápido que os sistemas e
que o próprio software.
Crise de Oferta - demanda é maior que a capacidade de desenvolvimento
de novos sistemas e softwares.
Crise de manutenção - mau projetado - principalmente nas fases iniciais e recursos escassos não permitem permanente atualização.
Problemas
Por que os sistemas não ficam prontos rapidamente ?
Por que os custos de desenvolvimento são altos ?
Por que erros não são detectados ?
Por que é difícil medir o progresso durante o desenvolvimento ?
http://unigalera.vila.bol.com.br
Softwares não desgastam!
Hardwares sim!
120
100
Desgaste
80
60
40
Taxa de
falhas
20
(hardware) 0
1
3
5
7
9 11 13 15 17 19 21 23 25 27
Tempo
http://unigalera.vila.bol.com.br
Ciclo de Vida de Software
120
100
80
60
40
20
0
Curva
idealizada
Curva Real
Mudança
1 4 7 10 13 16 19 22 25 28
Softwares deterioram!!
http://unigalera.vila.bol.com.br
Engenharia de Software
Estabelece o uso de princípios sólidos de gestão, com o intuito de
obter , economicamente, softwares que sejam confiáveis e funcionem
eficientemente em ambientes reais.
Métodos
Ferramentas
Produtividade
Pessoas
http://unigalera.vila.bol.com.br
Componentes de Desenvolvimento de
Softwares
Enfoque de Engenharia
Recursos Humanos
Tecnologia
Enfoque de Gestão
Processos
http://unigalera.vila.bol.com.br
Ciclo de Desenvolvimento de Softwares
Modelo de Cascata
Engenharia de
Software
Análise de
Sistemas
Projeto
Codificaçào
Teste
Manutenção
http://unigalera.vila.bol.com.br
Prototipação
Modelo da interface de usuário (em papel ou tela)
Implementação de algoritmos
Implementação de parte das funções
Fim
Início
Coleta e
refinamento
dos requisitos
Projeto
Rápido
Engenharia
do
Produto
Construção
do
Protótipo
Refinamento
do Produto
Avaliação do
Protótipo pelo
Cliente
http://unigalera.vila.bol.com.br
Modelo Espiral
Levantamento/Planejamento
dos riscos
Análise e Projeto
Coleta inicial dos
requisitos e
planejamento do
projeto
Desenho Lógico
Análise dos riscos
baseada nos requisitos
iniciais
Análise dos riscos
baseada na reação do
cliente
Planejamento
baseado nos
comentários do
cliente
Decisão de prosseguir/
não prosseguir
Avaliação do cliente
Análise do cliente
Codificação/Prototipação
http://unigalera.vila.bol.com.br
Protótipo de sistema
inicial
Protótipo no nível
seguinte
Download

O que é um Sistema?