Home -> Livro Aprendizagem -> Visualização

O problema resolvido

Fornecer uma compreensão clara e interativa das inter-relações entre os componentes de um sistema de informação, permitindo ao usuário explorar desde conceitos abstratos até elementos específicos de conjuntos de informações.

Grafo gerado a partir do texto da apresentação (Arrastar as bolas abaixo)

Ir para o grafo

Especificação

Especificação da Visualização e Interação com a Informação usando IA

Pergunta Inicial

Como os diferentes componentes de um sistema de informação estão inter-relacionados, desde conceitos abstratos até elementos específicos de conjuntos de informações?

Objetivo da Visualização

Fornecer uma compreensão clara e interativa das inter-relações entre os componentes de um sistema de informação, permitindo ao usuário explorar desde conceitos abstratos até elementos específicos de conjuntos de informações.

Componentes da Visualização

  • Título e Subtítulo

    Título: Visualização da Informação usando IA

    Subtítulo: Estrutura Textual

  • Grafo Interativo

    Descrição: Visualiza as inter-relações entre os componentes do sistema de informação.

    Componentes: Nós (representando conceitos, sistemas, modelos, processos, etc.), Arestas (representando as relações entre os componentes)

    Funcionalidades Específicas:

    • Arrastar e Soltar: Permite que o usuário rearranje os nós para melhor visualização.
    • Zoom: O usuário pode ajustar o nível de zoom no grafo.
    • Ajuste de Tamanho da Fonte: O usuário pode aumentar ou diminuir o tamanho do texto nos nós e nas arestas.
  • Botões de Controle

    Descrição: Permite ao usuário interagir com o grafo.

    Componentes: Botões para aumentar e diminuir o tamanho da fonte, Botões para ajustar o zoom.

    Funcionalidades Específicas:

    • Botão de Aumento de Fonte: Aumenta o tamanho do texto.
    • Botão de Diminuição de Fonte: Diminui o tamanho do texto.
    • Botão de Zoom In: Aproxima a visualização do grafo.
    • Botão de Zoom Out: Afasta a visualização do grafo.
  • Accordion de Texto Explicativo

    Descrição: Um elemento expansível que contém o texto explicativo do grafo.

    Componentes: Botão "Texto Origem", Seção de Accordion

    Funcionalidades Específicas:

    • Expandir e Colapsar: Permite que o usuário expanda ou colapse o texto explicativo.
    • Rolagem Automática: O botão "Texto Origem" rola a página automaticamente até o accordion.
  • Salvamento e Compartilhamento da Página

    Descrição: Funcionalidades que permitem ao usuário salvar a página nos favoritos ou compartilhá-la.

    Componentes: Botões de Favoritos e Compartilhamento

    Funcionalidades Específicas:

    • Salvar nos Favoritos: Permite que o usuário salve a página nos favoritos do navegador.
    • Compartilhamento: Permite que o usuário compartilhe a página via redes sociais ou outros meios.
  • Mensagens de Erro

    Descrição: Exibição de mensagens de erro se o grafo não carregar corretamente ou se houver um problema técnico.

    Componentes: Seção de Mensagens de Erro

    Funcionalidades Específicas:

    • Detecção de Erro: Detecta problemas técnicos e exibe uma mensagem de erro apropriada.
    • Soluções: Oferece sugestões para resolver o problema (por exemplo, recarregar a página).

Fluxo Principal

  • 1. Usuário Acessa a Página:

    O usuário encontra a página via pesquisa, link recomendado ou redirecionamento. O usuário clica no link e a página carrega.

  • 2. Exploração Inicial:

    O usuário lê o título "Visualização da Informação usando IA" e o subtítulo "Estrutura Textual". O usuário faz uma exploração inicial da página para entender seu conteúdo e propósito.

  • 3. Interação com o Grafo:

    O usuário interage com o grafo interativo, arrastando nós para ver como estão conectados. O usuário usa os botões de controle para ajustar o zoom e o tamanho da fonte dos nós e arestas.

  • 4. Consulta do Texto Explicativo:

    O usuário clica no botão "Texto Origem" para rolar até o accordion com o texto explicativo. O usuário expande o accordion e lê o texto explicativo para entender melhor as conexões mostradas no grafo.

  • 5. Avaliação Final e Saída:

    O usuário decide salvar a página nos favoritos para referência futura ou compartilhar com colegas. O usuário usa o navegador para salvar a página nos favoritos ou compartilhar.

Fluxos Alternativos

  • Fluxo Alternativo 1 - Usuário Não Interage com o Grafo:

    O usuário lê apenas o texto e decide que as informações são suficientes sem interagir com o grafo.

  • Fluxo Alternativo 2 - Problema Técnico:

    Se o grafo não carregar corretamente, o usuário vê uma mensagem de erro e pode tentar recarregar a página ou reportar o problema.

Requisitos Especiais

- A página deve ser responsiva e funcionar em diferentes dispositivos (desktop, tablet, mobile).
- O grafo interativo deve ser fluido e responder rapidamente às ações do usuário.
- O texto explicativo deve ser claro e complementar a visualização gráfica.

Considerações de Segurança

- Proteção contra ataques XSS e CSRF.
- O servidor deve estar protegido contra ataques DDoS.
- Os dados do usuário, se coletados, devem ser protegidos conforme as regulamentações de privacidade.

Considerações de Usabilidade

- A interface deve ser intuitiva e fácil de navegar.
- As interações com o grafo devem ser suaves e sem atrasos perceptíveis.
- O texto explicativo deve ser fácil de encontrar e entender.

Classificação do Grafo

Estrutura da Visualização: Relacional

Tipo de Dados: Nominal

