You are on page 1of 151

Modelo de qualidade para componentes de

software


Darley Rosa Peres















Modelo de qualidade para componentes de software



Darley Rosa Peres




Orientador: Prof. Dr. Rosely Sanches










Dissertao apresentada ao Instituto de Cincias Matemticas e
de Computao - ICMC-USP, como parte dos requisitos para
obteno do ttulo de Mestre em Cincias de Computao e
Matemtica Computacional.







USP - So Carlos
Novembro/2006



SERVIO DE PS-GRADUAO DO ICMC-USP

Data de Depsito: 21.11.2006

Assinatura:________________________
Dedicatria





















Aos meus pais e minha noiva.
Agradecimentos


Agradeo aos meus pais, Joo e Luzia, meu irmo, Dirceu, e familiares,
por estarem sempre ao meu lado me apoiando e incentivando em todos os
momentos.
minha noiva Elienay, pelo amor, carinho e compreenso nos
momentos de ausncia.
minha orientadora, Rosely, que me auxiliou nesta jornada de
conhecimentos, no apenas por compartilhar suas idias e reflexes, mas
tambm pela sua dedicao, apoio e compreenso durante esses anos de
trabalho.
Agradeo tambm, a todos os amigos que conviveram comigo durante
esse tempo todo pelos momentos agradveis e descontrados e tambm pelos
momentos de concentrao e estudos.
Ao CenPRA, em especial ao pessoal da Diviso de Qualificao de
Software (DQS), agradeo pelas oportunidades e pelas trocas de
conhecimentos, proporcionando-me um crescimento no apenas profissional
mas tambm pessoal.
Ao CNPq, pelo apoio financeiro.
E principalmente a Deus, no apenas pelas oportunidades e desafios
que ele tem colocado diante de mim, mas por iluminar meu caminho e guiar
meus passos hoje e sempre.
Resumo


Dentre as tecnologias de desenvolvimento de software que promovem o
reuso com o objetivo de construir sistemas com prazos e custos menores, sem
sacrificar a qualidade dos produtos, est o Desenvolvimento Baseado em
Componentes (DBC). O Desenvolvimento Baseado em Componentes consiste
na construo de sistemas pela composio de componentes de software de
acordo com um processo de desenvolvimento especfico.
Para garantir a qualidade desses sistemas, importante garantir a
qualidade de seus componentes. A falta da garantia da qualidade dos
componentes de software destinados reutilizao um dos fatores de
inibio do DBC, e existe certa carncia de pesquisas sobre a qualidade de
componentes de software.
Desta maneira, o principal objetivo deste trabalho foi a definio de um
modelo de qualidade especfico para componentes de software, fornecendo a
base para a especificao de requisitos de qualidade e para a avaliao de
qualidade dos mesmos. O Modelo est embasado nas normas ISO/IEC 9126 e
ISO/IEC 12119, e tambm na literatura especializada. Uma ferramenta para
apoiar avaliaes de componentes (e de produtos de software de forma geral)
tambm foi desenvolvida.
Foram realizadas ainda quatro avaliaes de componentes atravs de
estudos de casos para verificar a aplicabilidade e utilidade do modelo de
qualidade e da ferramenta desenvolvida. Dois questionrios foram respondidos
pelos avaliadores responsveis pelas avaliaes coletando assim, suas
consideraes sobre o modelo de qualidade e sobre a ferramenta.
Abstract


Among the software development technologies that promote the reuse
aiming to build systems with periods and smaller costs, without sacrificing the
quality of products, is the Component-Based Development (CBD). The
Component-Based Development consists on the construction of systems by the
composition of software components according to a specific development
process. To guarantee the quality of those systems, it is important to guarantee
the quality of their components. The lack of warranty of the quality of the
software components destined to reuse is one of the inhibition factors of CBD,
and there is certain lack of researches about quality of software components.
This way, the main objective of this work was the formalization of a
specific quality model for software components, supplying the base for the
specification of quality requirements and for the quality evaluation of the same
ones. The model is based on the norms ISO/IEC 9126 and ISO/IEC 12119, and
also in the specialized literature. A tool to support components evaluations (and
software products in a general way) was also developed.
It was realized four components evaluations through case studies to
verify the applicability and usefulness of the quality model and the developed
tool. Two questionnaires were answered by the appraisers responsible for the
evaluations collecting thereby, their considerations on the quality model and the
tool.
i
Sumrio


Lista de Figuras iv
Lista de Tabelas vi
1 Introduo 1
1.1 Motivao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Organizao do Trabalho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Componentes de Software 7
2.1 Consideraes Iniciais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Componentes de Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Desenvolvimento Baseado em Componentes DBC . . . . . . . . . . . . 15
2.5 Consideraes Finais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3 Qualidade de Produtos de Software 21
3.1 Consideraes Iniciais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 Qualidade de Produtos de Software . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.1 Norma ISO/IEC 9126 Engenharia de Software Qualidade
de Produto: Evoluo Histrica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.2 Norma ISO/IEC 9126: Engenharia de Software Qualidade do
Produto (verso atual) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.3 Norma ISO/IEC 12119: Information technology Software
packages Quality requirements and testing. . . . . . . . . . . . . . . . . . . . 32
3.4 Consideraes Finais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4 Qualidade de Componentes de Software 41
4.1 Consideraes Iniciais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.3 Qualidade de Componentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
ii
4.4 Consideraes Finais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5 Modelo de Qualidade para Componentes de Software 51
5.1 Consideraes Iniciais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.3 Modelo de Qualidade para Componentes de Software. . . . . . . . . . . 52
5.3.1 Caractersticas e Subcaractersticas de Qualidade do Modelo. . 57
5.3.2 Atributos e Mtricas de Qualidade do Modelo. . . . . . . . . . . . . . . 64
5.4 Consideraes Finais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6 Ferramenta de Apoio a Avaliao BMA 71
6.1 Consideraes Iniciais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.2 Viso Geral das Funcionalidades da Ferramenta BMA. . . . . . . . . . . 71
6.3 Consideraes Finais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7 Verificao da Aplicabilidade e Utilidade do Modelo de Qualidade e
da Ferramenta BMA 83
7.1 Consideraes Iniciais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.2 Viso Geral do Processo de Avaliao apresentado na Norma
ISO/IEC 14598-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.3 Processo de Avaliao para Componentes de Software. . . . . . . . . . 86
7.4 Estudos de Caso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.4.1 Estudo de Caso 1 Componente JBarcodeBean. . . . . . . . . . . . 90
7.4.2 Estudo de Caso 2 Componente Turbo Power Async
Professional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.4.3 Estudo de Caso 3 Componente FolderMgr . . . . . . . . . . . . . . . 95
7.4.4 Estudo de Caso 4 Comparao entre 2 componentes de
criptografia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.5 Concluso sobre as consideraes dos avaliadores. . . . . . . . . . . . . 99
7.6 Consideraes Finais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
8 Concluses e Trabalhos Futuros 101
8.1 Lies Aprendidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.2 Contribuies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.3 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
iii

Referncias Bibliogrficas 107
Anexo A 115
Anexo B 143

iv
Lista de Figuras


