Buscar

PIM VIII

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

UNIVERSIDADE PAULISTA – UNIP EAD
PROJETO INTEGRADO MULTIDISCIPLINAR (PIM VIII)
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
APLICAÇÃO ASP.NET
Controle de notas
PAULÍNIA
2017
UNIVERSIDADE PAULISTA – UNIP EAD
PROJETO INTEGRADO MULTIDISCIPLINAR (PIM VIII)
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
APLICAÇÃO ASP.NET
Controle de notas
Trabalho de conclusão de bimestre, apresentado à banca examinadora da UNIP para a obtenção de nota semestral em Análise e Desenvolvimento de Sistemas.
PAULÍNIA
2017
RESUMO
O presente trabalho tem como objetivo o planejamento e o processo de desenvolvimento de um sistema acadêmico, com foco nas necessidades da Faculdade UNIP, apoiando-se nas principais técnicas de programação para Internet através da plataforma .NET da Microsoft, com a linguagem C# em conjunto com as tecnologias oferecidas pelo ASP.NET 2.0. São discutidas todas as escolhas tecnológicas para a criação do sistema, apresentando de forma sucinta com dados e gráficos o porquê de cada decisão, a fim de demonstrar a viabilidade das propostas deste trabalho e como cada uma delas favorece a criação do sistema e pode facilitar sua manutenção. Por fim, tornou-se possível constatar que a utilização da Internet como base para sistemas de gestão – sejam eles acadêmicos ou não pode ser um grande atrativo, além de facilitar um dos maiores desafios de sistemas a serem acessados por diferentes usuários em diferentes lugares, que é a distribuição do mesmo.
ABSTRACT
The present work has as objective the planning and the process of development of an academic system, focusing on the needs of the UNIP Faculty, relying on the main programming techniques for the Internet through the Microsoft .NET platform, with the C # language together with the technologies offered by ASP.NET 2.0. All the technological choices for the creation of the system are discussed, presenting briefly with data and graphs the reason for each decision, in order to demonstrate the viability of the proposals of this work and how each favors the creation of the system and can facilitate its maintenance. Finally, it has become possible to verify that the use of the Internet as a basis for management systems - be they academic or not can be a great attraction, besides facilitating one of the biggest challenges of systems to be accessed by different users in different places, which is the distribution of it.
SUMÁRIO
RESUMO	3
ABSTRACT	4
SUMÁRIO	5
1	INTRODUÇÃO	7
2	DESENVOLVIMENTO	7
3	ESTUDO DE CASO	8
4	ANÁLISE E RESULTADOS PARA GERENCIAMENTO DE PROJETO DE SOFTWARE	9
4.1	PROJETO DE SOFTWARE MANAGER	10
4.2	PLANEJAMENTO DO PROJETO	11
4.3	DEFINIÇÃO DO ESCOPO	13
4.4	CRONOGRAMA E PLANO DE RISCO	13
4.5	SEGURANÇA E PADRÕES DE QUALIDADE	14
5	ANÁLISE E RESULTADOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS	15
5.1	ABSTRAÇÃO	16
5.2	ENCAPSULAMENTO	16
5.3	HERANÇA	16
5.4	POLIMORFISMO	17
6	ANÁLISE E RESULTADOS PARA DESENVOLVIMENTO DE SOFTWARE PARA INTERNET	17
6.1	ESCOLHAS TECNOLÓGICAS	18
6.2	PLATAFORMA .NET	20
6.3	FRAMEWORK .NET	20
6.4	LINGUAGEM C#	22
6.5	ASP.NET	23
7	CONCLUSÃO	25
8	REFÊRENCIAS BIBLIOGRÁFICAS	25
INTRODUÇÃO
Desde os primórdios da humanidade, organizar as informações vem sendo um desafio. E é este mesmo desafio que ainda hoje impulsiona os avanços na área de tecnologia da informação.
 Nas últimas décadas, o processo de informatização deixou de ser estritamente científico, militar e acadêmico, para se tornar comercial. Desde então, a informatização tornou-se um instrumento administrativo, mostrando-se uma ferramenta poderosa de gestão.
 As principais vantagens agregadas pela tecnologia foram: capacidade de manipular uma enorme quantidade de dados simultaneamente; precisão, velocidade, menor desperdício e redução de custo (automação de tarefas) e, com o advento da Internet, ampliou-se os mercados consumidores a o tamanho atingido pela grande rede. Transformar toda a tecnologia que está disponível em oportunidades é o grande desafio, assim como compreender exatamente para que a informatização seja desejada. Sendo assim, a informatização pode oferecer inúmeras vantagens e oportunidades. Além disso, com a proliferação da Internet, a criação de sistemas totalmente conectados e disponíveis todo o tempo tornou-se simples e, o mais importante, barata.
 Dadas estas oportunidades, este trabalho pretende apresentar a criação de um sistema de gestão acadêmica online, facilitando as operações das três entidades principais envolvidas: alunos, professores e funcionários administrativos.
