6 de maio de 2008

Certificação UML

Uma das dúvidas mais recorrentes é: "como posso me certificar em UML"?
Reposta: depende :-)

Primeiro você deve analisar para que servirá a certificação:
1. Engrossar o Curriculo;
2. Permitir à empresa atender a requisitos de RFPs;
3. Provar para alguém que você sabe UML;
4. Usar a prova como linha guia e um estímulo para estudar o tema;
5. Impressionar os amigos;
6. Todas as anteriores :-)

Não quero entrar no mérito de ter uma certificação, pois eu mesmo tenho reservas quanto à efetividade deste sêlo como prova de que se sabe algo. Como tudo na vida, existem prós e contras, e a prática de certificar é bastante controversa.

Hoje existem basicamente duas certificações bastante difundidas e reconhecidas no mercado: a da OMG, a entidade mantenedora da UML, e a da IBM Rational. A primeira é uma certificação que prova que você conhece (a fundo) a notação, seus muitos elementos e pormenores. A segunda é uma indicação que você sabe usar a notação num projeto real. Na verdade a certificação da IBM não é em UML mas em OOA&D - Object Oriented Analisys and Design.

Portanto, antes de pensar em como se capacitar precisa decidir o que quer provar (ou indicar que sabe) e para quem. Como sugestão, um raciocínio para ajudar a decidir:
- Se você é um instrutor de alguma tecnologia, técnica ou até mesmo linguagem de programação é uma boa mostrar que tem conhecimento profundo sobre UML. Portanto a certificação OMG é para você.
- Caso seja um membro de uma equipe de desenvolvimento de software ou profissional de desenvolvimento de software pode ser um diferencial mostrar que conhece as ferramentas necessárias durante o dia-a-dia do projeto. Neste caso, UML é mais uma ferramenta (uma ferramenta de pensar :o) e a certificação OOAD indica que você domina o necessário da notação e tem capacidade de por em prática os conhecimentos teóricos.

Costumo dizer que a certificação OMG para um desenvolvedor é mais ou menos como um Diploma de Engenharia Mecânica para um motorista: pode ser extramamente útil se o carro encrencar, mas no dia-a-dia não vai ajudar muito.
Por outro lado, a certificação da IBM é "rasa" em se tratando da notação em si (eu diria que cobre os 20% mais usados), focando no emprego da UML num projeto real de desenvolvimento de software.

Espero ter ajudado você a decidir qual prova de certificação prestar. Agora vou ajuda-lo a se preparar para as provas:

Certificação UML (OMG)
Não tenho esta certificação mas conheço pessoas que prestaram (e passaram) na prova e domino o conteúdo. Eu tenho certeza que seria reprovado algumas vezes porque simplesmente sou preguiçoso demais para decorar coisas (resultado da era Google e milhões de pobres neurônios devidamente afogados em muuuita cerveja). Este é o tom da prova: vai testar se você conhece os "pormenores" da notação e realmente entende a coisa "por dentro". Aqui vale um comentário especial: a UML é uma notação para ser entendida por seres humanos *E* por máquinas. Enquanto os elementos que usamos estão na "superfícies", existe uma amarração interna extremamente forte e organizada com regras formais por detrás de cada simbolo e relacionamento. Imagine o diagrama como sendo um painel com luzes e botões que tem por dentro quilômetros de fios e ligações. A máquina pode entender o modelo aqui entra a grande difereça da UML 2.x: a notação foi inteiramente reconstruída de dentro para fora, enquanto externamente pouco mudou (alguns novos diagramas e elementos), permitindo um grau de automação enorme mirando um mundo MDA - Model Driven Architecture, assunto para outro post.
Fontes de estudo:
1. Livros específicos de preparação (cada dia lançam um diferente, basta googlar o nome da certificação);
2. A especificação da Superestrutura da UML. É um pdf que pode ser baixado no site da OMG e se decidir *decora-lo* passa na prova. Mas atenção são quase 700 páginas de texto, que proporcionam um prazer de leitura parecido com bula de remédios. Quem passou na prova estudou forte por aqui e procurou entender o que se passa na "barriga do monstro";

IBM Rational OOA&D UML 2.0

Essa eu tenho. Como quem sabe sempre diz que é fácil, melhor eu não dizer nada. Para se preparar para esta prova você tem dois caminhos: ou sabe OOAD por ter aprendido na prática ou estuda e faz treinamentos.
Se você tem pelo menos 2 anos de experiência em desenvolvimento e projeto (detesto a palavra modelagem, tópico pra outro post) com UML, sabe o que é o Booch Method, sabe ir de um caso de uso até o diagrama de classes *passando pelo de sequência antes*, sabe o que são abstrações-chave, classes de fronteira, entidade e controle, então pode prestar as duas provas que vai passar tranquilo. Se não sabe, ou acha que a única maneira de chegar no código é extraindo o diagrama de classes diretamente dos requisitos, então recomendo fortemente um treinamento da IBM Rational que mantém turmas de OOAD regulares no calendário de turmas abertas de treinamento (este mesmo treinamento pode ser obtido junto a parceiros IBM certificados Rational). Este treinamento é tiro-e-queda: 4 dias de imersão com 2/3 do tempo em exercícios práticos que partem de um caso de uso, chegando ao final nas classes de implementação. Se você dedicar atenção, fizer com afinco e entender os exercícios, basta estudar com afinco os conceitos contidos no material (que não é pouco) que as chances são grandes de passar na certificação. De quebra, garanto que você vai melhorar seu skill de desenvolvimento de software :-). Bom, caso você assim como eu tenha ogeriza a sala de aula e nao queira fazer o treinamento, pode comprar o livro de OOAD do Booch e estudar por ele. Está TUDO lá. Mas atenção: a sua vida vai se dividir entre antes e depois deste livro. Bem... mas tem um problema: a técnica do Booch precede a UML e o livro ainda usa a notação Booch (uma nuvenzinha simboliza uma classe, que fofo :-)))), portanto, você terá um trabalho de traduzir mentalmente para UML.

É isso aí! Boas provas!

3 comentários:

Unknown disse...

Sou membro do fórum CMMI, UML-BR e não vi nenhuma divulgação do blog, só descobri recentemente, ficou legal ! Parabéns !!!

Rodolpho disse...

Obrigado Julio! Ainda não divulguei porque primeiro quero ver se consigo mante-lo atualizado :-).

Você foi o primeiro leitor, parabéns! Te pago uma cerveja quando der.

James disse...

Rodolpho, comecei a estudar para tirar a certificação da OMG e mesmo depois de muitos anos seu post ajudou muito para uma visão inical de estudo sobre a certificação.
Obrigado !