• Nenhum resultado encontrado

CAPÍTULO 5 ESTRUTURAÇÃO METODOLÓGICA PARA A AVALIAÇÃO DO

5.7 Programação da ferramenta em ambiente Python

A linguagem Python, criada por Guido van Rossum em 1990, tem ampla aplicabilidade em processos de automatização de rotinas de cálculo e geração de interfaces com usuários, possui uma sintaxe simples e direta, possibilitando criar algoritmos eficientes e com grande capacidade de integrados com outras ferramentas e outras linguagens (BORGES, 2014). Outra característica é o seu fácil acesso, já que este software possui código aberto, podendo inclusive, ser incorporado a programas com códigos fechados (YADAV et al., 2019).

Após a modelagem da estrutura de funcionamento por meio de planilhas, se deu início a fase de automatização dos processos de aquisição, armazenamento, processamento de dados e expressão dos valores obtidos por meio de elementos gráficos, sendo que, desta maneira, o desenvolvimento das análises propostas pela MATSUS-HR, especialmente quanto ao cálculo de indicadores não ponderados, pode ser feito de duas formas: por meio de tabelas criadas no software Microsoft Excel, como demonstrado nas seções anteriores ou por meio da utilização de um software desenvolvido em linguagem Python (versão 38).

Para a realização deste trabalho a estruturação feita por meio de tabelas serviu, em um primeiro momento, como base para a elaboração do algoritmo da MATSUS- HR em “ambiente Python” e, posteriormente, esta foi utilizada para validar os dados alcançados pelo programa desenvolvido.

O código fonte da MATSUS-HR não é disponibilizado no corpo deste trabalho, pois, este será submetido ao processo de proteção de propriedade intelectual, sendo aberto à comunidade acadêmica após a finalização deste processo, assim como, este dará origem a uma plataforma online de acesso aberto.

8 Versão disponível gratuitamente no endereço eletrônico: https://www.python.org/downloads/. Acesso

5.7.1 Sistematização

Para a produção dos algoritmos que compõe a MATSUS-HR foi utilizada o software Atom9 como ambiente de desenvolvimento integrado (IDE10). Basicamente a

ferramenta foi produzida por meio de 04 núcleos distintos: estruturação de processos de cálculo por meio de algoritmos interligados, desenvolvimento de bancos de dados hierarquizados por meio da integração com o pacote SQLite11, bateria de testes e a

criação de interfaces gráficas de interação com usuário.

A etapa de processamento de dados é responsável por, a partir dos novos dados inseridos pelo usuário, ao selecionada a partir dos bancos de dados da ferramenta, efetuar os cálculos previstos para a modelagem preestabelecida e expressa-los como saída e posterior interpretação (REN; XU; GOU, 2016). Desta forma, neste núcleo, o volume de informações é bastante elevado, tendo os algoritmos algumas dezenas de milhares de linhas de código. Para minimizar e se rastrear mais facilmente os possíveis problemas encontrados nas baterias de testes realizadas, cada etapa e funções foram programadas em códigos separadamente, sendo interligados a função principal quando necessário.

O fluxo de informações ao longo do processo cresce em complexidade e diminui em quantidade, pois o resultado de cada etapa refere-se ao processamento das informações obtidas pelas fases anteriores. Seguindo a analogia feita na seção 5.5, entre o método e uma árvore, verifica-se que as etapas de cadastramento e armazenamento de dados são correspondentes à formação de “solo”, ou seja, as respectivas etapas formam o ambiente que alimentará as demais etapas do processo, assim sendo, todos as análises irão ser embasadas pela fase “solo”. Em outras palavras, em um mesmo ambiente formado para o “solo” pode haver várias árvores estruturadas, onde cada árvore representa a análise de um sistema construtivo diferente.

9 Disponível gratuitamente em: https://atom.io/packages/ide-python.

10 Acrônimo da sigla em inglês Integrated Development Environment.

Para o armazenamento das informações cadastradas, ou para a etapa de armazenamento de dados, o processo modelado anteriormente por meio de planilhas e identificados por codificação própria teve que ser remodelado. Em “ambiente Excel”, para o rastreamento e uniformidade de dados, para cada insumo, custo unitário, composição de atividade ou sistema construtivo foi atribuído um número de identificação (ID), A identificação geral no ambiente da MATSUS-HR se dá por meio da estrutura demonstrada pela figura 5.11, onde, para cada baia, ou instância hierárquica é possível fazer o cadastramento de até 100 informações diferentes.

Figura 5.10 - Estrutura de identificação de informações no ambiente da MATSUS-HR

Fonte: Autor

Em Python, esta logica foi mantida, porém, utilizou-se a hierarquização prevista para dados em SQLite, onde cada objeto possui diferentes graus de sobreposição com os demais, possibilitando sua vinculação, consulta, restrições e futuras alterações. Sendo que a principal vantagem prevista para o armazenamento de dados por meio da codificação SQLite é o número de informações que poderá ser armazenado se torna muito superior ao possibilitado pela versão em Excel (limitada a 100 opções).

Com o objetivo de se criar uma identificação visual do método e, assim, uma fácil identificação do produto por seus usuários, desenvolveu-se uma logomarca para a ferramenta, símbolo que acompanha todos as janelas de diálogo dentro da MATSUS-HR (figura 5.12).

Figura 5.11 – Logomarca desenvolvida para a MATSUS-HR

Fonte: Autor

Para as etapas de “cadastramento”, Composição” e “saída”, a ferramenta possibilita, por meio de sua interface gráfica, a inserção e manipulação de dados de maneira simples e rápida. Para tanto, por meio da biblioteca TKInter12, integrada à

linguagem Python, foram criadas janelas de diálogo integrativas, conforme apresentado no capítulo 6 e, para a exposição de dados finais, foi utilizado a biblioteca MATPLOT13, integrada às interfaces programadas. Decidiu-se por utilizar essas

opções, pois, apresentam acesso gratuito e código construído de maneira colaborativa.

Para se avaliar o comportamento da ferramenta e, assim, melhorar o seu sistema de pesos, indicadores e funcionamento, uma aplicação prática considerando a relação dos sistemas construtivos ante as diferentes dimensões de sustentabilidade contextualizados para uma determinada região foi proposta. Para tanto, verificou-se a efetividade da proposta metodológica em comunidades rurais sob vulnerabilidade social na região do antigo Assentamento Itamarati, Ponta Porã-MS, Brasil,

12 Disponível em: https://docs.python.org/3/library/tkinter.html. 13 Disponível em: https://matplotlib.org/3.2.1/index.html.

comparando soluções construtivas mais adequadas social, ambiental, econômica e tecnicamente para a região estudada, sendo o resultado dessa investigação apresentado no capítulo 8.