Upload
rodrigo
View
21
Download
0
Embed Size (px)
DESCRIPTION
fgfdfdigas gnffdgfd
Citation preview
Cap 3. Engenharia de Requisitos
Lucas Lattari
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
O requisito efetuar cadastro identificado pelo cdigo [RF01]
O requisito interface com o usurio identificado pelo bloco [NF01]
Tambm comum definir uma prioridade ao requisito
Essencial
Importante
Desejvel
Informaes sobre entradas de dados, sadas e fluxo de trabalho devem ser especificados
[RF001] Efetuar Cadastro
Objetivo
Cadastrar no sistema e assim terem acesso aos servios personalizados oferecidos
Prioridade
Essencial
Entrada
Informaes pessoais dos usurios
Sadas
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
Sistema deve prover uma interface amigvel e intuitiva
Metodologia
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
Limite do sistema mal definido
Detalhes tcnicos introduzidos que causam confuso no cliente
Entendimento (Clientes)
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
Amplamente usados
Pergunta-resposta
Observao ou Anlise de Documentos
Ambiente e seus usurios so avaliados por desenvolvedores
Pode identificar melhorias que nem os usurios percebem
Cenrios
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
Fabricantes, nmero do modelo, dimenses
Revestimento dos balces
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
Linguagem humana empregada em formulrios
Notaes grficas
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 no-
ambguo
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
Mostra como os requisitos se relacionam a caractersticas importantes do sistema
Tabela de rastreamento de fonte
Identifica a fonte de cada requisito
Tabela de rastreamento de dependncia
Indica como os requisitos se relacionam uns aos outros
Tabela de rastreamento de subsistemas
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
Constri um dicionrio especfico para o projeto, contendo descries e atributos detalhados do sistema
OnYourMark Pro
Constri um banco de dados de requisitos, estabelece relacionamentos entre eles e permite analisar cronogramas/custos
Rational RequisitePro
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