ASP .NET - Sistema para geração de pesquisas na web
No meu entendimento quanto mais simples e fácil de usar for uma tecnologia mais ela será fadada ao sucesso. Muitas vezes não precisamos de um canhão para matar uma mosca, um simples artefato já resolve o problema. |
A plataforma .NET conseguiu muitos avanços no objetivo de ser uma ferramenta RAD (Rapid Application Development). Houve uma avanço muito significativo na tecnologia ASP .NET que permite gerar aplicações para web. A ASP.NET conseguiu trazer para o seu processo de desenvolvimento quase os mesmos recursos disponíveis nas aplicações Windows Forms.(eu disse quase...)
Rapid Application Development (RAD) ou Desenvolvimento Rápido de Aplicação (em português), é um modelo de processo de desenvolvimento de software iterativo e incremental que enfatiza um ciclo de desenvolvimento extremamente curto (entre 60 e 90 dias). O termo foi registrado por James Martin em 1991 e tem substituído gradativamente o termo de prototipação rápida que já foi muito utilizada no passado |
Por que eu estou falando sobre esse assunto ?
Bem, porque eu pretendo mostrar como usar o ASP .NET para criar um sistema para gerar pesquisas na web usando os recursos dos assistentes de configuração da ASP .NET para mostrar que não é muito complicado criar um pequeno sistema para uso pessoal ou de uma pequena empresa.
Nota: Para aplicações comerciais, mesmo as de pequeno porte, sempre é recomendável adotar um arquitetura de desenvolvimento em camadas levando em conta os requisitos do sistema. Pense sempre adiante, nas possíveis alterações de requisitos que o sistema com certeza terá, e adote boas práticas de programação de forma que a manutenção e a escalabilidade da aplicação sejam feitas da forma mais simples e segura possíveis.
Teremos dois motes principais:
Usar ferramentas que não vão ter nenhum custo;
Usar recursos que não necessitam uma grande especialização ou uma curva de aprendizado muito grande;
Para preencher estes dois requisitos iremos usar as seguintes ferramentas:
Visual Web Developer 2008 Express Edition - como ferramenta de desenvolvimento da aplicação web;
SQL Server 2005 Express Edition - como banco de dados
Na verdade eu estarei praticamente traduzindo e adaptando o artigo de Bipin Joshi - Developing a Survey Application, a quem cabem os méritos da criação do sistema. Então vamos ao trabalho...
Eu serei sempre direto e objetivo nas aplicações sem dar muitos detalhes que não sejam pertinentes a própria aplicação. Quando for necessário estarei indicando referências que você deverá consultar para saber mais sobre o assunto abordado.
Desenvolvendo uma aplicação para gerar pesquisas
Uma aplicação de pesquisa captura diversas peças de informação do usuário final e precisa ser flexível e fácil de usar. A aplicação consiste de questões e respostas às questões onde as respostas podem ser do tipo objetivo ou na forma de comentário.
Existem dois tipos de atores que podem interagir com a aplicação : O administrador que monta e cria as pesquisas e o usuário final que dá um retorno respondendo a pesquisa.
Vamos começar definindo os requisitos funcionais do sistema que deve ser o ponto de partida de qualquer sistema de software. Os requisitos funcionais especificam ações que um sistema deve ser capaz de executar, sem levar em consideração restrições físicas.
Especificar um requisito implica em compreender exatamente o que deve ser feito e que se espera receber como resultado do produto final, no caso o software. Podemos classificar os requisitos em :
|
De forma geral a aplicação que iremos criar deverá satisfazer os seguintes requisitos funcionais:
O administrador deverá poder criar uma definição de pesquisa no sistema;
Cada pesquisa consiste de um conjunto de questões. Deverá existir uma página web que permita incluir, modificar e excluir questões e suas opções de resposta;
Uma resposta a uma questão pode ser de 3 tipos : escolha simples, múltiplas escolha ou texto livre;
Dependendo do tipo de resposta será apresentando ao usuário final com radiobuttons , checkboxes ou textboxes multi-line para seleção da sua escolha;
Cada pesquisa possui um certo número de participantes. Deverá existir um página web para gerenciar os participantes e seus endereços de e-mails;
A partir do momento que uma pesquisa estiver pronta com seus participantes e suas questões e alternativas definidas, o administrador deverá ser capaz de enviar um convite para todos os participantes via e-mail.
Ao acessar a URL da pesquisa o participante deverá poder ver todas as questões da pesquisa e suas alternativas;
Ao submeter a pesquisa as respostas deverão ser salvas para a geração de relatórios;
O administrador deverá ser capaz de ver as estatísticas da pesquisa para cada tipo de objetivo;
As páginas do administrador deverão estar protegidas de acesso não autorizado;
Como já foi dito iremos desenvolver esta aplicação usando os recursos disponíveis da partir da ASP .NET 2.0, ADO .NET e SQL Server 2005 Express Edition onde iremos usar os seguintes recursos:
O controle SQL Data Source;
Os controles : GridView, DetailsView e DataList;
As características do MemberShip para segurança;
O controle TreeView para navegação;
Como enviar e-mails;
Os objetos da ADO .NET para executar consultas;
Criando a aplicação para gerar pesquisas
Para começar, abra o Visual Web Developer 2008 e crie um novo web site a partir do menu File-> New Web Site selecionando o template ASP .NET Web Site e informando o nome Pesquisas; Usaremos a linguagem Visual Basic.
|
Após criar o web site clique com o botão direito sobre o nome do projeto e selecione a opção New Folder e informe o nome Admin para a pasta criada;
Todas as páginas do administrador serão armazenadas na pasta Admin. As páginas acessíveis a todos os demais usuários serão armazenadas na pasta raiz.
Criando o esquema do banco de dados
Todos os dados da aplicação serão armazenados no SQL Server 2005. Vamos então incluir um novo banco de dados no web site a partir do menu WebSite opção Add New Item;
A seguir selecione o template SQL Server DataBase e informe o nome Pesquisas.mdf e clique em Add;
|
Será apresentada uma janela de diálogo solicitando que você confirme a geração do banco de dados na pasta App_Data; Clique Sim;
Após isso teremos o banco de dados criado na pasta App_Data do website.
Vamos definir as seguintes tabelas neste banco de dados:
Nome da Tabela |
Descrição |
Pesquisa |
Armazena a definição da pesquisa na forma de: pesquisaID, titulo e descricao; |
Questoes |
Contém uma lista de questões e especifica o tipo de resposta : Escolha Simples (S) , Múltipla Escolha (M) ou Texto (T) para cada questão; |
Alternativas |
Contém as alternativas possíveis para as questões de escolha simples ou múltipla escolha; |
Respostas |
Armazena as respostas das questões; |
Participantes |
Contém uma lista de participantes para uma pesquisa com nome e endereço de e-mail; |
Para criar uma tabela clique duas vezes sobre o banco de dados para abrir a janela DataBase Explorer; em seguida expanda os objetos e selecione o objeto Table e clique com o botão direito do mouse e selecione Add New Table;
A seguir digite os campos definidos para a tabela. No caso da tabela Pesquisa teremos os campos:
pesquisaID - int ;chave primária e definida como do tipo identity sendo assim auto-incremental;
titulo - nvarchar(50)
descricao - nvarchar(150)
A seguir defina as tabelas : Alternativas, Participantes, Questoes e Respostas conforme os campos e os relacionamentos descritos na figura abaixo:
|
Abrindo o DataBase Explorer você deve visualizar as tabelas e os campos do banco de dados Pesquisa.mdf conforme mostrado na figura abaixo:
|
Encerramos aqui esta primeira parte, aguarde a continuação onde irei criar a Master Page e a seção do administrador e definir algumas páginas do projeto.
Veja a continuação deste artigo em : ASP .NET - Sistema para geração de pesquisas II
Referências:
José Carlos Macoratti