DESENVOLVIMENTO
O objetivo de construir um sistema acadêmico aproveitando-se das oportunidades oferecidas por um ambiente de Internet vai de encontro à necessidade por este tipo de sistema. Tal necessidade não se trata de um fato isolado, mas algo comum a diversas instituições de ensino. Segundo Orlandini (2005), com a presença cada vez mais constante de serviços de hospedagem de sistemas pela Internet, é provável que a informatização esteja tão acessível e tão presente nas organizações quanto à energia elétrica. Um número cada vez maior de empresas está aderindo a esse serviço, que possibilita acima de tudo uma redução dramática nos custos inerentes à infraestrutura de TI. Esta evolução da Internet como base para sistemas de informação. Em um período de dez anos, sistemas publicados para Internet cresceram aproximadamente 60%.
As instituições de ensino superior, em especial as instituições públicas, parecem estar no extremo oposto deste cenário. Mesmo instituições diretamente relacionadas à tecnologia, muitas vezes não possuem ferramentas de ponta aproveitando-se deste conhecimento.
Uma das preocupações deste trabalho, desde o início do levantamento de requisitos, foi avaliar como elaborar o proposto sistema acadêmico de forma que se torne facilmente manutenível e expansível, pela própria instituição, através de seus alunos e estagiários. Também existe a preocupação 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 também se tornar mais produtiva.
ESTUDO DE CASO
Neste projeto, composto de duas partes, uma teórica e outra prática, deverá desenvolver em ASP.NET uma aplicação web para o gerenciamento das tarefas acadêmicas (trabalhos, provas, atividades complementares, DPs etc.) precisará entregar para concluir o Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas. O desenvolvimento da aplicação em ASP.NET deverá ser gerenciado desde a definição do escopo até a entrega deste trabalho e deverá conter também:
Atividades de gerenciamento do projeto: 
1. Descrever o escopo do projeto;
 2. Elaborar a EAP;
 3. Desenvolver o cronograma;
 4. Apresentar o plano de risco;
 5. Definir os padrões de qualidade esperados.
Sistema web em ASP.NET: 
1. Permitir o cadastro das tarefas acadêmicas (com opções para excluir e alterar cada tarefa);
 2. Data limite para realização de cada tarefa;
 3. Alerta (em tela) quando atingir a data de entrega da tarefa;
 4. Utilizar banco de dados Microsoft Access.
