Você está na página 1de 63

Ian Sommerville 2000 Software Engineering, 6th edition.

Chapter 6 Slide 1
Captulo 6 - Processo de Engenharia
de Requisitos

Slides do Livro do Sommerville, 2000
Disponveis em ingls em www.software-engin.com

Traduzidos por Jacinta Pereira
Graduando do Curso de Letras da UFC

Apresentados por Rossana Andrade
Ph.D, SITE, University of Ottawa, Canad
Profa. Departamento de Computao, Centro de Cincias,
Universidade Federal do Cear

rossana@lia.ufc.br
http://great.ufc.br

Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 2
Processos de Engenharia de Requisitos
Processos utilizados para
descobrir, analisar e validar
requisitos de sistema
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 3
Objetivos
Descrever as principais atividades de
engenharia de requisitos
Introduzir tcnicas para a obteno e anlise
dos requisitos
Descrever a validao dos requisitos
Discutir o papel do gerenciamento de requisitos
como suporte a outros processos de engenharia
de requisitos
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 4
Tpicos abordados
Estudos de viabilidade
Obteno e anlise de requisitos
Validao de requisitos
Gerenciamento de requisitos
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 5
Processos de Engenharia de Requisitos
Os processos usados na ER variam bastante,
dependendo do domnio da aplicao, as
pessoas envolvidas e a organizao que
desenvolve os requisitos
Entretanto, h um nmero considervel de
atividades genricas comuns a todos os
processos
Obteno de requisitos
Anlise de requisitos
Validao de requisitos
Gerenciamento de requisitos

Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 6
Processos de Engenharia de Requisitos
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 7
Estudos de viabilidade
Um estudo de viabilidade decide se o sistema
proposto vale a pena
Um estudo direcionado curto que verifica se
O sistema contribui para os objetivos da organizao
O sistema pode ser implementado com a tecnologia atual e
dentro do oramento
O sistema pode ser integrado com outros sistemas em
operao

Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 8
Implementao do estudo de
viabilidade
Baseado em coleta, avaliao e escrita de
relatrios.
Questes para pessoas na organizao:
O que aconteceria se o sistema no fosse implementado?
Quais so os problemas com os processos atuais?
Como o sistema proposto ir ajudar?
Pode haver troca de informaes entre outros sistemas e o
sistema proposto?
Ser necessrio nova tecnologia? Quais habilidades?
O que precisa e o que no precisa ser compatvel com o
sistema?
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 9
Levantamento e anlise
s vezes conhecido como levantamento de requisitos ou
descoberta de requisitos
Os membros da equipe tcnica trabalham com o cliente
e os usurios para descobrir mais informaes sobre o
domnio da aplicao, servios do novo sistema,
desempenho e as restries operacionais.
Pode envolver usurios finais, gerentes, engenheiros
envolvidos em manuteno, especialistas no domnio,
etc (chamados stakeholders do sistema)
Stakeholders: Qualquer pessoa que ter influncia direta ou Qualquer pessoa que ter influncia direta ou indireta sobre os
requisitos do sistema.
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 10
Problemas de anlise de requisitos
As pessoas no sabem o que realmente querem
Stakeholders expressam requisitos em seus
prprios termos
Stakeholders diferentes podem ter requisitos
conflitantes
Fatores organizacionais e polticos podem
influenciar os requisitos do sistema
Os requisitos mudam durante o processo de
anlise. Novos stakeholders podem surgir e o
ambiente de negcio mudar
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 11
O processo de anlise de
requisitos
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 12
Atividades do processo
Entendimento do domnio
Coleta dos requisitos
Classificao
Resoluo dos conflitos
Definio das prioridades
Verificao de requisitos
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 13
Modelos de Sistema
Diferentes modelos podem ser produzidos
durante a atividade de anlise de requisitos
Anlises de requisitos podem envolver trs
atividades estruturais que resultam trs modelos
diferentes
Particionamento (Identifica a parte estruturada do
relacionamento entre entidades)
Abstrao (Identifica generalidades entre entidades)
Projeo (diferentes maneiras de ver um problema)
Modelos de sistema abordados no captulo 7
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 14

Levantamento baseado em pontos de
vista
Stakeholders representam diferentes formas de
ver um problema ou diferentes pontos de vista
de um problema
A anlise dessa multi-perspectiva importante,
pois no existe uma nica forma correta de
analisar os requisitos do sistema
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 15

