APLICAÇÃO DA COMPUTAÇÃO EM NUVEM, SOFTWARE COMO SERVIÇO E TÉCNICAS DE INTERAÇÃO HUMANO-COMPUTADOR PARA A ACESSIBILIDADE VISUAL: Um estudo de caso

July 5, 2017 | Autor: Caio Santos | Categoria: Information Technology, Cloud Computing, SaaS Implementation, Web Acessibility
Share Embed


Descrição do Produto

UNI-FACEF CENTRO UNIVERSITÁRIO DE FRANCA

Caio Santos Freitas Douglas Luis Marcelino Júnior

APLICAÇÂO DA COMPUTAÇÃO EM NUVEM, SOFTWARE COMO SERVIÇO E TÉCNICAS DE INTERAÇÃO HUMANO-COMPUTADOR PARA A ACESSIBILIDADE VISUAL: Um estudo de caso

FRANCA 2013

CAIO SANTOS FREITAS DOUGLAS LUIS MARCELINO JÚNIOR

APLICAÇÂO DA COMPUTAÇÃO EM NUVEM, SOFTWARE COMO SERVIÇO E TÉCNICAS DE INTERAÇÃO HUMANO-COMPUTADOR PARA A ACESSIBILIDADE VISUAL: Um estudo de caso

Trabalho de Conclusão de Curso apresentado ao Uni-FACEF Centro Universitário de Franca, para a obtenção do título de bacharelado em Sistemas de Informação. Orientação: Prof. Dr. Daniel Facciolo Pires

FRANCA

2013 CAIO SANTOS FREITAS DOUGLAS LUIS MARCELINO JÚNIOR

APLICAÇÂO DA COMPUTAÇÃO EM NUVEM, SOFTWARE COMO SERVIÇO E TÉCNICAS DE INTERAÇÃO HUMANO-COMPUTADOR PARA A ACESSIBILIDADE VISUAL: Um estudo de caso

Trabalho de Conclusão de Curso apresentado ao Uni-FACEF Centro Universitário de Franca, para a obtenção do título de bacharelado em Sistemas de Informação. Orientação: Prof. Dr. Daniel Facciolo Pires

Franca, 12 de novembro de 2013

Orientador(a): ______________________________________________________ Nome: Prof. Dr. Daniel Facciolo Pires Instituição: Centro Universitário de Franca – Uni-FACEF

Examinador(a): _____________________________________________________ Nome: Profa. Dra. Jaqueline Brigladori Pugliesi Instituição: Centro Universitário de Franca – Uni-FACEF

Examinador(a): _____________________________________________________ Nome: Prof. Ms Carlos Alberto Lucas Instituição: Centro Universitário de Franca – Uni-FACEF

RESUMO Este trabalho tem como objetivo investigar através de revisão bibliográfica os conceitos de computação em nuvem e software como serviço (SaaS) e pensa-los como uma forma facilitadora do acesso á aplicações através de suas vantagens em relação ao modelo tradicional que vão desde o fácil gerenciamento até o licenciamento flexível. Estudar os conceitos fundamentais relacionados à área da computação responsável pela interação humano-computador (IHC) que são necessários para o entendimento do, também apresentado neste trabalho, guia de recomendações para acessibilidade em aplicações Web definido pela organização normativa da internet, W3C. Todos esses conceitos foram aplicados na elaboração de requisitos e desenvolvimento de uma aplicação de gestão empresarial genérica com foco em sua interface com acessibilidade visual para deficientes visuais que desejam se inserir no mercado de trabalho ou que possuem suas próprias empresas. Palavras-Chave: Software Acessibilidade visual.

como

serviço,

Interação

humano-computador,

SUMÁRIO INTRODUÇÃO 1. COMPUTAÇÃO EM NUVEM E SOFTWARE COMO SERVIÇO

ABSTRACT This research aims to investigate through literature review the concepts of cloud computing and software as a service (SaaS) and think them as a way of facilitating access to applications through its advantages over the traditional model ranging from the easy management until licensing flexible, study the fundamental concepts related to the field of computing responsible for human-computer interaction (IHC) that are necessary for the understanding of, also presented in this work, guide recommendations for accessibility in web applications defined by internet standards organization, W3C. Thus, applying all these concepts in the elaboration of requirements and development of a generic application of business management with a focus on its interface with visual accessibility for the visually impaired who wish to enter the labor market or who own their own businesses. Key-Words: accessibility.

Software

as

a

Service,

Human-computer

interaction,

Visual

Introdução As tecnologias de informação e internet são, já há alguns anos, parte indissolúvel da sociedade. Seja profissionalmente ou pessoalmente é fato que a tecnologia ajuda e potencializa a capacidade das pessoas realizarem seus afazeres, atingirem culturas distantes e se comunicarem. Sonza (2008) evidencia que a evolução da tecnologia impõe mudanças na forma de perceber e representar a realidade. Por esses motivos é preciso que se pense a tecnologia como um meio democrático de inclusão que prime pela sua própria maleabilidade e acessibilidade para dar a oportunidade de que cada vez mais pessoas com diversas necessidades especiais possam se inserir na vida em sociedade, no mercado de trabalho e conquistar a sua independência enquanto indivíduos. “O poder da tecnologia e da internet está em sua universalidade. O acesso feito por qualquer pessoa, independentemente de sua incapacidade, é um aspecto essencial” (ROCHA, ALVES e DUARTE, 2011). O que ocorre é que esse pensamento ainda não está totalmente disseminado como observa Sonza (2008): "apesar das inúmeras vantagens que a tecnologia faz emergir, novos obstáculos são impostos às pessoas que possuem alguma limitação". Rocha, Alves e Duarte (2011) acrescentam que muitos problemas de acessibilidade são causados pela falta de conhecimento dos desenvolvedores e proprietários sobre como usar conceitos de acessibilidade de maneira correta. Nesse sentido, este trabalho tem como objetivo uma investigação de como pensar os conceitos relacionados à computação em nuvem e software como serviço como facilitadores do acesso a software. E a partir disso, aplicar estes conceitos computacionais em parceria ao estudo dos fundamentos da interação humano-computador na promoção da acessibilidade através do desenvolvimento de uma interface gráfica de um sistema de gestão empresarial para portadores de deficiência visual, baixa visão e outras complicações que limitem a capacidade visual. É preciso entender, então, primeiramente do que se trata a deficiência visual e o seu contexto na vida dos seus portadores.

Deficiência, na visão de Matos (2004), é qualquer perda ou anormalidade de uma estrutura anatômica ou função fisiológica ou psicológica. Gil (2000) então define a capacidade visual como sendo dividida em graus de visão que abrangem um amplo espectro, desde a cegueira total, até a visão perfeita, também total. De acordo com esta autora, a expressão 'deficiência visual’ se refere à limitação das ações e funções do sistema visual e vai da cegueira até a visão subnormal, que pode ser chamada também por baixa visão e são as alterações das capacidades funcionais da visão, decorrente de diversas doenças, caracterizando-se pelo rebaixamento significativo da acuidade visual, redução do campo visual e da sensibilidade aos contrastes. Um exemplo simples de visão subnormal é a incapacidade de enxergar com nitidez e poder contar dedos de uma mão a uma distância de 3 metros. Matos (2004) conclui que a deficiência visual é um fator de exclusão que coloca o indivíduo em uma desvantagem na sociedade. As patologias estão entre os dois extremos da capacidade visual e não são consideradas como deficiência visual mesmo afetando consideravelmente a capacidade de visão de seus portadores e, por consequência, muitas atividades sociais, profissionais e de aprendizagem. São algumas dessas patologias, a miopia, estrabismo, astigmatismo, ambliopia, hipermetropia e o daltonismo. (GIL, 2000) Como a proposta do trabalho diz respeito a uma interface de um sistema de gestão empresarial, é preciso ressaltar nesta introdução a relação dos deficientes visuais com o mercado de trabalho. Qualquer pessoa que queira se colocar no mercado de trabalho necessita de habilidades especificas ao oficio que deseja realizar. Para deficientes visuais ou pessoas com alto grau de visão subnormal, segundo Gil (2000), se torna particularmente importante o investimento em capacitação

para

que

possam

ampliar

seu

acesso

a

trabalhos

mais

recompensadores, financeiramente ou pessoalmente. Até recentemente, o portador de déficit visual contava com pouquíssimas oportunidades de trabalho, as vagas se limitavam a embalador, controlador de qualidade, separador de peças, operador de câmara escura, telefonista e outros trabalhos semelhantes. É o desenvolvimento da tecnologia que proporcionou em grande parte, nas ultimas décadas, uma ampliação das opções para cidadãos deficientes, seja visual, físico ou mental. (GIL, 2000) Existem então, variados equipamentos tecnológicos que podem ser utilizados por deficientes visuais nas suas funções profissionais: impressoras e

teclados em Braille (sistema de leitura com o tato para cegos, inventado pelo francês Louis Braille no ano de 1827 em Paris [ILTEC, 2013]) (figura 6), softwares que reproduz em áudio o que está escrito na tela ou que melhora a experiência no caso dos portadores de visão subnormal e patologias entre outros dispositivos. Com isso, o deficiente pode se tornar um profissional de ponta na sociedade, prover o sustento de sua família, se dedicar a cursos de gestão empresarial e adquirir noções sobre legislação para até mesmo se tornar um empreendedor. (GIL, 2000) Além disso, existem no Brasil programas governamentais e leis para o incentivo a capacitação e criação de vagas destinadas a pessoas com deficiência visual. O Guia Legal do Portador de Deficiência Visual (2009) elaborado pela Câmera dos Deputados traça um panorama da sua referente legislação. De acordo com os sete artigos onde deficientes são mencionados, fica explicito que ninguém pode ter um emprego negado por sua deficiência, caracterizando-se atitude preconceituosa. Outra questão importante são as cotas, segundo a legislação toda empresa com mais de cem funcionários deve ter 2% do seu quadro destinado às pessoas deficientes. A estrutura deste trabalho se divide em três capítulos sendo o primeiro sobre computação em nuvem e software como serviço que é a forma pela qual se dá a “entrega” da aplicação proposta com intenção de tornar o seu acesso mais amplo, o segundo capitulo, que trata das relações dos conceitos de interação humanocomputador com as recomendações de acessibilidade na web sugeridas pela organização normativa da internet, a W3C. Por fim, são especificados os requisitos e as características da aplicação proposta através de imagens de suas telas e explicações sobre o seus conceitos e funcionalidades.

