JGOOSE: Uma ferramenta de Engenharia de Requisitos para ... · Novidades GOOSE =) JGOOSE ......

42
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

Transcript of JGOOSE: Uma ferramenta de Engenharia de Requisitos para ... · Novidades GOOSE =) JGOOSE ......

JGOOSE: Uma ferramenta de Engenharia deRequisitos para Integração da Modelagem

Organizacional i* com a Modelagem Funcional deCasos de Uso UML

André Abe [email protected]

http://www.inf.unioeste.br/ abvicenteOrientador: Prof. Dr. Victor F. Araya Santander

Colegiado de InformáticaUniversidade 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çãoemergentes

Sistemas Distribuídos, Em Rede, Dinâmicos, Abertos.Móveis/ se encontra em todos lugares (ubiquitous) / diversos ambientesAlto Nível de Conhecimento envolvidoEstraté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ãoatendem a cronograma, orçamento (altos custos de manutenção) eprincipalmente 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 docontexto (Intenções, Razões, Estratégias).

Necessidade de se capturar requisitos organizacionais que definemcomo 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

Modelagem Organizacional(Tecnica i*) Casos de Uso

Mapeamento

Engenharia de RequisitosOrientada a Objetivos

(GORE)

A técnica i* é bem adaptada para representar requisitos organizacionais que ocorremdurante 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 dodesenvolvimento. Ela falha em indicar como o sistema atende aos objetivos daorganização, quais foram as alternativas consideradas e o porquê das soluçõesadotadas. (“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 umaorganização. Suporte ao processo de análise e modelagem conceitual,sob uma visão estratégica (motivações e razões) e intencional deprocessos que envolvem diversos participantes denominados Atores.

Atores dependem um do outro para alcançar objetivos/metas, executartarefas e fornecer recursos.

Pode-se então utilizar a técnica i* para os seguintes propósitos:1 obter um melhor entendimento dos relacionamentos

organizacionais entre diversos atores;2 entendimento das razões de decisões tomadas;3 ilustrar várias características encontradas na fase inicial da

engenharia de requisitos.

Outras técnicas de modelagem: descrevem tipicamente um processoem 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 relacionamentosde dependência entre atores.Captura das motivações e intenções portrá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 detalhamentomaior do modelo;

Estes relacionamentos proporcionam uma representação explicita dasrazões por trás das dependências entre os atores e quais sãoalternativas 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 UsoA UML (Unified Modeling Language) é uma linguagem-padrão para a elaboração daestrutura de projetos de software, podendo ser empregada para visualização, aespecificação, construção e documentação de artefatos de software.Casos de Uso bem-estruturados denotam somente o comportamento essencial dosistema ou subsistema. Relacionados com funcionalidade.Modelos organizacionais podem ajudar engenheiros de requisitos a desenvolver casos deuso? SIM :) » Organização » Sistema

Ator 1

Ator 2

Caso de UsoCaso de Uso 2

Caso de Uso 3

<<include>>

Caso de Uso 4

<<extend>>

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 expressividadenão permitem modelar uma série de questões importantes naorganzação, tais como: motivações, intenções e razões queestão associadas aos processos organizacionais (mostrando acomplexidade 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 Casosde Uso

Diretrizes são necessárias 1. Descobrindo

Atores

2. Descobrindo Casos de Uso para

os Atores

3. Descobrindo e Descrevendo cenariospara os casos de uso

Modelos de Razoes Estrategicas (SR) desenvolvidos pelo

framework i*.

Diretrizes sao aplicadasem cada etapa do processo

de integraçao utilizando a analiseorientada a objetivos

Diagrama deCasos de Uso e

descriçoes textuais doscenarios

Modelos de Dependencias Estrategicas (SD) desenvolvidos pelo

framework i*.

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

DiretrizesD1 - D4: Descobrindo atores e generalização de atores.D5 - D6: Descobrindo Casos de UsoD7: Objetivos para os casos de Uso

objetivo de negócios: “o media shop deseja aumentar suasvendas”.objetivo de contexto: “o aumento nas vendas usando umaaplicaçã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 principalde tarefas, fluxos alternativos, pré-condições e pós-condiçõesD9 - D10 : derivar novos objetivos de casos de uso a partirdos passos nos cenários e Construção do Diagrama de Casosde 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) - *.telClasses, 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

Ferramenta JGOOSE TELOS e OpenOME

Exemplo Linguagem Telos

Sintaxe Tokens Telos

Token [ Element | L ink ] _ idIN [ Elemento | L ink ]WITH

a t t r i b u t e , [ to | from ] / / L inks5 [ a t r i b u t o ] : [ codigo ]

a t t r i b u t e , [ name ] / / Elements e Links[ a t r i b u t o ] : [ Element_id | L ink_ id ]

a t r i b u t e , [ c h i l d r e n | parent ] / / Elements[ a t r i b u t o ] : [ Element_id ]

10 a t r i b u t e , [ l i n k s ] / / Elements[ a t r i b u t o ] : [ L ink_ 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 FerramentasGOOD e XGOOD (CIN-UFPE): diagrama de classes UMLGOOSE e JGOOSE (INF-UNIOESTE): diagrama de casos deuso UMLDIFERENÇA entre elas: formato de saida, abrangência dediretrizes 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 aousuário da ferramenta.

Telos gerados pela ferramenta OME3 e OpenOME.

Orientação a Objetos: Java 1.5 =⇒ Classes Java que representam melhorElementos i*, Casos de Uso UML e a Ferramenta

Diretrizes:

implementação da SubDiretriz 5.4: objetivos-soft que são mapeados comopossíveis Requisitos Não-Funcionais (NFRs) relacionados com o Sistema.

Descrição Textual de Casos de Uso conforme a template proposta porCockburn (Writing Effective Use Cases)

aperfeiçoamento na Diretriz 8.1, na qual objetivos-soft que fazem parte dadecomposição de tarefas são mapeados como requisitos especiais nadescriçã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 mapeadoAtor Sistema Computacional: Escolhido pelo usuário daferramentaAtores,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 selecionadasDiretrizes D.5 - D.6: Modelo SD/SRDiretrizes D.8 - D.8.3: Apenas Modelo SRDiretrizes D.10: Construir Diagrama de Casos de Uso UMLDiretrizes não atendidas: D.7 (Objetivos Cockburn) e D.9 (NovosCasos 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 diretrizcorrespondente.Descrição de Casos de Uso: Template Cockburn (Modelo SR)Requisitos Não-Funcionais: Ator x NFRs do SistemaAtores 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* AnalisadosMedi@: Comércio Eletrônico de venda de mídias (CD, Livros,DVDs...).Conference Management System: Gerenciamento desubmissã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 deCasos 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 maisclaros (melhor rastreamento dos requisitos).maior garantia de que cenários representam ou estão associadosa 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: Diversosstakeholders, 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 dosatores)→ dependências i*.Muitos Casos de Uso→ Casos de Uso essenciais ao sistemapretendido.O cliente não entende os casos de uso→ integração dosengenheiros 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 denegócio.

Paiva e Rosa (INF-UNIOESTE): software legado (DFDs) » Modelos emi*. 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çãode NFRs e permitam analisar melhor modelos SR gerando descriçõesde 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 (XWorkshop Iberoamericano de Ingeniería de Requisitos y Ambientes deSoftware), CLEI07 (XXXIII Conferencia Latinoamericana deInformá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