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

segunda-feira, 20 de agosto de 2007

Abstração X Formalismo na Produção de Software

A Figura 8 da página 17 (Parte I) é uma tentativa de explicar o dualismo entre alto nível de abstração e alto grau de formalismo. Essa figura procura retratar o problema entre sair do canto superior esquerdo da Figura e atingir o canto inferior direito. O processo de produção de software busca exatamente isso: parte de uma definição abstrata, normalmente informal, e procura atingir uma implantação em forma detalhada e completamente formal. Completamente formal porque será uma descrição a ser executada por uma máquina, que só aceita descrições não ambíguas. Detalhada, porque a máquina é uma máquina construída para tratar lidar com dois estados diferentes (ligado e desligado), e nível lingüístico em que opera, apesar dos compiladores hoje existentes ainda requer um nível de detalhamento bastante grande.

O grande desafio do processo de produção de software é não perder-se na tentativa de sair da origem (canto superior esquerdo) e chegar à meta (conto inferior direito). Ocorre que durante o “caminho” várias distorções podem ocorrer, quer seja devido às falhas no entendimento do que deve ser a meta, a falhas no processo de produção (um desenho equivocado), ou a uma re-interpretação da meta em função de mudanças na origem.

A importância desse gráfico, cuja origem não consigo recordar, mas que está ligado a uma palestra de um Professor da Alemanha, é o de mostrar que o espaço de trabalho do engenheiro de software leva em consideração a dificuldade de ser preciso a um alto nível de abstração e a dificuldade de ser sucinto em face da exigência de um formalismo que impeça interpretações ambíguas.

Nenhum comentário: