Desenvolvimento de uma Interface Gráfica para o Programa...

33
Desenvolvimento de uma Interface Gráfica para o Programa FastComp MESTRADO EM M MESTRADO EM M É É TODOS COMPUTACIONAIS TODOS COMPUTACIONAIS EM CIÊNCIAS E ENGENHARIA EM CIÊNCIAS E ENGENHARIA Patrícia C. T. Gonçalves Licenciada em Física/Matemática Aplicada (Astronomia) Orientador João Manuel R. S. Tavares Professor Auxiliar do Departamento de Engenharia Mecânica e Gestão Industrial da Faculdade de Engenharia da Universidade do Porto Co-orientador Pedro Manuel P. R. C. Camanho Professor Auxiliar do Departamento de Engenharia Mecânica e Gestão Industrial da Faculdade de Engenharia da Universidade do Porto 16 Maio 2006

Transcript of Desenvolvimento de uma Interface Gráfica para o Programa...

Desenvolvimento de uma Interface Gráfica para o

Programa FastComp

MESTRADO EM MMESTRADO EM MÉÉTODOS COMPUTACIONAIS TODOS COMPUTACIONAIS EM CIÊNCIAS E ENGENHARIAEM CIÊNCIAS E ENGENHARIA

Patrícia C. T. GonçalvesLicenciada em Física/Matemática Aplicada (Astronomia)

OrientadorJoão Manuel R. S. Tavares

Professor Auxiliar do Departamento de Engenharia Mecânica e Gestão Industrial da Faculdade de Engenharia da Universidade do Porto

Co-orientadorPedro Manuel P. R. C. Camanho

Professor Auxiliar do Departamento de Engenharia Mecânica e Gestão Industrial da Faculdade de Engenharia da Universidade do Porto

16 Maio 2006

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves2/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Principais objectivos

Introdução

Proporcionar um modo agradável, eficaz e seguro de introdução dos dados de entrada do FastComp

Visualizar adequadamente os grandes volumes de informação que constituem os resultados obtidos pelo FastComp

Utilizar o wrapper para a plataforma .NET, detectando possíveis erros e limitações

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves3/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Estrutura da apresentação

Introdução 1. Aplicações e fundamentos do FastComp

2. Ferramentas utilizadas no desenvolvimentoa) Plataforma .NETb) Linguagem de programação C#c) Biblioteca gráfica VTKd) Wrapper VTK/C#

3. Fundamentosa) Interacção homem/computadorb) Triangulação de Delaunay

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves4/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Estrutura da apresentação

Introdução 4. Implementaçãoa) Apresentação da interfaceb) Alteração ao wrapper

5. Avaliaçãoa) Teste desenvolvidob) Análise de resultados

6. Conclusões e trabalho futuro

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves5/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Apresentação

FastComp

O FastComp analisa uma junta compósita dupla de um só parafuso sujeita a cargas aplicadas

Tem por objectivo calcular os campos de tensões e de deformações em torno do furo do parafuso, bem como a carga e o modo de ruptura da junta

Esquematização de uma junta de ligação dupla com um só parafuso.

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves6/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Arquitectura

FastComp

Dados de entrada (1 ficheiro ascii):propriedades dos materiaisestrutura do laminadogeometria das placascargas aplicadascritério de ruptura

Fundamentos:

Campo de tensões ← Teoria Anisotrópica de PlacasCampo de deformações ← Teoria Clássica das Placa Laminadas

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves7/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Arquitectura

FastCompFundamentos (cont.):

Modo e carga de ruptura

Dados de saída (3 ficheiros ascii):distribuição das tensões em torno do furo para o parafuso da ligaçãodistribuição das deformações em torno do furo para o parafuso da ligaçãomodo e carga de ruptura da junta

Critério de ruptura

Curva característica

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves8/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

.NET

Objectivos: interligar sistemas, dispositivos e utilizadores

Desenvolvida sobre os protocolos mais usuais, permite que sistemas e aplicações interajam independentemente do dispositivo, sistema operativo ou linguagem de programação usados

Ferramentas de Desenvolvimento

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves9/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

.NET

Função: “traduzir” os sistemas operativosFerramentas de Desenvolvimento

Dependências entre componentes e aplicações de um sistema computacional.

.NET Framework

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves10/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

.NET

Componentes principais:

