Um método dirigido por responsabilidades para obtenção antecipada de pontos de estabilidade e de flexibilidade no desenvolvimento de frameworks de domínio. - Simone Nasser Matos (2008)
Várias abordagens propostas para o desenvolvimento de frameworks de domínio determinam os pontos de estabilidade e de flexibilidade a partir dos diagramas de classes ou do nome dos casos de uso ou de classes das aplicações. A dificuldade em se analisar os diagramas é que o desenvolvedor deverá compreender o funcionamento dos métodos das classes para conseguir identificar os pontos que são de estabilidade ou flexibilidade. Como resultado, há uma demora até que o desenvolvedor possa classificá-los. Por sua vez, as abordagens baseadas na análise de nomes, seja de caso de uso ou de classes, oferecem um processo independente para classificação dos pontos. Ou seja, os casos de uso já classificados não são utilizados como referência durante a determinação dos pontos em nível de classe, tornando o processo mais demorado. Tanto na análise de diagramas de classes quanto de nomes, o processo de classificação é feito de forma manual, dificultando a determinação de quais artefatos de software das aplicações serão reusadas com ou sem modificação durante a modelagem do framework. Neste trabalho é apresentado um método dirigido por responsabilidades que visa a identificar os pontos de estabilidade e de flexibilidade em fase inicial do processo de desenvolvimento de framework de domínio. Esse método identifica e classifica os pontos a partir do conjunto de responsabilidades dos casos de uso de cada aplicação. A classificação inicial para os casos de uso é utilizada como entrada do processo de classificação em nível de classe. Desta forma, o processo oferecido é dependente da classificação dos casos de uso e não independente como em outras abordagens. O método foi formalizado usando a teoria de conjuntos e implementado em um modelo relacional, facilitando a identificação dos pontos por um processo apoiado por computador. A aplicação do método foi ilustrada na elaboração do framework para os seguintes domínios: jogos de corrida de carros, jogos para celulares e criticidade.