JGOOSE: Uma ferramenta de Engenharia de Requisitos para Integração da Modelagem Organizacional i* com a Modelagem Funcional de Casos de Uso UML André Abe Vicente [email protected] http://www.inf.unioeste.br/ abvicente Orientador: Prof. Dr. Victor F. Araya Santander Colegiado de Informática Universidade Estadual do Oeste do Paraná - Unioeste Defesa - Trabalho de Conclusão de Curso (TCC - 2006) 04 de dezembro de 2006 André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 1/1 Sumário André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 2/1 Introdução Motivações Características de ambientes de computação emergentes Sistemas Distribuídos, Em Rede, Dinâmicos, Abertos. Móveis/ se encontra em todos lugares (ubiquitous) / diversos ambientes Alto Nível de Conhecimento envolvido Estratégico: Ex.: Mudanças nos modelos de negócios André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 3/1 Introdução Motivações Falhas no Processo de Elicitação de Requisitos Engenharia de Requisitos (ER) - Etapa Inicial » Crítica Causa: Falta de Compreensão (principalmente da organização), freqüência das mudanças organizacionais. Conseqüência: geralmente resultam em documentos inconsistentes, incompletos e conseqüentemente produtos de software que não atendem a cronograma, orçamento (altos custos de manutenção) e principalmente não atendem as reais necessidades do cliente. Solução: Processo de Engenharia de Requisitos Maduro (precisão corretude, sem ambiguidades...), ampliação do entendimento do contexto (Intenções, Razões, Estratégias). Necessidade de se capturar requisitos organizacionais que definem como o sistema atende aos objetivos da organização. André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 4/1 Introdução Proposta Proposta Engenharia de Requisitos Orientada a Objetivos (GORE) Modelagem Organizacional (Tecnica i*) Casos de Uso Mapeamento A técnica i* é bem adaptada para representar requisitos organizacionais que ocorrem durante a captura de requisitos em sua fase inicial (early requirements); UML (Unified Modelling Language) A técnica de Modelagem UML se ajusta melhor aos estágios posteriores do desenvolvimento. Ela falha em indicar como o sistema atende aos objetivos da organização, quais foram as alternativas consideradas e o porquê das soluções adotadas. (“Porquês”) Requisitos Organizacionais devem ser relacionados a Requisitos Funcionais. André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 5/1 Técnicas de Modelagem Framework i* Framework i* Entendimento dos objetivos e do meio ambiente de uma organização. Suporte ao processo de análise e modelagem conceitual, sob uma visão estratégica (motivações e razões) e intencional de processos que envolvem diversos participantes denominados Atores. Atores dependem um do outro para alcançar objetivos/metas, executar tarefas e fornecer recursos. Pode-se então utilizar a técnica i* para os seguintes propósitos: 1 2 3 obter um melhor entendimento dos relacionamentos organizacionais entre diversos atores; entendimento das razões de decisões tomadas; ilustrar várias características encontradas na fase inicial da engenharia de requisitos. Outras técnicas de modelagem: descrevem tipicamente um processo em termos de etapas de atividades e fluxos entre entidades. André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 6/1 Técnicas de Modelagem Framework i* Modelos i* Modelo de Dependências Estratégicas (SD) O modelo de Dependência Estratégica é uma rede de relacionamentos de dependência entre atores.Captura das motivações e intenções por trás das atividades e fluxos em um processo. Quatro tipos de dependências: Tarefa (task), Recurso (resource), Objetivo (goal), Objetivo soft(softgoal). Modelo de Razões Estratégicas (SR) Visão interna dos atores, proporcionando um nível de detalhamento maior do modelo; Estes relacionamentos proporcionam uma representação explicita das razões por trás das dependências entre os atores e quais são alternativas por trás dos processos; André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 7/1 Técnicas de Modelagem Framework i* Ligações SD/SR - Elementos e Ligações Relação Dependência: Dependee (Depende) » Dependum (Relação/Acordo) » Depender (Satisfaz) Ligações SR: Decomposição de Tarefas e Meio-Fim (Alternativas) André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 8/1 Técnicas de Modelagem Framework i* Exemplo - Diagrama SD Medi@ André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 9/1 Técnicas de Modelagem Framework i* Exemplo - Diagrama SR Medi@ André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 10 / 1 Técnicas de Modelagem Framework i* Exemplo - Diagrama SR Medi@ (Processar Pedidos) André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 11 / 1 Técnicas de Modelagem Modelagem UML UML e Casos de Uso A UML (Unified Modeling Language) é uma linguagem-padrão para a elaboração da estrutura de projetos de software, podendo ser empregada para visualização, a especificação, construção e documentação de artefatos de software. Casos de Uso bem-estruturados denotam somente o comportamento essencial do sistema ou subsistema. Relacionados com funcionalidade. Modelos organizacionais podem ajudar engenheiros de requisitos a desenvolver casos de uso? SIM :) » Organização » Sistema Caso de Uso 2 Caso de Uso <<include>> Caso de Uso 3 Ator 1 <<extend>> Caso de Uso 4 Ator 2 André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 12 / 1 Técnicas de Modelagem Modelagem UML RUP & Casos de Uso de Negócio E porque não Casos de Uso de Negócio? menor poder de expressividade não permitem modelar uma série de questões importantes na organzação, tais como: motivações, intenções e razões que estão associadas aos processos organizacionais (mostrando a complexidade dos relacionamentos da organização) André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 13 / 1 Integrando a Modelagem Organizacional com Casos de Uso Visão Geral da Proposta Integrando a Modelagem Organizacional com Casos de Uso Diretrizes são necessárias 1. Descobrindo Atores Modelos de Dependencias Estrategicas (SD) desenvolvidos pelo framework i*. Modelos de Razoes Estrategicas (SR) desenvolvidos pelo framework i*. 2. Descobrindo Casos de Uso para os Atores Diretrizes sao aplicadas em cada etapa do processo de integraçao utilizando a analise orientada a objetivos 3. Descobrindo e Descrevendo cenarios para os casos de uso Diagrama de Casos de Uso e descriçoes textuais dos cenarios André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 14 / 1 Integrando a Modelagem Organizacional com Casos de Uso Derivando Casos de Uso da Modelagem Organizacional Diretrizes D1 - D4: Descobrindo atores e generalização de atores. D5 - D6: Descobrindo Casos de Uso D7: Objetivos para os casos de Uso objetivo de negócios: “o media shop deseja aumentar suas vendas”. objetivo de contexto: “o aumento nas vendas usando uma aplicação de e-commerce”. objetivo do usuário: “o cliente deseja fazer pedidos”. objetivos de subfunção: “O consumidor navega pelo catálogo”. D8: Descobrindo Cenários para Casos de Uso (fluxo principal de tarefas, fluxos alternativos, pré-condições e pós-condições D9 - D10 : derivar novos objetivos de casos de uso a partir dos passos nos cenários e Construção do Diagrama de Casos de Uso André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 15 / 1 Integrando a Modelagem Organizacional com Casos de Uso Derivando Casos de Uso da Modelagem Organizacional Descobrindo Atores e Casos de Uso - Ex. Medi@ André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 16 / 1 Integrando a Modelagem Organizacional com Casos de Uso Derivando Casos de Uso da Modelagem Organizacional Descobrindo e Descrevendo Cenários para os Casos de Uso - Ex. Medi@ Caso de Uso Objetivo: Processar Pedidos da Internet Ator: Media Shop Nivel: Objetivo de Contexto (veja D.7) Requisitos Especiais: Atrair novos Clientes André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 17 / 1 Ferramenta JGOOSE TELOS e OpenOME Open Organizational Modeling Environment Ferramenta de análise e modelagem orientada a objetivos e/ou agentes; Representação do Conhecimento (OpenOME) - *.tel Classes, Elementos (atributos), Ligações (from » to) André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 18 / 1 Ferramenta JGOOSE TELOS e OpenOME Linguagem Telos Classes, Elementos (atributos), Ligações (from » to) Elementos e Ligações (TELOS) Elementos: ISTARACTORELEMENT: ator; ISTARSOFTGOALELEMENT: objetivo soft; ISTARGOALELEMENT: objetivo; ISTARTASKELEMENT: tarefa; ISTARRESOURCEELEMENT: recurso. Ligações: ISTARDEPENDENCYLINK: dependência; ISTARMEANSENDSLINK: meio-fim; ISTARDECOMPOSITIONLINK: decomposição; ISTARISALINK: ISA. André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 19 / 1 Ferramenta JGOOSE TELOS e OpenOME Exemplo Linguagem Telos André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 20 / 1 5 0 Ferramenta JGOOSE TELOS e OpenOME Exemplo Linguagem Telos Sintaxe Tokens Telos Token [ Element | L i n k ] _ i d IN [ Elemento | L i n k ] WITH a t t r i b u t e , [ t o | from ] / / L i n k s [ a t r i b u t o ] : [ codigo ] a t t r i b u t e , [ name ] / / Elements e L i n k s [ a t r i b u t o ] : [ Element_id | L i n k _ i d ] a t r i b u t e , [ c h i l d r e n | p a r e n t ] / / Elements [ a t r i b u t o ] : [ Element_id ] a t r i b u t e , [ l i n k s ] / / Elements [ atributo ] : [ Link_id ] END André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 21 / 1 Ferramenta JGOOSE Visão Geral da Ferramenta Ferramentas (i* » modelagem OO (UML) Comparativo entre as Ferramentas GOOD e XGOOD (CIN-UFPE): diagrama de classes UML GOOSE e JGOOSE (INF-UNIOESTE): diagrama de casos de uso UML DIFERENÇA entre elas: formato de saida, abrangência de diretrizes e funcionalidades. André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 22 / 1 Ferramenta JGOOSE Visão Geral da Ferramenta Novidades GOOSE =⇒ JGOOSE Aspectos de Implementação: Novas Funcionalidades na ferramenta processo de mapemento + claro ao usuário da ferramenta. Telos gerados pela ferramenta OME3 e OpenOME. Orientação a Objetos: Java 1.5 =⇒ Classes Java que representam melhor Elementos i*, Casos de Uso UML e a Ferramenta Diretrizes: implementação da SubDiretriz 5.4: objetivos-soft que são mapeados como possíveis Requisitos Não-Funcionais (NFRs) relacionados com o Sistema. Descrição Textual de Casos de Uso conforme a template proposta por Cockburn (Writing Effective Use Cases) aperfeiçoamento na Diretriz 8.1, na qual objetivos-soft que fazem parte da decomposição de tarefas são mapeados como requisitos especiais na descrição do Caso de Uso (template). André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 23 / 1 Ferramenta JGOOSE Visão Geral da Ferramenta Funcionamento da Ferramenta PASSO 1 - Captura de Informações do Arquivo Telos: Abrir Arquivo Telos: Diagrama SD/SR a ser mapeado Ator Sistema Computacional: Escolhido pelo usuário da ferramenta Atores,Elementos,Links: Mostra informações sobre os objetos i* capturados do arquivo Telos (*.tel) André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 24 / 1 Ferramenta JGOOSE Visão Geral da Ferramenta Funcionamento da Ferramenta (Passo 1) - Arquivo Telos André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 25 / 1 Ferramenta JGOOSE Visão Geral da Ferramenta Funcionamento da Ferramenta (Passo 1) - Seleção Atores André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 26 / 1 Ferramenta JGOOSE Visão Geral da Ferramenta Funcionamento da Ferramenta PASSO 2 - Seleção de Diretrizes: Diretrizes D.1 - D.4: Sempre selecionadas Diretrizes D.5 - D.6: Modelo SD/SR Diretrizes D.8 - D.8.3: Apenas Modelo SR Diretrizes D.10: Construir Diagrama de Casos de Uso UML Diretrizes não atendidas: D.7 (Objetivos Cockburn) e D.9 (Novos Casos de Uso) André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 27 / 1 Ferramenta JGOOSE Visão Geral da Ferramenta Funcionamento da Ferramenta (Passo 2) - Seleção Diretrizes e Tutorial André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 28 / 1 Ferramenta JGOOSE Visão Geral da Ferramenta Funcionamento da Ferramenta PASSO 3 - Atores,Casos de Uso e Descrições Mapeados: Atores e Casos de Uso: Relação Ator x Casos de Uso e diretriz correspondente. Descrição de Casos de Uso: Template Cockburn (Modelo SR) Requisitos Não-Funcionais: Ator x NFRs do Sistema Atores ISA: Relações ISA mapeadas para «generalization» André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 29 / 1 Ferramenta JGOOSE Visão Geral da Ferramenta Funcionamento da Ferramenta (Passo 3) - Ator x Casos de Uso André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 30 / 1 Ferramenta JGOOSE Visão Geral da Ferramenta Funcionamento da Ferramenta (Passo 3) - Descrição Caso de Uso André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 31 / 1 Ferramenta JGOOSE Visão Geral da Ferramenta Funcionamento da Ferramenta (Passo 3) - NFRs e ISAs André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 32 / 1 Ferramenta JGOOSE Visão Geral da Ferramenta Diagrama de Casos de Uso UML (não automatizado) André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 33 / 1 Ferramenta JGOOSE Estudos de Caso Estudos de Caso Modelos i* Analisados Medi@: Comércio Eletrônico de venda de mídias (CD, Livros, DVDs...). Conference Management System: Gerenciamento de submissão de artigos para conferência. E-News System: Sistema de Notícias Eletrônica (via Web) André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 34 / 1 Ferramenta JGOOSE Estudos de Caso Medi@ - 3o Passo (Descobrindo Cenários) Cenário Fazer Pedidos André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 35 / 1 Ferramenta JGOOSE Estudos de Caso Medi@ - Diagrama de Casos de Uso André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 36 / 1 Ferramenta JGOOSE Estudos de Caso Conference Management System - Diagrama de Casos de Uso André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 37 / 1 Ferramenta JGOOSE Estudos de Caso E-news System - Diagrama de Casos de Uso André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 38 / 1 Contribuições Esperadas,Trabalhos Relacionados e Futuros Contribuições Esperadas da Proposta Engenharia de Requisitos: Objetivos dos atores em relação ao sistema = requisitos mais claros (melhor rastreamento dos requisitos). maior garantia de que cenários representam ou estão associados a requisitos e objetivos relevantes da organização e que (posteriormente serão implementados). Melhoria da avaliação da dinâmica dos processos de negócio: Diversos stakeholders, mudanças no ambiente tecnológico, organizacional e de negócios. Casos de Uso (Problemas x Soluções) Casos de uso são escritos do ponto de vista do sistema (não dos atores) → dependências i*. Muitos Casos de Uso → Casos de Uso essenciais ao sistema pretendido. O cliente não entende os casos de uso → integração dos engenheiros e clientes durante o GORE. André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 39 / 1 Contribuições Esperadas,Trabalhos Relacionados e Futuros Trabalhos Relacionados e Futuros Trabalhos Relacionados Alencar, Cysneiros e Pedroza (CIN-UFPE): i* » classes. Estrada: metas organizacionais e funcionais a partir de modelos de negócio. Paiva e Rosa (INF-UNIOESTE): software legado (DFDs) » Modelos em i*. Projeto de IC/Pesquisa LES (Atual). Silva (CIN-UFPE): Tropos - i* » UML a nível de arquitetura de SMAs. Projeto Tropos & CIN-UFPE: Elicitação e Modelagem de Requisitos à Implementação. André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 40 / 1 Contribuições Esperadas,Trabalhos Relacionados e Futuros Trabalhos Relacionados e Futuros Trabalhos Futuros Diretrizes: mais sistemáticas que melhorem o processo de elicitação de NFRs e permitam analisar melhor modelos SR gerando descrições de casos de uso mais precisas. Ferramenta: Ampliar funcionalidades (baseado nas diretrizes), XMI, TAOM4E (Itália). Publicações de Resultados: Submissão de artigos para eventos da área: WER07(X Workshop on Requirements Engineering), IDEAS07 (X Workshop Iberoamericano de Ingeniería de Requisitos y Ambientes de Software), CLEI07 (XXXIII Conferencia Latinoamericana de Informática). André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 41 / 1 Dúvidas...Perguntas??? Laboratório de Engenharia de Software [Unioeste] http://www.inf.unioeste.br/les OBRIGADO “There is no sense in being precise about something when you do not even know what you are talking about.” - Von Neumann André Abe Vicente (UNIOESTE) Apresentação Defesa (TCC 2006) 04 de dezembro de 2006 42 / 1