SlideShare uma empresa Scribd logo
Identificando requisitos comuns
e variantes em linhas de produtos
de software
Engenharia de Requisitos de Softwares - Prof. Dr. Paulo Sérgio Muniz Silva – 2016
André Rocha Agostinho
Objetivos da apresentação
Análise de domínio e reuso de requisitos de software
Até o momento, a finalidade do sistema de gestão de crise era a de gerenciar o
atendimento de acidentes de veículos em estradas. Agora, seu escopo deve ser
ampliado para tratar diversas situações de crise, como as decorrentes de
desastres naturais, de várias modalidades de transporte, etc., constituindo uma
linha de produtos de software.
• Apresentar uma versão inicial de parte significativa do modelo de domínio,
numa linguagem apropriada, que identifique e especifique requisitos
comuns e variantes da linha de produtos. Para tanto:
– Empregar o método de modelagem proposto por (Kim, J. et al., 2006).
Explicitar as premissas assumidas.
– Apresentar uma avaliação a respeito da viabilidade de aplicação prática
deste método de modelagem.
2
Objetivos da apresentação
Rastreabilidade dos requisitos de software
Considerando a solução proposta na primeira parte:
• Definir a Estratégia de Rastreabilidade dos requisitos de software para a linha
de produtos definida.
• Considerando a estratégia definida:
– Elaborar alguns fragmentos de matrizes de rastreabilidade considerando
os requisitos de domínio identificados como requisitos comuns e
variantes.
– Definir os principais atributos dos requisitos de software a serem
utilizados na gerência dos requisitos. Justificar.
3
Organização da apresentação
1. Linha de produtos de software
– Definição
– Motivação
– Reuso do software
2. Análise de domínio utilizando a abordagem Feature Oriented Domain Analysis
– Conceitos
– Processo de análise de domínio
– Análise de produtos de domínio
3. Modelagem de domínio
– Premissas estabelecidas
– Modelos de domínio
– Identificação de requisitos comuns e variantes
– Especificação de requisitos comuns e variantes
4. Rastreabilidade dos requisitos do software
– Estratégia de rastreabilidade
– Matrizes de rastreabilidade
– Atributos dos requisitos de software a serem gerenciados
4
• Definição
• Motivação
• Reuso do software
Linha de produtos de software 5
Uma Linha de Produtos de Software é um conjunto de sistemas intensivos em
software, compartilhando um conjunto controlado de características comuns que
satisfazem a uma necessidade ou missão específica de um segmento particular do
mercado, desenvolvido a partir de um conjunto comum de ativos fundamentais
(core assets) segundo uma prescrição.
Linha de produtos de software
Definição
(Pohl, K. el al., 2005)
6
(Pohl, K. el al., 2005)
Break-Even Point
• (Weiss and Lai 1999) entre 3 e 4
• (Pohl, K. el al., 2005) 3
Principal:
Redução do custo no desenvolvimento
Outras motivações:
Melhorias na qualidade, redução no
time to market, menor esforço de
manutenção e etc.
Considerações:
A ponto preciso depende de várias
características da organização e do
mercado previsto, tais como base de
clientes, expertise e tipos de
produtos. A estratégia inicial pra
criar o primeiro produto também vai
influenciar neste número.
Linha de produtos de software
Motivação
7
As partes que serão reutilizadas podem ser partes existentes ou desenvolvidas para
reuso futuro.
Linha de produtos de software
Reuso do software
Podem incluir, entre outros:
• Conhecimento do domínio
• Modelo de domínio
• Técnicas de elicitação, análise e modelo de requisitos
• Arquitetura e componentes de software
• Planos de teste e casos de teste
• Processos, métodos e ferramentas
(Pohl, K. el al., 2005)
8
• Conceitos
• Processo de análise de domínio
• Análise de produtos de domínio
Análise de domínio – abordagem FODA 9
• Domínio (ou domínio da aplicação):
Um conjunto de aplicações atuais ou futuras que compartilham um conjunto
comum de capacidades e dados.
• Análise de domínio:
O processo de identificar, coletar, organizar e representar as informações relevantes
do domínio, baseado no estudo dos sistemas existentes e de suas histórias de
desenvolvimento.
• Modelo do domínio:
Definição das funções, dados e relações num domínio.
• Característica (feature)
Atributos do sistema que afetam os usuários finais e stakeholders: eles devem
entender as características para utilizarem o sistema.
(Kang et al., 1990)
Análise de domínio – abordagem FODA
Conceitos
10
• Reuso de software:
O processo para implementer novos sistemas de software com base na informação
de um software existente.
• Reuso de componentes:
Um componente de software (incluindo requisitos, arquitetura, código, testes e etc)
concebido e implementado para uma finalidade específica de reutilização.
(Kang et al., 1990)
Análise de domínio – abordagem FODA
Conceitos
11
Análise de domínio reúne e representa as informações em sistemas de software que
compartilham um conjunto comum de recursos e dados.
Métodos [GILR89A, MCNI86A, PRIE87A] sugerem 3 fases no processo de análise de
domínio.
1. Análise de contexto:
Define a extensão (ou limites) de um domínio para análise.
2. Modelagem de domínio:
Deescreve os problemas dentro do domínio que são endereçados pelo software.
3. Modelagem de arquitetura:
Cria arquitectura (s) de software que implementa uma solução para os
problemas no domínio.
Análise de domínio – abordagem FODA
Processo de análise de domínio - Fases
(Kang et al., 1990)
12
Fontes Produtor Consumidores
Usuário final
Usuário final
Especialista
De domínio
Analista
de domínio
Analista
de Requisitos
Projetista de
Software
(Kang et al., 1990)
Análise de domínio – abordagem FODA
Processo de análise de domínio - Participantes
13
1) Análise de contexto 2) Modelagem de domínio 3) Modelagem de arquitetura
Info.
Produt
os
Modelo
de
domínio
Modelo
de
domínio
Modelo
de
Arquit.
Escopo
E
Limites
Analista de domínio, usuários e
especialista do domínio
• Limites e escopo do
domínio.
• Reunir informações para
análise.
Analista de domínio, usuários,
especialista do domínio e analista de
requisitos
• Fontes de informação e outros
produtos de análise de contexto
• Apoiar a criação de um modelo de
domínio
• Revisão do modelo
Analista de domínio,
especialista do domínio, analista
de requisitos e projetista de
software
• Produzir o modelo de
arquitetura com o modelo de
domínio.
• Revisão do modelo
Análise de domínio – abordagem FODA
Processo de análise de domínio - Processo
(Kang et al., 1990)
14
Produtos
da análise
do domínio
Produtos do
novo sistema
a ser desenvolvido
Análise
de contexto
Modelagem
de Domínio
Modelagem
da Arquitetura
Contexto
e
escopo
Modelos
(Features,
ER, etc)
Arq.
Estrutura
de controle
Novo
contexto
Novas
espec.
Nova
arquit.
Requisitos
Requisitos
Requisitos Software
Domínio
Domínio
Domínio
Usuário
Usuário
Especialista
do domínio
Analista
do domínio
Adicionar, Modificar e remover “features”
Adicionar, Modificar e remover “features”
Adicionar, Modificar e remover “features”
Análise de domínio – abordagem FODA
Processo de análise de domínio – Adaptando novos produtos
(Kang et al., 1990)
15
• Premissas estabelecidas
• Modelos de domínio
• Identificação de requisitos comuns e variantes
• Especificação de requisitos comuns e variantes
Modelagem de domínio
Sistema de Gestão de Crises
16
1. Formação de uma equipe seguindo a formação de participantes da abordagem
FODA:
Papéis Representados por
Analista de domínio
Pessoa com sólida experiência em análise e modelagem de
domínios de sistemas variados.
Especialistas de
domínio
Pessoas especializadas em gestão de crises de qualquer natureza
com foco em modalidades de transportes.
Usuários
Representantes: Atendente, Supervisor, Coordenador,
Observador, Grupo de Apoio à Crise (Bombeiros. Médicos,
Enfermeiros)
Modelagem de domínio
Premissas estabelecidas
• Analista de domínio
• Analistas de requisitos
• Especialistas de domínio
• Projetistas de softwares
• Usuários
17
2. Etapa da análise de contexto foi realizada seguindo o processo de análise de
domínio da abordagem FODA
Insumos utilizados no processo:
Documento visão do SGAVE (Sistema de Gestão de Acidentes de Veículos em
Estradas)
- Definição e finalidade do produto
- Relação dos stakeholders e usuários
Modelagem de domínio
Premissas estabelecidas
18
3. Aplicar o método FODA para abstrair elementos do SGC
“Desenvolvimento de produtos de domínio genéricos e amplamente aplicáveis
dentro de um domínio é o principal objetivo do método FODA. Este conhecimento
geral pode ser alcançado por abstrair "fatores" que fazem uma aplicação diferente
de outras aplicações. No entanto, para desenvolver aplicações dos produtos
genéricos, os fatores que foram abstraídos devem ser feito de forma específica e
introduzida durante o refinamento. Não só o conhecimento geral, mas também os
fatores que tornam cada aplicativo exclusivo são partes importantes do
conhecimento de domínio e devem ser capturados nos produtos de domínio.”
(Kang et al., 1990)
Conceitos de modelagem utilizados
- Agregação/Decomposição
- Generalização/Especialização
Modelagem de domínio
Premissas estabelecidas
19
4. Escopo, limites e contexto
Produto:
Sistema de Gestão de Crises (SGC).
Definição:
Sistema de gestão de acidentes em rodovias no Estado de São Paulo.
Foco de atuação:
Acidentes de veículos em rodovias
Finalidade:
Facilitar o processo de gestão de crise, auxiliando a designação eficaz de recursos e
orquestrando a comunicação entre todas as partes envolvidas no tratamento da
crise.
Modelagem de domínio
Premissas estabelecidas
20
4. Escopo, limites e contexto
Produto:
Sistema de Gestão de Crises (SGC).
Linha de Produtos:
Sistema de Gestão de Crises para Modalidades de Transportes (SGCMT).
Foco de atuação:
Meios de transportes (Carros, Motos, Caminhões, Aviões, Helicópteros, Trens e etc).
Finalidade:
Facilitar o processo de gestão de crise, auxiliando a designação eficaz de recursos e
orquestrando a comunicação entre todas as partes envolvidas no tratamento da
crise.
Modelagem de domínio
Premissas estabelecidas
PLANO DE MERCADO
PLANO DE PRODUTO
21
5. Diagrama de estrutura (alto nível)
SGC
GCAR GCAF GCAA
Gestão da
crise
SGCMT
Gestão da
crise
Gestão da
crise
1) Família de produtos SGC
Sistema de Gestão de Crise
2) Linha de produtos SGCMT
Sistema de Gestão de Crise para
Modalidades de Transportes
3) Produtos SGCMT
• GCAR - Gestão de Crise para
Acidentes Rodoviários
• GCAF - Gestão de Crise para
Acidentes Ferroviários
• GCAA - Gestão de Crise
para Acidentes Aéreos
4) Finalidade
Facilitar o processo de gestão de
crise, deslocando recursos
e orquestrando a comunicação
entre todas as partes envolvidas.
Modelagem de domínio
Premissas estabelecidas
22
6. Stakeholders comuns da linha de produtos SGCMT
Produto
Resumo dos principais
Stakeholders
Resumo dos stakeholders
em comum
GCAR
Polícia Rodoviária
Concessionárias de
Rodovias
1. Governo do Estado de São Paulo
2. Vítimas
3. Testemunhas
4. Comunidade local
5. Operadoras de Telefone
6. Atendente da Crise
7. Coordenador da Equipe de Gestão de Crise
8. Equipe de Gestão de Crise
9. Grupos de resgate
1. GRAU (Grupo de Resgate e
Atendimento a Urgências)
2. CBPMESP (Corpo de Bombeiros
Militar do Estado de São Paulo)
3. Grupamento de Radiopatrulha Aérea
da Polícia Militar.
GCAF
Polícia Ferroviária
Concessionárias de
Ferrovias
GCAA
Polícia Federal
Força Área Brasileira
Exército Brasileiro
Marinha do Brasil
Modelagem de domínio
Premissas estabelecidas
23
7. Usuários comuns da linha de produtos SGCMT
Produto
Resumo dos stakeholders
em comum
Resumo dos usuários
em comum
GCAR
1. Governo do Estado de São Paulo
2. Vítimas
3. Testemunhas
4. Comunidade local
5. Operadoras de Telefone
6. Atendente da Crise
7. Coordenador da Equipe de Gestão
de Crise
8. Equipe de Gestão de Crise
9. Grupos de resgate
1. GRAU (Grupo de Resgate e
Atendimento a Urgências)
2. CBPMESP (Corpo de
Bombeiros Militar do Estado
de São Paulo)
3. Grupamento de
Radiopatrulha Aérea da
Polícia Militar.
• Atendente
6. Atendente da Crise
• Coordenador
7. Coordenador da Equipe de
Gestão de Crise
• Observador, Supervisor
6 Equipe de Gestão de Crise
• Recursos Humanos
9. Grupos de resgate
• Centro de Controle
8. Equipe de Gestão de Crise
• Operadora de Telefonia
5. Operadoras de Telefone
GCAF
GCAA
Modelagem de domínio
Premissas estabelecidas
24
Produto Atores Casos de Uso
GCAR
• Atendente
• Coordenador
• Observador
• Supervisor
• Recursos
Humanos
• Centro de
Controle
1. Abrir chamado de incidente
2. Cancelar chamado de incidente
3. Consultar chamado de incidente
4. Avaliar chamado de incidente
5. Registrar ocorrência da crise
6. Cancelar ocorrência da crise
7. Monitorar situação da crise
8. Modificar situação da crise
9. Encerrar ocorrência da crise
10. Definir estratégia de mitigação
11. Modificar estratégia de mitigação
12. Cancelar estratégia de mitigação
13. Avaliar estratégia de mitigação
14. Definir procedimentos de mitigação
15. Consultar procedimentos de mitigação
16. Alocar recursos para a crise
GCAF
GCAA
Use Cases: Best Practices - By Ellen Gottesdiener - 2003 - IBM
8. Atores candidatos e casos de uso
Modelagem de domínio
Premissas estabelecidas
25
9. A escolha da linguagem de modelagem
• Um artefato composto de um vocabulário de conceitos do domínio (suas
definições e propriedades), um modelo mostrando todas as relações
possíveis entre estes conceitos e um conjunto de regras formais que
restringem a interpretação dos conceitos e relações, representando de
maneira clara e não ambígua o conhecimento do domínio.
(Guarino, 1997)
Selecionadas
• ER
• SBVR
• Método de modelagem por metas e cenários (Kim, J. et al., 2006)
Modelagem de domínio
Premissas estabelecidas
26
Análise de domínio e reuso de requisitos de software
Até o momento, a finalidade do sistema de gestão de crise era a de gerenciar o
atendimento de acidentes de veículos em estradas. Agora, seu escopo deve ser
ampliado para tratar diversas situações de crise, como as decorrentes de
desastres naturais, de várias modalidades de transporte, etc., constituindo uma
linha de produtos de software.
• Apresentar uma versão inicial de parte significativa do modelo de domínio,
numa linguagem apropriada, que identifique e especifique requisitos
comuns e variantes da linha de produtos. Para tanto:
– Empregar o método de modelagem proposto por (Kim, J. et al., 2006).
Explicitar as premissas assumidas.
– Apresentar uma avaliação a respeito da viabilidade de aplicação prática
deste método de modelagem.
Objetivo 1 27
• Premissas estabelecidas
• Modelos de domínio
• Identificação de requisitos comuns e variantes
• Especificação de requisitos comuns e variantes
Modelagem de domínio
Sistema de Gestão de Crises
28
Chamado
Estratégia de
mitigação
Procedimentos de
mitigação
Recursos MITIGA CriseCONTÊM
REGISTRA
ANALISA
Atendente
Supervisor REGISTRA
Coordenador
ALOCA
Modelagem de domínio
Modelos de Domínio - ER
29
1 N
DEFINE
CONSOME
1
N
1
N
1N
1
1
1
N
N
N
1
N
Modelagem de domínio
Modelos de Domínio - SBVR
30
Regra R1:
O coordenador deve aguardar a ocorrência de uma crise para definir uma estratégia de
mitigação.
Regra R2:
O supervisor registra uma ocorrência de uma crise após um chamado ser classificado como
legítimo
Regra R3:
Os recursos consomem procedimentos de mitigação quando alocados pelo coordenador
Termo:
É usado para designar um conceito de palavra.
Verbo: O verbo é usado para designar conceitos de verbos, usualmente um verbo, preposição ou
combinação. Tal designação é definida no contexto na forma de expressão.
Palavra-chave: A palavra-chave é usada para símbolos linguísticos na construção de declarações – as
palavras podem ser combinadas com outras designações para formular declarações e definições
• Premissas estabelecidas
• Modelos de domínio
• Identificação de requisitos comuns e variantes
• Especificação de requisitos comuns e variantes
Modelagem de domínio
Sistema de Gestão de Crises
31
Motivação
As principais abordagens orientadas à características FODA/FeaturSEB NÃO
SUPORTAM um processo bem definido e a fonte de variabilidade.
• Processo bem definido
Sem um processo bem definido, a abordagem torna-se menos aplicável pela
ausência de um conjunto de passos de como se aplicar o método
• Fonte de variabilidade
Sem capturar o conhecimento da fonte de variabilidade, torna-se mais difícil
prever quando as variações vão ocorrer e de onde elas se originam.
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
32
Metas e cenários na engenharia de requisitos
“São formas efetivas de indentificação de requisitos na engenharia de requisitos.”
(Kim et al, 2004, Potts, 1997; Rolland et al., 1998b. Sutcliffe, 1998)
“Metas fornecem uma análise racional para requisitos . Requisitos existem por
estarem fundamentados sobre metas. Metas fornecem uma base para requisitos.”
(Dardenee et al., 1991; Kim et al., 204; Sommerville and Sawyer, 1997)
“Cenários descrevem situação reais, capturando requisitos reais em um
determinado contexto.”
(Rolland et al, 1998b)
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
33
• No contexto de linha de produto metas de negócios de alto nível guiam
planos de marketing e planos de produtos e forcam produtos em uma família
de produtos a terem requisitos comuns e variantes.
• Nas metas de negócios as características dos produtos são determinadas e
também fornecem uma análise sobre os requisitos do domínio.
• A modelagem de metas e cenários possibilita a gestão adequada das
variações entre produtos em uma família de produto.
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
Metas e cenários em características de produtos
34
CenárioMeta
< Alcança
N
Autor >
1
Comum
Alternativo
Opcional
Tipo de variação
Meios de
se alcançar a meta
Tipos de cenários
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
Metas e cenários na análise de requisitos do domínio
35
Meta
V + Target + Direction
V: Verbo ativo
Target: Objeto concentual ou físico
Direction: Fonte ou destino
Cenário
S + V + Target + Direction + Manner
S: Agente para o sistema projetado ou o próprio sistema projetado
V: Verbo ativo
Target: Objeto conceitual ou físico
Direction: Fonte ou destino
Manner: Forma o qual o cenário está implementado
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
Escrevendo metas e cenários em características de produtos
36
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
Características da abordagem
37
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
Análise de requisitos do domínio – Processo de modelagem
38
Análise de requisitos do domínio – Utilizando o método
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
39
BG: Meta de negócio
Sg: Meta de serviço
Ss: Cenário de serviço
IAg: Meta de interação
IAs: Cenário de interação
INg: Meta interna
INs: Cenário interno
Meta de negócio do SGCMT
BG: "Ser o principal e o melhor sistema de gestão de crise de meios de transportes
para o estado de São Paulo"
Metas de serviços
Sg1: "Fornecer gestão de crise para acidentes rodoviários“
Sg2: “Fornecer gestão de crise para acidentes ferroviários“[alternativo]
Sg3: "Fornecer gestão de crise para acidentes aéreos“[alternativo]
Análise de requisitos do domínio – Utilizando o método
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
40
Nível de negócio
• Sg1: "Fornecer gestão de crise para acidentes rodoviários“
• Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a
Urgências) para uma ocorrência de crise via centro de controle. [comum]
• Sg2: “Fornecer gestão de crise para acidentes ferroviários“
• Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a
Urgências) para uma ocorrência de crise via centro de controle. [comum]
• Ss2: Coordenador pode alocar unidades da polícia ferroviária para acidentes de trens
via centro de controle [opcional]
• Sg3: "Fornecer gestão de crise para acidentes aéreos“
• Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a
Urgências) para uma ocorrência de crise via centro de controle [comum]
• Ss2: Coordenador pode alocar unidades da FAB (Força Aérea Brasileira) para
acidentes de aviões via centro de controle [opcional]
Nível de serviçoAnálise de requisitos do domínio – Utilizando o método
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
41
• Sg1: "Fornecer gestão de crise para acidentes rodoviários“
Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências) para
uma ocorrência de crise via centro de controle [comum]
IAg1: “Alocar unidades GRAU para o local da crise “
• IAs1: Coordenador deve definir a estratégia de mitigação da crise [comum]
• IAs2: Coordenador deve acionar unidades GRAU para o local da crise por meio dos
procedimentos da estratégia de mitigação escolhida [comum]
• IAs3: Coordenador pode acionar unidades do GATE (Grupo de Ações Táticas Especiais da
PM) para o local da crise por meio das unidades GRAU [opcional]
Análise de requisitos do domínio – Utilizando o método
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
42
Nível de interação
• Sg1: "Fornecer gestão de crise para acidentes rodoviários“
Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências) para
uma ocorrência de crise via centro de controle [comum]
IAg1: “Alocar unidades GRAU para o local da crise “
• IAs1: Coordenador deve definir a estratégia de mitigação da crise [comum]
• IAs2: Coordenador deve acionar unidades GRAU para o local da crise por meio dos
procedimentos da estratégia de mitigação escolhida [comum]
• IAs3: Coordenador pode acionar unidades do GATE (Grupo de Ações Táticas Especiais da
PM) para o local da crise por meio das unidades GRAU [opcional]
Análise de requisitos do domínio – Utilizando o método
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
43
Nível interno
INg2: “Encaminhar informações da ocorrência e procedimentos para a central
da GRAU“
• INs1: Módulo de comunicação SGC deve transmitir um pacote com informações
sobre a ocorrência para a central da GRAU [comum]
• INs2: Módulo de comunicação SGC deve aguardar confirmação da central da GRAU
[comum]
• INs3: Módulo de comunicação SGC pode retransmitir um pacote com informações
sobre ocorrência para a central da GRAU [opcional]
• Sg3: "Fornecer gestão de crise para acidentes aéreos“
• Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências)
para uma ocorrência de crise via centro de controle [comum]
• Ss2: Coordenador pode alocar unidades da FAB (Força Aérea Brasileira) para acidentes de
aviões pelo centro de controle [opcional]
IAg2: “Alocar unidades da FAB para o local da crise “
• IAs1: Coordenador deve definir a estratégia de mitigação da crise [comum]
• IAs2: Coordenador deve acionar unidades da FAB para o local da crise por meio dos
procedimentos da estratégia de mitigação escolhida [comum]
Análise de requisitos do domínio – Utilizando o método
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
44
Nível de interação
• Sg3: "Fornecer gestão de crise para acidentes aéreos“
• Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências)
para uma ocorrência de crise via centro de controle [comum]
• Ss2: Coordenador pode alocar unidades da FAB (Força Aérea Brasileira) para acidentes de
aviões pelo centro de controle [opcional]
IAg2: “Alocar unidades da FAB para o local da crise “
• IAs1: Coordenador deve definir a estratégia de mitigação da crise [comum]
• IAs2: Coordenador deve acionar unidades da FAB para o local da crise por meio dos
procedimentos da estratégia de mitigação escolhida [comum]
Análise de requisitos do domínio – Utilizando o método
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
45
Nível interno
INg2: “Encaminhar informações da ocorrência e procedimentos ao centro de
controle da FAB “
• INs1: Módulo de comunicação SGC deve transmitir um pacote com informações
sobre ocorrência para o centro de controle de desastres aéreos da FAB [comum]
• INs2: Módulo de comunicação SGC deve aguardar a confirmação para o centro de
controle de desastres aéreos da FAB [comum]
• INs3: Módulo de comunicação SGC pode retransmitir um pacote com informações
sobre ocorrência para o centro de controle de desastres aéreos da FAB [opcional]
Fornecer gestão de
crise para acidentes
rodoviários
Fornecer gestão de
crise para acidentes
ferroviários
Fornecer gestão de crise
para acidentes aéreos
Ser o principal e o melhor sistema de gestão de crise
de meios de transportes para o estado de São Paulo
Alocar unidades GRAU
para o local da crise
Encaminhar informações
da ocorrência e
procedimentos a central
da GRAU.
Alocar unidades GRAU
para o local da crise
Encaminhar informações
da ocorrência e
procedimentos a central
da GRAU.
Alocar unidades GRAU
para o local da crise
Encaminhar informações
da ocorrência e
procedimentos a central
da GRAU.
SGCMT
Alocar unidades da FAB
para o local da crise
Encaminhar informações
da ocorrência e
procedimentos ao centro
de controle de desastres
aéreos da FAB.
Árvore de metas
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
46
Modelagem de domínio
Identificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
47
• Premissas estabelecidas
• Modelos de domínio
• Identificação de requisitos comuns e variantes
• Especificação de requisitos comuns e variantes
Modelagem de domínio
Sistema de Gestão de Crises
48
Representação dos requisitos do domínio – Visão geral
- Metas e cenários no nível de interação dos requisitos de domínio são usados
para ajudar a construir casos de usos.
- Uma meta no nível de interação é alcançada através de cenários e um caso de
uso contém o conjunto de cenários possíveis para alcançar a meta
Modelagem de domínio
Especificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
49
Representação dos requisitos do domínio – Regras-guia de transferência
Regras Definição
R1 Metas no nível de interação tornam-se casos de uso
R2 Um agente que necessita interagir com a meta torna-se o ator primário
R3
Cenários tornam-se especificações textuais de casos de uso e um agente ou
sujeito do cenário pode se tornar um ator. Caso um agente não se torne um
ator primário o mesmo deve ser considerado como secundário
R4
Metas com requisitos variantes no nível de interação tornam-se casos de uso
com tipo variante. Se uma meta tem um relacionamento como “alternativo”,
um caso de uso com o estereótipo “<<alternative>>” é representado no
diagrama. Se uma meta tem um relacionamento como “opcional”, um caso de
uso com o estereótipo “<<opcional>>” é representado no diagrama.
R5
Metas e cenários no nível interno são descritos em cada especificação textual
de caso de uso
Modelagem de domínio
Especificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
50
Representação dos requisitos do domínio – Diagrama de casos de uso
Coordenador
<<comum>>
Alocar unidades GRAU
para o local da crise
<<opcional>>
Alocar unidades da FAB
para o local da crise
SGCMT
Modelagem de domínio
Especificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
51
Representação dos requisitos do domínio – Diagrama de casos de uso
Coordenador
<<comum>>
Alocar unidades GRAU
para o local da crise
<<opcional>>
Alocar unidades da FAB
para o local da crise
SGCMT
R1
META DE INTERAÇÃO >
CASO DE USO
R2
AGENTE > ATOR
R4
ESTEREÓTIPOS DE
VARIAÇÃO
Modelagem de domínio
Especificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
52
Representação dos requisitos do domínio – Especificação de caso de uso
Nome do caso de uso: Alocar unidades GRAU para o local da crise
Atores: Coordenador
Descrição do caso de uso:
1. Coordenador deve definir a estratégia de mitigação da crise <<comum>>
2. Coordenador deve acionar unidades GRAU para o local da crise por meio dos
procedimentos da estratégia de mitigação escolhida <<comum>>
1. Encaminhar informações da ocorrência e procedimentos para a central da
GRAU
1. Módulo de comunicação SGC deve transmitir um pacote com informações
sobre a ocorrência para a central da GRAU <<comum>>
2. Módulo de comunicação SGC deve aguardar confirmação da central
da GRAU <<comum>>
3. Módulo de comunicação SGC pode retransmitir um pacote com informações
sobre ocorrência para a central da GRAU << opcional >>
3. Coordenador pode acionar unidades do GATE para o local da crise por meio das
unidades GRAU <<opcional>>
Tipo de variação: Comum
Modelagem de domínio
Especificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
53
Nome do caso de uso: Alocar unidades GRAU para o local da crise
Atores: Coordenador
Descrição do caso de uso:
1. Coordenador deve definir a estratégia de mitigação da crise <<comum>>
2. Coordenador deve acionar unidades GRAU para o local da crise por meio dos
procedimentos da estratégia de mitigação escolhida <<comum>>
1. Encaminhar informações da ocorrência e procedimentos para a central da
GRAU
1. Módulo de comunicação SGC deve transmitir um pacote com informações
sobre a ocorrência para a central da GRAU <<comum>>
2. Módulo de comunicação SGC deve aguardar confirmação da central
da GRAU <<comum>>
3. Módulo de comunicação SGC pode retransmitir um pacote com informações
sobre ocorrência para a central da GRAU << opcional >>
3. Coordenador pode acionar unidades do GATE para o local da crise por meio das
unidades GRAU <<opcional>>
Tipo de variação: Comum
Representação dos requisitos do domínio – Especificação de caso de uso
R1
META DE INTERAÇÃO >
CASO DE USO
R2
AGENTE > ATOR
R3
CENÁRIOS DE INTERAÇÃO
> ESPECIFICAÇÃO
AGENTES > ATOR
R4
ESTEREÓTIPOS DE
VARIAÇÃO
R5
METAS E CENÁRIOS DO NÍVEL
INTERNO SÃO DESCRITOS NA
ESPECIFICAÇÃO DE CASO DE USO
Modelagem de domínio
Especificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
54
Modelagem de domínio
Especificação de requisitos comuns e variantes
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
55
Pontos fortes
1. Uma boa abordagem para a derivação do escopo das metas de negócios
2. Os níveis de metas propostos auxiliam nas definições dos requisitos de
acordo com cada perspectiva
3. Existe uma rastreabilidade total entre metas, cenários, requisitos e
especificação
4. Existe uma rastreabilidade parcial entre planos de marketing e de produto
com as metas de negócio
5. Bom entendimento sobre a variabilidade das características do produto em
uma linha de produto
6. Facilidade em escalar a produção de novos produtos utilizando-se do reuso
do software
Modelagem de domínio
Apresentar uma avaliação a respeito da viabilidade de aplicação prática do método
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
56
Pontos fracos
1. Dificuldade em se aplicar o método sem um documento visão bem
definido
2. Dificuldade em se criar metas de serviços sem um plano de marketing bem
definido
3. Dificuldade na derivação de cenários para as metas dos níveis
subsequentes
4. Dificuldade no uso do método sem um conhecimento prévio de uma
abordagem dirigida à características como o FODA e o FeaturSEB
5. Necessidade dos papéis de analista do domínio e especialista do domínio.
E segundo o FODA de uma equipe contendo um analista de requisitos ,
usuários e projetista de software.
6. Não encontrado nenhum papel relacionado à gerente de produto ou
gerente grupo-produto (linha de produto).
Modelagem de domínio
Apresentar uma avaliação a respeito da viabilidade de aplicação prática do método
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
57
Oportunidades
1. Adaptar os papéis do FODA com uma metodologia ágil
Ex: Em equipes usando metodologia Scrum, tentar adequar os papeis da
equipe que possam de fato suprir um analista de domínio e um
especialista do domínio.
2. Considerar na abordagem FODA os conceitos de Lean Startup
Ex: Para criar produtos MVP (Mínimo produto viável) tentar utilizar um
processo de análise de domínio mais enxuto e tentar adaptar os métodos
de modelagem para a criação de linhas de produtos que possam
responder bem a mudanças.
Modelagem de domínio
Apresentar uma avaliação a respeito da viabilidade de aplicação prática do método
Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment
58
Rastreabilidade dos requisitos de software
Considerando a solução proposta na primeira parte:
• Definir a Estratégia de Rastreabilidade dos requisitos de software para a
linha de produtos definida.
• Considerando a estratégia definida:
– Elaborar alguns fragmentos de matrizes de rastreabilidade
considerando os requisitos de domínio identificados como requisitos
comuns e variantes.
– Definir os principais atributos dos requisitos de software a serem
utilizados na gerência dos requisitos. Justificar.
Objetivo 2 59
Rastreabilidade dos requisitos de software 60
Estratégia de rastreabilidade
- As características dirigem o MCU (Spence, I.; Probasco, L. , 2000)
- Pré-rastreabilidade: das origens à especificação dos requisitos
- Método proposto no artigo Kim, J. et al
- Rastreabilidade das características do software à especificação de
casos uso através de metas e cenários.
- Rastreabilidade da ERS alinhadas à prática IEEE 830-1998.
- Rastreamento para trás (estágios anteriores do desenvolvimento).
Rastreabilidade dos requisitos de software 61
Estratégia de rastreabilidade
Quais as relações que têm interesse para a gerência de requisitos?
- Identificar o conjunto de objetos (Ramesh,B.; Jarke, M., 2001) exigidos
para definir os itens de rastreabilidade.
• Necessidade e característica
• RF e RNF
• Itens do glossário
• Caso de uso e Seção de caso de uso
• Ator
Spence e Probasco (2000)
Rastreabilidade dos requisitos de software 62
Estratégia de rastreabilidade
As características dirigem o MCU
(Spence, I.; Probasco, L. , 2000)
Rastreabilidade dos requisitos de software 63
Matrizes de rastreabilidade
As características dirigem o MCU
Necessidade
Características
Alocação de
recursos GRAU
Alocação de
recursos da Polícia
Rodoviária
Alocação de
recursos da
Polícia Ferroviária
Alocação de
recursos da FAB
Fornecer gestão de crise
para acidentes
rodoviários
X X
Fornecer gestão de crise
para acidentes
ferroviários
X X
Fornecer gestão de crise
para acidentes aéreos
X X
Rastreabilidade dos requisitos de software 64
Matrizes de rastreabilidade
As características dirigem o MCU
Características
Casos de uso
Encaminhar
procedimentos de
mitigação para as
unidades da GRAU
Encaminhar
procedimentos de
mitigação para as
unidades da FAB
Alocar unidades
GRAU para o
local da crise
Alocar unidades
da FAB para o
local da crise
Alocação de recursos
GRAU
X X
Alocação de recursos da
FAB
X X
Alocação de recursos da
Polícia Rodoviária
Alocação de recursos da
Polícia Ferroviária
Rastreabilidade dos requisitos de software 65
Atributos dos requisitos de software a serem gerenciados
Fatores críticos de sucesso
• Prioridade
o Alta, Média e Baixa
• Dificuldade
o Alta, Média e Baixa
• Status
o Apontado, Aprovado, Em desenvolvimento, Implementado e
Validado
• Valor de negócio (Baseado em ROI )
o Alto, Médio e Baixo
Cohn, Mike, Agile Estimating and Planning, 2006
Rastreabilidade dos requisitos de software 66
Atributos dos requisitos de software a serem gerenciados
Matriz de atributos
Características
Atributos
Prioridade Dificuldade Status Valor de negócio
Alocação de recursos
GRAU
Alta Média Implementado Alto
Alocação de recursos da
FAB
Baixa Alta Apontado Baixo
Alocação de recursos da
Polícia Rodoviária
Alta Média
Em
desenvolvimento
Alto
Alocação de recursos da
Polícia Ferroviária
Média Alta Apontado Médio
Referências
1) Kim, J.; Kim, M.; Park, S. Goal and scenario based domain requirements analysis environment. In:
The Journal of Systems and Software, 79 (2006) p. 926-938
2) Kang, K.C. et al, Feature-oriented domain analysis feasibility study. CMU/SEI-TR- 21, 1990.
3) Pohl, K. et al. Software Product Line Engineering – Foundations, Principles, and Techniques.
Springer-Verlag, 2005
4) Arango, G. A brief introduction to domain analysis. In Proc. of the 1994 ACM Symposium on Applied
Computing, Phoenix, AZ USA, 1994, pp. 42-46.
5) Evermann, J.; Wand, Y. Toward formalizing domain modeling semantics in language syntax. IEEE
Transactions on Software Engineering, vol. 31 (1), 2005.
6) Guizzardi, G., Herre, H., Wagner G. On the general ontological foundations of conceptual modeling.
In Proc. of 21st Intl. Conf. on Conceptual Modeling (ER 2002), Springer-Verlag, Berlin, LNCS n. 2503,
2002, pp. 65-78.
7) Spence, I.; Probasco, L. Traceability strategies for managing requirements with use cases.
IBM/Rational, 2000.
8) Gottesdiener , E; Use Cases: Best Practices . IBM, 2003
9) Cohn, Mike, Agile Estimating and Planning Prentice Hall, 2006
67
Obrigado :)
André Rocha Agostinho
andre@magnadev.com.br
www.scrumalliance.org/aagostinho
68

Mais conteúdo relacionado

Mais procurados

User Stories
User StoriesUser Stories
User Stories
Rodrigo Branas
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
Rildo (@rildosan) Santos
 
MTA1 Aula-01. Introdução
MTA1 Aula-01. IntroduçãoMTA1 Aula-01. Introdução
MTA1 Aula-01. Introdução
Alan Vasconcelos
 
Quero ser analista de requisitos ou negócios. Por onde eu começo?
Quero ser analista de requisitos ou negócios. Por onde eu começo? Quero ser analista de requisitos ou negócios. Por onde eu começo?
Quero ser analista de requisitos ou negócios. Por onde eu começo?
Venícios Gustavo
 
Projeto Informacional
Projeto InformacionalProjeto Informacional
Projeto Informacional
Marcel Gois
 
Projeto Informacional (parte 2)
Projeto Informacional (parte 2)Projeto Informacional (parte 2)
Projeto Informacional (parte 2)
Marcel Gois
 
Design Thinking Estácio FIC
Design Thinking Estácio FICDesign Thinking Estácio FIC
Design Thinking Estácio FIC
Matheus Montenegro
 
Design Centrado no Usuário
Design Centrado no UsuárioDesign Centrado no Usuário
Design Centrado no Usuário
Guilherme Marques
 
O (papel do) Arquiteto de Software
O (papel do) Arquiteto de SoftwareO (papel do) Arquiteto de Software
O (papel do) Arquiteto de Software
Peter Jandl Junior
 
Prototipagem
PrototipagemPrototipagem
Prototipagem
Robson Santos
 
Revista Engenharia de Software n° 44
Revista Engenharia de Software n° 44Revista Engenharia de Software n° 44
Revista Engenharia de Software n° 44
Carlos Antonio Castro Oliveira
 
Projeto de Software
Projeto de SoftwareProjeto de Software
Projeto de Software
Wagner Zaparoli
 
Desenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLDesenhando Componentes de Software com UML
Desenhando Componentes de Software com UML
Rildo (@rildosan) Santos
 
Protótipos de papel
Protótipos de papelProtótipos de papel
Protótipos de papel
Robson Santos
 
O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012
Carlos Antonio Castro Oliveira
 
Es06 teste de software
Es06   teste de softwareEs06   teste de software
Es06 teste de software
Carlos Antonio Castro Oliveira
 
Protótipos mobile na prática
Protótipos mobile na práticaProtótipos mobile na prática
Protótipos mobile na prática
Richard Jesus
 
Es 09
Es 09Es 09
Prototipação de software
Prototipação de softwarePrototipação de software
Prototipação de software
Marcio Costa
 
