Arquitetura TI


Para atualizar as referências sobre a Série de normas internacionais ISO/IEC 25000, Systems and software [product] Quality Requirements and Evaluation (SQuaRE), no grupo sobre Engenharia de Software e Sistemas, revisei tão amplamente a página que ficou melhor dividir em uma página à parte da de Engenharia de Software:

Produto de Software – Qualidade, Métricas e Teste

Também atualizei o texto e referências do artigo Modelo de Qualidade de Software de McCall, com mais informação sobre a Série ISO/IEC 25000.

O instituto Gartner atualizou recentemente seu relatório “MarketScope for Ajax Technologies and RIA Platforms”. Aproveito para apresentar o resumo dessas tendências e alguns diagramas explicativos e estatísticas sobre Ajax e RIA.

Introdução

A técnica de interação e troca de dados assíncrona entre o cliente e o servidor web, identificada pelo acrônimo Ajax — Asynchronous Javascript And XML –, termo introduzido pela Adaptive Path em 2005, se populariza cada vez mais nas aplicações web e tem contribuído significativamente para melhorar a interatividade e experiência do usuário, oferecendo respostas imediatas à interação do usuário.

Vão se multiplicando as alternativas de bibliotecas e frameworks para desenvolvimento de aplicações web com suporte a Ajax, visando tornar o uso da técnica mais fácil, organizado e produtivo na construção de aplicações, de forma cada vez mais transparente, integrada e sistematizada.

Também têm se popularizado o uso de plataformas tecnológicas para web visando RIA — Rich Internet Applications –, termo introduzido pela Macromedia (Adobe) em 2002, que significa uma interface com usuário web mais rica — em componentes e comportamentos — e responsiva (resposta imediata, sensível ao contexto), similar a aplicações desktop.

As plataformas RIA podem ter como base um runtime específico, incorporado ao navegador web cliente através de plug-ins, ou se beneficiar do avanço da sofisticação das técnicas e componentes nativos baseados em Ajax.

O diagrama de blocos a seguir correlaciona esquematicamente RIA, Ajax e DHTML.


Créditos: Márcio d’Ávila, 2008-2011.

RIA

Enquanto as aplicações gráficas Cliente/Servidor trouxeram riqueza à experiência de usuário que não havia no ambiente mainframe, plataformas RIA fazem o mesmo em relação às aplicações web primitivas.


Créditos: Uday M. Shankar, Adobe Flex – an introduction, mar/2008 (em Slideshare).

Segundo estatísticas do site Stat Owl, levando em consideração os diversos sistemas operacionais e navegadores web existentes, em setembro de 2008 o suporte runtime instalado para Adobe Flash já era 97,48% (verdadeiro padrão de facto), Java 81,37% e Microsoft Silverlight apenas 17,64%. Em abril de 2011, estas mesmas plataformas evoluiram para percentuais de penetração 95,65%, 77,31% e 63,92% respectivamente.

Percebe-se, portanto, uma notável expansão do suporte à tecnologia RIA da Microsoft no período medido, enquanto o pequeno decréscimo de Flash pode ser explicado pela ausência de suporte ainda existente em alguns ambientes operacionais de dispositivos móveis que vem se popularizando, como Apple iOS (iPhone e iPad).


Fonte: Stat Owl, Rich Internet Application Market Share – RIA Market Penetration and Global Usage comparing Adobe Flash, Microsoft SilverLight and Java, set/2008 a abr/2011.

2009

Em 2009, o mercado ainda estava incipiente e muitos produtos foram considerados pelo Gartner em tecnologias Ajax e plataformas RIA, dez deles classificados com tendência positiva ou muito positiva.