Sistema Exemplo : Caixa
Automtico (ATM)
ATM aceita solicitaes do cliente e fornece
informaes sobre a conta, atualizaes de
informao, etc
Servios incluem retiradas e pagamentos em
dinheiro, consulta de saldo, transferncias de
fundos, emisso de extratos, tales de cheques
etc.
Clientes de outros bancos podem utilizar os
servios de retiradas em dinheiro e consulta de
saldos
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 16

Pontos de vista de um caixa
eletrnico

Clientes do banco
Representantes de outros bancos
Engenheiros e manuteno de hardware e
software
Departamento de Marketing
Gerentes de agncias e equipes de atendimento
de balco
Gerentes de segurana bancria
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 17
Tipos de ponto de vista
Fontes de dados ou destinos de dados
Pontos de vista so responsveis pela produo e consumo de
dados. A anlise envolve identificar esses pontos de vista, e
identificar quais dados so produzidos ou consumidos.
Frameworks de representao (Vises diferentes por diferentes
engenheiros de software).
Pontos de vista representam tipos particulares de modelo de
sistema, que podem ser comparados para descobrir aspectos
sobre o sistema que est sendo analisado.
Receptores de servios
Nesse caso, os pontos de vista so externos ao sistema e dele
recebem servios. A anlise envolve examinar os servios
recebidos por diferentes pontos de vista coletando esses
servios e resolvendo conflitos.
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 18

Pontos de vista externo

Maneira natural de estruturar o processo de
levantamento de requisitos.
relativamente fcil decidir se alguma coisa
um ponto de vista vlido.
Os pontos de vista e os servios so um meio
til de estruturar os requisitos no funcionais
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 19
Anlise baseada em mtodo
Abordagem amplamente utilizada para a anlise de
requisitos. Depende da aplicao de um mtodo
estruturado para entender o sistema

Mtodos possuem nfases diferentes. Alguns so
projetados para o levantamento de requisitos, outros so
mais prximos de mtodos de projeto.
O mtodo VORD (definio de requisitos baseado em
ponto de vista) mtodo orientado a servios para o
levantamento de requisitos.
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 20
O mtodo VORD
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 21
Modelo de processo VORD
Identificao do ponto de vista
Descobrir os pontos de vista que utilizam servios do sistema e
identificar os servios fornecidos para cada ponto de vista.
Estruturao do ponto de vista
Agrupar pontos de vista relacionados, segundo uma hierarquia.
Servios comuns so fornecidos nos nveis mais altos da
hierarquia.
Documentao do ponto de vista
Refinar a descrio dos pontos de vista e servios identificados
Mapeamento do sistema de ponto de vista
Identificar objetos atravs das informaes de servios que
esto encapsulados nos pontos de vista.
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 22

Formulrios templates VORD
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 23
Identificao dos pontos de vista
Brainsforming
Devem ser identificados em uma seo de
brainstorming:

Pontos de vista em potencial

Servios do Sistema

Entradas de dados
Requisitos no funcionais
Eventos de Controle
Excees

Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 24
Identificao de ponto de vista
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 25

Alocao de servios para os
diversos ponto de vista
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 26

Dados de ponto de vista e
informaes de controle
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 27

Hierarquia de pontos de vista
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 28

Descries de ponto de vista do
cliente e retirada de dinheiro
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 29

Cenrios

Cenrios so descries de como um sistema
usado na prtica.
So teis para acrescentar detalhes a um
esboo da descrio de requisitos.
Em geral, pessoas acham mais fcil relacionar
exemplos da vida real do que descries
abstratas.
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 30
Descries de cenrios

Estado do sistema no incio do cenrio.
Fluxo normal de eventos no cenrio.
O que pode sair errado e como lidar com isso.
Outras atividades concorrentes.
Estado do sistema no final do cenrio.
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 31

Cenrios de eventos

Cenrios de eventos podem ser usados para descrever
como um sistema responde a ocorrncia de algum
evento particular
Cada evento distinto mostrado em um cenrio de
evento separado.
VORD inclui uma conveno diagramtica para cenrios
de eventos.
Dados fornecidos e sadas.
Informaes de controle.
Processamento de exceo.
O prximo evento esperado.
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 32

Cenrios de evento Iniciar transao
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 33

Notao para anlise de dados e
controle
Elipses: dados de entrada a um ponto de vista.
Informaes de controle: setas que entram no
topo dos retngulo.
Dados saem do lado direito de cada retngulo.
Excees aparecem embaixo dos retngulos.
Nome do prximo evento mostrado em um
bloco sombreado
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 34

