36
Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Embed Size (px)

Citation preview

Page 1: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Agentes no Processo de Requisitos

Miriam Sayão

orientador: Julio Cesar S. P. Leite

Page 2: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 2

Roteiro

• motivação• proposta• estágio atual• contribuições• trabalhos relacionados

Page 3: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 3

• adotado por muitas multinacionais (HP, Motorola, Dell, Sonae, ....)

• dificuldades associadas a ambientes distribuídos de desenvolvimento:– diversidade cultural e diferenças lingüísticas afetam

a compreensão comum dos requisitos– delays devidos aos diferentes fusos horários

impactam nas atividades normalmente executadas de forma presencial (elicitação, priorização e negociação)

– informação inadequadamente compartilhada afeta a confiança entre equipes e impacta atividades do processo de desenvolvimento

Ambientes distribuídos de desenvolvimento

Page 4: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 4

• processo de requisitos: intensivo em comunicação

• comunicação em projetos distribuídos: – utiliza por volta de 22% do tempo total do

desenvolvimento [Gorton96]

– atividades de cognitive synchronization* são responsáveis por aproximadamente 29% do tempo de desenvolvimento [Cherry04]

– 15 a 41% do tempo total do desenvolvimento [estudos relacionados em Cherry04]

Processo de Requisitos em ambientes distribuídos

* atividades de comunicação entre dois ou mais desenvolvedores, visando confirmar que eles compartilham o mesmo conhecimento ou a mesma representação do objeto em questão

Page 5: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 5

• distribuição não atinge processo de requisitos– a) uma equipe se desloca até os usuários para a

aquisição dos requisitos– b) essa equipe elabora o documento de requisitos

e o repassa à equipe de desenvolvimento– c) o mesmo documento é utilizado pela equipe que

prepara e executa a bateria de testes

• isto acontece porque ..... – a) tentativa de diminuir problemas de comunicação– b) ferramentas existentes são inadequadas para

ambientes distribuídos

Processo de Requisitos em ambientes distribuídos: motivação

Page 6: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 6

Proposta: agentes no processo de requisitos

• objetivo principal: contribuir para a viabilização da distribuição das atividades no processo de requisitos

• nossa proposta: uso de agentes de software– atuando como assistentes dos interessados do

processo de requisitos– monitorando ocorrência de eventos significativos e

notificando automaticamente os interessados– auxiliando na sistematização do conhecimento da

organização

Page 7: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 7

Agentes: por quê?

• soluções com agentes são indicadas para:– problemas complexos– de natureza distribuída– naqueles onde atores desempenham

diferentes papéis e interagem visando atingir diferentes objetivos

• uso de agentes nas atividades de gerenciamento de requisitos, com ênfase às atividades de verificação e validação de requisitos

Page 8: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 8

Resultados esperados

• efetiva distribuição do trabalho no processo de requisitos

• diminuição das tarefas hoje executada por humanos

• diminuição dos problemas derivados de falhas na comunicação

Page 9: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 9

Processo distribuído de requisitos

• verificação: inspeção do documento de requisitos (SRS)– inspeção: utilização de uma técnica de leitura aplicável a um

artefato, buscando a localização de erros ou defeitos no mesmo– exemplo de técnica de leitura onde são consideradas as visões:

Perspective Based Reading

• validação: engenheiro de requisitos e representantes do cliente e dos usuários avaliam o SRS com o objetivo de assegurar que os requisitos relacionados no SRS correspondem ao esperado pelos usuários e cliente

• diferentes visões na validação e verificação do SRS

• diferentes metas e intencionalidades por parte dos atores, passíveis de modelagem com a notação i*

Page 10: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 10

Processo de requisitos: diagrama SD

Agent

PositionRole

Goal

SoftgoalResource

Page 11: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 11

Estágio atual

• cada meta dos atores do SD é decomposta em tarefas e modelada em diagramas SR

• elaboração dos diagramas SR - Strategic Rationale, para os diversos agentes

• definição e atribuição das tarefas a agentes• experimentos com uso da linguagem natural para:

– criação de visões dos requisitos– tratamento da rastreabilidade– apoio à manutenção do léxico da aplicação

• definição de características da ferramenta de apoio

Page 12: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 12

Ferramenta de apoio

• características de:– agência: diferentes papéis a serem desempenhados

pelos agentes, na representação dos interessados reais;

– serviços de comunicação: para troca de informações entre usuários e agentes de software, e para notificação dos interessados na ocorrência de eventos;

– serviços de monitoramento: para monitoramento de modificações no ambiente e eventos significativos nesse contexto;

– persistência de dados: • base de conhecimento organizacional• baseline para artefatos de requisitos• informações relacionadas a projetos

Page 13: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 13

Base de conhecimentos

da organização

Repositório do projeto

Blackboard para comunicação

mensagens mensagensnotificações

assistentes assistentes

mensagens

mensagens

stakeholders

Page 14: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 14

Atores e agentes assistentes

• Coordenador do projeto ou administrador - responsável pelo cadastramento de novos usuários e definição dos direitos de acesso aos artefatos, pela criação e acompanhamento de projetos;

• Engenheiro de Requisitos - responsável pelo documento de requisitos, pela organização dos processos de verificação e validação;

• Cliente/Usuário - uma das principais fontes para requisitos, cliente e usuário participam ativamente nos processos de validação e verificação do documento de requisitos;

• Inspetor - papel a ser desempenhado por diferentes usuários do sistema no processo de verificação do documento de requisitos; deve ser parametrizado para executar diferentes tipos de verificação;

Page 15: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 15

• Rastreador - responsável pela construção de matrizes de rastreabilidade, e pela verificação destas matrizes com aquelas fornecidas pelo engenheiro de requisitos, apontando as divergências e apresentando a opção de tratar ou não cada uma das divergências apontadas;

• Construtor do léxico - responsável pela manutenção do léxico da aplicação, visando à atualização da base de conhecimentos para o domínio da organização;

• Gerador de visões - responsável pela construção e apresentação de visões dos requisitos, de acordo com perfil ou interesse manifestado pelos usuários do sistema;

Agentes de software

Page 16: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 16

• Observador - responsável pela observação dos artefatos e, em caso de alteração, é o responsável por notificar os interessados. Também é de sua responsabilidade manter a consistência de versões entre repositórios;

• Comunicador - envia mensagens e notificações a agentes e usuários através de diferentes meios de comunicação;

• Verificador - responsável pela coleta e distribuição dos artefatos para a verificação, envio de notificação aos envolvidos e consolidação parcial do relatório;

• Validador - responsável pela coleta e distribuição dos artefatos para a validação, envio de notificação aos envolvidos e consolidação parcial do relatório;

Agentes de software

Page 17: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 17

Agentes: definição de responsabilidades

Papel: RastreadorSistema: REDist

ResponsabilidadesServiço: gerar matriz RNF x

RFNome: gerarMatRast

Serviço: gerar matriz verificacão

Nome: gerarMatTestRecursos

Dados Serviços requeridosBase Tabela Driverredist Requisito

sMySql

Redist Rastros MySqlredist Testes MySql

Page 18: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 18

Agente gerador de visões dos requisitos

• "Topic maps are a new ISO standard for describing knowledge structures and associating them with information resources" - Steve Pepper

• entidades básicas: tópicos e associações• associações podem ser utilizadas para:

– apresentação de diferentes visões dos requisitos– mostrar a rede de dependências entre requisitos– mostrar ligações de requisitos a outros artefatos

• documentos em XML podem ser transformados em XTM utilizando Stylesheets

Page 19: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 19

Visão dos requisitos associados ao RNF segurança

Page 20: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 20

Visão dos requisitos associados ao RNF segurança

Page 21: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 21

Visão dos requisitos alocados a componentes

Page 22: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 22

Visão dos requisitos verificados por testes

Page 23: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 23

