O usuário encontra a página via pesquisa, link recomendado ou redirecionamento. O usuário clica no link e a página carrega.
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)
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?
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.
Título: Visualização da Informação usando IA
Subtítulo: Estrutura Textual
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:
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:
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:
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:
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:
O usuário encontra a página via pesquisa, link recomendado ou redirecionamento. O usuário clica no link e a página carrega.
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.
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.
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.
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.
O usuário lê apenas o texto e decide que as informações são suficientes sem interagir com o grafo.
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.
- 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.
- 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.
- 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.
Estrutura da Visualização: Relacional
Tipo de Dados: Nominal
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?
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.
Título: Visualização da Informação usando IA
Subtítulo: Estrutura Textual
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:
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:
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:
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:
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:
O usuário encontra a página via pesquisa, link recomendado ou redirecionamento. O usuário clica no link e a página carrega.
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.
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.
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.
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.
O usuário lê apenas o texto e decide que as informações são suficientes sem interagir com o grafo.
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.
- 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.
- 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.
- 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.
Estrutura da Visualização: Relacional
Tipo de Dados: Nominal
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.
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.
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.
- O usuário tem acesso à internet.
- O navegador do usuário suporta HTML5, CSS3 e JavaScript.
- 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.
O usuário encontra a página via pesquisa, link recomendado ou redirecionamento. O usuário clica no link e a página carrega.
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.
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.
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.
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.
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.
- 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.
- 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.
- 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.
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.
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?
Título: Visualização da Informação usando IA
Subtítulo: Estrutura Textual
Descrição: Um grafo que visualiza as inter-relações entre os componentes do sistema de informação.
Funcionalidades:
Descrição: Controles para interagir com o grafo.
Componentes:
Descrição: Um elemento expansível contendo o texto explicativo do grafo.
Funcionalidades:
Descrição: Funcionalidades para salvar a página nos favoritos ou compartilhá-la.
Componentes:
Descrição: Exibição de mensagens de erro se o grafo não carregar corretamente ou se houver um problema técnico.
Componentes:
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 |
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.
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.
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.
- 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.
- 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.
- 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.
Estrutura da Visualização: Relacional
Tipo de Dados: Nominal
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.
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.
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.
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
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);
python app.py
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>
app.py
para o backend Flask.index.html
para o frontend.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é |
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 |
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 |
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/ |
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 |
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 |
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 |