Você está na página 1de 103

UNIVERSIDADE FEDERAL DE UBERLNDIA

Alessandro Pereira Rezende

Sistema Online para Controle do Estgio


Supervisionado FACOM-UFU

Uberlndia, Brasil
2014

UNIVERSIDADE FEDERAL DE UBERLNDIA


Alessandro Pereira Rezende

Sistema Online para Controle do Estgio Supervisionado


FACOM-UFU

Trabalho de concluso de curso apresentado


Faculdade de Computao da Universidade
Federal de Uberlndia, Minas Gerais, como
requisito exigido parcial obteno do grau
de Bacharel em Sistemas de Informao.

Orientador: Prof.o Dr.o Jos Gustavo de Souza Paiva

Universidade Federal de Uberlndia UFU


Faculdade de Cincia da Computao
Bacharelado em Sistemas de Informao

Uberlndia, Brasil
2014

Resumo
Na Universidade Federal de Uberlndia o estgio supervisionado uma atividade obrigatria para alunos dos cursos de Bacharelado em Cincia da Computao e Sistemas de
Informao e tem como objetivo principal integrar esses alunos ao mercado de trabalho.
O responsvel pela gesto desse processo o coordenador de estgios, que atualmente o
faz por meio de um software que no atende aos requisitos funcionais, de segurana e
usabilidade necessrios para um acompanhamento efetivo do processo. Sendo assim, este
trabalho apresenta a modelagem e os recursos necessrios para o desenvolvimento de um
novo software para gesto dos estgios e tem como objetivo principal apresentar a anlise, especificao de requisitos, metodologia de desenvolvimento e implementao desse
software, que servir como apoio para as atividades da coordenao. O sistema proposto
possibilita ao coordenador de estgios a gesto do processo por meio de cadastros, pesquisas, envio de e-mails, gerao de relatrios entre outras funcionalidades. Espera-se com a
criao do novo software um melhor acompanhamento dos estgios por meio do aumento
da confiabilidade, integridade e disponibilidade da informao.
Palavras-chave: Estgio supervisionado, Software para gesto, Formao de docentes,
Sistema online, Faculdade de computao.

Lista de ilustraes
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

Metodologia iterativa - Uma iterao . . . . .


Metodologia iterativa - O processo iterativo .
Abordagem Clssica Incremental . . . . . . .
WBS . . . . . . . . . . . . . . . . . . . . . . .
Diagrama de Sequncia: Cadastro de Trabalho
Diagrama de Sequncia: Cadastro de Banca .
Arquitetura do Sistema . . . . . . . . . . . .
Tela de Login . . . . . . . . . . . . . . . . . .
Tela de Login (Mensagens de Erro) . . . . . .
Tela Principal . . . . . . . . . . . . . . . . . .
Menus do sistema . . . . . . . . . . . . . . . .
Tela de Visualizao dos Orientandos . . . . .
Tela de Visualizao dos Alunos . . . . . . . .
Tela de Cadastro dos Alunos . . . . . . . . .
Tela de Visualizao de reas de Estgio . . .
Tela de Cadastro da rea de Estgio . . . . .
Tela de Visualizao do Campus . . . . . . .
Tela de Cadastro do Campus . . . . . . . . .
Tela de Visualizao dos Cursos . . . . . . . .
Tela de Cadastro dos Cursos . . . . . . . . . .
Tela de Visualizao das Empresas . . . . . .
Tela de Cadastro das Empresas . . . . . . . .
Tela de Visualizao dos Professores . . . . .
Tela de Cadastro de Professor . . . . . . . . .
Tela de Cadastro de Disponibilidade . . . . .
Tela de Visualizao dos Trabalhos . . . . . .
Tela de Cadastro do Trabalho . . . . . . . . .
Tela de Cadastro de Banca . . . . . . . . . .
Tela de Confirmao de Convidados . . . . . .
Tela de Visualizao de Relatrios . . . . . .
Diagrama de casos de uso de alto nvel . . . .
Diagrama de caso de uso - Acessar sistema . .
Diagrama de caso de uso - Cadastrar professor
Diagrama de caso de uso - Cadastrar aluno .
Diagrama de caso de uso - Cadastrar rea . .
Diagrama de caso de uso - Cadastrar empresa

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

16
17
19
24
26
27
29
37
38
38
39
40
41
41
42
42
43
43
44
44
45
45
46
47
47
48
48
49
49
50
66
67
68
69
70
71

Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

Diagrama de caso de uso - Cadastrar trabalho . . . . . . . . . . . . .


Diagrama de caso de uso - Cadastrar banca . . . . . . . . . . . . . .
Diagrama de caso de uso - Configurar Fila de Orientao . . . . . . .
Diagrama de caso de uso - Configurar Fila de Banca . . . . . . . . .
Diagrama de caso de uso - Configurar envio de e-mail . . . . . . . . .
Diagrama de caso de uso - Cadastrar assinatura do coordenador de
estgio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagrama de caso de uso - Cadastrar e-mails gerais . . . . . . . . . .
Diagrama de caso de uso - Gerar relatrio . . . . . . . . . . . . . . .
Diagrama de caso de uso - Enviar aviso por e-mail . . . . . . . . . .
Diagrama de caso de uso - Inserir normas do estgio . . . . . . . . .
Diagrama de caso de uso - Finalizar estgio . . . . . . . . . . . . . .
Diagrama de caso de uso - Realizar pesquisas . . . . . . . . . . . . .
Diagrama de pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagrama de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagrama Entidade-Relacional . . . . . . . . . . . . . . . . . . . . . .
Create Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ata de Defesa de Trabalho de Estgio Supervisionado . . . . . . . . .
Relatrio de Participaes Em Banca . . . . . . . . . . . . . . . . . .
Relatrio Do Nmero De Orientaes Por Professor . . . . . . . . . .
Relatrio Anual De Atividades . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.

72
73
74
75
76

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

77
78
79
81
82
83
84
85
87
88
96
97
98
99
102

Lista de tabelas
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela
Tabela

1
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

Anlise de Riscos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Requisito Funcional - Cadastrar professor . . . . . . . . . . . . . .
Requisito Funcional - Controlar acesso (Login) . . . . . . . . . . .
Requisito Funcional - Cadastrar aluno . . . . . . . . . . . . . . . .
Requisito Funcional - Cadastrar rea . . . . . . . . . . . . . . . . .
Requisito Funcional - Cadastrar empresa . . . . . . . . . . . . . . .
Requisito Funcional - Cadastrar trabalho . . . . . . . . . . . . . . .
Requisito Funcional - Cadastrar banca . . . . . . . . . . . . . . . .
Requisito Funcional - Configurar fila de orientao . . . . . . . . .
Requisito Funcional - Configurar fila de banca . . . . . . . . . . . .
Requisito Funcional - Configurar envio de e-mail . . . . . . . . . .
Requisito Funcional - Cadastrar assinatura do coordenador estgio
Requisito Funcional - Cadastrar e-mails gerais . . . . . . . . . . . .
Requisito Funcional - Visualizar relatrios . . . . . . . . . . . . . .
Requisito Funcional - Enviar aviso por e-mail . . . . . . . . . . . .
Requisito Funcional - Calcular fila de orientao . . . . . . . . . . .
Requisito Funcional - Calcular fila de banca . . . . . . . . . . . . .
Requisito Funcional - Inserir normas de estgio . . . . . . . . . . .
Requisito Funcional - Finalizar estgio . . . . . . . . . . . . . . . .
Requisito Funcional - Realizar pesquisa . . . . . . . . . . . . . . . .
Requisitos No-Funcionais Gerais . . . . . . . . . . . . . . . . . . .
Listagem de casos de uso . . . . . . . . . . . . . . . . . . . . . . .
Caso de Uso - Acessar sistema . . . . . . . . . . . . . . . . . . . . .
Caso de Uso - Cadastrar professor . . . . . . . . . . . . . . . . . .
Caso de Uso - Cadastrar aluno . . . . . . . . . . . . . . . . . . . .
Caso de Uso - Cadastrar rea . . . . . . . . . . . . . . . . . . . . .
Caso de Uso - Cadastrar empresa . . . . . . . . . . . . . . . . . . .
Caso de Uso - Cadastrar trabalho . . . . . . . . . . . . . . . . . . .
Caso de Uso - Cadastrar banco . . . . . . . . . . . . . . . . . . . .
Caso de Uso - Configurar fila de orientao . . . . . . . . . . . . .
Caso de Uso - Configurar fila de banca . . . . . . . . . . . . . . . .
Caso de Uso - Configurar envio de e-mail . . . . . . . . . . . . . . .
Caso de Uso - Cadastrar assinatura do coordenador de estgio . . .
Caso de Uso - Cadastrar e-mails gerais . . . . . . . . . . . . . . . .
Caso de Uso - Gerar relatrio . . . . . . . . . . . . . . . . . . . . .
Opes de relatrio . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

23
58
58
58
59
59
59
60
60
60
61
61
61
62
62
63
63
63
64
64
64
65
67
68
69
70
71
72
73
74
75
76
77
78
79
80

Tabela
Tabela
Tabela
Tabela

38
39
40
41

Caso
Caso
Caso
Caso

de
de
de
de

Uso
Uso
Uso
Uso

Enviar aviso por e-mail .


Inserir normas do estgio
Finalizar estgio . . . . .
Realizar pesquisas . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

81
82
83
84

Lista de abreviaturas e siglas


ACID

Atomicidade, Consistncia, Isolamento e Durabilidade

API

Application Programming Interface

BCC

Bacharelado em Cincia da Computao

BSI

Bacharelado em Sistemas de Informao

FACOM

Faculdade de Computao

HTML

HyperText Markup Language

IDE

Integrated Development Environment

JDK

Kit de desenvolvimento Java

JSF

JavaServer Faces

JSP

JavaServer Pages

JVM

Java Virtual Machine

MIT

Massachusetts Institute of Technology

MVC

Model View Controller

MySQL

My Structured Query Language

PDF

Portable Document Format

SGBD

Sistema de gerenciamento de banco de dados

SGBDOR

Sistema de gerenciamento de banco de dados objeto relacional

SisGES

Sistema para Gesto de Estgios Supervisionados

SQL

Structured Query Language

UFU

Universidade Federal de Uberlndia

UI

User Interface

UML

Unifield Modeling Language

WWW

World Wide Web

Sumrio
1

INTRODUO

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2
2.1
2.2
2.3
2.4
2.5
2.5.1
2.5.2

REFERENCIAL TERICO . . . . . . . . . . . . . . . . . . .
O Estgio Supervisionado na FACOM . . . . . . . . . . . . . .
Engenharia de Software . . . . . . . . . . . . . . . . . . . . . .
Padres de Projeto . . . . . . . . . . . . . . . . . . . . . . . . .
Unified Modeling Language - UML . . . . . . . . . . . . . . .
O Processo de Desenvolvimento de Software . . . . . . . . .
Anlise Orientada a Objetos - AOO . . . . . . . . . . . . . . . . .
Projeto Orientado a Objetos - POO . . . . . . . . . . . . . . . . .

METODOLOGIA

4
4.1
4.1.1
4.1.2
4.2
4.2.1
4.3
4.3.1
4.3.2
4.3.3
4.3.4
4.3.5
4.3.6
4.3.7
4.3.8
4.3.9
4.3.10
4.3.11
4.3.12
4.3.13
4.4
4.4.1
4.4.2

DESENVOLVIMENTO . . . . . . .
Planejamento . . . . . . . . . . . . .
Plano de Riscos . . . . . . . . . . . . .
Plano de Atividades . . . . . . . . . . .
O Novo Sistema . . . . . . . . . . .
Arquitetura do Sistema . . . . . . . . .
Tecnologias Utilizados . . . . . . . .
Linguagem Java . . . . . . . . . . . .
Ambiente de Desenvolvimento NetBeans
Servidor de Aplicaes Apache Tomcat
Banco de Dados PostgreSQL . . . . . .
Framework Hibernate . . . . . . . . . .
Framework JavaServer Faces . . . . . .
Padro Model-View-Controller . . . . .
Framework PrimeFaces . . . . . . . . .
Padro Data Access Object . . . . . . .
Padro Singleton . . . . . . . . . . . .
Apache POI . . . . . . . . . . . . . . .
ITEXT . . . . . . . . . . . . . . . . .
Apache Commons Email . . . . . . . .
Apresentao do Software . . . . . .
O Processo . . . . . . . . . . . . . . .
Funcionalidades . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

12
12
13
14
15
16
17
18

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

23
23
23
24
25
28
30
30
31
31
32
33
33
34
34
34
35
35
35
36
37
37
40

5
5.1

CONCLUSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Referncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Glossrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

APNDICES

57

APNDICE A REQUISITOS DO SISTEMA . . . . . . . . . . . . 58


APNDICE B CASOS DE USO . . . . . . . . . . . . . . . . . . . 66
APNDICE C DIAGRAMA DE PACOTES . . . . . . . . . . . . . 85
APNDICE D DIAGRAMA DE CLASSE . . . . . . . . . . . . . . 86
APNDICE E DIAGRAMA ER . . . . . . . . . . . . . . . . . . . 88
APNDICE F SCRIPT CREATE TABLES . . . . . . . . . . . . . 89
APNDICE G RELATRIOS . . . . . . . . . . . . . . . . . . . . 97

10

1 Introduo
Na Universidade Federal de Uberlndia o estgio supervisionado uma atividade
obrigatria para alunos dos cursos de Bacharelado em Cincia da Computao e Sistemas
de Informao. O estgio uma atividade que o aluno realiza em instituies pblicas
ou privadas, sempre sob a orientao e superviso de professores e sua prtica est normatizada pela universidade. O Estgio tem como objetivo principal integrar o aluno da
FACOM com o mercado de trabalho no desenvolvimento e na aplicao de atividades essencialmente prticas. Dessa forma, espera-se que os alunos tenham um maior contato com
o mercado e desenvolvam atividades relacionadas a projetos de sistemas computacionais,
anlise de problemas e propostas de solues para as empresas.
A coordenao de estgio supervisionado da FACOM realiza o controle de todo
esse processo, desde o cadastro de alunos que esto cursando o estgio, associao e
acompanhamento das atividades junto aos orientadores, composio de bancas de defesa,
entre outras atividades. Devido ao nmero elevado de estagirios existentes, bem como a
demanda natural de alunos, torna-se necessrio existncia de um sistema computacional
para o gerenciamento do processo, sob o risco de comprometer a qualidade do servio
executado, e prejudicar o aluno.
Atualmente, existe um sistema computacional de gerenciamento desse processo,
que apesar de auxiliar significativamente as tarefas do coordenador de estgio supervisionado, possui diversas limitaes em termos de funcionalidades, portabilidade e segurana.
O sistema foi desenvolvido em plataforma Desktop usando um sistema de gerenciamento
de banco de dados relacional MySQL. Ele j no cumpre todos os requisitos funcionais,
de segurana e usabilidade que atendam as necessidades da coordenao para fornecer
um controle eficiente dos estgios. Ele tambm no foi desenvolvido levando-se em considerao as melhores prticas em anlise, especificao e desenvolvimento de software
definidas na Engenharia de Software, o que dificulta sua manuteno ou qualquer tipo de
melhoria em suas funcionalidades e estrutura. Entre os principais problemas do sistema
esto: limitao de relatrios disponveis, sendo preciso fazer consultas diretamente no
banco de dados para extrao das informaes e posterior criao manual dos relatrios;
limitao de possibilidades de pesquisas; limitaes em algumas funcionalidades que esto
com erros ou simplesmente no funcionam, devido falta de manuteno; inexistncia de
perfis de acesso ou controle dos acessos, sendo que o usurio pode utilizar todas as funcionalidades do sistema sem restrio, sendo possvel ocorrer excluso ou alterao indevida
de informao; banco de dados instalado localmente, o que insere o risco de perda das
informaes do sistema e inexistncia de documentao do software atual.

Captulo 1. Introduo

11

Considerando os problemas apresentados, percebeu-se a necessidade de um novo