Figura 2.1 Desenvolvimento Baseado em Componentes DBC (Adaptado
de (Pressman, 2002)) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Figura 3.1 Trs nveis de qualidade (Adaptado de (ISO, 2001)). . . . . . . . . 28
Figura 3.2 Modelo de qualidade para qualidade externa e interna.
(Adaptado de (ISO, 2001)) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figura 3.3 Modelo de qualidade para qualidade em uso (Adaptado de
(ISO, 2001)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figura 5.1 Estrutura definida pela Norma ISO/IEC 9126-1. (Adaptado de
(ISO, 2001)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Figura 5.2 Modelo de Qualidade Externa para Componentes de Software 56
Figura 5.3 Modelo de Qualidade em Uso para Componentes de Software
(Adaptado de (ISO, 2001)) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figura 6.1 Principais Funcionalidades da Ferramenta BMA. . . . . . . . . . . . 72
Figura 6.2 Interface GUI - Cadastrar Modelo . . . . . . . . . . . . . . . . . . . . . . . 74
Figura 6.3 Interface GUI - Cadastrar Caracterstica . . . . . . . . . . . . . . . . . . 74
Figura 6.4 Interface GUI - Gerar Modelo. . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Figura 6.5 Relatrio do Modelo de Qualidade gerado pela Ferramenta
BMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Figura 6.6 Interface GUI - Cadastrar Mtodo . . . . . . . . . . . . . . . . . . . . . . . 76
Figura 6.7 Interface GUI - Cadastrar Perguntas . . . . . . . . . . . . . . . . . . . . . 76
Figura 6.8 Pgina de solicitao de uma avaliao . . . . . . . . . . . . . . . . . . 77
Figura 6.9 Pginas de manuteno de Laboratrios e Avaliadores . . . . . . 78
Figura 6.10 Pgina de autorizao de avaliadores para uma avaliao. . . 79
Figura 6.11 Execuo de uma avaliao por meio da Ferramenta BMA . . 80
Figura 6.12 Execuo de uma avaliao por meio da Ferramenta BMA
(continuao). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

v
Figura 7.1 Processo de Avaliao segundo ISO 14598-1 (Adaptado de
(ISO, 2001a)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Figura 7.2 Nveis de pontuao para a avaliao. . . . . . . . . . . . . . . . . . . . 88
Figura 7.3 Resultado final da avaliao do componente JBarcodeBean . . 92
Figura 7.4 Resultado final da avaliao do componente TurboPower . . . . 94
Figura 7.5 Resultado final da avaliao do componente FolderMgr. . . . . . 96
Figura 7.6 Resultado final da avaliao dos componentes JSecurity e vH
Crypto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
vi
Lista de Tabelas


Tabela 2.1 Caractersticas de componentes. . . . . . . . . . . . . . . . . . . . . . . . 12
Tabela 3.1 Caractersticas de Qualidade de Produto de Software
ISO/IEC 9126. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Tabela 3.2 Caractersticas e Subcaractersicas Externas e Internas da
norma ISO/IEC 9126-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Tabela 3.3 Caractersticas de Qualidade em Uso da norma ISO/IEC
9126-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Tabela 3.4 - Requisitos de Qualidade para a Descrio do Produto . . . . . . . 34
Tabela 3.5 - Requisitos de Qualidade para a Documentao do Usurio . . . 35
Tabela 3.6 - Requisitos de Qualidade para Programas e Dados. . . . . . . . . . 36
Tabela 3.7 Instrues para teste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Tabela 4.1 Caractersticas, subcaractersticas e atributos para
componentes COTS (Adaptado de (Bertoa, 2002)) . . . . . . . . . . 44
Tabela 4.2 Modelo de Qualidade de Componentes. Adaptado de (Alvaro,
2006)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Tabela 5.1 Atributos para a caracterstica Funcionalidade / Adequao
(Adaptado de (ISO, 2003)) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Tabela 5.2 Atributo e mtricas para a caracterstica Contedo do
artefato Descrio do Componente. (Adaptado de (Rgo,
1996)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Tabela 5.3 Atributo e mtricas para a caracterstica Completitude /
Identificao e Indicao do artefato Documentao do
Componente. (Adaptado da (ISO, 1994), (Rgo, 1996)). . . . . . . 67
Tabela 5.4 Atributo e mtrica para a caracterstica Eficcia de
qualidade em uso. (Adaptado de (ISO 9126-4)) . . . . . . . . . . . . . 68
Tabela 7.1 Questionrio de avaliao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

1
Captulo 1

Introduo


O aumento da competitividade e as grandes exigncias atuais do
mercado de software esto fazendo com que as empresas passem a se
preocupar cada vez mais com as metodologias de desenvolvimento visando
reduzir riscos referentes a estimativas, custo e prazo de entrega. Alm disso,
h uma preocupao maior pela qualidade e satisfao dos clientes com o
produto final e atendimento dos requisitos dos stakeholders.
Essas preocupaes tm levado as organizaes a buscarem novas
perspectivas para o desenvolvimento de software com o foco na melhoria das
prticas de desenvolvimento aumentando a produtividade e a qualidade, bem
como a reduo de custos e esforos (Li et al., 2006).
Nesse sentido, o reuso um importante aspecto a ser considerado,
pois potencialmente apresenta um impacto positivo na qualidade,
produtividade e custo do software (Brito et al., 2006). Segundo Sametinger
(1997), reconhecer o fato de que muitos sistemas apresentam
componentes similares ou at mesmo idnticos, os quais so
desenvolvidos repetidamente, conduz tentativa de reutilizar componentes
j existentes. Dessa forma, o Desenvolvimento Baseado em Componentes
(DBC) surgiu como uma perspectiva de desenvolvimento de software
caracterizada pela composio de partes j existentes. Conforme
Szypersky (Szypersky et al., 2002), construir novas solues pela
combinao de componentes desenvolvidos ou adquiridos de terceiros,
possibilita o aumento da qualidade e d suporte ao rpido
desenvolvimento, levando diminuio do custo de desenvolvimento e
tambm de tempo de entrega do produto ao mercado.
O termo componente tem sido amplamente utilizado, contendo inmeras
definies, cada uma delas apresentando as propriedades mais relevantes
2
para o contexto no qual est inserido. No contexto deste trabalho, utilizada a
definio de Villela (Villela, 2000) para componentes de software:
Componentes de software so artefatos autocontidos, claramente
identificveis, que descrevem ou realizam uma funo especfica e tm
interfaces claras em conformidade com um dado modelo de arquitetura
de software, documentao apropriada e um grau de reutilizao
definido.
Esse conceito foi escolhido por reunir diversas propriedades
importantes de componentes, como: a) unidade fornecedora de servios; b)
autocontido (disponibiliza seus servios de forma completa); c) conformidade
de suas interfaces com um modelo de arquitetura. A definio destaca ainda, a
maturidade atravs do grau de reutilizao, e, por fim, a necessidade de uma
documentao adequada. importante ressaltar tambm que, no contexto
deste trabalho, o foco so os componentes do tipo caixa-preta, ou seja,
componentes prontos que esto disponveis para serem reutilizados. O
conceito apresentado ser utilizado como ponto de partida para a discusso
das caractersticas, subcaractersticas, atributos e mtricas que iro compor o
modelo de qualidade proposto.

1.1 Motivao
Diversos trabalhos de pesquisa apresentam mtodos, tcnicas,
processos, e, principalmente, ferramentas e ambientes para apoiarem o DBC.
Tais trabalhos, entretanto no focam especificamente um requisito importante
para o sucesso do DBC: a qualidade dos componentes de software (Alvaro et.
al., 2006).
Em uma pesquisa, desenvolvida pelo Software Engineering Institute
(SEI), foram examinados componentes de software sob a perspectiva tcnica e
de negcios (Bass et. al., 2000). A partir dessa pesquisa foi identificado um
conjunto de inibidores para adoo de componentes de software e entre esses
inibidores estava a carncia de componentes certificados.
3
Assim, a principal motivao deste trabalho fornecer uma forma de
reduzir a carncia de componentes com qualidade e contribuir na linha de
pesquisa em qualidade e certificao de componentes de software (Morris et
al., 2001), (Goulao, 2002), (Schmidt, 2003), (Wallnau, 2003), (Alvaro et. al.,
2005), (Alvaro et. al., 2006).
Essa linha de pesquisa relacionada questo da qualidade dos
componentes vem sendo explorada pela comunidade de DBC, pois sabe-se
que a qualidade dos componentes utilizados no desenvolvimento interfere na
qualidade do sistema desenvolvido e, em um ambiente real, um desenvolvedor
que recupera um componente falho ou com baixa qualidade certamente se
tornar desencorajado para realizar uma nova consulta. Com isso, torna-se
extremamente importante assegurar a qualidade dos componentes de software
que sero armazenados no repositrio e recuperados futuramente para
reutilizao (Alvaro et. al., 2005).

1.2 Objetivo
Este trabalho tem por objetivo apresentar o modelo de qualidade
especfico para componentes de software desenvolvido, que fornece a base
para apoiar avaliaes de componentes com o intuito de certificar a qualidade
dos mesmos, podendo essa certificao da qualidade, servir tanto como critrio
de admissibilidade dos componentes nos repositrios, como critrio para
seleo/aquisio de componentes.
Para que possa suprir as necessidades da comunidade de DBC, tanto
do ponto de vista dos avaliadores, quanto dos desenvolvedores de
componentes e/ou adquirente/usurio de componentes de software, o modelo
de qualidade desenvolvido est de acordo com normas internacionais de
qualidade, como por exemplo, as normas ISO/IEC 9126-1 (2001) e ISO/IEC
12119 (1994).
Em complemento ao modelo de qualidade para componentes,
apresentada tambm uma ferramenta para apoiar avaliaes que so
baseadas em modelos de qualidade. A ferramenta auxilia avaliaes no
apenas de componentes, mas tambm de produtos de software em geral.
4
Objetiva-se com isso, reduzir o esforo necessrio para a aplicao dessas
avaliaes, bem como os custos e tempo envolvidos. Alm disso, a ferramenta
pode facilitar o aprendizado quanto utilizao do modelo, visto que ela pode
servir tambm como guia durante a avaliao, diminuindo as chances de erros.
Dessa forma, espera-se contribuir com a comunidade de DBC, pois o
modelo de qualidade proposto permite que a qualidade dos componentes de
software seja especificada e avaliada em diferentes perspectivas pelos
envolvidos com busca, seleo/aquisio, uso e avaliao de componentes.

1.3 Organizao do Trabalho
Este trabalho est organizado em tpicos relacionados reviso
bibliogrfica e aos produtos deste trabalho de mestrado, organizado ao todo
em oito captulos e trs anexos.
Apresentou-se neste captulo uma breve contextualizao e motivao
para o trabalho realizado.
No captulo 2 so apresentados definies e conceitos de
componentes de software e tambm algumas caractersticas do processo de
desenvolvimento, dando maior enfoque definio de componentes utilizada
no contexto deste trabalho.
Qualidade de produto de software e as normas ISO/IEC 9126-1 e
ISO/IEC 12119 so discutidas no captulo 3.
No captulo 4, so relatados aspectos relacionados qualidade de
componentes de software atravs da apresentao de trabalhos correlatos.
No captulo 5, apresentado o modelo de qualidade para componentes
de software com sua estrutura de caractersticas, subcaractersticas, atributos e
mtricas de qualidade. O modelo est embasado nas normas de qualidade
apresentadas no captulo 3 e em trabalhos especficos sobre componentes e
qualidade de componentes apresentados nos captulos 2 e 4.
A ferramenta que auxilia na execuo de avaliaes no apenas de
componentes, mas de produtos de software de forma geral, apresentada no
captulo 6.
5
No captulo 7, relata-se o estudo de caso realizado e, no captulo 8, as
concluses e trabalhos futuros.
Por fim, no Anexo A, apresentado o modelo de qualidade para
componentes de software com todas as suas caractersticas,
subcaractersticas, atributos e mtricas de qualidade. No Anexo B, so
apresentados os questionrios para a verificao da aplicabilidade e utilidade
do modelo e da ferramenta.
7
Captulo 2

Componentes de Software


2.1 Consideraes Iniciais
A busca por um entendimento comum sobre os conceitos do
Desenvolvimento Baseado em Componentes (DBC) tem sido um desafio para
a indstria de software e para os grupos de pesquisas. Apesar dos esforos,
pouco sucesso foi obtido quanto a uma padronizao ou consenso sobre o
conceito bsico de componente. Sob o foco deste trabalho, so apresentadas
neste captulo definies e conceitos de componentes de software e tambm
algumas caractersticas do processo de Desenvolvimento Baseado em
Componentes (DBC).

2.2 Introduo
A preocupao e os esforos empregados para melhorar as prticas de
desenvolvimento de software buscando o aumento da produtividade e da
qualidade, bem como a reduo de custos e esforos, evidenciam novas
perspectivas para o desenvolvimento de software.
Um importante aspecto a ser considerado no desenvolvimento de
software com impacto positivo na qualidade, produtividade e custo o reuso de
software (Gill, 2006). De acordo com Almeida (2005), reuso de software o
processo de criar sistemas a partir de software existentes, ao invs de construir
desde o incio.
Reconhecer o fato de que muitos sistemas apresentam componentes
similares ou at mesmo idnticos, os quais so repetidamente desenvolvidos
desde o incio, conduz tentativa de reutilizar componentes j existentes.
Componentes e reuso completam-se perfeitamente, a utilizao de
componentes para construir sistemas de software quase que automaticamente
8
conduz ao reuso, embora a utilizao de componentes por si s no seja
suficiente para garantir o reuso de software (Sametinger, 1997).
O Desenvolvimento Baseado em Componentes (DBC) surgiu como uma
perspectiva de desenvolvimento de software caracterizada pela composio de
partes j existentes e, segundo Lau (2006), o DBC um importante tpico
emergente na engenharia de software, com potencial para oferecer benefcios
como, aumento do reuso e diminuio dos custos de fabricao. Atualmente h
interesse na noo de desenvolvimento de software por meio da integrao
planejada de componentes j existentes (Gill, 2006). Conforme Szypersky
(Szypersky et al., 2002), construir novas solues pela combinao de
componentes desenvolvidos e/ou comprados aumenta a qualidade e d
suporte ao rpido desenvolvimento, levando diminuio do tempo de entrega
do produto ao mercado.
Os sistemas definidos atravs da composio de componentes permitem
que sejam adicionadas, removidas e substitudas partes do sistema sem a
necessidade de sua completa substituio. Com isso, DBC auxilia na
manuteno dos sistemas de software, por permitir que os sistemas sejam
atualizados atravs da integrao de novos componentes e/ou atualizao dos
componentes j existentes.
A recente ateno e interesse que recaem sobre DBC tm
proporcionado a difuso de seus benefcios e caractersticas. Entretanto, uma
grande dificuldade est em conceituar um componente.

2.3 Componentes de Software
O conceito exato de componente em DBC ainda no um tpico
fechado. Cada grupo de pesquisa caracteriza, da maneira mais adequada ao
seu contexto, o que seria um componente, assim, possvel encontrar na
literatura, diversas definies de componentes.
Em Sametinger (1997) apresentado que componentes podem ser
vistos como alguma parte do sistema de software que identificvel e
9
reutilizvel, ou como o estado seguinte de abstrao depois de funes,
mdulos e classes.
DSouza (1999) apresenta duas definies, uma para componentes de
forma geral e outra para componentes na forma de cdigo:
Um componente (em geral) um pacote coerente de artefatos de
software que pode ser independentemente desenvolvido e distribudo como
uma unidade, e que pode ser composto, sem alteraes, com outros
componentes para construir algo maior.
Um componente (em cdigo) um pacote coerente de implementao
que pode ser desenvolvido e distribudo independentemente, prov interfaces
explcitas e bem especificadas, define interfaces que ele precisa de outros
componentes, e pode ser combinado com outros componentes pela
configurao de suas propriedades, sem a necessidade de modificao.
Na primeira definio, DSouza (1999) destaca que um componente
um pacote que pode conter vrios artefatos, por exemplo: cdigo executvel,
cdigo fonte, projetos, especificaes, teste, e documentao. Ele tambm
menciona o desenvolvimento e a distribuio independentes, alm da
capacidade de ser utilizado para a construo de algo maior, isto , participar
de composies.
Na segunda definio, o autor enfatiza aspectos relacionados
utilizao do componente, dependncia contextual, isto , que outros
componentes so necessrios (interfaces que o componente necessita).
Aspectos relacionados composio so mais detalhados nessa segunda
definio, citando a necessidade das interfaces que o componente prov e a
configurao de propriedades internas.
Em Brown (1998), componente caracterizado como conjunto
independente de servios reutilizveis, que podem ser considerados
independentemente.
10
O primeiro elemento da definio de Brown o conceito de servios
reutilizveis, isso implica que o componente prov habilidades que muitos
outros componentes podem acessar.
O segundo elemento da definio de Brown independente e indica a
ausncia de vnculo do componente com o contexto em que ele pode ser
usado. A expectativa de que os componentes cooperem entre si para
completar uma soluo no deve estar vinculada existncia de dependncias
entre eles, pois os componentes no devem ser desenvolvidos com
dependncias fixas entre si.
A definio de Brown, por si s, no explicita diferentes caractersticas
de componente. Entretanto, essas caractersticas so identificadas e
apresentadas quando do detalhamento dos dois elementos da definio.
Segundo Szyperski (Szyperski et al., 2002), um componente de
software uma unidade de composio com interfaces contratualmente
especificadas e explcitas dependncias de contexto. Componente de software
pode ser usado independente e combinado com outras partes.
Essa definio de Szyperski busca compreender as propriedades dos
componentes de serem unidades com atuao independente e de poderem ser
combinados a outras partes. Entretanto, cada uma destas propriedades
apresenta inmeras implicaes.
A propriedade de ser uma unidade de atuao independente exige que
o componente seja separado do ambiente e dos demais componentes.
Tambm no deve existir a perspectiva de se ter acesso a detalhes de
construo do componente. Logo, o componente precisa encapsular sua
implementao e interagir com o ambiente atravs de interfaces bem definidas,
ou seja, necessrio que o componente apresente uma especificao
indicando o que exigido para seu reuso e o que ele prov (interfaces
contratualmente especificadas).
Ainda buscando melhor elucidar a conceituao de Szyperski, tem-se
que a necessidade dos componentes de especificarem suas dependncias de
11
contexto diz respeito necessidade deles de indicarem o que o ambiente em
que sero acionados deve prover para que eles funcionem.
A definio apresentada por Szyperski expressa explicitamente
importantes propriedades que caracterizam os componentes, o que no se
verifica na definio de Brown (1998), por essas caractersticas estarem
implcitas aos elementos que a compem.
Em Werner (2000), so listados alguns aspectos que um componente
de software deve possuir. Dentre estes aspectos, constatou-se que um
componente deve:
Descrever ou realizar uma funo especfica (Sametinger, 1997)
(DSouza, 1999);
Estar em conformidade e prover um conjunto de interfaces bem
definidas (Sametinger, 1997) (Szyperski et al., 2002);
Ter disponvel uma documentao adequada (Sametinger 1997);
Estar inserido no contexto de um modelo que oriente a composio
deste componente com outros (arquitetura de software); e
Ser autocontido em termos da funcionalidade que prov.
Outro ponto importante que, no incio, a viso de um componente
como um elemento, somente como cdigo, era bastante comum e, atualmente,
essa viso est mudando e os engenheiros de software comeam a visualizar
componentes em todos os nveis de abstrao (DSouza, 1999), (Heineman,
2001), (Ommering, 2002), (Almeida, 2005).
Villela (2000) apresenta uma definio, a fim de estabelecer o que vem
a ser um componente de software.
Componentes reutilizveis so artefatos autocontidos, claramente
identificveis, que descrevem ou realizam uma funo especifica e possui
interfaces claras em conformidade com um dado modelo de arquitetura de
software, documentao apropriada e um grau de reutilizao definido.
12
A definio de Villela apresenta vrios aspectos de componentes de
uma forma mais geral, possvel observar isso, no quadro comparativo das
caractersticas de componente a partir das definies dos quatro autores
(Villela, 2000), (DSouza, 1999), (Brown, 1998), (Szyperski et al., 2002),
apresentado na Tabela 2.1.
Tabela 2.1 Caractersticas de componentes.
(Villela, 2000) (DSouza 1999) (Brown, 1998) (Szyperski et al.,
2002)
Identificao Artefato
identificvel
Pacote
independente
Conjunto
independente
Unidade de
composio
Funcionalidade Funes
especficas
Servios providos Servios
reutilizveis
Servios providos
Independncia Autocontido Independente Independente Autocontido
Interao Interface Interface Servios Interface
Conformidade
com modelo de
componente
Declara a
necessidade de
conformidade
X X X
Documentao
com a qual se
preocupa
Apropriada para
reuso
X Especificao
dos servios
Especificao das
interfaces
Preocupao
com reuso
Condio de
reuso
X X X

A definio de Villela (2000) ser utilizada como base no decorrer
deste projeto. Por isso, os termos por ela indicados so mais detalhados a
seguir:
Pela definio de Villela, os componentes so tratados como artefatos
por poderem assumir diferentes formas como, por exemplo, cdigo,
documentao, especificao de funcionalidades, entre outros. Isso est claro
quando a definio diz que os componentes descrevem ou realizam uma
funo especfica, mas, para este trabalho, o componente visto apenas
como uma unidade executvel (caixa-preta), que realiza uma funo
especfica, de forma autocontida, com interfaces claras, documentao
apropriada e grau de reutilizao.
Ser autocontido significa que a funo que o componente desempenha
deve ser realizada por ele, de forma completa, sem a necessidade de
incluir/depender de outros componentes para isso. Caso exista alguma
13
dependncia, ento todo o conjunto deve ser visto como um componente de
software. Por exemplo, uma funo pode ser considerada autocontida se ela
pode ser utilizada sem a necessidade de qualquer outra funo.
Vendo a funo como um componente, e, caso ela necessite de outra funo
para alcanar seus objetivos, ento todo o conjunto de funes deve ser visto
como um componente de software.
Um componente deve, tambm, ser claramente identificvel, de forma
que possa ser facilmente encontrado, seja qual for sua localizao, ou seja,
deve estar contido em um nico mdulo ou pacote, ao invs de espalhados e
misturados no meio de cdigos ou de artefatos de software. Em um sistema
distribudo, importante tambm que o componente seja identificado de
maneira nica sem ambigidades, pois, atualmente, distribuio e
interoperabilidade so caractersticas desejadas pelas aplicaes.
Os componentes tm uma funcionalidade clara e especfica que
realizam. Sametinger (1997) diz que a funcionalidade de um dado componente
deve ser bem caracterizada, de forma que possa ser facilmente identificvel em
relao a sua utilidade em um dado contexto. Por exemplo, um componente de
validao de CPF para um sistema de controle financeiro.
Um determinado componente no completamente independente dos
outros componentes e do ambiente. O que determina como se d essa
dependncia do componente, em relao aos demais e ao ambiente que o
cerca, so suas interfaces. As interfaces de um componente determinam como
esse componente pode ser reutilizado e interconectado com outros
componentes, ocultando os detalhes que no so necessrios para o reuso. As
interfaces definem uma operao ou um conjunto de operaes que est
disponvel para um componente. Szyperski define uma interface como um
conjunto de assinaturas de operaes que podem ser invocadas por um
cliente. Segundo Councill (2001), a interface descreve o comportamento de um
componente, que obtido por considerar somente as interaes de suas
interfaces e por ocultar todas as demais interaes.
Ainda conforme Councill, existem dois tipos de interfaces: providas e
requisitadas. Um componente suporta uma interface provida se contm a
implementao de todas as operaes definidas pela interface. Por outro lado,
14
um componente necessita de uma interface requisitada se solicita uma
interao definida na interface e espera que algum outro elemento de software
suporte essa interface.
A definio de Villela (2000), enfatiza a conformidade das interfaces
com um modelo de arquitetura, impondo, assim, um conjunto de padres e
convenes, que o componente deve seguir, para permitir a sua composio
com outros componentes. Villela afirma que a arquitetura de software est mais
ligada composio dos componentes e infra-estrutura de conexo, assim,
os conceitos modelos de arquitetura e frameworks de componentes so
conceitos que esto relacionados arquitetura de software em DBC. Bachman
et al. (2000) definem modelo de arquitetura de componentes como uma
especificao de padres e convenes, impostas sobre os desenvolvedores,
para a criao de componentes. Acrescentam que essa conformidade o que
diferencia componentes de outros pacotes de software. Os principais modelos
de componentes disponveis atualmente so: CCM (CORBA Component
Model) do OMG (Object Management Group); DCOM (Distributed Component
Object Model) e COM/COM+ (Component Object Model) da Microsoft; e
JavaBeans e Enterprise JavaBeans (EJB) da Sun Microsystems. O conceito
framework de componentes definido como uma implementao dos servios
que do suporte ou reforam o modelo de componentes. A funo do
framework gerenciar os recursos compartilhados pelos componentes e prover
um mecanismo que possibilite a comunicao (interao) entre eles.
A documentao tambm indispensvel para a reutilizao. Essa
deve ser suficiente para que se possa recuperar um componente, avaliar sua
adequao para o contexto da reutilizao, fazer adaptaes (se for o caso) e
integrar o componente ao seu novo ambiente. Ou seja, a documentao que
acompanha o componente deve ser completa, facilitando o entendimento,
avaliao e utilizao do componente.
Por fim, outro conceito importante o que os pesquisadores chamam
de grau de reutilizao do componente. Componentes devem ser mantidos de
modo a preservar a reutilizao sistemtica e o grau de reutilizao
compreende diferentes informaes como, por exemplo, quem o proprietrio,
quem deve ser contatado em caso de problemas, qual a situao de
15
qualidade e quantas vezes e onde o componente foi reutilizado (Sametinger,
1997).

2.4 Desenvolvimento Baseado em Componentes - DBC
O Desenvolvimento Baseado em Componentes (DBC) surgiu como
uma perspectiva para o desenvolvimento de software, com o objetivo de
quebrar blocos monolticos em componentes interoperveis, reduzindo, dessa
forma, a complexidade do desenvolvimento, assim como os custos, atravs da
utilizao de componentes que, em princpio, seriam adequados para serem
utilizados em outras aplicaes (Sametinger, 1997).
De acordo com estudos realizados por diversas organizaes, tais como
o Gartner Group, a Gica, a Ovum e a PriceWaterhouseCoopers (Bass et al.,
2000), (Bachman et al., 2000), (Williams, 2000), o desenvolvimento baseado
em componentes uma atividade com um peso crescente na indstria de
software. A principal fora justificativa desse crescimento econmica. O DBC
encarado como uma abordagem que permite simultaneamente reduzir custos
no desenvolvimento, encurtar o perodo necessrio ao desenvolvimento do
software e aumentar a sua qualidade (Szyperski et. al., 2002). As redues de
custos e de perodo de desenvolvimento so resultantes da reutilizao de
componentes j existentes. A qualidade aumentada uma vez que os
componentes j foram previamente testados e avaliados, principalmente se
esses componentes j foram reutilizados por diversos sistemas, aumentando
assim, o seu nvel de maturidade.
O Desenvolvimento Baseado em Componentes considerado uma
tcnica importante no desenvolvimento de software. Um conjunto de fatores
que despertou o interesse nessa rea, provendo a motivao necessria para
acreditar que o DBC possa ser efetivo e realizado em larga escala, de acordo
com Sametinger (1997) e DSouza (1999), foram:
O surgimento da Internet, que aumentou a preocupao em relao
computao distribuda;
16
A mudana da estrutura de sistemas baseados em mainframes para
sistemas baseados na arquitetura cliente/servidor, levando os
desenvolvedores a considerarem as aplicaes no mais como
sistemas monolticos, mas sim como um conjunto de sub-sistemas
interoperveis; e
O surgimento de Padres para construo de componentes e
aplicaes, como os definidos pelo Object Management Group (OMG)
e Component Object Model (COM).
Como foi mencionado, o desenvolvimento baseado em componentes
uma atividade que utiliza componentes no desenvolvimento de sistemas.
Dessa forma, importante que j existam componentes de software prontos e
que estejam disponveis para serem selecionados e reutilizados na composio
dos sistemas. O processo comea quando uma equipe de software estabelece
os requisitos para um sistema a ser construdo usando tcnicas de coleta de
requisitos convencionais.
Com os requisitos j estabelecidos e usando os mtodos de anlise e
projeto arquitetural (Pressman, 2002), a equipe de software refina um estilo
arquitetural adequado para o modelo de anlise criado para a aplicao a ser
construda.
Uma vez estabelecida a arquitetura, ela deve ser preenchida por
componentes que esto disponveis em bibliotecas de reuso ou componentes
procedentes de diferentes origens, incluindo componentes j desenvolvidos
para outros projetos e componentes desenvolvidos e comercializados por
diferentes empresas. Por fim, caso no existam componentes suficientes para
preencher a arquitetura do sistema, necessrio que novos componentes
sejam trabalhados por engenharia para satisfazer as necessidades do cliente.
Assim, o fluxo de tarefas para o desenvolvimento baseado em componentes
tem dois caminhos paralelos. Quando os componentes reutilizveis esto
disponveis para possvel integrao na arquitetura, eles precisam ser
qualificados e adaptados. Quando novos componentes so necessrios,
precisam ser construdos. Os componentes resultantes so ento compostos
(integrados) no gabarito da arquitetura e testados rigorosamente (Pressman,
2002).
17
Na Figura 2.1, ilustrado o processo de desenvolvimento baseado em
componentes.


Figura 2.1 Desenvolvimento Baseado em Componentes DBC (Adaptado de
(Pressman, 2002)).

O repositrio de componentes de software, tambm tratado como
biblioteca de componentes, necessrio para a engenharia de software
baseada em componentes, ele pode ser composto por componentes que so
desenvolvidos internamente, por componentes extrados de aplicaes
existentes e ou por componentes adquiridos de terceiros.
No entanto, a existncia de componentes de software no garante que
eles possam ser integrados fcil ou efetivamente na arquitetura escolhida para
uma nova aplicao na fase de Projeto arquitetural. por essa razo que uma
seqncia de atividades de desenvolvimento baseado em componentes
aplicada quando um componente proposto para uso (Pressman, 2002).
Como pode ser observado na Figura 2.1, as fases de Qualificao de
componentes, Adaptao de componentes, Composio de componentes,
18
e Engenharia de componentes so especficas do processo de
Desenvolvimento Baseado em Componentes. J as fases de Anlise, Projeto
arquitetural, e Teste utilizam mtodos de engenharia de software tradicionais.
Quando um componente est disponvel para uso em um repositrio, ele
segue para as fases de Qualificao e Adaptao de componentes:
Qualificao de componentes: garante que um componente
candidato vai realizar a funo necessria, vai se encaixar
adequadamente no estilo arquitetnico especificado para o sistema, e
vai exibir as caractersticas de qualidade (por exemplo, desempenho,
confiabilidade e usabilidade) necessrias para a aplicao;
Adaptao de componentes: tenta eliminar conflitos que possam
surgir entre o componente que est sendo utilizado e a arquitetura da
aplicao, para que haja uma fcil integrao. Uma tcnica de
adaptao freqentemente usada o empacotamento de
componentes que pode ser de trs tipos: caixa-branca, caixa-cinza e
caixa-preta. Empacotamento caixa-branca aplicado quando so
examinados detalhes de processamento internos e so feitas
modificaes no cdigo. Empacotamento caixa-cinza aplicado
quando no se pode mexer no cdigo interno, mas existe uma
linguagem de extenso para remover ou mascarar os conflitos.
Empacotamento caixa-preta exige a introduo de pr e ps-
processamento na interface do componente para remover ou
mascarar os conflitos.

Caso alguns componentes necessrios, no estejam disponveis para
uso depois da fase de Projeto arquitetural, o prximo passo a ser seguido a
Engenharia de Componentes cujo objetivo desenvolver esses novos
componentes de software e integr-los com os componentes j existentes e
que sero utilizados. As prticas para a criao dos novos componentes que
podem ser reusados nessa fase de engenharia de componentes so os
mesmos conceitos empregados em projetos tradicionais, como abstrao,
ocultamento, independncia funcional, refinamento e programao estruturada,
junto com mtodos de orientao a objetos, testes, Garantia de Qualidade de
Software (SQA) e mtodos de verificao de correo. Todas estas prticas
19
contribuem para a criao de componentes de software reutilizveis
(Pressman, 2002).
Depois de passar pela fase de qualificao e adaptao de
componentes, ou pela engenharia de componentes a fase de Composio de
componentes realizada. Essa fase tem como tarefa combinar os
componentes qualificados, adaptados e construdos para compor a arquitetura
estabelecida para uma aplicao. Para conseguir isso, uma infra-estrutura deve
ser estabelecida para aglutinar os componentes em um sistema em operao.
A infra-estrutura (usualmente uma biblioteca de componentes especializados)
fornece um modelo para a coordenao de componentes e servios
especficos, que permitem aos componentes se coordenarem entre si e
realizarem tarefas comuns.

2.5. Consideraes Finais
Neste captulo foram abordados os principais conceitos relacionados a
componentes. Algumas definies de componentes foram identificadas e
discutidas.
Observou-se que o conceito exato de componente ainda no um
tpico fechado e, de acordo com a adequao ao contexto utilizado, inmeras
definies de componentes de software so encontradas na literatura. Por isso,
neste captulo, foi apresentada e discutida a definio sobre componentes de
software de Villela que foi adotado como base neste trabalho por apresentar de
forma geral, vrios aspectos sobre componentes como: artefato autocontido,
claramente identificvel, funcionalidade nica, interfaces claras, documentao
apropriada, entre outras.
Estes aspectos de componentes da definio adotada, auxiliaram na
identificao e adequao das caractersticas, subcaractersticas, atributos e
mtricas de qualidade do modelo, o qual tambm, est embasado nas normas
internacionais de produto e pacotes de software ISO/IEC 9126-1 e ISO/IEC
12119, respectivamente.
Essas duas normas sero apresentadas no prximo captulo, onde sero
discutidos assuntos sobre qualidade de produtos de software.
21
Captulo 3

Qualidade de Produtos de Software



3.1 Consideraes Iniciais
Especificao e avaliao da qualidade de produtos de software so
fatores chave para garantir a qualidade adequada. Isso pode ser alcanado
pela definio apropriada de caractersticas de qualidade, levando em
considerao o uso pretendido do produto de software.
Neste captulo so apresentados aspectos e caractersticas que
influenciam e que esto relacionados qualidade de produtos de software em
geral. So apresentadas tambm as normas internacionais ISO/IEC 9126-1 e
ISO/IEC 12119 que so utilizadas neste trabalho como base para o modelo de
qualidade proposto.

3.2 Introduo
Qualidade hoje em dia, no apenas um diferencial de mercado para a
empresa conseguir vender e lucrar mais, um pr-requisito que a empresa
deve conquistar para conseguir colocar o seu produto no mercado global.
Empresas produtoras e prestadoras de servios esto preocupadas em
alcanar patamares cada vez maiores de qualidade e de produtividade
internacional, para enfrentarem a competitividade que tambm cada vez
maior.
Mas afinal, o que vem a ser o termo qualidade?
Existem diversas definies para qualidade. Algumas pessoas tentaram
uma definio simples e chegaram a frases como: Qualidade estar em
conformidade com os requisitos dos clientes, Qualidade antecipar e
22
satisfazer os desejos dos clientes, Qualidade escrever tudo o que se deve
fazer e fazer tudo o que foi escrito.
De acordo com a norma ISO
1
8402 (ISO, 1994a), qualidade a
totalidade de caractersticas de uma entidade que lhe confere a capacidade de
satisfazer s necessidades explcitas e implcitas.
Nota-se que essa definio formal exige alguns complementos,
principalmente para definir o que so as entidades, as necessidades explcitas
e as necessidades implcitas. A entidade o produto do qual se est falando,
que pode ser um bem ou um servio. As necessidades explcitas so as
prprias condies e objetivos propostos pelo produtor. As necessidades
implcitas incluem particularidades dos usurios, implicaes ticas, questes
de segurana e outras vises subjetivas. Por exemplo, a qualidade de um prato
de comida (a entidade, o produto) est relacionada com a satisfao de
necessidades (requisitos) tais como: sabor, aparncia, temperatura, rapidez no
servio, preo, higiene, valor nutricional, etc. Para avaliar a qualidade de um
produto, deve-se fazer uma lista destas necessidades e analisar cada uma
delas.

3.3 Qualidade de Produtos de Software
Atravs da histria da Engenharia de Software, a melhoria na qualidade
de produtos de software sempre foi um objetivo considerado. Atualmente, com
o aumento no tamanho e da complexidade, os produtos de software esto se
tornando artefatos estratgicos e crticos. Assim, uma ateno especial tem
sido voltada ao desenvolvimento e manuteno de produtos de software com
qualidade dentro de restries de tempo e de recursos estabelecidos nos
projetos (Rocha et al., 2001).
Atualmente, muitas instituies se preocupam em criar normas para
permitir a correta avaliao de qualidade tanto de produtos de software quanto
de processos de desenvolvimento de software. A ISO possui duas normas

1
(International Organization for Standardization)
23
internacionais para produtos de software, a ISO/IEC
2
9126 (2001) cujo objetivo
apresentar uma estrutura de qualidade para apoiar a avaliao de produtos
de software e a ISO/IEC 12119 (1994) que tem por objetivo estabelecer os
requisitos para pacotes de software.
Seguindo a definio de qualidade, a norma ISO 9126-1 (2001) define
qualidade de software como: a totalidade das caractersticas de um produto de
software, que lhe confere a capacidade de satisfazer s necessidades
explcitas e implcitas. Necessidades explcitas, como foi descrito na definio
de qualidade, so aquelas expressas na especificao de requisitos propostos
pelo produtor de software aps o levantamento da necessidade do cliente.
Esses requisitos definem as condies em que o produto deve ser utilizado,
seus objetivos, funes e o desempenho esperado. O enfoque da qualidade
centrado no atendimento a esses requisitos denominado conformidade com
os requisitos.
Necessidades implcitas so aquelas que no esto expressas nos
documentos do produtor, mas so necessrias para o usurio e so
identificadas de acordo com a maturidade do produtor. O enfoque da qualidade
centrado nessa classe de necessidades est relacionado adequao para
uso.
Melhorar a qualidade dos produtos de software visa estabelecer
mtodos e tecnologias para construir produtos de software de qualidade dentro
dos limites de tempo e de recursos disponveis, pois a qualidade de um produto
de software resultante das atividades realizadas no processo de
desenvolvimento do mesmo.
Para avaliar a qualidade de um produto de software, produzido por meio
de processos de desenvolvimento bem definidos ou no, necessrio verificar
atravs de tcnicas e atividades operacionais, o quanto os requisitos so
atendidos. Tais requisitos, de uma maneira geral, a expresso das
necessidades, explicitados em termos quantitativos ou qualitativos, e tm por
objetivo definir as caractersticas de um software, a fim de permitir o exame de
seu atendimento (Tsukumo et al., 1997).

2
(International Electrotechnical Commission)
24
A seguir, sero abordadas as normas de qualidade de produto de
software e de pacotes de software so melhores abordadas.
3.3.1 Norma ISO/IEC 9126 Engenharia de Software Qualidade de
Produto: Evoluo Histrica
A norma ISO/IEC 9126 um padro internacional desenvolvida pelo
Subcomit de Software (SC7) do Comit Tcnico Conjunto (JTC1) da ISO e
IEC. A norma surgiu da necessidade de uma estrutura de qualidade de
software que apresentasse um esquema de descrio padronizado, bem
definido e amplamente aceito, para julgar a qualidade dos produtos de
software.
Desde 1976, muitos trabalhos foram realizados por diversas pessoas e
organizaes para definir modelos de qualidade de software, e alguns modelos
foram adotados e ampliados ao longo dos anos, como os modelos de McCall
(McCall, 1977), Boehm (Boehm et al., 1978), e da fora Area dos Estados
Unidos. Entretanto, ao mesmo tempo em que os estudos eram bem-sucedidos,
eles tambm causavam confuso por causa dos muitos aspectos de qualidade
oferecidos. Em conseqncia, surgiu a necessidade de um modelo
padronizado. Por essa razo, o comit tcnico da ISO/IEC comeou a trabalhar
para desenvolver o consenso requerido e encorajar a padronizao em mbito
mundial.
As primeiras tentativas de padronizao surgiram em 1978. Em 1985, foi
iniciado o desenvolvimento da norma com o ttulo de norma internacional
ISO/IEC 9126 Information Technology Software product evaluation
Quality characteristics and guidelines for their use. Os modelos propostos
inicialmente introduziram propriedades de software que dependiam de
aspectos de aplicao ou implementao (ou ambos) para descrever a
qualidade de software.
O primeiro passo do comit tcnico da ISO para definir essas
propriedades de forma sistemtica falhou por falta de definies. Os termos
foram interpretados de formas diferentes por diversos especialistas. Todas as
estruturas discutidas eram, por isso, de natureza arbitrria, sem uma base
comum (ISO, 2001).
25
Como resultado, decidiu-se que a melhor condio para o
estabelecimento de uma norma consistia em estipular um conjunto de
caractersticas baseadas na definio de qualidade. Os requisitos para a
escolha das caractersticas descritas na norma ISO/IEC 9126 foram os
seguintes:
Cobrir conjuntamente todos os aspectos de qualidade de software
resultantes da definio de qualidade da ISO.
Descrever a qualidade do produto com um mnimo de sobreposio.
Ficar o mais prximo possvel da terminologia estabelecida.
Formar um conjunto de no mais de seis a oito caractersticas, por questes
de clareza e manuseio.
Identificar reas de atributos de produtos de software para posterior
refinamento.

Norma ISO/IEC 9126: 1991 (primeira verso)
A primeira verso da norma ISO/IEC 9126 foi publicada em 1991. Na
norma foram definidas seis caractersticas principais de qualidade, e suas
subcaractersticas, que devem ser verificadas em um software para que ele
seja considerado um "software de qualidade". Na tabela 3.1 so apresentadas
as seis caractersticas de qualidade da norma ISO/IEC 9126.
Tabela 3.1 Caractersticas de Qualidade de Produto de Software ISO/IEC 9126
Caracterstica Descrio
Funcionalidade
Evidencia que o conjunto de funes atenda s necessidades
explcitas e implcitas para a finalidade a que se destina o produto.
Confiabilidade
Evidencia que o desempenho se mantm ao longo do tempo e em
condies estabelecidas.
Usabilidade Evidencia a facilidade para utilizao do software.
Eficincia
Evidencia que os recursos e os tempos envolvidos so compatveis
com o nvel de desempenho requerido para o produto.
Manutenibilidade
Evidencia que h facilidade para correes, atualizaes e
alteraes.
Portabilidade
Evidencia que possvel utilizar o produto em diversas plataformas
com pequeno esforo de adaptao.

26
Para que a norma pudesse oferecer apoio suficiente aos usurios no
julgamento da qualidade de software, foi includa uma descrio de como
proceder na avaliao de um produto de software, por meio de um modelo de
processo de avaliao.
A simples existncia de caractersticas no so suficientes para a
avaliao de um produto de software na prtica. necessrio tambm que
existam mtricas para cada uma das caractersticas. O estado da arte naquele
momento no permitia a elaborao dessas mtricas, pois teria atrasado
substancialmente a publicao da norma internacional.

Norma ISO/IEC 9126: 1994 (primeira reviso)

Em 1994, foi percebido que outras normas produzidas na rea de
avaliao de qualidade de software demandavam a reviso da ISO/IEC 9126. A
reviso manteve as mesmas seis caractersticas de qualidade, e as principais
diferenas nessa reviso foram:
incluso de mtricas internas e externas;
incluso de caractersticas de qualidade em uso;
incluso das subcaractersticas em carter normativo;
remoo do modelo do processo de avaliao (especificado separadamente
na norma ISO/IEC 14598 (ISO, 2001a));

3.3.2 Norma ISO/IEC 9126: Engenharia de Software Qualidade do
Produto (verso atual)
Na verso atualmente utilizada, desenvolvida entre 2001 e 2004, trs
novos relatrios tcnicos foram elaborados em complemento norma:
Parte 1: ISO/IEC 9126-1:(ISO, 2001) - Modelo de Qualidade;



27
Parte 2: ISO/IEC TR 9126-2:(ISO, 2003) Mtricas Externas;
Parte 3: ISO/IEC TR 9126-3:(ISO, 2003a) Mtricas Internas;
Parte 4: ISO/IEC TR 9126-4:(ISO, 2004) Mtricas de Qualidade em Uso;


Parte 1: ISO/IEC 9126-1:2001 - Modelo de Qualidade

A parte 1 da norma descreve um modelo de qualidade de produto de
software, composto de duas partes:
(i) qualidade externa e interna e
(ii) qualidade em uso.
As caractersticas de qualidade externas so observadas quando os
produtos de software so executados, isto , medidas e avaliadas quando os
produtos so testados, resultando em uma viso dinmica do software. A
avaliao das caractersticas internas de qualidade realizada atravs da
verificao do projeto e de cdigos fontes do software, resultando em uma
viso esttica. Qualidade em uso a capacidade do produto de software de
permitir que usurios especificados atinjam metas especificadas com eficcia,
produtividade, segurana e satisfao em contextos de uso especificados, ou
seja, qualidade em uso a viso da qualidade sob a perspectiva do usurio do
sistema.
A obteno da qualidade em uso dependente da obteno da
qualidade externa, a qual, por sua vez, dependente da obteno da qualidade
interna. Atributos internos adequados do software so pr-requisitos para
atingir o comportamento externo requerido e, o comportamento externo
adequado do software um pr-requisito para obter a qualidade em uso,
conforme mostrado na Figura 3.1.





28


Atributos de
qualidade
interna
Atributos de
qualidade
externa
Atributos de
qualidade em
uso
produto de software
efeitos do produto
de software
influencia influencia
depende de depende de
Medidas
internas
Medidas
externas
Medidas de
qualidade em
uso
contextos
de uso

Figura 3.1 Trs nveis de qualidade (Adaptado de (ISO, 2001)).


Normalmente, so necessrias medidas em todos os trs nveis, pois
atender aos critrios para medidas internas em geral no suficiente para
garantir o atendimento aos critrios para medidas externas e, atender aos
critrios para medidas externas, em geral no suficiente para garantir o
atendimento aos critrios para qualidade em uso.
A primeira parte do modelo especifica seis caractersticas para qualidade
interna e externa, as quais so por sua vez subdivididas em subcaractersticas.
Uma caracterstica pode ter vrios nveis de subcaractersticas, sendo as de
nvel mais baixo as que so realmente medidas, e so chamadas de
subcaractersticas mensurveis. Na Figura 3.2 apresentado o modelo de
qualidade para qualidade externa e interna.

29
Qualidade Externa e
Interna
Funcionalidade Confiabilidade Usabilidade Eficincia Manutenibilidade Portabilidade
Adequao
Acurcia
Interoperabilidade
Segurana de
Acesso
Conformidade
relacionada
funcionalidade
Maturidade
Tolerncia a
Falhas
Recuperabilidade
Conformidade
relacionada
confiabilidade
Inteligibilidade
Apreensibilidade
Operacionalidade
Atratividade
Conformidade
relacionada
usabilidade
Comportamento
em relao ao
tempo
Utilizao de
recursos
Conformidade
relacionada
eficincia
Analisabilidade
Modificabilidade
Estabilidade
Testabilidade
Conformidade
relacionada
manutenibilidade
Adaptabilidade
Capacidade para
ser instalado
Coexistncia
Capacidade para
substituir
Conformidade
relacionada
portabilidade

Figura 3.2 Modelo de qualidade para qualidade externa e interna.(Adaptado de (ISO,
2001))


As caractersticas e subcaractersticas externas e internas definidas pela
norma so apresentadas na Tabela 3.2.

Tabela 3.2 Caractersticas e Subcaractersicas Externas e Internas da norma
ISO/IEC 9126-1
Caracterstica Subcaracterstica
Adequao: Capacidade do produto de software de prover um conjunto
apropriado de funes para tarefas e objetivos do usurio especificados.
Acurcia: Capacidade do produto de software de prover, com grau de
preciso necessrio, resultados ou efeitos corretos ou conforme
acordados.
Interoperabilidade: Capacidade do produto de software de interagir com
um ou mais sistemas especificados.
Segurana de acesso: Capacidade do produto de software de proteger
informaes e dados, de forma que pessoas ou sistemas no autorizados
no possam l-los nem modific-los e que no seja negado o acesso s
pessoas ou sistemas autorizados.
Funcionalidade:
Capacidade do produto
de software prover
funes que atendam
necessidades
explcitas e implcitas,
quando o software for
utilizado sob condies
especificadas.
Conformidade relacionada funcionalidade: Capacidade do produto
de software de estar de acordo com normas, convenes ou
regulamentaes previstas em leis e prescries similares relacionadas
funcionalidade.
Maturidade: Capacidade do produto de software de evitar falhas
decorrentes de defeitos no software.
Tolerncia a falhas: Capacidade do produto de software de manter um
nvel de desempenho especificado em casos de defeitos no software ou
de violao de sua interface especificada.
Recuperabilidade: Capacidade do produto de software de restabelecer
seu nvel de desempenho especificado em casos de defeitos no software
ou de violao de sua interface especificada.
Confiabilidade:
Capacidade do produto
de software de manter
um nvel de
desempenho
especificado, quando
usado em condies
especificadas.
Conformidade relacionada confiabilidade: Capacidade do produto de
software de estar de acordo com normas, convenes ou
regulamentaes relacionadas confiabilidade.
30
Inteligibilidade: Capacidade do produto de software de possibilitar ao
usurio compreender se o software apropriado e como ele pode ser
usado para tarefas e condies de uso especficas.
Apreensibilidade: Capacidade do produto de software de possibilitar ao
usurio aprender sua aplicao.
Operacionalidade: Capacidade do produto de software de possibilitar ao
usurio oper-lo e control-lo.
Atratividade: Capacidade do produto de software de ser atraente ao
usurio.
Usabilidade:
Capacidade do produto
de software de ser
compreendido,
aprendido, operado e
atraente ao usurio,
quando usado sob
condies
especificadas.
Conformidade relacionado usabilidade: Capacidade do produto de
software de estar de acordo com normas, convenes, guias de estilo ou
regulamentaes relacionadas usabilidade.
Comportamento em relao ao tempo: Capacidade do produto de
software de fornecer tempos de resposta e de processamento, alm de
taxas de transferncia, apropriados, quando o software executa suas
funes, sob condies estabelecidas.
Utilizao de recursos: Capacidade do produto de software de usar
tipos e quantidades apropriados de recursos, quando o software executa
suas funes sob condies estabelecidas.
Eficincia:
Capacidade do produto
de software de
apresentar
desempenho
apropriado, relativo
quantidade de
recursos usados, sob
condies
especificadas.
Conformidade relacionada eficincia: Capacidade do produto de
software de estar de acordo com normas e convenes relacionadas
eficincia.
Analisabilidade: Capacidade do produto de software de permitir o
diagnstico de deficincias ou causas de falhas no software, ou a
identificao de partes a serem modificadas.
Modificabilidade: Capacidade do produto de software de permitir que
uma modificao especificada seja implementada.
Estabilidade: Capacidade do produto de software de evitar efeitos
inesperados decorrentes de modificaes no software.
Testabilidade: Capacidade do produto de software de permitir que o
software, quando modificado, seja validado.
Manutenibilidade:
Capacidade do produto
de software ser
modificado.
Modificaes podem
incluir correes,
melhorias ou
adaptaes do
software devido
mudanas no ambiente
e nos requisitos e
especificaes
funcionais.
Conformidade relacionada manutenibilidade: Capacidade do produto
de software de estar de acordo com normas ou convenes relacionadas
manutenibilidade.
Adaptabilidade: Capacidade do produto de software de ser adaptado
para diferentes ambientes especificados, sem necessidade de aplicao
de outras aes ou meios alm daqueles fornecidos para essa finalidade
pelo software considerado.
Capacidade para ser instalado: Capacidade do produto de software
para ser instalado em um ambiente especificado.
Coexistncia: Capacidade do produto de software de coexistir com
outros produtos de software independentes, em um ambiente comum,
compartilhando recursos comuns.
Capacidade para substituir: Capacidade do produto de software para
ser usado em substituio a outro produto de software especificado, com
o mesmo propsito e no mesmo ambiente.
Portabilidade:
Capacidade do produto
de software ser
transferido de um
ambiente para outro.
Conformidade relacionada portabilidade: Capacidade do produto de
software de estar de acordo com normas ou convenes relacionadas
portabilidade.




31
Exemplos de mtricas para as subcaractersticas das seis caractersticas
de qualidade externa e interna so apresentadas nas partes 2 e 3 da norma
respectivamente.
A segunda parte do modelo especifica quatro caractersticas de
qualidade em uso (eficcia, produtividade, segurana e satisfao). Na Figura
3.3, apresentado o modelo de qualidade para qualidade em uso.
Qualidade em
Uso
Eficcia Produtividade Segurana Satisfao

Figura 3.3 Modelo de qualidade para qualidade em uso (Adaptado de (ISO, 2001)).

A norma no apresenta o modelo de qualidade em uso alm do nvel de
caractersticas. As definies das caractersticas de qualidade em uso so
apresentadas na Tabela 3.3.

Tabela 3.3 Caractersticas de Qualidade em Uso da norma ISO/IEC 9126-1.
Caracterstica Descrio
Eficcia
Capacidade do produto de software de permitir que usurios atinjam
metas especificadas com acurcia e completitude, em um contexto
de uso especificado.
Produtividade
Capacidade do produto de software de permitir que seus usurios
empreguem quantidade apropriada de recursos em relao eficcia
obtida, em um contexto de uso especificado.
Segurana
Capacidade do produto de software de apresentar nveis aceitveis
de riscos de danos a pessoas, negcios, software, propriedades ou
ao ambiente, em um contexto de uso especificado.
Satisfao
Capacidade do produto de software de satisfazer usurios, em um
contexto de uso especificado.


A utilizao da norma ISO/IEC 9126-1 permite que a qualidade do
produto de software seja especificada e avaliada pelos envolvidos com
aquisio, requisitos, desenvolvimento, uso, avaliao, apoio, manuteno,
32
garantia de qualidade e auditoria de software. Ela pode, por exemplo, ser
utilizada por desenvolvedores, adquirentes, pessoal de garantia de qualidade e
avaliadores independentes, particularmente, os responsveis por especificar e
avaliar qualidade do produto de software. Exemplos de usos do modelo de
qualidade definido nesta parte da norma so para:
validar a completitude de uma definio de requisitos;
identificar requisitos de software;
identificar objetivos de projeto de software;
identificar objetivos para teste de software;
identificar critrios para garantia de qualidade;
identificar critrios de aceitao para produtos finais de software.

3.3.3 Norma ISO/IEC 12119: Information technology Software packages
Quality requirements and testing
A norma internacional ISO/IEC 12119 (1994) foi publicada em 1994 e
sua verso brasileira foi lanada em outubro de 1998 pela Associao
Brasileira de Normas e Tcnicas (ABNT) com o ttulo de NBR ISO/IEC 12119
Tecnologia da informao Pacotes de software Teste e requisitos de
qualidade.
A norma tem como objetivo estabelecer os requisitos de qualidade de
um software tipo pacote e tambm fornecer instrues para testar esse
software em relao aos requisitos definidos. Ela no trata de processos de
produo de software, somente de pacotes de software na forma como so
oferecidos e liberados para uso.
Segundo a definio dada pela ISO/IEC 12119 (1994), um pacote de
software : "um conjunto completo e documentado de programas fornecido a
diversos usurios para uma aplicao ou funo genrica". Pacote de software
conhecido tambm como produto de prateleira e so exemplos de pacotes:
processadores de texto, planilhas eletrnicas, bancos de dados, software
grficos, programas para funes tcnicas ou cientficas e programas utilitrios.
33

De acordo com a norma ISO/IEC 12119, um pacote de software deve
ser composto pelos seguintes itens:
Descrio do Produto.
Documentao do Usurio.
Programa e Dados.
A Descrio do Produto e a Documentao do Usurio formam a
documentao do pacote. A seguir so descritos os requisitos de qualidade
para cada um dos componentes definidos pela norma.

Descrio do Produto

A Descrio do Produto um documento que expe as principais
propriedades de um pacote de software, com os objetivos de auxiliar o usurio
ou os potenciais compradores, na avaliao da adequao do produto s suas
reais necessidades; e servir como base para testes.
Esse documento deve estar disponvel ao usurio, independentemente
da aquisio do produto, atravs de um catlogo, de um disquete de
apresentao ou qualquer outro meio disponvel que alcance esse objetivo. A
descrio deve ser clara, compreensvel e harmnica com os outros
documentos associados. A norma prope aspectos prticos e diretos,
indicando "o qu" deve conter essa descrio. Na Tabela 3.4, so
apresentados os itens que compem os requisitos do documento Descrio do
Produto.





34
Tabela 3.4 - Requisitos de Qualidade para a Descrio do Produto.
Item Requisitos
Requisitos Gerais sobre
o Contedo da
Descrio de Produto
O contedo da descrio deve ser inteligvel, completo e possuir boa
organizao e apresentao, auxiliando os compradores em potencial
na avaliao da adequao do produto s suas necessidades, antes
de adquiri-lo.
Identificaes e
Indicaes
O contedo da descrio deve apresentar o nome do produto, sua
verso, os requisitos de hardware e software, as principais atividades
realizadas e os componentes entregues com o pacote.
Declarao sobre
Funcionalidade
O contedo da descrio deve apresentar uma viso geral das
funes disponveis, os valores-limite, se existirem, e os dispositivos
de segurana de acesso ao produto, quando necessrios.
Declarao sobre
Confiabilidade
O contedo da descrio deve apresentar as informaes sobre os
procedimentos para salvar e recuperar dados.
Declarao sobre
Usabilidade
O contedo da descrio deve apresentar o tipo de interface com o
usurio, se necessrio algum conhecimento tcnico especfico para
seu uso e se o produto pode ser adaptado s necessidades do
usurio.
Declarao sobre
Eficincia
O contedo da descrio pode incluir informaes a respeito do tempo
de resposta e taxa de throughput.
Declarao sobre
Manutenibilidade
O contedo da descrio pode conter declaraes sobre a
manutenibilidade do produto.
Declarao sobre
Portabilidade
O contedo da descrio pode conter declaraes sobre a
portabilidade do produto.



Documentao do Usurio

A Documentao do Usurio compreende o conjunto completo de
documentos que fornecido para utilizao de um produto. Essa
documentao deve incluir todos os dados para a instalao, para o uso da
aplicao e para a manuteno do produto de software. Os principais
requisitos da documentao do usurio esto descritos na Tabela 3.5.





35

Tabela 3.5 - Requisitos de Qualidade para a Documentao do Usurio.
Item Requisitos
Completitude A documentao do usurio deve conter todas as informaes necessrias
para o uso do produto, tais como estabelecer todas as funes do pacote,
procedimentos de instalao e os valores-limite.
Correo Na documentao do usurio a informao apresentada deve estar correta
e sem ambigidade.
Consistncia A documentao do usurio deve haver plena coerncia entre a
documentao e a descrio do produto. Cada termo deve ter um nico
significado.
Inteligibilidade A documentao deve ser compreensvel pela classe de usurios que
desenvolve atividades com o produto, utilizando termos apropriados,
exibies grficas e explicaes detalhadas.
Apresentao e
Organizao
A documentao do usurio deve ser apresentada atravs de uma forma
que facilite uma viso geral, atravs de ndices e tabelas de contedo. Se o
documento no estiver na forma impressa, deve haver indicao de como
efetuar a impresso.


Programas e Dados

O ltimo componente dos requisitos de qualidade formado pelos
Programas e Dados, que utilizam as mesmas definies das caractersticas de
qualidade da norma ISO/IEC 9126-1. So consideradas apenas as
caractersticas de Funcionalidade, Confiabilidade e Usabilidade que devem ser
verificadas por meio do uso do produto. No h requisitos especficos para
Eficincia, Manutenibilidade e Portabilidade, que, se citadas, devem estar em
conformidade com a norma ISO/IEC 9126-1. Os requisitos para Programas e
Dados esto descritos na Tabela 3.6.






36

Tabela 3.6 - Requisitos de Qualidade para Programas e Dados.
Item Requisitos
Funcionalidade Devem ser verificados os procedimentos para instalao do produto; a
presena de todas as funes mencionadas; a execuo correta dessas
funes; a ausncia de contradies entre a descrio do produto e a
documentao do usurio.
Confiabililidade O usurio deve manter o controle do produto, sem corromper ou perder
dados, mesmo que a capacidade declarada seja explorada at os limites ou
fora deles; observar se uma entrada incorreta efetuada, ou ainda se
instrues explcitas na documentao so violadas.
Usabilidade A comunicao entre o programa e o usurio deve ser de fcil entendimento,
atravs das entradas de dados, mensagens e apresentao dos resultados,
utilizando um vocabulrio apropriado, representaes grficas e funes de
auxlio (help), entre outras; o programa tambm deve proporcionar uma
apresentao e organizao que facilite uma viso geral das informaes,
alm de procedimentos operacionais que o auxiliem: por exemplo, a reverso
de uma funo executada e o uso de recursos de hipertexto em funes de
auxlio, entre outros.


Na norma ISO/IEC 12119 tambm so fornecidas instrues para testar
pacotes de software de acordo com os requisitos de funcionalidade,
confiabilidade e usabilidade. Somente o produto, no seu ambiente de hardware
e software testado. Na Tabela 3.7 esto apresentadas as instrues de testes
definidos pela norma ISO/IEC 12119.
Tabela 3.7 Instrues para teste.
Instruo Descrio
Pr-requisitos de teste Lista de itens necessrios ao teste, incluindo documentos includos no
pacote, componentes do sistema e material de treinamento.
Atividades de teste Instrues detalhadas sobre os procedimentos de teste, inclusive
instalao e execuo de cada uma das funes descritas.
Registro de teste Informaes sobre como os testes foram realizados, de tal forma a
permitir uma reproduo destes testes. Deve incluir parmetros
utilizados, resultados associados, falhas ocorridas e at a identidade do
pessoal envolvido.
Relatrio de teste Relatrio incluindo: identificao do produto, hardware e software
utilizado, documentos utilizados, resultados dos testes, lista de no
conformidade com os requisitos, lista de no conformidade com as
recomendaes, datas, etc.
Teste de acompanhamento Instrues para testar novamente um produto que j foi testado
anteriormente, mas levando em considerao o teste anterior.

37
A utilizao da norma ISO/IEC 12119 pode incluir diversos possveis
usurios com suas mais variadas necessidades, por exemplo:
a) fornecedores que estejam:
especificando os requisitos para um pacote de software;
projetando um modelo para descrever produtos;
julgando seus prprios produtos;
emitindo declaraes de conformidade;
submetendo produtos certificao ou obteno de marcas de
conformidade;
b) entidades de certificao que pretendam estabelecer um esquema de
certificao por terceiros;
c) laboratrios de teste que tero de seguir as instrues de teste durante a
execuo de testes para certificao ou para emisso de marca de
conformidade;
d) entidades de credenciamento que credenciam entidades de certificao e
laboratrios de testes;
e) auditores quando julgam a competncia de laboratrios de testes;
f) compradores que pretenciam:
comparar seus prprios requisitos com os da norma;
comparar os requisitos necessrios para executar uma determinada tarefa
com a informao presente nas descries de produtos existentes;
procurar por produtos certificados;
verificar se os requisitos foram atendidos;
g) usurios que pretendam se beneficiar com produtos melhores;




