Você está na página 1de 47

CENTRO PAULA SOUZA

FACULDADE DE TECNOLOGIA DE TAQUARITINGA

TECNLOGO EM PROCESSAMENTO DE DADOS

SISTEMA ACADMICO EM ASP.NET 2.0

ERICK EDUARDO PETRUCELLI

ORIENTADOR: CLUDIO SHINJI MATSUMOTO

Taquaritinga
2007

SISTEMA ACADMICO EM ASP.NET 2.0

ERICK EDUARDO PETRUCELLI

Monografia apresentada Faculdade de Tecnologia de


Taquaritinga, como parte dos requisitos para a obteno do ttulo
de Tecnlogo em Processamento de Dados.
Orientador: Cludio Shinji Matsumoto

Taquaritinga
2007

Dedico,
Aos meus pais, namorada e irm
que sempre me apoiaram, e
acreditaram em minha capacidade.

AGRADECIMENTOS
Em primeiro lugar a Deus, por me capacitar para a realizao deste trabalho.
Ao Prof. Cludio Shinji Matsumoto, pela orientao concedida.
Aos amigos e familiares, pelo excepcional apoio prestado.

Sistema Acadmico em ASP.NET 2.0 - iv

SUMRIO
LISTA DE FIGURAS ................................................................................................................ v
LISTA DE ABREVIATURAS E SIGLAS ............................................................................... vi
RESUMO ................................................................................................................................. vii
ABSTRACT ............................................................................................................................ viii
INTRODUO ......................................................................................................................... ix
1.

LEVANTAMENTO DE REQUISITOS .......................................................................... 10


1.1. Cenrio Atual ............................................................................................................ 11
1.2. Escolhas Tecnolgicas .............................................................................................. 13

2.

PLATAFORMA .NET ..................................................................................................... 17


2.1. Framework .NET ...................................................................................................... 18
2.2. Linguagem C# .......................................................................................................... 20
2.3. ASP.NET .................................................................................................................. 24

3. CENTRAL DE GESTO ACADMICA ....................................................................... 28


3.1. Definio de Escopo ................................................................................................. 28
3.2.Desenvolvimento Iterativo e Incremental................................................................. 29
3.3.Modelo de Banco de Dados ...................................................................................... 30
3.4. Segurana de Acesso ................................................................................................ 33
3.5. Cadastros .................................................................................................................. 36
3.6. Matrcula ................................................................................................................... 38
3.7. Arquitetura ................................................................................................................ 42
CONCLUSO .......................................................................................................................... 44
REFERNCIAS BIBLIOGRFICAS ..................................................................................... 45
BIBLIOGRAFIA ...................................................................................................................... 46

Sistema Acadmico em ASP.NET 2.0 - v

LISTA DE FIGURAS
FIGURA 1 - Evoluo da utilizao de sistemas..................................................................... 10
FIGURA 2 - Primeira verso do CGA......................................................................................12
FIGURA 3 - Segunda verso do CGA......................................................................................12
FIGURA 4 - Performance na interpretao de documentos XML...........................................14
FIGURA 5 - Integrao do SQL Server 2005 com o Visual Studio 2005................................15
FIGURA 6 - Estatstica de utilizao de navegadores..............................................................16
FIGURA 7 - Ambiente do Visual Studio 2005.........................................................................17
FIGURA 8 - Componentes do .NET Framework.....................................................................19
FIGURA 9 - Evoluo da linguagem C#..................................................................................22
FIGURA 10 - Gerao 1: servidor de pginas sem processamento......................................... 24
FIGURA 11 - Gerao 2: pginas passam por processamento prvio......................................25
FIGURA 12 - Gerao 3: os cdigos so independentes da pgina e multiplataforma............26
FIGURA 13 - Processo iterativo incremental...........................................................................29
FIGURA 14 - Modelo de dados: cadastro de pessoas..............................................................30
FIGURA 15 - Modelo de dados: cadastro de disciplinas......................................................... 31
FIGURA 16 - Modelo de dados: cadastro de alunos................................................................31
FIGURA 17 - Modelo de dados: segurana do sistema............................................................32
FIGURA 18 - Modelo de dados: matrcula e histrico escolar.................................................33
FIGURA 19 - Caso de uso: acesso ao sistema..........................................................................34
FIGURA 20 - Tela de acesso ao sistema.................................................................................. 35
FIGURA 21 - Tela principal para os alunos............................................................................. 36
FIGURA 22 - Caso de uso: telas de manuteno..................................................................... 37
FIGURA 23 - Tela de gerenciamento dos dados do aluno....................................................... 37
FIGURA 24 - Caso de uso: matrcula inicial............................................................................38
FIGURA 25 - Tela de criao de novos alunos........................................................................ 39
FIGURA 26 - Caso de uso: matrcula presencial..................................................................... 39
FIGURA 27 - Tela de matrcula presencial.............................................................................. 40
FIGURA 28 - Caso de uso: matrcula virtual...........................................................................40
FIGURA 29 - Tela de re-matrcula virtual dos alunos..............................................................41
FIGURA 30 - Diagrama de componentes.................................................................................42

Sistema Acadmico em ASP.NET 2.0 - vi

LISTA DE ABREVIATURAS E SIGLAS


.NET

Plataforma de Desenvolvimento da Microsoft

ADO

Access Data Objects (Objetos de Acesso a Dados)

ASP

Active Server Pages

CGA

Cadastro Geral de Alunos ou Central de Gesto Acadmica

CLR

Common Language Runtime

CPU

Central Processing Unit (Unidade Central de Processamento, ou Processador)

DLL

Dynamically Linked Library

DOM

Document Object Model

ECMA

European Computer Manufacturers Association

GB

Giga Byte

HTML

Hyper Text Markup Language

HTTP

Hyper Text Transfer Protocol

IE

Internet Explorer

IIS

Internet Information Services

ISO

International Organization for Standardization

JSP

Java Server Pages

JVM

Java Virtual Machine

MB

Mega Byte

MSIL

Microsoft Intermediate Language

OOP

Object Oriented Programming (Programao Orientada a Objetos)

PHP

Hypertext Preprocessor

RA

Registro Acadmico

RAD

Rapid Application Development (Desenvolvimento Rpido de Aplicaes)

RSS

Really Simple Syndication

SQL

Structured Query Language

TI

Tecnologia da Informao

W3C

World Wide Web Consortium

WAP

Wireless Application Protocol

XML

Extensible Markup Language

Sistema Acadmico em ASP.NET 2.0 - vii

RESUMO
Nesse trabalho apresentado o planejamento e o processo de desenvolvimento de um
sistema acadmico, com foco nas necessidades da Faculdade de Tecnologia de Taquaritinga,
apoiando-se nas principais tcnicas de programao para Internet atravs da plataforma .NET
da Microsoft, com a linguagem C# em conjunto com as tecnologias oferecidas pelo ASP.NET
2.0. So discutidas todas as escolhas tecnolgicas para a criao do sistema, apresentando de
forma sucinta com dados e grficos o porqu de cada deciso, a fim de demonstrar a
viabilidade das propostas deste trabalho e como cada uma delas favorece a criao do sistema
e pode facilitar sua manuteno. Por fim, tornou-se possvel constatar que a utilizao da
Internet como base para sistemas de gesto sejam eles acadmicos ou no pode ser um
grande atrativo, alm de facilitar um dos maiores desafios de sistemas a serem acessados por
diferentes usurios em diferentes lugares, que a distribuio do mesmo.
Palavras-Chaves: Sistema; Gesto; Acadmico; CGA.

Sistema Acadmico em ASP.NET 2.0 - viii

ABSTRACT
In this work is presented the planning and the development process of an academic
system, focused in the necessities of the Faculdade de Tecnologia de Taquaritinga, using the
main programming techniques for Internet through the Microsoft .NET platform, with the C#
language and the technologies offered by ASP.NET 2.0. The technological choices for the
system creation are evaluated, presenting in resumed data and graphs the reason of each
choice, in order to demonstrate the viability of this work proposals and as each one of them
allow the system creation and are able to turn its maintenance more easy. Finally, was became
possible to evidence that the use of the Internet as base for management systems academics
systems or not can be a great attractive, facilitating one of the biggest challenges of systems
to be had accessed for different users in different places, that is it distribution.
Keywords: System; Management; Academic; CGA.

