Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br MESSAGE http://www.eurescom.de/~publicwebspace/P900-series/P907/ MESSAGE • Fase de Análise: – Objetivos: melhor entender o problema, confirmar que aquele é o problema certo a ser resolvido e facilitar o design da solução – Descreve papéis, serviços e interações entre os papéis • Fase de Design: – Design de alto nível: independente de implementação – Design de baixo nível: dependente da plataforma de implementação ou arquitetura • Estende os diagramas de Classe e Atividades de UML com conceitos relacionados a agentes: – Organizações, papéis, metas e tarefas. Laboratório de Engenharia de Software (LES) – PUC-Rio MESSAGE • Design de alto nível: – Papéis são associados a agentes – Serviços são descritos em termos de tarefas (ações de agentes) – Interações são transformadas em protocolos • Design de baixo nível: – Mapeia os elementos do design de alto nível para elementos computacionais da plataforma de implementação Laboratório de Engenharia de Software (LES) – PUC-Rio Entidades Concretas • Agente – Entidade autônoma que é capaz de fazer alguma função – Serviços: funcionalidades do agente – Propósito: motivação do agente para executar algum serviço • Organização – Grupo de agentes trabalhando juntos para um propósito geral • Papéis – Interface X Objeto => Papel X Agente – Descreve as características externas de um agente em um contexto • Recurso Laboratório de Engenharia de Software (LES) – PUC-Rio Atividades • Tarefa: – Atividade – Possui pré e pós-condições – Pode ser sub-dividida em sub-tarefas • Interação – (conceito tirado da metodologia Gaia) – Define os participantes e o propósito que os participantes tentarão atingir Laboratório de Engenharia de Software (LES) – PUC-Rio Estado Mental de Entidades • Metas: – Associa um estado a um agente – Estado que o agente quer atingir Laboratório de Engenharia de Software (LES) – PUC-Rio Laboratório de Engenharia de Software (LES) – PUC-Rio Visões • Organização – Modela entidades concretas do sistemas (agentes, organizações, papéis e recursos), o ambiente e os relacionamentos entre eles • Meta/Tarefa – Descreve as metas, tarefas, estados e dependências entre eles – Tarefas podem ser executadas para atingir um objetivo • Agente/Papel – Foca em agentes e papéis – Quais metas são responsabilidades de um agente, quais eventos ele controla, quais tarefas ele sabe executar, ...? Laboratório de Engenharia de Software (LES) – PUC-Rio Visões • Interação: – – – – – – Para cada interação definir... ... quem começa a interação, ... o colaborador, ... a motivação (meta), ... as informações enviadas e recebidas, ... o evento que dispara a conversação, ... • Domínio – Mostra os conceitos específicos de domínio e as relações que são relevantes para cada sistema em desenvolvimento Laboratório de Engenharia de Software (LES) – PUC-Rio 2 1 1 3 2 Laboratório de Engenharia de Software (LES) – PUC-Rio Modelos de Análise (nível 0) Visão da organização • Vê o sistema como uma caixa preta • Foca no relacionamento entre as entidades e o ambiente organização papel recurso Laboratório de Engenharia de Software (LES) – PUC-Rio Visão de Metas e Tarefas • Decomposição das metas do sistema em sub-metas Laboratório de Engenharia de Software (LES) – PUC-Rio Visão de Task/Goal • Descreve como um serviço é realizado por uma seqüência de tarefas o serviço Laboratório de Engenharia de Software (LES) – PUC-Rio Modelos de Análise (nível 1) Visão Organizacional 1 • Foco no sistema em si identificando as suas funcionalidades • Considerar apenas os papéis (pensar nos agentes na fase de design) • Descreve o relacionamento entre os papéis e entre os papéis e o ambiente Laboratório de Engenharia de Software (LES) – PUC-Rio Visão Organizacional Laboratório de Engenharia de Software (LES) – PUC-Rio Visão Agente/Papel • Associação das metas ao papéis • Relacionada as visões de decomposição de metas e organizações Laboratório de Engenharia de Software (LES) – PUC-Rio Visão Agente/Papel • Descrição dos papéis Laboratório de Engenharia de Software (LES) – PUC-Rio Visão de Interação • Descreve quais agente interagem, quando e porquê eles interagem • Detalhes de como interagem são descritos no processo de design Laboratório de Engenharia de Software (LES) – PUC-Rio Visão de Domínio • Usar diagrama de classes de UML para representar conceitos do domínio e o relacionamento entre eles Laboratório de Engenharia de Software (LES) – PUC-Rio Fase de Design Transição de Análise para Design de alto nível • Identificar os agentes e associar agentes ao papéis • Descrever como os serviços são providos através da identificação de tarefas • Definir protocolos de interação a partir do refinamento das interações (modeladas na fase de análise) • Identificar o comportamento dos papéis nos protocolos de interação Laboratório de Engenharia de Software (LES) – PUC-Rio Atividades da Fase de Design Laboratório de Engenharia de Software (LES) – PUC-Rio Atividades da Fase de Design • Detalhando as entidades: – Definição das classes, interfaces, atributos, métodos, e diagramas de UML • Seleção da arquitetura para agentes – Dependente das funcionalidades definidas no nível de análise • Usar a arquitetura: – Produzir os agentes da aplicação • Atualizar/Modificar as visões: – Decisões de design podem ter afetado as visões. Refazer • Estruturar os resultados de acordo com a visão de organização Laboratório de Engenharia de Software (LES) – PUC-Rio