38
Segundo Tsukumo (Tsukumo et al., 1997) um dos grandes mritos da
norma ISO/IEC 12119 est na profundidade com que so descritas cada uma
das caractersticas e subcaractersticas mencionadas na norma 9126. Outro
ponto importante a nfase nos testes, o que facilita o trabalho do avaliador.

3.4 Consideraes Finais
Neste captulo foi apresentada uma viso geral sobre qualidade e sobre
qualidade de produtos de software. Foi apresentada a definio de qualidade
segundo a norma ISO 8402 e tambm a definio de qualidade de produto de
software segundo a norma ISO 9126.
Vimos que avaliar a qualidade de um produto de software verificar,
atravs de tcnicas e atividades operacionais, o quanto que os requisitos so
atendidos. Nesse sentido, vimos duas normas internacionais cujo objetivo
auxiliar na averiguao da qualidade desses produtos por meio de suas
estruturas de qualidade bem definidas e amplamente aceitas.
A primeira norma a ISO/IEC 9126, que define um modelo de qualidade
que utilizado como referncia para o processo de avaliao da qualidade de
produto de software, e sua utilizao no restrita apenas na avaliao da
qualidade de um produto, mas tambm auxilia na definio e validao de
requisitos de software, testes e aceitao do produto final. As caractersticas e
subcaractersticas definidas pela norma fornecem terminologia consistente para
tratar de qualidade do produto de software e por isso so aplicveis a todo tipo
de software, incluindo programas de computador e dados contidos em
firmware.
A segunda norma apresentada a ISO/IEC 12119, a qual aplicvel
produtos do tipo pacotes de software, tambm conhecidos como produtos de
prateleira. Ela tem como objetivo estabelecer requisitos de qualidade de
pacotes e tambm fornecer instrues para testar esses pacotes em relao
aos requisitos definidos.
As normas ISO/IEC 9126 e ISO/IEC 12119 so utilizadas neste trabalho
fornecendo a base para a formalizao do modelo de qualidade para
39
componentes de software, atravs de suas estruturas bem definidas e
conhecidas internacionalmente.
Para auxiliar na formalizao desse modelo de qualidade, algumas
pesquisas relacionadas qualidade de componentes foram estudadas e so
apresentadas no prximo captulo.
41
Captulo 4
Qualidade de Componentes de
Software



4.1. Consideraes Iniciais
As normas internacionais ISO/IEC 9126 e ISO/IEC 12119 apresentam
caractersticas de qualidade destinadas a produtos do software de uma forma
geral, no satisfazendo assim alguns requisitos especficos de componentes de
sofware.
No contexto deste trabalho, e com o objetivo de auxiliar na identificao
desses requisitos de qualidade especficos para componentes, este captulo
apresenta e discute algumas pesquisas relacionadas ao tema de qualidade de
componentes de software.

4.2. Introduo
Aplicaes de software so produtos complexos, difceis de desenvolver
e testar. Muito freqentemente, produtos de software apresentam
comportamentos inesperados e indesejados, que podem causar muitos
problemas (Fuggetta, 2000). Councill (2001) sugere que as melhores solues
para cada problema so aquelas que utilizam passos pequenos e simples, e
maximizam a eficincia e minimizam custos. Ele acrescenta ainda que o
Desenvolvimento Baseado em Componentes (DBC) soluciona problemas,
quebrando-os em pores menores e implementa solues como componentes
independentes.

42

Cheesman (2000) e Hopkins (2000) enfatizam o DBC como uma tcnica
para o desenvolvimento de produtos de software complexos, que priorizam a
reduo dos custos e o aumento da produtividade e da qualidade. Desse
modo, desenvolver ou selecionar componentes de software de alta qualidade
de primordial importncia. As informaes sobre a qualidade dos componentes
so importantes para que seus usurios possam ganhar confiana e avaliar
seus possveis usos (Preiss, 2002).
A importncia na observao da qualidade dos componentes tem sido
percebida e demonstrada em vrios ramos de pesquisa, tais como Bertoa
(Bertoa, 2002), Simo (Simo, 2003), Almeida (Almeida, 2005), (Lee, 2005),
Alvaro (Alvaro, 2006), Mki-Asiala (Mki-Asiala, 2006) entre outros.

4.3. Qualidade de Componentes
Quando se fala em qualidade de software baseada em componentes ou
mesmo, a qualidade dos prprios componentes, possvel encontrar na
literatura alguns trabalhos com importantes contribuies na rea, como o
caso de Bertoa (2002).
Com o objetivo de definir caractersticas de qualidades para um modelo
de qualidade especfico para componentes de software, o trabalho de Bertoa
(2002) um dos pioneiros e de grande contribuio para a comunidade de
DBC. Bertoa define caractersticas de qualidade para um tipo especial de
componente (COTS) o qual especialmente projetado, desenvolvido, e
comercializado para ser usado em ambientes de Desenvolvimento Baseado em
Componentes (DBC). O objetivo permitir a avaliao e a seleo de COTS
pelos desenvolvedores e projetistas de software, e tambm de auxiliar na
descrio de informaes de qualidade como parte da documentao dos
componentes pelos seus vendedores.
Para identificar os vrios tipos de caractersticas de qualidade para
componentes, Bertoa sugere uma classificao de acordo com diferentes
critrios:
43
Separao das caractersticas em locais e globais: caractersticas locais
so aquelas que fazem sentido para os componentes isoladamente (por
exemplo: maturidade) e caractersticas globais so as que devem ser
valoradas em nvel da arquitetura de software (por exemplo: tolerncia a
falhas).
Separao das caractersticas conforme o momento em que podem ser
medidas: por exemplo, o desempenho pode ser observado em tempo de
execuo, enquanto que a manutenibilidade pode ser observada durante o
ciclo de vida do produto.
Definio dos usurios para as quais o modelo dirigido:
fundamentalmente, envolve os arquitetos de software e projetistas, pois so
esses os responsveis por avaliar e selecionar os componentes que
comporo a aplicao final.
Separao das mtricas em internas e externas: as mtricas internas
medem os atributos internos do produto final ou dos produtos intermedirios
(por exemplo, especificao e cdigo fonte). As mtricas externas medem o
comportamento do sistema durante os testes e a operao dos
componentes. O autor afirma que somente as mtricas externas so
relevantes, quando se trata de componentes COTS, devido ao carter de
caixa-preta desses componentes.
Bertoa define seu modelo de qualidade baseado na norma ISO/IEC
9126-1 (ISO, 2001), mas menciona que nem todas as caractersticas de um
produto de software, como definidas pela ISO/IEC 9126-1, so aplicadas para
componentes COTS. (Por exemplo, a caracterstica portabilidade sugerida pela
norma ISO/IEC 9126-1, no aplicvel a componentes COTS.) O autor
acrescenta duas novas subcaractersticas: compatibilidade e complexidade.
Segundo Simo (2003), em uma anlise sobre o modelo, portabilidade uma
caracterstica importante e deve ser mantida, pois se refere capacidade do
componente de ser transferido de um ambiente para outro e essa capacidade
fundamental para a reutilizao dos componentes. Na Tabela 4.01,
apresentado a estrutura do modelo de qualidade de componentes COTS
definido por Bertoa.
44

Tabela 4.1 Caractersticas, subcaractersticas e atributos para componentes COTS
(Adaptado de (Bertoa, 2002))
Caractersticas Subcaractersticas Atributos
Cobertura
Excesso
Adequao
Cobertura da implementao do
servio
Preciso
Acurcia
Acurcia Computacional
Interoperabilidade Compatibilidade dos dados
Padronizao
Conformidade
Certificao
Criptografia dos dados
Controlabilidade Segurana
Auditabilidade
Funcionalidade
Compatibilidade
Compatibilidade com as verses
anteriores
Serializao
Persistncia
Suporte a transao
Recuperabilidade
Tratamento de erros
Volatilidade
Evolutibilidade
Confiabilidade
Maturidade
Remoo de falhas
Tempo de uso
Tempo de configurao
Tempo de administrao
Apreensibilidade
Tempo de domnio de uso
Documentao de usurio
Sistema de ajuda
Documentao computacional
Treinamento
Inteligibilidade
Cobertura da demonstrao
Esforo de operao
Adaptao Operabilidade
Administrabilidade
Interfaces providas
Interfaces requeridas
Usabilidade
Complexidade
Taxa de complexidade
Tempo de resposta
Capacidade de recepo e
processamento de informaes
Comportamento em relao
ao tempo
Capacidade de gerao de
informaes (Throughput)
Utilizao de memria
Eficincia
Comportamento em relao
aos recursos
Utilizao de discos
Customizao
Taxa de customizao
Modificabilidade
Capacidade de controle de
mudanas
Autoteste de inicializao
Manutenibilidade
Testabilidade Disponibilidade de um pacote para
testes