Planejamento do Projeto
Planejamento do ProjetoPlanejamento do Projeto
Planejamento do Projeto
Marcel Gois
 

Mais procurados (20)

User Stories
User StoriesUser Stories
User Stories
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
MTA1 Aula-01. Introdução
MTA1 Aula-01. IntroduçãoMTA1 Aula-01. Introdução
MTA1 Aula-01. Introdução
 
Quero ser analista de requisitos ou negócios. Por onde eu começo?
Quero ser analista de requisitos ou negócios. Por onde eu começo? Quero ser analista de requisitos ou negócios. Por onde eu começo?
Quero ser analista de requisitos ou negócios. Por onde eu começo?
 
Projeto Informacional
Projeto InformacionalProjeto Informacional
Projeto Informacional
 
Projeto Informacional (parte 2)
Projeto Informacional (parte 2)Projeto Informacional (parte 2)
Projeto Informacional (parte 2)
 
Design Thinking Estácio FIC
Design Thinking Estácio FICDesign Thinking Estácio FIC
Design Thinking Estácio FIC
 
Design Centrado no Usuário
Design Centrado no UsuárioDesign Centrado no Usuário
Design Centrado no Usuário
 
O (papel do) Arquiteto de Software
O (papel do) Arquiteto de SoftwareO (papel do) Arquiteto de Software
O (papel do) Arquiteto de Software
 
Prototipagem
PrototipagemPrototipagem
Prototipagem
 
Revista Engenharia de Software n° 44
Revista Engenharia de Software n° 44Revista Engenharia de Software n° 44
Revista Engenharia de Software n° 44
 
Projeto de Software
Projeto de SoftwareProjeto de Software
Projeto de Software
 
Desenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLDesenhando Componentes de Software com UML
Desenhando Componentes de Software com UML
 
Protótipos de papel
Protótipos de papelProtótipos de papel
Protótipos de papel
 
O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012
 
Es06 teste de software
Es06   teste de softwareEs06   teste de software
Es06 teste de software
 
Protótipos mobile na prática
Protótipos mobile na práticaProtótipos mobile na prática
Protótipos mobile na prática
 
Es 09
Es 09Es 09
Es 09
 
Prototipação de software
Prototipação de softwarePrototipação de software
Prototipação de software
 
Planejamento do Projeto
Planejamento do ProjetoPlanejamento do Projeto
Planejamento do Projeto
 

Destaque

Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
André Agostinho
 
KHALEDNAZZAL_eq
KHALEDNAZZAL_eqKHALEDNAZZAL_eq
KHALEDNAZZAL_eq
Khaled W. Nazzal
 
Introdução a plataforma arduino
Introdução a plataforma arduinoIntrodução a plataforma arduino
Introdução a plataforma arduino
Rogerio Alencar Filho
 
Arduino iad
Arduino iadArduino iad
Arduino iad
Felipe Meganha
 
Matematica Discreta
Matematica DiscretaMatematica Discreta
Matematica Discreta
Kevin Kerik
 
Fluent NHibernate - Baby Steps
Fluent NHibernate - Baby StepsFluent NHibernate - Baby Steps
Fluent NHibernate - Baby Steps
André Agostinho
 
Avaliação Heurística de Aplicativos de Bateria para Windows Phone
Avaliação Heurística de Aplicativos de Bateria para Windows PhoneAvaliação Heurística de Aplicativos de Bateria para Windows Phone
Avaliação Heurística de Aplicativos de Bateria para Windows Phone
André Agostinho
 
Mapeando processos de negócios com Zackman Framework e SBVR
Mapeando processos de negócios com Zackman Framework e SBVRMapeando processos de negócios com Zackman Framework e SBVR
Mapeando processos de negócios com Zackman Framework e SBVR
André Agostinho
 
A proposal to combine elicitation techniques to write vision document and use...
A proposal to combine elicitation techniques to write vision document and use...A proposal to combine elicitation techniques to write vision document and use...
A proposal to combine elicitation techniques to write vision document and use...
André Agostinho
 
Automação do Workload e a TI Bimodal
Automação do Workload e a TI BimodalAutomação do Workload e a TI Bimodal
Automação do Workload e a TI Bimodal
Joao Galdino Mello de Souza
 
Cloud Computing - Continuidade do Negócio através da tolerância a desastres
Cloud Computing - Continuidade do Negócio através da tolerância a desastresCloud Computing - Continuidade do Negócio através da tolerância a desastres
Cloud Computing - Continuidade do Negócio através da tolerância a desastres
Joao Galdino Mello de Souza
 
Estruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPEstruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHP
Sedu
 
Scrum fundamentos basicos
Scrum   fundamentos basicosScrum   fundamentos basicos
Scrum fundamentos basicos
André Agostinho
 
Quantas Instruções por Ciclo?
Quantas Instruções por Ciclo?Quantas Instruções por Ciclo?
Quantas Instruções por Ciclo?
Joao Galdino Mello de Souza
 
Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...
Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...
Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...
Joao Galdino Mello de Souza
 
Estudo comparativo entre treinamento supervisionado e não supervisionado em a...
Estudo comparativo entre treinamento supervisionado e não supervisionado em a...Estudo comparativo entre treinamento supervisionado e não supervisionado em a...
Estudo comparativo entre treinamento supervisionado e não supervisionado em a...
Joao Galdino Mello de Souza
 
Modelagem Analítica – Queueing Theory (Part I)
Modelagem Analítica – Queueing Theory (Part I)Modelagem Analítica – Queueing Theory (Part I)
Modelagem Analítica – Queueing Theory (Part I)
Joao Galdino Mello de Souza
 
Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...
Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...
Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...
Joao Galdino Mello de Souza
 
Scrum - Desenvolvimento Ágil
Scrum - Desenvolvimento ÁgilScrum - Desenvolvimento Ágil
Scrum - Desenvolvimento Ágil
Israel Santiago
 
Desenvolvimento de um aplicativo móvel utilizando o Ciclo de Engenharia de Us...
Desenvolvimento de um aplicativo móvel utilizando o Ciclo de Engenharia de Us...Desenvolvimento de um aplicativo móvel utilizando o Ciclo de Engenharia de Us...
Desenvolvimento de um aplicativo móvel utilizando o Ciclo de Engenharia de Us...
André Agostinho
 

Destaque (20)

Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
 
KHALEDNAZZAL_eq
KHALEDNAZZAL_eqKHALEDNAZZAL_eq
KHALEDNAZZAL_eq
 
Introdução a plataforma arduino
Introdução a plataforma arduinoIntrodução a plataforma arduino
Introdução a plataforma arduino
 
Arduino iad
Arduino iadArduino iad
Arduino iad
 
Matematica Discreta
Matematica DiscretaMatematica Discreta
Matematica Discreta
 
Fluent NHibernate - Baby Steps
Fluent NHibernate - Baby StepsFluent NHibernate - Baby Steps
Fluent NHibernate - Baby Steps
 
Avaliação Heurística de Aplicativos de Bateria para Windows Phone
Avaliação Heurística de Aplicativos de Bateria para Windows PhoneAvaliação Heurística de Aplicativos de Bateria para Windows Phone
Avaliação Heurística de Aplicativos de Bateria para Windows Phone
 
Mapeando processos de negócios com Zackman Framework e SBVR
Mapeando processos de negócios com Zackman Framework e SBVRMapeando processos de negócios com Zackman Framework e SBVR
Mapeando processos de negócios com Zackman Framework e SBVR
 
A proposal to combine elicitation techniques to write vision document and use...
A proposal to combine elicitation techniques to write vision document and use...A proposal to combine elicitation techniques to write vision document and use...
A proposal to combine elicitation techniques to write vision document and use...
 
Automação do Workload e a TI Bimodal
Automação do Workload e a TI BimodalAutomação do Workload e a TI Bimodal
Automação do Workload e a TI Bimodal
 
Cloud Computing - Continuidade do Negócio através da tolerância a desastres
Cloud Computing - Continuidade do Negócio através da tolerância a desastresCloud Computing - Continuidade do Negócio através da tolerância a desastres
Cloud Computing - Continuidade do Negócio através da tolerância a desastres
 
Estruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPEstruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHP
 
Scrum fundamentos basicos
Scrum   fundamentos basicosScrum   fundamentos basicos
Scrum fundamentos basicos
 
Quantas Instruções por Ciclo?
Quantas Instruções por Ciclo?Quantas Instruções por Ciclo?
Quantas Instruções por Ciclo?
 
Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...
Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...
Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...
 
Estudo comparativo entre treinamento supervisionado e não supervisionado em a...
Estudo comparativo entre treinamento supervisionado e não supervisionado em a...Estudo comparativo entre treinamento supervisionado e não supervisionado em a...
Estudo comparativo entre treinamento supervisionado e não supervisionado em a...
 
Modelagem Analítica – Queueing Theory (Part I)
Modelagem Analítica – Queueing Theory (Part I)Modelagem Analítica – Queueing Theory (Part I)
Modelagem Analítica – Queueing Theory (Part I)
 
Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...
Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...
Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...
 
Scrum - Desenvolvimento Ágil
Scrum - Desenvolvimento ÁgilScrum - Desenvolvimento Ágil
Scrum - Desenvolvimento Ágil
 
Desenvolvimento de um aplicativo móvel utilizando o Ciclo de Engenharia de Us...
Desenvolvimento de um aplicativo móvel utilizando o Ciclo de Engenharia de Us...Desenvolvimento de um aplicativo móvel utilizando o Ciclo de Engenharia de Us...
Desenvolvimento de um aplicativo móvel utilizando o Ciclo de Engenharia de Us...
 

Semelhante a Identificando requisitos comuns e variantes em linhas de produtos de software

Aula 2 - Modelos de processos
Aula 2 -  Modelos de processosAula 2 -  Modelos de processos
Aula 2 - Modelos de processos
Leinylson Fontinele
 
Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
Rodrigo Gomes da Silva
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
Fernando Nogueira
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de software
Thomas Kanzig
 
Visao geraldorup 20slides
Visao geraldorup 20slidesVisao geraldorup 20slides
Visao geraldorup 20slides
horaciosila
 
Aula 06 projetos multimídia
Aula 06   projetos multimídiaAula 06   projetos multimídia
Aula 06 projetos multimídia
Fábio Costa
 
Aula 06 projetos multimídia
Aula 06   projetos multimídiaAula 06   projetos multimídia
Aula 06 projetos multimídia
Fábio Costa
 
Metodologia de desenvolvimento de sistemas
Metodologia  de desenvolvimento de sistemasMetodologia  de desenvolvimento de sistemas
Metodologia de desenvolvimento de sistemas
Priscila Stuani
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
Roni Reis
 
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWAREUM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
Edson Oliveira Junior
 
Análise de sistemas análise de requisitos
Análise de sistemas   análise de requisitosAnálise de sistemas   análise de requisitos
Análise de sistemas análise de requisitos
Má Puia
 
