UMA ABORDAGEM SOBRE OS PADRÕES DE QUALIDADE DE SOFTWARE COM ÊNFASE EM SISTEMAS PARA WEB Alan Francisco de Souza¹, Claudete Werner¹ ¹Universidade Paranaense (Unipar) Paranavaí – PR – Brasil [email protected], [email protected] Resumo: Este artigo tem por objetivo apresentar algumas das vantagens de se utilizar padrões de qualidade no desenvolvimento de um sistema computacional. O artigo cita alguns exemplos de padrões de qualidade disponíveis no mercado de desenvolvimento de software, dando ênfase ao que trata do W3C, padrão de qualidade de software para web. É através das recomendações do W3C que foi possível realizar a validação de um determinado website e chegar a algumas conclusões, que serão relatados neste artigo. 1. Introdução Padrões de software podem se referir a diferentes níveis de abstração no desenvolvimento de sistemas orientados a objetos. Assim, existem padrões arquiteturais, em que o nível de abstração é bastante alto, padrões de análise, padrões de projeto, padrões de código e padrões de qualidade de software. O uso de padrões proporciona um vocabulário comum para a comunicação entre projetistas, criando abstrações em um nível superior ao de classes e garantindo uniformidade na estrutura do software [MALDONADO 2002]. São vários os padrões de qualidade disponíveis hoje no mercado computacional, mas com o crescimento e a evolução da internet no mundo, as empresas voltam seus olhares para o desenvolvimento de um produto computacional que descarte a necessidade de instalações e uso de espaço em disco rígido, para recursos que passam a não utilizar espaço em excesso e seja utilizado de forma universal e sem a necessidade de instalações. Com isso nasce a ideia de produção de softwares que funcionem através da web, mas para que o sucesso deste produto ocorra, é necessário a utilização de padrões de desenvolvimento e qualidade na produção dos mesmos. O objetivo deste artigo é o desenvolvimento uma revisão bibliográfica sobre Padrão de Qualidade de Software. A pesquisa científica apresentará alguns dos padrões de qualidade disponíveis no mercado, dentre eles o W3C, padrão de desenvolvimento para web, por ser a tecnologia em vigor e em crescimento na atualidade. 2. Padrões de Qualidade de Software Com o avanço da tecnologia, as empresas desenvolvedoras de software precisam adaptar seus produtos computacionais às necessidades de seus clientes e utilizando o que há de 1 novo no mercado computacional. E para que todos os usuários possam ter acesso às novas tecnologias, é imperativo que tais produtos estejam adequados à suas necessidades possibilitando sua utilização com alto nível de qualidade. Para isso, foram criados padrões que medem a qualidade do software, seja ele para o tradicional desktop ou para web. Segundo Christopher Alexander, cada padrão relata um problema que ocorre repetidas vezes em nosso ambiente, e então descreve o núcleo das soluções daquele problema, de tal forma que se pode utilizar essa solução um milhão de vezes, sem nunca fazê-lo do mesmo modo duas vezes [apud. PRESMAN 2006]. Alguns dos tipos de padrões de qualidade que são utilizados para o desenvolvimento de software serão, a seguir, brevemente apresentados em uma subseção individual própria, para melhor compreensão de cada um deles. Esses padrões são o ISO/IEC 9126, CMM, MPS.BR e o W3C que será explicado em uma seção individual. 2.1 ISO/IEC 9126 Em meados da década de 90, as empresas, que utilizaram na década anterior o TI (Tecnologia da Informação) em seus processos, apenas para o controle de qualidade de produto, passaram a utilizar o mesmo em seus processos de negócios buscando desta forma garantir a qualidade dos mesmos. A ISO/IEC 9126, foi publicada com a finalidade de garantir a qualidade dos requisitos entre clientes e fornecedores. [SODRE 2006] Após as revisões e sucessivas melhorias, esta norma sofreu divisões. Cada divisão corresponde a uma determinada tarefa ou requisito a ser cumprido para que se atinja a qualidade no produto final. No decorrer do processo são realizados análises de características que definem o modelo de qualidade a ser utilizado, avaliações cujo objetivo é identificar as necessidades do usuário e por fim as métricas de avaliação das características de qualidade do software produzido. 2.2 CMMI O CMMI (Compability Maturity Model Integration) teve como motivação para o seu desenvolvimento, o fato do modelo anterior (SW-CMM) não contemplar uma integração total com a norma ISO/IEC 15504 (modelo Spice). Outro fator foi que o modelo anterior somente contempla uma forma de representação através dos níveis de maturidade, o que dá pouca flexibilidade ao modelo e também a necessidade de se unificar os vários modelos CMM existentes, com a criação de um framework comum. [PIRES 2011] O CMMI utiliza níveis de maturidade que fornecem uma maneira de prever o desempenho futuro de uma organização dentro de uma dada disciplina ou conjunto de disciplinas. Os níveis de maturidade estabilizam uma parte importante na organização dos processos. 2.3 MPS.BR O MPS.BR é um programa que visa melhorar o Processo do Software Brasileiro. Ele busca atingir a qualidade e avaliação de processo de software, visando, preferencialmente, 2 as micro, pequenas e médias empresas, de forma a atender as suas necessidades de negócio e ser reconhecido nacional e internacionalmente como um modelo aplicável à indústria de software. Este programa estabelece métodos de avaliação, o qual dá sustentação e garante que o MPS.BR está sendo empregado de forma correta com relação a suas definições. [SOFTEX 2006] O MPS.BR utiliza três componentes como método de avaliação de qualidade (MR-MPS, MA-MPS, MN-MPS). Cada um com características específicas que são: definir os níveis de maturidade do processo e dos atributos do processo; disponibilizar os requisitos de avaliação aos avaliadores das empresas produtoras; e por fim, descrever as regras de negócio necessárias para a implementação do sistema. 3. World Wide Web Consortium: W3C O World Wide Web Consortium, mais conhecido como W3C tem como principal objetivo levar a web ao seu potencial máximo, desenvolvendo protocolos e diretrizes que garantam seu crescimento a longo prazo, através do desenvolvimento de produtos com alta qualidade. O W3C, que é uma organização de padrões Web, foi fundado por Tim BernersLee. Como objetivo principal e missão, o W3C Brasil vê a necessidade de disseminar a cultura e a implementação de padrões para o desenvolvimento pleno da Web a longo prazo, pois somente desta forma as aplicações Web terão suas informações e vida útil prolongadas. Como o propósito do W3C Brasil, é divulgar suas especificações, suas regras, seus objetivos e seus padrões, o Escritório oferece cursos aos seus filiados brasileiros e parceiros interlocutores. Alguns dos cursos que o W3C oferece são os de Web Design, onde estão centrados as especificações de HTML, CSS e Acessibilidade. Também são disponibilizados curso sobre Web semântica, Dados abertos e Ontologia. A seguir será apresentado as recomendações de desenvolvimento de software do padrão W3C. 3.1 As Recomendações do W3C São várias as recomendações do W3C para o desenvolvimento de softwares para web, cujo o principal objetivo é se obter qualidade nesses produtos, dentre eles estão o HTML, XML e CSS, além das recomendações de acessibilidade e de semântica. O HTML é baseado no conceito Hipertexto, que são conjuntos de elementos (ou nós) ligados por conexões. Os elementos que constituem o HTML podem ser imagens, texto, vídeos, áudios, documentos e etc. O XML possibilita a troca de dados na Internet, além de representar dados semiestruturados, que nada mais é do que uma representação “sem esquema” ou “auto descritivas”. O XML é que possibilita às páginas da Internet apresentarem estruturas semânticas, que também é um fator muito importante no desenvolvimento de softwares para web na atualidade. O CSS é uma linguagem de aplicação de estilos para a aparência das páginas. Através desta linguagem torna-se mais fácil diferenciar o que é estrutura e o que é 3 aparência e formatação e desta forma realizar eventuais alterações no código fonte da página sem o risco de apagar ou modificar o que não se deve. 3.2 Acessibilidade O W3C além de se ater com a qualidade dos produtos computacionais, preocupa-se, principalmente, com a acessibilidade, que é um dos pontos mais importantes e essenciais na construção de uma aplicação para web, pois através da acessibilidade a inclusão dos usuários com o meio tecnológico se torna mais fácil. Por esse motivo o W3C possui recomendações de acessibilidade para conteúdo web 2.0. O W3C disponibiliza o WCAG (Web Content Accessibility Guidelines) que são as Diretrizes de Acessibilidade ao conteúdo web. O WCAG 2.0 é a versão em vigor e explica como produzir conteúdo para Web que seja acessível às pessoas portadoras de necessidades especiais [W3C Brasil 2013]. 4. Validação de Website às Recomendações do W3C A Figura 1 apresenta um exemplo de um website submetido a validação de XHTML pela aplicação Markup Validator Service da W3C. Verifica-se que o mesmo não foi possível ser validado pela grande quantidade de erros na aplicação dos atributos requeridos, bem como, por não ter sido utilizado um padrão de qualidade. Figura 1 - Exemplo de validação de WebSite (site utilizado: www.baladasebabados.com.br) No momento da validação, verifica-se que o resultado encontrado foi de sessenta e quatro erros de utilização de elementos no WebSite e outros três erros de alerta. É importante ressaltar que a validação é baseada nas recomendações do W3C. Foi possível notar durante a busca de websites para a análise, que o desenvolvedor deu pouca importância ao visual do website, se atendo a conceder informações em forma de texto e imagens ao usuário. A falta de organização na informações e o excesso de imagens, nos leva a concluir que em momento algum houve a preocupação em se utilizar recursos de acessibilidade e a usabilidade na página, o que consequentemente, levou ao resultado encontrado após a submissão à validação. 4 5. Metodologia Para este artigo foram utilizadas revisões bibliográficas de livros disponíveis sobre o assunto, além de pesquisa em artigos científicos disponíveis na internet em alguns sites em que apresentam o assunto em questão. 6. Conclusão Através da revisão bibliográfica realizada é possível observar a importância da utilização de padrões de qualidade no desenvolvimento de um sistema computacional, indiferentemente da plataforma a qual será aplicada. A necessidade do usuário em se obter um produto prático, de fácil acesso, rápido e de interface amigável cresce aceleradamente de forma surpreendente. Através dos conceitos, métodos de produção e avaliações de qualidade disponibilizados pelos padrões é possível afirmar que a utilização dos mesmo torna o processo de produção mais ágil e muitas vezes minimiza as chances de se chegar a um resultado negativo, ou seja, o desenvolvimento de um software mal sucedido. O uso de métodos, ferramentas e mecanismos que utilizam a acessibilidade e as recomendações do padrão de qualidade para web, torna a experiência do usuário com o website produzido com essas tecnologias, mais prática e agradável, além de proporcionar ao desenvolvedor um reconhecimento a mais de suas competências. O resultado desta pesquisa nos traz o conhecimento, que nos leva a realizar uma análise de um website e identificar se o mesmo traz total satisfação aos usuários que dele utilizar e se o mesmo garante a usabilidade e torna acessível os recursos que estão disponíveis pela página. Este artigo abordou as informações gerais sobre padrões de qualidade. E como padrão em análise o de desenvolvimento para web, além de apresentar um exemplo da validação das recomendações do padrão W3C. 7. Referências MALDONADO, J. C.; BRAGA, R. T. V.; GERMANO, F. S. R.; MASIERO, P. C. Padrões e Frameworks de Software, Instituto de Ciências Matemáticas e de Computação da Universidade de São Paulo, ICMC/USP, São Paulo, SP, Brasil, 2002. PIRES, Aldo, MSc. CMM (Capability Maturity Model): Conceitos Básicos e Implementação, 2011; PRESMAN, Roger S.; Engenharia de Software, 2006. SODRE, Cibele Cristina P., NORMA ISSO/IEC 9126: Avaliação de Qualidade de Produtos de Software, Universidade Estadual de Londrina, 2006; SOFTEX, MPS.BR – Melhoria de Processo do Software Brasileiro (Guia Geral, versão 1.1), 2006; W3C Brasil, Conhecendo o W3C, <disponível http://www.w3c.br/Sobre/ConhecendoW3C> acesso em: 31/03/2013 em: 5