1. COMPUTAÇÃO EM NUVEM E SOFTWARE COMO SERVIÇO 1.1 INTRODUÇÃO Dentre as diversas formas pelas quais pode se definir computação em nuvem, Veras (2012), a caracteriza basicamente como um conjunto de recursos virtuais facilmente utilizáveis e acessíveis, tais como hardware, software, plataformas de desenvolvimento e serviços. Serviços estes que podem ser reconfigurados de forma dinâmica a qualquer hora para se ajustarem a uma demanda de uso que pode variar de acordo com necessidades especificas, de sazonalidade ou de crescimento por parte do utilizador, possibilitando assim uma maior flexibilidade ao gerenciamento da tecnologia da informação (TI) . A fim de reduzir custos, a computação em nuvem se mostra uma alternativa bastante atraente, pois, como Veras (2012) descreve, a sua principal missão é a de “substituir ativos de TI que precisam ser gerenciados internamente por funcionalidades e serviços do tipo pague-conforme-crescer e pague-pelo-uso a preços de mercado.” Sendo assim, não existe ociosidade de infraestrutura e serviços e nem limitações dos mesmos. A computação em nuvem deve passar uma ilusão de infinitude de capacidade. A figura 1 demonstra visualmente esse sistema de otimização de recursos de acordo com a demanda.

Figura 1. Escalabilidade da Computação em nuvem (VERAS p. 34) Observa-se que o risco da baixa e da alta utilização que existe em ambientes de TI tradicionais é minimizado pela computação em nuvem onde os recursos rodam em data centers externos. (VERAS, 2012) VERAS (2012) ainda coloca que a proposta da computação em nuvem é melhorar a operação dos serviços de TI e torná-los mais baratos. Diz que somente a elasticidade dos componentes da nuvem, os data centers, não é suficiente para garantir a portabilidade requeridas pelas empresas. Os aplicativos também deverão ser orientados a serviços para garantir esta elasticidade. 1.2 CARACTERISTICAS ESSENCIAIS O Instituto Nacional de Padrões e Tecnologia dos Estados Unidos NIST (National Institute of Standards and Technology) (NIST, 2011) definiu um modelo de características essenciais a um ambiente de computação em nuvem:  Autoatendimento sob demanda: funcionalidades devem estar disponíveis, conforme necessário, automaticamente e sem a necessidade de interação humana com o fornecedor de cada serviço.  Amplo acesso à rede: recursos estão disponíveis através da internet e são acessados por meio de diferentes tipos de plataformas (por exemplo, telefones celulares, laptops e PDAs).  Pool de recursos: recursos de computação do provedor são agrupados para atender vários consumidores de acordo com a sua demanda Há um sentido de localização independente, em que o cliente geralmente não tem controle ou conhecimento sobre a exata localização dos serviços fornecidos.  Elasticidade rápida: funcionalidades devem ser rápidas e elasticamente providas, em alguns casos automaticamente, tendo em vista três principais conceitos: escalabilidade linear, utilização sob demanda e pagamento por uso de recursos pré-determinados.  Serviço mensuráveis: o uso de recursos deve ser monitorado,

controlado e reportado, oferecendo transparência tanto para o provedor quanto para o consumidor do serviço utilizado. 1.3 HISTÓRIA Joseph Carl Robnett Licklider, um dos responsáveis pelo desenvolvimento da ARPANET (Advanced Research Projects Agency Network), já havia introduzido, na década de 60, a ideia de uma rede de computadores onde todos deveriam estar conectados entre si, acessando programas e dados de qualquer site e de qualquer lugar, algo próximo do atual conceito de disponibilização de serviços de software e hardware em rede global. (MOHAMED, 2009) Ainda naquela década, o pesquisador da área de computação, John McCarthy, teorizou um conceito em que a informática deveria ser organizada na forma de um serviço de utilidade pública provido por empresas que cobrariam pelo uso. (MOHAMED, 2009) Porém, um dos primeiros marcos da computação em nuvem apareceu em 1999 com o surgimento da Salesforce.com, pioneira no desenvolvimento e comercialização de aplicações empresariais através da Internet. (MOHAMED, 2009) De acordo com Taurion (2009), O termo computação em nuvem surgiu em 2006 em uma palestra de Eric Schmidt, do Google, sobre como sua empresa gerenciava seus data centers. A partir de então, segundo Mohamed (2009), este termo passou a ganhar mais espaço, e outras empresas também começaram a investir nessa área, como a Amazon, a IBM e a Microsoft. 1.4 ATORES Vaquero et al (2009) divide os atores da computação em nuvem em três: os prestadores de serviços, SPs (do inglês Service Providers), os usuários dos serviços e os prestadores de infraestrutura, IPs (do inglês Infrastructure Providers). Os SPs desenvolvem e permitem o acesso aos serviços por parte dos usuários através de interfaces baseadas em redes ou na Internet. Os IPs, por sua vez, fornecem a infraestrutura sobre a qual os serviços estarão instalados; essa infraestrutura é fornecida na forma de um serviço pelos IPs. A Figura 2 demonstra essa relação entre os atores.

Figura 2. Atores da computação em nuvem (Figura baseada em VAQUERO et al. 2009) 1.5 CAMADAS Chirigati (2009) descreve as três camadas da computação em nuvem. A

camada de infraestrutura é a camada mais baixa. Através dela os provedores de infraestrutura disponibilizam os serviços de rede e armazenamento da nuvem. Fazendo assim, parte dela, os servidores (datacenters). A camada de plataforma está presente no centro do modelo e provê o ambiente para o desenvolvimento, testes, implantação e manutenção das aplicações. A nuvem esconde toda a infraestrutura para o usuário e é essa camada responsável por fazer a ligação entre a infraestrutura e os provedores de serviços. Por fim, a camada de aplicação é a de mais alto nível de abstração, é aquela que oferece diversas aplicações como serviços para os utilizadores (Figura 3).

Figura 3. Camadas da computação em nuvem (CHIRIGATI, 2009) 1.6 VIRTUALIZAÇÃO Consiste em particionar virtualmente um único sistema computacional em vários outros, formando assim máquinas virtuais, ambientes independentes e completos, similares a uma máquina física. Com isso, cada máquina virtual pode ter seu próprio sistema operacional, aplicativos e serviços de rede (Internet) como é ilustrado na figura 4. Essas máquinas ainda podem ser interconectadas (virtualmente) através de interfaces de redes, switches, roteadores e firewalls virtuais, além do uso de VPN (Virtual Private Networks) que já é comum nas empresas e que se caracteriza em uma rede privada constituída através de meio de comunicação público (Internet). (CARISSMI, 2008)

Figura 4. Princípio básico de máquinas virtuais (CARISSIMI, 2008) Na visão de Taurion (2009, p. 44), “o fundamento básico da computação em nuvem é a virtualização dos recursos computacionais”. E ainda completa que “a computação em nuvem se trata de uma implementação por excelência dos conceitos da virtualização” (TAURION, 2009, p. 47). Simplificando o gerenciamento, a virtualização permite a flexibilização e amplia o poder de processamento das máquinas reais através do seu uso mais racional. Funcionalidades contidas nos softwares de virtualização também permitem melhorar a disponibilidade e a recuperação de desastres de ambientes de TI de uma maneira mais simples e com menor custo quando comparado a formas mais tradicionais. (VERAS, 2012) Quando um utilizador adquire serviços de computação em nuvem, na prática não está alugando diretamente computadores reais, mas sim interfaces virtuais que existem simuladas pelo software, que operam em cima dos computadores reais da infraestrutura do provedor da nuvem. (TAURION, 2009) 1.7 MODELOS DE SERVIÇO Veras (2012, p. 36) classifica os modelos de serviço de computação em nuvem em três:  IaaS – Infraestrutura como Serviço (do inglês Infrastructure as a Service): modelo no qual um provedor oferece sua estrutura de

processamento e armazenamento à clientes que farão uso de tal serviço de forma transparente e virtualizada. O utilizador não tem controle da infraestrutura física mas somente do ambiente virtual onde pode operar normalmente como se estivesse em uma maquina física de fato através de mecanismos de virtualização.  PaaS – Plataforma como Serviço (do inglês Platform as a Service): o provedor oferece a plataforma de armazenamento e comunicação na qual um desenvolvedor pode implantar seus aplicativos e disponibilizá-los na nuvem.  SaaS – Software como Serviço (do inglês Software as a Service): o armazenamento e processamento de um software é provido por um provedor de computação em nuvem e ao utilizador cabe somente o acesso do mesmo através de um browser de internet sem a necessidade de nenhum tipo de instalação local. Todo o controle e gerenciamento de rede, servidores e sistemas operacionais necessários para o funcionamento do software é de responsabilidade do provedor. Este modelo será aprofundado na próxima seção. 1.8 SOFTWARE COMO SERVIÇO 1.8.1 Introdução Atualmente, espera-se que os departamentos de TI nas empresas se comportem como fornecedores de soluções orientadas a serviços. Nesse contexto, Carraro e Chong (2006) expressam que o software como Serviço (SaaS) tem o potencial de transformar a forma com que esses departamentos lidam com os softwares corporativos, ao invés de se dedicarem a implantações, suporte e manutenção dos seus aplicativos passam a gerenciar os serviços que esses aplicativos oferecem. O SaaS nasceu como uma evolução natural ao conceito de ASP (Application Service Providers) que forneciam aos seus usuários aplicativos empacotados através da internet. Nesse conceito, os aplicativos tinham mais pontos em comum, como licenciamento e arquitetura, do que com os atuais baseados em

