O conteúdo acima é produzido por UNIVESP TV e foi incorporado do YouTube.
Acesse o canal de UNIVESP TVProcessos de software
O termo processo de software é utilizado, na área de Engenharia de Software, para se descrever as atividades e etapas envolvidas no desenvolvimento de um software. De acordo com Valente (2020), no livro "Engenharia de Software Moderna": "um processo de desenvolvimento de software define um conjunto de passos, tarefas, eventos e práticas que devem ser seguidos por desenvolvedores de software na produção de um sistema".
Como o processo de software é diverso, estando sujeito ao contexto organizacional e aos propósitos de cada aplicação, existem modelos de processo de software genéricos, que buscam representar de forma conceitual as etapas usualmente envolvidas na criação de um sistema. Por conta disso, os principais autores da área, como Ian Sommerville e Roger Pressman, apresentam diferentes perspectivas e propostas para se compreender o percurso metodológico envolvido no desenvolvimento e evolução de um software. Para ambos os autores, o processo de software pode ser organizado em atividades.
Sommerville (2019) apresenta o processo de software como uma combinação de quatro atividades fundamentais, que devem ser comuns a qualquer processo de software: i) especificação; ii) desenvolvimento; iii) validação; e iv) evolução. Pressman (2021), por outro lado, organiza o processo de software em cinco atividades: i) comunicação; ii) planejamento; iii) modelagem; iv) construção; e v) entrega.
Apesar de tal diversidade conceitual, essas duas perspectivas contemplam, em sua essência, princípios e finalidades comuns. Ambas reconhecem a importância de compreender os requisitos do sistema, planejar e modelar soluções, construir o software propriamente dito e garantir sua qualidade e adequação por meio de validação e manutenção contínua.
Essas atividades se alinham diretamente com os fundamentos da disciplina de Programação Orientada a Objetos (POO), especialmente no que se refere à modelagem e construção de sistemas. A modelagem, por exemplo, é uma etapa essencial em ambos os modelos de processo, e é onde conceitos como classes, objetos, herança, encapsulamento e polimorfismo ganham destaque. Ao adotar a POO, os desenvolvedores podem representar de forma mais próxima à realidade os domínios dos problemas, facilitando a compreensão, a manutenção e a evolução do software — aspectos diretamente ligados às atividades de especificação, validação e evolução descritas por Sommerville e Pressman.
Além disso, a prática da POO promove a reutilização de código e a modularização do sistema, características que contribuem para processos de desenvolvimento mais eficientes e estruturados. Assim, ao estudar os processos de software, é fundamental reconhecer como os princípios da Programação Orientada a Objetos se integram às etapas metodológicas do desenvolvimento, reforçando a importância da boa modelagem e construção orientada a objetos na criação de sistemas robustos, escaláveis e sustentáveis ao longo do tempo.
📖 Leitura
Leia o Capítulo 2 do livro Engenharia de Software Moderna .