Es2 modelo de processo de software
Es2 modelo de processo de softwareEs2 modelo de processo de software
Es2 modelo de processo de software
luacal
 
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de SoftwareUm Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Edson Oliveira Junior
 
Desenvolvimento baseado em Componentes e Arquitetura de Linhas de Produto - P...
Desenvolvimento baseado em Componentes e Arquitetura de Linhas de Produto - P...Desenvolvimento baseado em Componentes e Arquitetura de Linhas de Produto - P...
Desenvolvimento baseado em Componentes e Arquitetura de Linhas de Produto - P...
sbcars
 
Macro Arquitetura de Software
Macro Arquitetura de SoftwareMacro Arquitetura de Software
Macro Arquitetura de Software
Edjalma Queiroz da Silva
 
RAD
RADRAD
SAlmox SIIC 2014
SAlmox SIIC 2014SAlmox SIIC 2014
SAlmox SIIC 2014
Jonas Mayer
 
Reutilização
ReutilizaçãoReutilização
Reutilização
emjorge
 
Aula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdfAula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdf
Jadna Almeida
 
Isa Show 2009 Cr 259.09 Francisco Salvador
Isa Show 2009   Cr 259.09   Francisco SalvadorIsa Show 2009   Cr 259.09   Francisco Salvador
Isa Show 2009 Cr 259.09 Francisco Salvador
Francisco Salvador
 

Semelhante a Identificando requisitos comuns e variantes em linhas de produtos de software (20)

Aula 2 - Modelos de processos
Aula 2 -  Modelos de processosAula 2 -  Modelos de processos
Aula 2 - Modelos de processos
 
Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de software
 
Visao geraldorup 20slides
Visao geraldorup 20slidesVisao geraldorup 20slides
Visao geraldorup 20slides
 
Aula 06 projetos multimídia
Aula 06   projetos multimídiaAula 06   projetos multimídia
Aula 06 projetos multimídia
 
Aula 06 projetos multimídia
Aula 06   projetos multimídiaAula 06   projetos multimídia
Aula 06 projetos multimídia
 
Metodologia de desenvolvimento de sistemas
Metodologia  de desenvolvimento de sistemasMetodologia  de desenvolvimento de sistemas
Metodologia de desenvolvimento de sistemas
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWAREUM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
 
Análise de sistemas análise de requisitos
Análise de sistemas   análise de requisitosAnálise de sistemas   análise de requisitos
Análise de sistemas análise de requisitos
 
Es2 modelo de processo de software
Es2 modelo de processo de softwareEs2 modelo de processo de software
Es2 modelo de processo de software
 
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de SoftwareUm Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
 
Desenvolvimento baseado em Componentes e Arquitetura de Linhas de Produto - P...
Desenvolvimento baseado em Componentes e Arquitetura de Linhas de Produto - P...Desenvolvimento baseado em Componentes e Arquitetura de Linhas de Produto - P...
Desenvolvimento baseado em Componentes e Arquitetura de Linhas de Produto - P...
 
Macro Arquitetura de Software
Macro Arquitetura de SoftwareMacro Arquitetura de Software
Macro Arquitetura de Software
 
RAD
RADRAD
RAD
 
SAlmox SIIC 2014
SAlmox SIIC 2014SAlmox SIIC 2014
SAlmox SIIC 2014
 
Reutilização
ReutilizaçãoReutilização
Reutilização
 
Aula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdfAula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdf
 
Isa Show 2009 Cr 259.09 Francisco Salvador
Isa Show 2009   Cr 259.09   Francisco SalvadorIsa Show 2009   Cr 259.09   Francisco Salvador
Isa Show 2009 Cr 259.09 Francisco Salvador
 

Mais de André Agostinho

How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software Engineering
André Agostinho
 
Blazor #SnetTalks3
Blazor  #SnetTalks3Blazor  #SnetTalks3
Blazor #SnetTalks3
André Agostinho
 
Google web stories #SnetTalks3
Google web stories #SnetTalks3Google web stories #SnetTalks3
Google web stories #SnetTalks3
André Agostinho
 
Impact mapping #SnetTalks3
Impact mapping  #SnetTalks3Impact mapping  #SnetTalks3
Impact mapping #SnetTalks3
André Agostinho
 
Asp.net Core 5 and C# 9 - #SnetTalks2
Asp.net Core 5 and C# 9 - #SnetTalks2Asp.net Core 5 and C# 9 - #SnetTalks2
Asp.net Core 5 and C# 9 - #SnetTalks2
André Agostinho
 
ARIA - Acessible Rich Internet Applications #SnetTalks2
ARIA - Acessible Rich Internet Applications #SnetTalks2ARIA - Acessible Rich Internet Applications #SnetTalks2
ARIA - Acessible Rich Internet Applications #SnetTalks2
André Agostinho
 
AMP - Accelarared Mobile Pages #SnetTalks2
AMP - Accelarared Mobile Pages #SnetTalks2AMP - Accelarared Mobile Pages #SnetTalks2
AMP - Accelarared Mobile Pages #SnetTalks2
André Agostinho
 
Lead time and cycle time. What matters? #SnetTalks1
Lead time and cycle time.  What matters? #SnetTalks1Lead time and cycle time.  What matters? #SnetTalks1
Lead time and cycle time. What matters? #SnetTalks1
André Agostinho
 
Overcoming automation fear in infrastructure as code
Overcoming automation fear in infrastructure as codeOvercoming automation fear in infrastructure as code
Overcoming automation fear in infrastructure as code
André Agostinho
 
Scaling multi cloud with infrastructure as code
Scaling multi cloud with infrastructure as codeScaling multi cloud with infrastructure as code
Scaling multi cloud with infrastructure as code
André Agostinho
 
Cloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesCloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct services
André Agostinho
 
Goal-Driven Software Process
Goal-Driven Software ProcessGoal-Driven Software Process
Goal-Driven Software Process
André Agostinho
 
Second Screen
Second Screen Second Screen
Second Screen
André Agostinho
 
9 Mistakes You're Making on LinkedIn
9 Mistakes You're Making on LinkedIn9 Mistakes You're Making on LinkedIn
9 Mistakes You're Making on LinkedIn
André Agostinho
 
Mobile malware
Mobile malwareMobile malware
Mobile malware
André Agostinho
 
What Technologies Will Crowdfunding Create?
What Technologies Will Crowdfunding Create?What Technologies Will Crowdfunding Create?
What Technologies Will Crowdfunding Create?
André Agostinho
 
Novos dispositivos Kindle
Novos dispositivos Kindle Novos dispositivos Kindle
Novos dispositivos Kindle
André Agostinho
 

Mais de André Agostinho (17)

How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software Engineering
 
Blazor #SnetTalks3
Blazor  #SnetTalks3Blazor  #SnetTalks3
Blazor #SnetTalks3
 
Google web stories #SnetTalks3
Google web stories #SnetTalks3Google web stories #SnetTalks3
Google web stories #SnetTalks3
 
Impact mapping #SnetTalks3
Impact mapping  #SnetTalks3Impact mapping  #SnetTalks3
Impact mapping #SnetTalks3
 
Asp.net Core 5 and C# 9 - #SnetTalks2
Asp.net Core 5 and C# 9 - #SnetTalks2Asp.net Core 5 and C# 9 - #SnetTalks2
Asp.net Core 5 and C# 9 - #SnetTalks2
 
ARIA - Acessible Rich Internet Applications #SnetTalks2
ARIA - Acessible Rich Internet Applications #SnetTalks2ARIA - Acessible Rich Internet Applications #SnetTalks2
ARIA - Acessible Rich Internet Applications #SnetTalks2
 
AMP - Accelarared Mobile Pages #SnetTalks2
AMP - Accelarared Mobile Pages #SnetTalks2AMP - Accelarared Mobile Pages #SnetTalks2
AMP - Accelarared Mobile Pages #SnetTalks2
 
Lead time and cycle time. What matters? #SnetTalks1
Lead time and cycle time.  What matters? #SnetTalks1Lead time and cycle time.  What matters? #SnetTalks1
Lead time and cycle time. What matters? #SnetTalks1
 
Overcoming automation fear in infrastructure as code
Overcoming automation fear in infrastructure as codeOvercoming automation fear in infrastructure as code
Overcoming automation fear in infrastructure as code
 
Scaling multi cloud with infrastructure as code
Scaling multi cloud with infrastructure as codeScaling multi cloud with infrastructure as code
Scaling multi cloud with infrastructure as code
 
Cloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesCloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct services
 
Goal-Driven Software Process
Goal-Driven Software ProcessGoal-Driven Software Process
Goal-Driven Software Process
 
Second Screen
Second Screen Second Screen
Second Screen
 
9 Mistakes You're Making on LinkedIn
9 Mistakes You're Making on LinkedIn9 Mistakes You're Making on LinkedIn
9 Mistakes You're Making on LinkedIn
 
Mobile malware
Mobile malwareMobile malware
Mobile malware
 
What Technologies Will Crowdfunding Create?
What Technologies Will Crowdfunding Create?What Technologies Will Crowdfunding Create?
What Technologies Will Crowdfunding Create?
 
Novos dispositivos Kindle
Novos dispositivos Kindle Novos dispositivos Kindle
Novos dispositivos Kindle
 

