Metodologia (engenharia de software)
Origem: Wikipédia, a enciclopédia livre.
Em engenharia de software e no gerenciamento de projeto, uma metodologia é um conjunto codificado de práticas (algumas vezes acompanhadas por material de treinamento, programas de educação formais, planilhas, e ferramental de diagramação) que deve ser repetível durante o processo de produção do software.
Metodologias de engenharia de software abrange muitas disciplinas, incluindo gerenciamento de projeto, analise, projeto, codificação, teste, e garantia da qualidade. Todas as metodologias guiam nestes campo são uma colagem de todas estas disciplinas.
Índice |
[editar] Metodologia versus método
Há uma discussão na ciência em geral a respeito destas duas palavras: método e metodologia. Eles são largamente utilizados como sinônimos, embora muitos autores acreditem que seja importante destacar a diferença entre os dois.
Alguns autores entende o método como uma receita e a metodologia como o estudo de um ou vários métodos. Isto acontece porque os autores se equivocam em considerar a etimologia destas palavras. Ambas as palavras derivam do Grego, methodos = seguindo antes, perseguindo e ology = estudo de.
Na Engenharia de Software, em particular, a discussão continua. Uns podem argumentar que na engenharia de software método é uma receitam uma serie de passos, para construir um software, enquanto uma metodologia é uma codificação de um conjunto de praticas recomendadas, algumas vezes acompanhada por material de treinamento, programas de educação formal, planilhas, e ferramentas de diagramação. Neste contexto, um método de engenharia de software pode ser considerado como parte de uma metodologia. Também, alguns autores acreditam que em uma metodologia exista um geral de uma abordagem filosófica do problema. Usando estas definições, engenharia de software é rica em métodos, mas tem poucas metodologias. Há duas abordagens principais de metodologias: Metodologias estruturadas (Engenharia da Informação, SSADM e outras), as quais englobam muitos métodos e processo de software, e a metodologia de Orientação ao Objeto (OOA/OOD e outras).
[editar] Criticas
- Critica: Muitas metodologias experimentaram algo como uma tentativa de definir algoritmos para os programadores seguirem. Isto tem como efeito tornar o programas mais impessoais e menos interessante. Isto diminui a motivação e a satisfação como o trabalho para os programadores. Programadores costumam resistir a metodologias muito rígidas.
- Contra argumento: A maior dos trabalhadores resistem a um método quando possível. Um método pode ser prejudicial ao ego quando você coloca neste termos. Todavia, isto não e um ponto de vista valido 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 metodologias
Exemplos de metodologias 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
- Processos ágil
- Programação extrema desde 1999
- Scrum
- Máquina de estado finito desde 1990.
- Práxis
- CDM
[editar] Veja também
- Engenharia de software
- Gerenciamento de projeto
- Lista de tópicos de engenharia de software
- Processo de desenvolvimento de software