sistema computacional para a gesto dos estgios. Dessa forma, o objetivo deste trabalho
a criao de um sistema de gerenciamento de estgio supervisionado, que contenha um
conjunto de funcionalidades necessrias para a gesto e controle efetiva desse processo.
Acredita-se que com o desenvolvimento deste, aumentar o controle, segurana, disponibilidade das informaes e sanar as limitaes e falhas da verso atual pelo uso do estado
da arte em engenharia de software.
As atividades que sero realizadas para se alcanar o objetivo so: anlise e especificao dos requisitos funcionais e no funcionais, documentao, escolha da plataforma,
linguagem de programao, Frameworks, banco de dados, desenvolvimento do software,
testes das funcionalidades e usabilidade, importao dos dados contidos na base de dados
do sistema atual e implementao no ambiente de produo.
Com o desenvolvimento deste software espera-se alcanar um efetivo acompanhamento e controle dos estgios supervisionados, auxiliando de forma significativa a coordenao de estgios na gesto do processo, de forma a facilitar para os envolvidos o
acompanhamento das atividades e especificamente para coordenao, a definio de volume de trabalho baseado em dados corretos e completos.

12

2 Referencial Terico
As regras acerca do estgio supervisionado na FACOM e os principais conceitos
utilizados na anlise de requisitos e desenvolvimento do sistema so definidos neste captulo. Assim, o captulo abrange as definies bsicas necessrias para o entendimento
deste trabalho.

2.1 O Estgio Supervisionado na FACOM


O estgio supervisionado na FACOM tem o objetivo de complementar a formao
do discente e inici-lo na atividade profissional, por meio da integrao do mesmo ao
mercado de trabalho, onde realizar atividades prticas relacionadas Informtica em
instituies pblicas ou privadas, no Brasil ou no exterior (MESQUITA, 2014).
O estgio uma experincia em que o aluno mostra sua criatividade, independncia
e carter. Essa etapa lhe proporciona uma oportunidade para perceber se a sua escolha
profissional corresponde com sua aptido tcnica (BIANCHI, 2005). Tambm permite
ao discente conhecer a realidade empresarial desenvolvendo atividades relacionadas ao
diagnstico de problemas, esboo de solues e desenvolvimento de projetos, podendo
assim aprimorar seus conhecimentos (MESQUITA, 2014).
O estgio supervisionado uma atividade acadmica e sua coordenao e administrao so de responsabilidade do colegiado de curso. Tambm responsabilidade do
colegiado a indicao de um coordenador de estgio, com mandato de dois anos. A orientao dos alunos matriculados na disciplina de estgio feita por professores da FACOM e
a superviso das atividades feita por um representante da empresa que tambm avaliar
o desempenho do discente em suas atribuies (DORA, 2014).
Nos cursos de Bacharelado em Cincia da Computao e Bacharelado em Sistemas de Informao o estgio supervisionado permitido em duas modalidades, o estgio
obrigatrio e o estgio no obrigatrio. O estgio obrigatrio requisito para obteno de diploma para os alunos do BCC e BSI. O estgio supervisionado no-obrigatrio
desenvolvido como atividade opcional, acrescida carga horria regular do discente
(MESQUITA, 2014).
O estgio supervisionado vai muito alm de um simples cumprimento de exigncias
acadmicas. Alm de oferecer a oportunidade de aplicao do conhecimento acadmico no
mundo real, coloca o futuro profissional em contato com diferentes realidades culturais.
Assim sendo, o estgio um importante instrumento de integrao entre universidade e
empresa, sendo uma tima oportunidade de crescimento pessoal e profissional (FILHO,

Captulo 2. Referencial Terico

13

2014).

2.2 Engenharia de Software


A Engenharia de software a rea da computao voltada especificao, desenvolvimento, validao e manuteno de sistemas de software, com aplicao de tecnologias
e prticas de gerncia de projetos e outros conhecimentos, visando a organizao, produtividade e qualidade. Seus fundamentos cientficos envolvem o uso de modelos abstratos e
precisos que permitem ao desenvolvedor especificar, projetar, implementar e manter sistemas de software, avaliando e garantindo suas qualidades. Alm disso, oferece mecanismos
para se planejar e gerenciar o processo de desenvolvimento de um sistema computacional. Atualmente, essas tecnologias e prticas englobam linguagens de programao, banco
de dados, bibliotecas, plataformas, padres, processos, modelos, mtodos e qualidade de
software.
A engenharia de software no se dedica apenas aos processos tcnicos de desenvolvimento de software mas tambm a atividades como o gerenciamento de projetos de
software e o desenvolvimento de ferramentas, mtodos e teorias que deem apoio produo de software.
Um processo de desenvolvimento de software um conjunto de atividades, parcialmente ordenadas, com a finalidade de transformar a necessidade de um usurio ou de
um mercado em um produto de software. Estudado dentro da rea de Engenharia de Software, sendo considerado um dos principais mecanismos para obter software de qualidade,
cumprir cronogramas e contratos de desenvolvimento.
O termo software no est relacionado apenas a programas de computador. Inclui
tambm, os arquivos de configurao necessrios para fazer com que esses programas
operem corretamente e toda documentao associada, sendo essa, a documentao do
sistema, que descreve a estrutura do sistema e a documentao do usurio, que explica
como utilizar o sistema.
Os atributos que formam um bom software no esto diretamente associados ao
que o software faz. Em vez disso, eles refletem seu comportamento quando em funcionamento, a estrutura e a organizao do cdigo fonte e tambm a documentao associada.
Exemplos desses atributos, que so classificados como atributos no funcionais, so o
tempo de resposta do software consulta de um usurio e a facilidade de compreenso
do cdigo do programa (SOMMERVILLE, 2003).
Atualmente, a engenharia de software enfrenta grandes desafios, dos quais os principais segundo (SOMMERVILLE, 2003) so:
O desafio do legado: A grande maioria dos sistemas em uso atualmente foram de-

Captulo 2. Referencial Terico

14

senvolvidos h muitos anos e, contudo, operam importantes funes corporativas.


Portanto, o desafio est em fazer a manuteno e a atualizao desses softwares,
para evitar custos excessivos e prosseguir com a prestao de servios a qual foi
designado.
O desafio da heterogeneidade: Cada vez mais, se exige que os sistemas operem como
sistemas distribudos por meio de redes que possuem diferentes tipos de computadores e diferentes tipos de sistemas de apoio. O desafio da heterogeneidade se
refere a desenvolver tcnicas para construir softwares confiveis, que sejam flexveis
o bastante para lidar com essa heterogeneidade.
O desafio do fornecimento: Muitas tcnicas de engenharia de software tradicionais
so muito demoradas. O tempo que elas gastam necessrio para que atinjam a
qualidade de software exigida. Contudo, as empresas atualmente exigem respostas
rpidas e se modificam muito rapidamente. O software de apoio deve se modificar
com a mesma rapidez. O desafio do fornecimento diz respeito a reduzir o tempo para
o fornecimento de sistemas grandes e complexos, sem comprometer a qualidade.

2.3 Padres de Projeto


Padres de projeto so descries de objetos e classes comunicantes que precisam
ser personalizadas para resolver um problema geral de projeto num contexto particular.
Um padro de projeto nomeia, abstrai e identifica os aspectos-chave de uma estrutura
de projeto comum para torn-la til para a criao de um projeto orientado a objetos
reutilizvel. O padro de projeto identifica as classes e instncias participantes, seus papis, colaboraes e a distribuio de responsabilidades. Cada padro de projeto focaliza
um problema ou tpico particular de projeto orientado a objetos. Ele descreve em que
situao pode ser aplicado, se ele pode ser aplicado em funo de outras restries de
projeto e as consequncias, custos e benefcios de sua utilizao.
Em geral, um padro tem quatro elementos essenciais: O nome do padro uma
referncia que pode-se usar para descrever um problema, suas solues e consequncias em
uma ou duas palavras. O problema descreve em que situao aplicar o padro. Ele explica
o problema e seu contexto. A soluo descreve os elementos que compem o padro de
projeto, seus relacionamentos, suas responsabilidades e colaboraes. As consequncias so
os resultados e anlises das vantagens e desvantagens da aplicao do padro (GAMMA,
2000).

Captulo 2. Referencial Terico

15

2.4 Unified Modeling Language - UML


A UML uma linguagem de modelagem que unifica as melhores prticas de engenharia de software para documentar e visualizar os artefatos que foram especificados e
construdos na anlise e desenho de um sistema. A sintaxe tem sido projetada para ser
independente de quaisquer linguagens-alvo, processo de software ou ferramenta, porm
suficientemente genrica e flexvel a ponto de poder ser utilizada de uma forma personalizada usando extenses definidas pelo prprio usurio para acomodar praticamente
qualquer linguagem, ferramenta ou requisito de processo.
Os objetivos da UML so: ser uma linguagem de modelagem visual, expressiva,
que se revele relativamente simples e extensvel; ser independente do processo; suportar
conceitos de alto nvel (estrutura, padres e componentes); manter o suporte de alcance
mundial e ser flexvel e amplamente aplicvel.
Segundo (LEE, 2001), a UML o mecanismo preferido da indstria de software
por permitir a comunicao e alavancagem do conhecimento capturado (modelado) do
problema (requisitos) e soluo (servio ou produto), organizados (arquitetura) e representados (diagrama) de forma simples e de fcil entendimento.
Os modelos (diagramas) mais importantes presentes na sintaxe da UML so: diagrama de casos de uso que utilizado para capturar o modo com o qual os usurios
querem utilizar o sistema. Diagrama de classe define o modelo de estrutura esttica do
sistema. Diagrama de interao (sequncia) usado para capturar os requisitos funcionais.
Diagrama de estado utilizado para capturar a viso dinmica do sistema (LEE, 2001).

Captulo 2. Referencial Terico

16

2.5 O Processo de Desenvolvimento de Software


Ao iniciar um processo de desenvolvimento de software deve-se primeiramente definir uma estratgia unificada que auxilie a descrio do problema. Para isso, existem
vrias metodologias de software que definem uma maneira comum de encarar o desenvolvimento. Uma metodologia frequentemente conter uma linguagem de modelagem (como
a UML) e um processo de software que mostra os vrios estgios do desenvolvimento de
um software (SINTES, 2002).
A metodologia utilizada para desenvolvimento do software de gesto de estgios
supervisionados foi a iterativa. Essa metodologia permite alteraes em qualquer ponto
do processo de desenvolvimento. O processo iterativo permite alteraes adotando uma
estratgia iterativa e incremental para o desenvolvimento. Nessa estratgia evolutiva de
desenvolvimento, cada iterao aperfeioa e elabora gradualmente um produto bsico em
um produto amadurecido. A Figura 1 ilustra a estratgia.

Figura 1 Metodologia iterativa - Uma iterao


Fonte: (SINTES, 2002)[p. 196].
No processo iterativo no se realiza uma iterao grande que constri o programa
inteiro. Em vez disso, o processo iterativo divide o trabalho de desenvolvimento em vrias iteraes pequenas. A Figura 2 ilustra essa estratgia incremental. Cada iterao do
processo introduz uma pequena melhoria incremental no programa. Essa melhoria pode
ser um novo recurso ou um refinamento de um recurso j existente (SINTES, 2002).
A metodologia Iterativa foi utilizada para o desenvolvimento do software para
gesto de estgios supervisionados devido a facilidade em monitorar o progresso e ter a
possibilidade de voltar e corrigir algo que no foi feito corretamente, e de garantir que o
desenvolvimento est no caminho certo devido a verificaes constantes de todas as etapas
do processo.

Captulo 2. Referencial Terico

17

Figura 2 Metodologia iterativa - O processo iterativo


Fonte: (SINTES, 2002)[p. 196].

2.5.1 Anlise Orientada a Objetos - AOO


AOO uma estratgia orientada a objetos para entender o problema que ser
resolvido, atravs da anlise de requisitos. No final da anlise, entende-se o domnio do
problema e seus requisitos em termos de classes e interaes de objetos.
Aps entender o problema, inicia-se a projetar uma soluo. Para projetar a soluo
necessrio entender como os usurios utilizaro o sistema. Por meio dos requisitos do
sistema, identificado o que os usurios querem fazer com o sistema e quais tipos de
respostas eles esperam receber (SINTES, 2002). Os requisitos do Sistema para Gesto
de Estgios Supervisionados foram elaborados seguindo a estratgia de AOO e esto
disponveis no apndice A.
Na AOO existem dois modelos principais. O modelo de caso de uso que descreve
como um usurio interage com o sistema e o modelo de domnio que captura o vocabulrio
principal do sistema. Usando o modelo de domnio, inicia-se a identificao dos objetos
que pertencem ao sistema (SINTES, 2002).
No modelo de caso de uso descobre-se os usos do sistema e atravs do processo de
anlise, so definidos vrios casos de uso. A definio pode ser feita por meio de cenrios,
diagramas e histrias com usurios em potencial ou existentes. Um caso de uso descreve
como um usurio vai interagir com o sistema.
A criao de casos de uso um processo iterativo. Existem vrias etapas para
cada iterao. Para definir os casos de uso deve-se: identificar os atores, criar uma lista
preliminar de casos de uso, refinar e nomear os caso de uso, definir a sequncia de eventos
de cada caso de uso e ao final realizar a modelagem (SINTES, 2002). Os casos de uso do

Captulo 2. Referencial Terico

18

SisGES seguem os conceitos de AOO e esto disponveis no apndice B.


O modelo de domnio lista os objetos necessrios para modelar corretamente o
sistema. Atravs dos casos de uso, foram identificados muitos objetos. O modelo de domnio importante para modelar o problema independente de como ser a implementao.
Em vez disso, ele modela o sistema em um nvel conceitual. Alm de construir a base do
modelo de objetos que se tornar o sistema. A implementao final pode adicionar novas
classes e remover outras. Entretanto, o domnio fornece algo para comear e construir
o esqueleto do projeto. Por meio do modelo de domnio foram identificados os objetos
bsicos que fazem parte do SisGES, para que na fase de POO seja realizado o uso deles
no projeto.
Portanto, a AOO decompe o problema em vrios casos de uso e objetos de domnio. Uma vez dividido, pode-se fazer iteraes at obter a soluo final (SINTES, 2002).

2.5.2 Projeto Orientado a Objetos - POO


O POO um processo iterativo que identifica os objetos e suas responsabilidades
em um sistema, e como esses objetos se relacionam. Em cada iterao refinado o modelo
de objetos e deve-se passar uma ideia mais aprofundada do projeto.
O POO continua o trabalho da AOO, pegando o domnio e transformando-o em
uma soluo para o problema. Atravs do processo de POO, usado o modelo de domnio para construo do modelo de objetos da soluo. O modelo de objetos descreve os
aspectos arquitetnicos significativos do sistema, como a estrutura e os relacionamentos
dos objetos.
Existem alguns passos para seguir na construo do modelo de objetos, sendo esses:
gerar uma lista inicial de objetos, refinar as responsabilidades dos objetos, desenvolver os
pontos de interao, detalhar os relacionamentos, e por fim construir o modelo (SINTES,
2002). Por meio do modelo de objetos foi elaborado o diagrama de classe do SisGES que
est disponvel no apndice D.
O POO ajuda a prever problemas de implementao na fase de projeto, onde para
corrigir o problema necessrio apenas alterar o modelo, sendo que, se o problema passasse
para fase de implementao seria necessrio percorrer todo o cdigo para corrigi-lo. No
final do POO, obtm-se uma boa ideia do que implementar no cdigo de um sistema.

19

3 Metodologia
Este captulo apresenta os detalhes da metodologia proposta. Para este trabalho
prope-se aplicao da abordagem "top-down", sendo est mais conhecida como modelo
clssico ou cascata. Optou-se pelo modelo clssico incremental para o desenvolvimento
do sistema de gerenciamento dos estgios supervisionados da FACOM devido esta abordagem permitir dividir o sistema em partes, correspondentes aos servios requisitados
(JACOBSON, 1993).
A abordagem "top-down" trabalha de termos gerais para os especficos e de acordo
com (KLLING, 2004), "o planejamento de algumas etapas do desenvolvimento ajuda
a considerar como se pode dividir um nico grande problema em vrios problemas menores. Individualmente, possvel que esses problemas menores sejam menos complexos
e mais gerenciveis". Assim sendo, essa abordagem permite segundo (KLLING, 2004),
"considerar em quantas etapas dividir o problema total com a vantagem extra de identificar algumas maneiras de como as vrias partes da aplicao so interconectadas. Em um
projeto isso ajuda a identificar as interfaces entre os componentes. Identificar as etapas
tambm ajuda a planejar a sincronizao do processo de desenvolvimento". A Figura 3
ilustra a abordagem proposta.

Figura 3 Abordagem Clssica Incremental


Fonte: Elaborada pelo autor adaptada da dissertao (CHAMOVITZ,
2004)[p. 58 Figura 3.3] e do artigo (GRS, 2014)[p. 2].

Captulo 3. Metodologia

20

A abordagem clssica incremental inicia-se no planejamento geral do sistema, onde