Forte
Negativo
Cuidado Promissor Positivo Forte
Positivo
Adobe Plataforma Flash RIA ($/L)
Backbase Ajax framework Ajax ($)
DevExpress para .NET RIA ($)
Dojo Ajax toolkit Ajax (L)
Ext JS JavaScript, Ext GWT Ajax ($/L)
Google GWT Java, Closure Ajax (L)
IBM Ajax, Lotus Expeditor Ajax/RIA ($/L)
ICEsoft ICEfaces JSF Ajax (L/$)
Infragistics para .NET Ajax ($)
Isomorphic Soft SmartCli, GWT Ajax/RIA (L/$)
JackBe Ajax framework Ajax ($)
jQuery JavaScript Ajax Ajax (L)
Magic Software uniPaaS RIA ($)
MB Tech Bindows Ajax ($)
Microsoft Silverlight, WPF RIA ($)
Nexaweb E.Web Suite Ajax/RIA ($)
Oracle ASF Faces JSF Ajax ($)
Prototype/
script.aculo.us
JavaScript Ajax (L)
Sun Microsystems JavaFX RIA (L/$)
Telerik para .NET Ajax ($)
Tibco Software GI Ajax (L)
Yahoo YUI toolkit Ajax (L)

Fonte: MarketScope for Ajax Technologies and RIA Platforms, Gartner, por Ray Valdes e outros, 2009-12-31, reproduzido por Adobe (PDF).

2011

Atualizando a pesquisa em 2011, o mercado ainda se mostra em evolução, com oito produtos apontados como tendência positiva ou muito positiva.

Comparando com 2009, Adobe Flash e Microsoft Silverlight tiveram sua tendência refreada (Positivo), enquanto a versátil biblioteca livre JavaScript jQuery obteve maior evidêcia (Muito Positivo).

Saíram da lista Magic Software uniPaaS e MB Tech Bindows; Ext JS se tornou Sencha, enquanto Sun foi incorporada à Oracle; e entram agora Canoo Engineering RIA Suite (UltraLightClient framework baseado em Java EE) e Vaadin (framework RIA Java baseado em GWT widgets e extensa coleção de componentes UI).

Forte
Negativo
Cuidado Promissor Positivo Forte
Positivo
Adobe ⇓ Plataforma Flash RIA ($/L)
Backbase ⇓ Portal Ajax ($)
Canoo Engineering UltraLightClient RIA ($)
DevExpress para .NET RIA ($)
Dojo Ajax toolkit Ajax (L)
Google GWT Java, Closure Ajax (L)
IBM Ajax, Lotus Expeditor Ajax/RIA ($/L)
ICEsoft ICEfaces JSF Ajax (L/$)
Infragistics para .NET Ajax ($)
Isomorphic Soft SmartClient, GWT Ajax/RIA (L/$)
jQuery jQuery JS lib Ajax (L)
Microsoft ⇓ Silverlight, WPF RIA ($)
Oracle ASF Faces JSF, JavaFX Ajax/RIA (L/$)
Prototype/
script.aculo.us
JavaScript Ajax (L)
Sencha Ext JS, Ext GWT Ajax ($/L)
Telerik ASP.NET Ajax Ajax ($)
Tibco Software General Interface Ajax (L)
Vaadin Vaadin RIA RIA (L)
Yahoo YUI Library Ajax (L)

Fonte: MarketScope for Ajax Technologies and RIA Platforms, Gartner, por Ray Valdes e outros, 2011-03-31, reproduzido por Microsoft.

Conclusão

Tecnologias RIA e Ajax têm se tornado cada vez mais difundidas e maduras.

Podemos inferir, pela evolução do Gartner MarketScope, que plataformas RIA com componentes ricos nativos (Ajax e DHTML) — boa parte delas baseadas em frameworks livres e Java server/EE) — tem ganhado força, em detrimento daquelas baseadas em runtime próprio.

É provável que o emergente padrão HTML 5, quando se estabelecer, reforce ainda mais esse movimento.

Para saber mais:

O Real Story Group — anteriormente CMS Watch — publica desde 2001 relatórios e análises dos fornecedores de produtos no mercado de gerenciamento de conteúdo, do simples CMS até as abrangentes soluções de ECM, incluindo os segmentos de colaboração e software social, gestão de recursos digitais (DAM), gestão de documentos e registros (gestão arquivística), portais e integração de conteúdo, pesquisa e acesso a informação, e, claro, conteúdo para web.

É de autoria do Real Story o interessante Content Technology Vendor Map, um diagrama inspirado em mapa de metrô que mostra os diversos segmentos de mercado como “caminhos” ou “linhas” de cores distintas no mapa, e as junções representam os fornecedores que atuam nos diversos segmentos que ali se cortam.

2011 Content Technology Vendor Map - Real Story Group

Há tempos o Real Story também publica informações e notícias públicas resumidas em seu blog.

E descobri agora um novo tipo de análise publicada por este grupo, a análise Cross-Check, que inclui um diagrama de dois eixos para representação de posicionamento de fornecedores de mercado.

É importante notar que a filosofia do diagrama da análise Cross-Check difere dos gráficos de institutos de análise de mercado, como Quadrante Mágico do Gartner e Ondas do Forrester, onde um fornecedor é tanto melhor quanto mais se aproxima do extremo superior direito do gráfico.


Fonte: Web Content Management Marketplace Cross-Check, por Tony Byrne, Real Story Group, 2010-09-14 – Platform-oriented WCM Vendors.

As seguintes análises Cross-Check já foram publicadas pelo Real Story Group:

Em dezembro de 2010, Real Story Group redesenhou sua análise Cross-Check, destacando que o extremo superior direito do gráfico, onde há alta velocidade de mudanças tanto do fornecedor quanto do produto, pode significar alto Risco potencial. Para entender melhor a metodologia, é interessante ler o artigo no blog por Jarrod Gingras, 2010-12-21.

A análise de Gerenciamento de Documentos e Registros feita em 2011 já está nesse novo modelo:


Fonte: 2011 Document and Records Management Market Analysis, por Alan Pelz-Sharpe, Real Story Group, 2011-01-05.

Continuando a linha de resumo de análises de mercado já feita como no artigo Relatórios de mercado TI atualizados (1º/06/2010), coleto aqui análises novas e atualizadas, realizadas por institutos de pesquisa como Gartner, Forrester etc. e disponibilizadas por fornecedores.

Suítes de Qualidade de Software

Em janeiro de 2011, o Gartner publicou o Quadrante Mágico para Suítes de Qualidade de Software Integradas.

Fonte: Magic Quadrant for Integrated Software Quality Suites, 31 de janeiro de 2011, por Thomas E. Murphy, Gartner, RAS Core Research Note G00208975, redistribuído por HP (PDF), por Oracle, por Microfocus, por Microsoft.

Em 2009, o mercado era mapeado pelo Gartner assim:

Fonte: Magic Quadrant for Integrated Software Quality Suites, 31 de julho de 2009, por Thomas E. Murphy, Gartner, RAS Core Research Note G00169077, redistribuído por HP (PDF), por IBM (PDF, FTP).

Infraestrutura e Integração de Aplicações

Para projetos de integração de aplicações:

Fonte: Magic Quadrant for Application Infrastructure for Systematic Application Integration Projects, 18 de outubro de 2010, por Jess Thompson, Benoit J. Lheureux, Paolo Malinverno, Massimo Pezzini, Daniel Sholler, Yefim V. Natis e Kimihiko Iijima, Gartner, RAS Core Research Note G00205883, redistribuído por Oracle.

Para projetos de aplicação estilo SOA:

Fonte: Magic Quadrant for Application Infrastructure for Systematic SOA-Style Application Projects, 21 de outubro de 2010, por Yefim V. Natis, Massimo Pezzini, Jess Thompson, Kimihiko Iijima, Daniel Sholler, Eric Knipp, Ray Valdes, Benoit J. Lheureux, Paolo Malinverno e Mark Driver, Gartner, RAS Core Research Note G00206341, redistribuído por Oracle.

