A busca por tecnologias que possibilitem ganhos substanciais de produtividade no desenvolvimento de sistemas de software é um dos desafios da engenharia de software. Ao longo dos anos, diversas tecnologias surgiram com o objetivo de aumentar a produtividade. Reutilização de software é uma tecnologia emergente que pode ajudar a aumentar o índice de produtividade no desenvolvimento de software. Um sistema de reutilização deve fornecer mecanismos que permitam ao desenvolvedor de software identificar, catalogar, recuperar e integrar componentes de software. A identificação de componentes de software é tarefa complexa, pois responder o que reutilizar, como reutilizar e quando reutilizar não é simples. Para auxiliar nas respostas às questões citadas, a análise de domínio surge como uma abordagem sistemática para identificação, registro e elaboração de diretrizes do uso dos componentes de software existentes em um domínio de aplicação. Este trabalho descreve uma experiência prática de aplicação de conceitos e técnicas de análise de domínios na busca de abstrações reutilizáveis de software existentes nas aplicações do domínio. Apresenta como resultado da análise: um esquema de classificação dos componentes reutilizáveis de software que permite a criação de uma biblioteca de componentes, apresenta o modelo de domínio através de uma arquitetura padrão de construção de aplicações e uma linguagem de domínio, baseada no jargão utilizado no domínio e que permite especificar novas aplicações. O trabalho mostra, também, um exemplo do uso dos resultados da análise de domínio através da implementação de uma ferramenta automatizada de software para gerencia de uma biblioteca de componentes de software, bem com descreve uma proposta para construção de um gerador de aplicação, ambos como parte de um sistema de reutilização.The search for technologies aiming at increasing productivity in the development of software is one of the software engineering challenges. Many technologies have been proposed with this aim and software reuse is one of them. Reuse systems should provide mechanisms to the developer to identify, catalog and retrieve software components. Identification of software components is a complex task as the answer of what to reuse, how to reuse and when to reuse is not simple. Domain analysis is a systematic approach to help answering the questions above. It supports the identification, store and retrieval of software components as well as the development of guidelines of use of components in an existing application domain. This work describes a practical experience of domain analysis whose goals were to find reusable software abstractions. As result, a classification scheme for the reusable software components, a domain model in the form of a standard software architecture and a domain language based on the vocabulary of the domain are presented. This work shows how to use the results obtained from the analysis of the domain to build a software tool that integrates a library of software components and an application generator both as part of a reuse system