- variáveis e operações sobre elas;
- sub-programas (também chamados blocos de código, funções, procedimentos, métodos);
- comandos de seleção (if - then - else);
- comandos de repetição (while, do...while, for)
A disciplina que estuda técnicas de gerenciamento de projetos de software é a de Engenharia de Software. Nela estudam-se os aspectos gerenciais de casos de desenvolvimento de software, como fases do desenvolvimento do projeto (às vezes chamado ciclo de vida do projeto - veja post a respeito), trabalho em grupo, organização das pessoas (hierárquica ou não), fluxo de informação e de trabalho. Mostrando casos de sucesso e categorizando-os em "modelos de ciclo de vida"[SCHACH, 2006]. Na maioria dos modelos há etapas de especificação, projeto, implementação, manutenção (atualização, inclusão de funcionalidades) e término da vida. A organização dos programas (a forma como o código fonte é escrito) influencia (facilita/dificulta, barateia/encarece) cada uma dessas etapas.
Uma estratégia considerada efetiva para grandes tarefas é decompô-las em tarefas menores com pouca ou nenhuma dependência entre elas. Até onde pesquisei, a origem desta idéia está no Taylorismo/Fordismo (gerenciamento de sistemas).
Em programação, decompor programas grandes em sub-programas menores e independentes recebeu o nome de programação modular. As vantagens apontadas são:
- a compreensão do programa como um todo;
- a delegação de tarefas;
- a substituição de quem executa a tarefa;
- a depuração do programa;
- a atualização ou substituição de partes do programa;
- ...
Linguagens de programação contém elementos que dão suporte a essa decomposição:
- Permitir a quebra do programa em vários arquivos;
- Permitir que o programador crie tipos de dados / objetos;
- Garantir que a independência entre tarefas é respeitada;
* poderosa no sentido de permitir usar toda a capacidade do computador.
Nenhum comentário:
Postar um comentário