ANÁLISE E RESULTADOS PARA GERENCIAMENTO DE PROJETO DE SOFTWARE
O trabalho padrão de uma empresa de TI envolvidos no desenvolvimento de software pode ser vista dividida em duas partes que são Criação de Software e Gerenciamento de Projetos de Software.
O projeto é uma tarefa definida, que é uma coleção de várias operações realizadas a fim de atingir um objetivo (por exemplo, desenvolvimento de software e de entrega). Um projeto pode ser caracterizado como cada projeto pode ter uma meta única e distinta, projeto não é atividade de rotina ou nas operações do dia a dia, Projeto vem com hora de início e hora de fim, Projeto termina quando seu objetivo é alcançado, por conseguinte, é uma fase temporária durante o período de vigência de uma organização e Projetotem recursos suficientes em termos de tempo, mão de obra, das finanças, do material e do conhecimento e do banco.
Um projeto de um Software é o processo completo de desenvolvimento de software da obrigatoriedade recolha de ensaios e manutenção, realizado de acordo com a execução das metodologias, em um determinado período de tempo para obter se produto de software.
Software é dito que é um produto intangível. Desenvolvimento de Software é uma espécie de todos os novos stream no mundo empresarial e há muito pouca experiência em construir produtos de software. A maioria dos produtos de software são feitos para aplicar requisitos dos clientes. O mais importante é que a tecnologia subjacente as mudanças e avanços tão frequentemente e rapidamente que a experiência de um produto não pode ser aplicada para o outro. Todas essas empresas e as condicionantes ambientais trazer riscos no desenvolvimento de software, portanto é essencial para gerenciar projetos de software eficiente.
PROJETO DE SOFTWARE MANAGER
Um projeto de software manager é a pessoa que assume a responsabilidade da execução do projeto de software. Projeto de Software manager é completamente ciente de todas as fases do SDLC que o software poderia passar. Gerente do Projeto nunca pode envolver diretamente para produzir o produto final, mas que ele controla e gerencia as atividades envolvidas na produção.
Um gerente de projetos acompanha de perto o processo de desenvolvimento, prepara e executa diversos planos, organizam as necessárias e os recursos adequados, mantém a comunicação entre todos os membros da equipe, a fim de resolver problemas de custo, orçamento, recursos, tempo, qualidade e satisfação do cliente.
Vamos ver algumas das responsabilidades que um gerente de projetos:
Gestão de Pessoas
Atuar como líder de projeto
Lesão com as partes interessadas
Gerenciando recursos humanos
Relatórios Criação de hierarquia etc.
Gerencia o projeto
Definição e criação de escopo do projeto
Gerenciar as atividades de gerenciamento projetos
Monitorização do progresso e desempenho
Análise de risco em cada fase
Tomar medidas necessárias para evitar ou sair de problemas
Agir como porta voz projeto
PLANEJAMENTO DO PROJETO
Projeto de Software planejamento é tarefa, que é realizada antes da produção de software realmente começa. É aí que o software produção mas não envolve atividade concreta que tenha qualquer conexão de direção com o software produção; em vez disso, ela é um conjunto de vários processos, software que facilita produção. Planejamento do Projeto pode incluir o seguinte:
Gerenciamento de escopo
Ele define o âmbito do projeto; este inclui todas as atividades, o processo precisa ser feito a fim de fazer um material de entrega produto de software. Gerenciamento do escopo é essencial, uma vez que cria os limites do projeto, definindo-se claramente o que iria ser feito no projeto e o que não é feito. Isso faz projeto para conter tarefas limitadas e quantificáveis, que pode facilmente ser documentada e, por sua vez evita custos e tempo excedente.
No gerenciamento do escopo do projeto, é necessário:
Definir o escopo
Decidir sobre a sua verificação e controlo
Divida o projeto em várias partes menores para facilitar o gerenciamento.
Verificar o escopo
Controlar o escopo, incorporando as mudanças de escopo
Projeto Estimativa
Para uma gestão eficaz estimativa precisa das diferentes medidas é uma necessidade. Com estimativa correta os gerentes podem controlar e gerenciar o projeto mais eficiente e eficaz.
Projeto estimativo poderá envolver as seguintes:
Estimativa do tamanho Software
Software pode ser estimado, quer em termos de KLOC (quilo linha de código) ou pelo cálculo de pontos de função do software. As linhas de código dependem da função e práticas de codificação pontos variam de acordo com o usuário ou requisito de software.
Empenho estimativa
Os gestores estimam esforços em termos de exigência pessoal e homem hora necessários para produzir o software. Para tamanho esforço software estimativa deve ser conhecida. Isso pode ser obtido por experiência dos gestores da organização, dados históricos ou software tamanho pode ser convertido em esforços, utilizando algumas fórmulas tipo.
Estimativa de tempo
Uma vez tamanho e esforços são estimados, o tempo necessário para produzir o software pode ser estimada. Os esforços exigidos é segregado em sub categorias conforme as especificações de requisitos e da interdependência dos vários componentes de software. Tarefas são divididas em pequenas tarefas, atividades ou eventos por meio do trabalho estrutura revolucionária (WBS). As tarefas são agendadas no dia a dia ou em meses de calendário.
A soma do tempo necessário para concluir todas as tarefas em horas ou dias, é o tempo total investido para concluir o projeto.
Estimativa de Custos
Este pode ser considerado como o mais difícil de todos, pois ela depende de mais elementos que qualquer dos anteriores. A estimativa de custos de projeto, é necessária a considerar:
Tamanho do software
Qualidade de Software
Hardware
Software adicional ou ferramentas, licenças etc.
Pessoal qualificado com competências específicas de tarefas
Cursos envolvidos
Comunicação
Treinamento e suporte
DEFINIÇÃO DO ESCOPO
Para o novo sistema, ficaram definidos os seguintes pontos chave:
Deve estar pronto para ser acessível pela internet, cabendo apenas definir um servidor de hospedagem pela Internet com suporte a ASP.NET 2.0 e Microsoft Access.
Deve diferenciar os usuários Alunos e Professores, apresentando conteúdo customizado a cada um destes grupos;
Deve implementar novas operações relativas à cadastro, com destaque para a possibilidade dos próprios alunos realizarem cadastro pela internet.
Deve ser bem elaborado e conter um código coeso e acoplável, de fácil manutenção e expansão.
Deve conter código fonte aberto, permitindo que a própria instituição seja responsável pelas manutenções futuras.
CRONOGRAMA E PLANO DE RISCO
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.
 Com isto, o ciclo de vida de análise e desenvolvimento do sistema torna se incrivelmente flexível. Desta forma, a base do sistema pode ser e laborada de forma simples e rápida, conforme apresentado neste trabalho, e o objetivo da facilidade de manutenção pode ser alcançado sem grandes esforços.
 Após este primeiro ciclo de desenvolvimento, que está sendo concluído em conjunto com este trabalho, a implantação da primeira iteração do sistema pode ser realizada com facilidade na instituição, em um ambiente controlado de homologação. A partir daí, diversos testes de desempenho, usabilidade e aderência podem ser realizados pelo próprio cliente.
 Estes testes podem ser realizados de forma controlada em um primeiro momento, com dados fictícios e situações planejadas. Em seguida, dados replicados do ambiente de produção atualmente funcional na faculdade podem ser utilizados de forma a simular situações reais e tentar expor o sistema o máximo possível à realidade da instituição.
