VB .NET - Curso Prático ADO .NET - Desenvolvendo uma aplicação : Análise e Requisitos - I


Vamos iniciar um curso prático onde vou mostrar como desenvolver uma pequena aplicação para uma locadora de filmes usando ADO .NET na linguagem Visual Basic .NET ou VB .NET.

O público alvo do curso são programadores que estão iniciando com a linguagem VB .NET e portanto iremos dar um tratamento em nível básico a intermediário.

Vamos desenvolver um projeto Windows Forms onde o aluno aprenderá como criar uma aplicação VB .NET para um pequena empresa que vende filmes. A aplicação será projetada para ser utilizada pelos clientes e administradores da empresa onde teremos:

Os clientes que visitam as lojas poderão usar a aplicação para realizar as seguintes tarefas:

O administrador/funcionário da empresa poderá usar este aplicativo para realizar as seguintes tarefas:

A aplicação Inicial será um aplicativo Windows Forms desenvolvida usando o Visual Basic .NET e a tecnologia ADO .NET. Este aplicativo armazena todos os cliente e detalhes específicos de filmes em um banco de dados Microsoft SQL Server.

O principal motivo para um software existir e atender a uma necessidade. Então a primeira coisa que deve ser feita no desenvolvimento de software e elencar os requisitos:

Os requisitos essenciais utilizados para criar as aplicação são:

Vamos mostrar também como escrever código para adicionar funcionalidades aos diversos formulários do aplicativo.

A aplicação será desenvolvida para um pequena empresa de vídeo que vende vídeos de filmes e também fornece informações sobre os filmes. A empresa possui uma rede de lojas em várias cidades.

Cada loja da empresa fornece informações sobre os filmes em catálogos, e os clientes através dos catálogos pesquisam informações sobre os filmes de interesse. Depois de selecionar um filme, um cliente pode comprar o filme em DVD ou Blu-Ray,

O sistema deverá automatizar o processo de apresentação das informações sobre os filmes facilitando a compra do filme pelo cliente.

Dessa forma ao visitar qualquer loja o cliente deve ser capaz de usar um computador e acessar a aplicação que fornece todas as informações relacionadas a um filme, como o nome do filme, seu elenco, o nome do diretor. Usando esta informação, o cliente pode, então, decidir se quer ou não comprar o filme.

Além disso, os clientes devem ser capazes de procurar um filme com base em alguns critérios, tais como o seu nome, diretor ou elenco. Os clientes também devem ser capazes de exibir detalhes sobre uma filme específico, ator ou diretor. Esta informação é armazenada em um banco de dados relacional. A criação de uma aplicação desktop front-end é a forma mais rápida e econômica de fornecer uma solução simples com interface interativa.

Em uma segunda fase do projeto o desenvolvimento de uma aplicação web que utilize as informações armazenadas deve ser considerada.

Mas porque isso é realmente necessário ?

O desenvolvimento de um projeto de software realmente começa quando existe uma necessidade de desenvolver ou alterar significativamente um sistema existente. No caso da nossa empresa fictícia, existe uma necessidade de recuperar os clientes perdidos no mercado de venda de filmes.

Dessa forma a empresa precisa alterar o seu sistema atual que é feito usando catálogos impressos e fichas manuais para armazenar dados de filmes e clientes.

O ciclo de vida de desenvolvimento de um projeto envolve três fases:

  1. Projeto de iniciação
  2. Execução do projeto
  3. Projeto de implantação

Na fase de iniciação do projeto, um plano de projeto completo está preparado. Este plano apresenta as tarefas a serem executadas durante o ciclo de vida do projeto. Ele também identifica os membros da equipe e atribui responsabilidades a eles com base em suas habilidades.

Na fase de execução do projeto, a equipe desenvolve a aplicação desejada. Como esta é a fase mais elaborada em termos de custo e tempo de projeto, esta fase pode ser adicionalmente dividida nas seguintes etapas:

A fase final do ciclo de vida do projeto, conhecida com a fase de implantação do projeto e quando o aplicativo é implantado no cliente. Além disso, o suporte deverá prestado ao cliente por um determinado período de tempo para cuidar de todos os erros que possam ocorrer na aplicação.

Análise de Requisitos

"It's easy to walk on water and develop software from specifications, when both are frozen."

Um requisito é uma funcionalidade que sistema deverá executar. O levantamento de requisitos pode ser feito de diversas formas como: entrevistas, questionários, observando o sistema atual , observando sistemas parecidos já existentes, etc.

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

Exemplos de requisitos funcionais:

  • O sistema deve possibilitar o cadastramento dos dados pessoais dos clientes;
  • O sistema deve emitir relatórios gerenciais;
  • O sistema deve permitir a baixa automática do estoque quando da venda de um produto;
  • A Norma ISO/IEC 9126 define seis características de qualidade de software que devem ser avaliadas:

    • Funcionalidade (finalidade do produto);
    • Usabilidade (esforço para utilizar, aprender o produto);
    • Confiabilidade (freqüência de falhas, recuperabilidade);
    • Eficiência (característica relacionada ao desempenho);
    • Manutenibilidade (esforço necessário para modificar);
    • Portabilidade (capacidade de transferir o produto para outros ambientes).

    Exemplos de requisitos não funcionais:

  • tempo de resposta do sistema não deve ultrapassar 10 segundos;
  • software deve ser operacionalizado no sistema Windows;
  • O banco de dados usado deverá ser o Oracle;
  • Como o nome sugere, durante a fase de análise de requisitos, a equipe analisa vários requisitos que precisam ser cumpridos pela aplicação. Para isso, a equipe de trabalho estuda vários outros sistemas existentes parecidos que já estão sendo usados pelos concorrentes. Além disso, a equipe também faz entrevistas com vários clientes que utilizam as lojas já automatizadas.

    Com o resultado, temos a seguir um resumo dos requisitos que foram identificados para a nossa aplicação de venda de filmes que está será criada:

    A aplicação deverá :

    Depois de analisar esses requisitos, a equipe de trabalho decidiu fazer dois módulos para a aplicação:

    1. Módulo Cliente
    2. Módulo de Administração (implementação parcial)

    Os clientes irão usar o módulo cliente para procurar os filmes no banco de dados obtendo assim as informações necessárias. Eles também poderão procurar informações específicas através dos vários critérios e sendo assim capazes de adquirir os filmes.

    Os administradores do sistema da empresa usarão o módulo Administração para manter o banco de dados atualizado. Os seguintes requisitos serão abordados pelo módulo Cliente:

    Os seguintes requisitos serão abordados pelo módulo de Administração:

    Temos assim uma visão geral das principais funcionalidades que o nosso sistema deverá possuir e na próxima parte irei abordar o assunto diagramas de caso de uso que serão usados para representar as funcionalidades do sistema.

    Você pode notar que eu estou trabalhando com um escopo reduzido de funcionalidades para não tornar a aplicação muito complexa e extensa. Nosso objetivo é mostrar as funcionalidades básicas e abordar os principais conceitos da ADO .NET que podemos usar para criar uma aplicação funcional.

    Como diz o ditado : "primeiro o arroz com feijão, depois o camarão..."

    Na próxima parte veremos alguns conceitos sobre UML- Unified Modeling Language,

    Referências:


    José Carlos Macoratti