É um conjunto de atividades relacionadas que levam à produção de um produto de software. Ou seja, se preocupa em orientar a equipe a respeito de realização de atividades, em diversas áreas da cadeia de produção de um software.
Atividades fundamentais
Nota:
Existem muitos processos de software diferentes, mas todos devem incluir quatro atividades fundamentais. São elas: (i) especificação, (ii) Projeto e implementação, (iii) validação e (iv) evolução
Especificação do sistema
Nota:
Definição das funcionalidades do software e suas restrições de funcionamento.
Projeto e implementação
Nota:
Software deve ser projetado e produzido para atender às especificações.
Validação
Nota:
O software deve ser validado de acordo com as necessidades especificadas pelo cliente.
Evolução
Nota:
O software precisa evoluir para atender às mudanças das necessidades do cliente.
Descritores
Entradas
Nota:
Artefatos ou produtos de outras atividades que precisam ser desenvolvidas anteriormente.
Papéis
Nota:
Refletem as responsabilidades das pessoas envolvidas no processo.
Produto
Nota:
Resultados obtidos em uma atividade do processo. Normalmente é um artefato.
Reuso
Nota:
Abordagens orientadas a reuso dependem de uma ampla base de componentes reusáveis e de um framework de integração para esses componentes.
Modelos de processos de software
Cascata
Nota:
Tem esse nome por causa do encadeamento de fases. Foi o primeiro modelo adotado pela comunidade de desenvolvimento de software, devido à crise de software da década de 70.
Espiral/incremental
Nota:
Surgiu na década de 80 com o modelo espiral.
RUP
Nota:
É um bom exemplo de um processo híbrido. Ele reúne elementos de todos os modelos de processo genéricos, ilustra boas práticas na especificação e no projeto e apoia a prototipação e a entrega incremental.