Aplicação de usabilidade em desenvolvimento de software

usabilidade em desenvolvimento de software

Introdução

Atualmente a preocupação no desenvolvimento de software não é apenas com a elaboração de seus códigos e a finalização do projeto com o máximo de rapidez. Quando falamos de qualidade de software é necessário analisar todos os processos envolvidos no desenvolvimento, desde o levantamento de requisitos até sua implantação.

 

A qualidade de software é base na pirâmide de software e todo projeto deve ser baseado em qualidade. Apesar de ser uma das características mais difíceis de serem trabalhadas e consequentemente mantidas do começo ao fim de qualquer projeto.

 

Dessa maneira, portanto, para a equipe de desenvolvimento medir a qualidade de um produto que contém centenas de milhares de linhas de código é ainda mais difícil.

 

No produto de software o usuário pode caracterizar qualidade de diferentes formas e nem sempre o que a equipe qualificou como qualidade é a qualidade desejada e alcançada com a entrega do software ao cliente.

 

O presente artigo trata de como trabalhar em um projeto de software pensando e integrando a qualidade de software no desenvolvimento, desde o levantamento de requisitos até a implantação e satisfação do cliente.

 

De maneira geral a qualidade deve ser atingida, verificando cada uma das características como funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade, mantendo sempre o foco nos processos e seguindo os padrões de desenvolvimento.

 

 

Qualidade de Software

 

A palavra qualidade, segundo o dicionário, está relacionada com condição natural, categoria, espécie, grau de perfeição, de precisão, de conformidade a certo padrão e sem dúvida medir ou garantir a qualidade de um software é garantir a perfeição, a precisão, trabalhar com padrões para entregar o produto final sem defeitos e adequados à necessidade exigida no início do projeto.

 

Segundo Lucinda (2010, p. 1): “Qualidade significa diferentes coisas para diferentes pessoas. Há quem diga que existem tantas definições para qualidade quantas pessoas existem para defini-las. Mas, de uma maneira geral, a maioria das pessoas concorda quanto a alguns aspectos:

 

• Qualidade é aquilo que me satisfaz;
• Está relacionada a um preço justo;
• Está relacionada a um produto que funciona corretamente;
• Está relacionada a um serviço prestado de forma a superar as expectativas de quem dele faz uso.”

 

 

Portanto para a engenharia de software é extremamente importante o foco na qualidade e é justamente a base da camada, como podemos observar na Figura 1, segundo Pressman (2006, p. 17) “…qualquer abordagem de engenharia (inclusive a engenharia de software) deve se apoiar num compromisso organizacional com a qualidade”.

 

Desenvolver um projeto é pensar e utilizar todas as ferramentas para melhorar o produto final, pois qualquer tipo de falha resultará em maiores custos e desgaste. É importante saber os métodos que serão utilizados, o tempo gasto em cada atividade, como será desenvolvido e sobretudo focar na base da pirâmide e sempre ter o melhor produto a oferecer.

 

usabilidade em desenvolvimento de software
Figura 1: Engenharia de Software em Camadas.

 

Portanto a qualidade de software deve ser garantida por toda a equipe envolvida no projeto, e a mesma será responsável por criar conjuntos de atividades e métricas para ajudar na supervisão e controle da qualidade do produto final. Itens importantes para garantir maior perfeição na elaboração de cada fase do projeto e a entrega no prazo, sem preocupação de não atingir as expectativas do seu usuário.

 

Conforme Pressman (2006, p. 579), a garantia da qualidade de software consiste: “…de um conjunto de funções para auditar e relatar que avalia a efetividade e completeza das atividades de controle de qualidade. A meta da garantia da qualidade é fornecer à gerência os dados necessários para que fique informada sobre a qualidade do produto, ganhando assim compreensão e confiança de que a qualidade do produto está satisfazendo suas metas. É claro que, se os dados fornecidos por meio da garantia da qualidade identificam problemas. É responsabilidade da gerência cuidar dos problemas e aplicar os recursos necessárias para resolver as questões de qualidade”.

 

Dessa forma, garantir a qualidade também é passar o projeto por vários tipos de controles, testes, inspeções e revisões até atingir um alto grau de qualidade. Em si, não é apenas o projeto apresentar o grau de qualidade necessário, mas garantir que o cliente está satisfeito com o que recebeu e que o sistema atinge todas as suas necessidades.

 

Para ajudar as organizações a garantir a qualidade de seus produtos a ISO 9000 (2000), descreve os elementos para a garantia de qualidade, de modo geral, pode ser aplicado a qualquer tipo de negócio e através de alguns requisitos existentes. Na ISO 9001 (2000) como responsabilidade de gestão, sistema de qualidade, revisão de contato, controle de projetos, controle de documentos e dados, entre outros, uma empresa de software pode ser certificada estabelecendo alguns desses requisitos na sua gestão.

 

“A norma 9216 se foca na qualidade do produto de software, propondo atributos de Qualidade, distribuídos em seus seis características principais, com cada uma delas divididas em sub-característica...”(REISSWITZ, 2009, p. 16).

 

Dessa forma é possível seguir um padrão para garantir a qualidade no desenvolvimento de aplicações e garantir que as necessidades do usuário sejam alcançadas. Norma ISO/IEC 9126-1: 2003.

 

Para oferecer uma qualidade de software e garantir os padrões adequados e que o mesmo ocorra de maneira amigável a norma ISO/IEC 9126-1(2003), descreve um modelo de qualidade para o produto de software e é composto pela: qualidade interna e externa e qualidade de uso.

 

A qualidade interna avalia características internas da qualidade de software que normalmente só são percebidas pelos desenvolvedores e a qualidade externa avalia características que podem ser percebidas pela equipe de desenvolvimento da visão do usuário. Já a qualidade de uso é avaliada em seu ambiente final e percebida através da combinação das seis características de qualidade do produto de software.

 

“Assim, as qualidades internas permitem que a equipe de desenvolvimento atinja seus objetivos de forma eficiente. As qualidades externas e de uso permitem que o usuário final do sistema atinja seus objetivos. As qualidades internas, portanto, nem sempre são importantes para o usuário final, pois ele não percebe diretamente, mas pode ser afetado indiretamente por elas....”(WAZLAWICK, 2013, p. 230).

 

Para melhor entender esse procedimento vamos analisar a seguinte situação mostrada na Figura 2.

 

usabilidade em desenvolvimento de software
Figura 2: Ciclo da qualidade interna e externa.

 

Como podemos observar na figura 2 a qualidade deve ser focadas desde seu inicio no desenvolvimento do projeto que dependerá da próxima fase e será diretamente influenciada por ela. Assim como a qualidade interna influência na qualidade externa e depende da qualidade interna para ter um bom resultado.

 

Mesmo que esse trabalho não possa ser observado e percebido pelo usuário final do produto poderá resultar na satisfação ou não do cliente.

 

Além da qualidade interna e externa e qualidade de uso, também é importante mencionar a qualidade de processo, medida que avalia a qualidade do processo e maturidade da empresa para desenvolver o produto de software. Todas as medidas de certa forma dependem, de outra e consequentemente sofre influencia da outra, como é possível observar na figura 2 que Atributos de qualidade interna dependem da qualidade do processo e influencia os atributos de qualidade externa.

 

Dessa forma se o primeiro processo não tiver qualidade os demais processos saíram sem qualidade e o resultado final não será alcançado de maneira positiva para o usuário.

 

Modelo de qualidade

 

Na especificação da norma ISO/IEC 9126 são definidas seis características para a qualidade interna e externa como mostrado detalhadamente na Figura 3.

 

usabilidade em desenvolvimento de software
Figura 3: Características para a qualidade interna e externa.

 

A qualidade externa e interna divide-se em: funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade e cada uma divide-se em subcaraterísticas.

 

A qualidade pode ser medida utilizando o conjunto de atributos de cada uma.

 

A característica de funcionalidade de um software deve-se relacionar com as funções que atendem às necessidades facilmente perceptíveis mais também tem que levar em consideração as funções implícitas, é uma das características fundamentais, pois esta relacionada com o que o software faz para atender às necessidades.

 

A partir dessa característica é possível observar a adequação que trata da capacidade do produto de software de prover um conjunto de funções apropriadas para as reais necessidades do usuário, prover uma precisão adequada, interagir com uma ou mais funções ou sistemas específicos e assim proteger as informações e dados e sempre estar em acordo com as normas.

 

