A Rationale for Both Nesting and Inheritance in Object-Oriented Design - Carneiro, L. M. F.; Cowan, D. D.; Lucena, C. J. P. (Anais do Simpósio Brasileiro de Engenharia de Software (SBES); 1993: Anais do VII Simpósio Brasileiro de Engenharia de Software, 1993)
Tem sido observado que o design de objetos complexos, por exemplo software, requer decomposição por forma (objetos atômicos) e decomposição por função (agrupamento) para promover a redução do design para um conjunto de componentes que possa ser gerenciado. No entanto, o paradigma de design orientado por objetos suporta apenas decomposição por forma. Este artigo motiva, através de um exemplo simples, a necessidade de agrupamento (decomposição por função) e ilustra como a técnica de agrupamento pode ser incorporada na linguagem utilizada a nível de design. Nós também demonstramos como a introdução de agrupamento na especificação e design de software aumenta a reusabilidade de componentes de forma significativa. ADVcharts, uma nova forma de formalismo visual, e VDM são utilizados para representar a semântica de agrupamento.