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. 1.2. 2. Cenrio Atual ............................................................................................................ 11 Escolhas Tecnolgicas .............................................................................................. 13

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

3.

CENTRAL DE GESTO ACADMICA ....................................................................... 28 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. Definio de Escopo ................................................................................................. 28 Desenvolvimento Iterativo e Incremental................................................................. 29 Modelo de Banco de Dados ...................................................................................... 30 Segurana de Acesso ................................................................................................ 33 Cadastros .................................................................................................................. 36 Matrcula................................................................................................................... 38 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 ADO ASP CGA CLR CPU DLL DOM ECMA GB HTML HTTP IE IIS ISO JSP JVM MB MSIL OOP PHP RA RAD RSS SQL TI W3C WAP XML Plataforma de Desenvolvimento da Microsoft Access Data Objects (Objetos de Acesso a Dados) Active Server Pages Cadastro Geral de Alunos ou Central de Gesto Acadmica Common Language Runtime Central Processing Unit (Unidade Central de Processamento, ou Processador) Dynamically Linked Library Document Object Model European Computer Manufacturers Association Giga Byte Hyper Text Markup Language Hyper Text Transfer Protocol Internet Explorer Internet Information Services International Organization for Standardization Java Server Pages Java Virtual Machine Mega Byte Microsoft Intermediate Language Object Oriented Programming (Programao Orientada a Objetos) Hypertext Preprocessor Registro Acadmico Rapid Application Development (Desenvolvimento Rpido de Aplicaes) Really Simple Syndication Structured Query Language Tecnologia da Informao World Wide Web Consortium Wireless Application Protocol 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 aproveitandose 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 2007 2006 2005 2004 2003 2002 JavaScript Habilitado 94% 92% 90% 90% 89% 88% JavaScript Desabilitado 6% 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 string char byte short int long bool decimal float double DateTime Descrio Texto extenso 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 Exemplo de Utilizao
string Varivel = Erick; 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 02 03 04 05 06 07 08 09 10 Namespace NomeProjeto { public class ClasseTeste { private int SomarNumeros(int p_intN1, int p_intN2) { return p_intN1 + p_intN2; } } }

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 re-matrcula 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.