Para a NBR ISO/IEC 9126-1(2003), confiabilidade é a capacidade do software de manter seu desempenho, evitando falhas e defeitos, mantendo-se estável e com possibilidades de restabelecer o nível de desempenho.

 

A NBR ISO/IEC 9126-1(2003) descreve usabilidade como outra característica importantíssima no nível de qualidade de um software, pois determina como o software deve ser compreendido, aprendido e operado com as condições especificas.

 

A Eficiência para a NBR ISO/IEC 9126-1(2003), trata de apresentar o desempenho apropriado considerando a quantidade de recursos usados, fornecendo tempo de resposta e de processamento adequados ao tempo de processamento e resposta.

 

A Manutenibilidade para NBR ISO/IEC 9126-1(2003), o produto de software está relacionado com as condições de modificação na sua implantação, estabelecendo condições de validação, estando de acordo com as normas.

 

E por fim a portabilidade que permite a capacidade do software de ser transferido de um ambiente para outro, com possibilidade de adaptar-se a diferentes ambientes.

 

Aplicação de usabilidade em projetos

 

A preocupação dos desenvolvedores não é apenas finalizar dezenas de projetos por mês, hoje todos estão preocupados em se manter no mercado, dessa forma pensar no usuário final é um ponto chave no desenvolvimento de novas tecnologias.

 

“É desnecessário lembrar como a competição está acirrada em todos os setores de negócio. É desnecessário lembrar o número de empresas que abrem as portas no início de um ano para fechá-las no início do ano seguinte. É bom lembrar aquele ditado popular que diz “quem não tem competência não se estabelece”. As organizações (sérias) buscam de forma incessante o aprimoramento de seus produtos e serviços, porque sabem que outras também estão fazendo isso.”(LUCINDA, 2010)

 

Desenvolver pensando em acessibilidade e usabilidade do software para garantir que todos tenham acesso as aplicações de maneira fácil e com qualidade. Segundo Ferreira Júnior; Santos (2013, p.13) a “usabilidade estabelece - se a partir da conjunção de três pilares, sendo eles efetividade, eficiência e satisfação subjetiva”.

 

A norma ISO 9241-11 descreve usabilidade como sendo “a medida na qual um produto pode ser usado por usuários específicos para alcançar objetivos específicos com eficácia, eficiência e satisfação em um contexto específico de uso” (ABNT, 2002, p.3), dessa forma trata-se especificamente sobre usabilidade e critérios ergonômicos, definindo como identificar a informação necessária para especificações e avaliação de usabilidade de dispositivos de interação visual e satisfação do usuário.

 

A usabilidade trabalha com a interação homem máquina (IHC), ou seja, um sistema tem apresentar-se dentro dos padrões determinados e principalmente interagir com usuário de forma satisfatória. Neste caso proporcionar interface compatível e agradável, além, de fácil manuseio. É fundamental pensar não só em aplicações desktop como também em aplicações portáteis e que serão acessadas por diversos tipos pessoas.

 

Quando aplicados os critérios da norma ISO 9241, que busca a “satisfação do usuário”, definindo a aprendizagem do usuário com a eficácia e à eficiência existem conceitos apresentados por outros autores que Cybis; Beliol; Faust (2002, p. 231), ao mencionarem em seu livro, relatam que dois pesquisadores japoneses compararam diferentes layouts de interface para ATMS (caixas automáticas). Na qual eram iguais em relação ao número de funções, botões e formas de operações, apenas com um diferencial na aparência dos botões e telas, que são esteticamente mais agradáveis.

 

Cujos resultados obtidos demonstraram que devido a serem mais atraentes, foram considerados mais fáceis de serem usados no Japão. A pesquisa foi reproduzida por um pesquisador, de que as opiniões seriam diferentes as do Japão partindo-se de que:

 

[...] Segundo o autor, enquanto a cultura japonesa é conhecida por sua tradição estética, a cultura israelense estaria mais orientada à ação. Utilizando a mesma metodologia e as mesmas telas, com alterações somente referentes à tradução dos textos, o pesquisador relatou sua surpresa ao constatar que os resultados não somente foram iguais aos obtidos por seus colegas japoneses, como também o número de usuários israelenses que associaram a estética à facilidade de uso percebidos do sistema foi maior em Israel do que no Japão. (CYBIS; BELIOL; FAUST, 2002, p. 231).

 