Tecnologia Utilizada

  • HTML5: Para a estrutura da página e organização do conteúdo.
  • CSS3: Para estilização da página, incluindo layout, cores e fontes.
  • JavaScript: Para adicionar interatividade, como arrastar e soltar nós, zoom, e ajuste de tamanho da fonte no grafo.
  • D3.js: Biblioteca JavaScript para manipulação de documentos baseados em dados, usada para criar e manipular o grafo interativo.
  • Biblioteca de IU: (opcional) Pode incluir bibliotecas como React.js ou Vue.js para uma melhor organização do código e interatividade complexa.
  • Servidor Web: Para servir a página e lidar com solicitações HTTP, pode ser um servidor Apache, Nginx ou qualquer servidor web preferido.

Especificação e Design da Visualização

Especificação e Design da Visualização e Interação com a Informação usando IA

Pergunta Inicial

Como os diferentes componentes de um sistema de informação estão inter-relacionados, desde conceitos abstratos até elementos específicos de conjuntos de informações?

Objetivo da Visualização

Fornecer uma compreensão clara e interativa das inter-relações entre os componentes de um sistema de informação, permitindo ao usuário explorar desde conceitos abstratos até elementos específicos de conjuntos de informações.

Componentes da Visualização

  • Título e Subtítulo

    Título: Visualização da Informação usando IA

    Subtítulo: Estrutura Textual

  • Grafo Interativo

    Descrição: Visualiza as inter-relações entre os componentes do sistema de informação.

    Componentes: Nós (representando conceitos, sistemas, modelos, processos, etc.), Arestas (representando as relações entre os componentes)

    Funcionalidades Específicas:

    • Arrastar e Soltar: Permite que o usuário rearranje os nós para melhor visualização.
    • Zoom: O usuário pode ajustar o nível de zoom no grafo.
    • Ajuste de Tamanho da Fonte: O usuário pode aumentar ou diminuir o tamanho do texto nos nós e nas arestas.
  • Botões de Controle

    Descrição: Permite ao usuário interagir com o grafo.

    Componentes: Botões para aumentar e diminuir o tamanho da fonte, Botões para ajustar o zoom.

    Funcionalidades Específicas:

    • Botão de Aumento de Fonte: Aumenta o tamanho do texto.
    • Botão de Diminuição de Fonte: Diminui o tamanho do texto.
    • Botão de Zoom In: Aproxima a visualização do grafo.
    • Botão de Zoom Out: Afasta a visualização do grafo.
  • Accordion de Texto Explicativo

    Descrição: Um elemento expansível que contém o texto explicativo do grafo.

    Componentes: Botão "Texto Origem", Seção de Accordion

    Funcionalidades Específicas:

    • Expandir e Colapsar: Permite que o usuário expanda ou colapse o texto explicativo.
    • Rolagem Automática: O botão "Texto Origem" rola a página automaticamente até o accordion.
  • Salvamento e Compartilhamento da Página

    Descrição: Funcionalidades que permitem ao usuário salvar a página nos favoritos ou compartilhá-la.

    Componentes: Botões de Favoritos e Compartilhamento

    Funcionalidades Específicas:

    • Salvar nos Favoritos: Permite que o usuário salve a página nos favoritos do navegador.
    • Compartilhamento: Permite que o usuário compartilhe a página via redes sociais ou outros meios.
  • Mensagens de Erro

    Descrição: Exibição de mensagens de erro se o grafo não carregar corretamente ou se houver um problema técnico.

    Componentes: Seção de Mensagens de Erro

    Funcionalidades Específicas:

    • Detecção de Erro: Detecta problemas técnicos e exibe uma mensagem de erro apropriada.
    • Soluções: Oferece sugestões para resolver o problema (por exemplo, recarregar a página).

Fluxo Principal

  • 1. Usuário Acessa a Página:

    O usuário encontra a página via pesquisa, link recomendado ou redirecionamento. O usuário clica no link e a página carrega.

  • 2. Exploração Inicial:

    O usuário lê o título "Visualização da Informação usando IA" e o subtítulo "Estrutura Textual". O usuário faz uma exploração inicial da página para entender seu conteúdo e propósito.

  • 3. Interação com o Grafo:

    O usuário interage com o grafo interativo, arrastando nós para ver como estão conectados. O usuário usa os botões de controle para ajustar o zoom e o tamanho da fonte dos nós e arestas.

  • 4. Consulta do Texto Explicativo:

    O usuário clica no botão "Texto Origem" para rolar até o accordion com o texto explicativo. O usuário expande o accordion e lê o texto explicativo para entender melhor as conexões mostradas no grafo.

  • 5. Avaliação Final e Saída:

    O usuário decide salvar a página nos favoritos para referência futura ou compartilhar com colegas. O usuário usa o navegador para salvar a página nos favoritos ou compartilhar.

Fluxos Alternativos

  • Fluxo Alternativo 1 - Usuário Não Interage com o Grafo:

    O usuário lê apenas o texto e decide que as informações são suficientes sem interagir com o grafo.

  • Fluxo Alternativo 2 - Problema Técnico:

    Se o grafo não carregar corretamente, o usuário vê uma mensagem de erro e pode tentar recarregar a página ou reportar o problema.

Requisitos Especiais

- A página deve ser responsiva e funcionar em diferentes dispositivos (desktop, tablet, mobile).
- O grafo interativo deve ser fluido e responder rapidamente às ações do usuário.
- O texto explicativo deve ser claro e complementar a visualização gráfica.

Considerações de Segurança

- Proteção contra ataques XSS e CSRF.
- O servidor deve estar protegido contra ataques DDoS.
- Os dados do usuário, se coletados, devem ser protegidos conforme as regulamentações de privacidade.

Considerações de Usabilidade

- A interface deve ser intuitiva e fácil de navegar.
- As interações com o grafo devem ser suaves e sem atrasos perceptíveis.
- O texto explicativo deve ser fácil de encontrar e entender.

Classificação do Grafo

Estrutura da Visualização: Relacional

Tipo de Dados: Nominal

