domingo, 9 de dezembro de 2012

Segunda Aula


Em nossa segunda aula, alguns dos assuntos abordados na primeira aula voltaram ao foco da discussão. Nessa aula começaram a ser definidos mais claramente alguns conceitos centrais em análise de objetivos e, mais especificamente, no contexto de GORE.

O primeiro deles foi o conceito de objetivo. Um objetivo de um sistema pode ser definido como um fim a ser atingido por esse sistema. É importante ressaltar que podem ser definidos objetivos em diferentes níveis de abstração, ou seja, considerando uma abordagem top-down, pode-se definir objetivos mais genéricos e especializá-los/refiná-los.  Além das relações de decomposição, podem ser definidas também relações de contribuição e de alternativas entre objetivos. As relações de contribuição visam a capturar se a busca por um objetivo influencia positivamente ou negativamente em outro objetivo enquanto as relações de alternativas tem por finalidade registrar as diversas opções para se realizar um dado objetivo.

Um outro conceito interessante apresentado foi o de "soft goal". Se classificam como "soft goals" objetivos para os quais não é possível definir um critério objetivo de satisfatibilidade. Finalmente, um terceiro conceito abordado foi o conceito de requisito. Segundo a abordagem exposta, a maior diferença conceitual entre um objetivo e um requisito é que requisitos fornecem um critério de corte preciso. Por exemplo, posso ter como objetivo de um sistema “enviar comandos em tempo hábil” e, a partir desse objetivo, gerar o requisito “enviar comando em menos de um segundo em pelo menos 95% das ocorrências”.

Apesar de terem sido apresentadas algumas definições um pouco mais criteriosas sobre esses conceitos, a diferença entre eles ainda me parece bastante sutil e um tanto subjetiva. Na próxima aula desenvolveremos nossos primeiros modelos, o que deve nos ajudar na percepção das diferenças e das relações entre esses conceitos no contexto de GORE.

sábado, 1 de dezembro de 2012

GORE - Um mundo de expectativas surge...:)

Quando, na primeira aula, falou-se em Engenharia de Requisitos Orientada a Objetivos duas questões principais instigaram minha curiosidade:

  1. Qual a diferença fundamental entre o conceito de requisito e de objetivo nesse contexto?
    Intuitivamente tendemos a crer que um requisito seria uma característica necessária a um sistema para atingir um ou mais objetivos do mesmo. Mas, quando na aula, começamos a decompor objetivos em sub-objetivos, diminuindo a granularidade dos mesmos chegamos em um ponto onde ficou a dúvida sobre estarmos lidando ainda com um objetivo ou com um requisito. Segundo a metodologia i*, os requisitos surgem da decomposição dos objetivos, sendo que os requisitos são atômicos. Mas, confesso que para mim, um iniciante na área, ainda é difícil enxergar o limite entre esses conceitos. Fica então a expectativa de que, através da utilização prática de GORE e da análise ontológica desses conceitos, consigamos compreender esse tênue limite.

  2. Por que utilizar GORE? Uma pergunta que sempre surge quando pensamos em estudar estudar uma nova técnica para fazer algo é "o que essa técnica pode me dar de vantagem em relação ao que eu uso hoje para justificar meu esforço em aprendê-la?". Quando ouvi falar de GORE, não foi diferente. Já trabalhei em alguns projetos com levantamento e especificação de requisitos sem nunca ter usado um método orientado a objetivos, logo, qual vantagem GORE me traria?
    Pelo debate ocorrido na aula, as técnicas de GORE são bem formalizadas e as linguagens de modelagem utilizadas são bastante expressivas (ao contrário da Modelagem de Casos de Uso). Além do mais, segundo Kavakli e Loucopoulos (artigo utilizado como referência para a aula) há abordagens de GORE para auxiliar em cada uma das atividades de Engenharia de Requisitos. Fica então a expectativa por conhecer essas abordagens e seus métodos!

Primeira Aula

Há quem diga que uma boa aula é aquela que gera no aluno expectativa sobre "os próximos capítulos" da disciplina causando uma certa inquietude no mesmo. Sob essa ótica, a primeira aula não poderia ter sido melhor. 
A aula foi recheada de discussões interessantes acerca de conceitos como "objetivo", "objetivo individual", "objetivo organizacional", "requisito", dentre outros. Falou-se ainda sobre a utilização de objetivos em engenharia de requisitos, dando origem à Engenharia de Requisitos Orientada a Objetivos (GORE - Goal-Oriented Requirement Engineering) e sobre os motivos para a adoção de uma abordagem de engenharia de requisitos orientada a objetivos.
Com uma primeira aula tão rica em conceitos e debates, fica a expectativa para as próximas...