Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. INTRODUO.............................................................................................................................. 4
2. PLANEJAMENTO DA REVISO SISTEMTICA ................................................................. 5
2.1 ELABORAO DAS QUESTES ..................................................................................................... 5
2.1.1 Objetivos da Questo .......................................................................................................... 5
2.1.2 Qualidade e Amplitude da Questo .................................................................................... 5
2.2 SELEO DAS FONTES ................................................................................................................. 7
2.2.1 Critrio de Definio das Fontes........................................................................................ 7
2.2.2 Idioma do Estudo ................................................................................................................ 7
2.2.3 Identificao das Fontes ..................................................................................................... 7
2.3 SELEO DOS ESTUDOS .............................................................................................................. 7
2.3.1 Definio dos Estudos......................................................................................................... 7
2.4 EXTRAO DOS RESULTADOS ..................................................................................................... 8
3. CONDUO DA REVISO SISTEMTICA PROCESSO DE BUSCA ............................ 9
3.1 BUSCA NA BIBLIOTECA DIGITAL DA ACM.................................................................................. 9
3.2 BUSCA NO IEEE........................................................................................................................ 10
3.3. BUSCA NO SPRINGERLINK ........................................................................................................ 12
3.4 BUSCA NO GOOGLE SCHOLAR ................................................................................................... 13
4. CONDUO DA REVISO SISTEMTICA SELEO PRELIMINAR....................... 15
4.1 SELEO PRELIMINAR NA BIBLIOTECA DIGITAL DA ACM ....................................................... 15
4.2 SELEO PRELIMINAR NO IEEE................................................................................................ 15
4.3 SELEO PRELIMINAR NA SPRINGERLINK ................................................................................ 15
4.4 SELEO PRELIMINAR NO GOOGLE SCHOLAR ........................................................................... 15
5. CONDUO DA REVISO SISTEMTICA - EXTRAO DE DADOS ......................... 16
5.1 ESTUDOS DA ACM.................................................................................................................... 16
5.1.1 Estudo 01 - Critrios de Avaliao para o Desenvolvimento de LP ................................ 16
5.2 ESTUDOS DA IEEE .................................................................................................................... 20
5.2.1 Estudo 02 - PuLSE-Eco V2.0: Uma Abordagem de Avaliao para a Anlise de
Benefcios e Riscos de LP .......................................................................................................... 20
5.2.2 Estudo 03 - Recuperao e Incorporao de Artefatos em LP......................................... 25
5.2.3 Estudo 04 - Avaliao de Arquitetura de Software com o Mtodo QADA ....................... 28
1. Introduo
A demanda por qualidade tem motivado a comunidade de software para o desenvolvimento
de modelos para qualidade de software. Estes modelos esto orientados por duas vises: viso de
processo e viso de produto. A viso de processo trata da avaliao e melhoria dos processos
utilizados para o ciclo de vida de software. A viso de produto trata da avaliao de um produto de
software, para verificao de sua qualidade.
Nas ltimas dcadas, vrios padres de qualidade de produto e processo de software foram
propostos e esto disponveis na literatura. Dessa forma, este trabalho apresenta o planejamento e a
conduo de uma reviso sistemtica sobre padres de qualidade e avaliao em linha de produto de
software (LP). A reviso visa identificao de padres de qualidade e de avaliao de LP
existentes e apresenta como resultado final uma anlise, a partir do material selecionado, sobre o
estado da arte e da prtica no que diz respeito qualidade de LP.
Esta monografia est organizada da seguinte maneira: a seo 2 apresenta o planejamento da
reviso sistemtica; a seo 3 apresenta o processo de busca dos estudos nas fontes selecionadas; a
seo 4 apresenta a seleo preliminar dos estudos da reviso; a seo 5 apresenta a extrao de
dados dos textos selecionados e uma anlise dos resultados; e a seo 6 apresenta as consideraes
finais a respeito da reviso.
Questo Primria:
Interveno:
Controle:
Efeito:
Anlise sobre o estado da arte e da prtica sobre qualidade e avaliao de LP, com
base nos materiais selecionados durante a reviso
Mtricas:
Populao:
Arquitetura de LP
LP como um todo
Resultados:
Aplicao:
Projeto Experimental:
Anlise quantitativa e qualitativa com base nas mtricas definidas para o estudo
Palavras-Chaves:
Termos Relacionados:
(product
line/
product-line/product
family/product-family
line/
product-line/product
family/product-family
evaluation)
(product
assessment)
A string geral que ser submetida busca (adaptada para cada uma das fontes) apresentada
a seguir, no forma de uma expresso lgica com os operadores OR e AND:
A pgina de busca avanada da ACM foi utilizada, sendo que a pesquisa foi realizada
somente no resumo dos artigos, como mostra o campo Only search in: (Figura 1). Os seguintes
campos foram preenchidos, conforme a seguir:
must have any of the words or phrases: "product line " "product family" "productline" "product-family"
Outras 04 strings de busca foram utilizadas para pesquisa. Elas foram submetidas
separadamente umas das outras, sendo elas:
1. +abstract:"product
line"
abstract:evaluation
+abstract:quality
abstract:assessment
abstract:standard
abstract:maturity
abstract:model
abstract:attribute
abstract:factor
2. +abstract:product-line
abstract:evaluation
+abstract:quality
abstract:assessment
abstract:standard
abstract:maturity
abstract:model
abstract:attribute
abstract:factor
3. +abstract:"product family" +abstract:quality abstract:standard abstract:model
abstract:evaluation
abstract:assessment
abstract:maturity
abstract:attribute
abstract:factor
4. +abstract:product-family
abstract:evaluation
+abstract:quality
abstract:assessment
abstract:standard
abstract:maturity
abstract:model
abstract:attribute
abstract:factor
O mecanismo de busca da ACM possui restrio quanto ao tamanho da string de busca.
Dessa forma, uma busca para cada combinao dos termos product line, product-line, product
family e product-family foi realizada. A primeira string retornou 12 textos, a segunda retornou 13
textos, a terceira retornou 01 texto e a quarta retornou 01 texto. Porm, percebeu-se que os textos
encontrados com as 04 strings foram os mesmos encontrados com a string final utilizada para a
ACM e, dessa maneira, optou-se pela string mais simplificada.
10
((product line <or> product family <or> product-line <or> product-family) <and> quality <and>
(standard <or> model <or> evaluation <or> assessment <or> maturity <or> attribute <or>
factor)) <in> (ab,ti, metadata)
Outras opes foram definidas para esta busca (Figura 2), sendo elas:
Display: 100, o valor mximo de resultados que devem ser mostrados a partir de
Maximum
11
Dessa forma, a busca retornou 20 resultados. Porm, no dia 21/11/2006 ao tentar efetuar o
download dos textos, o mecanismo de busca da SpringerLink apresentou um erro ao buscar pela
string definida. A Figura 4 apresenta o erro na avaliao da string ao restringir a busca ao resumo
dos textos. O mecanismo no aceitou o ndice de busca su relativo ao resumo de textos.
12
A busca no Google Scholar foi realizada no dia 07/11/2006, de modo avanado por meio do
endereo eletrnico http://scholar.google.com/advanced_scholar_search?hl=en&lr=.
Para tanto, alguns campos da busca foram preenchidos como segue (Figura 5):
With at least one of the words: standard model evaluation assessment maturity
attribute factor
13
14
Identificao: ___________________________________________________________________
Proponente(s): __________________________________________________________________
Referenciado Por:_______________________________________________________________
Caractersticas e Limitaes: ______________________________________________________
Dessa forma, todos os textos selecionados na seo anterior foram lidos por completo. As
sees a seguir apresentam uma sntese de cada estudo e ao final apresentada uma anlise acerca
dos resultados.
Identificao:
Critrios de Avaliao para o Desenvolvimento de LP
16
Proponente(s):
NIEMEL, E. e IHME, T. (VTT Electronics - Embedded Software - Finland)
Referenciado Por:
Niemel, E., Ihme, T. 2001. Product Line Software Engineering of Embedded Systems.
ACM SIGSOFT Software Engineering Notes, Vol. 26, No 3 (May 2001). pp. 118-125.
Niemel, E.; Matinlassi, M.; Taulavouri, A. 2004. Practical Evaluation of Software Product
Family Architectures, Proceedings of the 3rd International Conference on Software Product Lines,
pp. 130-145.
Caractersticas e Limitaes:
A primeira etapa no desenvolvimento de LP a anlise do negcio e do escopo da LP, que
visa estimar os benefcios da abordagem para a organizao e os domnios potenciais de
reutilizao.
Um dos grandes problemas em LP o conhecimento do domnio, bem como: qual o tipo de
conhecimento que existe sobre o domnio? Como ele representado? Qual a sua qualidade?
Assim, ao se iniciar o desenvolvimento de LP, 03 questes devem ser respondidas, sendo
elas:
Que prticas devem ser desenvolvidas para alcanar um custo efetivo com LP?
A identificao dos business drivers e dos stakeholders, bem como uma estimativa dos
possveis consumidores dos produtos ajudam a responder a primeira questo. Uma anlise de custobenefcio deve ser realizada investigando o nmero de possveis produtos que podem ser gerados
pela LP. A primeira questo equivale elaborao de um modelo econmico para LP.
A anlise dos business drivers realizada segundo 03 pontos de vista: processos e cultura da
organizao; arquitetura de LP; e gerenciamento de artefatos (Figura 1).
A anlise dos business drivers estima os benefcios da adoo de LP, sendo uma maneira de
manter os gerentes comprometidos com a abordagem.
A anlise de domnio ajuda a responder a segunda questo. O escopo, as semelhanas, as
variabilidades e a qualidade o foco principal, assim como o comprometimento do pessoal, o
conhecimento do domnio e as habilidades tcnicas so analisadas para se saber se uma organizao
possui as habilidades profissionais exigidas para o desenvolvimento de LP. A Tabela 2 apresenta os
elementos e as pr-condies na definio do domnio.
Tabela 2: Identificao do Domnio: Pr-condies de uma LP (NIEMEL, 2001).
18
19
Uma anlise da evoluo do ncleo de artefatos desejvel para as 03 vises, uma vez que
alguns produtos podem reutilizar somente a arquitetura de LP e mudar totalmente o cdigo para
cada produto gerado.
Um estudo com base no modelo de 03 vises foi desenvolvido na forma de entrevistas em
empresas de desenvolvimento de software embarcado segundo o framework da Figura 2.
Identificao:
20
Assim, uma metodologia que busca responder tais perguntas est em desenvolvimento como
parte da abordagem PuLSE (Product Line Software Engineering), chamada PuLSE-Eco V2.0. Esta
metodologia visa cobrir todas as questes levantadas, uma vez que a abordagem original (PuLSE)
encontrou problemas em sua aplicao na prtica industrial.
O PuLSE-Eco V2.0 baseia-se em vrios padres de qualidade e de avaliao de processo
como CMM, Bootstrap, SPICE e FAME. No contexto de reutilizao de software, tais padres j
vm sendo usados para cobrir dois aspectos: a dimenso do processo (para reutilizao) e a
dimenso do domnio (conjunto de produtos). Dessa forma, a abordagem PuLSE-Eco V2.0 avalia os
domnios individualmente ao invs da LP como um todo.
A abordagem PuLSE-Eco V2.0 formada por trs fases:
A abordagem PuLSE-Eco V2.0 est organizada de forma que as duas primeiras fases podem
ser aplicadas sem a terceira. Assim, a avaliao dos benefcios e riscos consiste nas duas primeiras
fases. Quando a abordagem foi desenvolvida, foi possvel se basear em abordagens de avaliao de
processos como o FAME, que uma instanciao do SPICE fazendo uso de toda a experincia
adquirida pela comunidade ao longo dos anos. Porm, existe uma diferena entre a avaliao de
maturidade de um processo e a avaliao de potencias LPs. Um mapeamento entre as duas formas
de avaliao apresentado na Tabela 1.
Tabela 1: Mapeamento dos Conceitos de Avaliao (SCHMID, 2001a).
23
24
Identificao:
Recuperao e Incorporao de Artefatos em LP
Proponente(s):
KNODEL, J.; JOHN, I.; DHARMALINGAM, G. (Fraunhofer Institute for Experimental
Software Engineering- Germany)
PINZGER, M. (Institute of Informatics Switzerland)
USERO, F. (Telvent Spain)
ARCINIEGAS, A. L. (Departamento de Ingeniera de Sistemas Telemticos Spain)
RIVA, C. (Software Architecture Group Nokia Research Finland)
Referenciado Por:
Knodel, J.; John, I.; Dharmalingam, G.; Pinzger, M.; Arciniegas, A. L.; Riva, C. 2005. Asset
Recovery and their Incorporation into Product Lines, Proceedings of the 12th Workshop
Conference on Reverse Engineering, pp. 120-129.
Caractersticas e Limitaes:
Raramente uma LP desenvolvida a partir do zero. Na maioria das vezes a LP concebida
quando j existe um nmero suficiente de produtos que tornam o domnio consolidado.
25
Muitas vezes necessrio adicionar novos artefatos ao ncleo de artefatos de uma LP. Tais
artefatos podem ter origem dos mais variados tipos. Para tanto, necessrio estabelecer a forma
como estes sero incorporados ao ncleo de artefatos da LP, sendo que as possveis formas so:
26
Durante a anlise de domnio, uma anlise de necessidades realizada e tem como sada
uma descrio genrica dos artefatos mostrando os requisitos necessrios para que o artefato possa
ser incorporado ao ncleo de artefatos da LP. Em seguida, a atividade de descoberta de artefatos
visa identificar os artefatos existentes que so candidatos a suprir as necessidades j identificadas. A
atividade seguinte visa a avaliao do impacto, do custo e da qualidade necessria para a
incorporao do artefato na LP. A proposta utilizar algum padro para a avaliao como, por
exemplo, a ISO 14598 ou GQM (Goal-Question-Metric).
Ao incorporar o artefato ao ncleo de artefatos da LP necessrio inclu-lo tambm na
arquitetura de LP, o que difcil de conseguir por causa de potenciais efeitos colaterais e restries
tcnicas.
A Figura 2 apresenta todas as atividades do processo de incorporao de artefatos.
27
Identificao:
Avaliao de Arquitetura de Software com o Mtodo QADA (Quality-driven Architecture
Design and quality Analysis)
Proponente(s):
MATINLASSI, M. (VTT Technical Research Centre of Finland)
Referenciado Por:
Matinlassi, M. 2004. Evaluating the Portability and Maintainability of Software Product
Family Architecture: Terminal Software Case Study, Proceedings of the 4th Working IEEE/IFIP
Conference on Software Architecture, pp. 295-298.
Caractersticas e Limitaes:
O trabalho apresenta um estudo de caso na avaliao de uma arquitetura de LP para
terminais de coleta pblicos. A LP possui dois tipos de produtos: terminais fixos e terminais
portteis. A idia utilizar o mtodo QADA (Quality-driven Architecture Design and quality
Analysis) para avaliar a portabilidade e manutenibilidade da arquitetura de LP aps a incluso de
um novo membro da LP.
Antes de iniciar a avaliao, todos os produtos da LP foram estudados por meio da
documentao existente e a arquitetura foi documentada usando o QADA. O QADA permite a
descrio da arquitetura em 4 pontos de vista (estrutural, comportamental, implantao e
desenvolvimento) e 2 nveis de abstrao (conceitual e concreto).
O processo de avaliao de portabilidade e manutenibilidade inclui as seguintes etapas:
1. descrio da arquitetura de LP: de acordo com as vises arquiteturais;
2. criao de categorias de cenrios: criar categorias de mudana para o domnio do
problema e identificar categorias de tarefas de manuteno.
3. identificao de cenrios: cenrios de manuteno e mudana so criados baseados
nas categorias definidas na etapa anterior;
4. associar um peso para cada cenrio: pode ser, por exemplo, a probabilidade de
ocorrncia em um certo perodo de tempo (somente para avaliao de
manutenibilidade);
5. avaliar o efeito dos cenrios em elementos da arquitetura;
6. revelar interaes de cenrio: quais cenrios afetam o mesmo componente.
28
A descrio da arquitetura foi feita com base nas vises do QADA, nos diagramas de classe
e de interface de cada componente, bem como entrevistas com os desenvolvedores. Ainda, as
variabilidades da arquitetura foram capturadas.
No estudo de caso, 4 categorias de portabilidade e 4 categorias de manuteno foram
definidas, sendo elas:
Categorias de Manuteno:
o Extenses de Features;
o Excluso de Funcionalidades no-desejadas;
o Entrada para Novos Dispositivos;
o Melhorias na Qualidade (Segurana e Desempenho).
Identificao:
Influncia de Fatores Organizacionais em Qualidade de Arquitetura de LP
Proponente(s):
JAKTMAN, C. B. (University of Technology Sidney)
Referenciado Por:
Jaktman, C. B. 1998. The Influence of Organisational Factors on the Success and Quality of
a Product-line Architecture, Proceedings of the Software Engineering Conference, pp. 02-11.
Caractersticas e Limitaes:
Normalmente, as organizaes medem o sucesso de suas LP por meio das vendas de seus
produtos no mercado, ajudando a organizao a determinar a aceitao de seus produtos no
mercado. Porm, tais medidas na maioria das vezes no refletem a qualidade da LP e, em particular,
no refletem diretamente a qualidade da arquitetura de LP. A facilidade com que a arquitetura pode
evoluir um dos fatores que determinam a qualidade da LP.
30
Uma organizao precisa entender os fatores que afetam tanto o sucesso quanto a qualidade
da arquitetura para garantir a capacidade da LP de estar apta s oportunidades de negcio futuras de
maneira eficiente e efetiva de custo.
Uma arquitetura de LP pode ser afetada por vrios fatores durante a sua manuteno,
desenvolvimento e implantao. Os trs maiores fatores que podem influenciar a qualidade da
arquitetura de LP so:
31
Os estudos de caso foram realizados em duas organizaes, sendo que o primeiro foi
realizado em 1997 durou 3 meses, pois no possua documentao da arquitetura de LP - em uma
empresa de telecomunicao e o segundo em 1998 (3 semanas de durao) em uma empresa de
telecomunicao multinacional. As empresas se diferenciaram pelo tamanho dos produtos e os
estilos de gerenciamento.
As tcnicas aplicadas para entender os fatores organizacionais foram: grfico
organizacional, diagrama de comunicao para o fluxo de informao entre a equipe de software e
32
Os fatores que mais contribuem com o sucesso da arquitetura em ambos os estudos de caso
foram:
33
Identificao:
Mtricas de Utilizao de Servios para Avaliao da Estrutura de Arquiteturas de LP
Proponente(s):
VAN DER HOEK, A. (Institute for Software Research University of California - USA)
DINCEL, E. e MEDVIDOVIC, N. (University of Southern California - USA)
Referenciado Por:
van der Hoek, A.; Dincel, E.; Medvidovic, N. 2003. Using Service Utilization Metrics to
Assess the Structure of Product Line Architectures, Proceedings of the 9th International Software
Metrics Symposium, pp. 298-308.
Caractersticas e Limitaes:
Este trabalho foca a avaliao de qualidade de arquitetura de LP por meio de mtricas para
medir o atributo de qualidade chamado structure soundness. A estrutura criada pelos componentes
forma a abstrao central na qual todas as outras informaes a respeito da arquitetura de LP se
baseiam.
Existem algumas mtricas como, por exemplo, fan-in/fan-out e complexidade ciclomtica,
mas so difceis de serem aplicadas diretamente em arquiteturas de LP. Isto se deve por causa de
duas caractersticas herdadas das arquiteturas de LP:
34
Apesar de estas caractersticas serem teoricamente simples por natureza, elas violam as
suposies crticas a respeito de mtricas de software, nas quais o sistema a ser medido
estruturado de forma fixa.
Baseado no conceito de utilizao de servio, que mede o percentual de servios fornecidos
ou requeridos de um componente, as mtricas propostas neste trabalho so capazes de identificar
potencias deficincias estruturais em arquiteturas de LP e guiar o arquiteto na avaliao de
diferentes solues para corrigir tais problemas. As mtricas no revelam se a arquitetura est boa
ou ruim, mas identificam problemas com base em valores relativos. Como exigem a interpretao
humana, as mtricas so informativas.
As mtricas so aplicadas a trs arquiteturas de LP: a primeira uma arquitetura obtida por
engenharia reversa de um curso da Universidade da Carolina do Sul; a segunda uma arquitetura
desenvolvida pelo grupo de estudo dos autores; e a terceira uma arquitetura real fornecida de um
estudo de caso de uma biblioteca.
As mtricas baseiam-se no conceito de servio, que inclui: mtodos pblicos ou funes,
estruturas de dados de acesso direto, e qualquer outro tipo de recurso com acesso pblico. O termo
servio utilizado para evitar a utilizao das mtricas em uma determinada ADL. Pelo contrrio,
fazer um mapeamento das construes das ADLs para o conceito de servio permite aplicar as
mtricas em qualquer ADL em que uma arquitetura de LP possa ser modelada.
Assim, as mtricas definidas so:
Pactual o nmero de servios oferecidos por um componente X que usado por outro
componente da arquitetura e Ptotal o nmero total de servios oferecidos pelo componente X. Ractual
e Rtotal tem significado anlogo aos servios requeridos.
As mtricas RSU e PSU so dependentes de contexto. Um determinado componente pode
ter valores diferentes de PSU e RSU dependendo da configurao particular da arquitetura da qual
este faz parte. Por exemplo, considere a arquitetura da Figura 1a. O componente B fornece servios
ao componente A1 e requer servios do componente C1. Dos 3 servios fornecidos pelo
componente B, somente 1 utilizado pelo componente A1. Assim, PSUB 1/3. Devido ao
componente C1 oferecer somente 1 dos 3 servios requeridos pelo componente B, o RSUB = 1/3.
35
Tais valores so baixos se comparados aos valores da arquitetura da Figura 1b, que so PSUB = 1 e
RSUB = 2/3.
36
Pactual, Ptotal, Ractual e Rtotal so definidos da mesma forma que em PSU e RSU, enquanto n o
nmero de componentes da arquitetura. Nos exemplos da Figura 1a e Figura 1b, os valores de
CPSU so, respectivamente 1/2 e 1, e os valores de CRSU so, respectivamente, 1/2 e 5/6.
As mtricas CPSU e CRSU so usadas para avaliar a coeso interna de uma arquitetura.
Valores prximos de 1 significa que a arquitetura auto-contida, arquiteturas completamente
funcionais. Valores baixos indicam uma arquitetura desbalanceada. Valor baixo de CPSU
combinado com valor alto de CRSU implica que a arquitetura mais ampla do que necessrio, ou
seja, os componentes fornecem mais servios do que realmente precisam para o funcionamento
correto do sistema. Valor alto de CPSU com valor baixo de CRSU indica que a arquitetura est
funcionalmente degradada, ou seja, so necessrios novos componentes.
Com relao a arquiteturas de LP, a opcionalidade deve ser vista de acordo com: o prprio
componente opcional; os outros componentes no-opcionais; e a arquitetura como um todo.
O clculo de PSU e RSU para um componente opcional s interessante se este fizer parte
do produto final, pois pode ser tratado como um componente no-funcional. Porm, quando o
componente includo, a anlise dos componentes no-funcionais deve ocorrer para cada
possibilidade de produtos finais. Por exemplo, a Figura 2 apresenta uma arquitetura com 2
componentes opcionais, D1 e D2. Assim, existem 4 possveis produtos finais:
1. componentes D1 e D2 no so includos na arquitetura final do produto;
2. somente o componente D1 includo na arquitetura final do produto;
3. somente o componente D2 includo na arquitetura final do produto;
4. ambos os componentes D1 e D2 so includos na arquitetura final do produto;
37
Figura 2: Exemplo de Arquitetura com Componentes Opcionais (VAN DER HOEK; DINCEL;
MEDVIDOVIC, 2003).
Dessa forma, os valores PSU e RSU para cada componente no-opcional devem ser
calculados para cada possibilidade de produto final. possvel, assim, analisar se a incluso de cada
componente e o impacto na arquitetura como um todo.
Com relao arquitetura de LP, a variabilidade deve ser vista na perspectiva: do
componente variante; de outros componentes; e da arquitetura como um todo.
A incluso de um componente variante representa um desafio no clculo de PSU e RSU dos
componentes no-variantes. A Figura 3 apresenta um exemplo de arquitetura com componentes
variantes. Da mesma forma, a anlise de PSU e RSU deve ser feita para cada possibilidade.
Para analisar o impacto da variabilidade em toda a arquitetura usado o valor mdio de
CPSU e CRSU. As mdias destas mtricas devem ser mantidas altas, indicando uma arquitetura
altamente coesa.
Uma limitao a falta de orientaes (guidelines) absolutas para saber se uma arquitetura
est estruturada de forma correta.
38
Figura 3: Arquitetura com Componentes Variantes (VAN DER HOEK; DINCEL; MEDVIDOVIC,
2003).
Identificao:
Prometheus: Uma Abordagem para a Modelagem de Qualidade em LP
Proponente(s):
TRENDOWICZ, A. e PUNTER, T. (Fraunhofer Institute for Experimental Software
Engineering - Germany)
Referenciado Por:
Trendowicz, A; Punter, T. 2003. Quality Modeling for Software Product Lines, Proceedings
of the 7th ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering.
Caractersticas e Limitaes:
39
Apesar da existncia de vrios modelos de qualidade como ISO 9126 e o modelo de McCall,
muitos deles dificilmente cobrem os requisitos de flexibilidade, reusabilidade e transparncia.
40
Assim, o modelo SQUID pode ser utilizado, porm GQM deve ser usado para melhorar a fase de
especificao do SQUID, assim como Bayesian Belief Nets pode ser usada para estimativas
qualitativas e quantitativas.
Prometheus uma abordagem de modelagem de qualidade e combina as caractersticas de
vrios modelos existentes com o objetivo de abranger os requisitos de flexibilidade, reusabilidade e
transparncia. A abordagem consiste de 3 fases:
Aps a reviso de vrios modelos de qualidade de software observa-se que nenhum deles
abrange os requisitos no-funcionais de flexibilidade, reusabilidade e transparncia para LP.
Com base nos modelos existentes, foi proposta a abordagem Prometheus para a modelagem
de qualidade em LP. A abordagem propcia s organizaes que desejam realizar avaliaes em
estgios iniciais do desenvolvimento de LP, mesmo no tendo dados anteriores.
A limitao est na falta de detalhes em como analisar os atributos no-funcionais. O
trabalho apresenta somente a abordagem de modo geral e as etapas da especificao, mas no entra
em detalhes de como realizar a avaliao usando a abordagem proposta.
42
Identificao:
O Modelo BAPO para Avaliao de LP
Proponente(s):
VAN DER LINDEN, F. (Philips Medical Systems)
BOSCH, J. (University of Groningen)
KAMSTIES, E. (University of Duisburg-Essen)
KNSL, K. (Nokia Research Center)
OBBINK, H. (Philips Medical Systems)
Referenciado Por:
van der Linden, F.; Bosch,J.; Kamsties, E.; Knsl, K.; Obbink, H. 2004. Software Product
Family Evaluation, Proceedings of the 3rd International Conference on Software Product Lines, pp.
110-129.
Niemel, E.; Matinlassi, M.; Taulavouri, A. 2004. Practical Evaluation of Software Product
Family Architectures, Proceedings of the 3rd International Conference on Software Product Lines,
pp. 130-145.
Caractersticas e Limitaes:
Neste trabalho um framework de avaliao de LP apresentado, bem como um estudo de
caso.
Quatro interesses no desenvolvimento de software so identificados (BAPO), sendo eles:
Organisation:
mapeamento
de
cargos
responsabilidades
da
estrutura
organizacional.
A Figura 1 apresenta o relacionamento de cada um dos interesses.
Cada organizao ter um nvel de avaliao diferente para cada interesse, uma vez que
estes so independentes.
Por meio do framework BAPO, a avaliao coleta e estrutura as caractersticas da unidade
de produo, diviso ou companhia de software. O propsito do modelo servir como um
benchmark efetivo de LP; apoiar a avaliao de LP em termos das unidades, divises ou
43
44
Identificao:
Avaliao Prtica de Arquiteturas de LP
Proponente(s):
NIEMEL, E.; MATINLASSI, M.; TAULAVUORI, A. (VTT Technical Research Centre of
Finland)
Referenciado Por:
Niemel, E.; Matinlassi, M.; Taulavouri, A. 2004. Practical Evaluation of Software Product
Family Architectures, Proceedings of the 3rd International Conference on Software Product Lines,
pp. 130-145.
Caractersticas e Limitaes:
O trabalho investiga os interesses relacionados avaliao de arquiteturas de LP, e apresenta
um mtodo de avaliao que usa informaes empricas coletadas de empresas por meio de
entrevistas estruturais ao longo de revises de artefatos da arquitetura de LP.
Os critrios de avaliao de LP propostos por Niemel e Ihme (2003) representam os
elementos categorizados a serem investigados nas prticas de adoo de LP, bem como esto
baseados no conhecimento obtido de empresas por meio de um conjunto de entrevistas e do
desenvolvimento de vrias arquiteturas baseadas em componentes para sistemas embarcados.
45
A abordagem BAPO (BAN DER LINDEL et al. 2004) identifica as relaes lgicas entre
negcio e arquitetura, e arquitetura e processo. A abordagem FEF d suporte s quatro dimenses
de BAPO e sugere cinco nveis arquiteturais.
O mtodo FAE (Family Architecture Evaluation) foi desenvolvido para ser usado por
empresas e arquitetos de LP que desejam ter um benchmark de sua arquitetura de LP. Ele define
como usar as abordagens citadas na avaliao de arquitetura de LP.
O mtodo FAE inclui quatro passos:
46
47
Trs estudos de caso so apresentados para a dimenso arquitetural de FEF. Alguns pontos
so considerados na realizao dos estudos de caso: o negcio das empresas entrevistadas, prcondies para a arquitetura de LP, o conhecimento do domnio e as variabilidades, e a ligao
entre arquitetura e o processo e a organizao.
Alguns pontos considerados na discusso a respeito dos resultados dos estudos de caso: o
tamanho das empresas, os cargos de negcio, e o tipo dos produtos. Duas empresas eram pequenas
e a outra era mdia. O tamanho da empresa mostrou-se ter grande influncia em como as relaes
da arquitetura para negcio, processo e organizao so gerenciadas. Assim, a abordagem FEF
categoriza as relaes entre arquitetura e as outras dimenses de acordo com o tamanho da empresa
(por exemplo, pequena, mdia, entre outros).
Com relao s mtricas definidas no protocolo de reviso sistemtica, estas foram medidas
e os seus valores so apresentados:
48
o segundo pela arquitetura ser o artefato mais importante de uma LP, bem como a
sua avaliao implicar na avaliao do conjunto de todas as possveis arquiteturas de
produtos gerados a partir da LP;
o terceiro justificado pelo estado da arte, comprovado por esta reviso sistemtica.
Estudos Primrios
Porcentagem
Porcentagem
Encontrados
Selecionados
de Estudos
de Estudos
(Processo de Busca)
(Seleo Preliminar)
Selecionados
Encontrados
ACM
25
01
4%
29,8%
IEEE
49
05
10,2%
58,3%
10
03
30%
84
09
10,7%
Fonte
Google
Scholar
11,9%
100%
49
Com base na Tabela 1 possvel analisar algumas relaes. Uma delas a relao entre o
nmero de estudos primrios encontrados nas fontes, durante o processo de busca, e o nmero de
estudos primrios selecionados, durante o processo de seleo preliminar. O grfico da Figura 8
apresenta esta relao para cada fonte de busca.
51
Um ponto interessante que nenhum trabalho analisado nesta reviso sistemtica abordou a
realizao de experimentos com vistas avaliao de LP, o que se acredita ser um ponto
fundamental na proposta e comprovao de novos modelos e abordagens como as apresentadas
neste trabalho.
Dessa forma, acredita-se que vrios trabalhos no sentido de avaliar LP e suas arquiteturas
podem ainda ser desenvolvidos, principalmente no que se refere realizao de estudos
experimentais para a avaliao de LP.
52
53
Referncias
Biolchini, J.; Mian, P. G.; Natali, A. C. C.; Travassos, G. H. 2005. Systematic Reviews in Software
Engineering, Technical Report ES 679/05, 31 p.
Jaktman, C. B. 1998. The Influence of Organisational Factors on the Success and Quality of a
Product-line Architecture, Proceedings of the Software Engineering Conference, pp. 02-11.
Knodel, J.; John, I.; Dharmalingam, G.; Pinzger, M.; Arciniegas, A. L.; Riva, C. 2005. Asset
Recovery and their Incorporation into Product Lines, Proceedings of the 12th Workshop
Conference on Reverse Engineering, pp. 120-129.
Matinlassi, M. Evaluating the Portability and Maintainability of Software Product Family
Architecture: Terminal Software Case Study, Proceedings of the 4th Working IEEE/IFIP
Conference on Software Architecture, pp. 295-298.
Niemel, E., Ihme, T. 2001. Product Line Software Engineering of Embedded Systems. ACM
SIGSOFT Software Engineering Notes, Vol. 26, No 3 (May 2001). pp. 118-125.
Schmid, K. 2001a. An Assessment Approach to Analyzing Benefits and Risks of Product Lines,
Proceedings of the 25th International Computer Software and Applications Conference on
Invigorating Software Development, pp. 525-530.
Schmid, K. 2001b. A Framework for Product Line Quality Model Development: The PuLSE-Eco
Meta Quality Model, Technical Report No. 047.00/E, 41 p.
Trendowicz, A; Punter, T. 2003. Quality Modeling for Software Product Lines, Proceedings of the
7th ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering.
van der Hoek, A.; Dincel, E.; Medvidovic, N. 2003. Using Service Utilization Metrics to Assess the
Structure of Product Line Architectures, Proceedings of the 9th International Software Metrics
Symposium, pp. 298-308.
van der Linden, F.; Bosch,J.; Kamsties, E.; Knsl, K.; Obbink, H. 2004. Software Product Family
Evaluation, Proceedings of the 3rd International Conference on Software Product Lines, pp. 110129.
54