CAPA - Projetos

Propaganda
UNIVERSIDADE FEDERAL DE SANTA CATARINA
CENTRO TECNOLÓGICO - CTC
DISCIPLINA: INTRODUÇÃO A PROJETOS
PROFESSOR: RENATO CISLAGHI
FERRAMENTA COLABORATIVA PARA
GROUPWARE
Proposta de trabalho de conclusão de curso
RODOLPHO BROCK
0023841-4
Apoio:
Florianópolis, Fevereiro de 2004.
Sumário
Sumário ................................................................................................................2
Apresentação ........................................................................................................3
Objetivo ................................................................................................................3
Objeto de Estudo ..................................................................................................4
Ferramentas de Desenvolvimento ........................................................................5
Metodologia de Trabalho .....................................................................................6
1. Análise......................................................................................................6
2. Projeto ......................................................................................................6
3. Implementação .........................................................................................7
4. Testes........................................................................................................7
Cronograma de Atividades ...................................................................................7
2
Apresentação
Esta proposta de trabalho de conclusão de curso, de autoria do
aluno, do curso de graduação, Rodolpho Brock, visa implementar uma
Ferramenta
Colaborativa
para
Groupware,
o
qual
será
mais
especificamente apresentado no decorrer deste documento.
A confecção deste faz parte dos requisitos necessários para
conseguir o grau de bacharel em Sistemas de Informação pela
Universidade Federal de Santa Catarina (UFSC). Conta com a
coordenação do professor João Bosco da Mota Sobral, e como
membros da banca de avaliação o também professor Frank Siqueira e o
professor Leandro José Komosinski.
Objetivo
Este trabalho visa desenvolver um sistema com base na
arquitetura cliente-servidor utilizando o padrão de projeto MVC 2 para
aplicações na Internet utilizando a tecnologia Java. Será necessário um
estudo profundo da Linguagem Java e de todas as demais tecnologias
ligadas a web, tais como Servlet, JSP e Struts, além das ferramentas
necessárias ao desenvolvimento do sistema. Tais itens são a base
para a viabilidade do trabalho.
O objetivo deste trabalho resume-se em implementar um sistema
na web que possibilite duas grandes tarefas o controle de horário e o
controle de atividades.
Justifico a escolha deste sistema como trabalho de conclusão de
curso pois o mesmo aborda um assunto em bastante ascenção no
momento, que é a web junto a linguagem de programação Java. Além
de fornecer uma ferramenta extremamente necessária para o controle
do trabalho em equipe. A concepção do trabalho utilizará ferramentas e
linguagens de ponta, conceitos inovadores e necessitará de um amplo
3
conhecimento sobre os temas abordados, o que necessitará de uma
grande dedicação de minha parte.
Objeto de Estudo
Este trabalho visa desenvolver uma ferramenta capaz de fazer o
controle de horário de entrada e saída dos funcionários bem como o
gerenciamento de projetos e suas atividades.
Atualmente há uma aplicação desktop funcionando no servidor
pra suprir essa necessidade, porém com o avanço da internet, viu-se a
possibilidade de disponibilizar esse sistema na Web para que o acesso
as informações se torne mais rápidas e de fácil acesso para todos que
necessitam dessas informações, como por exemplo, funcionários que
precisam informar os horários de entrada e saída mesmo quando estão
em um viajem realizando tarefas em outras cidades.
Com o estágio atual da Internet, mais e mais aplicações estão
sendo construídas ou refeitas para que as informações sejam
atualizadas e disponibilizadas praticamente em tempo real, sem longas
esperas por atualizações. Assim informações podem ser incluídas,
modificadas e excluidas desde que o usuário tenha um micro com
acesso a internet e autorização para acessar a aplicação.
Para
desenvolver
esse
projeto,
algumas
tecnologias
e
ferramentas terão que ser estudadas a fundo pra que o trabalho atinja a
qualidade
esperada.
Alguns
conceitos
devem
ser
plenamente
entendidos, sendo assim, destaco alguns a seguir:

Padrão de projeto MVC

Java 2 Platform Enterprise Edition (J2EE)

Sun JavaServer Pages (JSP)

