A prática da
medição de software nas organizações envolve definir medidas, coletar e
analisar dados para essas medidas com o propósito de apoiar a tomada de
decisão. Além de normas e padrões que apoiam a definição do processo de medição
e orientam sobre suas práticas, os recursos tecnológicos também são importantes
para o sucesso de sua implementação.
Em uma organização,
a escolha das soluções tecnológicas deve estar alinhada às necessidades
organizacionais e serve como base para a execução dos processos (LAUDON e LAUDON, 2011). Dessa forma, soluções computacionais
podem ser utilizadas para apoiar a execução do processo de medição. De fato,
considerando a natureza das atividades de medição, o apoio computacional para
sua realização é praticamente indispensável. Uma solução computacional pode ser
descrita por meio de uma arquitetura que define um conjunto de componentes
relacionados.
Como discutido no
Capítulo 2, arquiteturas de referência podem ser utilizadas como base para a
definição de soluções computacionais específicas. Quando se trata de uma
definição de arquitetura de referência, os principais conceitos do domínio
devem ser abordados em uma descrição clara dos componentes da arquitetura. A
apresentação dos conceitos e dos componentes comumente é feita por meio de
modelos/diagramas, assim as informações podem ser transmitidas de maneira
objetiva e estruturada. Um ponto de partida para a elaboração de uma
arquitetura de referência são as ontologias de domínio, pois são capazes de
representar os conceitos do domínio de forma estruturada e sem ambiguidade (NAKAGAWA et
al., 2009).
Neste capítulo a arquitetura de referência para medição de software
proposta neste trabalho é apresentada. Antes de desenvolver a arquitetura de
referência propriamente dita, foi definida uma abordagem para definição de
arquiteturas de referência, que foi seguida neste trabalho. Essa abordagem é
apresentada na seção 3.2. Na seção 3.3, é apresentada uma visão geral da
arquitetura de referência e algumas informações sobre seu desenvolvimento. Nas
seções 3.4 e 3.5 os componentes da arquitetura são detalhados e, finalmente, na
seção 3.6 são apresentadas as considerações finais do capítulo.
A necessidade de se
dar especial atenção aos modelos no contexto do desenvolvimento de software tem
sido reconhecida. Uma iniciativa em linha com essa afirmação é o paradigma de
Engenharia Dirigida por Modelos (MDE – Model
Driven Engineering) (FONDEMENT e SILAGHI, 2004), que advoga pelo uso de modelos em níveis
de abstração diferentes e transformações dos modelos de um nível a outro para
que um sistema seja desenvolvido. Uma abordagem proposta nesse contexto é a MDA
(Model Driven Architecture) (OMG, 2003), onde um modelo independente de plataforma
(PIM – Plataform Independent Model) é
construído e usado como base para, a partir de transformações, gerar modelos de
plataformas específicas (PSM – Plataform
Specific Model), os quais são utilizados para a implementação de sistemas.
Com inspiração no
paradigma de Engenharia Dirigida por Modelos (MDE), a abordagem para definição
de arquiteturas de referência proposta e utilizada neste trabalho é organizada
em níveis, onde em cada nível há um modelo em um nível de abstração diferente,
do mais abstrato para o menos abstrato. Ainda, inspirada na abordagem de Arquitetura
Dirigida por Modelos (MDA), a proposta faz distinção entre modelos
independentes de plataforma e modelos de plataformas específicas. Mas, é
importante ressaltar que, apesar de a abordagem definida ser inspirada em MDE e
MDA, este trabalho não é uma proposta de MDE ou MDA e a definição das
transformações que levam de um modelo para outro não fazem parte de seu escopo.
A abordagem definida é composta por cinco níveis, como mostra a Figura
3.1. Nela, as caixas retangulares representam os níveis da abordagem e as
caixas com as bordas arredondadas localizadas no interior dos níveis
representam os elementos que estão presentes em cada um deles. O nível de
abstração diminui de cima para baixo. As setas indicam que o modelo de um nível
é usado como base para a definição de modelo do nível seguinte. Após a figura a
descrição de cada nível é apresentada.
Figura 3.1 - Visão geral da abordagem para definição da
arquitetura para medição de software.
O primeiro nível da
abordagem (Metaconceituação) diz
respeito a modelos que descrevem objetos do mundo real, independentemente de
domínio, os quais são representados por meio de ontologias de fundamentação. A função da ontologia de fundamentação é
prover a conceituação genérica que será usada como base para definir a conceituação
do domínio para o qual a arquitetura de referência será desenvolvida.
O segundo nível (Conceituação do Domínio) diz respeito a
modelos que descrevem um domínio específico. Nesse nível encontra-se uma
ontologia de domínio, cuja função é
prover a conceituação do domínio no qual a arquitetura de
referência será aplicada Uma vez que a
ontologia de domínio deve descrever o domínio da melhor maneira possível, ela
deve ser uma ontologia de domínio de referência, ou seja, uma ontologia
construída com o objetivo de fazer a melhor descrição possível de um domínio na
realidade, em relação a um certo nível de granularidade e ponto de vista. Uma
ontologia de domínio de referência é um tipo especial de modelo representando
um modelo de consenso em uma comunidade. É uma especificação independente de
solução, que visa fazer uma clara e precisa descrição das entidades do domínio
para os propósitos de comunicação, aprendizado e solução de problemas
(GUIZZARDI, 2007). A ontologia de domínio de referência deve ser definida com
base na ontologia de fundamentação do nível anterior. O terceiro nível (Independente de Plataforma) diz
respeito a modelos desenvolvidos para o domínio sem se preocupar com aspectos
da plataforma, ou seja, aspectos relacionados a tecnologias específicas. Nesse
nível está a arquitetura de referência, que é definida com base na ontologia de
referência do nível anterior e tem função de servir como base para a definição
de arquiteturas específicas. Ao se descrever uma arquitetura de referência, devem
ser apresentados os componentes da arquitetura e seus papéis, os modelos que os
descrevem, bem como qualquer outro artefato que auxilie na descrição da arquitetura
de referência em um nível conceitual.
O quarto nível (Plataforma Específica) diz respeito a
modelos elaborados acrescentando-se aspectos tecnológicos ao modelo definido no
nível anterior. Esses modelos são derivados a partir dos modelos conceituais
definidos no terceiro nível, levando-se em consideração a utilização de
tecnologias específicas. Além disso, alguns requisitos específicos também podem
ser considerados, o que pode levar, por exemplo, à não utilização de algumas
partes da arquitetura de referência ou à
necessidade de tratamento de aspectos não abordados na arquitetura de referência
e que são necessários para a organização para a qual a arquitetura específica
será definida. Assim, diferentes do nível anterior, modelos deste nível
consideram, por exemplo, quais tecnologias de banco de dados serão utilizadas
para implementar uma solução computacional para um determinado domínio. Consequentemente,
os modelos estruturais elaborados no nível anterior devem ser adaptados de
acordo com as tecnologias de banco de dados adotadas.
Por fim, o último
nível (Aplicação) diz respeito às
aplicações construídas a partir de arquiteturas para plataformas específicas
definidas no nível anterior. Embora aplicações não sejam modelos, elas foram
incluídas na abordagem, pois podem ser utilizadas para avaliar a arquitetura de
referência proposta (MULLER, 2013).
O termo aplicação
adotado no último nível da abordagem diz respeito às mais diversas soluções
computacionais que podem ser produzidas. Uma ferramenta ou uma solução
computacional envolvendo vários sistemas são exemplos de aplicações que
poderiam ser produzidas nesse nível.
A abordagem descrita nesta seção foi utilizada para o desenvolvimento da
arquitetura de referência proposta. No nível 1, foi utilizada UFO (Unified Foundational Ontology) (GUIZZARDI, 2005), uma ontologia de fundamentação que modela
entidades do mundo real de forma genérica e que foi descrita no Capítulo 2. No
nível 2, foi utilizada a Ontologia de Referência para Medição de Software (BARCELLOS, 2009; BARCELLOS et al., 2013), uma ontologia de domínio construída com
base em UFO e que descreve o domínio de medição de software, incluindo aspectos
relacionados tanto à medição tradicional quanto em alta maturidade. Essa ontologia
também foi apresentada no Capítulo 2. Na próxima seção é apresentada uma visão
geral da Arquitetura de Referência para Medição de Software proposta.
Nenhum comentário:
Postar um comentário