Tecnologia Utilizada

  • HTML5: Para a estrutura da página e organização do conteúdo.
  • CSS3: Para estilização da página, incluindo layout, cores e fontes.
  • JavaScript: Para adicionar interatividade, como arrastar e soltar nós, zoom, e ajuste de tamanho da fonte no grafo.
  • D3.js: Biblioteca JavaScript para manipulação de documentos baseados em dados, usada para criar e manipular o grafo interativo.
  • Biblioteca de IU: (opcional) Pode incluir bibliotecas como React.js ou Vue.js para uma melhor organização do código e interatividade complexa.
  • Servidor Web: Para servir a página e lidar com solicitações HTTP, pode ser um servidor Apache, Nginx ou qualquer servidor web preferido.

Design

  • Jornada do Usuário (User Journey)

    A jornada do usuário mapeia as etapas que um usuário percorre ao interagir com a visualização, desde o acesso inicial até a saída.

  • Experiência do Usuário (User Experience - UX)

    Foco na usabilidade, acessibilidade e satisfação do usuário ao interagir com a visualização. A UX inclui a facilidade de navegação e a clareza das informações apresentadas.

  • Blueprint

    Diagramas que mostram a arquitetura da informação e como os diferentes componentes se interconectam. Inclui a estrutura do grafo e a organização dos componentes.

Jornada do Usuário

Mapa da Jornada do Usuário

Etapa
Ações
Pensamentos e Sentimentos
Pontos de Contato
Objetivos
Descoberta
- Encontra a página via pesquisa, link recomendado, ou redirecionamento.
- Curiosidade sobre a página.
- Expectativa de encontrar informações úteis.
- Página de resultados de pesquisa.
- Link de recomendação.
- Encontrar informações sobre a inter-relação dos componentes de um sistema de informação.
Exploração Inicial
- Lê o título "Visualização da Informação usando IA".
- Lê o subtítulo "Estrutura Textual".
- Explora a página.
- Interesse nas informações apresentadas.
- Primeiro julgamento sobre a página.
- Página inicial.
- Títulos e subtítulos.
- Avaliar se a página é relevante e vale a pena continuar explorando.
Interação com o Grafo
- Arrasta nós do grafo.
- Ajusta o zoom e o tamanho da fonte usando os botões.
- Curiosidade sobre as conexões entre os componentes.
- Satisfação ao ver a interatividade.
- Potencial frustração se o grafo estiver difícil de manipular.
- Grafo interativo.
- Botões de controle (zoom, ajuste de fonte).
- Compreender as relações entre diferentes componentes do sistema de informação.
Consulta do Texto Explicativo
- Clica no botão "Texto Origem" para rolar até o accordion.
- Expande o accordion para ler o texto explicativo.
- Interesse em entender a explicação detalhada.
- Satisfação ao encontrar informações complementares.
- Botão "Texto Origem".
- Accordion com o texto explicativo.
- Ler e entender a explicação detalhada que deu origem ao grafo.
Avaliação Final e Saída
- Salva a página nos favoritos.
- Compartilha a página com colegas.
- Sai da página.
- Satisfação se a página atendeu às expectativas.
- Desapontamento se a página não foi útil.
- Barra de favoritos do navegador.
- Botões de compartilhamento (se disponíveis).
- Guardar a página para referência futura.
- Compartilhar a página com outros.
- Finalizar a sessão de navegação.

Experiência do Usuário

Mapa da Experiência do Usuário

Etapa
Ações
Pensamentos e Sentimentos
Pontos de Contato
Objetivos
Descoberta
- Encontra a página via pesquisa, link recomendado, ou redirecionamento.
- Curiosidade sobre a página.
- Expectativa de encontrar informações úteis.
- Página de resultados de pesquisa.
- Link de recomendação.
- Encontrar informações sobre a inter-relação dos componentes de um sistema de informação.
Exploração Inicial
- Lê o título "Visualização da Informação usando IA".
- Lê o subtítulo "Estrutura Textual".
- Explora a página.
- Interesse nas informações apresentadas.
- Primeiro julgamento sobre a página.
- Página inicial.
- Títulos e subtítulos.
- Avaliar se a página é relevante e vale a pena continuar explorando.
Interação com o Grafo
- Arrasta nós do grafo.
- Ajusta o zoom e o tamanho da fonte usando os botões.
- Curiosidade sobre as conexões entre os componentes.
- Satisfação ao ver a interatividade.
- Potencial frustração se o grafo estiver difícil de manipular.
- Grafo interativo.
- Botões de controle (zoom, ajuste de fonte).
- Compreender as relações entre diferentes componentes do sistema de informação.
Consulta do Texto Explicativo
- Clica no botão "Texto Origem" para rolar até o accordion.
- Expande o accordion para ler o texto explicativo.
- Interesse em entender a explicação detalhada.
- Satisfação ao encontrar informações complementares.
- Botão "Texto Origem".
- Accordion com o texto explicativo.
- Ler e entender a explicação detalhada que deu origem ao grafo.
Avaliação Final e Saída
- Salva a página nos favoritos.
- Compartilha a página com colegas.
- Sai da página.
- Satisfação se a página atendeu às expectativas.
- Desapontamento se a página não foi útil.
- Barra de favoritos do navegador.
- Botões de compartilhamento (se disponíveis).
- Guardar a página para referência futura.
- Compartilhar a página com outros.
- Finalizar a sessão de navegação.

Blueprint

