Processo de desenvolvimento de sistemas
resultados associados que produz um produto de software”.
Desse modo, Sommerville (2007, p. 43) destaca que existem quatro atividades fundamentais
de processo que são comuns a todos os processos de software. São elas:
1 – Especificação do software: a funcionalidade do software e as restrições sobre sua operação
devem ser definidas, ou seja, descrever o sistema.
2 – Projeto e implementação de software: o software que atenda à especificação deve ser produzido,
é feito o desenvolvimento do mesmo.
3 – Validação de software: o software deve ser validado para garantir que ele faça o que o cliente deseja.
4 – Evolução de software: o software deve evoluir para atender às necessidades mutáveis do cliente.
Conforme Sommerville (2007), compreende-se que diferentes tipos de sistemas necessitam
de diferentes processos de desenvolvimento. Conseqüentemente, algumas atividades genéricas
podem ser organizadas de várias maneiras e descritas em níveis diferentes de detalhes, para cada
tipo de software. Porém, o uso de um processo de software inadequado pode reduzir a qualidade ou
a utilidade do produto de software a ser desenvolvido e/ou aumentar os custos de desenvolvimento.
Sommerville (2007) argumenta que não existe um processo ideal, e várias organizações
desenvolvem abordagens inteiramente diferentes para o desenvolvimento de software. No entanto,
os processos evoluíram para explorar as capacidades das pessoas em uma organização e as
características específicas dos sistemas que estão sendo desenvolvidos. No caso de alguns sistemas,
como os sistemas críticos, é necessário um processo de desenvolvimento muito estruturado. Deste
modo, nos sistemas de negócios, com requisitos que mudam rapidamente, um processo flexível e
ágil é provavelmente mais eficaz que as metodologias antigas.
Neste mesmo contexto, Sommerville