de acordo com (FALBO, 2014), tem o objetivo de "fornecer uma estrutura que possibilite
ao gerente fazer estimativas razoveis de recursos, custos e prazos".
No desenvolvimento do sistema de gerenciamento dos estgios supervisionados
da FACOM os recursos em termos de ferramentas de diagramao UML, bibliotecas e
Frameworks, editor de texto, IDE e o SGBD que foram utilizados, so softwares gratuitos,
que podem ser encontrados e baixados nos respectivos sites oficiais de cada ferramenta na
internet. Portanto, no houve custos com ferramentas para o desenvolvimento do software.
Os prazos para as entregas dos artefatos e planejamento foram definidos em reunies com
o Coordenador de Estgios, sendo que, o prazo total para finalizao do sistema; incluindo
documentao, desenvolvimento, testes e implantao foi de um ano.
O prximo passo foi a especificao do software por meio do levantamento de
requisitos que define as funcionalidades essenciais. Incluindo tambm a anlise do sistema
proposto e de todos os recursos tcnicos necessrios para o seu desenvolvimento. Esses
elementos compem os artefatos especificados nas fases de requerimento e projeto.
A etapa de requerimento e projeto considerada o incio do ciclo de vida do software, onde ser estabelecido os requisitos do sistema de gesto de estgios supervisionados
que segundo (FALBO, 2014), "os requisitos consistem nos servios que se devem fornecer,
limitaes e objetivos do software".
Os requisitos do sistema de gesto de estgios supervisionados sero especificados
de acordo com as solicitaes do coordenador de estgios da FACOM. Aps todos os
requisitos serem definidos, foi elaborada a documentao detalhada com as especificaes
necessrias. Ainda nessa fase temos a etapa de projeto que de acordo com (FALBO, 2014),
"responsvel por incorporar requisitos tecnolgicos aos requisitos essenciais do sistema,
modelados na fase anterior e, portanto, requer que a plataforma de implementao seja
conhecida. Basicamente, envolve duas grandes etapas: projeto da arquitetura do sistema e
projeto detalhado. O objetivo da primeira etapa definir a arquitetura geral do software,
tendo por base o modelo construdo na fase de anlise de requisitos. Esta arquitetura
deve descrever a estrutura de nvel mais alto da aplicao e identificar seus principais
componentes. O propsito do projeto detalhado detalhar o projeto do software para
cada componente identificado na etapa anterior. Os componentes de software devem ser
sucessivamente refinados em nveis de maior detalhamento, at que possam ser codificados
e testados".
Nessa etapa de especificao do software, foram criados diagramas de classe, pacotes e Entidade-Relacional das relaes entre as tabelas do banco de dados, seguindo os
conceitos definidos na sesso 2.5, mais especificamente na subseo 2.5.2.
Em seguida, foi feito a seleo de quais padres seriam utilizados na arquitetura

Captulo 3. Metodologia

21

e codificao do sistema, alm da programao dos mdulos, sendo esses componentes


partes da fase de implementao. Esta etapa de acordo com (FALBO, 2014), aborda
como "o projeto deve ser traduzido para uma forma passvel de execuo pela mquina.
A fase de implementao realiza esta tarefa, isto , cada unidade de software do projeto
detalhado implementada".
Os recursos tcnicos para o desenvolvimento do sistema de gesto de estgios
supervisionados foram selecionados com o objetivo de criar-se uma ferramenta simples
e completa, que atenda s necessidades da coordenao de estgio. Dentre os recursos
que foram utilizados temos: a linguagem de programao orientada a objetos Java em
conjunto com os frameworks; Hibernate para o mapeamento objeto-relacional, JavaServer
Faces para a construo de interfaces de usurio baseadas em componentes e PrimeFaces
que fornece um conjunto de componentes visuais para aplicaes web. O padro para
persistncia de dados ser o Objeto de Acesso a Dados (ou simplesmente DAO, acrnimo
de Data Access Object). Como sistema gerenciador de banco de dados, optou-se pelo
PostgreSQL. O motivo que determinou a escolha destas ferramentas, so descritos em
detalhes no captulo 4, mais especificamente na sesso 4.3.
A prxima etapa foi a fase de testes que realizada em conjunto com a implementao dos mdulos e aps o desenvolvimento de todo o sistema, para garantir a qualidade
do software. A fase de testes segundo (FALBO, 2014), "inclui diversos nveis de testes,
sendo esses nveis, teste de unidade, teste de integrao e teste de sistema". No sistema de
gesto de estgios supervisionados cada unidade de software implementada foi testada e
as falhas encontradas foram corrigidas antes do incio da criao da prxima unidade. Assim que, cada componente do sistema foi desenvolvido e testado foi integrado ao sistema,
e posteriormente testado sua integrao sucessivamente at se obter o sistema completo.
Finalmente, o sistema como um todo foi testado.
Finalizando os testes do software integrado, o sistema foi colocado em produo.
Nessa fase, de acordo com (FALBO, 2014), " necessrio treinar os usurios, configurar o
ambiente de produo e, muitas vezes, converter bases de dados. O propsito desta fase
estabelecer que o software satisfaz os requisitos dos usurios. Isto feito instalando o software e conduzindo testes de aceitao (validao). Quando o software tiver demonstrado
prover as capacidades requeridas, ele pode ser aceito e a operao iniciada".
Os usurios do sistema de gesto de estgios supervisionados so o coordenador
de estgios e os professores da FACOM. Para inform-los como utilizar o sistema foi
desenvolvido um manual simples que descrever todas as operaes e funcionalidades que
esto disponveis em seus respectivos perfis no sistema.
Para a configurao do ambiente de produo, inicialmente foi realizado uma verificao de quais recursos j esto instalados e quais ainda faltam no servidor. Aps
instaladas e configuradas as ferramentas necessrias, foi realizado um teste geral para cer-

Captulo 3. Metodologia

22

tificar que o ambiente est propcio para suportar o sistema de gesto de estgios. Alm
disso, foi feito a converso de bases, devido o sistema legado em uso na Coordenao de
estgios, utilizar o SGBD MySQL e para o novo sistema usado o PostgreSQL. Finalizando a configurao do ambiente e importao dos dados do sistema legado para o novo,
o Coordenador de Estgio realizou os testes de aceitao.
Finalizando o ciclo de vida, h a fase de manuteno que abrange todas as alteraes necessrias em qualquer uma das etapas do processo de desenvolvimento do sistema.
Nessa fase acordo com (FALBO, 2014), "o software sofrer mudanas aps ter sido entregue para o usurio. Alteraes ocorrero porque erros foram encontrados, porque o
software precisa ser adaptado para acomodar mudanas em seu ambiente externo, ou
porque o cliente necessita de funcionalidade adicional ou aumento de desempenho".
As manutenes necessrias no sistema de gesto de estgios supervisionados foram
e sero informadas pelo Coordenador de Estgios ao desenvolvedor. Sendo o desenvolvedor
responsvel por fazer a manuteno e alterao do sistema em ambiente de produo.
Aps alterao, o Coordenador de Estgios realiza os testes de aceitao e informar se
foi realizado a manuteno conforme solicitao.

23

4 Desenvolvimento
Este captulo apresenta em detalhes o processo de planejamento e desenvolvimento
do sistema de gerenciamento dos estgios supervisionados da FACOM. Assim, o captulo
abrange todo o processo necessrio para a criao dessa ferramenta de apoio a coordenao
de estgios, desde sua concepo a implementao.

4.1 Planejamento
Como parte do planejamento foi elaborado um plano de atividades para monitoramento de quais atividades esto sendo realizadas, e tambm um plano de anlise de
riscos para determinar os problemas que poderiam surgir em cada etapa do projeto e
desenvolvimento do sistema.

4.1.1 Plano de Riscos


Com o objetivo de avaliar, estimar e elaborar um plano de ao para os riscos envolvidos na entrega de quaisquer etapas do projeto, foi elaborada uma anlise dos diversos
cenrios que poderiam afetar direta ou indiretamente o desenvolvimento do sistema de
gerenciamento de estgios supervisionados. Na Tabela 1 mostrada em detalhes a anlise
dos riscos e qual a probabilidade para cada tipo de risco ocorrer.
Evento
Mudana de requisitos

Falta de preciso dos requisitos


Falta de preciso na estipulao

Consequncia

Ao

Atrasos nas atividades de anlise

Reunio com

e alterao de documentos

solicitante

Atrasos nas atividades de anlise

Reunio com

e alterao de documentos

solicitante

Atrasos nas atividades de anlises

dos prazos
Greve

Reunio com

Monitoramento

Probabilidade

Impacto

Alessandro

Moderado

Moderado

Alessandro

Alto

Alto

Alessandro

Alto

Alto

Muito baixo

Baixo

Alessandro

Muito baixo

Alto

Alessandro

Moderado

Alto

Alessandro

Moderado

Alto

Alessandro

Muito baixo

Alto

Muito baixo

Alto

solicitante
Aumento de tempo para realizar
o projeto

Falha de backup

Atrasos nas atividades do projeto

Verificar o que
deve ser refeito

Falta de comunicao

Atraso nas atividades e retrabalho

Reunio com
solicitante

Deficincia na capacidade tcnica

Atrasos nas atividades do projeto

do desenvolvedor
Adversidades ocorridas com

Ler livros
e manuais

Atrasos nas atividades do projeto

o desenvolvedor
Mudana do Coordenador

Atrasos nas atividades do projeto

Reunio com

de Estgios

e possveis alteraes de requisitos

solicitante

Tabela 1 Anlise de Riscos

Captulo 4. Desenvolvimento

24

4.1.2 Plano de Atividades


Com o objetivo de manter o controle e um planejamento de cada etapa que deve
ser realizada para completar o projeto, foi desenvolvido um plano de atividades baseado
na metodologia Work Breakdown Structure tambm conhecida como WBS contendo a
estrutura das atividades que fazem parte do escopo do projeto (WBS.COM, 2014). As
etapas de desenvolvimento deste projeto esto visveis na WBS (Figura 4).

Figura 4 WBS

Captulo 4. Desenvolvimento

25

4.2 O Novo Sistema


O sistema para gesto dos estgios supervisionados da FACOM foi desenvolvido
para a plataforma Web, ou seja, pode ser acessado de qualquer computador com navegador Web e internet. No sendo necessrio a instalao e configurao no computador do
usurio. Tambm sem necessidade de atualizao sempre que surgir uma verso nova do
software. A linguagem de programao, banco de dados, frameworks e padres utilizados
no sistema esto disponveis na sesso 4.3.
O sistema possui dois perfis de usurios, um para o coordenador de estgios com
acesso a todas funcionalidades disponveis no software e outro para o professor da FACOM
com acesso restrito a apenas algumas funcionalidades relativas a suas atribuies como
orientador ou na composio da banca de avaliao do estgio.
A primeira etapa realizada foi a anlise de requisitos seguindo as boas prticas definidas em AOO, conforme descrito na sesso 2.5, mais especificamente na subseo 2.5.1.
Assim, resumidamente os requisitos que o sistema contempla so:
Cadastro de professor, assinatura, aluno, campus, tema, empresa, banca e trabalho;
Controle de acesso;
Configurar fila de orientao, fila de banca e e-mail;
Calcular fila de orientao e fila de banca;
Envio de e-mails;
Visualizao de relatrios.
Os requisitos detalhados esto disponveis no apndice A.
A segunda etapa foi a definio dos casos de uso, tambm seguindo os conceitos
definidos em AOO. Os casos de uso especificados foram:
Cadastrar professor, campus, tema, aluno, empresa, assinatura, banca e trabalho;
Configurar fila de orientao, fila de banca e envio de e-mail;
Acessar sistema, inserir normas de estgio, realizar pesquisas, finalizar estgio;
Gerar relatrios.
Os casos de uso detalhados esto disponveis no apndice B.
Os casos de uso do sistema SisGES que possuem maior destaque so: o cadastro
de trabalho e o cadastro de banca. Porque so estas funcionalidades que relacionam e

Captulo 4. Desenvolvimento

26

justificam a existncia de todas as outras. Dessa forma, sero explicadas com maiores
detalhes a seguir.
O cadastro de trabalho o caso de uso responsvel por fazer a conexo entre o
aluno e a disciplina de estgio supervisionado. Por meio deste cadastro informado todos
os dados necessrios para que o aluno esteja efetivamente matriculado na disciplina. A
(Figura 5) ilustra por meio de um diagrama de sequncia os detalhes do processo para
cadastrar um trabalho no sistema.

Figura 5 Diagrama de Sequncia: Cadastro de Trabalho


O cadastro de banca o caso de uso responsvel por informar ao sistema que o estgio supervisionado do aluno haver banca de defesa. Assim sendo, preciso convidar no
mnimo 2 (dois) professores para comporem a banca. O convite enviado aos professores
por email, sendo este, uma das funcionalidades apresentadas aps a escolha dos possveis
professores que faro parte da banca. A (Figura 6) ilustra por meio de um diagrama de

Captulo 4. Desenvolvimento

27

sequncia os detalhes do processo para cadastro de uma banca no SisGES.

Figura 6 Diagrama de Sequncia: Cadastro de Banca


A terceira etapa foi a definio e criao dos diagramas de pacotes e classes
seguindo os conceitos definidos em POO e tambm a criao do diagrama EntidadeRelacional das relaes entre as tabelas do banco de dados. Ao finalizar o DER, iniciou-se
a criao dos scripts que representam as tabelas e views no banco de dados PostgreSQL.
Os diagramas esto disponveis respectivamente no apndice D, apndice C, apndice E
e apndice F.
A quarta etapa foi a definio de como ser o clculo para a ordenao das duas
filas existentes no sistema SisGES. As filas so: a fila para escolha dos professores que faro
parte de bancas de defesa e a fila de professores que sero escolhidos como orientadores
de estgios supervisionados. O objetivo da criao das filas para no sobrecarregar um
professor com vrias atividades relacionadas aos estgios dos alunos em relao aos outros.

Captulo 4. Desenvolvimento

28

Dessa forma, as filas permitem uma distribuio mais efetiva das atividades entre todos
os professores.
Os critrios definidos para o clculo de cada fila foram inseridos diretamente em
views do banco de dados, que ao serem consultadas apresentam os dados dos professores
ordenados seguindo as regras que foram estabelecidas.
A regra para o clculo da ordenao da fila de professores que faro parte de bancas
de defesa :
1. Retornar o intervalo de dias entre a data atual menos a data de confirmao da
ltima banca que o professor participou;
2. Divide o intervalo encontrado por 30 para saber uma mdia em relao a meses;
3. Com o nmero da mdia em meses divide pelo nmero total de bancas que o professor
participou;
4. O nmero encontrado quanto maior mais o professor fica entre os primeiros da fila.
A regra para o clculo da ordenao da fila de professores que sero escolhidos
como orientadores de estgio :
1. Retornar o intervalo de dias entre a data atual menos a data da matrcula do ltimo
trabalho que o professor orientou;
2. Divide o intervalo encontrado por 30 para saber uma mdia em relao a meses;
3. Com o nmero da mdia em meses divide pelo nmero total de orientaes do
professor;
4. O nmero encontrado quanto maior mais o professor fica entre os primeiros da fila.
Ao fazer o clculo deve-se desconsiderar os professores que no possuem nenhuma
orientao de trabalhos de estgio ou nenhuma participao em bancas de defesa. O motivo
a diviso por zero, que informaria um erro ao clculo. Para solucionar esse problema
foi definido que todos os professores pertencentes a um desses grupos automaticamente
fazem parte dos primeiros da fila.

4.2.1 Arquitetura do Sistema


A arquitetura do SisGES foi especificada seguindo o padro de arquitetura de
software MVC, com o intuito de alcanar o mximo de reusabilidade de cdigo e separao

Captulo 4. Desenvolvimento

29

Figura 7 Arquitetura do Sistema


de conceitos, conforme descrito na subseo 4.3.7. A representao da estrutura interna
do software de gesto de estgios supervisionados est visvel na (Figura 7).
Resumidamente segue a definio e atribuies de cada camada do sistema:
A View possui os arquivos responsveis por compor o layout e formatar as informaes que o usurio visualiza. Nesta camada onde est presente os componentes do
framework PrimeFaces e JSF;
O Controller onde encontra-se as regras, lgica do sistema e tambm a camada
responsvel pela interceptao de todas as requisies e direcionamento para sua
respectiva tratativa. O gerenciamento feito por Becking Beans do framework JSF;
O Model onde est a definio de todos os objetos que compem o sistema;

