Last edited on 2000-03-15 05:50:42 by stolfi

MC726 2000/1 - Projeto

Especificação do produto

Generalidades

Na aula #3, após a decidir que o projeto seria uma planta inteligente da cidade, passamos a discutir a especificação do mesmo, do ponto de vista do usuário.

Adiantando um pouco o cronograma, discutimos na aula #3 também as bases de dados necessárias para o funcionamento do programa, e rascunhamos a divisão do mesmo em módulos.

A especificação do produto continuou sendo aprimorada e detalhada nas aulas seguites, em paralelo com a definição do conteúdo da base de dados.

Teoricamente, a base de dados e a estrutura do software só deveriam ser abordadas depois que a funcionalidade do produto estivesse completamente especificada. Entretanto, neste caso foi necessário fazer uma exploração preliminar dessas etapas para avaliar a viabilidade técnica do projeto, e estimar a complexidade da implementação.

Além disso, na prática verifica-se que muitos produtos de informática são "definidos pela tecnologia" (technology driven) --- ou seja, sua funcionalidade é determinada mais pelo possível do que pelo desejável. Nesses casos, não faz sentido separar a especificação do produto e o projeto da implementação --- pelo menos nas etapas iniciais.

Descrição geral do produto

O conceito básico do produto é uma ferramenta com interface gráfica, que apresenta na tela uma parte do mapa de ruas de uma cidade. A interface deve permitir navegação (mudança da área exibida) e zoom (mudança da escala).

A "inteligência" do produto estaria em funções de consulta e aconselhamento que exigem processamento não trivial das informações contidas na planta, como por exemplo determinação da rota mais curta entre dois pontos, ou listagem de serviços espcíficos (hospitais, restaurantes, lojas, etc.) em função da distância a determinado ponto.

Modo de uso

O produto pode ser "embalado" de várias formas:

  1. Auto-contido: um pacote de software de prateleira, constituído de uma base de dados, e um aplicativo que roda inteiramente no computador do usuário.
  2. Cliente-servidor: uma arquitetura voltada para uma rede local, consistindo de um programa-servidor que fica rodando permanentemente numa máquina central onde está a base de dados; e de um programa-cliente que roda em qualquer máquina e implementa a interface gráfica com o usuário. O cliente obtém as informações necessarias consultando o servidor através da rede local, usando um protocolo especializado.
  3. Serviço Internet: nesta arquitetura, a base de dados pode ficar em qualquer lugar do mundo, e o acesso ao serviço é feito através de um browser comum, possivelmente incrementado por applets. A parte principal do software roda na máquina remota, e é acionado pelo servidor WWW da mesma através do mecanismo cgi-bin ou equivalente.

A escolha entre estas três opções não precisa ser feita agora, pois a parte principal do software será essencialmente a mesma em qualquer caso. Na verdade, é importante estruturar o software de tal modo que seja possível trocar a forma de acesso sem mexer nos módulos que implementam as funções lógicas (caminho mais curto, localização de serviços, etc.)

Detalhamento das funções

A COMPLETAR

Last edited on 2000-03-09 18:19:47 by stolfi