45
Bertoa define caractersticas e subcaractersticas em seu modelo de
qualidade para componentes COTS, e para cada subcaracterstica so
definidos seus atributos de qualidade. Bertoa tambm define para cada atributo
de qualidade uma mtrica que possui a escala de medio para a caracterstica
de qualidade correspondente.
Os significados de algumas caractersticas, de acordo com a norma
ISO/IEC 9126-1, foram alterados por Bertoa, como, por exemplo, usabilidade e
manutenibilidade. A usuabilidade, segundo o autor, considerada no
desenvolvimento de software utilizando componentes. Os usurios finais de
componentes so os desenvolvedores e projetistas que os utilizam para
construir a aplicao, e no apenas usurios finais que interagem com a
aplicao. Em relao manutenibilidade, Bertoa ressalta que os usurios de
componentes (desenvolvedores) no necessitam fazer modificaes internas,
mas eles precisam adapt-lo, reconfigur-lo e executar os testes no
componente antes que ele seja includo em um produto final. Assim,
modificabilidade e testabilidade so definidas como subcaractersticas que
devem ser medidas para a caracterstica manutenibilidade.
Outro trabalho realizado na rea de qualidade de componentes o de
Simo (2003). Ele identificou e organizou caractersticas de qualidade de maior
relevncia para componentes de software baseado em um levantamento
bibliogrfico especializado da rea. Realizou ainda, uma pesquisa de campo,
com especialistas em DBC, visando uma categorizao dessas caractersticas
de qualidade, cujos resultados foram obtidos atravs de um modelo de
avaliao da qualidade de software.
As caractersticas de qualidade apresentadas por Simo tambm foram
organizadas segundo a norma ISO/IEC 9126-1, por ser um padro
estabelecido internacionalmente. Em seu trabalho foram levantados cento e
vinte e quatro atributos de qualidade para componentes de software, que esto
organizados nas seis caractersticas de qualidade da ISO/IEC 9126-1. Foram
propostas noventa e uma novas subcaractersticas de qualidade somadas com
as vinte e sete da norma ISO/IEC 9126-1 totalizando cento e dezoito
subcaractersticas de qualidade.

46

O autor ressalta que, houve a necessidade de definir novas
subcaractersticas para componentes de software, alm das j definidas para
produtos de software em geral. Entretanto, no houve a necessidade de se
acrescentar novas caractersticas de qualidade ao padro ISO, observando-se
a aplicabilidade de todas as caractersticas e subcaractersticas j definidas
nessa norma.
Segundo Simo (2003), devido especificidade de componentes de
software, alguns conceitos utilizados tomaram um carter mais abrangente do
que os propostos pela norma ISO/IEC 9126-1 e por algumas bibliografias
especializadas. Por exemplo, a usabilidade, deve abranger no somente a
interao com o usurio final, mas tambm a manipulao do componente,
pelos desenvolvedores, durante as diversas atividades do ciclo de vida de
desenvolvimento de uma aplicao baseada em componentes. Outro exemplo
a caracterstica portabilidade, que visa o transporte do produto de software
entre ambientes. Sua interpretao foi estendida para capturar os aspectos
tcnicos necessrios reutilizao de componentes em diversas aplicaes.
O trabalho realizado por Simo define um conjunto de caractersticas de
qualidade de componentes de software relativamente extenso, mas, de acordo
com o autor, ele pode ser usado total ou parcialmente para a definio de guias
de qualidade e para a avaliao da qualidade de componentes de software.
Foram definidas tambm no trabalho de Simo, trs dimenses de
qualidade que podem influenciar diretamente no grau de importncia das
caractersticas de qualidade para os componentes de software:
domnio da aplicao: corresponde ao conjunto de caractersticas
peculiares do domnio de aplicao;
funo arquitetural: distribuda pelas camadas de interface, negcio, dados,
e infra-estrutura, envolvendo seus padres de interao;



47
nvel de abstrao: o componente pode ser reutilizado em suas formas de
especificao, projeto e cdigo.

Com o objetivo de investigar meios efetivos para demonstrar a
aplicabilidade da certificao de componentes para a indstria de software,
Alvaro (Alvaro, 2006) prope em seu trabalho um modelo de qualidade de
componentes de software, identificando caractersticas, subcaractersticas,
atributos de qualidade e mtricas relacionadas que compe o modelo. Seu
trabalho, diferentemente dos anteriores, foi desenvolvido em conjunto com a
indstria e a academia, com o propsito de gerar um modelo bem definido
capaz de avaliar componentes da indstria de software.
Segundo o autor, o modelo de qualidade de componentes parte de um
framework para certificao de componentes de software que est sendo
investigado em conjunto com o grupo RiSE (Reuse in Software Engineering
group) grupo de pesquisa sobre reuso da Universidade Federal de
Pernambuco (UFPE)(http://www.cin.ufpe.br/~rise).
O modelo de qualidade de componentes proposto por Alvaro, tambm
baseado na norma ISO/IEC 9126-1 e algumas adaptaes para componentes
foram efetuadas. Assim como o modelo de Bertoa (2002), o modelo de
qualidade de componentes proposto por lvaro tambm est dividido em duas
classes: caractersticas de qualidade que podem ser observadas em tempo de
execuo, e caractersticas de qualidade que podem ser observadas durante o
ciclo de vida do produto. O modelo proposto possui tambm as mesmas
caractersticas da norma ISO/IEC 9126-1: funcionalidade, confiabilidade,
usabilidade, eficincia, manutenibilidade e portabilidade.
De acordo com Alvaro, embora o modelo proposto esteja baseado na
norma ISO/IEC 9126-1, algumas mudanas foram feitas com o objetivo de
desenvolver um modelo consistente para avaliar componentes de software.
Foram identificadas algumas caractersticas relevantes para o contexto de
componentes, eliminando outras caractersticas e subcaractersticas no
interessantes para a avaliao de componentes. Na Tabela 4.2 apresentado
o modelo proposto por Alvaro.
48

Tabela 4.2 Modelo de Qualidade de Componentes. Adaptado de (Alvaro, 2006))
Caracterstica Subcaracterstica
(tempo de execuo)
Subcaracterstica
(ciclo de vida)
Funcionalidade Acurcia
Segurana
Adequabilidade
Interoperabilidade
Conformidade
Autocontido
Confiabilidade Tolerncia a falhas
Recuperabilidade
Maturidade
Usabilidade Configurabilidade Inteligibilidade
Apreensibilidade
Operabilidade
Eficincia Comportamento em relao
ao tempo
Comportamento em relao
aos recursos
Escalabilidade

Manutenibilidade Estabilidade Modificabilidade
Testabilidade
Portabilidade Implantabilidade(Deployability) Substituibilidade
Adaptabilidade
Reusabilidade


As novas subcaractersticas identificadas por Alvaro so apresentadas
na Tabela 4.02 em negrito. Segundo o autor, essas subcaractersticas foram
adicionadas pela necessidade de avaliar propriedades que no foram cobertas
pela ISO/IEC 9126-1. Por exemplo, a subcaracterstica autocontido intrnseca
de um componente e deve ser analisada. Outras subcaractersticas, a
configurabilidade essencial para o desenvolvedor analisar se o componente
pode ser facilmente configurado. A escalabilidade relevante porque expressa
a habilidade do componente de prover suporte a maiores volumes de dados, e
pensando que componentes so desenvolvidos para serem reutilizados, a
subcaracterstica reusabilidade tambm considerada.
Na caracterstica manutenibilidade, a subcaracterstica analisabilidade
desapareceu para adequar o modelo para o contexto de componentes. Nesse
contexto, o autor fala que o resultado da avaliao dessa subcaracterstica ser
insignificante, porque um componente desenvolvido para atender certas
49
funcionalidades da aplicao e, raramente so desenvolvidos mtodos para
sua auto-anlise ou para identificar partes para serem modificadas.
Uma subcaracterstica do modelo proposto por Alvaro teve seu nome e
significado mudado nesse novo contexto, ela est apresentada em itlico na
Tabela 4.2. A subcaracterstica Instalabilidade passou a ser chamada de
implantabilidade (Deployability). Depois de desenvolvido, os componentes so
implantados (deployed), e no instalados, em um ambiente de execuo para
tornar possvel seu uso por outras aplicaes que sero desenvolvidas
futuramente. Atravs dessa modificao, o entendimento dessa
subcaracterstica se torna mais claro para o contexto de componentes.
Alvaro, em seu trabalho, criou tambm um outro nvel de caracterstica
que no foi apresentado na Tabela 4.2. Esse novo nvel chama-se Business.
Essa caracterstica, segundo Alvaro, apresenta algumas subcaractersticas que
so importantes para um processo de certificao, tais como: Tempo de
Desenvolvimento, Custo, Tempo de mercado, Mercado alvo e Disponibilidade.
O autor comenta que essas informaes no so importantes para avaliar a
qualidade do componente em si, mas so importantes para analisar alguns
fatores que trazem credibilidade para os clientes de componentes
(desenvolvedores e projetistas).

4.4. Consideraes Finais
Este captulo destacou a importncia na observao da qualidade dos
componentes de software e apresentou alguns trabalhos e pesquisas
relacionadas ao tema de qualidade de componentes. Um dos trabalhos de
grande contribuio para a comunidade de componentes o de Bertoa, que
define um conjunto de caractersticas de qualidade, baseado na norma ISO/IEC
9126-1, para um modelo de qualidade para componentes COTS.
Apesar de Bertoa definir seu modelo baseado na norma ISO/IEC 9126-1,
algumas caractersticas e subcaractersticas da norma no foram adotadas por
Bertoa para seu modelo, por exemplo, a caracterstica portabilidade, sendo que
suas subcaractersticas so relevantes para avaliar a reutilizao de
componentes.
50
Outro trabalho citado o de Simo que identificou e organizou
caractersticas de qualidade de componentes, baseado em um levantamento
bibliogrfico especializado da rea. Simo no definiu um modelo de qualidade,
apenas identificou caractersticas de maior relevncia para componentes de
software. Assim como Bertoa, Simo tambm se baseou na norma ISO/IEC
9126-1, mas manteve todas as caractersticas e subcaractersticas da norma e
ainda acrescentou novas subcaractersticas devido a especificidade de
componentes.
Com o foco na certificao, Alvaro tambm define um modelo de
qualidade para componentes de software que utilizado como parte de um
framework para certificao de componentes.
Apesar da importncia desses trabalhos para o alcance da qualidade de
componentes de software, um ponto relevante que eles no trataram com a
importncia necessria a qualidade da documentao dos componentes de
software, que fundamental para a reutilizao e aceitao dos componentes
na indstria de software.
Com base nessas pesquisas relacionadas qualidade de componentes
de software, tambm nas normas internacionais apresentadas no captulo 3, e
de acordo com a definio de componentes adotada no captulo 2,
apresentado, no prximo captulo, o modelo de qualidade para componentes
de software formalizado neste trabalho.

51
Captulo 5

Modelo de Qualidade para Componentes de
Software



5.1 Consideraes Iniciais
Segundo a norma internacional ISO/IEC 9126-1, recomendado que,
para a avaliao da qualidade de um produto de software, seja definido um
modelo de qualidade e que esse modelo seja usado na definio das metas de
qualidade para o produto avaliado.
De acordo com o objetivo deste trabalho, neste captulo apresentado o
modelo de qualidade definido para componentes de software e sua estrutura
que composta por: caractersticas, subcaractersticas, atributos e mtricas de
qualidade especficas para avaliar a qualidade de componentes de software.

5.2 Introduo
Desde que se tornou freqente o uso de componentes no
desenvolvimento de sistemas, as empresas passaram a se preocupar com a
qualidade dos componentes de software, pois as caractersticas dos mesmos
influenciam na qualidade do produto de software final.
A definio de um modelo de qualidade especfico para componentes de
software o passo principal para avaliar a qualidade desses componentes que
sero utilizados em diferentes ambientes e contextos. possvel encontrar na
literatura a existncia de normas internacionais que definem vrios modelos ou
diretrizes de qualidade, sendo porm gerais e no orientadas a domnios
especficos, como por exemplo, o DBC.
52
Com o intuito de auxiliar na avaliao da qualidade dos componentes de
software desenvolvidos com a finalidade de serem reutilizados, um modelo de
qualidade especfico para componentes foi definido, a fim de atender a essa
necessidade.

5.3 Modelo de Qualidade para Componentes de Software
O modelo de qualidade proposto est embasado nas normas
internacionais ISO/IEC 9126-1 (ISO, 2001) e NBR ISO/IEC 12119 (ISO, 1994),
em pesquisas realizadas na rea de qualidade de componentes de software,
tais como (Bertoa, 2002), (Simo, 2003) e (Alvaro, 2006), e tambm no modelo
de qualidade de produtos de software MEDEPROS (Rgo, 1996)
O modelo proposto formado por caractersticas, subcaractersticas,
atributos e mtricas de qualidade. Alm disso, para definir e categorizar melhor
essas caractersticas de qualidade seguiu-se uma terminologia padro tambm
definida pela norma ISO/IEC 9126-1.
De acordo com a ISO/IEC 9126-1, uma caracterstica de qualidade um
conjunto de propriedades de um produto de software pela qual sua qualidade
pode ser descrita e avaliada. Uma caracterstica pode ser refinada em mltiplos
nveis de subcaractersticas.
Um atributo uma propriedade mensurvel, fsica ou abstrata, de uma
entidade, no caso um componente de software. Uma mtrica composta por
um mtodo (procedimento cujo objetivo examinar o componente para
produzir um nico resultado) e uma escala de medio (conjunto de valores
com propriedades definidas). Uma mtrica est associada a um atributo para
poder medir esse atributo.
Um modelo de qualidade um conjunto de caractersticas, assim como
os relacionamentos entre elas, que fornecem a base para especificar requisitos
de qualidade e para avaliar a qualidade. O modelo de qualidade usado
depender do tipo de produto alvo a ser avaliado.


53
Na Figura 5.1, ilustrada a estrutura da terminologia definida pela
ISO/IEC 9126-1.

Figura 5.1 Estrutura definida pela Norma ISO/IEC 9126-1. (Adaptado de (ISO,
2001)).

De acordo com a definio de Villela (2000), adotada neste trabalho, um
componente de software reutilizvel so artefatos autocontidos, claramente
identificveis, que descrevem ou realizam uma funo especfica e tm
interfaces claras em conformidade com um dado modelo de arquitetura de
software, documentao apropriada e um grau de reutilizao definido. Nota-
se que, um componente n formado apenas de um pacote executvel, ele
composto tambm de um conjunto de documentos apropriados para a sua
reutilizao. Holanda (Holanda et al., 2001) e Kallio (Kallio, 2001), tambm
abordam a necessidade de uma documentao de qualidade para
componentes de software.
Assim, para que um componente de software seja de qualidade, ele
necessita ter uma documentao apropriada e assim, para avaliar a qualidade
de um componente de software necessrio avaliar tambm a sua
documentao.


54
Como o foco deste trabalho nos componentes de software reutilizveis
do tipo caixa-preta, a norma internacional ISO/IEC 12119, especfica para
produtos disponveis como pacotes fechados, sugere a existncia de um
documento de descrio do produto, que parte do conjunto de
documentao, fornecendo informaes importantes antes da aquisio do
produto.
Dessa forma, o modelo de qualidade proposto apresenta caractersticas,
subcaractersticas, atributos e mtricas de qualidade para trs tipos de
artefatos que compem o produto componente de software:
1) Documento de Descrio do Componente;
2) Documentao do Componente; e
3) Componente.
1) Descrio do componente: um documento expondo as propriedades de
um componente, com o principal objetivo de auxiliar os potenciais
compradores/usurios na avaliao da adequao do componente antes de
sua aquisio (adaptado da ISO/IEC 12119 (ISO, 1994)).
2) Documentao do componente: um conjunto de documentos que
contm toda informao necessria para a utilizao / reutilizao do
componente, por exemplo: especificao do componente, manuais de
implantao e configurao, manuais de ajuda, etc.
3) Componente de software: o artefato executvel, autocontido, que realiza
uma funo especfica e prov interfaces claras em conformidade com um
dado modelo de arquitetura de software. Em outras palavras, a
implementao do componente.
Como este trabalho est focado em componentes de software do tipo
caixa-preta, as caractersticas e atributos de qualidade interna no so
tratadas, somente caractersticas de qualidade externa (qualidade das
caractersticas do ponto de vista externo) e tambm de qualidade em uso
(viso da qualidade sob a perspectiva do usurio).


55
A identificao das caractersticas e subcaractersticas de qualidade
para componentes de software foram o primeiro passo para obteno do
modelo de qualidade. Para isso, foram pesquisados trabalhos na rea de
qualidade de produtos (ISO, 1994), (Rgo, 1996), (ISO, 2001), e tambm
trabalhos na rea de qualidade de componentes de software, tais como
(Bertoa, 2002), (Simo, 2003) e (Alvaro, 2006).
As caractersticas e subcaractersticas de qualidade para os atributos
Descrio e Documentao do componente foram definidas principalmente
com base nas normas ISO/IEC 12119 (ISO, 1994) e IEEE 1063 (IEEE, 2001).
As caractersticas e subcaractersticas de qualidade externa e qualidade em
uso para o artefato Componente de Software so basicamente as mesmas do
modelo da ISO/IEC 9126-1, com algumas mudanas nos significados para se
adequar ao novo contexto de componentes. A retirada da caracterstica
manutenibilidade e de algumas subcaractersticas deve-se ao fato das mesmas
no serem aplicadas ao contexto de componentes adotado neste trabalho.
O modelo completo composto de doze caractersticas de qualidade
refinadas em vinte e duas subcaractersticas para os trs artefatos do modelo
proposto. O modelo pode ser aplicado de forma completa ou parcial, utilizando
apenas as caractersticas mais pertinentes, atendendo da melhor maneira os
objetivos das avaliaes.
Na Figura 5.2, apresentada a estrutura do modelo de qualidade
externa para componentes de software at o nvel de subcaractersticas. As
caractersticas de qualidade em uso do modelo de qualidade definido so as
mesmas caractersticas da norma ISO/IEC 9126-1 e so apresentadas na
Figura 5.3.

56
Existncia
Inteligibilidade
Contedo
Ident. e Indicaes
Declaraes
Descrio
do Componente
Existncia
Ident. e Indicaes
Desc. Funcionalidade
Desc. Usabilidade
Completitude
Usabilidade
Documentao
do Componente
Adequao
Acurcia
Interoperabilidade
Segurana de Acesso
Conformidade Rel. Funcionaliade
Funcionalidade
Maturidade
Tolerncia de Falha
Recuperabilidade
Confiabilidade
Inteligibilidade
Apreensibilidade
Operacionalidade
Usabilidade
Comportamento em Rel. ao Tempo
Utilizao de Recursos
Eficincia
Adaptabilidade
Capacidade para ser Implantado
Coexistncia
Capacidade para Substituir
Reusabilidade
Portabilidade
Componente
Modelo de
Qualidade Externa para
Componentes de
Software

Figura 5.2 Modelo de Qualidade Externa para Componentes de Software.

Eficcia Produtividade Segurana Satisfao
Modelo de
Qualidade em Uso

Figura 5.3 Modelo de Qualidade em Uso para Componentes de Software (Adaptado
de (ISO, 2001)).


57
Como pode-se observar na Figura 5.2, os trs tipos de artefatos que
formam o componente esto no primeiro nvel da hierarquia. Abaixo de cada
um esto suas caractersticas, representadas dentro do retngulo e as
respectivas subcaractersticas, em um nvel abaixo, fora do retngulo.
No modelo de qualidade, algumas caractersticas so aplicadas em mais
de um artefato, como o caso de Usabilidade e Existncia. Outras,
dependendo do artefato, podem estar em diferentes nveis de refinamento,
como o caso de Identificaes e Indicaes.
As caractersticas de qualidade em uso da norma ISO/IEC 9126-1 so
aplicadas tambm a componentes de software pois avaliam a satisfao do
usurio em contextos de uso de uma forma geral, por isso, so adotadas no
modelo de qualidade para componentes, como possvel observar na Figura
5.3.
Nas subsees a seguir, so apresentadas as definies das
caractersticas e subcaractersticas de qualidade externa e qualidade em uso
do modelo de qualidade para componentes.
5.3.1 Caractersticas e Subcaractersticas de Qualidade do Modelo
A descrio de cada caracterstica e subcaracterstica do modelo de
qualidade proposto so dadas a seguir, juntamente com a explicao das
mudanas realizadas com relao norma ISO/IEC 9126-1.
1. Descrio do Componente
1.1. Existncia: Essa caracterstica tem por objetivo verificar a existncia do
documento de descrio do componente.
1.2. Contedo: Essa caracterstica tem por objetivo verificar a clareza e
organizao do contedo da descrio do componente.
1.2.1. Inteligibilidade: Capacidade da descrio do componente de permitir
uma fcil compreenso de seu contedo.
1.3. Identificao e Indicao: Essa caracterstica tem por objetivo verificar
se a descrio do componente possui indicaes sobre o componente, suas
funcionalidades, seu produtor, etc.
58
1.4. Declarao: Essa caracterstica tem por objetivo verificar se a descrio
do componente possui declaraes sobre requisitos funcionais e no
funcionais do componente.
2. Documentao do Componente
2.1. Existncia: Essa caracterstica tem por objetivo verificar se o
componente tem uma documentao que o acompanha.
2.2. Completitude: Essa caracterstica tem por objetivo verificar se na
documentao do componente contm todas as informaes necessrias
para a sua utilizao/reutilizao.
2.2.1. Identificao e Indicaes: Essa subcaracterstica tem por objetivo
verificar se na documentao contm identificaes e indicaes importantes
sobre o componente, como por exemplo, nome do componente, verso e data
de criao do componente, produtor/fornecedor do componente, composio
do componente, etc.
2.2.2. Descrio sobre Funcionalidade: Essa subcaracterstica tem por
objetivo verificar se na documentao do componente possui descries sobre
sua funcionalidade, suas interfaces, etc.
2.2.3. Descrio sobre Usabilidade: Essa subcaracterstica tem por objetivo
verificar se na documentao do componente possui descries de como
utilizar o componente, por exemplo, informaes sobre implantao,
adaptao, direitos autorais, etc.
2.3. Usabilidade: Essa caracterstica tem por objetivo verificar a usabilidade
da documentao, ou seja, se ela de fcil compreenso e manuseio pelos
seus usurios.
3. Componente de Software
3.1. Funcionalidade: Capacidade do componente de prover servios
(funes) que satisfaam as necessidades especificadas para sua
funcionalidade.
A caracterstica Funcionalidade mantm o mesmo significado da
ISO/IEC 9126 para componentes, pois o componente, assim como o
software, tambm tem que ter suas funes adequadas em relao sua
especificao, preciso nos resultados, segurana das informaes e dados
59
e, ser capaz de interagir com outros componentes para que juntos possam
compor um sistema como um todo.
3.1.1. Adequao: Capacidade do componente de prover um conjunto
apropriado de interfaces para atender o seu objetivo especificado.
3.1.2. Acurcia: Capacidade do componente prover, com o grau de preciso
necessrio, resultados ou efeitos corretos ou conforme acordados.
3.1.3. Interoperabilidade: Capacidade do componente interagir com um ou
mais componentes ou sistemas especificados.
3.1.4. Segurana de acesso: Capacidade do componente de proteger
informaes e dados, de forma que pessoas, componentes ou sistemas no
autorizados no possam l-los nem modific-los e que no seja negado o
acesso s pessoas, componentes ou sistemas autorizados.
3.1.5. Conformidade relacionada funcionalidade: Capacidade do
componente de estar de acordo com normas, convenes ou regulamentaes
previstas em leis e prescries similares relacionadas sua funcionalidade.
3.2. Confiabilidade: Capacidade do componente de evoluir, ser tolerante a
falhas e se recuperar.
A caracterstica Confiabilidade diretamente aplicada a componentes,
pois para que um componente seja reutilizado, essencial que ele seja
confivel.
3.2.1. Maturidade: Capacidade do componente de evoluir, entre suas verses,
por meio de correes de falhas e atualizaes de suas funcionalidades.
3.2.2. Tolerncia a falhas: Capacidade do componente de manter um nvel de
desempenho especificado (prevenindo falhas e tratando erros) em casos de
defeitos no componente ou de violao de suas interfaces.
3.2.3. Recuperabilidade: Capacidade do componente de, no caso de uma
falha, restabelecer seu nvel de desempenho especificado e recuperar seu
estado.
3.3. Usabilidade: Capacidade do componente de ser compreendido,
aprendido e operado pelo usurio, sob condies especificadas.
A caracterstica Usabilidade e suas subcaractersticas tm um
significado diferente para componentes de software. A razo que, no
60
desenvolvimento de software baseado em componentes, os usurios finais
de componentes so, na maioria das vezes, os desenvolvedores e
projetistas de aplicaes, ao invs de usurios que interagem com a
aplicao. Assim, a usabilidade de um componente dever ser interpretada
como a habilidade de ser usado por um desenvolvedor na construo (ou
montagem) de um produto de software ou sistema, ou seja, durante o projeto
da aplicao.
No contexto de componentes a subcaracterstica Atratividade no
aplicada, pois atratividade est relacionada com interao do sistema com
os usurios finais, o que no acontece com os tipos de componentes
considerados neste trabalho, e componentes de interface grfica no fazem
parte da categoria de componentes de software reutilizveis. A interao
entre os componentes j analisada em outras subcaractersticas, como por
exemplo interoperabilidade.
3.3.1. Inteligibilidade: Capacidade do componente de possibilitar ao usurio
compreender se o mesmo apropriado e como ele pode ser usado para
tarefas e condies de uso especficas. A inteligibilidade depender da
documentao (como, exemplos de uso, demos, etc).
3.3.2. Apreensibilidade: Capacidade do componente de possibilitar ao usurio
aprender sua utilizao.
Aprender sua utilizao diz respeito a onde utilizar e como utilizar o
componente (por exemplo, em qual camada da arquitetura e com qual
finalidade e, como ele pode ser integrado).
3.3.3. Operacionalidade: Capacidade do componente de possibilitar ao
usurio oper-lo e control-lo.
Os componentes so operados e controlados pelas suas interfaces
(providas e requeridas).
3.4. Eficincia: Capacidade do componente de apresentar desempenho
apropriado, relativo quantidade de recursos usados, sob condies
especificadas (recurso diz respeito configurao de hardware e software).
A caracterstica Eficincia e suas subcaractersticas tambm so
aplicadas aos componentes com o mesmo significado que dado pela
61
norma ISO/IEC 9126, pois os componentes, assim como um produto de
software, tambm tm que apresentar um desempenho apropriado com
relao aos recursos utilizados.
3.4.1. Comportamento em relao ao tempo: Capacidade do componente de
fornecer tempos de resposta e de processamento, alm de taxas de
transferncia, apropriados, quando o componente executa suas funes, sob
condies estabelecidas.
3.4.2. Utilizao de recursos: Capacidade do componente de usar tipos e
quantidades apropriados de recursos, quando o componente executa suas
funes sob condies estabelecidas.

A caracterstica Manutenibilidade diz respeito capacidade do produto
de ser modificado. As modificaes podem incluir correes, melhorias ou
adaptaes do produto devido a mudanas no ambiente e nos seus requisitos
ou especificaes funcionais.
O usurio do componente (ex. desenvolvedor) no consegue fazer
modificaes internas no componente (devido sua caracterstica de caixa-
preta), mas um componente pode ser adaptado ou substitudo por um outro
para se adequar ao seu novo ambiente. Como essas caractersticas
Adaptabilidade e Capacidade para ser substitudo esto relacionadas mais
com a portabilidade, a caracterstica manutenibilidade no ser aplicada neste
contexto de componentes de software reutilizveis.

3.5. Portabilidade: Capacidade do componente de ser transferido de um
ambiente para outro. O ambiente pode ser organizacional, de hardware ou
de software.
A caracterstica Portabilidade uma propriedade essencial para a
natureza dos componentes, os quais so em princpio projetados e
desenvolvidos para serem reutilizados em diferentes ambientes.
importante notar que, no desenvolvimento de software baseado em
componentes, reutilizao significa no somente usar mais que uma vez,
mas tambm usar em diferentes ambientes.
62
Devido ao fato dos componentes no serem instalados e sim
implantados (Deployed) em um ambiente de execuo, a subcaracterstica
capacidade para ser instalado foi renomeada para capacidade para ser
implantado (Deployed) tornando o seu entendimento mais claro para o
contexto de componentes.
Dentro da caracterstica portabilidade uma nova subcaracterstica foi
acrescentada a Reusabilidade, que tem por objetivo verificar a capacidade
do componente de poder ser reutilizado em vrias aplicaes de diferentes
contextos e domnios.
3.5.1. Adaptabilidade: Capacidade do componente de ser adaptado para
diferentes ambientes especificados, sem necessidade de aplicao de outras
aes ou meios alm daqueles fornecidos para essa finalidade pelo
componente considerado.
3.5.2. Capacidade para ser implantado: Capacidade do componente para ser
implantado em um ambiente de execuo especificado.
3.5.3. Coexistncia: Capacidade do componente de coexistir com outros
produtos de software independentes, em um ambiente comum, compartilhando
recursos comuns.
3.5.4. Capacidade para substituir: Capacidade do componente para ser
usado em substituio a outro componente especificado, com o mesmo
propsito e mesmo ambiente.
3.5.5. Reusabilidade: Capacidade do componente de poder ser reutilizado em
vrias aplicaes de diferentes contextos e domnios.

4. Qualidade em Uso
Avaliar a qualidade em uso de componente de software segue o
mesmo princpio de avaliar a qualidade em uso de um produto de software,
que , permitir que usurios (no caso de componentes, desenvolvedores e
integradores) atinjam metas especificadas com eficcia, produtividade,
segurana e satisfao em contextos de uso especificados.
63
Dessa forma, as caractersticas de qualidade em uso da norma
ISO/IEC 9126-1 so aplicadas aos componentes com o mesmo significado
que dado pela norma.
4.1. Eficcia: Eficcia a capacidade do componente de software de
permitir que seus usurios atinjam metas especificadas com acurcia e
completitude, em um contexto de uso especificado.
4.2. Produtividade: Produtividade a capacidade do componente de
software de permitir que seus usurios empreguem quantidade apropriada
de recursos em relao eficcia obtida, em um contexto de uso
especificado.
Recursos relevantes podem incluir tempo para completar a tarefa,
esforo do usurio, materiais ou custos financeiros.
4.3. Segurana (Safety): Segurana a capacidade do componente de
software de apresentar nveis aceitveis de riscos de danos a pessoas,
negcios e software, em um contexto de uso especificado.
Geralmente, os riscos so decorrentes das deficincias na
funcionalidade (incluindo segurana de acesso), confiabilidade ou
usabilidade, podendo levar a conseqncias econmicas no intencionais.
4.4. Satisfao: Satisfao a capacidade do componente de software de
satisfazer usurios, em um contexto de uso especificado.
Satisfao a resposta do usurio relacionado ao uso do produto
(componente).
Como foi dito anteriormente o modelo de qualidade definido est
organizado em uma estrutura hierrquica. O nvel mais alto desta estrutura
consiste de caractersticas de qualidade e o nvel mais baixo consiste de
atributos de qualidade. Na seo a seguir, so apresentados os atributos e as
mtricas de qualidade definidos para o modelo de qualidade de componentes.



64
5.3.2 Atributos e Mtricas de Qualidade do Modelo
O segundo e ltimo passo para completar o modelo de qualidade para
componentes a definio dos atributos e mtricas de qualidade. Para isso,
utilizou-se como base a norma 9126 parte 2 (ISO, 2003) e parte 4 (ISO, 2004)
e, principalmente, pesquisas sobre qualidade de componentes de software e
DBC, atravs do entendimento de seus contextos, pois em boa parte, os
atributos e suas mtricas no estavam explicitamente definidos.
Para cada subcaracterstica do modelo de qualidade, foram definidos um
ou mais atributos de qualidade e para cada atributo uma ou mais mtricas
foram propostas, com a finalidade de medir a qualidade externa e qualidade em
uso dos componentes de software.
De acordo com a definio da norma ISO/IEC 9126-1, uma mtrica
composta de um mtodo e uma escala de medio.
Nas Tabelas 5.1, 5.2, 5.3 e 5.4 so apresentados exemplos de atributos
de qualidade e suas respectivas mtricas. O modelo de qualidade completo
est apresentado no anexo A e composto de sessenta e cinco atributos e
oitenta e trs mtricas de qualidade para os trs artefatos do modelo proposto.
Na primeira coluna das tabelas esto os atributos propriamente ditos. As
colunas restantes correspondem mtrica, cujo seu propsito est expressado
como uma questo (coluna Propsito da Mtrica) para ser respondida por
meio de sua aplicao. A coluna Mtodo de Aplicao, prov as diretrizes
para a aplicao da mtrica. Na coluna Frmula e/ou elementos de dados para
medio, como o prprio nome diz, esto os elementos para a resposta da
questo que podem ser tanto dados qualitativos, atravs de elementos
nominais (ex. respostas Sim ou No), quanto quantitativos, atravs do uso de
frmulas. Na coluna Escala de medio est o conjunto de valores para os
tipos de respostas definidos em porcentagem.




65




Tabela 5.1 Atributos para a caracterstica Funcionalidade / Adequao. (Adaptado
de (ISO, 2003))
Mtrica
Atributo Propsito da
Mtrica
(Questo)
Mtodo de Aplicao Frmula e/ou
elementos de
dados para
medio
Escala de
medio
Adequao
Funcional
Os servios das
interfaces do
componente so
suficientemente
adequados para a
funcionalidade que o
mesmo se prope a
realizar?
O avaliador deve
verificar se os servios
disponveis nas
interfaces do
componente atendem a
necessidade especfica
do componente.
Confrontar o nmero de
interfaces adequadas
pelo total de avaliadas.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Cobertura da
Implementao
Funcional

O componente
implementa todos os
servios de suas
interfaces conforme
especificado em sua
documentao?
O avaliador deve
verificar o nmero de
servios implementados
no componente
comparado com o
nmero de servios
especificados.
X = 100*(A/B)

A: Nmero de
servios das
interfaces
implementadas

B: Nmero total de
servios das
interfaces descritas
na especificao
0<= X <=100%

Quanto mais
prximo de
100%, melhor










66




Tabela 5.2 Atributo e mtricas para a caracterstica Contedo do artefato Descrio
do Componente. (Adaptado de (Rgo, 1996))
Mtrica
Atributo Propsito da
Mtrica
(Questo)
Mtodo de
Aplicao
Frmula e/ou
elementos de
dados para
medio
Escala de
medio

O contedo da
descrio do
componente,
permite uma fcil
identificao das
funcionalidades?

O avaliador deve
verificar o contedo
da descrio do
componente.
- Sim;
- No;
0 e 100%

Sim = 100
No = 0
Organizao

O contedo da
descrio do
componente,
destaca
informaes
relevantes. Ex.:
atravs do uso de
negrito, itlico,
palavras em letra
maiscula,
numerao,
sombreamento de
texto?

O avaliador deve
verificar o contedo
da descrio do
componente.
- Sim;
- No;
0 e 100%

Sim = 100
No = 0








67



Tabela 5.3 Atributo e mtricas para a caracterstica Completitude / Identificao e
Indicao do artefato Documentao do Componente. (Adaptado da (ISO, 1994),
(Rgo, 1996))
Mtrica
Atributo Propsito da
Mtrica
(Questo)
Mtodo de
Aplicao
Frmula e/ou
elementos de
dados para
medio
Escala de
medio
As documentaes
do componente
esto identificadas
em sua pgina
inicial com o nome
do componente?
O avaliador deve
verificar o contedo
da documentao
do componente.
- Todos;
- Quase Todos;
- Alguns;
- Nenhum;
0 - 100%

Todos = 100
Quase Todos = 70
Alguns = 40
Nenhum = 0
Com a verso ou
data de criao do
componente?
O avaliador deve
verificar o contedo
da documentao
do componente.
- Todos;
- Quase Todos;
- Alguns;
- Nenhum;
0 - 100%

Todos = 100
Quase Todos = 70
Alguns = 40
Nenhum = 0
Identificao do
Componente
Com o tipo do
documento? (ex.
manual do usurio,
manual de
implantao, etc.)
O avaliador deve
verificar o contedo
da documentao
do componente.
- Todos;
- Quase Todos;
- Alguns;
- Nenhum;
0 - 100%

Todos = 100
Quase Todos = 70
Alguns = 40
Nenhum = 0








68


Tabela 5.4 Atributo e mtrica para a caracterstica Eficcia de qualidade em uso.
(Adaptado de (ISO, 2004))
Mtrica
Atributo Propsito da
Mtrica
(Questo)
Mtodo de
Aplicao
Frmula e/ou
elementos de
dados para
medio
Escala de
medio
Eficcia da tarefa
Os objetivos das
tarefas do sistema,
no qual o
componente
participa
diretamente, so
alcanados
corretamente?
Teste de usurio

Verificar se os
valores das sadas
da tarefa, na qual o
componente
participa
diretamente, so
completos e
precisos.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Concluso da
tarefa
As tarefas do
sistema, no qual o
componente
participa
diretamente, so
completadas
conforme
esperadas?
Teste de usurio

Verificar se as
tarefas do sistema
no qual o
componente tem
participao so
completadas
conforme
esperadas
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%


5.4) Consideraes Finais
Neste captulo, foi apresentado o modelo de qualidade para
componentes de software composto por caractersticas, subcaractersticas,
atributos e mtricas de qualidade especficas para componentes de software.
Essas propriedades foram organizadas em uma estrutura hierrquica segundo
a estrutura definida na norma ISO/IEC 9126-1, podendo o modelo ser utilizado
total ou parcialmente na avaliao da qualidade de componentes de software
reutilizveis.
Vale ressaltar que o modelo de qualidade define caractersticas de
qualidade no apenas para o artefato componente, mas tambm para a sua
documentao que essencial para sua reutilizao.
69
Uma vez definido as caractersticas, subcaractersticas, atributos e
mtricas de qualidade se faz necessrio verificar a aplicabilidade e utilidade do
modelo de qualidade atravs de seu uso por meio de avaliaes de
componentes de software. As avaliaes realizadas so relatadas no captulo 7
de estudos de casos.
No prximo captulo, apresentada a ferramenta desenvolvida para
apoiar, no apenas avaliaes de qualidade dos componentes, mas tambm
qualquer tipo de avaliao de produtos de software que sejam guiadas por
meio de uma estrutura de caractersticas e subcaractersticas de qualidade,
semelhante ao da norma ISO/IEC 9126-1. Essa ferramenta ser utilizada na
execuo das avaliaes dos estudos de casos.
71
Captulo 6

Ferramenta de Apoio a Avaliaes - BMA


6.1 Consideraes Iniciais
Neste captulo apresentada a ferramenta de apoio a avaliaes BMA
Biblioteca de Mdulos de Avaliaes cujo objetivo principal gerenciar
modelos de qualidades e auxiliar na execuo de avaliaes apoiadas por
esses modelos. A ferramenta foi desenvolvida para auxiliar no apenas nas
avaliaes de componentes, mas de produtos de software em geral, reduzindo
assim os esforos, custos e tempo envolvidos.
A ferramenta foi desenvolvida dentro da Diviso de Qualificao de
Software (DQS) do Centro de Pesquisa Renato Archer - CenPRA
(www.cenpra.gov.br), onde ser utilizada para gerenciar os modelos de
qualidade definidos pela DQS, e tambm, automatizar a execuo das
avaliaes realizadas pelos laboratrios credenciados.
Alm de seu prprio laboratrio de avaliao de produto de software
LAQS, a DQS conta atualmente com quatro laboratrios credenciados,
distribudos geograficamente pelo territrio nacional, os quais na maioria das
vezes, realizam a troca de informaes atravs de correios e mensagens
eletrnicas. A ferramenta ir minimizar isso, atravs de sua base de dados
central, disponibilizando as avaliaes via internet a todos os seus laboratrios
credenciados.
6.2 Viso Geral das Funcionalidades da ferramenta BMA
O controle e execuo manual das atividades de avaliao de um
produto de software nem sempre uma tarefa fcil, principalmente quando a
avaliao envolve vrios laboratrios de avaliaes credenciados em diferentes
localidades. Nesse contexto, a disponibilizao das informaes para
72
avaliao, o controle da execuo, a coleta e o processamento dos resultados
dessas avaliaes so onerosas e passveis de erros ou inconsistncias.
Para facilitar essas tarefas, e principalmente facilitar a avaliao da
aplicabilidade do modelo de qualidade de componentes, foi desenvolvida a
BMA Biblioteca de Mdulos de Avaliaes, uma ferramenta que auxilia na
automatizao de avaliaes de produtos de software em geral, no apenas de
componentes de software.
Na Figura 6.1 so apresentadas, atravs de um diagrama de contexto de
casos de uso (Larman, 2004), as principais funcionalidades disponveis na
Ferramenta BMA. As funcionalidades destacadas com um preenchimento de
fundo, so disponibilizadas via web. O restante das funcionalidades acessado
localmente (computador desktop).


Figura 6.1 Principais Funcionalidades da Ferramenta BMA.

73
Como pode ser observado na Figura 6.1, a ferramenta BMA possui um
controle de usurios para gerenciar o acesso as suas funcionalidades de
acordo com trs tipos de papis desses usurios:
Administrador do Sistema: possui um controle geral das
funcionalidades da Ferramenta, mas somente ele pode acessar algumas
funcionalidades como exemplo: controlar usurios, gerenciar
laboratrios credenciados, gerar estrutura do modelo de qualidade,
cadastrar mtodo de avaliao, etc.;
Coordenador de avaliaes: o coordenador de avaliaes capaz de
gerenciar avaliaes atravs de solicitaes de avaliaes, autorizao
de avaliadores para uma avaliao, execuo de avaliaes aprovadas,
emisso de relatrios das avaliaes, etc.;
Avaliador: o avaliador tem acesso somente execuo das avaliaes
disponibilizadas para ele pelo coordenador e tambm na emisso de
alguns relatrios de avaliaes disponveis na ferramenta.

Uma das principais caractersticas da ferramenta BMA a capacidade
de gerenciar diversos modelos de qualidades atravs das funcionalidades:
Cadastrar Modelos e Caractersticas de Qualidade e Gerar Estrutura do
Modelo, onde possvel inserir, alterar e remover as descries dos modelos e
de suas caractersticas de qualidade e tambm montar a estrutura desse
mesmo modelo de qualidade, agrupando suas caractersticas em nveis
hierrquicos de acordo com a estrutura definida pela ISO/IEC 9126-1. Nas
Figuras 6.2, 6.3 e 6.4, so apresentadas as interfaces grficas (GUIs) para o
cadastro de modelo, cadastro de caractersticas de qualidade e para a gerao
da estrutura hierrquica dos modelos de qualidades, respectivamente.

74

Figura 6.2 Interface GUI - Cadastrar Modelo.


Figura 6.3 Interface GUI - Cadastrar Caracterstica.


Figura 6.4 Interface GUI - Gerar Modelo.
75


Como pode ser observado na Figura 6.4, para montar a estrutura
hierrquica de um modelo, primeiramente, preciso selecionar o modelo
desejado, logo depois, deve-se escolher o nvel da hierarquia ao qual as
caractersticas vo ser adicionadas. Com o nvel definido, seleciona qual o item
pai, ou seja, caracterstica do nvel imediatamente acima que receber as
subcaractersticas selecionadas. Se o nvel for o primeiro, o item pai o prprio
modelo de qualidade. Por fim, selecionam-se as caractersticas (ou
subcaractersticas dependendo do nvel) e confirma-se a seleo gerando o
nvel da hierarquia definido.
Na Figura 6.5, apresentado o relatrio de modelos de qualidade,
disponibilizado pela ferramenta, mostrando o resultado da gerao da estrutura
de um modelo de qualidade.


Figura 6.5 Relatrio do Modelo de Qualidade gerado pela Ferramenta BMA.

Na ferramenta BMA, um modelo de qualidade pode estar associado a
um ou mais mtodos de avaliao, onde, um mtodo de avaliao formado
por um conjunto de questes e suas respectivas respostas (que so utilizadas
como escalas de medidas). Essas questes por sua vez, so associadas aos
atributos de qualidade do nvel mais baixo (folha) da estrutura do modelo de
76
qualidade. As principais funcionalidades da ferramenta que implementam essas
regras descritas so: Cadastrar Mtodos e Cadastrar Perguntas. As
interfaces grficas dessas funcionalidades so apresentadas nas Figuras 6.6 e
6.7, respectivamente.


Figura 6.6 Interface GUI - Cadastrar Mtodo.


Figura 6.7 Interface GUI - Cadastrar Perguntas.

77

Ao cadastrar um mtodo, um modelo deve ser associado a ele. Com
isso, no cadastro de perguntas (Figura 6.7), ao selecionar o mtodo referente,
os atributos de qualidade (folhas da estrutura do modelo) ficam disponveis
para que suas respectivas perguntas possam ser definidas. Nenhum mtodo
pode ser cadastrado sem um modelo. Da mesma forma, as perguntas no
podem ser definidas sem um mtodo e os seus atributos de qualidade.
Com o mtodo e, principalmente, o modelo cadastrado a ferramenta est
pronta para apoiar a execuo de avaliaes. Para a disponibilizao e
execuo das avaliaes, a ferramenta possui um controle de solicitaes de
avaliaes, realizado via web, onde informado o produto a ser avaliado e
seus dados e tambm os requisitos necessrios para a avaliao, por exemplo,
os requisitos de hardware e software. Na Figura 6.8, apresentada a pgina
web para solicitao de uma avaliao. Essa pgina s disponibilizada para
um coordenador de avaliao, conforme foi dito anteriormente.


Figura 6.8 Pgina de solicitao de uma avaliao.






78



Um controle de laboratrios credenciados e de seus avaliadores tambm
disponibilizado pela ferramenta, pois as avaliaes solicitadas s sero
disponibilizadas para avaliadores credenciados que forem alocados para a
mesma. Na Figura 6.9, so apresentadas as pginas de manuteno de
laboratrios e avaliadores.


Figura 6.9 Pginas de manuteno de Laboratrios e Avaliadores.


Com a solicitao e aprovao de uma avaliao, o coordenador
solicitante deve autorizar os avaliadores que iro realizar a avaliao. Na figura
6.10 apresentada a pgina web de autorizao dos avaliadores para uma
avaliao.











79





Figura 6.10 Pgina de autorizao de avaliadores para uma avaliao.


A execuo das avaliaes atravs da ferramenta BMA tambm
realizada via web. Cada avaliador, ao acessar a ferramenta via web atravs de
seu login e senha, visualiza todas as avaliaes a ele alocadas, e assim, o
avaliador pode iniciar uma nova avaliao ou dar continuidade a uma avaliao
j iniciada. A execuo de uma avaliao em andamento apresentada nas
Figuras 6.11 e 6.12.

80

Figura 6.11 Execuo de uma avaliao por meio da Ferramenta BMA.



Figura 6.12 Execuo de uma avaliao por meio da Ferramenta BMA
(continuao).

81
Com o trmino da execuo das avaliaes, os resultados ficam
armazenados numa base de dados central e podem ser consultados atravs de
relatrios disponibilizados pela prpria ferramenta ou exportados, por exemplo,
para ferramentas estatsticas ou planilhas eletrnicas para que anlises dos
resultados atravs de critrios de julgamento de aprovao possam ser
realizadas, uma vez que a ferramenta no trata ainda critrios para julgamento
de aprovao e nem relatrios estatsticos.

6.3 Consideraes Finais
Neste captulo foi apresentada a ferramenta BMA Biblioteca de
Mdulos de Avaliao, cuja finalidade gerenciar modelos e mtodos de
qualidades para diferentes tipos de produtos de software, e tambm, controlar
e automatizar execues de avaliaes por diferentes laboratrios
credenciados facilitando e melhorando o controle dessas avaliaes e dos
resultados obtidos.
importante destacar que, como apresentado neste captulo, a
ferramenta BMA auxilia na execuo das avaliaes disponibilizando os
mtodos de avaliao apoiados por modelos de qualidades (caractersticas,
subcaractersticas, atributos e mtricas de qualidade) cadastrados na
ferramenta.
No prximo captulo, so apresentados os estudos de casos, realizados
com a utilizao da ferramenta BMA, para a verificao da aplicabilidade e
utilidade do modelo de qualidade proposto neste trabalho.
83
Captulo 7

Verificao da Aplicabilidade e Utilidade do
Modelo de Qualidade e da Ferramenta BMA


7.1 Consideraes Iniciais

Com o objetivo de verificar a aplicabilidade e utilidade do modelo de
qualidade, ou seja, verificar a capacidade do modelo em apoiar avaliaes de
componentes conduzindo a resultados adequados e satisfatrios quanto
anlise da qualidade dos mesmos, so apresentados neste captulo quatro
estudos de casos. Nesses estudos foram avaliados cinco componentes de
software de diferentes funcionalidades sendo que, cada avaliao foi de
responsabilidade de avaliadores especficos. Alm do modelo de qualidade e
da ferramenta disponibilizada aos avaliadores, dois questionrios,
disponibilizados no anexo B, foram elaborados, um para o modelo de qualidade
e outro para a ferramenta, e entregue aos avaliadores para coletar suas
consideraes sobre os usos do modelo de qualidade e da ferramenta, dando
um retorno importante para alcanar o objetivo principal deste captulo, verificar
a aplicabilidade e utilidade do modelo de qualidade e da ferramenta e tambm
indicar melhorias na ferramenta.
Para a execuo dos estudos de casos, um processo de avaliao
simples foi definido com base na norma ISO/IEC 14598-1(ISO, 2001a), que
possui um processo de avaliao bem definido e aceito na comunidade de
software internacional.






84
7.2 Viso Geral do Processo de Avaliao apresentado na
Norma ISO/IEC 14598-1

A norma ISO/IEC 14598-1 uma norma internacional que fornece um
processo para implementao prtica de avaliaes de produtos de software. O
processo de avaliao proposto pela norma pode ser usado para avaliar
produtos j existentes ou produtos intermedirios, isto , em desenvolvimento.
Seu pblico alvo : avaliadores de laboratrio, fornecedores de software,
compradores de software, usurios e entidades certificadoras, cada qual com
seu objetivo.
O processo de avaliao proposto pela norma 14598-1 inclui quatro
etapas de avaliao: 1) Estabelecer os requisitos de avaliao; 2) Especificar a
Avaliao; 3) Projetar a Avaliao; e 4) Executar a Avaliao essas quatro
etapas definem dez atividades, como pode ser observado na Figura 7.1,
proposta em (ISO, 2001a).

Estabelecer os
requisitos de
avaliao
Especificar a
avaliao
Projetar a avaliao
Executar a
avaliao
Estabelecer o propsito da avaliao
Identificar os tipos de produtos a serem avaliados
Especificar modelo de qualidade Modelo proposto
Selecionar mtricas
Estabelecer nveis de pontuao para as mtricas
Mtricas do Modelo proposto
Estabelecer critrios para julgamento
Produzir o plano de avaliao
Obter as medidas
Comparar com critrios
Julgar os resultados

Figura 7.1 - Processo de Avaliao segundo ISO 14598-1. (Adaptado de (ISO, 2001a))

A seguir, dada uma breve descrio de cada etapa do processo e suas
respectivas atividades:

85
a) Estabelecer Requisitos de Avaliao
Nessa etapa, descreve-se o propsito da avaliao, identifica-se os tipos
de produtos a serem avaliados e especifica-se qual o modelo de qualidade a
ser utilizado na avaliao. Vrios pontos de vista podem ser considerados,
dependendo dos diferentes usurios do produto, tais como: comprador,
fornecedor, desenvolvedor e operador. As atividades dessa etapa so:
- Estabelecer o propsito da avaliao: definir qual o objetivo principal da
avaliao. O objetivo de uma avaliao pode ser para: i) decidir quanto
aceitao de um produto intermedirio ou final; ii) prever ou estimar a
qualidade de um produto final; iii) comparar o produto com produtos
competidores; etc.
- Identificar tipos de produtos a serem avaliados: identificar quais e que
tipos de produtos vo ser avaliados. O tipo de produto de software a ser
avaliado, quer seja um dos produtos intermedirio ou final, depender do
estgio no ciclo de vida e do propsito da avaliao.
- Especificar o Modelo de Qualidade: consiste em selecionar as
caractersticas de qualidade relevantes, utilizando um modelo de qualidade
que desdobre a qualidade de software em diferentes caractersticas.
b) Especificar a Avaliao
Nessa etapa, deve-se definir o escopo da avaliao e as medidas a
serem executadas no produto submetido avaliao. Essa etapa composta
pelas seguintes atividades:
- Selecionar mtricas: o objetivo dessa atividade estabelecer mtricas,
com base no modelo de qualidade escolhido, que se correlacionam s
caractersticas do produto avaliado.
- Estabelecer nveis de pontuao para as mtricas: as particularidades
quantificveis podem ser medidas quantitativamente usando-se mtricas de
qualidade. O resultado, isto , o valor medido, mapeado numa escala.
Esse valor, por si s, no mostra o nvel de satisfao. Para isso, a escala
precisa ser dividida em faixas correspondentes aos diversos graus de
satisfao dos requisitos.
86
- Estabelecer critrios para julgamento: o objetivo desta atividade definir
os critrios para julgar os resultados da avaliao do produto definindo se o
mesmo est de acordo com o que se esperava ou no.
c) Projetar a Avaliao
Nessa etapa, deve-se produzir o plano de avaliao que descreve os
mtodos de avaliao e o cronograma das aes do avaliador.
d) Execuo da Avaliao
Nessa etapa, deve-se obter resultados da execuo de aes, para
medir e verificar o produto de software de acordo com os requisitos de
avaliao, como descrito na especificao da avaliao e como planejado no
plano de avaliao. Ao executar essas aes, obtm um relatrio de avaliao
e os registros da avaliao. As atividades so:
- Obter as medidas: como resultado da aplicao das mtricas ao produto
de software, obtm-se os valores nas escalas das mtricas.
- Comparar com critrios: na etapa de pontuao, o valor medido
comparado com critrios predeterminados.
- Julgar os resultados: aqui o conjunto de nveis pontuados so resumidos.
O resultado uma declarao de quanto o produto de software atende aos
requisitos de qualidade.

7.3 Processo de Avaliao para Componentes de Software

Tomando como base as etapas do processo de avaliao da Norma ISO
14598-1, a seguir so apresentadas as etapas do processo de avaliao dos
componentes que guiaram os avaliadores na execuo dos estudos de caso:
a) Estabelecer os Requisitos da Avaliao
a-1) Propsito da Avaliao
Como o objetivo verificar a aplicabilidade do modelo, 2 diferentes
propsitos so definidos para as avaliaes realizadas neste captulo. O
primeiro avaliar o quanto os componentes esto em conformidade com os
requisitos de qualidade desejados, identificando-se pontos positivos e pontos a
87
serem melhorados. Outro propsito avaliar o nvel de qualidade entre vrios
componentes com a mesma funcionalidade em relao aos requisitos
desejados, auxiliando assim a seleo e adoo dos componentes mais
adequados.
a-2) Tipos de produtos(artefatos) a serem avaliados:
Nos dois casos, sero avaliados, alm do cdigo executvel dos
componentes, tambm os documentos de descrio dos componentes e as
documentaes dos componentes (documento de especificao, manual do
usurio, etc).
a-3) Definio do modelo de qualidade
O modelo de qualidade a ser adotado ser o modelo de qualidade de
componentes desenvolvido neste trabalho, discutido no captulo 5.

b) Especificao da Avaliao
b-1) Selecionar Mtricas: todas as mtricas especificadas no modelo de
qualidade desenvolvido fazem parte das avaliaes. Assim, para cada
mtrica do modelo proposto existem questes e tambm requisitos para
medio, ou seja, a forma como deve ser a resposta referente mtrica.
Com isso um questionrio de avaliao gerado com explicao de como
devem ser dadas as respostas, como mostrado no exemplo da Tabela
7.1.

Tabela 7.1 Questionrio de avaliao
Atributo Questo Tipo de Resposta
Disponibilidade da
Descrio do Componente
Existe um documento (ou pgina) de descrio
do componente disponibilizado no repositrio?
- Sim
- No

Para cada tipo de resposta do questionrio de avaliao h um valor
correspondente associado numa escala de medio entre 0 e 100%. Por
exemplo: Sim (100%) e No (0%); Excelente (100%), Satisfatrio (50%) e
Insatisfatrio (0%), etc.
88
b-2) Identificao de Nveis de pontuao: Para as avaliaes, os nveis
de pontuao esto definidos em uma escala divididos em 4 categorias, de
acordo com o exemplo apresentado na Norma ISO/IEC 14598-1:
Insatisfatrio que vai de 0% a 40%, Regular que vai de 41% a 60%, Bom
de 61% a 90% e Excelente de 91% a 100%. Esses valores foram
estipulados nessas escalas com o objetivo de tentar representar da forma
mais adequada suas categorias. Na Figura 7.2, apresentado um grfico
de faixas ilustrando os nveis de pontuao.

Figura 7.2 Nveis de pontuao para a avaliao.

b-3) Identificao de Critrios para admisso: Os critrios para admisso
sero definidos de acordo com o propsito da avaliao e de acordo com o
solicitante da avaliao. Por exemplo, os requisitos de um componente
esto em conformidade caso eles atinjam uma pontuao acima de 60%,
ou seja, entre bom e excelente. Outro exemplo, de acordo com o segundo
propsito de avaliao , o componente escolhido ser aquele que atingir
as maiores pontuaes nos requisitos de qualidade desejados.



89
c) Projeto da Avaliao
O Plano de Avaliao definido para as avaliaes dos componentes
deste captulo consiste das seguintes informaes:
- Dados do componente para avaliao: as informaes contidas neste
item so: o nome do componente, o seu tipo e a sua funcionalidade.
- Identificao do avaliador: o nome do avaliador e a sua familiaridade
quanto especialidade do componente avaliado.
- Identificao dos recursos de hardware: ex.: Processador, Memria,
RAM e Espao em Disco.
- Identificao dos recursos de software: ex.: Sistema Operacional, Infra-
estrutura de execuo.
- Instrumentos para a execuo da avaliao: os instrumentos so: Lista
de Verificao, Mtodo de Aplicao e a Ferramenta de Apoio Avaliao.
A execuo da avaliao se dar por meio de uma Lista de Verificao,
que composta pelo conjunto de mtricas do modelo de qualidade
desenvolvido, formando assim o questionrio que dever ser respondido de
acordo com o mtodo de aplicao, que formado por explicaes de
como deve ser respondido cada questo da lista de verificao. Tanto a
apresentao e coleta das respostas da lista de verificao quanto a
disponibilizao do mtodo de aplicao so automatizadas pela
ferramenta BMA que auxilia na execuo da avaliao.

d) Execuo da Avaliao
Como mencionado acima, a execuo da avaliao apoiada pela
ferramenta BMA, que disponibiliza de forma automatizada a lista de verificao
(questionrio com as perguntas e os possveis tipos de resposta) e o mtodo
de aplicao que auxilia o avaliador na obteno das respostas do
questionrio.
O julgamento dos resultados ser feito de acordo com os dois propsitos
estabelecidos para as avaliaes: 1) analisar quais os pontos positivos e
90
pontos a serem melhorados; e 2) identificar o melhor nvel de qualidade entre
os componentes, de mesma funcionalidade, avaliados.

7.4 Estudos de Caso
Quatro avaliaes foram realizadas seguindo o processo definido. A
primeira avaliao foi uma avaliao piloto, realizada pelo prprio autor para
identificar possveis falhas e assim realizar os ajustes necessrios no modelo
de qualidade e na ferramenta, para que nada prejudicasse as avaliaes
externas. As duas avaliaes seguintes foram realizadas com o propsito de
verificar a conformidade dos componentes com relao aos requisitos de
qualidade desejados. A quarta e ltima avaliao foi realizada com o propsito
de verificar e comparar a qualidade de dois componentes com a mesma
funcionalidade. Com exceo da primeira avaliao, as trs ltimas avaliaes
foram realizadas por avaliadores externos.
Como j mencionado nas consideraes iniciais deste captulo, para
coletar as consideraes dos avaliadores referentes utilizao do modelo de
qualidade e da ferramenta de apoio avaliao, dois questionrios foram
elaborados para serem respondidos pelos avaliadores participantes das
avaliaes, um para o modelo e outro para a ferramenta. Os questionrios
foram disponibilizados aos avaliadores juntamente com o modelo de qualidade
e a ferramenta de avaliao. Ao trmino das avaliaes os questionrios foram
respondidos coletando as consideraes dos avaliadores que utilizaram tanto a
ferramenta, quanto o modelo de qualidade. Os questionrios podem ser
encontrados no anexo B.
Os resultados das avaliaes e as consideraes dos avaliadores sobre
a utilizao do modelo de qualidade desenvolvido e tambm sobre a
ferramenta so apresentados a seguir.

7.4.1 Estudo de Caso 1 Componente JBarcodeBean

O primeiro estudo de caso foi realizado com o carter de uma avaliao
piloto, com o objetivo de verificar possveis pontos crticos que possam
91
prejudicar a execuo dos outros estudos de caso tanto por parte da
ferramenta quanto por parte do modelo de qualidade desenvolvido.


Componente utilizado na avaliao piloto: JBarcodeBean
Descrio: Componente para gerao e visualizao de diferentes tipos de
cdigo de barras.
Pgina: http://jbarcodebean.sourceforge.net/
Categoria: Desenvolvimento, Negcios(business).
Licena: GNU (LGPL).

Experincia do avaliador: Desenvolvimento e pesquisa.
Grau de familiaridade com a aplicao do componente: bom conhecimento.


Resultado da Avaliao:
O resultado da avaliao do componente JBarcodeBean apresentado
na Figura 7.3. A medio obtida dos artefatos do componente e de suas
caractersticas de qualidade resumida nesse relatrio, onde possvel
observar quais caractersticas, dos trs artefatos do componente avaliado,
possuem um nvel maior de conformidade (pontos positivos) e quais
caractersticas possuem pontos a serem melhoradas de acordo com requisitos
desejados. De acordo com o resultado final da avaliao, a caracterstica
declarao do artefato descrio do componente possui pontos a serem
melhorados com base em seu nvel de pontuao que foi insatisfatrio.
Outras caractersticas que precisam ser melhoradas so: identificao e
indicao, do artefato descrio, e, confiabilidade do artefato componente.
Pontos que se destacam positivos, de acordo com o resultado, so as
92
caractersticas existncia, dos artefatos descrio e documentao, e eficincia
do artefato componente.

Resumo do Resultado Final da Avaliao
Produto: Componente JBarcodeBean
Artefatos Caractersticas Medio Nveis de Pontuao
Descrio 60,75 Regular
Existncia 100,00 Excelente
Contedo 75,00 Bom
Identificao e Indicao 50,00 Regular
Declarao 18,00 Insatisfatrio

Documentao 76,42 Bom
Existncia 100,00 Excelente
Completitude 62,58 Bom
Usabilidade 66,67 Bom

Componente 72,70 Bom
Funcionalidade 59,00 Regular
Confiabilidade 57,22 Regular
Usabilidade 61,25 Bom
Eficincia 100,00 Excelente
Portabilidade 86,00 Bom
Figura 7.3 Resultado final da avaliao do componente JBarcodeBean.

Consideraes do avaliador:
Como eram previstos, principalmente por ser uma primeira verso, tanto
do modelo quanto da ferramenta, alguns pontos falhos foram detectados e
melhorados.
No modelo de qualidade, muitas das questes das mtricas e os textos
dos mtodos de aplicao tiveram que ser reformulados, pois visualizou-se que
no estavam muito claros podendo dificultar o entendimento quanto a
finalidade da questo e tambm de como proceder para avaliar o componente
e assim obter a resposta adequada.
Alguns conjuntos de respostas (elementos de dados para medio) no
estavam adequados sua respectiva questo (propsito da mtrica) e tiveram
que ser alinhados de acordo com sua questo para facilitar o entendimento e
aplicao da avaliao.
93
No uso da ferramenta BMA foram detectados alguns pontos a serem
melhorados quanto usabilidade, mas que no influenciava na execuo da
avaliao, com exceo de uma falha. Durante a execuo da avaliao, a
ferramenta apresentou problemas na visualizao do mtodo de aplicao da
mtrica, dificultando assim o entendimento da questo da lista de verificao e
de como respond-la.
Concluindo, este estudo de caso piloto, se mostrou fundamental para um
primeiro alinhamento do modelo de qualidade e da ferramenta BMA, pois os
pontos detectados foram corrigidos antes da execuo dos demais estudos de
caso.

7.4.2 Estudo de Caso 2: Componente TurboPower Async Professional

Componente utilizado na avaliao: TurboPower Async Pro
Descrio: Componente para comunicao direta em portas seriais
Pgina: http://sourceforge.net/projects/tpapro/
Categoria: Infra-estrutura.
Licena: GNU (MPL 1.1).

Experincia do avaliador: Desenvolvimento e Pesquisa na rea de qualidade,
Avaliador credenciado MEDEPROS (CenPRA).
Grau de familiaridade com a aplicao do componente: bom conhecimento.
Resultado da Avaliao:
Na Figura 7.4, apresentado o resultado final da avaliao do
componente Turbo Power. De acordo com os nveis de pontuao obtidos na
avaliao, a caracterstica confiabilidade do artefato componente obteve o nvel
mais baixo, indicando que precisa ser melhorada para ficar em conformidade
com os requisitos desejados. Assim como a caracterstica funcionalidade,
tambm do artefato componente, no obteve uma pontuao muito boa e
precisa ser melhorada. J as caractersticas dos artefatos descrio e
94
documentao, se destacaram como pontos positivos do componente, obtendo
uma boa pontuao.

Resumo do Resultado Final da Avaliao
Produto: Componente TurboPower
Artefatos Caractersticas Medio Nveis de Pontuao
Descrio 82,11 Bom
Existncia 100,00 Excelente
Contedo 95,00 Excelente
Identificao e Indicao 71,43 Bom
Declarao 62,00 Bom

Documentao 90,27 Bom
Existncia 100,00 Excelente
Completitude 70,83 Bom
Usabilidade 100,00 Excelente

Componente 59,88 Regular
Funcionalidade 57,00 Regular
Confiabilidade 20,56 Insatisfatrio
Usabilidade 78,33 Bom
Eficincia 72,50 Bom
Portabilidade 71,00 Bom
Figura 7.4 Resultado final da avaliao do componente TurboPower.


Consideraes do avaliador:
As consideraes do avaliador foram bem positivas tanto do ponto de
vista da aplicabilidade do modelo de qualidade quanto de sua utilidade com
relao aos resultados obtidos atravs de sua execuo. Para o avaliador, por
meio dos atributos de qualidade do modelo, apresentados atravs do
questionrio de avaliao, foi possvel rastrear vrios aspectos (alguns
positivos, outros negativos) sobre o componente avaliado.
De acordo com o avaliador, por ser uma primeira verso do modelo, em
poucos casos houve certa dificuldade no entendimento de algumas questes,
e, de como coletar os dados para respond-la, mas isso, no prejudicou a
avaliao do componente.
95
O avaliador conclui que, o modelo de qualidade mostrou-se aplicvel, e
bem pertinente na verificao da qualidade de componentes de software.
Sobre a ferramenta, o avaliador cita alguns pontos falhos relacionados
sua usabilidade, por exemplo, houve uma certa dificuldade em navegar de uma
questo para a outra, quando as mesmas no so adjacentes. A dificuldade
ainda maior, quando o avaliador quer navegar entre questes que no
pertencem ao mesmo artefato. Apesar disso, cita o avaliador, a ferramenta
mostrou-se eficiente e eficaz durante a execuo da avaliao.

7.4.3 Estudo de Caso 3: Componente FolderMgr

Componente utilizado na avaliao: FolderMgr Componente de
gerenciamento de pastas
Descrio: Componente de gerenciamento de pastas tem como funcionalidade
criar, renomear, excluir pastas e gerenciar a lixeira (lixeira um tipo especial de
pasta).
Categoria: Negcio
Licena: GPL GNU

Experincia do avaliador: Gerente de projeto baseado em componentes.
Grau de familiaridade com a aplicao do componente: especialista no
assunto.

Resultado da Avaliao:
De acordo com os nveis de pontuao obtidos na avaliao, o
Componente FolderMgr apresentou-se de uma forma geral com uma baixa
pontuao em seus trs artefatos. Na Figura 7.5, so apresentados os
resultados das caractersticas de qualidade dos trs artefatos do componente
FolderMgr.

96
Resumo do Resultado Final da Avaliao
Produto: Componente FolderMgr
Artefatos Caractersticas Medio Nveis de Pontuao
Descrio 38,99 Insatisfatrio
Existncia 100,00 Excelente
Contedo 25,00 Insatisfatrio
Identificao e Indicao 14,29 Insatisfatrio
Declarao 16,67 Insatisfatrio

Documentao 66,20 Bom
Existncia 100,00 Excelente
Completitude 31,94 Insatisfatrio
Usabilidade 66,67 Bom

Componente 58,22 Regular
Funcionalidade 50,00 Regular
Confiabilidade 50,00 Regular
Usabilidade 27,78 Insatisfatrio
Eficincia 100,00 Excelente
Portabilidade 63,33 Bom
Figura 7.5 Resultado final da avaliao do componente FolderMgr.

possvel observar por meio do resultado da avaliao realizada que, o
artefato descrio do componente ficou com em um nvel insatisfatrio
indicando que existem pontos, analisados por suas caractersticas, que
precisam ser melhorados para alcanar um nvel de qualidade adequado. O
artefato documentao obteve a melhor pontuao dos trs artefatos, mas a
completitude de seu contedo precisa ser melhorada, assim como a
usabilidade do artefato componente precisa ser melhorada.

Consideraes do avaliador:
De acordo com o avaliador a forma como o questionrio foi estruturado e
a presena do mtodo de aplicao das mtricas contendo as informaes
para auxiliar nas respostas das questes, tornou fcil a sua aplicao. Outro
ponto que contribuiu foi a utilizao da ferramenta que se mostrou til na
execuo da avaliao. O avaliador ainda sugere a utilizao de ferramentas
de testes para agilizar na obteno de algumas respostas em casos onde
necessrio testar o componente para obter esses resultados.
97
O avaliador em suas consideraes destaca tambm a utilidade do
modelo, pois atravs da avaliao, foi possvel identificar alguns pontos que
prejudicam na qualidade dos componentes e que devem ser levados em
considerao durante o desenvolvimento dos mesmos.

7.4.4 Estudo de Caso 4: Comparao entre 2 componentes de criptografia

O objetivo deste estudo de caso avaliar 2 componentes que possuem
as mesmas finalidades e assim, identificar qual o componente oferece um
melhor nvel de qualidade entre os requisitos avaliados.

Componentes utilizados nas avaliaes: JSecurity e vH Crypto
Descrio: Componentes responsveis por criptografar e descriptografar
dados.
Categorias: Infra-estrutura
Licenas: GNU (GPL)

Experincia do avaliador: Desenvolvimento e Pesquisa na rea de qualidade,
Avaliador credenciado MEDEPROS (CenPRA).
Grau de familiaridade com a aplicao do componente: bom conhecimento.

Resultado da Avaliao:
De acordo com o modelo, os resultados obtidos nas avaliaes dos
componentes, demonstraram que o componente vH Crypto apresenta um nvel
maior de qualidade em comparao com o componente JSecurity. Na Figura
7.6, so apresentados os grficos de comparao entre os dois componentes.
No primeiro grfico Mdia de Pontuao Total apresentada a pontuao
mdia obtido pelos dois componentes. No segundo grfico Comparao por
Caractersticas so comparadas as principais caractersticas de qualidade
avaliadas.
98
De acordo com o grfico Comparao por Caractersticas apresentado na
Figura 7.6, possvel verificar que as caractersticas de qualidade: Descrio,
Documentao, Funcionalidade e Confiabilidade do componente vH Crypto
obtiveram um melhor desempenho se comparadas s mesmas caractersticas
do componente JSecurity, assim, o componente vH Crypto possui um nvel
melhor de qualidade em relao ao seu concorrente JSecurity.


Figura 7.6 Resultado final da avaliao dos componentes JSecurity e vH Crypto.



59,24
72,62
0,00
10,00
20,00
30,00
40,00
50,00
60,00
70,00
80,00
90,00
100,00
Mdia de Pontuao Total
JSecurity
vH Crypto
0,00
10,00
20,00
30,00
40,00
50,00
60,00
70,00
80,00
90,00
100,00
Descrio Documentao Funcionalidade Confiabilidade Usabilidade Eficincia Portabilidade
Comparao por Caractersticas
Jsecurity
vH Crypto
99
Consideraes do avaliador:
De acordo com o avaliador, o modelo de qualidade e a ferramenta BMA
cumpriram com seus papis durante o estudo de caso, dando dados suficientes
para que seja possvel selecionar o componente que melhor atende os
requisitos pr-estabelecidos em um processo de seleo. Apesar de sua
considerao, o avaliador deu algumas sugestes para melhoria da ferramenta
e dos relatrios disponibilizados por ela.

7.5. Concluso sobre as consideraes dos avaliadores

De acordo com as respostas obtidas entre todos os questionrios
respondidos pelos avaliadores participantes dos estudos de casos, o modelo
de qualidade obteve uma pontuao de 71,43% de respostas positivas contra
28,57% de respostas que apontavam alguma restrio do modelo de qualidade
com relao ao objetivo que ele estava sendo analisado. J a ferramenta de
apoio obteve uma pontuao mais equiparada, com 55,49% de respostas
positivas contra 44,51% de respostas que apontavam algum tipo de restrio.
Assim, analisando as respostas e as consideraes obtidas pelos
questionrios respondidos durante os estudos de casos, conclui-se que o
modelo de qualidade e a ferramenta de apoio tiveram a aprovao dos
avaliadores, no apenas quanto a sua aplicabilidade, mas tambm quanto a
sua adequao e utilidade na avaliao da qualidade dos componentes de
software.

7.6. Consideraes Finais

Neste captulo foram realizados alguns estudos de caso com o objetivo
de verificar a capacidade do modelo e da ferramenta BMA em apoiar
avaliaes de componentes de software, averiguando se os resultados quanto
qualidade dos mesmos, so adequadas e satisfatrias.
100
Foram realizadas quatro avaliaes nos estudos de caso, onde a
primeira avaliao foi realizada pelo prprio autor como uma avaliao piloto e
as trs avaliaes restantes foram feitas por avaliadores externos.
Para coletar as consideraes desses avaliadores externos quanto
aplicabilidade e utilidade tanto do modelo de qualidade quanto da ferramenta,
dois questionrios foram elaborados e respondidos pelos mesmos.
Como resultado final dessas consideraes, foi possvel constatar que o
modelo de qualidade e a ferramenta mostraram-se satisfatrios quanto a sua
aplicabilidade e utilidade para apoiar avaliaes de qualidade de componentes
de software reutilizveis, apesar de apresentarem alguns pontos que
necessitam ser melhorados.
Para finalizar esta dissertao, so apresentadas no captulo a seguir as
concluses deste trabalho desenvolvido e tambm alguns trabalhos futuros.
101
Captulo 8

Concluses e Trabalhos Futuros




H alguns anos, muitas empresas desenvolvedoras de software vm
investindo em solues tecnolgicas que aumentem seus ndices de qualidade
e produtividade com reduo de custos. Nesse sentido, o Desenvolvimento
Baseado em Componentes (DBC), atravs da reutilizao de componentes,
tem sido almejado por diversas organizaes como uma maneira eficaz de
alcanar esses objetivos.
Entretanto, apesar de avanos no uso de processos de DBC,
componentes de software e arquiteturas de software, ainda existem muitos
riscos funcionais e de qualidade envolvidos em sua utilizao (Stallinger et al.,
2002), (Bertoa, 2002), (Kallio, 2002). Na tentativa de alcanar os principais
benefcios prometidos pelo DBC, na construo de aplicaes, observou-se
que h uma grande necessidade por componentes de software de qualidade
(Preiss et al., 2001), (Preiss, 2002), (Gill, 2006), (Mki-Asiala, 2006).
Para contribuir com o sucesso do DBC, atravs da avaliao da
qualidade dos componentes de software reutilizveis, foram desenvolvidos
neste trabalho de mestrado, um modelo de qualidade para componentes de
software e tambm uma ferramenta de apoio a avaliao (BMA), no apenas
de componentes mas de produtos de software em geral.
O modelo de qualidade definido tem como essncia servir de base para
avaliaes de componentes de software, pois, permite que a qualidade dos
componentes de software seja especificada e avaliada por meio de suas
caractersticas, subcaractersticas, atributos e mtricas. O objetivo da
ferramenta BMA gerenciar diversos modelos e mtodos de qualidades para
que ela possa apoiar avaliaes de diferentes tipos de produtos de software e
no apenas componentes de software.
102

Para validar a aplicabilidade do modelo e a usabilidade da ferramenta,
foram realizados quatro estudos de casos, onde cinco componentes foram
avaliados por avaliadores externos a este trabalho com dois propsitos de
avaliaes diferentes. A primeira avaliao foi uma avaliao piloto, com o
objetivo de detectar possveis falhas que prejudicassem as avaliaes
externas. As outras duas avaliaes tiveram a finalidade de avaliar a qualidade
do componente em relao aos requisitos estabelecidos, identificando pontos
positivos e pontos a serem melhorados. Na ltima avaliao, dois componentes
com a mesma finalidade foram avaliados, sobre os mesmos critrios para
relatar o nvel de qualidade dos dois componentes, auxiliando assim a
seleo/aquisio dos componentes mais adequados.
Um questionrio sobre o modelo e sobre a ferramenta foi
disponibilizado para coletar as consideraes dos avaliadores quanto ao
modelo e ferramenta.
De acordo com as consideraes dos avaliadores, o modelo e a
ferramenta apresentaram-se satisfatrios de acordo com suas finalidades nas
avaliaes realizadas, pois o modelo conseguiu abranger as principais metas
de qualidade para componentes de software atravs de sua estrutura de
caractersticas, subcaractersticas, atributos e mtricas de qualidade. J a
ferramenta, mostrou-se til na execuo das avaliaes com a automatizao
da apresentao da Lista de Verificao e da coleta das respostas diminuindo
o tempo de avaliao, e facilitando o controle e tratamento das respostas
obtidas.
importante ressaltar que, no houve nenhuma crtica ao modelo em si,
apenas algumas sugestes para a melhoria do mesmo. A ferramenta por sua
vez, recebeu algumas crticas quanto a sua usabilidade mas nada que
prejudicasse a execuo das avaliaes.



103
8.1 Lies Aprendidas
Percebeu-se durante o desenvolvimento deste trabalho a falta de um
consenso sobre o que um componente de software, exigindo que uma
definio clara e especfica fosse adotada do que vem a ser um componente
de software, para que os atributos do modelo de qualidade de componentes
fossem determinados.
Durante a execuo dos estudos de caso percebeu-se que a avaliao
de um componente exige um grau de conhecimento (tcnico) maior de seus
avaliadores do que das avaliaes de produtos de software. Isso devido
destinao de ambos: o componente destinado a desenvolvedores,
integradores de sistemas, e j o software destinado aos usurios finais que
apenas utilizam suas funcionalidades.
Durante a execuo dos estudos de caso, percebeu-se tambm que a
utilizao do modelo pode ser til para as seguintes finalidades, como:
guia de auxilio na estruturao de um documento de descrio de um
componente de software reutilizvel;
auxlio na validao da completitude de uma definio de requisitos de
componentes;
identificao de requisitos no-funcionais para componentes de software
reutilizveis;
identificao de objetivos para testes de caixa preta de componentes;
identificao de critrios para garantia da qualidade do componente em
desenvolvimento, provendo a confiana adequada de que a qualidade do
componente est satisfazendo suas metas; e
auxiliar os processos de busca e seleo atravs da identificao de
critrios de aceitao dos componentes.



104
8.2 Contribuies
As contribuies deste trabalho podem ser resumidas nos seguintes
itens:
A identificao de um conjunto de caractersticas e subcaractersticas de
qualidade para componentes de software e para suas documentaes;
A definio de atributos e mtricas de qualidade externa e de qualidade em
uso especficos para componentes de software;
Relacionamento dessas caractersticas, subcaractersticas, atributos e
mtricas de qualidade formando assim um modelo de qualidade especfico
para componentes de software;
A criao de uma ferramenta de gerncia de diversos modelos de qualidade
e de apoio a avaliaes que so baseadas nesses modelos.
A instanciao de um processo simples de avaliao para componentes
com base no processo de avaliao definido pela norma ISO/IEC 14598-1.

importante destacar que os resultados da pesquisa deste trabalho de
mestrado foram apresentados em dois Workshops: no primeiro (Peres, 2006)
foi apresentada apenas uma proposta de um modelo de qualidade para
componentes de software, com algumas caractersticas e subcaractersticas de
qualidade. Esse trabalho foi publicado no IV Workshop de Teses e
Dissertaes em Qualidade de Software do V Simpsio Brasileiro de Qualidade
de Software, ocorrido em Maio de 2006 Vila Velha-ES. No segundo (Colombo
et al., 2006), foi apresentado uma discusso sobre a qualidade e confiabilidade
de componentes de software e tambm foi apresentado o modelo de qualidade
com suas caractersticas, subcaractersticas e atributos. Esse trabalho foi
publicado no I Workshop de Componentes para o domnio e-gov, ocorrido em
Agosto de 2006 - Porto Alegre-RS.



105
8.3 Trabalhos futuros
Como neste trabalho desenvolveu-se um modelo de qualidade
especfico para componentes de software e uma ferramenta de apoio a
avaliaes e, sabendo-se da importncia de uma validao e evoluo dos
mesmos, sugere-se outros estudos para a melhoria contnua tanto do modelo
de qualidade quanto da ferramenta.
Sugere-se tambm que sejam feitos estudos e comparaes do modelo
de qualidade desenvolvido, com outros trabalhos relacionados, relatando os
pontos fracos e pontos fortes entre os modelos estudados, como por exemplo:
Bertoa (Bertoa, 2002), Alvaro (Alvaro, 2006).
Sabendo-se que a qualidade externa influenciada pela qualidade
interna, sugere-se a ampliao do modelo de qualidade definindo atributos e
mtricas de qualidade interna para avaliar internamente o componente.
Com o foco na certificao de componentes, definir um processo de
avaliao e certificao que utilize o modelo de qualidade como base.
Adaptao e evoluo da ferramenta BMA para que ela possa se
adequar ao processo de avaliao e certificao de componentes e produtos
de software (baseado em normas internacionais, como exemplo ISO/IEC
14598-1), e tambm a melhoria na variedade de relatrios gerenciais e
estatsticos para a tomada de decises.
107
Referncias Bibliogrficas



(Almeida et al.,
2005)
Almeida, E. S., Alvaro, A., Lucredio, D., Garcia, V, C., Meira,
S. R. L., 2005. A Survey on Software Reuse Processes. In the
IEEE International Conference on Information Reuse and
Integration (IRI), Las Vegas, Nevada, USA.
(Alvaro et al.,
2005)
Alvaro, A., Almeida, E. S., Meira, S. R. L., 2005. Quality
Attributes for a Component Quality Model, 10
th
International
Workshop on Component-Oriented Programming(WCOP) em
conjunto com a 19
th
European Conference on Object Oriented
Programming (ECOOP), Glasgow, Esccia.
(Alvaro, 2006) Alvaro, A., Meira, S. R. L., 2006. Software Component
Certification: A Component Quality Model, In the VI CTD-
SBQS (Dissertation and Thesis Award - Brazilian Symposium
on Software Quality), Vila Velha, Esprito Santo, Brazil, 2006.
(Alvaro et al.,
2006)
Alvaro, A., Almeida, E.S., Meira, S. L., 2006. Component
Quality Model: A Formal Case Study, In 5th ACM-IEEE
International Symposium on Empirical Software Engineering
(ISESE), Poster Session, Rio de Janeiro, Brazil.
(Bachman et al.,
2000)
Bachman, F., Bass, L., Buhman, C., Comella-Dorda, S., Long,
F., Robert, J., Seacord, R., Wallnau, K., 2000. Volume II:
Technical Concepts of Component-Based Software
Engineering Institute, Carnegie Mellon University, Pittsburgh,
PA.


108

(Bass et al., 2000) Bass L., Buhman C., Dorda, S., Long, F., Robert, J., Seacord,
R., Wallnau, K., 2000. Volume I: Market Assessment of
Component-Based Software Engineering, Software
Engineering Institute (SEI), Technical Report, Vol. 1, Maio.
(Bertoa, 2002) Bertoa, M., Vallecillo, A., 2002. Quality Attributes for COTS
Components. In the Proceedings of the 6
th
International
ECOOP Workshop on Quantitative Approaches in Object-
Oriented Software Engineering (QAOOSE), Spain.
(Boehm et al.,
1978)
Boehm, B. W., Brown, J. R., Kaspar, H., Lipow, M., Machleod,
G. J., Merrritt, M.J., 1978. Characteristics of Software Quality.
(Brito et al., 2006) Brito, K.S., Alvaro, A., Lucrdio, D., Almeida, E.S., Meira, S.
L., 2006. Software Reuse: A Brief Overview of the Brazilian
Industrys Case, In 5th ACM-IEEE International Symposium
on Empirical Software Engineering (ISESE), Short Paper, Rio
de Janeiro, Brazil.
(Brown, 1998) Brown, A., Wallnau, K., 1998. The Current State of CBSE,
IEEE Software, Outubro.
(Cheesman, 2000) Cheesman, J.; Daniels, J., 2000. UML components: A simple
process for specifying component-based software. Addison-
Wesley.
(Colombo et al.,
2006)
Colombo, R. M. T., Peres, D. R., Aguayo, M. T. V., Eleutrio,
S. V., Guerra, A. C., 2006. Qualidade e Confiabilidade de
Componentes de Software. I Workshop de Componentes
para o domnio e-gov. Porto Alegre-RS, Brasil, Agosto.


109

(Councill, 2001) Councill, B., Heineman, G. T., 2001. Definition of a Software
Component and its Elements, In Component-Based Software
Engineering: Putting the Pieces Together, Addison-Wesley.
(DSouza, 1999) DSouza, D. F., Wills, A. C., 1999. Objects, Components, and
Frameworks with UML, The Catalysis Approach. Addison-
Wesley. USA. ISBN: 0-201-31012-0.
(Fuggetta, 2000) Fuggetta, A., 2000. Software process: a roadmap. In Anthony
Finkelstein, ed. The future of Software Engineering. ACM
Press.
(Gill, 2006) Gill, N. S., 2006. Importance of software component
characterization for better software reusability. SIGSOFT
Softw. Eng. ACM Press, New York, NY, USA. Notes 31, 1, pg.
1-3. DOI= http://doi.acm.org/10.1145/1108768.1108771.
(Goulao, 2002) Goulao, M., Abreu, F. B., 2002. The Quest for Software
Components Quality. IEEE Proceedings, 26
th
Annual
International Computer Software and Applications Conference
(COMPSAC), Agosto, pp. 313-318.
(Heineman, 2001) Heineman, G. T., Council, W. T., 2001. Component-Based
Software Engineering: Putting the Pieces Together, Addison-
Wesley.
(Holanda et al.,
2001)
Holanda, C. B. S., de Souza, C. A. A., Melo, W. L., 2001. Pro-
Reuso: Um repositrio de Componentes para Web Dirigido
por um Processo de Reuso. Anais do XV Simpsio Brasileiro
de Engenharia de Software, Rio de Janeiro-RJ, Brasil,
Outubro, pp. 208-223.


110

(Hopkins, 2000) Hopkins, J., 2000. Component Primer. Comunications of the
ACM, Volume 43 (10): 27-30, October.
(IEEE, 2001) IEEE 1063, 2001. Standard for Software User Documentation.
Published by the Institute of Electrical and Electronics
Engineers, Inc. ISBN 0-7381-3099-0, December.
(ISO, 1994) ISO/IEC 12119, 1994. Information Technology - Software
packages Quality requirements and testing. Geneve, 16 p.,
Outubro.
(ISO, 1994a) ISO/IEC 8402, 1994. Quality management and quality
assurance vocabulary. Norma ISO/IEC, Geneve.
(ISO, 2001) ISO/IEC 9126-1, 2001. Software Engineering Product
quality Part 1: Quality model. Ed. 1.
(ISO, 2001a) NBR ISO/IEC 14598-1, 2001. Tecnologia da Informao
Avaliao de Produto de software Parte 1: Viso Geral.
ABNT, 16 p., Maro.
(ISO, 2003) ISO/IEC TR 9126-2, 2003. Software engineering Product
quality Part 2: External metrics. Ed. 1.
(ISO, 2003a) ISO/IEC TR 9126-3, 2003. Software engineering Product
quality Part 3: Internal metrics. Ed. 1
(ISO, 2004) ISO/IEC TR 9126-4, 2004. Software engineering Product
quality Part 4: Quality in use metrics. Ed. 1.
(Kallio, 2001) Kallio, P., Niemel, E., 2001. Documented Quality of COTS
and COM Components. Proceedings of the 4
th
ICSE
Workshop on Component-Based Software Engineering,
Toronto, Canada, May.
111

(Kallio, 2002) Kallio, P., Ihme, T., 2002. Evolution of the Use Risks of
Commercial Software Components. Proceedings of the 28
th

Euromicro Conference, Dortmund, Germany, September, pp.
55-61.
(Larman, 2004) Larman, C., 2004. Utilizando UML e padres: uma introduo
anlise e ao projeto orientado a objetos e ao Processo
Unificado. 2.ed., Porto Alegre, Bookman, ISBN 85-363-0358-
1
(Lau, 2006) Lau, K., 2006. Software component models. In Proceeding of
the 28th International Conference on Software Engineering.
ICSE '06. ACM Press, New York, NY, 1081-1082.
DOI=http://doi.acm.org/10.1145/1134285.1134516
(Lee, 2005) Lee, K., Lee, S. J., 2005. A Quantitative Software Quality
Evaluation Model for the Artifacts of Component Based
Development. Sixth International Conference on Software
Engineering, Artificial Intelligence, Networking and
Parallel/Distributed Computing and First ACIS International
Workshop on Self-Assembling Wireless Networks
(SNPD/SAWN'05), pp. 20-25.
(Li et al., 2006) Li, J., Conradi, R., Slyngstad, O. N., Bunse, C., Torchiano, M.,
Morisio, M., 2006. An empirical study on decision making in
off-the-shelf component-based development. In Proceeding of
the 28th International Conference on Software Engineering.
ICSE '06. ACM Press, New York, NY, 897-900.
DOI=http://doi.acm.org/10.1145/1134285.1134446


112

(Mki-Asiala, 2006) Mki-Asiala, P., Matinlassi, M., 2006. Quality Assurance of
Open Source Components: Integrator Point of View. 30th
Annual International Computer Software and Applications
Conference (COMPSAC'06), pp.189-194.
(McCall, 1977) McCall, J. A., Richards, P. G., Walters, G. F., 1977. Factors in
Software Quality, Vols. I, II, and III (NTIS AD/A-049/015/055),
NTIS, Springfield, VA.
(Morris et al., 2001) Morris, J., Lee, G., Parker, K., Bundell, G. A., Lam, C. P.,
2001. Software Component Certification. IEEE Computer, Vol.
34, No. 9, Setembro, pp. 30-36.
(Ommering, 2002) Ommering, R. V., 2002. Building Product Populations with
Software Components, In 24th International Conference on
Software Engineering (ICSE). Orlando, Florida.
(Peres, 2006) Peres, D. R., Sanches, R., 2006. Um modelo de Qualidade
para Componentes de Software. IV Workshop de Teses e
Dissertaes em Qualidade de Software (WTDQS) em
conjunto com V Simpsio Brasileiro de Qualidade de
Software (SBQS), Vila Velha-ES, Brasil, Maio.
(Preiss et al., 2001) Preiss, O., Wegmann, A., Wong, J., 2001. On Quality
Attribute Based Software Engineering. Proceedings of the 27
th

Euromicro Conference, Warsaw, Poland, September, pp. 114-
120.
(Preiss, 2002) Preiss, O., Wegmann, A., 2002. A System Perspective on the
Quality Description of Software Components. Proceedings of
the 6
th
World Multiconference on Systemics, Cybernetics and
Informatics, Orlando, July, Vol. VII, pp. 250-255.

113

(Pressman, 2002) Pressman, R. S., 2002. Engenharia de Software. 5.ed. Rio de
Janeiro, Editora McGraw-Hill, 843 p.
(Rgo, 1996) Rgo, C. M., et al., 1996. MEDE-PROS - Mtodo de
Avaliao de Qualidade de Produtos de Software, verso 1.0.
Patente junto Fundao Biblioteca Nacional sob nmero de
registro 135.620, livro 216, folha 84. Pedido de registro de
marca junto ao INPI sob nmero 820166243. Rio de Janeiro,
Brasil.
(Rocha et al.,
2001)
Rocha, A. R. C.; Maldonado, J. C.; Weber, K. C., 2001.
Qualidade de Software. So Paulo: Prentice Hall.
(Sametinger, 1997) Sametinger, J., 1997. Software Engineering with Reusable
Components, Springer Verlag, ISBN 3-540-62695-6.
(Schmidt, 2003) Schmidt, H., 2003. Trustworthy components: compositionality
and prediction. Journal of Systems and Software, Vol. 65, No.
3, Maro, pp. 215-225.
(Simo, 2003) Simo, R.P.S., Belchior, A., 2003. Quality Characteristics for
Software Components: Hierarchy and Quality Guides.
Component-Based Software Quality: Methods and
Techniques, Lecture Notes in Computer Science (LNCS)
Springer-Verlag, Vol. 2693, pp. 188-211.
(Stallinger et al.,
2002)
Stallinger, F., Dorling, A., Rout, T., Henderson-Sellers, B.,
Lefever, B., 2002. Software Process Improvement for
Component-Based Software Engineering: An Introduction to
the OOSPICE Project. Proceedings of the 28
th
Euromicro
Conference, Dortmund, Germany, September, pp. 318-323.


114

(Szyperski et al.,
2002)
Szyperski, C., Gruntz, D., Murer, S., 2002. Component
Software Beyond Object-Oriented Programming. Addison
Wesley Professional, 2 edio, Novembro.
(Tsukumo et al.,
1997)
Tsukumo, A. N., Rgo, C. M., Salviano, C. F., Azevedo, G. F.,
Meneghetti, L. K., Costa, M. C.C., Carvalho, M. B., Colombo,
R. M. T., 1997. Qualidade de Software: Vises de Produto e
Processo de Software. Publicado na "II Escola Regional de
Informtica da Sociedade Brasileira de Computao Regional
de So Paulo - II ERI da SBC, Piracicaba, SP, Junho, pgs:
173-189.
(Villela, 2000) Villela, R. M. B., 2000. Busca e Recuperao de
Componentes em Ambientes de Reutilizao de Software,
Tese de Doutorado, UFRJ-COPPE, Rio de Janeiro RJ,
Brasil.
(Wallnau, 2003) Wallnau, K. C., 2003. Volume III: A Technology for
Predictable Assembly from Certifiable Components. Software
Engineering Institute (SEI), Technical Report, Vol. III, Abril.
(Werner, 2000) Werner, C., M., L., Braga, R., M., 2000. Desenvolvimento
Baseado em Componentes. XIV Simpsio Brasileiro de
Engenharia de Software, Minicursos e Tutoriais, Joo
Pessoa-PB.
(Williams, 2000) Williams, J. D., 2000. Raising Components, Application
Development Trends, vol. 7.


115
Anexo A - Atributos e Mtricas do Modelo para Qualidade Externa

1 Descrio do componente
1.1 Existncia

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Disponibilidade da
Descrio do
Componente
Existe um documento
(ou pgina) de
descrio do
componente que o
acompanha ?
O avaliador deve
verificar no repositrio
a existncia desse
documento de
descrio.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Repositrio do
componente em
avaliao.
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
















116
1.2 Contedo
1.2.1 Contedo Inteligibilidade

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
O contedo da
descrio do
componente:

Permite uma fcil
identificao de
funcionalidade?
O avaliador deve
verificar o contedo da
descrio do
componente
- Sim;
- No;

0 - 100%

Sim = 100%
No = 0%

Documento de
Descrio do
Componente
ISO 12119
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Organizao Destaca informaes
relevantes. Ex.: atravs
do uso de negrito,
itlico, palavras em
letra maiscula,
numerao,
sombreamento de
texto?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documento de
Descrio do
Componente
ISO 12119
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
O texto da descrio do
componente:
d margem a
interpretaes
ambguas?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 0%
No = 100%
Documento de
Descrio do
Componente
ISO 12119
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Clareza
apresenta erros
gramaticais e/ou
ortogrficos?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Muitos = 0;
- Poucos = 50;
- Nenhum = 100;
0 - 100%

Muitos = 0%
Poucos = 50%
Nenhum = 100%
Documento de
Descrio do
Componente
ISO 12119
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)

1.3 Identificao e Indicao

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
117
Identificao da
Descrio do
Componente
A descrio do
componente possui um
ttulo que o identifica?
Ex.: Descrio do
Componente,
Informaes do
Componente,
Descrio Funcional
do Componente ou
outro similar?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documento de
Descrio do
Componente
ISO 12119
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto)
A Descrio do
Componente:
identifica o nome do
componente?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documento de
Descrio do
Componente
ISO 12119
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto) Identificao do
Componente
identifica a verso ou a
data de criao do
componente?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documento de
Descrio do
Componente
ISO 12119
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto)
A Descrio do
Componente:
identifica o nome do
produtor/fornecedor do
componente?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documento de
Descrio do
Componente
ISO 12119
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto) Identificao do
Produtor
identifica uma forma de
contato?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documento de
Descrio do
Componente
ISO 12119
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto)
A descrio do
componente identifica:
o modelo de
componentes cuja as
interfaces esto em
conformidade? (Ex.:
Java Beans, J2EE,
COM, CORBA, entre
outros.)
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documento de
Descrio do
Componente
ISO 12119
Sametinger
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto)
a linguagem de
programao dos
fontes?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documento de
Descrio do
Componente
ISO 12119
Sametinger
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto)
Identificao do
modelo de
componentes adotado
o sistema operacional?
O avaliador deve
verificar o contedo da
descrio do
componente.

- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documento de
Descrio do
Componente
ISO 12119
Sametinger
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto)
118
A Descrio do
Componente identifica:
os requisitos de
software requerido pelo
componente? (Ex.:
necessidade de
bibliotecas, APIs, etc.)
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documento de
Descrio do
Componente
ISO 12119
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto)
Identificao de
Requisitos de
Hardware e Software
os requisitos de
hardware requeridos
pelo componente? (Ex.:
equipamento, SO, etc.)
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documento de
Descrio do
Componente
ISO 12119
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto)
Indicao de Servios
de Suporte
A descrio do
componente contm:
declarao sobre
suporte?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documento de
Descrio do
Componente
ISO 12119
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Identificao do tipo
de licena do
componente
A descrio do
componente contm
uma identificao do
tipo de licena do
componente?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documento de
Descrio do
Componente
ISO 12119
Sametinger
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)

1.4 Declarao

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
119
A Descrio do
componente contm:

declarao sobre a
funcionalidade nica do
componente, ou seja, o
que o componente se
prope a fazer?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;

0 - 100%

Sim = 100%
No = 0%
Descrio do
componente
ISO 12119
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
declarao sobre as
interfaces providas e
requeridas do
componente?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Descrio do
componente
ISO 12119
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto)
declarao de valores-
limite (Caso o uso do
componente seja
limitado por eles)?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Descrio do
componente
ISO 12119
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto)
Declarao sobre
funcionalidade
Caso o componente
apresente recursos de
segurana de acesso, a
descrio do
componente descreve
os recursos para evitar
o acesso no autorizado
(acidental ou
intencional) aos seus
servios e dados?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Descrio do
componente
ISO 12119
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Declarao sobre
confiabilidade
A descrio do
componente contm
declarao sobre
procedimentos de
preservao de dados?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Descrio do
componente
ISO 12119
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto)
A descrio do
componente contm:

declarao sobre os
conhecimentos
tecnolgicos requeridos
pelo usurio do
componente?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Descrio do
componente
ISO 12119
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto)
Declarao sobre
Usabilidade
declarao sobre
direitos autorais?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Descrio do
componente
ISO 12119
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)

120
A Descrio do
Componente contm:

declarao sobre o
comportamento do
componente em relao
ao tempo?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Descrio do
componente
ISO 12119
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Declarao sobre
Eficincia
declarao sobre o
comportamento do
componente em relao
aos recursos?
O avaliador deve
verificar o contedo da
descrio do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Descrio do
componente
ISO 12119
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto)
Pela ISO 12119, essa declarao no obrigatria
Declarao sobre
portabilidade
A Descrio do
Componente contm
uma declarao sobre a
capacidade do
componente de ser
adaptado em diferentes
ambientes?
O avaliador deve
verificar o contedo da
descrio do
componente.

- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Descrio do
componente
ISO 12119
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Pela ISO 12119, essa declarao no obrigatria


121
2 Documentao do componente
2.1 Existncia

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Existncia da
Documentao do
Componente
O componente possui
alguma documentao
que o acompanha ?
O avaliador deve
verificar no repositrio
a existncia de
documentaes que
acompanha o
componente.

- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Repositrio do
componente avaliado
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)








2.2 Completitude
2.2.1 Completitude - Identificao e Indicao

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
122
As documentaes do
componente esto
identificadas em sua
pgina inicial com:
o nome do
componente?
O avaliador deve
verificar o contedo da
documentao do
componente.
- Todos;
- Quase todos;
- Alguns;
- Nenhum;
0 - 100%

Todos = 100%
Quase todos = 70%
Alguns = 40%
Nenhum = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
a verso ou data de
criao do
componente?
O avaliador deve
verificar o contedo da
documentao do
componente.
- Todos;
- Quase todos;
- Alguns;
- Nenhum;
0 - 100%

Todos = 100%
Quase todos = 70%
Alguns = 40%
Nenhum = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Identificao do
Componente
o tipo do documento?
(ex. manual do usurio,
manual de implantao,
etc.)
O avaliador deve
verificar o contedo da
documentao do
componente.

- Todos;
- Quase todos;
- Alguns;
- Nenhum;
0 - 100%

Todos = 100%
Quase todos = 70%
Alguns = 40%
Nenhum = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Nas documentaes do
componente esto
indicadas:
o nome do
produtor/fornecedor?
O avaliador deve
verificar o contedo da
documentao do
componente.
- Todos;
- Quase todos;
- Alguns;
- Nenhum;
0 - 100%

Todos = 100%
Quase todos = 70%
Alguns = 40%
Nenhum = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
o endereo do
produtor/fornecedor?
O avaliador deve
verificar o contedo da
documentao do
componente.
- Todos;
- Quase todos;
- Alguns;
- Nenhum;
0 - 100%

Todos = 100%
Quase todos = 70%
Alguns = 40%
Nenhum = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Identificao do
Produtor
o telefone, fax, e-mail,
site ou outra forma de
contato com o
produtor/fornecedor?
O avaliador deve
verificar o contedo da
documentao do
componente.
- Todos;
- Quase todos;
- Alguns;
- Nenhum;
0 - 100%

Todos = 100%
Quase todos = 70%
Alguns = 40%
Nenhum = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Identificao da
composio do
componente
Na documentao do
componente, pelo
menos em um item do
conjunto de
documentos, est
identificado a
composio do
componente, caso ele
seja composto?
O avaliador deve
verificar o contedo da
documentao do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
123
Obs.: Quando um componente formado por outros menores, esse componente chamado de componente composto.
Especificao dos
Requisitos
Tecnolgicos e
Arquiteturais
Na documentao do
componente, pelo
menos em um item do
conjunto de
documentos, est
especificado qual o
modelo de componente
adotado?
O avaliador deve
verificar o contedo da
documentao do
componente.
- Sim;
- No;
0 e 100%

Sim = 100%
No = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)


2.2.2 Completitude - Descrio sobre funcionalidade

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Descrio sobre a
funcionalidade do
componente
Na documentao do
componente, pelo
menos em um item do
conjunto de
documentos, possui
uma declarao sobre a
funcionalidade global
do componente?
O avaliador deve
verificar o contedo da
documentao do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
124
Na documentao do
componente, pelo
menos em um item do
conjunto de
documentos:

as interfaces fornecidas
pelo componente esto
especificadas?
O avaliador deve
verificar o contedo da
documentao do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Os servios das
interfaces fornecidas
so detalhados
(contratos, exemplos)?
O avaliador deve
verificar o contedo da
documentao do
componente.
- Sim;
- No;

0 - 100%

