Gerência de Requisitos
Gerência de Requisitos
Agenda
g
Requisitos na Engenharia de Software
Processo de Engenharia de Requisitos (E.R.)
C i ã E t di t d R i it
Comunicação e Entendimento de Requisitos Documentação de Requisitos Aceitação de Requisitos R t bilid d d R i it Agenda Rastreabilidade de Requisitos Consistência de Requisitos Agenda
Motivação
ç
3
Requisitos são a base para aferição da
qualidade
→ Todos os modelos de processo indicam a Gerência
de Requisitos como um passo inicialq p
3
A experiência mostra que o investimento em
qualidade de requisitos tem excelente retorno
qualidade de requisitos tem excelente retorno
→ Satisfação dos envolvidos
M t b lh
→ Menos re-trabalho → Maior produtividade
Definição de Requisito
Definição de Requisito
3
Segundo o Dicionário Aurélio
→ (1) condição necessária para a obtenção de
certo objetivoj
• Um requisito para se ingressar no programa de
mestrado da UFG é ter um diploma de graduação reconhecido pelo MEC
→ (2) exigência legal
• Um requisito para se emitir uma carteira de
motorista para os brasileiros é ter 18 anos de idade ou mais
Um Requisito em Software é
Um Requisito em Software é
3
(1) uma condição ou capacidade de que um
usuário necessita para resolver um problema
ou atingir um objetivo
→ O usuário necessita imprimir uma nota fiscal
3
(2) uma condição ou capacidade que precisa
ser atingida por um sistema para satisfazer
um contrato, norma, especificação ou algum
outro documento
→ Os cálculos efetuados pelo sistema devem ter
Requisito ou Restrição?
Requisito ou Restrição?
3
Requisitos costumam ser associados a
→ uma necessidade específica do usuário que o
sistema deve atender
• O sistema deve ser capaz de emitir boleto de
cobrança com código de barras
uma restrição que o projeto ou o produto
→ uma restrição que o projeto ou o produto
(sistema) dele resultante deve obedecer
• Tamanho máximo do código-objeto deve serTamanho máximo do código objeto deve ser
16Kbytes
3 A requirement is a statement of a system service
or constraint
Quem define Requisitos?
Quem define Requisitos?
3
Todos os envolvidos (stakeholders) em um
projeto de software têm requisitos
→ Gerentes, diretores, desenvolvedores,Gerentes, diretores, desenvolvedores,
testadores, projetistas, etc.
→ Cada envolvido possui expectativas e → Cada envolvido possui expectativas e
necessidades que “o projeto ou o produto
(sistema) dele resultante deve obedecer”
( )
3
Requisitos devem refletir as necessidades
dos envolvidos e não apenas dos usuários
dos envolvidos, e não apenas dos usuários
Requisitos na Engenharia de Software
Requisitos na Engenharia de Software
Requisitos definem
como o sistema será construído
Os recursos do projeto devem ser especificados em p j p
função dos requisitos que devem ser atendidos
o que o sistema deve fazerq
O problema que o software precisa resolver deve ser
entendido e representado em termos de requisitos
em que condições o sistema deve operar
O ambiente de operação e o comportamento que o p ç p q
sistema deve realizar devem ser claramente definidos como requisitos
Engenharia de Requisitos
Engenharia de Requisitos
A Engenharia de Requisitos (ER) pesquisa
abordagens para controlar requisitos
A disciplina de ER envolve diversos
processos
1) Elicitação (identificação)
)
ç
(
ç )
2) Análise (modelagem e negociação)
3) D
t ã (
ifi
ã )
3) Documentação (especificação)
4) Avaliação (validação)
Contexto da ER
PlatãoContexto da ER
O início é a parte
O início é a parte
mais importante do trabalho
Aquisição de Sistema
Engenharia de Requisitos
Gerência de Requisitos
Gerência de Requisitos
Erros em requisitos causam
atraso (ou cancelamento) da entrega do sistema software que não atende as necessidades dos
envolvidos envolvidos
Erros em requisitos são causados por
falta de compreensão falta de compreensão
mudanças descontroladas
A Gerência de Requisitos é responsável por A Gerência de Requisitos é responsável por
minimizar esses erros
Ela cuida da execução eficiente dos diversos ç
Problemas relacionados a requisitos
q
Sintomas Possíveis Causas Práticas Recomendadas Sintomas Possíveis Causas Práticas Recomendadas Não atendimento d id d Interpretação incorreta d i it bi üid d Modelagem Visual WYSIWYG das necessidades dos usuários
dos requisitos; ambigüidade; comunicação deficiente WYSIWYG Protótipos Produto sem qualidade Instabilidade ou insuficiência de requisitos Aprovação e Controle de Mudanças em Requisitos Prejuízos ou pendências judiciais q Mudanças no escopo do software Análise de impacto de Mudanças em Requisitos judiciais do software Mudanças em Requisitos
Taxonomias de Requisitos
q
3
Existem inúmeras classificações de requisitos
→ Muitas delas são incompatíveis entre sip
3
O importante é não omitir requisitos
As classes de requisitos devem englobar todas as
→ As classes de requisitos devem englobar todas as
possibilidades
Requisitos são inicialmente alocados ao
3Requisitos são inicialmente alocados ao
Sistema de Informação
Exemplos de Requisitos de Sistema
p
q
3
O sistema deve
→ manter registros de materiais bibliográficos, incluindomanter registros de materiais bibliográficos, incluindo
livros, periódicos, jornais e revistas, vídeos e áudio, relatórios, slides, CDs e DVDs, ,
→ permitir consulta por título, autor ou ISBN → oferecer acesso via browser
→ oferecer acesso via browser
→ suportar pelo menos 20 transações por segundo
ser demonstrável para o público cliente da biblioteca
→ ser demonstrável para o público cliente da biblioteca
Tipos de Requisitos de Software
Tipos de Requisitos de Software
Requisitos Genéricos
Apresentam uma visão geral do sistema
O sistema deve manter registros de todos os materiais da
Locadora incluindo fitas de vídeo DVD e cartuchos de jogos Locadora incluindo fitas de vídeo, DVD e cartuchos de jogos
Requisitos Funcionais
Especificam a funcionalidade do sistema
Especificam a funcionalidade do sistema
O sistema deve permitir que o usuário procure uma fita por
título, diretor, ator, ou categoria de filme., , , g
Requisitos de Implementação
Definem como o sistema deve ser implementado Definem como o sistema deve ser implementado
Tipos de Requisitos de Software
Tipos de Requisitos de Software
Requisitos de Desempenho
São restrições sobre a velocidade de execução
O sistema deve atender pelo menos 10 transações por
segundo segundo
Requisitos de Usabilidade
Descrevem como o sistema deve ser usado
Descrevem como o sistema deve ser usado
As funções disponíveis para o público devem ser
demonstráveis em menos de 10 minutos
Requisitos de Segurança
São restrições sobre o acesso e a guarda do software São restrições sobre o acesso e a guarda do software
O acesso ao sistema deve ser controlado por senha. A
Outras Taxonomias de Requisitos
Outras Taxonomias de Requisitos
3 Requisitos Funcionais
O que e quando o sistema deve realizar?
→ O que e quando o sistema deve realizar? → Existem diferentes modos de operação?
3 Requisitos de Documentação 3 Requisitos de Documentação
→ Qual a documentação que o sistema deve gerar? Para
quem? E em que formato?
3 Requisitos de Dados
→ Qual o formato utilizado para entrada e saída? → Os dados devem ser mantidos por qual período?
→ Qual a correção e precisão de cálculos necessárias?
R i it d I t f
Outras Taxonomias de Requisitos
Outras Taxonomias de Requisitos
3 Requisitos de Qualidade
→ em que grau os requisitos de qualidade referente à → em que grau os requisitos de qualidade referente à
eficiência, utilizabilidade, manutenibilidade, confiabilidade e portabilidade devem ser satisfeitos
3 Requisitos de Ambiente Físico 3 Requisitos de Ambiente Físico
→ Onde o sistema vai funcionar?
→ Será em apenas um local ou vários?p
→ Há restrições ambientais (ex: temperatura, umidade, etc)?
3 Fatores humanos (requisitos de uso)
Q i i t ? E i t dif t ti d
→ Quem vai usar o sistema? Existem diferentes tipos de
usuário? Algum tem necessidades especiais?
→ Há padrões de IHC?p
→ Qual o nível de experiência de cada usuário? → Que tipo de treinamento deve ser realizado?
Outras Taxonomias de Requisitos
Outras Taxonomias de Requisitos
3
Propriedades Emergentes
→ Requisitos do sistema que só aparecem quando q q p q
todos os subsistemas são integrados
• Confiabilidade • Manutenibilidade • Desempenho • Usabilidade • Segurança Restrição de Acesso
Dificuldades com Requisitos
Dificuldades com Requisitos
3 Estabelecer uma compreensão homogênea na equipe de desenvolvimento
equipe de desenvolvimento
→ Equipe compreende técnicos e usuários envolvidos
3 Refletir as reais necessidades dos usuários e do negócio
→ Garantir consistência e/ou completitude
M difi i it já f d d
3 Modificar requisitos que já foram acordados
→ Isto vai acontecer!
3 Controlar custos de desenvolvimento de requisitos 3 Controlar custos de desenvolvimento de requisitos
→ de 15 a 40 por cento do orçamento e do cronograma
de desenvolvimento!
3 O que fazer?
Processo de Engenharia de Requisitos
Processo de Engenharia de Requisitos
3
Um Processo de Engenharia de Requisitos é
→ um conjunto de atividades estruturadas para
desenvolvimento de requisitos de sistemas q
→ Não há um “Processo Ideal”
• O Processo deve ser adequado para as • O Processo deve ser adequado para as
necessidades de cada organização
→ Idealmente os processos de requisitos e de → Idealmente, os processos de requisitos e de
projeto de software deveriam ser separados • Na prática isto é em geral impossívelNa prática isto é, em geral, impossível
Gerenciar Requisitos
Problema Espaço do Problema problema Necessidades Produto a ser construído Características ser construído Use-cases e requisitos Espaço da soluçãoTestes Design Doc. usuário
Gerenciamento de Requisitos
q
3 Acompanha a tradução das solicitações dos clientes e
usuários em um conjunto de necessidades e características usuários em um conjunto de necessidades e características (features) do sistema
→ Detalhados, por sua vez, em especificações de requisitos
funcionais e não-funcionais funcionais e não-funcionais
→ Estas especificações detalhadas são traduzidas em procedimentos
de teste, design e documentação do usuário
3 Garante a correspondência (traceability) entre produtos 3 Garante a correspondência (traceability) entre produtos,
permitindo
→ Avaliar o impacto em uma mudança de requisitos
A li i t f lh d t t d i it
→ Avaliar o impacto em uma falha de teste de requisitos → Gerenciar o escopo do projeto
→ Verificar se os requisitos estão sendo atendidos pela q p
O Processo de Engenharia de Sistemas
O Processo de Engenharia de Sistemas
System requirements engineering System validation Architectural design engineering System integration Requirements
partitioning developmentSub-system
Software requirements
pa t t o g p
requirements engineering
O Processo de Engenharia de Sistemas
O Processo de Engenharia de Sistemas
3 Engenharia de Requisitos de Sistema
→ Estabelece os requisitos para o Sistema de Informação de
f í l t d l id
forma compreensível para todos os envolvidos
3 Projeto Arquitetural
D õ i b i
→ Decompõe o sistema em subsistemas
3 Particionamento de Requisitos
→ Aloca requisitos aos subsistemas
3 Engenharia de Requisitos de Software
O Processo de Engenharia de Sistemas
O Processo de Engenharia de Sistemas
3
Desenvolvimento de subsistema
→ Subsistemas de hardware e software são projetados p j
e implementados em paralelo
3
Integração de Sistema
Integração de Sistema
→ Subsistemas de hardware e software são integrados
para formar o Sistema de Informação para formar o Sistema de Informação
3
Validação de Sistema
O Si t d I f ã é lid d l ã
→ O Sistema de Informação é validado com relação
Engenharia de Sistemas
g
O que é? Software é parte de um Quais são os passos? O que é? Software é parte de um
sistema. As demais partes também devem ser ser identificadas,
requisitos eliciados, analisados,
Quais são os passos?
Objetivos e requisitos operacionais são eliciados. Uma especificação é produzida e validada. Controle é requisitos eliciados, analisados,
especificados, modeladas e validadas.
produzida e validada. Controle é exercido sobre mudanças.
Qual o resultado?
Represen-tação do sistema Fornece
caracte-Quem faz? Engenheiros de
sistemas visam compreender os re-quisitos junto aos clientes/usuários.
tação do sistema. Fornece caracte-rísticas operacionais, funcionais, comportamentais e visão da
arquitetura quisitos junto aos clientes/usuários.
Por que é importante? “Não se
arquitetura.
Como assegurar que fiz corretamente? Elicie os
req isitos a alie os q anto à vê a floresta pelas árvores” requisitos, avalie-os quanto à
Motivação
ç
Nada é mais difícil e incerto do que Nada é mais difícil e incerto do que conduzir a introdução de uma nova ordem de coisas.
Machiavelli Machiavelli
Engenharia de sistemas
g
3Objetivo
3Objetivo
→Analisar
P j t
→Projetar
→
Organizar elementos de um sistema
3
Sistema pode ser
Serviço
→
Serviço
→Produto
T
l i
que transforma ou
Objetivos em detalhes
j
Engenharia de Sistema
Engenharia de Sistema
Colocar software em um contexto
→ Colocar software em um contexto → Atribuir um papel para software
C t ft d i l t
É importante entender o contexto
p
(fato)Engenharia de Sistema
(fato) IncluiEngenharia de Software
Linha do tempo
p
Engenharia de Sistema
Ênfase da Engenharia de Sistemas
g
3
Sistemas Educacionais
3
Sistemas de Segurança
S s e as de Segu a ça
3Sistemas Políticos, ...
SISTEMAS BASEADOS EM COMPUTADOR (SBC)( )
Sistema baseado em computador (SBC)
p
C j t j d l t j bj ti
3 Conjunto ou arranjo de elementos cujo objetivo
beneficia-se
do processamento de informaçõesEl t d SBC 3 Elementos de SBCs:
→ Software (programas, dados, documentos)
Hardware
Software
→ Hardware
→ Pessoas (usuários e operadores)
→ Bases de dados (coleção de informações) → Bases de dados (coleção de informações) → Documentação (descrição do sistema)
→ Procedimentos (define uso de cada elemento)
Engenheiro de Sistemas
g
3
Pode definir vários modelos: uma solução
completamente automatizada, uma
semi-automatizada ou uma não semi-automatizada
Influência relativa dos elementos (pessoas, software e hardware) varia conforme o modelo
SBC
Software é um dos elementos cujas interações
j
ç
realizam trabalho útil
PessoasHardware
BD
Software
Procedimentos Procedimentos
Engenharia de Sistema (tipos)
g
( p )
3
SBC apóia
3SBC apóia
→
Empresa comercial
E
h i d
d
ó i
Engenharia de processos de negócios
3
SBC é parte de
→
Produto
Exemplos
p
E
h i d
d
ó i
3
Engenharia de processos de negócios
→ Sistema de Informação para auxiliar o departamento
d l
de pessoal
→ SI para auxiliar o controle de estoque
SI ili d d li
→ SI para auxiliar o cadastro de clientes
3
Engenharia de produtos (produção)
→ Software de controle de automóvel → Software de controle de um robô → Software de central telefônica
Hierarquia da engenharia de sistemas
g
Visão do mundo Negócio ou produto (supermercado) Domínio de interesse Visão do domínio Visão do domínio (vendas) Elemento de sistema Visão de elemento (software de caixa) Engenharia Visão detalhada Engenharia de Software Visão detalhadaSistema versus Software
Nã d i ã t d ft
3 Não se seduza por visão centrada em software
3 Considere todos os elementos do sistema antes de se concentrar no software
se concentrar no software
3 Sistemas complexos são uma hierarquia de macro elementos que também são sistemas
elementos que também são sistemas
3 Uma boa engenharia de sistemas inicia-se com uma clara compreensão do contexto — a visão do mundo clara compreensão do contexto a visão do mundo — e então progressivamente o foco se estreita até que os detalhes técnicos sejam compreendidos
Processo de Modelagem
Engenharia de Sistemas
g
3
Modelos são criados para ...
→
Definir e representar processos
→Definir e representar processos
→
Representar suposições
→
Definir componentes exógenos e endógenos
→
Representar ligações
p
g ç
→
Comunicar o entendimento sobre o assunto
R i t
ã
tilh d
Simulação de sistemas
ç
3
Simulação envolve
3
Simulação envolve
→ Quais os dados (objetos do negócio)? → Quais os relacionamentos entre eles? → Como os dados fluem na empresa?
3
Por que simular?
→ Eliminar problemas reduzir custos → Eliminar problemas, reduzir custos
Engenharia de Processos de Negócios
N ó i
f ti
t
i f
ã
g
g
3
Negócio que efetivamente usa informação
3
Analisar e Projetar
→ Dados e relacionamentos (p. ex.: cliente e produto) → Softwares que transformam dadosq
→ Infra-estrutura tecnológica (hardware e software)
3
O que é preciso?
O que é preciso?
→ Definição da hierarquia
Linha do tempo
Engenharia de Processos de Negócios
p
Engenharia de Sistema
Planejamento estratégico de informação Análise de Área do Negócio
Engenharia de Software
(definição de requisitos de SI)
(definição de requisitos de SI)
Hierarquia
q
Engenharia de Processos de Negócios
Planejamento estratégico de informação
Empresa
Visão do mundo
área
Visão de domínio Análise de área de negócio
Sistema de informação Visão de elementos Engenharia de ft Visão de elementos software
Visão de mundo
Engenharia de Processos de Negócios
Visão de mundo
3 Planejamento estratégico de informação
ó é
→ Todo o negócio é visto como uma entidade → Identifica domínios (finanças, vendas, ...)
D fi d d i í i t d
→ Define dados visíveis a todos
→ Define relacionamento entre os dados
Define como fluem os dados entre domínios
→ Define como fluem os dados entre domínios → Define objetivos
Isola fatores de sucesso
Visão do domínio
Engenharia de Processos de Negócios
A áli d á d ó i
3 Análise de área de negócio
→ Detalhes de dados
Requisitos funcionais
→ Requisitos funcionais
→ Identificados por domínio
→ Responde ao que é exigido em um negócio → Responde ao que é exigido em um negócio → Reduz o escopo do planejamento estratégico
3 Objetivoj
→ Isolar oportunidade de sistema de informação
Observação
Engenharia de Processos de Negócios
ç
3
Engenheiro de software não se envolve
3
Engenheiro de software não se envolve
com
Pl j t E t té i d I f ã (PEI)
em geral
→ Planejamento Estratégico de Informação (PEI) → Análise de Área do Negócio (AAN)
3
Engenheiro de software envolve-se com
→ Definição de requisitos de SI (suporte ao ç q ( p
negócio)
Se não foram realizadas
Então o risco do projeto é muito alto!
Então o risco do projeto é muito alto!
Resumo
Engenharia de Processos de Negócios
Resumo
3
Planejamento estratégico de informação
Obj i é i
Visão do
Mundo → Objetivos estratégicos
→ Fatores de sucesso
Mundo
→ Modelo da empresa é criado
3
Análise de área de negócio
Visão de→ Serviços e processos são modelados
→ São estabelecidos relacionamentos entre eles
Domínio
Engenharia de produtos
g
p
T d i d j d li t d t
3 Traduzir desejos do cliente em um produto
3 Software, hardware, dados e pessoas (definir) 3 Infra-estrutura de suporte
→ Tecnologia para conectar componentes → Documentos, vídeos, ...
3 Visão de mundo
→ engenharia de requisitos
3 Visão de domínio
Hierarquia
q
P d t Engenharia de Produtos Produto Engenharia de requisitos Visão do mundo software hardware Engenharia de componentes dados pessoas Visão de domínio funçãodados Comportamento Análise
Projeto Visão de elementos Engenharia de software Projeto Construção Construção Visão detalhada
Problema em aberto
3
Como assegurar que a especificação do
sistema atende as necessidades dos clientes?
3Engenharia de Requisitos
i d li d j
Mecanismos para entender o que o cliente deseja, analisar necessidades, avaliar a exeqüibilidade, negociar uma solução razoável
negociar uma solução razoável, especificar solução não-ambígua,
validar a especificação e gerenciar requisitos
Software Requirements Engineering Thayer and Dorfman, IEEE Press 1997 IEEE Press, 1997
Eliciar requisitos
q
Nã é i l ? 3 Não é simples?
→ Basta perguntar ao cliente, ao usuário, ...
e registrar as informações obtidas
→ e registrar as informações obtidas
3 Por que é difícil?
Fronteiras do sistema mal definidas
→ Fronteiras do sistema mal definidas
→ Clientes não estão seguros do que precisam
→ Clientes não entendem as capacidades e limitações do p ç
ambiente computacional
→ Clientes omitem informações “óbvias”
Cli t ifi i it t ditó i t
Eliciar requisitos
q
E i t
di t i
li i
t i
bl
3
Existem diretrizes para eliminar tais problemas
→ Avaliar a viabilidade técnica
→ Identificar pessoas que conhecem a organização → Identificar restrições, ...
3
Existem métodos
→ IBIS, JAD, CORE, QFD, SSM, FAST, ..., , , , , ,
Issues in Requirements Elicitation
Mi h l G Ch i t l & K C K
Michael G. Christel & Kyo C. Kang
Análise e Negociação de Requisitos
g
ç
q
3 Após coletados, os requisitos são analisados
→ Categoriza e organiza em subconjuntos → Valida relacionamento com outros
→ Examina requisito quanto à consistência
V ifi i õ bi üid d
→ Verifica omissões e ambigüidade
→ Classifica (risco, prioridade, custo, ...)
A ó li d i it ã i d
3 Após analisados, requisitos são negociados
→ Conflitos
P i id d
Análise e Negociação de Requisitos
g
ç
q
Engenharia de Requisitos3
Perguntas e respostas obrigatórias
→ Cada requisito é consistente com o objetivo do
produto? p
→ Todos os requisitos foram especificados? → Todos são necessários ao objetivo?
→ Todos são necessários ao objetivo?
→ Quem deu origem ao requisito? Há conflitos?
Cada requisito é viável tecnicamente no
→ Cada requisito é viável tecnicamente no
ambiente em que será desenvolvido? Cada requisito pode ser testado?
Especificação de Requisitos
p
ç
q
E
ifi
ã
d
i t d
i
3
Especificação pode ser registrada via
→ Documento escrito → Modelo gráfico
→ Modelo formal
→ Coleção de cenários (casos de uso) → Protótipo ou combinação destes
3
Modelo de especificação pode ser seguido
Validação de Requisitos
ç
q
3
Avaliação da qualidade
→ Padronização da especificaçãoç p ç → Adequação aos propósitos
3
Equipe de revisão inclui
3Equipe de revisão inclui
→ Engenheiros de sistema, clientes, usuários, ...
Ch kli
d
d
3
Checklists devem ser empregadas
→ Tornam o trabalho mais objetivo → Evitam omissões
Gerência de Requisitos
q
3
Identifica, controla e acompanha alterações
nos requisitos em qualquer momento do projeto
3Para isto é preciso
Identificar unicamente cada requisito
→ Identificar unicamente cada requisito → Estabelecer conexões
Clientes X Requisitos
• Clientes X Requisitos
• Requisitos derivados X Requisitos geradores
Classificação (categoria) X Requisitos
Requisitos, segundo Brooks
q
, g
A parte mais difícil da construção de um
A parte mais difícil da construção de um
sistema de software é decidir o que construir.
N h
t
t t d
Nenhuma outra causa tantos danos
se feita de forma errada.
h
é i difí il d
i i
Nenhuma outra é mais difícil de corrigir.
Frederick BrooksNo Silver Bullet: Essence and Accidents of Software Engineering No Silver Bullet: Essence and Accidents of Software Engineering IEEE Computer, vol 20(4), 1987, pp. 10-19
Especificação de sistema
p
ç
P d t fi l d h i d i it 3 Produto final da engenharia de requisitos 3 Base para engenharia de software
3 Para um sistema baseado em computador
→ Descreve funções
Descre e o desempenho
→ Descreve o desempenho → Descreve restrições
3 Delineia cada elemento de sistema 3 Delineia cada elemento de sistema
3 Descreve dados e controle que servem de entrada e saída do sistema
Modelagem de sistema
g
3
Para especificar é preciso um modelo
→ Software pode ser modelado como entrada-p
processamento-saída
3
Outras visões pode ser acrescentadas
Outras visões pode ser acrescentadas
→ Interface com o usuário
Manutenção e teste
→ Manutenção e teste
→ Visão orientada a objetos
Um modelo fornece uma “grande fotografia” do que construir. Nem todo detalhe precisa ser especificado. p p
Resumo
3 Sistema de Informação inclui pessoas, software, e hardware
3 Engenharia de sistemas ajuda a traduzir as
necessidades do cliente em um modelo de sistema 3 Inicie com a visão do mundo
3 Especialize esta visão naquela do domínio
3 Cada elemento é tratado pela sua engenharia
3 A engenharia de sistemas produz a
Especificação
3 A engenharia de sistemas produz aEspecificação
Documento de Requisitos
Documento de Requisitos
U
d E
h i d
d i
3
Um processo de Engenharia deve produzir um
Documento de Requisitos
→ Artefato (formal?) para definição dos requisitos
3
É uma ferramenta usada para comunicação
É uma ferramenta usada para comunicação
entre usuários, desenvolvedores e gerentes
Deve contemplar os requisitos de todos os
→ Deve contemplar os requisitos de todos os
envolvidos (stakeholders) e não apenas dos usuários diretos
Conteúdo do Documento de Requisitos
Conteúdo do Documento de Requisitos
3
Deve descrever uma visão geral do sistema
3
Deve descrever uma visão geral do sistema
→ regras de negócio atendidas pelo sistema
serviços e funções que o sistema deve prover
→ serviços e funções que o sistema deve prover → propriedades e restrições para sua operação
definições de interfaces e integração
→ definições de interfaces e integração
→ informações sobre o domínio de aplicação
t i õ b d
→ restrições sobre os processos usados para
desenvolver o sistema
descrição do hardware em que o sistema irá
Conteúdo do Documento de Requisitos
Conteúdo do Documento de Requisitos
3
O documento deve conter
3O documento deve conter
→
Introdução
• Visão geral do sistema
• Necessidades de negócio suportadas peloNecessidades de negócio suportadas pelo
sistema
Glossário
→
Glossário
Usuários do documento de requisitos
q
3 Clientes do sistema
→ especificam os requisitos e lêem o documento para
verificar que eles correspondem às suas necessidades 3 Gerentes de Projeto
→ usam o documento para planejar o processo de
d l i
desenvolvimento
3 Desenvolvedores e Mantenedores
→ usam o documento para compreender o sistema
3 Testadores
Proposta de Estrutura do documento
Proposta de Estrutura do documento
3 IEEE/ANSI 830-1998IEEE/ANSI 830 1998 3. Requisitos específicos 1. Introdução
→ Propósito do documento,
q p
→ abrangendo requisitos
funcionais, não funcionais e de interface
escopo do produto,
definições, acrônimos e siglas, referências e visão
de interface 4. Apêndices → documentos complementares, geral do restante do documento 2. Descrição Geral
normas, leis, etc.
5. Índice 2. Descrição Geral
→ Perspectiva do produto:
funções, características dos usuários restrições dos usuários, restrições gerais, hipóteses e
Resultado da Engenharia de Requisitos
g
q
Especificação de Requisitos de Software
Na ausência de tal documento, bem escrito:
• desenvolvedores não sabem o que construir clientes não sabem o que esperar
Especificação de Requisitos
Especificação de Requisitos
3
Requisitos são geralmente escritos em
linguagem natural suplementados por
diagramas e equações
g
q ç
→ Figuras complementam, mas não especificam
requisitos! requisitos!
3
Alguns problemas
uso de condições complexas e confusas
→ uso de condições complexas e confusas → terminologia inconsistente e ambígua
redatores supõem que leitores conhecem o
→ redatores supõem que leitores conhecem o
Propostas para Especificação de Requisitos
Propostas para Especificação de Requisitos
3
Requisitos são mais lidos do que escritos
→ invista na elaboração de requisitos legíveis e
compreensíveisp
→ não suponha que o leitor tem o mesmo nível de
conhecimento que o redator do documentoq
→ requisitos devem descrever o problema (caso
contrário se transformam em restrições)ç )
→ aloque tempo para revisão e re-elaboração do
documento documento
Diretivas para especificação
Diretivas para especificação
D fi
t d
t
l
ti
d
3
Defina um meta-documento ou algum tipo de
padrão para descrição de requisitos
→
a IEEE 830 pode ser um ponto de partida
3
Use uma linguagem simples consistente e
3Use uma linguagem simples, consistente e
concisa
ã
h
l it
t
i l i
→
não suponha que o leitor use a sua terminologia
3
Faça revisão e garantia da qualidade da
g
especificação
→
a qualidade do produto depende disso!
→a qualidade do produto depende disso!
Diretivas para especificação
Diretivas para especificação
S l
t
li
t
l
t
3
Suplemente a linguagem natural com outras
descrições dos requisitos
→
use diagramas de maneira apropriada
(complementando, não substituindo texto)
(
p
,
)
• fórmulas e exemplos são úteis
3
Especifique requisitos quantitativamente
3Especifique requisitos quantitativamente
Processos em Engenharia de Requisitos
Processos em Engenharia de Requisitos
3
Um processo é um conjunto organizado de
atividades para transformar entradas em
saídas
3
Descrições de processos encapsulam
3
Descrições de processos encapsulam
conhecimento e permitem a sua reutilização
Exemplos de descrições de processos
→ Exemplos de descrições de processos
• Manual de Instrução da máquina de lavar
Livro de receitas
• Livro de receitas
• Manual de procedimentos bancários
Manual da qualidade para desenvolvimento de software
Processo de Engenharia de Requisitos
g
q
Sistemas Existentes Especificação Processo de Engenharia Necessidades de Usuários Padrões Requisitos Acordados Especificação do Sistema Engenharia de Requisitos Padrões OrganizacionaisLeis, Normas e , Modelos do Regulamentos
Informações do D í i
Sistema
3 Envolve criatividade, capacidade de abstração, interatividade
com um grupo heterogêneo de pessoas visão de engenharia
Domínio
com um grupo heterogêneo de pessoas, visão de engenharia, experiência e conhecimento do problema
Requisitos no Modelo Cascata
Requisitos no Modelo Cascata
Systemy System requirements specification requirements
engineering Softw are requirements
engineering
S f
Softw are requirements specification
Softw are design specification Softw are
design
Programming and unit testing
Executable software system
Completed system System testing System operation Completed system operation
Requisitos no Modelo Espiral
Requisitos no Modelo Espiral
Informal statement of requirements
Decision point: Accept document or re-enter spiral
Requirements elicitation Requirements analysis and negotiation Agreed requirements Requirements document and validation report S TART Requirements documentation Requirements validation
Requisitos no Modelo de Prototipação
Requisitos no Modelo de Prototipação
AC TIONS Understand problem Establish outline requirements Select prototyping system Develop prototype Evaluate prototype Req. engineer
Domain expert Req. engineerEnd user
Softw are
engineer Req. engineerSoftw are
End-user Domain expert
RO LES
o e pe
End-user End-user Project manager
So w e
engineer Req. engineer Software engineer
Cuidados no processo de E R
Cuidados no processo de E.R.
3
O processo de E.R. deve garantir que não haja
p
g
q
j
→ Falta de envolvimento dos clientes ou dos técnicos → Omissão de necessidades do negóciog
→ Conflitos de linguagem → Requisitos q
• Ambíguos não mensuráveis inconsistentes • Incorretos implícitos incompletos
→ Falta de gerência de requisitos
• Responsabilidades indefinidas
Caso de Sucesso Taj-Mahal
j
Produto
DesenvolverDesejo
Eliciar Shah Jehan requisitos Shah JehanSituação típica
p
Sobre as orelhas.
Ok orelhas.
O que é comum e indesejável?
q
j
Estou aqui para coletar os Estou aqui para coletar os
requisitos, levará só 30 minutos!
O sr Está O sr. Está
de acordo? Sim, não é o que combinamos?
9 meses depois de muito esforço e
p
ç
atrasos ...
Ficou pronto!!??
O
é i
?
Como evitar esta situação?
ç
Qual foi o
problema?
Entender o problema é o primeiro passo
p
p
p
Quais as reais necessidades?
Q
Engenheiro de requisitos Cliente (Usuário)Eliciar requisitos
q
Não há o que capturar,
Você se sente melhor, hoje?
Não há o que capturar,
tem-se que eliciar!
Não sei doutor,sinceramente sinceramente.
Resultado só
ocorre após
ocorre após
várias sessões!
Definindo o sistema
Cuidado!
Trecho com alto índice de acidentes! E R
Solução
Problema
E.RSolução
Problema
O que os “bons” fazem?
q
í
3 Usam modelos compreensíveis
(DFDs, DTEs, OO, ...)
3 Portal web interno acessível aos 3 Portal web interno acessível aos
interessados
3 ER executada em várias rodadas 3 Protótipos
3 Alocação de 15% a 40% do esforço total
para ER para ER
3 Revisões constantes com os usuários 3 Integração de processos (técnico e g ç p (
Atividades do Processo de E.R.
Gerência
Elicitação Negociação
e Análise Documentação Validação
Aspirações dos Clientes Documento de Requisitos Requisitos Clientes, Conhecimento do Domínio, Sistemas q Modelos do Sistema Requisitos Acordados Sistemas Existentes, Leis e
Normas, e mais ... Aquisição Desenvolvimento / Manutençãoç
Ferramentas de suporte
p
3
Ferramentas CASE automatizam muitos
d E
h i d S ft
processos da Engenharia de Software
→ No entanto, o apoio à E.R. ainda é limitado devido à
informalidade e a variabilidade do processo informalidade e a variabilidade do processo
3
Há duas grandes classes de ferramentas
→ Ferramentas de Modelagem e Validação
• apóiam o desenvolvimento de modelos para especificação
do sistema e a verificação da completitude e da do sistema e a verificação da completitude e da consistência desses modelos
→ Ferramentas de Gerência → Ferramentas de Gerência
Teoria x Prática
Supostos benefícios
Algumas referências sobre Engenharia de Requisitos
Propostas teóricas
Realidade constatada
Realidade constatada
Arquitetura de CASE para E.R.
Arquitetura de CASE para E.R.
Browser de Sist. Consulta
Documento de Conversor de Req. a Req. Sist Rastreament BD d Req. em Ling. Nat. Conversor de Req. / Sist. Rastreament. Req. Relat de BD de Requisitos Conversor p/ Proc.Texto Relat. de Rastreabilidade Ger.Relatório Sist. Contr. Mudanças Relat. de Requisitos
Elicitação de Requisitos
3 A identificação de requisitos começa quando
se reconhece que existe um problema que necessita de uma
ç
q
→ se reconhece que existe um problema que necessita de uma
solução
→ surge uma idéia ou necessidade novag
3 Técnicas para descoberta e compreensão de requisitos
→ Etnografia, Análise de Tarefas, Análise de Cenários → Etnografia, Análise de Tarefas, Análise de Cenários → Projeto Centrado no Usuário, Ergonomia, Semiótica
→ Técnicas de Reunião, Projeto Participativo (JAD, FAST), j p ( , ) → Workshops, Entrevistas, Questionários, Problem Frames → Teoria de Agentes, Prototipação, Brainstormg p ç
Barreiras na Elicitação de Requisitos
3
Há dificuldades de
ç
q
3
Há dificuldades de
→ comunicação com o usuário
→ entendimento completo do problema → negociação de interesses conflitantes → organização das informações
→ controle de mudanças → controle de mudanças → trabalho em equipe
validação dos requisitos
Exemplo: Aeroporto de Denver
p
p
3 O aeroporto tem área para aterrissagem de 3 jatos ao p p g j
mesmo tempo
→ O sistema de controle de bagagem teria uma esteira de 29 km com
capacidade de transportar as bagagens de 20 companhias aéreasp p g g p
→ Este sistema seria controlado por 100 computadores ligados em
rede, 5000 sensores eletrônicos, 400 receptores de radio, 56 leitoras de código de barra
→ Tudo orquestrado para enviar as bagagens aos seu destino de
forma segura, correta e rápida através de carrinhos inteligentes
3 Data programada de inauguração: Out/1993p g g ç
3 Valor do contrato do Sistema: US$ 234 milhões 3 Custos do atraso: US$ 1 milhão/dia
I ã d A t F /1995 ( i t d
3 Inauguração do Aeroporto: Fev/1995 (com o sistema de
bagagem provisório)
Razões do Insucesso
3 Problema principal: escopo e requisitos mal definidos e instáveis 3 Foram desperdiçados cerca de $193 milhões
3 Foram desperdiçados cerca de $193 milhões
→ O atraso por dia gerava custos de 1 milhão em juros e custos operacionais → A empresa desenvolvedora do sistema (BAE) não tinha previsão de
quando o sistema estaria em funcionamento quando o sistema estaria em funcionamento
3 Na implantação verificou-se
→ a falta de funcionalidades que não foram previstas no levantamento de
requisitos requisitos
→ funções que foram definidas, mas não operavam corretamente
3 A BAE, líder mundial em sistemas de bagagens, propôs um prazo
inicial de 4 anos inicial de 4 anos
3 Prazo contratual, estabelecido por exigência do cliente, foi de 2 anos
→ Durante o desenvolvimento foram realizadas 17 grandes alterações nos
requisitos, uma delas com custo de $ 100 milhões requisitos, uma delas com custo de $ 100 milhões
Fatores Humanos na E R
Fatores Humanos na E. R.
3 A E.R. reúne uma diversidade de papéis
→ Alguns estão mais interessados no problema a ser
resolvido, outros na solução que será proposta
Desenvolvedores e seus gerentes usuários e seus gerentes
• Desenvolvedores e seus gerentes, usuários e seus gerentes,
agentes reguladores externos, especialistas no domínio, ...
3 O sucesso do processo depende de fatores sociais eO sucesso do processo depende de fatores sociais e organizacionais
→ Diversidade de conhecimentos, de terminologia e de , g
objetivos individuais e organizacionais
→ Personalidade e status de cada ator no processo → Influência política de cada ator na organização → Influência do grupo em indivíduos
Comunicação Desenvolvedor X Usuário
ç
Visão dos Desenvolvedores Visão dos Usuários
D l d ã
3 Usuários não sabem o que
querem
3 Desenvolvedores não
entendem as necessidades operacionais
3 Usuário pedem sem
necessidade
3 Usuários não conseguem
3 Desenvolvedores colocam
muita dificuldade em qualquer pequena solicitação
3 Usuários não conseguem
transmitir o que eles querem
3 Usuários têm muitas
p q ç
3 Desenvolvedores querem
definir o que os usuários devem fazer 3 Usuários têm muitas necessidades puramente políticas U á i ã b devem fazer 3 Desenvolvedores não conseguem transformar necessidades em um sistema
3 Usuários não sabem necessidades em um sistema
Comunicação Desenvolvedor X Usuário
ç
Visão dos Desenvolvedores Visão dos Usuários
3
Usuários se recusam a
t
bilid d
3Desenvolvedores estão
t
d
ter responsabilidade
pelo sistema
U á i
ã
tã
sempre atrasados
3Desenvolvedores
i
3
Usuários não estão
compromissados com
o projeto
sempre querem mais
tempo e menos esforço
D
l d
ã
o projeto
3Usuários mudam de
idéia e não
3Desenvolvedores são
incapazes de atender
rapidamente as
idéia e não
permanecem dentro do
planejamento
rapidamente as
necessidades de
modificação
planejamento
modificação
Técnicas de Análise e Documentação
ç
3 Envolvem representação, verificação e validação de i it
requisitos
→ Métodos formais (VDM, Z, Lógica)
Mé d d
→ Métodos estruturados
→ Métodos Orientados a Objetos
3 Dificuldades
→ Classificar requisitos e estabelecer prioridades → Detectar, negociar e resolver conflitos
→ Identificar os limites do sistema e como ele deve interagir
bi t com o seu ambiente
Especificação de Software
p
ç
3 Especificações são definições que descrevem várias perspectivas do software
→ visão macroscópica: Especificação de Requisitos representações intermediárias: Artefatos de Design → representações intermediárias: Artefatos de Design → visão detalhada: Código de Programas, DDL, etc.
3 Uma especificação de requisitos devep ç q
· ser a base para o desenvolvimento
· permitir o controle da qualidade do produto · permitir o controle da qualidade do produto
· estabelecer a comunicação entre o pessoal envolvido no projeto auxiliar no entendimento do problema
· auxiliar no entendimento do problema · validar o design e o produto resultante
Especificação de Requisitos
p
ç
q
3 Descrição textual
→ descrição dos dados, relações e funções do sistema
3 Modelagem através de métodos específicos
S ft i l
→ Software convencional
• Diagrama de fluxo de dados
• Diagrama entidade relacionamentog • Diagrama de transição de estados → Software orientado a objetos
Di d d
• Diagrama de casos de uso • Diagramas de classes
• Diferentes de transição de estadoç
Tratamento de Requisitos
Tratamento de Requisitos
Tratamento de Requisitos
q
3 O slide anterior mostra uma visão geral (etapas) do workflow de Requisitos 3 O slide anterior mostra uma visão geral (etapas) do workflow de Requisitos
→ As atividades da etapa “Analyze the Problem” serão mostradas em destaque no
próximo slide
3 Os objetivos deste workflow sãoOs objetivos deste workflow são
→ Estabelecer e manter o entendimento entre clientes e outros stakeholders sobre o
que o sistema deve fazer e porquê
→ Prover aos desenvolvedores do sistema um melhor entendimento dos requisitos
do sistema do sistema
→ Definir os limites do sistema
→ Prover uma base para o planejamento do conteúdo técnico das interações, e para
a estimativa de custo e tempo para desenvolver o sistema
→ Definir uma interface para o usuário enfatizando suas necessidades e objetivos
3 Para atingir estes objetivos, este workflow descreve como definir uma visão
do sistema e traduzir a visão em um modelo de casos de uso que, com as especificações suplementares define os requisitos detalhados do sistema especificações suplementares, define os requisitos detalhados do sistema
Atividades da Disciplina de Requisitos
O slide mostra as atividades e papéis envolvidos na execução deste workflow N d t No destaque as atividades envolvidas na etapa “Analisar o Problema” Analisar o Problema Problema O agrupamento destas atividades para aexecução desta etapa, juntamente com os papéis e artefatos l i d ã relacionados são mostrados no próximo slide
Detalhamento de “Analisar o Problema”
Para cada uma das atividades o processo fornece os passos que fornece os passos que devem ser seguidos Por exemplo, para a atividade “Encontrar atores e casos de uso” os passos são:
Encontre atores -Encontre atores
-Encontre casos de uso -Descreva como atores e casos interagem e casos interagem -Empacote casos e atores -Apresente o Modelo em diagramas de casos
Documento de Visão
Define o Escopo9Qual é o problema que queremos resolver com o produto? 9 Quais são as causas para que o problema exista?
9 Quais são as causas para que o problema exista? 9 Como o problema afeta os envolvidos no projeto? 9 Quem são os usuários do sistema?
9 Quais os benefícios que o produto trará para os usuários? 9 Porque o produto precisa se desenvolvido?
9 Quem será afetado pelos produtos do sistema? 9 Quem será afetado pelos produtos do sistema?
9 Quem irá avaliar e aprovar o sistema quando ele for implantado? 9 Existe algum outro usuário interno ou externo cujas necessidades g j também serão atendidas?
Requisitos obscuros exigem ciclo evolutivo
q
g
Concepção Elaboração Construção Transição Fase
Preliminar Elab#1 Elab#2 Const#1 Const#2 Const#N Trans#1 Trans#2
Iteração
tempo
Escopo Arquitetura Primeira Release Escopo Arquitetura Primeira Release
versão do Produto operacional
Ciclo de Vida Evolutivo – Fase de Concepçãopç
¾ b l d j di d li i
¾ Estabelecer o escopo do projeto e as condições de limite, incluindo uma visão operacional, critérios de aceitação, o que faz parte do produto e o que não faz
¾ Identificar os processos críticos do sistema, os cenários básicos de operação que conduzirão os principais compromissos de design
¾ Mostrar pelo menos uma arquitetura candidata de suporte a alguns destes cenários
¾ Estimar o custo e o cronograma para todo o projeto
¾ Estimar os riscos potenciais e fontes de imprevisibilidade
Ciclo de Vida Evolutivo – Fase de Elaboração
¾ Assegurar que a g q arquitetura, os requisitos e planosq , q p estão estáveis
¾ Garantir que os riscos foram suficientemente mitigados
¾ Tratar os riscos significativos do ponto de vista de arquitetura
¾ Tratar os riscos significativos do ponto de vista de arquitetura
¾ Produzir um odu u protótipop o ó po
Ciclo de Vida Evolutivo – Fase de Construção
¾ Minimizar os custos de desenvolvimento otimizando os recursos e evitando re-trabalho
¾ Produzir versões “úteis” (alfa, beta e outras de teste)
¾ G i i d i id d i id d
¾ Garantir qualidade com produtividade e praticidade
¾ Completar a análise, design, desenvolvimento e testes de todas f i lid d i it d
as funcionalidades requisitadas
¾ Desenvolver interativa e incrementalmente uma aplicação completa pronta para ser entregue à comunidade usuária
completa, pronta para ser entregue à comunidade usuária
¾ Decidir se a aplicação, os sites e os usuários estão todos prontos para receber a aplicação
para receber a aplicação
¾ Conseguir algum grau de paralelismo no trabalho das equipes de desenvolvimento
Ciclo de Vida Evolutivo – Fase de Transição
¾ Disponibilidade do beta teste para validação do novo sistema em função das expectativas do usuário
¾ Disponibilidade do beta teste e operação paralela com relação ao legado que está sendo substituído
¾ Conversão do banco de dados operacional
¾ Treinamento dos usuários e da equipe de manutenção
¾ Iniciativas de marketing, distribuição e força de venda
¾ A i id d d j i ã d lh i d
¾ Atividades de ajuste tais como correção de erros, melhoria de desempenho e usabilidade
¾ A li ã d d t t d d ité i d
Critérios de Sucesso para o Ciclo Evolutivo
Recursos di í i
Produto suficientemente maduro para os clientes
Aceite dos usuários disponíveis
para a próxima fase
Aceite dos usuários ou fim do ciclo de vida
Concepção Elaboração Construção Transição
tempo
Escopo Arquitetura Primeira Release versão do Produto operacional
Entender o problema
Entender a solução Tem uma solução Entender a solução Tem uma solução
Exemplos de boas práticas de E. R.
Exemplos de boas práticas de E. R.
3 Definir uma estrutura de documento padrãoDefinir uma estrutura de documento padrão 3 Definir precisamente termos básicos
3 Usar cenários para eliciar requisitos
3 Identificar univocamente cada requisitoq 3 Especificar requisitos quantitativamente
3 Usar listas de verificação para análise e validação 3 Estabelecer políticas para gerência de requisitosp p g q
Exemplos de boas práticas de E. R.
p
p
3 Reutilizar requisitos de outros projetos 3 Melhorar continuamente o processo
3 Entender o problema antes de começar a documentar p ç modelos
3 Desenvolver protótipos que auxiliem ao usuário p p q visualizar como seus requisitos serão atendidos
3 Registrar a origem e a justificativa de cada requisitoRegistrar a origem e a justificativa de cada requisito 3 Utilizar múltiplas visões dos requisitos
3 Priorizar requisitos 3 Priorizar requisitos
Qualidade de Requisitos
Q
q
3
Requisitos com qualidade evitam re-trabalho
→ 75% dos erros são detectados depois das fases de
codificação e teste de unidadesç
• 45% destes erros são erros de especificação e projeto • Apenas 9% são erros de codificaçãope as 9% são e os de cod cação
3
56% de todos os erros detectados em um
software são devido a problemas na
software são devido a problemas na
Engenharia de Requisitos
Qualidade de Requisitos
Q
q
3
Erros Típicos em Requisitos
→ 49% fatos incorretos → 31% omissões → 31% omissões → 13% inconsistências 5% bi üid d → 5% ambigüidades → 2% outros erros
3
Esses erros são riscos para o projeto
→ Tenha um plano de contingência → Tenha um plano de contingência
Checklist para Qualidade de Requisitos
p
Q
q
→ os objetivos do sistema estão bem definidos? → os objetivos do sistema estão bem definidos?
→ os requisitos definidos estão explícitos, corretos,
completos e consistentes entre si? completos e consistentes entre si?
→ eles refletem as necessidades de todos os
envolvidos? envolvidos?
→ há margem para interpretações subjetivas de
requisitos? requisitos?
Checklist para Qualidade de Requisitos
p
Q
q
os diagramas são claros e fáceis de entender?
→
os diagramas são claros e fáceis de entender?
→
as funções estão adequadamente descritas?
→
os riscos do projeto foram considerados?
→existem fatos implícitos, redundâncias ou
→existem fatos implícitos, redundâncias ou
omissões?
todas as interfaces para outros elementos do
→
todas as interfaces para outros elementos do
sistema, inclusive com o usuário, foram
d fi id ?
Verificação Contínua de Qualidade
ç
Q
Minha aplicação respondeConfiabilidade
responde satisfatoriamente ? Minha aplicação fazo que é preciso ?
• Verificação da sustentabilidade
das operações da aplicação
Funcionalidade
q p
• Verificação de cada
cenário de uso
Desempenho
p
• Teste de desempenho sob
carga esperada e no pior caso Requisitos:
Funcionais
Gerenciar Mudanças
As Solicitações de Mudanças têm sua origem em varias fontes através das iterações do ciclo de vida do produto
Entradas Cliente/Usuário Final Requisitos Marketing Nova Característica Canal único de aprovações Modelagem Novo Requisito Processo de Aprovação das Decisões de aprovações Codificadores T t d Testes Código Bug Suporte Técnico/ á Decisões Testadores Manutenção Testes Usuário Final Solicitação de Mudança
Maturidade do Processo de ER
3
Nível inicial
→ Nenhum processo de ERp
→ Problemas clássicos de requisitos são recorrentes,
incluindo
• Volatilidade de requisitos • Stakeholders insatisfeitos • Alto custo de re-trabalho
• Sucesso depende de experiência e habilidades p p
Maturidade do Processo de ER
3
Nível repetível
→ Padrões definidos para documento de requisitosp q
• Verificação do padrão em todos os projetos
→ Políticas e procedimentos estabelecidos para p p
gerenciar mudanças em requisitos
• Visibilidade das decisões • Negociação
Maturidade do Processo de ER
Ní el definido 3 Nível definido
→ Padrões definidos para documento de requisitos
→ Políticas e procedimentos estabelecidos para todas as → Políticas e procedimentos estabelecidos para todas as
atividades da ER
→ Processo de ER definido com base em boas práticas e
adaptado às necessidades da empresa adaptado às necessidades da empresa
→ Programa de melhoria contínua da ER ativo em todos os
projetos
G ti d t di t d i it
• Garantia de entendimento de requisitos • Comprometimento com os requisitos • Rastreabilidade de requisitosq
Artefatos Típicos
p
3
Entendimento de requisitos
→ Critérios para identificação de fornecedores de p ç
requisitos
→ Critérios para avaliação e aceitação de requisitosp ç ç q → Resultados de análise de critérios
→ Requisitos acordados → Requisitos acordados
Artefatos Típicos
p
3
Comprometimento com requisitos
→ Análise de impacto e viabilidade de requisitosp q
→ Documento de avaliação e aceitação de mudanças
em requisitosq
→ Alocação de stakeholders (e não só do Analista) em
atividades que envolvem análise de requisitosq q