INTRODUO
Desde os primrdios da humanidade, organizar as informaes vem sendo um desafio.
E este mesmo desafio que ainda hoje impulsiona os avanos na rea de tecnologia da
informao.
Nas ltimas dcadas, o processo de informatizao deixou de ser estritamente
cientfico, militar e acadmico, para se tornar comercial. Desde ento, a informatizao
tornou-se um instrumento administrativo, mostrando-se uma ferramenta poderosa de gesto.
As principais vantagens agregadas pela tecnologia foram: capacidade de
manipular uma enorme quantidade de dados simultaneamente; preciso,
velocidade, menor desperdcio e reduo de custo (automao de tarefas) e, com
o advento da Internet, ampliou-se os mercados consumidores ao tamanho
atingido pela grande rede. Transformar toda a tecnologia que est disponvel em
oportunidades o grande desafio, assim como compreender exatamente para que
a informatizao desejada (Orlandini, 2005).
Sendo assim, a informatizao pode oferecer inmeras vantagens e oportunidades.
Alm disso, com a proliferao da Internet, a criao de sistemas totalmente conectados e
disponveis todo o tempo tornou-se simples e, o mais importante, barata.
Dadas estas oportunidades, este trabalho pretende apresentar a criao de um sistema
de gesto acadmica online, facilitando as operaes das trs entidades principais envolvidas:
alunos, professores e funcionrios administrativos.

1. LEVANTAMENTO DE REQUISITOS
O objetivo de construir um sistema acadmico aproveitando-se das oportunidades
oferecidas por um ambiente de Internet vai de encontro necessidade por este tipo de sistema
por parte da instituio para a qual este trabalho elaborado, a Faculdade de Tecnologia de
Taquaritinga (doravante citada apenas como FATEC Taquaritinga).
Tal necessidade no se trata de um fato isolado, mas algo comum a diversas
instituies de ensino. Segundo Orlandini (2005), com a presena cada vez mais constante de
servios de hospedagem de sistemas pela Internet, provvel que a informatizao esteja to
acessvel e to presente nas organizaes quanto a energia eltrica. Um nmero cada vez
maior de empresas est aderindo a esse servio, que possibilita acima de tudo uma reduo
dramtica nos custos inerentes infra-estrutura de TI.
Esta evoluo da Internet como base para sistemas de informao pode ser observada
no FIG. 1. Em um perodo de dez anos, sistemas publicados para Internet cresceram
aproximadamente 60%.

FIGURA 1 - Evoluo da utilizao de sistemas.