Etapa
Interação
Frontstage
Backstage
Suporte
Descoberta
- Usuário encontra a página via pesquisa, link recomendado, ou redirecionamento.
- Resultados de pesquisa aparecem.
- SEO otimiza a página para aparecer nos resultados de pesquisa.
- Sistema de SEO.
Exploração Inicial
- Usuário lê o título "Visualização da Informação usando IA".
- Usuário lê o subtítulo "Estrutura Textual".
- Usuário explora a página.
- Página inicial é carregada e exibida.
- Servidor processa a solicitação e envia o conteúdo da página.
- Servidor web.
- Sistema de gerenciamento de conteúdo (CMS).
Interação com o Grafo
- Usuário arrasta nós do grafo.
- Usuário ajusta o zoom e o tamanho da fonte usando os botões.
- Grafo interativo responde aos comandos do usuário.
- JavaScript processa as interações do usuário.
- Bibliotecas JavaScript (D3.js).
Consulta do Texto Explicativo
- Usuário clica no botão "Texto Origem" para rolar até o accordion.
- Usuário expande o accordion para ler o texto explicativo.
- Accordion é expandido e o texto é exibido.
- JavaScript gerencia a animação do accordion.
- Bibliotecas JavaScript.
Avaliação Final e Saída
- Usuário salva a página nos favoritos.
- Usuário compartilha a página com colegas.
- Usuário sai da página.
- Navegador exibe opções para salvar ou compartilhar.
- Navegador gerencia as ações de salvar e compartilhar.
- Navegador.
- Funcionalidade de compartilhamento do sistema operacional.

Caso de Uso

Título: Visualizar e Interagir com a Informação Usando IA
Ator Principal
Usuário da Web
Atores Secundários
Desenvolvedores, Proprietário do Site
Descrição
O usuário deseja encontrar e entender informações sobre a inter-relação dos componentes de um sistema de informação.
Pré-condições

- O usuário tem acesso à internet.
- O navegador do usuário suporta HTML5, CSS3 e JavaScript.

Pós-condições

- O usuário compreende as inter-relações entre os componentes do sistema de informação.
- O usuário pode salvar ou compartilhar a página se achar útil.

Fluxo Principal
1. Usuário Acessa a Página:

O usuário encontra a página via pesquisa, link recomendado ou redirecionamento. O usuário clica no link e a página carrega.

2. Exploração Inicial:

O usuário lê o título "Visualização da Informação usando IA" e o subtítulo "Estrutura Textual". O usuário faz uma exploração inicial da página para entender seu conteúdo e propósito.

3. Interação com o Grafo:

O usuário interage com o grafo interativo, arrastando nós para ver como estão conectados. O usuário usa os botões de controle para ajustar o zoom e o tamanho da fonte dos nós e arestas.

4. Consulta do Texto Explicativo:

O usuário clica no botão "Texto Origem" para rolar até o accordion com o texto explicativo. O usuário expande o accordion e lê o texto explicativo para entender melhor as conexões mostradas no grafo.

5. Avaliação Final e Saída:

O usuário decide salvar a página nos favoritos para referência futura ou compartilhar com colegas. O usuário usa o navegador para salvar a página nos favoritos ou compartilhar.

Fluxos Alternativos
Fluxo Alternativo 1 - Usuário Não Interage com o Grafo:

O usuário lê apenas o texto e decide que as informações são suficientes sem interagir com o grafo.

Fluxo Alternativo 2 - Problema Técnico:

Se o grafo não carregar corretamente, o usuário vê uma mensagem de erro e pode tentar recarregar a página ou reportar o problema.

Requisitos Especiais

- A página deve ser responsiva e funcionar em diferentes dispositivos.
- O grafo interativo deve ser fluido e responder rapidamente às ações do usuário.
- O texto explicativo deve ser claro e complementar a visualização gráfica.

Considerações de Segurança

- Proteção contra ataques XSS e CSRF.
- O servidor deve estar protegido contra ataques DDoS.
- Os dados do usuário, se coletados, devem ser protegidos conforme as regulamentações de privacidade.

Considerações de Usabilidade

- A interface deve ser intuitiva e fácil de navegar.
- As interações com o grafo devem ser suaves e sem atrasos perceptíveis.
- O texto explicativo deve ser fácil de encontrar e entender.

Funcionalidades

Funcionalidades da Página de Visualização da Informação

Nome da Funcionalidade
Descrição
Componentes
Funcionalidades Específicas
Carregamento Inicial da Página
A página deve carregar rapidamente e exibir as informações principais.
Título, Subtítulo, Introdução
Exibição inicial rápida e clara das informações principais.
Grafo Interativo
Visualiza a inter-relação dos componentes de um sistema de informação.
Nós, Arestas, Interações de Arrastar e Soltar
- Arrastar e Soltar: Permite rearranjar os nós.
- Zoom: Ajustar o nível de zoom no grafo.
- Ajuste de Tamanho da Fonte: Aumentar ou diminuir o texto nos nós e arestas.
Botões de Controle
Permite ao usuário interagir com o grafo.
Botões de Aumento/Diminuição de Fonte, Zoom In/Out
- Botão de Aumento de Fonte: Aumenta o tamanho do texto.
- Botão de Diminuição de Fonte: Diminui o tamanho do texto.
- Botão de Zoom In: Aproxima a visualização do grafo.
- Botão de Zoom Out: Afasta a visualização do grafo.
Accordion de Texto Explicativo
Elemento expansível que contém o texto explicativo do grafo.
Botão "Texto Origem", Seção de Accordion
- Expandir e Colapsar: Permite expandir ou colapsar o texto.
- Rolagem Automática: O botão rola a página até o accordion.
Salvamento e Compartilhamento da Página
Permite ao usuário salvar a página nos favoritos ou compartilhá-la.
Botões de Favoritos e Compartilhamento
- Salvar nos Favoritos: Permite salvar a página.
- Compartilhamento: Permite compartilhar a página via redes sociais.
Mensagens de Erro
Exibição de mensagens de erro se o grafo não carregar corretamente ou se houver um problema técnico.
Seção de Mensagens de Erro
- Detecção de Erro: Detecta problemas técnicos e exibe mensagens.
- Soluções: Oferece sugestões para resolver o problema.

Projeto

Projeto de Visualização: Visualização da Informação usando IA

Descrição Geral

