metodologias equipe do curso de es para sma {lucena, furtado, choren, viviane}@inf.puc-rio.br

34
Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Metodologias

Equipe do Curso de ES para SMA

{lucena, furtado, choren, viviane}@inf.puc-rio.br

Page 2: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Metodologias

• Tropos (olhar paper [2004.017])• Prometheus

Page 3: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Tropos

Page 4: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Elementos

• Ator– Entidade que possui metas e intenções

• Meta• Soft-meta: o seu cumprimento não pode ser

descrito precisamente• Plano

– Maneira de fazer determinada coisa– Sua execução satisfaz metas

• Recurso– Entidade física ou de informação

Page 5: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Elementos

• Dependência– Relacionamento entre atores para atingir uma

meta, executar um plano ou compartilhar um recurso

• Capacidade– Habilidade do ator em definir, escolher ou executar

um plano para cumprir uma meta

• Crença:– Conhecimento sobre o mundo

Page 6: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Tropos

• Análise de requisitos– Fase de Early Requirements– Fase de Late Requirements

• Design– Fase de Design Arquitetural– Fase de Design Detalhado

• Implementação– Fase de Implementação

Page 7: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Modelagem

• Diagrama de atores– Modelagem de atores– Modelagem de dependências

• Diagrama de metas– Modelagem de metas– Modelagem de planos

• Diagrama de capacidades– Modelagem de capacidades

• Diagrama de planos– Modelagem de capacidades

Page 8: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

ModelagemFase

Ator Dependência

Meta Plano Capacidade

Early Requirements X X X X

Late Requirements X X X X

Design Arquitetural X X X

Design Detalhado X X

Implementação X X

Page 9: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Fase Early Requirements

• Foco em como o sistema é utilizado

• Modelagem de atores:– Objetivo é modelar os atores externos e as suas

interações (através das metas) com o sistema

• Modelagem de dependências:– Objetivo é modelar as dependências entre os

atores para atingir uma meta, executar um plano ou prover um recurso

Page 10: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Projeto eCultura

Diagrama de atores

Page 11: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Fase Early Requirements

• Modelagem de metas: (analisar as metas de 3 formas)– Análise de possibilidade: identificar os planos,

recursos e soft-metas que possibilitem o ator atingir a meta

– Análise de contribuição: identificar as metas que podem contribuir positivamente ou negativamente para uma outra meta ser atingida

– Composição and/or: decomposição das metas em sub-metas

Page 12: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Fase Early Requirements

• Modelagem de planos:– Análise de possibilidade: identificar as metas e

recursos que possibilitem a execução do plano– Análise de contribuição: identificar os planos que

podem contribuir positivamente ou negativamente para um outro plano ser executado

– Composição and/or: decomposição de planos em sub-planos

Page 13: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Projeto eCultura

Diagrama de metas

Page 14: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Late Requirement

• Foco no sistema em si• Modelagem de atores:

– foco na identificação do ator sistema

• Modelagem de dependências:– descreve como é a dependência do ator sistema

com os atores externos

• Modelagem de metas:– Detalha as metas do sistema

• Modelagem de planos:– Detalha os planos do sistema

Page 15: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Projeto eCultura

Diagrama de atores

Diagrama de metas

Page 16: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Design Arquitetural

• Define a arquitetura geral do sistema em termos de sub-sistemas.

• Modelagem de atores:– Introdução e especificação de novos atores (sub-

atores)– Associação de sub-metas a sub-atores

• Modelagem de dependências:– Modelagem do fluxo de dados e de controle entre

os sub-atores

Page 17: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Projeto eCultura

Diagrama de atores

Page 18: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Design Arquitetural

• Modelagem de capacidades:– Associar a cada ator capacidades específicas para

atingir as metas e executar os planos– Definição de tipos de agentes e associação de cada

tipo a uma ou mais diferentes capacidades

Page 19: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Design Detalhado

• Lida com o detalhamento da especificação dos agentes

• Relacionada a plataforma de implementação e da linguagem de programação

• Modelagem de ator:– Os agentes do sistema são definidos especificando-

se todas as noções requeridas pela plataforma

Page 20: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Design Detalhado

• Modelagem de capacidade:– Uso do diagrama de atividades de UML para

modelar capacidades e planos de um agente– Diagramas de capacidade e de plano

Page 21: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Implementação

• Propõe implementar o sistema utilizando Jack• Descreve o mapeamento dos elementos do

sistema para Jack

Page 22: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Prometheus

Page 23: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

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

Page 24: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Especificação do Sistema

• 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

Page 25: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Descritor de funcionalidades

NAME: WelcomingDescription: Welcomes a new visitor to the world wideweb site (with personalised information if possible).Percepts/events/messages: CustomerArrived (message),CustomerInformation (message)Messages sent: CustomerInformationRequest (message),CustomisedWWWPage (message),Actions: DisplayCustomisedWWWPageData used: CustomerDB, CustomerOrdersInteractions: CustomerManager (via CustomerInformationRequest,CustomerInformation) OnlineInteraction(via CustomisedWWWPage, CustomerArrived)

Page 26: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Especificação do Sistema

• 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

Page 27: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Scenario: Book OrderOverview: The user orders a book. Delivery options areexplored and then confirmed (with an OrderRequest). Thebooks are shipped, stock updated, and the user notified.Context: Assumes the book is in stock.Steps:1. EVENT BookOrder (! Online Interaction)2. DeliveryOptionQuery (Online Interaction!TransportInformation)3. DeliveryOptions (Transport Information ! OnlineInteraction) Data read: Transport DB4. Obtain preferred delivery option (Online Interaction)5. MakePayment (Online Interaction ! Sales Transaction)6. ACTION BankTransaction (Sales Transaction)7. PlaceOrder (Sales Transaction!Order Handling)8. Register order (Order Handling) Writes data: CustomerOrders9. ACTION EmailCourierCompany (Order Handling)10. DecreaseStock (Order Handling ! Stock Manager)Variations: steps 9 (email courier) and 10 (decreasestock) replaced with notification of delay (Order Handlingto Customer Contact) and then placing an order for morestock (Order Handling to Stock Manager).

Page 28: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Design Arquitetural

• 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

Page 29: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Name: Sales Assistant agentDescription: greets customer, follows through site, assists with finding booksCardinality: 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, queriesGoals: 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 customisedWWWpage, RequestCreditCheck messagesInteracts with: Warehouse Manager (book request protocol),Delivery Manager (order protocol, order query protocol),Customer Manager (customer information query protocol, customer information update protocol)

Page 30: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Design Arquitetural

• 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

Page 31: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Ex.: diagrama geral do sistema

Page 32: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Design Detalhado

• 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

Page 33: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Design Detalhado

• 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

Page 34: Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br

Laboratório de Engenharia de Software (LES) – PUC-Rio

Design Detalhado

• 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