Loading Softdesign

SoftDictionary: Engenharia de Software

4 minutos de leitura

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.

Engenharia de software

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 de Desenvolvimento de Software

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).

Gestão de requisitos

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.

Projeto de Arquitetura de software

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.

Gestão de configuração

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.

 

Gostou? Se você tiver outras dúvidas, entre em contato conosco. E se quiser saber mais sobre Desenvolvimento de Software, baixe o nosso material!

Acessar conteúdo