Fonte: The Forrester Wave: Comprehensive Integration Solutions, Q4 2010, 9 de novembro de 2010, por Ken Vollmer, Forrester, redistribuído por Oracle (PDF).

Gerenciamento de Conteúdo

Atualizando o Mercado de ECM 2009, temos os relatórios recentes para ECM e WCM/CMS a seguir.

Gerenciamento de Conteúdo Corporativo (ECM):

Fonte: Magic Quadrant for Enterprise Content Management, 16 de novembro de 2010, por Toby Bell, Karen M. Shegda, Mark R. Gilbert e Kenneth Chin, Gartner, RAS Core Research Note G00206900, redistribuído por Oracle, por Microsoft.

Veja também: MarketScope for Enterprise Records Management, 23 de agosto de 2010, por Kenneth Chin, Gartner, RAS Core Research Note G00201565. ERM tem equivalência ao que denominamos Gestão Arquivística Documental (GAD) no Brasil.

Gerenciamento de Conteúdo Web (WCM/CMS):

Fonte: Magic Quadrant for Web Content Management, 19 de agosto de 2010, por Mick MacComascaigh, Toby Bell, Jim Murphy, Gartner, RAS Core Research Note G00201300, redistribuído por Oracle.

E acrescento agora o relatório relativo a Portais Horizontais:

Fonte: Magic Quadrant for Horizontal Portals, 3 de setembro de 2010, por Jim Murphy, Gene Phifer, Ray Valdes e Eric Knipp, Gartner, RAS Core Research Note G00206214, redistribuído por Oracle.

Inteligência de Negócios (BI)

Fonte: Magic Quadrant for Business Intelligence Platforms, 27 de janeiro de 2011, por Rita L. Sallam, James Richardson, John Hagerty e Bill Hostmann, Gartner, RAS Core Research Note G00210036, redistribuído por Microsoft, por SAS.

Fonte: The Forrester Wave: Enterprise Business Intelligence Platforms, Q4 2010, 20 de outubro de 2010, por Boris Evelson, Forrester, reproduzido por SAS (PDF).

Armazém de Dados (DW) e Integração de Dados (DI)

Fonte: The Forrester Wave: Enterprise Data Warehousing Platforms, Q1 2011, 2011-02-10 (2011-04-20), por James G. Kobielus, com Boris Evelson, Connie Moore e Charles Coit, para Profissionais de Processos de Negócio, redistribuído por Microsoft (PDF, atualizado em 2011-04-20), por Teradata (PDF).

Fonte: Magic Quadrant for Data Integration Tools, 19 de novembro de 2010, por Ted Friedman, Mark A. Beyer e Eric Thoo, Gartner, RAS Core Research Note G00207435, redistribuído por Oracle, por Teradata.

Fiz uma importante atualização do meu artigo Tutorial Tomcat – Instalação e Configuração Básica, um dos mais longevos e populares do meu site, introduzindo o atributo de contexto privilegiado para que a InvokerServlet possa ser utilizada no Tomcat 6.

Desde a revisão 25, eu comecei a atualizar o texto para cobrir o Tomcat 6. Mas só agora, na revisão 35, pude testar todos os aspectos nessa versão do Tomcat.

Descobri então que uma nova característica de segurança introduzida no Tomcat 6 necessitou alterações importantes na configuração do contexto, relativas ao uso da InvokerServlet.

InvokerServlet é uma servlet do Tomcat, definida no pacote org.apache.catalina.servlets, que serve para mapear e invocar genericamente qualquer servlet com base no nome da respectiva classe.

