2.4 PERAKENDECĠLĠK SEKTÖRÜNDEKĠ SATIġ
2.5.1 TükenmiĢlik Kavramı ve TükenmiĢlik Boyutları
2.5.2.2.2 Rol belirsizliği ve TükenmiĢlik ĠliĢkisi
Essa fase tem como finalidade gerenciar (obter/elaborar/atualizar) o catálogo de interesses que será utilizado durante a atividade de identificação e classificação de interesses de software (Figura 4.2). Caso haja catálogos pré-existentes no repositório de catálogos de interesses de software, esses podem ser obtidos por meio da atividade “Obter catálogo de interesses de software”.
Figura 4.2. Atividades da fase “Preparação do Catálogo de Interesses de Software”.
A atividade “Elaborar/atualizar catálogo de interesses de software” pode ser executada quando o engenheiro de software deseja elaborar seu próprio catálogo de interesses ou quando deseja atualizar um catálogo pré-existente. A atualização de um catálogo pode ser motivada pela ocorrência de problemas durante as fases de “Identificação e Classificação de Interesses” e “Detecção de Conflitos entre Interesses” ou pelo próprio desejo do engenheiro de software em modificar os elementos desse catálogo.
É importante ressaltar que catálogos de interesses de software são gerados a partir dos conceitos da parte A da ontologia O4C (Figura 3.1), correspondendo assim, a instâncias desses conceitos. Por exemplo, a ontologia O4C descreve o conceito “NonFunctionalConcern”, que representa o tipo de interesse de software conhecido como interesse não funcional. Em um catálogo de interesses de software, haverá instâncias desse
conceito para tipos específicos de interesses não funcionais, tais como “Segurança”, “Persistência”, entre outros.
Um exemplo simples de catálogo para os interesses “Segurança”, “Autorização” e “Logging” pode ser visto na Figura 4.3. Para facilitar a visualização desse e dos demais catálogos de interesses apresentados nesta seção, instâncias dos conceitos “Concern”, “Relationship” e “Keyword” foram representadas por meio de classes da UML destacadas em cinza, azul e amarelo, respectivamente. Os nomes dos conceitos da ontologia O4C são representados por meio de estereótipos localizados acima dos nomes das classes.
Nessa figura, há seis instâncias de conceitos, três referentes ao conceito “NonFunctionalConcern”, duas referentes ao conceito “Keyword” e uma referente ao conceito “Composition”. Neste exemplo, os interesses não funcionais são “Logging”, “Segurança” e “Autorização”, sendo que “Autorização” é um subinteresse de “Segurança”. Além disso, o interesse “Logging” está relacionado com duas palavras-chave, a saber, “logged” e “log”. Os relacionamentos entre as instâncias desses conceitos são representados por meio de associações do diagrama de classes UML.
Figura 4.3. Exemplo simples de um catálogo de interesses de software.
Catálogos de interesses de software podem ser criados a partir: (i) de outros tipos de
catálogos, como catálogos de requisitos não funcionais (Cysneiro, 2015; Chung e Leite,
2000; Boehm e In, 1996); (ii) do conhecimento de especialistas no domínio desses interesses; (iii) de documentos de negócios, tais como protocolos de segurança e privacidade, linguagens de padrões de negócio, tais como a linguagem para Gestão de Recursos de Negócio (GRN) (Braga, 2002), entre outros; ou (iv) de dados históricos de projetos já concluídos, para os quais os interesses do software já foram devidamente identificados por especialistas.
Na Figura 4.4 é apresentado o trecho de um catálogo de interesses criado com base em dados históricos. Mais especificamente, esse catálogo foi desenvolvido com base nos resultados da identificação e classificação de interesses do software Health Watcher (2015), realizada por especialistas em EROA com conhecimento sobre o domínio do software em questão. Health Watcher é uma aplicação web para registro e controle de reclamações na área da saúde bem conhecida pela comunidade científica de Desenvolvimento de Software Orientado a Aspectos (DSOA). Para melhorar a representatividade da Figura 4.4, apenas
interesses não funcionais do software Health Watcher foram considerados. Já a Figura 4.5 apresenta um trecho do catálogo para interesses funcionais desse software.
É importante salientar que a atividade de identificação e classificação dos interesses do software Health Watcher (2015) foi realizada com base na abordagem MDSoC (Moreira
et al., 2005) e, conforme foi discutido nas Seções 2.2.1 e 3.3.2. O arquivo XML (template)
proposto pelos autores dessa abordagem para representação de interesses não contempla o conceito de palavras-chave. Sendo assim, tais elementos tiveram que ser elicitados por especialistas da área de EROA, a partir da descrição dos requisitos com os quais os interesses identificados estavam relacionados. O catálogo da Figura 4.4 apresenta 7 (sete) interesses do tipo não funcional, relacionados com 28 (vinte e oito) palavras-chave. Além disso, há dois relacionamentos de contribuição (“Contribution”), sendo uma contribuição positiva entre os interesses “Concorrência” e “Desempenho” e uma contribuição negativa entre os interesses “Segurança” e “Desempenho”.
Figura 4.4. Catálogos para interesses não funcionais, desenvolvido a partir de dados históricos do software Health Watcher.
Ainda com base nos resultados da identificação e classificação de interesses do software Health Watcher (2015), na Figura 4.5 é apresentado um trecho de um catálogo da ontologia O4C com interesses funcionais identificados nesse software. Esse catálogo apresenta 3 (três) interesses do tipo funcional, 6 (seis) palavras-chave e 2 (dois) relacionamentos de composição entre os interesses “Reclamação” e “ReclamaçãoSobreAnimais” e “ReclamaçõesSobreAlimentos”.
A ideia é que o catálogo da Figura 4.4 possa ser utilizado para identificação e classificação de interesses não funcionais em outros projetos de softwares, assim como foi
utilizado no Capítulo 5 para identificação dos interesses não funcionais da ferramenta
ObasCId-Tool. Analogamente, o catálogo da Figura 4.5 pode ser aplicado sobre requisitos
de software do mesmo domínio do Health Watcher, isto é, o registro e controle de reclamações na área da saúde.
Figura 4.5. Catálogo para interesses funcionais, desenvolvido a partir de dados históricos do software Health Watcher.
Outro exemplo de catálogo de interesses de software pode ser visto na Figura 4.6. Ele foi construído a partir dos conceitos representados na linguagem de padrões Gestão de Recursos de Negócios (GRN) (Braga, 2002). A linguagem GRN foi elaborada para auxiliar o desenvolvimento de sistemas de informação no domínio de locação, comercialização e manutenção de recursos de negócios. Nessa linguagem, há um grupo de sete padrões relacionados às principais funcionalidades de um sistema de informações para gestão de recursos. Tais padrões foram mapeados para instâncias do conceito “FunctionalConcern” da ontologia O4C, gerando-se o catálogo de interesses da Figura 4.6.
Figura 4.6. Catálogo de interesses de software desenvolvido a partir da linguagem de padrões para Gestão de Recursos de Negócios (GRN).
Esse catálogo possui 7 (sete) interesses funcionais, 17 (dezessete) palavras-chave e 5 (cinco) relacionamentos, sendo três deles de composição entre os interesses “Transação” e “Locação”, “Transação” e “Comercialização” e “Transação” e “Reserva” e dois de dependência entre os interesses “Pagamento” e “Transação” e “Entrega” e “Pagamento”. Os relacionamentos existentes entre os interesses, bem como as palavras-chave relacionadas aos mesmos, foram obtidas a partir da descrição dos padrões da linguagem GRN (Braga, 2002).
Ao combinar os interesses dos catálogos da Figura 4.4 e da Figura 4.6, pode-se gerar um catálogo mais amplo que pode ser utilizado para identificar tanto interesses funcionais de sistemas de informação para gestão de recursos, como também interesses não funcionais, tais como “Segurança”, “Persistência”, entre outros.
Nas Seções 4.5 e 4.6 é apresentado como esses catálogos de interesses de software, juntamente com um conjunto de passos para utilizá-los, podem auxiliar o engenheiro de software durante as atividades “Identificação e Classificação de Interesses” e “Detecção de Conflitos entre Interesses”.