Engenharia fdsdsgde Requisitos

35
Cap 3. Engenharia de Requisitos Lucas Lattari [email protected]

description

fgfdfdigas gnffdgfd

Transcript of Engenharia fdsdsgde Requisitos

  • Cap 3. Engenharia de Requisitos

    Lucas Lattari

    [email protected]

  • 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