Consequentemente, torna se fácil e rápida a obtenção de resultados, observando se os pontos críticos a serem solucionados e as sugestões de melhorias. Com isto, fica simples elaborar a próxima iteração do processo de análise e desenvolvimento, voltados para estes itens a pontados. Dessa forma, o sistema fica auto expansível e praticamente ilimitado, sempre sendo possível criar um novo processo iterativo com novas funcionalidades e correções. Além disso, quando tornar se perceptível a possibilidade de utilizar integralmente o sistema, é necessário somente migrá lo para um ambiente de produção, podendo por fim abandonar quaisquer versões anteriores e se aproveitar totalmente dos novos recursos.
SEGURANÇA E PADRÕES DE QUALIDADE
O sistema precisa estar acessível para diferentes grupos de usuários, cadaqual com determinadas permissões de acesso aos conteúdos. Isto é possível graças às associações existentes entre as funcionalidades, os usuários e seus perfis de acesso.
 Além de trabalhar com a permissão geral de cada um destes tipos de usuário, o sistema deve possuir a possibilidade de configuração de grupos de usuários específicos para acessar de terminados recursos. Por exemplo, determinados relatórios podem estar acessíveis somente a professores do curso de Processamento de Dados. É possível então criar um perfil de acesso para professores deste curso, com acesso a tais relatórios. Professores de outros cursos, apesar de também serem professores e terem basicamente as mesmas permissões, não terão possibilidade de acessar estes conteúdos específicos. Tais configurações podem ser realizadas de forma simples.
 Além disso, também é possível configurar permissões personalizadas para cada usuário. Sendo assim, é possível que um professor ou funcionário específico possua acesso completo a outras áreas, como a manutenção do próprio sistema. Também é possível definir professores coordenadores, que poderão acessar conteúdos específicos para eles.
 Por fim, o sistema tem que estar preparado para bloquear usuários não autorizados, como ex alunos ou outras pessoas que não tenham vínculos com a faculdade. Este bloqueio não deve ser realizado somente na primeira tentativa de acesso, mas sim constantemente, verificando todas as tentativas posteriores e garantindo inclusive que as permissões do usuário não se mantenham abertas por um longo tempo, o que permitiria que, por exemplo, outra pessoa se utilizasse destas permissões caso utilize o mesmo computador num curto espaço de tempo. Sistema Acadêmico em ASP.NET 2.0
 
