Professional Documents
Culture Documents
CENTRO DE INFORMTICA
GRADUAO EM SISTEMAS DE INFORMAO
RECIFE
2016
RECIFE
2016
____________________________________________________
____________________________________________________
Agradecimentos
Agradeo primeiramente a Deus, reconhecendo que tudo dEle, por Ele e para Ele.
Em especial agradeo aos meus pais, Etiene Martins e Samuel Martins, e aos meus
irmos, Maxwell Martins e Suelen Martins por nunca medirem esforos para me
apoiar e ajudar em cada etapa da minha vida, e sempre estarem ao meu lado,
mesmo que a distncia nos separe fisicamente.
A todos os professores que me acompanharam por esta jornada e me
ensinaram mais que os contedos de suas disciplinas, me ensinaram a ser uma
pessoa e uma profissional excelente. Em especial ao professor Vinicius Garcia pelo
interesse, confiana, empolgao e tempo dedicado a realizao deste trabalho.
A Jorge Linhares, meu namorado, que durante toda a graduao esteve do
meu lado, me dando todo e qualquer apoio necessrio.
Por fim, agradeo aos meus amigos, em especial Yasmine Santos, Beatriz
Arruda, Filipe Epifanio, Bruno Andrade, Priscila Thyfani, Ruan Pablo e Rayelle Vera
Cruz pelas palavras de incentivo ao longo desses 4 anos.
Resumo
A educao em Engenharia de Software, ao longo dos anos, tem incorporado novas
abordagens e tcnicas visando melhoria na qualidade do seu processo de
ensino-aprendizagem utilizando: integrao entre disciplinas, jogos, projetos reais
de software, entre outras. Na maioria dos casos, entretanto, essas experincias no
ambiente universitrio no refletem as necessidades da indstria e no despertam
interesse nos alunos. Ao considerar essa conjuntura, verifica-se a necessidade de
se estudar as referncias curriculares para o ensino da engenharia de software e
aplic-la em seus contextos variados. Com o objetivo de melhor explorar esse
cenrio, este trabalho apresenta os resultados de pesquisa realizada para averiguar
se as disciplinas de Engenharia de Software do Centro de Informtica da
Universidade Federal de Pernambuco em Recife - Brasil, tem recebido a devida
importncia quanto ao processo de ensino-aprendizagem de suas reas de
conhecimento, carga horria apropriada e se refletem a necessidade da indstria.
Palavras-chave: engenharia de software, educao,
graduao, indstria de software, rea de conhecimento.
ensino-aprendizagem,
Abstract
Over the years, education in Software Engineering had incorporated new
approaches and techniques in order to improve the quality of the teaching-learning
process by using: integration between disciplines, games, real software projects,
among others. In most cases, however, these experiences in the university
environment do not reflect the needs of the industry and do not arouse interest
among students. By considering this scenario, there is a necessity of studying the
curriculum references for the teaching of Software Engineering and apply them in
their various situations. With the purpose of better explore this context, this paper
presents the results of a research carried out to ascertain if the Software Engineering
disciplines, that are taught at Centro de Informtica at Universidade Federal de
Pernambuco, in Recife - Brazil, have been receiving proper importance in the
process of teaching-learning at their areas of knowledge, appropriate workload, and
if these disciplines reflect the industry demands.
Keywords: software engineering, education, teaching-learning, undergraduate,
software industry, knowledge area.
Lista de Figuras
Figura 1 - reas da engenharia de software nos currculos de referncia
20
21
23
30
31
31
32
Lista de Grficos
Grfico 1 - Currculos de referncia adotados para ensino da engenharia de
40
software
Grfico 2 - Relevncia das reas de conhecimento da engenharia de software
40
41
42
42
43
44
45
46
47
Grfico 11 - reas que devem receber maior ateno quanto ao seu ensino na
49
graduao
Grfico 12 - Correlao entre maior relevncia e aprendizagem
51
52
Lista de Tabelas
Tabela 1 - Principais fontes de mudana nas prticas da engenharia de software
21
25
26
28
36
36
37
de software
Tabela 8 - Gap de conhecimento das reas de engenharia de software
47
49
outras pesquisas
Sumrio
Introduo
Motivao
Objetivos
Estrutura do Trabalho
12
12
13
14
15
15
15
16
16
16
16
17
18
18
19
22
23
24
26
29
33
Metodologia
Planejamento e Aplicao do Survey
Pblico-alvo
Questionrios
Survey com professores das disciplinas de engenharia de software
Survey com alunos concluintes de alguma disciplina de engenharia de software
Survey com profissionais da rea de engenharia de software
Os participantes do Survey
34
34
34
35
35
36
37
38
39
39
39
39
39
39
40
41
53
54
Referncias Bibliogrficas
55
1.
Introduo
1.1.
Motivao
12
1.2.
Objetivos
O objetivo deste trabalho fazer uma reviso das referncias curriculares e tcnicas
de ensino propostas para engenharia de software, a fim de sugerir uma referncia
curricular para as disciplinas de engenharia de software do Centro de Informtica,
considerando os seus diferentes cursos e seus respectivos propsitos distintos
(Cincia da Computao, Engenharia da Computao e Sistemas de Informao) e
o alinhamento com as necessidades do mercado, em especial do Arranjo Produtivo
Local de Recife - PE.
Esse objetivo se destrincha nos seguintes objetivos especficos que
apresentam como enfoque :
Estudar as principais referncias curriculares para engenharia de software;
13
1.3.
Estrutura do Trabalho
Este trabalho foi dividido em 6 captulos, incluindo este primeiro que apresenta de
forma introdutria a pesquisa realizada e os objetivos do estudo. Os captulos
seguintes esto descritos abaixo:
Captulo 2 descrita a evoluo do currculo da engenharia de software
dentro das diretrizes curriculares nacionais e internacionais.
Captulo 3 apresenta a contextualizao terica em relao ao processo de
ensino-aprendizagem e demonstra como a engenharia de software pode ser
inserida em vrios contextos.
Captulo 4 exibe a metodologia utilizada para realizar a pesquisa
Captulo 5 - so demonstrados os resultados e discusses da investigao.
Captulo 6 fornece as concluses sobre o que foi discutido neste trabalho,
bem como so descritos os possveis trabalhos futuros.
14
2.
2.1.
Ministrio da Educao
15
2.1.2.
2.2.
2.2.1.1.
Engenharia de Software
Nas dcadas desde os anos 1960 a Association for Computing Machinery (ACM) e
a Computer Society of the Institute for Electrical and Electronic Engineers (IEEE-CS)
produziram recomendaes curriculares para enfrentar os desafios da rpida
mudana da paisagem tecnolgica da computao. Juntos, eles tm publicado
diretrizes curriculares para as seguintes reas: Cincia da Computao, Engenharia
16
Engenharia da Computao
17
Cincia da Computao
Sistemas de Informao
A Diretriz Curricular IS2002 para Sistemas de Informao foi feita em parceria com a
ACM, a Association for Information Systems (AIS) - que formada por docentes em
sistemas de informao - e a Association of Information Technology Professionals
(AITP). Esta diretriz est organizada em um conjunto de reas e cada uma dessas
reas tem uma ou mais disciplinas.
Os tpicos de engenharia de software esto inseridos na rea de
Desenvolvimento de Sistemas de Informao, onde os alunos iro trabalhar em
equipes para analisar problemas, projetar e implementar sistemas de informao.
Ainda dentro desta rea, h a disciplina de Anlise e Projeto Lgico onde os
tpicos de engenharia listados so: determinao de requisitos, projeto lgico,
18
2.3.
SWEBOK
19
descrio da estrutura interna do software que servir como base para a sua
construo;
Construo de Software: est ligada a todas as outras reas de
conhecimento, mas mais fortemente ligada ao Design de software e ao
Teste de Software porque o processo de construo de software envolve
design de software e testes;
Teste de Software: consiste na verificao dinmica de que um programa
fornece o comportamento esperado sobre um conjunto finito de casos de
testes;
Manuteno de Software: conjunto de atividades necessrias para fornecer
suporte de baixo custo para o software;
Gerenciamento de Configurao de Software: um processo do ciclo de vida
do software que beneficia as atividades de gerenciamento de projetos,
desenvolvimento e manuteno, atividades de garantia de qualidade, bem
como as partes interessadas;
Gerenciamento da Engenharia de Software: aplicao de gesto de
atividades de planejamento, coordenao, medio, monitoramento, controle
e emisso de relatrios para garantir que os produtos de software e servios
de engenharia de software sero entregues de forma eficiente, eficaz e em
benefcio das partes interessadas;
Processos de Engenharia de Software: est preocupada com as atividades
de trabalho realizadas por engenheiros de software para desenvolver, manter
e operar o software;
Modelos e Mtodos de Engenharia de Software: modelos fornecem uma
abordagem para a resoluo de problemas e mtodos proporcionam uma
abordagem para a especificao sistemtica, concepo, construo, teste e
verificao do produto final e produtos de trabalho associados;
Qualidade de Software: refere-se s caractersticas desejveis de produtos
de software e aos processos, ferramentas e tcnicas utilizadas para alcanar
essas caractersticas;
Prtica Profissional em Engenharia de Software: est relacionada com os
conhecimentos, habilidades e atitudes que engenheiros de software devem
possuir para a prtica da engenharia de software de uma forma profissional,
responsvel e tica;
Economia de Engenharia de Software: est preocupada com o alinhamento
das decises tcnicas de software com os objetivos dos negcios da
organizao;
Fundamentos de Computao: abrange o desenvolvimento e o ambiente
operacional em que o software evolui executado;
Fundamentos de Matemtica: est preocupada com o entendimento dos
conceitos bsicos de lgica entre os engenheiros de software, que por sua
vez ser traduzida em cdigo de linguagem de programao;
20
21
2.4.
Consideraes Finais
22
3.
23
3.1.
Processo de Aprendizagem
24
Teorias da Aprendizagem
Caractersticas
Epistemologia Gentica de
Piaget (1950)
Teoria
Sociocultural
Vygotsky (1987)
de
Aprendizagem baseada em
problemas
/
Instruo
ancorada (Howard Barrows,
1970)
Cognio
Distribuda
(Vygotsky (1978) e Minsky
(1985)
Aprendizagem
Auto-regulada/Metacognio
(Klauer, (1996)
Aprendizagem
por
observao (Bandura, 1962)
No ao, no participao.
Ouvir ou assistir libera a realizao de
outros processos mentais.
Utilizao da memria.
Obteno de informaes em um dilogo.
25
3.2.
Processo de Ensino
De acordo com Bordenave e Pereira (2004), existem diversos fatores que afetam o
processo de ensino, relacionados com o trip aluno-professor-contedo, e este
processo consiste no manejo desses fatores e da sua dinamizao em uma
sequncia mais ou menos planejada ou sistemtica. Esses fatores so
apresentados a seguir:
Aluno
Assunto
Professor
Motivao
Conhecimentos
prvios
Relao com
professor
Atitude
com
disciplina
Estrutura: componentes e
relaes
Informao ao aluno sobre os
o
seus progressos
Tipos de aprendizagem
requeridos
Relacionamento com o aluno
a
Ordem de apresentao Atitude com a matria ensinada
Tabela 3 - Fatores que afetam o processo de ensino
Fonte: Bordenave e Pereira, 2004
26
27
Tcnica
Descrio
Aula Expositiva
Aula
ministrada
nos moldes tradicionais,
normalmente, conduzida pelo docente responsvel
pela disciplina.
Aula Prtica
Desenvolvimento
Projetos
Estudo de Caso
Mini-teste
Trabalho em Grupo
Seminrio
Experimentao
28
3.3.
29
30
31
2 ano
2
1
semes
semestre tre
3 ano
4ano
1
semes
tre
2
semes
tre
1
semes
tre
2
semes
tre
Sequncia de introduo
Computao
CS
CS
CS
SE400
SE400
CS
CS
MA
MA
MA
SE
SE
TE
CS
TE
SE200/20
1
SE
SE
SE
TE
TE
TE
TE
CS
CS
TE
TE
TE
SE
Disciplinas de Matemtica
(MA)
Ncleo de disciplinas de matemtica
Disciplinas de Engenharia Ncleo de disciplinas relacionadas a engenharia de
de Software (SE)
software
Disciplinas
Computao (CS)
32
3.4.
Consideraes Finais
33
4.
Metodologia
4.1.
Planejamento e Aplicao do S
urvey
4.2.
Pblico-alvo
34
4.3.
Questionrios
35
Questo
Opes de Resposta
A. Abordagens de ensino(aulas
expositivas, uso de jogos,etc);
B. Estratgias de avaliao(provas
objetivas, confeco de artigos,
implementao de projeto, etc)
4.3.2.
Opes de Resposta
36
4.3.3.
Opes de Resposta
37
conhecimento do SWEBOK, o
profissional deveria responder:
0. Intil
1. Dificilmente til
2. Possivelmente til
3. Moderadamente til
4. Importante aprender mais
5. Essencial aprender mais
4.4.
Os participantes do S
urvey
38
5.
Professores
5.1.1.
Currculos de Referncia
engenharia de software
adotados
na
ementa
de
39
5.1.5.
40
5.1.6.
41
5.1.7.
42
5.2.
Alunos
5.2.1.
Carga horria
software
Habilidade em desenvolvimento de
43
5.2.3.
44
5.2.4.
45
5.3.
Profissionais
46
5.3.2.
Rank de Importncia
Gap de conhecimento
(Q1-Q3)
-75
Economia de Engenharia
de Software
12
-75
Prtica Profissional em
Engenharia de Software
-50
Fundamentos de
Matemtica
15
-50
Fundamentos de
Computao
-50
Design de Software
47
Gerenciamento de
Configurao
-50
Teste de Software
10
-50
Construo de Software
-25
Manuteno de Software
-25
Gerenciamento de
Engenharia de Software
-25
Fundamentos de
Engenharia
11
-25
Modelos e Mtodos de
Engenharia de Software
14
-25
Processos de Engenharia
de Software
Requisitos de Software
Qualidade de Software
13
5.3.3.
48
Grfico 11 - reas que devem receber maior ateno quanto ao seu ensino na graduao
5.3.4.
Para analisar esta questo, foi feita uma comparao e classificao dos
tpicos ordenados pela importncia da pesquisa aqui mostrada, com a classificao
das pesquisas realizadas por Lethbridge,2000 e Kitchenham, 2005. Entretanto,
importante ressaltar que a importncia foi avaliada de forma diferente em cada uma
das pesquisas. No presente estudo, assim como no estudo de Kitchenham, a
importncia foi calculada sobre a proporo de respostas dos participantes, que
receberam trs pontos (indicando, que a utilidade do tpico era no mnimo
moderada) ou mais para a questo 3.
No estudo de Lethbridge, vrias maneiras de avaliar a importncia foram
aplicadas (Lethbridge, 2000). No entanto, a apresentao da lista completa dos
tpicos est disposta pelo clculo do valor mdio das respostas das questes 3 e 4.
Outro aspecto a ser considerado a variao dos tpicos considerados em
cada uma das pesquisas. Em razo da quantidade diferente de tpicos nas
pesquisas, foram considerados os tpicos de engenharia de software que estavam
entre os 5 mais importantes da pesquisa de Lethbridge, e os tpicos que estavam
entre os 5 mais importantes com relao aos resultados aqui apresentados, e os de
Kitchenham.
Lethbridge, 2000
Concepo essencial de
subsistema
Construo de Software
Mtodos de engenharia
de software
Gerenciamento de
software
Manuteno de Software
49
Gerenciamento de
software
Mtodos de engenharia
de software
Requisitos de Software
Concepo essencial de
subsistema
Prtica Profissional de
Engenharia de Software
Tcnicas de aplicao
especializadas
Tcnicas de aplicao
especializadas
Processo de Software
5.
50
51
5.1.
Consideraes Finais
52
6.
Concluso
Com o estudo realizado foi possvel verificar que embora a maior parte dos
professores acreditem que a carga horria da sua disciplina seja suficiente, eles no
conseguem trabalhar seu contedo da forma desejada. Isso pode dever-se ao fato
de que os contextos em que a engenharia de software se insere, seja difcil de
trabalhar em sala de aula, o que torna as aulas tericas de difcil entendimento e
no desperta interesse nos alunos. Embora abordagens alternativas de ensino que
foquem nos alunos e os ajudam a aprender de maneira mais efetiva sejam
fortemente recomendadas para o ensino da engenharia de software, os professores
costumam utilizar estas abordagens como forma de avaliao e no de ensino.
A pesquisa tambm averiguou que as 5 reas de conhecimento consideradas
relevantes so totalmente complementares, sendo possvel correlacionar seus
tpicos. Os professores tendem a ministrar mais adequadamente os tpicos ligados
a essas reas porque estes so mais compreensveis do que os tpicos de outras
reas (como Economia de Engenharia de Software). Para as estratgias de ensino,
deve-se ter uma ateno maior para os tpicos de Manuteno de Software e
Prtica Profissional de Engenharia de Software que apesar de consideradas
relevantes pelos profissionais da rea, apresentaram um baixo ndice de
aprendizagem pelos alunos entrevistados.
Este estudo visou ainda fazer uma comparao objetiva entre os mtodos e
tcnicas descritos. Esta comparao ser apresentada a seguir:
Enquanto a mdia de horas para as disciplinas de engenharia de software
apresentadas no currculo da ACM/IEEE, 2014 de 46,7h, a mdia de horas
das disciplinas ministradas no Centro de Informtica(CIn) de 67h. Apesar
da mdia de horas do CIn ser maior, h uma grande diferena quanto
importncia dada a determinadas reas de conhecimento. Por exemplo,
enquanto a disciplina de qualidade de software na ACM/IEEE, 2014 dispe
de apenas 10h, no Centro de Informtica esta disciplina ministrada em at
60h.
O uso de projetos (ACM/IEEE, 2004) para ensinar e/ou avaliar os alunos,
comumente usado no Centro de Informtica. Porm, sua durao de
apenas um semestre, quando o indicado que o projeto seja desenvolvido
nos dois ltimos semestres do curso de graduao, para que o aluno tenha
tempo suficiente para praticar as habilidades e aplicar o conhecimento
adquirido ao longo do curso. Para disciplinas de engenharia de software que
ocorram antes do ltimo ano do curso de graduao, indicado o uso de
atividades baseadas em projetos, onde algumas atividades de aprendizado
devem ser criadas para imitar projetos tpicos da indstria.
53
Os alunos por sua vez, precisam ter a viso de que, como os engenheiros de
software, eles tm de produzir artefatos de utilidade genuna(ACM/IEEE,
2004) e no apenas para receber uma nota. Com isso em mente, a
experincia da disciplina se torna mais rica e ajuda a criar um ambiente que
favorvel produo de graduados de alta qualidade.
Embora tenhamos de ter muito cuidado ao interpretar os resultados, devido
ao pequeno tamanho da amostra e a sua restrio a profissionais, os resultados
podem ser relevantes como base para reexaminar as competncias profissionais
necessrias que devem ser aprendidas na graduao para se ter sucesso na rea
de engenharia software.
6.1.
Trabalhos Futuros
54
7.
Referncias Bibliogrficas
55
56
57
2011.
STEVENS, K.T., Experiences Teaching Software Engineering for the First Time,
2001.
TOMAYKO, J.E Teaching a Project-Intensive Introduction to Software Engineering,
1987.
TOMAYKO, J.E., SHAW, M. Models for undergraduate project courses in software
engineering, 1991.
58
59