MAC 499 - Trabalho de Formatura Supervisionado


Monografia



Aluno: Ricardo Skubs

Prof. Supervisor: João Eduardo Ferreira

Prof. Responsável: Carlos Eduardo Ferreira

Tipo de Trabalho: Experiência de Estágio Supervisionado


1. Introdução

O objetivo desse trabalho é descrever as atividades realizadas em 10 meses de estágio supervisionado na empresa Zelka Consultoria, abordando os projetos desenvolvidos, as dificuldades encontradas e soluções adotadas, além de realizar uma pequena análise a respeito da importância do estágio na minha formação acadêmica.

2. Zelka Consultoria LTDA - A Empresa

A Zelka Consultoria LTDA é uma empresa que atua no desenvolvimento de soluções tecnológicas voltadas para o suporte de processos de consultorias financeiras e de recursos humanos.

3. Objetivos do Estágio

3.1 Objetivos

Minha missão como estagiário do departamento de desenvolvimento de sistemas da Zelka Consultoria, foi participar de todo o processo de desenvolvimento de um sistema auxiliar na aplicação de um determinado processo de consultoria em recursos humanos conhecido como "análise de clima organizacional".

Quando da minha admissão na empresa, o desenvolvimento do sistema ainda estava na fase inicial de levantamento de requisitos, sendo assim tive a oportunidade de abraçar o projeto e participar de todas as etapas, desde a análise de requisitos, modelagem do sistema, até a implementação, testes, documentação e implantação.

3.2 "Análise de Clima Organizacional"

A análise de clima organizacional é um processo que visa descobrir as opiniões dos funcionários de uma determinada empresa sobre diversos aspectos do dia-a-dia de trabalho, atribuindo notas (de zero a dez) para índices de avaliações, que podem ser comparados, ano a ano dentro da própria empresa, ou com os índices obtidos por outras empresas do mesmo segmento, visando melhorar o ambiente de trabalho, os processos utilizados, a produtividade e a felicidade no trabalho.

São cerca de 32 índices de avaliação, obtidos a partir da análise das respostas a mais de 120 perguntas, que são respondidas de forma anônima por todos os funcionários da empresa. Além das chamadas perguntas de clima, os funcionários também respondem a perguntas de perfil, que visam caracterizar o funcionário dentro de alguns grupos, sendo possível realizar a análise de clima segmentada de acordo com o "cargo", "anos de trabalho na empresa", "formação acadêmica", "sexo", entre outros.

4. Atividades Realizadas

4.1 Levantamento de Requisitos

Foram realizadas, ao todo, no início do projeto, seis pequenas reuniões com os clientes, visando entender o processo de consultoria e levantar os requisitos mínimos do sistema, além de elaborar as funcionalidades que seriam oferecidas pelo sistema informatizado.

Cada reunião era realizada em no máximo 2 horas, e após cada encontro, uma pauta era enviada para todos os participantes, com os temas discutidos. Fui o responsável pela elaboração das pautas e por "traduzir" no formato de especificações técnicas as funcionalidades necessárias e sugeridas para o sistema.

Essa documentação foi utilizada, posteriormente, para a elaboração do cronograma de implementação e na preparação da estratégia de desenvolvimento.

O levantamento de requisitos levou inicialmente duas semanas de trabalho, e continou durante todo o desenvolvimento.

4.2 Elaboração do Cronograma de Trabalho

Com base nos requisitos levantados e nas funcionalidades sugeridas, foi preparado um pequeno cronograma de implementação. O sistema foi dividido em cinco módulos distintos, que poderiam ser desenvolvidos paralelamente (em parte), caso fosse necessário. O cronograma previa datas de entrega de pequenos releases, de modo que o sistema fosse, aos poucos, ganhando sua forma final. A cada realease, o cronograma de implementação sofria as alterações necessárias, baseadas nas dificuldades encontradas na etapa anterior, e na projeção das futuras dificuldades.

4.3 Modelagem do Banco de Dados

A primeira etapa de implementação foi descrever o modelo de dados que seria utilizado, e implementá-lo no sistema gerenciador de dados escolhido para a realização do projeto.