ANÁLISE E RESULTADOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS
O desenvolvimento de software é extremamente amplo. Nesse mercado, existem diversas linguagens de programação, que seguem diferentes paradigmas. Um desses paradigmas é a Orientação a Objetos, que atualmente é o mais difundido entre todos. Isso acontece porque se trata de um padrão que tem evoluído muito, principalmente em questões voltadas para segurança e reaproveitamento de código, o que é muito importante no desenvolvimento de qualquer aplicação moderna.
A Programação Orientada a Objetos (POO) diz respeito a um padrão de desenvolvimento que é seguido por muitas linguagens, como C# e Java. A seguir, iremos entender as diferenças entre a POO e a Programação Estruturada, que era muito utilizada há alguns anos, principalmente com a linguagem C. Esse padrão se baseia em quatro pilares que veremos ao longo desse artigo. Além disso, a POO diversas vantagens em sua utilização, que também serão vistas e explicadas.
ABSTRAÇÃO
A abstração consiste em um dos pontos mais importantes dentro de qualquer linguagem Orientada a Objetos. Como estamos lidando com uma representação de um objeto real (o que dá nome ao paradigma), temos que imaginar o que esse objeto irá realizar dentro de nosso sistema. São três pontos que devem ser levados em consideração nessa abstração.
O primeiro ponto é darmos uma identidade ao objeto que iremos criar. Essa identidade deve ser única dentro do sistema para que não haja conflito. Na maior parte das linguagens, há o conceito de pacotes (ou namespaces). Nessas linguagens, a identidade do objeto não pode ser repetida dentro do pacote, e não necessariamente no sistema inteiro. Nesses casos, a identidade real de cada objeto se dá por.
ENCAPSULAMENTO
O encapsulamento é uma das principais técnicas que define a programação orientada a objetos. Se trata de um dos elementos que adicionam segurança à aplicação em uma programação orientada a objetos pelo fato de esconder as propriedades, criando uma espécie de caixa preta.
A maior parte das linguagens orientadas a objetos implementam o encapsulamento baseado em propriedades privadas, ligadas a métodos especiais chamados getters e setters, que irão retornar e setar o valor da propriedade, respectivamente. Essa atitude evita o acesso direto a propriedade do objeto, adicionando uma outra camada de segurança à aplicação.
HERANÇA
Para entendermos essa característica, vamos imaginar uma família: a criança, por exemplo, está herdando características de seus pais. Os pais, por sua vez, herdam algo dos avós, o que faz com que a criança também o faça, e assim sucessivamente. Na orientação a objetos, a questão é exatamente assim. O objeto abaixo na hierarquia irá herdar características de todos os objetos acima dele, seus “ancestrais”. A herança a partir das características do objeto mais acima é considerada herança direta, enquanto as demais são consideradas heranças indiretas. Por exemplo, na família, a criança herda diretamente do pai e indiretamente do avô e do bisavô.
POLIMORFISMO
Outro ponto essencial na programação orientada a objetos é o chamado polimorfismo. Na natureza, vemos animais que são capazes de alterar sua forma conforme a necessidade, e é dessa ideia que vem o polimorfismo na orientação a objetos. Como sabemos, os objetos filhos herdam as características e ações de seus “ancestrais”. Entretanto, em alguns casos, é necessário que as ações para um mesmo método seja diferente. Em outras palavras, o polimorfismo consiste na alteração do funcionamento interno de um método herdado de um objeto pai.
Como um exemplo, temos um objeto genérico “Eletrodoméstico”. Esse objeto possui um método, ou ação, “Ligar()”. Temos dois objetos, “Televisão” e “Geladeira”, que não irão ser ligados da mesma forma. Assim, precisamos, para cada uma das classes filhas, reescrever o método “Ligar()”.
ANÁLISE E RESULTADOS PARA DESENVOLVIMENTO DE SOFTWARE PARA INTERNET
Desenvolvimento web é o termo utilizado para descrever o desenvolvimento de sites, na Internet ou numa intranet. Este é o profissional que trabalha desenvolvendo websites, podendo ser um Web Designer (Desenvolvedor do Layout), ou Web Developer (Desenvolvedor de sistemas). O desenvolvimento refere-se a um processo de construção e testes do software especifico para a web, com a finalidade de se obter um conjunto de programas, que satisfazem as funções pretendidas, quer em termos de usabilidade dos usuários ou compatibilidade com outros programas existentes. O desenvolvimento web pode variar desde simples páginas estáticas a aplicações ricas, comércios eletrônicos ou redes sociais.
ESCOLHAS TECNOLÓGICAS
O primeiro passo foi definir a metodologia a ser utilizada. Escolheu-se a Análise Orientada a Objetos, por ser amplamente utilizada e de fácil compreensão. Além disso, visto que o alvo do sistema é o ambiente de Internet, a orientação a objetos mostra-se um grande atrativo, pois as duas maiores tecnologias de desenvolvimento para Internet atualmente existentes são JSP, para desenvolvimento Java, e ASP.NET, para desenvolvimento .NET (Johnson, 2007).
 Além disso, uma das maiores vantagens da orientação a objetos é a reutilização do código, possibilitada em sua maior parte graças ao recurso de herança de classes, onde classes específicas podem se aproveitar de recursos de classes mais genéricas, evitando repetições desnecessárias de código (Cardoso, 2006). Em um sistema projetado para se tornar facilmente manutenível e expansível, este recurso representa um ganho considerável, tornando a escolha da orientação a objetos um bom diferencial.
 Já a escolha entre uma das duas maiores plataformas de desenvolvimento orientado a objetos, Java ou .NET, nem sempre é fácil. Enquanto Java possui ao seu lado a força do software livre, a plataforma .NET demonstra cada vez mais seu crescimento e ganha espaço em relação à produtividade. Sistema Acadêmico em ASP.NET.