Struts
O trabalho será desenvolvido para ser utilizado através da
Internet, a rede mundial de computadores. Usará linguagem de
4
programação Java, juntamente com a tecnologia sitada acima,
utilizando o paradigma de orientação a objetos. Será também
necessário um sistema de gerência de banco de dados, o qual também
deve prover mecanismos eficientes de armazenamento de informações.
A utilização de softwares que utilizem o conceito de código-fonte
aberto, os chamados softwares livres, terão preferência por serem
obtidos e utilizados mais facilmente, além de terem custo baixíssimo
comparado
a
soluções
proprietárias
de
alguma
empresa
de
desenvolvimento de software.
Ferramentas de Desenvolvimento
O sistema será desenvolvido utilizando a linguagem Java. Java é
uma linguagem , de alto nível, orientada a objetos, com tipagem forte,
multi processada e robusta. É similar ao Smalltalk e similar em sintaxe à
C e C++, porém muito menos complexo do que C++.
O servidor de aplicação Java será o JBoss, container de páginas
html e JSP. O servidor de aplicação Tomcat é na verdade um
framework que facilita o desenvolvimento da aplicação.
Usarei
como
ferrmenta
de
desenvolvimento
o
Eclipse.
Ferramenta de edições de código Java e C++. Interface totalmente
customizável, leve, rápido e grátis. Possui uma gama enorme de
plugins muito úteis. Features muito interessantes, como por exemplo
debugar páginas JSP rodando no JBoss.
A princípio a modelagem UML do sistema será feita utilizando a
ferramenta ArgoUML, ferramenta livre construída também sobre a
plataforma Java.
O banco de dados a ser utilizado é o PostgreSQL, banco de
dados de uso livre.
5
Metodologia de Trabalho
A execução da proposta deste trabalho deverá propiciar uma
aquisição maior de conhecimento sobre o tema em estudo, além de
proporcionar uma oportunidade de aplicação prática dos conhecimentos
adquiridos durante a formação acadêmica, dessa forma, opta-se por
adotar uma metodologia de engenharia de software seguindo o
paradigma de orientação a objetos, sendo que o desenvolvimento do
sistema proposto terá como principais etapas:
1. Análise
As pesquisas realizadas de forma mais aprofundada sobre
o tema serão importantes, pois permitirão compor mais
detalhadamente o conjunto de necessidades e funcionalidades
exigidas pelo sistema. Ainda nesta etapa serão levantadas
alternativas de implementação e as mesmas serão avaliadas
quanto à viabilidade, bem como a identificação de módulos e
estruturas que comporão o sistema. Por fim, é nesta etapa que
será gerada toda a documentação UML.
2. Projeto
Destina-se a definição pormenorizada da estrutura e
módulos identificados em unidade de atividades. Em outras
palavras, toda a definição da organização do projeto, dos
aspectos físicos, funcionais, de interface, e etc, estarão
presentes nesta etapa. Desta forma pode-se evidenciar a
relevância desta etapa, visto que nela ocorrerão decisões de
projeto importantes que devem ser documentadas para que
futuramente possam ser consultadas, reutilizadas ou até mesmo
continuadas. Por fim, é nesta etapa que iremos definir o
6
cronograma das atividades que irá validar o cronograma
proposto neste.
3. Implementação
Após terem sido analisadas e definidas as tecnologias,
ferramentas e linguagens a serem utilizadas, a implementação se
apresentará como sendo uma “transcrição natural” do conteúdo
gerado pela etapa de análise para a linguagem computacional.
Nesta estapa iremos gastar a maior parte de nosso tempo
e é onde passaremos mais tempo em contato com a prática da
programação, aprendendo dia a dia as novas tecnologias e os
novos conceitos.
4. Testes
Após a conclusão de cada módulo serão realizados testes
para verificar as funcionalidades implementadas. Nos estágios
finais
do
desenvolvimento
serão
aplicados
testes
mais
abrangentes e complexos visando identificar e eliminar todos os
problemas encontrados. Esta será uma prática constante durante
todo o desenvolvimento do projeto.
Cronograma de Atividades
A fim de dimensionar bem o tempo para execução de todo o
projeto e assim evitar futuros problemas proponho o seguinte
cronograma:
1. Análise: Dois mês;
2. Projeto: Três meses;
3. Implementação: Cinco meses;
4. Testes: Duas semanas;
5. Preparação da defesa: Um mês e duas semanas.
7
Download