Você está na página 1de 35

Cap 3.

Engenharia de Requisitos
Lucas Lattari
lucasglattari@hotmail.com

Objetivos

Entender como so obtidos os requisitos do cliente para


a criao de um projeto de software
Apresentar o conceito de Engenharia de Requisitos
Contextualizar a Engenharia de Requisitos com os
Processos de Desenvolvimento de Software
Explicar cada estgio da Engenharia de Requisitos

Adaptado de Engenharia de Software vol. 6 Pressman

Motivao

Eu sei que voc pensa que entende o que eu disse, mas o


que voc no entende que, o que eu disse, no bem o que
eu queria dizer
O que deve ser feito quando isso ocorre, aps voc
cumprir os prazos de entrega, com reputaes em jogo e
com dinheiro srio envolvido?
Problema poderia ser evitado na obteno dos requisitos?

Ponte para o Projeto e Construo

Desenvolvedores tem compulso por comear projeto


Para eles, as coisas vo ficando mais claras medida que
o software vai sendo criado
No entanto, criar software como um prdio, se a base
for fraca, o resto ter problemas
Soluo passa a ser reconstruir o prdio do incio ou
remendar at dar certo
Engenharia de Requisitos busca essa base de
sustentao

Engenharia de Requisitos

Adoo de mtodos e tcnicas sistemticas para a


obteno de requisitos do sistema
Fundamental na etapa integral de comunicao e na etapa
inicial de modelagem
Padronizar a comunicao entre cliente e
desenvolvedor/analista
Objetivos

Entender o que o cliente deseja


Avaliar a viabilidade
Negociar condies razoveis
Especificar o software de modo no ambguo
Gerenciar requisitos

Requisitos

Declarao de um servio ou restrio de um sistema a


ser desenvolvido
Ponto de vista do cliente

Algo que um cliente necessita

Ponto de vista do desenvolvedor

Algo que precisa ser projetado e desenvolvido

Tipos de Requisitos

Requisitos Funcionais

Processo que o sistema deve realizar a partir da viso do


usurio
O que o software deve fazer?
Tela de insero ou leitura de registros, link em uma pgina
web

Requisitos no-funcionais

Propriedades comportamentais
Desempenho, manutenibilidade, escalabilidade, segurana

Conveno de Requisitos

Por conveno, um requisito recebe um nome, um


identificador e se o mesmo funcional ou no
Exemplo

Tambm comum definir uma prioridade ao requisito

O requisito efetuar cadastro identificado pelo cdigo [RF01]


O requisito interface com o usurio identificado pelo bloco
[NF01]
Essencial
Importante
Desejvel

Informaes sobre entradas de dados, sadas e fluxo de


trabalho devem ser especificados

[RF001] Efetuar Cadastro

Objetivo

Prioridade

Informaes pessoais dos usurios

Sadas

Essencial

Entrada

Cadastrar no sistema e assim terem acesso aos servios


personalizados oferecidos

Usurio adicionado

Fluxo de eventos

Sistema recebe os dados necessrios para cadastro


Sistema envia e-mail de confirmao
Usurio adicionado a base de dados de usurios pendentes

[NF001] Interface com o Usurio

Objetivo

Metodologia

Sistema deve prover uma interface amigvel e intuitiva


A partir do acesso poderemos medir quais as principais
dvidas dos usurios e direcionar o desenvolvimento de uma
nova interface baseada em consultas

Prioridade

Importante

Requisitos funcionais

DCC015 Introduo a Anlise de Sistemas Prof Kele Belloze

Requisitos no-funcionais

Contextualizando Engenharia de Requisitos

Ciclo de Vida Clssico

Comunicao
Planejamento
Modelagem
Construo
Implantao

Engenharia de Requisitos feita principalmente na


comunicao, mas tambm no planejamento e
modelagem.

Etapas da Engenharia de Requisitos

Concepo
Levantamento
Elaborao
Negociao
Especificao
Validao
Gesto
Etapas podem seguir em paralelo e so necessrias para
entender o que o cliente deseja em seu sistema
(requisitos)

Concepo

Identificao do caso de negcio, anlise de viabilidade


grosseira e uma descrio do escopo do projeto
Podem ser feitas perguntas simples e livres de contexto
Exemplos

Quem est por trs da solicitao desse trabalho?


Quem vai usar a soluo?
Qual ser o benefcio econmico dessa soluo?
Que problemas esse soluo enfrenta?
Voc pode me descrever o ambiente de negcios que utilizar essa
soluo?

Objetivo estabelecer um entendimento bsico do problema,


o pessoal que quer uma soluo, a natureza da soluo
desejada e a efetividade da comunicao

Levantamento

Informaes da Concepo tornam-se requisitos


Coleta colaborativa de Requisitos feita pela equipe
Diversos problemas podem ocorrer nessa etapa

Escopo

Entendimento (Clientes)

Limite do sistema mal definido


Detalhes tcnicos introduzidos que causam confuso no cliente
No esto certos sobre o que necessrio
Pouco entendem das limitaes do ambiente
No compreendem o domnio do problema
Especificam requisitos conflitantes ou ambguos
Omitem coisas bvias

Volatilidade

Requisitos que mudam com o tempo

Tcnicas usadas no Levantamento de


Requisitos

Entrevistas ou Questionrios

Observao ou Anlise de Documentos

Ambiente e seus usurios so avaliados por desenvolvedores


Pode identificar melhorias que nem os usurios percebem

Cenrios

Amplamente usados
Pergunta-resposta

Simulao do ambiente real feita

Prototipagem
Dinmicas de Grupo

Brainstorm
JAD (Joint Application Development)

Concepo e Levantamento de Requisitos =


Elicitao

comum considerar a Concepo e o Levantamento de


Requisitos uma etapa s, denominada elicitao
O objetivo da elicitao ento descobrir os requisitos
do sistema atravs de

Entrevistas com o cliente


Anlise do domnio do problema
Estudos de mercado

Elaborao

Informaes das etapas de Concepo e Levantamento


so expandidas e refinadas para a construo da
modelagem
Modelos de anlise baseados em UML so construdos

Diagramas de Casos de Uso


Diagramas de Classe

Objetivo

Encontrar possveis problemas, falhas e inconsistncias na


declarao informal dos requisitos obtidos na concepo e
levantamento

Exemplo - Elaborao

Considere que voc deve especificar os requisitos para a


criao de uma cozinha gourmet

Exemplo - Elaborao

Voc sabe as dimenses da sala, a localizao das portas e


janelas e o espao de parede disponvel
Ao especificar o que necessrio para montar os
requisitos, voc poderia listar

Gabinetes e eletrodomsticos

Revestimento dos balces

Fabricantes, nmero do modelo, dimenses


Laminado, granito

Peas de encanamento
Pavimentao

Entretanto, esses requisitos so insuficientes sem um


modelo que mostre esses elementos sendo usados em
conjunto

Exemplo - Elaborao

Modelo para a cozinha

Uma apresentao tridimensional que montasse os gabinetes,


eletrodomsticos e os relacionamentos entre eles
Seria fcil avaliar a eficincia do fluxo de trabalho e a aparncia
esttica (requisitos no-funcionais importantes)

Da mesma forma que cria-se um modelo 3D para a


cozinha, necessrio um modelo de anlise para o
software

Avaliar o relacionamento entre os requisitos do sistema


Perceber a influncia dos requisitos entre si, se so positivas ou
negativas
Verificar a esttica do sistema

Modelos de Anlise vs Etapa de Modelagem

A Engenharia de Requisitos ocorre durante as etapas de


Comunicao e Planejamento do Ciclo de Vida Clssico,
muito antes da etapa de Modelagem

Por que estamos construindo modelos nessa


etapa se ainda no estamos na etapa de
Modelagem?

Modelos de Anlise vs Etapa de Modelagem

A Engenharia de Requisitos ocorre durante as etapas de


Comunicao e Planejamento do Ciclo de Vida Clssico, muito
antes da etapa de Modelagem

Por que estamos construindo modelos nessa etapa se


ainda no estamos na etapa de Modelagem?

Resposta

Na etapa de Modelagem do ciclo de vida clssico os modelos tem


como objetivo guiar os programadores no desenvolvimento do
sistema
Na etapa de Construo (Engenharia de Requisitos) o objetivo
guiar os clientes para checar a integridade dos requisitos

Negociao

comum o cliente pedir

Mais do que possa ser conseguido, por desconhecer o negcio


de software
Requisitos conflitantes

Quando a discusso com equipe interna no for


suficiente para solucionar problemas identificados
durante a elaborao so feitas reunies de negociao
Nas reunies de negociao devem-se

Discutir os requisitos com problemas, obtendo-se opinies dos


interessados
Solues possveis so discutidas, mudanas so acordadas
Prioridades dos requisitos so redefinidas

Especificao

Requisitos e modelos das etapas anteriores devem ser


descritos e apresentados em documentos de requisitos
(atividade de registro e oficializao dos resultados da
engenharia de requisitos)
Vantagens da documentao

Facilita a comunicao dos requisitos


Reduo de trabalho pois minimiza o retrabalho resultante de
erros
Fornece uma base realstica para estimativas, verificao e
validao
Manual para futuros usurios
til para futuras manutenes ou incremento de
funcionalidades

Especificao

Como so muitos interessados (clientes e usurios,


gerentes, desenvolvedores e testadores) comum existir
mais de um documento de requisitos especfico
Documentos para especificao

Documento de Definio de Requisitos


Documento de Especificao de Requisitos

Documento de Definio dos Requisitos

Contm uma descrio do propsito do sistema, uma


descrio do domnio do problema e listas de requisitos
funcionais, no funcionais e regras de negcios
Linguagem natural estruturada

Notaes grficas

Linguagem humana empregada em formulrios


Diagramas de casos de uso ou de sequncia

Pblico-Alvo

Clientes, usurios, gerentes

Documento de Especificao dos Requisitos

Contm uma descrio dos requisitos a partir da


perspectiva do desenvolvedor
Documento mais tcnico
Deve apresentar os mesmos requisitos do documento de
definio dos requisitos
Pblico-alvo

Desenvolvedores, testadores

Validao

Qualidade dos requisitos gerados pelos documentos


anteriores avaliada
Objetivo assegurar que

Todos os requisitos tenham sido declarados de modo noambguo


Inconsistncias, conflitos, omisses e erros tenham sido
detectados e corrigidos
Documentos esto em conformidade com os padres da
companhia
Requisitos realmente satisfazem s necessidades dos clientes e
desenvolvedores

Gesto de Requisitos

Conjunto de atividades que tem como objetivo ajudar a


equipe a identificar, controlar e rastrear requisitos e
modificaes dos mesmos em qualquer poca, medida
que o projeto prossegue
Processo iniciado com a identificao dos requisitos e a
construo de tabelas de rastreamento
Objetivo das tabelas de rastreamento relacionar um
conjunto de requisitos com aspectos do sistema

So mantidas em bases de dados de requisitos

Tabelas de Rastreamento

Tabela de rastreamento de caractersticas

Tabela de rastreamento de fonte

Indica como os requisitos se relacionam uns aos outros

Tabela de rastreamento de subsistemas

Identifica a fonte de cada requisito

Tabela de rastreamento de dependncia

Mostra como os requisitos se relacionam a caractersticas


importantes do sistema

Caracteriza os requisitos pelos subsistemas que governam

Tabela de rastreamento de interface

Mostram como os requisitos se relacionam com as interfaces


do sistema

Tabela de Rastreamento de Requisitos

Ferramentas CASE para Engenharia de


Requisitos

Baseadas em UML
Exemplos

EasyRM

OnYourMark Pro

Constri um banco de dados de requisitos, estabelece relacionamentos


entre eles e permite analisar cronogramas/custos

Rational RequisitePro

Constri um dicionrio especfico para o projeto, contendo descries e


atributos detalhados do sistema

Constri um banco de dados de requisitos, o relacionamentro entre eles


considerando prioridades, custos

Entretanto, dependendo da complexidade de seu sistema, uma


simples planilha ou sistema com banco de dados suficiente

Resumo

Motivao para a Engenharia de Requisitos


Requisitos e Engenharia de Requisitos
Etapas da Engenharia de Requisitos

Concepo
Levantamento
Elaborao
Negociao
Especificao
Validao
Gesto