Buscar

3_-_Modelar_-_Parte_III_-_GORE_-_iStar_SD

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

GORE
Eduardo Kinder Almentero
ekalmentero@gmail.com
Introdução
• O que são Metas?
– Uma Meta é um objetivo que o sistema em construção 
deve alcançar.
• Metas podem ser formuladas em diferentes níveis de 
abstração
– Questões estratégicas
• Ex.: 
– servir mais passageiros (sistema de transporte).
– fornecer um serviço de retirada de dinheiro ubíquo.
– Questões técnicas 
• Ex.:
– executar sistema de aceleração no tempo correto
– reter o cartão após 3 senhas incorretas.
10/06/2015 Prof. Eduardo Kinder Almentero 2
Introdução
• As metas também lidam com diferentes tipos 
de características.
– Características funcionais, relacionadas com os 
serviços que serão providos;
– Características não funcionais, associadas com a 
qualidade do serviço (ex.: segurança, acurácia, 
performance, etc.)
• Quando utilizar?
– Fase inicial da engenharia de requisitos (“early
requirements”).
10/06/2015 Prof. Eduardo Kinder Almentero 3
Introdução
• O sistema ao qual uma meta se refere pode ser o atual 
ou o a ser construído.
– Ambos estão envolvidos no processo de ER
– Muitas vezes, compartilham as mesmas metas de alto-
nível.
• O sistema a ser construído compreende o software e 
seu ambiente e é feito de componentes ativos, como 
humanos, dispositivos e software, que serão chamados 
agentes.
• Ao contrário de requisitos, as metas podem necessitar 
de cooperação entre agentes para que sejam 
alcançadas.
10/06/2015 Prof. Eduardo Kinder Almentero 4
Introdução
• Um dos resultados importantes do processo de 
ER são as decisões sobre quais partes do sistema 
serão automatizadas e quais não serão.
• Uma meta sob a responsabilidade de um único 
agente no software que será construído se torna 
um requisito, enquanto uma meta sob 
responsabilidade de um único agente do 
ambiente se torna uma suposição
• Diferente de requisitos, suposições não podem 
ser garantidas pelo software a ser construído.
10/06/2015 Prof. Eduardo Kinder Almentero 5
Por que as Metas são necessárias?
• Alcançar completeza de requisitos é uma 
questão central em ER.
– Metas fornecem um critério preciso para 
completeza “suficiente” de uma especificação de 
requisitos;
– A especificação é completa com relação a um 
conjunto de metas, se é possível provar que todas 
as metas podem ser alcançadas a partir de suas 
especificações e propriedades.
10/06/2015 Prof. Eduardo Kinder Almentero 6
Por que as Metas são necessárias?
• Evitar requisitos irrelevantes, outra questão 
central em ER.
– As metas fornecem um critério preciso para 
pertinência de requisitos.
– Um requisito é pertinente com relação a um 
conjunto de metas, se sua especificação é usada 
para provar pelo menos uma meta.
10/06/2015 Prof. Eduardo Kinder Almentero 7
Por que as Metas são necessárias?
• Explicar os requisitos aos stakeholders (outra 
questão importante).
– Um refinamento baseado em metas fornece elos 
de rastreabilidade a partir de objetivos 
estratégicos de alto nível, até requisitos técnicos 
de baixo nível.
– Em particular, para aplicações relacionadas aos 
negócios, pode ser usado para relacionar o 
software que será feito com o contexto 
organizacional e do negócio.
10/06/2015 Prof. Eduardo Kinder Almentero 8
Por que as Metas são necessárias?
• O refinamento de metas provê um 
mecanismo natural para estruturar
documentos de requisitos complexos, afim de 
aumentar sua leiturabilidade. 
– No refinamento, estão presentes diferentes níveis 
de abstração, com elos de rastreabilidade. Desta 
forma, é possível atender aos diferentes perfis de 
stakeholders, mantendo a consistência entre os 
documentos.
10/06/2015 Prof. Eduardo Kinder Almentero 9
Por que as Metas são necessárias?
• Engenheiros de requisitos se deparam com 
várias alternativas a serem consideradas 
durante o processo de elaboração de 
requisitos.
– Refinamentos de metas alternativas provê o nível 
certo de abstração onde tomadores de decisão 
podem ser envolvidos para validar escolhas.
– Refinamento de metas alternativas permite a 
exploração de metas alternativas.
10/06/2015 Prof. Eduardo Kinder Almentero 10
Por que as Metas são necessárias?
• Lidar com conflitos de pontos de vista é outra 
questão crítica na ER.
– As metas são reconhecidas por explicitar conflitos 
entre requisitos;
– A tarefa de resolver os conflitos também é 
abordada pelos métodos orientados a metas.
10/06/2015 Prof. Eduardo Kinder Almentero 11
Por que as Metas são necessárias?
• A separação entre informação estável e volátil também é 
importante na ER.
– Um requisitos representa uma maneira particular de atingir 
uma meta;
– É mais comum que o requisito evolua através de uma nova 
forma de atingir a mesma meta, do que ocorrer uma mudança 
no próprio requisito.
– Assim, quanto maior o nível de abstração da meta, mais estável 
ela será.
– Portanto, é comum que diferentes versões do sistema 
compartilhem o mesmo conjunto de metas de alto-nível
– O sistema atual e o sistema a ser construído representam 
refinamentos alternativos às metas em comum e, portanto, 
podem ser integrados em um único modelo.
10/06/2015 Prof. Eduardo Kinder Almentero 12
Introdução
• De onde surgem as metas?
– Análise preliminar do sistema atual;
– Procura por palavras-chave específicas nos 
documentos preliminares;
• Ex.: transcrições de entrevista.
– Refinamento – perguntando como.
– Abstração – perguntando por que
10/06/2015 Prof. Eduardo Kinder Almentero 13
Modelando Metas
• Benefício
– Suporta esquemas de raciocínio através de heurísticas, 
qualitativo ou formal durante a engenharia de requisitos.
• Metas são modeladas através de:
– Tipos (funcionais e não funcionais)
– Atributos (nome)
– Relacionamentos (relacionamento entre metas, 
relacionamento entre metas e outros elementos)
• As metas devem ser especificadas com precisão, para 
dar suporte a elaboração, verificação/validação, 
gerência de conflitos, negociação, explicação e 
negociação.
10/06/2015 Prof. Eduardo Kinder Almentero 14
i* (istar)
• Propõe uma abordagem orientada a agentes para a engenharia de requisitos, 
centrada nas características intencionais de cada agente.
• Agentes atribuem propriedades intencionais (tais como objetivos, crenças , 
habilidades, compromissos) entre si e raciocinam sobre relacionamentos 
estratégicos.
• As dependências entre agentes dão origem a vulnerabilidades e a oportunidades.
• Os agentes podem considerar caminhos alternativos para determinar seu 
posicionamento estratégico no contexto social.
• É composto, basicamente, de dois modelos: 
– Modelo SD (Strategic Dependency)
– Modelo SR (Strategic Rationale)
• Ferramentas: 
– OpenOME
• http://sourceforge.net/projects/openome/
– Microsoft Visio
• Estêncil no quiosque
10/06/2015 Prof. Eduardo Kinder Almentero 15
Modelo SD (Strategic Dependency)
• Compreende um conjunto de nós e 
relacionamentos, onde:
– Os nós representam atores;
– O relacionamento entre dois atores indica que 
um ator depende do outro para alcançar uma 
meta.
• O modelo SD é utilizado para expressar a rede 
de relacionamentos intencionais e 
estratégicos entre atores.
10/06/2015 Prof. Eduardo Kinder Almentero 16
Modelo SD (Strategic Dependency)
• Ator
– Entidades ativas que executam ações para alcançar 
metas, utilizando seu conhecimento.
– O termo ator é utilizado para se referir, 
genericamente, a qualquer unidade para a qual 
dependências intencionais podem ser atribuídas. 
– Agentes, papéis e posições representam atores de 
forma mais especializada.
10/06/2015 Prof. Eduardo Kinder Almentero 17
Modelo SD (Strategic Dependency)
• Papel
– É uma caracterização abstrata do comportamento de 
um ator social.– Suas características são facilmente transferíveis para 
outros atores sociais.
– As dependências associadas a um papel sempre se 
aplicam, independente do agente que desempenha o 
papel.
10/06/2015 Prof. Eduardo Kinder Almentero 18
Modelo SD (Strategic Dependency)
• Agente
– Ator com manifestações físicas concretas, como, por exemplo, um 
indivíduo humano.
– O termo agente é utilizado para uma maior generalização, uma vez 
que pode ser utilizado para se referir a um ser humano ou agentes 
artificiais (agentes de hardware/software).
– Um agente tem dependências que se aplicam, independente do 
papel que desempenham.
– Estas características não são facilmente transferíveis para outros 
indivíduos. Ex.: habilidades e experiência.
10/06/2015 Prof. Eduardo Kinder Almentero 19
Modelo SD (Strategic Dependency)
• Posição
– Abstração intermediária que pode ser utilizada entre 
um papel e agente.
– É um conjunto de papéis desempenhados por um 
agente.
– Dizemos que um agente ocupa uma posição e uma 
posição “cobre” um papel.
10/06/2015 Prof. Eduardo Kinder Almentero 20
Relacionamentos de associação entre 
atores
• Associação Is-part-of (“é-parte-de” )
– Permite decompor papéis, posições e agentes em 
subpartes.
– Podem existir dependências intencionais entre o 
todo e suas partes. 
10/06/2015 Prof. Eduardo Kinder Almentero 21
Relacionamentos de associação entre 
atores
• Associação ISA (“é_um)
– Representa uma generalização, onde um ator é 
um caso especializado de outro.
10/06/2015 Prof. Eduardo Kinder Almentero 22
Relacionamentos de associação entre 
atores
• Associação Plays (“desempenha”)
– Utilizada entre um agente e um papel. Significa 
que um agente desempenha um papel. 
10/06/2015 Prof. Eduardo Kinder Almentero 23
Relacionamentos de associação entre 
atores
• Associação Covers (“Cobre”)
– Utilizada para descrever o relacionamento entre 
uma posição e os papéis cobertos por ela.
10/06/2015 Prof. Eduardo Kinder Almentero 24
Relacionamentos de associação entre 
atores
• Associação Occupies (“Ocupa”)
– Utilizada para indicar que um agente ocupa uma 
posição, o que significa que ele desempenha 
todos os papéis cobertos pela posição.
10/06/2015 Prof. Eduardo Kinder Almentero 25
Relacionamentos de associação entre 
atores
• Associação INS (“instância”)
– Utilizada para representar uma instância 
específica de uma entidade mais abstrata.
– Um agente pode ser uma instância de outro 
agente.
10/06/2015 Prof. Eduardo Kinder Almentero 26
Dependências Estratégicas
• Dependee
– Ator do qual se depende em um relacionamento de 
dependência.
• Depender
– O ator que depende do outro em um relacionamento de 
dependência.
• Dependum
– Elemento em torno do qual uma relação de dependência 
ocorre.
• Baseado no tipo de “dependum”, existem quatro tipos 
de dependências: dependência por tarefa, por 
recurso, por meta e por meta-flexível. 
10/06/2015 Prof. Eduardo Kinder Almentero 27
Dependência por Meta
• Na dependência por meta, o “depender” depende do 
“dependee” para trazer um certo estado ao mundo.
• O “dependum” é descrito como um estado a ser alcançado.
• O “dependee” é livre para, e é esperado que o faça, tomar 
quaisquer decisões necessárias para satisfazer a meta 
(“dependum”).
• O “depender” não se importa em como o depende atinge a 
meta.
10/06/2015 Prof. Eduardo Kinder Almentero 28
Dependência por Tarefa
• Na dependência por tarefa, o “depender” depende do “dependee” para 
que este execute uma tarefa.
• O “dependum” é uma tarefa que especifica como a ação será realizada, 
mas não o porquê.
• O “depender” já tomou decisões sobre como a tarefa deve ser executada.
• Uma descrição de tarefa no i* não pretende ser descrição completa das 
etapas necessárias para executá-la. É uma restrição imposta pelo 
“depender” ao “dependee”, mas este ainda tem liberdade de ação dentro 
destas restrições.
10/06/2015 Prof. Eduardo Kinder Almentero 29
Dependência por Recurso
• Utilizada quando o “depender” depende do “dependee” pela 
disponibilização de uma entidade (física ou informacional). 
• Ao estabelecer essa dependência, o “depender” ganha a 
habilidade de utilizar esta entidade como um recurso.
• Um recurso é um produto final de um processo de 
deliberação-ação.
• Na dependência por recurso, se assume que não há questões
em aberto a serem tratadas, ou decisões a serem tomadas.
10/06/2015 Prof. Eduardo Kinder Almentero 30
Dependência por Meta-flexível 
• Utilizado quando o “depender” depende do “dependee” para 
realizar uma tarefa que satisfaça uma meta-flexível.
• Uma meta-flexível é similar a uma meta, porém, não possui 
um critério exato de sucesso definido a priori.
• O significado da meta-flexível é definido durante o curso de 
ações para satisfazer a meta.
• O “depender” decide o que constitui a realização satisfatória 
da meta, utilizando o conhecimento do “dependee”.
10/06/2015 Prof. Eduardo Kinder Almentero 31
Vulnerabilidade
• A vulnerabilidade está implícita nos relacionamentos 
de dependência.
• O relacionamento de dependência indica que o 
“depender”, por depender de outro ator, que é o
“dependee”, é capaz de alcançar metas que não 
poderia antes, ou não tão bem, ou não tão rápido.
• Esta dependência está implícita, pois o “dependee” 
pode falhar em realizar o elemento em questão.
• O modelo distingue três graus de força da 
dependência, de acordo com o nível de 
vulnerabilidade.
10/06/2015 Prof. Eduardo Kinder Almentero 32
Vulnerabilidade
• Dependência aberta
– Não obter o “dependum” afeta o “depender”, mas não seriamente.
• Dependência comprometida
– Não obter o “dependum” causaria uma falha em alguma ação para 
alcançar uma meta no “depender”
• Dependência crítica
– Não obter o “dependum” causa uma falha em todas as ações que o 
“depender” planejou para alcançar a meta.
10/06/2015 Prof. Eduardo Kinder Almentero 33
X X
Exemplo Modelo SD
10/06/2015 Prof. Eduardo Kinder Almentero 34
Perguntas?

Outros materiais

Perguntas Recentes