Bem-Vindo !

Este livro é sobre Engenharia de Requisitos, uma area de conhecimento fundamental para a construção de software.

A forma de publica-lo é diferente, mistura a tecnologia de blogs com a de páginas da internet. É um livro vivo.

A base desse livro é um pré-livro que escrevi em 1994. Por vários motivos não foi publicado em forma de livro e só agora -- Julho de 2007 -- consegui disponibilizar seu texto. Esse texto é arquivo imagem no formato "pdf". Esse texto não passou por processo de revisão editorial e contém alguns defeitos, alguns de Português e alguns conceituais. Os defeitos conceituais que existirem serão tratados na evolução do livro. Esse "blog" tem exatamente esse papel, tornar-se um livro vivo.

Os comentários serão abertos, com moderação, mas é pouco provável que sejam respondidos diretamente. Permitirei diálogos de leitores, desde de que sejam de interesse geral. Como o livro é de acesso livre, estarei utilizando anúncios veiculados pelo provedor desse conteúdo (Google). É a maneira que me parece ser mais adequada para essa iniciativa.

Esse livro é de minha inteira responsabilidade. No entanto, tenho que agradecer a PUC-Rio e ao CNPq que apoiam minhas pesquisas em Engenharia de Requisitos.

Os textos pertencem ao autor. Se gostou e quiser usar, use. No entanto, não esqueça de fazer a citação.
[Leite 07] Leite, J.C.S.P., "<"título da nota">","<"mes/ano ">", em Livro Vivo : Engenharia de Requisitos, http://livrodeengenhariaderequisitos.blogspot.com/, 2007

sábado, 1 de setembro de 2007

A Necessidade da Elicitação

A Seção 1 (Introdução) da Parte III ressalta a importância da tarefa de entendermos o que é preciso ser feito, antes de começarmos a fazer. Essa afirmação é óbvia, mas é muitas vezes esquecida por engenheiros que se apressam em construir antes de entender exatamente o que se deseja construir. Para ressaltar a importância da tarefa de ELICITAR citamos no texto dois autores: von Neumann e Polya. Dois matemáticos: um deles é o responsável pela teorização que levou a concepção dos computadores digitais; outro é responsável por uma série de trabalhos no campo da matemática e do seu ensino, em particular a maneira de resolver problemas.

Sobre von Neumann repito aqui o que escrevi em outro lugar:

Por que os requisitos são importantes? São várias as razões, mas: a mais evidente é porque não se pode construir nada, sem que antes saiba-se o que se quer construir. Eu utilizo, há muito tempo, uma frase atribuída a von Neumann que diz:

There is no sense in being precise about
something when you do not even know what you
are talking about.

Esta frase foi encontrada em um dos livros de Gerald Weinberg. Cabe a ele a citação original. Vale lembrar quem foi von Neumann. Veja também este elo.


Sobre Polya, utilizei três questões que são freqüentes em várias citações ao seu trabalho:

a) “What is the unknown?” ( qual a incógnita?)
b) “Do you know a related problem?” (conheces um problema semelhante?)
c) “Could you restate the problem?” (podes repetir o problema com suas palavras?)

Alcino Simões e Lisette Poggioli fornecem mais detalhes sobre o tema. A Universidade de Lisboa disponibiliza um resumo sobre Polya.

Além das citações a Polya e a von Neumann, gostaria de ressaltar alguns truísmos que identifiquei em um artigo de Michael Jackson, e que considero de fundamental importância.

a)"Distinguish the machine from the problem domain"
b) "Don’t restrict description to the machine",
c) "State explicitly what is described".
d) “Requirements Are Not Given Properties”,
e) “The Model Is Not the Reality”, and
f) “The Problem Is Not at the Interface”

Esses “mantras” estão contextualizados na diferença que Jackson faz da máquina computacional (software e hardware) e o contexto no qual essa máquina irá atuar (“problem domain”). Para ele requisitos é a ponte entre o contexto (Universo de Informações) e a máquina.

Desses seis “mantras” é importante saber: que o “problema” não está na interface, que requisitos não são propriedades previamente existentes, que a máquina deve ser entendida como separada do Universo de Informações e que o modelo não é a realidade.

Fundamentalmente, os “mantras” de Jackson expressam a necessidade da elicitação dos requisitos, e que esses precisam refletir a perspectiva da máquina e a perspectiva do contexto onde a máquina irá atuar.

Nenhum comentário: