Académique Documents
Professionnel Documents
Culture Documents
NATAL/RN
2011
NATAL/RN
2011
BANCA EXAMINADORA
AGRADECIMENTOS
RESUMO
ABSTRACT
In the context of the current information society, where it is very important to manage
and manipulate organizational data with efficiently and effectively instruments, the
institutions need appropriate solutions to collect (or retrieve), process, store and
distribute information in accordance with their business processes. Also in
educational institutions, computer systems have become differential mechanisms,
very useful to simplify the execution of workflows, easy access and manipulation of
organizational data, providing better management, improve customer service, among
other activities.
Based on these aspects, in mid-2010, the Centro de Idiomas FUNCERN noted the
need to move in relation to their equipment used to support the work in the
organization, because the available structure of information systems had several
problems and caused many inconveniences. In order to evolve in their computational
processes, the Centro de Idiomas FUNCERN coordination formed a partnership with
a group of System Developers students to analyze the situation, design, produce and
build a technology solution that met the demands of the establishment. This solution
has been started in September 2010 and will be finished in December 2011. This
document refers to the development Processes of this solution, with emphasis on the
adoption of agile methodologies as software process, its scope, system requirements
and technologies used in this project, its proposed architectural structure, and all
results obtained until this moment.
SUMRIO
1.
INTRODUO
1.1.
1.2.
OBJETIVOS
1.3.
METODOLOGIA
10
1.4.
ESTRUTURA
10
2.
FUNDAMENTAO TERICA
12
2.1.
12
2.1.1.
PROCESSO DE SOFTWARE
13
2.1.2.
METODOLOGIAS GEIS
16
2.1.3.
19
2.2.
24
2.2.1.
25
2.2.2.
31
2.2.3.
33
3.
ESTUDO DE CASO
37
3.1.
CONTEXTUALIZAO DO PROJETO
37
3.2.
43
3.3.
47
3.3.1.
MDULO COORDENAO
47
3.3.2.
MDULO PBLICO
50
3.3.3.
MDULO ACADMICO
51
3.4.
52
3.5.
53
3.6.
RESULTADOS OBTIDOS
61
4.
CONCLUSO
78
REFERNCIAS
81
1. INTRODUO
presente
trabalho
consiste,
essencialmente,
em
apresentar
desenvolvimento
corporativo
estudadas,
bem
como
um
mtodo
de
1.2. OBJETIVOS
10
1.3. METODOLOGIA
1.4. ESTRUTURA
Alm deste capitulo introdutrio, este TCC contm mais trs captulos, que
estruturam o contedo conforme explicado a seguir. O capitulo 2 descreve os
11
12
2. FUNDAMENTAO TERICA
Tecnologias
da
plataforma
Java
para
desenvolvimento
de
aplicaes
coorporativas (JEE).
Desenvolver
um
software
consiste
fundamentalmente
em
transformar
13
14
15
16
Fonte: http://diegoduarte88.wordpress.com/modelo-de-desenvolvimento-de-software-cascata/
(12/06/2011)
17
18
19
2.1.3.1. Scrum
20
Sprint,
Scrum
Master
desenvolvedores
assumem
21
Ao final de cada Sprint deve ser realizada uma reunio de reviso de Sprint
(Sprint Review), na qual a equipe demonstra ao Product Owner o que foi produzido e
todos avaliam o trabalho, comparando o resultado obtido ao esperado. Aps isso,
deve-se realizar uma reunio de retrospectiva de Sprint (Sprint Retrospective),
visando identificar os pontos positivos e negativos, o que deve ser mantido e o que
no deve se repetir, e tambm absorver lies e aprendizado, com o objetivo de
melhorar o processo e o produto nos Sprints seguintes.
Figura 2. Representao do ciclo do Scrum.
O XP, que foi criado no final da dcada de 1990, trata-se de uma metodologia
gil para equipes pequenas e mdias que desenvolvem software baseado em
requisitos vagos e que se modificam rapidamente (Soares, 2004). Este mtodo tem
o objetivo de promover a produo de software de forma rpida e em ciclos de
desenvolvimento cada vez mais curtos. Dentre os ideais, esto: produzir primeiro o
que agrega mais valor ao produto; adaptar-se ao inesperado; priorizar as atividades
de
codificao
(programming).
Para
tanto,
baseia-se
em
quatro
valores
22
A coragem fator determinante para membros de times XP, uma vez que a
metodologia prope, atravs de seus valores e prticas, uma quebra de paradigmas
relacionados s abordagens tradicionais para desenvolver sistemas.
Abaixo, esto listadas as 12 prticas XP, conforme apresentado em Portela
(2009):
1. Jogo do Planejamento: no incio de cada interao, clientes, gerentes e
programadores se encontram para definir, estimar e priorizar os
23
24
25
MVC
(Model-View-Controller
ou
Modelo-Viso-Controlador),
26
27
28
29
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
2.2.1.1. RichFaces
30
2.2.1.2. Facelets
Nas primeiras verses do JSF, 1.1 e 1.2, a tecnologia padro para definio
da camada de View era o JSP. Porm o Facelets surgiu como uma forte alternativa
ao padro estabelecido, de modo a proporcionar bastantes vantagens quando usado
junto ao JSF. A prova do reconhecimento dessas vantagens foi a adoo desta
tecnologia como padro para definio da camada de viso do JSF na verso 2.0.
O Facelets uma linguagem de declarativa desenvolvida e apropriada para a
construo da camada de viso do JSF. Entre as principais caractersticas
relacionadas a esta tecnologia esto as seguintes: uso do XHTML como formato dos
arquivos referentes s pginas web criadas; possibilidade de elaborar, de forma
prtica, templates para componentes e pginas; possibilidade de criar e reusar
componentes compostos por outros; disponibilizao de uma Tag Library prpria
para uso complementar aos componentes JSF; amplo suporte linguagem de
expresso e ao uso de componentes AJAX; ampla adaptabilidade ao ciclo de vida
JSF; dentre outros.
Entre as vantagens do uso dessa tecnologia, pode-se citar a capacidade de
promover o reuso de cdigo atravs de templates e da composio de componentes;
o menor tempo necessrio para a compilao e melhor desempenho na
renderizao de componentes em relao ao JSP; a independncia em relao ao
container web; a validao de EL em tempo de compilao; a grande preciso no
31
Server
GlassFish
Server.
container
EJB
assume
32
33
34
As
anotaes
@Table
@Column
permitem
especificar,
(relacionamento
um-para-muitos),
@ManyToOne
(relacionamento
@Entity
public class Aluno implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
@Column(unique=true)
private String numMatricula;
private String nomeDoPai;
@Column(nullable=false)
private String nomeDaMae;
@Column(nullable=false)
private TipoDeAluno tipoDeAluno;
@Transient
private boolean matriculado;
@OneToOne(optional=false)
private Pessoa pessoa;
@OneToMany(mappedBy="aluno")
private List<Matricula> matriculas;
22
23
35
36
37
3. ESTUDO DE CASO
Nesta
seo
sero
abordadas
questes
respeito
do
ciclo
de
38
39
um
tratamento
adequado
quanto
ao
nmero
de
vagas
opo de
40
41
Figura 11. Exemplo de componente de interface grfica do sistema II que nunca foi compreendida
pelos usurios
42
Figura 12. Tela do sistema II que aparenta permitir manipulao de dados atravs de comandos SQL
43
do
cliente
dos
usurios
do
sistema.
Em
relao
aos
44
45
46
47
48
49
j)
50
Dos dezoito requisitos funcionais previstos para este mdulo, quinze j foram
implementados, representando mais de 80% do total. J em relao aos requisitos
no-funcionais, foram previstos dois, os quais esto descritos a seguir. Deles,
apenas o primeiro j est implementado.
51
52
53
54
55
Quanto ao Mdulo Pblico, foram propostos apenas dois casos de uso, que
devem poder ser acessveis, por meio da utilizao de um browser, para qualquer
pessoa conectada a internet.
Figura 15. Diagrama de casos de uso do Mdulo Pblico
56
57
58
59
60
Figura 18. Exemplo de artefato que representa esquema de navegao e caracterizao de interfaces
do sistema
61
sequncia
desta
sesso
sero
apresentados
os
resultados
da
implementao dos dois casos de uso do Mdulo Pblico e de oito casos de uso do
Mdulo Coordenao, na seguinte ordem: Inscrio para sorteio de vagas para
turma de 1 nvel do semestre atual (Mdulo Pblico); Gerao de comprovante de
inscrio em sorteio (Mdulo Pblico);
62
63
Figura 20. Formulrio de dados necessrios para realizar inscrio para concorrer a sorteio
64
Figura 21. Tela de confirmao de dados da inscrio para concorrer a sorteio de vagas
Figura 22. Tela indicando sucesso na realizao da inscrio para concorrer a sorteio
65
66
c) Cadastro,
edio
ou
desativao
de
professores
Listagem
67
68
69
nvel dos cursos oferecidos. Aps isso o usurio deve clicar no boto Concluir para
completar a abertura do semestre.
Figura 29. Primeiro passo para abertura de um semestre letivo
70
71
72
73
Figura 36. Janela com relatrio de vagas disponveis nas turmas e nmero de candidatos ao sorteio
delas
74
Figura 38. Tela com mensagem indicando sucesso na realizao do sorteio e exibindo lista de
sorteios realizados no semestre
Figura 39. Telas de visualizao dos sorteados para as vagas de uma turma
75
f) Matrcula de Sorteado
76
matrcula, o sistema exibe uma pgina (figura 43) com uma mensagem indicando
que a matrcula foi realizada com sucesso e um link para impresso de recibo de
matrcula (figura 44).
Figura 41. Tela de pesquisa de um sorteado
77
78
4. CONCLUSO
equipe
conseguiu
estabelecer
organizao
do
processo
de
79
grupo. Tambm foi inferido que quanto maior o nmero de pessoas envolvidas no
processo, maior a dificuldade para implantao dessas prticas.
O fator comunicao tambm demonstrou sua importncia decisiva no
processo. A comunicao e a aproximao entre desenvolvedores e Product Owner
foi bastante significativa no sentido de promover, no decorrer do processo, para
ambas as partes, esclarecimentos quanto melhor forma de implementar os
requisitos. Em alguns momentos, quando os desenvolvedores falharam em relao
comunicao interna, deixando de reportar sobre o andamento de suas atividades, o
processo ficou prejudicado, de modo que algumas atividades atrasaram o projeto ou
produziram resultados insatisfatrios, o que se conseguiu reverter na com esforos
adicionais.
Outros aspectos positivos observados foram: o bom nvel de envolvimento e
participao dos desenvolvedores no projeto, o que deve ter sido motivado pela
maior possibilidade deles influenciarem nas decises tomadas; e o amplo
aprendizado em relao s tecnologias da plataforma JEE utilizadas, tendo em vista
que, no incio do projeto, nenhum dos desenvolvedores possua domnio sobre elas.
Em relao s tecnologias e ferramentas de desenvolvimento utilizadas, notouse que as tecnologias da plataforma JEE realmente proporcionam bastantes
vantagens e abstraes. Porm, o tempo necessrio para iniciar servidor de
aplicaes JBoss e para fazer a implantao da aplicao mostrou-se um fator
amplamente negativo, j que dificultava bastante na hora de observar os resultados
da programao. Tambm o alto consumo de memria RAM do JBoss Aplication
Server, algumas dificuldades e problemas encontrados no uso da IDE Eclipse, e o
grande nmero de configuraes necessrias para utilizar essas tecnologias e
ferramentas em conjunto apresentaram-se como empecilhos ao desenvolvimento
sistema que esto sendo superados at o momento com o esforo e a pacincia dos
desenvolvedores.
A no adoo de testes automatizados no processo e a falta de disciplina dos
desenvolvedores em documentar as classes produzidas com comentrio Javadoc
foram duas grandes falhas muito perceptveis no processo. A primeira bastante
sentida nos momentos de lanamento de builds, quando muito tempo perdido na
execuo de testes manuais para tentar assegurar a correo e a estabilidade do
sistema. Sem testes automatizados, fica muito mais difcil detectar possveis bugs
introduzidos no sistema por novas implementaes. A segunda falha poder
80
implementao
dos
requisitos
levantados
implantao
das
81
REFERNCIAS