Identificando requisitos comuns e variantes em linhas de produtos de software

  • 1. Identificando requisitos comuns e variantes em linhas de produtos de software Engenharia de Requisitos de Softwares - Prof. Dr. Paulo Sérgio Muniz Silva – 2016 André Rocha Agostinho
  • 2. Objetivos da apresentação Análise de domínio e reuso de requisitos de software Até o momento, a finalidade do sistema de gestão de crise era a de gerenciar o atendimento de acidentes de veículos em estradas. Agora, seu escopo deve ser ampliado para tratar diversas situações de crise, como as decorrentes de desastres naturais, de várias modalidades de transporte, etc., constituindo uma linha de produtos de software. • Apresentar uma versão inicial de parte significativa do modelo de domínio, numa linguagem apropriada, que identifique e especifique requisitos comuns e variantes da linha de produtos. Para tanto: – Empregar o método de modelagem proposto por (Kim, J. et al., 2006). Explicitar as premissas assumidas. – Apresentar uma avaliação a respeito da viabilidade de aplicação prática deste método de modelagem. 2
  • 3. Objetivos da apresentação Rastreabilidade dos requisitos de software Considerando a solução proposta na primeira parte: • Definir a Estratégia de Rastreabilidade dos requisitos de software para a linha de produtos definida. • Considerando a estratégia definida: – Elaborar alguns fragmentos de matrizes de rastreabilidade considerando os requisitos de domínio identificados como requisitos comuns e variantes. – Definir os principais atributos dos requisitos de software a serem utilizados na gerência dos requisitos. Justificar. 3
  • 4. Organização da apresentação 1. Linha de produtos de software – Definição – Motivação – Reuso do software 2. Análise de domínio utilizando a abordagem Feature Oriented Domain Analysis – Conceitos – Processo de análise de domínio – Análise de produtos de domínio 3. Modelagem de domínio – Premissas estabelecidas – Modelos de domínio – Identificação de requisitos comuns e variantes – Especificação de requisitos comuns e variantes 4. Rastreabilidade dos requisitos do software – Estratégia de rastreabilidade – Matrizes de rastreabilidade – Atributos dos requisitos de software a serem gerenciados 4
  • 5. • Definição • Motivação • Reuso do software Linha de produtos de software 5
  • 6. Uma Linha de Produtos de Software é um conjunto de sistemas intensivos em software, compartilhando um conjunto controlado de características comuns que satisfazem a uma necessidade ou missão específica de um segmento particular do mercado, desenvolvido a partir de um conjunto comum de ativos fundamentais (core assets) segundo uma prescrição. Linha de produtos de software Definição (Pohl, K. el al., 2005) 6
  • 7. (Pohl, K. el al., 2005) Break-Even Point • (Weiss and Lai 1999) entre 3 e 4 • (Pohl, K. el al., 2005) 3 Principal: Redução do custo no desenvolvimento Outras motivações: Melhorias na qualidade, redução no time to market, menor esforço de manutenção e etc. Considerações: A ponto preciso depende de várias características da organização e do mercado previsto, tais como base de clientes, expertise e tipos de produtos. A estratégia inicial pra criar o primeiro produto também vai influenciar neste número. Linha de produtos de software Motivação 7
  • 8. As partes que serão reutilizadas podem ser partes existentes ou desenvolvidas para reuso futuro. Linha de produtos de software Reuso do software Podem incluir, entre outros: • Conhecimento do domínio • Modelo de domínio • Técnicas de elicitação, análise e modelo de requisitos • Arquitetura e componentes de software • Planos de teste e casos de teste • Processos, métodos e ferramentas (Pohl, K. el al., 2005) 8
  • 9. • Conceitos • Processo de análise de domínio • Análise de produtos de domínio Análise de domínio – abordagem FODA 9
  • 10. • Domínio (ou domínio da aplicação): Um conjunto de aplicações atuais ou futuras que compartilham um conjunto comum de capacidades e dados. • Análise de domínio: O processo de identificar, coletar, organizar e representar as informações relevantes do domínio, baseado no estudo dos sistemas existentes e de suas histórias de desenvolvimento. • Modelo do domínio: Definição das funções, dados e relações num domínio. • Característica (feature) Atributos do sistema que afetam os usuários finais e stakeholders: eles devem entender as características para utilizarem o sistema. (Kang et al., 1990) Análise de domínio – abordagem FODA Conceitos 10
  • 11. • Reuso de software: O processo para implementer novos sistemas de software com base na informação de um software existente. • Reuso de componentes: Um componente de software (incluindo requisitos, arquitetura, código, testes e etc) concebido e implementado para uma finalidade específica de reutilização. (Kang et al., 1990) Análise de domínio – abordagem FODA Conceitos 11
  • 12. Análise de domínio reúne e representa as informações em sistemas de software que compartilham um conjunto comum de recursos e dados. Métodos [GILR89A, MCNI86A, PRIE87A] sugerem 3 fases no processo de análise de domínio. 1. Análise de contexto: Define a extensão (ou limites) de um domínio para análise. 2. Modelagem de domínio: Deescreve os problemas dentro do domínio que são endereçados pelo software. 3. Modelagem de arquitetura: Cria arquitectura (s) de software que implementa uma solução para os problemas no domínio. Análise de domínio – abordagem FODA Processo de análise de domínio - Fases (Kang et al., 1990) 12
  • 13. Fontes Produtor Consumidores Usuário final Usuário final Especialista De domínio Analista de domínio Analista de Requisitos Projetista de Software (Kang et al., 1990) Análise de domínio – abordagem FODA Processo de análise de domínio - Participantes 13
  • 14. 1) Análise de contexto 2) Modelagem de domínio 3) Modelagem de arquitetura Info. Produt os Modelo de domínio Modelo de domínio Modelo de Arquit. Escopo E Limites Analista de domínio, usuários e especialista do domínio • Limites e escopo do domínio. • Reunir informações para análise. Analista de domínio, usuários, especialista do domínio e analista de requisitos • Fontes de informação e outros produtos de análise de contexto • Apoiar a criação de um modelo de domínio • Revisão do modelo Analista de domínio, especialista do domínio, analista de requisitos e projetista de software • Produzir o modelo de arquitetura com o modelo de domínio. • Revisão do modelo Análise de domínio – abordagem FODA Processo de análise de domínio - Processo (Kang et al., 1990) 14
  • 15. Produtos da análise do domínio Produtos do novo sistema a ser desenvolvido Análise de contexto Modelagem de Domínio Modelagem da Arquitetura Contexto e escopo Modelos (Features, ER, etc) Arq. Estrutura de controle Novo contexto Novas espec. Nova arquit. Requisitos Requisitos Requisitos Software Domínio Domínio Domínio Usuário Usuário Especialista do domínio Analista do domínio Adicionar, Modificar e remover “features” Adicionar, Modificar e remover “features” Adicionar, Modificar e remover “features” Análise de domínio – abordagem FODA Processo de análise de domínio – Adaptando novos produtos (Kang et al., 1990) 15
  • 16. • Premissas estabelecidas • Modelos de domínio • Identificação de requisitos comuns e variantes • Especificação de requisitos comuns e variantes Modelagem de domínio Sistema de Gestão de Crises 16
  • 17. 1. Formação de uma equipe seguindo a formação de participantes da abordagem FODA: Papéis Representados por Analista de domínio Pessoa com sólida experiência em análise e modelagem de domínios de sistemas variados. Especialistas de domínio Pessoas especializadas em gestão de crises de qualquer natureza com foco em modalidades de transportes. Usuários Representantes: Atendente, Supervisor, Coordenador, Observador, Grupo de Apoio à Crise (Bombeiros. Médicos, Enfermeiros) Modelagem de domínio Premissas estabelecidas • Analista de domínio • Analistas de requisitos • Especialistas de domínio • Projetistas de softwares • Usuários 17
  • 18. 2. Etapa da análise de contexto foi realizada seguindo o processo de análise de domínio da abordagem FODA Insumos utilizados no processo: Documento visão do SGAVE (Sistema de Gestão de Acidentes de Veículos em Estradas) - Definição e finalidade do produto - Relação dos stakeholders e usuários Modelagem de domínio Premissas estabelecidas 18
  • 19. 3. Aplicar o método FODA para abstrair elementos do SGC “Desenvolvimento de produtos de domínio genéricos e amplamente aplicáveis dentro de um domínio é o principal objetivo do método FODA. Este conhecimento geral pode ser alcançado por abstrair "fatores" que fazem uma aplicação diferente de outras aplicações. No entanto, para desenvolver aplicações dos produtos genéricos, os fatores que foram abstraídos devem ser feito de forma específica e introduzida durante o refinamento. Não só o conhecimento geral, mas também os fatores que tornam cada aplicativo exclusivo são partes importantes do conhecimento de domínio e devem ser capturados nos produtos de domínio.” (Kang et al., 1990) Conceitos de modelagem utilizados - Agregação/Decomposição - Generalização/Especialização Modelagem de domínio Premissas estabelecidas 19
  • 20. 4. Escopo, limites e contexto Produto: Sistema de Gestão de Crises (SGC). Definição: Sistema de gestão de acidentes em rodovias no Estado de São Paulo. Foco de atuação: Acidentes de veículos em rodovias Finalidade: Facilitar o processo de gestão de crise, auxiliando a designação eficaz de recursos e orquestrando a comunicação entre todas as partes envolvidas no tratamento da crise. Modelagem de domínio Premissas estabelecidas 20
  • 21. 4. Escopo, limites e contexto Produto: Sistema de Gestão de Crises (SGC). Linha de Produtos: Sistema de Gestão de Crises para Modalidades de Transportes (SGCMT). Foco de atuação: Meios de transportes (Carros, Motos, Caminhões, Aviões, Helicópteros, Trens e etc). Finalidade: Facilitar o processo de gestão de crise, auxiliando a designação eficaz de recursos e orquestrando a comunicação entre todas as partes envolvidas no tratamento da crise. Modelagem de domínio Premissas estabelecidas PLANO DE MERCADO PLANO DE PRODUTO 21
  • 22. 5. Diagrama de estrutura (alto nível) SGC GCAR GCAF GCAA Gestão da crise SGCMT Gestão da crise Gestão da crise 1) Família de produtos SGC Sistema de Gestão de Crise 2) Linha de produtos SGCMT Sistema de Gestão de Crise para Modalidades de Transportes 3) Produtos SGCMT • GCAR - Gestão de Crise para Acidentes Rodoviários • GCAF - Gestão de Crise para Acidentes Ferroviários • GCAA - Gestão de Crise para Acidentes Aéreos 4) Finalidade Facilitar o processo de gestão de crise, deslocando recursos e orquestrando a comunicação entre todas as partes envolvidas. Modelagem de domínio Premissas estabelecidas 22
  • 23. 6. Stakeholders comuns da linha de produtos SGCMT Produto Resumo dos principais Stakeholders Resumo dos stakeholders em comum GCAR Polícia Rodoviária Concessionárias de Rodovias 1. Governo do Estado de São Paulo 2. Vítimas 3. Testemunhas 4. Comunidade local 5. Operadoras de Telefone 6. Atendente da Crise 7. Coordenador da Equipe de Gestão de Crise 8. Equipe de Gestão de Crise 9. Grupos de resgate 1. GRAU (Grupo de Resgate e Atendimento a Urgências) 2. CBPMESP (Corpo de Bombeiros Militar do Estado de São Paulo) 3. Grupamento de Radiopatrulha Aérea da Polícia Militar. GCAF Polícia Ferroviária Concessionárias de Ferrovias GCAA Polícia Federal Força Área Brasileira Exército Brasileiro Marinha do Brasil Modelagem de domínio Premissas estabelecidas 23
  • 24. 7. Usuários comuns da linha de produtos SGCMT Produto Resumo dos stakeholders em comum Resumo dos usuários em comum GCAR 1. Governo do Estado de São Paulo 2. Vítimas 3. Testemunhas 4. Comunidade local 5. Operadoras de Telefone 6. Atendente da Crise 7. Coordenador da Equipe de Gestão de Crise 8. Equipe de Gestão de Crise 9. Grupos de resgate 1. GRAU (Grupo de Resgate e Atendimento a Urgências) 2. CBPMESP (Corpo de Bombeiros Militar do Estado de São Paulo) 3. Grupamento de Radiopatrulha Aérea da Polícia Militar. • Atendente 6. Atendente da Crise • Coordenador 7. Coordenador da Equipe de Gestão de Crise • Observador, Supervisor 6 Equipe de Gestão de Crise • Recursos Humanos 9. Grupos de resgate • Centro de Controle 8. Equipe de Gestão de Crise • Operadora de Telefonia 5. Operadoras de Telefone GCAF GCAA Modelagem de domínio Premissas estabelecidas 24
  • 25. Produto Atores Casos de Uso GCAR • Atendente • Coordenador • Observador • Supervisor • Recursos Humanos • Centro de Controle 1. Abrir chamado de incidente 2. Cancelar chamado de incidente 3. Consultar chamado de incidente 4. Avaliar chamado de incidente 5. Registrar ocorrência da crise 6. Cancelar ocorrência da crise 7. Monitorar situação da crise 8. Modificar situação da crise 9. Encerrar ocorrência da crise 10. Definir estratégia de mitigação 11. Modificar estratégia de mitigação 12. Cancelar estratégia de mitigação 13. Avaliar estratégia de mitigação 14. Definir procedimentos de mitigação 15. Consultar procedimentos de mitigação 16. Alocar recursos para a crise GCAF GCAA Use Cases: Best Practices - By Ellen Gottesdiener - 2003 - IBM 8. Atores candidatos e casos de uso Modelagem de domínio Premissas estabelecidas 25
  • 26. 9. A escolha da linguagem de modelagem • Um artefato composto de um vocabulário de conceitos do domínio (suas definições e propriedades), um modelo mostrando todas as relações possíveis entre estes conceitos e um conjunto de regras formais que restringem a interpretação dos conceitos e relações, representando de maneira clara e não ambígua o conhecimento do domínio. (Guarino, 1997) Selecionadas • ER • SBVR • Método de modelagem por metas e cenários (Kim, J. et al., 2006) Modelagem de domínio Premissas estabelecidas 26
  • 27. Análise de domínio e reuso de requisitos de software Até o momento, a finalidade do sistema de gestão de crise era a de gerenciar o atendimento de acidentes de veículos em estradas. Agora, seu escopo deve ser ampliado para tratar diversas situações de crise, como as decorrentes de desastres naturais, de várias modalidades de transporte, etc., constituindo uma linha de produtos de software. • Apresentar uma versão inicial de parte significativa do modelo de domínio, numa linguagem apropriada, que identifique e especifique requisitos comuns e variantes da linha de produtos. Para tanto: – Empregar o método de modelagem proposto por (Kim, J. et al., 2006). Explicitar as premissas assumidas. – Apresentar uma avaliação a respeito da viabilidade de aplicação prática deste método de modelagem. Objetivo 1 27
  • 28. • Premissas estabelecidas • Modelos de domínio • Identificação de requisitos comuns e variantes • Especificação de requisitos comuns e variantes Modelagem de domínio Sistema de Gestão de Crises 28
  • 29. Chamado Estratégia de mitigação Procedimentos de mitigação Recursos MITIGA CriseCONTÊM REGISTRA ANALISA Atendente Supervisor REGISTRA Coordenador ALOCA Modelagem de domínio Modelos de Domínio - ER 29 1 N DEFINE CONSOME 1 N 1 N 1N 1 1 1 N N N 1 N
  • 30. Modelagem de domínio Modelos de Domínio - SBVR 30 Regra R1: O coordenador deve aguardar a ocorrência de uma crise para definir uma estratégia de mitigação. Regra R2: O supervisor registra uma ocorrência de uma crise após um chamado ser classificado como legítimo Regra R3: Os recursos consomem procedimentos de mitigação quando alocados pelo coordenador Termo: É usado para designar um conceito de palavra. Verbo: O verbo é usado para designar conceitos de verbos, usualmente um verbo, preposição ou combinação. Tal designação é definida no contexto na forma de expressão. Palavra-chave: A palavra-chave é usada para símbolos linguísticos na construção de declarações – as palavras podem ser combinadas com outras designações para formular declarações e definições
  • 31. • Premissas estabelecidas • Modelos de domínio • Identificação de requisitos comuns e variantes • Especificação de requisitos comuns e variantes Modelagem de domínio Sistema de Gestão de Crises 31
  • 32. Motivação As principais abordagens orientadas à características FODA/FeaturSEB NÃO SUPORTAM um processo bem definido e a fonte de variabilidade. • Processo bem definido Sem um processo bem definido, a abordagem torna-se menos aplicável pela ausência de um conjunto de passos de como se aplicar o método • Fonte de variabilidade Sem capturar o conhecimento da fonte de variabilidade, torna-se mais difícil prever quando as variações vão ocorrer e de onde elas se originam. Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 32
  • 33. Metas e cenários na engenharia de requisitos “São formas efetivas de indentificação de requisitos na engenharia de requisitos.” (Kim et al, 2004, Potts, 1997; Rolland et al., 1998b. Sutcliffe, 1998) “Metas fornecem uma análise racional para requisitos . Requisitos existem por estarem fundamentados sobre metas. Metas fornecem uma base para requisitos.” (Dardenee et al., 1991; Kim et al., 204; Sommerville and Sawyer, 1997) “Cenários descrevem situação reais, capturando requisitos reais em um determinado contexto.” (Rolland et al, 1998b) Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 33
  • 34. • No contexto de linha de produto metas de negócios de alto nível guiam planos de marketing e planos de produtos e forcam produtos em uma família de produtos a terem requisitos comuns e variantes. • Nas metas de negócios as características dos produtos são determinadas e também fornecem uma análise sobre os requisitos do domínio. • A modelagem de metas e cenários possibilita a gestão adequada das variações entre produtos em uma família de produto. Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment Metas e cenários em características de produtos 34
  • 35. CenárioMeta < Alcança N Autor > 1 Comum Alternativo Opcional Tipo de variação Meios de se alcançar a meta Tipos de cenários Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment Metas e cenários na análise de requisitos do domínio 35
  • 36. Meta V + Target + Direction V: Verbo ativo Target: Objeto concentual ou físico Direction: Fonte ou destino Cenário S + V + Target + Direction + Manner S: Agente para o sistema projetado ou o próprio sistema projetado V: Verbo ativo Target: Objeto conceitual ou físico Direction: Fonte ou destino Manner: Forma o qual o cenário está implementado Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment Escrevendo metas e cenários em características de produtos 36
  • 37. Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment Características da abordagem 37
  • 38. Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment Análise de requisitos do domínio – Processo de modelagem 38
  • 39. Análise de requisitos do domínio – Utilizando o método Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 39 BG: Meta de negócio Sg: Meta de serviço Ss: Cenário de serviço IAg: Meta de interação IAs: Cenário de interação INg: Meta interna INs: Cenário interno
  • 40. Meta de negócio do SGCMT BG: "Ser o principal e o melhor sistema de gestão de crise de meios de transportes para o estado de São Paulo" Metas de serviços Sg1: "Fornecer gestão de crise para acidentes rodoviários“ Sg2: “Fornecer gestão de crise para acidentes ferroviários“[alternativo] Sg3: "Fornecer gestão de crise para acidentes aéreos“[alternativo] Análise de requisitos do domínio – Utilizando o método Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 40 Nível de negócio
  • 41. • Sg1: "Fornecer gestão de crise para acidentes rodoviários“ • Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências) para uma ocorrência de crise via centro de controle. [comum] • Sg2: “Fornecer gestão de crise para acidentes ferroviários“ • Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências) para uma ocorrência de crise via centro de controle. [comum] • Ss2: Coordenador pode alocar unidades da polícia ferroviária para acidentes de trens via centro de controle [opcional] • Sg3: "Fornecer gestão de crise para acidentes aéreos“ • Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências) para uma ocorrência de crise via centro de controle [comum] • Ss2: Coordenador pode alocar unidades da FAB (Força Aérea Brasileira) para acidentes de aviões via centro de controle [opcional] Nível de serviçoAnálise de requisitos do domínio – Utilizando o método Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 41
  • 42. • Sg1: "Fornecer gestão de crise para acidentes rodoviários“ Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências) para uma ocorrência de crise via centro de controle [comum] IAg1: “Alocar unidades GRAU para o local da crise “ • IAs1: Coordenador deve definir a estratégia de mitigação da crise [comum] • IAs2: Coordenador deve acionar unidades GRAU para o local da crise por meio dos procedimentos da estratégia de mitigação escolhida [comum] • IAs3: Coordenador pode acionar unidades do GATE (Grupo de Ações Táticas Especiais da PM) para o local da crise por meio das unidades GRAU [opcional] Análise de requisitos do domínio – Utilizando o método Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 42 Nível de interação
  • 43. • Sg1: "Fornecer gestão de crise para acidentes rodoviários“ Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências) para uma ocorrência de crise via centro de controle [comum] IAg1: “Alocar unidades GRAU para o local da crise “ • IAs1: Coordenador deve definir a estratégia de mitigação da crise [comum] • IAs2: Coordenador deve acionar unidades GRAU para o local da crise por meio dos procedimentos da estratégia de mitigação escolhida [comum] • IAs3: Coordenador pode acionar unidades do GATE (Grupo de Ações Táticas Especiais da PM) para o local da crise por meio das unidades GRAU [opcional] Análise de requisitos do domínio – Utilizando o método Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 43 Nível interno INg2: “Encaminhar informações da ocorrência e procedimentos para a central da GRAU“ • INs1: Módulo de comunicação SGC deve transmitir um pacote com informações sobre a ocorrência para a central da GRAU [comum] • INs2: Módulo de comunicação SGC deve aguardar confirmação da central da GRAU [comum] • INs3: Módulo de comunicação SGC pode retransmitir um pacote com informações sobre ocorrência para a central da GRAU [opcional]
  • 44. • Sg3: "Fornecer gestão de crise para acidentes aéreos“ • Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências) para uma ocorrência de crise via centro de controle [comum] • Ss2: Coordenador pode alocar unidades da FAB (Força Aérea Brasileira) para acidentes de aviões pelo centro de controle [opcional] IAg2: “Alocar unidades da FAB para o local da crise “ • IAs1: Coordenador deve definir a estratégia de mitigação da crise [comum] • IAs2: Coordenador deve acionar unidades da FAB para o local da crise por meio dos procedimentos da estratégia de mitigação escolhida [comum] Análise de requisitos do domínio – Utilizando o método Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 44 Nível de interação
  • 45. • Sg3: "Fornecer gestão de crise para acidentes aéreos“ • Ss1: Coordenador pode alocar unidades GRAU (Grupo de Resgate e Atendimento a Urgências) para uma ocorrência de crise via centro de controle [comum] • Ss2: Coordenador pode alocar unidades da FAB (Força Aérea Brasileira) para acidentes de aviões pelo centro de controle [opcional] IAg2: “Alocar unidades da FAB para o local da crise “ • IAs1: Coordenador deve definir a estratégia de mitigação da crise [comum] • IAs2: Coordenador deve acionar unidades da FAB para o local da crise por meio dos procedimentos da estratégia de mitigação escolhida [comum] Análise de requisitos do domínio – Utilizando o método Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 45 Nível interno INg2: “Encaminhar informações da ocorrência e procedimentos ao centro de controle da FAB “ • INs1: Módulo de comunicação SGC deve transmitir um pacote com informações sobre ocorrência para o centro de controle de desastres aéreos da FAB [comum] • INs2: Módulo de comunicação SGC deve aguardar a confirmação para o centro de controle de desastres aéreos da FAB [comum] • INs3: Módulo de comunicação SGC pode retransmitir um pacote com informações sobre ocorrência para o centro de controle de desastres aéreos da FAB [opcional]
  • 46. Fornecer gestão de crise para acidentes rodoviários Fornecer gestão de crise para acidentes ferroviários Fornecer gestão de crise para acidentes aéreos Ser o principal e o melhor sistema de gestão de crise de meios de transportes para o estado de São Paulo Alocar unidades GRAU para o local da crise Encaminhar informações da ocorrência e procedimentos a central da GRAU. Alocar unidades GRAU para o local da crise Encaminhar informações da ocorrência e procedimentos a central da GRAU. Alocar unidades GRAU para o local da crise Encaminhar informações da ocorrência e procedimentos a central da GRAU. SGCMT Alocar unidades da FAB para o local da crise Encaminhar informações da ocorrência e procedimentos ao centro de controle de desastres aéreos da FAB. Árvore de metas Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 46
  • 47. Modelagem de domínio Identificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 47
  • 48. • Premissas estabelecidas • Modelos de domínio • Identificação de requisitos comuns e variantes • Especificação de requisitos comuns e variantes Modelagem de domínio Sistema de Gestão de Crises 48
  • 49. Representação dos requisitos do domínio – Visão geral - Metas e cenários no nível de interação dos requisitos de domínio são usados para ajudar a construir casos de usos. - Uma meta no nível de interação é alcançada através de cenários e um caso de uso contém o conjunto de cenários possíveis para alcançar a meta Modelagem de domínio Especificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 49
  • 50. Representação dos requisitos do domínio – Regras-guia de transferência Regras Definição R1 Metas no nível de interação tornam-se casos de uso R2 Um agente que necessita interagir com a meta torna-se o ator primário R3 Cenários tornam-se especificações textuais de casos de uso e um agente ou sujeito do cenário pode se tornar um ator. Caso um agente não se torne um ator primário o mesmo deve ser considerado como secundário R4 Metas com requisitos variantes no nível de interação tornam-se casos de uso com tipo variante. Se uma meta tem um relacionamento como “alternativo”, um caso de uso com o estereótipo “<<alternative>>” é representado no diagrama. Se uma meta tem um relacionamento como “opcional”, um caso de uso com o estereótipo “<<opcional>>” é representado no diagrama. R5 Metas e cenários no nível interno são descritos em cada especificação textual de caso de uso Modelagem de domínio Especificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 50
  • 51. Representação dos requisitos do domínio – Diagrama de casos de uso Coordenador <<comum>> Alocar unidades GRAU para o local da crise <<opcional>> Alocar unidades da FAB para o local da crise SGCMT Modelagem de domínio Especificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 51
  • 52. Representação dos requisitos do domínio – Diagrama de casos de uso Coordenador <<comum>> Alocar unidades GRAU para o local da crise <<opcional>> Alocar unidades da FAB para o local da crise SGCMT R1 META DE INTERAÇÃO > CASO DE USO R2 AGENTE > ATOR R4 ESTEREÓTIPOS DE VARIAÇÃO Modelagem de domínio Especificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 52
  • 53. Representação dos requisitos do domínio – Especificação de caso de uso Nome do caso de uso: Alocar unidades GRAU para o local da crise Atores: Coordenador Descrição do caso de uso: 1. Coordenador deve definir a estratégia de mitigação da crise <<comum>> 2. Coordenador deve acionar unidades GRAU para o local da crise por meio dos procedimentos da estratégia de mitigação escolhida <<comum>> 1. Encaminhar informações da ocorrência e procedimentos para a central da GRAU 1. Módulo de comunicação SGC deve transmitir um pacote com informações sobre a ocorrência para a central da GRAU <<comum>> 2. Módulo de comunicação SGC deve aguardar confirmação da central da GRAU <<comum>> 3. Módulo de comunicação SGC pode retransmitir um pacote com informações sobre ocorrência para a central da GRAU << opcional >> 3. Coordenador pode acionar unidades do GATE para o local da crise por meio das unidades GRAU <<opcional>> Tipo de variação: Comum Modelagem de domínio Especificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 53
  • 54. Nome do caso de uso: Alocar unidades GRAU para o local da crise Atores: Coordenador Descrição do caso de uso: 1. Coordenador deve definir a estratégia de mitigação da crise <<comum>> 2. Coordenador deve acionar unidades GRAU para o local da crise por meio dos procedimentos da estratégia de mitigação escolhida <<comum>> 1. Encaminhar informações da ocorrência e procedimentos para a central da GRAU 1. Módulo de comunicação SGC deve transmitir um pacote com informações sobre a ocorrência para a central da GRAU <<comum>> 2. Módulo de comunicação SGC deve aguardar confirmação da central da GRAU <<comum>> 3. Módulo de comunicação SGC pode retransmitir um pacote com informações sobre ocorrência para a central da GRAU << opcional >> 3. Coordenador pode acionar unidades do GATE para o local da crise por meio das unidades GRAU <<opcional>> Tipo de variação: Comum Representação dos requisitos do domínio – Especificação de caso de uso R1 META DE INTERAÇÃO > CASO DE USO R2 AGENTE > ATOR R3 CENÁRIOS DE INTERAÇÃO > ESPECIFICAÇÃO AGENTES > ATOR R4 ESTEREÓTIPOS DE VARIAÇÃO R5 METAS E CENÁRIOS DO NÍVEL INTERNO SÃO DESCRITOS NA ESPECIFICAÇÃO DE CASO DE USO Modelagem de domínio Especificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 54
  • 55. Modelagem de domínio Especificação de requisitos comuns e variantes Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 55
  • 56. Pontos fortes 1. Uma boa abordagem para a derivação do escopo das metas de negócios 2. Os níveis de metas propostos auxiliam nas definições dos requisitos de acordo com cada perspectiva 3. Existe uma rastreabilidade total entre metas, cenários, requisitos e especificação 4. Existe uma rastreabilidade parcial entre planos de marketing e de produto com as metas de negócio 5. Bom entendimento sobre a variabilidade das características do produto em uma linha de produto 6. Facilidade em escalar a produção de novos produtos utilizando-se do reuso do software Modelagem de domínio Apresentar uma avaliação a respeito da viabilidade de aplicação prática do método Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 56
  • 57. Pontos fracos 1. Dificuldade em se aplicar o método sem um documento visão bem definido 2. Dificuldade em se criar metas de serviços sem um plano de marketing bem definido 3. Dificuldade na derivação de cenários para as metas dos níveis subsequentes 4. Dificuldade no uso do método sem um conhecimento prévio de uma abordagem dirigida à características como o FODA e o FeaturSEB 5. Necessidade dos papéis de analista do domínio e especialista do domínio. E segundo o FODA de uma equipe contendo um analista de requisitos , usuários e projetista de software. 6. Não encontrado nenhum papel relacionado à gerente de produto ou gerente grupo-produto (linha de produto). Modelagem de domínio Apresentar uma avaliação a respeito da viabilidade de aplicação prática do método Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 57
  • 58. Oportunidades 1. Adaptar os papéis do FODA com uma metodologia ágil Ex: Em equipes usando metodologia Scrum, tentar adequar os papeis da equipe que possam de fato suprir um analista de domínio e um especialista do domínio. 2. Considerar na abordagem FODA os conceitos de Lean Startup Ex: Para criar produtos MVP (Mínimo produto viável) tentar utilizar um processo de análise de domínio mais enxuto e tentar adaptar os métodos de modelagem para a criação de linhas de produtos que possam responder bem a mudanças. Modelagem de domínio Apresentar uma avaliação a respeito da viabilidade de aplicação prática do método Artigo Kim, J. et al., 2006 - Goal and scenario based domain requirements analysis environment 58
  • 59. Rastreabilidade dos requisitos de software Considerando a solução proposta na primeira parte: • Definir a Estratégia de Rastreabilidade dos requisitos de software para a linha de produtos definida. • Considerando a estratégia definida: – Elaborar alguns fragmentos de matrizes de rastreabilidade considerando os requisitos de domínio identificados como requisitos comuns e variantes. – Definir os principais atributos dos requisitos de software a serem utilizados na gerência dos requisitos. Justificar. Objetivo 2 59
  • 60. Rastreabilidade dos requisitos de software 60 Estratégia de rastreabilidade - As características dirigem o MCU (Spence, I.; Probasco, L. , 2000) - Pré-rastreabilidade: das origens à especificação dos requisitos - Método proposto no artigo Kim, J. et al - Rastreabilidade das características do software à especificação de casos uso através de metas e cenários. - Rastreabilidade da ERS alinhadas à prática IEEE 830-1998. - Rastreamento para trás (estágios anteriores do desenvolvimento).
  • 61. Rastreabilidade dos requisitos de software 61 Estratégia de rastreabilidade Quais as relações que têm interesse para a gerência de requisitos? - Identificar o conjunto de objetos (Ramesh,B.; Jarke, M., 2001) exigidos para definir os itens de rastreabilidade. • Necessidade e característica • RF e RNF • Itens do glossário • Caso de uso e Seção de caso de uso • Ator Spence e Probasco (2000)
  • 62. Rastreabilidade dos requisitos de software 62 Estratégia de rastreabilidade As características dirigem o MCU (Spence, I.; Probasco, L. , 2000)
  • 63. Rastreabilidade dos requisitos de software 63 Matrizes de rastreabilidade As características dirigem o MCU Necessidade Características Alocação de recursos GRAU Alocação de recursos da Polícia Rodoviária Alocação de recursos da Polícia Ferroviária Alocação de recursos da FAB Fornecer gestão de crise para acidentes rodoviários X X Fornecer gestão de crise para acidentes ferroviários X X Fornecer gestão de crise para acidentes aéreos X X
  • 64. Rastreabilidade dos requisitos de software 64 Matrizes de rastreabilidade As características dirigem o MCU Características Casos de uso Encaminhar procedimentos de mitigação para as unidades da GRAU Encaminhar procedimentos de mitigação para as unidades da FAB Alocar unidades GRAU para o local da crise Alocar unidades da FAB para o local da crise Alocação de recursos GRAU X X Alocação de recursos da FAB X X Alocação de recursos da Polícia Rodoviária Alocação de recursos da Polícia Ferroviária
  • 65. Rastreabilidade dos requisitos de software 65 Atributos dos requisitos de software a serem gerenciados Fatores críticos de sucesso • Prioridade o Alta, Média e Baixa • Dificuldade o Alta, Média e Baixa • Status o Apontado, Aprovado, Em desenvolvimento, Implementado e Validado • Valor de negócio (Baseado em ROI ) o Alto, Médio e Baixo Cohn, Mike, Agile Estimating and Planning, 2006
  • 66. Rastreabilidade dos requisitos de software 66 Atributos dos requisitos de software a serem gerenciados Matriz de atributos Características Atributos Prioridade Dificuldade Status Valor de negócio Alocação de recursos GRAU Alta Média Implementado Alto Alocação de recursos da FAB Baixa Alta Apontado Baixo Alocação de recursos da Polícia Rodoviária Alta Média Em desenvolvimento Alto Alocação de recursos da Polícia Ferroviária Média Alta Apontado Médio
  • 67. Referências 1) Kim, J.; Kim, M.; Park, S. Goal and scenario based domain requirements analysis environment. In: The Journal of Systems and Software, 79 (2006) p. 926-938 2) Kang, K.C. et al, Feature-oriented domain analysis feasibility study. CMU/SEI-TR- 21, 1990. 3) Pohl, K. et al. Software Product Line Engineering – Foundations, Principles, and Techniques. Springer-Verlag, 2005 4) Arango, G. A brief introduction to domain analysis. In Proc. of the 1994 ACM Symposium on Applied Computing, Phoenix, AZ USA, 1994, pp. 42-46. 5) Evermann, J.; Wand, Y. Toward formalizing domain modeling semantics in language syntax. IEEE Transactions on Software Engineering, vol. 31 (1), 2005. 6) Guizzardi, G., Herre, H., Wagner G. On the general ontological foundations of conceptual modeling. In Proc. of 21st Intl. Conf. on Conceptual Modeling (ER 2002), Springer-Verlag, Berlin, LNCS n. 2503, 2002, pp. 65-78. 7) Spence, I.; Probasco, L. Traceability strategies for managing requirements with use cases. IBM/Rational, 2000. 8) Gottesdiener , E; Use Cases: Best Practices . IBM, 2003 9) Cohn, Mike, Agile Estimating and Planning Prentice Hall, 2006 67
  • 68. Obrigado :) André Rocha Agostinho andre@magnadev.com.br www.scrumalliance.org/aagostinho 68