SaaS e foram construídos para serem acessados por um único inquilino. Suas capacidades de compartilhamento de dados e acesso às aplicações externas eram baixas e por isso ofereciam poucas vantagens econômicas em relação ao modelo tradicional com armazenamento e processamento no próprio local. (VERAS, 2012) Sendo uma modalidade de serviço de computação em nuvem em que aplicativos de interesse para mais de um usuário são hospedados em servidores remotos como uma alternativa ao processamento e armazenamento local, o Software como Serviço (Software as a Service – SaaS), dessa forma, permite que as aplicações passem a ser oferecidas como serviço por provedores e acessadas pelos clientes por aplicações baseadas em browsers. O Controle e o gerenciamento da rede, sistemas operacionais, servidores e armazenamento é então feito pela empresa provedora do serviço. (VERAS, 2012)

1.8.2 EVOLUÇÃO DO EMBIENTE DE TI EM DÉCADAS Cambiucci (2009) traça um breve histórico da evolução do ambiente de TI a partir da década de 1970 até os últimos anos, a visão geral dessa evolução pode ser conferida na figura 5. Na década de 70, as grandes empresas possuíam centros de processamento com alto custo de operação e manutenção. Predominavam os sistemas monolíticos que por sua vez exigiam dentro da empresa profissionais altamente especializados e com muito conhecimento técnico para a operação desses sistemas. Isto tornava a TI pouco visível para gestores e usuários finais. Chegando a década de 80, o mundo viu o nascimento da computação pessoal oferecendo poder de processamento a baixo custo para o usuário final que agora tinha mais poder para operar e manipular seus dados com uma menor necessidade de especialização. Surgiam aí, as linguagens de programação mais simples como o Basic para o desenvolvimento de aplicações domésticas ou empresariais de pequeno porte. Ao final da década iniciava-se, com o uso de redes corporativas em ambientes interoperáveis, a computação cliente/servidor. Permitiuse então que as empresas integrassem ambientes de computação e sistemas mas de forma ainda limitada.

A arquitetura

cliente/servidor

se

consolidou

nos

anos

90

com

disponibilização da Web como uma rede pública de baixo custo para universidades, instituições privadas e públicas e usuários domésticos. Enquanto proliferavam novas topologias de rede ampliava-se as capacidades de comunicação e integração entre sistemas começando aí as implementações de serviços expondo funcionalidades de aplicações para fora das empresas. A virada para o século XXI trouxe mais mudanças importantes, padrões como HTTP, HTML, SOAP e XML impulsionaram a integração entre sistemas com suporte a um número crescente de usuários através da web. Começava-se a falar também em novas aplicações e serviços interativos que moldaram a nova Web 2.0 como também Web Services, serviços on-line acessados por sistemas diferentes, ampliando ainda mais as possibilidades de integração. Por fim, nos últimos anos acompanhamos a nova tendência da área, a computação em nuvem. Os data centers, grandes centros de processamentos de dados apareceram em grande oferta pelo mundo, oferecendo os seus serviços infraestrutura como serviço (IaaS). A TI se tornou mais dinâmica, flexível e híbrida, combinando serviços locais com serviços remotos. Em paralelo, os custos também passaram a ser mais flexíveis, de acordo com o volume de uso, o que vai mais em encontro com o foco no negócio adotado pelas empresas.

Figura 5. Visão geral da evolução do ambiente de TI em décadas (CAMBIUCCI, 2009) 1.8.3 SAAS E SOA Diversas empresas de diferentes áreas de atuação vêm, hoje, implementando projetos calcados nas bases do conceito SOA (Service Oriented

Architecture - Arquitetura orientada a serviço), nas palavras de CAMBIUCCI (2009), este conceito, consiste em “um estilo de arquitetura onde funcionalidades especificas de sistemas são oferecidos na forma de serviços”. Os projetos de SOA têm como objetivo a busca por benefícios que juntos possam dar vazão a uma TI mais estabilizável, de fácil gerenciamento e que atenda de forma mais rápida as necessidades de negócio das organizações e dos usuários em torno do preceito que se chama de negócio ágil (Agile Business). Em parceria a isso, o modelo de entrega de software como serviço, com suas características soluções flexíveis e reutilizáveis e suporte a diversos usuários dentro de ambiente sob demanda de computação em nuvem, contemplam toda uma poderosa de abordagem orientada a serviços, também conhecida por TI dinâmica. (CAMBIUCCI, 2009) 1.8.4 LICENCIAMENTO Segundo Carraro e Chong (2006), no modelo tradicional de software instalado no local, o licenciamento, em geral é feito para sempre, com um pagamento único sobre o sistema ou relativo a quantidades de usuários. No modelo de SaaS as aplicações são licenciadas baseado em uso, fazendo-se assim a escalabilidade de custo inerente ao conceito de computação em nuvem. Algumas formas de licenciamento em SaaS citadas por Melo (2010) são: a inscrição (subscription), onde o cliente paga um valor fixo em espaços temporais, a transação (transaction); em que o pagamento é feito de acordo com as transações realizadas; baseado em anuncio (ad-funded), anúncios são exibidos na aplicação como forma de financiamento da mesma que nesse caso pode ser oferecida sem um custo concreto pra o usuário final. Na visão de Melo (2010), a tendência é que, usando-se de SaaS, os custos a longo prazo sejam menores do que se cada cliente, individualmente, tivesse que adquirir e manter suas aplicações. 1.8.5 LOCAL Os aplicativos SaaS são instalados no local do provedor do serviço SaaS, em Data Centers, enquanto o cliente apenas precisa acessá-lo pela web na maioria das vezes através de navegadores de internet. (VERAS, 2012)

1.8.6 GERENCIAMENTO DE SOFTWARE Os departamentos de TI, tradicionalmente, são incumbidos de fornecer todos os serviços que cabem ao seu âmbito aos usuários, entre eles, manutenção de redes, servidores e aplicativos. Isso representa um grande volume de esforço muitas vezes desnecessário, pois poderia ser feito por terceiros especializados em serviços de TI. Nesse contexto, o SaaS entra como uma alternativa em que todo o gerenciamento de segurança, desempenho e disponibilidade é responsabilidade do provedor do serviço, restando assim ao departamento de TI local apenas a intermediação entre o provedor e os seus usuários finais. (CARRARO e CHONG, 2006) 1.8.7 ESTUDO DA SAFENET Em estudo realizado pela SafeNet (SAFENET, 2013), empresa americana do ramo de segurança da informação, em que foram consultados 600 desenvolvedores de software e 200 usuários finais, foi constatado que a opção por SaaS é uma realidade irreversível. Apesar de um terço dos fabricantes de software ainda não terem adotado o modelo, 75% deles tem planos para oferecer software como serviço. Os outros dois terços já oferecem há algum tempo parte ou até mesmo a totalidade de produtos desta forma. Anselmo Cimatti, gerente nacional de SafeNet no Brasil, em depoimento ao site CONVERGÊNCIA DIGITAL (2013), diz que a entrega de software baseado em nuvem é atraente tanto para fabricantes de software quanto para usuários pois possibilita modelos de negócios mais flexíveis e maior simplicidade operacional. Cimatti completa observando que "as vantagens oferecidas pelo serviço de entrega em nuvem compensam bastante as dificuldades de implementação iniciais". Ainda de acordo com o estudo, é esperado por 62% dos entrevistados que com a adoção do uso do conceito de SaaS, custos operacionais dos fabricantes, relacionados a implantação, ativação e suporte diminuam. Entre os que já utilizam, 61% confirmam essas expectativas relatando um impacto financeiro positivo e apenas 6% obtiveram prejuízo. Entre os usuários finais o panorama também é positivo, entre as

vantagens do SaaS, 48% citaram a capacidade de acesso a novos mercados e nichos, 33% o melhor acompanhamento de uso e 32% o time to market (tempo de colocação do produto no mercado) mais rápido. Já 25% citam a complexidade de migração do modelo tradicional para a nuvem como uma dificuldade ainda a ser superada, outros 36% tem preocupações em relação a segurança dos dados na nuvem. 1.9 CONSIDERAÇÕES FINAIS Durante este capítulo discourre-se sobre os conceitos e as tecnologias relacionadas à computação em nuvem e ao software como serviço, procurou-se deixar claro a opção por esse modelo de construção e distribuição de software pois é evidente que se trata não mais de uma tendência mas de uma inevitável realidade. Toda a esfera do software é beneficiada, desde as facilidades em atingir um público mais abrangente até a diminuição de custos e uso por demanda pelos usuários. Não é mais preciso instalar programas e nem atualizá-los em cada terminal como também se abre possibilidades de uma grande maleabilidade de licenciamento e gerenciamento. Com esse pensamento chegamos à conclusão de que o SaaS é o modelo perfeito para a proposta deste trabalho pois uma aplicação que tem como principal premissa a acessibilidade, precisa obviamente buscar soluções que tornem o acesso mais rápido, fácil e próximo aos seus potenciais usuários. Sendo web, ou seja, acessado via navegadores de internet, a experiência tende a ter um impacto bastante positivo, primeiro porque eles próprios já apresentam ferramentas de acessibilidade para variados tipos de necessidades especiais, segundo porque são um ambiente já consolidado, conhecido pela maioria das pessoas que fazem uso de computadores e presente em todos os tipos de sistemas operacionais e arquiteturas de hardware incluindo os dispositivos móveis.