O objetivo deste projeto é desenvolver uma visualização interativa que permita aos usuários explorar e compreender como os diferentes componentes de um sistema de informação estão inter-relacionados, desde conceitos abstratos até elementos específicos de conjuntos de informações. A visualização será baseada em um grafo interativo que oferece funcionalidades como zoom, ajuste de tamanho da fonte e interação direta com os nós do grafo.

Pergunta Inicial

Como os diferentes componentes de um sistema de informação estão inter-relacionados, desde conceitos abstratos até elementos específicos de conjuntos de informações?

Objetivos do Projeto

  • Compreensão Interativa: Permitir que os usuários explorem e entendam as inter-relações entre os componentes de um sistema de informação.
  • Facilidade de Navegação: Proporcionar uma interface intuitiva e fácil de usar, com controles interativos para manipulação do grafo.
  • Flexibilidade de Visualização: Oferecer funcionalidades que permitam aos usuários ajustar a visualização conforme necessário, incluindo zoom e ajuste de tamanho da fonte.

Componentes Principais do Projeto

  • Título e Subtítulo

    Título: Visualização da Informação usando IA

    Subtítulo: Estrutura Textual

  • Grafo Interativo

    Descrição: Um grafo que visualiza as inter-relações entre os componentes do sistema de informação.

    Funcionalidades:

    • Arrastar e Soltar: Permite que o usuário rearranje os nós.
    • Zoom: Permite que o usuário ajuste o nível de zoom.
    • Ajuste de Tamanho da Fonte: Permite que o usuário ajuste o tamanho do texto nos nós e arestas.
  • Botões de Controle

    Descrição: Controles para interagir com o grafo.

    Componentes:

    • Botões para aumentar e diminuir o tamanho da fonte.
    • Botões para ajustar o zoom.
  • Accordion de Texto Explicativo

    Descrição: Um elemento expansível contendo o texto explicativo do grafo.

    Funcionalidades:

    • Expandir e Colapsar: Permite que o usuário expanda ou colapse o texto.
    • Rolagem Automática: O botão "Texto Origem" rola automaticamente para o accordion.
  • Salvamento e Compartilhamento da Página

    Descrição: Funcionalidades para salvar a página nos favoritos ou compartilhá-la.

    Componentes:

    • Botões de Favoritos e Compartilhamento.
  • Mensagens de Erro

    Descrição: Exibição de mensagens de erro se o grafo não carregar corretamente ou se houver um problema técnico.

    Componentes:

    • Detecção de Erro: Detecta problemas técnicos e exibe uma mensagem apropriada.
    • Soluções: Oferece sugestões para resolver o problema (ex: recarregar a página).

Jornada do Usuário

  • Usuário Acessa a Página: O usuário encontra a página via pesquisa ou link recomendado e clica para carregar.
  • Exploração Inicial: O usuário lê o título e subtítulo e faz uma exploração inicial para entender o propósito da página.
  • Interação com o Grafo: O usuário interage com o grafo, arrastando nós e usando os botões de controle para ajustar a visualização.
  • Consulta do Texto Explicativo: O usuário clica no botão "Texto Origem" para rolar até o accordion e lê o texto explicativo.
  • Avaliação Final e Saída: O usuário decide salvar a página nos favoritos ou compartilhar.

Fases, Etapas e Entregas do Projeto

Fase Etapa Entregas
1. Planejamento Definição de Requisitos Documento de Requisitos, Mapa da Jornada do Usuário
1. Planejamento Análise de Viabilidade Relatório de Viabilidade
2. Design Criação do Wireframe Wireframes de Baixa Fidelidade
2. Design Desenvolvimento do Prototipo Protótipos de Alta Fidelidade
3. Desenvolvimento Implementação do Front-end Código HTML/CSS/JavaScript, Integração com D3.js
3. Desenvolvimento Implementação do Back-end Configuração do Servidor Web
4. Testes Testes de Usabilidade Relatório de Testes de Usabilidade
4. Testes Testes de Performance Relatório de Testes de Performance
5. Lançamento Deploy Página no Servidor, Manual do Usuário
6. Manutenção Suporte e Atualizações Registro de Problemas, Atualizações Periódicas

Tecnologia Utilizada

  • HTML5: Para a estrutura da página e organização do conteúdo.
  • CSS3: Para estilização da página, incluindo layout, cores e fontes.
  • JavaScript: Para adicionar interatividade, como arrastar e soltar nós, zoom, e ajuste de tamanho da fonte no grafo.
  • D3.js: Biblioteca JavaScript para manipulação de documentos baseados em dados, usada para criar e manipular o grafo interativo.
  • Biblioteca de IU (opcional): Pode incluir bibliotecas como React.js ou Vue.js para uma melhor organização do código e interatividade complexa.
  • Servidor Web: Para servir a página e lidar com solicitações HTTP, pode ser um servidor Apache, Nginx ou qualquer servidor web preferido.

Design

  • Jornada do Usuário (User Journey)

    A jornada do usuário mapeia as etapas que um usuário percorre ao interagir com a visualização, desde o acesso inicial até a saída.

  • Experiência do Usuário (User Experience - UX)

    Foco na usabilidade, acessibilidade e satisfação do usuário ao interagir com a visualização. A UX inclui a facilidade de navegação e a clareza das informações apresentadas.

  • Blueprint

    Diagramas que mostram a arquitetura da informação e como os diferentes componentes se interconectam. Inclui a estrutura do grafo e a organização dos componentes.

Requisitos Especiais

- A página deve ser responsiva e funcionar em diferentes dispositivos (desktop, tablet, mobile).
- O grafo interativo deve ser fluido e responder rapidamente às ações do usuário.
- O texto explicativo deve ser claro e complementar a visualização gráfica.

Considerações de Segurança

