5 ABORDAGEM PROPOSTA
5.5 Processos de reuso na abordagem proposta
5.5.2 Processo de identificação
A identificação dos artefatos reusáveis ocorre em três eventos distintos: 1) na ocasi- ão do inventário inicial; 2) durante o processo de desenvolvimento de um sistema; e 3) quando ocorre alguma mudança no ambiente tecnológico e/ou de negócio dos sistemas da organização.
5.5.2.1 Identificação através de inventário inicial
Para a carga inicial do repositório, faz-se um inventário e prospecção dos padrões de domínio, de casos de uso e de interação que interessam à organização. Esta tarefa pode ser feita tanto internamente com os sistemas da organização, quanto externamente atra- vés da obtenção de coleções de padrões de terceiros (muitas delas disponíveis gratuita- mente na Internet). A pessoa ou equipe responsável por esta tarefa faz a triagem baseada nos tipos de sistemas que a organização está desenvolvendo ou pretende desenvolver. A ênfase não deve ser na quantidade de artefatos encontrados, mas sim na qualidade dos artefatos e na sua aderência ao modelo de negócios da organização. Não será muito útil identificar dezenas (ou até mesmo centenas) de padrões para povoar um repositório se eles não tem nenhuma aderência e aplicabilidade direta nos sistemas da organização.
Após o inventário dos padrões já existentes, faz-se um inventário de artefatos candi- datos a reuso. Neste inventário, procura-se identificar não só padrões de IU “implícitos” como também quaisquer artefatos (modelos, códigos-fonte, executáveis, etc) que têm grande potencial para fazerem parte dos padrões concretos (CUCPs e CIPs), mas que ainda não foram formatados, documentados e catalogados para este fim.
Também é nesta atividade que são identificadas as SMUIs candidatas a se tornar SMUIPs.
O resultado deste inventário deve ser uma coleção de padrões e de artefatos candida- tos a comporem o repositório de artefatos reusáveis da organização.
A seguir deve-se fazer, para cada artefato candidato identificado, um plano de cons- tituição da árvore de reificação sob a qual este artefato presumivelmente fará parte. Este plano permitirá identificar novos artefatos candidatos através da opção pela reificação, abstração ou tradução do artefato candidato original. Obviamente que as opções para a constituição desta árvore surgirão de forma a corroborar com o reuso no ambiente tec- nológico e de negócios da organização.
Como exemplo, suponha que um código-fonte que implementa uma solução de IU fosse identificado por ser sempre reusado pelos desenvolvedores nos novos projetos. Ao
92
fazer o plano de constituição da árvore de reificação a partir deste código-fonte, foi pos- sível identificar um CUCP cujos artefatos serão obtidos fundamentalmente por abstra- ção (engenharia reversa) do código-fonte. Este CUCP inicialmente terá uma árvore de reificação composta pelos seguintes artefatos: um padrão de caso de uso, uma SUI, uma CUI Básica e uma FUI (oriunda do código-fonte original).
5.5.2.2 Identificação durante o processo de desenvolvimento de um sistema
Ao longo do processo de desenvolvimento de um sistema é possível identificar, tan- to pela equipe de projeto quanto pela equipe que dá suporte ao reuso, que determinado artefato produzido para este sistema tem potencial para se tornar um artefato reusável. Para isso, a equipe o indica como artefato candidato a reuso para que ele, posteriormen- te, seja avaliado no seu real potencial de reuso e, caso esse potencial se confirme, seja elaborado um plano de constituição da sua árvore de reificação.
Várias demandas para a obtenção de novos artefatos e/ou modificação de artefatos existentes podem surgir ao longo do processo de desenvolvimento de um software, den- tre elas, podemos citar:
− indicação de candidato a padrão de caso de uso, − indicação de candidato a padrão de domínio,
− solicitação para a reificação de um padrão de caso de uso, − solicitação de manutenção corretiva de um artefato, − solicitação de nova versão de um artefato,
− indicação de candidato a padrão de interação, − indicação de candidato a SMUIP,
− indicação de nova IU para a apresentação de caso de uso, − indicação de reificação de um padrão de interação, − indicação de reificação de um SMUIP,
− indicação de abstração/reificação/tradução de uma IU.
O resultado destas demandas é uma lista de novos artefatos candidatos identificados e de alteração de artefatos reusáveis já existentes no repositório.
5.5.2.3 Identificação por mudanças no ambiente tecnológico ou de negócios
Sempre que uma nova tecnologia ou versão de tecnologia para o desenvolvimento de sistemas for introduzida (seja ela uma nova linguagem de programação, uma arquite- tura ou um framework) ou uma nova linha de sistemas em outra área de negócio for iniciada, cabe fazer uma revisão de todo o acervo no repositório de forma a identificar novos artefatos reusáveis candidatos a serem reusados com essa nova tecnologia e/ou linha de negócio.
A indicação de novos artefatos reusáveis provocada por uma mudança tecnológica implica, tipicamente, em processos de tradução de artefatos já existentes na árvore de reificação em outros artefatos na nova tecnologia. Por exemplo: se uma organização contém um repositório de CUCPs e CIPs com FUIs eminentemente escritas em Visual Basic 6.0, ao decidir migrar o seu desenvolvimento para a plataforma Java/Swing, esta
93
decisão implica na indicação de novas FUIs candidatas a serem escritas em Java/Swing, provocando, assim, um crescimento horizontal em todas as árvores de reificação envol- vidas.
Já a indicação de novos artefatos reusáveis provocada por mudanças de negócio im- plica em prospectar novos padrões de casos de uso e de domínio aderentes ao novo am- biente de negócio com conseqüentes desdobramentos oriundos da identificação destes novos padrões.