FONTES: Info Online (http://info.abril.com.br/) e IBGE (http://www.ibge.com.br).

Sistema Acadmico em ASP.NET 2.0 - 11

As instituies de ensino superior, em especial as instituies pblicas, parecem estar


no extremo oposto deste cenrio. Mesmo instituies diretamente relacionadas a tecnologia,
como a FATEC Taquaritinga, muitas vezes no possuem ferramentas de ponta aproveitando-se
deste conhecimento.
Uma das preocupaes deste trabalho, desde o incio do levantamento de requisitos,
foi avaliar como elaborar o proposto sistema acadmico de forma que se torne facilmente
manutenvel e expansvel, pela prpria instituio, atravs de seus alunos e estagirios.
Tambm existe a preocupao com a continuidade do projeto, possibilitando que, com o
passar do tempo, o sistema se torne cada vez mais produtivo e, o mais importante, auxiliando
a faculdade a tambm se tornar mais produtiva.

1.1. Cenrio Atual


O primeiro passo tomado no processo de modelagem foi o entendimento do cenrio
atual da instituio em relao automao acadmica. Para uma melhor compreenso, podese dividir este cenrio em trs fases principais.
A primeira fase est ligada ao incio das atividades da faculdade. Este perodo
marcado justamente pelo inverso proposta deste trabalho, ou seja, pela inexistncia de
qualquer tipo de sistema de apoio s atividades acadmicas.
Paralelamente, a faculdade estava se formando e adquirindo seu formato de trabalho.
Nesta etapa inicial, surgem muitos costumes os quais por diversas vezes vem a se tornar
regras de como as tarefas devem ser realizadas na instituio.
O incio da segunda fase deixa bem claro este ponto. Neste perodo, surge o primeiro
sistema acadmico da instituio, moldado com o fim principal de substituir algumas
operaes manuais, as mesmas operaes consolidadas durante a primeira fase.
Esta abordagem de desenvolvimento, onde o sistema apenas informatiza determinadas
tarefas, no apresentando melhorias no processo da organizao, era totalmente normal e
ainda hoje muito freqente.
De pouco adianta todo o potencial da informatizao se os sistemas no estiverem
muito bem coordenados e analisados. Informatizar tarefas mal formuladas traz novos
problemas e nenhuma soluo, alm de nublar as possveis causas dessas falhas. Essa situao
infelizmente bastante comum, pois existe uma grande confuso sobre a anlise de sistemas e
a programao dos mesmos (Orlandini, 2005).

Sistema Acadmico em ASP.NET 2.0 - 12

Este primeiro sistema, desenvolvido em Clipper, ganhou o nome de Cadastro Geral de


Alunos (conhecido tambm pela sigla CGA), visto que seus objetivos eram estritamente os de
manter o cadastro dos dados pessoais dos alunos e automatizar a gerao do RA (registro
acadmico) para novos alunos.
A FIG. 2 demonstra a tela de cadastro bsico dos alunos. Como pode ser observado, o
sistema recebeu atualizaes at a verso 5.1, no ano 2000.

FIGURA 2 - Primeira verso do CGA.


FONTE: Sistema CGA verso 5.1 Y2K.

Por fim, a terceira fase corresponde criao da segunda verso do CGA (FIG. 3), o
que ocorreu no final de 2004. Tal verso pode ser descrita como uma adaptao do CGA
original com a incluso de algumas novas ferramentas para automao de tarefas acadmicas,
tais como matrcula de alunos, lanamento de notas e faltas e impresso de alguns relatrios.

FIGURA 3 - Segunda verso do CGA.


FONTE: Sistema CGA verso 2004.

Sistema Acadmico em ASP.NET 2.0 - 13

Esta segunda verso do sistema foi desenvolvida em parceria com a empresa de


tecnologia Politec S/A, a qual havia acabado de abrir sua filial na cidade de Taquaritinga,
como uma forma prtica de treinar alguns de seus funcionrios e ao mesmo tempo retribuir o
apoio da faculdade durante o processo seletivo destes funcionrios.
Tal sistema comeou a ser desenvolvido sem uma fase elaborada de anlise e com a
verso 1.1 da plataforma .NET da Microsoft, sendo migrado posteriormente para as verses
Beta 1, Beta 2 e Final da plataforma .NET 2.0. Este desenvolvimento sem planejamento
acabou deixando o sistema com alguns problemas, principalmente em relao arquitetura e
manuteno, segundo os prprios participantes do projeto.

1.2. Escolhas Tecnolgicas


Verificados os problemas encontrados nos sistemas anteriores e delineados os
principais objetivos do novo sistema, algumas escolhas tecnolgicas comearam a ser
tomadas.
O primeiro passo foi definir a metodologia a ser utilizada. Escolheu-se a Anlise
Orientada a Objetos, por ser amplamente utilizada e de fcil compreenso. Alm disso, visto
que o alvo do sistema o ambiente de Internet, a orientao a objetos mostra-se um grande
atrativo, pois as duas maiores tecnologias de desenvolvimento para Internet atualmente
existentes so JSP, para desenvolvimento Java, e ASP.NET, para desenvolvimento .NET
(Johnson, 2007).
Alm disso, uma das maiores vantagens da orientao a objetos a reutilizao do
cdigo, possibilitada em sua maior parte graas ao recurso de herana de classes, onde classes
especficas podem se aproveitar de recursos de classes mais genricas, evitando repeties
desnecessrias de cdigo (Cardoso, 2006). Em um sistema projetado para se tornar facilmente
manutenvel e expansvel, este recurso representa um ganho considervel, tornando a escolha
da orientao a objetos um bom diferencial.
J a escolha entre uma das duas maiores plataformas de desenvolvimento orientado a
objetos, Java ou .NET, nem sempre fcil. Enquanto Java possui ao seu lado a fora do
software livre, a plataforma .NET demonstra cada vez mais seu crescimento e ganha espao
em relao produtividade.

Sistema Acadmico em ASP.NET 2.0 - 14

Alm disso, a plataforma .NET vem se mostrando cada vez mais performtica em
diversos fatores, como o tratamento de documentos DOM (Document Object Model) e XML
(Extensible Markup Language), padres incrivelmente utilizados e disseminados. A FIG. 4
exibe um comparativo de desempenho na leitura e interpretao de documentos XML entre as
verses 1.1 e 2.0 do Framework .NET em relao ao Java 1.5.

FIGURA 4 - Desempenho na interpretao de documentos XML.


FONTE: Microsoft Developers Network (http://www.msdn.com).

Contudo, at pouco tempo, nenhum tipo de comparativo poderia ser decisivo na


escolha entre Java e .NET, visto que o primeiro era gratuito enquanto o segundo no. Esta
situao foi resolvida em 2005, com o lanamento das verses Express Edition de diversos
produtos de desenvolvimento da Microsoft, verses essas que possuem licena de utilizao
livre, contanto que o produto final no seja comercializado, algo que no representa um
problema para o sistema acadmico da faculdade.
J a escolha entre as verses 1.1 ou 2.0 do .NET Framework no exige grandes
anlises. Segundo Marques (2005), a quantidade de recursos e o aumento de produtividade no
desenvolvimento para a verso 2.0 visvel conforme ser discutido mais profundamente no
decorrer deste trabalho o que facilita a escolha.
A escolha do banco de dados, o SQL Server 2005 Express Edition, est diretamente
relacionada s duas escolhas citadas acima. Sendo uma verso Express Edition, sua limitao
quanto comercializao e quanto ao tamanho limite do arquivo do banco de dados no disco
rgido (no mximo 4 GB). Tal limite no representa um problema, j que atualmente, usando o
SQL Server 2000, com 15 anos de dados da FATEC cadastrados, o banco de dados no
ultrapassou 25 MB. Alm disso, o SQL Server 2005 foi desenhado para ser totalmente

Sistema Acadmico em ASP.NET 2.0 - 15

integrado ao desenvolvimento .NET. O uso de SQL Server 2005 em conjunto com o .NET 2.0
representa mais um grande ganho de produtividade para o desenvolvimento (Ryan, 2006).
A FIG. 5 demonstra como todos os recursos de visualizao e edio dos dados e da
prpria estrutura das bases de dados esto totalmente integrados com o ambiente de
desenvolvimento do .NET 2.0, o que agiliza e facilita o desenvolvimento.

FIGURA 5 - Integrao do SQL Server 2005 com o Visual Studio 2005.


FONTE: Microsoft Visual Studio 2005.

Escolhidas as tecnologias de desenvolvimento e armazenamento das informaes, fazse necessrio realizar definies sobre o ambiente esperado para os usurios do sistema, visto
que no possvel controlar a forma como cada usurio acessar a aplicao, sendo esta
publicada pela Internet.
Quando o foco desenvolvimento Web, essencial ter definido desde o incio quais
navegadores sero adotados para navegar pelo sistema, visto que cada navegador possui suas
prprias peculiaridades em relao interpretao dos padres.
O rgo que regulamenta a padronizao de desenvolvimento para Internet, chamado
W3C (World Wide Web Consortium), possui diversas recomendaes de melhores prticas de
desenvolvimento e para quais navegadores so voltadas. Alm disso, possui diversas
estatsticas que auxiliam a escolher os navegadores-alvos na hora da definio de escopo.

Sistema Acadmico em ASP.NET 2.0 - 16

A FIG. 6 apresenta estatsticas de janeiro de 2002 a julho de 2007 quanto utilizao


de navegadores. possvel perceber que, segundo o W3C (2007), os nicos navegadores com
utilizao maior que 10% so: Internet Explorer 6, Internet Explorer 7 e Firefox.

FIGURA 6 - Estatstica de utilizao de navegadores.


FONTE: W3 Schools (http://www.w3schools.com).

Outra preocupao importante est relacionada ao suporte a JavaScript pelos


navegadores escolhidos. Apesar de toda a evoluo ocorrida nos servidores e plataformas de
desenvolvimento para Internet, no lado do usurio final o navegador ainda capaz apenas de
executar instrues simples realizadas por scripts. Dentre as linguagens de script existentes
para Internet, a mais utilizada e suportada o JavaScript.
Mesmo assim, sempre existem pessoas que desabilitam a execuo de JavaScript em
seus navegadores. Contudo, a TAB. 1 mostra que atualmente existem poucos motivos para se
preocupar com isto, segundo o W3C (2007).
TABELA 1 - Percentual de usurios que habilitam JavaScript nos navegadores.
Ano
JavaScript Habilitado
JavaScript Desabilitado
2007

94%

6%

2006
2005
2004
2003
2002

92%
90%
90%
89%
88%

8%
10%
10%
11%
12%

FONTE: W3 Schools (http://www.w3schools.com).

2. PLATAFORMA .NET
Para o entendimento do sistema proposto, deve-se primeiro entender o funcionamento
geral da plataforma .NET e seu ambiente de desenvolvimento para Internet.
Denomina-se plataforma .NET o conjunto de componentes desenvolvidos pela
Microsoft, com alvo em sistemas Windows, desenhados para suportar aplicaes e servios de
ltima gerao (Ryan, 2006).
Um grande destaque da plataforma .NET est na facilidade de desenvolvimento de
aplicaes para os mais diversos tipos de dispositivos. Parte desta facilidade est nos vastos
recursos do Framework .NET, a ser detalhado a seguir, e do ambiente de desenvolvimento
produtivo, chamado Microsoft Visual Studio (FIG. 7).

FIGURA 7 - Ambiente do Visual Studio 2005.


FONTE: Microsoft Visual Studio 2005.

Sistema Acadmico em ASP.NET 2.0 - 18

2.1. Framework .NET


O Framework .NET a base da plataforma. Muitos especialistas realizam
comparaes com a JVM (Java Virtual Machine).
De certa forma, o Framework .NET tambm uma mquina virtual, pois representa
uma camada adicional entre o sistema operacional e cdigo das aplicaes desenvolvidas para
a plataforma. Porm, mais do que uma mquina virtual sobre o sistema operacional, o
Framework .NET possui um conjunto de bibliotecas de componentes completa,
automatizando diversas tarefas.
Alm disso, assim como em Java, o cdigo escrito no compilado em linguagem de
mquina, mas sim e uma linguagem intermediria, chamada de MSIL (Microsoft Intermediate
Language), interpretada pelo Framework no momento da execuo, de forma similar ao que
ocorre com o cdigo intermedirio de Java, chamado byte-code, interpretado pela JVM.
O Framework .NET abrange uma estrutura de objetos, classes e ferramentas que
se integram ao sistema operacional para fornecer suporte ao desenvolvimento.
Ao instalar o .NET Framework em uma mquina no necessrio fazer a
distribuio de outros componentes, uma vez que todos j esto instalados. Isto
facilita o desenvolvimento e a distribuio de aplicaes (Sinsic, 2004).
A base do Framework .NET o componente CLR (Common Language Runtime),
responsvel pela comunicao direta com o sistema operacional, gerenciando o uso da
memria, requisitando a execuo de instrues na CPU, etc. Tambm responsabilidade do
CLR interpretar a MSIL gerada durante a compilao dos programas .NET, traduzindo em
linguagem de mquina. De forma a traar um comparativo mais especfico, pode-se dizer que
o CLR a parte do Framework .NET que corresponde Java Virtual Machine.
Isto garante que a portabilidade na plataforma no responsabilidade do compilador
de cada linguagem e sim do CLR, ou seja, todos os hardwares e sistemas operacionais cuja
Microsoft desenvolve uma verso do Framework .NET so automaticamente capazes de
executar qualquer aplicao desenvolvida em qualquer uma das linguagens suportadas. Alm
disso, existem projetos de migrao, como o Mono, para sistemas no suportados pela
Microsoft, como Linux e Solaris, que garantem grande compatibilidade com o Framework
.NET original (Leito, 2007).

Sistema Acadmico em ASP.NET 2.0 - 19

Acima do Common Language Runtime, existe uma gama de bibliotecas especializadas


nas mais diversas tarefas e ambientes, como ADO.NET e ASP.NET, dentre outros (FIG. 8). Os
blocos em cinza representam os componentes existentes em todos os sistemas Windows,
independentes do .NET Framework.

FIGURA 8 - Componentes do .NET Framework.


FONTE: Microsoft (http://www.microsoft.com).

Sobre o suporte a diversas linguagens, cabe citar que Visual Basic .NET, C#, C+
+.NET, Perl.NET, J# e aproximadamente mais 35 outras linguagens podem ser utilizadas no
desenvolvimento. Qualquer linguagem que manipule objetos pode ser utilizada com o
Framework .NET. At linguagens antigas como COBOL, Mumps e Python esto disponveis
em verso atualizada e orientada a objetos para o Framework .NET.
Em teoria, como o Framework um repositrio de componentes e objetos e todas as
linguagens se transformam na mesma MSIL durante a compilao, as linguagens funcionam
apenas como script, instanciando os objetos que precisam, alimentam suas propriedades e
respondem aos eventos.
Dentre toda esta gama de linguagens, podemos dar maior nfase ao C#, visto que,
segundo Petrucelli (2007), foi uma linguagem criada especificamente para a plataforma .NET
e a mais utilizada.

Sistema Acadmico em ASP.NET 2.0 - 20

2.2. Linguagem C#
O C# uma linguagem de programao totalmente nova, inspirada no C++, orientada
a objetos e que foi lanada juntamente com a plataforma .NET, ou seja, tem como principal
foco o desenvolvimento para Web e dispositivos mveis.
Todo cdigo em C#, assim como nas outras linguagens da plataforma .NET,
compilado duas vezes antes de ser executado. A primeira compilao, pelo
compilador C#, gera um executvel ou arquivo com extenso dll que contm o
cdigo MSIL. Posteriormente, este ser interpretado pelo compilador JIT (Just in
Time Compiler), componente do CLR (Common Language Runtime) que gera
cdigo nativo para a CPU que est executando a aplicao (Ryan, 2006).
Este cdigo mantido na memria enquanto estiver sendo utilizado. Mas o
desempenho do restante do sistema operacional no afetado drasticamente j que, caso essa
rotina no seja mais utilizada, existe outro item do CLR, chamado Garbage Collector,
literalmente um coletor de lixo, que limpa da memria os objetos no usados.
Segundo Leito (2007), a linguagem C# mais performtica que outras linguagens
orientadas a objeto clssicas. Como exemplo, citemos o Smalltalk, onde tudo que est
instanciado na memria tratado como um objeto. O custo de performance que isto implica
demasiadamente alto. O extremo oposto, que o Java, onde os tipos mais primitivos (como
nmeros, textos, booleanos, etc.) no funcionam como objeto, atrapalha a codificao e
dificulta converses entre tipos de dados.
O C# unifica os tipos sem alto custo em tempo de execuo. Para isso, ele realiza a
diviso dos tipos por valor e por referncia. Um tipo por valor s convertido para tipo por
referncia quando necessrio, ou seja, certos valores so diretamente alocados na memria e
s se tornam objetos quando, e se, necessrio (Leito, 2007).
Alm de ser uma linguagem robusta para gerenciar a memria automaticamente, o C#
possui outras vantagens como: mecanismo nico de tratamento de erros, verificao de todas
as converses entre tipos de dados, segurana contra overflow (estouro de tamanho de
variveis, tabelas, arrays, etc.), pois sempre valida qualquer atribuio de valor,
impossibilidade de ambigidade (no possui valores default) e facilidade de documentao do
cdigo. Tudo isso evita falhas de codificao, execuo e segurana, alm de tornar o
desenvolvimento mais produtivo.

Sistema Acadmico em ASP.NET 2.0 - 21

Outro atrativo da linguagem C# sua sintaxe, incrivelmente parecida com Java, o que
facilita a codificao e quase to flexvel quanto C++, o que atrai os programadores mais
experientes.
A linguagem C# mostra-se a mais eficiente da plataforma .NET, por ter sido criada
especialmente para a mesma e por seguir todos os padres ISO e ECMA (Ryan, 2006).
Uma declarao de classe, por exemplo, segue a sintaxe abaixo:
<visibilidade> <tipo> <nome>
public
class Mensagens

Neste exemplo, a visibilidade define como esta classe poder ser enxergada durante a
codificao, podendo assumir os valores private (invisvel para outras partes do cdigo),
protected (visvel apenas para classes que herdarem desta), internal (visvel para todas as
classes codificadas dentro do projeto desta) ou public (visvel para todas as classes de todos os
projetos, assim como as classes do Framework).
Em seguida, o tipo class obrigatrio para criao de classes, mudando para outras
palavras da linguagem no caso de criao de outros tipos de estruturas, como structs, enums,
etc., os quais no sero tratados aqui.
E por fim o nome desejado para a classe pode utilizar letras e nmeros, contanto que
no contenha espaos e pontuaes.
As classes no Framework .NET so tipos customizados que podem conter
variveis, constantes, mtodos, atributos e propriedades. Para garantir a
consistncia entre as classes, possvel se utilizar de herana (onde voc deriva
uma nova classe de uma j existente, seja ela customizada ou nativa do prprio
Framework) ou uma interface (a qual especifica quais mtodos e atributos so
obrigatrios para determinadas classes). Alm disso, para que a aplicao esteja
apta a responder a determinadas aes do usurio ou de componentes externos,
voc pode se utilizar de eventos em qualquer classe (Ryan, 2006).
Os tipos de dados em C# tambm so completos e flexveis, adaptando-se facilmente a
outras tecnologias, como bancos de dados e Web Services (bibliotecas de componentes
acessveis pela Internet, com o protocolo HTTP), e facilitando a interoperabilidade. J que as
classes so tipos customizados, um atributo ou propriedade pode assumir qualquer tipo, sendo
este nativo do Framework ou customizado.

Sistema Acadmico em ASP.NET 2.0 - 22

A TAB. 2 mostra os tipos de dados nativos mais comuns.


TABELA 2 - Tipos de dados em C#.
Tipo
Descrio

Exemplo de Utilizao

string

Texto extenso

string Varivel = Erick;

char
byte
short
int
long
bool
decimal
float
double
DateTime

Caractere nico
Inteiro de 8 bits
Inteiro de 16 bits
Inteiro de 32 bits
Inteiro de 64 bits
Boolean
Decimal (at 29 dgitos)
Decimal (at 16 dgitos)
Decimal (at 7 dgitos)
Data e hora

char Varivel = E;
byte Varivel = 255;
short Varivel = 15000;
int Varivel = 810500;
long Varivel = 1234567890;
bool Varivel = true;
decimal Varivel = 159002.2551;
float Varivel = 650.5228;
double Varivel = 15.55;
DateTime Varivel = DateTime.Now;

FONTE: Microsoft Developers Network (http://www.msdn.com).

Com o lanamento da verso 2.0 do Framework .NET, a Microsoft buscou inovar a


linguagem com recursos existentes at ento somente em linguagens experimentais e
acadmicas, pouco aplicados a linguagens comerciais. Esta inovao faz parte dos objetivos
de evoluo da linguagem C#, conforme pode ser observado na FIG. 9.

FIGURA 9 - Evoluo da linguagem C#. FONTE:


Microsoft (http://www.microsoft.com).

Sistema Acadmico em ASP.NET 2.0 - 23

A seguir, temos um exemplo de classe simples em C#, com um mtodo que realiza a
soma de dois nmeros quaisquer recebidos como parmetros do mtodo:
01 Namespace NomeProjeto
02 {
03
public class ClasseTeste
04
{
05
private int SomarNumeros(int p_intN1, int p_intN2)
06
{
07
return p_intN1 + p_intN2;
08
}
9
}
10 }

Como nica diferena visvel na sintaxe do cdigo em relao ao Java, temos a palavra
namespace. Serve para organizar logicamente as classes, sendo parecido com os pacotes do
Java.
No cdigo a seguir, podemos observar a utilizao dos recursos de herana e
polimorfismo da orientao a objetos aplicados no C#:
01
02
03
04
05
06
07
08
09
10
11
12
13
14

using System.Windows.Forms;
public class Janelinha : Form
{
public void MostrarMensagem()
{
MessageBox.Show("Mensagem Padro");
}

public void MostrarMensagem(string p_strMensagem)


{
MessageBox.Show(strMensagem);
}

Na linha 03 observamos a herana: a classe trata-se de um uma janela que herda as


caractersticas de um formulrio base do Windows (a classe Form, existente no prprio .NET
Framework). Em seguida, podemos notar o polimorfismo: os dois mtodos MostrarMensagem
tem o mesmo objetivo (mostrar uma mensagem), porm trabalham de maneiras diferentes.
Dentre os recursos novos especficos do C# 2.0, podemos citar as listas genricas,
conhecido pelo nome em ingls, Generics. Trata-se de uma melhoria que torna a linguagem
mais tipada. Isto quer dizer que, dada uma classe customizada, caso desejemos criar uma
coleo com vrias destas classes (como uma lista ou uma pilha), no precisamos programar a
estrutura especialmente para esta classe, a estrutura se adapta automaticamente, mesmo que a
classe no seja nativa do Framework .NET.

Sistema Acadmico em ASP.NET 2.0 - 24

Outro recurso novo so os tipos nulos, conhecidos pelo nome em ingls, Nullable
Types. Este recurso permite que estruturas que por padro necessitam de algum valor, como
nmeros inteiros ou datas, possam receber valores nulos. Isso facilita no mapeamento com
bancos de dados, que por padro aceitam valores nulos para quaisquer tipos. Este tipo de
facilidade um exemplo de coisas que aumentam a produtividade com o C# 2.0.
Por fim, o C# 2.0 uma das linguagens mais adaptadas ao desenvolvimento para
Internet, atravs do ASP.NET. A nica outra linguagem do .NET que possui tal adaptao o
Visual Basic .NET (Petrucelli, 2007).

2.3. ASP.NET
Uma aplicao baseada em formulrios Windows utiliza os recursos locais da mquina
do cliente, necessitando que se instale o .NET Framework e um poder de processamento
acima de Pentium II 300 e memria de 64 MB, alm de exigir Windows 98 ou superior. Com
estas caractersticas limitamos em muito a distribuio e utilizao fora do ambiente
corporativo (Sinsic, 2004).
Com os recursos presentes e adicionados nos navegadores Web e a aplicao de
servidores inteligentes, foi possvel criar um ambiente de aplicaes rico e funcional. Antes
disso, a rea de aplicaes para Internet passou por outras duas fases distintas.
Na primeira fase, os primeiros servidores para Internet eram somente transmissores de
texto em formato HTML (Hyper Text Markup Language, a linguagem de formatao de
documentos para Internet). Esta fase iniciou-se com o Windows NT 4.0 e o IIS 2.0, que fazia
apenas o transporte de dados, recebendo uma solicitao de pgina e retornando o texto sem
qualquer processamento prvio antes da resposta, conforme FIG. 10.

FIGURA 10 - Gerao 1: servidor de pginas sem processamento.


FONTE: Sincic (2004).

Sistema Acadmico em ASP.NET 2.0 - 25

Na segunda fase, os servidores passaram a ser inteligentes e a permitir o


processamento da pgina antes de retornar ao cliente. Segundo Petrucelli (2007), nesta poca
os arquivos de processamento eram cdigos script mesclados com o HTML. Em se tratando
de tecnologias Microsoft, a tecnologia utilizada era o ASP (Active Server Pages). A
codificao de uma pgina ASP simples pode ser conferida abaixo:
<HTML>
<P>Bem Vindo!</P>
<P>Agora so <% Request.Write(Time()) %></P>
</HTML>

As linhas delimitadas pelos sinais <% e %> eram as chamadas de diretivas, ou


seja, cdigo que antes de retornar ao cliente era processado pelo servidor de aplicaes Web
(podendo ser IIS 4.0 ou 5.0), e o que chegava ao navegador do usurio era algo como:
<HTML>
<P>Bem Vindo</P>
<P>Agora so 09:41:30</P>
</HTML>

O modelo grfico pode ser representado com a FIG. 11:

FIGURA 11 - Gerao 2: pginas passam por processamento prvio.


FONTE: Sincic (2004).

Este modelo era lento, pois o servidor era obrigado a ler a pgina e substituir os dados,
ou seja, trabalhava em modo interpretado, ocasionando erros de desenvolvimento. Alm disso,
a verificao de sintaxe acabava sendo uma tarefa adicional aos programadores, por no haver
compilao prvia (Petrucelli, 2007).
Para ganhar performance eram criados componentes compilados do tipo Win32, em
linguagens como Visual Basic 6.0, C++ ou Delphi. Estes ento eram chamados pelas diretivas
do cdigo ASP.

Sistema Acadmico em ASP.NET 2.0 - 26

Outra desvantagem do ASP era a necessidade de montar a pgina manualmente pela


codificao, uma vez que era necessrio colocar a diretiva exatamente no local onde o
resultado deveria ser apresentado, impossibilitando a utilizao de ferramentas de design para
facilitar o processo.
Estes problemas e dificuldades tambm eram marca de tecnologias semelhantes e
concorrentes, como PHP e ColdFusion.
No modelo atual de comunicao e processamento Web, iniciado com o ASP.NET 1.1
e continuado com o 2.0, as pginas no precisam ser processadas, uma vez que as diretivas
no precisam mais ser utilizadas e passamos a ter o conceito de Code Behind.
Neste modelo, a parte dos cdigos compilada e se transforma em um arquivo com
extenso dll e os blocos HTML permanecem em um arquivo separado, que ser mesclado ao
resultado do processamento da DLL (Sinsic, 2004). Dessa forma, se ganha desempenho por
no mais interpretar o cdigo pgina por pgina.
Alm disso, a construo dos cdigos idntica ao desenvolvimento comum.
Podemos, por exemplo, arrastar uma caixa de texto para a pgina e manipularmos seus
atributos, como feito em aplicaes de formulrios Windows.
Outra interessante incluso a capacidade do servidor adaptar a pgina e o HTML
retornado ao cliente conforme a verso do navegador e sistema operacional, incluindo
celulares WAP.
O modelo grfico pode ser representado com a FIG. 12.

FIGURA 12 - Gerao 3: os cdigos so independentes da pgina e multiplataforma.


FONTE: Sincic (2004)

Sistema Acadmico em ASP.NET 2.0 - 27

O modelo do ASP.NET traz diversas vantagens em relao s geraes anteriores.


Segundo Johnson (2007), podemos dar destaque a:
Modelo de Desenvolvimento de Aplicao Avanado: o ASP.NET focado no
Desenvolvimento Rpido de Aplicaes (RAD, na sigla em ingls) e criao de programas
Orientados a Objetos (OOP). Permite que voc trabalhe com elementos HTML, tratando-os
como objetos.
Gerenciamento Nativo de Estado: para simplificar ainda mais o modelo de
programao, o ASP.NET mantm automaticamente o estado e os controles da pgina durante
o seu ciclo de vida, ou seja, todos os dados preenchidos pelo usurio so mantidos
automaticamente entre vrias requisies do servidor. Por mais trivial que parea, isso no
acontece por padro para aplicaes Web com outras tecnologias anteriores ao ASP.NET.
Suporte a uma Rica Biblioteca de Classes: em seu programa ASP.NET voc tem
acesso a todas as classes do Framework .NET, o que torna incrivelmente semelhante o
desenvolvimento para vrias plataformas, como Windows, Web e Mobile.
Desempenho: no ASP.NET todas as pginas so compiladas antes de serem
executadas, alm de serem mantidas em cache na memria, fazendo com que normalmente
precisem ser processadas somente uma vez.
Escalabilidade: as aplicaes ASP.NET podem rodar tanto em um nico servidor
como em mltiplos servidores integrados.
Segurana: o ASP.NET tem vrias formas automatizadas de autenticao para
aplicaes Web, tornando a tarefa de desenvolver aplicaes seguras muito mais simples.
Gerenciamento: os arquivos de configurao do ASP.NET so gravados como texto
simples, normalmente em formato XML, o que facilita o trabalho de administrao das
aplicaes.
Estensibilidade: voc pode estender a funcionalidade do ASP.NET pela escrita de
seus componentes customizados, herdando funcionalidades do Framework e melhorando.

3. CENTRAL DE GESTO ACADMICA


Terminado todo o processo de levantamento de requisitos e realizadas as principais
escolhas tecnolgicas, pode-se direcionar ao objeto do trabalho: o novo sistema acadmico
para a FATEC Taquaritinga.
Conforme visto anteriormente, a sigla CGA foi consolidada para definir o sistema.
Contudo, como o escopo no mais apenas o cadastro de alunos, o nome do mesmo foi
modificado para Central de Gesto Acadmica, visto que o conjunto de todas as suas
funcionalidades prev apoiar em todos os passos a gesto de assuntos acadmicos.

3.1. Definio de Escopo


Para o novo sistema, ficaram definidos os seguintes pontos-chave:
Deve estar pronto para ser acessvel pela Internet, cabendo instituio apenas
definir um servidor de hospedagem pela Internet com suporte a ASP.NET 2.0 e
SQL Server 2005;
Deve diferenciar os usurios em Alunos, Professores e demais Funcionrios,
apresentando contedo customizado a cada um destes grupos;
Deve conter todos os recursos existentes na verso anterior do CGA, que
esteve rodando desde 2004 na faculdade;
Deve implementar novas operaes relativas matricula, com destaque para a
possibilidade dos prprios alunos realizem sua matrcula pela Internet.
Deve ser bem elaborado e conter um cdigo coeso e acoplvel, de fcil
manuteno e expanso.
Deve conter cdigo-fonte aberto, permitindo que a prpria instituio seja
responsvel pelas futuras manutenes.

Sistema Acadmico em ASP.NET 2.0 - 29

3.2. Desenvolvimento Iterativo e Incremental


Outro ponto importante sobre o processo de desenvolvimento do sistema est na
abordagem de gerenciamento de projetos a ser utilizada, que o processo de desenvolvimento
iterativo e incremental (FIG. 13).

FIGURA 13 - Processo iterativo incremental.


FONTE: Universidade Federal de Pernambuco (http://www.ufpe.br/).

Com isto, o ciclo de vida de anlise e desenvolvimento do sistema torna-se


incrivelmente flexvel. Desta forma, a base do sistema pode ser elaborada de forma simples e
rpida, conforme apresentado neste trabalho, e o objetivo da facilidade de manuteno pode
ser alcanado sem grandes esforos.
Aps este primeiro ciclo de desenvolvimento, que est sendo concludo em conjunto
com este trabalho, a implantao da primeira iterao do sistema pode ser realizada com
facilidade na instituio, em um ambiente controlado de homologao. A partir da, diversos
testes de performance, usabilidade e aderncia podem ser realizados pelo prprio cliente, no
caso a FATEC Taquaritinga.
Estes testes podem ser realizados de forma controlada em um primeiro momento, com
dados fictcios e situaes planejadas. Em seguida, dados replicados do ambiente de produo
atualmente funcional na faculdade podem ser utilizados de forma a simular situaes reais e
tentar expor o sistema o mximo possvel realidade da instituio.

Sistema Acadmico em ASP.NET 2.0 - 30

Conseqentemente, torna-se fcil e rpida a obteno de resultados, observando-se os


pontos crticos a serem solucionados e as sugestes de melhorias. Com isto, fica simples
elaborar a prxima iterao do processo de anlise e desenvolvimento, voltados para estes
itens apontados. Dessa forma, o sistema fica auto-expansvel e praticamente ilimitado, sempre
sendo possvel criar um novo processo iterativo com novas funcionalidades e correes. Alm
disso, quando tornar-se perceptvel a possibilidade de utilizar integralmente o sistema,
necessrio somente migr-lo para um ambiente de produo, podendo por fim abandonar
quaisquer verses anteriores e se aproveitar totalmente dos novos recursos.

3.3. Modelo de Banco de Dados


O modelo de banco de dados segue os preceitos de bancos objeto-relacionais, apesar
de ser criado com uma ferramenta relacional, o SQL Server 2005, conforme discutido
anteriormente. Tais preceitos ajudam a implementar, principalmente, o conceito de herana,
existente nas linguagens orientadas a objetos, em bancos relacionais.
A FIG. 14 demonstra as principais tabelas envolvidas com o cadastro de pessoas,
sejam alunos, professores ou funcionrios, simulando a herana entre estas entidades.

FIGURA 14 - Modelo de dados: cadastro de pessoas.


FONTE: prprio autor.

Sistema Acadmico em ASP.NET 2.0 - 31

As tabelas relacionadas a disciplinas, que se relacionam s tabelas de curso e de


matrcula podem ser observadas na FIG. 15.

FIGURA 15 - Modelo de dados: cadastro de disciplinas.


FONTE: prprio autor.

Vinculado TPessoa temos o conjunto de tabelas destinado ao cadastro dos alunos e


outras informaes relacionadas a estes (FIG. 16). De fato, a tabela de alunos se relaciona
com a maior parte do banco de dados, direta ou indiretamente, visto que um dos objetivos
principal do sistema acadmico.

FIGURA 16 - Modelo de dados: cadastro de alunos.


FONTE: prprio autor.

Sistema Acadmico em ASP.NET 2.0 - 32

Tambm vinculada tabela TPessoa est a tabela TUsuario, responsvel por


armazenar os dados de todas as pessoas autorizadas a acessar o sistema. A FIG. 17 demonstra
as tabelas relacionadas segurana de acesso do sistema.

FIGURA 17 - Modelo de dados: segurana do sistema.


FONTE: prprio autor.

De forma prtica, a tabela TPessoa deve conter os dados de todas as pessoas


relacionadas diretamente com a instituio, ou seja, alunos, professores e funcionrios.
Conseqentemente, as tabelas filhas, TAluno e TProfessor, devem conter os dados
especficos de cada um destes dois perfis.
Independentemente, a tabela TUsuario tambm se relaciona com a tabela TPessoa,
representando os dados de acesso desta pessoa no sistema. Observa-se que a pessoa no
precisa ser obrigatoriamente professor ou aluno para acessar o sistema, visto que a relao
ocorre com a tabela mais genrica, que a TPessoa.
Isto tambm evita dados desnecessrios no banco de dados, pois totalmente plausvel
que existam diversos alunos e professores que no fazem mais parte da instituio e portanto
no devem possuir registros associados em TUsuario, ou seja, no possuem permisso para
acessar o sistema.
A integridade desta regra deve ser considerada quando os alunos estiverem se
formando ou os professores deixando a instituio, ou seja, o sistema deve automaticamente
remover os registros de TUsuario para estes usurios que devero automaticamente deixar de
ter acesso ao sistema.

Sistema Acadmico em ASP.NET 2.0 - 33

Por fim, outra questo importante em relao ao histrico de notas e faltas de cada
aluno. Isto obtido atravs de chaves contendo o ano e o semestre do registro, permitindo
diferenciarem-se facilmente dados do semestre atual em relao a dados anteriores.
A FIG. 18 demonstra estas tabelas, responsveis pela matrcula e os dados de histrico
dos alunos, bem como as disciplinas e suas cargas horrias.

FIGURA 18 - Modelo de dados: matrcula e histrico escolar.


FONTE: prprio autor.

3.4. Segurana de Acesso


Conforme citado anteriormente, o sistema precisa estar acessvel para diferentes
grupos de usurios, cada qual com determinadas permisses de acesso aos contedos. Isto
possvel graas s associaes existentes entre as funcionalidades, os usurios e seus perfis de
acesso.

Sistema Acadmico em ASP.NET 2.0 - 34

O diagrama de caso de uso (FIG. 19) demonstra resumidamente as operaes de


validao e personalizao do usurio.

FIGURA 19 - Caso de uso: acesso ao sistema.


FONTE: prprio autor.

Alm de trabalhar com a permisso geral de cada um destes tipos de usurio (aluno,
funcionrio e professor), o sistema deve possuir a possibilidade de configurao de grupos de
usurios especficos para acessar determinados recursos. Por exemplo, determinados relatrios
podem estar acessveis somente a professores do curso de Processamento de Dados.
possvel ento criar um perfil de acesso para professores deste curso, com acesso a tais
relatrios. Professores de outros cursos, apesar de tambm serem professores e terem
basicamente as mesmas permisses, no tero possibilidade de acessar estes contedos
especficos. Tais configuraes podem ser realizadas de forma simples.
Alm disso, tambm possvel configurar permisses personalizadas para cada
usurio. Sendo assim, possvel que um professor ou funcionrio especfico possua acesso
completo a outras reas, como a manuteno do prprio sistema. Tambm possvel definir
professores coordenadores, que podero acessar contedos especficos para eles.
Por fim, o sistema tem que estar preparado para bloquear usurios no autorizados,
como ex-alunos ou outras pessoas que no tenham vnculos com a faculdade. Este bloqueio
no deve ser realizado somente na primeira tentativa de acesso, mas sim constantemente,
verificando todas as tentativas posteriores e garantindo inclusive que as permisses do usurio
no se mantenham abertas por um longo tempo, o que permitiria que, por exemplo, outra
pessoa se utilizasse destas permisses caso utilize o mesmo computador num curto espao de
tempo.

Sistema Acadmico em ASP.NET 2.0 - 35

A FIG. 20 demonstra a tela de acesso ao sistema, a qual garante o acesso somente a


usurios autorizados sejam eles alunos, professores ou funcionrios.

FIGURA 20 - Tela de acesso ao sistema.


FONTE: prprio autor.

Aproveitando-se de recursos existentes no ASP.NET 2.0 para segurana de acesso, em


conjunto com outras boas prticas, possvel tornar o site at 95% seguro, visto no existem
meios de tornar um site 100% seguro em nenhuma hiptese (Johnson, 2007).
Tais recursos englobam: criptografia de dados, autenticao e autorizao e podem ser
amplamente configurados com arquivos XML do prprio Framework .NET. Um exemplo a
criptografia realizada com todas as senhas do sistema, que utiliza chaves de 128 bits,
teoricamente impossveis de serem quebradas. Com tais tcnicas, nem mesmo usurios
autorizados com acesso direto ao banco de dados conseguem entender e/ou decifrar as senhas
de nenhum usurio do sistema.
Os recursos de personalizao tambm so flexveis e extensveis. A tela principal para
os trs tipos de usurio pode ser configurada constantemente para condizer com a situao da
faculdade. possvel, por exemplo, que na poca das matrculas a tela principal dos alunos
seja configurada para destacar de forma visvel a possibilidade de realizada da matrcula pela
Internet. possvel associar um endereo ao alerta, que neste caso pode ser a tela de rematrcula que deve abrir para o aluno.
A tela tambm fornece suporte a contedo dinmico, como exibio de notcias
diversas. Tais notcias podem ser alimentadas em forma de feeds RSS (Really Simple
Syndication, um conjunto de dialetos padronizados para distribuio de contedos
agregados, os quais vem se tornando populares principalmente para divulgao de notcias).

Sistema Acadmico em ASP.NET 2.0 - 36

Com o tempo a instituio pode personalizar a tela principal de alunos, professores e


funcionrios para enfocar as reais necessidades de cada um destes, aumentando
consideravelmente a produtividade dos mesmos para com o sistema.
A FIG. 21 demonstra um exemplo da tela principal para os alunos.

FIGURA 21 - Tela principal para os alunos.


FONTE: prprio autor.

No menu lateral, possvel observar dois itens fixos a todos os usurios, que so o
acesso aos dados pessoais e aos dados de acesso do sistema, como a senha do mesmo.
Em seguida, encontra-se uma lista com as telas abertas recentemente por este usurio
no sistema. Desta forma, as funcionalidades mais utilizadas pelo usurio sempre esto
disponveis com apenas um clique.
Abaixo do ttulo do sistema temos o menu principal, contendo a lista com todas as
funcionalidades disponveis para este usurio especfico, conforme explicado anteriormente
sobre os perfis de acesso.

3.5. Cadastros
O sistema tambm composto por diversas telas de cadastro, de forma a garantir a
disponibilidade dos mais diversos dados, de apoio ou no. Dois exemplos de cadastros de
apoio so cidades e pases. Outros cadastros essenciais ao sistema so, por exemplo: alunos,
disciplinas, professores, cursos, etc.

Sistema Acadmico em ASP.NET 2.0 - 37

A FIG. 22 apresenta o caso de uso que generaliza o funcionamento de todas as telas de


manuteno do sistema. Segundo ele, podemos observar as operaes de manuteno deve
iniciar por uma consulta ou uma incluso. Aps a consulta, existe a possibilidade de excluir ou
alterar os dados do registro consultado. Este padro se repete por todas as telas de cadastro do
sistema.

FIGURA 22 - Caso de uso: telas de manuteno.


FONTE: prprio autor.

Uma das telas de cadastro mais importantes do sistema a tela Gerenciar Alunos (FIG.
23), responsvel por permitir o acesso e edio dos dados de todos os alunos da instituio,
incluindo dados de endereo, paternidade, telefone, e-mail, foto, etc.

FIGURA 23 - Tela de gerenciamento dos dados do aluno.


FONTE: prprio autor.

Sistema Acadmico em ASP.NET 2.0 - 38

3.6. Matrcula
Um dos requisitos mais importantes para o sistema trata-se da matrcula dos alunos.
Na verdade no apenas um nico requisito, pois existem basicamente trs tipos de matrcula.
O primeiro tipo a matrcula automtica realizada quando o aluno ingressa na
faculdade. A FIG. 24 demonstra o funcionamento geral deste caso de uso.

FIGURA 24 - Caso de uso: matrcula inicial.


FONTE: prprio autor.

Neste caso de uso, necessrio somente selecionar o aluno ingressante de acordo com
uma lista de classificados, disponibilizada para todas as instituies dias antes da matrcula.
Tal lista contm todos os candidatos, ordenados pela classificao, de forma que seja possvel
selecionar candidatos aprovados diretamente ou atravs de lista de suplentes.
Selecionado o novo aluno, gerado automaticamente um nmero de registro
(conhecido como RA, ou registro acadmico) para o mesmo. Este nmero ser sua chave
nica de identificao durante todo o curso. Em seguida, so gravados os dados bsicos deste
novo aluno e criada automaticamente sua primeira matrcula, contendo todas as disciplinas do
primeiro semestre, j que o aluno provavelmente ir cursar exatamente estas disciplinas. Em
todo caso, deve ser possvel editar esta matrcula posteriormente, para o caso do aluno realizar
dispensa de disciplinas ou cursar outras disciplinas em regime especial.

Sistema Acadmico em ASP.NET 2.0 - 39

Por fim, este caso de uso prev a impresso das declaraes e comprovantes
necessrios para a primeira matrcula.
A FIG. 25 apresenta o modelo da tela responsvel por proceder com a gerao do RA
dos novos alunos, bem como a criao de sua primeira matrcula.

FIGURA 25 - Tela de criao de novos alunos.


FONTE: prprio autor.

O segundo tipo de matrcula, descrito pelo caso de uso da FIG. 26, ocorre nos dias
predefinidos de re-matrcula que ocorrem no incio de cada semestre, para os alunos veteranos
da faculdade. Tal matrcula realizada por um funcionrio com a presena fsica do aluno.

FIGURA 26 - Caso de uso: matrcula presencial.


FONTE: prprio autor.

Neste caso de uso, o funcionrio informa o aluno que deseja realizar a re-matrcula.
Em seguida, so apresentadas todas as disciplinas j cursadas e as disciplinas disponveis para
o aluno cursar em todos os dias da semana.

Sistema Acadmico em ASP.NET 2.0 - 40

O processo consiste em selecionar as disciplinas que o aluno deve cursar no semestre


subseqente. Alguns tipos de validaes devem ser realizadas, como restringir a seleo de
vrias disciplinas no mesmo dia e horrio, a menos que uma delas seja para regime especial.
As nicas disciplinas que podem ser cursadas de forma concomitante so as disciplinas de
Monografia e de Estgio. A FIG. 27 demonstra um exemplo da tela de matrcula presencial.

FIGURA 27 - Tela de matrcula presencial.


FONTE: prprio autor.

O terceiro tipo de matrcula deve estar disponvel para os prprios alunos realizarem
virtualmente, atravs da Internet, em datas predefinidas pela instituio. A FIG. 28 descreve o
comportamento deste caso de uso.

FIGURA 28 - Caso de uso: matrcula virtual.


FONTE: prprio autor.

Sistema Acadmico em ASP.NET 2.0 - 41

O funcionamento deste caso de uso pode ser resumido como uma matrcula presencial
realizada de forma remota, atravs da Internet. A FIG. 29 demonstra o modelo geral da tela de
re-matrcula virtual dos alunos.

FIGURA 29 - Tela de re-matrcula virtual dos alunos.


FONTE: prprio autor.

Para tornar a iterao do aluno simples, esta tela se apia em dois conceitos difundidos
de interface: navegao estilo wizard e interatividade estilo chat.
Quando o aluno acessa a tela, recebe boas vindas e um texto introdutrio, informando
qual funcionrio est disponvel para lhe atender. Atravs de uma arquitetura de chat, o
funcionrio estar, nos dias de matrcula virtual a serem definidos pela instituio, presente
virtualmente para atender o aluno, da mesma forma que ocorreria presencialmente.
O aluno guiado por vrias telas que simulam o processo real de matrcula, como a
confirmao de dados pessoais e a escolha de disciplinas a serem cursadas. Lembrando que
esta ltima s deve estar disponvel caso o aluno possua disciplinas pendentes de outros
semestres, caso contrrio no necessrio, pois todas as disciplinas do ciclo atual do aluno
podem ser automaticamente adicionadas em sua matrcula.
Sempre que o aluno precisar realizar alguma interao (como editar dados pessoais ou
escolher disciplinas), ter disponvel um boto de envio. Neste momento, os dados aparecero
na tela do funcionrio que est lhe atendendo. O funcionrio pode ento aprovar ou reprovar
os dados recebidos do aluno.

Sistema Acadmico em ASP.NET 2.0 - 42

Em caso de reprovao, pode digitar algum texto explicativo, para que o aluno
proceda da forma correta.
Quando todos os dados estiverem de acordo com o esperado pelo funcionrio a
matrcula puder ser aceita, o funcionrio precisa apenas acionar um boto de aceite e
automaticamente o aluno receber em sua tela um comprovante de matrcula que poder ser
impresso. Da mesma forma, o funcionrio tambm recebe um comprovante, a fim de
assegurar a autenticidade da operao para ambas as partes.
Terminados estes passos, a matrcula est realizada sem que o aluno precise se
direcionar at a faculdade.

3.7. Arquitetura
Alm da definio das principais funcionalidades e criao de prottipos das telas
abordadas pela primeira iterao do sistema, toda a arquitetura da aplicao deve ser
formulada. O diagrama de componentes da FIG. 30 resume esta arquitetura.

FIGURA 30 - Diagrama de componentes.


FONTE: prprio autor.

O primeiro componente, CGA.Web representa a interface da aplicao. Este


componente na prtica uma aplicao Web, ou seja, um site programado em ASP.NET e C#.

Sistema Acadmico em ASP.NET 2.0 - 43

Tal aplicao necessita apenas de um servidor de hospedagem Windows Server com


.NET Framework 2.0 e SQL Server 2005 para estar disponvel pela Internet. Dentro deste
componente as pginas do ASP.NET, os arquivos visuais, como imagens, temas e folhas de
estilo, e os scripts executados no navegador do usurio, conforme discutido anteriormente
neste trabalho.
Vinculado a este componente, est o CGA.Negocios. Esta camada representa a lgica
de negcio da aplicao. Alm disso, encapsula as chamadas utilizando-se do padro de
projeto Facade (Cardoso, 2006), a fim de fornecer um ponto de acesso nico a todas as
aplicaes de interface que tenham necessidade de acessar as informaes oferecidas por este
sistema. Isto se torna simples no apenas pelo padro do Facade, mas tambm por tal
componente ser um Web Service. Segundo Sincic (2004), um pacote de classes acessveis de
forma remota atravs do protocolo de Internet, o HTTP.
A utilizao de Web Services permite inclusive que outros sistemas da instituio
realizem operaes providas pelo sistema CGA de forma simples e eficiente, inclusive
independente da tecnologia utilizada. possvel, por exemplo, que um sistema para controlar
a reserva de projetos pelos professores acesse operaes do Web Service do CGA afim de
buscar os dados dos professores, evitando a existncia de diversos bancos de dados com dados
replicados na faculdade.
A camada seguinte de negcio a CGA.Framework.Dados. Tal camada pequena, tem
a responsabilidade apenas de executar comandos no banco de dados. Para este sistema em
especfico, adotou-se a utilizao de Stored Procedures como forma de acesso padronizado ao
banco. Tais Stored Procedures encontram-se armazenadas no pacote denominado
SQLObjects. Sendo assim, a responsabilidade da camada de dados simplesmente executar
determinada Stored Procedure retornando dados do banco de dados e transformando os
mesmos em objetos do .NET, para que a camada de negcio possa trabalhar de forma fcil.
O ltimo componente da arquitetura o CGA.Framework.WebControls. Tal
componente prev a abstrao e automatizao de tarefas repetitivas no sistema,
principalmente voltadas interface e s validaes de dados.
Diversos controles customizados esto previstos neste componente, a fim de tornar os
cdigos HTML mais limpos e o desenvolvimento o mais produtivo possvel.
Com a utilizao correta desta arquitetura, prev-se que o tempo de desenvolvimento
de uma tela de complexidade mdia caia de 8 horas para apenas 3 horas de codificao.

CONCLUSO
Com a utilizao de sistemas informatizados moldados visando a melhoria de
processos, em conjunto com o poder de distribuio e abrangncia das aplicaes para
Internet, possvel obter ganhos significativos em relao a produtividade e eficincia em
tarefas nas mais diversas reas. Um sistema acadmico voltado a trs tipos diferentes de
pblico tem potencial para melhorar inmeras atividades na instituio.
Esta monografia foi elaborada visando demonstrar as necessidades do proposto
sistema acadmico para a FATEC Taquaritinga e as escolhas tomadas para possibilitar o
desenvolvimento do mesmo. Com base neste estudo, conclui-se que as escolhas tecnolgicas
foram satisfatrias e a base do sistema pde ser elaborada, podendo o mesmo ser expandido
futuramente de acordo com as necessidades da instituio.

REFERNCIAS BIBLIOGRFICAS
CARDOSO, C. Orientao a Objetos na Prtica. Rio de Janeiro, RJ: Cincia Moderna, 2006.
JOHNSON, G; NORTHRUP, T. Microsoft .NET 2.0 Web-Based Client Development.
Redmond, Washington: Microsoft Press, 2007.
LEITO, B. Orientao a Objetos com C# 2.0. So Paulo, SP: Politec S/A, 2007.
MARQUES, P. Introduo ao C# 2.0. Microsoft Portugual, 2005. Disponvel em:
<http://www.microsoft.com/portugal/techdays/2005/conteudostematicos/ferramdesenv.mspx>
Acesso em: 21/11/2007.
ORLANDINI, L. A Importncia dos Sistemas de Informao. Portal Bonde, 2005. Disponvel
em: <http://www.bonde.com.br/colunistas/colunistasd.php?id_artigo=1646>. Acesso em: 03
out. 2007.
ORLANDINI, L. Informatizar Para Que? Portal Bonde, 2005. Disponvel em:
<http://www.bonde.com.br/colunistas/colunistasd.php?id_artigo=1742>. Acesso em: 03 out.
2007.
W3C. Browser Information. W3 Schools, 2007. Disponvel em:
<http://www.w3schools.com/browsers/default.asp>. Acesso em: 21/11/2007.

PETRUCELLI, E. Desenvolvimento com ASP.NET 2.0. So Paulo, SP: Politec S/A, 2007.
RYAN, B; NORTHRUP, T; WILDERMUTH, T. Microsoft .NET 2.0 Application
Development Foundation. Redmond, Washington: Microsoft Press, 2006.
SINSIC, M. Orientao a Objetos com C#. So Paulo, SP: Politec S/A, 2004.

BIBLIOGRAFIA
CAMARA, F. Orientao a Objeto com .NET. Florianpolis, SC: Visual Books, 2006.
CEMBRANELLI, F. ASP. NET - Guia do Desenvolvedor. So Paulo, SP: Novatec, 2003.
CORREIA, C. H; TAFNER, M. A. Anlise Orientada a Objetos. Florianpolis, SC: Visual
Books, 2006.
LIBERTY, J. Programando C#. Rio de Janeiro, RJ: Alta Books, 2006.
RICHTER, J. Programao Aplicada com Microsoft .NET Framework. Porto Alegre, RS:
Bookman, 2005.

Você também pode gostar