2. identificação, descoberta, elaboração
de requisitos
António Lucas Soares
António Lucas Soares
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 3
identificação de requisitos
análise e negociação de requisitos documentação de requisitos validação dos requisitos problemas, necessidades, oportunidades, ... documento de requisitos identificação, descoberta de requisitosAntónio Lucas Soares
identificação de requisitos>dimensões
domínio de aplicação problema a ser resolvido contexto do negócio necessidades e restrições dos interessadosengenharia de requisitos
identificação, descoberta, elaboração de requisitos 5
identificação de requisitos>processo genérico
Kotonya, 1998
António Lucas Soares
identificação de requisitos>processos para
descobrir requisitos
o contexto da aplicação e as condições de
iniciação do processo influenciam o modo como a análise e modelação de requisitos são
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 7
identificação de requisitos>processos para
descobrir requisitos
requisitos conduzidos por políticas organizacionais
requisitos iniciados por problemas requisitos iniciados por exemplos
requisitos impostos pelo ambiente externo
António Lucas Soares
identificação de requisitos>processos para
descobrir requisitos
requisitos
conduzidos por políticas
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 9
identificação de requisitos>processos para
descobrir requisitos
requisitos iniciados por problemas diagnóstico conduzido por eventos
análise baseada em modelos
António Lucas Soares
identificação de requisitos>processos para
descobrir requisitos
requisitos iniciados por
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 11
identificação de requisitos>processos para
descobrir requisitos
requisitos impostos pelo ambiente externo normas, regulamentos,
requisitos não funcionais
António Lucas Soares
identificação de requisitos>sindromas
sindroma do “sim, mas”
“muito bem, parece fazer tudo aquilo que queremos... está mesmo fixe!...”
...
“sim, mas... agora que estou a perceber melhor, não seria interessante se..., o que aconteceria se..., o que aconteceu ao...,
engenharia de requisitos
identificação, descoberta, elaboração de requisitos
identificação de requisitos>sindromas
sindroma das “ruínas por descobrir”
quanto mais se encontras, mais se sabe que falta descobrir
13
Leffingwel&Widrig, 2003
António Lucas Soares
identificação de requisitos>sindromas
sindroma do “utilizador v. desenvolvedor”
problema solução
os utilizadores não sabem o que querem, ou sabem o que querem mas não conseguem articulá-lo
reconhecer e apreciar o utilizador como um especialista do domínio; tentar formas diferentes de comunicação e identificação os utilizadores pensam que sabem o
que querem até que os programadores lhes dão o que eles disseram que queriam
utilizar mais cedo formas alternativas de identificação: storyboarding, role playing, protótipos deita-fora, ...
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 15
resolução de problemas
António Lucas Soares
combinação de ideias já existentes para criar novas ideias
identificação de requisitos
resolução de problemas
engenharia de requisitos
identificação, descoberta, elaboração de requisitos
passos genéricos a seguir na resolução de problemas 17
identificação de requisitos>resolução de
problemas
Stutcliffe, 2002 preparação ou formulação incubação ou procura inspiração verificaçãoAntónio Lucas Soares
identificação de requisitos>resolução de
problemas
estratégias para resolução de problemas decomposição
análise meios-fins ou raciocínio causal
classificação de objectos e factos em categorias generalização baseada em exemplos
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 19
identificação de requisitos>análise de
problemas
é o processo de compreender um problema e propôr soluções para resolver esse problema
António Lucas Soares
identificação de requisitos>análise de
problemas
processo de identificação e análise de requisitos "orientado ao problema" acordar na definição do problema entender as causas do problema identificar os stakeholders definir as fronteiras da solução identificar as restrições da solução
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 21
identificação de requisitos>acordo na
definição do problema
exemplo de formulação do problema
"o problema de se passar demasiado tempo a produzir a
documentação do projecto afecta os parceiros do projecto e resulta em atrasos significativos no cumprimento dos prazos;
os benefícios sistema que gerisse a documentação à medida que é produzida residiriam numa menor percentagem de incumprimento de
prazos e numa melhor relação com os parceiros"
António Lucas Soares
identificação de requisitos>compreender
as causas do problema
análise da raíz do problema
forma sistemática de descobrir o que está por trás de um problema ou dos seus sintomas
engenharia de requisitos
identificação, descoberta, elaboração de requisitos
exemplo de técnica: diagrama de espinha de peixe 23
identificação de requisitos>compreender
as causas do problema
atrasos na entrega da documentação do projecto os conteúdos estão dispersos pouco tempo paraescrever os relatórios
causa X causa Y
causa Z
António Lucas Soares
identificação de requisitos>compreender
as causas do problema
o quais as causas a reparar para resolver o problema?
a maior parte das vezes não vale a pena considerar TODAS as causas que são raíz do problema!!!... (???)
porque os custos seriam muito superiores aos benefícios...
como saber quais as causas que vale a pena considerar na resolução do problema?
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 25
identificação de requisitos>compreender
as causas do problema
seleccionar as causas a considerar recolher dados sobre a incidência de cada causa desenhar um diagrama de Pareto
António Lucas Soares
identificação de requisitos>compreender
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 27
identificação de requisitos>identificar os
stakeholders e utilizadores
compreender as necessidades dos interessados no sistema é um factor decisivo no
desenvolvimento de uma solução efectiva para um problema
quem são os utilizadores do sistema? quem é o cliente (comprador) do sistema?
quem será afectado pelas saídas que o sistema produz? quem fará a manutenção do sstema?
...
António Lucas Soares
identificação de requisitos>definir as
fronteiras da solução
quem fornece, utiliza, remove informação do sistema? quem opera o sistema? quem faz manutenção do sistema? onde é que o sistema é usado? como obtém o sistema a sua informação? que outros sistema
solução
outros sistemas fronteira do sistema
engenharia de requisitos
identificação, descoberta, elaboração de requisitos
identificação de requisitos>definir as
fronteiras da solução
pretende-se especificar um novo sistema de gestão de encomendas que deve ser integrado com um sistema legado (contabilidade)
as fronteiras não são claras: que
funcionalidades, que informação ficam a cargo de um e outro?
29
António Lucas Soares
identificação de requisitos>definir as
fronteiras da solução
novo sistema de gestão de encomendas funcionário comercial sistema de contabilidade fronteira do sistema
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 31
identificação de requisitos>identificar as
restrições impostas na solução
restrições no grau de liberdade para desenvolvimento de um sistema económicas políticas tecnológicas sistemas ambiente recursos
António Lucas Soares
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 33
identificação de requisitos>entrevistas
entrevistar os futuros utilizadores e outros stakeholders é a técnica mais vulgar e simples de obter informação para identificar requisitos
António Lucas Soares
identificação de requisitos>instrumentos
entrevistas e questionários workshops de requisitos cenários e storyboarding protótipos
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 35
identificação de requisitos>entrevistas
a entrevista é uma técnica simples, mas não é fácil de aplicar
enviesamento do entrevistador predisposição do entrevistado relação pessoal
António Lucas Soares
identificação de requisitos>entrevistas
tipos de entrevistas
estruturadas vs. não estruturadas
descontextualizadas vs. contextualizadas pela solução
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 37
identificação de requisitos>workshops
uma workshop de requisitos é uma técnica de grupo para o debate e acordo das questões asociadas à identificação dos requisitos
levada a cabo através da formação de um grupo de representantes dos stakeholders
facilitada por alguém com competência para conduzir o processo de identificação e análise de reauisitos
António Lucas Soares
identificação de requisitos>workshops
preparação "vender" o conceito
assegurar a participação dos stakeholders adequados garantir os aspectos logísticos
fornecer materiais para discussão antecipadamente escolher o facilitador
engenharia de requisitos
identificação, descoberta, elaboração de requisitos
obtenção de dados: brainstorming
39
António Lucas Soares
identificação de requisitos>workshops
condução
"soltem os cães"... brainstorming
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 41
identificação de requisitos>brainstorming
brainstorming é uma técnica para a geração de novas ideias por um conjunto de pessoas
encoraja a participação de todos
permite o aproveitamento e refinamento de outras ideias pode ser bastante produtiva (nº de ideias/hora)
o resultado pode ser um conjunto de soluções encoraja o pensamento livre... (maluquices...)
António Lucas Soares
regras do brainstorming
não permitir críticas ou debate deixar a imaginação voar...
gerar tantas ideias quanto for possível
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 43
identificação de
requisitos>brainstorming>processo
reduzir ideias gerar e documentar ideias explicar regras definir objectivosAntónio Lucas Soares
identificação de
requisitos>brainstorming>reduzir ideias
"podar" ideias agrupar ideias
definir as características de cada ideia estabelecer prioridades
engenharia de requisitos
identificação, descoberta, elaboração de requisitos
obtenção de dados: cenários
45
António Lucas Soares
identificação de requisitos>cenários
abordagem para colocar os interessados num sistema perante uma situação realista em que simulam ou apenas antevêem a sua interacção com o sistema
materializam-se em histórias que explicam como é que o sistema poderá ser usado
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 47
identificação de
requisitos>cenários>definições
uma história ou exemplo de eventos retirados da experiência do mundo real; incluem detalhes do contexto do sistema (cenas)
um caminho ou instância de um modelo (normalmente de casos de utilização)
a visão futura de um sistema a ser desenhado, com sequências de comportamento e descrições contextuais Sutcliffe, 2002 senso comum eng. de sw maqueta
António Lucas Soares
identificação de
requisitos>cenários>objectivos
identificar e clarificar requisitos adicionar detalhe a requisitos mais gerais compreender a relação entre requisitos validar requisitos compreender um requisito no seu verificar se a sua relação com outrosidentificação
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 49
identificação de
requisitos>cenários>conteúdo
António Lucas Soares
identificação de requisitos
cenários: abordagem
engenharia de requisitos
identificação, descoberta, elaboração de requisitos
identificação de
requisitos>cenários>storyboarding
objectivo: obter, o mais cedo possível, reacções dos utilizadores (ou stakeholders) para os conceitos propostos para um sistema
características: barata, amigável, informal, interactiva, fácil de criar e modificar, aplicável a qualquer tipo de sistema
51
António Lucas Soares
identificação de
requisitos>cenários>storyboarding>tipos
capturas de ecran regras do negócio relatórios (saída) slide show animação simulação demo apresentação interactivaengenharia de requisitos
identificação, descoberta, elaboração de requisitos
identificação de
requisitos>cenários>storyboarding>ferramentas
passivo
papel&lápis, post-it, apresentações (p.e., power-point), activo, interactivo
apresentações, aplicações de diagramas, aplicações multimédia
53
António Lucas Soares
identificação de
requisitos>cenários>storyboarding>conselhos
não investir demasiado
fácil de alterar (desejavelmente na hora) não desenvolver demasiado as
“funcionalidades”
engenharia de requisitos
identificação, descoberta, elaboração de requisitos
obtenção de dados: prototipagem
55
António Lucas Soares
identificação de requisitos>prototipagem
um protótipo é uma versão inicial de um sistema usada para apoiar essencialmente as fases de identificação, análise e validação de requisitos
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 57
identificação de requisitos>prototipagem
características
desenvolvimento rápido funcionalidades limitadas
requisitos não funcionais pouco considerados várias tecnologias
pode ir desde maquetas a protótipos evolutivos
António Lucas Soares
identificação de
requisitos>prototipagem>tipos
protipagem "deita-fora" (throw away)
o objectivo é o apoio à identificação dos requisitos
os requisitos objecto de prototipagem deverão ser aqueles mais difíceis de compreender
engenharia de requisitos
identificação, descoberta, elaboração de requisitos
identificação de
requisitos>prototipagem>tipos
prototipagem evolutiva
o objectivo é proporcionar um sistema
"produtivo" o mais rápido possível ao cliente os requisitos objecto dos protótipos iniciais deverão ser aqueles mais facilmente
compreendidos e que podem dar rapidamente um valor acrescentado útil ao utilizador
59
António Lucas Soares
identificação de
requisitos>prototipagem>benefícios
benefício principal
os clientes e utulizadores finais têm contacto com um sistema realista cedo o que lhes permite compreender melhor os requisitos que
pretendem identificar e analisar
outros benefícios
ajuda a estabelecer a viabilidade e utilidade do sistema é a única forma efectiva de desenvolver IPC
pode ser usado na validação
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 61
identificação de
requisitos>prototipagem>custos
a decisão de usar a prototipagem deve ser tomada com recurso a uma análise custo-benefício
custos envolvidos na prototipagem
formação, desenvolvimento, prazos mais alargados, protótipos incompletos
António Lucas Soares
identificação de
requisitos>prototipagem>implementação
maquetagem
"Feiticeiro de Oz"
engenharia de requisitos
identificação, descoberta, elaboração de requisitos
obtenção de dados: observação e análise social
63
António Lucas Soares
identificação de requisitos>observação e
análise social
grande parte dos sistemas que desenvolvemos visam apoiar o trabalho das pessoas
o trabalho é uma actividade social que envolve grupos de pessoas que cooperam para levar a cabo diferentes tarefas
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 65
identificação de requisitos>observação e
análise social
as pessoas encontram frequentemente
dificuldade em tornar explícita a forma como realizam tarefas e como trabalham em conjunto com outros
quando as tarefas se tornam rotina e as pessoas tendem a não pensar nelas conscientemente, torna-se difícil que articulem como é que o trabalho é realizado
as pessoas usam artefactos (ferramentas, documentos, etc.) de uma forma intuitiva
António Lucas Soares
identificação de requisitos>observação e
análise social
exemplo
experimentem explicar como se atam os atacadores de um sapato
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 67
identificação de requisitos>observação e
análise social
estudos etnográficos
observação detalhada das práticas sociais de uma sociedade
uma compreensão total destas práticas só é possível pela observação do detalhe e a partir do interior da comunidade
um grupo de funcionários numa biblioteca, num banco, num laboratório têm características dos elementos de uma sociedade
António Lucas Soares
identificação de requisitos>observação e
análise social
estudos etnográficos e identificação de requisitos
há requisitos que não se conseguem identificar através das técnicas convencionais
os estudos etnográficos ajudam a fazer emergir requisitos derivados de formas de rotineiras e tácitas de trabalhar
engenharia de requisitos
identificação, descoberta, elaboração de requisitos 69
identificação de requisitos>estudos
etnográficos>directrizes
assumir que as pessoas que se está a estudar são competentes a realizar o seu trabalho
estabelecer relações de confiança com as pessoas envolvidas no estudo; os analistas devem ser externos à organização
escrever notas detalhadas e regulares das práticas de trabalho estudadas
realizar entrevistas abertas
não recorrer demasiado às gravações video e audio, porque são difíceis de tratar em tempo útil
realizar sessões de crítica por parte de elementos externos ao projecto
António Lucas Soares