Common Language Runtime – ambiente de execução de aplicações que disponibiliza serviços ao código executado sobre a plataforma .NET (gestão de memória, segurança de código, integração entre linguagens)

biblioteca de classes – conjunto de classes utilizáveis por qualquer linguagem compatível com a .NET Framework

Ferramentas de Desenvolvimento

.NET Framework

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves11/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

.NET

Ambiente de desenvolvimento que suporta várias linguagens de programação

Desenvolvido sobre a .NET Framework, possui a mesma fiabilidade e segurança

Integra o desenhador de Windows Forms que permite a rápida criação de aplicações Windows

Inclui controlo de sintaxe, IntelliSense

Integra um debugger que permite encontrar erros e executar o código de forma controlada

Ferramentas de Desenvolvimento

Visual Studio .NET

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves12/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

C#

Ferramentas de Desenvolvimento

Linguagem de programação criada especificamente para a plataforma .NET

Baseada na sintaxe da linguagem C++

Algumas particularidades:boxingdelegatesdados do tipo decimaloperador “.”ciclo foreachswitch pode ser usada com strings

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves13/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

VTK

Conjunto de classes que proporciona a leitura/escrita, processamento e mapeamento de técnicas de visualização de diversos tipos de dados: pontos, polígonos, imagens, volumes e grelhas rectilíneas, estruturadas ou não

Contém importadores e exportadores para troca de dados com outras aplicações

Tem disponíveis centenas de filtros de processamento de dados

Pode renderizar dados 2D, polígonos, volumes e texturas

Ferramentas de Desenvolvimento

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves14/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

VTK

Duas grandes componentes: um núcleo compilado em C++ e uma interface para linguagens interpretadasFerramentas de

Desenvolvimento

Arquitectura

Arquitectura do VTK.

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves15/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

VTK

Transforma informação em dados gráficos

Fontes – leitura de um ficheiro, construção implícita de um objecto geométrico (ex: vtkCubeSource, VtkArrowSource)Objectos de dados – tabelas de dados (arrays)Filtros – criam novos objectos de dados (ex: vtkDelaunay2D)

Ferramentas de Desenvolvimento

Exemplo de uma pipeline de visualização.

Pipeline de visualização

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves16/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Transforma dados gráficos em imagens

Mapeador – transforma dados em objectos gráficosActor – representa os objectos a visualizarRenderer – coordena todo o processo de visualizaçãoJanela de renderização – integra o rendererInteracção – permite controlar a câmara e os actores através do rato e/ou do teclado

VTK

Ferramentas de Desenvolvimento

Pipeline gráfico

Exemplo de uma pipeline de visualização.

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves17/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Wrapper

Ferramentas de Desenvolvimento

Milan Frank desenvolveu um “tradutor” que permite às linguagens .NET utilizar as classes VTK escritas em C++

O maior problema na criação de um wrapper éa conversão entre tipos de dados: código em C# é gerido, código em C++ usado no VTK não

Dados de tipo simples (int, float,…) em código gerido têm equivalente directo em código não gerido

O tipo void* não foi convertido…

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves18/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Interacção homem/computador

Pontos-chave no desenvolvimento de uma interface:

a) finalidadeb) utilizadores alvo

Procedimentos básicos no processo de desenvolvimento de uma interface:

i. identificar necessidadesii. idealizar interfaces que respondam a essas

necessidadesiii. construir versões interactivas dessas

interfacesiv. avaliar continuamente o trabalho

desenvolvido

Fundamentos

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves19/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Interacção homem/computador

"Usabilidade: a extensão a que um produto pode ser usado por determinados utilizadores de modo a alcançar objectivos específicos com eficácia, eficiência e satisfação num determinado contexto de uso.”

[ISO 9241-11, 1994]

Fundamentos

Usabilidade

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves20/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Interacção homem/computador

Componentes de qualidade:

a) facilidade de aprendizagemb) facilidade de memorizaçãoc) eficiênciad) segurançae) satisfaçãof) eficáciag) utilidade

Fundamentos

Usabilidade

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves21/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Interacção homem/computador

Componentes de design:

a) visibilidadeb) feedbackc) restriçõesd) consistênciae) atribuição correcta

Fundamentos

Usabilidade

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves22/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Interacção homem/computador

Razões para avaliar:a) ter percepção do mundo realb) comparar designsc) atingir um objectivod) verificar a conformidade com um padrão

Métodos:a) observação da utilizaçãob) recolha de opiniõesc) interpretaçãod) previsão