- Proteção contra ataques XSS e CSRF.
- O servidor deve estar protegido contra ataques DDoS.
- Os dados do usuário, se coletados, devem ser protegidos conforme as regulamentações de privacidade.

Considerações de Usabilidade

- A interface deve ser intuitiva e fácil de navegar.
- As interações com o grafo devem ser suaves e sem atrasos perceptíveis.
- O texto explicativo deve ser fácil de encontrar e entender.

Classificação do Grafo

Estrutura da Visualização: Relacional

Tipo de Dados: Nominal

Aprendizagem de Uso

Trilha de Aprendizado - Visualização da Informação usando IA

Introdução à Trilha de Aprendizado

Objetivo: Fornecer uma compreensão clara e passo a passo de como os diferentes componentes de um sistema de informação estão inter-relacionados. Capacitar os usuários a interagir de forma eficaz com o grafo interativo, utilizando todas as funcionalidades disponíveis.

Estrutura da Trilha: A trilha será dividida em módulos sequenciais, cada um focando em aspectos específicos do grafo e das suas funcionalidades.

Módulo 1: Conceitos Básicos

  • Objetivo: Introduzir os conceitos fundamentais da visualização de informações e do grafo interativo.
  • Conteúdo:

    • Introdução à Visualização de Informações: Definição e importância da visualização de informações.
    • O que é um Grafo? Definição de grafo, nós e arestas.
    • Estrutura do Grafo da Visualização da Informação usando IA: Explicação dos componentes do grafo (conceitos, sistemas, modelos, processos, etc.).

Módulo 2: Interação com o Grafo

  • Objetivo: Ensinar como interagir com o grafo, incluindo arrastar e soltar nós, zoom e ajuste de tamanho da fonte.
  • Conteúdo:

    • Interação Básica: Como arrastar e soltar nós para reorganizar o grafo.
    • Funcionalidades de Zoom: Como utilizar os botões de zoom in e zoom out.
    • Ajuste de Tamanho da Fonte: Como aumentar e diminuir o tamanho do texto nos nós e arestas.

Módulo 3: Exploração do Grafo

  • Objetivo: Guiar o usuário na exploração detalhada do grafo para entender as inter-relações entre os componentes.
  • Conteúdo:

    • Navegação no Grafo: Como navegar pelo grafo para explorar diferentes componentes.
    • Relacionamentos entre Componentes: Como identificar e compreender as relações entre conceitos, sistemas, modelos, processos, etc.
    • Casos de Uso Práticos: Exemplos práticos de como o grafo pode ser utilizado para responder perguntas específicas sobre o sistema de informação.

Módulo 4: Consulta do Texto Explicativo

  • Objetivo: Ensinar como acessar e interpretar o texto explicativo associado ao grafo.
  • Conteúdo:

    • Acesso ao Accordion de Texto: Como utilizar o botão "Texto Origem" para rolar até o accordion.
    • Expansão e Colapso do Texto: Como expandir e colapsar o texto explicativo.
    • Interpretação do Texto Explicativo: Dicas para interpretar o texto e relacioná-lo com o grafo.

Módulo 5: Funcionalidades Adicionais

  • Objetivo: Explorar funcionalidades adicionais, como salvamento e compartilhamento da página, e lidar com mensagens de erro.
  • Conteúdo:

    • Salvamento e Compartilhamento: Como salvar a página nos favoritos e compartilhar via redes sociais.
    • Mensagens de Erro: Como identificar e resolver problemas técnicos utilizando as mensagens de erro fornecidas.

Módulo 6: Revisão e Testes

  • Objetivo: Revisar os conhecimentos adquiridos e realizar testes de compreensão e usabilidade.
  • Conteúdo:

    • Revisão dos Módulos Anteriores: Recapitulação dos principais pontos abordados nos módulos anteriores.
    • Testes de Compreensão: Questões e exercícios para testar o entendimento do usuário.
    • Feedback e Melhorias: Coleta de feedback dos usuários e sugestões de melhorias para a trilha de aprendizado e a visualização.

Aprendizagem de construção

Trilha de Aprendizado - Construção de Grafo e Página Web com ChatGPT-4

Introdução à Trilha de Aprendizado

Objetivo: Capacitar os usuários a construir um grafo e uma página web interativa a partir de uma pergunta específica usando ChatGPT-4. Ensinar as etapas necessárias, desde a análise da pergunta até a implementação e publicação da página.

Estrutura da Trilha: A trilha será dividida em módulos sequenciais, cada um focando em aspectos específicos do processo de construção do grafo e da página web com a ajuda do ChatGPT-4.

Módulo 1: Análise da Pergunta com ChatGPT-4

  • Objetivo: Ensinar como usar ChatGPT-4 para analisar a pergunta inicial e identificar os componentes e relacionamentos relevantes.
  • Conteúdo:

    • Compreensão da Pergunta: Usar ChatGPT-4 para analisar a pergunta.
    • Identificação dos Componentes: Usar ChatGPT-4 para listar e definir os componentes chave.
    • Definição dos Relacionamentos: Usar ChatGPT-4 para estabelecer os relacionamentos entre os componentes.

Módulo 2: Design do Grafo com ChatGPT-4

  • Objetivo: Ensinar como projetar a estrutura do grafo e definir a visualização com a ajuda do ChatGPT-4.
  • Conteúdo:

    • Estrutura do Grafo: Usar ChatGPT-4 para definir nós e arestas.
    • Ferramentas de Design: Introdução ao uso de ferramentas como D3.js, guiado pelo ChatGPT-4.
    • Layout do Grafo: Escolher um layout adequado com sugestões do ChatGPT-4.

