Metodologia (engenharia de software)
Em Engenharia de Software e no Gerenciamento de Projetos, uma metodologia é um conjunto estruturado de práticas (por exemplo: Material de Treinamento, Programas de educação formais, Planilhas, e Diagramas) que pode ser repetível durante o processo de produção de software.
Metodologias de Engenharia de Software abrangem muitas disciplinas, incluindo Gerenciamento de Projetos, e as suas fases como: análise, projeto, codificação, teste, e mesmo a Garantia da Qualidade.
Índice |
[editar] Metodologia versus método
Há uma discussão na ciência a respeito das palavras: metodologia e método. Elas são largamente utilizados como sinônimos, embora muitos autores acreditem que seja importante destacar a diferença entre as duas. Uns entendem o método como um processo, e a metodologia como o estudo de um ou vários métodos.
Interessante observar a etimologia destas palavras. Ambas as palavras derivam do mesmo radical do Grego, méthodos = 'caminho para chegar a um fim' e logia = 'estudo de'.
Na Engenharia de Software, em particular, a discussão continua. Uns argumentam que método é um processo com uma série de passos, para construir um software, enquanto que uma metodologia é a codificação de um conjunto de práticas recomendadas, as vezes acompanhada de material de treinamento, programas de educação formal, Planilhas, Diagramas. Neste contexto, um método de Engenharia de Software pode ser considerado como parte da metodologia. Também, alguns autores acreditam que uma metodologia exista com base em uma abordagem filosófica do problema. Utilizando-se dessas definições, pode-se afirmar que a Engenharia de Software é rica em métodos, mas com poucas metodologias.
Na Engenharia de Software as principais abordagens de Metodologias são:
-
- Metodologia Estruturada: (Engenharia da Informação, SSADM e outras), as quais englobam muitos métodos e processos de software.
- Metodologia Orientada a Objetos: (OOA/OOD e outras)
- Metodologias de Desenvolvimento Ágil: Exitem varias metodologias que podem ser consideradas como abordagens ágeis entre elas: Scrum, Programação extrema, FDD, Crystal Clear, DSDM entre outras.
[editar] Criticas
- Critica: Muitos métodos tentam definir algoritmos rígidos para os programadores seguirem. Isto tem como efeito tornar os programas mais impessoais e menos interessantes. Isso diminui a motivação e a satisfação para os programadores. Normalmente os programadores costumam resistir a métodos muito rígidos.
- Contra argumento: A maior parte dos trabalhadores resistem a usar uma metodologia. Um método pode ser prejudicial ao ego quando você coloca neste termos. Todavia, isto não e um ponto de vista válido que deva ser aceito para todos os métodos, especialmente quando um método é um modelo que não se adapta bem ao trabalho. Neste casos, isto significa que um programador deve ser capaz de propor mudanças para qualquer método ou metodologia, e receber explicações se tais mudanças não forem aceitáveis.
[editar] Exemplos de métodos
Exemplos de métodos na Engenharia de Software:
- Flowcharting
- programação estruturada desde 1969
- Analise estruturada de sistema e Metodologias de projeto (SSDAM)
- Engenharia da informação
- Programação Top-dow
- Programação estruturada Jackson
- Método desenvolvimento de sistemas dinâmico
- Programação orientada ao Objeto (OOP)
- RUP
- EUP
- Desenvolvimento ágil de software
- Programação extrema desde 1999
- Scrum
- Máquina de estado finito desde 1990.
- Práxis
- CDM
- XP
[editar] Veja também
[[Categoria:!Artigos que carecem de fontes desde {{subst:#time:F "de" Y}}]]