Captulo 4. Desenvolvimento

30

O DAO a camada responsvel pela comunicao com o Hibernate para salvar ou


disponibilizar informaes solicitas por alguma funo definida no Controller;
O Hibernate responsvel pela comunicao com o banco de dados PostgreSQL e
por prover comandos para salvar e acessar os dados;
O Util possui as funes de formatao e converso de dados;
O Report responsvel por gerar os relatrios do sistema. Nesta camada onde est
presente a biblioteca ITEXT que disponibiliza as funes para criao dos relatrios.
O Email onde est as funes relacionadas a configurao e envio de email. Nesta
camada onde est presente a biblioteca Commons Email que disponibiliza as funes para configurao e envio de email.

4.3 Tecnologias Utilizados


Para o desenvolvimento deste sistema, foi utilizada a linguagem de programao
orientada a objetos Java em conjunto com os frameworks; Hibernate para o mapeamento
objeto-relacional, JavaServer Faces para a construo de interfaces de usurio baseadas
em componentes e PrimeFaces que fornece um conjunto de componentes visuais para aplicaes Web. O padro para persistncia de dados utilizado foi o Objeto de acesso a dados
(ou simplesmente DAO, acrnimo de Data Access Object). Como sistema gerenciador de
banco de dados, optou-se pelo PostgreSQL. Para a codificao do projeto foi utilizada a
IDE NetBeans em conjunto com o servidor de aplicaes Apache Tomcat. Todos esses
recursos so definidos nas subsees a seguir.

4.3.1 Linguagem Java


A linguagem de programao orientada a objetos Java foi criada por James Gosling, em 1991 por meio de um projeto financiado pela Sun Microsystems. O java chamou
a ateno da comunidade de negcios por causa do enorme interesse na World Wide Web.
Ele agora utilizado para desenvolver aplicativos corporativos de grande porte, aprimorar
a funcionalidade de servidores Web (os computadores que fornecem o contedo que visualizado nos navegadores da Web), fornecer aplicativos para dispositivos voltados para o
consumo popular (por exemplo, telefones celulares, pagers e PDAs) e para muitos outros
propsitos (DEITEL, 2010).
O Java possui a vantagem de no ser apenas uma linguagem, mas uma plataforma
de desenvolvimento completa, sendo possvel desenvolver aplicaes para diversos dispositivos em qualquer Sistema Operacional para qualquer outro sistema. Isso porque sua
execuo no est diretamente ligada ao Sistema Operacional, mas apenas a JVM que faz

Captulo 4. Desenvolvimento

31

a interpretao e execuo dos ByteCodes gerados ao compilar o cdigo, possibilitando a


portabilidade entre sistemas (COMMUNITY, 2014b). Alm disso, h um conjunto de Frameworks para diversas finalidades, desenvolvidos pela comunidade de usurios e algumas
empresas, que visam aumentar a produtividade e facilitar o trabalho do desenvolvedor.
Possui uma grande comunidade de usurios em todo o mundo, tornando-se fcil encontrar
materiais sobre o assunto em sites, comunidades em redes sociais e fruns para discusses de possveis dvidas. Devido aos benefcios mencionados, o Java foi a linguagem de
programao utilizada para desenvolver o novo software.

4.3.2 Ambiente de Desenvolvimento NetBeans


O NetBeans um ambiente de desenvolvimento integrado (IDE) que permite o
desenvolvimento de aplicaes desktop Java, mveis, Web entre outras. Ela gratuita e
tem cdigo-fonte aberto, alm de uma grande comunidade de usurios e desenvolvedores
em todo o mundo (ORACLE, 2014b).
A IDE NetBeans auxilia programadores a escrever, compilar, debugar e instalar
aplicaes, e foi arquitetada em forma de uma estrutura reutilizvel que visa simplificar
o desenvolvimento e aumentar a produtividade, pois rene em uma nica aplicao todas
estas funcionalidades. Totalmente escrita em Java, mas que pode suportar qualquer outra
linguagem de programao (ORACLE, 2014b).
O NetBeans fornece uma base slida para a criao de projetos e mdulos, possui
um grande conjunto de bibliotecas, mdulos e APIs (Application Program Interface, um
conjunto de rotinas, protocolos e ferramentas para a construo de aplicativos de software)
alm de uma documentao vasta, inclusive em portugus, bem organizada. Tais recursos
auxiliam o desenvolvedor a escrever seu software de maneira mais rpida. A distribuio da
ferramenta realizada sob as condies da SPL (Sun Public License) (ORACLE, 2014b).
Devido aos benefcios mencionados, o NetBeans o IDE que auxilia na codificao do
sistema para gerenciamento de estgios.

4.3.3 Servidor de Aplicaes Apache Tomcat


O servidor Apache Tomcat um container Web de cdigo fonte aberto baseado
em Java que foi criado para executar aplicaes Web que utilizam tecnologias Servlets e
JSPs (APACHE, 2014).
O Tomcat mantido por um grupo de voluntrios da comunidade de cdigo aberto
do Java Apache Tomcat um servidor bastante estvel com todas as caractersticas que
um container comercial de aplicaes Web possui. Ele trs junto consigo uma aplicao
Web chamada Tomcat Manager. Esta aplicao Web instalada no contexto ou manager e
atravs de qualquer navegador de internet prov funcionalidades bsicas para gerenciar as

Captulo 4. Desenvolvimento

32

aplicaes Web que esto rodando no servidor. Entre as funcionalidades oferecidas esto
a instalao, inicializao, paralisao, remoo e relatrios das aplicaes web (MEDEIROS, 2014).
De acordo com a arquitetura bsica do Tomcat, inicialmente criado uma instncia
do container Web que o componente de mais alto nvel na sua hierarquia. Apenas uma
nica instncia dele pode existir em uma nica JVM. Esta abordagem torna todas as outras aplicaes Java, rodando em uma mesma mquina fsica no servidor Tomcat, seguras
caso o Tomcat ou a JVM trave. Podemos ter mltiplas instncias numa mesma mquina
fsica, porm como processos Java separados rodando em portas separadas (MEDEIROS,
2014). Devido aos benefcios mencionados, o Tomcat foi escolhido como o servidor de
aplicaes do SisGES.

4.3.4 Banco de Dados PostgreSQL


PostgreSQL um sistema de banco de dados objeto-relacional open source. Tem
mais de 15 anos de desenvolvimento ativo e uma arquitetura comprovadamente com tima
reputao relacionada a confiabilidade, integridade de dados e correo. Ele funciona em
todos os principais sistemas operacionais, incluindo Linux, UNIX (AIX, BSD, HP-UX,
SGI IRIX, Mac OS X, Solaris, Tru64), e Windows. totalmente compatvel com ACID,
tem suporte completo para as chaves estrangeiras, joins, views, triggers, e procedimentos armazenados em vrios idiomas. Ele suporta o armazenamento de grandes objetos
binrios, incluindo imagens, sons e vdeo. Possui interfaces de programao nativas para
C/C++, Java,.Net, Perl, Python, Ruby, Tcl, ODBC, entre outros, e uma completa documentao (GROUP, 2014a).
O PostgreSQL um software gratuito, possui tima reputao se comparado aos
outros SGBDOR e de acordo com (IT, 2014) est em 4o lugar em popularidade. Existem
vrias ferramentas de gerenciamento fceis de aprender e utilizar para manipulao e
manuteno do banco. Possibilita realizar Backup consistente com o banco de dados online sem bloquear os usurios. flexvel sendo executado em diversas plataformas. Robusto
suportando grande volume de dados, com bancos de dados e tabelas de at 16 Terabytes
e transaes concorrentes com alta estabilidade. H tambm, mecanismos de segurana
contra falhas e extenses orientadas a objeto, como tipos abstratos de dados e herana.
Alm de ser utilizado por grandes empresas no rea de tecnologia como Apple, Cisco,
Fujitsu, Red Hat entre outras (GROUP, 2014b). Devido aos benefcios mencionados, o
PostgreSQL o sistema de banco de dados do SisGES.

Captulo 4. Desenvolvimento

33

4.3.5 Framework Hibernate


O Hibernate um software livre de cdigo aberto utilizado para o mapeamento
objeto-relacional escrito na linguagem Java. Ele foi criado por desenvolvedores Java, espalhados ao redor do mundo, e liderado por Gavin King. Posteriormente, JBoss Inc. (empresa
comprada pela Red Hat) que contratou os principais desenvolvedores do programa para
fazer o seu suporte. O objetivo do Hibernate diminuir a complexidade entre os programas
Java, baseado no modelo orientado a objeto, que precisam trabalhar com um banco de
dados do modelo relacional, presente na maioria dos SGBDs. Sua principal caracterstica
a transformao das classes em Java para tabelas de dados (e dos tipos de dados Java
para os da SQL). O Hibernate gera as chamadas SQL e libera o desenvolvedor do trabalho
manual da converso dos dados resultante, mantendo o programa portvel para quaisquer
bancos de dados SQL, porm causando um pequeno aumento no tempo de execuo. Possui uma linguagem de consulta prpria a HQL (Hibernate Query Language) que um
dialeto SQL para o Hibernate. Ela uma poderosa linguagem de consulta que se parece
muito com a SQL, mas a HQL totalmente orientada a objeto, incluindo os paradigmas
de herana, polimorfismo e encapsulamento. No Hibernate, possvel utilizar a linguagem
SQL quanto a HQL. Escolhendo a HQL, poder ser executado os pedidos SQL sobre as
classes de persistncia do Java ao invs de tabelas no banco de dados (COMMUNITY,
2014a).
O Hibernate um framework que realiza a abstrao do modelo entidade-relacional
do banco de dados para o modelo orientado a objetos da linguagem Java, por meio da
linguagem HQL. Sendo que sem a utilizao de um framework que realize esse trabalho,
a todo momento o desenvolvedor devera transformar objetos em registros e registros em
objetos, aumentando consideravelmente o tempo e diminuindo a produtividade no desenvolvimento. Alm disso, com a utilizao do Hibernate consegue-se manter a independncia do software ao banco de dados utilizado, sendo possvel a mudana do banco sem
alteraes na aplicao. Devido aos benefcios mencionados, o Hibernate o framework
que auxilia na persistncia dos dados do sistema para gerenciamento de estgios.

4.3.6 Framework JavaServer Faces


A tecnologia JavaServer Faces um framework para a construo de interfaces de
usurio para aplicaes Java Web. A tecnologia inclui um conjunto de APIs que representam os componentes de interface do usurio e gerenciamento de seu estado, manipulao
de eventos e validao de entradas, definindo regras de navegao de pginas, e apoia
a internacionalizao e acessibilidade. Possui uma biblioteca de tags personalizadas para
renderizao de componentes em pgina no formato JSP ou Facelets. Alm de um modelo
de programao dirigido a eventos, abstraindo os detalhes da manipulao dos eventos e
organizao dos componentes, permitindo que o desenvolvedor se concentre na lgica da

Captulo 4. Desenvolvimento

34

aplicao (ORACLE, 2011).


O JavaServer Faces foi selecionado como framework para auxiliar na criao e manipulao de interfaces por ser open source e implementar por padro o modelo MVC.
Alm das seguintes facilidades: facilita a construo de uma UI usando um conjunto de
componentes reutilizveis, simplifica a migrao de dados da aplicao para a UI e provenientes dela, ajuda a gerenciar o estado da UI nas solicitaes do servidor, oferece um
modelo simples para conectar os eventos gerados pelo cliente ao cdigo da aplicao do
servidor e permite personalizar os componentes de UI para que sejam facilmente construdos e reutilizados (COMMUNITY, 2013).

4.3.7 Padro Model-View-Controller


O JavaServer Faces segue o padro de projeto MVC, o que torna as aplicaes em
JSF mais gerenciveis (SCHALK, 2005). Programar usando o MVC separa sua aplicao
em trs partes principais: O Model gerncia o comportamento e os dados do domnio da
aplicao, responde a pedidos de informaes sobre o seu estado (geralmente a partir da
View), e responde a instrues para alterar o estado (geralmente a partir do Controller).
A View gerncia a exibio de informaes. O Controller interpreta entradas do usurio,
informando o Model ou a View as mudanas apropriadas (MICROSOFT, 2013). Devido
aos benefcios expostos acima, ser utilizado o MVC para a estruturao do cdigo da
aplicao.

4.3.8 Framework PrimeFaces


A tecnologia PrimeFaces um front-end framework usado para melhorar a usabilidade e simplicidade dos softwares criados com JavaServer Faces por meio de variados
componentes reutilizveis para UI. A utilizao de seus componentes traz grande performance e fornece funcionalidades fundamentais para UI, que antes precisavam ser desenvolvidas pelo programador. Assim, ele oculta a complexidade e aumenta a flexibilidade ao
desenvolvimento. Possui grande comunidade ativa fornecendo feedback, novas idias, relatrios de bugs e patches (PRIMETEK, 2014). Alm disso, de acordo com (DEVRATES,
2014), o PrimeFaces assumiu a liderana com classificao geral 9.4, como o favorito framework para criao de ricas UIs. Devido aos benefcios expostos acima, ser utilizado
o PrimeFaces para compor a interface da aplicao.

4.3.9 Padro Data Access Object


O padro Data Access Object ou simplesmente DAO usado para abstrair e encapsular todo o acesso fonte de dados. O DAO gerncia a conexo com a fonte de dados
para obter e armazenar dados. Assim, so separadas as regras de negcio das regras de

Captulo 4. Desenvolvimento

35

acesso a fonte de dados, ocultando completamente os detalhes da implementao do banco


de dados de seus clientes. Como a interface exposta pelo DAO para clientes no muda
quando ocorre mudanas subjacentes na implementao de fontes de dados, este padro
permite que o DAO se adapte a diferentes sistemas de armazenamento, sem afetar seus
clientes ou componentes de negcios (ORACLE, 2014a). Devido aos benefcios expostos,
ser feito uso do padro DAO na aplicao de gesto de estgios.

4.3.10 Padro Singleton


O padro Singleton garante que uma classe tenha apenas uma instncia e fornece
um ponto global de acesso a ela. Ou seja, uma classe gerencia a prpria instncia alm
de evitar que qualquer outra classe crie uma instncia sua. Para criar uma instncia
necessrio obrigatoriamente solicitar a classe, dessa forma, nenhuma outra classe pode
instancia-la. O Singleton tambm oferece um ponto global de acesso a sua instncia. A
prpria classe sempre vai oferecer a prpria instncia e caso no tenha ainda uma instncia,
ento ela cria e retorna essa nova instncia (FREEMAN, 2007). O padro foi utilizado
para garantir que cada sesso do sistema tenha apenas uma conexo com o Hibernate e
consequentemente com o banco de dados PostgreSQL. Assim, garantimos que cada sesso
de usurio instancie apenas uma conexo com o banco de dados e utilize a mesma em
todas as suas solicitaes, reduzindo a possibilidade de problemas de erro devido alcanar
o nmero mximo de conexes simultneas com o banco de dados.

4.3.11 Apache POI


O Apache POI uma biblioteca desenvolvida pela Apache Software Foundation
para manipular vrios formatos de arquivo baseadas nas normas Office Open XML (OOXML)
e OLE2 formato de documentos da Microsoft. Usada principalmente para ler e escrever
arquivos no formato Excel, usando a linguagem Java. Alm disso, pode-se ler e escrever
arquivos no formato do editor de texto Word e formato PowerPoint (OLIVER, 2014).
A biblioteca foi utilizada como uma soluo Java para visualizar os dados das tabelas
presentes nas telas de visualizao do sistema SisGES em arquivos Excel. Outro motivo
determinante foi devido aos desenvolvedores do framework PrimeFaces recomendarem a
utilizao da biblioteca.

4.3.12 ITEXT
O iText uma biblioteca Open Source que permite criar e manipular documentos
no formato PDF. Ela possibilita aos desenvolvedores adicionar dinamicamente a gerao
de arquivos PDF em suas aplicaes Web ou qualquer outra aplicao, utilizando a linguagem Java ou .NET (CORP, 2014). A biblioteca foi usada como uma soluo Java para

Captulo 4. Desenvolvimento

36

criao dos relatrios para o sistema SisGES, devido sua eficincia na gerao de arquivos
e facilidade de criao e manipulao.

4.3.13 Apache Commons Email