Uma vez descrito o modelo conceitual de dados, o mesmo foi implementado em SQL Server 2000, que foi o sistema gereciador de dados escolhido para armazenar o banco de dados. O SQL Server 2000 foi escolhido por ser a opção de melhor custo-benefício disponível no mercado, no que concerne a aquisição de lincenças e contratação de mão-de-obra para possíveis futuras manutenções do sistema.

A modelagem do banco de dados consumiu uma semana de trabalho.

4.4 Implementação de Ferramentas Auxiliares para o Desenvolvimento

Antes de iniciar a programação do primeiro módulo do sistema, foram desenvolvidos pequenas ferramenta para auxiliar no desenvolvimento do sistema. Uma dessas ferramentas, por exemplo, cuidava de importar de uma planília de excel, os dados de projetos antigos realizados pelo cliente, de modo que poderíamos testar nosso sistema com dados reais, resultados já conhecidos e valorados em anos anteriores. Essas ferramentas foram programadas em Visual Basic.

A implementação dessas ferramentas consumiu duas semanas de trabalho.

4.5 Implementação do Módulo de Relatórios WEB

Uma vez que o banco de dados recebeu uma carga inicial, com as informações de consultorias realizadas em anos anteriores, iniciamos o projeto pela elaboração da interface de relatórios WEB, que deveria agrupar uma infinidade de gráficos e comparativos para permitir aos analistas tecer suas coinclusões a partir dos dados valorados pelo sistema.

A linguagem escolhida para a elaboração dessa interface foi o Active Server Pages da Microsoft. Nós gostaríamos de ter iniciado a programação utilizando a plataforma .NET da Microsoft, mas isso não foi possível por falta das lincenças de uso, necessárias para a instalação da plataforma de desenvolvimento.

O primeiro problema encontrado no desenvolvimento das interfaces de relatórios, foi a grande demora do ASP em calcular os índices de satisfação. Apesar dos cálculos não exigirem nenhuma complexidade matemática, sendo formados basicamente por somatórios de nota e multiplicações, a grande quantidade de dados acarretava em grande demora para o retorno das informações finais. O sistema antigo, utilizado pela consultoria, utilizava uma planília excel para o cálculo dos índices, e essa planília levava cerca de cinco minutos para calcular todos os índices. O sistema em ASP levava "apenas" cerca de 45 segundos para realizar o mesmo cálculo, no entanto, para uma interface WEB, esse tempo era demasiado longo, e foi preciso adotar uma outra solução para o problema.

A solução encontrada foi passar os cálculos para dentro do SQL Server, e utilizar "stored procedures" e os recursos da linguagem SQL para o pré-processamento dos dados. Após a implementação desses procedimentos, o cálculo dos índices passou a ser executado em pouco mais de um segundo, ficando o sistema em ASP responsável apenas por imprimir os números, gráficos e comparativos na tela.

A implementação desse sistema consumiu três meses de trabalho, e encerrou a entrega de duas pequenas "releases".

4.6 Implementação do Módulo de Administração do Sistema

Um dos requisitos do sistema era permitir, pelo cliente, a inclusão de novas consultorias a partir de um simples toque de botão. Para tanto foi desenvolvido um sistema gerenciador, que a partir da definição de alguns padrões e modelos, realizava a criação no banco de dados, de toda a estrutura necessária para a aplicação de uma nova consultoria.

Esse sistema foi implementado em C#.NET e consumiu cerca de um mês de trabalho.

4.7 Implementação do Módulo Gerenciador de Projetos

Após a criação de um novo projeto de consultoria, o cliente ganhava acesso a o módulo de gerenciamento de projetos, onde seria possível cuidar da geração dos tickets de acesso para a pesquisa de clima e a configuração dos detalhes do projeto, como a redefinição dos agrupamentos de perfil, quando necessários. Além disso, através desse sistema é possível acompanhar o andamento da pesquisa e projetar o término do processo de colheita de dados.

Esse sistema foi implementado em C#.NET e consumiu cerca de um mês de trabalho.

4.8 Implementação do Módulo de Aplicação de Pesquisa

Esse módulo consiste nas interfaces de aplicação da pesquisa de perfil e clima. O funcionário da empresa onde se realiza a consultoria ganha uma senha de acesso e pode responder às perguntas de forma anônima através da internet ou de terminais instalados no seu local de trabalho.

No caso do acesso via internet, os dados obtidos são imediatamente passados para o banco de dados, e ficam disponíveis para geração dos resultados. No caso dos terminais, o sistema permite a geração de arquivos de exportação, que podem ser importados para o sistema de banco de dados posteriormente através de uma ferramenta auxiliar desenvolvida com essa finalidade.

Esse sistema foi implementado em ASP e consumiu um mês de trabalho.

4.9 Implementação do Módulo de Geração de Relatórios em Powerpoint

Uma etapa importante do trabalho realizado pela empresa de consultoria, é a geração de um longo e detalhado relatório em Microsoft Powerpoint apontando todos os índices obtidos e segmentados em alguns perfis escolhidos (como "índices por cargos"). A elaboração desse relatório consome a maior parte do tempo da consultoria e envolve a alocação de muitos funcionários por um longo período de tempo. O relatório em powerpoint é o documento final entregue ao cliente da consultoria, e aponta as principais deficiências da empresa e seus pontos fortes.

O relatório possui diversos gráficos e comparativos visuais, e nosso sistema deveria ser capaz de preparar um "modelo" desse relatório, para facilitar a preparação do documento final.

Implementamos um sistema em Visul Basic para realizar a tarefa. O sistema é capaz de gerar automaticamente, todos os gráficos e comparativos criados manualmente pelos consultores, através das informações armazenadas no banco de dados, em mais de cem slides distribuídos de acordo com um modelo criado a partir de relatórios de anos anteriores.

O grande desafio da programação desse sistema foi automatizar a criação de gráficos feitos manualmente pelos consultores, com o objetivo de manter o padrão visual criado ao longo dos anos pela consultoria. O sistema é capaz de gerar em poucos minutos todos os índices em todas as possíveis segmentações permitidas pelo sistema (por exemplo, "por idade", "por cargo", "por tempo de serviço", etc), enquanto que pelo processo manual, a consultoria era capaz apenas de preparar duas ou três segmentações, em virtude da grande carga de trabalho necessária para a elaboração desse documento. A partir dos gráficos gerados pelo sistema, restava aos consultores apenas incluir as considerações sobre os números apresentados.

A programação desse sistema consumiu cerca de dois meses de trabalho.

4.10 Interface com o Usuário e Perfumarias

Uma parte importante do desenvolvimento de todo software que necessita de interação humana, é o desenvolvimento da interface com o usuário. Nessa etapa do desenvolvimento, todas os sistemas criados foram exaustivamente utilizados, por diferentes pessoas envolvida no projeto e todas as sugestões quanto à interface criada foram analisadas.

Esse trabalho exigiu a reprogramação de uma série de elementos, mas contribuiu para a construção de um software de simples utilização e com visual muito agradável.

A "refatoração" de elementos de interface constitui uma das tarefas mais chatas na elaboração de um sistema (pois geralemente não envolve nenhum desafio computacional - envolve às vezes desafios para a criatividade do programador), mas é de uma importância fundamental para o sucesso na implantação do projeto.

Essa etapa do desenvolvimento consumiu cerca de um mês de trabalho, e continua após a implantação do sistema.

4.11 Implantação do Sistema

Como grande parte do sistema envolve interfaces WEB, o projeto foi sendo disponibilizado a medida que os módulos ficavam prontos, dessa forma foi possível, desde cedo, receber sugestões quanto a interface adotada.

No início da utilização do sistema de geração de relatórios em powerpoint, sentimos uma pequena resistência dos consultores em adotar a ferramenta, e muitas sugestões e críticas foram feitas quanto a qualidade e usabilidade do sistema, mas felizmente todos os problemas foram sanados em pouco tempo e o sistema passou a ser aceito com a solução definitiva para a dificuldade da consultoria em gerar novos negócios devido a grande demora para a elaboração dos resultados finais durante o processo de análise dos dados.

5. Graduação e Trabalho - Algumas Considerações

5.1 Graduação + Trabalho = Inferno

Cabe ao aluno do curso de Ciência da Computação escolher, no decorrer da sua graduação, o caminho que irá trilhar após a conclusão do curso. Se a senda acadêmica ou o mercado de trabalho. Quando eu ingressei na universidade, eu esperava poder me dedicar à pós-graduação, e quem sabe, me tornar pesquisador na área, no entanto, no decorrer dos meus primeiros dois anos de graduação, fui tomado pelo desespero, tamanha a falta de motivação em estudar (devido a falta de motivação dos professores em ensinar, educar) a ciência que escolhi para direcionar meus estudos e minha carreira profissional.

