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.
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.
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 :
- Funcionais – descrevem as funcionalidades do sistema desejadas pelos clientes ou seja O QUE se espera que o software faça;
- Não-funcionais – São as qualidades e restrições globais do sistema relacionados com manutenção , uso, desempenho, custo , interface, etc…
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; |
| Questões | 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 – 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.