Fundamentos

Avaliação

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves23/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Triangulação de Delaunay

Fundamentos

Triangulação: interpolação de pontos constituída por elementos (triângulos ou tetraedros) que não se intersectam, mas partilham vértices, arestas e/ou faces

Triangulação de Delaunay: a circunferência de qualquer elemento n-dimensional contém apenas os n+1 pontos que o definem

Triangulação de Delaunay inválida.

Triangulação de Delaunay válida.

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves24/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Triangulação de Delaunay

Fundamentos

No VTK (vtkDelaunay2D)

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves25/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Apresentação da interface

Implementação

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves26/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Teste desenvolvido

Avaliação

24 questões:1-10: definir e caracterizar o utilizador11-15: avaliar as dificuldades com que o utilizador se deparou na utilização de cada um dos separadores da janela de introdução dos dados de entrada do FastComp16-17: avaliar a utilidade das imagens presentes na janela de introdução de dados na compreensão dos dados requisitados18-20: avaliar a visualização dos resultados21-23: avaliar a interface de um modo geral24: sugestões/críticas

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves27/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Resultados

Avaliação

Oito utilizadores:dois têm mais de 30 anostodos do sexo masculinotodos trabalham na área da engenharia mecânicacinco têm bons conhecimentos teóricos sobre materiais compósitos, mas desses apenas quatro possuem experiência de trabalho com estes materiaistodos utilizam frequentemente computadores, bem como interfaces gráficas

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves28/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Resultados

Avaliação

Janela de introdução de dados:a) dois dos utilizadores apresentaram

algumas dificuldades, mas não especificaram quais

b) três utilizadores são de opinião de que a utilidade das imagens incluídas nos separadores Joint geometry e Load casenão é relevante, mas não explicam porquê

c) de um modo geral, a janela de introdução dos dados de entrada para o programa FastComp parece satisfazer todos os avaliadores

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves29/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Resultados

Avaliação

Visualização dos resultados:

a) três utilizadores dizem não compreender inteiramente a visualização dos resultados apresentada, mas sem especificarem as suas razões. No entanto, um dos avaliadores sugere o aumento das janelas de visualização, pois diz ter dificuldade em perceber os valores apresentados

b) a dois dos utilizadores não agrada a presença dos eixos cartesianos na visualização gráfica das distribuições das tensões/deformações

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves30/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Resultados

Avaliação

A interface:a) dois utilizadores admitiram ter-se deparado

com algumas dificuldades na utilização da interface de um modo geral

b) estética: 4.75 / 5c) geral: 4.63 / 5

Algumas sugestões:a) possibilidade de seleccionar materiais

predefinidos no separador Materialsb) descrever o modo de interacção dos botões

do rato com as imagens representadasc) identificar as siglas s11, s22, etc., do menu

Output

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves31/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Conclusões

Conclusões e Trabalho Futuro

A interacção VTK/C# revelou-se capaz de originar programas de visualização adequados e eficazes

O wrapper para a plataforma .NET permitiu a correcta utilização da biblioteca VTK com a linguagem C#, apesar da não conversão dos dados do tipo void*

No desenvolvimento da interface foram tidos em conta aspectos relativos à segurança, eficácia e eficiência

A avaliação obtida da interface desenvolvida foi globalmente muito positiva

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves32/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Trabalho futuro

Conclusões e Trabalho Futuro

Fazer as alterações detectadas na análise da avaliação efectuada e sugeridas pelos avaliadores:

i. hipótese de selecção de materiais predefinidos

ii. descrever o modo de interacção do rato com as imagens

iii. tornar a visualização dos eixos cartesianos como opcional

iv. permitir a visualização de cada uma das superfícies de resultados em janelas independentes

v. identificar as siglas do menu Output

Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves33/33

Introdução

FastComp

Ferramentas de Desenvolvimento

Fundamentos

Implementação

Avaliação

Conclusões e Trabalho Futuro

16 Maio 2006

Trabalho futuro

Conclusões e Trabalho Futuro

Visualizar as superfícies de resultados segundo um dado planoPossibilidade de escolha da gama e do número de cores da escala usada na representação das superfícies de resultadosImpressão dos dados de entrada e das superfícies de resultadosImplementar a visualização do “envelope de ruptura”Após as alterações, realizar nova recolha de opiniões, entrevistas e avaliação por observação