Utilizando Invoker Servlet, um mapeamento genérico como /servlet/* no web.xml permite que se possa executar através de um URL do tipo /servlet/NomeClasse uma servlet implementada pela classe NomeClasse.class.

Até o Tomcat 5.5, InvokerServlet podia ser declarada e mapeada no web.xml de qualquer aplicação web e era automaticamente localizada e ativada pelo classloader desta aplicação.

A partir do Tomcat 6, InvokerServlet passou a ser restrita ao classloader do Server (mecanismo do servidor Tomcat). Para carregar e utilizar esta servlet, um contexto de aplicação web deve ser definido como privilegiado, setando o atributo privileged="true" no elemento Context que o define.

Se esta configuração não for feita no Tomcat 6, ocorre o seguinte erro durante a tentativa de executar o mapeamento de InvokerServlet definido no web.xml do contexto da aplicação web, visível nos arquivos de log do Tomcat (em CATALINA_HOME/logs):

java.lang.SecurityException: Servlet of class org.apache.catalina.servlets.InvokerServlet is privileged and cannot be loaded by this web application

Cabe ressaltar que o mapeamento genérico de servlets baseado no nome da classe, como permite InvokerServlet, é considerado má prática. Em produção, o ideal é que se mapeie individualmente cada servlet utilizada em um contexto, no arquivo web.xml da aplicação web.

Contudo, o mapeamento genérico do InvokerServlet é um recurso muito útil em desenvolvimento para se testar rapidamente qualquer classe servlet implementada, sem a necessidade prévia de configurar um mapeamento específico para esta.

Na revisão 35, o texto todo do tutorial foi repassado durante sua validação completa para o Tomcat 6, o que acabou trazendo vários ajustes e melhorias no texto. Confira!

Para saber mais:

Reestruturei bastante a página sobre Engenharia de Software em meu site de meta-referências, hoje.

Organizei uma série de tópicos em uma seção própria: Produto de Software – Qualidade, Métricas e Teste.

Nesta seção estão os seguintes temas:

  • ISO/IEC 25000 e 9126 – Qualidade do Produto de Software
  • IEEE Std 1061 – Padrão IEEE para Metodologia de Métricas de Qualidade de Software
  • Métricas de Software – Complexidade e Qualidade
  • Medição de Software – Tamanho Funcional
  • Teste e Qualidade de Software

Os outros temas gerais sobre Engenharia de Software, na mesma página (por enquanto, pois já penso em dividi-la devido ao grande tamanho e extensão), são:

  • Engenharia de Software
  • ISO/IEC 12207 – Processos do Ciclo de Vida de Software
  • Análise e Modelagem Orientada a Objetos
  • UML – Unified Modeling Language e SysML – OMG Systems Modeling Language
  • Engenharia Dirigida a Modelo (MDE) e Desenho Dirigido a Domínio (DDD)
  • Metodologias baseadas no Processo Unificado (UP)
  • Metodologias baseadas no Desenvolvimento Ágil

É um vasto universo de temas em uma única disciplina. E nem sei se fui suficientemente abrangente.

Outra parte igualmente vasta e que vem se estendendo a passos largos em meu site é a de Arquitetura de Software, sendo que estão em páginas à parte também os temas de Integração e Arquitetura Corporativa, e de Arquitetura da Informação, Interação, Usabilidade e Acessibilidade.

Aproveitando o assunto, gostaria de recomendar os artigos Tales from the IT Crypts – O analista Frankenstein, 2010-08-12, e O Desenvolvedor “Cozinheiro Italiano”, 2010-2009-05-25, do meu amigo e grande arquiteto e engenheiro de software Marco Aurélio Mendes.

Capa do livro
Seis consultores e instrutores Java da Caelum estão escrevendo o livro Arquitetura e Design de Software: Uma visão sobre a plataforma Java, fruto de mais de dois anos de experiência ministrando o treinamento de Arquitetura e Design Java, consultorias e projetos realizados pela empresa e discussões no GUJ.com.br.

No site do livro está disponível a estrutura de conteúdo proposta, com diversos trechos rascunho para baixar em PDF.

O livro tem prefácio de Phillip Calçado. O lançamento, pela editora Campus Elsevier, foi inicialmente previsto pelos autores para novembro de 2009 e depois primeiro semestre 2010, mas pelo atraso creio que eles devem estar sofrendo na pele a Regra de Pareto: os 20% finais do livro tomando 80% do tempo… vamos aguardar.

Existem mercados verticais específicos, que tem como base o mercado de servidores de aplicação, como o segmento de sistemas de gerenciamento de processos de negócio (BPM Suites).


Fonte: Decision Matrix: Selecting a Business Process Management Vendor, por Vuk Trifkovic, fevereiro 2010, Ovum (Datamonitor). Reproduzido por Oracle (PDF), por Metastorm (PDF, ver press release e blog), por VOSibilities (PDF).

O relatório do Gartner mostrava um cenário de mercado similar há um ano atrás.

Fonte: Magic Quadrant for Business Process Management Suites, 2009-02-18, por Janelle B. Hill, Michele Cantara, Marc Kerremans e Daryl C. Plummer, Gartner Research. Reproduzido por Software AG (PDF), por Lombardi Software (ver press release).

Ver também Gartner Publish BPMS Magic Quadrant for 2009, por Ian Louw, 2009-02-20, no blog BPM Insights; e Metastorm Positioned in Leaders Quadrant in 2009 Business Process Management Suites Magic Quadrant, press release, 2009-02-25, Metastorm.

O site Stat Owl disponibiliza uma série de relatórios com estatísticas e tendências relacionadas ao ambiente e ao mercado de web, com base no que os usuários de internet usam, como: navegadores e seus plugins, sistemas operacionais e configurações (resolução de tela, cores, arquitetura).

Em especial, achei interessante o relatório especializado Rich Internet Application Market Share – RIA Market Penetration and Global Usage.

Este relatório compara a penetração de mercado e o uso mundial das tecnologias Adobe Flash, Microsoft Silverlight e Java, considerando os diversos navegadores e sistemas operacionais.

Analisando os dados disponíveis desde setembro de 2008, vemos facilmente que:

Adobe Flash pode ser considerado pleno padrão de mercado, com uma penetração beirando a totalidade (97% maio/2010).

A adoção de Java, em torno de 80%, é ampla mas não tão unânime quanto Flash.

Há gradativa evolução no suporte ao Microsoft Silverlight, mas sua penetração ainda é baixa, disponível em aproximadamente metade dos clientes (51% em maio/2010).

RIA

O Termo RIA — Rich Internet Applications — foi introduzido em março de 2002 no white paper “Macromedia Flash MX — A next-generation rich client”, por Jeremy Allaire, da Macromedia – empresa criadora da tecnologia Flash e de outros produtos para multimídia e internet, que foi adquirida pela Adobe em 2005.

Frameworks RIA de destaque no mercado:

Veja também uma Lista de frameworks para RIA disponível na Wikipedia.

Existem também tecnologias RIA que visam integração de aplicações web com o ambiente cliente desktop do sistema operacional e com dispositivos móveis, em geral baseando-se no conceito que tem sido denominado Site-Specific Browser (SSB).

Exemplos:

Para saber mais:

Qualidade de software é um tema que vem sendo abordado e evoluído há muito tempo em engenharia e arquitetura de software, tanto em relação à qualidade do processo (da concepção à construção e à manutenção) quanto em relação à qualidade do produto, o software em si.

Nas décadas de 70 a 90, organizações internacionais de normatização e padronização — como ISO/IEC, ANSI, IEEE e outros — definiram qualidade de produto como:

A totalidade dos recursos, aspectos e características de um produto ou serviço que suportam a sua capacidade de satisfazer os requisitos dados, as expectativas e as necessidades explícitas e implícitas.

Em seu estudo sobre qualidade de software, Software Quality: Definitions and Strategic Issues (PDF, abril 1996), o pesquisador Ronan Fitzpatrick propõe uma visão mais moderna e ousada de qualidade do produto de software, definindo assim:

Qualidade de software é a medida em que um conjunto definido pela indústria de características desejáveis são incorporadas em um produto, de modo a aprimorar seu desempenho durante sua existência.

O Modelo de Qualidade de Software proposto por James A. McCall e outros, em 1977, foi um dos primeiros largamente difundidos neste campo. Ele organiza os critérios de qualidade de software em três pontos de vista, a saber:

  • Operação: características relativas ao uso do produto.
  • Revisão: capacidade do produto ser modificado e evoluído.
  • Transição: adaptabilidade a novos e diferentes ambientes.

Os critérios de qualidade elencados no Modelo de McCall em cada ponto de vista estão listados na tabela a seguir.

Operação Revisão Transição
Correção Manutenibilidade Portabilidade
Confiabilidade Flexibilidade Reusabilidade
Eficiência Testabilidade Interoperabilidade
Integridade
Usabilidade

Atualmente existem outros modelos de avaliação da qualidade do produto de software, em especial o padrão internacional de engenharia de software ISO/IEC 9126, que trata da Qualidade do Produto. A norma se divide em quatro partes, sendo a primeira uma visão geral do modelo de qualidade, e as outras três, os grupos de métricas definidas para este modelo:

  • Parte 1: Modelo de qualidade.
  • Parte 2: Métricas externas.
  • Parte 3: Métricas internas.
  • Parte 4: Métricas de qualidade em uso.

Qualidade externa diz respeito ao produto final como percebido pelo usuário, enquanto qualidade interna se refere à estrutura e às características do produto em seu projeto e construção.

Mais recentemente, desde 2005, as normas ISO/IEC 9126 e a série ISO/IEC 14598, de avaliação de produto de software, tem sido integradas na nova Série de normas ISO/IEC 25000 – Software Engineering — Software product Quality Requirements and Evaluation (SQuaRE), que tem seu núcleo principal composto por cinco divisões:

  • ISO/IEC 2500n – Divisão Gestão da Qualidade;
  • ISO/IEC 2501n – Divisão Modelo de Qualidade;
  • ISO/IEC 2502n – Divisão Medição da Qualidade;
  • ISO/IEC 2503n – Divisão Requisitos de Qualidade;
  • ISO/IEC 2504n – Divisão Avaliação da Qualidade.

Além deste núcleo principal, o SQuaRE contempla extensões, que tratam de temas específicos, como ISO/IEC 25051, SQuaRE Requisitos para qualidade de produtos comerciais de prateleira (Commercial Off-The-Shelf – COTS), e ISO/IEC 2506n, SQuaRE Common Industry Format (CIF) para usabilidade.

Os critérios de qualidade no Modelo de McCall são muito similares aos preconizados por outros modelos para classificação de atributos de qualidade de software, como o FURPS+ (Robert Grady e Deborah Caswell, HP, 1987-1992) e o da própria ISO/IEC 9126, quanto a requisitos não funcionais:

FURPS+ ISO 9126 McCall
Functionality (Funcionalidade) Funcionalidade - (n/a, funcional)
Usability (Usabilidade) Usabilidade Usabilidade (Operação)
Reliability (Confiabilidade) Confiabilidade Correção,
Confiabilidade,
Integridade (Operação)
Performance (Desempenho) Eficiência Eficiência (Operação)
Supportability (Suportabilidade) Manutenibilidade Manutenibilidade,
Flexibilidade,
Testabilidade (Revisão)
+ (outros requisitos/restrições) Portabilidade Portabilidade,
Interoperabilidade,
Reusabilidade (Transição)

.

Vale ressaltar que qualidade do software, abordada aqui, se entende por qualidade do produto de software em si, o que é distinto de qualidade do processo de software, que diz respeito à qualidade das atividades e forma pelas quais se produz software.

Para saber mais:

Próxima Página »