Além disso, a plataforma .NET vem se mostrando cada vez mais performática em diversos fatores, como o tratamento de documentos DOM ( Document Object Model) e XML (Extensible Markup Language), padrões incrivelmente utilizados e disseminados. Um comparativo de desempenho na leitura e interpretação de documentos XML entre as versões1.1 e 2.0 do Framework .NET em relação ao Java 1.5.
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 não. Esta situação foi resolvida em 2005, com o lançamento das versões Express Edition de diversos produtos de desenvolvimento da Microsoft, versões essas que possuem licença de utilização livre, contanto que o produto final não seja comercializado, algo que não representa um problema para o sistema acadêmico da faculdade.
 Já a escolha entre as versões 1.1 ou 2.0 do .NET Framework não exige grandes análises. Segundo Marques (2005), a quantidade de recursos e o aumento de produtividade no desenvolvimento para a versão 2.0 é visível 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 versão Express Edition, sua limitação é quanto à comercialização e quanto ao tamanho limite do arquivo do banco de dados no disco rígido (no máximo 4GB). Tal limite não representa um problema, já que atualmente, usando o SQL Server 2000, com 15 anos de dados cadastrados, o banco de dados não ultrapassou 25MB. Além disso, o SQL Server 2005 foi desenhado para ser totalmente Sistema Acadêmico em ASP.NET 2.0 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).
 Como todos os recursos de visualização e edição dos dados e da própria estrutura das bases de dados estão totalmente integrados com o ambiente de desenvolvimento do .NET 2.0, o que agiliza e facilita o desenvolvimento.
Escolhidas as tecnologias de desenvolvimento e armazenamento das informações, faz-se necessário realizar definições sobre o ambiente esperado para os usuários do sistema, visto que não é possível controlar a forma como cada usuário acessará a aplicação, sendo esta publicada pela Internet.
 Quando o foco é desenvolvimento Web, é essencial ter definido desde o início quais navegadores serão adotados para navegar pelo sistema, visto que cada navegador possui suas próprias peculiaridades em relação à interpretação dos padrões.
 O órgão que regulamenta a padronização de desenvolvimento para Internet, chamado W3C (World Wide Web Consortium), possui diversas recomendações de melhores práticas de desenvolvimento e para quais navegadores são voltadas. Além disso, possui diversas estatísticas que auxiliam a escolher os navegadores alvos na hora da definição de escopo.
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 aplicações e serviços de última geração (Ryan, 2006). Um grande destaque da plataforma .NET está na facilidade de desenvolvimento de aplicações para os mais diversos tipos de dispositivos. Parte desta facilidade está nos vastos recursos do Framework .NET, a ser de talhado a seguir, e do ambiente de desenvolvimento produtivo, chamado Microsoft Visual.
FRAMEWORK .NET
O Framework .NET é a base da plataforma. Muitos especialistas realizam comparações com a JVM (Java Virtual Machine).
 De certa forma, o Framework .NET também é uma máquina virtual, pois representa uma camada adicional entre o sistema operacional e código das aplicações desenvolvidas para a plataforma. Porém, mais do que uma máquina virtual sobre o sistema operacional, o Framework .NET possui um conjunto de bibliotecas de componentes completa, automatizando diversas tarefas.
 Além disso, assim como em Java, o código escrito não é compilado em linguagem de máquina, mas sim e uma linguagem intermediária, chamada de MSIL (Microsoft Intermediate Language), interpretada pelo Framework no momento da execução, de forma similar ao que ocorre com o código intermediário 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 máquina não é necessário fazer a distribuição de outros componentes, uma vez que todos já estão instalados. Isto facilita o desenvolvimento e a distribuição de aplicações (Sinsic, 2004).
 A base do Framework .NET é o componente CLR (Common Language Runtime), responsável pela comunicação direta com o sistema operacional, gerenciando o uso da memória, requisitando a execução de instruções na CPU, etc. Também é responsabilidade do CLR interpretar a MSIL gerada durante a compilação dos programas .NET, traduzindo em linguagem de máquina. De forma a traçar um comparativo mais específico, pode-se dizer que o CLR é a parte do Framework .NET que corresponde à Java Virtual Machine.
 Isto garante que a portabilidade na plataforma não é responsabilidade do compilador de cada linguagem e sim do CLR, ou seja, todos os hardwares e sistemas operacionais cuja Microsoft desenvolve uma versão do Framework .NET são automaticamente capazes de executar qualquer aplicação desenvolvida em qualquer uma das linguagens suportadas. Além disso, existem projetos de migração, como o Mono, para sistemas não suportados pela Microsoft, como Linux e Solaris, que garantem grande compatibilidade com o Framework .NET original (Leitão, 2007). Sistema Acadêmico em ASP.NET 2.0.
 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. Os blocos em cinza representam os componentes existentes em todos os sistemas Windows, independentes do .NET Framework.
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 estão disponíveis em versão atualizada e orienta da a objetos para o Framework .NET.
LINGUAGEM C#
O C# é uma linguagem de programação totalmente nova, inspirada no C++, orientada a objetos e que foi lançada juntamente com a plataforma .NET, ou seja, tem como principal foco o desenvolvimento para Web e dispositivos móveis.
 Todo código em C#, assim como nas outras linguagens da plataforma .NET, é compilado duas vezes antes de ser executado. A primeira compilação, pelo compilador C#, gera um executável ou arquivo com extensão dll que contém o código MSIL posteriormente, este será interpretado pelo compilador JIT (Just in Time Compiler), componente do CLR (Common Language Runtime) que gera código nativo para a CPU que está executando a aplicação (Ryan, 2006).
 Este código é mantido na memória enquanto estiver sendo utilizado. Mas o desempenho do restante do sistema operacional não é afetado drasticamente já que, caso essa rotina não seja mais utilizada, existe outro item do CLR, chamado Garbage Collector, literalmente um “coletor de lixo”, que limpa da memória os objetos não usados.