2. IHC E ACESSIBILIDADE VISUAL 2.1 Introdução Portadores de deficiência visual enfrentam incontáveis dificuldades ao tentaram utilizar a internet e outras tecnologias envolvendo computadores, o que para nós pode ser muito fácil, para eles pode ser uma barreira. Para que todos possam desfrutar das inovações tecnológicas são necessários equipamentos e softwares especiais para diferentes necessidades. Freitas (2006) ressalta outro importante obstáculo, uma grande parcela dos portadores de deficiência visual, como também outras deficiências, enfrentam desvantagens econômicas na compra de ferramentas e equipamentos devido ao alto custo e à restrita funcionalidade. Diante desse contexto, precisamos estudar não só o desenvolvimento de novas ferramentas, mas também a colocação delas na vida prática das pessoas. A acessibilidade visual na web vem nesse sentido, como o acesso a internet está cada vez mais disseminado e barato, não é difícil que um portador de deficiência de baixa renda tenha acesso a ela mesmo que não seja em sua casa. Mas isso não basta, antes de tudo, a web e as tecnologias da informação precisam

ser convidativas a essas pessoas, sendo um espaço onde eles se sintam confortáveis. O termo acessibilidade vem da qualidade de acesso e envolve a criação de ferramentas e métodos com a finalidade de proporcionar acesso pleno a informações e conhecimentos em diversos formatos (W3C, 2008) Segundo Conforto e Santarosa (2002) a acessibilidade envolve diferentes áreas. Entre elas, a acessibilidade ao computador que envolve softwares, incluindo ferramentas de ajuda técnica, para uso genérico de computadores, a acessibilidade ao navegador, que diz respeito ás especificações de acessibilidade presente nos navegadores de internet, e a acessibilidade ao planejamento de páginas Web, que é o grande tema deste capítulo, que procura estudar a forma e a estrutura de como o conteúdo é apresentado pelas páginas Web. É fato que acessibilidade visual é uma ramificação da interação humanocomputador (IHC). Assim, apresenta-se em uma primeira seção do capítulo, alguns conceitos dessa área da computação e em seguida as suas relações com uma compilação do guia de recomendações de acessibilidade para conteúdo Web desenvolvido pela W3C, organização sem fins lucrativos, altamente respeitada, que desenvolve padrões para uma Web melhor e mais acessível. (SOUZA e WERNER, 2013) 2.2 Interação Humano-Computador Para o desenvolvimento da interface de uma aplicação como a desejada por este trabalho, a principal preocupação recai sobre a forma como o software se apresentará ao seu usuário potencial pois o funcionamento back-end e as regras de negócio de um software genérico de gestão empresarial já são de conhecimento comum e não pretendemos nos ater a elas mas sim na idealização de uma interface gráfica que permita à acessibilidade visual a esses sistemas. Sendo assim, nesta seção apresentamos alguns conceitos de interação humano-computador (IHC) necessários ao estudo final que pretendemos atingir. As tecnologias de informação e comunicação vêm se desenvolvendo de uma forma muito rápida e nos dias de hoje é difícil encontrar quem não tenha contato com as mesmas em suas vidas pessoais ou mesmo profissionais, independente de classe social ou local onde moram. Em relação a este fato,

pesquisadores começaram a pensar em maneiras para melhorar a IHC, de modo que os aplicativos e dispositivos de informática fornecidos aos usuários tenham uma interação mais natural, considerando o contexto no qual os usuários estão inseridos. (HARPER et al., 2008) Para melhor favorecer essa relação com o usuário, existe o que é chamado de “configuração base”, na qual se é respeitado critérios, princípios ou heurísticas de usabilidade. Seguindo essa configuração Nielsen (1994) propõe um conjunto de dez heurísticas de usabilidade:  Visibilidade do estado do sistema;  Mapeamento entre o sistema e o mundo real, na qual está relacionada aos modelos mentais dos usuários;  Liberdade e controle do usuário;  Consistências e padrões;  Prevenção de erros;  Reconhecer em vez de relembrar, que está ligada ao funcionamento da memória permanente;  Flexibilidade e eficiência de uso;  Design estético e minimalista;  Suporte para o usuário reconhecer, diagnosticar e recuperar erros;  Ajuda e documentação. Shneiderman e Plaisant (2004) propõem também o que chama de “regras de ouro” para o projeto e avaliação de interfaces que são:  Perseguir a consistência;  Fornecer atalhos;  Fornecer feedbacks informativos;  Marcar o final dos diálogos;  Fornecer prevenção e manipulação simples de erros;  Permitir o cancelamento das ações;

 Fornecer o controle e iniciativa ao usuário;  Reduzir a carga de memória de trabalho. 2.2.1 CRITÉRIOS ERGONÔMICOS Visando essa melhora na interação usuário computador Bastien e Scapin (1993, apud CYBIS; BETIOL; FAUST, 2010) criaram oito critérios subdivisíveis em dezoito que proporcionam o aumento da sistematização dos resultados das avaliações de usabilidade de uma dada interface, isto é, quando empregados em um sistema de avaliação trazem resultados parecidos para os especialistas, o que antes era um dos grandes inconvenientes para os mesmos por não haver uma sistematização nos resultados. Esses critérios são: Condução: nesse caso a interface orientaria, aconselharia, informaria e conduziria o usuário em uma interação com sistema. Convite: “convida” o usuário a realizar certas ações dentro do sistema, informando o usuário o estado ou o contexto na qual se encontra, esse tipo de interface deve apresentar ao usuário: títulos claros, informações claras, caso haja formulários deve apresentar informações sobre o preenchimento do mesmo e opções de ajuda claramente indicadas (figura 7).

Figura 7 - Mostra um exemplo de informação para o usuário sobre o preenchimento de um formulário. (CYBIS; BETIOL; FAUST, 2010)

Agrupamento

e

distinção

por

localização:

caracterizado

pela

organização dos elementos e informações para o usuário, apresentando grupos e opções de menus definidos logicamente, caso haja um formulário, apresentar os campos em uma sequência lógica, lista de dados ou informações apresentadas de forma coesa, separar e organizar itens conforme relações lógicas que existam entre eles. A figura 8 ilustra bem um exemplo de menu organizado por grupos, e um formulário com campos organizados de uma forma lógica.

Figura 8 - Menus organizados. (CYBIS; BETIOL; FAUST, 2010) Agrupamento e distinção por formato: permite ao usuário diferenciar de forma rápida as diferenças das informações expostas, essa diferenciação pode ser feita usando tamanho, cores, ícones ou até mesmo estilo de caracteres. A Figura 9 mostra um exemplo de separação de informações, sendo feita por ícones, neste caso diferenciando os diferentes status das mensagens em uma caixa de e-mail.

Figura 9 – Separação de informações. (CYBIS; BETIOL; FAUST, 2010) Legibilidade: facilitar a leitura por parte do usuário, muito importante para pessoas idosas ou que possuam algum tipo de problema visual (ainda abordaremos esse item de acessibilidade com mais profundidade), coisas simples como cor de fundo, cor de letras, brilho, contrastes, podem ajudar ou não a visualização das informações pelo usuário. Para uma interface legível deve-se seguir alguns padrões como por exemplo: o texto em destaque que deve ser lido rapidamente deve aparecer com letras maiúsculas e minúsculas misturadas naturalmente, apresentado também em linhas com comprimento adequado e que tenha contraste com o fundo, para idosos e pessoas com problemas visuais deve-se aparecer letras claras fazendo contraste com um fundo escuro, isso facilita a leitura. A Figura 10 mostra duas telas distintas com diferentes tipos de layouts, na tela à esquerda adequada para pessoas com baixa visão, entretanto esse tipo de contraste torna a tela sensível a problemas de reflexão, já na tela à direita podemos ver contrastes positivos, menos sensível a reflexão, para pessoas com visão normal.

Figura 10 - Tipos de layouts. (CYBIS; BETIOL; FAUST, 2010) Feedback imediato: fornecer ao usuário uma resposta rápida a uma ação, essa resposta deve ser em um tempo apropriado para o tipo de ação efetuada pelo mesmo, essas respostas relatam ao usuário: recebimento de todas as entradas por ele efetuadas, indica também que um tratamento demorado está sendo executada. Na Figura 11 podemos ver uma caixa de diálogo mostrando a

evolução de uma determinada ação feita pelo usuário. Figura 11 – Evolução de atividade. (CYBIS, BETIOL, FAUST, 2010) Carga de Trabalho: se aplica a usuários com carga horária intensa e repetitiva de trabalho, na qual precisarão de uma interface que não seja cansativa aos olhos, e que possam ajudar na economia de tempo, economizando leituras e memorização desnecessárias, como também repetição de entradas, também pode ser aplicada a usuários com carga horária normal de trabalho, pois quanto mais ele for distraído por informações desnecessárias, maior será o risco de o usuário cometer um erro. Concisão: minimiza a carga perceptiva, informações mostradas de forma precisa e objetiva para o usuário, esse tipo de interface deve apresentar: títulos, rótulos, denominações curtas, códigos arbitrários curtos, fornecer campos de dados, listas, checkbox que agilizem as entradas e fornecer preenchimento automático de vírgulas. Ações Mínimas: limitar o números de telas que usuário deverá passar para atingir o seu objetivo, agilizando assim todo o processo, e evitando distrações e como já foi dito eventuais erros, esse tipo de interface não solicita ao usuário que entre com dados que podem ser recuperados pelo próprio sistema, não necessita

que o usuário percorra todas as telas para alcançar o objetivo, e não faz a mesma solicitação diversas vezes ao usuário. Exemplo tela de gerenciador de arquivos do Windows, que possui atalhos como favoritos, voltar, visualizar, que possibilita ao usuário economizar muito tempo nas suas ações. Densidade Informacional: aos usuários leigos deve se haver um cuidado com o número de informações disponíveis na tela, uma grande quantidade pode prejudicá-lo no filtro das informações, ou seja, dificuldade para encontrar o que realmente necessita, para esse tipo de interface deve-se apresentar somente itens que são relacionados a tarefa na qual o usuário está realizando, não forçar o usuário a transportar dados mentalmente de uma tela para outra, simplificar os procedimentos. Controle Explícito: permitir que o usuário defina explicitamente suas entradas, mantendo-as sob controle, com isso os erros são limitados, evitando que tenha que ser feitas longas seqüência e processos demorados para efetuar uma tarefa. Ações Explicitas do Usuário: se aplica anteriormente a ações demoradas, longas ou seqüenciais que sejam importantes ao usuário. O computador deve executar somente aquilo que o usuário desejar e somente quando ordenado. Quando processamentos grandes resultam de ações explicitas do usuário, eles entendem melhor o funcionamento da aplicação. Controle do Usuário: durante processamentos longos, os usuários devem estar no controle do que acontece, podendo, a qualquer momento, executar uma pausa, cancelamento ou reinicio. As opções possíveis devem sempre ser oferecidas. A figura 12 exemplifica as possibilidades de o usuário avançar e recuar seqüencialmente, cancelar ou pular para determinada etapa. Figura 12 – Ações durante processamento. (CYBIS, BETIOL, FAUST, 2010)

