Part I. Introductory chapter
II. Institutional approach
correspondente 141
conseguiu cobrir toda a funcionalidade do sistema e tamb´em precisou recorrer ao suporte para prosseguir a modelagem.
Esses dois casos de uso da GRN foram ´uteis para detectar alguns problemas na descric¸˜ao da interac¸˜ao entre os padr˜oes. Assim, o texto da GRN passar´a por uma revis˜ao buscando melho- rar a documentac¸˜ao dos padr˜oes LOCAR O RECURSO e MANTER O RECURSO. Ser˜ao inclu´ıdos exemplos de sistemas que podem ser modelados usando padr˜oes diferentes e ser˜ao mostradas as vantagens e desvantagens de model´a-los de uma ou de outra maneira.
Essas correc¸˜oes a serem feitas na GRN objetivam possibilitar seu uso sem treinamento, que ´e uma das propriedades desej´aveis de uma linguagem de padr˜oes: ela deve ser auto-explicativa, de forma que um usu´ario possa, ap´os estud´a-la, aplic´a-la sem maiores dificuldades. Afinal, a co- munidade de padr˜oes possui como filosofia a disponibilizac¸˜ao p´ublica de todo e qualquer padr˜ao ou linguagem de padr˜oes, para que outros desenvolvedores possam aproveitar-se do conhecimento que eles proporcionam sobre a experiˆencia na soluc¸˜ao dos problemas de desenvolvimento de soft- ware. Assim, deve ser poss´ıvel aplicar padr˜oes somente com as informac¸˜oes neles contidas, sem a necessidade de recorrer ao apoio de outras fontes de informac¸˜ao. Esse ´e o motivo pelo qual, nas Conferˆencias sobre padr˜oes de software, os artigos sobre padr˜oes e linguagens de padr˜oes s˜ao discutidos em sess˜oes de mais de uma hora, nas quais o autor deve permanecer calado quase que todo o tempo. ´E uma forma de permitir que ele observe a vis˜ao de outras pessoas a respeito do que est´a documentado no padr˜ao e possa modificar o que for necess´ario, para melhor entendimento do padr˜ao.
6.4
Avaliac¸ ˜ao da utilidade de uma linguagem de padr ˜oes
na construc¸ ˜ao de um framework correspondente
6.4.1
Vis ˜ao Geral
A avaliac¸˜ao das vantagens e desvantagens do uso de uma linguagem de padr˜oes para guiar a construc¸˜ao de um framework correspondente ´e feita por meio da avaliac¸˜ao do uso da GRN na construc¸˜ao do GREN (sub-sec¸˜ao 6.4.2) e da avaliac¸˜ao do uso da LV (R´e et al., 2001) na construc¸˜ao do Qd+ (R´e et al., 2002; R´e e Masiero, 2002) (sub-sec¸˜ao 6.4.3). Novos usos poderiam ser conduzi- dos para melhor validar esse processo e, por isso, os resultados aqui apresentados est˜ao vinculados aos exemplos e poderiam ser diferentes para outros pares “linguagem de padr˜oes e framework”. Entretanto, a opini˜ao da doutoranda ´e que os resultados obtidos s˜ao intuitivos e que o processo pro- posto tˆem o potencial de ser aplicado a outros dom´ınios espec´ıficos no mesmo n´ıvel do dom´ınio de gest˜ao de recursos de neg´ocios, como por exemplo seguradoras, hospitais, escolas, ´org˜aos go- vernamentais e bancos.
6.4 Avaliac¸˜ao da utilidade de uma linguagem de padr˜oes na construc¸˜ao de um framework
correspondente 142
6.4.2
A GRN na construc¸ ˜ao do GREN
Conforme j´a relatado na sec¸˜ao 4.3, a GRN foi utilizada ao longo do processo de construc¸˜ao do GREN, desde a identificac¸˜ao dos pontos vari´aveis, passando pelo projeto da hierarquia de classes, at´e a implementac¸˜ao, documentac¸˜ao e validac¸˜ao do framework. A seguir, faz-se um resumo dos principais pontos nos quais a GRN mostrou-se ´util no processo de construc¸˜ao do GREN:
• Na fase de identificac¸˜ao dos pontos vari´aveis, em um total de quarenta pontos vari´aveis, trinta e seis foram identificados a partir da GRN.
• Na fase de projeto da hierarquia de classes do GREN, foram utilizados os diagramas de classes dos quinze padr˜oes da GRN, que juntamente com o conjunto de pontos vari´aveis obtido na fase anterior, serviram de base para o projeto das classes abstratas que garantiram a flexibilidade desejada ao GREN.
• Na fase de implementac¸˜ao, a GRN foi utilizada para implementar o GREN de forma gradual, seguindo seq¨uencialmente seus quinze padr˜oes. Completando a fase de implementac¸˜ao, foi elaborada a documentac¸˜ao do GREN, totalmente baseada na GRN, visando facilitar sua instanciac¸˜ao para aplicac¸˜oes espec´ıficas.
• Na fase de validac¸˜ao do GREN a GRN foi utilizada para guiar a instanciac¸˜ao de trˆes aplica- c¸˜oes espec´ıficas, escolhidas de forma a exercitar todos os padr˜oes da GRN.
Concluindo, pode-se dizer que a GRN foi muito ´util na construc¸˜ao do GREN, permitindo a generalizac¸˜ao desse processo, conforme proposto na sec¸˜ao 4.2, para que outros desenvolvedores possam tirar proveito da experiˆencia adquirida.
6.4.3
A LV na construc¸ ˜ao do Qd+
O processo de construc¸˜ao de um framework com base em uma linguagem de padr˜oes, descrito na sec¸˜ao 4.2, foi tamb´em utilizado na construc¸˜ao do framework Qd+ (R´e et al., 2002; R´e e Masiero, 2002), com base na linguagem de padr˜oes LV (R´e et al., 2001), ambos para o dom´ınio de gest˜ao de leil˜oes virtuais. Esse trabalho foi executado durante uma pesquisa de mestrado que ocorreu paralelamente a esta pesquisa de doutorado.
Da mesma forma que na construc¸˜ao do GREN, na construc¸˜ao do Qd+ a LV foi utilizada para apoiar todo o processo, desde a identificac¸˜ao dos pontos vari´aveis at´e a implementac¸˜ao e validac¸˜ao do framework. Todos os dezessete pontos vari´aveis do Qd+ foram encontrados na LV. O projeto e implementac¸˜ao do Qd+ teve algumas particularidades devido `a plataforma na qual os sistemas
6.5 Avaliac¸˜ao da utilidade de uma lingpadr˜oes na instanciac¸˜ao do framework associado 143 resultantes devem executar, que ´e a Web. Assim, outros recursos foram necess´arios para permitir sua implementac¸˜ao, como os pacotesVisualWave e Smalltalk Server Pages.
A construc¸˜ao do Qd+ com base na LV indicou que o processo proposto nesta tese ´e vi´avel de ser executado em outros dom´ınios. Assim como no GREN, a documentac¸˜ao do Qd+ tamb´em faz o mapeamento dos padr˜oes da LV para as classes do framework a serem especializadas para produzir aplicac¸˜oes espec´ıficas, o que facilita a instanciac¸˜ao de tais aplicac¸˜oes, como descrito na sec¸˜ao 6.5.3.