Descrio de Excees
A maioria dos mtodos no inclui formas para
descrever excees.
Neste exemplo, as excees so:
Tempo-esgotado -cliente no fornece o PIN dentro do limite de
tempo permitido
Carto invlido. O carto no reconhecido e devolvido
Carto roubado. O carto foi registrado como roubado e
retido pela mquina
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 35
Casos de uso

Casos de Uso so tcnicas baseadas em cenrios para
a obteno de requisitos.
Identificam os atores envolvidos em uma interao e que
descreve a interao em si
Um conjunto de casos de uso descreve todas as
interaes que sero representadas nos requisitos do
sistema.
Diagramas de seqncias podem ser usados para
adicionar detalhes aos casos de uso, mostrando o
processamento da seqncia de eventos no sistema.
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 36

Caso de uso emprstimo
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 37

Casos de uso da biblioteca
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 38
Gerenciamento de catlogo
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 39
Fatores sociais e organizacionais
Sistemas de software so utilizados em um
contexto social e organizacional. Isto pode
influenciar ou at dominar os requisitos do
sistema.
Fatores sociais e organizacionais no so
somente um ponto de vista, mas influncias em
todos os pontos de vista
Bons analistas devem ser sensveis a esses
fatores mas no h atualmente um modo
sistemtico para resolver suas anlises
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 40
Exemplo
Considere um sistema que permite ao gerente
snior acessar informaes sem passar por
gerentes intermedirios
Status de gerenciamento. Gerentes snior podem se sentir
muito importantes pra utilizar um teclado. Isso pode limitar o
tipo de interface do sistema utilizada
Responsabilidades de gerenciamento. Gerentes podem no
dispor de tempo ininterrupto para aprender a utilizar o sistema
Resistncia Organizacional. Gerentes intermedirios que se
tornaro redundantes podem deliberadamente fornecer
informaes errneas ou incompletas para causar falha no
sistema
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 41
Etnografia
Tcnica de observao utilizada para
compreender os requisitos sociais e
organizacionais
Um cientista social se insere no ambiente de
trabalho onde o sistema ser usado e analisa
como as pessoas trabalham.
As pessoas no precisam explicar o seu
trabalho.
Fatores sociais e organizacionais importantes
podem ser observados

Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 42
Etnografia focada
Desenvolvida em um projeto estudando o
processo de controle de trfego areo
Combina etnografia com prototipao
O desenvolvimento de prottipos resulta em
perguntas sem respostas que focam a anlise
etnogrfica
O problema com a etnografia que esta estuda
prticas existentes que podem ter alguma base
histrica que j no mais relevante
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 43
Etnografia e prototipao
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 44
Escopo de etnografia
Requisitos que derivam do modo que as
pessoas trabalham de fato, ao invs do modo
como as definies do processo sugerem que
elas devam trabalhar
Requisitos que derivam de cooperao e
conhecimento das atividades de outras pessoas
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 45
Validao dos requisitos
Preocupa-se em mostrar que os requisitos
definem o sistema que o cliente deseja.

Validao importante uma vez que o custo
para remover um erro de requisitos grande.
Consertar um erro de requisito aps a entrega pode custar at
100 vezes mais que o de corrigir um erro de implementao
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 46
Checagem de Requisitos
Validade. O sistema fornece as funes que
melhor atende as necessidades do usurio?
Consistncia. Existem conflitos de requisitos?
Completeza. Todas as funes necessrias para
o cliente esto includas?
Realismo. Os requisitos podem ser
implementados com a tecnologia e oramento
disponveis?
Facilidade de verificao. Os requisitos podem
ser checados?
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 47
Tcnicas de validao de
requisitos
Reviso de requisitos
Anlise manual sistemtica dos requisitos
Prototipao
Uso de um modelo executvel do sistema para checar os
requisitos.
Gerao de casos de teste
Desenvolver testes para os requisitos a fim de verificar a
testabilidade.
Anlise automatizada da consistncia
Uso de ferramenta CASE para verificar a consistncia do
modelo.
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 48
Reviso de requisitos
Revises regulares devem ocorrer durante a
formulao da definio dos requisitos
Tanto o cliente quanto a equipe contratada
devem estar envolvidos nas revises
As revises podem ser formais (com
documentos completos) ou informais. Uma boa
comunicao entre os desenvolvedores, clientes
e usurios pode resolver problemas em estgios
iniciais
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 49
Verificao de revises
Verificabilidade. O requisito realisticamente
testvel?
Compreensibilidade. O requisito propriamente
entendido?
Rastreabilidade. A origem do requisito
claramente estabelecida?
Adaptabilidade. O requisito pode ser modificado
sem grande impacto sobre outros requisitos?
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 50
Verificao de consistncia
automatizada
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 51
Gerenciamento de requisitos
O gerenciamento de requisitos o processo de
controlar as mudanas nos requisitos durante o
processo de engenharia de requisitos e
desenvolvimento.
Requisitos so inevitavelmente incompletos e
inconsistentes
Novos requisitos surgem durante o processo de
desenvolvimento.
Diferentes pontos de vista possuem diferentes requisitos e
esses so freqentemente contraditrios.
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 52
Mudanas nos requisitos
A prioridade dos requisitos de diferentes pontos
de vista se modificam .
As pessoas que pagam pelo sistema podem
especificar os requisitos de maneira conflitantes
com os requisitos das pessoas que iro utilizar o
sistema.
A empresa e o ambiente tcnico do sistema se
modificam durante o seu desenvolvimento
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 53
Evoluo dos requisitos
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 54

