3_-_Modelar_-_Parte_III_-_GORE_-_iStar_SD
35 pág.

3_-_Modelar_-_Parte_III_-_GORE_-_iStar_SD


DisciplinaEngenharia de Software I7.105 materiais70.487 seguidores
Pré-visualização2 páginas
GORE
Eduardo Kinder Almentero
ekalmentero@gmail.com
Introdução
\u2022 O que são Metas?
\u2013 Uma Meta é um objetivo que o sistema em construção 
deve alcançar.
\u2022 Metas podem ser formuladas em diferentes níveis de 
abstração
\u2013 Questões estratégicas
\u2022 Ex.: 
\u2013 servir mais passageiros (sistema de transporte).
\u2013 fornecer um serviço de retirada de dinheiro ubíquo.
\u2013 Questões técnicas 
\u2022 Ex.:
\u2013 executar sistema de aceleração no tempo correto
\u2013 reter o cartão após 3 senhas incorretas.
10/06/2015 Prof. Eduardo Kinder Almentero 2
Introdução
\u2022 As metas também lidam com diferentes tipos 
de características.
\u2013 Características funcionais, relacionadas com os 
serviços que serão providos;
\u2013 Características não funcionais, associadas com a 
qualidade do serviço (ex.: segurança, acurácia, 
performance, etc.)
\u2022 Quando utilizar?
\u2013 Fase inicial da engenharia de requisitos (\u201cearly
requirements\u201d).
10/06/2015 Prof. Eduardo Kinder Almentero 3
Introdução
\u2022 O sistema ao qual uma meta se refere pode ser o atual 
ou o a ser construído.
\u2013 Ambos estão envolvidos no processo de ER
\u2013 Muitas vezes, compartilham as mesmas metas de alto-
nível.
\u2022 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.
\u2022 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
\u2022 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.
\u2022 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
\u2022 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?
\u2022 Alcançar completeza de requisitos é uma 
questão central em ER.
\u2013 Metas fornecem um critério preciso para 
completeza \u201csuficiente\u201d de uma especificação de 
requisitos;
\u2013 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?
\u2022 Evitar requisitos irrelevantes, outra questão 
central em ER.
\u2013 As metas fornecem um critério preciso para 
pertinência de requisitos.
\u2013 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?
\u2022 Explicar os requisitos aos stakeholders (outra 
questão importante).
\u2013 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.
\u2013 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?
\u2022 O refinamento de metas provê um 
mecanismo natural para estruturar
documentos de requisitos complexos, afim de 
aumentar sua leiturabilidade. 
\u2013 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?
\u2022 Engenheiros de requisitos se deparam com 
várias alternativas a serem consideradas 
durante o processo de elaboração de 
requisitos.
\u2013 Refinamentos de metas alternativas provê o nível 
certo de abstração onde tomadores de decisão 
podem ser envolvidos para validar escolhas.
\u2013 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?
\u2022 Lidar com conflitos de pontos de vista é outra 
questão crítica na ER.
\u2013 As metas são reconhecidas por explicitar conflitos 
entre requisitos;
\u2013 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?
\u2022 A separação entre informação estável e volátil também é 
importante na ER.
\u2013 Um requisitos representa uma maneira particular de atingir 
uma meta;
\u2013 É 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.
\u2013 Assim, quanto maior o nível de abstração da meta, mais estável 
ela será.
\u2013 Portanto, é comum que diferentes versões do sistema 
compartilhem o mesmo conjunto de metas de alto-nível
\u2013 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
\u2022 De onde surgem as metas?
\u2013 Análise preliminar do sistema atual;
\u2013 Procura por palavras-chave específicas nos 
documentos preliminares;
\u2022 Ex.: transcrições de entrevista.
\u2013 Refinamento \u2013 perguntando como.
\u2013 Abstração \u2013 perguntando por que
10/06/2015 Prof. Eduardo Kinder Almentero 13
Modelando Metas
\u2022 Benefício
\u2013 Suporta esquemas de raciocínio através de heurísticas, 
qualitativo ou formal durante a engenharia de requisitos.
\u2022 Metas são modeladas através de:
\u2013 Tipos (funcionais e não funcionais)
\u2013 Atributos (nome)
\u2013 Relacionamentos (relacionamento entre metas, 
relacionamento entre metas e outros elementos)
\u2022 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)
\u2022 Propõe uma abordagem orientada a agentes para a engenharia de requisitos, 
centrada nas características intencionais de cada agente.
\u2022 Agentes atribuem propriedades intencionais (tais como objetivos, crenças , 
habilidades, compromissos) entre si e raciocinam sobre relacionamentos 
estratégicos.
\u2022 As dependências entre agentes dão origem a vulnerabilidades e a oportunidades.
\u2022 Os agentes podem considerar caminhos alternativos para determinar seu 
posicionamento estratégico no contexto social.
\u2022 É composto, basicamente, de dois modelos: 
\u2013 Modelo SD (Strategic Dependency)
\u2013 Modelo SR (Strategic Rationale)
\u2022 Ferramentas: 
\u2013 OpenOME
\u2022 http://sourceforge.net/projects/openome/
\u2013 Microsoft Visio
\u2022 Estêncil no quiosque
10/06/2015 Prof. Eduardo Kinder Almentero 15
Modelo SD (Strategic Dependency)
\u2022 Compreende um conjunto de nós e 
relacionamentos, onde:
\u2013 Os nós representam atores;
\u2013 O relacionamento entre dois atores indica que 
um ator depende do outro para alcançar uma 
meta.
\u2022 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)
\u2022 Ator
\u2013 Entidades ativas que executam ações para alcançar 
metas, utilizando seu conhecimento.
\u2013 O termo ator é utilizado para se referir, 
genericamente, a qualquer unidade para a qual 
dependências intencionais podem ser atribuídas. 
\u2013 Agentes, papéis e posições representam atores de 
forma mais especializada.
10/06/2015 Prof. Eduardo Kinder Almentero 17
Modelo SD (Strategic Dependency)
\u2022 Papel
\u2013 É uma caracterização abstrata do comportamento de 
um ator social.