O C# unifica os tipos sem alto custo em tempo de execução. Para isso, ele realiza a divisão dos tipos por valor e por referência. Um tipo por valor só é convertido para tipo por referência quando necessário, ou seja, certos valores são diretamente alocados na memória e só se tornam objetos quando, e se, necessário (Leitão, 2007).
 Além de ser uma linguagem robusta para gerenciar a memória automaticamente, o C# possui outras vantagens como: mecanismo único de tratamento de erros, verificação de todas as conversões entre tipos de dados, segurança contra overflow (estouro de tamanho de variáveis, tabelas, arrays, etc.), pois sempre valida qualquer atribuição de valor, impossibilidade de ambiguidade (não possui valores default) e facilidade de documentação do código.Tudo isso evita falhas de codificação, execução e segurança, além de tornar o desenvolvimento mais produtivo. Sistema Acadêmico em ASP.NET 2.0.
ASP.NET
Uma aplicação baseada em formulários Windows utiliza os recursos locais da máquina do cliente, necessitando que se instale o .NET Framework e um poder de processamento acima de Pentium II 300 e memória de 64 MB, além de exigir Windows 98 ou superior. Com estas características limitamos em muito a distribuição e utilização fora do ambiente corporativo (Sinsic, 2004).
 Com os recursos presentes e adicionados nos navegadores Web e a aplicação de servidores inteligentes, foi possível criar um ambiente de aplicações rico e funcional. Antes disso, a área de aplicações para Internet passou por outras duas fases distintas.
 Na primeira fase, os primeiros servidores para Internet e ram somente transmissores de texto em formato HTML (Hyper Text Markup Language, a linguagem de formatação 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 solicitação de página e retornando o texto sem qualquer processamento prévio antes da resposta.
Para ganhar performance eram criados componentes compilados do tipo Win32, em linguagens como Visual Basic 6.0, C++ ou Delphi. Estes então eram chamados pelas diretivas do código ASP.
 Outra desvantagem do ASP era a necessidade de montar a página manualmente pela codificação, uma vez que era necessário colocar a diretiva exatamente no local onde o resultado deveria ser apresentado, impossibilitando a utilização de ferramentas de design para facilitar o processo.
 Estes problemas e dificuldades também eram marca de tecnologias semelhantes e concorrentes, como PHP e ColdFusion. No modelo atual de comunicação e processamento Web, iniciado com o ASP.NET 1.1 e continuado com o 2.0, as páginas não precisam ser processadas, uma vez que as diretivas não precisam mais ser utilizadas e passamos a ter o conceito de Code Behind.
 Neste modelo, a parte dos códigos é compilada e se transforma em um arquivo com extensão 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 não mais interpretar o código página por página.
 Além disso, a construção dos códigos é idêntica ao desenvolvimento comum. Podemos, por exemplo, arrastar uma caixa de texto para a página e manipularmos seus atributos, como feito em aplicações de formulários Windows.
 Outra interessante inclusão é a capacidade do servidor adaptar a página e o HTML retornado ao cliente conforme a versão do navegador e sistema operacional, incluindo celulares WAP.
O modelo do ASP.NET traz diversas vantagens em relação às gerações anteriores. Segundo Johnson (2007), podemos dar destaque a:
 Modelo de Desenvolvimento de Aplicação Avançado: o ASP.NET é focado no Desenvolvimento Rápido de Aplicações (RAD, na sigla em inglês) e criação 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 programação, o ASP.NET mantém automaticamente o estado e os controles da página durante o seu ciclo de vida, ou seja, todos os dados preenchidos pelo usuário são mantidos automaticamente entre várias requisições do servidor. Por mais trivial que pareça, isso não acontece por padrão para aplicações 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 várias plataformas, como Windows, Web e Mobile. 
Desempenho: no ASP.NET todas as páginas são compiladas antes de serem executadas, além de serem mantidas em cache na memória, fazendo com que normalmente precisem ser processadas somente uma vez. 
Escalabilidade: as aplicações ASP.NET podem rodar tanto em um único servidor como em múltiplos servidores integrados.
Segurança: o ASP.NET tem várias formas automatizadas de autenticação para aplicações Web, tornando a tarefa de desenvolver aplicações seguras muito mais simples. 
Gerenciamento: os arquivos de configuração do ASP.NET são gravados como texto simples, normalmente em formato XML, o que facilita o trabalho de administração das aplicações. 
Estensibilidade: você pode estender a funcionalidade do ASP.NET pela escrita de seus componentes customizados, herdando funcionalidades do Framework e melhorando.
CONCLUSÃO
Com a utilização de sistemas informatizados moldados visando a melhoria de processos, em conjunto com o poder de distribuição e abrangência das aplicações para Internet, é possível obter ganhos significativos em relação à produtividade e eficiência em tarefas nas mais diversas áreas. Um sistema acadêmico voltado a três tipos diferentes de público tem potencial para melhorar inúmeras atividades na instituição.
 Esse trabalho foi elaborado visando demonstrar as necessidades do proposto sistema acadêmico para gerenciamento das tarefas acadêmicas e as escolhas tomadas para possibilitar o desenvolvimento do mesmo.
 Com base neste estudo, conclui se que as escolhas tecnológicas foram satisfatórias e a base do sistema pôde ser elaborada, podendo o mesmo ser expandido futuramente de acordo com as necessidades da instituição.
REFÊRENCIAS BIBLIOGRÁFICAS
A Importância dos Sistemas de Informação. Portal Bonde, 2005. ORLANDINI, Leandro.
Análise Orientada a Objetos. Florianópolis, SC: Visual Books, 2006. CORREIA, C. H; TAFNER, M. A.
ASP.NET - Guia do Desenvolvedor. São Paulo, SP: Novatec, 2003. CEMBRANELLI, F.
DEVMEDIA. Os 4 pilares da Programação Orientada a Objetos. Disponível em: <http://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264> Acesso em: 09/11/2017.
Testes De Software: Produzindo Sistemas Melhores e Mais Confiáveis. MOLINARI, Leonardo
Informatizar Para Que? Portal Bonde, 2005. Disponível em: <http://www.bonde.com.br/colunistas/colunistasd.php?id_artigo=1742>.Acesso em: 10/11/2017. ORLANDINI, Leandro.
Introdução ao C# 2.0. Microsoft Portugal, 2005. Disponível em: <http://www.microsoft.com/portugal/techdays/2005/conteudostematico s/ferramdesenv.mspx>Acesso em: 06/11/2017. MARQUES, P.
Microsoft.NET 2.0 Application Development Foundation. Redmond, Washington: Microsoft Press, 2006. RYAN, B; NORTHRU P, T; WILDERMUTH, T.
Microsoft .NET 2.0 Web Based Client Development. Redmond, Washington: Microsoft Press, 2007. JOHNSON, G; NORTHRUP, T.
Orientação a Objetos com C#. São Paulo, SP: Politec S/A, 2004. SINSIC, M.
Orientação a Objetos na Prática: Ciência Moderna, 2006. CARDOSO, Caíque.
Orientação a Objeto com .NET. Florianópolis, SC: Visual Books, 2006. CAMARA, F.
Orientação a Objetos com C# 2.0. São Paulo, SP: Politec S/A, 2007. LEITÃO, B.
Programação Aplicada com Microsoft.NET Framework. Porto Alegre, RS: Bookman, 2005. RICHTER, J.
Programando C#. Rio de Janeiro, RJ: Alta Books, 2006. LIBERTY, J.
W3C. Browser Information. W3 Schools, 2007. Disponível em: <http://www.w3schools.com/browsers/default.asp>. Acesso em: 11/11/2017.

Outros materiais