Sistema de Gerenciamento de Competências Alexandre Pitta Guedes Julien Renaut Yugo Watari Supervisor: Valdemar W. Setzer Matrizes de Competências Caracteriza-se como competência a habilidade de uma pessoa de realizar algo em determinada área de conhecimento. Uma matriz de competências relaciona áreas de conhecimento e habilidades. ◦ Cada célula contém um grau de competência. Portanto, uma matriz é definida por suas áreas de conhecimento, suas habilidades e seus graus de competência. Exemplo de Matriz Áreas de conhecimento: ◦ Português ◦ Inglês ◦ Alemão Habilidades: ◦ Falar ◦ Escrever ◦ Ler Graus de competência: ◦ Ruim ◦ Bom ◦ Excelente Exemplo de Matriz (cont.) Habilidades Áreas de conhecimento falar escrever ler português bom bom excelente inglês ruim ruim alemão ruim bom Implementação Feito em Java usando ferramentas e frameworks livres ◦ ◦ ◦ ◦ ◦ ◦ Subversion Maven2 Checkstyle Hibernate Spring Framework Java Server Faces Código e documentação em inglês Mecanismo de internacionalização (Resource Bundles) Subversion Controle de Versão de arquivos Sucessor do CVS Utiliza o padrão “copy – modify – merge” ao invés de “lock – modify – unlock”. (+) Várias pessoas podem trabalhar no mesmo arquivo (-) Merge pode ser manual Maven2 Ferramenta para auxiliar o gerenciamento do projeto POM (Project Object Model) Gerencia dependências entre os módulos Gerencia dependências externas Gerencia dependências transitivas Arquitetura em plugins permite fácil customização própria ou de terceiros Checkstyle Plugin para o Eclipse Padronização de Estilo de Código Inibe más práticas de programação e documentação JPA e Hibernate Especificação para Persistência de Dados Mapeamento Entidade Relacional Poupa tempo de desenvolvimento com tarefas repetitivas relacionadas ao Banco de Dados como escrever consultas SQL Configuração por exceção Hibernate implementa a especificação JPA Spring Framework Arcabouço “light weight” para desenvolvimento de aplicações J2EE Diversos módulos Inversão de Controle Um objeto pode ser construído sem que tenha conhecimento das estratégias de construção de suas dependências BeanFactory Java Server Faces Especificação de arcabouço para desenvolvimento de páginas web Segue o padrão MVC Separação do código e da definição da página através da EL (Expression Language) Arquitetura orientada a componentes Funcionalidades do sistema Cadastro de usuários Cadastro de matrizes de competências Preenchimento das matrizes pelos usuários Busca de usuários que satisfazem condições de competências de células de várias matrizes. ◦ Quem tem competência maior ou igual do que regular na leitura em inglês? Preenchimento de Matriz Definição da Busca Resultados da Busca Dificuldades Nivelar o conhecimento dos participantes da equipe Escolha das ferramentas e arcabouços para o ambiente de desenvolvimento ◦ Softwares livre ◦ Não conflitantes ◦ Configuração e integração simples Conclusões O conjunto de ferramentas utilizadas proporcionou um ambiente ágil e padronizado de programação Tarefas que antigamente tinham pouca integração são facilmente executadas em conjunto É possível adicionar outros“componentes” facilmente. Por exemplo integração contínua Conclusões (cont.) Os objetivos foram parcialmente preenchidos Foram feitos ◦ ◦ ◦ ◦ Cadastro de usuários Cadastro de matrizes Preenchimento de matrizes Busca de usuários Extensões sugeridas Incremento do subsistema de permissão ◦ Grupos de usuários ◦ Hierarquia de usuários ◦ Validação das matrizes por supervisores Estudo de caso completo de um sistema de competências (eventualmente de alguma empresa) ◦ Matrizes ◦ Usuários ◦ Buscas