Rodrigo
Rodrigo
Rodrigo
Campo Grande
2013
ACESSIBILIDADE NAS FASES DE
ENGENHARIA DE REQUISITOS, PROJETO E
CODIFICAÇÃO DE SOFTWARE: UMA
FERRAMENTA DE APOIO
I
Agradecimentos
Aos meus pais, que, apesar de nunca terem entendido completamente o que faço em
minha área profissional, sempre me apoiaram e continuam me apoiando. Agradeço por
me mostrarem desde cedo o valor dos estudos, e por serem exemplos a qual pretendo
continuar seguindo.
À minha esposa Juliana, que, no começo deste trabalho era apenas namorada, mas
não menos importante por este motivo. Agradeço pela motivação excepcional que sempre
me forneceu, por me tolerar e compartilhar os momentos de adversidade que surgiram
nesta caminhada, bem como também os momentos felizes. E, principalmente, pelo apoio
em todas as decisões que tomei até agora.
Ao meu irmão, Leandro, por ser o companheiro e camarada que ele sempre foi, sempre
disposto a me acompanhar, seja lá qual fosse o programa. Agradeço também por ser esta
pessoa de extrema paciência, sempre calmo, independente da situação envolvida.
À minha professora e orientadora, professora Débora, por sempre acreditar em meu
trabalho. Agradeço pela paciência, orientações e conselhos oferecidos durante essa longa
trajetória, me ajudando desde os tempos de minha graduação, não me abandonando nem
mesmo quando precisei me mudar para uma cidade muito distante como Porto Velho, me
incentivando sempre a continuar em minha jornada no programa de Mestrado.
Ao meu sobrinho Enzo, apenas por existir, e alegrar minha vida com seus sorrisos, sua
voz e suas brincadeiras.
Aos meus amigos e colegas de faculdade, que sempre ajudaram a deixar minha vida
mais divertida, fazendo-me esquecer, mesmo que por pouco tempo, dos problemas coti-
dianos. Agradeço também aos meus amigos que também compartilharam de momentos
ruins da minha vida e ainda assim estavam lá para me apoiar e consolar.
A todos os meus professores da FACOM e do programa de Mestrado, profissionais que
tenho orgulho em dizer que foram meus tutores, cujos ensinamentos carrego comigo até
hoje e tento compartilhar com os demais.
Aos meus colegas de trabalho (TJ-MS, IFMS, TRT-RO), por me mostrar a imensidão
de opiniões, técnicas e abordagens encontradas em nossa área de atuação, assim como
fornecer soluções para os problemas que encontramos.
A todos que participaram direta ou indiretamente para o desenvolvimento deste tra-
balho.
II
Resumo
III
Abstract
Providing accessible products has recently left to be a differential feature of certain com-
panies. Accessibility, today, is a fundamental requirement of any developed solution,
indicating primarily respect and care to customers. This statement is especially true for
products designed to the Internet which is the gateway of all world intercommunication.
The Internet has showed to be the fastest and cheapest technology to acquire informa-
tion, and has forced legacy technologies (banking services, for example) to adapt itself
so that people with permanent or momentary difficulties can be able to interact with
society. However, to give an accessible product is not always an easy task. In addition to
several different classes of disabilities / difficulties (which leads to different accessibility
problems), lack of training and experience in the area makes developers producing code
in a wrong way, resulting in an inaccessible product. The process models and software
development frameworks have not been adapted in a consistent and homogeneous way,
contemplating the accessibility in the software factory. We are going through a transition
phase between from the HTML and XHTML 4 to HTML 5, which among other things,
aims to deliver a semantic web and to treat specific problems of accessibility, but it’s
not yet fully consolidated. Finally, the tools available to developers cannot effectively
assist developers to deliver an affordable product. In this work it is considered that the
accessibility requirements should be taken into account during all phases of software deve-
lopment, ie, must evolve from initial requirements analysis to the phase of software testing
in order to obtain accessibility as an attribute of software quality of the final product.
Thus, we sought primarily to create an approach that could promote accessibility requi-
rements traceability from conception to the coding phase. This approach has associated
Requirements, UML models and implementation techniques for accessibility, mapped in
an accessibility ontology. In addition, we developed a plugin for Eclipse that promoted
the association of technical implementation of accessibility and traceability matrix. We
created a proof of concept with the proposal to assess whether the objectives were achi-
eved. The work showed that it is possible to check, automatically, the traceability of
accessibility requirements as well as its implementation techniques, from Requirements
Engineering phase to Coding phase.
Keywords: accessibility, requirement traceability, software development process, CASE
tool.
IV
Sumário
Sumário VII
1 Introdução 1
1.1 Contexto e Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Acessibilidade na Web 7
2.1 Tecnologias Assistivas e Design Universal . . . . . . . . . . . . . . . . . . . 7
2.2 Legislação sobre acessibilidade na Internet . . . . . . . . . . . . . . . . . . 9
2.3 Documentos e padrões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1 WCAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.2 WAI-ARIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.3 ATAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.4 UAAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.5 EARL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Pesquisa Bibliográfica 17
3.1 Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Navegação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
V
Sumário facom-ufms
3.4 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5 Conteúdo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.6 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.7 Processo de Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.8 Acessibilidade no Processo de Desenvolvimento . . . . . . . . . . . . . . . 25
3.8.1 ISO/IEC 12207 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.8.2 MTA integrado ao Processo de Desenvolvimento - ISO/IEC 12207 . 27
3.9 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5 Prova de Conceito 51
5.1 Definição do projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.1.1 Subprocesso 1 - Elicitação dos Requisitos do Sistema . . . . . . . . 51
5.1.2 Subprocesso 2 - Análise de Requisitos do Sistema . . . . . . . . . . 52
5.2 Modelagem do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.1 Subprocesso 3 - Projeto Arquitetural do Sistema . . . . . . . . . . . 53
5.2.2 Subprocesso 4 - Análise de Requisitos do Software . . . . . . . . . . 53
5.2.3 Subprocesso 5 - Projeto de Software . . . . . . . . . . . . . . . . . . 56
5.2.4 Subprocesso 6 - Construção do Software . . . . . . . . . . . . . . . 58
5.3 Limitações da Prova de Conceito . . . . . . . . . . . . . . . . . . . . . . . 60
5.4 Conclusões da Prova de Conceito . . . . . . . . . . . . . . . . . . . . . . . 61
VI
Sumário facom-ufms
6 Conclusões 63
6.1 Considerações Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.2 Contribuições do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.3 Limitações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.4 Dificuldades encontradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.5 Participação em evento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.6 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.7 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Bibliografia 68
VII
Lista de siglas
AR Accessibility Requeriments. 18
DP Device Profile. 18
DR Design Rationale. 24
EMF Eclipse Modeling Framework. 31, 37, 38, 40, 41, 45, 46, 64
VIII
Lista de siglas facom-ufms
ID Identifier. 47
MTA Modelo de Tarefas de Acessibilidade. 4, 5, 24, 26–29, 31, 35, 37, 39, 49, 50, 54, 58,
59, 61–65
PM Page Measurement. 22
IX
Lista de siglas facom-ufms
UI User Interface. 46
UML Unified Modeling Language. 5, 29–31, 35–42, 44–47, 49, 53–55, 57, 59, 60, 63–65
WAI-ARIA Accessible Rich Internet Applications Suite. 10, 12, 13, 18, 19
WCAG Web Content Accessibility Guidelines. 10–13, 19, 21, 23, 26, 32, 33, 37, 51–53,
55–57, 59, 64
XP eXtremming Programming. 2
X
Lista de Figuras
XI
Lista de Figuras facom-ufms
XII
Lista de Tabelas
XIII
Capı́tulo 1
Introdução
1
1.1. Contexto e Motivação facom-ufms
Todos deveriam ter pleno acesso aos recursos fornecidos pela Internet. No entanto,
devido a dificuldades e deficiências de determinados grupos de pessoas, o acesso aos recur-
sos pode ficar comprometido, sendo que em algumas situações sequer o acesso é possı́vel.
É necessário, portanto, fornecer maneiras de garantir a acessibilidade de informações e
serviços da Internet.
Sun e Zhang (2009) definem Acessibilidade Digital como o requisito básico para for-
necer um acesso equalitário à informação extraı́da da Internet, principalmente e especi-
almente por ser uma maneira vital de acesso ao conteúdo por grupos vulneráveis (prin-
cipalmente pessoas com necessidades especiais). Necessidades especiais não se referem
apenas a pessoas com deficiência fı́sica ou mental, mas também a pessoas com algum tipo
de impossibilidade momentânea, como a navegação através de um browser textual ou a
visualização de um site através de um smartphone, que possui suas dimensões reduzidas.
Entregar produtos acessı́veis não é uma tarefa fácil. O assunto é considerado relati-
vamente recente e está sendo alvo de muitas pesquisas (Lazar et al., 2004; Brajnik, 2006;
Parmanto e Zeng, 2005). A acessibilidade na web também já é regulamentada em vários
paı́ses, com diretivas e boas práticas que norteiam sua aplicação. Por isso, o papel da
Engenharia de Software neste contexto é fundamental. A falta de metodologia e proces-
sos bem definidos especı́ficos para acessibilidade podem gerar produtos não acessı́veis. Os
custos são menores quando a acessibilidade é considerada durante o processo de desenvol-
vimento do software (Groves, 2011). Apesar de existir um custo implı́cito embutido (por
exemplo, contratação de um especialista em acessibilidade, ferramentas próprias para
testes em acessibilidade, etc), em geral, os benefı́cios alcançados pela incorporação da
acessibilidade nos processos são maiores do que os custos envolvidos necessários para a
entrega do produto, pois o custo de manutenção posterior geralmente é mais alto e há um
acréscimo no valor agregado ao produto (Sherman, 2001).
Existem propostas para integrar usabilidade e acessibilidade aos processos de Engenha-
ria de Software (Moreno et al., 2009; Maia, 2010). Outras propostas são especı́ficas para
determinadas plataformas (Microsoft, 2009). Contudo, não são encontrados na literatura
trabalhos que integram acessibilidade a modelos e frameworks de desenvolvimento bem
conhecidos, como Unified Software Development Process (UP) (Jacobson et al., 1999) (ou
sua extensão mais conhecida Rational Unified Process (RUP) (IBM, 2013b)), eXtremming
Programming (XP) (Beck, 2000) ou Scrum (DeGrace e Stahl, 1990).
Tão importante quanto integrar acessibilidade no processo de desenvolvimento de soft-
ware são as competências técnicas do Engenheiro de Software, Analista de Sistemas, Pro-
jetista e Desenvolvedor. Devido a fatores como a recente exposição do tema nos meios
de comunicação e a deficiência no treinamento e formação do desenvolvedores, muitos
deles sequer sabem como codificar para tornar seus produtos acessı́veis (Kavcic, 2005;
2
1.1. Contexto e Motivação facom-ufms
3
1.2. Objetivos facom-ufms
1.2 Objetivos
Diante do exposto, os objetivos deste trabalho são:
1. Estender o MTA (tratado na seção 3.8), propondo uma metodologia para a rastrea-
bilidade dos requisitos de acessibilidade através do processo de desenvolvimento de
software;
• tenha relação direta entre os requisitos e casos de uso com a etapa de codificação;
• permita que seja feita o rastreamento dos requisitos de acessibilidade, desde a sua
concepção até a fase de codificação.
4
1.3. Metodologia facom-ufms
1.3 Metodologia
As atividades necessárias para alcançar os objetivos propostos, conforme mostradas na
figura 1.1 são:
5. estudar como técnicas de acessibilidade podem ser associadas aos modelos UML;
6. estudar quais tecnologias existentes podem ser usadas para efetuar a associação dos
requisitos e modelos às técnicas de acessibilidade;
7. desenvolver a ferramenta;
5
1.4. Organização do Trabalho facom-ufms
6
Capı́tulo 2
Acessibilidade na Web
O modo de vida das pessoas começou a mudar radicalmente depois que Tim Berners-Lee
criou a World Wide Web (WWW), mais conhecida como Web. A Web é um ambiente de
documentos e dados interconectados globalmente através da Internet (McPherson, 2009).
Em sua concepção inicial, a Web foi explicitamente criada para poder ser utilizada sem o
mouse, e até sem usar os olhos, se necessário (Thatcher et al., 2006). Portanto, a maneira
como o usuário acessa um recurso na Web pouco ou nada pode influenciar na aquisição
da informação.
A fim de tornar os sites mais atrativos, várias tecnologias surgiram, como JavaScript
(Goodman, 2001) e Flash (Rey, 2002). Todavia, o uso indiscriminado dessas tecnologias
podem, ao mesmo tempo, facilitar, inibir ou impedir o acesso aos recursos de alguns
usuários, principalmente dos usuários com algum tipo de deficiência.
Obrigados por regulamentações e leis especı́ficas ou não, os desenvolvedores gradual-
mente estão adaptando seus sites e produtos para as necessidades dos usuários. O grande
entrave para a disseminação da cultura de acessibilidade na Web está na conscientização
dos desenvolvedores sobre a importância do tema, e sobre as consequências trazidas pela
utilização de tecnologias que se tornam barreiras para o acesso ao conteúdo disponibilizado
na Web (Freire, 2008; Alves, 2011).
O objetivo deste capı́tulo é apresentar os conceitos relevantes que devem ser considera-
dos para que os serviços Web entregues sejam acessı́veis. Serão apresentadas as tecnologias
assistivas que auxiliam pessoas com deficiência, as iniciativas para o desenvolvimento de
sistemas Web acessı́veis, a legislação e leis que asseguram a acessibilidade na Web, as
diretrizes que guiam o desenvolvimento de produtos Web acessı́veis e questões referentes
a avaliação de acessibilidade de produtos Web.
7
2.1. Tecnologias Assistivas e Design Universal facom-ufms
• esforço fı́sico mı́nimo: o produto pode ser usado de forma eficiente e confortável e
com um mı́nimo de fadiga;
• Cegueira
8
2.2. Legislação sobre acessibilidade na Internet facom-ufms
– Leitor de tela: software que lê o que está na tela do computador e informa
a saı́da, seja em um sintetizador de voz, ou um display braille. Ex: JAWS
(Freedom Scientific, 2013a) e DOSVOX (NCE-UFRJ, 2002);
– Navegador textual: navegador que não carrega imagens. Deve ser usado em
conjunto com o Leitor de Tela. Ex: Lynx (LYNX, 1998)
– Navegador com voz: permite a navegação por meio da voz. Ex: Opera (Opera
Software, 2013) e Firefox com o plugin Text to Voice (Mozilla, 2012)
• Baixa visão
• Deficiência fı́sica
– Eye-tracking: capta as ações por meio do movimento dos olhos. Ex: LEA
(Open Source Software, 2009)
– Teclado alternativo: dependendo da deficiência do usuário ou do dispositivo,
um teclado alternativo pode ser inserido no contexto. Para deficientes visuais,
teclados braille são indicados (Manohar e Parthasarathy, 2009). Para usuários
com dispositivos móveis, um teclado virtual pode ser a melhor solução (Sarcar
et al., 2010).
• Deficiência auditiva
– Quando o usuário não perdeu 100% da audição, ele pode usar softwares que
melhoram o desempenho do áudio do computador. Mas o mais comum é a
utilização de legendas juntamente com as mı́dias que possuem informações
sonoras.
9
2.3. Documentos e padrões facom-ufms
exemplo, a Lei Disability Discrimination Act (DDA), instituı́da pelo governo britânico em
1995 (NIDirect, 1995), foi alterada em 1999 e passou a possuir uma seção especificamente
sobre websites (Webcredible, 2011). É válido mencionar que o “nı́vel” de acessibilidade
do site não é mencionado: o DDA requer que sejam realizadas “adaptações razoáveis”
para garantir que uma pessoa com deficiência possa acessar o mesmo.
No Brasil, as Leis 10.048/2000 (Planalto, 2000a) e 10.098/2000 (Planalto, 2000b),
regulamentadas pelo Decreto 5.296/2004 (Planalto, 2004), tornam obrigatória a acessi-
bilidade nos websites da administração pública para o uso das pessoas com necessidades
especiais para garantir o pleno acesso às informações.
10
2.3. Documentos e padrões facom-ufms
2.3.1 WCAG
11
2.3. Documentos e padrões facom-ufms
o WCAG 1.0 não requerem mudanças significativas para estar em conformidade com
o WCAG 2.0 e alguns nem mesmo necessitam de mudanças. As principais diferenças
podem ser vistas no site da WAI, na página especı́fica sobre o assunto (WCAG, 2013a).
Branco (2009) fez um breve comparativo dos dois documentos e constatou que a Tabela
2.1 é válida para o WCAG 2.0 e que, principalmente, as orientações de cada guideline se
tornaram mais claras e fáceis de testar.
É válido observar que nem todos os desenvolvedores concordam com as diretrizes ou
recomendações do WCAG 1.0 ou mesmo WCAG 2.0 (Clark, 2006), apesar deste último
ter se tornado um padrão internacional (ISO/IEC, 2012). De fato, um grupo fechado
de desenvolvedores preparou uma versão de extensão/atualização/correção não oficial do
WCAG 1.0, denominada WCAG Samurai (WCAG Samurai, 2006).
Existem diversas diretrizes de acessibilidade, cada qual com suas particularidades e
voltadas para realidades especı́ficas. Alguns exemplos são: Common Look and Feel (CLF),
substituı́da pelo documento Web Standards for the Government of Canada, do Canadá
(Treasury Board of Canada Secretariat, 2013), National Disability Authority (NDA), da
Irlanda (NDA, 1999) e as diretrizes de design de acessibilidade da Microsoft (Microsoft,
2009).
O governo brasileiro possui um padrão próprio, denominado Modelo de Acessibilidade
de Governo Eletrônico (e-MAG). Atualmente na sua terceira versão (Governo Eletrônico,
2007), o e-MAG é baseado no WCAG 2.0, mas voltado para a realidade local. Em relação
a versão anterior, o documento passou por mudanças sutis, por exemplo, a eliminação das
divisões de visão técnica e visão do cidadão. Apesar desse modelo poder ser usado em
outras iniciativas, é explicitado que o mesmo deve ser seguido para os sites governamen-
tais. Por isso, não existem mais nı́veis de prioridade (todas as recomendações devem ser
cumpridas) e uma seção especial foi incluı́da com o objetivo de padronizar elementos de
acessibilidade que devem existir em todos os sites e portais governamentais.
2.3.2 WAI-ARIA
Estamos em plena era da Web 2.0, com sites complexos e dinâmicos e, consequentemente,
controles da interface de usuário mais complexos também. As tecnologias assistivas pre-
cisam interagir com esses controles para que a experiência de utilização seja positiva para
usuários com deficiência. Contudo, as informações que as tecnologias assistivas necessi-
tam para poder manipular esses elementos complexos normalmente não estão presentes
na maioria das tecnologias Web.
Tecnologias Web 2.0 podem ser inacessı́veis até para usuários que não possuem ne-
nhum tipo de deficiência, mas possuem alguma barreira tecnológica, por exemplo, um
menu drag-and-drop para o usuário que não possui um mouse. A atualização de deter-
minadas regiões do site pelas tecnologias citadas também são um grande problema para
as tecnologias assistivas (principalmente para o Screen Reader ). Exemplos de tecnologias
desse tipo são: Asynchronous JavaScript and XML (AJAX) (Garrett, 2005) e Dynamic
HTML (DHTML) (Teague, 2001).
12
2.3. Documentos e padrões facom-ufms
2.3.3 ATAG
Ferramentas de Autoria são softwares e serviços que permitem a qualquer pessoa produzir
sites e conteúdo web. Esse tipo de ferramenta geralmente possui uma engine que exibe
o conteúdo fornecido pelo usuário utilizando padrões e templates previamente configu-
rados na ferramenta. Pela facilidade e rapidez de “postar” conteúdo, muitos usúarios
(principalmente usuários leigos em computação) utilizam ferramentas desse tipo.
Existem várias ferramentas de autoria e cada uma tem sua particularidade. Existem
ferramentas para produção de blogs, para produção de portais chamadas Content Ma-
nagement System (CMS), de criação de páginas wiki, entre outras. Alguns exemplos de
ferramentas são: Wordpress (Wordpress, 2013), Joomla (Joomla, 2013), Drupal (Drupal,
2013), Plone (Plone, 2013), Sistemas Wiki (Wikipedia, 2013) e Moodle (Moodle, 2013).
Não raro, empresas e organizações desenvolvem suas próprias ferramentas de autoria,
principalmente quando o tipo de conteúdo a ser postado é muito especı́fico, ou quando a
regra de negócios é diferente das ferramentas convencionais. Pesquisadores e estudantes
13
2.3. Documentos e padrões facom-ufms
14
2.3. Documentos e padrões facom-ufms
2.3.4 UAAG
As ferramentas que permitem ao usuário acessar o conteúdo Web são chamadas User
Agents, ou Agentes de Usuário. Essas ferramentas incluem navegadores, media players e
tecnologias assistivas.
A W3C-WAI possui um documento voltado para os desenvolvedores de User Agents
chamado UAAG (UAAG, 2013c). A versão 1.0 do documento, de Dezembro de 2002
(UAAG, 2013a), possui 12 diretrizes de acessibilidade. A versão 2.0 (UAAG, 2013b)
ainda não foi finalizada.
O conjunto de checkpoints que o UAAG 1.0 cobre são:
2.3.5 EARL
15
2.4. Considerações Finais facom-ufms
16
Capı́tulo 3
Pesquisa Bibliográfica
Para realizar este trabalho, uma pesquisa bibliográfica foi executada com o intuito de
verificar as principais áreas de interesse no assunto, bem como a motivação dos pesqui-
sadores e os resultados alcançados. Os artigos estudados levaram em conta o assunto
de acessibilidade no contexto de Engenharia de Software, destacando-se algumas fases e
atividades do processo de desenvolvimento de software indicados a seguir:
• Requisitos
• Arquitetura
• Navegação
• Interface
• Conteúdo
• Avaliação
• Processo de Desenvolvimento
3.1 Requisitos
Trewin et al. (2010) realizaram uma pesquisa com os desenvolvedores da IBM em que o
objetivo foi verificar como as ferramentas de apoio a acessibilidade podem ajudar os de-
senvolvedores. Algumas métricas relacionadas ao tempo foram coletadas em projetos que
17
3.1. Requisitos facom-ufms
18
3.2. Arquitetura facom-ufms
Os autores aprofundaram seus estudos nos padrões Learner Information Package (LIP),
Accessibility for LIP (ACCLIP) e AccessForAll Meta-data (ACCMD) (IBM, 2013a), pro-
postos pela IMS Global Learning Consortium (IMS) (IMS, 2013), e explicaram a proposta
de Device Profile (DP), estendendo os padrões mencionados.
Sun e Zhang (2009) estudaram os princı́pios e conceitos de acessibilidade em sites
educacionais. Os autores descrevem a heteogeneidade dos estudantes (questões como
deficiências, equipamentos, habilidades, idade, entre outras). Os autores sugerem que
alguns princı́pios de design devem ser assumidos (flexibilidade, simplicidade e tolerância
a erros. Também sugerem aplicar um processo de desenvolvimento top-down, partindo
da etapa de Definição e passando pelas etapas de Análise, Protótipo, Testes, Integração,
Liberação e Manutenção, para portanto atingir os objetivos e prover um produto acessı́vel.
Baguma et al. (2009) estudaram como incorporar acessibilidade junto a análise de
requisitos. Uma pesquisa inicial foi feita para verificar em que estágio de desenvolvimento
a acessibilidade é considerada e quanto tempo é dedicado a esse fim. Há uma discussão
se requisitos de acessibilidade devem ser considerados requisitos funcionais ou requisitos
não funcionais, já que alguns autores consideram acessibilidade como uma sub-área de
usabilidade.
Os autores trataram requisitos de acessibilidade como requisitos não funcionais, uti-
lizando como base o NRF Framework, que representa o requisito não funcional através
de operacionalizações estáticas e dinâmicas, transformando a representação em um grafo
(Cysneiros e do Prado Leite, 2001) e tratando os requisitos como objetivos (goal graph),
que precisam ser satisfeitos. No trabalho de Baguma et al. (2009), alterações no Non-
Functional Requeriments (NFR) goal graph foram feitas, transformando-o em um Acces-
sibility Requeriments (AR) graph. O diagrama de casos de uso é alterado para comportar
a acessibilidade.
Akhter et al. (2009) propuseram um framework conceitual para aumentar a confiança
de sites por usuários que utilizam leitores de tela. Algumas diretrizes são propostas, tais
como:
• informar que o usuário está em uma página segura (HyperText Transfer Protocol
Secure (HTTPS));
3.2 Arquitetura
Bigham et al. (2010) propuseram uma ferramenta para que usuários finais apontem pro-
blemas de acessibilidade. A ferramenta é uma extensão do leitor de tela WebAnywhere
(WebAnywhere, 2013). Um script server-side guarda o conjunto de ações de usuário,
19
3.3. Navegação facom-ufms
• utilização de regiões WAI-ARIA, principalmente para questões como foco nos ele-
mentos;
3.3 Navegação
Votis et al. (2009) construı́ram um plugin para NetBeans que simula algumas deficiências
visuais, para testar principalmente aplicações Java Swing. Os autores mencionam que
existem vários simuladores de deficiências fı́sicas na literatura, sendo que o simulador
proposto por eles cobre vários tipos de deficiência visual (tais como catarata, hipermetro-
pia, entre outras). Os resultados obtidos foram comparados com outros simuladores da
mesma categoria. A implementação foi projetada usando um design centrado no usuário,
justamente para entender suas maiores dificuldades.
Encelle e Baptiste-Jessel (2007a) propuseram a personalização da interface do usuário,
tornando assim o conteúdo acessı́vel. A proposta permite que os usuários definam como
20
3.4. Interface facom-ufms
o conteúdo deve ser apresentado. Os requisitos que devem ser considerados para alcançar
esse grau de flexibilidade são: apresentação do conteúdo, navegação e busca. Como exem-
plo, os autores demonstraram as possibilidades da abordagem montando uma linguagem
descritiva em Java Compiler Compiler (JavaCC) (JavaCC, 2011) para mı́dia Really Simple
Syndication (RSS) (RSS, 2011). Os autores detalharam como a transformação ocorre (En-
celle e Baptiste-Jessel, 2007b), usando SMIL SMIL (2013), XML Path Language (XPath)
e eXtensible Stylesheet Language for Transformation (XSLT) (Tennison, 2001). Segundo
os autores, é relativamente simples utilizar a proposta sugerida, bastando apenas três
utilizações para o usuário conseguir aprender a usar ferramenta e personalizar a interface
que estiver usando.
Ferres et al. (2007) propuseram um método para tornar gráficos acessı́veis. A acessibi-
lidade é alcançada da seguinte maneira: os gráficos são confeccionados no Excel, por meio
de um plugin feito para esse fim. Depois de publicado, um plugin instalado no navegador
reconhece o gráfico acessı́vel, fornecendo a interação necessária para que o usuário consiga
extrair toda a informação necessária.
A navegação no gráfico foi inspirada em leitores de tela, portanto é feita por meio
do teclado. Além disso, o software de leitura do gráfico possui um sintetizador de voz
embutido.
Michail e Christos (2007) propuseram a personalização da navegação nativa dos sites,
de acordo com as preferências do usuário, por meio de um framework que estende o SeE-
Browser (SeEBrowser, 2011). O framework permite guardar anotações de acessibilidade
através de comandos POST e GET do protocolo HyperText Transfer Protocol (HTTP).
As anotações são armazenadas no formato RDF.
O software possui algumas métricas para avaliar o nı́vel dos atalhos fornecidos ao
usuário, contando pressionamento das teclas, tempo gasto em cada página, entre outras. A
navegação é reordenada baseada na relevância das informações previamente cadastradas,
através das estatı́sticas coletadas.
3.4 Interface
Thinyane e Thinyane (2009) propuseram a possibilidade de customização das interfaces de
aplicativos web (baseados em HTML e Cascade Style Sheet (CSS)) de celulares de acordo
com as preferências do usuário. O grande diferencial dessa proposta é que, utilizando Java
Card e Java Plataform Micro Edition (J2ME), as preferências são gravadas no Subscriber
Identification Module (SIM) chip, e não na memória do celular, como a maioria das
aplicações fazem. Dessa forma, é possı́vel alterar o aparelho fı́sico, mas as informações da
interface não são perdidas.
Pauwels et al. (2009) questionaram a melhor forma de evidenciar campos obrigatórios
em formulários. Vários pesquisadores afirmam que campos obrigatórios de um formulário
devem aparecer logo no inı́cio, destacados. A Apple prefere a abordagem de usar asteris-
cos, e só destacar os campos que o usuário errou após o usuário submeter a ação.
21
3.5. Conteúdo facom-ufms
3.5 Conteúdo
Ferretti et al. (2008) propuseram, por meio de objetos ACCMD, uma forma comparti-
lhada para prover acessibilidade em ambientes e-Learning 2.0, principalmente para objetos
multimı́dia SMIL.
No ambiente virtual, o tutor disponibiliza o conteúdo, que depois pode ser acrescido
de recursos pelas partes interessadas (tutor, estudantes, etc). A edição colaborativa é
feita por uma interface wiki-like, na qual as “camadas” de acessibilidade são adicionadas
aos objetos de aprendizagem, sob supervisão do tutor.
Martı́n Garcı́a et al. (2009) estudaram a relação entre os Prosumers (usuários ge-
ralmente leigos que utilizam ferramentas de autoria para publicar informações online) e
acessibilidade do conteúdo por eles disponibilizado. Deve ser levado em conta que Prosu-
mers não são profissionais em construção de sites, muito menos em acessibilidade.
A inclusão de acessibilidade no User-generated Content (UGC) deve ser feita, portanto,
de forma transparente ao prosumer. Os autores explicitam algumas formas de tornar esse
processo possı́vel:
22
3.6. Avaliação facom-ufms
3.6 Avaliação
Fuertes et al. (2011) apresentaram o projeto da ferramenta Hera-FFX, um plugin para
o navegador Firefox. O projeto tem por objetivo eliminar as limitações da ferramenta
Hera 1.0 (Sidar, 2003) e estender sua funcionalidade, realizando as avaliações utilizando
o WCAG 2.0.
O trabalho é interessante por fazer comparações com outras ferramentas de avaliação,
e mostrar quais caracterı́sticas seriam desejáveis que uma ferramenta desse tipo contivesse.
Dentre estas caracterı́sticas, podem ser citadas:
• geração de relatórios;
• capacidade de multi-sessão;
• flexibilidade.
23
3.7. Processo de Desenvolvimento facom-ufms
• qual a relação entre utilizar uma medição de acessibilidade utilizando uma aborda-
gem baseada no usuário e uma medição técnica baseada nas diretrizes do WCAG
1.0 e 2.0.
Para isto, foram escolhidos alguns sites com diferentes nı́veis de conformidade com o
WCAG 1.0 e medidos por ferramentas de avaliação de acessibilidade, sendo estes dados
confrontados com a medição baseada no usuário utilizando os usuários com necessidades
especiais, mapeando os problemas dos usuários em diretrizes técnicas.
O estudo mostrou que os sites possuem variados nı́veis de barreiras, dependendo da
deficiência que o usuário possui. Além disso, não há uma correlação significativa entre as
classificações das gravidades de problemas de usuários e os nı́veis de prioridades associadas
aos checkpoints e critérios de sucesso do WCAG 1.0. E, principalmente, sites com altos
nı́veis de conformidade técnica não implicam em sites isentos de problemas encontrados
pelo usuário.
24
3.8. Acessibilidade no Processo de Desenvolvimento facom-ufms
Bittar et al. (2013) desenvolveram uma abordagem para prover suporte e facilitar o uso
de acessibilidade durante o desenvolvimento de aplicações web. A abordagem foi proposta
para solucionar os problemas identificados pela falta de consideração de questões relacio-
nadas a acessibilidade para web e foi baseada em princı́pios teóricos (conceitos envolvidos)
e em resultados de estudos práticos (estudos empı́ricos), utilizando Design Rationale (DR)
como suporte. A abordagem é estruturada em três eixos, onde atividades relacionadas
são agrupadas. Os eixos são: (1) Treinamento em acessibilidade, (2) Gerenciamento de
decisões e (3) Desenvolvimento e Ferramentas.
Os autores efetuaram um estudo experimental com seis grupos, usando a abordagem
sugerida. A pesquisa demonstrou que os grupos usando a aborgagem apresentaram me-
lhores resultados que os grupos que não utilizaram a abordagem. Contudo, não usar a
abordagem não implica necessariamente em um mau desenvolvimento.
25
3.8. Acessibilidade no Processo de Desenvolvimento facom-ufms
A norma ISO/IEC 12207 (IEEE/EIA, 1998) tem como objetivo prover um padrão para
desenvolvimento e acompanhamento dos processos do ciclo de vida de softwares. Os
processos são separados por fundamentais, de apoio, organizacionais e de adaptação.
Os processos são divididos em atividades ou Subprocessos e esses, por sua vez, são
divididos em tarefas. É importante mencionar que a norma não descreve as técnicas
especı́ficas utilizadas para a realização das atividades, mas sim um framework que permite
planejar e entender o processo de desenvolvimento do software.
Apesar de a norma poder ser utilizada parcialmente, algumas atividades dos processos
se relacionam com outros processos. Pode-se citar, por exemplo, tarefas do Processo de
Desenvolvimento que requeiram a documentação de suas saı́das e, portanto, o Processo
de Documentação deveria ser utilizado (Maia, 2010).
O MTA foi desenvolvido focado no Processo de Desenvolvimento da norma ISO/IEC
12207. Neste processo, encontram-se os seguintes Subprocessos:
5. Projeto de software;
7. Integração do software;
8. Teste do software;
9. Integração do sistema; e
26
3.9. Considerações Finais facom-ufms
27
3.9. Considerações Finais facom-ufms
28
Capı́tulo 4
Integração de Requisitos de
Acessibilidade ao Processo de
Desenvolvimento de Software
29
4.1. Subprocesso 4 - Análise de Requisitos de Software facom-ufms
Figura 4.1: Tarefas para o subprocesso de análise de requisitos do software (Maia, 2010)
30
4.1. Subprocesso 4 - Análise de Requisitos de Software facom-ufms
31
4.2. Subprocesso 5 - Projeto de Software facom-ufms
32
4.2. Subprocesso 5 - Projeto de Software facom-ufms
33
4.3. Subprocesso 6 - Construção do Software facom-ufms
34
4.3. Subprocesso 6 - Construção do Software facom-ufms
Por conveniência, as técnicas utilizadas serão as do WCAG 2.0, pelo fato de já estarem
mapeadas nos arquivos OWL descritos anteriormente.
Devido ao escopo do trabalho, apesar de serem extremamente importantes, as tarefas
Planejar teste de acessibilidade para cada unidade de software e Executar teste
de acessibilidade de cada unidade de software não foram consideradas.
A Tarefa 6.2 (Codificar e documentar cada unidade de software de acordo com as
técnicas de acessibilidade) recebe os resultados dos passos anteriores, pois o projeto
já contém os pontos crı́ticos de acessibilidade explicitados. Ferramentas CASE, neste
ponto, comumente geram código (stub), utilizando artefatos como diagramas de classe,
de sequência e casos de uso. O código gerado já poderia conter traços de documentação
associados aos requisitos de acessibilidade.
Uma maneira imediata de documentar código é adicionando comentários padronizados,
de forma que os requisitos de acessibilidade possam ser localizados. Dependendo da
linguagem de programação utilizada, podem ser utilizadas anotações para referenciar
os modelos (a linguagem Java permite o uso de anotações), mas como este método é
dependente de uma linguagem de programação que forneça tal funcionalidade e devido a
complexidade envolvida neste processo, esta abordagem não será utilizada.
Para incorporar a rastreabilidade dos requisitos no código gerado pelas ferramentas
em forma de comentário de código, tem-se as seguintes abordagens:
35
4.3. Subprocesso 6 - Construção do Software facom-ufms
A primeira abordagem implica em avaliar todo os arquivos Java para encontrar o local
exato onde o comentário deve ser posicionado. Além de ser necessário construir um parser
complexo para essa situação, pode ser difı́cil encontrar o caminho de retorno (código Java
para o modelo UML).
A segunda abordagem implica na construção total de uma ferramenta complexa que
está fora do escopo deste trabalho.
A terceira abordagem, que por sua vez foi a escolhida, foi customizar o gerador de
código, pois o código fonte deste gerador estava disponı́vel e o gerador de código usa
templates de construção. Desta forma, as intervenções na ferramenta foram mı́nimas, e
pouco código adicional precisou ser incorporado.
Na Figura 4.5 é mostrada a abordagem escolhida que, partindo da Engenharia de
Requisitos e chegando na construção do software, proverá a rastreabilidade dos requisitos
e das técnicas de implementação de acessibilidade. A próxima seção explicitará as ferra-
mentas, técnicas e métodos envolvidos para construir a ferramenta de apoio proposta por
este trabalho.
Figura 4.5: Detalhamento dos Subprocessos do MTA para prover a rastreabilidade dos
requisitos de acessibilidade de acordo com a abordagem adotada neste trabalho
36
4.4. Requisitos da ferramenta de rastreabilidade de requisitos de acessibilidade
facom-ufms
É desejável que uma ferramenta CASE que apóie a rastreabilidade dos requisitos de
acessibilidade permita:
• Gerar código fonte com as informações necessárias que permita efetuar a rastrea-
bilidade dos requisitos, modelos e técnicas de implementação de acessibilidade. A
ferramenta deve, partindo as associações entre requisitos, modelos UML e técnicas
de implementação, gerar códigos stub preparados para que estas informações sejam
recuperadas posteriormente;
37
4.6. Escolha das Ferramentas e Tecnologias facom-ufms
O Eclipse é uma plataforma madura e foi escolhido como IDE por vários motivos. Ele
serve como base para diversos produtos e tecnologias baseadas em uma IDE, provendo
uma Application Programming Interface (API) para facilitar a integração (desRivieres e
Wiegand, 2004). O desenvolvimento de plugins para o Eclipse é feito diretamente na IDE,
de forma prática e transparente, tendo ampla documentação a respeito. A linguagem
utilizada para o desenvolvimento do plugin é a linguagem Java, assim como o código
gerado pelo plugin de exportação.
2
http://www.sparxsystems.com/enterprise_architect_user_guide/modeling_languages/
requirements_diagram.html
3
http://www.sparxsystems.com/enterprise_architect_user_guide/navigate_search_and_
trace/traceability.html
38
4.6. Escolha das Ferramentas e Tecnologias facom-ufms
O pacote de modelagem inicialmente instalado foi composto pelos plugins EMF pro-
postos pelo Eclipse, notadamente o Ecore Tools (Eclipse, 2013d), parte integrante do
Eclipse Modeling Framework Technology (EMFT). Contudo, os diagramas fornecidos por
default não satisfizeram aos anseios de modelagem para o desenvolvimento deste trabalho,
pois não contemplavam diagramas de sequência ou de casos de uso, por exemplo. Por
esse motivo, o plugin escolhido foi o UML Designer, que utiliza como base o pacote EMF
(portanto gera modelos EMF), mas estende os modelos existentes para que se adequem
aos modelos UML na sua versão 2.4.
O plugin inicialmente escolhido para o gerenciamento de requisitos foi o ProR (Eclipse,
2013f), que por sua vez é parte do projeto Requirements Modeling Framework (RMF) e
EMF do Eclipse. O objetivo do projeto RMF é implementar o padrão OMG ReqIF (OMG,
2013) em forma de modelos EMF. Contudo, o RMF se encontra atualmente na versão
0.7.1 e o plugin não fornecia a funcionalidade de ligação entre os modelos e os requisitos.
Assim, modos alternativos de relacionamento entre os modelos e os requisitos deveriam
ser implementados, tornando inviável o desenvolvimento do trabalho. Portanto, o plugin
escolhido para o gerenciamento de requisitos foi o Requirement Designer, que permite
realizar a associação dos requisitos com qualquer modelo EMF.
Os plugins de modelagem e gerenciamento de requisitos são desenvolvidos pela Obeo
(Eclipse, 2013e), portanto, para permitir uma integração suave entre as ferramentas, o
plugin escolhido para geração de código foi o UML to Java Generator, desenvolvido pela
mesma empresa. Os plugins são disponibilizados sob a licença Eclipse Public License v
1.0 (Eclipse, 2013c), assim como a própria IDE. Dessa forma, é possı́vel estudar, alterar
e customizar seus componentes para atingir os objetivos do trabalho.
A Figura 4.6 mostra o comportamento e relacionamento das ferramentas, tecnologias
e atores envolvidos no desenvolvimento do produto.
39
4.7. Construção da Ferramenta facom-ufms
• O requisito
• O modelo UML
40
4.7. Construção da Ferramenta facom-ufms
41
4.7. Construção da Ferramenta facom-ufms
Figura 4.9: Exemplo de um diagrama de casos de uso gerado pela ferramenta UML
Designer (Modelo UML de exemplo gerado pelo Eclipse, projeto TravelAgency)
42
4.7. Construção da Ferramenta facom-ufms
43
4.7. Construção da Ferramenta facom-ufms
O menu mostrado na Figura 4.13 foi projetado levando em conta a análise e o estudo
da ontologia disponı́vel, efetuado na ferramenta Protégé. É possı́vel entender o relaciona-
mento dos elementos da ontologia observando a Figura 4.14.
Para este trabalho, um dos elementos mais importantes da ontologia é o elemento
denominado WCAG 2.0, pois é este elemento que comporta as técnicas de implementação
de acessibilidade que efetivamente serão utilizadas. Os outros elementos, apesar de
acessórios, podem ser utilizados para reforçar as técnicas já referenciadas.
O elemento WCAG 2.0 presente na ontologia possui 5 grupos que podem ser escolhi-
dos, conforme mostra a Figura 4.15: abordagens, testes, critérios de sucesso, diretrizes
ou técnicas. Cada um desses grupos contém os elementos que efetivamente devem ser
selecionados para que a associação seja concluı́da.
Tomando como base a escolha do subgrupo critérios de sucesso, podemos ver as opções
disponı́veis mostradas na Figura 4.16. Os elementos internos da ontologia são diferentes,
44
4.7. Construção da Ferramenta facom-ufms
45
4.7. Construção da Ferramenta facom-ufms
tos versus Técnicas e Modelos versus Técnicas. A planilha Requisitos versus Modelos
lista uma matriz de todos os Requisitos associados aos respectivos modelos. Requisitos
que não estão associados a um modelo também são listados. Essa situação está prevista
justamente para identificar problemas na associação que devam ser corrigidos. Para as
planilhas Requisitos versus Técnicas e Modelos versus Técnicas, apenas os objetos que
estão efetivamente referenciados na ferramenta são listados.
A Figura 4.18 mostra uma parte da matriz de rastreabilidade gerada automaticamente
pela ferramenta AccTrace. A matriz deve ser gerada utilizando o wizard especı́fico para
esse fim, acessando na barra de tarefas as opções File, New e em seguida Other. . . ,
selecionando a opção Traceability Matrix file wizard. Para a geração da matriz ocorrer
sem erros, é necessário informar o arquivo que armazena o modelo da ferramenta, com a
extensão .acctrace.
Para geração de código, foi utilizado o plugin UML to Java Generator, que por sua vez
utiliza o ponto de extensão do plugin Acceleo (Eclipse, 2013a). O plugin Acceleo tem por
finalidade transformar os modelos EMF em uma linguagem definida pelo usuário, através
de arquivos com a extensão .mtl (Model to Text Language). Os arquivos .mtl possuem
uma sintaxe própria, que pode ser vista no trecho de código mostrado a seguir.
[import org::obeonetwork::pim::uml2::gen::java::common::documentation /]
[import org::obeonetwork::pim::uml2::gen::java::common::path /]
[import org::obeonetwork::pim::uml2::gen::java::services::importService /]
46
4.7. Construção da Ferramenta facom-ufms
Enquanto o Acceleo tem por finalidade transformar modelos EMF em uma linguagem
pré-definida pelo usuário, o plugin UML to Java Generator tem a finalidade especı́fica de
transformar modelos UML (persistidos como modelos EMF) em linguagem Java. Ele não
gera apenas código Java, mas o projeto inteiro no Eclipse, criando as pastas, arquivos de
configuração, informações de importação e exportação, ambiente de execução alvo, entre
outros. Por este motivo também, o plugin UML to Java Generator é bastante simples.
As partes principais do plugin são:
• os arquivos .mtl que descrevem como os modelos devem ser gerados, no caso, as
informações de geração dos arquivos Java e do projeto Eclipse.
As alterações necessárias para que o plugin UML to Java Generator gerasse os co-
mentários personalizados do modelo AccTrace foram:
2. intervenção nas classes de lançamento, para que o arquivo .acctrace fosse correta-
mente carregado e recuperado quando necessário;
3. alteração dos arquivos .mtl necessários para que o código Java gerado incluı́sse o(s)
comentário(s) do modelo AccTrace, se houver uma referência para o elemento UML
avaliado no momento.
47
4.7. Construção da Ferramenta facom-ufms
A expressão regular foi construı́da de modo a permitir, através de uma string pré-
definida, a recuperação do arquivo Acctrace, bem como do elemento de associação refe-
renciado.
O comentário personalizado foi projetado de forma a não interfirir em outros co-
mentários da linguagem. Iniciando pelas barras duplas (//), foi definido um identificador
que tem a intenção de ser único (!ACCTRACE!), e o próprio Identifier (ID) do recurso
RDF possui o caracter “#”, que é usado para separador entre o recurso (arquivo a ser
aberto) e o elemento a ser resgatado (no caso, a associação criada entre o requisito e o
modelo UML). A opção de se utilizar um comentário de linha (ao invés de comentários de
bloco, usados por exemplo pela documentação JavaDoc) decorreu do fato do comentário
descrito ser incluı́do dentro do corpo da classe e métodos, e caso o programador decida
comentar o trecho de código inteiro, esse comentário não atrapalharia essa operação.
Uma vez tendo os comentários personalizados nos código-fonte Java, o plugin AccTrace
se encarrega de verificar os comentários para traduzı́-los em informações úteis ao desen-
volvedor. O plugin usa o ponto de extensão Compilation Participant da biblioteca Eclipse
Java development tools (JDT), usado para acompanhar e recuperar informações úteis no
processo de compilação do código. No caso deste trabalho, o ambiente entrega a Abstract
Syntax Tree (AST) do modelo Java, e a partir dele os comentários são extraı́dos. Caso
o comentário atenda à expressão regular de comentário do plugin AccTrace, uma marca
(marker ) é adicionada ao editor, indicando que naquele ponto há um comentário válido.
A marca replica o comentário, de modo que ao passsar o mouse sobre a marca, um popup
surge, conforme mostrado pela Figura 4.19.
Ao clicar na marca, uma visão é notificada para que o conteúdo do comentário seja
traduzido. A Figura 4.20 mostra um comentário já traduzido, onde se pode observar
informações como requisito, modelo UML e quais técnicas estão referenciadas por aquele
comentário.
A Figura 4.21 mostra como recuperar as informações relevantes partindo de um co-
mentário no formato AccTrace.
O comentário passa por um Regex Match, sendo decomposto em:
48
4.7. Construção da Ferramenta facom-ufms
Figura 4.19: Comentário padrão AccTrace demonstrado utilizando o evento mouse hover
Figura 4.21: Passos para recuperação das informações relevantes através de um comentário
padrão AccTrace
49
4.8. Considerações Finais facom-ufms
50
Capı́tulo 5
Prova de Conceito
Como prova de conceito, foi criado um projeto simples, de forma a utilizar o MTA, o
plugin AccTrace e os outros recursos relacionados neste trabalho. Os atores elencados são
fictı́cios, tendo os autores deste trabalho como especialista em acessibilidade. O objetivo
não é aplicar a prova de conceito no MTA, por isso nem todos os artefatos presentes no
MTA foram construı́dos. A ênfase considerada nesta prova de conceito está no modelo de
rastreabilidade e na ferramenta proposta neste trabalho.
• como requisitos de domı́nio, foi identificado que o software deve estar disponı́vel para
a linguagem nativa do usuário, e caso ele prefira, a linguagem pode ser alterada. A
busca deve ser influenciada pela escolha da linguagem;
• não existem requisitos tecnológicos especı́ficos: o sistema deve ser acessado inde-
pendente de dispositivo ou tecnologia;
51
5.1. Definição do projeto facom-ufms
Nenhum requisito de acessibilidade foi identificado nesta etapa; até agora, o sistema
deve seguir as boas práticas genéricas de acessibilidade para englobar todos os conjuntos
de usuários/deficiências.
• caracterı́sticas do usuário: não existe um público alvo definido. Não é possı́vel inferir
qual o nı́vel de experiência do público alvo;
52
5.2. Modelagem do Sistema facom-ufms
WCAG 2.0. A avaliação dos requisitos de acessibilidade é feita na Tarefa 2.2 (Avaliar
os Requisitos de Acessibilidade do Sistema) (Maia, 2010) e registrada no documento de
requisitos de acessibilidade do sistema revisado.
• RF1: o sistema deve permitir que, dado uma chave de busca (uma ou mais palavras),
o resultado da busca seja retornado;
• RNF2: o sistema deve permitir que o usuário altere a linguagem padrão da ferra-
menta;
53
5.2. Modelagem do Sistema facom-ufms
• RNF4: o sistema deve permitir que o usuário altere o tamanho da fonte da página;
• RNF5: o sistema deve permitir que o usuário informe qual é o tipo de limitação/deficiência
possui;
• RNF6: o sistema deve fornecer atalhos via teclado, para alterar o idioma e a in-
formação sobre a limitação/deficiência, sempre voltando o foco para a caixa de texto
principal;
• RNFA3: o sistema deve permitir que o tempo para ler e utilizar o conteúdo seja
suficiente;
• RNFA8: o sistema deve permitir que todas as funcionalidades sejam acessı́veis via
teclado;
54
5.2. Modelagem do Sistema facom-ufms
Vale notar que o MTA não especifica exatamente quando os diagramas apresentados
devem ser construı́dos. Por este motivo, o momento oportuno para a construção dos
mesmos foi entre os Subprocessos 4 e 5, pela gama de informações já levantada.
De posse dos diagramas UML, já é possı́vel associá-los aos requisitos, utilizando o
55
5.2. Modelagem do Sistema facom-ufms
plugin Requirement Designer. Com os requisitos e modelos UML já associados, o arquivo
.acctrace pode ser criado, recebendo como entrada o arquivo .requirement. A Figura 5.4
mostra os elementos UML, e para o modelo selecionado, os requisitos que a ele estão
associados.
56
5.2. Modelagem do Sistema facom-ufms
• critério de Sucesso 1.4.1 - Uso de Cores: As cores não devem ser usadas como
único meio para transmitir informação, indicar uma ação, mostrar uma resposta ou
distinguir um elemento visual.
• critério de Sucesso 2.4.3 - Ordem do Foco: Se a página Web pode ser navegada
sequencialmente e a sequência de navegação afeta o entendimento ou operação,
então os componentes focalizáveis devem receber o foco considerando a ordem dos
elementos, preservando o entendimento e a operabilidade dos mesmos.
Maia (2010) não especificou nenhum critério de sucesso para a Subtarefa “Definir
atalhos de navegação”, mas é possı́vel sugerir genericamente um que sirva como ponto de
partida:
Os critérios de sucesso aqui apresentados são sugestões e podem ou não ser utilizados
dependendo da situação. Neste ponto, podemos especificar as técnicas de acessibilidade no
plugin AccTrace. É importante notar que não são tratados apenas critérios de sucesso que
estão presentes no plugin; todas as abordagens, diretrizes, técnicas, entre outros (definidos
nos arquivos de ontologia) estão disponı́veis para a associação, dependendo apenas das
caracterı́sticas especı́ficas do projeto e da maturidade do especialista em acessibilidade.
A Figura 5.6 mostra, como exemplo de uma das associações, a classe Engine, presente
no diagrama de classes, associada ao requisito não funcional RNFA1 (Padrão WCAG 2.0,
nı́vel AAA), tendo as diretrizes 1.1, 2.1, 3.1 e 4.1 associadas como técnicas de acessibili-
dade.
57
5.2. Modelagem do Sistema facom-ufms
Figura 5.6: Associação das técnicas de acessibilidade para um modelo e requisito selecio-
nado.
Neste ponto é possı́vel gerar a matriz de rastreabilidade. As Figuras 5.7 e 5.8 mos-
tram uma parte dos dados gerados, para a associação de requisitos e técnicas, bem como
modelos e técnicas.
58
5.2. Modelagem do Sistema facom-ufms
59
5.3. Limitações da Prova de Conceito facom-ufms
associados como técnicas de acessibilidade W3C (2013e) que podem ser utilizadas em
trabalhos futuros.
60
5.4. Conclusões da Prova de Conceito facom-ufms
61
5.5. Considerações Finais facom-ufms
Portanto, foi possı́vel rastrear os requisitos, desde a sua concepção e definição, pas-
sando pelos modelos e artefatos UML e finalmente, sendo recuperados já na fase de
codificação. A entrega de informações que possam ser úteis ao desenvolvedor é efetu-
ada. O especialista em acessibilidade informa qual técnica de acessibilidade determinado
modelo/requisito deve usar como guia (seja abordagens, diretrizes, critérios de sucesso,
técnicas, etc), estando estas informações disponı́veis para consulta pelo desenvolvedor. O
desenvolvedor terá, então, um ponto de partida para codificar o produto da forma correta.
62
Capı́tulo 6
Conclusões
Este capı́tulo apresenta as conclusões gerais desta dissertação. Ele apresenta o resgate
de desenvolvimento deste trabalho, sua principais contribuições, limitações, dificuldades
e diretrizes para a execução de trabalhos futuros.
63
6.2. Contribuições do Trabalho facom-ufms
64
6.3. Limitações facom-ufms
ser interpretado por uma ferramenta CASE. Obviamente, a ferramenta aqui apresentada,
da maneira como está, não poderia ser usada para tal propósito, mas pode ser modificada
para que se adeque à essa situação, pois é possı́vel perceber que a grande complexidade
não é a ferramenta em si, mas sim possuir o especialista e o domı́nio mapeado.
As alternativas disponı́veis promovem a rastreabilidade entre requisitos versus mo-
delos UML. Contudo, não foi encontrado como é possı́vel utilizar as alternativas para
recuperar informações de rastreabilidade dos requisitos partindo do código fonte do pro-
grama. Também não foi possı́vel identificar se essas alternativas permitem a associação
de técnicas de implementação aos requisitos e modelos UML.
É possı́vel apontar, portanto, cinco grandes contribuições fornecidas por este trabalho:
6.3 Limitações
Baseado nos estudos realizados e nos resultados da execução da prova de conceito, foi
possı́vel observar a necessidade de efetuar estudos empı́ricos, com o intuito de observar a
validação da abordagem fornecida por este trabalho.
A abordagem utilizada apresentou a limitação de não permitir efetuar Engenharia
Reversa em projetos que não tenham sido preparados para tal fim. Isto significa que
não é possı́vel recuperar, a partir de códigos fontes arbitrários, as informações sobre a
rastreabilidade dos requisitos, modelos UML e técnicas de implementação, já que em
nı́vel de código, a informação necessária para a recuperação dos dados é justamente o
comentário AccTrace personalizado, que não estará presente em tais projetos.
O MTA é um processo de desenvolvimento de software acadêmico, e por não ter
uma grande aderência na indústria, implica em uma limitação direta para este trabalho.
Contudo, a abordagem apresentada, apesar de usar o MTA como ponto de partida, não
está fortemente vinculada a tal processo de desenvolvimento, dando indı́cios que outros
processos podem ser utilizados. Ainda assim, esta abordagem ainda necessita do acompa-
nhamento de um Especialista em Acessibilidade para que o lançamento das informações
seja feito no momento correto.
65
6.4. Dificuldades encontradas facom-ufms
• efetuar um estudo de caso com um projeto real, que utilize o MTA e use os plugins
aqui elencados, inclusive os plugins construı́dos e customizados para promover a
rastreabilidade e geração de código;
66
6.7. Considerações Finais facom-ufms
• utilizar outro domı́nio de interesse como base para os estudos futuros, como por
exemplo usabilidade de software;
• integrar a ferramenta com o framework Homero (Oliveira, 2013), que fornece apoio
à criação de interfaces web acessı́veis.
O código fonte do trabalho pode ser encontrado acessando o seguinte endereço: https:
//github.com/rodrigogbranco/acctrace.git. No mesmo repositório é possı́vel encon-
trar, dentro da pasta umlToJavaPlugins, o código fonte do plugin UML to Java Generator
com as alterações efetuadas neste trabalho.
67
Bibliografia
Akhter, F., Buzzi, M. C., Buzzi, M., e Leporini, B. (2009). Conceptual Framework:
How to Engineer Online Trust for Disabled Users. Em Proceedings of the 2009
IEEE/WIC/ACM International Joint Conference on Web Intelligence and Intelligent
Agent Technology - Volume 03, WI-IAT ’09, páginas 614–617, Washington, DC, USA.
IEEE Computer Society.
68
Bibliografia facom-ufms
69
Bibliografia facom-ufms
Buhler, C., Heck, H., Perlick, O., Nietzio, A., e Ulltveit-Moe, N. (2006). Interpreting
Results from Large Scale Automatic Evaluation of Web Accessibility. Em ICCHP,
páginas 184–191.
Buzzi, M. C., Buzzi, M., Leporini, B., e Senette, C. (2008). Making Wikipedia editing
easier for the blind. Em Proceedings of the 5th Nordic conference on Human-computer
interaction: building bridges, NordiCHI ’08, páginas 423–426, New York, NY, USA.
ACM.
Carromeu, C., Paiva, D. M. B., Cagnin, M. I., Rubinsztejn, H. K. S., Turine, M. A. S., e
Breitman, K. (2010). Component-Based Architecture for e-Gov Web Systems Develop-
ment. Em Proceedings of the 2010 17th IEEE International Conference and Workshops
on the Engineering of Computer-Based Systems, ECBS ’10, páginas 379–385, Washing-
ton, DC, USA. IEEE Computer Society.
Cleland-Huang, J., Settimi, R., Duan, C., e Zou, X. (2005). Utilizing Supporting Evi-
dence to Improve Dynamic Requirements Traceability. Em Proceedings of the 13th
IEEE International Conference on Requirements Engineering, RE ’05, páginas 135–
144, Washington, DC, USA. IEEE Computer Society.
70
Bibliografia facom-ufms
Dias, A. L., de Mattos Fortes, R. P., Masiero, P. C., e Goularte, R. (2010). Uma Revisão
Sistemática sobre a inserção de Acessibilidade nas fases de desenvolvimento da Enge-
nharia de Software em sistemas Web. Em Proceedings of the IX Symposium on Human
Factors in Computing Systems, IHC ’10, páginas 39–48, Porto Alegre, Brazil, Brazil.
Brazilian Computer Society.
EARL (2013a). Evaluation and Report Language (EARL) 1.0 Schema. http://www.w3.
org/TR/EARL10-Schema/. Acessado em Setembro de 2013.
71
Bibliografia facom-ufms
Ferres, L., Verkhogliad, P., Lindgaard, G., Boucher, L., Chretien, A., e Lachance, M.
(2007). Improving accessibility to statistical graphs: the iGraph-Lite system. Em
Proceedings of the 9th international ACM SIGACCESS conference on Computers and
accessibility, Assets ’07, páginas 67–74, New York, NY, USA. ACM.
Ferretti, S., Mirri, S., Muratori, L. A., Roccetti, M., e Salomoni, P. (2008). E-learning
2.0: you are We-LCoME! Em Proceedings of the 2008 international cross-disciplinary
conference on Web accessibility (W4A), W4A ’08, páginas 116–125, New York, NY,
USA. ACM.
Freire, A. P. (2012). Disabled people and the Web: User-based measurement of accessibility.
Phd em ciência da computação, University of York.
Fuertes, J. L., Gutiérrez, E., e Martı́nez, L. (2011). Developing Hera-FFX for WCAG 2.0.
Em Proceedings of the International Cross-Disciplinary Conference on Web Accessibi-
lity, W4A ’11, páginas 3:1–3:9, New York, NY, USA. ACM.
Giakoumis, D., Votis, K., Tzovaras, D., Likothanassis, S., e Hassapis, G. (2010). Introdu-
cing accessibility in the Web services domain. Em Computer Science and Information
Technology (ICCSIT), 2010 3rd IEEE International Conference on, volume 2, páginas
18 –22.
72
Bibliografia facom-ufms
73
Bibliografia facom-ufms
IMS (2013). IMS Access For All v2.0 Final Specification. http://www.imsglobal.org/
accessibility/. Acessado em Setembro de 2013.
Irish, P. (2011). Semantics in practice and mapping semantic value to its consumers.
http://paulirish.com/2011/semantics/. Acessado em Setembro de 2013.
Jacobson, I., Booch, G., e Rumbaugh, J. (1999). The unified software development process.
Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
JavaCC (2011). Java Compiler Compiler [tm] (JavaCC [tm]) - The Java Parser Generator.
http://javacc.java.net/. Acessado em Setembro de 2013.
Lazar, J., Dudley-Sponaugle, A., e Greenidge, K.-D. (2004). Improving web accessibility:
a study of webmaster perceptions. Computers in Human Behavior, 20(2):269–288.
74
Bibliografia facom-ufms
Lee, J., Cho, B., Youn, H., e Lee, E. (2009). Reliability Analysis Method for Supporting
Traceability Using UML. Em Advances in Software Engineering, volume 59 de Com-
munications in Computer and Information Science, páginas 94–101. Springer Berlin
Heidelberg.
Mader, P. e Egyed, A. (2012). Assessing the effect of requirements traceability for soft-
ware maintenance. Em Software Maintenance (ICSM), 2012 28th IEEE International
Conference on, páginas 171–180.
Martı́n Garcı́a, Y. S., Miguel González, B. S., e Yelmo Garcı́a, J. C. (2009). Prosumers
and accessibility: how to ensure a productive interaction. Em Proceedings of the 2009
International Cross-Disciplinary Conference on Web Accessibililty (W4A), W4A ’09,
páginas 50–53, New York, NY, USA. ACM.
Martı́nez, A. B., Juan, A. A., Álvarez, D., e Suárez, M. C. (2009). WAB*: A Quantitative
Metric Based on WAB. Em ICWE ’9: Proceedings of the 9th International Conference
on Web Engineering, páginas 485–488, Berlin, Heidelberg. Springer-Verlag.
McPherson, S. S. (2009). Tim Berners-Lee: Inventor of the World Wide Web. USA
Today Lifeline Biographies. Twenty First Century Books.
75
Bibliografia facom-ufms
Mikic, F., Anido, L., Valero, E., e Picos, J. (2007). Accessibility and Mobile Learning
Standardization. Em Systems, 2007. ICONS ’07. Second International Conference on,
página 32.
Moreno, L., Martı́nez, P., e Ruiz-Mezcua, B. (2009). Integrating HCI in a Web Accessi-
bility Engineering Approach. Em Stephanidis, C., editor, Universal Access in Human-
Computer Interaction. Applications and Services, volume 5616 de Lecture Notes in
Computer Science, páginas 745–754. Springer Berlin / Heidelberg. 10.1007/978-3-642-
02713-0 79.
NE10 (2011). Bancos podem oferecer conta sem tarifa a partir desta terça-feira.
http://jc.uol.com.br/canal/cotidiano/economia/noticia/2011/02/28/
bancos-podem-oferecer-conta-sem-tarifa-a-partir-desta-tercafeira-259223.
php. Acessado em Setembro de 2013.
Newton, A. (2008). MooTools Essentials: The Official MooTools Reference for JavaScript
and Ajax Development. Apresspod Series. Apress.
Noll, R. e Ribeiro, M. (2007). Ontological Traceability over the Unified Process. Em Engi-
neering of Computer-Based Systems, 2007. ECBS ’07. 14th Annual IEEE International
Conference and Workshops on the, páginas 249–255.
Noy, N. F., Sintek, M., Decker, S., Crubezy, M., Fergerson, R. W., e Musen, M. A.
(2001). Creating Semantic Web Contents with Protege-2000. Em Protegé-2000. IEEE
Intelligent Systems (2001, páginas 60–71.
76
Bibliografia facom-ufms
Orchard, L., Pehlivanian, A., Koon, S., e Jones, H. (2010). Professional JavaScript
Frameworks: Prototype,YUI, ExtJS, Dojo and MooTools. Wiley.
Pauwels, S. L., Hübscher, C., Leuthold, S., Bargas-Avila, J. A., e Opwis, K. (2009).
Error prevention in online forms: Use color instead of asterisks to mark required-fields.
Interact. Comput., 21:257–262.
Resig, J. (2006). Pro JavaScript Techniques. Expert’s voice in Web development. Apress.
Rey, C. (2002). Macromedia Flash MX: Training from the Source. Training from the
source. Macromedia Press.
77
Bibliografia facom-ufms
Sarcar, S., Ghosh, S., Saha, P., e Samanta, D. (2010). Virtual keyboard design: State
of the arts and research issues. Em Students’ Technology Symposium (TechSym), 2010
IEEE, páginas 289 –299.
Schutta, N. e Asleson, R. (2006). Pro Ajax and Java Frameworks. Expert’s voice in Web
development. Apress.
Sirithumgul, P., Suchato, A., e Punyabukkana, P. (2009). Quantitative evaluation for web
accessibility with respect to disabled groups. Em W4A ’09: Proceedings of the 2009
International Cross-Disciplinary Conference on Web Accessibililty (W4A), páginas 136–
141, New York, NY, USA. ACM.
Teague, J. (2001). DHTML and CSS for the World Wide Web. Visual quickstart guide.
Peachpit Press.
78
Bibliografia facom-ufms
Tennison, J. (2001). XSLT and XPath On The Edge. M and T Books on the Edge Series.
Wiley.
Thatcher, J., Burks, M. R., e Heilmann, C. (2006). Web Accessibility: Web Standards
and Regulatory Compliance. Friends of Ed.
Treasury Board of Canada Secretariat (2013). Web Standards for the Government of
Canada. http://www.tbs-sct.gc.ca/ws-nw/index-eng.asp. Acessado em Setembro
de 2013.
Trewin, S., Cragun, B., Swart, C., Brezin, J., e Richards, J. (2010). Accessibility chal-
lenges and tool features: an IBM Web developer perspective. Em Proceedings of the
2010 International Cross Disciplinary Conference on Web Accessibility (W4A), W4A
’10, páginas 32:1–32:10, New York, NY, USA. ACM.
van Schaik, P. e Ling, J. (2008). Modelling user experience with web sites: Usability,
hedonic value, beauty and goodness. Interact. Comput., 20:419–432.
79
Bibliografia facom-ufms
Vigo, M., Arrue, M., Brajnik, G., Lomuscio, R., e Abascal, J. (2007). Quantitative metrics
for measuring web accessibility. Em W4A ’07: Proceedings of the 2007 international
cross-disciplinary conference on Web accessibility (W4A), páginas 99–107, New York,
NY, USA. ACM.
Vigo, M. e Brajnik, G. (2011). Automatic web accessibility metrics: Where we are and
where we can go. Interact. Comput., 23:137–155.
Votis, K., Oikonomou, T., Korn, P., Tzovaras, D., e Likothanassis, S. (2009). A visual
impaired simulator to achieve embedded accessibility designs. Em Intelligent Computing
and Intelligent Systems, 2009. ICIS 2009. IEEE International Conference on, volume 3,
páginas 368 –372.
W3C (2013b). OWL 2 Web Ontology Language Document Overview (Second Edition).
http://www.w3.org/TR/owl2-overview/. Acessado em Setembro de 2013.
WAB Cluster (2009). Unified Web Evaluation Methodology version 0.5. http://www.
wabcluster.org/uwem05/. Acessado em Setembro de 2013.
WCAG (2013a). How WCAG 2.0 Differs from WCAG 1.0. http://www.w3.org/WAI/
WCAG20/from10/diff.php. Acessado em Setembro de 2013.
80
Bibliografia facom-ufms
81