O Commons Email uma biblioteca para envio de email. Ela foi desenvolvida pela
Apache Software Foundation utilizando-se da biblioteca Java Mail, com objetivo de ser
mais simples e oferecer mais funcionalidades aos desenvolvedores. Por meio da biblioteca
possvel enviar emails de variados formatos, sendo eles: textos puros, em formato HTML
e tambm email com anexos (FOUNDATION, 2014). A biblioteca foi usada como uma
soluo Java para envio de email conforme solicitado nos requisitos funcionais do sistema
SisGES.

Captulo 4. Desenvolvimento

37

4.4 Apresentao do Software


Esta sesso apresenta a descrio completa de todas as funcionalidades presentes
no software SisGES. So apresentados os processos relacionados a cada funcionalidade e
suas caractersticas, seguidas das respectivas interfaces, abordando todos os aspectos e
objetivos das interfaces e os detalhes de suas funcionalidades.

4.4.1 O Processo
Nessa subseo apresentado a descrio do processo proposto pelo software SisGES. Inicialmente para acessar o sistema SisGES necessrio autenticar-se na pgina
inicial ou de login. A autenticao do usurio feita utilizando-se o nmero de Siape e
senha. O sistema proposto foi desenvolvido para permitir acesso a apenas dois perfis de
usurio, o perfil de coordenador de estgio e o perfil para professores da FACOM. Na
pgina inicial existe a opo para o professor que no tem acesso ao sistema fazer a solicitao por meio do preenchimento de um formulrio. Aps salvar os dados preenchidos
o sistema envia um email para o coordenador de estgios solicitando a criao do acesso.
Tambm na tela de login existe a opo para solicitar uma nova senha de acesso caso o
usurio esquea sua senha atual, sendo necessrio informar seu Siape para que o sistema
envie para seu email uma nova senha temporria. A Figura 8 ilustra a tela de login do
software.

Figura 8 Tela de Login

Captulo 4. Desenvolvimento

38

O acesso ao sistema realizado por meio do login, sendo que, nessa etapa feita
a verificao da corretude dos dados informados, se o usurio existe e qual o seu perfil.
Apenas aps a validao dos dados estiver correta a tela principal acessada. Caso contrrio mostrado mensagens de alerta informando o motivo de no prosseguir para a tela
principal do sistema. A Figura 9 ilustra a pgina de login com as possveis mensagens de
erro. A Figura 10 ilustra a pgina principal.

Figura 9 Tela de Login (Mensagens de Erro)

Figura 10 Tela Principal

Captulo 4. Desenvolvimento

39

As funcionalidades do sistema so encontradas no Menu na parte lateral esquerda.


Como existem dois perfis, para cada perfil existe um Menu diferente na pgina inicial. As
opes disponveis no Menu do sistema so modificadas de acordo com o perfil de acesso. O
perfil coordenador de estgio tem acesso a todas as funcionalidades do sistema, j o perfil
professor tem acesso a apenas algumas funcionalidades relativas aos seus orientandos,
dados do trabalho, se haver banca de defesa, seus dados pessoais e bancas que participou
como convidado. A Figura 11 ilustra as opes de Menu do perfil coordenador de estgios
e de professor.

(a) Menu Coordenador

(b) Menu Professor

Figura 11 Menus do sistema

Captulo 4. Desenvolvimento

40

4.4.2 Funcionalidades
Nesta subseo apresentado a descrio das funcionalidades disponveis no Menu
do perfil coordenador de estgios que o perfil que possui permisso para acessar todas
as funcionalidades do sistema. A primeira funcionalidade de cima para baixo encontrada
nesse Menu um link com o nome Tela Principal para acessar a pgina principal do
sistema, onde se visualiza a mensagem de boas vindas, alm das opes de alterao dos
dados do usurio e senha. A prxima opo um link com o nome logoff que usado
para sair do sistema e retornar para pgina inicial.
Na sequncia inicia-se as trs funcionalidades que tambm esto disponveis ao
perfil de um professor no sistema. A primeira Meus Dados que possibilita ao usurio
visualizar seus dados ou alter-los. Em seguida, h mais duas opes que so respectivamente: Orientaes, que permite ao usurio a visualizao das suas orientaes por
meio das informaes dos alunos orientandos e seus respectivos trabalhos e bancas, e o
outro Participaes em Bancas que informa as bancas que o usurio participou ou
ir participar por meio das informaes dos alunos, trabalhos e detalhes das banca, como
local, dia e horrio.
O sistema possibilita a exportao dos dados contido em qualquer tabela das telas
de visualizao para o formato de planilha Excel. A Figura 12 ilustra a tela que possui a
tabela de orientandos, os botes Visualizar Trabalho e Visualizar Banca e o cone do
Excel para exportao de dados. A tabela de orientandos apresenta os dados de todos os
alunos que o professor que est atualmente utilizando o sistema orienta, sendo possvel
acessar as informaes relacionadas ao trabalho do aluno e banca. Na tabela tambm
est presente os filtros para cada coluna, por meio deles possvel encontrar um aluno
rapidamente.

Figura 12 Tela de Visualizao dos Orientandos

Captulo 4. Desenvolvimento

41

As prximas duas faixas de opes so respectivamente Coordenador e Informaes representam as funcionalidades exclusivas de um coordenador de estgios.
Iniciando na faixa Coordenador h a opo Aluno que possibilita a visualizao, insero e alterao do cadastro de alunos matriculados em estgio no sistema. A
Figura 13 ilustra a tela com a tabela de alunos, o link para cadastro e o boto para alterar
os dados de um aluno e a Figura 14 ilustra a tela de cadastro de aluno.

Figura 13 Tela de Visualizao dos Alunos

Figura 14 Tela de Cadastro dos Alunos

Captulo 4. Desenvolvimento

42

A prxima opo a rea de Estgio que possibilita a visualizao, cadastro e


alterao do assunto ou rea a qual se est realizando o estgio. A Figura 15 ilustra a
tela para visualizao dos assuntos cadastrados e a Figura 16 ilustra a tela de cadastro
de rea.

Figura 15 Tela de Visualizao de reas de Estgio

Figura 16 Tela de Cadastro da rea de Estgio

Captulo 4. Desenvolvimento

43

Na sequncia h o Campus que permite a visualizao, cadastro e alterao


dos dados relativos ao campus. O objetivo dessa funcionalidade facilitar a modificao
quando necessria dos dados dos campus cadastrados, devido suas informaes serem
apresentadas nos relatrios e tambm permitir a utilizao do sistema em mais de um
campus da UFU. Dessa forma, as informaes presentes no cabealho dos relatrios sempre
estaro atualizadas conforme o campus selecionado no momento da extrao dos relatrios
no sistema. A Figura 17 ilustra a tela para visualizao dos campus cadastrados e a
Figura 18 ilustra a tela de cadastro de campus.

Figura 17 Tela de Visualizao do Campus

Figura 18 Tela de Cadastro do Campus

Captulo 4. Desenvolvimento

44

A prxima opo o Curso que possibilita a visualizao, cadastro e alterao


dos dados relacionados aos cursos da FACOM. Na Faculdade de Computao cada curso
possui uma carga horria de estgio obrigatrio diferente para ser integralizada. Assim,
ao cadastrar um trabalho o sistema automaticamente calcula a data mnimo para termino
do estgio obrigatrio. A Figura 19 ilustra a tela para visualizao dos cursos cadastrados
e a Figura 20 ilustra a tela de cadastro dos cursos.

Figura 19 Tela de Visualizao dos Cursos

Figura 20 Tela de Cadastro dos Cursos

Captulo 4. Desenvolvimento

45

Em seguida h a opo Empresa que possibilita a visualizao, cadastro e alterao dos dados relacionados s empresas que os alunos realizam o estgio. A Figura 21
ilustra a tela para visualizao das empresas cadastradas e a Figura 22 ilustra a tela de
cadastro das empresas.

Figura 21 Tela de Visualizao das Empresas

Figura 22 Tela de Cadastro das Empresas

Captulo 4. Desenvolvimento

46

A prxima opo no Menu Professor que possibilita a visualizao, cadastro


e alterao dos dados de um professor da FACOM. No cadastro do professor alm de
preencher seus dados pessoais, tambm h a possibilidade de selecionar os dias da semana
e horrios que ele poder participar de bancas caso seja convidado. O coordenador consultando a informao de disponibilidade poder convidar apenas os professores que no
dia e horrio estejam disponveis conforme informado no sistema, aumentando assim a
probabilidade de aceitao por parte do professor convidado. A Figura 25 ilustra a tela
para selecionar a disponibilidade do professor.
Na tabela de professores para cada coluna possvel utilizar filtros para encontrar
um professor especfico e para tabela no se tornar maior que a tela, devido ao grande
nmero de professores cadastrados, foi inserido um modelo de paginao com limite de
dez professores por pgina, com objetivo de melhorar a usabilidade e o layout da tela.
A Figura 23 ilustra a tela para visualizao dos dados dos professores cadastrados e a
Figura 24 ilustra a tela de cadastro de professores
Outra funcionalidade presente na tabela de professores de desativar um professor,
o que significa que esse professor no poder mais acessar o sistema e no poder ser
orientador de alunos. Porm seus dados relacionados as orientaes passadas continuaram
salvas e possveis de acesso por meio da visualizao de relatrios.

Figura 23 Tela de Visualizao dos Professores

Captulo 4. Desenvolvimento

Figura 24 Tela de Cadastro de Professor

Figura 25 Tela de Cadastro de Disponibilidade

47

Captulo 4. Desenvolvimento

48

Em seguida h a opo Trabalho que possibilita a visualizao, cadastro e alterao dos dados relacionados aos trabalhos que os alunos realizam em empresas. A
Figura 26 ilustra a tela para visualizao dos trabalhos cadastrados e a Figura 27 ilustra
a tela de cadastro do trabalho.

Figura 26 Tela de Visualizao dos Trabalhos

Figura 27 Tela de Cadastro do Trabalho

Captulo 4. Desenvolvimento

49

Alm das funcionalidades mencionadas, encontra-se tambm a possibilidade do


cadastro, alterao e visualizao de bancas. Para compor a banca necessrio convidar
no mnimo dois professores conforme ilustra a Figura 28 que representa a tela de cadastro.
Aps o convite os professores informaro para o coordenador se esto disponveis da data
informada. Se confirmados, o coordenador finalizar a banca na tela de confirmao de
convidados conforme ilustra a Figura 29. Ainda na tela de confirmao de convidados aps
selecionado e salvo no mnimo dois convidados a ata de defesa se torna disponvel clicando
no boto Gerar Ata de Defesa. Um exemplo de Ata de Defesa pode ser visualizado na
Figura 53 do apndice G.

Figura 28 Tela de Cadastro de Banca

Figura 29 Tela de Confirmao de Convidados

Captulo 4. Desenvolvimento

50

A prxima e ltima funcionalidade do Menu a opo Relatrios que possibilita


a visualizao de relatrios conforme descrito no requisito funcional presente na tabela
15 do apndice A. A Figura 30 ilustra a tela para visualizao dos relatrios disponveis.
Todos os relatrios do sistema podem ser visualizados no apndice G.

Figura 30 Tela de Visualizao de Relatrios

51

5 Concluso
Este trabalho teve como objetivos a especificao, desenvolvimento e implantao de um novo sistema de gerenciamento de estgios supervisionados para FACOM. O
software foi desenvolvido seguindo anlise e especificao de requisitos realizado junto
ao coordenador de estgios. A partir dos requisitos funcionais e no funcionais coletados foram definidos: a plataforma Web, linguagem de programao Java, banco de dados
PostgreSQL e alguns frameworks para padronizar a codificao, layout e relatrios da
aplicao. Todas essas ferramentas foram selecionadas motivadas pela necessidade de um
desenvolvimento gil que atendesse, da melhor forma possvel, o cenrio atual da coordenadoria de estgios, sem deixar de seguir uma metodologia de desenvolvimento e as boas
prticas definidas na Engenharia de Software.
Os mdulos desenvolvidos foram: Mdulo para persistncia dos dados; mdulo de
acesso ao sistema; mdulo de gerenciamento de cadastro, alterao e excluso de professor,
aluno, banca, curso, empresa, tema e trabalho; mdulo para gerenciamento das pginas;
mdulo para importao dos dados de professores e alunos; mdulo para envio de avisos
por e-mail para aluno e orientador e para finalizar o mdulo para gerao de relatrios.
Houve alguns contratempos para definir a melhor forma de importar os dados do sistema anterior, de forma que o sistema desenvolvido contivesse todos os dados registrados
at o momento. Apesar dos problemas encontrados na finalizao do desenvolvimento e
implantao do sistema, todos as correes necessrias foram realizadas.
O cdigo-fonte do sistema SisGES foi disponibilizado publicamente no repositrio GitHub na internet. O link para acesso <https://github.com/alessandrorezende/
SisGES> sob licena de software livre MIT.
O sistema encontra-se em ambiente de produo conforme o planejado e em avaliao pelo coordenador de estgios, sendo utilizado comitantemente com o sistema antigo.
Apesar de estar em fase de avaliao, foi constatado que o sistema atende todos os requisitos solicitados e consequentemente atende as necessidades da coordenao de estgios.
Portanto, o software cumpre com os objetivos definidos, que resumidamente so: o de
facilitar para os envolvidos o acompanhamento das atividades relacionadas ao estgio
supervisionado, mais especificamente para coordenao conseguir definir o volume de trabalho, alocao de orientadores e disponibilizar as informaes desse processo, baseado
em dados corretos e completos.

Captulo 5. Concluso

52

5.1 Trabalhos Futuros


O sistema de gerenciamento de estgios supervisionados desenvolvido neste trabalho, foi implantado na Faculdade de Computao do campus Santa Mnica em Uberlndia.
A UFU possui uma extenso da FACOM no campus Pontal na cidade de Monte Carmelo,
onde ainda no existe um software para o gerenciamento dos estgios. Assim sendo, existe
uma necessidade da implantao desse sistema para atender a demanda de estgios realizados no campus do Pontal. Para sua implantao, inicialmente preciso uma avaliao
dos requisitos que atendam esse campus e se houver divergncias com os atuais possa
ser realizado uma adequao, adio ou melhoria nas funcionalidades do sistema SisGES.
Dessa forma, a FACOM conseguir assegurar que todos as informaes relativas a estgio, independentemente do campus, estejam armazenadas seguindo uma padronizao e
consequentemente, obter uma otimizao no processo de gesto dos estgios, alm de um
maior controle e facilidade no acompanhamento dos alunos matriculados nesta disciplina.
Uma funcionalidade que poderia ser adicionada ao SisGES a criao de um perfil
para os alunos matriculados acessarem o sistema. Assim, eles acompanhariam o processo
online, sem precisar ir a coordenao de estgios caso tenham alguma dvida sobre qual
a data e local ser a defesa ou qual o professor que est cadastrado como orientador do
seu estgio.
Outra oportunidade utilizar o sistema SisGES para gerenciar atividades relacionadas ao Trabalho de Concluso de Curso (TCC). Essa possibilidade torna-se necessria
devido ao alto nmero de alunos matriculados nessa disciplina e a dificuldade de reunir
os dados de vrios anos e construir uma estatstica que informe, por exemplo, qual a
taxa de concluintes em relao s matriculas em um determinado perodo em um curso
da faculdade. Assim sendo, entende-se que as informaes disponveis no sistema contribuir decisivamente para uma melhora continua das atividades de ensino e organizao
do processo em si.

53

Referncias
APACHE, T. A. S. F. Apache Tomcat. 2014. Site Oficial. Disponvel em: <http:
//tomcat.apache.org/index.html>. Acesso em: 03 janeiro 2015. Citado na pgina 31.
BIANCHI, R. Orientao para Estgio em Licenciatura. So Paulo: Cengage, 2005.
Citado na pgina 12.
CHAMOVITZ, I. AGRS : gerador de redes sistmicas na web : um instrumento de apoio
ao desenvolvimento cooperativo e a distncia de atividades acadmicas. Dissertao
(Dissertao de Mestrado) Universidade Federal do Rio de Janeiro, 2004. Citado na
pgina 19.
COMMUNITY, H. Hibernate ORM. 2014. Site Oficial. Disponvel em: <http:
//hibernate.org/orm/>. Acesso em: 12 maio 2014. Citado na pgina 33.
COMMUNITY, J. O que a Tecnologia Java e porque preciso dela. 2014. Site Oficial.
Disponvel em: <http://www.java.com/download/faq/whatis_java.xml>. Acesso em: 03
agosto 2014. Citado na pgina 31.
COMMUNITY, N. Introduo ao JavaServer Faces 2.x. 2013. Site. Disponvel em:
<https://netbeans.org/kb/docs/web/jsf20-intro_pt_BR.html>. Acesso em: 03 agosto
2014. Citado na pgina 34.
CORP, T. S. ITEXT, PROGRAMMABLE PDF SOFTWARE. 2014. Site Oficial.
Disponvel em: <http://itextpdf.com/>. Acesso em: 25 maio 2015. Citado na pgina
35.
DEITEL, H. M. Java Como Programar. So Paulo: Pearson Prentice Hall, 2010. Citado
na pgina 30.
DEVRATES. TOP 10 FRAMEWORKS BY CATEGORY. 2014. Site. Disponvel em:
<http://devrates.com/stats/index>. Acesso em: 03 agosto 2014. Citado na pgina 34.
DORA, F. A. Normas de Estgio Supervisionado do Bacharelado em Cincia da
Computao. 2014. Site Oficial. Disponvel em: <http://www.facom.ufu.br/estagio/
BCC/NORMAS_ESTAGIO_BCC_2013.pdf>. Acesso em: 07 de fevereiro 2014. Citado
na pgina 12.
FALBO, R. de A. Engenharia de Software - Notas de Aula. 2014. Site. Disponvel
em: <http://www.pedrofcarvalho.com.br/PDF/ENGENHARIA_CICLO_VIDA_
CASCATA.pdf>. Acesso em: 09 novembro 2014. Citado 3 vezes nas pginas 20, 21 e 22.
FILHO, A. P. S. O Estgio Supervisionado e sua importncia na formao
docente. 2014. Site Oficial. Disponvel em: <http://www.partes.com.br/educacao/
estagiosupervisionado.asp>. Acesso em: 07 de fevereiro 2014. Citado na pgina 13.
FOUNDATION, T. A. S. Commons Email. 2014. Site Oficial. Disponvel em:
<https://commons.apache.org/proper/commons-email/>. Acesso em: 25 maio 2015.
Citado na pgina 36.

Referncias

54

FREEMAN, E. e. E. Use a Cabea ! Padres de Projetos (design Patterns) - 2a Ed.


Revisada. So Paulo: Alta Books, 2007. Citado na pgina 35.
GAMMA, E. R. H. R. J. e. J. V. Padres de Projeto - Solues reutilizveis de software
orientados a objetos. So Paulo: Bookman, 2000. Citado na pgina 14.
GROUP, T. P. G. D. About PostgreSQL. 2014. Site Oficial. Disponvel em:
<http://www.postgresql.org/about/>. Acesso em: 12 maio 2014. Citado na pgina 32.
GROUP, T. P. G. D. Featured Users. 2014. Site Oficial. Disponvel em: <http:
//www.postgresql.org/about/users/>. Acesso em: 03 agosto 2014. Citado na pgina 32.
GRS. Modelo Cascata ou Clssico. 2014. Site. Disponvel em: <http://www.api.adm.br/
GRS/referencias/t1_g13.modeloCascata.pdf>. Acesso em: 06 novembro 2014. Citado
na pgina 19.
IT solid. DB-Engines Ranking. 2014. Site. Disponvel em: <http://db-engines.com/en/
ranking>. Acesso em: 03 agosto 2014. Citado na pgina 32.
JACOBSON, I. Object Oriented Software Engineering: A Use Case Driven Approach.
[S.l.]: Addison-Wesley Professional, 1993. Citado na pgina 19.
KLLING, D. J. B. e M. Programao Orientada a Objetos com Java: Uma introduo
prtica usando BlueJ. So Paulo: Pearson Education, 2004. Citado na pgina 19.
LEE, R. C. e. W. M. T. Uml e C++ Guia Pratico de Desenvolvimento Orientado a
Objetos. So Paulo: Makron Books, 2001. Citado na pgina 15.
MEDEIROS, H. Introduzindo o servidor de aplicao Apache Tomcat. 2014. Site. Disponvel em: <http://www.devmedia.com.br/
introduzindo-o-servidor-de-aplicacao-apache-tomcat/27939#ixzz3O0qlz3Ba>.
Acesso em: 03 janeiro 2015. Citado na pgina 32.
MESQUITA, D. G. Normas de Estgio Curricular do Bacharelado em Sistemas de
Informao. 2014. Site Oficial. Disponvel em: <http://www.facom.ufu.br/estagio/BSI/
NormasEstagio_BSI.pdf>. Acesso em: 07 de fevereiro 2014. Citado na pgina 12.
MICROSOFT. Model-View-Controller. 2013. Site. Disponvel em: <http://msdn.
microsoft.com/en-us/library/ff649643.aspx>. Acesso em: 04 agosto 2014. Citado na
pgina 34.
OLIVER, G. S. A. C. Apache POI - the Java API for Microsoft Documents. 2014. Site
Oficial. Disponvel em: <https://poi.apache.org/>. Acesso em: 25 maio 2015. Citado
na pgina 35.
ORACLE. FREQUENTLY ASKED QUESTIONS about JavaServer Faces Technology.
2011. Site Oficial. Disponvel em: <https://wikis.oracle.com/display/GlassFish/
JavaServerFacesSpecFaq#JavaServerFacesSpecFaq-WhatisJavaServerFacestechnology>.
Acesso em: 04 agosto 2014. Citado na pgina 34.
ORACLE. Core J2EE Patterns - Data Access Object. 2014. Site Oficial. Disponvel em:
<http://www.oracle.com/technetwork/java/dataaccessobject-138824.html>. Acesso em:
04 agosto 2014. Citado na pgina 35.

Referncias

55

ORACLE, O. C. NetBeans IDE - A Forma Mais Inteligente e Rpida de Codificar.


2014. Site Oficial. Disponvel em: <https://netbeans.org/features/index_pt_BR.html>.
Acesso em: 03 janeiro 2015. Citado na pgina 31.
PRIMETEK. Why PrimeFaces. 2014. Site Oficial. Disponvel em: <http://primefaces.
org/whyprimefaces>. Acesso em: 04 agosto 2014. Citado na pgina 34.
SCHALK, C. Introduction to Javaserver Faces - What is JSF? 2005. Site. Disponvel
em: <http://www.oracle.com/technetwork/topics/index-090910.html>. Acesso em: 04
agosto 2014. Citado na pgina 34.
SINTES, A. Aprenda Programao Orientada a Objetos em 21 Dias. So Paulo: Makron
Books, 2002. Citado 5 vezes nas pginas 16, 17, 18, 58 e 66.
SOMMERVILLE, I. Engenharia de software. So Paulo: Pearson Education Companion,
2003. Citado na pgina 13.
WBS.COM. Work Breakdown Structure (WBS). 2014. Site Oficial. Disponvel em:
<https://www.workbreakdownstructure.com/>. Acesso em: 03 janeiro 2015. Citado na
pgina 24.

56

Glossrio
Excel

Editor de planilhas produzido pela Microsoft,


40

Facelets

Um sistema de template Web, 34

Framework

Uma abstrao que une cdigos comuns entre vrios projetos de software provendo uma
funcionalidade genrica, 20

Open Source

Software com cdigo fonte e distribuio livre, 34

Plataforma Desktop

Por meio dessa plataforma so desenvolvidos


sistemas que para serem utilizados preciso
ser instalados ou copiados seus executveis
para o computador cliente, 11

Plataforma Web

Por meio dessa plataforma so desenvolvidos


sistemas que para serem utilizados necessrio um computador que possuam navegador
Web e acesso a internet, 28

Servlets

Classe Java usada para estender as funcionalidades de um servidor web, 31

Siape

Identificao funcional de professores da


UFU, 37

Tag

Estruturas de linguagem de marcao, 33

World Wide Web

Conhecida tambm como Web, um sistema


de documentos em hipermdia que so interligados e executados na Internet, 11

Apndices

58

APNDICE A Requisitos do Sistema


Os requisitos so os recursos ou caractersticas que o sistema deve ter para resolver
determinado problema (SINTES, 2002).
Requisito Funcional 1
Descrio

Cadastrar professor

Oculto

()

Este requisito funcional permite que o coordenador de estgio cadastre um professor, inserindo
os dados (nome, email, telefone, siape, perfil (Coordenador ou Professor) e
sua disponibilidade para participao de banca que pode ser (manh, tarde ou noite)).
Requisitos No-Funcionais
Nome

Restrio

NF1.1 - Formulrio nico

NF1.2 - Identificao do professor

NF1.3 - Gerar senha

NF1.4 - Criptografia

Todos os dados devem ser apresentados,


em um nico formulrio
O professor ser
identificado pelo Siape e senha
Ao finalizar o cadastro
gerada uma senha temporria para acesso
Usar MD5 (Message-Digest
algorithm 5),para criptografar
a senha dos usurios no banco de dados

Categoria

Desejvel

Permanente

Interface

Segurana

Segurana

Segurana

Tabela 3 Requisito Funcional - Cadastrar professor


Requisito Funcional 2
Descrio

Controlar acesso (Login)

Oculto

()

Este requisito funcional permite ao coordenador ou professor possam acessar o sistema


utilizando seu nmero de Siape e senha.
Requisitos No-Funcionais
Nome
Restrio
NF2.1 - Formulrio nico

NF2.2 - Primeiro acesso

Todos os dados devem ser apresentados,


em um nico formulrio
Ao acessar pela primeira
vez o sistema solicita a
troca da senha.

Categoria

Desejvel

Permanente

Interface

Segurana

Tabela 4 Requisito Funcional - Controlar acesso (Login)


Requisito Funcional 3
Descrio

Cadastrar aluno

Oculto

()

Este requisito funcional permite que o coordenador de estgio cadastre um aluno


inserindo os dados (nome, matrcula, curso, email,
telefone, estgio ou emprego (CLT ou PJ)).
Requisitos No-Funcionais
Nome
Restrio
NF3.1 - Formulrio nico
NF3.2 - Identificao do
aluno

Todos os dados devem ser apresentados,


em um nico formulrio
O aluno ser identificado pela matrcula

Categoria

Desejvel

Permanente

Interface

Segurana

Tabela 5 Requisito Funcional - Cadastrar aluno

APNDICE A. Requisitos do Sistema

Requisito Funcional 4
Descrio

59

Cadastrar rea

Oculto

()

Este requisito funcional permite que


o coordenador de estgio cadastre uma rea/assunto
que o estgio esta sendo feito, inserindo o dado (nome da rea).
Requisitos No-Funcionais
Nome
Restrio
NF4.1 - Formulrio nico

Todos os dados devem ser apresentados,


em um nico formulrio

Categoria

Desejvel

Permanente

Interface

Tabela 6 Requisito Funcional - Cadastrar rea

Requisito Funcional 5
Descrio

Cadastrar empresa

Oculto

()

Este requisito funcional permite que o coordenador de estgio


cadastre a empresa onde esta sendo realizado o estgio,
inserindo os dados (nome da empresa, endereo, rea de atuao, telefone).
Requisitos No-Funcionais
Nome
Restrio
NF5.1 - Formulrio nico

Todos os dados devem ser apresentados,


em um nico formulrio

Categoria

Desejvel

Permanente

Interface

Tabela 7 Requisito Funcional - Cadastrar empresa

Requisito Funcional 6
Descrio

Cadastrar trabalho

Oculto

()

Este requisito funcional permite que o coordenador de estgio cadastre um trabalho,


inserindo os dados (nome do aluno, Ttulo do trabalho,
rea/assunto, ano, tipo de estgio
(obrigatrio e no obrigatrio), modalidade (Iniciao Cientfica,
Vnculo Empregatcio, Estgio),
orientador, data da matrcula, pr-aprovado).
Se houver defesa do estgio, de acordo com a
quantidade de horas semanais de trabalho
na empresa ser calculado a data mnima e mxima para defesa.
A data mnima e data mxima para defesa so
calculadas automaticamente pelo sistema
tendo como referncia a data de matrcula no estgio.
Aps salvar o sistema envia um aviso por email para o orientador e aluno.
Ao cadastrar o trabalho, haver a opo de deixar pr-aprovado,
contabilizando o orientador na fila de orientaes e
dando a opo de cancelar o cadastro.
Requisitos No-Funcionais
Nome
Restrio
NF6.1 - Formulrio nico

Todos os dados devem ser apresentados,


em um nico formulrio

Categoria

Desejvel

Interface

Tabela 8 Requisito Funcional - Cadastrar trabalho

Permanente
X

APNDICE A. Requisitos do Sistema

Requisito Funcional 7
Descrio

60

Cadastrar banca

Oculto

()

Este requisito funcional permite que o coordenador de estgio


salve os professores convidados e mostre os convidados,
permitindo selecionar os confirmados e cadastre
os professores que faro parte da banca, local e horrio.
Inserindo os dados (ano, nome do trabalho, local da defesa,
data da defesa, hora da defesa, professores
convidados). Aps salvar haver a opo de enviar
um aviso por email para aluno, professor orientador e banca.
Apenas ser permitido cadastrar a banca caso o estgio
tenha defesa e tenha sido aprovado pelo setor de estgio.
Requisitos No-Funcionais
Nome
Restrio
NF7.1 - Formulrio nico

NF7.2 - Professor convidado

NF7.3 - Estgio aluno

Todos os dados devem ser apresentados,


em um nico formulrio
Selecionar mais de 1
professor para compor a banca
Selecionar o aluno apenas
uma vez para o estgio obrigatrio,
e vrias vezes para o estgio no
obrigatrio.

Categoria

Desejvel

Permanente

Interface

Negcio

Negcio

Tabela 9 Requisito Funcional - Cadastrar banca

Requisito Funcional 8
Descrio

Configurar fila de orientao

Oculto

()

Este requisito funcional permite que o coordenador de estgio


configure e visualize a fila de
professores que sero orientadores de estgio.
Selecionando os dados (nome professor, ano,
quantidade de orientados, data da ltima orientao).
Requisitos No-Funcionais
Nome
Restrio
NF8.1 - Formulrio nico

Todos os dados devem ser apresentados,


em um nico formulrio

Categoria

Desejvel

Permanente

Interface

Tabela 10 Requisito Funcional - Configurar fila de orientao

Requisito Funcional 9
Descrio

Configurar fila de banca

Oculto

()

Este requisito funcional permite que o


coordenador de estgio visualize e configure a fila de
professores que participaro da banca.
Selecionando os dados (nome professor, ano,
quantidade de bancas que j participou, data da ltima participao em banca).
Requisitos No-Funcionais
Nome
Restrio
NF9.1 - Formulrio nico

Todos os dados devem ser apresentados,


em um nico formulrio

Categoria

Desejvel

Interface

Tabela 11 Requisito Funcional - Configurar fila de banca

Permanente
X

APNDICE A. Requisitos do Sistema

Requisito Funcional 10
Descrio

61

Configurar envio de e-mail

Oculto

()

Este requisito funcional permite que o


coordenador de estgio configure o envio de email.
Inserindo os dados (host, porta, usurio, senha e nome).
Requisitos No-Funcionais
Nome
Restrio
NF10.1 - Formulrio nico

Todos os dados devem ser apresentados,


em um nico formulrio

Categoria

Desejvel

Permanente

Interface

Tabela 12 Requisito Funcional - Configurar envio de e-mail

Requisito Funcional 11
Descrio

Cadastrar assinatura do coordenador estgio

Oculto

()

Este requisito funcional permite que


o coordenador de estgio insira a sua
assinatura institucional no sistema.
Inserindo os dados (nome, cargo, instituto, sala e email).
Requisitos No-Funcionais
Nome
Restrio
NF11.1 - Formulrio nico

Todos os dados devem ser apresentados,


em um nico formulrio

Categoria

Desejvel

Permanente

Interface

Tabela 13 Requisito Funcional - Cadastrar assinatura do coordenador estgio

Requisito Funcional 12
Descrio

Enviar e-mails gerais

Oculto

()

Este requisito funcional permite que o coordenador de estgio


envie e-mails que no fazem parte da relao de
e-mails pr-definidos no sistema, inserindo os
seguintes dados (destinatrio, titulo do e-mail, mensagem do e-mail).
Requisitos No-Funcionais
Nome
Restrio
NF12.1 - Formulrio nico

Todos os dados devem ser apresentados,


em um nico formulrio

Categoria

Desejvel

Interface

Tabela 14 Requisito Funcional - Cadastrar e-mails gerais

Permanente
X

APNDICE A. Requisitos do Sistema


Requisito Funcional 13
Descrio

62

Visualizar relatrios

Oculto

()

Este requisito funcional permite que o coordenador de estgio possa gerar relatrios:
R1 - Visualizar as bancas/orientaes,de um professor (Nome do aluno, matrcula do aluno,
ttulo, nome do professor,nome do orientador,
papel do professor e data de defesa) em um perodo informado;
R2 - Visualizar os professores e nmero de orientados atuais e passados;
R3 - Visualizar fila de professores com a quantidade e data de participaes em bancas;
R4 - Visualizar fila de professores com a quantidade e data de participaes como orientador;
R5 - Visualizar todos os trabalhos cadastrados. Deve conter os dados (alunos,
orientador, data mnima, data,mxima e data defesa);
R6 - Visualizar relatrio detalhado por ano e curso. Deve conter os dados
(aluno, trabalho, orientador, banca, local da defesa, data da defesa e hora da defesa);
R7 - Visualizar ata de defesa.
Requisitos No-Funcionais
Nome
Restrio

Todos os dados devem ser apresentados,


em um nico formulrio
O relatrio deve ser gerado em no mximo
30 segundos

NF13.1 - Formulrio nico

NF13.2 - Tempo de acesso

Categoria

Desejvel

Permanente

Interface

Desempenho

Tabela 15 Requisito Funcional - Visualizar relatrios


Requisito Funcional 14
Descrio

Enviar aviso por e-mail

Oculto

()

Este requisito funcional permite que o coordenador de estgio envie alerta/aviso por email.
A1 Enviar dados para professor orientador e aluno. Email contendo os dados
(aluno, orientador, local da,defesa, data da defesa, hora da defesatrabalho e curso);
A2 Convite para professor participar de uma banca. Email informando se
possvel sua participao na banca;
A3 Aviso informando professor e aluno que seu trabalho foi cadastrado no sistema;
A4 Aviso informando os professores,que iram compor uma banca.
Email contendo os dados (aluno, orientador,
local da defesa, data da defesa, hora da defesa, trabalho e curso);
A5 Aviso para defesa de estgio enviado para o aluno por email;
A6 Avisos mensais para o aluno avisando sobre trmino ou relatrio semestral.
Requisitos No-Funcionais
Nome
Restrio
NF14.1 - Formulrio nico

Todos os dados devem ser apresentados,


em um nico formulrio

Categoria

Desejvel

Interface

Tabela 16 Requisito Funcional - Enviar aviso por e-mail

Permanente
X

APNDICE A. Requisitos do Sistema

Requisito Funcional 15
Descrio

63

Calcular fila de orientao

Oculto

(X)

Este requisito funcional permite que o sistema calcule a fila


de professores de acordo com os parmetros (data ltima orientao,
nmero de alunos j orientados, ano) e tambm permita
o coordenador de estgio trocar a ordem dos professores na fila.
Requisitos No-Funcionais
Nome
Restrio
NF15.1 - Regra de clculo

Deve-se utilizar uma regra


que calcule os pesos e forme a fila

Categoria

Desejvel

Permanente

Especificao

Tabela 17 Requisito Funcional - Calcular fila de orientao

Requisito Funcional 16
Descrio

Calcular fila de banca

Oculto

(X)

Este requisito funcional permite que o sistema calcule


a fila de professores que participaro das
bancas de acordo com os parmetros (data ltima banca
que participou, nmero de bancas que participou e ano)
e tambm permita o coordenador de estgio trocar a ordem dos
professores na fila.
Requisitos No-Funcionais
Nome
Restrio
NF16.1 - Regra de clculo

Deve-se utilizar uma regra


que calcule os pesos e forme a fila

Categoria

Desejvel

Permanente

Especificao

Tabela 18 Requisito Funcional - Calcular fila de banca

Requisito Funcional 17
Descrio

Inserir normas de estgio

Oculto

()

Este requisito funcional permite que o coordenador de estgio


insira no sistema os documentos sobre as normas
de estgio em formato (.doc ou .pdf).
Requisitos No-Funcionais
Nome
Restrio
NF17.1 - Formulrio nico

Todos os dados devem ser apresentados,


em um nico formulrio

Categoria

Desejvel

Interface

Tabela 19 Requisito Funcional - Inserir normas de estgio

Permanente
X

APNDICE A. Requisitos do Sistema

Requisito Funcional 18
Descrio

64

Finalizar estgio

Oculto

()

Este requisito funcional permite que o


coordenador de estgio encerre um trabalho de
estgio com as opes (Aprovado) ou (Reprovado).
Requisitos No-Funcionais
Nome
Restrio
NF18.1 - Formulrio nico

Todos os dados devem ser apresentados,


em um nico formulrio

Categoria

Desejvel

Permanente

Interface

Tabela 20 Requisito Funcional - Finalizar estgio

Requisito Funcional 19
Descrio

Realizar pesquisa

Oculto

()

Este requisito funcional permite que o coordenador de estgio


ou professor realize vrios tipos de pesquisa:
- Aluno;
- Orientador;
- Data mnima e mxima;
- Trabalhos por curso e ano;
- Estgio (Obrigatrio, No obrigatrio, Aprovado,
Reprovado e Em andamento) por curso e ano.
Requisitos No-Funcionais
Nome
Restrio
NF19.1 - Formulrio nico

Todos os dados devem ser apresentados,


em um nico formulrio

Categoria

Desejvel

Interface

Permanente
X

Tabela 21 Requisito Funcional - Realizar pesquisa

Requisitos No-Funcionais Gerais


Nome
Restrio

RNF1 - Tipo de interface

RNF2 - Perfis

RNF3 - Linguagem
de programao
RNF4 - Framework
RNF5 - Banco de dados

As interfaces do sistema devem


ser implementadas utilizando
formulrios XHTML.
Os perfis sero:
Coordenador - pode efetuar todas as operaes.
Professor - operaes de alteraes de seus dados,
consulta de seus orientados, bancas que
participar e pesquisas.
Utilizar Java
Utilizar framework JavaServer Faces,
PrimeFaces e Hibernate
Utilizar PostgreSQL

Categoria

Desejvel

Permanente

Interface

Negcio

Software

Software

Software

Tabela 22 Requisitos No-Funcionais Gerais

APNDICE A. Requisitos do Sistema

Listagem de casos de uso


Nome
Restrio

Acessar sistema

Cadastros

Configuraes

Relatrios

Avisos

Filas

Normas de estgio

Finalizar Estgio

Realizar pesquisas

65

Referncia cruzada

Por meio de um navegador de internet


o usurio digitar a URL para abrir o site.
A tela inicial a de login.
O usurio digitar seu Siape e senha para acesso.
O coordenador ser responsvel por criar
o usurio do professor que acessar
o sistema com Siape e senha provisria
que enviado por e-mail ao professor.
Aps o coordenador fazer login no sistema
ser possvel cadastrar, alterar e
excluir aluno, rea, empresa, trabalhos, banca,
assinatura, mscara e e-mail gerais.
O coordenador tem a possibilidade de
configurar as filas de orientao,
filas de banca e configurar o envio de e-mail.
O coordenador tem a possibilidade de visualizar
os relatrios de bancas/orientaes
de um professor, os professores e
nmero de orientados, fila de professores com a
quantidade e data de participaes em bancas,
fila de professores com a quantidade
e data de participaes como orientador, visualizar
todos os trabalhos cadastrados,
detalhado por ano e curso e ata de defesa.
O coordenador tem a possibilidade de enviar,
alertas/avisos por e-mail.
Aps o sistema gerar as filas de bancas
e orientao o coordenador tem a
possibilidade de trocar a ordem dos professores.
O coordenador de estgio tem a
possibilidade de inserir no sistema os
documentos sobre as normas de estgio
em formato (.doc ou .pdf).
O coordenador tem a possibilidade
de encerrar um trabalho de estgio
com a opo Aprovado ou Reprovado.
O coordenador de estgio e o professor
tem a possibilidade de realizar vrios tipos de pesquisa.
Exemplo: pesquisa por aluno; orientador;
data mnima e mxima; trabalhos por curso e ano;
estgio (obrigatrio, no obrigatrio, aprovado,
reprovado e em andamento) por curso e ano.

Tabela 23 Listagem de casos de uso

F2

F1, F3, F4, F5, F6,


F7,F11, F12 e F20

F8, F9 e F10

F13

F14

F15 e F16

F17

F18

F19

66

APNDICE B Casos de uso


Os diagramas de caso de uso modelam os relacionamentos entre casos de uso e os
relacionamentos entre casos de uso e atores. Embora a descrio textual de um caso de
uso possa ajudar a entender um caso de uso isolado, um diagrama ajuda a ver como os
casos de uso se relacionam uns com os outros (SINTES, 2002).

Figura 31 Diagrama de casos de uso de alto nvel

APNDICE B. Casos de uso

Caso de uso: Acessar sistema


Atores:
Interessados:
Precondies:

Ps-condies:
Requisitos correlacionados:
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
1. Na tela de Login usurio
informa seus dados pessoais (Siape e senha).
2. O sistema verifica se foi preenchido
totalmente o formulrio.

3. O sistema faz a validao dos dados


e se correto redireciona usurio
a pgina principal.

67

Coordenador de estgio ou professor.


Coordenador de estgio e professor.
O coordenador ou professor j foram
cadastrados no sistema.
O sistema valida o acesso,
se correto redireciona a tela principal,
se no, usurio receber uma mensagem
de erro e permanece na tela atual.
F2

Tratamento de excees

2.a - Usurio no informou todos os dados


ento sistema retorna mensagem
informando para preencher
todo o formulrio.
3.a - Usurio informou Siape ou
senha incorreta, ento o sistema retorna mensagem
informando erro ao acessar sistema.
3.b - Se o usurio um professor
e o primeiro acesso, o sistema aps validar o
login redireciona para a tela de troca de
senha e em seguida para tela principal.

Tabela 24 Caso de Uso - Acessar sistema

Figura 32 Diagrama de caso de uso - Acessar sistema

APNDICE B. Casos de uso

Caso de uso: Cadastrar professor


Atores:
Interessados:
Precondies:

Ps-condies:

Requisitos correlacionados:
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
1. Na tela de cadastro de professor o coordenador
informa os dados (nome, email, telefone, Siape,
perfil (Coordenador ou Professor) e a disponibilidade
para participao de banca que pode
ser (manh, tarde ou noite)).
O sistema deve permitir a qualquer momento
a alterao da disponibilidade. Ser possvel
o cadastro de mais de um coordenador.
2. O sistema verifica se foi preenchido
totalmente o formulrio.
3. O sistema faz a validao dos dados, estando
corretos so salvos. Em seguida, enviada uma
mensagem de sucesso.

68

Coordenador de estgio.
Coordenador de estgio e professor.
O professor no esteja cadastrado e
coordenador j fez login no sistema.
O sistema valida os dados e se estiver
todos obrigatrios preenchidos e corretos
informado uma mensagem de cadastro
realizado, caso contrrio, mensagem
de cadastro no realizado.
F1

Tratamento de excees

2.a Se no informado todos os dados


ento sistema retorna mensagem para
preencher todo o formulrio.
3.a - Se ocorrer algum erro ao salvar
os dados, o sistema retorna uma
mensagem informando.

Tabela 25 Caso de Uso - Cadastrar professor

Figura 33 Diagrama de caso de uso - Cadastrar professor

APNDICE B. Casos de uso

Caso de uso: Cadastrar aluno


Atores:
Interessados:
Precondies:

Ps-condies:

Requisitos correlacionados:
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
1. Na tela de cadastro de aluno
o coordenador informa os
dados (nome, matrcula, curso,
e-mail, telefone).

69

Coordenador de estgio.
Coordenador de estgio.
O aluno no esteja cadastrado e coordenador
j fez login no sistema.
O sistema valida os dados e se
estiver todos obrigatrios preenchidos e
corretos informado uma mensagem
de cadastro realizado, caso contrrio,
mensagem de cadastro no realizado.
F3

Tratamento de excees

2. O sistema verifica se todos os campos


obrigatrios do formulrio foram preenchidos

2.a Se no informado todos os dados


obrigatrios ento sistema retorna mensagem
para preenchimento.
O telefone no obrigatrio.

3. O sistema faz a validao dos dados, estando


corretos so salvos. Em seguida,
enviada uma mensagem
de sucesso.

3.a - Se ocorrer algum erro ao salvar os dados,


o sistema retorna uma mensagem informando.

Tabela 26 Caso de Uso - Cadastrar aluno

Figura 34 Diagrama de caso de uso - Cadastrar aluno

APNDICE B. Casos de uso

Caso de uso: Cadastrar rea


Atores:
Interessados:
Precondies:

Ps-condies:

Requisitos correlacionados:
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
1. Na tela de cadastro de rea o coordenador
informa o dado (nome da rea).
2. O sistema verifica se todos os dados
obrigatrios do formulrio
foram preenchidos.
3. O sistema faz a validao dos dados,
estando corretos so salvos.
Em seguida, enviada
uma mensagem de sucesso.

70

Coordenador de estgio.
Coordenador de estgio.
A rea no esteja cadastrada e coordenador
j fez, login no sistema.
O sistema valida os dados e se estiver todos
obrigatrios preenchidos e corretos
informado uma mensagem
de cadastro realizado, caso contrrio,
mensagem de cadastro no realizado.
F4

Tratamento de excees

2.a - Se no informado o dado ento sistema


retorna mensagem para preenchimento.
3.a - Se ocorrer algum erro ao salvar o dado, o
sistema retorna uma mensagem informando.

Tabela 27 Caso de Uso - Cadastrar rea

Figura 35 Diagrama de caso de uso - Cadastrar rea

APNDICE B. Casos de uso

Caso de uso: Cadastrar empresa


Atores:
Interessados:
Precondies:

Ps-condies:

Requisitos correlacionados:
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
1. Na tela de cadastro de empresa o coordenador
informa os dados (nome da empresa, endereo,
rea de atuao, telefone).

71

Coordenador de estgio.
Coordenador de estgio.
A empresa no esteja cadastrada
e coordenador j fez login no sistema.
O sistema valida os dados e se estiver todos
obrigatrios preenchidos e corretos
informado uma mensagem
de cadastro realizado, caso contrrio,
mensagem de cadastro no realizado.
F5

Tratamento de excees

2. O sistema verifica se todos os dados


obrigatrios do formulrio foram preenchidos.

2.a - Se no informado todos os dados


ento sistema retorna mensagem
para preencher todo o formulrio.

3. O sistema faz a validao dos dados,


estando corretos so salvos. Em seguida,
enviada uma mensagem de sucesso.

3.a - Se ocorrer algum erro ao salvar os dados no


sistema retorna uma mensagem informando.

Tabela 28 Caso de Uso - Cadastrar empresa

Figura 36 Diagrama de caso de uso - Cadastrar empresa

APNDICE B. Casos de uso


Caso de uso: Cadastrar trabalho
Atores:
Interessados:
Precondies:

Ps-condies:

Requisitos correlacionados:
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
1. Na tela de cadastro do trabalho o coordenador
informa os dados (nome do aluno, Ttulo do trabalho,
rea/assunto, tipo de estgio, modalidade, orientador e
data da matrcula e horas de trabalho por dia).
Se houver defesa a data mnima e mxima para defesa
ser calculada pelo sistema de acordo com as horas
semanais de trabalho na empresa.

72

Coordenador de estgio.
Coordenador de estgio e aluno.
O trabalho no esteja cadastrado.
Aluno, empresa, curso, rea e professor
orientador estejam cadastrados
e o coordenador j fez login no sistema.
O sistema valida os dados e se estiver todos
os obrigatrios preenchidos e corretos informado
uma mensagem de cadastro realizado, caso
contrrio, mensagem de cadastro no realizado.
Ao cadastrar o trabalho, haver a opo de deixar
pr-aprovado, contabilizando
o orientador na fila de orientaes,
e dando a opo de cancelar o cadastro.
F1, F3, F4 e F6

Tratamento de excees

2. O sistema verifica se todos os dados obrigatrios


do formulrio foram preenchidos.

2.a - Se no informado todos os dados ento


sistema retorna mensagem para preencher
todo o formulrio.

3. O sistema faz a validao dos dados, estando


corretos so salvos. Em seguida, enviada uma
mensagem de sucesso.

3.a - Se ocorrer algum erro ao salvar os dados,


o sistema retorna uma mensagem informando.

Tabela 29 Caso de Uso - Cadastrar trabalho

Figura 37 Diagrama de caso de uso - Cadastrar trabalho

APNDICE B. Casos de uso


Caso de uso: Cadastrar banca
Atores:
Interessados:

Precondies:

Ps-condies:

Requisitos correlacionados:
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
1. Na tela de cadastro de banca o coordenador informa os
dados (nome do trabalho, local da defesa, data da defesa,
hora da defesa, professores convidados).