Em parte por estar desmotivado com os estudos e em parte (e o mais importate) por problemas pessoais, fui levado a iniciar minha carreira profissional cedo, ainda durante a graduação. Infelizmente, a combinação "trabalho" + "graduação" não rende bons frutos no IME, e até hoje, assisto a novela da minha graduação se arrastando ao longo dos anos.

Eu não tenho grandes soluções para apresentar sobre esse problema, mas é muito triste ainda encontrar professores do instituto totalmente inflexiveis quando o assunto é esse. Trabalho junto com a graduação nem sempre é escolha do aluno, e tornar a vida do sujeito um inferno sendo completamente inflexível e alheio à realidade de cada um, não é estímulo ao estudo.

5.2 Formação Acadêmica e Vida Profissional

Os alunos do BCC são muito valorizados no mercado de trabalho, mas não apenas em virtude dos conhecimentos computacionais obtidos na faculdade (que de fato são muito importantes e se destacam diante da extrema pobreza do ensino da grande maioria das universidades particulares), mas pela capacidade de adaptação, improviso e criatividade, que são fundamentais na resolução de qualquer problema computacional em curto espaço de tempo e com a qualidade exigida pelo mercado.

Esse diferencial não é aprendido na faculdade, mas é qualidade inerente de cada aluno, e provavelmente foi de fundamental importância na aprovação de cada um de nõs no processo vestibular.

Algumas disciplinas que considero de fundamental importância na formação de qualquer aluno do BCC, pois desenvolvem habilidades para a resolução dos mais complexos problemas computacionais que EU me acostumei encontrar no mundo real:

* MAC0110 - Introdução à Computação
Essa matéria é de fundamental importância para despertar no aluno, recém chegado à universidade, o desejo de aprofundar os conhecimentos na área de computação. A escolha do professor dessa disciplina deveria ser feita com MUITO cuidado pela comissão de graduação, que deveria escolher dentre aqueles que possuem vocação para o ensino e vontade de despertar nos alunos verdadeiro interesse pelo curso. Massacrar o aluno nessa altura do campeonato, é uma péssima idéia.

* MAC0122 - Princípios de Desenvolvimento de Algoritmos
* MAC0323 - Estruturas de Dados
* MAC0338 - Análise de Algoritmos
* MAC0328 - Algoritmos em Grafos
* MAC0414 - Linguagens Formais e Autômatos
* MAC0426 - Sistemas de Bancos de Dados
* MAC0332 - Engenharia de Software

6. Conclusões Finais

Tenho muito orgulho de ser graduando em ciência da computação no IME, tenho certeza da importância dos meus estudos, das horas dispendidas sobre os livros, mesmo quando o esforço não se converte na nota esperada, no entanto, ainda me causa desespero encontrar professores totalmente alheios à realidade de que dentre os cinquenta alunos do curso, nem todos possuem a mesma disponibilidade de tempo, a mesma capacidade para aprender determinados tópicos, a mesma disposição para aprofundar estudos em certos temas. Acredito que falte vocação para educar entre os professores, e isso seria de fundamental importância para formar as próximas gerações de profissionais e pesquisadores.

Trabalhar no decorrer da graduação é desesperador, mas infelizmente, não é uma opção. Precisar deixar de estudar determinada matéria para poder estudar outras, precisar abrir mão da aprovação em alguns cursos para conseguir entregar os trabalho exigidos em outros, é muito difícil. Os alunos deveriam ser estimulados a aprofundar os estudos, a continuar na faculdade até o final do curso, no entanto, isso não pode de forma alguma ser enfiado guela abaixo.

O projeto desenvolvido durante o estágio foi de grande valia no desenvolvimento de algumas capacidades, tanto computacionais como relacionais. Tenho orgulho do resultado final e a certeza que tudo foi feito da melhor forma possível. Agradeço a oportunidade de trabalhar numa empresa que entende (em parte) as dificuldades que um formando encontra para conduzir as responsabilidades profissionais com as acadêmicas.