Percebe-se que mesmo em culturas diferentes, a estética do layout além de ser mais agradável visivelmente, é considerada sendo mais fácil o impacto na usabilidade e aceitabilidade geral do sistema. Mesmos em pesquisas decorrentes tais resultados constatam a veracidade após o contato com o sistema.

 

Qualquer sistema por mais simples que seja, deve ser levado em consideração os aspectos de usabilidade, sua adequação e acessibilidade, garantindo ao usuário maior qualidade do sistema e portabilidade de sua aplicação com layouts adequados, limpos e de fácil navegação.

 

Para garantir a eficiência e eficácia do sistema é necessário que a aplicação apresente pouco treinamento, seja de fácil memorização, permita que as tarefas sejam realizadas rapidamente e que não apresente erros em sua interface. O usuário deve sentir-se seguro e o ambiente deve ser agradável, pensado nas suas necessidades e no tempo que ficará utilizando o sistema.

 

É importante apresentar sistemas que apresentem portabilidade e acessibilidade para todos os tipos de usuários.

 

Conforme Cybis; Beliol; Faust (2002, p. 400): “...o projeto de interface acessíveis visa promover a eficácia, a eficiência e a satisfação de pessoas com perfis de capacidade e preferências muito diferentes da maioria. O usuário especial utiliza uma tecnologia de assistência para poder utilizar um sistema aplicativo, tipicamente um software de ampliação ou um leitor de tela. Considerando o critério ergonômico de compatibilidade, o sistema acessível deve apresentar dois tipos de compatibilidade: a compatibilidade com este usuário especial e a compatibilidade com a tecnologia de assistência.”

 

Um sistema com interface acessíveis pode ser utilizado por pessoas com qualquer tipo de deficiência além de proporcionar a adequação do usuário à plataforma, adequando o sistema de diferentes formas e padrões de acessibilidade. Portanto desenvolver sistema é trabalhar com padrões de adequação e acessibilidade para atingir uma qualidade final.

 

Outro fator importante é a portabilidade dos sistemas visto que hoje é possível acessar as aplicações principalmente, via web, em tabletes, smartphones, iphones, ipads. O desenvolvedor tem que pensar em sistemas compatíveis com várias plataformas e que torne adequada a sua visualização e acessibilidade para todos os tipos de usuários.

 

Tornou-se imprescindível para qualquer tipo de desenvolvimento a facilidade de recursos e os diversos tipos e possibilidades de acesso e uso que será feito da aplicação, desenvolver não é mais robótico e deixar todos os sistemas parecidos e sim projetar para satisfazer o cliente e, sobretudo levar o máximo de qualidade para o software.

 

Garantia de qualidade

 

É comum esperar que todo software obtenha como resultado final a qualidade, mas a qualidade deve ser gerenciada e tratada como o requisito fundamental, e como vimos, toda a equipe deve estar empenhada no cumprimento das regras, pois, a qualidade não é só o produto final, ela tem que existir do começo ao fim do processo.

 

Para evitar problemas, os engenheiros de qualidade estabelecem padrões, e segundo Sommerville (2003, p. 462), tais padrões devem seguir algumas etapas:

 

“1.Envolver os engenheiros de software no desenvolvimento de padrões para o produto. Eles devem compreender a motivação por detrás do desenvolvimento dos padrões e devem se comprometer com eles. O documento de padrões não deve simplesmente declarar um padrão a ser seguido, mas dever incluir as razões pelas quais foram tomadas decisões de padronização específicas.

 

2. Revisar e modificar os padrões regularmente, para que eles reflitam as constantes evoluções tecnológicas. Uma vez desenvolvidos os padrões, eles tendem a ser preservados em um manual de padrões da empresa e sempre existe relutância em modifica-los. Um manual de padrões é essencial, mas deve evoluir com as circunstâncias e tecnologias mutáveis.

 

3. Fornecer ferramentas de software para apoiar os padrões sempre que possível. Os padrões que não recebem apoio são motivos de muitas queixas, devido ao difícil trabalho envolvido em implementá-los. Se o apoio de ferramentas estiver disponível, não será necessário muito esforço para o desenvolvimento de acordo com os padrões.”

 