Módulo 3: Implementação do Grafo com ChatGPT-4

  • Objetivo: Ensinar como implementar o grafo utilizando HTML, CSS e JavaScript, com a orientação do ChatGPT-4.
  • Conteúdo:

    • Configuração do Ambiente de Desenvolvimento: Configuração do ambiente com HTML, CSS e JavaScript com instruções do ChatGPT-4.
    • Criação do Grafo com D3.js: Codificação do grafo usando D3.js, seguindo as instruções fornecidas pelo ChatGPT-4.
    • Adição de Interatividade: Implementação de funcionalidades como arrastar e soltar, zoom, e ajuste de tamanho da fonte, guiado pelo ChatGPT-4.

Módulo 4: Construção da Página Web com ChatGPT-4

  • Objetivo: Ensinar como construir a página web que irá hospedar o grafo interativo com a ajuda do ChatGPT-4.
  • Conteúdo:

    • Estrutura HTML: Criação da estrutura básica da página com HTML5, guiada pelo ChatGPT-4.
    • Estilização com CSS: Aplicação de estilos utilizando CSS3 para uma apresentação atraente e funcional, com sugestões do ChatGPT-4.
    • Integração do Grafo: Integração do grafo D3.js na página web, com a orientação do ChatGPT-4.

Módulo 5: Adição de Funcionalidades Adicionais com ChatGPT-4

  • Objetivo: Ensinar como adicionar funcionalidades extras à página web, como salvamento, compartilhamento e mensagens de erro, com a ajuda do ChatGPT-4.
  • Conteúdo:

    • Botões de Controle: Implementação de botões para aumentar/diminuir o tamanho da fonte e ajustar o zoom, guiado pelo ChatGPT-4.
    • Accordion de Texto Explicativo: Adição de um accordion para exibir o texto explicativo, com instruções do ChatGPT-4.
    • Mensagens de Erro: Implementação de detecção de erros e exibição de mensagens apropriadas, com a ajuda do ChatGPT-4.

Módulo 6: Testes e Publicação com ChatGPT-4

  • Objetivo: Ensinar como testar e publicar a página web com a orientação do ChatGPT-4.
  • Conteúdo:

    • Testes de Usabilidade: Realização de testes para garantir a usabilidade e funcionalidade da página, com sugestões do ChatGPT-4.
    • Testes de Performance: Verificação da performance da página para garantir um carregamento rápido e interação fluida, com a orientação do ChatGPT-4.
    • Publicação da Página: Publicação da página em um servidor web, guiada pelo ChatGPT-4.
Ambiente e Fluxo de Trabalho

Ambiente de Trabalho

O ambiente de trabalho consiste em um iMac para desenvolvimento local e um provedor de internet para hospedar o site na rede. O site é acessado através de um navegador de internet usando um domínio .com.

Pré-requisitos

  • Python
  • Flask
  • spaCy
  • NetworkX
  • Editor de Código (VSCode, Sublime Text, etc.)
  • Node.js e npm (opcional)

Fluxo de Trabalho Detalhado

1. Desenvolvimento Local no iMac

Instalar e configurar o ambiente de desenvolvimento no iMac.

                            # Instalar Python e Pip
                            python --version
                            pip --version

                            # Criar e ativar um ambiente virtual
                            python -m venv myenv
                            source myenv/bin/activate  # No Windows use `myenv\Scripts\activate`

                            # Instalar as bibliotecas necessárias
                            pip install flask spacy networkx
                            python -m spacy download en_core_web_sm
                        

2. Configuração do Backend

Crie o arquivo app.py com o seguinte conteúdo:

                            from flask import Flask, request, jsonify
                            import spacy
                            import networkx as nx
                            from networkx.readwrite import json_graph

                            app = Flask(__name__)
                            nlp = spacy.load('en_core_web_sm')

                            def text_to_graph(text):
                                doc = nlp(text);
                                G = nx.DiGraph();

                                for ent in doc.ents:
                                    G.add_node(ent.text, label=ent.label_);
                                
                                for sent in doc.sents:
                                    for token in sent:
                                        if token.dep_ in ('nsubj', 'dobj'):
                                            G.add_edge(token.head.text, token.text, label=token.dep_);
                                
                                return G;

                            @app.route('/update_graph', methods=['POST'])
                            def update_graph():
                                text = request.json.get('text');
                                G = text_to_graph(text);
                                
                                graph_data = json_graph.node_link_data(G);
                                return jsonify(graph_data);

                            if __name__ == '__main__':
                                app.run(debug=True);
                                                

3. Executar o Backend Localmente

                            python app.py
                                                

4. Configuração do Frontend