Notas do Editor

  1. Klaus Pohl - Software Product Line Engineering: Foundations, Principles and Techniques https://books.google.com.br/books?hl=pt-BR&lr=&id=J4GqT4OUsSMC&oi=fnd&pg=PA3&dq=klaus+pohl+family+product+line&ots=SBwCxb2bPh&sig=P-9GK_H5J2ZO_akEq_AR45twsS8#v=onepage&q&f=false Weiss and Lai 1999 - Software product-line engineering: a family-based software development process
  2. [Gilroy 89] Kathleen A. Gilroy, Edward R. Comer, J. Kaye Grau & Patrick J. Merlet. Impact of Domain Analysis on Reuse Methods. [McNicholl 86] Daniel G. McNicholl, et al. Common Ada Missile Packages (CAMP) - Volume I: Overview and Commonality Study Results. [Prieto-Diaz 87] Ruben Prieto-Diaz. Domain Analysis for Reusability.
  3. [Gilroy 89] Kathleen A. Gilroy, Edward R. Comer, J. Kaye Grau & Patrick J. Merlet. Impact of Domain Analysis on Reuse Methods. [McNicholl 86] Daniel G. McNicholl, et al. Common Ada Missile Packages (CAMP) - Volume I: Overview and Commonality Study Results. [Prieto-Diaz 87] Ruben Prieto-Diaz. Domain Analysis for Reusability.
  4. O analista de domínio interage com usuários e especialistas de domínio para estabelecer os limites do domínio e um escopo adequado para análise. O analista também reúne fontes de informação para realizar a análise O analista de domínio utiliza fontes de informação e outros produtos de análise de contexto para apoiar a criação de um modelo de domínio. Este modelo é revisado pelo usuário do sistema, o especialista de domínio, e o analista de requisitos. Usando o modelo de domínio, o analista de domínio produz o modelo de arquitetura. Este modelo deve ser revisto pelo especialista do domínio, o analista de requisitos e o projetista de software. O usuário não precisa participar nesta revisão.
  5. The requirements analyst and software designer will use the products of a domain analysis when implementing a new system. During implementation, these products are tailored to produce the specification and design of that system. This tailoring process will provide feedback of information to the domain analyst and expert to modify or extend the domain analysis for future developments.
  6. Agregação/Decomposição Abstrair uma coleção de unidades em uma nova unidade é chamado de agregação. Refinando uma agregação em suas unidades constituintes é chamado de decomposição. Generalização/Especialização Abstrair os pontos em comum entre uma coleção de unidades em uma nova unidade conceitual suprimir diferenças detalhadas é chamado de generalização. Refinando uma unidade generalizada em uma unidade incorporando detalhes é chamado de especialização. Parametrização: Parameterization is a component development technique in which components are adapted in many different ways by substituting the values of parameters which are embedded in the component. It allows codification of how adaptation is made within a component. The Ada generic is one example of parameterization
  7. Agregação/Decomposição Abstraindo uma coleção de unidades em uma nova unidade é chamado de agregação. Por exemplo, a escola é uma agregação de estudantes, professores, etc. Refinando uma agregação em suas unidades constituintes é chamado de decomposição
  8. Agregação/Decomposição Abstraindo uma coleção de unidades em uma nova unidade é chamado de agregação. Por exemplo, a escola é uma agregação de estudantes, professores, etc. Refinando uma agregação em suas unidades constituintes é chamado de decomposição
  9. Agregação/Decomposição
  10. Agregação/Decomposição Abstraindo uma coleção de unidades em uma nova unidade é chamado de agregação. Por exemplo, a escola é uma agregação de estudantes, professores, etc. Refinando uma agregação em suas unidades constituintes é chamado de decomposição
  11. Agregação/Decomposição Abstraindo uma coleção de unidades em uma nova unidade é chamado de agregação. Por exemplo, a escola é uma agregação de estudantes, professores, etc. Refinando uma agregação em suas unidades constituintes é chamado de decomposição
  12. Use Cases: Best Practices - By Ellen Gottesdiener - 2003 – IBM When you’re naming use cases, follow these best practices: - Name your use cases using this format: action verb + [qualified] object. Examples are “Place order,” “Request product or service,” “Monitor network usage, “Assign resources to project”. - Avoid vague verbs such as do or process. Instead, use precise verbs such as “query”, “approve”, “notify”, “monitor”, “generate” and so on.
  13. Agregação/Decomposição Abstraindo uma coleção de unidades em uma nova unidade é chamado de agregação. Por exemplo, a escola é uma agregação de estudantes, professores, etc. Refinando uma agregação em suas unidades constituintes é chamado de decomposição
  14. 1 meta pode ser atingida por N cenários Ponto de variação vem da relação Meta-Cenário Cada cenário pode atingir uma meta de 3 formas: comum, alternativo e opcional Comum: Fluxo principal. Alternativo: Quando existe mais de 1 uma forma para se atingir a meta Opcional: Podem ser usadas ou não. Possibilidade (zero ou todas) de se atingir uma metal
  15. Cada nivel tem a sua preocupação com as perspectivas da linha de produto. Nivel de negócio: as metas de negócio da organização Nivel de serviço: são serviços que podem alcançar as metas de negócio (como o escopo na linha de produto é determinado) Nivel de interação: foca-se na interação entre o sistema e suas entidades. São nas metas de interação que os requisitos na linha de produto são indentificados - Nivel interno: foca-se na funcionalidade entre objetos e o sistema.