centro de ciÊncias exatas e naturais departamento de sistemas e computaÇÃo curso de...
TRANSCRIPT
TURNO: Noturno VERSÃO: 01 No UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO CURSO DE CIÊNCIAS DA COMPUTAÇÃO — BACHARELADO COORDENAÇÃO DE TRABALHO DE CONCLUSÃO DE CURSO
PROPOSTA PARA O TRABALHO DE CONCLUSÃO DE CURSO
TÍTULO: SISTEMA DE GESTÃO ESCOLAR ORIENTADO A OBJETO UTILIZANDO BANCO DE DADOS CACHÉ
ÁREA: Sistema de Informação
Palavras-chave: Gestão Escolar. Orientação a objetos. Banco de dados Caché.
1 IDENTIFICAÇÃO
1.1 ALUNO
Nome: Juliano Walter Brune Código/matrícula: 15457
Endereço residencial:
Rua: Rua João Ehrat n°: 71 Complemento: Apto 604
Bairro: Garcia CEP: 89090-020 Cidade: Blumenau UF: SC
Telefone fixo: (47) 3035 1249 Celular: (47) 9185 9990
Endereço comercial: Colégio Madre Francisca Lampel
Empresa: Colégio Madre Francisca Lampel
Rua: Rua São Pedro n°: 125 Bairro: Centro
CEP: 89110-000 Cidade: Gaspar UF: SC Telefone: (47) 3332-0935
E-Mail FURB: E-Mail alternativo: [email protected]
1.2 ORIENTADOR
Nome: Wilson Pedro Carli
E-Mail FURB: [email protected] E-Mail alternativo:
2 DECLARAÇÕES
2.1 DECLARAÇÃO DO ALUNO
Declaro que estou ciente do Regulamento do Trabalho de Conclusão de Curso de
Ciências da Computação e que a proposta em anexo, a qual concordo, foi por mim rubricada
em todas as páginas. Ainda me comprometo pela obtenção de quaisquer recursos necessários
para o desenvolvimento do trabalho, caso esses recursos não sejam disponibilizados pela
Universidade Regional de Blumenau (FURB).
Assinatura: Local/data:
2.2 DECLARAÇÃO DO ORIENTADOR
Declaro que estou ciente do Regulamento do Trabalho de Conclusão do Curso de
Ciências da Computação e que a proposta em anexo, a qual concordo, foi por mim rubricada
em todas as páginas. Ainda me comprometo a orientar o aluno da melhor forma possível de
acordo com o plano de trabalho explícito nessa proposta.
Assinatura: Local/data:
3 AVALIAÇÃO DA PROPOSTA
3.1 AVALIAÇÃO DO(A) ORIENTADOR(A)
Acadêmico(a):
Orientador(a):
ASPECTOS AVALIADOS
aten
de
aten
de
par
cial
men
te
não
ate
nde
1. INTRODUÇÃO 1.1. O tema de pesquisa está devidamente contextualizado/delimitado?
1.2. O problema está claramente formulado?
2. OBJETIVOS 2.1. O objetivo geral está claramente definido e é passível de ser alcançado?
2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? Caso não sejam apresentados objetivos específicos, deixe esse item em branco.
3. RELEVÂNCIA 3.1. A proposta apresenta um grau de relevância em computação que justifique o
desenvolvimento do TCC?
4. METODOLOGIA 4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC?
4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a metodologia proposta?
4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de maneira a permitir a execução do TCC no prazo disponível?
5. REVISÃO BIBLIOGRÁFICA 5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC?
5.2. São apresentados trabalhos correlatos, bem como comentadas as principais características dos mesmos?
6. REQUISITOS DO SISTEMA A SER DESENVOLVIDO 6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram
claramente descritos?
AS
PE
CT
OS
T
ÉC
NIC
OS
7. CONSIDERAÇÕES FINAIS 7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica
com a realização do TCC?
8. REFERÊNCIAS BIBLIOGRÁFICAS 8.1. As referências bibliográficas obedecem às normas da ABNT?
8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na proposta (são usadas obras atualizadas e/ou as mais importantes da área)?
9. CITAÇÕES 9.1. As citações obedecem às normas da ABNT?
9.2. As informações retiradas de outros autores estão devidamente citadas?
10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 10.1. O texto obedece ao formato estabelecido?
AS
PE
CT
OS
M
ET
OD
OL
ÓG
ICO
S
10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem utilizada é clara)?
A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: • qualquer um dos itens tiver resposta NÃO ATENDE; • pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou • pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE.
PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO
Assinatura do(a) avaliador(a): Local/data:
CONSIDERAÇÕES DO(A) ORIENTADOR(A):
Caso o(a) orientador(a) tenha assinalado em sua avaliação algum item como “atende parcialmente”, devem ser relatos os problemas/melhorias a serem efetuadas. Na segunda versão, caso as alterações sugeridas pelos avaliadores não sejam efetuadas, deve-se incluir uma justificativa.
Assinatura do(a) avaliador(a): Local/data:
3.2 AVALIAÇÃO DO(A) COORDENADOR DE TCC
Acadêmico(a):
Avaliador(a): José Roque Voltolini da Silva
ASPECTOS AVALIADOS
aten
de
aten
de
par
cial
men
te
não
ate
nde
1. INTRODUÇÃO 1.1. O tema de pesquisa está devidamente contextualizado/delimitado?
1.2. O problema está claramente formulado?
2. OBJETIVOS 2.1. O objetivo geral está claramente definido e é passível de ser alcançado?
2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? Caso não sejam apresentados objetivos específicos, deixe esse item em branco.
3. RELEVÂNCIA 3.1. A proposta apresenta um grau de relevância em computação que justifique o
desenvolvimento do TCC?
4. METODOLOGIA 4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC?
4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a metodologia proposta?
4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de maneira a permitir a execução do TCC no prazo disponível?
5. REVISÃO BIBLIOGRÁFICA 5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC?
5.2. São apresentados trabalhos correlatos, bem como comentadas as principais características dos mesmos?
6. REQUISITOS DO SISTEMA A SER DESENVOLVIDO 6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram
claramente descritos?
AS
PE
CT
OS
T
ÉC
NIC
OS
7. CONSIDERAÇÕES FINAIS 7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica
com a realização do TCC?
8. REFERÊNCIAS BIBLIOGRÁFICAS 8.1. As referências bibliográficas obedecem às normas da ABNT?
8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na proposta (são usadas obras atualizadas e/ou as mais importantes da área)?
9. CITAÇÕES 9.1. As citações obedecem às normas da ABNT?
9.2. As informações retiradas de outros autores estão devidamente citadas?
10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 10.1. O texto obedece ao formato estabelecido?
AS
PE
CT
OS
M
ET
OD
OL
ÓG
ICO
S
10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem utilizada é clara)?
A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: • qualquer um dos itens tiver resposta NÃO ATENDE; • pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou • pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE.
PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO
OBSERVAÇÕES:
Assinatura do(a) avaliador(a): Local/data:
3.3 AVALIAÇÃO DO(A) PROFESSOR(A) DA DISCIPLINA DE TCCI
Acadêmico(a):
Avaliador(a): Joyce Martins
ASPECTOS AVALIADOS
aten
de
aten
de
par
cial
men
te
não
ate
nde
1. INTRODUÇÃO 1.1. O tema de pesquisa está devidamente contextualizado/delimitado?
1.2. O problema está claramente formulado?
2. OBJETIVOS 2.1. O objetivo geral está claramente definido e é passível de ser alcançado?
2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? Caso não sejam apresentados objetivos específicos, deixe esse item em branco.
3. RELEVÂNCIA 3.1. A proposta apresenta um grau de relevância em computação que justifique o
desenvolvimento do TCC?
4. METODOLOGIA 4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC?
4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a metodologia proposta?
4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de maneira a permitir a execução do TCC no prazo disponível?
5. REVISÃO BIBLIOGRÁFICA 5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC?
5.2. São apresentados trabalhos correlatos, bem como comentadas as principais características dos mesmos?
6. REQUISITOS DO SISTEMA A SER DESENVOLVIDO 6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram
claramente descritos?
AS
PE
CT
OS
T
ÉC
NIC
OS
7. CONSIDERAÇÕES FINAIS 7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica
com a realização do TCC?
8. REFERÊNCIAS BIBLIOGRÁFICAS 8.1. As referências bibliográficas obedecem às normas da ABNT?
8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na proposta (são usadas obras atualizadas e/ou as mais importantes da área)?
9. CITAÇÕES 9.1. As citações obedecem às normas da ABNT?
9.2. As informações retiradas de outros autores estão devidamente citadas?
10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 10.1. O texto obedece ao formato estabelecido?
AS
PE
CT
OS
M
ET
OD
OL
ÓG
ICO
S
10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem utilizada é clara)?
PONTUALIDADE NA ENTREGA atraso de
_____ dias
A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: • qualquer um dos itens tiver resposta NÃO ATENDE; • pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou • pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE.
PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO
OBSERVAÇÕES:
Assinatura do(a) avaliador(a): Local/data:
3.4 AVALIAÇÃO DO(A) PROFESSOR(A) ESPECIALISTA NA ÁREA
Acadêmico(a):
Avaliador(a):
ASPECTOS AVALIADOS
aten
de
aten
de
par
cial
men
te
não
ate
nde
1. INTRODUÇÃO 1.1. O tema de pesquisa está devidamente contextualizado/delimitado?
1.2. O problema está claramente formulado?
2. OBJETIVOS 2.1. O objetivo geral está claramente definido e é passível de ser alcançado?
2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? Caso não sejam apresentados objetivos específicos, deixe esse item em branco.
3. RELEVÂNCIA 3.1. A proposta apresenta um grau de relevância em computação que justifique o
desenvolvimento do TCC?
4. METODOLOGIA 4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC?
4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a metodologia proposta?
4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de maneira a permitir a execução do TCC no prazo disponível?
5. REVISÃO BIBLIOGRÁFICA 5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC?
5.2. São apresentados trabalhos correlatos, bem como comentadas as principais características dos mesmos?
6. REQUISITOS DO SISTEMA A SER DESENVOLVIDO 6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram
claramente descritos?
AS
PE
CT
OS
T
ÉC
NIC
OS
7. CONSIDERAÇÕES FINAIS 7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica
com a realização do TCC?
8. REFERÊNCIAS BIBLIOGRÁFICAS 8.1. As referências bibliográficas obedecem às normas da ABNT?
8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na proposta (são usadas obras atualizadas e/ou as mais importantes da área)?
9. CITAÇÕES 9.1. As citações obedecem às normas da ABNT?
9.2. As informações retiradas de outros autores estão devidamente citadas?
10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 10.1. O texto obedece ao formato estabelecido?
AS
PE
CT
OS
M
ET
OD
OL
ÓG
ICO
S
10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem utilizada é clara)?
A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: • qualquer um dos itens tiver resposta NÃO ATENDE; • pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou • pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE.
PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO
OBSERVAÇÕES:
Assinatura do(a) avaliador(a): Local/data:
UNIVERSIDADE REGIONAL DE BLUMENAU
CENTRO DE CIÊNCIAS EXATAS E NATURAIS
CURSO DE CIÊNCIAS DA COMPUTAÇÃO – BACHARELADO
SISTEMA DE GESTÃO ESCOLAR ORIENTADA A OBJETO
UTILIZANDO BANCO DE DADOS CACHÉ
JULIANO WALTER BRUNE
BLUMENAU 2006
JULIANO WALTER BRUNE
SISTEMA DE GESTÃO ESCOLAR ORIENTADO A OBJETO
UTILIZANDO BANCO DE DADOS CACHÉ
Proposta de Trabalho de Conclusão de Curso submetida à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso I do curso de Ciências da Computação — Bacharelado.
Prof. Wilson Carli- Orientador
BLUMENAU 2006
2
1 INTRODUÇÃO
Segundo Tiobe Software (2006), em 2006 as linguagens de programação mais
utilizadas no mundo foram: Java, C, C++ e Visual Basic. Entre as quatro linguagens de
programação mais utilizadas, três são orientadas a objetos, fazendo com que esse paradigma
de programação assumisse o primeiro plano no cenário de desenvolvimento de aplicações.
Estas linguagens de programação orientadas a objetos são mais utilizadas devido aos seus
ricos modelos de dados e ao suporte a conceitos que melhoram a produtividade, tais como
encapsulamento, herança e polimorfismo.
Entretanto, uma grande parcela dos dados ainda reside em bancos de dados
relacionais, provocando assim um aumento no tempo de desenvolvimento, pois é preciso
mapear os dados para que eles possam ser compreendidos e manipulados pela tecnologia
orientada a objetos. “As vantagens da tecnologia de objetos são diminuídas quando os objetos
de um banco de dados resultantes têm que ser forçados ao modelo relacional bidimensional”
(INTERSYSTEMS, 2005a).
Estima-se que mais de 40% do esforço de desenvolvimento de um componente de negócio seja gasto para resolver problemas de mapeamento Objeto-relacional. Esse tempo é desperdiçado resolvendo problemas de infra-estrutura, ao passo que tudo que o programador quer é uma camada de persistência. Daí a grande vantagem de utilizar Bancos de Dados Orientados a Objetos (INTERSYSTEMS, 2004).
Baseado na citação anterior conclui-se que uma das formas de aumentar a
produtividade de forma ordenada é a utilização de um banco de dados que armazene os dados
de forma orientada a objetos, ou seja, armazene o próprio objeto, sem a necessidade de
mapeamentos para sua construção.
Segundo Intersystems (2005a), “O uso e a complexidade de aplicações de Tecnologia
da Informação (TI) estão explodindo e os sistemas de hoje tem exigências e processos
crescentes que superam as capacidades da tecnologia relacional”.
Armazenar objetos em um banco de dados relacional é uma tarefa complexa. O
modelo relacional não possui os mecanismos necessários para representar características
simples do modelo orientado a objeto como a herança e o polimorfismo. Nesse cenário, um
banco de dados relacional não traz vantagem. “A escolha de um banco de dados orientado a
objeto é a evolução natural” (INTERSYSTEMS, 2002).
Para melhorar a performance de aplicações que seguem o paradigma da orientação a
objetos, tem-se a necessidade de uma estrutura de armazenamento que seja capaz de
armazenar o objeto criado. Surgiu então em 1997, o banco de dados Caché, desenvolvido pela
3
empresa Intersystems, cujo grande diferencial está na sua arquitetura aberta e a capacidade de
persistência de objetos (SAMARY, 2004).
Tendo em vista a crescente utilização de linguagens de programação orientada a
objetos, propõe-se neste trabalho o desenvolvimento de um sistema de gestão escolar,
utilizando para seu desenvolvimento a linguagem de programação Visual Basic e a ferramenta
Caché Studio, que é uma IDE para desenvolver rapidamente e depurar aplicações com Caché.
Esta ferramenta é disponibilizada pelo próprio servidor de aplicações do Caché. O banco de
dados Caché será utilizado para a persistência de todos os objetos do sistema.
Todas as classes, atributos e métodos do sistema serão desenvolvidas no Caché Studio
e exportadas para o Visual Basic para a criação do sistema em desktop. O sistema terá um
módulo para acesso via web. Este módulo será disponibilizado para consultas de notas,
horários, materiais didáticos e será desenvolvido no Caché Studio, gerando páginas em Caché
Server Pages (CSP), similares às páginas de script Java Server Pages (JSP). O servidor de
aplicações do Caché dá suporte à linguagem Visual Basic, portanto podemos manipular as
classes e métodos criados no Caché Studio de dentro de uma aplicação no Visual Basic. Com
isso, pode-se criar rapidamente aplicações desktop.
1.1 OBJETIVOS DO TRABALHO
O objetivo deste trabalho é desenvolver um sistema de gestão escolar baseado em
ambiente híbrido (desktop e web) que possibilite o controle de alunos, professores,
coordenação e administração escolar, utilizando recursos de orientação a objetos tanto na
implementação das classes, atributos e métodos como na persistência dos objetos.
Os objetivos específicos do trabalho são:
a) utilizar-se da tecnologia da ferramenta Caché Studio para geração dos módulos do
sistema (cadastramento e consultas);
b) utilizar-se da linguagem Visual Basic para geração de telas e relatórios;
c) possibilitar a pais, alunos, professores e administração acesso à informações em
tempo real e via web.
4
1.2 RELEVÂNCIA DO TRABALHO
A relevância deste trabalho está no desenvolvimento de um sistema completo de
gestão escolar, totalmente orientado a objetos. Considera-se que com o uso do banco de dados
Caché, será possível obter uma abordagem direta aos objetos criados pelo sistema, pois seu
armazenamento se dá de forma multidimensional. A linguagem escolhida para o
desenvolvimento da aplicação será o Visual Basic, juntamente com a ferramenta Caché
Studio.
Tendo em vista o cenário de crescimento da programação orientada a objeto e suas
técnicas, a crescente migração de sistemas desenvolvidos em tecnologias ultrapassadas para
sistemas mais robustos e confiáveis, tem-se a necessidade da utilização de Sistemas
Gerenciadores de Banco de Dados que possuam alto grau de sincronia com a aplicação
orientada a objeto.
Atualmente existe o banco de dados Caché, desenvolvido pela empresa Intersystems,
que tem na sua estrutura multidimensional sua principal característica. Os bancos de dados
relacionais acabam forçando os dados em duas tabelas dimensionais, já o Caché armazena os
dados em tabelas multidimensionais. O termo “multidimensional” significa que podemos
indexar os dados por quantos parâmetros forem necessários, pois eles não estão limitados a
em linhas e colunas. É justamente a estrutura multidimensional do Caché que dá suporte à
persistência de objetos e conseqüentemente caracteriza o banco como sendo orientado a
objetos (INTERSYSTEMS, 2005b).
O desenvolvimento de um sistema de gestão escolar utilizando duas tecnologias
orientadas a objetos (Caché Studio e Visual Basic), tanto na implementação de classes,
atributos e métodos, bem como na persistência dos objetos traz uma vantagem no tempo de
desenvolvimento, pois não haverá necessidade de mapeamentos entre as diversas tecnologias
citadas anteriormente.
1.3 METODOLOGIA
O trabalho será desenvolvido observando as seguintes etapas:
a) levantamento bibliográfico: realizar levantamento bibliográfico sobre conceitos de
5
orientação a objetos, banco de dados Caché e inovações tecnológicas a serviço da
educação;
b) análise de requisitos: serão analisados e relatados os requisitos funcionais e não
funcionais que o sistema deverá ter;
c) especificação do sistema: a especificação será com análise orientada á objetos
utilizando a Unified Modelling Language (UML) . Será utilizada a ferramenta
Rational Rose para desenvolvimento dos diagramas de caso de uso, de seqüência e
de classe;
d) implementação: as regras de negócio serão implementadas na ferramenta Caché
Studio, bem como, as interfaces para web. As interfaces para desktop serão
desenvolvidas em Visual Basic;
e) testes: os testes e validações serão efetuados utilizando dados reais de uma
instituição de ensino fundamental e médio. Será disponibilizada uma versão de
teste a ser utilizada na secretaria da instituição;
f) redação do volume final.
As etapas serão realizadas nos períodos relacionados no quadro 01.
2007 Fev. mar. abr. maio jun.
Etapas / quinzenas 1 2 1 2 1 2 1 2 1 2 levantamento bibliográfico análise de requisitos especificação do sistema implementação testes redação do volume final
Quadro 01 – Cronograma
6
2 REVISÃO BIBLIOGRÁFICA
Neste capítulo são apresentados alguns aspectos teóricos relacionados ao trabalho, tais
como: programação orientada a objetos, banco de dados Caché e tecnologias e avanços na
área escolar. Na última seção serão descritos alguns trabalhos correlatos.
2.1 PROGRAMAÇÃO ORIENTADA A OBJETOS
A origem da programação orientada a objetos data da década de 60 com a criação de
uma linguagem de simulação denominada Simula Language, porém a primeira linguagem a
implementar conceitos de orientação a objetos foi a linguagem Simula-68 (LEITE; RAHAL
JÚNIOR, 2002).
O grande propósito da programação orientada a objetos é a criação rápida de
protótipos, códigos reutilizáveis e de um desenvolvimento interativo e incremental
(ALMEIDA; AMORIN, 2005).
Segundo Behling e Gomes (2001), “O ponto-chave da tecnologia de objetos é a
habilidade de construir grandes programas a partir de outros pequenos pré-fabricados”.
“O enfoque da orientação a objetos vê o mundo como uma coletânea de objetos que
interagem entre si, apresentam características próprias que são representadas pelos seus
atributos e operações.” (FURLAN, 1998, p. 11). “Objetos se comunicam através de
mensagem, isto é, um sinal enviado de um objeto a outro requisitando um serviço através da
execução de uma operação.” (FURLAN, 1998, p. 17).
2.2 BANCO DE DADOS CACHÉ
O banco de dados Caché foi lançado em 1997 pela empresa Intersystems. Antes desta
data era um banco de dados embarcado que foi por muito tempo utilizado nos mercados de
healthcare e governos de vários países (SAMARY, 2004).
Hoje com a crescente utilização da programação orientada a objetos e seus conceitos,
7
algumas empresas estão optando cada vez mais pela utilização de bancos de dados orientados
a objetos para persistência de seus objetos. O banco de dados Caché tem na sua estrutura de
armazenamento a grande diferença com relação a outros bancos de dados relacionais, pois
armazena os dados em forma de objeto e não em forma de tabelas.
Em um banco de dados relacional, as amarrações entre campos de uma tabela se da
pela sua chave estrangeira, fazendo com que o desenvolvedor deva se preocupar com esta
criação, já no banco de dados Caché, o próprio banco se responsabiliza por estas amarrações,
criando o seu próprio índice. Para que exista um banco de dados orientado a objetos, no
entanto, não basta gravar objetos, é preciso um conjunto de técnicas de gerenciadores dos
objetos persistentes (NUNES, 1995).
No exemplo que se segue, pode-se observar de uma forma transparente como o banco
de dados Caché armazena e apresenta os objetos das classes implementadas no sistema. Tem-
se a classe País , formada pelos atributos nomePais e siglaPais e a classe Estado , formada
pelos atributos nomeEstado , siglaEstado e paisEstado . Os atributos nomePais ,
siglaPais , nomeEstado e siglaEstado são do tipo String, já o atributo paisEstado é do
tipo objeto de País , que é estendido da classe País . Quando da persistência de um novo
objeto de Estado no banco de dados, o Caché se responsabiliza por indexar automaticamente
o atributo paisEstado com o índice a qual ele pertence na classe País . Nas Figuras 01 e 02
apresentadas a seguir, são mostrados os objetos das classes após uma consulta Struct Query
Language (SQL).
Figura 01 – Consulta à classe País
8
Figura 02 – Consulta à classe Estado
Na figura 02, são listados os dois objetos de Estado , porém, observa-se que na coluna
paísEstado tem-se guardado o número 1 apenas. Na Figura 01, observa-se que na coluna ID
(índice criado automaticamente pelo Caché) que possui o valor 1 é do objeto País cujo nome
é Brasil. Os objetos de Estado com nome de Santa Catarina e Paraná tem como país o Brasil,
logo, eles armazenam no atributo paisEstado o índice do objeto ao qual pertencem. A seguir
são mostradas duas formas de consulta SQL de forma a abstrair o índice. Na figura 03 é
listado o nome do país no lugar do índice e na figura 04, são listados os dois atributos do
objeto País no lugar do índice.
00
Figura 03 – Consulta à classe Estado , abstraindo o índice
9
Figura 04 – Consulta à classe Estado , mostrando dois atributos da classe País
A seguir, no quadro 02, são mostradas as estruturas das classes País e Estado criadas
no Caché Studio:
Class User.País Extends %Persistent [ ClassType = p ersistent, ProcedureBlock ] { Property nomePaís As %String; Property siglaPaís As %String; } Class User.Estado Extends %Persistent [ ClassType = persistent, ProcedureBlock ] { Property nomeEstado As %String; Property nomePaís As País; Property siglaEstado As %String; }
Quadro 02 – Estruturas das classes País e Estado
2.3 TECNOLOGIAS E AVANÇOS NA ÁREA ESCOLAR
Segundo Alecrim (2005), o avanço da biometria já é realidade e dificilmente alguma
outra tecnologia a substitua. O maior parte de seu emprego está voltado ao setor de finanças.
O governo brasileiro está apostando nesta tecnologia a serviço da educação. Espera-se que até
o final de 2006, 50% das escolas públicas terão controle de acesso através da biometria. Esta
implantação faz parte do projeto Presença do Sistema Nacional de Acompanhamento da
Freqüência Escolar (SAFE) (FELITTI, 2006).
Outro exemplo de avanço tecnológico a serviço da educação é a utilização de quadros
interativos em salas de aulas. Os quadros interativos inauguram uma nova forma de interação
com a classe utilizando novas ferramentas de manipulação visual (INFOSOFT, 2006).
Os dois exemplos citados não serão implementados no sistema proposto, apenas foram
descritos para demonstrar algumas tecnologias e avanços que poderão ser implementados em
10
um ambiente escolar.
2.4 TRABALHOS CORRELATOS
Em Obenaus (2000) é proposto um protótipo de uma aplicação comercial utilizando
banco de dados Caché com interface web. Desenvolvido na Universidade Regional de
Blumenau. O trabalho explora características do banco de dados para desenvolvimento de
aplicações voltadas à internet, como por exemplo, o Caché Studio.
Em Correia (2002) é proposto um sistema de gestão acadêmica específico para o
Instituto Catarinense de Pós-Graduação (ICPG), que gerencia cursos de pós-graduação no
estado de Santa Catarina. O sistema é implementado totalmente voltado à web e tem como
principais metas, estabelecer uma comunidade virtual e manter o relacionamento com o
cliente, apoiar a gestão de cursos fora de sede, agilizar a comunicação com entidades
conveniadas e aumentar a eficiência de seus processos administrativos. Na especificação do
sistema foi utilizado a UML, na implementação foi utilizado a linguagem de script PHP e
para o armazenamento dos dados foi utilizado o banco de dados Interbase. Alguns dos
requisitos do sistema que temos para aluno são as consultas ao horário de aulas, suas notas e
situação financeira, já para professores temos a consulta ao calendário de aulas bem como o
lançamento de notas e conteúdo ministrado. O sistema possui inúmeros requisitos, porém não
foram listados todos.
11
3 REQUISITOS DO SISTEMA A SER DESENVOLVIDO
Para o desenvolvimento do sistema foram mapeados os seguintes requisitos:
a) permitir ao usuário incluir, excluir e alterar dados referentes a alunos, professores,
funcionários, disciplinas, turmas, notas, bancos, pagamentos, contas a pagar e
receber, clientes, fornecedores e relação patrimonial (requisito funcional – RF);
b) controlar o estoque (Almoxarifados e requisições) (RF);
c) controlar as compras (RF);
d) controlar o acervo da biblioteca (RF);
e) efetuar matrículas (RF);
f) emitir análises de inadimplência (RF);
g) gerenciar gastos (RF);
h) emitir boletins (RF);
i) emitir relação do acervo da biblioteca (RF);
j) emitir relação de pendências na biblioteca (RF);
k) emitir histórico escolar (RF);
l) emitir diário de classe (RF);
m) permitir acesso das notas pela web mediante de senha (RF);
n) utilizar interface de documentos múltiplos (MDI) (requisito não funcional – RNF);
o) ser desenvolvido utilizando técnicas de orientação a objetos (RNF);
p) ser implementado utilizando a linguagem Visual Basic e a ferramenta Caché
Studio (RNF);
12
4 CONSIDERAÇÕES FINAIS
O cenário de desenvolvimento de aplicações está mudando e a programação orientada
a objetos está avançando cada dia mais em diversas áreas e sua utilização não é mais
meramente acadêmica. Grandes empresas de softwares estão migrando para esta tecnologia e
desenvolvendo novas aplicações ou mesmo migrando outras.
O sistema de gestão escolar irá usar esta tecnologia no seu desenvolvimento e utilizará
o banco de dados orientado a objetos Caché, que vem de encontro com as necessidades e os
conceitos da orientação a objeto, tais como encapsulamento, herança e polimorfismo.
Analisando o cenário de crescimento de instituições de ensino, e conseqüentemente a
forte concorrência gerada, tem-se uma grande necessidade de se buscar qualidade e melhor
prestação de serviço ao cliente, tornando-as grandes consumidoras de tecnologia, dentre a
qual se encaixa o sistema proposto.
Foram apresentados alguns trabalhos correlatos. A relação entre eles e o trabalho
proposto são:
a) em Obenaus (2000), o trabalho proposto apenas dá enfoque na construção de um
sistema simples de compra pela internet. Seu modelo de dados é bastante pequeno
e sua aplicação bem limitada. No sistema que será desenvolvido, procura-se criar
um ambiente totalmente informatizado e interligado. Todos os requisitos que
foram apresentados e os que surgirão no decorrer do trabalho, fazem com que o
sistema seja completo e não apenas um módulo, como é descrito acima;
b) em Correia (2002) é proposto um sistema de gestão acadêmica apenas voltado para
web. O uso de UML para a especificação juntamente com PHP fez com que
houvesse a necessidade da criação de estratégias de mapeamento, pois o PHP não
oferece suporte a orientação a objetos, bem como o banco de dados Interbase.
Neste trabalho não foi desenvolvido um sistema híbrido com uma parte em
desktop usando o ambiente windows como interface gráfica, pois segundo o autor,
foram encontradas complicações operacionais de como manter dois ambientes de
desenvolvimento e dois códigos-fontes, entre outros. Já no sistema proposto, não
há necessidade de estratégias de mapeamento, pois a tecnologia utilizada é
orientada a objetos, bem como o banco de dados Caché. Outro ponto importante se
dá ao fato de não haver necessidade de dois códigos fontes para a criação do
sistema em desktop, a mesma implementação de classes, atributos e métodos será
13
compartilhada pela interface web e pela interface desktop. Os requisitos são
semelhantes, pois as necessidades das instituições de ensino são as mesmas, salvo
algumas exceções. O que mais diferencia os dois sistemas é a tecnologia utilizada
e a forma como o trabalho proposto será desenvolvido, respeitando os conceitos da
orientação a objetos sem a necessidade de mapeamentos entre as diversas
tecnologias utilizadas como: UML, Caché Studio e Visual Basic.
14
REFERÊNCIAS BIBLIOGRÁFICAS
ALECRIM, Emerson. Introdução à biometria. [S.l.], 2005. Disponível em: <http://www.infowester.com/biometria.php>. Acesso em: 15 de nov. 2006.
ALMEIDA, Cristian de; AMORIM, Rubens. Programação orientada a objetos. [S.l.], 2005. Disponível em: <http://www.conceitosinfo.hpg.ig.com.br/orient_objetos.htm>. Acesso em: 10 set. 2006.
BEHLING, Paulo; GOMES, Paulo Eduardo da Rosa. Banco de dados objeto-relacional Postgres. Pelotas, 2001. Disponível em: <http://atlas.ucpel.tche.br/~behling/artig01.htm>. Acesso em: 26 out. 2006.
CORREIA, Carlos Henrique. Sistema de gestão acadêmica baseado em ambiente web. 2002. 65 f. Trabalho de Estágio Supervisionado (Bacharelado em Ciências da Computação) – Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.
FELITTI, Guilherme. Biometria será usada em salas de aula e em urnas eletrônicas. [S.l.], 2006. Disponível em: <http://idgnow.uol.com.br/seguranca/2006/08/30/idgnoticia.2006-08-29.2323285944/IDGNoticia_view?pageNumber:int=1>. Acesso em: 13 de nov. 2006.
FURLAN, José Davi. Modelagem de objetos através da UML: the Unified Modeling Language. São Paulo: Makron Books, 1998.
INFOSOFT. Quando interativo. [S.l.], 2006. Disponível em: <http://www.infosoftrn.com.br/quadro.php>. Acesso em 15 nov. 2006.
INTERSYSTEMS. Orientação a objetos, a mola impulsora da Intersystems. [S.l.], 2004. Disponível em: <http://www.intersystems.com.br/isc/comunicnewsletter.csp?NewsletterID=135&NoticiaID=386&CSPCHD=00410000000132ipaRdh003462664653>. Acesso em: 15 ago. 2006.
______. Uma nova era na tecnologia dos bancos de dados. [S.l.], 2002. Disponível em: <http://www.intersystems.com.br/isc/downloads/vantagensbeneficios/WhitepaperUmanovaeradeBD.pdf>. Acesso em: 26 out. 2006.
______. Guia da tecnologia Caché. [S.l.], 2005a. Disponível em: <http://www.intersystems.com.br/isc/downloads/guiatecnologia/Cap1.pdf>. Acesso em: 23 ago. 2006.
______. Objetos e SQL: a fusão de duas tecnologias atuais em um banco de dados multidimensional. [S.l.], 2005b. Disponível em: <http://www.intersystems.com.br/downloads/Fusion.pdf>. Acesso em: 03 set. 2006.
15
LEITE, Mario; RAHAL JÚNIOR, Nelson Abu Sanra. Programação orientada ao objeto: uma abordagem didática. Revista de Informação e Tecnologia, [Campinas], ago. 2002 Disponível em: <http://www.ccuec.unicamp.br/revista/infotec/artigos/leite_rahal.html>. Acesso em: 08 nov. 2006.
NUNES, Alberi Salgado de Jesus. Aspectos relacionados a migração de modelo de dados relacionais para modelos de dados orientado a objetos. 1995, 90 f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) – Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau..
OBENAUS, Maurício Rogério. Protótipo de uma aplicação comercial utilizando banco de dados Caché com interface web. 2000. 85 f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) – Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.
SAMARY, Amir. Conhecendo o Caché. [S.l.], 2004. Disponível em: <http://br.groups.yahoo.com/group/cache-br/files/Tutoriais/>. Acesso em: 12 nov. 2006.
TIOBE SOFTWARE. November headline: Ruby is rocketing skywards. [S.l.], 2006. Disponível em: <www.tiobe.com/tpci.htm>. Acesso em: 14 nov. 2006.