Adaptabilidade: qualidade esperada em aplicações com público-alvo vasto e variado. Torna-se claro que uma única interface não vai atender de forma plena a todos os diferentes tipos de necessidades e pessoas. Para então, se possibilitar um mesmo nível de usabilidade a todos, a interface deve apresentar formas variadas para se realizar a mesma tarefa, deixando ao usuário, a escolha que mais lhe apetece. Da adaptabilidade surgem dois subcritérios: a flexibilidade e a consideração da experiência do usuário. Flexibilidade: critério elementar que envolve duas qualidades diferenciadas: a flexibilidade estrutural e a personalização. Aplica-se em contextos de variabilidade de estratégias e de condições para a realização de uma ação. A flexibilidade estrutural é referente as variadas formas existentes para a realização. Diferentes maneiras de entrar com dados são oferecidas: digitação, seleção, manipulação direta. A personalização deve ser pensada como uma estrutura em que o usuário possa organizar por ele mesmo a disposição dos elementos na tela e mudar esquemas de cores (figura 13), tamanho de fonte e etc, definir seqüência automáticas (macros) e alterar valores parametrizáveis.

Figura 13 - Escolhendo o esquema de cores de uma aplicação. (CYBIS, BETIOL, FAUST, 2010) Consideração da Experiência do Usuário: a interface deve permitir um

bom aproveitamento tanto para novatos quanto para usuários mais experientes. Sendo assim necessário que seja intuitiva desde o primeiro acesso e personalizável de forma aos experientes usarem da agilidade e não se sentirem em uma interface limitada. Uma interface que considera a experiência do usuário apresenta: 

Diálogos passo a passo que podem ser ocultados.



Atalhos para acesso rápido as funções do sistema.

Veja na figura 14 como na interface da urna eletrônica brasileira, a seqüência de ações é controlada explicitamente pelo sistema. O usuário passa de uma tela a outra a medida que confirma o voto anterior.

Figura 14 - Interface da urna eletrônica brasileira. (CYBIS, BETIOL, FAUST, 2010) Gestão de Erros: todas as situações estão sujeitas a erros do usuário. Em tarefas criticas que envolvem grande responsabilidade, perda de dados, dinheiro ou até mesmo a integridade física do usuário, a gestão dos erros é ainda mais importante. Deve-se bloquear toda a possibilidade de erros possíveis. Quanto menos o usuário errar melhor será considerado o desempenho da aplicação. Resumindo, a gestão de erros tem como objetivo evitar (ou reduzir ao máximo) a ocorrência de erros e favorecer a sua correção em casos inevitáveis. Proteção Contra Erros: caracteriza pelos mecanismos utilizados para

detectar e prevenir erros por parte da entrada de dados do usuário. Uma interface que protege contra erros deve informar ao usuário sobre a perda de dados nãogravados no fechamento de uma sessão, diagnosticar os erros no momento da digitação e não precisar esperar por uma validação ao final do preenchimento de um formulário (figura 15)

Figura 15 - A aplicação informa sobre um dado entrado de forma incorreta no momento da digitação. (CYBIS, BETIOL, FAUST, 2010) Qualidade das Mensagens de Erro: está relacionada à pertinência, legibilidade e exatidão da informação presente nas mensagens de erros. Quanto melhor a qualidade da mensagem mais alta é a probabilidade de o usuário não errar novamente e aprender a maneira correta de manusear a aplicação. Boas mensagens de erro indicam ao usuário a origem do erro, o que foi feito errado e o que deve ser feito para a correção, deve ser sucinta e não pode nunca apresentar tom reprovador que constranja o usuário. Correção dos Erros: erros são menos traumáticos quando trazem junto uma sugestão fácil de correção. Funções de desfazer e refazer são grandes facilitadores. Homogeneidade/Coerência: o usuário se acostuma com seqüências e estratégias de uso. Por isso, telas ou situações parecidas precisam ter uma coerência tanto visual quanto de ações. Contextos idênticos sugerem procedimentos idênticos. Os comandos, ícones e menus são mais facilmente encontrados quando sua localização é estável de uma tela para outra. A aplicação se torna mais previsível e amigável. A figura 16 mostra duas telas diferentes mas que têm sua interface coerente, com os objetos dispostos de maneira padronizada.

Figura 16 – Telas diferentes organizadas coerentemente. (CYBIS, BETIOL, FAUST, 2010) Significado dos Códigos e denominações: denominações mais significativas ajudam os usuários na memorização dos componentes da aplicação. Já uma linguagem pobre favorece confusões e ações erradas. Em uma interface significativa os nomes de funções e objetos são familiares ao contexto do usuário e abreviações são permitidas desde que a interpretação seja imediata. Compatibilidade: este critério favorece tanto o aprendizado quando a utilização eficiente da aplicação. Para entendê-lo melhor são levantados três perspectivas de compatibilidade: compatibilidade com o usuário, com a tarefa e com o ambiente (o sistema operacional). Deve-se pensar em interfaces compatíveis com as características do usuário potencial (idade, sexo, hábitos, conhecimento e condição de deficiência). Também é importante respeitar conceitos de interfaces externas já comuns ao usuário. Com base nesses critérios espera-se que a interação humanocomputador seja otimizada buscando sempre a satisfação de uso do usuário. São critérios essenciais para qualquer que seja a proposta da aplicação, no caso do presente trabalho são ainda mais importantes pois estamos lidando com um grau de interação humano-computador bastante critico. Alguns dos critérios se mostram mais explicitamente relacionados com a temática do trabalho, a adaptabilidade, flexibilidade e compatibilidade. Propomos uma interface adaptada e flexível a condição dos usuários sendo também compatível com especificações genéricas de um software de gestão (ERP).

A seguir serão discorridos conceitos específicos de acessibilidade visual com ênfase em aplicações web devido à condição de entrega como serviço do software. Serão levados em considerações esses critérios básicos citados na seção anterior e mais profundamente os que dizem respeito às necessidades do usuário com deficiência visual. 2.3 PADRÕES DE ACESSIBILIDADE DO W3C A W3C é a maior e mais aceita organização de padronização do desenvolvimento de aplicações web fundada em 1994 por Tim Berners-Lee. Entre os principais padrões por eles desenvolvidos e mantidos, estão os dominantes HTML e CSS. Sua missão é “conduzir a World Wide Web para que atinja todo seu potencial, desenvolvendo protocolos e diretrizes que garantam seu crescimento de longo prazo”. (W3C, 2011) Em 1999, a W3C desenvolveu e publicou a primeira versão de suas diretrizes de acessibilidade na web, o chamado “Guia de recomendações de acessibilidade para conteúdo Web” conhecido pela sigla WCAG (Web Content Accessibility Guidelines), com o objetivo de tornar a internet mais acessível a pessoas com deficiência. Em 2008 o guia ganhou uma atualização sendo esta a versão 2.0 e vigente até o momento. Está coberto pelo guia um amplo grupo de pessoas incluindo portadores de cegueira e baixa visão, surdez e baixa audição, dificuldades de aprendizagem, limitações cognitivas, limitações de movimentos, incapacidade de fala, fotossensibilidade e suas combinações. (W3C, 2008) São doze recomendações subdivididas em quatro grandes princípios com relação ao conteúdo web. São eles, perceptível, operável, compreensível, robusto. Nos parágrafos abaixo apresentaremos uma compilação desses princípios. 1. Perceptível: Os componentes da página e as informações devem ser exibidos aos usuários de forma que eles possam ser percebidos com facilidade. Recomendação 1.1 - Alternativas em Texto: a interface precisa fornecer alternativas em texto para os conteúdos não textuais permitindo então que o mesmo seja passível de mudança para modelos adequados à necessidade do usuário,

como, por exemplo, ampliação do tamanho da fonte, mudança da cor, braille, fala, símbolos ou linguagem mais simples. Em algumas situações excetivas o guia isenta a aplicação acessível da alternativa textual, se a finalidade do conteúdo for sensorial, criar uma experiência especifica, pode-se fornecer somente uma identificação em texto descritiva do conteúdo. No caso de decoração ou informação não relacionada com o conteúdo, a acessibilidade pode ser ignorada. Recomendação 1.2 - Mídias com Base no Tempo: fornecer alternativas para mídias com base no tempo: Áudio e som previamente gravado devem seguir as regras abaixo exceto quando for uma alternativa ao texto.  Legendas configuráveis para a totalidade do áudio ou vídeo  Audiodescrição para a totalidade do vídeo  Linguagem de sinais para a totalidade do áudio ou vídeo Recomendação

1.3 - Adaptável:

criar layouts que

possam ser

apresentados de diferentes maneiras sem perder a informação e a estrutura base. A disposição das informações contidas em uma página pode ser configurável de acordo com a necessidade do usuário, um exemplo disso é a possibilidade de troca para um layout mais simplificado. Recomendação 1.4 - Discernível: facilitar a audição e a visualização de conteúdos, incluindo a separação do primeiro plano e do plano de fundo. A cor não pode ser o único meio visual para transmitir a informação, indicar uma ação, pedir uma resposta ou identificar um elemento visual e deve ser parametrizável para que o usuário possa mudá-la para o seu melhor conforto visual. O contraste da página deve ter uma relação de no mínimo 4.5:1 exceto em situações de texto ampliado, texto em plano secundário e logotipos. Com relação e blocos de textos seguem-se a seguintes regras:  O texto deve poder ser redimensionado em até 200% sem perder a legibilidade ou funcionalidade.  As cores do primeiro plano e do plano de fundo podem ser selecionadas pelo usuário.  A largura não pode ter mais do que 80 caracteres.  O texto não é justificado (alinhado as margens).  O espaçamento entre linhas deve ser de, no mínimo, 1,5 cm.

