Você sabe o que é engenharia de software, gestão de requisitos e de configuração? Abaixo nós esclarecemos esses termos relacionados ao Desenvolvimento de Software.
O processo de Desenvolvimento de Software engloba todas as tarefas necessárias para a construção de um novo produto ou serviço digital. Essas tarefas são tema de estudo da Engenharia de Software, assunto do nosso SoftDictionary de hoje.
A engenharia de software é o estudo e a aplicação de abordagens sistemáticas e disciplinadas para o Desenvolvimento de Software – feito de forma não-artesanal, usando processos, métodos e ferramentas para produzir, de maneira sistemática e eficaz, softwares robustos e de qualidade. A engenharia de software é dedicada ao entendimento dos processos de desenvolvimento, e também à evolução de várias disciplinas, como, por exemplo: gestão de requisitos, gestão de qualidade e gestão de configuração.
Modelos de processo são definições de como organizar as tarefas do trabalho e como agrupá-las em fases. Há muitos modelos de processo para o desenvolvimento de software, dentre os quais os modelos prescritivos (como o cascata), os modelos iterativos e incrementais (como o RUP), os modelos especializados (como o AOP – Aspect Oriented Programming) e os modelos adaptativos (como o extreme programming).
No contexto da engenharia de software, a gestão de requisitos é a disciplina responsável pela forma como são coletados, descritos, comunicados e armazenados os requisitos para o produto. Ela também se dedica à identificação de mudanças e dependências entre os requisitos (rastreabilidade). Cada modelo de processo possui estratégias diferentes para gestão de requisitos, mas essa disciplina aprofunda esse tema e fornece diversas ferramentas como: técnicas de entrevista, prototipagem, descrição de casos de uso, ou ainda BDDs.
Assim como com um prédio ou ponte, em um software a arquitetura também deve ser projetada. Definir a arquitetura do software não é apenas selecionar tecnologias, mas também escolher estilos e padrões arquiteturais e definir a estrutura interna (em termos de componentes) e os meios de interação com agentes externos. Uma bom projeto de arquitetura deve considerar os requisitos e também as restrições.
A gestão de configuração é a disciplina que se preocupa com o controle de artefatos e versões. Na prática, ela envolve a compreensão de quais artefatos fazem parte do software (arquivos, imagens, configurações) e a garantia que as alterações nesses artefatos sejam controladas. Além disso, a gestão de configuração é dedicada ao controle das versões desses artefatos, evitando assim que erros surjam pela alteração indevida, e possibilitando que haja rastreabilidade de tais alterações. Essa disciplina é essencial! Ela inclui ferramentas como o controle de versões e técnicas como a Integração Contínua e a Entrega Contínua.
26 de setembro de 2024
16 de agosto de 2024