Metodologias Parte I Viviane Torres da Silva viviane

  • Slides: 41
Download presentation
Metodologias (Parte I) Viviane Torres da Silva viviane. silva@ic. uff. br http: //www. ic.

Metodologias (Parte I) Viviane Torres da Silva viviane. silva@ic. uff. br http: //www. ic. uff. br/~viviane. silva/isma

Metodologias Ø Tropos Ø Prometheus Ø Gaia Ø Message Ø Ma. SE

Metodologias Ø Tropos Ø Prometheus Ø Gaia Ø Message Ø Ma. SE

Tropos

Tropos

Tropos Ø Objetivo: fazer o dezenvolvimento de SMA orientado a requisitos Ø Está baseada

Tropos Ø Objetivo: fazer o dezenvolvimento de SMA orientado a requisitos Ø Está baseada no framework de modelagem para a análise de requisitos chamado i* – Conceitos: actor, agente, posição e papel – Dependências entre atores: objetivo, objetivo-suave, tarefa e recurso

Etapas da Metodologia Tropos Análise de requisitos Ø Etapa 1 de requisitos – Entender

Etapas da Metodologia Tropos Análise de requisitos Ø Etapa 1 de requisitos – Entender o problema estudando-se as organizações que já existem – Resultado: modelagem organizacional com atores e seus objetivos Ø Etapa 2 de requisitos – Se adciona o ator sistema a modelagem – Descrição do sistema através de suas funções (requisitos funcionais e não funcionais)

Etapas de Metodologia Tropos Projeto Ø Etapa de Projeto Arquitetural – Descrição dos subsistemas

Etapas de Metodologia Tropos Projeto Ø Etapa de Projeto Arquitetural – Descrição dos subsistemas que são representados como atores – Mapeamento do ator sistema para um conjunto de agentes e suas capacidades Ø Etapa de Projeto Detalhado – Definição das capacidades dos agentes e suas interações – Definição dos datos de entrada e saída dos subsistemas

Etapas de Metodologia Tropos Implementação Ø Etapa de Implementação – Mapeamento dos conceitos do

Etapas de Metodologia Tropos Implementação Ø Etapa de Implementação – Mapeamento dos conceitos do projeto detalhado aos conceitos da plataforma – Propõe o uso de Jack, uma plataforma para a implementação de SMA

Elementos Definidos pela Metodologia Ø Ator – Entidade que tem objetivos e intenções –

Elementos Definidos pela Metodologia Ø Ator – Entidade que tem objetivos e intenções – Representa um agente físico, um agente de software, um papel ou uma posição Ø Agente – Software que tem propiedade autônoma, social, reativa e proactiva. Ø Papel – Define o comportamento de atores em um determinado contexto Ø Posição (≈ Organização) – Representa um conjunto de papéis que costumam ser desempenhados por um agente Ø Recurso – Entidade física ou de informação

Elementos Definidos pela Metodologia Ø Objetivo – Estado futuro que o ator quer alcançar

Elementos Definidos pela Metodologia Ø Objetivo – Estado futuro que o ator quer alcançar (sua intenção) Ø Objetivo-suave (soft-goal) – É difícil ou impossivel afirmar que foi alcançado – Utilizado para modelar os requisitos não funcionales Ø Plano – Maneira de fazer determinada coisa – Sua execução alcaça um objetivo ou um objetivo-suave Ø Capacidade – Habilidade do ator em definir, eleger ou executar um plano para alcançar um objetivo Ø Crença – Conhecimento sobre o mundo

Elementos Definidos pela Metodologia Ø Dependência – Relação entre atores para alcançar um objetivo,

Elementos Definidos pela Metodologia Ø Dependência – Relação entre atores para alcançar um objetivo, executar um plano ou partilhar um recurso Ø Tipos de dependência: – Objetivo ou objetivo-suave: um agente delega a outro seu objetivo – Tarefa: o outro agente tem que executar a tarefa – Recurso: o outro agente tem que prover um recurso

