Segundo Pressman, a engenharia de
software possui três elementos fundamentais: métodos, ferramentas e
procedimentos.
·
Métodos:
descrevem os detalhes que definem como o software será construído. Envolvem as
etapas de planejamento do projeto, análise de requisitos, projeto, codificação,
teste e manutenção.
·
Ferramentas:
são os recursos que dão suporte aos métodos. As ferramentas dão apoio
automatizado aos métodos. Elas são chamadas de ferramentas CASE (Computer-Aided
Software Engineering).
·
Procedimentos:
interligam os métodos e as ferramentas. Definem a seqüência em que os
métodos serão aplicados, os produtos que devem ser entregues (documentos,
formulários, relatórios) e realizam o controle de mudanças.
Portanto, a engenharia de software
é uma disciplina que integra métodos, ferramentas e procedimentos para o
desenvolvimento de software de computadores.
Pressman define quatro paradigmas
da engenharia de software:
1.
Ciclo
de vida clássico (cascata): Engenharia de sistemas, Análise, Projeto,
Codificação, Teste, Manutenção;
2.
Prototipação:
protótipo descartável, protótipo evolutivo;
3.
Modelo
Espiral: Planejamento, Análise de Riscos, Engenharia, Avaliação feita pelo
cliente;
4.
Técnicas
de quarta geração: A partir de uma especificação de alto nível do
desenvolvedor, a ferramenta gera, automaticamente, o código-fonte, tendo como
base a especificação do desenvolvedor.
Conceitos básicos
Termo
|
Definição
|
Software
|
Programas de computador e documentação associada
(manuais, arquivos de configuração, documentação do sistema, etc.).
|
Engenharia de software
|
Disciplina de engenharia relacionada a todos os
aspectos de produção de software.
|
Processo de software
|
Um conjunto de atividades cujo objetivo é o
desenvolvimento ou a evolução de software.
|
Modelo de processo de software
|
Uma representação simplificada de um processo de
software, apresentado sob perspectiva específica.
|
Modelo de ciclo de vida
|
É um encadeamento específico das fases (uma forma
de organizar as fases) para a construção do sistema. As fases são:
Levantamento de Requisitos, Análise de Requisitos, Projeto, Implementação,
Testes, Implantação. Conforme Sommerville, as fases são: Definição de
requisitos, Projeto de sistema e software, Implementação e teste de unidade,
Integração e teste de sistema, Operação e manutenção.
|
Métodos de engenharia de software
|
Abordagens estruturadas para desenvolvimento do
software que incluem modelos de sistema, notações, regras, recomendações de
projeto e guias de processo.
|
CASE
(Computer-Aided Software Engineering)
|
Sistemas de software que fornecem apoio
automatizado para atividades de processo de software. Sistemas CASE são
freqüentemente usados para apoio ao método.
|
Atributos de um bom software
|
O software deve fornecer a funcionalidade e o desempenho
exigidos pelo usuário e deve ser fácil de manter, confiável e usável.
|