Beruflich Dokumente
Kultur Dokumente
FACULDADE DE INFORMTICA
Porto Alegre
2006
AGRADECIMENTOS
Ao meu orientador, Prof. Dr. Marcelo Blois Ribeiro, pelo incentivo, pela perseverana nos
momentos difceis e pelo otimismo de que o caminho estava certo. Agradeo principalmente
por ter aceitado o desafio de orientar uma aluna que no podia dedicar integralmente seu
tempo para desenvolver a pesquisa.
Aos professores Dr. Ricardo Bastos e Dr. Toacy Oliveira, que deram suas contribuies ao
longo do desenvolvimento desse trabalho, revisando e criticando os volumes produzidos.
Aos professores Dr Mrcia Campos, minha orientadora no trabalho de concluso do curso
de graduao em Cincia da Computao, e Dr. Michael Mra, que teve pacincia de revisar
os mais diversos assuntos para a prova do POSCOMP, agradeo pelas cartas de recomendao.
Ao professor Dr. Avelino Zorzo que, na condio de coordenador do Programa de PsGraduao, me concedeu uma bolsa de estudos, possibilitando o trmino dessa pesquisa.
Ao meu chefe Eduardo Peres que, mais do que ter me incentivado sugeriu a linha de pesquisa
a ser abordada. Agradeo a compreenso e preocupao ao longo desse perodo e posso dizer que foi mais do que meu diretor, foi meu amigo. E DBServer agradeo por ter apostado
nesta minha qualificao.
Ao meu hoje amigo Arthur Sfreddo, que na condio de meu chefe na PROCERGS, soube
apoiar o meu projeto e acreditar na minha capacidade profissional, mesmo sem nunca antes
ter trabalhado comigo, flexibilizando meus horrios para que eu pudesse assistir s aulas.
Aos colegas do Grupo de Sistemas de Software Inteligentes, que contriburam com suas opinies e idias. Agradeo ao colega Rodrigo Noll pelo nosso trabalho em equipe durante o
desenvolvimento dessa pesquisa. Aos colegas Oscar e Ana Paula no apoio ao desenvolvimento da ferramenta. Tambm a todos os alunos do Programa de Ps-Graduao em Cincia da
Computao que participaram dos experimentos propostos.
A todos os meus amigos que estiveram presentes nesse momento, torcendo, me incentivando e
ajudando das mais diversas maneiras. Principalmente, ao amigo Ricardo Angrisani, que junto comigo acreditou ser possvel concluir o mestrado. Ao meu quase irmo Tasso que certamente foi a grande inspirao para eu tambm querer o ttulo de mestre! Silvana e ao Mauricio que quase diariamente me escutaram e deram fora. ngela, Carol, Tanara, Andr,
Cssio, Ed, Eduardo, Pescoo e Marcus que ouviram muitos: No posso ir. E a minha cunhada e amiga Janise que se disps a revisar esse trabalho.
minha famlia agradeo pelo apoio incondicional. Ao tio e a me por todo carinho e incentivo, segurando minha onda nos momentos difceis. Ao meu pai, pela torcida. As minhas irms, pela presena. A minha tia, que diz que algo est a minha espera aps a concluso desse trabalho. E ao orgulho que meus avs tem pela neta.
E, especialmente, ao meu amigo alm de namorado, Olavo, pela ajuda nos trabalhos, por
compreender as ausncias e pela paz e segurana que me transmitiu nos meus momentos de
dvida.
RESUMO
ABSTRACT
LISTA DE FIGURAS
LISTA DE TABELAS
LISTA DE FRMULAS
LISTA DE ABREVIATURAS
GQM
JSP
JavaServer Pages
OO
Orientao a Objetos
OWL
PLN
RUP
SLOC
TIAM
UML
XML
SUMRIO
1
2
INTRODUO .......................................................................................................................................... 17
REFERENCIAL TERICO ..................................................................................................................... 19
2.1 ONTOLOGIA .............................................................................................................................................. 19
2.2 ONTOLOGIA E PROCESSO DE DESENVOLVIMENTO DE SOFTWARE ............................................................ 21
2.3 PROJETO DE MANUTENO DE SOFTWARE................................................................................................ 22
2.4 RASTREABILIDADE ................................................................................................................................... 23
2.5 ANLISE DE IMPACTO .............................................................................................................................. 25
2.5.1
Modelos de Anlise de Impacto ..................................................................................................... 26
2.5.1.1
2.5.1.2
3.3.2
Uso da Complexidade de Artefato ................................................................................................. 46
3.4 INFLUNCIA DO CONCEITO DA ONTOLOGIA NOS ARTEFATOS.............................................................. 49
3.5 INFLUNCIA DO TIPO DE DIAGRAMA NA ANLISE DE IMPACTO ................................................................ 52
3.6 INFLUNCIA DO TIPO DE MUDANA NA ANLISE DE IMPACTO .................................................................. 53
3.6.1
Tipo de Mudana de Regras de Negcio ....................................................................................... 54
3.6.2
Tipo de Mudana Estrutural .......................................................................................................... 55
3.6.2.1 Alterao de um conceito da ontologia. ..................................................................................................... 55
3.6.2.2 Incluso de um conceito na ontologia........................................................................................................ 57
3.6.2.2.1
Incluso de conceito do tipo dataTypeProperty .............................................................................. 57
3.6.2.2.2
Incluso de conceito do tipo class ...................................................................................................59
3.7.2
Clculo da Influncia do Relacionamento entre Conceitos ........................................................... 64
METODOLOGIA PARA ANLISE DE IMPACTO DE MUDANA ................................................ 67
4.1 GERAR ONTOLOGIA DO REQUISITO DE MUDANA ................................................................................... 68
4.2 IDENTIFICAR CONCEITOS NA ONTOLOGIA DO SISTEMA ............................................................................. 69
4.3 RASTREAR ARTEFATOS ............................................................................................................................ 71
4.3.1
Relao Conceito-Artefato ............................................................................................................ 72
4.3.1.1
4.3.1.2
4.3.2
Relao Conceito-Conceito ........................................................................................................... 76
4.4 LISTAR ARTEFATOS .................................................................................................................................. 79
4.5 FERRAMENTA........................................................................................................................................... 80
4.6 EXEMPLO DE APLICAO DA METODOLOGIA ............................................................................................ 83
4.6.1
Gerar Ontologia do Requisito de Mudana................................................................................... 84
4.6.2
Identificar Conceitos na Ontologia do Sistema ............................................................................. 87
4.6.3
Rastrear Artefatos.......................................................................................................................... 89
4.6.4
Listar e Calcular a Probabilidade dos Artefatos ........................................................................... 96
5
VALIDAO DA METODOLOGIA ...................................................................................................... 99
5.1 DEFINIO ............................................................................................................................................... 99
5.1.1
Objetivo Global ........................................................................................................................... 100
5.1.2
Objetivo do Estudo ...................................................................................................................... 100
5.1.3
Objetivo da Medio ................................................................................................................... 100
5.1.4
Questo ........................................................................................................................................ 101
5.1.5
Mtricas ....................................................................................................................................... 101
5.2 PLANEJAMENTO ..................................................................................................................................... 102
5.2.1
Seleo do Contexto .................................................................................................................... 102
5.2.2
Formulao das Hipteses .......................................................................................................... 103
5.2.3
Seleo das Variveis .................................................................................................................. 104
5.2.3.1
5.2.3.2
5.2.4
5.2.5
5.2.5.1
5.2.5.2
5.2.6
5.2.7
5.2.7.1
5.2.7.2
5.2.7.3
5.2.7.4
16
17
INTRODUO
A fase inicial do ciclo de vida de um produto de software o processo de desenvolvimento, aonde ir se construir o sistema desejado pelo cliente. Quando esta finalizada,
inicia-se a manuteno do produto que, segundo a organizao do Workshop de Manuteno
de Software Moderna (WMSWM)[WMS04], a fase do ciclo de vida do software que consome mais recursos, sendo responsvel por aproximadamente 90% do custo total deste. Isso
se d por vrios motivos, dentre eles mudanas tecnolgicas, alterao de necessidades do
usurio e falhas encontradas aps sua instalao.
Para tentar manter a qualidade do produto e conseguir estimar o esforo e tempo
necessrios para realizar uma mudana no software, preciso que se tenha uma maneira otimizada para descobrir todas as partes do sistema que sero afetadas pela alterao. Essas podem ser obtidas por um modelo de anlise de impacto, que ir determinar de que forma os
artefatos so impactos e qual a probabilidade disso ocorrer. Existem diversas pesquisas nessa
rea, com propostas que visam encontrar o conjunto de artefatos impactados mais prximo da
realidade, ou seja, encontrar com preciso os elementos que sero efetivamente modificados.
Para que seja possvel obter esse conjunto, necessrio possuir um mecanismo de
rastreabilidade que suporte a anlise de impacto. Um autor que se destaca em pesquisas nesse
sentido Bohner[BOH96] com diversos artigos e livro publicados. Ele props uma metodologia de anlise de impacto, rastreando os artefatos atravs das ligaes entre eles, representadas
em um grafo de conectividade. Outro trabalho interessante foi realizado por ONeal[ONE03],
onde a probabilidade de impacto nos artefatos determinada e a rastreabilidade feita atravs
dos requisitos do sistema.
Outro mtodo utilizado para realizar o rastreamento de artefatos faz uso de mecanismos semnticos para tal, visando uma maior assertividade para encontrar o conjunto de
elementos que sero alterados. Atravs de pesquisa realizada por Noll[NOL05a], notou-se que
ontologias poderiam ser integradas ao processo de desenvolvimento de software e, atravs de
seus conceitos, realizar a rastreabilidade semntica dos artefatos. Uma das contribuies de
18
utilizar ontologia nesse contexto que esta permite integrar os elementos produzidos, desde a
modelagem de negcio, at a anlise e projeto.
Considerando-se que o uso desse tipo de rastreabilidade traria ganho para encontrar mais precisamente os artefatos modificados a partir de um requisito de mudana, foi desenvolvida uma metodologia para anlise de impacto baseada em ontologias. Essa responsvel por identificar as alteraes que ocorrem na ontologia do sistema e assim mensurar a probabilidade de impacto em cada um dos artefatos.
Para a construo dessa proposta, buscou-se compreender o que so, o que representam e como as ontologias se integram ao processo de desenvolvimento de software. Pesquisou-se saber tambm, como definida a fase de manuteno de um produto, onde diversos
requisitos de mudana so solicitados. Sendo a diferena entre rastreabilidade e anlise de
impacto bastante tnue, procurou-se estabelecer fortemente as diferenas entre elas. Ainda
como parte do referencial terico, abordado no captulo 2, estudou-se a disciplina de Engenharia de Software Experimental com a finalidade de utiliz-la como base para o experimento
de validao dessa proposta.
Com a inteno de conhecer quais os mecanismos utilizados para realizar a rastreabilidade de artefatos atravs da ontologia, foram estudadas a Engenharia Ontolgica e a rastreabilidade semntica. Com o auxilio desse estudo, presente no captulo 3, foi possvel determinar as influncias que uma mudana na ontologia do sistema exerce sobre os artefatos
relacionados aos conceitos desta.
Surgiu ento, a metodologia que ser apresentada no captulo 4 dessa proposta, estabelecendo os passos necessrios para realiz-la, cuja principal contribuio a de possibilitar maior preciso para realizar a anlise de impacto de um requisito de mudana. Para automatizar essa tarefa, foi desenvolvida uma ferramenta onde, uma vez determinada a influncia
existente entre conceitos, artefatos e tipos de mudana, possvel identificar os elementos
com maior probabilidade de serem impactados. O experimento realizado para validao da
metodologia apresentado no capitulo 5, considerando todos os passos necessrios para seu
desenvolvimento. Por fim, so feitas algumas consideraes e sugeridos alguns trabalhos futuros.
19
REFERENCIAL TERICO
Esse captulo descreve o referencial terico deste trabalho expondo os conhecimentos necessrios para entendimento do problema e para a soluo. Primeiramente preciso
saber o que as ontologias representam e qual sua integrao com o processo de desenvolvimento de software, sendo aqui utilizado o Rational Unified Process (RUP). Tambm necessrio conhecer a fase do ciclo de vida do software caracterizada por projetos de manuteno
deste, com relao rastreabilidade e ao impacto causado por uma requisio de mudana no
sistema. A Engenharia de Software Experimental descrita, j que essa tem como objetivo
validar propostas da rea de engenharia de software atravs de experimentos.
2.1
ONTOLOGIA
Um processo de construo de ontologia, no que diz respeito Cincia da Computao, representa, segundo Gruber[GRU93], a aquisio do conhecimento a partir de dados
semi-estruturados utilizando um conjunto de mtodos, tcnicas ou processos automticos ou
semi-automticos. Esse termo teve origem na computao atravs da rea de Inteligncia Artificial, que considera a representao atravs da ontologia similar a como o conhecimento humano representado. Segundo Fensel[FEN00], ontologias so desenvolvidas para facilitar o
compartilhamento e reuso de informaes.
Essa facilidade para compartilhamento de informaes foi a principal razo para
sua utilizao. Afirma-se ainda que a ontologia mais que um vocabulrio padro e mais do
que uma taxonomia, uma vez que assegura que os termos escolhidos so suficientes para especificar e definir conceitos, bem como o relacionamento entre eles, e que inclui a expresso
exata do domnio especfico do conhecimento.
20
Gruber[GRU93] definiu ontologia como sendo uma representao formal do conhecimento que baseada em uma conceituao. Ele afirma que se pode descrever uma ontologia pela definio de um conjunto representacional de termos. Essa definio compe-se de
associaes entre nomes de entidades do universo de discurso, formado pelo conjunto de objetos que podem ser representados. Esse conjunto pode ser composto por classes, relacionamentos ou funes, descritos atravs de um texto com seus significados, e com axiomas formais, responsveis pela restrio da interpretao e pela boa formao no uso das associaes.
A estrutura de dados de uma ontologia equivalente a um grafo. Cada nodo um
conceito que segundo Geller[GEL04] corresponde a palavras ou frases curtas, sendo tipicamente correspondente a substantivos. Esses conceitos so conectados uns aos outros, sendo o
relacionamento mais importante o do tipo -UM. Alguns nodos possuem outras informaes
relacionadas, podendo ser atributos, relacionamentos ou regras. A figura 1 abaixo exemplifica
uma ontologia em termos de conceitos, relacionamento e regras.
beagle
schanuzer
raa
cachorro
-UM
animal
poodle
Figura 1 Exemplo de ontologia.
21
Tendo em vista que a comunicao entre os requisitos determinada durante o
processo de desenvolvimento de software, na prxima seo a integrao de ontologias a este
caracterizada.
2.2
Um processo de desenvolvimento de software pode ser definido, segundo Sommerville[SOM03], como um conjunto de atividades e resultados associados que geram um
produto de software. Utilizando o paradigma de orientao a objetos e os conceitos da Unified
Modeling Language (UML), foi proposta por Jacobson, Booch e Rumbaugh uma metodologia
de desenvolvimento de software unificada, o RUP.
Dentre os objetivos do RUP esto o aumento da produtividade e maior qualidade
do produto de software produzido. Para que tais metas sejam alcanadas, ele deve ser configurado para cada empresa ou projeto que desejem utiliz-lo. Isso possvel uma vez que o RUP
pode ser considerado um framework para processos de desenvolvimento de software.
O RUP dividido em quatro fases distintas, com objetivos especficos: concepo
(definio do escopo), elaborao (definio da arquitetura), construo (desenvolvimento) e
transio (implantao do produto). Tido como um processo incremental e iterativo, cada uma
dessas fases pode suportar uma ou mais iteraes. Cada uma dessas iteraes possui fluxos
especficos de trabalhos definidos pela metodologia, sendo eles: modelagem de negcios, requisitos, anlise e projeto, implementao, testes e implantao, que compem o fluxo de trabalho de engenharia, alm da gerncia de projetos, gerncia de configurao e mudanas e
configurao de ambiente, que fazem parte do fluxo de trabalho de suporte.
A integrao de ontologias no processo de desenvolvimento de software foi estudada e proposta por Noll[NOL05b]. Em seu trabalho, ontologias so relacionadas ao modelo
de domnio, que est inserido na disciplina de modelagem de negcio do RUP. Esse modelo
descreve os conceitos e relacionamentos relativos a uma rea de interesse. nesse aspecto
que ontologias e modelos de domnio assemelham-se. ento proposta a gerao da ontologia
do problema atravs do modelo de domnio. Com a ontologia integrada ao processo de desenvolvimento, tem-se uma maneira de conectar semanticamente diversos recursos, utilizando
tcnicas de inteligncia artificial, segundo Kogut[KOG02].
22
Ao final do processo de desenvolvimento de software obtm-se um produto. Aps
este ter sido implantado, dado incio a uma nova fase do ciclo de vida, que a de manuteno. Tudo aquilo que foi aprendido e produzido durante o processo de desenvolvimento,
extremamente necessrio para que se possa mant-lo. A seguir, sero abordadas as caractersticas de um de projeto de manuteno e conceitos como rastreabilidade e anlise de impacto
que esto relacionados maneira como os artefatos gerados durante o projeto podem ser acessados satisfatoriamente.
2.3
23
Relacionado a esse ltimo motivo, esto as definies de rastreabilidade e de anlise de impacto de uma mudana dadas por Bohner[BOH96]. O primeiro pode ser definido
como a possibilidade de rastreamento entre os artefatos de software e seus componentes que
so gerados e modificados durante o ciclo de vida do produto. J a anlise de impacto pode
ser definida como a identificao das conseqncias de uma alterao ou estimativa do que
necessrio para realizar uma mudana. Esses aspectos sero apresentados a seguir, considerando as mudanas relativas a manutenes corretivas e evolutivas, j que essas geram requisitos de mudana funcionais, que so aqueles que representam as funcionalidades do sistema.
2.4
RASTREABILIDADE
Outras definies de rastreabilidade de requisitos foram dadas por Pearson[PEA96]: rastreamento de requisitos a habilidade de rastrear os requisitos do usurio
atravs do processo de desenvolvimento, desde o levantamento de requisitos at a entrega do
produto de software. J Gotel e Finkelstein[GOT94] defendem que o rastreamento de requisitos a habilidade de descrever e seguir a vida de um requisito, tanto para frente quanto para
trs, ou seja, desde a sua origem, passando pela especificao e desenvolvimento, at sua entrega e uso; atravs de perodos de refinamento e iteraes em qualquer uma dessas fases.
Atravs dessas definies, pode-se concordar com Palo[PAL03], que diz que uma
das importncias de se ter um mtodo para que um requisito seja rastreado que quando este
necessitar de alterao, encontre-se todos os artefatos ligados ele e que sero afetados pela
mudana. Outra caracterstica importante no rastreamento, que este pode dar toda a informao sobre as justificativas, decises importantes e suposies sobre o requisito.
Foi estudado por Castor[CAS04] fatores que justificam a utilizao do rastreamento de requisitos. Dentre os mais importantes esto:
a) Qualidade de software: uma das definies dada por Brooks[BRO87], que
diz que a qualidade a conformidade dos requisitos. Dessa forma, normas tais
como Capability Maturity Model for Software (CMM) exigem disciplinas de
rastreamento de requisitos. No CMM, esta consta no nvel dois de maturidade;
b) Anlise de impacto: no decorrer do processo de desenvolvimento de software,
muitas vezes ocorrem solicitaes de mudanas de requisitos. Com o uso do
rastreamento de requisitos possvel verificar quais artefatos sero impactados
24
pela mudana, podendo ser analisado se essa vivel ou no, uma vez que o
esforo e tempo para ser realizada podem ser estimados;
c) Manuteno de software: tendo em vista os projetos de manuteno de um
software, o rastreamento dos artefatos torna-se essencial, uma vez que custos e
esforos para efetivar a alterao podem ser determinados com maior preciso.
Sem um mtodo para rastrear os artefatos que sero afetados, so necessrios a
opinio e conhecimento de projetistas ou programadores, que muitas vezes
podem no mais fazer parte da equipe de manuteno do sistema.
Segundo Gotel e Finkelstein[GOT94], apesar do nmero de ferramentas que suportam o rastreamento de requisitos terem aumentado, a teoria necessria para que sejam utilizadas no tem sido amplamente estudadas. Com isso, a maioria dessas ferramentas descobre
e grava a maior quantidade de informao possvel sobre o processo de engenharia de requisitos e faz relacionamentos entre essas informaes para poder recuper-las. O problema, ainda
segundo Gotel e Finkelstein[GOT94], que isso pode levar a uma dificuldade de usar essa
informao, ainda mais se no existir um teste de usabilidade justificado destas, para que os
usurios tenham acesso efetivo e satisfatrio.
Alguns tipos de rastreabilidade foram estudados por Brooks[BRO87]. Um requisito pode ser rastreado pela sua direo e evoluo, entre outros:
a) Direcional: pode ocorrer pra frente (rastreamento para frente a habilidade
de rastrear um requisito para componentes de projeto ou implementao) ou
para trs (rastreamento para trs a habilidade de rastrear um requisito para
sua fonte, isto , para uma pessoa, instituio, lei, argumento). O primeiro tipo
de rastreamento utilizado quando h necessidade de saber o impacto da alterao. J o segundo, usado quando, dada uma alterao, necessita-se compreend-la desde sua origem;
b) Evolutiva: um rastreamento do tipo pr-especificao utilizado quando, ainda na fase de construo da especificao, necessrio localizar as fontes dos
requisitos ou pessoas responsveis por este. Um tipo de rastreamento psespecificao realizado depois de todos os requisitos do sistema terem sido
levantados e usado, por exemplo, para relacionar todos os planos de testes
desenvolvidos para atacar aquele requisito em especfico e ento determinar se
estes tambm precisam ser modificados.
Ao longo dos anos, foram realizadas pesquisas com o intuito de propor modelos
de rastreabilidade de requisitos. Segundo Brooks[BRO87], o rastreamento de requisitos tradi-
25
cional consiste em estabelecer relacionamentos bidirecionais entre requisitos e demais artefatos produzidos num processo de desenvolvimento de software. Podem-se citar como trabalhos
relevantes os propostos por Gotel e Finkelstein[GOT94], Ramesh e Jarke[RAM01] e Toranzo
e Castro[TOR99].
Definindo-se um modelo para rastrear os requisitos ao longo do processo de desenvolvimento de software, e tambm na fase de manuteno do produto, possvel determinar o impacto que uma mudana ter no sistema. Ou seja, possvel determinar previamente
todos os artefatos que sero alterados, qual o esforo para esse trabalho e quanto tempo ser
necessrio. Na seo seguinte ser abordada a disciplina de anlise de impacto, visando a diferenciao entre esta e a rastreabilidade.
2.5
ANLISE DE IMPACTO
26
A anlise de impacto pode ser vista atravs de dois ngulos, propostos por
ONeal[ONE03]: atravs da abordagem de anlise de dependncia e da anlise de rastreabilidade. A primeira a anlise do relacionamento entre partes do cdigo fonte, visando descobrir quais partes deste sero afetadas pela alterao. Essa abordagem permite que as relaes
sejam estabelecidas ao verificar o cdigo fonte. A segunda preocupa-se em analisar o relacionamento entre artefatos produzidos nas diversas fases do processo de desenvolvimento do
sistema, o que permite uma viso mais ampla do impacto da mudana no sistema como um
todo. Para que seja possvel o uso dessa abordagem necessrio que os artefatos tenham sido
previamente relacionados.
Diversos autores propuseram modelos para determinar a anlise de impacto de
uma mudana, que so apresentados na subseo seguinte.
27
28
dos durante a anlise do requisito de mudana. O conjunto candidato ao impacto (CCI) so os
objetos que provavelmente sero afetados pela mudana. Estes so determinados quando a
mudana rastreada entre os artefatos. O conjunto real de impacto (CRI) so os OCVs que
realmente sero alterados. Esse processo considerado iterativo, pois enquanto uma alterao
est sendo executada, podem-se encontrar outros objetos que so impactados que no foram
previstos anteriormente. Esses novos objetos impactados formam o conjunto de impactos descobertos (CID), que representa uma sub-estimativa. Em oposio a este, tem-se o conjunto
falso positivo de impacto (CFPI), representando uma super-estimativa.
De posse dessas variveis, podem-se determinar quais objetos sero alterados, ou
seja, o CRI a soma do CCI, ou os objetos candidatos a alterao, e CID, isto , os artefatos
que foram encontrados posteriormente, menos CFPI, ou seja, os artefatos que inicialmente
pensou-se que seriam afetados. A frmula 1 mostra como realizado esse clculo.
CRI = CCI + CID - CFPI
Frmula 1 Artefatos que sero alterados
29
OCV0
OCV9
OCV1
OCV8
OCV2
OCV7
OCV3
OCV6
OCV4
OCV5
Figura 4 Grafo com relacionamento entre objetos do ciclo de vida do software (OCV)
OCV 0
OCV 1
OCV 2
OCV 3
OCV 4
OCV 5
OCV 6
OCV 7
OCV 8
OCV 9
OCV0 OCV1 OCV 2 OCV 3 OCV 4 OCV 5 OCV 6 OCV 7 OCV 8 OCV 9
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Segundo Bohner[BOH02], pode-se gerar um grafo de alcance a partir de uma matriz de conectividade, como a mostrada na tabela I, usando algoritmos de fechamento transitivo. O problema que, embora um grafo de alcance possa indicar o potencial impacto de um
artefato em outro, esse grafo tende a mostrar que todos os objetos esto conectados, direta ou
indiretamente. Por isso, necessrio outro tipo de informao estrutural, como por exemplo,
qual o nvel de relao entre os objetos. Observando o grafo da figura 4 pode-se perceber que
30
o OCV1 e OCV8 tm nvel trs de relao, ou seja, necessrio passar por outros dois objetos
(OCV4 e OCV7) e trs conectores para se relacionarem. Com essa relao, o autor afirma que
os artefatos que possuem relacionamento direto, potencialmente sero impactados e os artefatos mais distantes provavelmente no sofrero alterao.
O autor faz distino entre duas abordagens, uma baseada na estrutura e outra na
semntica. O que foi descrito at aqui faz parte da abordagem estrutural. Segundo ele, a importncia da abordagem semntica se d com a inteno de aumentar a preciso ao determinar
os objetos afetados. Tendo como base a orientao a objetos e os artefatos produzidos ao longo do processo de desenvolvimento, o autor sugere que sejam analisados os nomes de cada
um desses artefatos e de suas relaes. A tcnica proposta por ele extrai os substantivos (dos
dados dos objetos) e verbos (de funes e mensagens, por exemplo) para que se obtenha a
lista de artefatos candidatos. Um dos pontos fracos desse mtodo que quando os nomes dados aos artefatos so ambguos ou as convenes para esses so fracas, no possvel realizar
o rastreamento atravs da semntica.
Na proposta de Bohner[BOH02], no so apresentados resultados que validem o
mtodo por ele apresentado. Sem a validao, no possvel certificar-se de que realmente
todos os artefatos impactados por uma mudana so encontrados atravs desse mtodo.
A metodologia proposta por ONeal[ONE03], est inserida no processo de desenvolvimento de software, mais especificamente na disciplina de Engenharia de Requisitos.
Quando existe a solicitao de mudana de um requisito, esse analisado de forma a estabelecer o impacto nos demais objetos do projeto a ele relacionados. A metodologia de anlise de
impacto para requisitos de mudana denominada Trace-based Impact Analysis Methodology
(TIAM), avalia um conjunto de requisitos de mudana. A finalidade prever o efeito que um
conjunto de alteraes ter em requisitos j estveis, onde provavelmente o trabalho j esteja
finalizado. Algumas premissas so assumidas:
a) Requisitos funcionais do produto so rastreveis;
b) possvel fazer a rastreabilidade para frente, ou seja, a partir do requisito
pode-se chegar a outros artefatos, at, por exemplo, ao cdigo fonte;
c) Todos os artefatos esto disponveis e esto atualizados;
31
d) A equipe do projeto ter informado qual a influncia de um artefato sobre outro, bem como a sua complexidade;
e) O processo de desenvolvimento utilizado permita a construo por mdulos,
dando preferncia para um paradigma de orientao a objetos.
O rastreamento entre os objetos representado por um conjunto denominado pelo
autor como Work product Requirements trace Model (WoRM), que composto por outros
dois conjuntos: Work product Information Model (WIM), que contm todos os artefatos produzidos ao longo do projeto e o Requirements change Information Model (RIM), composto
por todos os requisitos de mudana. Os modelos WIM e RIM relacionam-se, de forma que
toda alterao solicitada para um requisito de mudana aponta para o referido requisito. Por
sua vez, o requisito aponta para outro artefato e assim sucessivamente. A figura 5 demonstra
esses relacionamentos:
32
qual o esforo para produzi-lo, medido em homens/hora e em qual fase de desenvolvimento
encontra-se o artefato, uma vez que mais difcil alter-lo nas fases finais de desenvolvimento, segundo Schach[SCH99]. Deve-se ainda, estabelecer o grau de influncia que um artefato
exerce sobre outro. Alm da influncia entre os artefatos, preciso determinar a influncia
que a mudana tem sobre o requisito a ela associado. A figura 6 mostra como os produtos de
trabalho se relacionam e qual o grau de influncia entre eles.
33
De posse dos modelos WIM e RIM, dos pesos dos artefatos e dos valores de influncia entre eles, calculam-se as mtricas de impacto para cada um dos requisitos de mudana, representando a probabilidade de impacto. As mtricas so ento agrupadas em conjuntos conforme a similaridade de impacto, a partir de um grau de similaridade. Por exemplo,
se o ponto de corte de similaridade for de 70%, todos os requisitos de mudana que obtiverem
a mtrica maior ou igual a esse ponto, formaro um conjunto. As demais sero armazenadas
em outro. Em de cada um desses conjuntos, as mtricas so ordenadas de forma decrescente.
A aplicao da metodologia TIAM caracteriza as mudanas baseadas no nvel de impacto de
cada uma delas.
A metodologia de ONeal[ONE03] interessante, pois possui mecanismos para
determinar os artefatos que so potencialmente afetados por uma mudana. Alm disso, seu
uso foi experimentado e validado com alunos de graduao de um curso de engenharia de
software da Universidade de Lousiana, Estados Unidos. O ponto fraco est na rastreabilidade
entre os artefatos, uma vez que estruturalmente realizada e no possui semntica. O autor
tambm no prope um mtodo para calcular a influncia que um artefato exerce sobre outro,
sendo esta atribuda a um especialista, sem parmetros nos quais possa se basear.
34
Na prxima seo, ser abordada a Engenharia de Software Experimental. Tem-se
como objetivo apresentar essa linha de pesquisa, que est inserida na engenharia de software,
visando sua utilizao para, atravs de um experimento, analisar qual o impacto de uma mudana rastreada atravs de conceitos de uma ontologia.
2.6
35
O mtodo experimental (de maior importncia para o presente trabalho), segundo
Travassos, Gurov e Amaral[TRA02] inicia-se com o levantamento de um modelo novo, existente ou no, e estuda o efeito do processo ou produto a partir desse modelo, podendo ser analisado quantitativa ou qualitativamente.
Esse tipo de mtodo tem como base as variveis, os objetos, os participantes, o
contexto do experimento, as hipteses e o tipo de projeto do experimento. As variveis podem
ser dependentes, que se referem sada do processo, ou independentes, que se refere entrada
do processo.
O objeto usado para verificar a causa e efeito numa teoria e juntamente com o
sistema de medio, compem a instrumentao do experimento. Os participantes so as pessoas selecionadas para realizar o experimento. necessrio observar que, para um experimento ser considerado generalizado para uma populao alvo, os participantes escolhidos devem
ser representativos. O contexto do experimento refere-se as condies onde este ser aplicado,
ou seja, se ser in-vitro (laboratrio) ou in-vivo (projeto real); alunos ou profissionais; problema de sala de aula (toy example) ou problema real; especifico (contexto particular) ou geral (para toda Engenharia de Software).
Talvez o aspecto mais importante do experimento d-se pela escolha das hipteses, que so dividas entre a hiptese nula (que a principal) e as hipteses alternativas. A hiptese nula nega o relacionamento estatisticamente significante entre a causa e o efeito. Sendo
assim, o objetivo do experimento neg-la a favor de uma hiptese alternativa.
Outros aspectos centrais de um experimento correspondem medio e a validade. Atravs delas, o mapeamento entre o mundo experimental e o mundo formal ou relacional
feito. A validade diz respeito aos resultados do experimento e pode ser classificada em validade de concluso, onde se valida o relacionamento entre o tratamento (teste estatstico, escolha dos participantes, confiabilidade da medida) e o resultado do experimento; validade interna, se o resultado causal e no foi manipulado por influncia de variveis no controladas;
validade de construo, onde so avaliados os aspectos importantes do experimento e o fator
humano, no que diz respeito ao comportamento dos participantes e do experimentador; e a
validade externa, onde limitada a habilidade de generalizar os resultados de um experimento
para prtica industrial.
A seguir, sero apresentadas as fases necessrias para realizao um experimento,
propostas por Travassos, Gurov e Amaral[TRA02]:
a) Definio: o experimento expresso em termos de problemas e objetivos. Os
objetivos so separados em objetivo global, objetivo da medio e objetivo do
36
estudo. sugerido o uso da tcnica GQM (Goal, Question, Metric) para determinar os objetivos;
b) Planejamento: o projeto do experimento determinado, a instrumentao
considerada e os aspectos da validade do experimento so avaliados. preciso
realizar a seleo do contexto, formular as hipteses, selecionar as variveis,
selecionar os participantes, projetar o experimento, fazer a preparao conceitual da instrumentao e fazer a considerao da validade do experimento;
c) Execuo: os dados so coletados. Os participantes devem passar por uma
preparao antes do inicio da execuo. Tambm feita a validao preliminar dos dados;
d) Anlise e interpretao: so realizadas a anlise e interpretao dos dados e
feita concluso sobre a possibilidade de rejeio da hiptese nula. Os passos
que devem ser executados so: validao dos dados, estatstica descritiva, aplicao do teste estatstico, anlise quantitativa e qualitativa e verificao das
hipteses;
e) Apresentao e empacotamento: os resultados obtidos so apresentados e empacotados. O empacotamento importante, pois necessria a repetio do
experimento, para poder avaliar os resultados comparando-se com o experimento original. Atualmente, essa fase do experimento no possui normas internacionais aprovadas.
37
38
seguir, demonstrando o clculo do impacto para cada uma e analisando as variveis que se
relacionam a elas. Alm dessas, sero tambm discutidas algumas variveis utilizadas por
ONeal em sua metodologia, estabelecendo sua ligao com a presente proposta.
3.1
ENGENHARIA ONTOLGICA
A proposta de Noll[NOL05b] estende o RUP para que este passe a integrar em suas disciplinas a Engenharia Ontolgica. Esta nova disciplina responsvel por construir a
ontologia e atualiz-la ao longo do processo de desenvolvimento, visando manter a integridade das informaes produzidas durante o projeto.
Baseado em propostas da rea de Engenharia Ontolgica, o autor prope atividades que sero realizadas em cada fase da disciplina, a saber Projeto, Manuteno e Validao
da ontologia. Essas atividades so executadas por um ator que tambm responsvel pelos
artefatos produzidos e por organizar as iteraes. A tabela II mostra como as atividades so
distribudas nas fases.
Tabela II Atividades por fase da Engenharia Ontolgica.
Atividade
Definio do escopo da ontologia.
Projeto
Aquisio e explicao dos conceitos do domnio
Formalizao dos conceitos
Integrao s ontologias existentes (se preciso)
Manuteno
Definio de axiomas
Validao
Validao
Fase
39
A fase de Validao deve ser realizada a cada iterao do ciclo de desenvolvimento com a finalidade de avaliar a integridade, a completude e a corretude da ontologia em relao ao modelo lgico do projeto.
A integrao da Engenharia Ontolgica com o RUP dada pela figura 8 onde
Noll[NOL05b] insere a nova disciplina entre as existentes originalmente. Segundo ele, o incio dessa disciplina ocorre logo aps o comeo da disciplina de Modelagem de Negcio, pois
nela que se estabelece, em nvel conceitual, o universo de discurso. Alm disso, a maior
parte das atividades dessa nova disciplina est concentrada entre as fases de iniciao e de
elaborao uma vez que nesse momento que os conceitos do domnio so definidos.
Para realizar a anlise de impacto baseada na rastreabilidade por ontologias imprescindvel que a Engenharia Ontolgica faa parte do processo de desenvolvimento. Com a
ontologia sendo gerada, mantida e validada ao longo do ciclo de vida do projeto, possvel
estabelecer elos de rastreabilidade entre os conceitos da ontologia e artefatos produzidos no
decorrer do uso do RUP. A seo a seguir descreve como estruturada a rastreabilidade com
o uso de ontologia.
40
3.2
41
o entre conceitos e artefatos, pode-se buscar o conjunto de elementos que esto relacionados a um mesmo conceito, possibilitando o conhecimento de todos os artefatos que sero impactados por uma alterao.
Utilizando o exemplo dado pelo autor, o caso de uso Registrar compra, pode estar associado a conceitos como cliente, compra, produto. Outro caso de uso, Cadastrar
cliente, relaciona-se com o conceito cliente. Tem-se ento um relacionamento entre os
casos de uso indexados pelo conceito cliente.
O rastreamento de artefatos pode ocorrer em outros nveis, alm do relacionamento direto apresentado no exemplo anterior. Se conceitos da ontologia possurem, por exemplo,
relacionamentos no taxonmicos, os artefatos associados a esses conceitos podem se relacionar. Supondo que o caso de uso Cadastrar funcionrio esteja associado ao conceito funcionrio, e o caso de uso Cadastrar cliente esteja associado ao conceito cliente, se os conceitos funcionrio e cliente estiverem relacionados por uma propriedade, talvez um caso
de uso seja afetado por uma mudana no outro.
Nas sees seguintes, sero estabelecidas as influncias que elementos da ontologia possuem, dependendo do tipo de mudana, relacionamento e artefatos associados.
3.3
42
3.3.1 Complexidade de Artefato
Nesses mais de trinta anos de pesquisa na rea de mtricas, a importncia do desenvolvimento de projetos de software teve um crescimento bastante acentuado. O aumento
dessa importncia faz com que haja mais requisitos intrnsecos ao projeto. Desta forma, necessrio que exista um controle mais preciso tanto no processo de desenvolvimento quanto no
produto a ser entregue. Isso se faz necessrio, pois a maioria dos projetos atrasa, estouram o
oramento ou no possuem a qualidade desejada pelo cliente. Uma forma de evitar ou reduzir
esse tipo de problema conseguir estimar corretamente as variveis envolvidas, tais como
custo, esforo e prazo necessrios para o desenvolvimento do projeto.
O processo de medio de software traz benefcios como modelar e entender o
processo de desenvolvimento e o produto gerado, ajudar na gerncia do projeto de software e
melhor-lo. Dentro desta realidade, a rea de mtricas de software, que a medida quantitativa de atributos especficos do desenvolvimento de software, tem sugerido meios capazes de
atingir os objetivos desejados.
Scotto [SCO04] classificou os tipos de mtricas em mtricas de processo, de produto e de recursos. O foco das mtricas de produto est nas caractersticas do software em
relao qualidade de entrega. Segundo Sommerville [SOM03], medidas como tamanho e
complexidade ciclomtica no so facilmente relacionadas com atributos de qualidade, tais
43
como a facilidade de compreenso e manuteno, isto porque esto intimamente relacionadas
com o processo de desenvolvimento e com a tecnologia aplicada. Uma forma de relacionar
tais medidas e atributos realidade do projeto que est sendo desenvolvido coletar essas
mtricas e comparar os dados histricos dentro, por exemplo, de uma fbrica de software,
procurando uma relao entre elas.
Sommerville [SOM03] props a classificao das mtricas de produto em dinmicas e estticas. A primeira relacionada diretamente qualidade e so coletadas por medies
realizadas por um programa em execuo. Esse tipo de mtrica pretende avaliar a eficincia e
a confiabilidade de um programa. J as mtricas estticas so medidas por representaes do
sistema, ou seja, pelo projeto, programa ou documentao, tendo uma relao indireta com
atributos de qualidade. Essas mtricas ajudam a medir atributos como a complexidade, a facilidade de compreenso e manuteno do software.
Outra proposta de classificao de mtricas de produto foi dada por Mills
[MIL99], que as separou em mtricas de produto por tamanho, complexidade e qualidade. A
medida por tamanho est diretamente relacionada ao produto e processo por meio do qual este
foi desenvolvido; a medida por complexidade tem relao com o gerenciamento do processo
de desenvolvimento; e a medida por qualidade que mensura caractersticas como a corretividade, confiabilidade e manutenibilidade, sendo essas as mais estudadas dentro de um tpico
onde no existe consenso em uma nica mtrica para todos os itens de qualidade.
Alm das classificaes apresentadas, pode-se ainda classificar as mtricas de
produto em mtricas orientadas a objetos. Pesquisas nesse sentido iniciaram na dcada de 90,
sendo que algumas foram derivadas das mtricas mais antigas, baseadas em programao estruturada, embora outras sejam exclusivas do paradigma de orientao a objetos. Dentro dessas pesquisas, os mtodos propostos por Lorenz em 1993 e por Chidamber e Kemerer em
1994, so bastante referenciados. A primeira proposta composta de um conjunto de onze
mtricas orientadas a objetos (OO). A segunda, tambm conhecida como mtricas CK, possui
um conjunto de seis mtricas, voltadas para o projeto e complexidade. Essa proposta, dentre
outras, serviu como base para as atuais mtricas orientadas a objetos que utilizam diagramas
da UML, segundo Kim[KIM02]. As mtricas para esses diagramas sero apresentadas na seo seguinte.
44
3.3.1.2 Mtricas para UML
Desde a sua criao, a UML vem sendo largamente utilizada no processo de desenvolvimento de softwares orientados a objetos. Segundo Kim[KIM02], uma vez que o nmero de artefatos produzidos utilizando a UML aumentou, existe a necessidade de mensurar
as caractersticas desses objetos. Com isso, possvel obter uma noo exata, por exemplo, da
complexidade do projeto j nas primeiras fases deste, que o momento onde se comea a criao dos modelos UML. Uma das vantagens apontadas por McQuillan[MQU06], de que,
com o uso dessas mtricas, a qualidade do software pode ser estimada ainda nas fases iniciais
do ciclo de vida, onde o custo de se fazer uma mudana ainda no alto.
Durante a pesquisa de trabalhos nesta rea, no foi encontrado um modelo nico
de mtricas para artefatos da UML. Cada proposta utiliza as mtricas dentro do seu prprio
modelo, com o objetivo de propor resultados mais precisos. Outra caracterstica, segundo Genero[GEN03], que a maioria das propostas trabalha com os diagramas estruturais, principalmente com o diagrama de classes. Tendo em vista essa realidade, ser apresentada a seguir
uma mtrica de complexidade para esse diagrama.
45
Descrio
Determinar o tipo do mtodo, se i ou Serious.
Calcular a complexidade de cada classe (CP) pertencente ao diagrama de classes que est sendo analisado.
Avaliar o CPs para o diagrama de casos de uso.
Avaliar o CPs para os diagramas de seqncia e de colaborao.
Avaliar o CPs para o diagrama de estados.
Somar os CPs encontrados nos passos 2, 3, 4 e 5, obtendo o nmero de SLOC de todo o sistema.
Os passos que esto sinalizados na tabela III com (*) no so obrigatrios. O primeiro passo determina qual mtodo ser utilizado, atravs da mdia da mtrica do percentual
de mtodos com assinatura (PMS). Se o PMS for maior do que 70% usado o mtodo Fast,
seno usado o mtodo Serious. A seguir, ser apresentado apenas o mtodo Fast, descrevendo o segundo passo da tabela III, pois a finalidade conhecer como se determina a complexidade das classes de um diagrama de classes.
Os atributos de cada classe so classificados em trs categorias, conforme a tabela
IV. Aps, calculado o nmero de Pontos por Estado (SP), que dado pela frmula 2, onde
ListAtrib classificado pelo par {atributo; tipo} e numAtrib o nmero de atributos da classe.
Definio
Atributos simples, como inteiro, string, etc.
Atributos complexos desenvolvidos e testados, como atributos em pacotes pr-definidos.
Atributos complexos de uma classe no desenvolvida e no testada.
Peso
1
3
5
numAtrib( c )
SP( c )
Peso( ListAtrib)
i 1
46
mIA so os nmeros de atributos leves, pesados ou importados na assinatura do mtodo, respectivamente. A varivel T significa que o mtodo trivial (T=1; S=0) e S, que substancial
(T=0; S=1).
CM ( m )
TS
1 2 3
1 3 5
numLA
numHA
numIA
Em seguida, o Ponto por Comportamento (BP) calculado para a classe, conforme a frmula 4, onde numAss o nmero de associaes da classe e numMet o nmero de
mtodos da classe.
numMet ( c )
BP( c )
1 numAss( c )
CM ( mi )
i 1
Por fim, calculado, para cada classe, o Ponto por Classe (CP), que a estimativa
da complexidade desta, apresentada na frmula 5.
CP(c )
2 SP(c )
3 BP(c )
Com esta estimativa possvel prever quando uma classe mais complexa do que
outra, caracterizando, possivelmente, uma maior dificuldade de manuteno das classes mais
complexas. Um exemplo de aplicao desse mtodo ser dado na seo seguinte.
Para utilizar a metodologia TIAM, o peso do artefato uma das informaes utilizadas para conhecer a mtrica de impacto do requisito de mudana. Essa mtrica possibilita
que sejam determinadas outras estimativas com a finalidade de prever o que necessrio para
efetuar cada alterao solicitada.
O peso do artefato ento dado pela frmula 6, que alm da complexidade do artefato (c(n)), relaciona o esforo (e(n)), que mensura o tempo necessrio para produzir o artefa-
47
to, e a fase (p(n)) na qual este est inserido, considerando que quanto mais adiantada for a fase,
maior o esforo para alterao.
w( n )
c( n ) e( n )
p( n )
Usando os conjuntos de complexidade e fases acima propostos, pode-se determinar que o peso do artefato Autor de w(n)=0,45, considerando que o artefato tem complexidade baixa (c(a)=0,3), que o esforo de desenvolvimento de 30 min (e(a)=0,5) e que est
presente na fase de projeto (p(a)=3). Para o artefato Livro, o peso correspondente de
w(n)=0,9, pois o seu tempo de desenvolvimento, incluindo implementao do mtodo, de
2h (e(l)=2), com complexidade baixa (c(l)=0,3) e tambm pertencente fase de projeto
(p(l)=3). Posteriormente, esses valores sero usados juntamente com a influncia da relao
entre os artefatos para determinar a mtrica de impacto.
No mbito da presente pesquisa, interessa descobrir quais artefatos sero afetados
usando a probabilidade de impacto em cada um deles. Nesta realidade, a varivel fase no
utilizada, uma vez que esta se refere as fases do processo de desenvolvimento e no a um projeto de manuteno. As variveis de complexidade e esforo de cada artefato no determinam
uma maior ou menor probabilidade de impacto, como o objetivo, j que elas esto relacionadas dificuldade de mant-lo.
48
Utilizando o mesmo diagrama de classes da figura 10, com o uso do mtodo
Fast&&Serious [CAR02], pode-se determinar a complexidade das classes. A figura 11 mostra
a aplicao do mtodo para calcular a complexidade destas. Tem-se ento que a complexidade
da classe Autor de CP(a)=13 e da classe Livro de CP(l)=17, sendo esta ltima mais
complexa do que a primeira.
Classe
Autor
Livro
Classe
Livro
numAss
SP
Classe
Autor
Livro
CM
3
CP
13
17
Requisito de Mudana A:Deseja-se conhecer o grau de formao de cada autor. Tendo ele
nvel superior, informar qual a instituio de ensino onde obteve o grau.
Figura 12 Requisito de mudana A, no domnio de livros.
49
3.4
mdio
fraco
Mudana
mdio
Requisito
Artefato de
Implementao
1
Artefato do
Projeto
forte
Artefato de
Implementao
2
i({a, b})
i({c, b})
T
50
1
Mudana
1
Requisito
0,375
dio
Artefato de
Implementao
1
Artefato do
Projeto
0,625
Artefato de
Implementao
2
A metodologia TIAM proposta por ONeal serve como base para a proposta da
anlise de impacto atravs da rastreabilidade por ontologias. Isso porque, considerando que
uma ontologia tem representao equivalente a um grafo e que a rastreabilidade semntica
nela relaciona conceitos a artefatos, pode-se assumir que existe uma influncia especfica do
arco que liga o conceito ao artefato. A figura 16 representa graficamente essa relao, usando
como exemplo os artefatos do grafo de relacionamento da figura 15.
Artefato de
Implementao
2
Requisito
Artefato do
Projeto
Artefato de
Implementao
1
51
Cada um dos conceitos, que estiver relacionado a um artefato, deve ter a varivel
Influncia do conceito no artefato (Ic) informada, dentro da escala sugerida. A tabela V apresenta um guideline para ajudar nessa classificao, que baseado em caractersticas do tipo
do artefato.
Os diagramas da UML presentes na tabela V e que so referenciados nesse trabalho foram escolhidos, pois so suportados pela ferramenta ArgoUML, na qual o aplicativo
ONTrace foi desenvolvido como um plug-in. Atualmente, s os objetos do ciclo de vida do
software que foram modelados nesse sistema tm a possibilidade de serem rastreados.
Trs dos diagramas que podem ser modelados e rastreados pela ferramenta de
modelagem citada e que no esto presentes no guideline proposto so: o Diagrama de Casos
de Uso, o Diagrama de Classes e o Diagrama de Implantao. O primeiro diagrama no consta na classificao da influncia do conceito no artefato, pois se preferiu trabalhar somente
com a descrio do caso de uso ao invs do relacionamento entre eles, uma vez que no detalhamento deste que se encontram as informaes comportamentais do sistema. De forma anloga, foram consideradas apenas as classes , pois assim possvel ter conhecimento exato de
quais delas sero impactadas por um requisito de mudana, considerando que o Diagrama de
Classes muito abrangente, pois vrios conceitos poder ser relacionados a ele. J o ltimo
diagrama relatado no est abordado no guideline por dar a viso organizacional do hardware
do sistema, que est fora do escopo dessa pesquisa.
Classe (C)
Diagrama de Seqncia (DS)
Diagrama de Estados (DE)
Diagrama de Atividades (DA)
Diagrama de Colaborao (DC)
Os critrios de influncia dos artefatos utilizados para construo do guideline foram determinados segundo estudo de cada um dos diagramas da UML. Por exemplo, quando
52
se descreve um Caso de Uso (UC), o fluxo principal deste obrigatrio, sendo opcionais o
fluxo alternativo e pr ou ps-condies. Assim, infere-se que quando o conceito estiver presente no fluxo principal, a Influncia do concenito no artefato (Ic) forte, caso esteja apenas
no fluxo alternativo ou na pr ou ps-condies fraco. Futuramente, este guideline pode ser
revisto atravs de experimentos, podendo, inclusive, abranger todos os diagramas da UML.
Considerando o conceito Autor associado classe Autor da figura 17, a influncia que o primeiro exerce sobre o seguindo de Ic = Forte, utilizando o critrio presente na
tabela V. J o diagrama de atividades relacionado ao mesmo conceito possui Ic = Fraco.
Ic = forte
Autor
Usurio
Ic = fraco
Selecionar opo de
cadastrar autor
Informar dados
do autor
Sistema
Apresenta
formulrio
Validar dados
do autor
[ dados invlidos ]
[ dados vlidos ]
Cadastrar
autor
A influncia do conceito no artefato no deve ser normalizada quando dois conceitos diferentes estiverem relacionados ao mesmo artefato. Isso no necessrio, pois a influncia mxima para cada par conceito-artefato individualmente e no se considerado o
conjunto de todos os conceitos que se ligam ao mesmo artefato.
3.5
53
desenvolvimento do sistema e so atualizados durante o projeto para indicar a arquitetura fsica pretendida.
importante diferenciar o tipo de diagrama, pois, dependendo do tipo de mudana, os artefatos so influenciados de forma diferente, com relao sua classificao. Quando
h alterao de regras de negcio, os diagramas dinmicos so os mais afetados. Quando a
mudana referente estrutura dos artefatos, os diagramas estticos tm maior probabilidade
de impacto. No experimento que foi realizado e que serviu para identificao das hipteses,
no foi possvel detectar a influncia nos diagramas funcionais, pois esses no fizeram parte
do estudo. Sendo assim, a influncia referente a esse tipo de diagrama ser determinada como
irrelevante, para qualquer tipo de mudana, sendo proposto seu estudo como trabalho futuro.
A Influncia do tipo de diagrama (Id) dada pelo conjunto das classificaes dos
diagramas UML {esttico; dinmico; funcional}. O peso para cada um desses elementos
dado conforme o tipo de mudana e ser determinado na seo seguinte. Para cada artefato
associado a um conceito, deve-se classificar o tipo de diagrama a que pertence, conforme a
tabela VI.
3.6
Um requisito de mudana pode afetar de diferentes formas o produto ao qual relacionado durante o projeto de manuteno deste. Considerando-se que durante o processo de
desenvolvimento foi includa a disciplina de Engenharia Ontolgica, as alteraes requisitadas
podem ser identificadas na ontologia. Atravs do experimento, detalhado no Apndice A, percebeu-se ser de grande influncia as mudanas de regra de negcio, que esto relacionadas ao
54
significado dos conceitos da ontologia, e as mudanas no relacionamento dos conceitos, que
engloba a incluso ou alterao destes, alterando estruturalmente a ontologia.
A varivel Influncia da mudana (Im) deve ser determinada para, juntamente
com a Influncia do conceito no artefato (Ic) e a Influncia do tipo de diagrama (Id), medir o
Impacto no artefato pela mudana (Iam(x,y)), que calculado atravs da frmula 8, onde x o
conceito do tipo class e y o artefato.
Iam(x,y) = Im x Ic x Id
Frmula 8 Clculo do Impacto no artefato pela mudana (Iam(x,y))
Quando uma regra de negcio j existente alterada ou quando uma nova regra
associada a um conceito, o significado deste pode ser alterado. Isso significa que poder haver
mais restries nas propriedades da ontologia ou que o domnio do conceito poder ser alterado, por exemplo.
No cdigo Web Ontology Language (OWL) presente na figura 18, tem-se a restrio allValuesFrom, que restringe os valores da propriedade da classe a que est associada. Ou
seja, todos os membros da classe que possurem a propriedade devem pertencer ao tipo de
recurso indicado na clusula. No exemplo significa que toda instncia da classe Casal, se
tiver filhos, estes devem pertencer a classe filhoNatural. Um requisito de mudana poderia
alterar a obrigatoriedade de que os filhos do casal pertenam a classe de filhoNatural, podendo ser filhosAdotivos.
55
<owl:Class rdf:ID="Casal">
<owl:Restriction>
<owl:onProperty rdf:resource="#temFilhos"/>
<owl:allValuesFrom rdf:resource="&filhoNatural"/>
</owl:Restriction>
</owl:Class>
Figura 18 Exemplo em OWL da restrio allValuesFrom
A influncia dada por uma mudana de regra de negcio afeta diretamente os artefatos do tipo dinmico, uma vez que esses detalham o comportamento do sistema. Sendo assim, os valores referentes para o conjunto Id = {esttico; dinmico; funcional} so, respectivamente, {0,5; 1; 0,1}.
56
class
type
Livro
domain
domain
ttulo
ISBN
domain
range
int
domain
ano
editora
type
type
type
type
dataTypeProperty
Property
Figura 19 Sub ontologia equivalente ao domnio de livros.
Na solicitao de mudana presente na figura 20, o range do conceito ISBN deve passar a ser String, como mostra a figura 21, referente ontologia de mudana. Nesse
contexto, so considerados os artefatos que esto ligados diretamente ao conceito do tipo dataTypeProperty, no exemplo, os artefatos ligados ao conceito ISBN.
Requisito de Mudana B: Atravs de um decreto do Ministrio da Cultura, os livros editados no Brasil passaro a receber a sigla do pas (BR) na identificao ISBN.
Figura 20 Requisito de mudana B no domnio de livros.
class
type
Livro
domain
domain
ttulo
ISBN
domain
ano
range
String
domain
editora
type
type
type
type
dataTypeProperty
Property
Figura 21 Sub ontologia equivalente ao requisito de mudana no domnio de livros.
57
3.6.2.2 Incluso de um conceito na ontologia
A incluso de um conceito pode ser de dois tipos: a associao de um novo conceito do tipo dataTypeProperty a um j existente do tipo class, e a incluso de um conceito do
tipo class, com seus dataTypeProperty associados e objectProperty relacionados. A seguir,
cada uma dessas incluses ser detalhada.
58
class
object
Property
type
type
type
range
Livro
Autor
domain
nome
onProperty
ehEscrito
domain
domain
domain
domain
ttulo
nascimento
codinome
domain
type
ISBN
domain
ano
editora
type
type
type
type
type
dataType
Property
type
Considerando o requisito de mudana da figura 12, a ontologia equivalente mudana mostrada da figura 24. Nota-se que um novo conceito formao do tipo dataTypeProperty foi associado ao conceito Autor, que do tipo class.
class
object
Property
type
type
type
range
domain
onProperty
ehEscrito
Livro
Autor
domain
domain
domain
nome
domain
formao
domain
ttulo
nascimento
domain
type
codinome
ano
editora
type
type
type
type
type
ISBN
domain
type
dataType
Property
type
59
por afetar fortemente os artefatos ligados ao conceito do tipo class ao qual o primeiro se relaciona.
type
type
object
Property
type
range
ehVendido
range
onProperty
onProperty
ehEscrito
Livraria
Livro
Autor
domain
type
domain
domain
domain
nome
ttulo
domain
ISBN
domain
nascimento
domain
domain
endereo
codinome
ano
editora
domain
domain
type
type
ramoAtividade
type
type
type
type
type
dataType
Property
type
type
type
volumeVendas
60
No exemplo, o novo conceito do tipo class Livraria ligado ao conceito do tipo
class Livro, anteriormente existente, atravs do novo conceito do tipo objectProperty ehVendido. Como na ontologia original do domnio de livros no existe o conceito Livraria,
conseqentemente no h artefatos rastreados para esse conceito. Assim, a anlise de impacto
dessa mudana deve ser feita rastreando-se os artefatos que esto associados ao conceito Livro, atravs da influncia do relacionamento entre conceitos, apresentado a seguir.
3.7
61
b) Morfolgico: abrange a construo das palavras a partir das unidades de significado primitivas e sua classificao em categorias morfolgicas;
c) Sinttico: aborda o relacionamento das palavras entre si e como as frases podem ser partes de outras, construindo sentenas;
d) Semntico: estuda o relacionamento das palavras com seus significados e como eles so combinados para formar os significados das sentenas;
e) Pragmtico: abrange o uso de frases e sentenas em diferentes contextos, afetando o significado.
No contexto da presente proposta, cabe analisar os nveis morfossinttico e semntico. Ambos sero brevemente detalhados a seguir, citando as tcnicas utilizadas para
extrair informaes de cada um desses processamentos.
62
Na metodologia de anlise de impacto, se for possvel reduzir os conceitos ao
mesmo radical, ento a influncia do relacionamento entre esses dois conceitos alto, caso
contrrio baixo. Os nveis de Influncia do relacionamento (Ir) podem ento ser classificados em: {baixo; alto}, tendo como valores correspondentes {0,5; 0,9}.
A ligao entre os conceitos Livro e Livraria dada pelo conceito ehVendido, como visto na figura 28, onde esto destacados os conceitos do tipo objectProperty. Nesse caso, a Influncia do relacionamento seria: Ir = alto. Isso significa que um requisito de
mudana que afete os artefatos ligados a um desses conceitos tem grande probabilidade de
impactar os artefatos do outro. J o conceito ehEscrito tem influncia Ir = baixo, pois os
conceitos relacionados a Autor e Livro no podem ser reduzidos ao mesmo radical.
class
type
type
type
Autor
Livro
Livraria
onProperty
onProperty
range
range
ehEscrito
Ir(ehEscrito) = baixo
ehVendido
type
type
Ir(ehVendido) = alto
object
Property
Embora a extrao de um radical comum entre dois termos seja capaz de estabelecer um relacionamento entre eles, este est restrito morfologia das palavras. Uma maneira
mais precisa determinar a influncia de um relacionamento seria usar estruturas semnticas
para tal. Na seo seguinte ser brevemente detalhada a estrutura de tesauro.
A semntica tem relao com o significado das palavras ou do conjunto delas. Segundo Dias [DIA04], o processamento semntico considerado um dos grandes desafios do
63
PLN, pois se vincula a morfologia e a estrutura sinttica juntamente com informaes pragmticas.
O significado de conjuntos de palavras pode ser obtido utilizando estruturas como
um tesauro, cuja definio dada por Corra [COR03] de um agrupamento de palavras, ou
radicais de palavras em certas categorias de assunto chamadas de classes conceituais. Uma
das vantagens de us-lo a possibilidade de se ter um vocabulrio controlado para pesquisa.
Os objetivos elencados por Salton [SAL68] para a criao de um tesauro so:
a) A padronizao das palavras-chave que foram encontradas, ou seja, fornecer
um vocabulrio padro para indexao e pesquisa;
b) Ajudar os usurios na localizao de termos para a formulao de consultas e;
c) Fornecer hierarquias de classes que permitem ampliar e limitar as consultas de
acordo com as necessidades do usurio.
A forma mais simples de estruturar um tesauro ter uma lista de palavras (conceitos) importantes para um domnio de conhecimento e, para cada palavra dessa lista, um conjunto de palavras relacionadas. As palavras relacionadas so variaes derivadas de um relacionamento sinnimo.
A representao, segundo Corra [COR03], pode ser feita atravs de um grafo,
onde cada nodo representa um termo que est ligado a outros termos e aos arcos so atribudos pesos. Os pesos so importantes para poder determinar a similaridade entre termos de um
documento. A figura 29 representa um tesauro.
Moradia
Apartamento
Casa
64
domnio poderiam ser identificados, mesmo que tenham formao morfolgica distintas. Dessa forma, a preciso da influncia entre os conceitos seria maior, possibilitando determinar
mais precisamente a probabilidade de impacto de uma mudana em diversos nveis de caminhamento na ontologia.
A seguir, ser apresentado o clculo da influncia do relacionamento entre conceitos, utilizando o processo de radicalizao de palavras, como visto anteriormente. O uso de
uma estrutura como tesauro dever ser verificada em trabalhos futuros.
65
n
Ia ( x )
Iam( x , y )
x 1
A figura 30 mostra a aplicao da frmula 9, supondo valores para artefatos ligados aos conceitos Livraria, Livro e Autor. Com o resultado, o conceito a partir do qual
se iniciar o caminhamento o conceito Livraria.
Iam(x,y) = Im x Ic x Id
Iam(Autor, C-Autor) = 0,9 x 1 x 0,5 = 0,45
Iam(Autor, UC-ManterAutor) = 0,9 x 1 x x = 0,9
Ia(Autor) = 1,35
Iam(Livro, C-Livro) = 0,9 x 1 x 0,5 = 0,45
Iam(Livro, DA-ManterLivro) = 0,9 x 1 x 1 = 0,9
Ia(Livro) = 1,35
Iam(Livraria, UC-ManterLivraria) = 0,9 x 1 x 1 = 0,9
Iam(Livraria, DA-ClassificarLivraria) = 0,9 x 1 x 1 = 0,9
Ia(Livraria) = 1,8
Figura 30 Exemplo de clculo do Impacto acumulado (Ia(x)).
Pi
66
Iar( x, y )
Pi Ic Id
Usando os elementos da figura 28, tem-se que o conceito do tipo class Livraria
est ligado ao conceito do tipo objectProperty ehVendido que por sua vez est ligado ao
conceito do tipo class Livro. Considerando que os artefatos do conceito Livraria foram os
que mais sofreram alteraes, os artefatos do conceito Livro tm probabilidade de serem
impactados. O calculo dessa probabilidade mostrada na figura 31. Nota-se que Pi igual a
Ir(ehVendido), isso porque os conceitos esto diretamente ligados.
Iar(x,y) = Pi x Ic x Id
Iar(Livro, C-Livro) = Pi x Ic x Id = 0,9 x 1x 0,5 = 0,45
Iar(Livro, DA-ManterLivro) = 0,9 x 0,9 x 1 = 0,9
Figura 31 Exemplo do clculo do Impacto no Artefato pelo Relacionamento (Iar(x,y))
Uma vez que o conceito Livro tem probabilidade de ser impactado e este se relaciona com o conceito do tipo class Autor atravs do conceito do tipo objectProperty
ehEscrito, os artefatos relacionados ao conceito Autor podem ser tambm impactados
pela mudana. Calcula-se ento a Propagao do impacto (Pi) e as probabilidades correspondentes para cada artefato, como mostra a figura 32. Dessa forma, estamos percorrendo a ontologia em trs nveis.
Pi = Ir(ehEscrito) x Ir(ehVendido)
Pi = baixo x alto
Pi = 0,5 x 0,9 = 0,45
Iar(x,y) = Pi x Ic x Id
Iar(Autor, C-Autor) = 0,45 x 0,9 x 0,5 = 0,20
Iar(Autor, UC-ManterAutor) = 0,45 x 0,9 x 1 = 0,40
Figura 32 Exemplo de clculo da Propagao do impacto (Pi).
67
1 - Gerar
Requisito
de mudana
2 - Identificar
Ontologia do
requisito de
mudana
4 - Listar
3 - Rastrear
Ontologia
do sistema
Artefatos
rastreados
68
4.1
Dicionrio de
Dados do sistema
Requisito de
mudana
Modelo conceitual do
requisito de mudana
Aps o modelo conceitual ter sido criado, pode-se gerar a ontologia referente a ele. Sugere-se o uso da ferramenta ONTrace da mesma forma como a ontologia do sistema
construda. A figura 35 apresenta esse passo.
Modelo conceitual do
requisito de mudana
Ontologia do requisito
de mudana
69
caso, no havendo nenhum conceito em comum, no h como realizar a rastreabilidade dos
artefatos, o que impede a medio do impacto.
Ontologia
do sistema
Ontologia do
requisito de
mudana
Conceitos que
sero analisados
pela metodologia
Figura 36 Interseco entre ontologias
A prxima fase da metodologia responsvel por identificar os conceitos da ontologia do requisito de mudana na ontologia do sistema, que formam o conjunto comum s
duas, representado na figura 36.
4.2
Ontologia do requisito
de mudana
Ontologia do
sistema
O processo de identificao deve ser realizado de forma a encontrar o tipo de mudana que est ocorrendo, explicitada na seo 3.6. Eventualmente, alguns conceitos da ontologia do requisito de mudana no sero encontrados na ontologia do sistema, o que caracteri-
70
za uma incluso. Em outros casos, podem-se encontrar conceitos que esto sendo alterados, e,
tambm, conceitos que foram apenas modelados sem sofrer nenhum tipo de alterao.
Na figura 38, tem-se a representao de um conceito do tipo dataTypeProperty
sendo includo, que taxaGordura. Os conceitos dataAvaliao e FichaBiomtrica, que
esto destacados, foram identificados na ontologia do sistema.
class
type
domain
dataAvaliao
type
dataType
Property
Ficha
Biomtrica
type
taxaGordura
domain
type
dataType
Property
type
Meta
Meta
range
int
range
Ontologia do requisito
de mudana
string
Ontologia do
sistema
type
Cliente
domain
nome
type
dataType
Property
71
gia do sistema. Essa situao dever ser tratada em trabalhos futuros por apresentar complexidade superior incluso ou alterao de conceitos.
Outra identificao que pode ser feita quanto aos relacionamentos existentes entre conceitos. Esses relacionamentos permitem encontrar artefatos em n-nveis. O conceito da
ontologia do sistema que mais sofreu mudanas, seja de incluso de conceitos ou de alterao
destes, ser o ponto inicial de pesquisa, como visto no captulo anterior. A partir desse ponto,
o conceito do tipo objectProperty relacionado a ele encontrado e inicia-se ento o percurso
pelo encadeamento de conceitos. Um conceito do tipo objectProperty responsvel por relacionar outros dois conceitos do tipo class. A figura 41 apresenta esse tipo de relacionamento,
onde se pode determinar, como exemplo, que o conceito de partida seja o conceito Mensalidade, pois foi o mais afetado por mudanas.
object
Property
type
Possuem
Geradas
domain
onProperty
domain
range
Cliente
Mensalidade
type
type
class
Figura 41 Identificao de relacionamento entre conceitos
4.3
RASTREAR ARTEFATOS
Aps a identificao dos conceitos na ontologia do sistema, os artefatos relacionados a este podem ser rastreados. Os artefatos so rastreados conforme a relao e o tipo de
mudana, e a esta atribuda uma Influncia da mudana (Im).
72
4.3.1 Relao Conceito-Artefato
Mensalidade
GerarMensalidade
Conceito
Ontologia do
sistema
Mensalidade
Artefatos
Rastreados
Figura 42 Rastreabilidade de relao conceito-artefato
73
4.3.1.1 Relao dataTypeProperty-Artefato
Nesse caso, os artefatos so relacionados diretamente ao conceito do tipo dataTypeProperty. Podem ser rastreadas as alteraes semnticas e estruturais. Essa ltima ocorre
quando h mudana do tipo de range do conceito.
A figura 43 mostra essa rastreabilidade. Nela, a Influncia da mudana (Im) est
classificada como alta conforme explicao constante na seo 3.6. O artefato CFichaBiomtrica ligado ao conceito Meta, teve a Influncia do conceito no artefato (Ic)
determinada como sendo forte. Uma vez que uma classe pertence ao diagrama de classes e, a
Influncia do tipo de diagrama (Id) foi dada como esttica.
string
range
dataType
Property
type
Meta
Ic = Forte
Id = esttico
FichaBiometrica
Im = Alta
Figura 43 Rastreabilidade de alterao de um conceito do tipo dataTypeProperty
Im = {baixa;alta} = {0,1;0,9}
Ic = {fraco; forte} = {0,3; 1}
Id = {esttico; dinmico; funcional} = {1;0,5;0,1}
Iam(x, y )= Im x Ic x Id
Iam(Meta, C-FichaBiometrica)= alta x forte x esttico
Iam(Meta,C-FichaBiometrica) = 0,9 x 1 x 1 = 0,9
Figura 44 Clculos da relao dataTypeProperty-Artefato.
74
4.3.1.2 Relao class-Artefato
Os artefatos so diretamente ligados a um conceito do tipo class. Assim como ocorre na relao dataTypeProperty-Artefato, mudanas semnticas ou estruturais podem ser
identificadas. Essa ltima ocorre quando um novo conceito do tipo dataTypeProperty associado a um conceito do tipo class.
necessrio diferenciar os conceitos que esto sendo afetados pelo requisito de
mudana, estruturalmente ou semanticamente, dos conceitos que foram identificados na ontologia do sistema, mas que no sofrem nenhuma alterao. No primeiro caso, a influncia pelo
tipo de mudana alta e no segundo baixa. Mesmo que Influncia da mudana (Im) seja
baixa, interessante rastrear os artefatos relacionados a este conceito, uma vez que ele apareceu no requisito de mudana. Atravs da anlise da varivel Iam(x,y), ser possvel determinar
a probabilidade de impacto no artefato.
A figura 45 representa a incluso de um conceito, classificada como alterao estrutural, cuja Influncia da mudana (Im) tida como alta. Os conceitos que esto destacados
so os conceitos que foram identificados no passo anterior, de identificao de conceitos. No
exemplo, o conceito dataAvaliao est sendo associado ao conceito FichaBiomtrica.
Esse ltimo, por sua vez, est associado a artefatos, com sua Influncia do conceito no artefato (Ic) sendo determinada para cada um deles. tambm identificado individualmente o tipo
de diagrama a que o artefato pertence, utilizando a tabela VI, e estabelecendo a Influncia do
tipo de diagrama (Id).
FichaBiometrica
class
type
type
dataAvaliao
domain
Ficha
Biomtrica
dataType
Property
Property
type
taxaGordura
domain
Im = Alta
Ic = Forte
Id = esttico
Ic = Fraco
Id = dinmico
AcessarFicha
Ic = Forte
Id = dinmico
Ic = Fraco
Id = dinmico
ManterFicha
Cliente
Sistema
AtividadeA
AtividadeB
AtividadeD
AtividadeC
75
O impacto calculado para cada artefato que for rastreado. A figura 46 mostra o
clculo da varivel impacto para o artefato UC-ManterFicha. Os valores dos elementos dos
conjuntos Im e Ic so os mesmos da figura 44.
Im = {baixa;alta} = {0,1;0,9}
Ic = {fraco; forte} = {0,3; 1}
Id = {esttico; dinmico; funcional} = {1;0,5;0,1}
Iam(x, y) =Im x Ic x Id
Iam(FichaBiometrica, UC-ManterFicha)= alta x forte x dinmico
Iam(FichaBiometrica, UC-ManterFicha)= 0,9 x 1 x 0,5 = 0,45
Figura 46 Clculos da relao estrutural class-Artefato
Quando existir alterao semntica, essa deve ser indicada. A partir de ento, os
artefatos relacionados ao conceito podem ser analisados quanto ao impacto da mudana. A
figura 47 mostra um exemplo quando o conceito Mensalidade est relacionado a alteraes
em regras de negcio.
Ic:= Forte
Id = esttico
type
class
Mensalidade
Im = Alta
Mensalidade
Ic = Forte
Id = dinmico
GerarMensalidade
Im = {baixa;alta} = {0,1;0,9}
Ic = {fraco; forte} = {0,3; 1}
Id = {esttico; dinmico; funcional} = {0,5; 1; 0,1}
Iam(x, y) =Im x Ic x Id
Iam(Mensalidade, UC-GerarMensalidade) = alta x forte x dinmico
Iam(Mensalidade, UC-GerarMensalidade) = 0,9 x 1 x 1 = 0,9
Figura 48 Clculos da relao semntica class-Artefato
76
mnticas. Apesar disso, o impacto nos artefatos pode ser avaliado, embora se considere que
existe uma baixa probabilidade de serem afetados.
Ic = Forte
Id = esttico
class
type
Cliente
Cliente
Ic = Forte
Id = dinmico
ManterFichaCliente
Im = Baixa
Ic = Fraco
Id = dinmico
GerarMensalidade
O clculo das probabilidades de impacto nos artefatos ligados no conceito Cliente demonstrado na figura 50, referente ao artefato C-Cliente. Consideram-se os valores
dos elementos do conjunto de influncia do tipo de diagrama como se a alterao fosse de
regra de negcio. Isso porque se infere que, se a mudana fosse estrutural, essa seria identificada ao comparar a ontologia do requisito de mudana e a ontologia do sistema. Os valores
dos elementos dos conjuntos Im, Ic e Id so os mesmos da figura 48.
Im = {baixa;alta} = {0,1;0,9}
Ic = {fraco; forte} = {0,3; 1}
Id = {esttico; dinmico; funcional} = {0,5; 1; 0,1}
Iam(x, y) =Im x Ic x Id
Iam(Cliente, C-Cliente) = baixa x forte x esttico
Iam(Cliente, C-Cliente) = 0,1 x 1 x 0,5 = 0,05
Figura 50 Clculos da relao class-Artefato sem alteraes.
Associado ao conceito do tipo objectProperty, tem-se a Influncia do relacionamento (Ir), determinada por um algoritmo de stemming, conforme apresentado na seo
3.7.1.1. No necessrio utilizar a influncia do tipo de mudana, pois no se trata, nesse
caso, de rastrear as mudanas semnticas ou estruturais a que o conceito foi submetido e sim a
propagao do impacto nos conceitos. A figura 51 apresenta os artefatos que so encontrados
num rastreamento de dois nveis e a relao entre os conceitos.
77
Cliente
Cliente
ManterFichaCliente
domain
onProperty
Possuem
GerarMensalidade
onProperty
Ontologia do
sistema
Mensalidade
range
Mensalidade
Artefatos
Rastreados
Conceitos
onProperty
Ic = Forte
Id = dinmico
ManterFichaCliente
Ic: Fraco
Id = dinmico
Cliente
type
domain
object
Property
type
Possuem
Geradas
Ir(possuemGeradas) = baixo
domain
Cliente
class
GerarMensalidade
range
Mensalidade
type
Ic = Forte
Id = dinmico
Mensalidade
Ic = Forte
Id = esttico
78
O primeiro passo para analisar o impacto que se propaga entre os conceitos determinar qual deles foi afetado com maior nmero de mudanas, ou seja, Impacto Acumulado
(Ia(x)), dado pela frmula 10. Os conceitos que sero analisados para ter essa varivel calculada sero todos aqueles que foram identificados na ontologia do sistema a partir da ontologia
do requisito de mudana. A figura 53 estabelece os valores do Impacto no artefato pela mudana (Iam(x,y)), para os conceitos e calcula o Ia(x), considerando as alteraes analisadas anteriormente nas figuras 47 e 49.
Im = {baixa;alta} = {0,1;0,9}
Ic = {fraco; forte} = {0,3; 1}
Id = {esttico; dinmico; funcional} = {0,5; 1; 0,1}
Iam(x,y) = Im x Ic x Id
Iam(Cliente, C-Cliente) = 0,05
Iam(Cliente, UC-ManterFichaCliente) = 0,1
Iam(Cliente, UC-GerarMensalidade) = 0,06
Ia(Cliente) = 0,22
Iam(Mensalidade, UC-GerarMensalidade) = 0,45
Iam(Mensalidade, C-Mensalidade) = 0,9
Ia(Mensalidade) = 1,35
Figura 53 Clculo do Impacto acumulado (Ia(x))
O prximo passo iniciar o caminhamento no grafo da ontologia a partir do conceito Mensalidade que teve maior Impacto acumulado (Ia(x)). No exemplo da figura 52,
onde mostrada parcialmente uma ontologia, o nico conceito que pode ser relacionado
Cliente. Conforme determinado pelo algoritmo de radicalizao, a Influncia do relacionamento (Ir) entre os dois conceitos baixa.
Nesse exemplo, a Propagao do impacto (Pi) igual a Ir, pois s existe um conceito do tipo objectProperty capaz de estabelecer relacionamentos entre dois outros conceitos.
Como a metodologia sugere que o critrio de parada seja maior do que 70%, nesse caso no
indicado que se rastreie os artefatos do conceito Cliente, j que Pi = 0,5, ou seja, tem probabilidade de impacto de 50%, sendo menor do que o critrio estabelecido.
79
4.4
LISTAR ARTEFATOS
O ltimo passo da metodologia fornecer a lista de artefatos que tem mais probabilidade de impacto. Aps ter sido calculado o impacto do artefato, seja pelo tipo de mudana
ou pelo relacionamento entre conceitos, um valor atribudo a cada um deles.
Como mostrado na figura 51, um mesmo artefato pode estar relacionado a mais de
um conceito, no exemplo, o caso de uso UC-GerarMensalidade.Isso significa que durante o
rastreamento, um mesmo artefato pode ter sido encontrado mais de uma vez e, conseqentemente, ter o impacto calculado cada uma delas. Os impactos calculados para um mesmo artefato devem ser somados.
Aps a soma dos valores de impacto dos artefatos que se repetiram, armazenada
na varivel Probabilidade acumulada (Pa(y)), onde y o artefato, calculado o Percentual de
probabilidade de impacto (Ppi(y)) para cada um deles. O clculo dado pela frmula 12, onde
a porcentagem dos demais artefatos normalizada a partir do maior Pa(y). Ao final, fornecido o conjunto ordenado de forma decrescente de Ppi(y) dos artefatos rastreados.
Pa ( y ) 100
Ppi( y )
max( Pa ( y ) )
Pa y1 .x1
Pa y 2 .x 2
Pa y1
Pa y 2
Pa y 3 .x3
Pa y 3
... Pa yn .x n
( Pa yi
xi )
i 1
... Pa yn
Pa yi
i 1
Para auxiliar na aplicao da metodologia, foi proposta e desenvolvida uma ferramenta chamada ONTImpact. Essa ser descrita a seguir.
80
4.5
FERRAMENTA
81
ncia do conceito no artefato (Ic) e a Influncia do tipo de diagrama (Id). A primeira pode ser
classificada em: fraca, moderada e forte e armazenada ao conceito artifact da ontologia,
utilizando a propriedade ontImpactConceptInfluence. A segunda escolhida entre esttico,
dinmico e funcional, tambm relacionada ao conceito artifact e utilizando a propriedade
ontImpactDiagramInfluence. A figura 55 mostra essa interface.
Numa segunda janela, so apresentados os conceitos do tipo objectProperty, juntamente com os conceitos do tipo class aos quais se relaciona A esses conceitos, atribuda a
Influncia do relacionamento (Ir), calculada a partir de um algoritmo de radicalizao que
compara os conceitos ligados a ele com as propriedades range e domain. Essa influncia
ento classificada em baixa ou alta e armazenada no conceito artifact na propriedade ontImpactRelationshipInfluence. A figura 56 apresenta essa tela.
82
Aps todas as influncias terem sido atribudas, faz-se necessrio tambm, que o
usurio do sistema informe se o conceito est tendo alguma regra de negcio associada a ele
alterada. A figura 57 mostra esse procedimento. Somente os conceitos presentes na rvore de
Tipo de Mudana podem ter essa varivel setada. Essa informao armazenada em uma
varivel que ser utilizada no ltimo passo da metodologia e essencial para que a anlise de
impacto seja realizada com preciso.
Para que se faa a comparao das ontologias, o cdigo eXtensible Markup Language (XML) da ontologia do requisito de mudana carregado na ferramenta e comparado
com o cdigo XML da ontologia do sistema. So ento identificados os conceitos que so
comuns as duas ontologias bem como os conceitos que esto sendo inseridos ou alterados. A
figura 58 mostra a comparao entre dois cdigos XML e mostra os elementos comuns identificados. No exemplo, pode-se notar que o conceito possuemGeradas, do tipo objectProperty, e os conceitos do tipo class Mensalidade e Cliente so comum as duas ontologias.
83
<owl:ObjectProperty rdf:about="possuemGeradas">
<rdfs:domain>
<rdf:Description rdf:about="Clientes">
<owl:onProperty rdf:resource="possuemGeradas"/>
<owl:onProperty>
<owl:ObjectProperty rdf:about="mantemCadastro"/>
</owl:onProperty>
</rdf:Description>
</rdfs:domain>
<rdfs:range>
<rdf:Description rdf:about="Mensalidade">
<owl:onProperty rdf:resource="possueGeradas"/>
</rdf:Description>
</rdfs:range>
</owl:ObjectProperty>
Ontologia do Sistema
<owl:ObjectProperty rdf:about="possuemmGeradas">
<rdfs:domain rdf:resource="Cliente"/>
<rdfs:range>
<rdf:Description rdf:about="Mensalidade">
<owl:onProperty rdf:resource="possuemGeradas"/>
<rdf:type rdf:resource="Class"/>
</rdf:Description>
</rdfs:range>
</owl:ObjectProperty>
A ltima tarefa da ferramenta realizar a anlise de impacto, calculando a probabilidade de cada um dos artefatos relacionados aos conceitos serem impactados. Para isso, o
usurio deve escolher entre analisar o impacto verificando as mudanas estruturais ou semnticas identificadas na ontologia ou percorrendo ela pelo relacionamento entre os conceitos. A
figura 59 mostra o atalho para esse procedimento.
Figura 59 Tela com menu de escolha para comparao da ontologias e clculo do impacto
Com base nos valores dos elementos dos conjuntos de influncia, so calculados o
Impacto no artefato pela mudana (Iam(x,y)) ou o Impacto do Artefato pelo Relacionamento
(Iar(x,y)), dependendo do tipo de anlise de impacto escolhida. Ao final, apresentada uma
tabela com todos os artefatos rastreados e a probabilidade de impacto para cada um deles.
4.6
84
inicial dessa metodologia, que est descrito no Apndice A, e serviu como insumo das hipteses identificadas.
O sistema IsGym foi escolhido pois possui algumas premissas bsicas necessrias
para o desenvolvimento desse trabalho. Dentre elas est o fato de seus autores no estarem
relacionados a esse estudo, ou seja, o projeto foi construdo sem que seus dados fossem direcionados a resultados especficos para serem utilizados na rastreabilidade e anlise de impacto. Alm disso, ele foi completamente modelado seguindo o processo unificado, facilitando a
abordagem aqui proposta, e teve uma implementao consistente.
O sistema IsGym foi desenvolvido com a finalidade de integrar todas as funcionalidades administrativas de uma academia em um nico sistema de informao. Ele mantm
cadastros de clientes, funcionrios, fornecedores, recursos e utilizao destes, assim como as
fichas de acompanhamento das avaliaes (biometria) e atividades dos alunos. Foi utilizada a
tecnologia JavaServer Pages (JSP) com conexo ao banco de dados MS-Access para desenvolv-lo e a modelagem de requisitos e funcionalidades foi feita no Rational Rose.
Abaixo esto relacionados o dicionrio de dados do sistema, o modelo conceitual
construdo baseado no requisito de mudana e a ontologia gerada a partir deste. O requisito de
mudana, presente na figura 60, foi escolhido por incluir novos conceitos na ontologia original do sistema e alterar uma regra de negcio associada a um conceito previamente existente.
Nele esto destacados os conceitos que so relevantes para analisar o problema.
Com o intuito de aumentar o nmero de freqentadores da academia, a GymJoe decidiu dar desconto para os
alunos que atingirem suas metas de treinamento. feita uma avaliao inicial do aluno. Aps o resultado
dessa, o aluno informa qual o percentual de taxa de gordura que deseja atingir nos prximos 6 meses, sendo
essa a sua meta. Ao final desse perodo, uma nova avaliao realizada e o instrutor verifica se o aluno
atingiu seu objetivo. Os descontos so dados seguindo os critrios:
25% de desconto da mensalidade se o resultado atingido for maior que a meta;
15% se atingiu a meta ou ficou 20% abaixo desta;
5% se ficou entre 21% e 60% abaixo da meta
85
Os conceitos presentes no requisito de mudana devem ser verificados no dicionrio de dados do sistema para garantir a uniformidade entre as nomenclaturas. Na figura 61
esto reproduzidos os trechos importantes para esse exemplo.
Nome: Cliente;
Tipo: classe;
Descrio: descreve os dados cadastrais do cliente da academia;
Pseudnimos: aluno;
Especificao:
Comentrios: a classe est presente no modelo de domnio e no diagrama de classes.
Nome: FichaBiometrica;
Tipo: classe;
Descrio: descreve os dados da avaliao do cliente;
Pseudnimos: avaliao;
Especificao:
Comentrios: a classe est presente no modelo de domnio e no diagrama de classes.
Nome: Mensalidade;
Tipo: classe;
Descrio: possui atributos necessrios para gerar a mensalidade;
Pseudnimos: fatura, boleto bancrio;
Especificao:
Comentrios: a classe est presente no modelo de domnio e no diagrama de classes.
Nome: Funcionrio;
Tipo: classe;
Descrio: descreve os dados cadastrais dos funcionrios;
Pseudnimos: professor, instrutor;
Especificao:
Comentrios: a classe est presente no modelo de domnio e no diagrama de classes.
Nome: Meta;
Tipo: atributo da classe FichaBiometrica;
Descrio: descreve o objetivo do cliente freqentar a academia;
Pseudnimos: objetivo;
Especificao: atributo do tipo String;
Comentrios: a classe FichaBiometrica est presente no modelo de domnio e no diagrama de classes.
Nome: TaxaDeGordura;
Tipo: atributo da classe FichaBiometrica;
Descrio: o percentual de gordura do cliente quando avaliado;
Pseudnimos: ndice de gordura;
Especificao: atributo do tipo float
Comentrios: a classe FichaBiometrica est presente no modelo de domnio e no diagrama de classes.
86
De posse do modelo conceitual, possvel gerar a ontologia do requisito de mudana atravs da ferramenta ONTrace. Esta gera um cdigo em XML, apresentado na figura
63, que importante para identificao dos conceitos pela ferramenta que realiza a anlise de
impacto. A ontologia graficamente representada pela figura 64.
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#" >
<owl:Ontology rdf:about="isGymAlteracao1.owl"/>
<owl:Class rdf:about="Funcionario">
<owl:onProperty>
<owl:ObjectProperty rdf:about="ehResponsavel"/>
</owl:onProperty>
</owl:Class>
<owl:Class rdf:about="FichaBiometrica">
<owl:onProperty>
<owl:ObjectProperty rdf:about="possuemCadastrada"/>
</owl:onProperty>
</owl:Class>
<owl:Class rdf:about="Cliente">
<owl:onProperty>
<owl:ObjectProperty rdf:about="possuemGeradas"/>
</owl:onProperty>
</owl:Class>
<owl:ObjectProperty rdf:about="ehResponsavel">
<rdfs:domain rdf:resource="Funcionario"/>
<rdfs:range rdf:resource="FichaBiometrica"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="possuemGeradas">
<rdfs:domain rdf:resource="Cliente"/>
<rdfs:range>
<rdf:Description rdf:about="Mensalidade">
<owl:onProperty rdf:resource="possuemGeradas"/>
<rdf:type rdf:resource="Class"/>
</rdf:Description>
</rdfs:range>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="possuemCadastrada">
<rdfs:range rdf:resource="FichaBiometrica"/>
<rdfs:domain rdf:resource="Cliente"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:about="FichaBiometrica_dataAvaliacao">
<rdfs:domain rdf:resource="FichaBiometrica"/>
<rdfs:range rdf:resource="date"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="FichaBiometrica_taxaGordura">
<rdfs:domain rdf:resource="FichaBiometrica"/>
<rdfs:range rdf:resource="long"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="FichaBiometrica_meta">
<rdfs:domain rdf:resource="FichaBiometrica"/>
<rdfs:range rdf:resource="int"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="Mensalidade_desconto">
<rdfs:domain rdf:resource="Mensalidade"/>
<rdfs:range rdf:resource="int"/>
</owl:DatatypeProperty>
</rdf:RDF>
87
type
class
type
Mensalidade
Funcionario
type
domain
desconto
type
onProperty
domain
range
onProperty
onProperty
ehResponsavel
range
Cliente
Ficha
Biomtrica
domain
onProperty
domain
range
domain
possuem
Cadastradas
type
meta
range
int
possuem
Geradas
domain
domain
dataAvaliao
range
taxaGordura
range
date
range
type
int
long
type
type
objectProperty
type
type
dataType
Property
Com a ontologia gerada, pode-se passar para o prximo passo, que de identificao dos conceitos na ontologia do sistema.
88
range
dataReferencia
class
type
Mensalidade
Funcionario
type
date
domain
type
domain
valor
range
int
type
onProperty
domain
range
onProperty
Possuem
Geradas
onProperty
ehResponsavel
range
Cliente
Ficha
Biomtrica
onProperty
altura
range
long
range
long
range
int
domain
domain
domain
domain
domain meta
taxaGordura
peso
domain
multa
range
range
domain
Possuem
Cadastradas
type
range
type
string
long
type
type
type
type
type
type
dataType
Property
type
objectProperty
type
type
type
type
Figura 65 Representao parcial da ontologia do sistema, com conceitos do requisito de mudana assinalados.
range
type
dataType
Property
Meta
string
type
class
Ficha
Biomtrica
domain
type
dataAvaliao
dataType
Property
89
type
domain
Mensalidade
class
type
desconto
dataType
Property
Houve tambm uma alterao de regra de negcio associada ao conceito Mensalidade, pois a forma de calcular a mensalidade foi alterada. Nesse caso, deve ser atribuda ao
conceito a informao de que existe essa alterao, uma vez que no h como identific-la
pela comparao das ontologias. A figura 69 mostra a identificao dessa alterao.
Mensalidade
Regra de negcio
alterada
Os artefatos que foram rastreados para cada um dos conceitos identificados foram
baseados na rastreabilidade feita por um especialista na ferramenta ONTrace. Primeiramente,
sero rastreados e tero o impacto analisado os artefatos ligados a conceitos que sofreram
alteraes estruturais. Em seguida o mesmo ocorrer para os que tiveram alterao de regra de
negcio. Esses conceitos foram descritos na seo anterior. Por ltimo, os conceitos que foram identificados, mas que no esto relacionados a nenhum desses dois tipos de mudana,
sero analisados.
Ser considerado, para esse projeto, que o conjunto utilizado para classificar os
nveis de influncia que o conceito exerce sob o artefato de: {fraco, forte}, sendo os valores:
{0,3; 1}, respectivamente. A influncia do tipo de mudana dada pelo conjunto {baixa; alta}, tendo valores respectivos a {0,1; 0,9}. A influncia do tipo de diagrama dada pelo conjunto {esttico; dinmico; funcional} sendo que os valores dos elementos so diferentes dependendo do tipo de mudana. Se for estrutural, de {1; 0,5; 0,1} seno de {0,5; 1; 0,1}.
90
Os artefatos rastreados para o tipo de mudana de alterao do conceito do tipo
dataTypeProperty dado pela figura 70. Na figura 71 calculado o impacto do artefato, atravs da frmula 8.
string
range
dataType
Property
Ic = Forte
Id = esttico
type
Meta
Im = Alta
Os artefatos rastreados para o tipo de mudana de incluso do conceito do tipo dataTypeProperty para o conceito FichaBiomtrica dado pela figura 72. Na figura 73 calculado o impacto do artefato, atravs da frmula 8.
Ic = Forte
Id = esttico
class
type
dataType
Property
type
domain
dataAvaliao
Ficha
Biomtrica
Im = Alta
Ic = Fraco
Id = dinmico
: Usurio
Sistema
Ic = Forte
AlterarUltimaFichaBiometria
Id = dinmico
Ic = Forte
Id = dinmico
CriarFichaBiometria
Ic = Fraco
Ic = ForteId = dinmico
Id = dinmico
AcessarFichaBiometria
Ic = Forte
Id = dinmico
: Funcionario
: Funcionario
Sistema
Sistema
[ usuario = cliente ]
[ existe ]
[ usurio = funcionario ]
[ existe ]
Retornar dados da ltima
ficha de biometria
Selecionar cliente
desejado
Validar dados da
ficha de biometria
[ dados invlidos ]
Selecionar opo
Ficha de biometria
Validar dados da
ficha de biometria
[ dados vlidos ]
Cadastrar ficha
de biometria
[ existem ]
[ dados invlidos ]
[ no existem biometrias cadastradas para este cliente ]
[ dados vlidos ]
Mostrar dados da
ficha de biometria
Acessar
FichaBiometria
Criar
AlterarUltima FichaBiometria
FichaBiometria
91
Os artefatos rastreado para o tipo de mudana de incluso do conceito do tipo dataTypeProperty para o conceito Mensalidade dado pela figura 74. Na figura 75 calculado o impacto do artefato, atravs da frmula 8.
class
type
dataType
Property
type
desconto
domain
Mensalidade
Im = Alta
Ic = Forte
Id = esttico
Ic = Forte
Id = dinmico
Ic = Forte
Id = esttico
GerarMensalidade
Funcionario
Sistema
Seleciona a opo de
Gerar Mensalidade
Selecionar cliente
desejado
Informa multa
Validar dados
da multa
[ dados invlidos ]
[ dados vlidos ]
Calcula mensalidade
do cliente
GerarMensalidade
Para esse mesmo conceito, existem mudanas na regra de negcio associada a ele.
Os artefatos rastreados so os mesmos da figura 74, embora o clculo do impacto seja diferente, pois os valores da varivel Id mudam em decorrncia do tipo de mudana. Na figura 76
calculado o impacto do artefato, atravs da frmula 8.
Iam(Mensalidade,C-Mensalidade) = 0,9 x 1 x 0,5 = 0,45;
Iam(Mensalidade,UC-GerarMensalidade) = 0,9 x 1 x 1 = 0,9;
Iam(Mensalidade,DA-GerarMensalidade) = 0,9 x 1 x 1 = 0,9;
Figura 76 Clculos dos artefatos ligados ao conceito Mensalidade regra de negcio.
92
Os artefatos que foram identificados na ontologia do sistema a partir da ontologia
do requisito de mudana, mas que no sofrem nenhum tipo de alterao, seja estrutural ou
semntica, tambm so calculados. A finalidade identificar a probabilidade de impacto,
mesmo que pequena, dos artefatos que esto relacionados a esses conceitos. Outra motivao
que um artefato pode ser encontrado novamente e ento ter seus impactos somados.
A figura 77 mostra os artefatos relacionados ao conceito Cliente. Na figura 78
calculado o impacto do artefato, atravs da frmula 8.
CriarAtividadeTreinamento
CriarFichaPessoal
GerarGraficoCargaPorAtividade
: Usurio
Sistema
Sistema
Seleciona a opo de
Gerar Mensalidade
Cliente
: Usurio
Sistema
Sistema
Sistema
Selecionar
cliente
Apresentar formulrio de
autenticao
[ usuario = cliente ]
Selecionar cliente
desejado
Informa multa
Selecionar cliente
desejado
: Funcionario
Selecionar opo
Criar ficha pessoal
[ usuario = funcionario ]
[ usurio = funcionario ]
Cliente
Im = Baixa
CriarAtividadeTreinamento
[ usuario = cliente ]
type
class
AcessarAtividadeTreinamento
GerarGraficoPeso AlterarUltimaAtividadeTreinamento
Funcionario
CriarFichaBiometria
AcessarFichaBiometria
GerarGraficoTaxaGordura
AcessarFichaPessoal
AlterarFichaPessoal
AutenticarCliente
GerarMensalidade
Informar cdigo e
senha
Selecionar cliente
desejado
Validar dados
da multa
Apresentar opes de
grficos existentes
Validar dados da
ficha pessoal
Validar dados da
autenticao
[ dados invlidos ]
[ no existem biometrias cadastradas para este cliente ]
[ dados invlidos ]
[ dados invlidos ]
[ dados vlidos ]
[ dados vlidos ]
[ existe ]
Selecionar opo
Ficha pessoal
[ dados vlidos ]
Calcula mensalidade
do cliente
Liberar acesso
ao cliente
: Funcionario
Sistema
: Funcionario
Sistema
Selecionar opo
Alterar ficha pessoal
Cadastrar ficha
pessoal
Mostrar grfico
: Funcionario
Sistema
: Funcionario
Sistema
[ existe ]
[ existe ]
Retornar dados da
ficha pessoal
[ existe ]
[ existe ]
Validar dados da
ficha pessoal
Validar dados da
ficha de biometria
[ dados invlidos ]
[ dados vlidos ]
[ dados invlidos ]
Validar dados da
atividade de treinamento
Cadastrar ficha
de biometria
[ dados vlidos ]
[ dados invlidos ]
[ dados invlidos ]
Cadastrar atividade de
treinamento
[ dados vlidos ]
[ dados vlidos ]
Alterar ficha
pessoal
: Usurio
Sistema
: Funcionario
Sistema
: Usurio
Sistema
: Usurio
Sistema
[ usuario = cliente ]
[ usuario = cliente ]
[ usuario = funcionario ]
[ usuario = cliente ]
[ usuario = funcionario ]
[ existe ]
Retornar dados da ltima
ficha de biometria
Selecionar cliente
desejado
Sistema
[ usurio = funcionario ]
Selecionar cliente
desejado
Selecionar cliente
desejado
Apresentar opes de
grficos existentes
Selecionar opo
Ficha de biometria
Validar dados da
ficha de biometria
[ usuario = cliente ]
[ usurio = funcionario ]
Apresentar opes de
grficos existentes
: Usurio
Selecionar cliente
desejado
Selecionar opo
atividades de treinamento
[ dados invlidos ]
[ existem ]
Mostrar
grfico(s)
[ existe ]
[ dados vlidos ]
Alterar ltima ficha
de biometria
[ existe ]
Mostrar grfico
Mostrar dados da
ficha de biometria
Mostrar dados da
atividade de treinamento
93
94
A figura 79 mostra os artefatos relacionados ao conceito Funcionrio. Na figura
80 calculado o impacto do artefato, atravs da frmula 8.
AlterarFornecedor
CriarAtividadeTreinamento
CriarFichaPessoal
CriarFornecedor GerarGraficoCargaPorAtividade
AutenticarCliente
GerarMensalidade
CriarFichaBiometria CriarFuncionario
GerarGraficoTaxaGordura
Sistema
Funcionario
Sistema
Seleciona a opo de
Gerar Mensalidade
EmitirPedidoCompra
Cliente
type
Sistema
[ usuario = funcionario ]
Selecionar cliente
desejado
Informa multa
Selecionar cliente
desejado
Sistema
Selecionar opo
Criar ficha pessoal
[ usuario = cliente ]
[ usurio = funcionario ]
Funcionrio
Im = Baixa
: Funcionario
[ usuario = cliente ]
class
CancelarCompra
EfetuarCompra
: Usurio
Sistema
CriarAtividadeTreinamento
Selecionar
cliente
Apresentar formulrio de
autenticao
Informar cdigo e
senha
Validar dados da
autenticao
Selecionar cliente
desejado
Validar dados
da multa
Validar dados da
ficha pessoal
Apresentar opes de
grficos existentes
[ dados invlidos ]
[ no existem biometrias cadastradas para este cliente ]
[ dados invlidos ]
[ dados invlidos ]
[ dados vlidos ]
[ dados vlidos ]
[ existe ]
Selecionar opo
Ficha pessoal
Calcula mensalidade
do cliente
Liberar acesso
ao cliente
: Funcionario
: Funcionario
[ dados vlidos ]
Sistema
: Funcionario
Sistema
Cadastrar ficha
pessoal
Mostrar grfico
: Funcionario
Sistema
: Funcionario
Sistema
Sistema
Selecionar opo Alterar ltima
atividade de treinamento
Selecionar opo
Alterar ficha pessoal
[ existe ]
[ existe ]
Alterar status do
pedido de compra
Selecionar opo
Cancelar compra
Retornar dados da
ficha pessoal
[ existe ]
[ existe ]
Cancelar
compra
Validar dados da
ficha pessoal
Validar dados da
ficha de biometria
[ dados invlidos ]
[ dados vlidos ]
[ dados invlidos ]
Validar dados da
atividade de treinamento
Cadastrar ficha
de biometria
[ dados vlidos ]
[ dados invlidos ]
[ dados invlidos ]
Cadastrar atividade de
treinamento
[ dados vlidos ]
[ dados vlidos ]
Alterar ficha
pessoal
: Usurio
Sistema
: Funcionario
Sistema
: Usurio
: Usurio
Sistema
Sistema
: Usurio
Sistema
[ usuario = cliente ]
[ usuario = funcionario ]
[ usuario = cliente ]
[ usurio = funcionario ]
[ usuario = funcionario ]
[ existe ]
Retornar dados da ltima
ficha de biometria
Selecionar cliente
desejado
Selecionar cliente
desejado
Selecionar cliente
desejado
Apresentar opes de
grficos existentes
Selecionar opo
Ficha de biometria
Validar dados da
ficha de biometria
[ usuario = cliente ]
[ usurio = funcionario ]
Apresentar opes de
grficos existentes
Selecionar cliente
desejado
Selecionar opo
atividades de treinamento
[ dados invlidos ]
[ existem ]
Mostrar
grfico(s)
[ existe ]
[ dados vlidos ]
[ existe ]
Mostrar dados da
ficha de biometria
Mostrar grfico
Mostrar dados da
atividade de treinamento
: Funcionario
: Funcionario
Sistema
Selecionar opo
Alterar fornecedor
Sistema
Selecionar opo
Criar fornecedor
: Funcionario
Sistema
Selecionar opo
Alterar funcionrio
Retornar dados do
funcionrio
: Funcionario
: Funcionario
Sistema
Selecionar opo
Criar novo funcionrio
Informar dados do
novo funcionrio
Validar dados
do funcionrio
Sistema
[ existe ]
Retorna dados
do fornecedor
Informar dados
do fornecedor
Validar dados
do fornecedor
Selecionar
funcionrio
Alterar dados
do funcionrio
[ dados invlidos ]
Alterar dados
do fornecedor
Validar dados
do funcionrio
Apresentar formulrio de
autenticao
[ dados invlidos ]
Validar dados da
autenticao
Informar cdigo e
senha
Validar dados
do fornecedor
[ dados vlidos ]
[ dados invlidos ]
[ dados vlidos ]
[ dados invlidos ]
Cadastrar
fornecedor
[ dados invlidos ]
Alterar
funcionrio
[ dados vlidos ]
[ dados vlidos ]
[ dados vlidos ]
Cadastrar
funcionrio
Alterar
fornecedor
: Funcionario
Sistema
: Funcionario
Sistema
Selecionar opo
Efetuar compra
: Funcionario
Sistema
Selecionar opo
Cadastrar oramento
Recuperar
fornecedores
: Funcionario
Sistema
Retornar
oramentos
Funcionario
[ existe ]
Retornar dados do ltimo
oramento
Informar dados
do oramento
Validar dados do
pedido de compra
Validar dados
do oramento
Escolher
oramento
[ dados vlidos ]
[ existe fornecedor ]
[ dados invlidos ]
[ dados invlidos ]
Alterar atributo escolhido do
oramento
Alterar status do
pedido de compra
Efetuar compra
Alterar dados do
ltimo oramento
Recuperar
fornecedores
Validar dados
do oramento
[ dados vlidos ]
Sistema
Selecionar opo
Classificar fornecedor
[ existe ]
Liberar aceso
ao funcionrio
Retorna dados
do fornecedor
Cadastrar pedido de
compra
Cadastrar
oramento
[ dados invlidos ]
[ dados vlidos ]
Alterar ltimo
oramento
Classificar
fornecedor
Calcular
classificao
95
96
4.6.4 Listar e Calcular a Probabilidade dos Artefatos
Artefato
Probabilidade
acumulada (Pa(y))
C-FichaBiomtrica
UC-GerarMensalidade
DA-GerarMensalidade
C-Mensalidade
UC-CriarFichaBiometria
UC-AlterarUltimaFichaBiometria
DA-CriarFichaBiometria
DA-AlterarUltimaFichaBiometria
UC-AcessarFichaBiometria
DA-AcessarFichaBiometria
UC-CriarFichaPessoal
UC-AlterarFichaPessoal
UC-AcessarFichaPessoal
UC-AutenticarCliente
DA-CriarFichaPessoal
DA-AlterarFichaPessoal
DA-AcessarFichaPessoal
DA-AutenticarCliente
UC-CriarFuncionrio
UC-AlterarFuncionrio
UC-AutenticarFuncionrio
DA-AutenticarFuncionrio
UC-CriarAtividadeTreinamento
UC-AlterarUltimaAtividadeTreinamento
UC-AcessarAtividadeTreinamento
UC-GerarGrficoPeso
UC-GerarGrficoTaxaGordura
UC-GerarGrficoCargaAtividade
DA-CriarAtividadeTreinamento
DA-AlterarUltimaAtividadeTreinamento
DA-AcessarAtividadeTreinamento
C-Cliente
C-Funcionrio
UC-CriarFornecedor
UC-AlterarFornecedor
UC-ClassificarFornecedor
UC-CadastrarOramento
UC-AlterarUltimoOramento
UC-CancelarCompra
UC-EfetuarCompra
UC-EmitirPedidoCompra
DA-CriarFuncionrio
DA-AlterarFuncionrio
DA-CriarFornecedor
DA-AlterarFornecedor
DA-ClassificarFornecedor
DA-CadastrarOramento
DA-AlterarUltimoOramento
DA-CancelarCompra
DA-EfetuarCompra
DA-EmitirPedidoCompra
1,80
1,41
1,41
1,35
0,58
0,58
0,58
0,58
0,58
0,58
0,13
0,13
0,13
0,13
0,13
0,13
0,13
0,10
0,10
0,10
0,10
0,10
0,06
0,06
0,06
0,06
0,06
0,06
0,06
0,06
0,06
0,05
0,05
0,03
0,03
0,03
0,03
0,03
0,03
0,03
0,03
0,03
0,03
0,03
0,03
0,03
0,03
0,03
0,03
0,03
0,03
97
Na tabela VII foram destacados os artefatos que tem maior probabilidade de impacto. Esse conjunto de artefatos com maior probabilidade de impacto formado por aqueles
que tiverem a Probabilidade acumulada (Pa(y)) maior do que a mdia ponderada calculada
para todos os elementos rastreados. A figura 81 apresenta sua aplicao nesse exemplo.
0,23
98
99
VALIDAO DA METODOLOGIA
Esse captulo apresenta a validao da proposta de metodologia de anlise de impacto baseada na rastreabilidade ontolgica. Para realiz-la, foi utilizada a Engenharia de
Software Experimental.
Igualmente ao primeiro experimento realizado, que auxiliou na definio dessa
proposta, o sistema de software utilizado no experimento de validao da metodologia o
IsGym. Este amplamente apresentado no Apndice A. Foram utilizados tambm os mesmos
requisitos de mudana usados no primeiro experimento, mostrados nas figuras 98 e 99. Isso
foi possvel, pois os participantes de um e outro experimento so diferentes.
importante destacar que esse experimento, no que diz respeito ao sistema de
software utilizado, bem como alguns pontos do planejamento e seleo de participantes foi
feito em conjunto ao experimento de validao da proposta de rastreabilidade ontolgica
[NOL05b]. Sendo assim, algumas caractersticas de ambos os experimentos sero as mesmas
ou semelhantes. A seguir, sero apresentados os passos necessrios para se construir e validar
um experimento, como consta no referencial terico desse trabalho.
5.1
DEFINIO
Para estabelecer os objetivos desse estudo, foi utilizada a tcnica GQM proposta
por Basili [BAS94]. Nessa etapa, necessrio apresentar as questes que sero avaliadas e as
mtricas que sero utilizadas para medi-las.
100
5.1.1 Objetivo Global
Comparar a metodologia de anlise de impacto baseada em rastreabilidade indexada por conceitos e por requisitos,
Com o propsito de caracterizar, com base em um requisito de mudana, a de
probabilidade de alterao de artefatos e o conjunto de artefatos realmente modificados,
Com foco na preciso,
Sob o ponto de vista do analista de software,
No contexto de manuteno de um sistema de informao no domnio de academia desportiva, desenvolvido por estudantes durante uma disciplina da Faculdade de Informtica da PUCRS.
101
5.1.4 Questo
A preciso do conjunto dos artefatos com maior probabilidade de impacto encontrada atravs da anlise de impacto baseada na rastreabilidade atravs de requisitos igual a
preciso do conjunto dos artefatos com maior probabilidade de impacto encontrada atravs da
anlise de impacto baseada na rastreabilidade ontolgica?
5.1.5 Mtricas
qtdArtefatos Pb
qtdArtefatos Pb
M
M
Onde:
M: Conjunto de artefatos modificados;
Pb: Conjunto de artefatos previstos por determinada metodologia de anlise de
impacto;
qtdArtefatos(): funo que recupera a quantidade de artefatos do conjunto.
102
5.2
PLANEJAMENTO
O projeto do experimento determinado, a instrumentao considerada e os aspectos da validade do experimento so avaliados. Realiza-se a seleo do contexto, formulamse as hipteses, selecionam-se as variveis e os participantes, projeta-se o experimento, realiza-se a preparao conceitual da instrumentao e considera-se a validade do experimento.
103
5.2.2 Formulao das Hipteses
104
5.2.3 Seleo das Variveis
Variveis Independentes
Processo
Preciso
Variveis Dependentes
105
5.2.4 Seleo dos Indivduos
A populao definida para o experimento formada por alunos do curso de graduao e ps-graduao da Faculdade de Informtica da PUCRS, totalizando doze alunos.
No ser utilizada uma amostragem probabilstica para seleo dos indivduos,
mas sim uma amostragem no probabilstica:
a) Amostragem por convenincia: sero escolhidas as pessoas mais convenientes
para o experimento.
Caracteriza a forma de conduo do experimento, decidindo, por exemplo, a alocao dos participantes.
106
5.2.5.2 Padro para Tipo de Projeto
aic
Esse experimento investiga se a preciso de air igual a preciso de aic. A abordagem conhecida como um fator com dois tratamentos. Nesse caso, o fator refere-se ao time
de manuteno, ou seja, aos participantes do experimento e os tratamentos so as metodologias de anlise de impacto que esto sendo comparadas, a baseada em rastreabilidade por requisitos e por conceitos.
Optou-se por conduzir o projeto do experimento, no que diz respeito a execuo
desse, utilizando uma abordagem completamente aleatria para escolha de quais participantes
iriam executar uma ou outra metodologia. Essa deciso foi tomada, pois se cada participante
fizesse uso das duas metodologias, os resultados quando a segunda metodologia fosse utilizada seriam prejudicados, uma vez que a pessoa j teria um conhecimento prvio do sistema e
do requisito de mudana que estaria sendo proposto. A tabela VIII, chamada de tabela de contingncia, mostra com os fatores (participantes) foram divididos para executar os dois tratamentos (metodologias).
Tabela VIII Tabela de contingncia.
#Participante aic air
1
X
2
X
3
X
4
X
5
X
6
X
7
X
8
X
9
X
10
X
11
X
12
X
11
X
12
X
107
teste Mann-Whitney usado caso o teste seja no-paramtrico. Dependendo da normalidade e
varincia dos dados obtidos na execuo, ser escolhido um ou outro teste.
5.2.6 Instrumentao
108
5.2.7.1 Validade Interna
109
c) Expectativas do condutor do experimento: ao se conduzir um experimento, o
responsvel pode exercer influncias sobre as variveis envolvidas e sobre o
material elaborado. Durante a presente proposta, todo o material utilizado ser
previamente avaliado por outro responsvel.
110
5.3
EXECUO
5.3.1 Preparao
111
5.3.2 Execuo
5.4
ANLISE E INTERPRETAO
112
5.4.1 Anlise Tabular e Grfica
A figura 83 representa o grfico de barras com a preciso dos artefatos que tiveram a anlise de impacto determinada e que foram modificados pelos participantes.
1,20
Preciso
1,00
0,80
0,60
0,40
0,20
0,00
R01 R02 R03 R04 R05 R06 C01 C02 C03 C04 C05 C06
Participante
113
5.4.2 Estatstica Descritiva
Para iniciar a validao da hiptese, verificada a distribuio dos dados coletados. Para isso, gerado o grfico de disperso boxplot para a identificao dos outliers. A
figura 84 apresenta o grfico.
114
1,00
0,80
Precisao
0,60
0,40
0,20
0,00
Conc
Req
Abordagem
Como verificado na figura 84, a varivel preciso possui outliers moderados, sendo assim, nenhum participante ser extrado da amostra, j que no h risco de haver distoro. Pode-se notar no grfico, previamente, que a disperso maior quando utilizada a anlise
de impacto baseada na rastreabilidade por conceitos, embora a mediana da varivel preciso
esteja perto de 100%. Os resultados para a anlise de impacto baseada na rastreabilidade por
requisitos so mais uniformes, mas menos precisos.
A prxima etapa consiste em identificar se os dados seguem uma distribuio
normal. Para se avaliar a normalidade, definida uma hiptese nula e uma hiptese alternativa, conforme:
a) H0: a distribuio normal;
b) H1: a distribuio no normal.
Existem duas formas para se avaliar a distribuio normal dos dados, que compreendem o Teste de Kolmogorov-Smirnov e o Teste de Shapiro-Wilk. O primeiro utilizado para
identificar a normalidade em variveis com pelo menos 30 valores e o segundo em variveis
com menos de 50 valores. A tabela XI apresenta os testes de normalidades para a amostra
utilizando o Teste de Shapiro-Wilk.
Tabela XI Teste de normalidade Shapiro-Wilk para a varivel preciso.
Varivel
Abordagem
Estatstica Grau de Liberdade Significncia
0,831
6
0,110
Anlise de Impacto por Conceitos
Preciso
0,984
6
0,970
Anlise de Impacto por Requisitos
115
Com base na tabela XI, observa-se que a significncia dos dados do Teste de Shapiro-Wilk superior, em ambas as amostras (anlise de impacto baseada na rastreabilidade
por conceito e anlise de impacto baseada na rastreabilidade por conceito), ao nvel de significncia definido (0,05 ou 5%). Com esta informao, no h indcios para rejeitar a hiptese
nula sobre a distribuio da normalidade, conseguindo assim o primeiro requisito para utilizao de teste paramtrico para duas amostras independentes.
O segundo requisito requer a anlise da homocedasticidade, tornando necessrio
analisar a varincia das duas amostras. Com este objetivo, definem-se duas hipteses:
a) H0: As varincias so iguais;
b) H1: As varincias no so iguais.
O teste da hiptese acima realizado com a significncia obtida diretamente atravs do Teste de Levene. Este usado para testar se k amostras tm a mesma varincia. A tabela XII apresenta os resultados obtidos para este teste.
Tabela XII Teste de Levene para igualdade das varincias sobre a varivel preciso.
Significncia
Assumindo varincias iguais
Preciso
No assumindo varincias iguais
0,032
Com base na tabela XII, verifica-se que o nvel de significncia para varincias
iguais (0,032) inferior ao nvel de significncia definido (0,05 ou 5%). Com esta informao, pode-se rejeitar a hiptese nula para varincias, no sendo mais possvel utilizar o teste
paramtrico. O prximo passo utilizar o Teste de Mann-Whitney, para duas amostras independentes, por se tratar de uma alternativa no-paramtrica para o Teste T.
O Teste de Mann-Whitney para duas amostras independentes utilizado para
comprovar se as diferenas entre as mdias observadas nos dois grupos independentes so
estatisticamente significativas. Com base na declarao das hipteses, sugere-se:
a) H0: No h diferena entre as mdias (air = aic);
b) H1: H diferena entre as mdias (air aic).
Os resultados da aplicao do teste esto na tabela XIII.
Tabela XIII Teste no paramtrico de Mann-Whitney para a varivel preciso.
Z
Sig. Assimpt. (bilateral) Sig. Exata [2*(Sig.Unilateral)]
U de Mann-Withney W de Wilcoxon
0,019
Preciso
3,500
24,500
-2,342
0,015a
(a) No corrigidos para os empates
116
Como o grau de significao associado (Sig. Assimpt.) 0,019 e menor que a
significncia assumida de 0,05, deve-se rejeitar H0. Com a rejeio desta, comprova-se a hiptese H1, que afirma que h diferena entre as mdias, ou seja, existe diferena de mdia entre
a anlise de impacto baseada na rastreabilidade por conceitos e na anlise de impacto baseada
na rastreabilidade por requisitos.
Pela anlise estatstica dos dados, consegue-se recuperar duas informaes:
a) A distribuio da preciso no normal, o que implica na execuo de testes
no paramtricos;
b) Utilizando o Teste de Mann-Whitney, conseguiu-se verificar que existem diferenas entre as mdias das duas amostras air e aic.
Utilizando o Teste de Mann-Whitney, conseguiu-se apenas rejeitar a hiptese nula,
porm no foi possvel validar as hipteses alternativas, pois no possvel extrair relaes de
maior do que com o teste aplicado. Porm, sugere-se comparar a anlise descritiva das mdias da amostra, conforme a tabela XIV.
Tabela XIV Estatstica descritiva para a varivel preciso.
Abordagem
Mdia
Anlise de Impacto por Requisitos 0,281
Anlise de Impacto por Conceitos 0,750
Observando as mdias da varivel preciso para cada uma das metodologias, pode-se verificar que, em mdia, a preciso da anlise de impacto por conceitos maior do que a
preciso da anlise de impacto por requisitos.
5.5
AVALIAO QUALITATIVA
117
As cinco questes propostas podem ser verificadas no Apndice B. Os dados brutos obtidos como resultados esto apresentados na tabela XV, onde o participante identificado
como R0x referente a abordagem de anlise de impacto baseada na rastreabilidade por
requisitos e o participante C0x referente a abordagem ontolgica.
Tabela XV Resultados da avaliao qualitativa.
Participante Q1 Q2 Q3 Q4 Q5
R01
3 3 2 3 2
R02
3 3 4 2 3
R03
3 3 2 2 2
R04
2 3 2 4 2
R05
3 3 4 3 3
R06
4 3 4 4 3
C01
4 5 4 3 4
C02
4 5 4 4 4
C03
4 4 3 4 5
C04
3 4 2 3 3
C05
5 5 4 4 5
C06
4 4 3 4 4
A mdia aritmtica para cada uma das questes apresentada na tabela XVI.
Tabela XVI Mdia da satisfao das questes sobre as abordagens.
Abordagem
Q1 Q2 Q3 Q4 Q5
Anlise de Impacto por Requisitos 3,0 3,0 3,0 3,0 2,5
Anlise de Impacto por Conceitos 4,0 4,5 3,3 3,7 4,2
Comparando-se as mdias obtidas para cada uma das abordagens, pode-se perceber que as mdias obtidas pela metodologia de anlise de impacto baseada na rastreabilidade
por conceitos foi maior para todas as questes. Verifica-se ento que qualitativamente essa
metodologia melhor do que a metodologia de anlise de impacto por requisitos, para esse
conjunto de participantes.
5.6
CONSIDERAES
118
O experimento fez uso da rastreabilidade ontolgica, que est inserida dentro de
um processo de desenvolvimento especfico, o que no possibilita que essa experimentao
seja generalizvel a outros processos. Quanto ao contexto, foi analisado o impacto dos requisitos de mudana somente nas classes de projetos e as modificaes foram solicitadas apenas
no diagrama de classes. Decidiu-se restringir o experimento por questes de tempo para execuo e escolheu-se esse artefato por representar as alteraes estruturais no sistema.
Com os dados fornecidos pelos participantes, foi possvel avaliar a varivel preciso, a partir da qual seria feita a comparao das metodologias. Com a anlise inicial da varivel, percebeu-se que essa no apresentou uma distribuio normal das suas mdias. Por esse
motivo, usou-se o teste Mann-Whitney para avaliar as hipteses. Esse teste comprova se as
diferenas entre as mdias observadas em dois grupos independentes so estatisticamente significativas, mas no estabelece se um grupo superior ao outro. Uma vez que a aplicao do
teste comprovou que as mdias eram diferentes, foi necessrio utilizar a anlise descritiva das
mdias de cada metodologia e compar-las. Assim, verificou-se que a metodologia de anlise
de impacto baseada na rastreabilidade por conceitos tem uma preciso maior na determinao
do conjunto de artefatos que sero impactados.
A ltima fase da experimentao a Apresentao e Empacotamento do que foi
realizado no experimento para que esse possa ser repetido. Sendo assim, interessante a repetio deste para outros artefatos de software, tais como a descrio dos casos de uso, diagramas de atividades, de seqncia, ou quaisquer outros que se considerar relevante. A varivel
de preciso poder ser analisada em outros contextos, possibilitando um maior conhecimento
de como a metodologia de anlise de impacto baseada na rastreabilidade por conceitos se
comporta em universos distintos de projetos de manuteno e de participantes.
119
120
relacionam e uma alterao em um deles pode comprometer, de alguma forma, os outros aos
quais est ligado. Para que o clculo das probabilidades de impacto nos artefatos pudesse ser
determinado, tem-se como premissa que essas variveis sejam informadas na ontologia do
sistema.
A primeira fase da metodologia analisar o requisito de mudana e, aps este ser
modelado conceitualmente, gerar uma ontologia referente a esse requisito. Dessa forma, as
duas ontologias, a do requisito de mudana e a do sistema, podem ser comparadas a fim de
identificar os conceitos comuns as duas e saber, estruturalmente, quais esto sendo afetados e
de que maneira. Com essas duas fases concludas, podem-se rastrear os artefatos que esto
relacionados aos conceitos que foram identificados. O ltimo passo calcular o impacto para
todos os artefatos que foram encontrados, determinando assim, o conjunto dos artefatos com
maior probabilidade de impacto.
Alm do uso de ontologias para determinar o impacto de um requisito de mudana, outra contribuio dessa proposta foi o desenvolvimento da ferramenta ONTImpact. Com
ela possvel informar as influncias aos conceitos da ontologia, compar-las e realizar automaticamente os clculos necessrios, informando ao final os artefatos com maior probabilidade de serem modificados.
Alguns trabalhos futuros podem ser propostos para solucionar certas limitaes
dessa metodologia. Um deles pesquisar a possibilidade de se identificar, tambm automaticamente, as alteraes de regras de negcio, uma vez que hoje o usurio deve inform-la. Outro item que pode ser melhorado inserir o uso de tesauros, realizando uma anlise semntica
dos conceitos e no morfossinttica como feita atravs de algoritmos de radicalizao de
palavras. Visando a evoluo da metodologia, futuramente pode ser estudada uma forma de,
utilizando as disciplinas de anlise de impacto e rastreabilidade, garantir que a ontologia original do sistema em manuteno seja atualizada aps a execuo do requisito de mudana
solicitado. Seria interessante tambm que essa metodologia, e sua ferramenta, fossem aplicadas em uma empresa, com um sistema efetivamente em manuteno. Desta forma, poderia-se
estabelecer o uso real e prtico do que foi proposto neste trabalho.
No que se refere as mudanas na estrutura da ontologia, deveriam ser analisadas
as excluses de conceitos e relacionamentos. Provavelmente, essas mudanas tambm exerceriam influncia em artefatos relacionados a esses conceitos ou em outros a eles relacionados.
Quanto a ferramenta, suas funcionalidades poderiam ser adicionadas ao aplicativo
ONTrace, proposto por Noll[NOL05b], j que as pesquisas de rastreabilidade ontolgica, feita
por ele, e a de anlise de impacto, constante nesse trabalho, esto integradas. Dessa forma, o
121
usurio que queira calcular o impacto de uma mudana poderia realizar todas suas atividades
em um s sistema.
122
123
REFERNCIAS
124
[DIA04] DIAS, M. A. L. Extrao automtica de palavras-chave na lngua portuguesa
aplicada a dissertaes e teses da rea das engenharias. 2004. 138 f. Dissertao (Mestrado em Engenharia Eltrica) - Faculdade de Engenharia Eltrica e de Computao, Universidade Estadual de Campinas, Campinas, 2004.
[FAY85] FAY, D. S.; HOLME, G. D. Help! I have to update an undocumented program.
In: CONFERENCE ON SOFTWARE MAINTENANCE, Proceedings... Washington, D.C.:
IEEE Computer Society Press, c1985. p. 194-202.
[FEL03] FELICSSIMO, C. H. et al. Gerao de ontologias subsidiada pela engenharia de
requisitos. In: INTERNATIONAL WORKSHOP ON REQUIREMENTS ENGINEERING WER, 6., 2003, Piracicaba. Proceedings... Piracicaba: [s.n.], 2003.
[FEN00] FENSEL, D. Ontologies: a silver bullet for knowledge management and electronic commerce. Berlin: Springer, 2001. 138 p.
[FET00] FENTON, N; NEIL, M. Software metrics: roadmap. In: CONFERENCE ON THE
FUTURE OF SOFTWARE ENGINEERING - ICSE, 2000, Limerick, Ireland. Proceedings...
New York: ACM Press, 2000. p. 357-370.
[GEL04] GELLER, J.; PERL, Y.; LEE, J. Ontology challenges: a thumbnail historical
perspective. Knowledge and Information Systems, v. 6, n. 4, p. 375-379, July 2004.
[GEN03] GENERO, M., MIRANDA, D.; PIATTINI, M. Defining metrics for UML statechart diagrams in a methodological way. In: CONCEPTUAL modeling for novel application domains. Berlin: Springer, c2003. p. 118-128. (Lecture Notes in Computer Science,
2814).
[GOM01] GOMES, P.; BENTO, C. A case similarity metric for software reuse and design.
AI EDAM, v. 15, n. 1, p. 21-35, Jan. 2001.
[GON03] GONZALEZ, M.; LIMA, V. L. S. Recuperao de informao e processamento
da linguagem natural. In: JORNADA DE MINI-CURSOS DE INTELIGNCIA ARTIFICIAL, 3., 2003, Campinas. Campinas: SBC, 2003. v. 3, p. 347-395. Realizada no 23 Congresso da Sociedade Brasileira de Computao.
[GOT94] GOTEL, O.C.Z.; FINKELSTEIN, C.W. An analysis of the requirements traceability problem. In: INTERNATIONAL CONFERENCE ON REQUIREMENTS ENGINEERING, 1., 1994. Proceedings.... Los Alamitos, Calif.: IEEE Computer Society Press,
1994. p. 94-101.
[GRU93] GRUBER, T. R. A translation approach to portable ontology specifications.
Knowledge Acquisition, v. 5, n. 2, p. 199-220, 1993.
[IEE98] INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS. Standard for
software maintenance: IEEE std 1219. New York, 1998. 52 p.
[JAV06] JAVA. Java Technology. Estados
<http://java.sun.com/>. Acesso em: 14/10/2006
Unidos,
2006.
Disponvel
em:
[JEN06] JENA. A Semantic Web Framework for Java. Estados Unidos, 2006. Disponvel
em: <http://jena.sourceforge.net/>. Acesso em: 22/10/2006
125
[KOG02] KOGUT, P. et al. UML for ontology development. The Knowledge Engineering
Review, v. 17, n. 1, p. 61-64, 2002.
[KIM02] KIM, H.; BOLDYREFF, C. Developing software metrics applicable to UML
models, 2002. Trabalho apresentado na 16 European Conference on Object-Oriented Programming - ECOOP, Mlaga, 2002.
[LOR94] LORENZ, M.; KIDD, J. Object-oriented software metrics: a practical guide. Englewood Cliffs, N.J.: Prentice Hall, 1994.
[MAR98] MARCHESI, M. OOA metrics for the unified modeling language. In: EUROMICRO CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, 2.,
1998, Florence. Proceedings...,1998. p. 67-73.
[MIL99] MILLS, E. E. Metrics in the software engineering curriculum. Annals of Software
Engineering, v. 6 n. 1-4, p. 181-200, 1998.
[MQU06] McQUILLAN, J. A.; POWER, J. F. Some observations on the application of software metrics to UML models. In: ACM/IEEE INTERNATIONAL CONFERENCE ON
MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS - MoDELS, 9., 2006,
Genova. Proceedings...
[NOL05a] NOLL, R. Ontologias no processo de desenvolvimento de software. Trabalho
individual I, Instituto de Informtica, Pontifcia Universidade Catlica do Rio Grande do Sul,
Porto Alegre, 2005.
[NOL05b] NOLL, R. Integrao de ontologias no processo de desenvolvimento de software. Projeto de estudo e pesquisa. Instituto de Informtica, Pontifcia Universidade Catlica
do Rio Grande do Sul, Porto Alegre, 2005.
[NOL05c] NOLL, R. Integrao de ontologias no processo de desenvolvimento de software. Trabalho individual II, Instituto de Informtica, Pontifcia Universidade Catlica do Rio
Grande do Sul, Porto Alegre, 2005.
[ONE03] ONEAL, J. S. Analyzing the impact of changing software requirements: a traceability-based methodology. 2003. Tese de Doutorado - Faculty of the Louisiana State University, 2003.
[OLI01] OLIVEIRA, D. V. JDBC Java Database Connectivity. Videira: Universidade do
Oeste de Santa Catarina, 2001. p.1-6.
[PAL03] PALO, M. Requirements traceability. Helsinki: University of Helsinki, Department of Computer Science, 2003. 10p. Seminar report.
[PEA96] PEARSON, J. K. Requirements, traceability and formal software development
or a further analysis of requirement traceability. 1996.
[PRE95] PRESSMAN, R. S. Engenharia de software. So Paulo: Makron Books, 1995.
1056 p.
126
[PIN02] PINTO, M. B.; SACCOL, D. B. Uso de ontologias na definio de esquemas para
banco de dados semi-estruturados. Trabalho apresentado na 3 Jornada de Iniciao Cientfica do CEULP, 2002.
[RAM01] RAMESH, B.; JARKE, M. Toward reference models for requirements traceability.
IEEE Transactions on Software Engineering, v. 27, n. 1, p. 58-93, Jan. 2001.
[SCH99] SCHACH, S. R. Object-oriented and classical software engineering. WCB,
McGraw Hill, 1999.
[SAL68] SALTON, G. Automatic information organization and retrieval. New York:
McGraw-Hill, c1968. 514 p. (Computer Science Series).
[SCO04] SCOTTO, M. et al. A relational approach to software metrics. In: ACM SYMPOSIUM ON APPLIED COMPUTING, 2004, Nicosia, Cyprus. Proceedings... New York:
ACM Press, 2004. p. 1536-1540.
[SOM03] SOMMERVILLE, I. Software engineering. Addison-Wesley, 2003.
[TOR99] TORANZO, M.; CASTRO, J. A. Comprehensive traceability model to support
the design of interactive systems. In: WISDOM99 - INTERNATIONAL WORKSHOP ON
INTERACTIVE SYSTEM DEVELOPMENT AND OBJECT MODELS, 1999, Lisboa. Proceedings... 1999. p. 1-20.
[TRA02] TRAVASSOS, G. H.; GUROV, D.; AMARAL, E. A. G. do. Introduo engenharia de software experimental. Rio de Janeiro: COPPE/UFRJ, 2002. 52 p. (RT-ES590/02).
[WMS04] WORKSHOP DE MANUTENO DE SOFTWARE MODERNA - WMSWM,
1., 2004, Braslia. Anais eletrnicos... Disponvel em: <http://www.ucb.br/ucbtic/wmswm04/>. Acesso em: 17 jul. 2006.
[WOH00] Wohlin, C. et al. Experimentation in software engineering: an introduction. Boston: Kluwer Academic, 2000. 204 p.
127
Recepcao
Criar conta
Figura 85 Modelo de caso de uso de negcio para o contexto Criar Ficha de Acompanhamento de Cliente.
128
: Recepcao
: Fisioterapeuta
: Instrutor
Solicita exame
biomtrico
Realiza biometria no
aluno
Solicita avaliao do
exame biomtrico
Avalia exame
biomtrico
[ no apto ]
Gera atividade
de treinamento
Figura 86 Modelo de atividades de negcio para o contexto Criar Ficha de Acompanhamento de Cliente.
: Recepcao
: Fisioterapeuta
: Instrutor
Figura 87 Modelo de interao de negcio para o contexto Criar Ficha de Acompanhamento de Cliente.
EntidadeBiometria
EntidadeCliente
EntidadeTreinamento
Fisioterapeuta
Recepcao
Instrutor
Figura 88 Modelo de objetos de negcio para o contexto Criar Ficha de Acompanhamento de Cliente.
129
Aps anlise detalhada do problema, foi modelado o diagrama de casos de uso,
que mostrado na figura 89. Com ele, podem-se verificar quais so as funes do sistema. De
acordo com esse diagrama, foram criadas as descries detalhadas dos casos de uso, dos diagramas de atividades, de modelo de classe de anlise e de colaborao em anlise pra cada um
deles. Como exemplo, as figuras 90, 91, 92 e 93 mostram esses diagramas para o caso de uso
CriarFichaPessoal. Com relao a fase de projeto, os diagramas construdos foram os de seqncia e de classes, apresentados nas figuras 94 e 95, respectivamente. Finalizando a modelagem do projeto, os diagramas de componentes e de implantao foram definidos. A ferramenta Rational Rose foi utilizada para modelar os diagramas e os modelos presentes na documentao do projeto. Aps a modelagem, o sistema foi desenvolvido utilizando a tecnologia JSP e usando banco de dados MS-Access.
AcessarAtividadeTreinamento
EmitirPedidoCom pra
AcompanharDesem penho
AcessarFi chaBiometri a
AcessarFi chaPessoal
GerarMensal idade
GerarGraficoTaxaGordura
AcessarFi chaDeAcompanhamento de
Cli ente
AlterarFuncionario
AutenticarUsuari o
ManterFuncionario
Usuari o
Cri arFuncionario
GerarGraficoCargaPorAti vi dadeGerarGraficoPeso
GerarGraficosDesempenho
AlterarFornecedor
Cli ente
Funcionario
Cri arFichaPessoal
AlterarUltimaFichaBiometria
ManterFornecedor
Cri arFornecedor
ManterFichaAcompanhamentoCl iente
EfetuarCompra
AlterarFichaPessoal
CancelarCompra
CadastrarOramento
AlterarUltimoOramento
130
Identificao
UC3.
Caso de Uso
Manter ficha de acompanhamento de cliente.
Ator
Funcionrio.
Pr-Condio
Funcionrio estar autenticado no sistema.
Ps-Condio
Ficha pessoal criada.
Cenrio
Criar ficha pessoal
3.3.1. Criar ficha pessoal
Seqncia tpica de eventos
Ao do ator
Resposta do sistema
1
Este caso de uso comea
quando o Funcionrio seleciona
a opo Criar ficha pessoal na
seo Manter ficha de
acompanhamento de cliente do
sistema.
2
Sistema apresenta formulrio
para criao da ficha pessoal.
3
Funcionrio informa nome, CPF,
endereo, telefone, cidade,
estado (uf) e cdigo de acesso e
senha de acesso do novo cliente.
4
Sistema verifica se nome, CPF,
endereo, cidade, estado (uf),
cdigo de acesso e senha de
acesso so nulos, se CPF so
numricos no negativo e se
CPF e cdigo de acesso j
existem no cadastro de fichas
pessoais do sistema.
5
Sistema cadastra ficha pessoal
com status ativa e confirma
criao da ficha pessoal do
cliente.
Seqncia alternativa de eventos
4a Se nome, CPF, endereo, cidade, estado (uf), cdigo de acesso ou senha
de acesso so nulos, ou se CPF no numrico, ou se CPF um
numrico negativo, ou se CPF ou cdigo de acesso j existem no cadastro
de fichas pessoais do sistema: volta para 3.
Sistema
Selecionar opo
Criar ficha pessoal
Validar dados da
ficha pessoal
[ dados invlidos ]
[ dados vlidos ]
Cadastrar ficha
pessoal
131
InterfaceSistema
Funcionario
ControleCriarFichaPessoal
EntidadeCliente
1: selecionar(criarFichaPessoal)
4: informarDados(nome,CPF,endereco,telefone,cidade,uf,codigo,senha)
2: apresentar(formulario)
5: cadastrar(nome,CPF,endereco,telefone,cidade,uf,codigo,senha)
3: apresentar formulrio
: InterfaceSistema
: Funcionario
: ControleCriarFichaPessoal
7: existe(CPF,codigo)
9: cadastrar(nome,CPF,endereco,telefone,cidade,uf,codigo,senha,status="ativa")
: EntidadeCliente
: InterfaceSistema
:
ControleCriarFichaPessoal
: Funcionario
: EntidadeCliente
selecionar(criarFichaPessoal)
apresentar(formulario)
apresentar formulrio
informarDados(nome,CPF,endereco,telefone,cidade,uf,codigo,senha)
cadastrar(nome,CPF,endereco,telefone,cidade,uf,codigo,senha)
validarDados(nome,CPF,endereco,cidade,uf,codigo,senha)
existe(CPF,codigo)
cadastrar(nome,CPF,endereco,telefone,cidade,uf,codigo,senha,status="ativa")
132
Para aplicao do experimento foi escolhida a turma de Desenvolvimento de Sistemas Inteligentes do Programa de Ps-Graduao em Cincia da Computao da PUCRS. A
execuo do experimento foi planejada em duas fases. Na primeira, as reas de anlise de
impacto e rastreabilidade semntica foram abordadas, numa aula explanatria sobre os assuntos. Nesse mesmo momento, a turma foi dividida em nove duplas e cada aluno respondeu um
questionrio para traar o perfil dos participantes, que pode ser verificado na figura 96. Tambm foi explicado como o experimento seria conduzido, mostrando o que seria disponibiliza-
133
do e o que se exigiria como entrega. Para realizao das tarefas, foi dado um prazo de duas
semanas.
Com a anlise dos dados dos alunos que responderam ao questionrio, verifica-se
que a maioria tem experincia acadmica, sendo que a taxa de quem no tem experincia em
modelagem, implementao e projetos de manuteno semelhante a taxa daqueles que tem
bastante experincia, sendo que muito poucos conheciam o assunto de rastreabilidade. Era
interessante ter conhecimento dessas informaes para ter-se uma noo da dificuldade, ou
no, de realizar uma mudana na aplicao. Alem dessas informaes, foi solicitado que os
alunos classificassem seus conhecimentos nas metodologias e ferramentas usadas no experimento. Quanto ontologias, a turma ainda no possua nenhum conhecimento nesse assunto,
mas isso no foi impeditivo para a realizao do experimento, no que diz respeito a anlise de
impacto da mudana, pois esta estava sendo usada somente para realizar a rastreabilidade dos
artefatos com o uso da ferramenta ONTrace, fazendo parte da pesquisa e experimentao de
Noll[NOL05c].
Para atingir a finalidade do experimento, alguns materiais foram fornecidos para
os alunos. Dentre eles estavam a documentao completa do sistema, contendo os diagramas
j citados e a descrio detalhada do negcio; o arquivo com a modelagem reproduzida no
ArgoUML, uma vez que nessa ferramenta que o ONTrace est integrado e neste software
que a ontologia do sistema pode ser gerada; o cdigo fonte e a base de dados, alm dos requisitos de mudana. Os documentos de entrega do experimento esperados eram um relatrio das
134
alteraes feitas, representando o conjunto de artefatos impactados, reproduzido na figura 97,
o arquivo com a modelagem modificada, o cdigo fonte e banco de dados alterados.
O relatrio de conjunto de impacto presente na figura 94 est preenchido com dados fictcios para demonstrar seu preenchimento. A finalidade era conhecer que tipo de raciocnio foi utilizado para encontrar os artefatos impactados, j que no foi sugerido o uso de
uma metodologia para tal. Os artefatos que foram selecionados para serem analisados so os
listados abaixo:
a) Modelo de Domnio: era interessante analisar alguma alterao nesse diagrama, j que a ontologia gerada a partir dele;
b) Diagrama de Caso de Uso: foi selecionado pois a alterao poderia ser realizada modelando um novo caso de uso;
c) Descrio de Caso de Uso: uma vez que foram propostas alteraes nas regras
de negcio, essas deveriam ser informadas na descrio do caso de uso;
d) Diagrama de Atividades: com a alterao de regras de negcio, provavelmente
novas atividades seriam necessrias na modelagem anteriormente existente;
e) Diagrama de Classes: analisado para verificar se houve mudana de tipo de atributo, incluso de novo atributo ou classe;
f) Banco de Dados: embora as alteraes no banco de dados no possam ser rastreadas pela ferramenta ONTrace, era interessantes saber como as alteraes
se refletiam nele;
g) Cdigo Fonte: tambm no possvel rastrear o trecho do cdigo onde deve
ser feita a alterao, mas era necessrio saber se as alteraes feitas na modelagem seriam refletidas neste. Alm disso, quando no se utiliza uma metodo-
135
logia de rastreabilidade, artefatos que precisam ser alterados podem ser descobertos somente quando o cdigo alterado.
Outras duas informaes constantes no relatrio so: o tipo de mudana que estava sendo feita e a classificao do artefato. A primeira refere-se incluso, excluso ou alterao de elementos dos diagramas ou do cdigo. A segunda informao foi baseada na proposta de Bohner[BOH02], que separa os artefatos em conjuntos diferentes a medida que esses
so encontrados. No caso, tentou-se perceber quais artefatos foram rastreados primeiramente e
desses, quais realmente foram impactados (Im:Impactado), quais no foram impactados
(NI:No Impactado) e os que foram encontrados depois (N:Novo), possivelmente quando o
cdigo fonte estava sendo alterado.
Com finalidades distintas, foram criados trs requisitos de mudana. O primeiro
deles foi citado no capitulo 4 e j foi amplamente abordado. O segundo requisito de mudana
visava modificar a semntica e o range de conceitos da ontologia. O terceiro requisito alterava
uma regra de negcio. As figuras 98 e 99 apresentam, respectivamente, essas solicitaes.
Visando ter uma carta de fornecedores confiveis, a GymJoe decidiu classificar seus fornecedores
pela qualidade do item vendido ao invs de classificar pelo prazo de entrega. Esta deciso foi tomada, pois
mesmo havendo atraso de alguns fornecedores, seus itens so superiores aos da concorrncia. Quando os itens
forem entregues, o funcionrio deve classific-los em: bom e ruim, no havendo mais nenhum outro critrio
vlido para classificao de fornecedores.
Figura 98 Requisito de mudana 2 para sistema IsGym.
136
Foi identificado um problema na promoo de descontos da mensalidade, j que a adeso foi muito
grande. Os clientes estavam determinando objetivos fceis de serem atingidos. Consequentemente, o nmero
de clientes com desconto mximo cresceu consideravelmente. Para que isso no ocorra, o sistema deve calcular, a partir do peso, altura, sexo e idade do cliente, a taxa de gordura ideal que deve ser atingida. Se o objetivo for atingido, ser concedido um desconto de 10%. Os critrios so:
Se o cliente est na faixa Excesso de gordura, o objetivo deve ser passar para faixa Moderado.
Se o cliente est na faixa Moderado, o objetivo deve ser passar para Ideal.
Se o cliente est na faixa Ideal, o objetivo deve ser permanecer nessa faixa.
Se o cliente est na faixa Baixo, o objetivo deve passar ser para faixa Ideal.
Se o cliente est na faixa Excepcionalmente baixo, o objetivo deve ser passar para faixa
Baixo.
Clculo da Taxa de Gordura:
Sexo = 1(homem); 0(mulher)
Imc = peso/((altura_m * 100 + altura_cm)/100)
igc = (1.2 * imc) + (0.23 * idade) - (10.8 * sexo) - 5.4;
Classificao
excepcionalmente baixo
baixo
ideal
moderado
excesso de gordura
Homens
Mulheres
6% a 10%
11% a 14%
15% a 18%
19% a 24%
maior que 25%
10% a 15%
16% a 19%
20% a 25%
26% a 29%
maior que 30%
137
138
O experimento foi bastante til para identificar de que forma as alteraes se refletiriam na ontologia e a probabilidade de impacto que cada uma delas teria. Assim, foi possvel verificar que, quando se inclui um conceito ou esse alterado, a influncia da mudana
alta e que ela se nota estruturalmente na ontologia. Essa situao foi mais nitidamente verificada no requisito de mudana 2. Da mesma forma, quando regras de negcio so acrescentadas ou alteradas, casos dos requisitos de mudana 1 e 3, a influncia dessas sero igualmente
altas, mas mais fortemente nos diagramas dinmicos. Alm disso, foi possvel notar a influncia existente entre os relacionamentos dos conceitos, ou seja, quando artefatos so afetados,
mas de forma indireta.
Esse experimento teve carter exploratrio, no sendo utilizado para validar a metodologia. Os resultados obtidos a partir dele, serviram apenas de insumo para que essa fosse
estruturada.
139
Nesse apndice apresentado todo o material necessrio para conduo do experimento para validao da proposta. Primeiramente apresentado o material necessrio para
realizar o experimento na abordagem da anlise de impacto baseada na rastreabilidade ontolgica. Aps, o material para a anlise de impacto baseada na rastreabilidade por requisitos.
Por ltimo apresentado o questionrio, que comum s duas metodologias.
Figura 103 Tutorial fornecido para os participantes executarem a anlise de impacto ontolgica.
140
Figura 104 Planilha para preenchimento das variveis da metodologia de anlise de impacto ontolgica.
Figura 105 Tutorial fornecido para os participantes executarem a anlise de impacto por requisitos.
141
Figura 106 Planilha para preenchimento das variveis da metodologia de anlise de impacto por requisitos.
Questionrio
Avaliao Qualitativa da Proposta de Anlise de Impacto
(2) Ruim
(3) Regular
(4) Boa
(5) Muito Boa
Como voc considera a usabilidade desta tcnica de anlise de impacto?
Como voc considera a utilidade desta tcnica de anlise de impacto?