Buscar

GESTAO EM RH 5

Prévia do material em texto

TURNO: NOTURNO VERSÃO: 2 
ANO / 
SEMESTRE: 
2011.2 No 
 
UNIVERSIDADE REGIONAL DE BLUMENAU 
CENTRO DE CIÊNCIAS EXATAS E NATURAIS 
DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO 
CURSO DE CIÊNCIA DA COMPUTAÇÃO — BACHARELADO 
COORDENAÇÃO DE TRABALHO DE CONCLUSÃO DE CURSO 
 
PROPOSTA PARA O TRABALHO DE CONCLUSÃO DE CURSO 
TÍTULO: ALOCAÇÃO DE RECURSOS HUMANOS APLICADA A SOLICITAÇÕES 
DE MUDANÇA DE SOFTWARE 
ÁREA: Engenharia de Software 
Palavras-chave: Gestão de recursos humanos. Solicitações de mudança de software. 
Algoritmo de busca. 
1 IDENTIFICAÇÃO 
1.1 ALUNO 
Nome: Ricardo Voigt Código/matrícula: 54274 
Endereço residencial: 
Rua: Frei Estanislau Schaett n°: 451 Complemento: Casa 
Bairro: Água Verde CEP: 89037-001 Cidade: Blumenau UF: SC 
Telefone fixo: 3329-0927 Celular: 9997-2546 
Endereço comercial: 
Empresa: Benner Sistemas 
Rua: Antônio da Veiga n°: 419 Bairro: Victor Konder 
CEP: 89012-500 Cidade: Blumenau UF: SC Telefone: 2111-4800 
E-Mail FURB: E-Mail alternativo: voigtt@gmail.com 
1.2 ORIENTADOR 
Nome: Everaldo Artur Grahl 
E-Mail FURB: egrahl@furb.br E-Mail alternativo: everaldo.grahl@gmail.com 
 
 
 
2 DECLARAÇÕES 
2.1 DECLARAÇÃO DO ALUNO 
Declaro que estou ciente do Regulamento do Trabalho de Conclusão de Curso de 
Ciência da Computação e que a proposta em anexo, a qual concordo, foi por mim rubricada 
em todas as páginas. Ainda me comprometo pela obtenção de quaisquer recursos necessários 
para o desenvolvimento do trabalho, caso esses recursos não sejam disponibilizados pela 
Universidade Regional de Blumenau (FURB). 
Assinatura: Local/data: 
 
2.2 DECLARAÇÃO DO ORIENTADOR 
Declaro que estou ciente do Regulamento do Trabalho de Conclusão do Curso de 
Ciência da Computação e que a proposta em anexo, a qual concordo, foi por mim rubricada 
em todas as páginas. Ainda me comprometo a orientar o aluno da melhor forma possível de 
acordo com o plano de trabalho explícito nessa proposta. 
Assinatura: Local/data: 
 
 
3 AVALIAÇÃO DA PROPOSTA 
3.1 AVALIAÇÃO DO(A) ORIENTADOR(A) 
Acadêmico(a): Ricardo Voigt 
Orientador(a): Everaldo Artur Grahl 
 
ASPECTOS AVALIADOS 
at
en
d
e 
at
en
d
e 
p
ar
ci
al
m
en
te 
n
ão
 a
te
nd
e 
A
S
P
E
C
T
O
S
 
T
É
C
N
IC
O
S
 
1. INTRODUÇÃO 
1.1. O tema de pesquisa está devidamente contextualizado/delimitado? 
 
1.2. O problema está claramente formulado? 
2. OBJETIVOS 
2.1. O objetivo geral está claramente definido e é passível de ser alcançado? 
 
2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? 
Caso não sejam apresentados objetivos específicos, deixe esse item em branco. 
 
3. RELEVÂNCIA 
3.1. A proposta apresenta um grau de relevância em computação que justifique o 
desenvolvimento do TCC? 
 
4. METODOLOGIA 
4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC? 
 
4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a 
metodologia proposta? 
 
4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de 
maneira a permitir a execução do TCC no prazo disponível? 
 
5. REVISÃO BIBLIOGRÁFICA 
5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC? 
 
5.2. São apresentados trabalhos correlatos, bem como comentadas as principais 
características dos mesmos? 
 
6. REQUISITOS DO SISTEMA A SER DESENVOLVIDO 
6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram 
claramente descritos? 
 
7. CONSIDERAÇÕES FINAIS 
7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica 
com a realização do TCC? 
 
A
S
P
E
C
T
O
S
 
M
E
T
O
D
O
L
Ó
G
IC
O
S
 
8. REFERÊNCIAS BIBLIOGRÁFICAS 
8.1. As referências bibliográficas obedecem às normas da ABNT? 
 
8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na 
proposta (são usadas obras atualizadas e/ou as mais importantes da área)? 
 