Etapa 1 de Requisitos Os diagrama desta etapa são: Ø Modelagem de dependências (Strategic

Etapa 1 de Requisitos Os diagrama desta etapa são: Ø Modelagem de dependências (Strategic Dependence Model): – modela os atores, seus objetivos e suas dependências Ø Modelagem de racionalização (Strategic Rational Model): – modela como os objetivos de um ator podem ser alcançados através da contribução de outros atores – Link de decomposição: • uma tarefa pode ser dividida em outras tarefas, em objetivos, ou em objetivos-suaves. • um objetivo-suave pode ser dividido em outros objetivos-suaves ou em tarefas – Link de realização: um objetivo é alcançado quando uma tarefa é realizada

Exemplo: Projeto Media. Shop Modelagem de Dependências tarefas objetivo ator objetivo-suave recursos

Exemplo: Projeto Media. Shop Modelagem de Dependências tarefas objetivo ator objetivo-suave recursos

Link de realização Exemplo Tarefa principal Modelagem do Raciocíneo Link de decomposição

Link de realização Exemplo Tarefa principal Modelagem do Raciocíneo Link de decomposição

Etapa 2 de Requisitos Os diagramas desta etapa são gerados a partir da revisão

Etapa 2 de Requisitos Os diagramas desta etapa são gerados a partir da revisão dos diagramas da etapa anterior: Ø Incluir a modelagem de dependências um actor para modelagam do sistema Ø Fazer a análise da modelagem do raciocínio com o novo ator Ø Se necessário, decompor o ator sistema em subatores e revisar os modelos anteriores Ø Encontrar os requisitos funcionáis e não funcionáis do sistema

Exemplo Ator sistema Modelagem de Dependências Ator sistema

Exemplo Ator sistema Modelagem de Dependências Ator sistema

Exemplo Tarefa principal Modelagem do Raciocíneo

Exemplo Tarefa principal Modelagem do Raciocíneo

Exemplo: Decomposição em subatores Ator sistema

Exemplo: Decomposição em subatores Ator sistema

Etapa de Projeto Arquitetural Os diagramas desta etapa são: Ø Modelagem de requisitos não

Etapa de Projeto Arquitetural Os diagramas desta etapa são: Ø Modelagem de requisitos não funcionáis: – Fazer o mapeamento dos requisitos não funcionáis a um estilo arquitetural. – Estilos arquiteturales: pirâmide, cooperação, integração vertical, … Ø Revisar a modelagem de dependências e a modelagem de raciocíneo: – Se necessário, introduzir novos atores no sistema e suas dependências. – Se necessário, decompor os atores e dependências en subatores e subdependências

Modelagem de Requisitos não funcionais ! ou !! prioridade dos objetivos √ objetivo aceito

Modelagem de Requisitos não funcionais ! ou !! prioridade dos objetivos √ objetivo aceito X objetivo negado ++ positivo suficiente + positivo parcial -- negativo suficiente - negativo parcial

Modelagem de Dependências Novos atores

Modelagem de Dependências Novos atores

Etapa de Projeto Detalhado Os diagrama desta etapa são: Ø Diagrama de classe: criado

Etapa de Projeto Detalhado Os diagrama desta etapa são: Ø Diagrama de classe: criado a partir da modelagem de dependências e do racionamento Ø Diagramas de seqüência e colaboração: modelagem da interação entre os atores Ø Diagrama de planos: modelar a dinâmica da parte interna dos atores e a interação entre eles

Exemplo: Diagrama de Classe

Exemplo: Diagrama de Classe

Exemplo: Diagrama de Seqüência

Exemplo: Diagrama de Seqüência

Exemplo: Diagrama de Planos

Exemplo: Diagrama de Planos

Etapa de Implementação Ø Descreve o mapeamento dos elementos do sistema a elementos definidos

Etapa de Implementação Ø Descreve o mapeamento dos elementos do sistema a elementos definidos na plataforma de implementação que será utilizada Ø Propõe implementar o sistema utilizando Jack

Mapeamento de i* para Jack

Mapeamento de i* para Jack

Prometheus

Prometheus

Prometheus Ø Fase de Especificação do Sistema – Foco na identificação das funcionalidades básicas

Prometheus Ø Fase de Especificação do Sistema – Foco na identificação das funcionalidades básicas do sistema juntamente com os dados de entrada (percepções), de saída (ações) e qualquer informação importante de troca de dados Ø Fase de Design Arquitetural – Identifica os agentes e como eles interagem Ø Fase de Design Detalhado – Detalha a parte interna do agente e define como o agente irá cumprir suas tarefas

Prometheus

Prometheus

Etapa de Especificação do Sistema I/II Ø Descrição das funcionalidades e de casos de

Etapa de Especificação do Sistema I/II Ø Descrição das funcionalidades e de casos de uso Ø Descritor de funcionalidades: – Nome – descrição em linguagem natural – lista de ações – lista de percepções relevantes – dados usados e produzidos – breve descrição das interações com outras funcionalidades

Exemplo: Descritor de funcionalidades Name: Welcoming Description: Welcomes a new visitor to the world

Exemplo: Descritor de funcionalidades Name: Welcoming Description: Welcomes a new visitor to the world wide web site (with personalised information if possible). Percepts/events/messages: Customer. Arrived (message), Customer. Information (message) Messages sent: Customer. Information. Request (message), Customised. WWWPage (message), Actions: Display. Customised. WWWPage Data used: Customer. DB, Customer. Orders Interactions: Customer. Manager (via Customer. Information. Request, Customer. Information) Online. Interaction (via Customised. WWWPage, Customer. Arrived)

Etapa de Especificação do Sistema Ø II/II Cenários de caso de uso: – Descrevem

Etapa de Especificação do Sistema Ø II/II Cenários de caso de uso: – Descrevem um conjunto de passos de uma operação/funcionalidade do sistema – Cada passo é anotado com o nome da funcionalidade e as informações/dados usados ou produzidos Ø Descritor de cenário – Identificador – Descrição – Contexto de uso – Cenário em si (seqüência de passos) – Informações/dados usados e produzidos – Invariantes

Scenario: Book Order Overview: The user orders a book. Delivery options are explored and

Scenario: Book Order Overview: The user orders a book. Delivery options are explored and then confirmed (with an Order. Request). The books are shipped, stock updated, and the user notified. Context: Assumes the book is in stock. Steps: 1. EVENT Book. Order (! Online Interaction) 2. Delivery. Option. Query (Online Interaction!Transport Information) 3. Delivery. Options (Transport Information ! Online Interaction) Data read: Transport DB 4. Obtain preferred delivery option (Online Interaction) 5. Make. Payment (Online Interaction ! Sales Transaction) 6. ACTION Bank. Transaction (Sales Transaction) 7. Place. Order (Sales Transaction!Order Handling) 8. Register order (Order Handling) Writes data: Customer. Orders 9. ACTION Email. Courier. Company (Order Handling) 10. Decrease. Stock (Order Handling ! Stock Manager) Variations: steps 9 (email courier) and 10 (decrease stock) replaced with notification of delay (Order Handling to Customer Contact) and then placing an order for more stock (Order Handling to Stock Manager).

Etapa de Projeto Arquitetural I/II Definição dos agentes grupando funcionalidades Ø Diagrama de agentes:

Etapa de Projeto Arquitetural I/II Definição dos agentes grupando funcionalidades Ø Diagrama de agentes: Ø – liga os agentes que interagem Ø Descritor de agente: – Nome, – Descrição – Breve descrição das interações – Lista de funcionalidades que são incorporadas ao agente – Dados lidos e dados escritos

Name: Sales Assistant agent Description: greets customer, follows through site, assists with finding books

Name: Sales Assistant agent Description: greets customer, follows through site, assists with finding books Cardinality: one/customer. Lifetime: Instantiated on customer arrival at site. Demise when customer logs out or after inactivity period. Initialisation: Obtains cookie. Reads Customer DB. Demise: Closes open DB connections. Functionalities included: Online Interaction, Sales Transaction, Welcomer, Book Finder. Uses data: Customer DB, Customer Orders, Book DB. Produces data: Customer preferences, orders, queries Goals: Welcome customer; Update customer details; Respond to queries; Facilitate purchases; Events responded to: new arrival; customer query; customer purchase; credit check response customer response; Actions: Display information to customer (greetings, book info, info requests, Display customised. WWWpage, Request. Credit. Check messages Interacts with: Warehouse Manager (book request protocol), Delivery Manager (order protocol, order query protocol), Customer Manager (customer information query protocol, customer information update protocol)

Etapa de Projeto Arquitetural II/II Identificação dos objetos compartilhados pelos agentes Ø Identificação dos

Etapa de Projeto Arquitetural II/II Identificação dos objetos compartilhados pelos agentes Ø Identificação dos eventos Ø Ø Diagrama geral do sistema: – Liga agentes, eventos e dados compartilhados Ø Diagrama de interação: – Usa AUML para modelar a interação entre agentes e protocolos de interação

Exemplo: Diagrama do sistema dados mensagem

Exemplo: Diagrama do sistema dados mensagem

Exemplo: Diagrama de Seqüência AUML

Exemplo: Diagrama de Seqüência AUML

Etapa de Projeto Detalhado I/III Ø Foco na definição de capacidades, eventos internos, planos

Etapa de Projeto Detalhado I/III Ø Foco na definição de capacidades, eventos internos, planos e detalhamento da estrutura dos dados Ø Dependente da plataforma de implementação Ø Descritor de capacidade – Nome – Descrição – Informação sobre a interface externa da capacidade (quais eventos são imput e quais são output) – Interação com outras capacidades – Inclusão de outras capacidades (sub-capacidades) – Informação sobre dados lidos e escritos pela capacidade

Etapa de Projeto Detalhado Ø II/III Diagrama geral do agente: – Modela as capacidades

Etapa de Projeto Detalhado Ø II/III Diagrama geral do agente: – Modela as capacidades de um agente e o fluxo de eventos ou tarefas entre as capacidades, assim como os dados internos de um agente mensagem capacidade dados

Etapa de Proyecto Detallado Ø III/III Diagrama de capacidades: – Mostra o refinamento de

Etapa de Proyecto Detallado Ø III/III Diagrama de capacidades: – Mostra o refinamento de capacidades até planos Ø Descritor de planos – Identificador – Descrição – Evento que dispara o plano – Passos do plano – Contexto de uso – Lista de dados lidos e escritos Ø Descritor de eventos – Descreve o propósito do evento e os dados que o evento carrega Ø Descritor de dados – Descreve os campos e os métodos utilizados para guardar os dados