Prévia do material em texto
DESIGN DA INFORMAÇÃO: SUGESTÃO DE MÉTODO PARA DOCUMENTAÇÃO EM PROJETOS DE SOFTWARE JÚLIO CÉSAR FERREIRA 2 DESIGN DA INFORMAÇÃO: SUGESTÃO DE MÉTODO PARA DOCUMENTAÇÃO EM PROJETOS DE SOFTWARE Dissertação apresentada ao Programa de Pós-Graduação em Design da Universidade do Estado de Minas Gerais como requisito parcial para a obtenção do grau de Mestre em Design, na área de concentração Tecnologias, materiais e ergonomia. Orientadora: Drª Sebastiana Luiza Bragança Lana Belo Horizonte 2018 Autorizo a reprodução e a divulgação total ou parcial deste trabalho, por qualquer meio convencional ou eletrônico, para fins de estudo e pesquisa, desde que citada a fonte. 3 Ficha catalográfica elaborada por Ariane Eliza da Silva Porto – CRB6/MG 3244 F383 Ferreira, Júlio César Design da informação: sugestão de método para documentação em projetos de software / Júlio César Ferreira - Belo Horizonte, 2018. 106f.: il. color. grafs. tabs. fots. 30 cm. Orientadora: Prof.ª Dr.ª Sebastiana Luiza Bragança Lana Dissertação (mestrado) – Universidade do Estado de Minas Gerais. Programa de Pós-Graduação em Design. 1. Software. 2. Documentação. 3. Design da informação. I. Lana, Profª Drª Sebastiana Luiza Bragança. II. Universidade do Estado de Minas Gerais. III. Título. CDU – 004.4 CDD – 647.94 4 5 Agradecimentos Meu Deus, agradeço pela oportunidade da vida que foi proporcionada a mim e a toda minha família e sobrinho quando, naquela noite, em que íamos colidir de frente com um irresponsável na contramão, o Senhor nos protegeu. Com esse testemunho e tantos outros que já vivenciei glorifico lhe e afirmo que creio e confio na sua bondade e grandeza, sendo esse trabalho fruto do meu esforço abençoado por tua vontade. Alguns não são nada sem família e eu sou um desses, muito obrigado pelo apoio e pela ajuda meus amores Lilian, Iago e Júlia. No processo de dissertação é essencial a confiança para compartilhar a própria reputação, sendo assim, sou muito grato à minha orientadora Sebastiana Luiza. Nessa caminhada ocorreu um processo importantíssimo que foi a qualificação, no qual tive uma contribuição fundamental de Ricardo Triska e de Luiz Ozanan que me reorientaram. Finalizando agradeço à Sebastiana Luiza, Guilherme Moravia e Rosemary Bom Conselho, integrantes da banca final e responsáveis pelo encerramento dessa fase tão importante de minha vida. Vlw!! 6 RESUMO FERREIRA, J.C. Design da informação: desenvolvimento de método para documentação em projetos de software. 2018. XXX f. Dissertação (Mestrado) - Escola de Design, Programa de Pós-Graduação em Design da Universidade do Estado de Minas Gerais, Belo Horizonte, 2018. O mercado de TI, Tecnologia da Informação, é cada vez mais importante para a evolução econômica dos países, tal afirmação reflete diretamente na condição social em forma de oportunidades de trabalho e de renda. Além da ampla utilização no mercado privado, o setor público tem consumido, de forma crescente, recursos de TI, na busca de eficiência e de eficácia. Esse segmento depende de softwares que, por sua vez, necessitam de documentação para serem desenvolvidos, devido ao fato de se tratar de um produto virtual e de alta complexidade. Assim, reflexo dessas constatações são postas na pesquisa realizada junto a desenvolvedores de sistema, tais que demonstram que grande parte da documentação utilizada em projetos de software, na atualidade, possui baixa qualidade, portanto, é cabível concluir que uma melhoria iria representar ganho significativo nesse tipo de atividade. Ademais, estudos realizados por intermédio de fontes bibliográficas apontaram que o infográfico é capaz de facilitar o entendimento de informações complexas e, por esse motivo, foi escolhido como recurso a ser explorado por meio de um protótipo navegável de alta fidelidade, capaz de orientar a criação de um método que pudesse ser utilizado para o desenvolvimento de ferramentas online, empregadas na produção da documentação utilizada em projetos de software. Após análises das soluções utilizadas pelo protótipo, foi, então, possível elaborar o método SDOTI - Software Documentation Oriented Through Infographic utilizando conceitos de Design da Informação e Design de Interação. Palavras-chave: Software. Documentação. Design da informação. Infográfico. 7 ABSTRACT FERREIRA, J.C. Information design: development of method for documentation in software projects. 2018. XXX f. Dissertation (Master degree) - School of Design, Graduate Program in Design of the State University of Minas Gerais, Belo Horizonte, 2018. The IT market, Information Technology, is increasingly important for a generation of job and development opportunities. In addition to the use of the private market, the public sector has increasingly consumed IT resources in the quest for efficiency and downside. This thread depends on software which, in turn, needs to be archived, due to the fact that it treats a virtual product of high complexity. Thus, the reflections on the publications are put in the research next to a software program, as is the case of the presentation of one of the main informatics programs, at present, the low quality, therefore, it is possible for the situation to be more complex type of activity. In addition, studies carried out by means of bibliographical sources pointed out that the infographic is capable of understanding complex complexes and, therefore, was chosen as a resource to be explored by means of a high fidelity navigable prototype, capable of guiding a creation of a method that can be used for the development of online tools used in document production. The solutions were launched by the prototype, being possible then programmed the SDOTI - Documentation of Software Oriented through Infrared, using concepts of Information Design and Interaction Design. Keywords: Software. Documentation. Information design. Infographic. 8 SUMÁRIO 1. INTRODUÇÃO 1.1. Contexto da pesquisa................................................................................................014 1.2. Justificativa...............................................................................................................015 1.3. Objetivos...................................................................................................................016 1.4. Caracterização da pesquisa.......................................................................................016 1.5. Aderência ao programa............................................................................................016 1.6. Estrutura da dissertação...........................................................................................017 1.7. Resultados esperados...............................................................................................017 2. FUNDAMENTAÇÃO TEÓRICA 2.1. Design da informação...............................................................................................0182.2. Infográfico.................................................................................................................023 2.3. Design de interação..................................................................................................033 2.4. Funcionamento do computador...............................................................................038 2.5. Programação de computadores................................................................................045 2.6. Processo de desenvolvimento de software..............................................................048 2.7. Documentação de software......................................................................................052 3. METODOLOGIA 3.1. Cronograma e resumo dos métodos utilizados na pesquisa....................................061 3.2. Fase 1: Alternativa capaz de melhorar a qualidade da documentação utilizada em projetos de software.................................................................................................061 3.3. Fase 2: Avaliação da qualidade da documentação utilizada em projetos de software ..................................................................................................................................062 3.4. Fase 3: Desenvolvimento e avaliação de protótipo utilizando recurso identificado na fase 1.........................................................................................................................062 3.5. Fase 4: Desenvolvimento do método a partir das soluções encontradas, por intermédio da pesquisa, envolvendo o protótipo na fase 3.....................................064 9 4. RESULTADOS E DISCUSSÕES 4.1. Fase 1: Alternativa capaz de melhorar a qualidade da documentação utilizada em projetos de software.................................................................................................065 4.2. Fase 2: Avaliação da qualidade da documentação utilizada em projetos de software ..................................................................................................................................066 4.3. Fase 3: Desenvolvimento e avaliação de protótipo, para um sistema a ser utilizado como ferramenta online, na documentação em projetos de software....................074 4.4. Fase 4: Desenvolvimento do método, a partir das soluções encontradas por meio da pesquisa, envolvendo o protótipo na fase 3.............................................................082 5. MÉTODO SDOTI 5.1. Conceitos básicos e terminologia.............................................................................084 5.2. Descrição método SDOTI..........................................................................................092 5.2.1. Cadastrar elementos da interface..................................................................092 5.2.2. Criar layouts da interface...............................................................................093 5.2.3. Documentar as funcionalidades.....................................................................093 5.2.4. Documentar o processamento.......................................................................094 6. CONCLUSÃO.....................................................................................................................097 7. TRABALHOS FUTUROS......................................................................................................098 REFERÊNCIAS BIBLIOGRÁFICAS..............................................................................................099 ANEXO A: Formulário utilizado na fase 2 da pesquisa...........................................................104 ANEXO B: Formulário utilizado na fase 4 da pesquisa...........................................................106 10 LISTA DE FIGURAS Figura 01 – Aplicações do design da informação...................................................................019 Figura 02 – Tratamento da informação...................................................................................022 Figura 03 – Estudo sobre embriologia feito por Leonardo Da Vinci......................................024 Figura 04 – Vantagens do infográfico.....................................................................................025 Figura 05 – Acidente aéreo time da Chapecoense..................................................................026 Figura 06 – Rota entre Brasília e o presídio de segurança máxima de Rondônia...................027 Figura 07 – Alejandro Malofiej..............................................................................................027 Figura 08 – Infográfico publicado no El País, ganhador do prêmio Malofiej........................028 Figura 09 – Reações que os infográficos produzem...............................................................029 Figura 10 – Habilidades para o desenvolvimento de infográficos..........................................029 Figura 11 – A arte de ir direto ao ponto..................................................................................030 Figura 12 – Partes de um infográfico......................................................................................031 Figura 13 – Modelo LOTCH para avaliação de infográficos.................................................032 Figura 14 – Twitter de Martin Leblanc...................................................................................033 Figura 15 – Bill Moggride......................................................................................................034 Figura 16 – Metas de usabilidade e de experiência de usuário...............................................035 Figura 17 – Multi-Touch / NUI – Natural Use Interface........................................................036 Figura 18 – Analogia hardware/software................................................................................039 Figura 19 – Intel, AMD e processador Intel i7-4700EC.........................................................040 Figura 20 – Computador e periféricos básicos........................................................................041 Figura 21 – Ábaco...................................................................................................................042 Figura 22 – IBM Personal Computer 5150............................................................................043 Figura 23 – IDE Eclipse..........................................................................................................047 Figura 24 – Fases de um projeto de software..........................................................................048 Figura 25 – Tipos de ciclo de vida..........................................................................................049 Figura 26 – RUP - Rational Unified Process vs Agile Methodology......................................051 Figura 27 – Importância levantamento de requisitos e documentação...................................054 Figura 28 – Diagrama caso de uso Casa Segura.....................................................................055 Figura 29 – Caso de Uso Casa Segura....................................................................................057 Figura 30 – Comentário em código.........................................................................................059 11 Figura 31 – Cronograma fases da pesquisa.............................................................................061 Figura 32 – Método fase 1 da pesquisa...................................................................................062 Figura 33 – Método fase 2 da pesquisa...................................................................................062 Figura 34 – Fluxograma evolução fase 3 da pesquisa............................................................063Figura 35 – Método fase 3 da pesquisa...................................................................................064 Figura 36 – Fase 4 da pesquisa...............................................................................................064 Figura 37 – Conceito de infográfico adotado para os protótipos............................................065 Figura 38 – Resumo artigo “Uso da infografia na concepção de softwares”..........................066 Figura 39 – Resultado fase 1 da pesquisa...............................................................................066 Figura 40 – Resultado fase 2 da pesquisa...............................................................................067 Figura 41 – Cabeçalho pesquisa qualidade documentação de software.................................067 Figura 42 – Grau de instrução dos entrevistados....................................................................068 Figura 43 – Características das empresas...............................................................................068 Figura 44 – Funções já realizadas pelos entrevistados...........................................................069 Figura 45 – Nível da qualidade da documentação de software..............................................070 Figura 46 – Dificuldade em produzir uma boa documentação de software............................070 Figura 47 – Comparativo Caso de Uso versus História de usuário........................................071 Figura 48 – Validação da documentação por meio de usuário e senha..................................071 Figura 49 – Prioridade do uso de software livre.....................................................................072 Figura 50 – Enterprise Architect.............................................................................................072 Figura 51 – IBM Rational Requeriments Composer / plataforma jazz...................................073 Figura 52 – Softwares para documentação mais conhecidos..................................................073 Figura 53 – Artigo submetido periódico ESPACIOS.............................................................074 Figura 54 – Resultado fase 3 da pesquisa...............................................................................074 Figura 55 – Exemplo protótipo estático de baixa fidelidade..................................................075 Figura 56 – Protótipo navegável versão 1.0............................................................................076 Figura 57 – Protótipo navegável versão 2.0............................................................................077 Figura 58 – Blog SCRUN.......................................................................................................078 Figura 59 – Cabeçalho pesquisa protótipo após terem ocorrido as respostas.........................079 Figura 60 – Formação dos entrevistados.................................................................................079 Figura 61 – Entrevistados com pós-graduação.......................................................................080 Figura 62 – Experiência profissional......................................................................................080 Figura 63 – Opinião sobre protótipo SCRUN.........................................................................081 12 Figura 64 – Artigo “Uso de infográfico na documentação em projetos de software”............082 Figura 65 – Resumo fase 4 da pesquisa..................................................................................083 Figura 66 – Infográfico proposto pelo método SDOTI...........................................................085 Figura 67 – Princípios do método SDOTI..............................................................................085 Figura 68 – Layouts Google....................................................................................................088 Figura 69 – Entrada de dados interface Google......................................................................088 Figura 70 – Saída de dados interface Google.........................................................................089 Figura 71 – Elementos de interação interface Google............................................................089 Figura 72 – Layout Google com resultados de busca.............................................................090 Figura 73 – Fluxo documentação............................................................................................090 Figura 74 – Exemplo processamento......................................................................................091 Figura 75 – Comparação fluxos métodos convencionais versus método SDOTI...................091 Figura 76 – Cadastramento dos elementos da interface..........................................................092 Figura 77 – Criação dos layouts a partir dos elementos da interface......................................093 Figura 78 – Documentar funcionalidade................................................................................094 Figura 79 – Documentar processamento.................................................................................095 13 LISTA DE TABELAS Tabela 01 – Sintaxe versus semântica........................................................................................023 Tabela 02 – Classificação básica, métodos para avaliação de usabilidade.....................................037 Tabela 03 – Sistemas operacionais famosos...............................................................................044 Tabela 04 – Resumo sobre processo, metodologia e método de desenvolvimento de software........050 Tabela 05 – Principais características metodologia ági ...............................................................052 14 Capítulo 1 INTRODUÇÃO 1.1 Contexto da pesquisa As mudanças científicas e tecnológicas que aconteceram no século XX estão se tornando um paradigma dominante na política, na economia, na educação e nas organizações (LANA, 2011, p.54). Baseado nessa afirmação, podemos idealizar o quanto o mercado relacionado com o desenvolvimento de software está afetando a todos, isso devido a sua importante influência em relação às transformações que foram supracitadas. Assim, nota-se que grande parte das mudanças ocorridas atualmente são provenientes do segmento de Tecnologia da Informação, que, por sua vez, possui alta dependência do desenvolvimento de softwares. Projetos de software são complexos pelo fato de operarem com lógicas programáveis e, também, por se tratarem de produtos virtuais - o que os tornam abstratos. Por esse motivo, a documentação utilizada em projetos de software é algo de extrema importância, já que são os requisitos que asseguram a produção de software com qualidade e com custo competitivo (POHL; RUPP, 2012, p.5). No entanto, em projetos grandes, somente por meio de uma documentação de qualidade é possível garantir tanto o registro quanto a localização desses requisitos de software, os quais representam todas as funcionalidades e as características técnicas que o software deverá possuir ao ser finalizado e testado. Logo, uma documentação deficitária compromete a qualidade, enquanto uma documentação muito vasta e trabalhosa consome boa parte dos esforços envolvidos em projetos de software - o que pode acarretar um aumento de custos e de prazo, logo, deve-se buscar o máximo de completude das informações com o mínimo de esforço nesse tipo de atividade e de forma que as informações sejam localizadas de maneira fácil e rápida. Diversos métodos e ferramentas para a documentação em projetos de software foram desenvolvidos e alguns poucos são utilizados atualmente,entretanto, ainda existem possibilidades de melhorias significativas nesse tipo de atividade, principalmente, quando se pensa no surgimento de novos recursos tecnológicos. 15 Por utilizar a informação e o conhecimento, o design pode ser definido como processo (LANA, 2011, p.64) e, dessa maneira, empregado na elaboração de métodos. Partindo desse conceito, iniciou-se o trabalho de pesquisa, em que o objetivo deste foi elaborar um método capaz de ser utilizado no desenvolvimento de ferramentas online para serem empregadas na documentação utilizada em projetos de software. O resultado final foi a elaboração do método denominado SDOTI - Software Documentation Oriented Through Infographic, o qual faz uso de conceitos relacionados com infográficos devido a sua capacidade de facilitar a compreensão de assuntos complexos - de maneira simples e eficiente. Isso posto, pelo motivo de somar imagem e informações em um mesmo plano visual que, no caso da ferramenta online, corresponde ao monitor do computador ou a tela de algum dispositivo móvel. 1.2 Justificativa Os softwares estão dominando praticamente todas as atividades econômicas deste mundo globalizado no qual vivemos na atualidade, isso faz com que a velocidade das mudanças tecnológicas e a competição sem fronteiras tornem esse mercado extremamente competitivo e, consequentemente, exige projetos mais bem gerenciados (RAMOS; GHODDOSI, 2016, p.46). Uma prova dessa importância é o Programa Startup Brasil, lançado em 2013 pelo Ministério da Ciência, Tecnologia e Inovação, que teve como objetivo apoiar projetos de tecnologia e software (MOREIRA, 2016, p.4). Com o aumento da complexidade e da demanda, a definição do escopo de um projeto de software passou a ganhar importância, ao ponto de poder ser considerado um fator crucial para o sucesso do projeto (DEBASTIANI, 2015, p.16). Destarte, somente é possível estimar a construção daquilo que se conhece em detalhes, por isso, uma documentação de software com qualidade é fundamental. A busca por melhorias nos projetos de softwares pode ser percebida por intermédio da quantidade de metodologias que surgiram nas últimas décadas (DEBASTIANI, 2015, p.55), isso demonstra o quanto esse segmento depende de inovação, tanto como produto quanto em processo. Acreditar em inovação significa ter uma atitude crítica em relação ao que existe, bem como uma ideia de melhorar a situação atual e entender que, mais efetiva será essa mudança à medida que afetar o nosso comportamento no dia a dia e os objetos ao nosso redor (TAMBORRINI, 2012, p.54). Análogo a esse pensamento, o trabalho proposto pretende contribuir com a evolução do segmento de Tecnologia da Informação ao buscar desenvolver um método que poderá ser utilizado para inovar a forma de documentar projetos de software 16 de forma prática e útil. Em suma, com isso, irá contribuir para a evolução desse segmento, principalmente no Brasil. 1.3 Objetivos I. Identificar alternativa técnica que seja capaz de melhorar a qualidade da documentação utilizada em projetos de software; II. Pesquisar a opinião dos profissionais envolvidos em projetos de software sobre a qualidade da documentação utilizada atualmente; III. Desenvolver protótipo de um sistema para documentação de projetos de software, utilizando o recurso técnico identificado pela pesquisa; IV. Baseado nos resultados obtidos por meio do protótipo, elaborar um método para ser utilizado no desenvolvimento de ferramentas online voltadas à documentação em projetos de software. 1.4 Caracterização da pesquisa Em relação à natureza deste trabalho, podemos classificá-lo como uma pesquisa aplicada, devido ao fato de ele buscar por conhecimentos que visam à solução de problema específico (SILVA, MENEZES, 2005, p.20). A abordagem da pesquisa é qualitativa, em virtude de buscar a compreensão e o aprofundamento de fenômenos que precisam ser explorados sob a perspectiva dos participantes envolvidos dentro do ambiente natural do fenômeno e de seu contexto (SAMPIERI, COLLADO, LÚCIO, 2013, p.376). A pesquisa possui objetivo exploratório, uma vez que visa tornar o problema investigado mais explícito, por meio de levantamento bibliográfico, entrevistas com pessoas que tiveram experiências práticas relacionadas ao problema pesquisado e análise de exemplos que possibilitem uma melhor compreensão (SILVA, MENEZES, 2005. p.20). Resumidamente, podemos caracterizar esta pesquisa como: Natureza = aplicada; Abordagem = qualitativa; Objetivo = exploratório. 17 1.5 Aderência ao programa Conforme edital publicado pela UEMG - Universidade do Estado de Minas Gerais, no ano de 2018, disponível em http://www.ed.uemg.br/edital-2018-final-revisado-v1.pdf, acesso em 30 de junho de 2018, a linha de pesquisa LP1 é definida como Tecnologias, Materiais e Ergonomia e, entre os seus objetivos, consta a reflexão crítica e aplicada das interações entre os processos do design, novas tecnologias e as diversas interfaces digitais. Em suma, o presente trabalho se adere a essa linha de pesquisa. 1.6 Estrutura da dissertação 1. Introdução: contextualização a respeito da pesquisa; 2. Fundamentação teórica: conceitos teóricos necessários para o entendimento dos assuntos abordados, relacionados principalmente com design da informação e engenharia de software; 3. Metodologia: descrição dos métodos científicos utilizados para o desenvolvimento da pesquisa, detalhados de acordo com as fases que se fizeram necessárias; 4. Resultados e discussões: resultados que foram obtidos, discutidos separadamente, de acordo com a fase do qual representa; 5. Método SDOTI: descrição do método desenvolvido pela pesquisa; 6. Conclusão: parecer final a respeito do trabalho de pesquisa realizado; 7. Trabalhos futuros: sugestões de trabalhos futuros que podem surgir a partir do método SDOTI; 1.7 Resultados esperados A expectativa deste trabalho de pesquisa é elaborar um método que seja realmente eficiente e prático para ser empregado no desenvolvimento de ferramentas online, estas que são dedicadas à documentação em projetos de software. A partir disso, almeja-se contribuir com a evolução do segmento de Tecnologia da Informação mundial, em especial, o mercado brasileiro. 18 Capítulo 2 FUNDAMENTAÇÃO TEÓRICA Neste capítulo, serão tratados os conceitos técnicos necessários para o entendimento da proposta do trabalho de pesquisa, esta que foi realizada de forma que o leitor esteja apto para avaliar os resultados apresentados e analisar a conclusão do autor. 2.1 Design da informação Em setembro de 2003, realizou-se, na Universidade Federal de Pernambuco, na cidade de Recife, o primeiro encontro no Brasil relacionado ao Design da Informação, promovido pela então recém-criada Sociedade Brasileira de Design da Informação – SBDI. Sediada nessa mesma cidade, sendo considerado um marco para o Brasil no que tange a respeito de aspectos que o mundo já vinha discutindo desde a década de 70, por meio de eventos, como a criação do International Institute for Information – IIID na Austrália, a edição do Design Information Journal, entre outros fatos relacionados diretamente com a quantidade de informações que estavam aumentando consideravelmente, devido às evoluções provocadas pela informatização e, com isso, demandando cada vez mais profissionais especializados no tratamento de informações (REDIG, 2004, p.60-61). A evolução tecnológica envolvendo informação pode ser melhor compreendida de modo mais efetivo por intermédio do pequeno diálogo entre um professro e seu aluno descrito a seguir (ABREU, MACHADO, 2009, p.40): Aluno: “Estas perguntas são as mesmas do exame passado?” Professor: “Sim, mas as respostas agora são outras.” 19 A partir do estudo realizado em onze fontes diferentes envolvendo o emprego do termo“design da informação” em literaturas contemporâneas foi então definido que Design da informação é a arte capaz de organizar, selecionar, otimizar e transformar dados complexos em informação mais fácil, útil e efetiva, tendo como objetivo satisfazer as necessidades do usuário de acordo com o contexto (SOUZA, 2016, p. 111-112) como pode ser visto através do infográfico apresentado pela figura 1. Figura 1: Aplicações do design da informação Fonte: Adaptado pelo autor de <https://goo.gl/Ddwcpn>. Acesso em: 25 mar de 2017. Existem quatro grupos distintos relacionados ao emprego do design da informação (SOUZA, 2016, p. 110): Teológicas: o design da informação deve facilitar o conteúdo para que outra atividade seja realizada, sendo, portanto, a arte/ciência que possibilita seres humanos de consumirem a informação com eficácia e com eficiência; De adequação: independentemente do meio, o design da informação deve ser utilizado para análise, planejamento, apresentação e entendimento de mensagens que satisfaçam requisitos estéticos, econômicos, ergonômicos e temáticos; 20 Por Princípios: o design da informação deve se basear em noções gerais, sempre em caráter interativo com a situação, observando a confiabilidade, a utilidade e a satisfação; Transformativas: o design da informação se trata de um processo que transforma o dado em informação, portanto, deve ser utilizado para planejar a informação. Vivemos, atualmente, em uma sociedade muito dependente de informação, a qual a falta ou o excesso pode ser considerado fator de exclusão, por conseguinte, tornar-se competente no tratamento de informações tem se tornado essencial cada vez mais (DICK, GONÇALVES, VITORINO, 2017). Ademais, a informação deve ser utilizada de maneira estratégica para que possa atingir rapidamente seus objetivos (MACHADO, ABREU, 2010, 28 p.) e, quando não atende às características relacionadas ao destinatário, a forma da mensagem e ao tempo, o processo de comunicação será deficiente, logo, o design da informação deve sempre se preocupar com os seguintes aspectos (REDIG, 2004, p.61): Destinatário: foco total no receptor; Forma: analogia, clareza, concisão, ênfase, coloquialidade, consistência, cordialidade; Tempo: oportunidade, estabilidade. O acesso tanto a dados quanto a informações tende a ser, de forma progressiva, democratizado como um simples bem consumível, todavia, o grande diferencial competitivo será a eficiência e a eficácia na interpretação desses elementos de comunicação, podendo produzir melhores produtos, serviços e ações. Isso posto, já que a informação gera conhecimento e este vivenciado se transforma em sabedoria (KESTEBAUM, 2016, 42p.). A informação deve ser utilizada de maneira estratégica para que possa atingir rapidamente seus objetivos (MACHADO, ABREU, 2010, 28 p.) e o acesso às redes de informação, como a internet, pode ser considerada peça-chave para viabilizar a construção do saber, pois, em virtude disso, promove a democratização da informação, produzindo novos protagonistas envolvidos com o saber (LOPEZ, 2015, p.289-290). A Ciência da Informação, a Educação e a Comunicação são consideradas meta-disciplinas pelo fato de serem de interesse de todas as demais (LOPEZ, 2015, p.313 apud BATES, 1999). A globalização contribuiu para nova formação socioeconômica mundial, denominada Sociedade Pós-Industrial ou Sociedade da Informação, em que as principais características são mudanças estruturais em todo o mercado profissional envolvendo informação 21 (WENCESLAU, 2015, p.61). Os dados isolados não são capazes de estabelecer uma comunicação, por conseguinte, para que possam conter sentido devem, primeiramente, ser processados, organizados e somente então apresentados (TEIXEIRA, 2018, p.89). Arquitetura da Informação (AI) é uma disciplina cujo objetivo é desenvolver técnicas que possibilitem a estruturação da informação, por intermédio de sistemas, de forma intuitiva e confiável, sendo considerada uma área recente dentro da Ciência da Informação (WENCESLAU, 2015, p.62-63). O termo Arquitetura da Informação foi cunhado em 1976 pelo arquiteto Richard Saul Wurman e, atualmente, está muito relacionado com ambientes Web (WENCESLAU, 2015, p.63 apud MACEDO, 2006). As Linguagens Documentárias surgiram devido ao crescimento das bibliotecas de livros no século XIX, uma vez que naquela época o armazenamento era feito de maneira que cada volume possuía uma localização na estante. Entretanto, com o aumento da quantidade de livros, tal forma não era considerada suficiente. Assim, nessa circunstância, W.T. Harris, na cidade de Saint Louis, desenvolveu a técnica de classificar as informações contidas nos livros, o que pode ser chamado de classificação relativa, pois os volumes eram estocados de acordo com a relação que tivessem entre si (BATTLES, 2003, p.141). O objetivo de qualquer Linguagem Documentária é controlar os termos que podem ser empregados no universo do conhecimento da qual se relacionam (LIMA, 1998, p.26). Principais Linguagens Documentárias (LIMA, 2004, p.53): Classificação de Harris; Classificação Decimal de Dewey; Classificação Decimal Universal; Classificação da Biblioteca do Congresso; Classificação de Dois Pontos; Tesauros. Tesauros são listas estruturadas de termos e suas relações representando uma única ideia/conceito, de forma a orientar sistemas de indexação. A partir dessa definição, são considerados linguagens documentárias que, por sua vez, tem crescido o número de publicações em diversos campos do saber por todo o mundo, inclusive no Brasil, quando, em 2014, teve publicado o novo tesauro relacionado à área da Ciência da Informação. Esse tesauro pode ser baixado por meio do site www.ibict.br, substituindo a edição antiga datada de 1989, produzido com o apoio do Instituto Brasileiro de Informação em Ciência e 22 Tecnologia – Ibict e da Empresa Brasileira de Inovação e Pesquisa – Finep. O trabalho foi iniciado por intermédio da tese de Lena Vania Pinheiro Ribeiro, defendida em 1997, no Curso de Doutorado em Comunicação e Cultura da Universidade Federal do Rio de Janeiro (PINHEIRO, FERREZ, 2014, p.9-10). Os Sistemas de Recuperação da Informação, também chamados SRIs, normalmente utilizam tesauros por serem linguagens controladas muito empregadas na indexação de informações e, desse modo, sempre se deve avaliar sua eficiência em relação aos usuários. Isso porque o principal objetivo é auxiliá-los, apresentando um termo correlacionado com a procura pela qual o controle da terminologia adotada garante uma relação perguntas/respostas (JESUS, 2002, p.14-16). Os Sistemas de Recuperação da Informação se utilizam de várias linguagens documentárias para o tratamento da informação, visto não se tratar de uma função isolada como demonstrado na figura 2 (JESUS, 2002, p.13-14). Figura 2: Tratamento da informação Fonte: JESUS, 2002, p.14 A compreensão do significado depende da sintaxe (como algo é dito), da semântica (mensagem), do contexto, da pragmática e da experiência. Dessa forma, máquinas não são capazes de compreender significado, já que operam apenas sobre sintaxe, como ocorreu inicialmente quando surgiu a Web. No entanto, com o advento da Web Semântica ou Web 3.0, essa questão da não compreensão do conhecimento relacionado com as informações 23 começaram a ser desenvolvidos (SCHIESSL, 2015, p.47-51). Contexto significa a maneira pela qual as ideias se conectam no discurso e tem como função preencher as lacunas do texto, deixadas pelo relacionamento autor/leitor, ou seja, tudo que possa ser utilizado no auxílio da compreensão do conteúdo se trata de contexto (SCHIESSL, 2015, p.49). Pragmática está relacionada com a intensão do emissor na forma de utilização da linguagem durante a comunicação da mensagem (SCHIESSL, 2015, p.49). A experiênciatem sua origem por intermédio da observação, da prática, da tentativa, entre outros conceitos relacionados com o senso comum, e do conhecimento do mundo (SCHIESSL, 2015, p.49). Um exemplo comparativo entre sintaxe e semântica pode ser visto através da tabela 1. FRASE 1 FRASE 2 SINTAXE SEMÂNTICA Eu amo você! Eu ♥você! ≠ = Tabela 1: Sintaxe versus Semântica Fonte: Elaborado pelo autor, 2018 Aristóteles (384-382 aC), na Grécia antiga, criou a Enciclopédia a partir da reunião de todo o conhecimento que até então existia. Além disso, podemos considerar que, na última década, surgiu uma nova forma de renuir conhecimento por meio da Web Semântica, representando o cohecimento organizado em ontologias, ou seja, a Engenharia de Ontologias reúne os processos automáticos ou semiautomáticos capazes de adquirir cohecimento a partir dos recursos existentes (CANTELE, 2009, p.8). A forma como os conhecimentos são produzidos e consumidos é de responsabilidade da organização do conhecimento que se baseia em ontologias, capazes de caracterizar e de relacionar entidades em um mesmo domínio do conhecimento, e são utilizadas, nos dias atuais, em qualquer área para organizar a informação (GUIMARÃES, DUQUE, 2015, p.325-326). 2.2 Infográfico Hodiernamente, é muito utilizada a visualização da informação, assim como no passado, quando eram aplicadas em pinturas nas cavernas, em cerâmicas, nas inscrições em pedras e por Leonardo da Vinci para explicar invenções, máquinas e até mesmo o funcionamento do corpo humano, como os estudos realizados sobre embriologia demonstrados pela figura 3 (TEIXEIRA, 2018, p.52-53). Apesar das divergências, podemos considerar que as pinturas rupestres das cavernas de Altamira seriam os infográficos mais antigos que temos notícia (PUIGMART, 2014, p.99). A palavra ‘infográfico’ não consta nos 24 dicionários antigos, por exemplo, a primeira edição do Dicionário de Aurélio Buarque de Holanda, assim como seus cognatos em francês e inglês (SCHMITT, 2006, p.19). Figura 3: Estudo sobre embriologia feito por Leonardo Da Vinci Fonte: Adaptado pelo autor de < https://goo.gl/3b3js8 >. Acesso em: 12 nov. 2017. Infográfico é um binômio formado por uma imagem, somada a um texto, para qualquer que seja o suporte utilizado, com o intuito de transmitir dados ou fatos quando não existe nenhuma fotografia ou quando se faz necessária uma explicação mais detalhada para uma melhor compreensão (ABREU, 2012, p.12). Devido ao fato de utilizar recursos como imagens, ícones e textos, o infográfico é muito empregado em informações complexas, por sua capacidade de explicar de forma simples, clara e de fácil entendimento (FERNANDES, 2015, p. 56). O infográfico pode, então, ser definido como um sistema visual híbrido de 25 comunicação, devido ao fato de empregar imagens, palavras e números (SCHMITT, 2006, p.18). A figura 4 demonstra, por meio de um infográfico, quais são as vantagens comunicacionais de se utilizar um infográfico. Figura 4: Vantagens do infográfico Fonte: Adaptado pelo autor de <https://goo.gl/Ddwcpn>. Acesso em: 25 mar de 2017. Podemos observar, no decorrer da história, que os infográficos antigamente eram mais utilizados em explicações de processos naturais, físicos, biológicos e em manuais de produtos e serviços, porém, com o advento da informática, vem sendo utilizado cada vez mais no meio jornalístico (FERNANDES, 2015, p. 64). O objetivo de todo infográfico é explicar algo de forma fácil e rápida, transformando uma informação que seria complexa em algo de fácil interpretação para o leitor. Desse modo, dizemos que possui características “didáticas”, entretanto, podem ser classificados de acordo com seus objetivos em duas formas distintas (FERNANDES, 2015, p. 56): Infográficos Narrativos: Explicam, relatam ou descrevem um acontecimento, por exemplo, o infográfico da figura 5, o qual descreve como ocorreu o acidente aéreo do time de Chapecó na data de 29 de novembro de 2016. 26 Figura 5: Acidente aéreo time da Chapecoense. Fonte: < https://goo.gl/qKZ1E3>. Acesso em 03 jun.2017. Infográficos Instrutivos: Explicam o uso ou como fazer algo, passos ou etapas sobre o funcionamento de alguma coisa, descreve a rota para se chegar a algum lugar. Isso pode ser exemplificado no mapa da figura 6, o qual descreve a rota entre Brasília e o presídio de segurança máxima em Rondônia. 27 Figura 6: Rota entre Brasília e o presídio de segurança máxima de Rondônia. Fonte: <https://www.google.com.br/maps>. Acesso em 05 jun.2017. Em 1993, os professores Juan Antonio Giner e Miguel Urabayen, da Universidade de Navarra, resolveram homenagear Alejandro Malofiej, figura 7, cartógrafo argentino, considerado pioneiro no uso da infografia, e criaram o prêmio internacional “Malofiej” para premiar os melhores infográficos produzidos no mundo de cada ano e, consequentemente, promover a evolução desta técnica a nível mundial (FERNANDES, 2015, p. 58). Figura 7: Alejandro Malofiej. Fonte: <http://www.malofiejgraphics.com/about/>. Acesso em 10 jun. 2017. Como exemplo de alto padrão de qualidade e ganhador do prêmio Malofiej, podemos citar o infográfico que circulou no jornal El País, em 10 de outubro de 2010, explicando sobre os planos de resgate para o salvamento dos 33 mineiros que se encontravam presos desde a data 05/10/2010 na mina da cidade de San José no Chile conforme demonstra a figura 8 (ABREU, 2012, p. 15). 28 Figura 8: Infográfico publicado no El País, ganhador do prêmio Malofiej. Fonte: Adaptado de ABREU, 2012, p.16). 29 A partir de 1820, publicações científicas começaram a conter gráficos e diagramas e no ano de 2016, a revista The Economist publicou, no mês de junho, uma reportagem demonstrando que artigos que apresentam gráficos possuem uma probabilidade de serem citados 60% superior àqueles que não possuem, já para artigos que contêm diagramas, essa vantagem sobe para 120% em relação aos que não os possuem (TEIXEIRA, 2018, p.52-53). Esse interesse é análogo à forma pela qual enxergamos e codificamos uma mensagem quando ela é transmitida por um infográfico, tal como pode ser visto na figura 9. Figura 9: Reações que os infográficos produzem Fonte: Adptado pelo autor de <https://goo.gl/jo8PUr>. Acessado em: 29/07/2018 Podemos considerar que o infográfico envolve três áreas muito conectadas entre si, estas que são o design, a ilustração e a informação. Devido a esse fato, o profissional envolvido com esse tipo de atividade deverá desenvolver esses conhecimentos relacionados ao design da informação, conforme apresentado pela figura 10 (MORAES, 2013, p.21). Figura 10: Habilidades para o desenvolvimento de infográficos Fonte: Adptado pelo autor de MORAES, 2013, p.21 30 De forma crescente, o uso do infográfico se expande por segmentos diferentes. Assim, um dos principias fatores é a facilidade e a rapidez que proporcionam na leitura e na compreensão da mensagem. Essa afirmação pode ser comprovada pelo fato de que, em muitas vezes, é mais fácil interpretá-lo do que se comparado a um texto corrido - somente escrito. Isso pode ser visto por intermédio do exemplo demonstrado pela figura 11 (GOLOMBISK, HAGEN, 2012. p.154). Figura 11: A arte de ir direto ao ponto Fonte: Adaptado pelo autor de GOLOMBISK, HAGEN, 2012. p.154 Durante a elaboração de infográficos, o tema que está sendo trabalhado é uma ótima referência para sua composição, por exemplo, datas remetem à linha do tempo, localização podem ser mapas ou planta baixa, entre outras referências. Então, vale ressaltar que esses detalhes observados durante a elaboração e o desenvolvimento do infográfico resultarão em uma peça capaz de comunicar com rapidez, até mesmo em situações nas quais o público não lê e/ou não ouve bem e, normalmente, entre os recursos empregadosnesse tipo de elaboração, merecem destaque os apresentados pela figura 12 (GOLOMBISK, HAGEN, 2012. p.155). Com o advento da internet, o infográfico se reinventou a partir dos recursos multimídia que esse tipo de plataforma suporta, como gráficos animados e interativos, os quais auxiliam a visualização e a interpretação (GOLOMBISK, HAGEN, 2012. p.156). O modelo LOTCH, demonstrado pela figura 13, pode ser utilizado como uma potencial ferramenta para auxiliar estudos relacionados com design da informação e demais representações esquemáticas, permitindo reconhecer, analisar e categorizar especialmente infográficos (ALVES, AGUIAR, 2017, p.282-283). 31 Figura 12: Partes de um infográfico Fonte: Adaptado pelo autor de GOLOMBISK, HAGEN, 2012. p.164 32 Figura 13:Modelo LOTCH para avaliação de infográficos Fonte: Adaptada pelo autor de ALVES, AGUIAR, 2017, p.282 33 2.3 Design de interação O estudo de design de interação faz-se necessário devido ao fato de que todo software demanda de interação humana. Logo, esses conceitos deverão ser levados em conta para que a arquitetura da informação utilizada pelo método possa ser implantada de maneira simples e eficiente, atendendo, de forma prática, o armazenamento e a busca pelas informações pretendidas. Por conseguinte, antes mesmo de iniciar o estudo a respeito de design de interação, devemos avaliar a frase dita por Marin Leblanc, fundador do site www.iconfinder.com, considerado o mais popular do mundo para criação e venda de ícones de alta qualidade. Este resume, utilizando uma linguagem popular e simples, todos os conceitos estudados a respeito de design de interação, tal que serve como uma ferramenta de avaliação do projeto de interação desenvolvido. A figura 14 é um recorte do Twitter de Martin Leblanc, em que a famosa frase “A interface de usuário é como uma piada. Se você tem que explicar, ela não é tão boa.” está estampada em destaque. Figura 14: Twitter de Martin Leblanc Fonte: <https://twitter.com/martinleblanc/status/466638260195041280>. Acesso em: 21/07/2018 O principal objetivo do design de interação é desenvolver produtos interativos e realmente utilizáveis, isso implica em ser fácil de aprender, eficaz e que proporcione uma experiência agradável (ROGERS, SHARP, PREECE, 2013, p.24). Uma boa interface não é simplesmente repleta de gráficos e animações inovadoras, mas sim aquela que possui usabilidade intuitiva ao ponto de ser classificada como agradável (MILETTO, BERTAGNOLLI, 2014, 51 p.). Levando-se em conta o fator usabilidade durante o processo de desenvolvimento de uma interface, vários problemas são eliminados. Entre esses entraves, podemos destacar, como principal, a redução do tempo de acesso à informação (MILETTO, BERTAGNOLLI, 2014, p.53). 34 No ano de 1990, Bill Moggride, figura 15, era diretor da empresa de design IDO e, naquela época, começou a perceber que estavam criando novos produtos capazes de conectarem as pessoas, sendo esse novo estilo denominado “Design de Interação Prática”. Ademais, no passar dos anos, tornou-se uma prática de milhares de profissionais por todo o mundo (SAFFER, 2010, p.2). Um dos fatores que contribuíram muito para esse crescimento foi a ascensão da internet, nos anos 90, e a crescente utilização de microprocessadores em diversos equipamentos que se tornaram mais inteligentes, com recursos que demandavam certo grau de interação entre homem e máquina e, para esse tipo de projeto, são necessários conceitos relacionados ao design de interação (SAFFER, 2010, p.3). Figura 15: Bill Moggride Fonte: Adaptado pelo autor de SAFFER, 2010, p.2 A respeito da hierarquia de necessidades, deve-se levar em conta a experiência do usuário baseado no seu julgamento a respeito da utilidade, da funcionalidade, da facilidade de uso e de aspectos sensoriais (IIDA, BARROS, SARMET, 2016, p.46). O designer, para desenvolver sistemas que venham a possuir boa usabilidade, deverá centrar suas atenções principalmente nos seguintes elementos (MILETTO, BERTAGNOLLI, 2014, p.52): Compreender os usuários; Compreender as reais necessidades de cada usuário; Definir soluções tecnológicas para cada usuário e suas atividades. 35 O design de interação, durante a evolução do projeto, deverá sempre estar focado, buscando atingir metas de usabilidade para o produto ou para o serviço que está sendo desenvolvido. Além disso, uma vez finalizado, terá um conjunto de qualidades subjetivas desejáveis e indesejáveis, chamadas de metas da experiência de usuário, resultado consequente das metas de usabilidade (ROGERS, SHARP, PREECE, 2013, p.22-23). Todas essas metas estão representadas pela figura 16. Figura 16: Metas de usabilidade e de experiência de usuário Fonte: Elaborado pelo autor, 2018 No dia 9 de janeiro de 2007, o mundo passou por uma grande transformação, quando, Steve Jobs, durante o lançamento do iPhone, demonstrou interações que até então não eram possíveis em escala comercial. Um exemplo destas foi como dar zoom utilizando os dedos sobre uma tela sensitiva, navegar por aplicações diversas de maneira fácil - tudo com tamanho reduzido, capaz de caber no bolso da calça (LOWDERMILK, 2013, p.19). A partir desse momento, todas as técnicas envolvendo interatividade deveriam ser evoluídas, pois, com tantos recursos de fácil manuseio, esse conceito seria levado aos demais equipamentos. Por conseguinte, não demorou a surgir novos termos técnicos, por exemplo, Multi-Touch, tela 36 com múltipla sensibilidade capaz de detectar movimentos e NUI – Natural Use Interface, conforme demonstrado na figura 17 (LOWDERMILK, 2013, p.20). A Interface Natural de Usuário (NUI) trata-se de um conceito em que a interface de usuário é considerada invisível, haja vista que diferentemente do conceito anterior, o qual exigia equipamentos específicos para interação homem-máquina, como teclado e mouse, para receber o comando e monitor como instrumento de visualização, agora era possível tanto efetuar comandos quanto receber interações tudo por meio de uma única tela (AGNI, 2015). Figura 17: Multi-Touch / NUI – Natural Use Interface Fonte: Adaptado pelo autor de <https://goo.gl/Mro4am>. Acesso em: 30/07/2018 A partir da análise dos requisitos, é possível elaborar a interface com seus devidos funcionamentos lógicos, responsáveis pelas interações, que devem ser disponibilizadas (VASQUES, SIMÕES, 2016, p. 247). Vivemos cada vez mais dependentes de interação homem/computador, e, para que um software seja eficiente, deverá apresentar uma boa usabilidade. Em suma, a interface de usuário é discutivelmente o elemento mais importante, de tal forma que, se tiver baixo grau de usabilidade, poderá comprometer o todo, por isso, três princípios devem ser observados (PRESSMAN, MAXIN, 2016, p.317-318): Deixar o usuário no comando; Reduzir a carga de memória do usuário; Tornar consistente a interface. Existem diversos métodos para avaliar a usabilidade durante o desenvolvimento da interface, porém, podemos fazer uma classificação básica, dividida entre inspeções realizadas 37 por especialistas e testes empíricos feitos pelos usuários. Analisa-se a informação conforme tabela 2 (MILETTO, BERTAGNOLLI, 2014, p.58). Tabela 2: Classificação básica, métodos para avaliação de usabilidade Fonte: Adaptado pelo autor de MILETTO, BERTAGNOLLI, 2014, p.58 A partir da análise de 249 problemas envolvendo usabilidade, Jacob Nielsen, em 1994, fez uma revisão da regra que incialmente havia sido criada juntamente a Molich, em 1990, e o resultado do estudo foi denominado “Dez regras heurísticas de usabilidade de Nielsen”. A seguir, listadas abaixo (SALTIVERI, VIDAL, DELGADO, 2005, p.179-180): 1. Diálogos simples e naturais: a informação pretendida pelo usuário deve ser apresentada no momento correto e,para isso, a sequência de interação deve ser compatível; 2. Falar a linguagem do usuário: os termos empregados na interface devem ser de conhecimento dos usuários e as informações devem estar organizadas de acordo com o modelo mental desse usuário; 3. Minimizar a sobrecarga de memória do usuário: a navegação deve ser feita de forma natural, sem a necessidade de o usuário ter de ficar lembrando de operações para navegar pela interface; 4. Consistência: deve existir um padrão nas interações ocorridas, apresentando os mesmos elementos e ações; 5. Feedback: deve ser possível, por intermédio da própria interface, o usuário ser informado acerca do que está fazendo e como deve fazer, sendo adotado um limite máximo de até 10 segundos para esse tipo de interpretação; 38 6. Saídas claramente demarcadas: devem existir formas de, a qualquer momento, o usuário abandonar uma sequência de interações iniciadas e voltar ao estado anterior; 7. Atalhos: para usuários mais experientes, devem ser previstos atalhos, como teclas, e também recuperação de informações; 8. Boas mensagens de erro: mensagens de erro compreensíveis e realmente úteis que auxiliem na correção do erro; 9. Prevenir erros: Elaborar interações que evitem os erros; 10. Ajuda e documentação: deve-se buscar, ao máximo, ser totalmente intuitivo, de forma a não necessitar de ajuda, todavia, quando isso não for possível, essa documentação deverá estar disponível de forma online; As cognições mais relevantes para o design de interação são a atenção e a memória, pois estão relacionados diretamente com a capacidade de concentração e a capacidade de recordar conhecimentos que nos fazem agir adequadamente (ROGERS, SHARP, PREECE, 2013, p.66, 72). Segundo Norman (1993), há vários tipos de cognição, como pensar, lembrar, aprender, tomar decisão, ver, ler, escrever, falar, entre outros, em contrapartida, todos podem ser classificados em dois tipos específicos (ROGERS, SHARP, PREECE, 2013, p.65): Cognição experimental: percebemos, agimos e reagimos a eventos ao nosso redor de forma eficaz e sem esforço, graças a certa experiência adquirida. Como exemplo, dirigir um carro, ler um livro, conversar e jogar vídeo game. Cognição reflexiva: envolve pensar, comparar e tomar decisões, são responsáveis por novas ideias e à criatividade, como projetar, aprender algo novo e escrever um livro. 2.4 Funcionamento do computador Como falar de desenvolvimento de software sem entender os princípios básicos de funcionamento do computador? É possível, mas a compreensão será mais fácil e completa se esse conceito for trabalhado anteriormente. No entanto, não significa tratar a complexidade contida nesse universo, pelo contrário, como em toda ciência, o básico é simples e o suficiente para compreender esse trabalho. Os computadores são compostos de duas partes bem distintas entre si, estas que são, a primeira, o hardware, representando a parte física existente em forma de matéria, referente a todas as peças utilizadas na montagem do computador, sendo, portanto, a máquina em si. Além dele, a segunda, o software, que se trata de um conjunto de instruções escritas em uma 39 determinada linguagem de programação, armazenada na memória desse hardware, não existindo fisicamente, tratando-se, por conseguinte, de um produto virtual, responsável por dar vida e inteligência a essa máquina, uma vez que, sem o software, a máquina não passa de um monte de peças inertes, sem nenhum tipo de funcionalidade (MATOS, et al, 2009, p.20). Uma analogia interessante é demonstrada pela figura 18, a qual o hardware pode ser comparado ao cérebro com existência física real e o conhecimento armazenado nesse cérebro, em função da sua capacidade de memorizar, pode ser comparado ao software gravado em uma memória do computador. Ambos são abstratos, sem existência física real, em síntese, trata-se de algo virtual, porém, com capacidade de operar o hardware para que execute aquilo que vier a impor, ou seja, o abstrato agindo sobre o físico. Figura 18: Analogia hardware/software Fonte: Elaborado pelo autor, 2018 O termo processamento de dados significa transformar uma informação em outra por meio de equipamentos desenvolvidos para esse propósito, como os computadores, sendo que o principal componente que faz parte desse equipamento é a unidade de processamento de dados ou CPU - Central Processing Unit, capaz de interpretar e executar as instruções armazenadas em memória, denominadas programas ou softwares (MATOS, et al, 2009, p.21- 22). Baseado nesse conceito, é possível afirmar que o processamento de dados seria uma forma de automatizar a informação, contudo, isso fica um tanto obscuro ao imaginar, por exemplo, alguém utilizando a funcionalidade de desenhar por meio do computador, onde está a automação da informação nessa situação? Deve-se levar em consideração a interação que ocorre entre homem-máquina para que o computador compreenda que, ao movimentar o 40 mouse, ele deverá interpretar todas as informações enviadas sobre o raio pretendido. Nesse sentido, desenhar na interface esse círculo é como se alguém lhe pedisse para desenhar, primeiro, seria necessária a informação sobre qual é a figura e, depois, suas características. Os principais fabricantes mundiais de processadores são as empresas Intel e AMD, sendo que esses processadores são fabricados utilizando nanotecnologia, que se trata de uma tecnologia capaz de operar com medidas abaixo de 1 bilionésimo do metro ou 1 nanômetro (nm). Assim, para se ter uma ideia, o vírus da gripe possui 60 nm, logo, não é visível a olho nu, e, em reflexo do que foi supracitado, o processador Intel i7-4700EC de quarta geração utiliza componentes com base de 22 nm (POPOVICI, 2014, p.28-30). A figura 19 apresenta as logomarcas e as principais características comerciais das empresas Intel e AMD e, também, a foto do processador Inel i7-4700EC. Figura 19: Intel, AMD e processador Intel i7-4700EC Fonte: Elaborado pelo autor, 2018 A arquitetura do computador teve que ser desenvolvida de forma a possibilitar que os dados convertidos em informações fossem interpretados por ambas as partes, tanto do lado da pessoa humana, representada pela figura do usuário, quanto pela máquina computador. Para que isso fosse possível, surgiu o conceito de periféricos de entrada (input) e periférico de saída (output), sendo que o termo entrada/saída tem como referência o computador. Dessa forma, quando é mencionado input, significa que a informação parte de fora para dentro do computador, e output, a informação tem sua origem no computador e deve ser apresentada ao usuário, entendendo que seria fora do computador (SILVA, 2008, p.15). 41 Quando os computadores começaram a se popularizar, esses periféricos eram todos externos, necessitando de portas de comunicação para serem conectados. Em contrapartida, com a evolução e com o surgimento de componentes cada vez menores, foi se tornando possível agregar alguns desses periféricos na mesa carcaça do computador, por exemplo, o que acontece com os notebooks. Assim, pode considerar que esse conceito de periférico continua valendo se levarmos em consideração que o computador em si é representado pela placa mãe, base onde ficam instalados o processador e as memórias principais responsáveis pelo processamento dos dados. Logo, mesmo fazendo parte da mesma carcaça, existem os periféricos de entrada e de saída, além de portas de comunicação, como USB – Universal Serial Bus, para que outros periféricos possam também ser conectados. Os periféricos de entrada mais simples e básicos são o teclado e o mouse, enquanto que os de saída são o monitor e as caixas de som, conforme figura 20. Figura 20: Computador e periféricos básicos Fonte: Elaborado pelo autor, 2018 Baseado no raciocínio lógico, equipamentos começaram asurgir inicialmente simples e, com o advento dos microprocessadores, foram evoluindo até os tempos atuais, em que chegamos a altos graus de complexidade, como aqueles que são empregados principalmente nos computadores e mais recentemente nos smartphones que, na realidade, são computadores de mão com a funcionalidade de telefone. O primeiro equipamento com essa capacidade de atuar por meio de lógica que se tem notícia foi o ábaco, criado há muitos anos antes de Cristo e que tinha o intuito de realizar cálculos matemáticos, contudo, não se parece em nada com os computadores atuais, como fica demonstrado na figura 21 (SILVA, 2008, p.7). 42 Figura 21: Ábaco Fonte: <https://goo.gl/u5hwFU>. Acesso em: 21/07/2018 O artigo “Revolucionário IBM PC 5150 completa 31 anos de vida”, escrito pela redação do site Olhar Digital, especializado em tecnologia e disponível por intermédio do endereço eletrônico <https://goo.gl/tkJzuZ> acessado em 13 de maio de 2018, este cita que os computadores pessoais começaram a se popularizar na década de 70 e, naquela época, existiam vários hardwares diferentes, cada um utilizando sua própria arquitetura. Nesse momento, foi quando a IBM, que até então atuava fabricando computadores de grande porte, percebendo a importância desse mercado, resolveu investir também e, para isso, desenvolveu seu hardware batizado de IBM Personal Computer 5150, figura 22, lançado no dia 12 de agosto de 1981, vindo a se tornar o padrão adotado por todos os demais fabricantes de computadores pessoais. 43 Figura 22: IBM Personal Computer 5150 Fonte: < https://goo.gl/RBQF1T>. Acesso em: 3/07/2018 Ademais, não foi apenas o hardware da IBM que iria revolucionar esse segmento, além dele, fez surgir também o conceito de sistema operacional, não muito utilizado na época, e que ficou a cargo de Bill Gates - um jovem proprietário da empresa Microsoft, contratado para essa empreitada, cujo sistema operacional desenvolvido por ele recebeu o nome de MS- DOS, significando Microsoft Disk Operating System. O sistema operacional é responsável por realizar as operações básicas necessárias para o funcionamento do hardware e, antes de se utilizar esse conceito, todo software produzido sem uma parcela grande de esforço era dedicado a esse tipo de desenvolvimento. A partir do padrão IBM PC, os softwares foram divididos entre dois segmentos específicos, os quais seriam os sistemas operacionais responsáveis por fazerem funcionar o hardware e os demais chamados de aplicativos focados no desenvolvimento de soluções específicas, por exemplo, um editor de texto ou uma planilha eletrônica. A partir dessa prática, a maioria das empresas desenvolvedoras de softwares passou a se preocupar exclusivamente com o desenvolvimento do aplicativo, bastando que fosse compatível com o sistema operacional instalado no computador ou qualquer outro hardware específico. Em suma, o sistema operacional é um tipo de software e também deve ser escrito por meio de uma linguagem de programação, como a linguagem C, que é muito utilizada 44 principalmente pelo fato de ter sido adotada como padrão internacional em 1990 pela ANSI - American National Standards Institute (MARQUES, 2009, p.61). Dessa forma, o sistema operacional sempre deverá estar associado a algum tipo de hardware, podendo, também, ser empregado em mais de um tipo diferente ao mesmo tempo, assim como ocorre com o Windows, desenvolvido para funcionar tanto nos computadores quanto no Windows Phone, Xbox, Surface (tablet da Microsoft). A tabela 3 mostra uma relação de sistemas operacionais famosos comercialmente e seus respectivos hardwares. Sistema Operacional Hardware Computadores padrão IBM PC, Xbox, Surface (tablet da Microsoft), Windows Phone. Smartphones, tablets iPhone, iPad Computadores padrão IBM PC Computadores Macintosh Tabela 3: Sistemas operacionais famosos Fonte: Elaborado pelo autor, 2018 45 2.5 Programação de computadores Lógica tem origem da palavra grega “logiké”, em que o significado seria a ‘arte de raciocinar’, entretanto, transportando para tempos atuais, podemos entender que se trata da correção do pensamento, já que filosoficamente afirmando, procura-se entender o porquê de pensarmos de uma determinada forma e não de outra. A partir desse conceito, é cabível identificar qual deve ser a forma de pensar corretamente, visto que a outra forma mais complexa se trata do raciocínio, conforme exemplo descrito abaixo (DIONYSIO, 2013, p.5): Todo vulcano tem orelhas pontudas; Spock é vulcano; Logo, Spock tem orelhas pontudas. A partir dessa análise conceitual, lógica de programação se trata de um tipo de raciocínio lógico específico, utilizado para o desenvolvimento de programas, tais que serão empregados em máquinas que sejam capazes de interpretá-los e executá-los, conforme tenha sido escrito por meio da linguagem de programação utilizada para tal propósito (DIONYSIO, 2013, p.8). Esse tipo de raciocínio é denominado algoritmo e pode ser entendido como uma sequência de passos que devem ser executados obrigatoriamente, na ordem que foram programados, para que um objetivo específico seja alcançado (DIONYSIO, 2013, p.9). Como exemplo, podemos escrever de forma simplificada o algoritmo que pode ser utilizado para o desenvolvimento do programa utilizado pelo hardware de uma calculadora. 1. Calculadora lê o primeiro número digitado no teclado, mostra esse número no seu visor e armazena no espaço da memória A; 2. Calculadora lê o sinal matemático, mostra o sinal através de seu visor e armazena no espaço da memória B; 3. Calculadora lê o segundo número digitado no teclado, mostra esse número no seu visor e armazena no espaço da memória C; 4. Calculadora reconhece que o teclado com sinal de igual é pressionado; 5. Calculadora realiza a operação matemática envolvendo os números A e C, de acordo com a operação matemática armazenada no espaço de memória B; 6. Calculadora exibe o resultado da operação matemática através de seu visor; 7. Fim do algoritmo. 46 Uma vez definido o algoritmo, basta descrevê-lo utilizando uma sintaxe, função das palavras, que a máquina seja capaz de interpretar, além disso, o conjunto de palavras que compõe essa sintaxe são chamadas de linguagem de programação, semelhante aos idiomas que existem na Terra, compostos por seus respectivos dicionários de palavras. Como ocorre com os idiomas, em que se deve conhecer a língua para ser possível interpretar a mensagem e compreendê-la, assim também funcionam os sistemas microprocessados, que devem ser capazes de interpretar o algoritmo descrito, utilizando a linguagem de programação para que possam executar exatamente as funções previstas. Podemos definir que o ato de programar se trata de uma ação executada, cujo objetivo é representar a solução de um problema, utilizando uma linguagem de programação, em que a sequência das ações representa o algoritmo que deverá ser executado (PASCHOALINI, 2017, p.11-12) Existem três estruturas básicas principais, as quais a programação se baseia, sendo que a combinação destas possibilita o desenvolvimento de algorimos com alto nível de complexidade (DIONYSIO, 2013, p.11-14): Sequenciação: sequência de ações executadas uma única vez, indo do início ao fim; o Ex.: pisque a lâmpada 10 vezes e dispare a buzina; Seleção: executa ações de acordo com o resultado obtido; o Ex.: se o resultado for igual a 1, acenda a lâmpada. Se o resultado for igual a zero, apague a lâmpada; Repetição: excuta ações até que o resultado seja obtido; o Ex.: enquanto a soma dos resultados não for maior que 1.000, continue somando. Para a escrita desses algoritmos, utilizando a linguagem de programação adequada, foram desenvolvidas diversas ferramentas de programação ao longo do tempo e, atualmente,são denominadas IDE - Integrated Development Environment. Então, apesar de que, na realidade se trata também de um software cuja função é permitir a escrita de códigos de programas (algoritmo) utilizando uma determinada linguagem de programação, é como se fosse um editor de textos semelhante ao Word que, em vez de ser utilizado para escrever textos comuns, é empregado na escrita de códigos que serão interpretados e executados por computadores. Essas ferramentas normalmente possuem dois tipos de recursos muito importantes, são eles a capacidade de busca por palavra-chave, utilizada para auxiliar a localização de trecho do código e o destaque de cores de acordo com a sintaxe. Nesse sentido, se uma palavra for escrita errada, por exemplo, a IDE automaticamente altera a cor, 47 auxiliando na redução de erros, haja vista que, em programação, um simples ponto ou uma palavra trocada pode afetar todo o sistema. Um exemplo demonstrado pela figura 23 apresenta a interface da IDE Eclipse muito utilizada hodiernamente pelos programadores e um trecho do código que está sendo desenvolvido. Figura 23: IDE Eclipse Fonte:< https://goo.gl/rKVb72>. Acesso em 22/07/2018 O ato de aprender a programar pode ser comparado a uma criança quando aprende a ler e escrever, já que primeiro ela deve conhecer as letras, depois formar as palavras, na sequência, conseguir estruturar frase e, por conseguinte, está apta a ler e escrever (LEPSEN, 2018, p.15). No caso da programação, deve-se conhecer as palavras reservadas que fazem parte da sintaxe utilizada por aquela determinada linguagem e compreender as possibilidades de estruturar as lógicas a serem implementadas pelo software que essa linguagem permite de ser escrita, uma vez que, desse modo, como um texto sem sentido não pode ser interpretado também, um programa que utiliza todas as palavras reservadas corretamente, mas estruturado 48 de uma maneira que impossibilita a interpretação do computador, não será executado ou será executado de maneira indevida. 2.6 Processo de desenvolvimento de software O primeiro conceito a ser definido para o estudo de processo de desenvolvimento de software é referente à diferenciação entre software e programa de computador, isso devido ao fato de estes apresentarem uma linha tênue na origem e na aplicação, sendo, dessa maneira, confundidos pela grande maioria das pessoas. O programa de computador é um algoritmo exequível, capaz de solucionar determinado problema específico, o qual foi programado por meio de uma linguagem de computador e se diferencia do software, pelo fato de que este é composto por um ou mais programas e possui documentação específica, sendo tudo isso desenvolvido por meio de padrões de qualidade (MILETTO, BERTAGNOLLI, 2014, p.4). Diferentemente de produtos físicos, como carro, televisão, avião, entre tantos outros, o software é um produto que não é produzido, e sim desenvolvido, por isso, é complexo por natureza, exigindo atividades e processos bem definidos (MENDES, 2014, p.178). Desenvolvimento de software não se trata de uma atividade simples, isso porque demanda inicialmente o entendimento do problema ao qual se busca solucionar por meio do sistema informatizado que deverá ser produzido (MILETTO, BERTAGNOLLI, 2014, p.3). Baseado nesse conceito, podemos, então, avaliar que antes mesmo de pensar em produzir o software, devemos então compreender qual deverá ser a solução desenvolvida para que somente assim a programação seja inicializada. O processo de desenvolvimento de software é composto por atividades adaptáveis que possibilitam à equipe responsável selecionar e escolher o conjunto apropriado de ações e tarefas necessárias para entregar software de boa qualidade dentro do prazo definido (PRESSMAN, MAXIN, 2016, p.16). Todo tipo de técnica para desenvolvimento de software irá percorrer quatro fases distintas durante o projeto, como demonstrado pela figura 24 (PRESSMAN, MAXIN, 2016, p.57) Figura 24: Fases de um projeto de software Fonte: Elaborado pelo autor, 2017 49 Concepção: compreender regras e funcionalidades que deverão ser contempladas pelo software; Elaboração: planejar a construção do software, nessa fase, habilidades relacionadas à gestão de projetos são de grande importância; Construção: utiliza-se da documentação da concepção, somado à documentação da elaboração, para construir aquilo que foi planejado. Podemos afirmar que seria a parte relacionada com a “mão na massa”, tratando-se de programação; Transição: validar se aquilo que foi construído está realmente funcionando, de acordo com a concepção, e colocar o software para funcionar, seria, portanto, o momento final antes da entrega ao cliente. Outro conceito muito importante envolvendo desenvolvimento de software está relacionado ao ciclo de vida dele, tal que pode ser comparado ao nosso ciclo de vida biológico, devido ao fato de estar totalmente relacionado ao uso humano. Dessa forma, acaba por ser também condicionado ao nascimento, ao crescimento, ao aprendizado, à evolução, ao envelhecimento e à morte, inclusive pode-se pensar que, em alguns casos, ocorre a mortalidade infantil devido a erro estratégico, relacionado à solução implementada, à tecnologia utilizada ou ambos. Basicamente existem apenas dois tipos de ciclo de vida de software, em cascata e iterativo, conforme demonstrado pela figura 25 (LOBO, 2008, p. 21). Figura 25: Tipos de ciclo de vida Fonte: Elaborado pelo autor, 2018 50 Ciclo de vida em cascata: as fases possuem início e fim bem definidos durante a evolução do projeto e não se repetem; Ciclo de vida iterativo: ocorrem vários ciclos, os quais as fases se repetem durante todo o projeto e o somatório do que foi produzido em cada ciclo resulta no produto final. A maioria dos métodos e dos processos de desenvolvimento de software existentes possuem uma dependência muito grande em relação ao ciclo de vida que será adotado, visto que as atividades definidas deverão atender a esse ciclo (LOBO, 2008, p.20). Isso possibilita concluir que, ao elaborar um método ou um processo para o desenvolvimento de software, deve-se, inicialmente, levar em consideração se todas as fases irão ocorrer de forma única, partindo da concepção até a última fase - que seria a transição a qual se encerraria com a entrega de todo o software pronto (ciclo de vida em cascata) ou seria composto por fases que se repetiriam durante todo o projeto, com entregas parciais a cada iteração, de maneira que, ao final, quando todas essas entregas parciais se somassem, o todo estaria pronto (ciclo de vida iterativo). A escolha entre método ou processo está relacionada ao tipo do projeto, porém, observa-se que os processos estão sendo gradativamente substituídos pelos métodos devido ao fato de esses serem mais rápidos e flexíveis (LOBO, 2008, p.40). Ademais, existe muita dúvida sobre a definição de processo, metodologia e método de desenvolvimento de software. A tabela 4 apresenta um resumo sobre esses conceitos (LOBO, 2008, p.39). Tabela 4: Resumo sobre processo, metodologia e método de desenvolvimento de software Fonte: Adaptado pelo autor de LOBO, 2008, p.39 Existem vários processos e métodos para desenvolvimento de software, tanto utilizando ciclo de vida em cascata quanto iterativo, todavia, as duas técnicas com muita 51 representatividade atualmente nesse segmento são o RUP – Rational Unified Process – e a Metodologia Ágil, sendo que ambos utilizam o ciclo de vida iterativo e incremental. Analisa- se, diante disso, a empresa IBM, por meio de sua divisão Rational Software, é a responsável pelo desenvolvimento do RUP, um processo configurável de acordo com o tipo o e tamanho do projeto ao qual deverá ser empregado (PEREIRA, 2016, p.48). A Metodologia Ágil tem seu nascimento associado ao Manifesto Ágil, elaborado