2. O sistema verifica se todos os dados


obrigatrios do formulrio foram preenchidos.
3. O sistema faz a validao dos dados,
estando corretos so salvos.
Em seguida, enviada uma mensagem
de sucesso.

73

Coordenador de estgio.
Coordenador de estgio.
O trabalho esteja cadastrado. Os professores que
confirmaram a participao na banca no estejam
participando de outra no mesmo dia e horrio.
Apenas ser permitido cadastrar a banca
caso o estgio tenha defesa.
Se selecionado como pr-cadastro os nomes dos
membros da banca poder ser vazios. O sistema registra
o histrico de todos os professores convidados,
confirmados e no confirmados. O sistema valida
os dados e se estiver todos obrigatrios
preenchidos e corretos informado uma
mensagem de cadastro realizado, caso contrrio, mensagem
de cadastro no realizado. Se realizado o cadastro com
sucesso, haver a opo de enviar um aviso por e-mail
para aluno, professor orientador e banca.
F6 e F7

Tratamento de excees
1.a - Ser possvel fazer um pr-cadastro da banca.
Assim que o coordenador obtiver a resposta dos
professores que participaram, ele efetiva o cadastro.
Os nomes dos membros da banca podero ser
vazios no pr-cadastro. Todos os professores
convidados so salvos no histrico de convites.
2.a - Se no informado todos os dados
ento sistema retorna mensagem para
preencher todo o formulrio.
3.a - Se ocorrer algum erro ao salvar os dados,
o sistema retorna uma mensagem informando.

Tabela 30 Caso de Uso - Cadastrar banco

Figura 38 Diagrama de caso de uso - Cadastrar banca

APNDICE B. Casos de uso

Caso de uso: Configurar fila de orientao


Atores:
Interessados:
Precondies:
Ps-condies:
Requisitos correlacionados:
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
1. Na tela de configurao de fila de orientao,
o coordenador por meio de uma tabela
com os dados (nome do professor, ano, quantidade
de orientados e data da ltima orientao) poder
alterar a ordem dos professores na fila.
2. O sistema verifica se foi realizada
alguma alterao na tabela.
3. O sistema faz a validao das alteraes,
sendo validas, so salvas. Em seguida,
enviada uma mensagem de sucesso.

74

Coordenador de estgio.
Coordenador de estgio.
Os professores estejam cadastrados.
O sistema valida as alteraes e se
valido informa mensagem de alteraes
realizadas, caso contrrio,
mensagem de alteraes no realizadas.
F8 e F15

Tratamento de excees

3.a - Se ocorrer algum erro ao salvar as


alteraes, o sistema retorna
uma mensagem informando.

Tabela 31 Caso de Uso - Configurar fila de orientao

Figura 39 Diagrama de caso de uso - Configurar Fila de Orientao

APNDICE B. Casos de uso

Caso de uso: Configurar fila de banca


Atores:
Interessados:
Precondies:
Ps-condies:
Requisitos correlacionados:
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
1. Na tela de configurao de fila de banca,
o coordenador por meio de uma tabela
com os dados (nome professor, ano,
quantidade de bancas que j participou
e data da ltima participao em banca)
poder alterar a ordem dos professores
na fila.
2. O sistema verifica se foi realizada
alguma alterao na tabela.
3. O sistema faz a validao das alteraes,
sendo validas, so salvas.
Em seguida, enviada uma mensagem de sucesso.

75

Coordenador de estgio.
Coordenador de estgio.
Os professores estejam cadastrados.
O sistema valida as alteraes e
se valido informa mensagem de alteraes
realizadas, caso contrrio,
mensagem de alteraes no realizadas.
F9 e F16

Tratamento de excees

3.a - Se ocorrer algum erro ao salvar


as alteraes, o sistema retorna
uma mensagem informando.

Tabela 32 Caso de Uso - Configurar fila de banca

Figura 40 Diagrama de caso de uso - Configurar Fila de Banca

APNDICE B. Casos de uso

76

Caso de uso: Configurar envio de e-mail


Atores:
Coordenador de estgio.
Interessados:
Coordenador de estgio.
Esteja instalado e configurado o mdulo de envio
Precondies:
de e-mail no servidor que hospedar o software.
O sistema valida os dados e se estiver
todos obrigatrios preenchidos e corretos
informado uma mensagem
Ps-condies:
de configurao realizada, caso contrrio,
mensagem de configurao no realizada.
Requisitos correlacionados:
F10
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
Tratamento de excees
1. Na tela de configurao envio de e-mail
o coordenado informa os dados (host, porta
, usurio, senha e nome).
2. O sistema verifica se todos os dados
2.a - Se no informado todos os dados
obrigatrios do formulrio foram
ento, sistema retorna mensagem
preenchidos.
para preencher todo o formulrio.
3. O sistema faz a validao dos dados,
3.a - Se ocorrer algum erro ao salvar
estando corretos so salvos.
os dados, o sistema retorna
Em seguida, enviada uma
uma mensagem informando.
mensagem de sucesso.

Tabela 33 Caso de Uso - Configurar envio de e-mail

Figura 41 Diagrama de caso de uso - Configurar envio de e-mail

APNDICE B. Casos de uso

77

Caso de uso: Cadastrar assinatura do coordenador de estgio


Atores:
Coordenador de estgio.
Interessados:
Coordenador de estgio.
Assinatura ainda no esteja
Precondies:
cadastrada.
O sistema valida os dados e
se estiver todos obrigatrios preenchidos
e corretos informado uma mensagem
Ps-condies:
de cadastro realizado, caso contrrio,
mensagem de cadastro no realizado.
Requisitos correlacionados:
F11
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
Tratamento de excees
1. Na tela de configurao da assinatura
o coordenador poder
inserir seus dados institucionais.
Como exemplo (nome, cargo,
instituto e sala e email).
Sendo livre para inserir qualquer
informao necessria.
2.a - Se no informado o dado ento
2. O sistema verifica se foi preenchido o formulrio. sistema retorna mensagem para
preencher o formulrio.
3. O sistema faz a validao do
3.a - Se ocorrer algum erro ao
dado, estando correto salvo.
salvar o dado, o sistema retorna
Em seguida, enviada uma
uma mensagem informando.
mensagem de sucesso.

Tabela 34 Caso de Uso - Cadastrar assinatura do coordenador de estgio

Figura 42 Diagrama de caso de uso - Cadastrar assinatura do coordenador de estgio

APNDICE B. Casos de uso

Caso de uso: Cadastrar e-mails gerais


Atores:
Interessados:
Precondies:

Ps-condies:

Requisitos correlacionados:
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
1. Na tela de cadastro de e-mail o coordenador,
informa os dados (titulo do e-mail,
mscaras e mensagem do e-mail).
2. O sistema verifica se foi preenchido
totalmente o formulrio.
3. Aps validao sistema salva
os dados e envia uma mensagem
de sucesso.

78

Coordenador de estgio.
Coordenador de estgio.
No possvel o cadastro
de mais de um e-mail com o mesmo ttulo.
O sistema valida os dados e se estiverem
todos obrigatrios preenchidos e
corretos informado uma
mensagem de cadastro realizado,
caso contrrio, mensagem de
cadastro no realizado.
F12

Tratamento de excees

2.a - Se coordenador no informou


todos os dados ento sistema retorna
mensagem informando para
preencher todo o formulrio.
3.a - Se ocorrer algum erro ao salvar
os dados no sistema retorna uma
mensagem informando.

Tabela 35 Caso de Uso - Cadastrar e-mails gerais

Figura 43 Diagrama de caso de uso - Cadastrar e-mails gerais

APNDICE B. Casos de uso

Caso de uso: Gerar relatrio


Atores:
Interessados:
Precondies:
Ps-condies:
Requisitos correlacionados:
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
1. Para cada tipo de relatrio pode
ser selecionado alguns filtros
para gera-lo. Conforme tabela abaixo.
2. O sistema verifica se foi preenchido
totalmente o formulrio.
3. Aps validao sistema gera
o relatrio solicitado.

79

Coordenador de estgio.
Coordenador de estgio.
Os dados do relatrio solicitado
j estejam inseridos no sistema.
F13

Tratamento de excees

2.a - Coordenador no informou


todos os dados ento sistema retorna
mensagem informando para
preencher todo o formulrio
3.a - Se ocorrer algum erro
ao gerar o relatrio o sistema
retorna uma mensagem informando.

Tabela 36 Caso de Uso - Gerar relatrio

Figura 44 Diagrama de caso de uso - Gerar relatrio

APNDICE B. Casos de uso

80

Opes de relatrio
Relatrios
R1 - Visualizar as bancas/orientaes
de um professor;
R2 - Visualizar os professores
e nmero de orientados atuais e passados;
R3 - Visualizar fila de professores com a quantidade
e data de participaes em bancas;
R4 - Visualizar fila de professores
com a quantidade e data de
participaes como orientador;
R5 - Visualizar todos os trabalhos cadastrados;
R6 - Visualizar relatrio detalhado
com os dados (orientador, aluno e trabalho)
por ano e curso;

Filtros
Nome do professor, Siape
e ano;
Os dados do relatrio solicitado
j estejam inseridos no sistema.
Quantidade de participaes
e ano;
Quantidade de participaes
e ano;
Ano e curso;
Ano e curso;
Orientador, local da defesa,
data de defesa
e hora da defesa;

R7 - Visualizar ata de defesa.


R8 - Visualizar sumrio das atividades
que conter a quantidade de
matrculas, aprovaes e reprovaes
nos estgios obrigatrios e
no obrigatrios e especifico para o curso de
Cincias da Computao informar nmero de
bancas de estgio obrigatrio.
R9 - Visualizar alunos matriculados em estgio obrigatrio em
uma tabela e os matriculados em estgio no-obrigatrio em
outra tabela com os dados (matrcula, nome,
orientador e data da matrcula).
R10 - Visualizar alunos aprovados em estgio obrigatrio
em uma tabela com os dados (matrcula, nome,
orientador). Especificamente para o curso de
Cincias da Computao informar os alunos
reprovados em estgio obrigatrio.
R11 - Visualizar as participaes dos professores
da FACOM como orientadores em estgios obrigatrios e
no-obrigatrios em 2 tabelas
com os dados (professor, quantidade de orientaes).
Uma tabela para estgios obrigatrios
e outra para no-obrigatrios.
R12 - Visualizar os dados dos,relatrios R8, R9, R10 e R11
em um nico relatrio para o curso de Sistemas de Informao
e visualizar os dados dos relatrios R8, R9
, R10, R11, R13 e R14 para o curso de
Cincias da Computao.
R13 - Visualizar as defesas de estgio obrigatrio
em uma tabela com os dados (matrcula,
nome, orientador, membro1, membro2,data).
Relatrio especfico para o curso de
Cincias da Computao.
R14 - Visualizar a quantidade de bancas que os professores
da FACOM participaram no ano em uma tabela com os dados
(professor, quantidade de banca de defesa).
Relatrio especfico para o curso de
Cincias da Computao

Ano, curso,
modalidade (obrigatrio ou no).

Ano, curso,
modalidade (obrigatrio ou no).

Ano, curso,
modalidade (obrigatrio ou no).

Ano, curso,
modalidade (obrigatrio ou no).

Ano, curso,
modalidade (obrigatrio ou no).

Ano

Ano

Tabela 37 Opes de relatrio

APNDICE B. Casos de uso

Caso de uso: Enviar aviso por e-mail


Atores:
Coordenador de estgio.
Interessados:
Coordenador de estgio.
Precondies:
Email cadastrado. Avisoainda no foi enviado.
Aps o coordenador clicar no
boto enviar recebera uma
Ps-condies:
mensagem de envio realizada ou no.
Requisitos correlacionados:
F14
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
Tratamento de excees
1. Coordenador seleciona entre as
opes disponveis o aviso.
2.a - Se coordenador no informou
2. O sistema verifica se foram
todos os dados ento sistema
preenchidas totalmente as opes
retorna mensagem informando para
do aviso selecionado.
preencher todo o formulrio.
3. Aps validao sistema envia
3.a - Se ocorrer algum erro ao enviar
o aviso e tambm envia uma
o aviso, o sistema retorna
mensagem de sucesso
uma mensagem informando.
para o coordenador.
Tabela 38 Caso de Uso - Enviar aviso por e-mail

Figura 45 Diagrama de caso de uso - Enviar aviso por e-mail

81

APNDICE B. Casos de uso

Caso de uso: Inserir normas do estgio


Atores:
Interessados:
Precondies:
Ps-condies:
Requisitos correlacionados:
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
1. Coordenador seleciona o arquivo a ser enviado.
2. O sistema,verifica se foi
preenchido o dado (ttulo)
e selecionado o arquivo.
3. Aps validao sistema envia
o arquivo e tambm envia uma mensagem
de sucesso para o coordenador.

82

Coordenador de estgio.
Coordenador de estgio.
Normas ainda no inseridas.
Arquivos do tipo (.doc) ou (.pdf)
Aps o coordenador clicar no boto
de upload recebera uma mensagem
de envio realizada ou no.
F17

Tratamento de excees
2.a - Se coordenador no informou
o ttulo ento o sistema retorna
mensagem informando para preench-lo.
3.a - Se ocorrer algum erro ao
salvar o arquivo o sistema retorna
uma mensagem informando.

Tabela 39 Caso de Uso - Inserir normas do estgio

Figura 46 Diagrama de caso de uso - Inserir normas do estgio

APNDICE B. Casos de uso

Caso de uso: Finalizar estgio


Atores:
Interessados:
Precondies:
Ps-condies:
Requisitos correlacionados:
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
1. Coordenador seleciona o
trabalho a ser finalizado.
2. O sistema verifica se foi
selecionado um das opes "Aprovado"
ou "Reprovado".
3. Aps validao sistema envia
uma mensagem de sucesso
para o coordenador.

83

Coordenador de estgio.
Coordenador de estgio e aluno.
Normas ainda no inseridas.
Arquivos do tipo (.doc) ou (.pdf)
Estgio esteja com status em andamento
e se houver defesa j tenha sido realizada.
F18

Tratamento de excees

2.a - Se coordenador no informou a


opo o sistema retorna mensagem
informando para selecionar uma.
3.a - Se ocorrer algum erro ao finalizar
o estgio o sistema retorna
uma mensagem informando.

Tabela 40 Caso de Uso - Finalizar estgio

Figura 47 Diagrama de caso de uso - Finalizar estgio

APNDICE B. Casos de uso

Caso de uso: Realizar pesquisas


Atores:
Coordenador de estgio e professor
Interessados:
Coordenador de estgio e professor
Precondies:
Informaes solicitadas estejam no sistema.
Aps o coordenador selecionar
os filtros e opes visualizar
Ps-condies:
as informaes solicitadas.
Requisitos correlacionados:
F19
Variaes tecnolgicas:
Questes em aberto:
Fluxo principal
Tratamento de excees
1. Coordenador seleciona os filtros e
opes de pesquisa.
2.a - Se coordenador no informou
2. O sistema verifica se foi
a opo o sistema retorna mensagem
selecionado alguma opo.
informando para selecionar alguma.
3.a - Se ocorrer algum erro
3. Aps validao sistema gera
o sistema retorna uma
as informaes solicitadas.
mensagem informando.
Tabela 41 Caso de Uso - Realizar pesquisas

Figura 48 Diagrama de caso de uso - Realizar pesquisas

84

85

APNDICE C Diagrama de pacotes

Figura 49 Diagrama de pacotes

86

APNDICE D Diagrama de classe

APNDICE D. Diagrama de classe

Figura 50 Diagrama de classe

87

88

APNDICE E Diagrama ER

Figura 51 Diagrama Entidade-Relacional

89

APNDICE F Script Create Tables

APNDICE F. Script Create Tables

90

APNDICE F. Script Create Tables

91

APNDICE F. Script Create Tables

92

APNDICE F. Script Create Tables

93

APNDICE F. Script Create Tables

94

APNDICE F. Script Create Tables

95

APNDICE F. Script Create Tables

Figura 52 Create Tables

96

97

APNDICE G Relatrios

Figura 53 Ata de Defesa de Trabalho de Estgio Supervisionado

APNDICE G. Relatrios

Figura 54 Relatrio de Participaes Em Banca

98

APNDICE G. Relatrios

Figura 55 Relatrio Do Nmero De Orientaes Por Professor

99

APNDICE G. Relatrios

100

APNDICE G. Relatrios

101

APNDICE G. Relatrios

Figura 56 Relatrio Anual De Atividades

102

Você também pode gostar