Last edited on 2000-03-15 05:50:42 by stolfi
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.
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.
O produto pode ser "embalado" de várias formas:
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.)
Last edited on 2000-03-09 18:19:47 by stolfi