Sim = 100%
No = 0%
Documentao do
Componente
MEDE-PROS
Avaliador
Usurio
(Desenvolvedor,
integrador, arquiteto)
Descrio das
Interfaces do
Componente
as interfaces requeridas
do componente esto
especificadas?
O avaliador deve
verificar o contedo da
documentao do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Valores limites
Na documentao do
componente so
descritos os valores
limite fornecidos no
documento de descrio
do componente? (Ex.:
valores mximos ou
mnimos.)
O avaliador deve
verificar o contedo da
documentao do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Indicao sobre
segurana de acesso
Caso o componente
dependa de controle de
segurana, a
documentao do
componente contm
informaes de como
evitar o acesso no
autorizado (acidental ou
intencional) a servios
e/ou dados? (Ex.: senha
aos dados, criptografia,
etc.)
O avaliador deve
verificar o contedo da
documentao do
componente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)



125
2.2.3 Completitude - Descrio sobre usabilidade

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Adaptao as
necessidades do
usurio
A documentao do
componente apresenta o
procedimento,
automatizado ou no,
para que o usurio
consiga configurar o
componente?
O avaliador deve
verificar o contedo da
documentao do
componente.
- Sim;
- No;
0 100%

Sim = 100%
No = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Descrio da proteo
contra infraes a
direitos autorais
Na documentao do
componente a proteo
tcnica contra infraes
a direitos autorais est
descrita, caso o
componente seja
protegido?
O avaliador deve
verificar o contedo da
documentao do
componente.
- Sim;
- No;
0 100%

Sim = 100%
No = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Descrio sobre
implantao
A documentao do
componente contm
todas as informaes
necessrias para a
implantao do
componente,
descrevendo todos os
passos para incorporar
o componente em um
sistema? (Ex.:
informaes detalhadas
de interfaces, cenrios
amostrais,
procedimentos de
diagnsticos)
O avaliador deve
verificar o contedo da
documentao do
componente.
- Todos;
- Quase todos;
- Alguns;
- Nenhum;
0 100%

Todos = 100%
Quase todos = 70%
Alguns = 40%
Nenhum = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)





126
2.3 Usabilidade

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Apreensibilidade
A documentao do
componente possui
recursos que auxiliem
em sua compreenso
(atravs de, exemplos,
ilustraes, etc)?
O avaliador deve
verificar o contedo da
documentao do
componente.
- Sim;
- No;
0 100%

Sim = 100%
No = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Operacionalidade
A documentao do
componente possui
recursos que auxiliem
no seu manuseio?
(ndice Geral,
Remissivo, Referncia
Cruzada)
O avaliador deve
verificar o contedo da
documentao do
componente.
- Sim;
- No;
0 100%

Sim = 100%
No = 0%
Documentao do
Componente
MEDE-PROS
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Inteligibilidade da
documentao do
componente
Qual a proporo de
servios da interface
(ou tipos de servios)
entendido depois de ler
a documentao do
componente?
O avaliador deve
conduzir o teste de
usurio e entrevistar o
usurio com
questionrios ou
observar o seu
comportamento.
Contar o nmero de
servios que so
adequadamente
entendidos e comparar
com o nmero total de
servios das interfaces
do componente.
X = 100*(A / B)

A: Nmero de servios
(ou tipos de servios)
entendidos

B: Nmero total de
servios (ou tipos de
servios)
0 <= X <= 100%

Quanto mais prximo
de 100%, melhor.

Especificao do
componente.

Entrevista com o
usurio
9126-2
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)

127

3 Artefato: Componente
3.1 Funcionalidade
3.1.1 Funcionalidade Adequao

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Adequao Funcional
Os servios das
interfaces do
componente so
suficientemente
adequados para a
funcionalidade que o
mesmo se prope a
realizar?
O avaliador deve
verificar se os servios
disponveis nas
interfaces do
componente atendem a
necessidade especfica
do componente.
Confrontar o nmero de
interfaces adequadas
pelo total de avaliadas.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Especificao do
componente

Componente
ISO 9126-2
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)
Cobertura da
Implementao
Funcional

O componente
implementa todos os
servios de suas
interfaces conforme
especificado em sua
documentao?
O avaliador deve
verificar o nmero de
servios implementados
no componente
comparado com o
nmero de servios
especificados.
X = 100*(A/B)

A: Nmero de servios
das interfaces
implementadas

B: Nmero total de
servios das interfaces
descritas na
especificao
0<= X <=100%

Quanto mais prximo de
100%, melhor
Especificao do
componente
ISO 9126-2
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)








128
3.1.2 Funcionalidade Acurcia

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Preciso
Os valores dos
resultados retornados
pelo componente so
corretos ou precisos?
O avaliador deve testar o
componente e verificar o
nmero de resultados
corretos ou com preciso
esperados comparadas
com o nmero de
resultados obtidos em
uma dada srie de
chamadas.
X = 100*(A / B)

A: Nmero de resultados
corretos ou com grau de
preciso esperado

B: Nmero de resultados
obtidos em uma dada
srie de chamadas
0<= X <=100%

Quanto mais prximo de
100%, melhor.
Especificao do
componente
9126-2
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)

3.1.3 Funcionalidade Interoperabilidade

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Compatibilidade dos
dados
O componente utiliza
uma representao de
dados de entrada e sada
que esteja em
conformidade com
algum padro ou
conveno
internacional?
O avaliador deve
verificar os dados de
entrada e sada se existe
a presena de um padro
de conformidade e, se
sim, qual o formato
utilizado. (ASN1, XML,
etc.)
- Sim;
- No;
0 100%

Sim = 100%
No = 0%
Componente;
Documentao do
componente;
ISO 9126-2;
Bertoa;
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)
Conformidade das
interfaces
As interfaces do
componente esto em
conformidade com o
modelo de componente
definido em sua
documentao?
O avaliador deve
verificar se as interfaces
do componente esto
realmente de acordo com
o modelo de
componentes descrito em
sua documentao.
- Sim;
- No;
0 100%

Sim = 100%
No = 0%
Componente;
Documentao do
componente
ISO 9126-2;
Sametinger;
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)



129
3.1.4 Funcionalidade Segurana de Acesso

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Controlabilidade de
Acesso
Caso o componente lide
com autenticao e
autorizao de acesso,
ele oferece esse controle
a seus servios e dados?
O avaliador deve
verificar a existncia de
controle de acesso,
atravs de testes no
componente, tentando
acessar seus servios.
- Sim;
- No;
0 100%

Sim = 100%
No = 0%
Componente e sua
especificao

9126-2

Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)
Criptografia dos Dados
Caso o componente lide
com dados sigilosos, o
mesmo utiliza-se de
criptografia para
proteger esses dados?
O avaliador deve
verificar a presena de
criptografias em seus
dados manipulados
conforme descrito em
sua especificao.
- Sim;
- No;
0 100%

Sim = 100%
No = 0%
Componente e sua
especificao

9126-2

Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)

3.1.5 Funcionalidade Conformidade relacionada funcionalidade

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Conformidade
funcional
A funcionalidade do
componente est em
conformidade com
regulamentaes,
padres e convenes
aplicveis previstas em
lei?
O avaliador deve contar
o nmero de itens
requeridos de
conformidade que foram
encontrados e comparar
com o nmero total de
itens requeridos de
conformidade na
especificao.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Especificao do
componente
ISO 9126-2
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)





130
3.2 Confiabilidade
3.2.1 Confiabilidade Maturidade

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Evoluo entre verses
(Remoo de falhas)
Qual a mdia de
remoo de falhas entre
as verses lanadas do
componente?
O avaliador deve
verificar no histrico de
verses do componente o
nmero absoluto de
verses com remoes
de falhas e calcular a
mdia em comparao
com a quantidade total
de verses.
X = 100*(A / B)

A: Total de verses com
remoo de falhas

B: Total de verses do
componente
0<= X <=100%

Quanto mais prximo de
100%, melhor.
Histrico de verses ISO 9126-2 Bertoa
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)
Evoluo entre verses
(Novas atualizaes)
Qual a mdia de novas
atualizaes entre as
verses lanadas do
componente?
O avaliador deve
verificar no histrico de
verses do componente o
nmero absoluto de
verses com atualizaes
e calcular a mdia em
comparao com a
quantidade total de
verses.
X = 100*(A / B)

A: Total de verses com
novas
atualizaes(novos
servios)

B: Total de verses do
componente
0<= X <=100%

Quanto mais prximo de
100%, melhor.
Histrico de verses ISO 9126-2 Bertoa
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)
Cobertura de testes
O componente possui
casos de testes
especificados para todos
os servios de suas
interfaces?
O avaliador deve
verificar se existem
casos de testes e se, os
mesmos cobrem todos os
servios das interfaces
do componente.
- Todos;
- Quase Todos;
- Alguns;
- Nenhum;
0 100%

Todos = 100%
Quase Todos = 70%
Alguns = 40%
Nenhum = 0%
Documento de Casos de
Testes
ISO 9126-2
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)









131
3.2.2 Confiabilidade Tolerncia falhas

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Preveno de operaes
incorretas
Os servios das
interfaces do
componente so
implementados com a
capacidade de prevenir
operaes incorretas ?
O avaliador deve
verificar, atravs de
testes com operaes
incorretas, a capacidade
do componente de
prevenir ocorrncia de
falhas.
X = 100*(A / B)

A: Nmero de preveno
de ocorrncias de falhas

B: Nmero de casos de
testes executados de
padres de operaes
incorretas durante o teste
0<= X <=100%

Quanto mais prximo de
100%, melhor.
Especificao do
componente

Casos de testes
ISO 9126-2

Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)
Obs.: operaes incorretas so: passagem de parmetros incorretos, seqncia incorreta de entrada de dados, e seqncia incorreta de operaes.
Tratamento de erros
Os servios do
componente foram
implementados com a
capacidade de tratar
situaes de erro?
O avaliador deve
verificar, atravs da
documentao ou do
prprio componente, se
ele possui a habilidade
de tratar situaes de
erros para os dados
manipulados.
- Manipulao;
- Deteco e Aviso;
- Sem tratamento;
0 100%

Manipulao
= 100%

Deteco e aviso = 50%

Sem tratamento = 0%
Documentao do
componente
Bertoa
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)


3.2.3 Confiabilidade Recuperabilidade

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Persistncia
O componente capaz
de recuperar seu estado
quando necessrio?

O avaliador deve
verificar, atravs da
documentao ou do
prprio componente, se
ele possui a habilidade
de armazenar seus dados
em uma base.
- Sim;

- No;
0 100%

Sim = 100%

No = 0%
Documentao do
componente
Bertoa
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)


132

3.3 Usabilidade

3.3.1 Usabilidade Inteligibilidade

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Treinamento
O componente possui
algum tipo de
treinamento oferecido
por terceiros?
O avaliador deve
verificar se o
componente possui
algum tipo de
treinamento que ajude a
compreender suas
funcionalidades e como
utiliz-lo.
- Sim;
- No;
0 100%

Sim = 100%
No = 0%
Manual de operao do
componente.
Bertoa
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)
Cobertura de
demonstrao
As interfaces do
componente so
demonstradas atravs de
vdeos ou programas
exemplos?
O avaliador deve
verificar se o
componente possui um
demo para demonstrar as
funcionalidades de suas
interfaces providas e
assim poder verificar se
o componente
apropriado ou no.
X = 100*(A / B)

A: Interfaces descobertas
em demo

B: Interfaces do
componente
0<= X <=100%

Quanto mais prximo de
100%, melhor.
Manual de operao do
componente.

Demo do componente
Bertoa
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)
Interfaces com
entradas e sadas
compreensveis
possvel identificar
claramente os dados
requeridos como entrada
e sada dos servios
disponibilizados nas
interfaces do
componente?
Conduzir os testes e
entrevistar o usurio com
questionrios ou
observar o seu
comportamento.
Contar o nmero de
servios cujo o formato
dos dados de entrada e
sada entendido pelo
usurio e comparar com
o nmero total de
servios do componente.
- Todos;
- Quase Todos;
- Alguns;
- Nenhum;
0 - 100%

Todos = 100%
Quase Todos = 70%
Alguns = 40%
Nenhum = 0%
Entrevista com o usurio 9126-2
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)


133

3.3.2 Usabilidade Apreensibilidade

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Facilidade de
aprendizagem
O componente oferece
recursos (tpicos de
ajuda, tutoriais, etc.), que
facilite o aprendizado de
seu uso?
O avaliador deve
verificar se existe algum
tipo de recurso como
ajuda on-line, tutorial,
entre outros que
exemplifiquem o uso do
componente.
Sim;
No;
0 - 100%

Sim = 100%;
No = 0%
Documentao do
componente;
9126-2
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)


3.3.3 Usabilidade Operacionalidade

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Complexidade das
interfaces do
componente
Qual o nmero mdio de
servios por interfaces
providas do
componente?
O avaliador deve contar
o nmero de servios em
todas as interfaces
providas do componente
e comparar com o total
de interfaces providas
obtendo uma taxa de
complexidade de
operao do componente
X = A / B

A: Operaes em todas
as interfaces providas.

B: Interfaces providas
0 100%

X <= 10
= 100%

10 < X <= 15
= 80%

15 < X <= 20
= 50%

20 < X
=0%
Especificao do
componente

Componente
9126-2
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)





134
3.4 Eficincia
3.4.1 Eficincia Comportamento em relao ao tempo

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Tempo de resposta
O tempo gasto pelos
servios do componente
para executar suas
tarefas atingiram a meta
especificada em sua
documentao?
O avaliador deve
verificar o tempo de
resposta medindo o
tempo que leva para o
servio completar sua
operao. Comparar esse
tempo com o
especificado na
documentao.
- Todos os servios; - -
Quase Todos;
- Alguns;
- Nenhum;
0 100%

Todos os servios =
100%

Quase todos = 70%

Alguns = 40%

Nenhum = 0%
Documento de Operao

Documento de teste
9126-2
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)
Mantenedor
3.4.2 Eficincia Utilizao de Recursos

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Memria requerida
Utilizando a memria
especificada em sua
documentao, o
componente opera
conforme o esperado?
O avaliador deve
verificar na
documentao do
componente a
quantidade de memria
requerida. Executar
testes em um ambiente
com as condies de
memria requeridas e
monitorar os resultados.
- Operou conforme o
esperado

- Eficincia prejudicada

- No foi possvel operar
0 100%

Conforme Esperado
= 100%

Eficincia prejudicada
= 50%

No foi possvel operar =
0%
Documento de Operao

Documento de Teste
9126-2
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)

Mantenedor
Utilizao de disco
O componente e suas
partes constituintes, caso
ele possua, utilizam o
espao em disco
especificado em sua
documentao?
O avaliador deve
verificar o tamanho do
componente e suas
partes constituintes, caso
ele tenha, para indicar a
utilizao necessria de
disco ocupado.
- Sim;
- No;
0 100%

Sim = 100%

No = 0%
Componente e
Documentaes
9126-2

Bertoa
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)
135

3.5 Portabilidade

3.5.1 Portabilidade Adaptabilidade

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Facilidade de
adaptao
O componente se adapta
em diferentes ambientes
e plataformas da maneira
prevista em sua
documentao?
O avaliador deve realizar
testes, nas plataformas
especificadas na
documentao do
componente, para
verificar se ele se adapta
facilmente nesses
ambientes.
- Todos;
- Quase todos;
- Alguns;
- Nenhum;
0 100%

Todos = 100%
Quase todos = 70%
Alguns = 40%
Nenhum = 0%
Documento de operao
do componente
9126-2
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)

Mantenedor


3.5.2 Portabilidade Capacidade para ser implantado

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Facilidade de
implantao
Qual o grau de facilidade
de implantao
oferecido pelo
componente?


O avaliador deve
verificar se os arquivos
necessrios para a
implantao descritos na
documentao do
componente esto
disponveis, ou mesmo
se existe algum arquivo
(programa) que faa
automaticamente sua
implantao.
- Implantao
automtica;

- Arquivos necessrios
presentes;

- Criao de arquivos
necessrios;

Implantao automtica:
= 100%;

Arquivos necessrios
presentes:
= 50%;

Criao de arquivos
necessrios ou mudana
no componente:
= 0%;
Manual de implantao
do componente
9126-2
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)

Mantenedor



136
3.5.3 Portabilidade Coexistncia

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Coexistncia disponvel
O componente oferece
alguma restrio quando
operado
simultaneamente com
algum outro tipo de
software que no
especificado em sua
documentao?
O avaliador deve
verificar o uso do
componente
simultaneamente com os
software que sero
utilizados no mesmo
ambiente.
- Sim;
- No;
0 100%

Sim = 0%
No = 100%
Documento de Operao

Componente
9126-2
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)

Mantenedor


3.5.4 Portabilidade Capacidade para substituir

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para medio Referncia Pblico alvo
Compatibilidade de
verses
O Componente atual
compatvel com outras
verses que esto
indicadas em sua
especificao?
O avaliador deve
verificar se as interfaces
do componente so
realmente compatveis
com as interfaces das
outras verses conforme
est especificado na
documentao do
componente.
Sim;
No;
0 100%

Sim = 100%
No = 0%
Documentao do
componente
9126-2;
Bertoa;
Avaliador

Usurio (Desenvolvedor,
integrador, arquiteto)

Mantenedor







137
3.5.5 Portabilidade Reusabilidade

Mtrica
Atributo Propsito da
Mtrica (Questo)
Mtodo de aplicao Frmula e/ou
elementos de dados
para medio
Escala de Medio Entrada para
medio
Referncia Pblico alvo
Nvel de
dependncia
O componente possui
alguma dependncia
com outros
componentes ou
sistemas?
O avaliador deve
observar se o
componente, atravs
de suas interfaces
requeridas, est
dependente de outros
componentes ou
sistemas, dificultando
a sua reutilizao
- Sim;
- No;
0 100%

Sim = 0%
No = 100%
Componente e sua
documentao
Sametinger
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)

Funcionalidade clara
e especfica
O componente possui
uma funcionalidade
clara e especfica?
O avaliador deve
verificar, atravs da
documentao ou de
suas prprias
interfaces, se o
componente apresenta
e realiza de forma
clara os seus objetivos
especificados,
encapsulando detalhes
no relevante para
reutilizao.
- Sim;
- No;
0 100%

Sim = 100%
No = 0%
Componente e sua
documentao
Sametinger
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Clareza de
identificao
O componente est
contido em um nico
arquivo facilitando a
sua identificao e
utilizao ?
O avaliador deve
verificar, atravs da
documentao ou no
repositrio, se o
componente est
composto em um
nico arquivo. (Por
exemplo, atravs de
empacotamento)
- Sim;
- No;
0 100%

Sim = 100%
No = 0%
Componente e sua
documentao
Sametinger
Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)



139
Atributos e Mtricas de Qualidade em Uso

1. Eficcia

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou elementos
de dados para medio
Escala de Medio Entrada para
medio
Referncia Pblico alvo
Eficcia da tarefa
Os objetivos das tarefas
do sistema, no qual o
componente participa
diretamente, so
alcanados corretamente?
Teste de usurio

Verificar se os valores das
sadas da tarefa, na qual o
componente participa
diretamente, so
completos e precisos.

- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Relatrio de
Operao (Testes)

Registro de
monitoramento de
uso
ISO 9126-4 Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)
Concluso da tarefa
As tarefas do sistema, no
qual o componente
participa diretamente, so
completadas conforme
esperadas?
Teste de usurio

Verificar se as tarefas do
sistema no qual o
componente tem
participao so
completadas conforme
esperadas
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Relatrio de
Operao (Testes)

Registro de
monitoramento de
uso
ISO 9126-4 Avaliador

Usurio
(Desenvolvedor,
integrador, arquiteto)






140

2. Produtividade

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou elementos
de dados para medio
Escala de Medio Entrada para
medio
Referncia Pblico alvo
Tempo da tarefa
O tempo gasto numa
tarefa do sistema,
no qual o componente
participa diretamente, foi
apropriado?
Teste de usurio
Verificar se o tempo gasto
numa determinada tarefa
do sistema no qual o
componente participa, foi
apropriado
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Relatrio de
Operao (Testes)

Registro de
monitoramento de
uso
ISO 9126-4 Avaliador

Usuario
(Desenvolvedor,
integrador, arquiteto)
Eficincia do
componente
O componente, mostrou-
se eficiente para executar
as tarefas especificadas
do sistema?
Verificar atravs do
atributo eficcia da tarefa
e do atributo tempo da
tarefa, se o componente
foi eficiente.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Relatrio de
Operao (Testes)

Registro de
monitoramento de
uso
ISO 9126-4 Avaliador

Usuario
(Desenvolvedor,
integrador, arquiteto)




141

3. Segurana (Safety)

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou elementos
de dados para medio
Escala de Medio Entrada para
medio
Referncia Pblico alvo
Danos no software O componente causou
algum dano no sistema
devido alguma falha em
sua funcionalidade?
Estatsticas de uso

Verificar atravs de
registros de
monitoramento de uso se
o componente causou
algum dano ao software
(por exemplo, corrupo
de dados)
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Registro de
monitoramento de
uso
ISO 9126-4 Avaliador

Usuario
(Desenvolvedor,
integrador, arquiteto)



142

4. Satisfao

Mtrica
Atributo Propsito da Mtrica
(Questo)
Mtodo de aplicao Frmula e/ou elementos
de dados para medio
Escala de Medio Entrada para
medio
Referncia Pblico alvo
Satisfao do usurio
Existe uma satisfao do
usurio referente ao uso
do componente no
sistema?
Teste de usurio e
observao de uso
Verificar se o usurio do
sistema est satisfeito
com a funcionalidade que
o componente oferece ao
sistema.
- Sim;
- No;
0 - 100%

Sim = 100%
No = 0%
Relatrio de
Operao (testes)

Registro de
monitoramento de
uso
ISO 9126-4 Avaliador

Usuario
(Desenvolvedor,
integrador, arquiteto)


143
Anexo B

Questionrio para Verificao da Aplicabilidade e Utilidade do
Modelo de Qualidade de Componentes de Software

1. Introduo

Este questionrio objetiva colher a opinio dos avaliadores e/ou
especialistas em Desenvolvimento baseado em Componentes (DBC),
envolvidos nas avaliaes dos componentes de software realizadas neste
trabalho, sobre a aplicabilidade e utilidade do modelo de qualidade de
componentes desenvolvido.

2. Caracterizao do Avaliador/Especialista

Instituio/Empresa:
Nome:
E-mail:

a) Marque sua experincia ou as atividades (cargos) que j exerceu ou exerce:
( ) Gerente de Garantia da Qualidade;
( ) Avaliador
( ) Desenvolvedor de Componentes
( ) Desenvolvedor de Aplicaes (com componentes)
( ) Arquiteto de Software
( ) Gerente de projeto baseado em componentes
( ) Professor (universitrio) de informtica (disciplinas relacionadas ao
DBC)
( ) Outras:

3. Questes sobre a aplicabilidade do modelo de qualidade
desenvolvido

a) Durante a avaliao as caractersticas, subcaractersticas e atributos de
qualidade do modelo desenvolvido apresentaram-se adequadas ao contexto de
componentes?
( ) Sim, bem adequadas ao contexto de componentes

( ) Pouco adequadas ao contexto de componentes
Justifique: _______________

( ) No, sem adequao ao contexto de componentes
Justifique:________________

b) O modo como as caractersticas, subcaractersticas e atributos de qualidade
foram estruturadas no modelo facilita a sua aplicao nas avaliaes?
( ) Sim, facilita.

( )No facilita.
Justifique:____________

144

c) As questes do modelo apresentaram-se claras e intuitivas facilitando o
entendimento e aplicao da avaliao?
( ) Sim, bem claras e intuitivas

( ) No muito claras e pouco intuitivas
Justifique:_______

( ) No claras e pouco intuitivas
Justifique: _________

d) O mtodo de aplicao, ou seja, as explicaes destinadas ao avaliador de
como proceder para obter as respostas das questes, auxiliou o avaliador na
obteno das respostas?
( ) Sim, auxiliou de forma excelente.

( ) Auxiliou de forma satisfatria.
Justifique:_______

( ) No auxiliou ou auxiliou de forma insatisfatria.
Justifique:_______

e) Os tipos de respostas mostraram-se adequadas de acordo com suas
respectivas questes?
( ) Sim, bem adequadas

( ) Pouco adequadas
Justifique:_______

( ) Nada adequadas
Justifique: _________


f) Concluindo, voc considera a execuo do questionrio do modelo de
qualidade desenvolvido:
( ) Fcil e rpida

( ) Fcil, mas um pouco trabalhosa
Justifique:__________

( ) Difcil aplicao
Justifique: __________


Observaes Finais:


145


Questionrio para Verificao da Aplicabilidade e Utilidade da
Ferramenta de Apoio Avaliao


1. Introduo

Este questionrio objetiva colher a opinio dos avaliadores e/ou
especialistas em Desenvolvimento baseado em Componentes (DBC),
envolvidos nas avaliaes dos componentes de software realizadas neste
trabalho, sobre a aplicabilidade da ferramenta de apoio avaliao de
componentes de software.

2. Caracterizao do Avaliador/Especialista

Instituio/Empresa:
Nome:
E-mail:

a) Marque sua experincia ou as atividades (cargos) que j exerceu ou exerce:
( ) Gerente de Garantia da Qualidade;
( ) Avaliador
( ) Desenvolvedor de Componentes
( ) Desenvolvedor de Aplicaes (com componentes)
( ) Arquiteto de Software
( ) Gerente de projeto baseado em componentes
( ) Professor (universitrio) de informtica (disciplinas relacionadas ao
DBC)
( ) Outras:

3. Questes sobre a aplicabilidade da ferramenta de apoio

a) A ferramenta apresenta uma interface padronizada e amigvel?
( ) Padronizada e amigvel
( ) Padronizada e no amigvel
( ) No padronizada e amigvel
( ) Nem padronizada e nem amigvel

b) A forma como o mtodo disponibilizado pela ferramenta, torna agradvel
a execuo da avaliao?
( ) Sim

( ) No
Justifique:__________________






146

c) A ferramenta torna fcil a navegao entre as questes apresentadas?
( ) Sim

( ) No
Justifique:______________________

d) A ferramenta apresenta os textos de forma legvel?
( ) Sim

( ) No
Justifique:______________________

e) A ferramenta se mostrou eficiente em relao ao tempo de resposta?
( ) Sim

( ) No
Justifique:_______________________

f) Durante a execuo da ferramenta, houve a ocorrncia de alguma falha?
( ) Sim
Justifique:_______________________________

( ) No



Observaes Finais: