Você está na página 1de 63

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide1

Processos de Engenharia de Requisitos

Processos utilizados para


descobrir, analisar e validar
requisitos de sistema

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide2

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide3

Tpicos abordados

Estudos de viabilidade
Obteno e anlise de requisitos
Validao de requisitos
Gerenciamento de requisitos

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide4

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide5

Processos de Engenharia de Requisitos

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide6

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide7

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?

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide8

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:QualquerpessoaqueterinflunciadiretaouQualquerpessoaqueterinflunciadiretaouindiretasobreos
requisitosdosistema.
IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide9

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
IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide10

O processo de anlise de
requisitos

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide11

Atividades do processo

Entendimento do domnio
Coleta dos requisitos
Classificao
Resoluo dos conflitos
Definio das prioridades
Verificao de requisitos

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide12

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide13

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide14

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide15

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
IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide16

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.

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide17

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide18

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.

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide19

O mtodo VORD

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide20

Modelo de processo VORD

Identificao do 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

Descobrir os pontos de vista que utilizam servios do sistema e


identificar os servios fornecidos para cada 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.

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide21

Formulrios templates VORD

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide22

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide23

Identificao de ponto de vista

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide24

Alocao de servios para os


diversos ponto de vista

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide25

Dados de ponto de vista e


informaes de controle

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide26

Hierarquia de pontos de vista

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide27

Descries de ponto de vista do


cliente e retirada de dinheiro

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide28

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.

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide29

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.

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide30

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.

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide31

Cenrios de evento Iniciar transao

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide32

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide33

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide34

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.

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide35

Caso de uso emprstimo

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide36

Casos de uso da biblioteca

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide37

Gerenciamento de catlogo

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide38

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
IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide39

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide40

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide41

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide42

Etnografia e prototipao

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide43

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide44

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide45

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?

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide46

Tcnicas de validao de
requisitos

Reviso de requisitos

Prototipao

Uso de um modelo executvel do sistema para checar os


requisitos.

Gerao de casos de teste

Anlise manual sistemtica dos requisitos

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.

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide47

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
IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide48

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?

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide49

Verificao de consistncia
automatizada

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide50

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.

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide51

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide52

Evoluo dos requisitos

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide53

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)
IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide54

Classificao dos requisitos

Requisitos mutveis

Requisitos emergentes

Requisitos que surgem medida que a compreenso do cliente do


sistema se desenvolve

Requisitos conseqentes

Requisitos que se modificam por causa do ambiente do sistema.

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.

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide55

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide56

Rastreabilidade

Rastreabilidade preocupa-se com as relaes


entre requisitos, suas fontes e o projeto do sistema
Rastreabilidade de fonte

Rastreabilidade de requisitos

Links de requisitos para stakeholders que propuseram os


requisitos
Links entre requisitos dependentes

Rastreabilidade do projeto

Links dos requisitos para o projeto

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide57

Uma matriz de rastreabilidade

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide58

Suporte ferramenta CASE

Armazenamento dos requisitos

Mudana de gerenciamento

Os requisitos devem ser gerenciados em uma memria de


dados segura e gerenciada
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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide59

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.

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide60

Gerenciamento de mudanas de
requisitos

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide61

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.
IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide62

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

IanSommerville2000

SoftwareEngineering,6thedition.Chapter6

Slide63