Requisitos permanentes e volteis
Requisitos permanentes. Requisitos estveis,
derivados da atividade principal da organizao.
Ex. Em um hospital sempre haver requisitos
relativos aos pacientes, aos mdicos, s
enfermeiras a aos tratamentos. Derivados do
modelo do domnio.
Requisitos volteis. Requisitos que se modificam
durante o desenvolvimento ou quando o sistema
est em uso. Requisitos resultantes de polticas
governamentais (Ex: Plano de sade)
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 55
Classificao dos requisitos
Requisitos mutveis
Requisitos que se modificam por causa do ambiente do
sistema.
Requisitos emergentes
Requisitos que surgem medida que a compreenso do
cliente do sistema se desenvolve
Requisitos conseqentes
Requisitos que resultam da introduo do sistema de
computador.
Requisitos de compatibilidade
Requisitos que dependem de outros sistemas ou processos de
negcio especficos dentro da organizao.
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 56
Planejamento do gerenciamento de
requisitos
Durante o processo de engenharia de requisitos,
voc precisa planejar:
A identificao dos requisitos
Como os requisitos so individualmente identificados
Um processo de mudana de gerenciamento
O processo seguinte anlise de uma mudana de requisito
Polticas de rastreabilidade
A quantidade de informaes sobre o relacionamento entre
requisitos que mantida
Suporte ferramenta CASE
O suporte ferramenta necessrio para auxiliar no gerenciamento
de mudanas de requisitos
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 57
Rastreabilidade
Rastreabilidade preocupa-se com as relaes
entre requisitos, suas fontes e o projeto do
sistema
Rastreabilidade de fonte
Links de requisitos para stakeholders que propuseram os
requisitos
Rastreabilidade de requisitos
Links entre requisitos dependentes
Rastreabilidade do projeto
Links dos requisitos para o projeto
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 58
Uma matriz de rastreabilidade
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 59
Suporte ferramenta CASE
Armazenamento dos requisitos
Os requisitos devem ser gerenciados em uma memria de
dados segura e gerenciada
Mudana de gerenciamento
O processo de mudana de gerenciamento um processo de
fluxo de tarbalho cujos estgios podem ser definidos e o fluxo
de informao entre esses estgios parcialmente automatizado
Gerenciamento de rastreabilidade
Recuperao automtica dos links entre requisitos
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 60

Gerenciamento de mudanas de
requisitos
Deve ser feita em qualquer proposta de
alterao
Principais estgios
Anlise do problema e especificao da mudana. Discute-se
os problemas com os requisitos e prope-se mudanas.
Anlise e custo da mudana. Avalia-se os efeitos da mudana
em outros requisitos do sistema.
Implementao das mudanas. O documento de requisitos e
outros documentos so alterados de forma a refletir as
mudanas.
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 61
Gerenciamento de mudanas de
requisitos
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 62
Pontos chave
O processo de engenharia de requisitos inclui
um estudo de viabilidade, o levantamento e a
anlise e requisitos, a especificao de
requisitos, a validao de requisitos e o
gerenciamento de requisitos.
Diferentes usurios do sistema possui diferentes
requisitos.
Fatores sociais e organizacionais tem forte
influncias sobre o s requisitos.
Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 63
Pontos chave
A validao dos requisitos o processo de
verificar os requisitos quanto a sua validade,
consistncia, completeza, seu realismo e sua
facilidade de verificao.
Mudanas organizacionais inevitavelmente
levam a mudanas nos requisitos.
O gerenciamento de requisitos inclui o
planejamento e o gerenciamento de mudanas