Sei sulla pagina 1di 4

Engenharia de Software

1-Fundamentos da Engenharia de Software


Aspectos histricos da Engenharia de Software
A Engenharia de Software comeou a ser utilizada desde 1960, mas o
termo Engenharia de Software s comeou a ser utilizado a partir de 1968, pela
NATO.
NATO Congresso mundial organizado pela OTAN para discutir a crise
do software. Teve como principal objetivo estabelecer prticas mais maduras
para o processo de desenvolvimento de software. Frase marcante da poca da
crise de software: As pontes normalmente eram construdas no tempo
planejado, no oramento e nunca caam. Por outro lado, os softwares nunca
ficavam pronto dentro do prazo e do oramento, e, alm disso, quase sempre
apresentavam problemas.
Os softwares tm problemas desde a dcada de 60, a disciplina de
fundamentos de software visa entender por que desde a dcada de 60 os
softwares tinham problemas, como no passar do tempo foram se
desenvolvendo mecanismos para solucionar esses problemas e mostrar formas
de melhorar a qualidade dos projetos de desenvolvimento de softwares.
Conceitos fundamentais da Engenharia de Software
A engenharia de software surgiu para tentar melhorar os processos, a
metodologia, os mtodos de desenvolvimento de software. Com o passar do
tempo, definiu-se que a E.S. seria uma tecnologia dividida em camadas,
dispostas da forma abaixo.
1. Ferramentas Apoio automatizado ou semi-automatizado para os
processos e seus mtodos;
2. Mtodos Tcnicas de como fazer a construo de software;
3. Processos Controle gerencial de projetos de softwares;
4. Foco na Qualidade
Podemos definir a engenharia de software como um processo que
envolve a criao e a utilizao de slidos princpios de engenharia, a fim de
obter softwares que sejam:

De alta qualidade;
Produzidos de maneira econmica;
Confiveis;
De trabalho eficiente em mquinas reais;
Entregues no prazo;
Feitos gerando satisfao ao cliente.

Conceito de Falhas

Segundo a curva idealizada de Pressman, esperado que no comeo


de um projeto de software, comum se ter muitas falhas, porm no seu fim, as
falhas so pouqussimas.
Objetivos: Mostrar como evitar as mudanas no projeto do software,
fazendo planejamentos bem realizados, prever e diminuir as falhas futuras.
Pressman-Roger S. Pressman em engenheiro de software, escritor e
consultor, norte-americano, presidente da R.S. Pressman & Associates.
2-Processos de Software
Fundamentos do Processo de Software
Todo software surge atravs de uma necessidade.
Processo e engenharia de software so a mesma coisa? A resposta
sim e no. O processo de software define a abordagem que adotada
quando o software elaborado. A engenharia de software engloba tambm as
tecnologias que constituem um processo, como mtodos, tcnicas e
ferramentas de desenvolvimento. Assim, a engenharia de software engloba os
processos de software.
Os grandes estudiosos dividem o software em 3 fases:

Definio QUE - O que o software? O que voc vai desenvolver?


Quais os requisitos chave do software que voc ir fazer? Se estiver
bem definido, diminui o risco de falhas.
Desenvolvimento COMO Como voc vai fazer o projeto? Como voc
vai codificar, desenvolver?
Manuteno PS
o Corretiva Modifica o software para corrigir defeitos;
o Adaptativa Modifica o software para acomodar mudanas em
seu ambiente externo;
o Aperfeioamento Aprimora o software alm dos requisitos
funcionais originais;
o Preventiva Faz modificaes nos programas de modo que eles
possam ser Mais facilmente corrigidos, adaptados e melhorados.

Tempo de resposta: O tempo de iterao que o usurio tem com


software.
Para que a engenharia de software possa ser aplicada como uma abordagem
disciplinada para o desenvolvimento, operao e manuteno de um software,
um processo deve ser definido. De uma forma geral, um processo
caracterizado por fases:
1) Fase de definio: esta fase se concentra no que o sistema de software
ir realizar, isto , identifica:
Que informao deve ser processada;
Que funo e desempenho so desejados;
Que comportamento deve ser esperado do sistema;

Que interfaces devem ser estabelecidas;


Que restries de projeto existem;
Que critrios de validao so necessrios.

Nesta fase, os requisitos-chave do sistema e do software so identificados. Ela


engloba trs etapas importantes:
1) Engenharia de sistemas ou de informao;
2) Planejamento do projeto;
3) Anlise de requisitos.

2) Fase de desenvolvimento: esta fase foca em como o desenvolvimento


ser realizado, definindo:
Como os dados devem ser estruturados;
Como as funes devem ser implementadas;
Como os detalhes procedimentais devem ser implementados;
Como as interfaces devem ser caracterizadas;
Como o projeto deve ser traduzido em uma linguagem de
programao;
Como o teste vai ser realizado.
Nesta fase, trs etapas tcnicas especficas ocorrero:
1) Projeto do software;
2) Gerao de cdigo;
3) Teste de software.

3) Fase de manuteno: esta fase tem como alvo as modificaes e


manutenes que o software sofrer. Durante ela, quatro tipos de
modificaes so encontradas:
Manuteno corretiva: modifica o software para corrigir defeitos;
Manuteno adaptativa: modifica o software para acomodar
mudanas em seu ambiente externo (processador, sistema
operacional, etc.);
Manuteno de aperfeioamento: aprimora o software alm dos
requisitos funcionais originais (cliente/usurio reconhece e solicita
funcionalidades adicionais que traro benefcios, medida que o
software usado).
Manuteno preventiva: faz modificaes nos programas de
modo que eles possam ser mais facilmente corrigidos, adaptados
e melhorados.
Essas trs fases so complementadas por atividades guarda-chuva,
que so aplicadas ao longo do processo de software:

Controle e rastreamento do projeto;


Gesto de riscos;
Revises tcnicas formais;
Garantia de qualidade;

Gesto de configurao de software;


Produo e preparao de produtos do trabalho (documentos);
Gesto de reusabilidade;
Medio.

Modelos prescritivos de processo Parte 1


Os processos prescritivos so uma categoria que engloba os processos
que possuem pontos observveis, ou seja, aqueles que a cada passo podem
ser verificados e classificados como vlidos ou sujeitos a ajustes.
Enquanto um modelo descritivo retrata como um processo executado,
um modelo prescritivo retrata como um processo deveria ser executado. Assim,
um modelo prescritivo uma recomendao que pode ser adaptada ou
melhorada pela empresa/equipe de software que for adot-la.
H vrios modelos que so classificados nesta categoria:
Modelo em cascata
Modelos evolucionrios
Modelo de prototipagem
Modelo espiral
Modelo concorrente
Modelos incrementais
Modelo RAD
Modelo incremental
Modelo baseado em componentes
Modelo de mtodos formais
Processo unificado

Potrebbero piacerti anche