universidade federal de santa catarina – ufsc

Propaganda
UNIVERSIDADE FEDERAL DE SANTA CATARINA – UFSC
CENTRO TECNOLÓGICO – CTC
DEPARTAMENDO DE INFORMÁTICA E ESTATÍSTICA – INE
CURSO DE CIÊNCIAS DA COMPUTAÇÃO
RASCUNHO DO TRABALHO DE CONCLUSÃO DE CURSO
Sistema de Controle Acadêmico-Administrativo para o Departamento de Engenharia Mecânica da
Universidade Federal de Santa Catarina
AUTOR:
Rodrigo Ribeiro Branas
ORIENTADOR:
Alessandro Bianchi
CO-ORIENTADOR:
Prof. Leandro José Komosinski
BANCA:
Prof. Vitório Bruno Mazzola
FLORIANÓPOLIS, JUNHO DE 2005.
INDICE
Introdução ....................................................................................................3
Alternativas tecnológicas para o desenvolvimento web...............................4
Desenvolvimento utilizando o modelo MVC.................................................8
Domínio do problema..................................................................................12
Anexo 1.......................................................................................................37
Anexo 2.......................................................................................................40
INTRODUÇÃO:
Com a popularização da internet no início da década de 90, avanços
tecnológicos vêm permitindo que empresas e organizações estruturem seus
negócios, cada vez mais sistematicamente, por vias eletrônicas. Uma maior
acessibilidade a novas interfaces de programação de aplicativos (APIs),
desenvolvidas e utilizadas pela comunidade internacional de tecnologia, viabilizou
a explosão de novos projetos, reformulando o mapa de soluções de forma a
ampliar as alternativas tecnológicas.
Esta diversidade possibilitou que a tecnologia ganhasse mais amplitude e
inserção em setores e indústrias que previamente não poderiam viabilizar
estratégias tecnológicas sem investimentos consideráveis. Bem como a época do
mainframe com computadores monolíticos e custosos, deu lugar ao PC, mais
acessível e com interface simplificada, também as plataformas de programação
evoluíram com novas linguagens e paradigmas, ampliando as possibilidades de
soluções e valorizando serviços distribuídos de comunicação e informação.
Justamente para agregar valor aos seus serviços de internet, empresas e
organizações buscam disponibilizar aplicativos web, programas acessados pelo
navegador de internet com a possibilidade de interação entre os usuários e a
lógica de negócio. Exemplos óbvios de aplicativos web são as lojas de comércio
eletrônico, mecanismos de busca que agregam informações ou sistemas de
internet banking. Aplicativos web também são viabilizados através de intranets ou
extranets, redes restritas a uma empresa, organização ou grupo, que possibilitam
o trabalho colaborativo e estruturado entre seus atores.
A decisão de se empregar certa tecnologia na construção de aplicativos de
missão crítica, ou seja, aqueles que são essenciais ao negócio, perpassam uma
avaliação não somente de adequação a requisitos e orçamentos presentes, como
também, considerações sobre a adaptabilidade a novos critérios que surjam
conforme for demandado pelos processos de gestão. Deve-se considerar, por
exemplo, que uma tecnologia que atenda perfeitamente às funcionalidades
exigidas atualmente, pode apresentar, no futuro, restrições inaceitáveis à
expansão de negócios, exigindo uma readaptação completa a novos paradigmas
de programação.
À medida que interações B2B (empresa-empresa) ou B2C (empresaconsumidor) se tornam mais evidentes e necessárias, também se torna
fundamental desenvolver sistemas que permitam acesso aos mecanismos de
interação.
ALTERNATIVAS TECNOLOGICAS PARA DESENVOLVIMENTO WEB:
Abertura tecnológica
Os frameworks ASP e .NET são desenvolvidos pela Microsoft e, portanto, restritos
ao sistema operacional Windows ou plataformas que utilizem uma estrutura
comercial com suporte à tecnologia. J2EE, por sua vez, é multi-plataforma e segue
o conceito “construa uma vez, execute em qualquer lugar”. Ou seja, aplicativos
J2EE podem ser desenvolvidos e disponibilizados em qualquer plataforma.
A linguagem Java em si é desenvolvida dentro de um processo colaborativo (Java
Community Process) pela comunidade internacional de tecnologia. A abertura
deste processo também fez surgir uma grande comunidade de desenvolvedores
que oferecem extensões, gratuitas ou não, para a resolução de questões
fundamentais à programação de aplicativos empresariais, tais como a persistência
de dados, controle de transações, implementação de segurança e gerenciamento
de memória e cache. Aplicativos construídos em ASP simplesmente não lidam
com algumas destas questões, não sendo uma opção viável a longo prazo para o
desenvolvimento de uma estratégia na internet.
A Microsoft, portanto, lançou sua plataforma .NET que tenta resolver todas estas
questões programáticas num único pacote. Embora isto simplifique as opções,
desenvolvedores que optarem por .NET ficarão presos às tecnologias
desenvolvidas para a plataforma, bem como às altas licenças de uso para IDEs e
servidores de aplicações. Ao mesmo tempo em que o desenvolvimento em J2EE
traz maior complexidade e uma curva de aprendizado mais extensa, também
representa uma abertura de opções, principalmente no que diz respeito a
implementação de sistemas, como é demonstrado na Tabela 1.
Tabela 1. Comparação de softwares para tecnologias ASP, .NET e J2EE*
ASP e .NET
Plataforma
Servidor
Integração com base de
dados
J2EE
Microsoft Windows, Solaris,
Linux e outras
Microsoft Windows (Server)
implementações de
plataformas UNIX
Web Microsoft IIS5, .NET
framework versão 1.1
Qualquer servidor Web
incluindo Apache, Netscape
(ASP.NET)
e IIS utilizando container de
Servlets
Bases de dados em
conformidade com ODBC
Bases de dados em
conformidade com ODBC,
JDBC e
bases de dados ODBMS
*Adaptado de Comparing JavaServer Pages TM and Microsoft® Active Server Pages TM
Technologies (http://java.sun.com/products/jsp/jsp-asp.html).
ASP e .NET oferecem suporte disponibilizado pela Microsoft. Em contraponto, o
processo de desenvolvimento da linguagem Java, como mencionado, incentivou a
criação de uma comunidade de usuários que ajudam uns aos outros, resolvendo
questões complexas mais rapidamente que qualquer equipe de suporte comercial.
As três plataformas possuem documentação bem extensa e simplificada, além de
código fonte para exemplos. A maioria das bibliotecas de auxílio para
programação em ASP ou .NET são comerciais, enquanto que J2EE possui uma
vasta disponibilidade de bibliotecas open-source, regidas pela GNU license,
faciltiando a modificação ou adaptação para que se encaixem sob-medida no
processo de desenvolvimento de novas tecnologias e aplicativos.
Características tecnológicas
ASP é uma linguagem interpretada enquanto que Java é uma linguagem de
programação completa, orientada a objetos, compilada em byte-code e que,
portanto, oferece maior poder de resposta e processamento. A plataforma .NET
utiliza a linguagem C# (pronuncia-se "c sharp"), semelhante a Java, que permite
uma metodologia de desenvolvimento similar ao paradigma J2EE, oferecendo
vantagens consideráveis na construção de aplicativos web. A Tabela 2 faz uma
comparação das principais características destas tecnologias.
Tabela 2. Principais características das tecnologias ASP, .NET e Java (J2EE)
ASP
Linguagem script
.NET
Linguagem compilada
interpretada, comercial, ou interpretada,
J2EE
Linguagem orientada a
objetos, multi-
inserida diretamente na comercial, escalonável, plataforma, altamente
Características gerais página a ser
processada, podendo
orientada a
extensível, open-source,
componentes.
escalonável e
ser compilada para
compilada em byte-
gerar DLLs.
code.
Componentes multiplataforma
JavaBeans, Enterprise
Não
Não
reutilizáveis
Segurança contra
queda do sistema
JavaBeans, tags JSP
costumizados
Não
Sim
Sim
Não
Sim
Sim
Proteção contra
vazamento de
memória
JSP, tags
Linguagem de script
VBScript, JScript
VBScript, JScript,
C++, C#, J#
costumizaveis, sistemas
de templates com
suporte a
internacionalização
Tags costumizaveis
Não
Otimização e
monitoramento
Não
de performance
Complexidade
Simples
Sim
IDE para a linguagem
utilizada
Sim
Ferramentas profiler
Dependendo do modelo
Complexa devido ao
utilizado na
seu alto poder de
programação.
extensibilidade.
Desenvolvedores contam com diversos paradigmas de programação para
construir aplicativos web. Enquanto que ASP e .NET oferecem soluções fechadas
porém simplificadas, J2EE permite maior liberdade de opções, embora também
apresente maior complexidade. ASP é uma linguagem com sérias limitações
funcionais, sendo mais apropriado a adoção de .NET ou J2EE para beneficiar a
extensibilidade de sistemas e adaptação a futuros requisitos. Bibliotecas
adicionais e suporte a ASP e .NET são essencialmente de caráter comercial
enquanto que J2EE conta com uma comunidade mundial de projetos e
desenvolvedores para a resolução de questões referentes a aplicativos web
modernos.
Empresas que adotarem ASP como plataforma principal de negócio na internet
estarão subjugando seus projetos a uma gama restrita de funcionalidades, sem o
poder de expansão ou interação conforme for demandado por novos requisitos.
Portanto, serão obrigadas a reconstruir sua estratégia à medida que competidores
desenvolvem sistemas mais ageis e integrados, para agregar valor a seus projetos
e cativar a preferência de clientes e parceiros, ou dinamizar suas metodologias
internas de trabalho. Já a plataforma .NET oferece funcionalidades mais amplas,
mesmo que restritas às licensas, tecnologias e suporte comerciais, providas por
uma única empresa. J2EE, por sua vez, disponibiliza o maior leque de opções
tecnológicas e suporte, permitindo tanto a expansão de projetos quanto a
adequação à viabilidade orçamentária de empresas ou organizações.
Neste projeto foi utilizado Java 1.5, Servlet e JSP alem de alguns frameworks
como Log4J, tentativa de Hibernate (utilizado JDBC no fim das contas) e algumas
Tag libs como displaytags e input tags.
Servidor de aplicação Apache e Tomcat 5.5 e IDE Eclipe 3.0
Desenvolvimento utilizando o modelo MVC:
MVC (Model-View-Controller), traduzido livremente para Modelo-VisãoControlador, consiste num molde de programação em três camadas. O Modelo
representa os objetos ou dados de um aplicativo. A Visão é a representação deste
modelo em formato de apresentação para o usuário, com interface apropriada
para a entrada de informações. O Controlador, por sua vez, implementa a
interatividade, através do processamento das ações tomadas pelo usuário e
atualização do modelo.
O fluxo de interação entre as camadas é cíclico. O usuário indica uma operação
através da interface ou visão. Esta operação é processada pelo controlador que
altera o modelo conforme a lógica de negócio, retornando ao usuário o novo
estado do modelo no formato de uma nova visão. O usuário prossegue então a
sua próxima tarefa, re-iniciando o ciclo e assim por diante.
O molde MVC oferece vantagens significativas no desenvolvimento de aplicativos,
através da separação das camadas, possibilitando implementar com maior
facilidade e clareza questões programáticas importantes como a persistência de
dados, controle de segurança, comunicação em rede e fluxo de visualização.
Equipes de programação podem se concentrar em suas habilidades centrais e
integrar as camadas através de interfaces bem definidas. Esta separação permite
que aplicativos possam ser mais facilmente modificados e estendidos para atender
a novas exigências, bem como possibilita que a interface com o usuário apresente
várias visões de um só modelo, sem interferir com a lógica de negócio.
MVC e aplicativos web:
A programação de aplicativos web através de linguagens interpretadas como ASP
ou PHP oferece restrições à implementação do molde MVC, embora seja possível
faze-lo. Estruturalmente, estas linguagens formulam a lógica através de scripts
inseridos diretamente em páginas HTML. Por outro lado, linguagens compiladas
como Java e C# são mais apropriadas pois definem claramente os objetos e
ações de forma separada da interface. Novamente, esta separação possiblita
funcionalidade distinta das camadas, bem como a extensão de aplicativos,
reutilização de código e, conseqüentemente, menor tempo e custo de
desenvolvimento.
A aplicação de MVC na plataforma .NET é bem definida pela Microsoft,
oferecendo metodologia dentro das especificações definidas por ASP.NET,
utilizando a linguagem C# e com acesso a banco de dados SQL através de
ADO.NET ou ODBC.
A plataforma J2EE, por sua vez, apresenta muitas possibilidades. Favorecemos a
biblioteca de tags Jakarta Velocity Template sobre páginas JSP pela simplicidade
de scripting que Velocity proporciona à camada de visualização. A estrutura Struts,
também do Jakarta Project, implementa mapeamento entre a visão e o
controlador. Acesso ao banco de dados é intermediado através de Hibernate.
Também pode-se utilizar alguma das várias implementações comerciais do padrão
JDO (Java Data Objects), que possibilita a interpretação de objetos na estrutura
do banco de dados relacional. Há várias opções de banco de dados como MySQL,
Oracle ou mesmo SQL Server da Micrososft. Entretanto, observamos que o
PostgreSQL hoje oferece uma alternativa altamente robusta, mesmo que gratuíta.
Descrevemos na seguinte tabela estas opções e apresentamos um resumo da
estrutura MVC:
Tabela 3: Estrutura MVC e implementação nas plataformas .NET e J2EE
1ª Camada:
Visualização
Constrói a interface
do sistema com
acesso através de
navegadores de
internet, utilizando o
protocolo http para a
Função
2ª Camada: Lógica
de negócio
3ª Camada:
Persistência de
informações
Controla o
Define o banco de
processamento das dados a ser utilizado
ações requeridas
para persistir as
pelo usuário, aplica informações do
segurança através de sistema. Pode utilizar
identificação do
componentes de
troca de informações. usuário e aciona
intermediação com a
Composição básica operações no banco camada de lógica de
em HTML, estendida de dados, retornando negócio.
por linguagens de
o conteúdo que será
script como
enviado ao
JavaScript, controles navegador utilizado
ActiveX e Java
pelo cliente.
Applets, dependendo
dos requerimentos do
aplicativo.
Páginas em HTML
podendo conter
scripts, HTML
dinâmico, folhas de
estilos, controles
ActiveX e Java
Linguagem C# para
ASP.NET, gerando
componentes de
negócio que realizam
o processamento dos
pedidos recebidos
Banco de dados
Microsoft SQL Server
acessado pelo
componente
ADO.NET ou ODBC.
Páginas em HTML
Linguagem Java e o Bando de dados
Implementação
Applets. As páginas pelo servidor de
utilizando .NET
são gerada
Internet.
dinamicamente pelo
servidor através de
scripts definidos pela
especificação
ASP.NET.
podendo conter
scripts, HTML
dinâmico, folhas de
estilos, controles
ActiveX e Applets. A
página é gerada
Implementação
dinamicamente pelo
utilizando
servidor através do
J2EE
modelo Apache
Jakarta Velocity
framework Apache
Jakarta Struts, que
implementa o
paradigma MVC2,
possibilita que cada
componente da
lógica de negócio
tenha mais de uma
visualização.
PostgreSQL,
utilizando acesso via
middleware como
Hibernate ou a
implementação da
especificação JDO
(Java Data Objects)
que cria um
mapeamento direto
entre o banco de
Pages, que facilita a
manipulação do
design sem que haja
interferência na
dados relacional e
objetos de Java,
possibilitando
pesquisas complexas
lógica.
e eficientes.
O molde MVC de arquitetura de aplicativos permite a separação das camadas de
dados, controle e visualização. Esta separação oferece vantagens para
desenvolvedores como a otimização das habilidades de equipes e a redução de
custos associados ao desenvolvimento, além de favorecer a extensibilidade e
reutilização do código.
Aplicativos web construidos nas plataformas .NET e J2EE podem implementar
MVC, sendo que J2EE oferece maior gama de possibilidades.
Empresas que não utilizarem o molde MVC no desenvolvimento de aplicativos
estarão restringindo seus projetos aos requisitos atuais e correrão o risco de
inviabilizar futuras atualizações ou mesmo de isolamento por restrição à
integração com outros projetos.
DOMINIO DO PROBLEMA:
Desenvolvimento de um software para o Departamento de Engenharia
Mecânica capaz de controlar todo o fluxo acadêmico-administrativo do
departamento e ainda fornecer suporte a outras aplicações como Portais de
informação do Departamento, Graduação e Estágios dos cursos de Engenharia
Mecânica, Engenharia de Materiais e Metrologia e sistema de Estágios entre
outros.
PROJETO EMC:
O projeto EMC iniciou sua fase de analise de requisitos e projeto em
meados de Outubro de 2004 e inicio de implementação em Janeiro de 2005 e
atualmente encontra-se na fase de implantação.
Tela 01 – Tela Principal do Sistema
ENTIDADES DO SISTEMA:
Grupo Departamentos:
O primeiro grupo de entidades é o Departamento. Composto por
Departamentos, Áreas de Conhecimento, Níveis e Sub-Niveis.
Tela 02 – Grupo Departamentos
Entidade 1 - Departamento:
Existem duas modalidades de departamentos, o departamento chamado de
mestre, no caso o departamento de engenharia mecânica, a maioria das outras
entidades do sistema estão atreladas a este departamento principal e o mesmo
não pode ser excluído.
O departamento mestre é composto pelas seguintes entidades:

Itens de Laboratório: São itens que são utilizados na entidade Laboratórios
e definem que itens um laboratório do departamento pode ter. (ex:
Equipamentos, Serviços, Computadores entre outros).

Itens de Plano de Ensino: São itens que são utilizados na entidade Planos
de Ensino e são os itens que compõe os planos de ensino das disciplinas
do departamento.(ex: Ementa, Avaliação, Cronograma entre outros).

Tipos de Servidores: Tipos de servidores existentem no departamento e
que serão utilizados no cadastro das entidades Técnico e Docente.(ex:
Adjunto I, Adjunto II, Titular entre outros)

Mandatos do Departamento: Mandato vingente no departamento assim
como listagem dos mandatos passados mantendo um histórico. São
informados Data de Inicio, Data de Fim, Chefe e Sub-Chefe.
Os departamentos externos como FSC, QMC, INE entre outros são
compostos por Nome, Sigla, Endereço Eletrônico e Home Page e são utilizados na
Entidades Disciplina entre outras que dependem de departamentos.
Tela 03 - Departamentos
Entidade 2 - Área de Conhecimento:
São áreas que serão atreladas a departamentos e indicam áreas
especificas de conhecimento. (ex: Usinagem em Departamento de Eng. Mecânica,
Software Aplicativo em Departamento de Informática e Estatística entre outros).
Entidade 3 - Níveis:
São os níveis de escolaridade atrelados a Entidade Curso como Graduação
e Pós-Graduação.
Entidade 4 - Sub-Níveis:
São Sub-Níveis dentro dos níveis como Especialização, Mestrado ou
Doutorado dentro de Pós-Graduação.
Grupo Cursos:
O segundo grupo de entidades é o de Cursos e é composto por Cursos,
Coordenadorias de Cursos e Colegiados de Cursos.
Tela 03 – Grupo Cursos
Entidade 5 – Cursos:
São cursos que fazem parte do sistema e são atrelados a entidades
Coordenadorias de Curso, Colegiados de Curso e Currículo entre outras.
Fazem parte de Curso os seguintes dados:










Código do Curso
Código CAGR
Nome do Curso
Titulação
Habilitação
Área de Conhecimento
Nível
Sub-Nível
Objetivo
Documentação
Tela 04 – Cursos
Entidade 6 – Coordenadorias de Curso
São as Coordenadorias de Curso que são atreladas as Entidades Curso e
Pessoas.
Tela 05 – Inclusão de Coordenadoria de Curso
Ainda são cadastradas em coordenadoria de curso as entidades Secretárias e
Bolsistas que atrelam Pessoas a estes respectivos cargos na Coordenadoria.
Entidade 7 – Colegiados de Curso
Seguindo o exemplo de Mandatos em Departamentos, mantem um histórico
dos colegiados dos cursos bem como relacionam os Membros do Colegiado
indicando titulares e suplentes, a fim de abstrair completamente os dados de um
colegiado. Futuramente pensa-se também em guardar as atas de reuniões e
decisões do colegiado nesta mesma entidade.
Tela 06 – Colegiados de Cursos
Tela 07 – Membros do Colegiado
Grupo Organização Curricular:
Este grupo é um dos maiores por conter as entidades Áreas de
Concentração, Currículo, Disciplinas, Planos de Ensino, Referencias e Meios de
Publicação.
Tela 07 – Organização Curricular
Entidade 8 – Áreas de Concentração:
São áreas que relacionam Departamento e Áreas de Concentração e
descrevem áreas especificas em que a entidade Disciplinas vai utilizar. (ex:
Análise e Projeto Mecânico, Usinagem, Fabricação, Física, Vibração e Acústica,
Termodinâmica entre outros).
Tela 08 – Áreas de Concentração
Entidade 09 – Currículos:
São entidades que relacionam Fases ou Períodos e dentro delas Disciplinas
para que com este relacionamento montarem os currículos dos cursos. Também
são relacionados os pré-requisitos que são Disciplinas assim como Equivalentes.
Abaixo seguem algumas telas de Listagem dos Currículos, Inclusão de
Disciplinas, Listagem de Pré-Requisitos e Visualização de Currículo.
Tela 09 – Currículos de Cursos
Tela 10 – Cadastramento de Disciplina na Fase ou Período
Tela 11 – Pré-Requisitos de Disciplina do Currículo
Tela 12 – Currículo do Curso de Eng. Mecânica após o cadastramento de Disciplinas nas
fases
Entidade 10 – Disciplinas:
São relacionadas nesta entidade as disciplinas juntamente com suas
disciplinas equivalentes que são utilizadas em nas entidades Currículos, Planos de
Ensino, Oferta de Estágio entre outras.
Tela 13 – Disciplinas
Tela 14 – Inclusão de Disciplinas
Entidade 11 – Planos de Ensino:
São relacionados nesta entidade os itens do plano de ensino descritos no
departamento mestre como ementa, objetivos, cronograma e as referencias
bibliográficas que serão mostradas mais a frete.
Tela 15 – Visualização de parta do plano de ensino
Tela 16 – Planos de Ensino
Tela 17 – Combo-Box de Referencias para serem incluídas no
Plano de Ensino
Entidade 12 – Referências:
São as referências bibliográficas que incluem Autores, Titulo, Editora, Ano e
são atreladas a Entidade Meios de Publicação.
Tela 18 – Referências Bibliográficas
Tela 19 – Inclusão de Referência
Entidade 13 – Meio de Publicação:
São utilizados para descrever um meio de publicação como Livros,
Apostilas e Manuais entre outros. Relacionam-se com a entidade Referências.
Tela 20 – Meios de Publicação
Grupo Laboratórios:
Este grupo é composto pelas entidades Laboratórios, Grupos/Núcleo e
Áreas de Concentração de Grupos/Núcleo.
Tela 21 – Grupo Laboratórios
Entidade 13 – Laboratórios:
São compostos por outras entidades como Departamento, Docente e
Grupos/Núcleo alem de reunir informações de Itens de Laboratório cadastrados no
departamento mestre. São atrelados também as entidades Técnicos, Bolsistas e
Secretárias.
Tela 22 – Laboratórios
Tela 23 – Inclusão de Características no Laboratório
Tela 24 – Inclusão de Laboratório
Entidade 14 – Grupos/Núcleo:
Os Grupos/Núcleo são uma entidade que contem grupos de laboratórios e
linhas de pesquisa.
Tela 25 – Grupos/Núcleo
Entidade 15 – Áreas de Concentração de Grupos/Núcleo:
São Áreas de Concentração atreladas a Grupos/Núcleo. (ex: Usinagem
com o Grupo/Núcleo Núcleo Integrado de Desenvolvimento de Produtos)
Grupo Empresas:
Este grupo é formado basicamente pela entidade Empresa e Áreas de
Concentração de Empresas. Estas entidades são a base para o sistema de
Estágios e entra na formação da entidade Orientadores de Estágio de empresas.
Tela 26 – Grupo Empresas
Entidade 16 – Empresas:
Cadastro geral de empresas, todas as organizações que tem contato de
estágio, fornecedores ou orientadores (de empresas) estão relacionadas nesta
entidade.
Tela 27 – Empresas
Entidade 17 – Áreas de Concentração de Empresas:
São Áreas de Concentração atreladas a Empresas. (ex: Automobilística
com a empresa Mercedes-Benz ou Reatores com a empresa General Eletric)
Tela 28 – Inclusão de Área de Concentração de Empresa
Grupo Estágios:
Este grupo atualmente é composto pelas entidades Ofertas de Estágio e
Coordenadorias de estágio, no entanto nos próximos meses estará sendo
desenvolvido o sistema que automatizara toda a rotina de estágios do
departamento, desde pré-matrículas de estágio, passando por pretensão de vagas
até chegar em envio de relatórios e avaliação dos mesmos por parte dos
orientadores e coordenadores. (Ver requisitos funcionais do novo sistema em
Anexo).
Entidade 18 – Ofertas de Estágio:
Tela 29 – Visualização de Oferta de Estágio
Entidades 19 – Coordenadorias de Estágio:
Tela 30 – Coordenadorias de Estágio
Grupo Pessoal:
Este grupo é composto primariamente pelo cadastro de pessoa física que é
utilizado em todas as outras entidades como Docentes, Técnicos, Alunos,
Bolsistas e Orientadores de Estágio.
Tela 31 – Pessoas Físicas
CONCLUSÃO:
Este trabalho no qual estou envolvido a aproximadamente 1 ano tem trazido
muitos benefícios a minha vida profissional, por se tratar de um TCC a nível
comercial acredito que tenha uma responsabilidade maior envolvida , a satisfação
do cliente, então tudo deve sair perfeito.
Na parte técnica tive que desenvolver idéias para o melhor aproveitamento
de classes afim de otimizar o processo e ainda sim deixar o sistema o mais claro e
modularizado possível para facilitar os processos de manutenção.
Com esse projeto deste aprendi muito alem do puro desenvolvimento de
softwares, tive que atuar também produzindo o banco de dados e muito em
servidores apache e tomcat alem claro de toda engenharia de software, analises e
projetos e programação em si.
ANEXO 1
PROJETOS CONCORRENTES
Portal do Depto de Eng. Mecânica:
Projeto CP:
Utilizado para fazer atualização dinâmica do conteúdo, é utilizado juntamente ao
EMC para formar os Portais, que também são sistemas Web.
Itens de menu
Categorias, Conteúdos, Imagens, Links e Paginas de Apoio
Edição de Conteudo
Os sistemas Web abaixo utilizam os softwares EMC e CP para montarem seus
portais, misturam as informações contidas no banco de dados referentes a
conteúdos, imagens, cores, etc com as informações do departamento.
www.emc.ufsc.br
www.emc.ufsc.br/graduacao
www.emc.ufsc.br/estagios
www.materiais.ufsc.br (ainda fora do ar)
www.materiais.ufsc.br/estagios (ainda fora do ar)
ANEXO 2:
Diagrama de Classes (somente as mais importantes pois o sistema conta
atualmente aprox. com 150 classes). Ficou realmente complicado então tive que
refazer o diagrama com uma versão mais compacta, gostaria de colocar os
diagramas completos.
Download