9. CITAÇÕES 
9.1. As citações obedecem às normas da ABNT? 
 
9.2. As informações retiradas de outros autores estão devidamente citadas? 
10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 
10.1. O texto obedece ao formato estabelecido? 
 
10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem 
utilizada é clara)? 
 
A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: 
• qualquer um dos itens tiver resposta NÃO ATENDE; 
• pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou 
• pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE. 
PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO 
 
Assinatura do(a) avaliador(a): Local/data: 
 
 
 
CONSIDERAÇÕES DO(A) ORIENTADOR(A): 
Caso o(a) orientador(a) tenha assinalado em sua avaliação algum item como “atende parcialmente”, devem ser relatos os 
problemas/melhorias a serem efetuadas. 
 
Na segunda versão, caso as alterações sugeridas pelos avaliadores não sejam efetuadas, deve-se incluir uma justificativa. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Assinatura do(a) avaliador(a): Local/data: 
 
 
3.2 AVALIAÇÃO DO(A) COORDENADOR DE TCC 
Acadêmico(a): Ricardo Voigt 
Avaliador(a): José Roque Voltolini da Silva 
 
ASPECTOS AVALIADOS 
at
en
d
e 
at
en
d
e 
p
ar
ci
al
m
en
te 
n
ão
 a
te
nd
e 
A
S
P
E
C
T
O
S
 
T
É
C
N
IC
O
S
 
1. INTRODUÇÃO 
1.1. O tema de pesquisa está devidamente contextualizado/delimitado? 
 
1.2. O problema está claramente formulado? 
2. OBJETIVOS 
2.1. O objetivo geral está claramente definido e é passível de ser alcançado? 
 
2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? 
Caso não sejam apresentados objetivos específicos, deixe esse item em branco. 
 
3. RELEVÂNCIA 
3.1. A proposta apresenta um grau de relevância em computação que justifique o 
desenvolvimento do TCC? 
 
4. METODOLOGIA 
4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC? 
 
4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a 
metodologia proposta? 
 
4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de 
maneira a permitir a execução do TCC no prazo disponível? 
 
5. REVISÃO BIBLIOGRÁFICA 
5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC? 
 
5.2. São apresentados trabalhos correlatos, bem como comentadas as principais 
características dos mesmos? 
 
6. REQUISITOS DO SISTEMA A SER DESENVOLVIDO 
6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram 
claramente descritos? 
 
7. CONSIDERAÇÕES FINAIS 
7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica 
com a realização do TCC? 
 
A
S
P
E
C
T
O
S
 
M
E
T
O
D
O
L
Ó
G
IC
O
S
 
8. REFERÊNCIAS BIBLIOGRÁFICAS 
8.1. As referências bibliográficas obedecem às normas da ABNT? 
 
8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na 
proposta (são usadas obras atualizadas e/ou as mais importantes da área)? 
 
9. CITAÇÕES 
9.1. As citações obedecem às normas da ABNT? 
 
9.2. As informações retiradas de outros autores estão devidamente citadas? 
10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 
10.1. O texto obedece ao formato estabelecido? 
 
10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem 
utilizada é clara)? 
 
A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: 
• qualquer um dos itens tiver resposta NÃO ATENDE; 
• pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou 
• pelo menos 4 (quatro) itens dosASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE. 
PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO 
OBSERVAÇÕES: 
 
 
Assinatura do(a) avaliador(a): Local/data: 
 
 
3.3 AVALIAÇÃO DO(A) PROFESSOR(A) DA DISCIPLINA DE TCCI 
Acadêmico(a): Ricardo Voigt 
Avaliador(a): Sérgio Stringari 
 
ASPECTOS AVALIADOS 
at
en
d
e 
at
en
d
e 
p
ar
ci
al
m
en
te 
n
ão
 a
te
nd
e 
A
S
P
E
C
T
O
S
 
T
É
C
N
IC
O
S
 
1. INTRODUÇÃO 
1.1. O tema de pesquisa está devidamente contextualizado/delimitado? 
 
1.2. O problema está claramente formulado? 
2. OBJETIVOS 
2.1. O objetivo geral está claramente definido e é passível de ser alcançado? 
 
2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? 
Caso não sejam apresentados objetivos específicos, deixe esse item em branco. 
 
3. RELEVÂNCIA 
3.1. A proposta apresenta um grau de relevância em computação que justifique o 
desenvolvimento do TCC? 
 
4. METODOLOGIA 
4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC? 
 
4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a 
metodologia proposta? 
 
4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de 
maneira a permitir a execução do TCC no prazo disponível? 
 
5. REVISÃO BIBLIOGRÁFICA 
5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC? 
 
5.2. São apresentados trabalhos correlatos, bem como comentadas as principais 
características dos mesmos? 
 
6. REQUISITOS DO SISTEMA A SER DESENVOLVIDO 
6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram 
claramente descritos? 
 
7. CONSIDERAÇÕES FINAIS 
7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica 
com a realização do TCC? 
 
A
S
P
E
C
T
O
S
 
M
E
T
O
D
O
L
Ó
G
IC
O
S
 
8. REFERÊNCIAS BIBLIOGRÁFICAS 
8.1. As referências bibliográficas obedecem às normas da ABNT? 
 
8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na 
proposta (são usadas obras atualizadas e/ou as mais importantes da área)? 
 
9. CITAÇÕES 
9.1. As citações obedecem às normas da ABNT? 
 
9.2. As informações retiradas de outros autores estão devidamente citadas? 
10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 
10.1. O texto obedece ao formato estabelecido? 
 
10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem 
utilizada é clara)? 
 
PONTUALIDADE NA ENTREGA 
 atraso de 
_____ dias 
A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: 
• qualquer um dos itens tiver resposta NÃO ATENDE; 
• pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou 
• pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE. 
PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO 
OBSERVAÇÕES: 
 
 
Assinatura do(a) avaliador(a): Local/data: 
 
 
3.4 AVALIAÇÃO DO(A) PROFESSOR(A) ESPECIALISTA NA ÁREA 
Acadêmico(a): Ricardo Voigt 
Avaliador(a): 
 
ASPECTOS AVALIADOS 
at
en
d
e 
at
en
d
e 
p
ar
ci
al
m
en
te 
n
ão
 a
te
nd
e 
A
S
P
E
C
T
O
S
 
T
É
C
N
IC
O
S
 
1. INTRODUÇÃO 
1.1. O tema de pesquisa está devidamente contextualizado/delimitado? 
 
1.2. O problema está claramente formulado? 
2. OBJETIVOS 
2.1. O objetivo geral está claramente definido e é passível de ser alcançado? 
 
2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? 
Caso não sejam apresentados objetivos específicos, deixe esse item em branco. 
 
3. RELEVÂNCIA 
3.1. A proposta apresenta um grau de relevância em computação que justifique o 
desenvolvimento do TCC? 
 
4. METODOLOGIA 
4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC? 
 
4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a 
metodologia proposta? 
 
4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de 
maneira a permitir a execução do TCC no prazo disponível? 
 
5. REVISÃO BIBLIOGRÁFICA 
5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC? 
 
5.2. São apresentados trabalhos correlatos, bem como comentadas as principais 
características dos mesmos? 
 
6. REQUISITOS DO SISTEMA A SER DESENVOLVIDO 
6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram 
claramente descritos? 
 
7. CONSIDERAÇÕES FINAIS 
7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica 
com a realização do TCC? 
 
A
S
P
E
C
T
O
S
 
M
E
T
O
D
O
L
Ó
G
IC
O
S
 
8. REFERÊNCIAS BIBLIOGRÁFICAS 
8.1. As referências bibliográficas obedecem às normas da ABNT? 
 
8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na 
proposta (são usadas obras atualizadas e/ou as mais importantes da área)? 
 
9. CITAÇÕES 
9.1. As citações obedecem às normas da ABNT? 
 
9.2. As informações retiradas de outros autores estão devidamente citadas? 
10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 
10.1. O texto obedece ao formato estabelecido? 
 
10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem 
utilizada é clara)? 
 
A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: 
• qualquer um dos itens tiver resposta NÃO ATENDE; 
• pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou 
• pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE. 
PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO 
OBSERVAÇÕES: 
 
 
Assinatura do(a) avaliador(a): Local/data: 
 
 
UNIVERSIDADE REGIONAL DE BLUMENAU 
CENTRO DE CIÊNCIAS EXATAS E NATURAIS 
CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO 
ALOCAÇÃO DE RECURSOS HUMANOS APLICADA A 
SOLICITAÇÕES DE MUDANÇA DE SOFTWARE 
RICARDO VOIGT 
BLUMENAU 
2011 
 
 
RICARDO VOIGT 
ALOCAÇÃO DE RECURSOS HUMANOS APLICADA A 
SOLICITAÇÕES DE MUDANÇA DE SOFTWARE 
Proposta de Trabalho de Conclusão de Curso 
submetida à Universidade Regional de 
Blumenau para a obtenção dos créditos na 
disciplina Trabalho de Conclusão de Curso I 
do curso de Ciência da Computação — 
Bacharelado. 
Prof. Everaldo Artur Grahl - Orientador 
BLUMENAU 
2011 
 
 
 
2
1 INTRODUÇÃO 
Os projetos de desenvolvimento de software têm atendido a necessidades cada vez 
mais complexas, aumentando o número de projetos, que em sua conclusão, extrapolam o 
prazo e custo estimados, bem como o não preenchimento dos requisitos de qualidade 
definidos pelo cliente (CORREA, 2011). O gerenciamento inadequado de pessoas é uma das 
mais significativas contribuições para o fracasso de projetos (SOMMERVILLE, 2003, p. 
418). 
Segundo Pressman (2002, p. 786), cerca de 70% dos investimentos da área de 
desenvolvimento de software são realizados com o objetivo de manter produtos desenvolvidos 
anteriormente. A manutenção de software pode ser responsável por mais de 60% de todo o 
esforço despendido por uma organização de desenvolvimento e a porcentagem continua a 
crescer à medida que mais software é produzido. 
Segundo Sommerville (2003, p. 515), é impossível produzir sistemas de qualquer 
tamanho que não precisem ser modificados. Assim que o software é colocado em uso, novos 
requisitos emergem e os requisitos existentes são modificados à medida que a empresa que 
executa este software passa por modificações. Na maioria das empresas as manutenções são 
mal estruturadas e feitas de maneira desorganizada e individualizada, quase que 
intuitivamente, sem cumprimento de métodos ou padrões específicos (HOPPE, 1999, p. 15). 
Preocupados com as constantesmudanças nos sistemas, muitas empresas optam por processos 
que contribuam no gerenciamento destas mudanças. 
Segundo Brasil Filho et al. (2006), a alocação de recursos humanos é uma atividade 
importante e complexa na execução de projetos. Normalmente não é um processo 
automatizado, uma vez que tipicamente se baseia em experiência pessoal sem o uso de 
modelos. Os gerentes de projeto têm de solucionar problemas técnicos e não técnicos, 
utilizando a capacidade das pessoas de sua equipe da maneira mais eficaz possível. Esta 
atividade não é simples. Nem todas as alocações possibilitam que o maior número de tarefas 
sejam alocadas para um profissional, geralmente há uma série de diferentes combinações de 
alocações possíveis. 
Decorrente das constantes mudanças nos softwares existem hoje no mercado normas 
para análise de requisitos, desenvolvimento e gerenciamento de software. Pode-se citar, por 
exemplo, a norma ISO/IEC 12207:2009, que têm processos de software sólidos, que tratam 
das questões relacionadas à gestão de mudanças (ASSOCIAÇÃO BRASILEIRA DE 
 
 
 
3
NORMAS TÉCNICAS, 2009). 
Diante do exposto, propõe-se desenvolver uma ferramenta para alocação dinâmica de 
recursos humanos aplicada a mudança de software. Para isso devem ser utilizados algoritmos 
de busca auxiliando assim empresas e gerentes de projetos na alocação de recursos e definição 
de prazos. 
1.1 OBJETIVOS DO TRABALHO 
Este trabalho tem como objetivo desenvolver uma ferramenta de apoio à alocação de 
recursos humanos aplicados a solicitações de mudança de software. 
Os objetivos específicos do trabalho são: 
a) implementar funcionalidades na ferramenta que sejam aderentes ao processo de 
resolução de problema da norma ISO/IEC 12207; 
b) disponibilizar funcionalidades para visão gerencial por setores como análise, 
desenvolvimento e qualidade; 
c) aplicar algoritmo de busca para seleção do melhor recurso humano para a 
solicitação. 
1.2 RELEVÂNCIA DO TRABALHO 
Em projetos de tecnologia da informação, um dos aspectos considerados como sendo 
de maior qualidade é a entrega dentro do prazo. É importante notar que produtos gerados por 
tecnologia têm uma janela temporal pequena devido às constantes renovações tecnológicas 
(VIEIRA, 2003, p. 58). Um dos maiores desafios de gerentes de projetos é gerenciar 
efetivamente os recursos. 
Fica evidente a importância do desenvolvimento de uma ferramenta que possibilite a 
alocação dinâmica de recursos humanos aplicado à gestão de mudança de software. A 
ferramenta a ser desenvolvida terá ênfase na norma ISO/IEC 12207. Utilizará um algoritmo 
computacional de busca, mais especificamente um algoritmo genético multiobjetivo 
denominado Non-dominated Sorting Genetic Algorithm II (NSGA II), para delegar o melhor 
 
 
 