É fundamental a utilização de padrões para obter a qualidade, mas os mesmos padrões devem ser adequados à realidade da empresa de desenvolvimento e de seus desenvolvedores, que todos tenham e saibam trabalhar de acordo com os padrões estabelecidos para o desenvolvimento. As estratégias devem ser bem definidas no início de cada projeto e ter uma boa estrutura mantendo-se o foco durante seu desenvolvimento.

 

Cada projeto tem suas particularidades e utilizar no planejamento inicial uma estrutura adequadamente às fases que serão seguidas durante todo o desenvolvimento com a equipe.

 

Considerações finais

 

Considerando a grande demanda de software existente e a necessidade cada vez maior das empresas estarem adequadas ao novo ritmo do mercado, é certo dizer que a procura por software aumenta e que as exigências por produtos com maior qualidade e que atendam as todas as necessidades também.

 

Portanto para as empresas de software e sua equipe de desenvolvedores se manterem no mercado deve estar com projetos focados na qualidade e, esta deve ser mantida o ciclo de qualidade interna e externa, pois cada fase depende e influência diretamente a próxima.

 

Como apresentado a qualidade depende de várias características e pela norma ISO/IEC 9126, e é a partir desses atributos que é possível medirem a qualidade dos projetos.

 

Um dos atributos que utilizamos para medir a qualidade é a usabilidade: em seus projetos, pensar no usuário e em sua iteração, não pode ser apenas no início do projeto ou na entrega e sim acompanhado desde o levantamento de requisitos para o desenvolvimento até a implantação.

 

A usabilidade determina como o software deve ser compreendido e utilizado, mostrando todas as suas funcionalidades de maneira adequada a cada usuário.

 

Portanto à qualidade de software apesar de ser difícil de ser medida ou até mesmo mantida no projeto, deve estar relacionada com os aspectos que interferem diretamente o usuário, como aparência dos botões, layout, posicionamento dos componentes na tela e tudo que torne o conteúdo e utilização o mais agradável possível e atinja as necessidades do usuário.

 

Referências

 

ABNT. Associação Brasileira de Normas Técnicas NBR ISO/IEC 9126-11. Requisitos Ergonômicos para Trabalhos de Escritórios com Computadores. Parte11 – Orientações sobre Usabilidade. Rio de Janeiro, 2002.

 

ABNT. Associação Brasileira de Normas Técnicas NBR ISO 9000. Sistemas de gestão da qualidade – Fundamentos e vocabulário. Brasil 2000. Disponível em: < http://www.standardconsultoria.com/f/files/814048ce04d8cdfe2b1ba9438be31009791895463.pdf> Acesso em: 20 Fev. 2015

 

ABNT. Associação Brasileira de Normas Técnicas NBR ISSO/IEC 9126-1. Engenharia de software – Qualidade de produto. Brasil 2003. Disponível em: < http://luizcamargo.com.br/arquivos/NBR%20ISO_IEC%209126-1.pdf> Acesso em: 5 Dez. 2014.

 

CYBIS, Walter.; BETIOL, Adriana Holtz.; FAUST, Richard. Ergonomia e Usabilidade: Conhecimentos, Métodos e Aplicações. 3ª edição. São Paulo: Novatec Editora. 2015.

 

FERREIRA JÚNIOR, José.; SANTOS, Márcio Carneiro dos. Comunicação Tecnologia e Inovação: Estudos Interdisciplinares de um campo em expansão. Porto Alegre, RS. Buqui, 2013.

 

LUCINDA, Marco Antônio. Qualidade: fundamentos e práticas para cursos de graduação. Rio de Janeiro. Brasport, 2010.

 

PRESSMAN, Roger S. Engenharia de Software. Tradução Rosângela Delloso Penteado, revisão técnica Fernão Stella R. Germano, José Carlos Maldonato, Paulo Cesar Masiero. 6.ed. São Paulo: MCGraw – Hill, 2006.

 

REISSWITZ, Flávia. Analise de Sistemas. Vol. 7: Qualidade de Software. 2009.

 

SOMMERVILLE, Ian. Engenharia de Software. 6ª ed. São Paulo, 2003.

 

WAZLAWICK, Raul Sidnei. Engenharia de software: conceito e práticas. Rio de Janeiro. Elsevier, 2013. 

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Deixe um comentário

avatar
 
  Notificações  
Notificar