Metodologias de programação - Introdução

Quando programas são desenvolvidos para resolver problemas da vida real, como gerenciamento de estoque, processamento de folha de pagamento, admissões de alunos, processamento de resultados de exames, etc., eles tendem a ser enormes e complexos. A abordagem para analisar tais problemas complexos, planejar o desenvolvimento de software e controlar o processo de desenvolvimento é chamadaprogramming methodology.

Tipos de metodologias de programação

Existem muitos tipos de metodologias de programação predominantes entre os desenvolvedores de software -

Programação Processual

O problema é dividido em procedimentos ou blocos de código que executam uma tarefa cada. Todos os procedimentos tomados em conjunto formam o programa completo. É adequado apenas para pequenos programas com baixo nível de complexidade.

Example- Para um programa de calculadora que faz adição, subtração, multiplicação, divisão, raiz quadrada e comparação, cada uma dessas operações pode ser desenvolvida como procedimentos separados. No programa principal, cada procedimento seria invocado com base na escolha do usuário.

Programação orientada a objetos

Aqui, a solução gira em torno de entidades ou objetos que fazem parte do problema. A solução trata de como armazenar dados relacionados às entidades, como as entidades se comportam e como elas interagem entre si para fornecer uma solução coesa.

Example - Se tivermos que desenvolver um sistema de gestão da folha de pagamento, teremos entidades como funcionários, estrutura salarial, regras de licença, etc. em torno das quais a solução deve ser construída.

Programação Funcional

Aqui, o problema, ou a solução desejada, é dividido em unidades funcionais. Cada unidade realiza sua própria tarefa e é autossuficiente. Essas unidades são então costuradas para formar a solução completa.

Example - Um processamento de folha de pagamento pode ter unidades funcionais como manutenção de dados de funcionários, cálculo do salário básico, cálculo do salário bruto, processamento de licenças, processamento de reembolso de empréstimos, etc.

Programação Lógica

Aqui, o problema é dividido em unidades lógicas em vez de unidades funcionais. Example:Em um sistema de gestão escolar, os usuários têm funções muito definidas, como professor de turma, professor de disciplina, assistente de laboratório, coordenador, responsável acadêmico, etc. Portanto, o software pode ser dividido em unidades dependendo das funções do usuário. Cada usuário pode ter diferentes interfaces, permissões, etc.

Os desenvolvedores de software podem escolher uma ou uma combinação de mais de uma dessas metodologias para desenvolver um software. Observe que em cada uma das metodologias discutidas, o problema deve ser dividido em unidades menores. Para fazer isso, os desenvolvedores usam qualquer uma das seguintes abordagens -

  • Abordagem de cima para baixo
  • Abordagem de baixo para cima

Abordagem de cima para baixo ou modular

O problema é dividido em unidades menores, que podem ser subdivididas em unidades ainda menores. Cada unidade é chamada demodule. Cada módulo é uma unidade autossuficiente que possui todo o necessário para realizar sua tarefa.

A ilustração a seguir mostra um exemplo de como você pode seguir a abordagem modular para criar diferentes módulos ao desenvolver um programa de processamento de folha de pagamento.

Abordagem de baixo para cima

Na abordagem ascendente, o projeto do sistema começa com o nível mais baixo de componentes, que são interconectados para obter componentes de nível superior. Este processo continua até que uma hierarquia de todos os componentes do sistema seja gerada. No entanto, no cenário da vida real, é muito difícil saber todos os componentes de nível mais baixo desde o início. Portanto, a abordagem de baixo para cima é usada apenas para problemas muito simples.

Vejamos os componentes de um programa de calculadora.