2. Operável: os componentes de interação humano-computador têm de ser operáveis. Recomendação 2.1 - Acessível pelo teclado: toda funcionalidade e entrada de dados deve poder ser feita pelo teclado sem a necessidade de qualquer espaço de tempo entre cada digitação individual e sem que isso desencoraje o uso de outros métodos em conjunto, como o mouse. Recomendação 2.2 - Tempo suficiente: o usuário precisa ter o tempo suficiente para poder ler e utilizar o conteúdo. Em caso de limite de tempo definido pelo conteúdo deve-se aplicar, no mínimo, uma das seguintes regras com a exceção de situações onde o tempo limite é essencial ao conteúdo, seja em tempo real (ao vivo) ou superior a 20 horas.  Desligar: O tempo limite pode ser desligado.  Ajustar: O tempo limite pode ser ajustado.  Prolongar: O usuário precisar ser avisado antes do tempo expirar (no mínimo 20 segundos antes) e ter opção de prolongar esse tempo com uma simples ação. Para informações dinâmicas, em atualização automática e constante ou em deslocamento deve existir uma opção para o usuário pausar, parar, ocultar ou controlar a freqüência dessas mudanças a menos que essa atualização seja essencial ao objetivo da aplicação. Recomendação 2.3 - Ataques Epiléticos: conteúdos não podem de forma alguma apresentar características que sejam catalogadas como causadoras de ataques epiléticos. Recomendação 2.4 - Navegável: formas que busquem ajudar o usuário na navegação e localização de conteúdos devem ser fornecidas. Esta recomendação engloba os conceitos de navegação do usuário, ou seja, o caminho feito por ele para chegar aos lugares devidos bem como voltar para onde estava. Para que esta importante faceta da usabilidade seja desenvolvida de maneira acessível, algumas regras devem ser seguidas:  Conteúdo repetido em várias páginas pode ser ignorado.

 Páginas precisam ter títulos descritivos.  A finalidade de um link deve ser determinada a partir do texto do próprio link ou pelo contexto do link.  Disponibilidade de várias formas para localizar uma página em um conjunto de páginas Web.  Existência de cabeçalhos que descrevem o tópico ou a finalidade.  O foco em componentes de entrada através do teclado (caixas de texto) deve ser visível.  Informar onde o usuário está dentro do contexto da aplicação. 3. Compreensível: A Informação e a operação da interface têm de ser compreensíveis. Recomendação 3.1 - Legível: o conteúdo do texto deve ser legível e apto à compreensão. Podem ser disponibilizados vários idiomas para o texto (na totalidade ou de partes da aplicação) ou torná-lo programático, senso passível de tradução automática por outro software, com a exceção de termos técnicos e nomes próprios. Deve também existir um mecanismo para a identificação das palavras e expressões incomuns como também de abreviaturas. Pode-se também, não obrigatoriamente, oferecer textos alternativos mais simplificados para pessoas com baixo nível de leitura. Recomendação 3.2 - Previsível: projetar páginas que primem pela sua previsibilidade. Para que uma página atinja um bom nível de previsibilidade foram estabelecidas regras para variadas situações comuns a um ambiente Web. Em situação de entrada de dados deve-se evitar ações disparadas com um componente da página recebe o foco e inserção de informação pelo usuário em componentes não pode causar uma alteração de contexto, a menos que tal situação tenha sido avisada ao usuário. Recomendação 3.3 - Assistência de entrada: ajudar os usuários a evitar e corrigir erros.

A interface deve detectar o máximo possível de erros de entrada, métodos de prevenção de erros devem ser utilizados, o usuário precisa saber a forma correta esperada pela aplicação dos dados por ele inseridos, para isso, devem ser fornecidas instruções ou etiquetas junto ao componente de entrada. Sem um caso de erro detectado deve-se destacar o componente ou item referente e descrever o erro e sua solução em texto. Em

situações

de

entrada

de

dados

críticos,

que

envolvem

responsabilidades jurídicas ou transações financeiras, a entrada de dados deve ser reversível, verificada e confirmada pelo usuário. 4. Robusto: o conteúdo tem de ser robusto o suficiente para suportar e poder ser interpretado por tecnologia assistivas externas utilizadas pelo usuário. Recomendação 4.1 – Compatível: maximizar a compatibilidade com softwares externos de acessibilidade ou outros artefatos de tecnologia assistiva já utilizados pelo usuário Grande parte dos softwares de acessibilidade, em relação com este trabalho os que lêem o texto para usuários com deficiência visual, para interpretarem os conteúdos de páginas Web precisam que essas páginas tenham sido construídas utilizando a linguagem de marcação (HTML) de forma correta e padronizada, isso quer dizer que os componentes HTML devem ter todos IDs (identificação de um componente) exclusivos e que suas tags HTML (estruturas de linguagem de marcação contendo instruções, tendo uma marca de início e outra de fim) estejam completas de acordo com o padrão W3C. Isso faz com que a aplicação não precise necessariamente oferecer mecanismo de leitura de texto, mas apenas estar preparada para ser interpretada pelos mecanismos já existentes. 2.4 E-MAG - MODELO DE ACESSIBILIDADE BRASILEIRO Baseado nos padrões do WCAG do W3C foram desenvolvidos programas avaliadores que analisam o grau de acessibilidade de interfaces Web e fornecem um selo certificando o nível de acessibilidade alcançado. O governo brasileiro desenvolveu, adaptando esses padrões à realidade governamental brasileira, o eMag (Modelo de Acessibilidade para o desenvolvimento e a adaptação de conteúdos

do governo na Internet) em dezembro de 2004 após a assinatura de um decreto de nº 5.296 regulamentando a acessibilidade dos sites governamentais, de interesse público ou financiados pelo governo, que determina que os sites governamentais sejam avaliados pelo software “daSilva”. Este software analisa o HTML e determina se o site está apto ou não. (SOARES; FERREIRA; MONTE, 2009) O e-Mag acompanha dois documentos essenciais, a Visão do Cidadão, voltada para o publico em geral e que apresenta uma compreensão mais simplificada do modelo, e a Visão Técnica do Modelo que é voltada aos desenvolvedores e descreve as oito diretrizes e seus conjuntos de recomendações do modelo. (BACH et al, 2008) As propostas do e-Mag estão quase em sua totalidade no WCAG, os dois possuem poucas diferenças, sendo a mais importante em relação à classificação de recomendações. Em pesquisa realizada por Bach et al (2008) verificou-se que naquele momento, 47% dos sites governamentais submetidos à avaliação estavam de acordo com o e-Mag (BACH et al, 2008). 2.5 SOFTWARES LEITORES DE TELA Como foi mencionado na recomendação 4.1 do WCAG, não é preciso necessariamente que uma aplicação Web traduza nativamente em voz o seu texto já que existem disponíveis vários softwares que fazem este trabalho automaticamente a partir do HTML da aplicação. São conhecidos como softwares leitores de tela e são usados principalmente por deficientes visuais mas também por qualquer pessoa que ache mais confortável ter acesso a conteúdos dessa maneira. As opções são inúmeras, desde softwares pagos à livres, para Windows, Linux, Mac Os, dispositivos móveis ou integrado ao navegador Web. Em avaliação feita por Silveira, Heidrich e Bassani (2007), chegou-se à conclusão de que o Virtual Vision desenvolvido pela MicroPower, Jaws desenvolvido pela Freedom Scientific e o NVDA da NV Access eram as melhores opções com destaque para o Virtual Vision. Já em 2009, os responsáveis pelo e-Mag analisaram os mesmo Jaws, NVDA, Virtual Vision e mais o CpqD. Sobre o Jaws foi dito que é altamente compatível com o Windows, constantemente atualizado e possui um sintetizador com boa eloquência. Sua limitação é o alto preço da licença, US$1,095.00

(FREEDOM SCIENTIFIC STORE, 2013). O também pago Virtual Vision recebeu uma ótima avaliação e foi dito que é tão eficiente quanto o Jaws. Já o gratuito e open-source (código aberto) NVDA, apresenta excelente navegabilidade, grande estabilidade e nos testes realizados com base nas diretrizes do e-Mag foi o que se saiu melhor, tornando-se então a melhor escolha. O CpqD, desenvolvido por instituições em parceria com o Ministério das Comunicações apesar de bem avaliado foi colocado numa posição inferior aos outros três por não possuir atualizações e ser pouco adaptável. (E-MAG, 2009) Estes softwares são os mais citados em artigos mais recentes de sites especializados em acessibilidade, como o Acesso Digital (2012), Cartilha da Acessibilidade (2012), Movimento Livre (2010). Outra opção lembrada por essas fontes são as extensões dos navegadores Opera, Firefox e Chrome que fazem a leitura de texto nativamente pelo navegador sem a necessidade de instalação de outros softwares. 2.6 CONSIDERAÇÕES FINAIS Os

conceitos

de

interação

humano-computador

primeiramente

apresentados nesse capitulo dizem respeito a construção de interfaces que beneficiem a experiência de todos em prol de uma melhor relação das tecnologias da informação com seus usuários. Esse conhecimento é a base para que se entenda a acessibilidade digital, já que é notável que as recomendações de acessibilidade do WCAG, e por consequência, do e-Mag, não passam de uma aplicação dos conceitos de IHC as necessidades especificas de usuários portadores de deficiência. Com esse estudo, tem-se condições de planejar as especificações da interface da aplicação proposta, seguindo as boas práticas presentes nesse capítulo e pensando sempre na melhor relação possível do sistema com o usuário.