Agente Rastreador: tratamento da rastreabilidade

• pré-rastreabilidade:– origem do requisito é um dos atributos registrados

• matriz de rastreabilidade RF x RNF: geralmente feita de forma manual

• para geração automática, definimos algumas heurísticas:– análise de documentos de requisitos de uma organização que

desenvolve em ambientes distribuídos– identificação de termos ou expressões associados a

requisitos não-funcionais– varredura do documento de requisitos e identificação dos

requisitos funcionais associados ao requisito não-funcional

Page 24: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 24

Agente Rastreador: tratamento da rastreabilidade

• matriz de rastreabilidade RF x RNF– uso de uma das taxonomias já publicadas,

associando a cada RNF palavras ou expressões utilizados na organização

– RNF segurança: associado às expressões logon ou login, logoff, senha ou password, perfil de usuário, controle de acesso, ...

Page 25: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 25

PROJETO EXIT - MATRIZ DE RASTREABILIDADE RF X RNF

REQUISITOS NÃO FUNCIONAIS REQUISITOS FUNCIONAIS NFR1 NFR2 NFR3 NFR4 NFR5 NFR6

RF1 X X

........

RF14 X X

RF15 X

RF16 X X

RF17 X

.......

Tratamento da rastreabilidade

Page 26: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 26

Tratamento da linguagem natural

• experimentos com tratamento da linguagem natural:– a) identificação de palavras ou expressões próprias

do domínio da aplicação, visando à construção do Universo de Informações (offshore insourcing)

– b) explicitação das diferenças culturais entre interessados

Page 27: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 27

• comparação de palavras e expressões com "dicionário" resulta em:

– diferenças culturais entre Brasil e Portugal explicitadas

• por defeito representando por default• aceder ao invés de acessar "dicionário• sinalética ao invés de ícone de• multibanco para tipo de pagamento

viagem"• ecrã ao invés de monitor ou tela• villas significando resort• utilizador, aluguer, telemóvel, ficheiro

Tratamento da linguagem natural

Page 28: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 28

• Construtor:– identificação de palavras que deveriam constar do

léxico da aplicação• ACE, BIZTALK, RESTEL, SAP ...... • cofidis, dossier, markup, .......

– verificação de inconsistências com o léxico existente

• Verificador: – RNF segurança(logon ou login, logoff, password ou

senha): deve haver ao menos um requisito associado a cada expressão do RNF segurança

Agentes verificador e construtor do léxico

Page 29: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 29

Contribuições

• uso de agentes de software como assistentes dos stakeholders, visando à automação parcial de atividades do processo de requisitos e diminuição dos problemas de comunicação entre sites em ambientes distribuídos

• tratamento da rastreabilidade: técnica para geração e verificação de matrizes de rastreabilidade

• técnica para geração de visões dos requisitos, apoiando tarefas de gerenciamento e desenvolvimento

• técnica para recuperação e sistematização do conhecimento organizacional (UdI)

• criação de um ambiente flexível e extensível para atividades de Gerenciamento de Requisitos

Page 30: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 30

Trabalhos relacionados

• visam à criação de MTF´s para ambientes distribuídos

• abordam aspectos pontuais e não utilizam agentes

• priorização de requisitos: – uso distribuído da técnica Quality Function Deployment (QFD)

para definição dos requisitos; comunicação entre os interessados realizada com o uso de equipamentos de teleconferência [Hrones93]

– priorização distribuída, com objetivo de avaliar diferentes segmentos do mercado para definir os requisitos [Regnell01]

Page 31: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 31

Trabalhos relacionados

• negociação de requisitos:– uso de um facilitador para a condução de processos de

negociação de requisitos envolvendo interessados geograficamente separados [Damian01] [Damian03]

• verificação do documento de requisitos:– inspeção segundo a técnica PBR, apoiada pela ferramenta

IBIS. IBIS armazena o documento a ser inspecionado, possibilita o cadastro e a seleção dos inspetores, fornece checklists e formulários e registra os problemas detectados por cada um deles [Lanubile03]