Crie o arquivo index.html com o seguinte conteúdo:

                            <!DOCTYPE html>
                            <html lang="en">
                            <head>
                                <meta charset="UTF-8">
                                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                                <title>Grafo Interativo</title>
                                <style>
                                    #graph {
                                        width: 100%;
                                        height: 600px;
                                        border: 1px solid #ccc;
                                    }
                                </style>
                            </head>
                            <body>
                                <h1>Grafo Interativo</h1>
                                <textarea id="input-text" rows="10" cols="50">Digite seu texto aqui...</textarea>
                                <button id="update-button">Atualizar Grafo</button>
                                <div id="graph"></div>
                                
                                <script src="https://d3js.org/d3.v5.min.js"></script>
                                <script>
                                    document.getElementById('update-button').addEventListener('click', function() {
                                        var text = document.getElementById('input-text').value;

                                        fetch('/update_graph', {
                                            method: 'POST',
                                            headers: {
                                                'Content-Type': 'application/json'
                                            },
                                            body: JSON.stringify({ text: text })
                                        })
                                        .then(response => response.json())
                                        .then(data => {
                                            updateGraph(data);
                                        });
                                    });

                                    function updateGraph(data) {
                                        var svg = d3.select("#graph").html("").append("svg")
                                            .attr("width", "100%")
                                            .attr("height", "100%")
                                            .call(d3.zoom().on("zoom", function () {
                                                svg.attr("transform", d3.event.transform)
                                            }))
                                            .append("g");

                                        var width = document.getElementById('graph').clientWidth;
                                        var height = document.getElementById('graph').clientHeight;

                                        var simulation = d3.forceSimulation()
                                            .force("link", d3.forceLink().id(function (d) { return d.id; }).distance(150))
                                            .force("charge", d3.forceManyBody().strength(-300))
                                            .force("center", d3.forceCenter(width / 2, height / 2));

                                        var link = svg.append("g")
                                            .attr("class", "links")
                                            .selectAll("line")
                                            .data(data.links)
                                            .enter().append("line")
                                            .attr("stroke-width", 2);

                                        var node = svg.append("g")
                                            .attr("class", "nodes")
                                            .selectAll("g")
                                            .data(data.nodes)
                                            .enter().append("g")
                                            .call(d3.drag()
                                                .on("start", dragstarted)
                                                .on("drag", dragged)
                                                .on("end", dragended));

                                        node.append("circle")
                                            .attr("r", 10)
                                            .attr("fill", "#69b3a2");

                                        node.append("text")
                                            .attr("x", 12)
                                            .attr("dy", ".35em")
                                            .text(function (d) { return d.id; });

                                        simulation
                                            .nodes(data.nodes)
                                            .on("tick", ticked);

                                        simulation.force("link")
                                            .links(data.links);

                                        function ticked() {
                                            link
                                                .attr("x1", function (d) { return d.source.x; })
                                                .attr("y1", function (d) { return d.source.y; })
                                                .attr("x2", function (d) { return d.target.x; })
                                                .attr("y2", function (d) { return d.target.y; });

                                            node
                                                .attr("transform", function (d) {
                                                    return "translate(" + d.x + "," + d.y + ")";
                                                });
                                        }

                                        function dragstarted(d) {
                                            if (!d3.event.active) simulation.alphaTarget(0.3).restart();
                                            d.fx = d.x;
                                            d.fy = d.y;
                                        }

                                        function dragged(d) {
                                            d.fx = d3.event.x;
                                            d.fy = d3.event.y;
                                        }

                                        function dragended(d) {
                                            if (!d3.event.active) simulation.alphaTarget(0);
                                            d.fx = null;
                                            d.fy = null;
                                        }
                                    }
                                </script>
                            </body>
                            </html>
                        

Fluxo de Trabalho Resumido

1. Instalação Local

  • Instale Python, Flask, spaCy e NetworkX.
  • Crie e configure app.py para o backend Flask.
  • Crie e configure index.html para o frontend.

2. Execução Local

  • Inicie o servidor Flask.
  • Teste a aplicação localmente.

3. Implantação no Provedor

  • Faça upload dos arquivos do backend e frontend para o servidor do provedor.
  • Configure o servidor web para executar a aplicação Flask.
  • Ajuste as URLs no frontend conforme necessário.

4. Teste em Produção

  • Acesse o site pelo domínio .com.
  • Verifique a funcionalidade da aplicação.

Mapa da Jornada do Usuário

Etapa Ação / Tarefa Pensamentos / Perguntas Sentimentos Pontos de Contato
Acessar Página Digita a URL do site e acessa a página. "Será que a página está carregando?" Curiosidade Navegador Web
Visualizar Cabeçalho Observa o logo e o menu. "O que há neste site?" Interesse Cabeçalho, Menu
Alternar Modo Escuro Clica no ícone de meia lua. "Será que o modo escuro é melhor?" Curiosidade, Satisfação Ícone de Meia Lua
Navegar pelo Índice Clica em itens do índice. "Quero ver o conteúdo detalhado." Interesse Índice, Seções
Ler Conteúdo Lê o conteúdo da seção selecionada. "Isso é útil para mim?" Engajamento, Satisfação Conteúdo, Seções
Usar Modo Responsivo Clica no menu hambúrguer. "Posso ver o índice completo?" Facilidade, Conveniência Menu Hambúrguer, Índice
Visualizar Rodapé Vê informações de rodapé. "Quem fez essa página?" Satisfação Rodapé

Ferramentas

Kit Ferramentas

Kit Ferramentas

Referências

Documentação, Aprendizagem e conceitos

Aprendizagem

Conceitos

Página Web

Página Web

Bibliografia

Livros

Autor Título Editor Ano Vendedor
MEIRELLES, Isabel Design for Information Rockport Publishers 2013 Amazon
WARE, Colin Information Visualization: Perception for Design Morgan Kaufmann 2004 Amazon

Apostilas

Autor Título Universidade/Curso Ano
SILVA, João Apostila de Visualização de Dados Universidade XYZ 2020
OLIVEIRA, Maria Introdução à D3.js Curso Online de Data Science 2021

Sites Visitados

Autor/Organização Site Descrição Disponível em
D3.js D3.js - Data-Driven Documents Biblioteca JavaScript para visualização de dados https://d3js.org/
W3Schools W3Schools Recursos de aprendizado para desenvolvimento web https://www.w3schools.com/
MDN Web Docs MDN Web Docs Documentação e tutoriais sobre desenvolvimento web https://developer.mozilla.org/

Artigos

Autor Título Publicação Ano Endereço
TUFTE, Edward The Visual Display of Quantitative Information Graphics Press 1983 Link
ENGEBRETSEN, Martin; KENNEDY, Helen Data Visualization in Society Amsterdam University Press 2020 Link

Apresentações PPT

Autor Título Evento Ano Endereço
GONÇALVES, Pedro Visualização de Dados com D3.js Workshop de Data Science 2019 Local
FERNANDES, Ana Técnicas Avançadas de Visualização de Informação Congresso Brasileiro de Informática 2018 Local

Apresentações PDF

Autor Título Evento Ano Endereço
SOUZA, Carla Introdução à Visualização de Dados Seminário de Tecnologia da Informação 2020 Local
LIMA, Roberto Ferramentas Modernas de Visualização Fórum de Inovação Tecnológica 2021 Local

Glossário

  1. Glossário Geral :
    • Glossário de Termos