3. ESPECIFICAÇÕES DO SISTEMA PROPOSTO 3.1 INTRODUÇÃO A primeira e principal preocupação deste trabalho foi aplicar em um modelo de sistema de gestão genérico baseado em formulários os conceitos de IHC referentes à acessibilidade visual. Para chegar a esse modelo levantamos requisitos básicos presentes em softwares conhecidos. Em seguida, partiu-se para o desenvolvimento de uma aplicação que fizesse uso dos conceitos de software como serviço e computação em nuvem por consequência. Isso se deve as inúmeras vantagens, aprofundadas no capítulo 1, destes conceitos em relação à entrega e acesso a aplicações. Dentre essas vantagens, as que merecem uma maior atenção são: a aplicação é acessada de forma muito mais fácil, sem necessidades de infraestrutura de TI e instalação da aplicação no local. O acesso é via Web através do navegador que é um ambiente popular que por si só apresenta facilidades de acesso. Permite que se pense em uma forma de licenciamento dinâmica e de acordo com as necessidades do usuário. Pensando nesses pontos, a computação em nuvem e o software como serviço são o modelo de entrega de software mais adequado ao nosso propósito, uma aplicação de gestão genérica que prime por uma melhor acessibilidade, no caso específico, visual. No desenvolvimento da interface da aplicação foram respeitados os princípios básicos de IHC definidos por Cybis, Betiol e Faust (2010) que estão compilados no capítulo 2 como também as recomendações do W3C para aplicações Web acessíveis também presentes no capítulo 2. A aplicação foi inteiramente desenvolvida com tecnologias gratuitas visando seu não encarecimento já que se pretende acessível. Foi utilizado o SGBD mySQL como banco de dados, a linguagem PHP para o desenvolvimento back-end da regra de negócio e para a interface gráfica, o HTML, CSS e JavaScript. O levantamento de requisitos, a estruturação, o desenvolvimento e os testes foram realizados ao longo do ano de 2013. Neste

capítulo

apresentaremos

primeiramente

os

requisitos

e

funcionalidades da aplicação proposta com ênfase nas questões de acessibilidade visual através de imagens de suas telas e explicações de onde e como foram utilizadas as recomendações do WCAG da W3C, como também as particularidades que fazem da aplicação um software como serviço. 3.2 REQUISITOS E FUNCIONALIDADES DA APLICAÇÃO Os requisitos levantados para a aplicação foram divididos em funcionais, não funcionais e de interface, de acordo com as definições de Sommerville (2007), os funcionais contemplam as funcionalidades principais da aplicação visíveis ao usuário. Não funcionais são referentes a desempenho, usabilidade, confiabilidade, segurança, disponibilidade e manutenibilidade e não dizem respeito diretamente às funções específicas fornecidas pelo sistema. Os de interface são sobre como será feita a interação do usuário com a aplicação e estão intrinsecamente associados á proposta de acessibilidade visual que é aprofundada na seção 3.3. Requisitos funcionais 

O usuário deverá ser capaz de cadastrar e editar a empresa que fará uso do sistema.



O usuário deverá ser capaz de cadastrar, editar, consultar e excluir usuários para a sua empresa.



O usuário deverá ser capaz de cadastrar, editar, consultar e excluir clientes para a sua empresa.



O usuário deverá ser capaz de cadastrar, editar, consultar e excluir produtos para a sua empresa.



O usuário deverá ser capaz de cadastrar, editar, consultar e excluir fornecedor para a sua empresa.



O usuário deverá ser capaz de cadastrar, editar, consultar e excluir contas a pagar para a sua empresa.



O usuário deverá ser capaz de cadastrar, editar, consultar, excluir e inserir produtos em uma venda da sua empresa.



O cliente deverá escolher uma forma de pagamento para a venda



O usuário deverá ser capaz de cadastrar, editar, consultar, excluir e inserir produtos em um pedido de compras da sua empresa.



O usuário deverá escolher uma forma de pagamento para o pedido de compra



O usuário deverá ser capaz de cadastrar, editar, consultar, excluir e inserir produtos em uma ordem de serviço.



O cliente deverá escolher uma forma de pagamento para a ordem de serviço.



O sistema deverá cadastrar um usuário administrador quando uma empresa for cadastrada.



O sistema deverá lançar no estoque os produtos de um pedido de compra quando este for finalizado.

Requisitos não funcionais 

O sistema deverá estar apto a funcionar em qualquer sistema operacional e navegador web.



O sistema deverá ter um guia de utilização em áudio, vídeo e texto.



As regras de negócio e back-end deverão ser desenvolvidos com a linguagem PHP.



A interface gráfica deverá ser desenvolvida com as linguagens HTML, CSS e Javascript.



O sistema deverá se comunicar com o banco de dados MySql.

Requisitos de interface 

O usuário deverá ser capaz de acessar as funcionalidades do sistema através de atalhos do teclado.



O usuário deverá ser capaz de trocar o esquema de cores do sistema.



O usuário deverá ser capaz de aumentar e diminuir a fonte do sistema.



O sistema deverá funcionar em conjunto com um software leitor de tela.

Foram definidos nove módulos para aplicação, são eles: empresa, produto, pedido de compra, venda, ordem de serviço, cliente, contas a pagar, estoque e fornecedor. Cada um dos módulos tem seus relacionamentos e possui tabelas principais e auxiliares no banco de dados. Por ser um software como serviço é multiempresa (esse tema é aprofundando na seção 3.4) possuindo uma tabela em que serão cadastradas as empresas que farão uso do sistema, assim, todas as outras tabelas possuem o ID (identificação, chave estrangeira) da empresa a que o seu respectivo registro pertence. O pedido de compra possui uma empresa, um fornecedor e um ou mais produtos, relação essa concretizada na tabela auxiliar de produtos do pedido. A venda funciona de maneira parecida, possuindo uma empresa, um cliente e um ou mais produtos na tabela de produtos da venda. A ordem de serviço também possui uma empresa, um cliente e um ou mais produtos na tabela de produtos da ordem de serviço. O Estoque se origina a partir do pedido. Contas a pagar e o login só tem a relação com a sua empresa. Nesta tabela de login se armazenam as configurações de esquema de cores e tamanho de fonte definidos pelo usuário, assim o sistema as carrega sempre que este faça um acesso. A disposição do banco de dados é ilustrada na figura 17 pelo diagrama de entidade e relacionamento.

Figura 17 - Diagrama de Entidade e Relacionamento (DER).

3.3 ACESSIBILIDADE VISUAL NA APLICAÇÃO A acessibilidade visual da aplicação tem quatro focos, a possibilidade de aumentar e diminuir o tamanho de todas as fontes (recomendação 1.1 do WCAG), mudança de todo o esquema de cores da interface de acordo com a necessidade do usuário (recomendações 1.3 e 1.4 do WCAG), a integração com um software de leitura de tela que transforma texto em áudio (recomendação 4.1 do WCGA) e a opção por total navegabilidade através do teclado devido à existência de teclados em Braille (recomendação 2.1 do WCAG). O mecanismo de aumento e diminuição da fonte beneficia os usuários portadores de baixa visão e de outras limitações que comprometam a sua capacidade em visualizar letras pequenas. Funciona de forma que todo o texto possa ser aumentado até um tamanho limite e diminuído de volta até o tamanho padrão. O acesso a esse mecanismo se dá por atalhos no teclado, (CTRL SHFIT +) para aumentar e (CTRL SHFT -) para diminuir, ou por botões posicionados na parte superior da tela. Os navegadores Web possuem mecanismos de zoom, o problema deles e que faz necessário que se desenvolva uma solução própria é que eles deformam a interface da aplicação. As figuras 18 e 19 mostram a diferença entre o tamanho padrão da fonte e o tamanho máximo e os botões que executam essa funcionalidade.

Figura 18 - Tamanho padrão da fonte

Figura 19 - Tamanho máximo da fonte Muitos usuários têm dificuldades em relação à visualização de cores, os portadores de daltonismo (“perturbação da percepção visual caracterizada pela incapacidade de diferenciar todas ou algumas cores” [ILTEC, 2013]), por exemplo. Eles terão variadas opções de cores para que escolham o esquema que melhor contribua para o seu conforto visual. Todas as cores da aplicação são parametrizáveis, existindo ainda uma opção de visualização em cores invertidas em relação às cores padrões da aplicação. O acesso a essa funcionalidade se dá através de atalhos no teclado (CTRL B e CTRL M) e por dois botões na parte superior da tela que quando acionados exibem uma paleta de cores. Nas figura 20 podemos ver diferentes opções de esquema de cores e na figura 21 a opção por cores invertidas.

Figura 20 - Esquema de cores personalizado

Figura 21 - Cores invertidas Esta funcionalidade foi apresentada a um portador de daltonismo que após alguns testes alegou que apesar da parametrização do esquema de cores ser bastante funcional e útil para ele, existiam alguns problemas ainda a serem melhorados, as opções de cores até então eram poucas e na sua maioria cores fortes. Segundo o usuário era necessário que se adicionasse mais opções de cores e em especial cores mais claras. Essas observações foram levadas em consideração e mais opções de cores foram incluídas na versão final da aplicação que foi aprovada por esse usuário. A integração com um leitor de tela (audiodescrição) foi testada com duas opções de software, o gratuito NVDA e a versão disponibilizada para teste do Jaws. Os dois se portaram de maneira razoável, permitindo uma interface sonora funcional à aplicação. O NVDA se mostrou mais eficiente para descrever formulários, lendo a legenda e o conteúdo da sua referente caixa de texto. O jaws somente leu o conteúdo da caixa de texto onde está o foco sem ler a sua legenda descritiva. Como foi dito, todas as funcionalidades e ações da aplicação devem ser acessadas via atalhos no teclado para garantir a acessibilidade de usuários cegos ou com baixa visão muito acentuada e que possuem teclado em Braille. Os atalhos