Page 32: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 32

Trabalhos relacionados

• evolução de requisitos:– uso de agentes móveis para controle da evolução de requisitos

em ambientes distribuídos [Chang03]

• gerenciamento de processos distribuídos:– projeto GENESIS: uso de agentes de software, de técnicas de

workflow e de gerenciamento de documentos para gerenciamento de projetos e comunicação entre engenheiros de software

– agentes: responsáveis pela manipulação de exceções, pela sincronização de processos entre os sites distribuídos e pela monitoração e coleta de informações relacionadas a processos

– uso de agentes: abordagem menos invasiva para atividades de coordenação e controle entre sites

Page 33: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 33

Conclusões

• paradigma de agentes: apropriado para o processo de requisitos em ambientes distribuídos

• agentes atuando como assistentes de usuários, clientes, engenheiro de requisitos, projetistas, engenheiros de software e desenvolvedores

• pró-atividade dos agentes diminuindo parte dos problemas decorrentes de falhas na comunicação em ambientes distribuídos

• agentes e atores atuando visando atingir seus próprios objetivos, e colaborando visando atingir um objetivo comum: um documento de requisitos de qualidade e que reflita as necessidades de clientes e usuários

Page 34: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 34

Bibliografia

Chang, C.; Cai, L. "Agent based Requirements Evolution over the Internet". In: IEEE Workshop on Software Engineering on the Internet, The IEEE-CS/IPSJ 2001 Symposium on Applications and the Internet (SAINT 2001), Jan. 8-12, 2001, pp. 83-88.

Cherry, S. & Robillard, P. "Communication Problems in Global Software Development: Spotlight on a New Field of Investigation". In: Third International Workshop on Global Software, May 24, 2004, Edinburgh, Scotland. Proceedings. http://gsd2004.uvic.ca/

Damian, D.; Eberlein, A.; Woodward, B.; Shaw, M. & Gaines, B. "An empirical study of facilitation of computer-mediated distributed requirements negotiations". In: Fifth IEEE International Symposium on Requirements Engineering (RE '01), August 27 - 31, 2001. Toronto, Canadá. Proceedings. pp. 128-135.

Page 35: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 35

Damian, D.; Eberlein, A.; Shaw, M. & Gaines, B. "Facilitation in Distributed Requirements Engineering". Requirements Engineering Journal, 8(1), 2003, pgs 23-41.

Gorton, I. & Motwani, S. “Issues in Co-operative Software Engineering Using Globally Distributed Teams”. In: Information and Software Technology Journal ,vol 38(10), 1996. págs. 647-655.

Hersleb, J. & Mockus, A. "An empirical study of speed and communication in globally distributed software development". IEEE Transactions on Software Engineering, vol 29(6), pags. 481-494

Lanubile, F.; Mallardo, T. "Preliminary Evaluation of Tool-based Support for Distributed Inspection". In: 26th Annual International Computer Software and Applications Conference (COMPSAC’02). Proceedings.

Bibliografia

Page 36: Agentes no Processo de Requisitos Miriam Sayão orientador: Julio Cesar S. P. Leite

Software Engineering Lab (LES) – PUC-Rio 36

Leite, Julio C. S. P. – Engenharia de Requisitos – notas de aula, 1994

Leite, J. C. S. P. et al. "Enhancing a Baseline Requirements with Scenarios". In: Third International Symposium on Requirements Engineering, 1997. IEEE Computer Society. Proceedings. pags. 44-53

Regnell,B.; Höst, M.; Natt,J.; Beremark, P. & Hjelm, T. "An industrial case study on distributed prioritization in market-driven requirements engineering for packaged software". Requirements Engineering Journal 6(1), 2001, pgs. 51-62.

Sayão, M. & Leite, J. C. S. P. – Rastreabilidade de Requisitos – relatório técnico 20/05, série Monografias em Ciência da Computação, DI/PUC-Rio, 2005.

Bibliografia