4
recurso para determinada solicitação com base nas competências. Também possibilitará 
identificar a data de conclusão da solicitação, formando um cronograma de atividades por 
recurso. Esta ferramenta contribuirá para a área de engenharia de software e para empresas de 
software, aliviando assim a carga sobre os profissionais da área de gerência de projetos da 
tecnologia da informação na alocação de solicitações, pois esta atividade será por conta do 
algoritmo de busca, sendo assim uma alocação automática dos recursos. 
1.3 METODOLOGIA 
O trabalho será desenvolvido observando as seguintes etapas: 
a) levantamento bibliográfico: realizar levantamento bibliográfico sobre a norma 
ISO/IEC 12207, gestão de mudanças de software, alocação de recursos humanos, 
algoritmo de busca NSGA-II e trabalhos correlatos; 
b) elicitação de requisitos: detalhar e reavaliar os requisitos, observando as 
necessidades levantadas durante a revisão bibliográfica; 
c) especificação da ferramenta: especificar a ferramenta com análise orientada a 
objetos utilizando a Unified Modeling Language (UML). Será utilizada a 
ferramenta Enterprise Architect (EA) 7.5 para o desenvolvimento dos diagramas 
de casos de uso, de classes e de sequência; 
d) implementação da ferramenta: implementar a ferramenta especificada na etapa 
anterior. Será utilizada a linguagem C# com framework .Net no ambiente Visual 
Studio e banco de dados SQL Server; 
e) testes: realizar testes para determinar o correto funcionamento da ferramenta 
desenvolvida; 
f) validação: validar a ferramenta aplicando um caso real de uma fábrica de software 
em solicitações de mudanças de software. 
As etapas serão realizadas nos períodos relacionados no Quadro 1. 
 
 
 
5
 2012 
 fev. mar. abr. maio jun. 
etapas / quinzenas 1 2 1 2 1 2 1 2 1 2 
levantamento bibliográfico 
elicitação dos requisitos 
especificação da ferramenta 
implementação da ferramenta 
testes 
validação 
Quadro 1 - Cronograma 
 
 
 
6
2 REVISÃO BIBLIOGRÁFICA 
Este capítulo está organizado em cinco seções: a primeira aborda a norma ISO/IEC 
12207, a segunda e a terceira apresentam, respectivamente, gestão de mudanças e recursos 
humanos, a quarta aborda o algoritmo genético multiobjetivo NSGA-II e a última seção traz 
trabalhos correlatos à ferramenta proposta. 
2.1 NORMA ISO/IEC 12207 
O objetivo da norma ISO/IEC 12207 é estabelecer uma estrutura comum para os 
processos de ciclo de vida de software, com uma terminologia bem definida, que pode ser 
referenciada pela indústria de software. A norma abrange todo o ciclo de vida de software, 
desde sua concepção até a descontinuidade do projeto de software, e por todos os envolvidos 
com produção, manutenção e operação do software. Ela pode ser aplicada para toda a 
organização, mas existem casos de aplicação em projetos específicos por imposição contratual 
ou nas fases iniciais de implantação (ARRUDA, 2007). Entre vários processos da norma está 
o processo de resolução de problemas. 
2.1.1 Processo de resolução de problemas de software 
O propósito do processo de resolução de problemas de software é garantir que todos os 
problemas serão identificados, analisados, gerenciados e controlados até a resolução. Este 
processo pode ser adaptado facilmente para gerenciar, rastrear e controlar solicitações de 
mudança de software. 
Segundo a Associação Brasileira de Normas Técnicas (2009), como resultado da 
implementação bem-sucedida do processo de resolução de problemas de software da norma 
ISO/IEC 12207, tem-se: 
a) é desenvolvida uma estratégia de gestão de problemas; 
b) os problemas são documentados, identificados e classificados; 
 
 
 
7
c) problemas são analisados e avaliados para identificar solução(ões) aceitável(is); 
d) é implementada a resolução de problemas; 
e) problemas são rastreados até o seu fechamento; 
f) o estado de cada um dos problemas relatados é conhecido. 
2.2 GESTÃO DE MUDANÇAS 
O processo de solicitação de mudança é explicado por Sommerville (2003, p. 521) ao 
se iniciar um conjunto de pedidos de mudança por parte dos usuários, gerentes ou clientes. 
Custo e impacto devem ser analisados para se verificar quanto do sistema será afetado pela 
alteração e quanto poderá custar para desenvolver esta mudança. 
O gerenciamento de mudanças, segundo Sommerville (2003, p. 554), deve entrar em 
ação quando o software ou a documentação associada estiver sob o controle da equipe de 
gerenciamento de configuração. As tarefas sugeridas são semelhantes às tarefas da atividade 
de controle de modificação definida por Pressman (2002, p. 228), ou seja, inicia-se com o 
preenchimento de um Formulário de Solicitação de Mudança (FSM) e o registro do mesmo 
num banco de dados de configuração. Em seguida a solicitação é analisada, caso seja válida, 
avalia-se o impacto da mudança, o seu custo e o de outros componentes afetados. A avaliação 
então é submetida a um comitê de controle de mudança que, se aprovar, encaminha o software 
para a equipe de desenvolvimento ou manutenção para que as modificações sejam realizadas. 
Por fim, realiza-seuma reavaliação das mudanças implementadas antes que uma nova versão 
ou release seja construída. 
Os problemas relativos à alteração de um sistema contribuem para o alto custo da 
manutenção do software, afirma Pfleerger (2004, p. 391). Na década de 80 a manutenção 
representava 40 a 60 por cento do custo total do ciclo de vida de um sistema. No ano de 2000, 
os custos de manutenção aumentaram em até 80 por cento do custo referente ao tempo de vida 
de um sistema. 
 
 
 
8
2.3 RECURSOS HUMANOS 
Para Vargas (2003, p. 101), o gerenciamento dos recursos humanos tem como objetivo 
central fazer o melhor uso dos indivíduos envolvidos no projeto. Todos os resultados do 
projeto podem ser vistos como fruto das relações humanas e das habilidades interpessoais dos 
envolvidos. O processo de gestão de recursos humanos garante o fornecimento de uma equipe 
com experiência, capacitada e qualificada para a realização de processos de ciclo de vida de 
modo a alcançar os objetivos da organização, do projeto e dos clientes (ASSOCIAÇÃO 
BRASILEIRA DE NORMAS TÉCNICAS, 2009). 
As pessoas que trabalham em uma organização de software são seu maior patrimônio. 
Elas representam o capital intelectual e é responsabilidade dos gerentes de software garantir 
que a organização obtenha o melhor retorno de seu investimento em pessoas 
(SOMMERVILLE, 2003, p. 418). 
Ser competente está relacionado com um bom desempenho numa determinada tarefa, o 
que não garante que este desempenho será bom sempre. Ter competência para a realização de 
uma tarefa significa ter conhecimentos, habilidades e atitudes compatíveis com o desempenho 
dela e ser capaz de colocar este potencial em prática sempre que for necessário. Então pode-se 
definir competência como um conjunto de conhecimentos, habilidades, atitudes e 
comportamentos, que permitem ao indivíduo desempenhar com eficácia determinadas tarefas, 
em qualquer situação (RABAGLIO, 2004, p. 3). 
2.4 ALGORITMO GENÉTICO MULTIOBJETIVO NSGA-II 
Devido à complexidade da área, a grande maioria dos autores prefere abordar os 
problemas de engenharia de software utilizando metaheurísticas. Entre as metaheurísticas 
mais tradicionais estão inclusas a busca local, a busca tabu e o algoritmo genético. 
Algoritmos Genéticos (AG), baseados na teoria evolucionista de Darwin, representam 
cada indivíduo de uma população como sendo um conjunto de caracteres ou bits e associam a 
ele uma aptidão ou adequação (fitness). Com o uso das ideias das operações genéticas de 
crossing over e mutação, novas gerações ou populações descendentes são criadas a partir de 
uma população inicial, sendo que as características apresentadas pelos indivíduos mais 
 
 
 
9
adaptados têm maiores chances de serem transmitidas às gerações posteriores (RIBEIRO, 
2009, p. 21). 
Non-dominated Sorting Genetic Algorithm II (NSGA II), um algoritmo multiobjetivo é 
baseado em Algoritmos Genéticos (AG) e que implementa o conceito de dominância, ou seja, 
classificar a população total em fronts de acordo com o grau de dominância. NSGA-II foi 
proposto por Deb et al. (2000, p. 3), com operadores específicos de cruzamento, mutação e 
correção. 
A distância de povoamento é detalhada na figura 1, por Spolaôr (2010, p. 24), o qual 
considera os indivíduos imediatamente adjacentes a um determinado individuo p. Quanto 
maior for o espaçamento, mais diversificada será a solução p. Ainda é possível exemplificar o 
operador de seleção por comparação de povoamento. As fronteiras F1 e F2 são diretamente 
mantidas para a população da próxima geração. Como a fronteira F3 não pode ser alocada 
integralmente seleciona-se para a futura população apenas as soluções mais diversificadas de 
acordo com distância de povoamento. 
 
Fonte: Miki (2007 apud SPOLAÔR, 2010, p. 24). 
Figura 1 - Operações de (a) ordenação, (b) cálculo da distância de povoamento e (c) seleção 
por comparação de povoamento 
Após estas operações define-se o laço principal do NSGA-II, ilustrado na Figura 2. 
Entre as linhas 1 e 5 é feita a inicialização das populações P e Q, cada uma das quais com N 
soluções. A população Q corresponde aos descendentes de indivíduos p ∈∈∈∈ P selecionados por 
torneio binário para alteração. A população R(t) garante o elitismo ao considerar todos os 
indivíduos de P e Q em cada geração. 
 
 
 
 
10
 
Fonte: Spolaôr (2010, p. 25). 
Figura 2 - NSGA-II 
O laço interno iniciado na linha 11, ilustrado na Figura 2, adiciona a P todos os 
indivíduos de cada uma das fronteiras construídas com o procedimento de ordenação partindo 
da fronteira F1. Encerra-se este laço quando a fronteira Fi não puder ser acomodada 
completamente em P sem que o limite de N indivíduos desta população seja superado. Neste 
momento o operador de comparação é aplicado para ordenar Fi, possibilitando na linha 17 
completar P com os melhores indivíduos desta fronteira. 
O NSGA-II retorna na linha 21 a fronteira F1 como o melhor conjunto de soluções não 
dominadas identificado pelo algoritmo. 
2.5 TRABALHOS CORRELATOS 
A seguir apresentam-se trabalhos que possuem pontos em comum a este, sendo eles: 
“Planejamento de alocação de recursos humanos em projetos” (BASTOS, 2009) e “Resource 
Management” (QUICKARROW, 2010). 
 
 
 
11
2.5.1 Planejamento de alocação de recursos humanos em projetos 
A ferramenta proposta por Bastos (2009) tem como objetivo a alocação de recursos 
humanos em projetos de software, propondo que se tenha uma alocação eficaz, baseada nos 
estudos do Project Management Body of Knowledge (PMBOK) e com apoio de gerentes de 
projetos da área. O sistema permite a alocação de profissionais em projetos e utiliza-se de 
algoritmo de busca tabu, o qual mostrou-se satisfatório para a ferramenta desenvolvida. 
Na Figura 3 é exibido a tela principal de alocação da ferramenta. A direita fica a 
listagem dos projetos selecionados pelo usuário, ao centro é mostrado, de acordo com a aba 
selecionada, o calendário de recursos para a data selecionada na listagem da esquerda, a qual 
contém os meses alocados (BASTOS, 2009, p. 54). 
 
 
Fonte: Bastos (2009, p. 54). 
Figura 3 - Tela de visualização de alocações 
A linguagem de programação utilizada foi C# e banco de dados SQL Server, que se 
mostrou eficiente, atendendo as necessidades encontradas, segundo Bastos (2009, p. 70). 
2.5.2 Resource Management 
O software Resource Management foi especificado, desenvolvido e distribuído pela 
empresa QuickArrow, sob licença proprietária. A abordagem principal é gestão de recursos a 
qual proporciona aos gestores de projeto pesquisar e atribuir recursos adequados aos projetos 
 
 
 
12
com base em certificações, disponibilidade, habilidades, localização e trabalho 
(QUICKARROW, 2010). 
Os benefícios informados pela proprietária são maximizar a utilização de recursos, ver 
horários e disponibilidade de recursos em tempo real, economizar recursos atribuindo tempo a 
projetos, aumentar a precisão do planejamento de recursos e previsão e criar mais eficazes e 
rentáveis projetos com recursos apropriados. 
O principal recurso é o planejamento de alocação. Na Figura 4 é mostrado o calendário 
de recursos, exibindo graficamente as alocações por data e informações de valores e 
quantidades de horas de cada recurso. 
 Fonte: QuickArrow (2010). 
Figura 4 - Tela do Resource Management com tabela de alocação de recursos 
 
 
 
 
 
 
 
 
 
13
3 REQUISITOS DO SISTEMA A SER DESENVOLVIDO 
A partir do estudo dos trabalhos correlatos, pode-se definir os requisitos da ferramenta, 
que deve possuir um módulo de cadastros, o qual reunirá as informações necessárias para a 
alocação e um módulo de operação, onde o usuário poderá visualizar a alocação. A seguir são 
apresentados os Requisitos Funcionais (RF) e Requisitos Não Funcionais (RNF): 
a) permitir o cadastro de usuários (RF); 
b) permitir o cadastro do tipo de solicitação de mudança (RF); 
c) permitir o cadastro de sistemas(RF); 
d) permitir o cadastro de módulos (RF); 
e) permitir o cadastro de habilidades (RF); 
f) permitir o cadastro de competências (RF); 
g) permitir o cadastro de conhecimentos (RF); 
h) permitir o cadastro de recursos (RF); 
i) permitir o cadastro de prioridades (RF); 
j) permitir o cadastro das solicitações de mudanças (RF); 
k) permitir alocação dinâmica das solicitações de mudanças aos recursos através do 
algoritmo de busca NSGA-II (RF); 
l) permitir emissão de relatório com visão semanal e/ou mensal da alocação das 
solicitações de mudança (RF); 
m) ser implementado em C# com framework .Net, utilizando o ambiente de 
desenvolvimento Microsoft Visual Studio 2010 (RNF); 
n) utilizar banco de dados SQL Server para armazenamento de dados (RNF); 
o) ser compatível com três navegadores: Internet Explorer, Firefox, Google Chrome 
(RNF); 
p) atender as diretrizes do processo de resolução de problemas da norma ISO/IEC 
12207 (RNF). 
 
 
 
14
4 CONSIDERAÇÕES FINAIS 
Após o término da análise da problemática que envolve a alocação de recursos 
humanos aplicados a solicitação de mudança de software, verificou-se que os processos são 
feitos de forma manual pelo gerente de projetos ou líder de desenvolvimento. Nesta 
abordagem é gasto uma fatia de tempo desta pessoa em alocação das solicitações 
manualmente para os recursos. 
Assim, o desenvolvimento da referida ferramenta será voltado para a alocação 
dinâmica de solicitações de mudança de software, auxiliando o gerente de projeto ou líder de 
desenvolvimento para que tenha facilidade na alocação com eficiência e de forma precisa, 
pois será feita sob análise de habilidade e competência dos recursos. 
A respeito dos trabalhos correlatados mencionados pode-se afirmar que este trabalho 
utilizará de uma abordagem inspirada nos mesmos. No entanto, existem diferenciais em 
relação aos trabalhos relacionados. Bastos (2009) e QuickArrow (2010) limitam-se a alocação 
de recursos em um projeto de software, sendo que este trabalho implementará a abordagem de 
solicitação de mudança de software. 
 No que diz respeito a alocação de recursos humanos será utilizado um algoritmo 
genético multiobjetivo – NSGA-II – com complexidade maior de implementação. Outro 
diferencial será que a abordagem da ferramenta está voltada para o emprego da solicitação de 
mudança de software. 
A ferramenta será aderente ao processo resolução de problema da norma ISO/IEC 
12207. A alocação ocorrerá de forma automática e possibilitará uma visão semanal e/ou 
mensal dos recursos a qual a ferramenta está aplicada. 
Por fim, a ferramenta proposta diferencia-se dos trabalhos correlatos em função da 
ênfase em problemas de softwares, algoritmo de alocação e pela norma aplicada. 
 
 
 
15
REFERÊNCIAS BIBLIOGRÁFICAS 
ARRUDA, Saulo. ISO/IEC 12207 processos fundamentais. [S.1.], [2007]. Disponível em: 
<http://www.plugmasters.com.br/sys/materias/539/1/ISO%7B47%7DIEC-12207-Processos-
Fundamentais>. Acesso em: 02 set. 2011. 
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR ISO/IEC 12207:2009: 
sistemas e engenharia de software – processos de ciclo de vida do software. Rio de Janeiro, 
2009. 
BASTOS, Jean R. Planejamento de alocação de recursos humanos em projetos. 2009. 83 
f. Trabalho de Conclusão de Curso (Graduação em Ciências da Computação) - Centro de 
Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau. 
BRASIL FILHO, Amaury T. et al. Otimização da alocação de profissionais em projetos de 
tecnologia da informação. SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL, 38., 
2006, Goiana. Anais... João Pessoa: UFPB, 2006. p. 2292-2302. 
CORREA, Eduardo A. Gestão de pessoas nos projetos de software. [S.1.], [2011]. 
Disponível em: <http://www.eduacorrea.blogspot.com/2011/02/gestao-de-pessoas-nos-
projetos-de.html>. Acesso em: 02 set. 2011. 
DEB, Kalyanmoy et al. A fast elitist non-dominated sorting genetic algorithm for multi-
objective optimization: NSGA-II. Indian Institute of Technology Kanpur, India, n. 8, p. 2-
9, 2000. 
HOPPE, Charles. Software de apoio a manutenção de sistemas baseado em normas de 
qualidade. 1999. 109 f. Trabalho de Conclusão de Curso (Graduação em Ciências da 
Computação) - Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, 
Blumenau. 
PFLEEGER, Shari L. Engenharia de software: teoria e prática. Tradução Dino Franklin. São 
Paulo: Prentice Hall, 2004. 
PRESSMAN, Roger S. Engenharia de software. Tradução Mônica Maria G. Travieso. Rio 
de Janeiro: McGraw-Hill, 2002. 
QUICKARROW. Resource management, utilization, scheduling and planning software 
tools. Austin, 2010. Disponível em: 
<http://www.quickarrow.com/news_events/serviceline_news/Svcs_Visibility.asp>. Acesso 
em: 03 set. 2011. 
RABAGLIO, Maria O. Seleção por competências. 4. ed. São Paulo: Educator, 2004. 
 
 
 
16
RIBEIRO, Rodrigo L. F. Projeto e construção de um sistema de programação genética. 
2009. 97 f. Monografia (Sistemas de Informação) - Instituto de Informática, Pontifícia 
Universidade Católica de Minas Gerais, Minas Gerais. 
SPOLAÔR, Newton. Aplicação de algoritmos genéticos multiobjetivo ao problema de 
seleção de atributos. 2010. 134 f. Dissertação (Mestrado em Engenharia da Informação) - 
Curso de Mestrado em Engenharia Elétrica, Universidade Federal do ABC, Santo André. 
SOMMERVILLE, Ian. Engenharia de software. 6. ed. Tradução André Maurício de 
Andrade Ribeiro. São Paulo: Addison Wesley, 2003. 
VARGAS, Ricardo V. Gerenciamento de projetos: estabelecendo diferenciais competitivos. 
5. ed. Rio de Janeiro: Brasport, 2003. 
VIEIRA, Marconi F. Gerenciamento de projetos de tecnologia de informação. Rio de 
Janeiro: Campus, 2003.

Continue navegando