foram definidos de forma intuitiva como pode ser visto no já citado exemplo do aumento e diminuição de tamanho de fontes onde se usa o (CRTL SHIFT +) para aumentar e o (CTRL SHIFT -). Através de um botão localizado na parte superior da tela ou do atalho (CTRL L A), os usuários têm uma lista de todos os atalhos da aplicação: 

Atalho Cadastro = Ctrl + E = Editar



Atalho Cadastro = Ctrl + A = Adicionar Registro



Atalho Cadastro = Ctrl + I = Imprimir Lista



Atalho Cadastro = Ctrl + X = Excluir



Atalho Cadastro = Ctrl + G = Gravar



Aumentar fonte = Ctrl + Shift + '+'



Diminuir fonte = Ctrl + Shift + '-'



Esquema de Cores do Fundo = Ctrl + B



Esquema de Cores dos Menus = Ctrl + M



Inverter Cores = Crtl + I



Menu Cadastro = Ctrl + R



Menu Cadastro - Cadastro de Clientes = Ctrl + R + C



Menu Cadastro - Cadastro de Produto = Ctrl + R + P



Menu Cadastro - Cadastro de Fornecedor = Ctrl + R + F 

Venda = Ctrl + r + V



Ordem de serviço = Ctrl + r + O



Usuários = ctrl + r + u



Pedido = Ctrl + r + D



Menu Operações - Controle de Estoque = Ctrl + O + C



Menu Financeiro - Tabela de Preços = Ctrl + F + T



Lista de Atalhos = Ctrl + L + A

O guia de utilização é a interface pela qual o usuário aprenderá a utilizar as funcionalidades da aplicação, ele está disponível em vídeo, áudio e texto e pode ser acessado por atalho no teclado ou no canto inferior direito na tela inicial.

3.4 A APLICAÇÃO COMO UM SOFTWARE COMO SERVIÇO Os conceitos de computação em nuvem e software como serviço, aprofundados no capítulo 1, foram utilizados na aplicação de forma que ela se porta como um serviço hospedado em um servidor remoto, restando ao usuário apenas a tarefa de acessa-la via navegador de internet. Para que isso funcione, o usuário deve cadastrar a sua empresa para acessar a aplicação, assim, todos os seus registros estarão vinculados a essa empresa. Isso faz com que todos os dados fiquem hospedados em um banco de dados no provedor remoto (na nuvem) sem qualquer necessidade de um gerenciamento de infraestrutura e banco de dados local. A interação do usuário com aplicação na nuvem é ilustrada na figura 23 pelo diagrama de estado de máquina. Figura 23 - Diagrama de estado de máquina

Considerações Finais Tendo como objetivo aplicar os conceitos de computação em nuvem, software como serviço e IHC para a construção de uma interface gráfica com acessibilidade visual, procuramos primeiramente através de pesquisa bibliográfica estudar estes conceitos. Assim sendo, como foi visto, no primeiro capítulo apresentamos a computação em nuvem e o software como serviço bem como suas vantagens para uma aplicação mais acessível. Continuando essa fase de revisão bibliográfica, foi evidenciado no segundo capitulo os conceitos básicos e fundamentais de IHC, necessários à segunda parte deste mesmo capítulo que apresentou uma compilação das recomendações de acessibilidade na Web presente no Guia conhecido pela sigla WCAG. Já no terceiro capitulo especificou-se a aplicação proposta pelo trabalho, seus requisitos, funcionalidades e resultados. Reforça-se o foco na interface em detrimento das regras de negócio que são genéricas. Procuramos seguir com fidelidade e coerência as recomendações do WCAG da W3C que dizem respeito à acessibilidade visual e os conceitos de software como serviço e computação em nuvem para a forma de hospedagem e entrega da aplicação. Conseguimos testar com um usuário real uma das funcionalidades da aplicação

que

nos

trouxe

um

feed-back

para

o

aperfeiçoamento

desta

funcionalidade, o que consideramos bastante importante para a maturidade da aplicação. Obviamente é preciso que se testem todas as funcionalidades com usuários específicos, que não foi possível nessa etapa e que fica para trabalhos futuros. Outro ponto não concretizado é a forma como seria feito o licenciamento da aplicação, que poderia ser feito com base em anúncios e através da divisão das funcionalidades em pacotes com diferentes faixas de preço. Ainda pensando em trabalhos futuros, seria importante o contato para uma possível parceria com alguma instituição promotora de inclusão para deficientes visuais como, por exemplo, “Sociedade Francana De Instrução E Trabalho Para Cegos” situada na cidade de Franca-SP.

Assim, mesmo a aplicação proposta não se mostrando um produto pronto e acabado para ser colocado no mercado, mas apenas um protótipo em que aplicamos conceitos, se aproxima do que é esperado de um sistema real dentro do objetivo estipulado.

Referencias Bibliográficas ACESSO DIGITAL. Leitores de Tela. Disponível em http://goo.gl/gzXEie. Acessado em 24/10/2013 BACH, Catharine F et al. Diretrizes de Acessibilidade: Uma Abordagem Comparativa entre WCAG e e-Mag. Universidade Federal do Estado do Rio de Janeiro, 2008. BASTIEN, C.; SCAPIN, D. (1993). RT-0156 – Ergonomic criteria for the evaluation of human-computer interfaces. Rapport technique de l’INRIA. Disponível em: http://www.inria.fr/rrrt/rt-0156.html. CAMBIUCCI, Waldemir. Uma introdução ao Software mais Serviços, SaaS e SOA. MSDN Solution Architecture Center, 2009. CARISSIMI, Alexandre. Virtualização: da teoria a soluções. Instituto de Informática, Porto Alegre: Universidade Federal do Rio Grande do Sul, 2008. CARRARO, Gianpaolo; CHONG, Fred. Software as a service (SaaS): An enterprise perspective. MSDN Solution Architecture Center, 2006. CARTILHA

DA

ACESSIBILIDADE.

Leitores

de

Tela.

Disponivel

em

http://goo.gl/ACxadC. Acessado em 24/10/2013 CHIRIGATI, Fernando Seabra. Computação Nas Nuvens - Rio De Janeiro: Universidade Federal do Rio de Janeiro, 2009. CONVERGÊNCIA DIGITAL. Licenciamento segue como dor de cabeça no modelo SaaS: Convergência Digital. Disponível em: http://goo.gl/HZnBqo. Acessado em 15/09/2013. CYBIS, Walter; BETIOL, Adriana H.; FAUST, Richard. Ergonomia e usabilidade. São

Paulo: Novatec, 2010. E-MAG, Leitores de Tela - Descrição e comparativo. Ministério do Planejamento, Orçamento e Gestão, 2009. FREITAS, João Vitor; BENJAMIN, Marcelo Braga; PASTOR, Saulo Oliveira. Usabilidade e Acessibilidade para Portadores de Necessidades Especiais na Web. Bahia: FRB, 2006. GIL, Marta. Deficiência Visual. Brasília : Secretaria de Educação a Distância, 2000. Guia Legal do Portador de Deficiência Visual : Câmera dos Deputados, 2009. ILTEC, Instituto de linguística e teórica computacional - Portal da língua portuguesa. Disponível em http://iltec.pt. Acessado em 13/10/2013. MATOS, Fernando. Tipos de Deficiência Visual. Disponível em: http://goo.gl/jRLxZE. Acessado em 22/09/2013 MELO, Cássio A. et al. Software Como Serviço: Um modelo de Negócio Emergente – Centro de Informática, Recife: Universidade Federal de Pernambuco, 2010. MOHAMED, A. A history of cloud computing: ComputerWeekly.com, 2009. MOVIMENTO LIVRE. Cinco Leitores de Telas para seu computador. Disponivel em http://goo.gl/bVksJZ. Acessado em 24/10/2013 NIELSEN, J. Usability engineering. San Francisco: Morgan Kaufman, 1994. The NIST Definition of cloud computing: NIST, 2011. ROCHA, Janicy A. P.; ALVES, Claudio D.; DUARTE, Adriana B. S. E-Acessibilidade e Usuários da informação com deficiência. Inclusão Social: Brasilia, 2011.

SAFENET. Software Monetization Matters: SafeNet, 2013. SHNEIDERMAN, B. & PLAISANT, C. Designing the user interface: strategies for effective human-computer interaction. 4. ed. Addison-Wesley Publishing Company, 2004. SILVEIRA, Clóvis; HEIDRICH, Regina O.; BASSANI, Patrícia B. S. Avaliação das tecnologias de softwares existentes para a Inclusão Digital de dEficientes visuais através da utilização de Requisitos de qualidade. Centro Universitário Feevale: Novo Hamburgo, 2007. SOARES, Horário P.; FERREIRA, Somone B. L.; MONTE, Luiz C. O Selo Não Garante a Acessibilidade. Universidade Federal do Estado do Rio de Janeiro, 2009 SOMMERVILLE, Ian. Engenharia de Software-8ª Edição (2007). Ed Person Education. SONZA, Andrea Poletto. Ambientes virtuais acessíveis sob a perspectiva de usuários com limitação visual. Diss. Universidade Federal do Rio Grande do Sul, 2008. SOUZA, Alan Francisco; WERNER, Claudete. Uma abordagem sobre os padrões de qualidade de software com ênfase em sistemas para web. Paranavaí: Universidade Paranaense, 2013. TAURION, Cezar. Computação em nuvem: transformando o mundo da tecnologia da Informação - Rio de Janeiro: Brasport, 2009. VAQUERO, L. M.; MERINO-RODERO, L.; CACERES, J.; LINDNER, M. A Break in the Clouds: Towards a Cloud Definition. ACM SIGCOMM Computer Communication Review, 2009. VERAS, Manoel. Computação em nuvem: nova arquitetura da TI – Rio de Janeiro: Brasport, 2012.

W3C, Sobre o W3c, 2011. Disponível em: http://www.w3c.br/Sobre. Acessado em 22/09/2013. W3C, Web Content Accessibility Guidelines (WCAG) 2.0, 2008. Disponível em: http://www.w3.org/TR/WCAG20/. Acessado em 22/09/2013.

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.