quinta-feira, 24 de julho de 2014

Dissertação - Abordagem em Níveis para Definição de Arquiteturas de Referência



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.
Abordagem em Níveis para Definição de Arquiteturas de Referência
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