Engenharia de requisitos introdução

22
© Silmar de Freitas Engenhari a de Requisito s Introduçã o

Transcript of Engenharia de requisitos introdução

Page 1: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de

Requisitos

Introdução

Page 2: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - Introdução

Conteúdo• Definições • Pra Que Preciso?• Tipo• Domínio

Page 3: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoDefiniçõesTermo Definição

Requisito Condição necessária para obtenção de certo objetivo ou para preenchimento de certo fim. (1)

1. Uma condição ou capacidade necessária para um usuário resolver um problema ou alcançar um objetivo.

2. Uma condição ou capacidade que deve ser alcançada ou estar presente em um sistema ou componente de sistema para satisfazer um contrato, norma, especificação ou outro documento formalmente imposto.

3. Um representação documentada de uma condição ou capacidade como em (1) e (2). (2)

Engenharia de Requisitos É uma abordagem sistemática e disciplinada para especificação e gerenciamento de requisitos, com os seguintes objetivos:1. Conhecer os requisitos relevantes, estabelecer um consenso entre os

stakeholders a respeito de tais requisitos, documentar os requisitos de acordo com determinados padrões e gerenciar os requisitos de forma sistemática.

2. Compreender e documentar as expectativas e necessidades dos stakeholders, especificar e gerenciar os requisitos para minimizar o risco de entregar um sistema (projeto,produto) que não atenda às suas expectativas. (3)

1 – Dicionário Aurélio; 2 – IEEE Standart 610.12-1990; 3 – Fundamentos da engenharia de requisitos, edição 2012.

Page 4: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoDefiniçõesUm exemplo: receita do bolo da vovô

Bolo da Vovó

Ingredientes:• 2 xícaras de farinha de trigo• 1 xícara da açúcar• 1 colher de chá de fermento em pó• ...

Modo de preparo:•Adicione a farinha de trigo, o açúcar, o fermento...•Coloque em forno médio por 30 minutos...

Usar somente fermento da marca XPTO

Os ingredientes são requisitos para que possa fazer o bolo. São O QUE

eu preciso.

O modo de preparo é o passo a passo para fazer o

bolo.

A marca específica do fermento é para garantir a

qualidade do bolo.

Page 5: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoPara Que Preciso?Voltando a receita do bolo da vovô

Bolo da Vovó

Ingredientes:• 2 xícaras de farinha de trigo• 1 xícara da açúcar• 1 colher de chá de fermento em pó• ...

Modo de preparo:•Adicione a farinha de trigo, o açúcar, o fermento...•Coloque em forno médio por 30 minutos...

Usar somente fermento da marca XPTO

O que ocorre se substituo o açúcar por sal? Ou se deixo de colocar um dos

ingredientes?

O que ocorre se, ao invés de 30 minutos, eu deixo o bolo por 1 hora no forno?

O que pode acontecer se eu usar uma marca de fermento diferente da

solicitada?

Page 6: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoPra Que Preciso?

De acordo com estudos estatísticos, aproximadamente 60% dos erros em projetos de desenvolvimento de software tem origem na fase de engenharia de requisitos. *

A principal consequencia dos erros em requisitos é o retrabalho, ou seja, atuar novamente sobre algo que você julgou estar pronto. O retrabalho pode consumir de 30 a 50% do custo total de desenvolvimento, e os erros causados por requisitos somam de 70 a 85% deste custo de retrabalho. **

Maior custoPrazo estourado

Escopo descontrolado=

cliente insatisfeito*: Fundamentos de Engenharia de Requisitos; ** : Software Requirements – Karl E. Wiegers

Page 7: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoPra Que Preciso?

Riscos que podem se materializar quando as atividades da engenharia de requisitos são mau executadas (eventualmente, não executadas!)

• Envolvimento insuficiente do usuário• Requisitos de usuário que se arrastam• Requisitos ambiguos• “Dourar a pílula”• Especificação mínima• Classes de usuário negligenciados• Planejamento impreciso

Software Requirements – Karl E. Wiegers

Page 8: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoPra Que Preciso?

“The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work as dificult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No other part of the work so cripples the resulting system if done wrong. No other part is more dificult to rectify later”.

Frederick BrooksEnsaio “No Silver Bullet: Essence and Accidents of Software Engineering”

Page 9: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoTipos

Funcional Não FuncionalRequisitos

de Negócios

Documento de Escopo e Visão

Requisitos de Usuário

Documento de Caso de Uso

Regras de Negócio

Atributos de

Qualidade

Requisitos de Sistema

Requisitos Funcionais

Interfaces Externas

Restrições

Especificação de Requisitos de Software

Relacionamento entre os diversos tipos de informações de requisitos

Software Requirements – Karl E. Wiegers

Page 10: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoTipos

Representam os objetivos de alto nível da organização ou cliente que solicita o sistema (Porque?).

Descrevem os objetivos ou tarefas que os usuários devem ser capazes de executar com o produto (O Que?).

Especificam a funcionalidade do software que os desenvolvedores devem construir em um produto que permita aos usuários realizar as suas tarefas, satisfazendo assim os requisitos de negócio (Requisitos comportamentais).

Descreve os requisitos de alto-nível para um produto que contêm múltiplos subsistemas, ou seja, o sistema.

Inclui políticas corporativas, regulamentações governamentais, padrões de indústria, práticas contábeis e algoritmos computacionais. *

* - regras de negócio não são requisitos de software porque elas existem fora dos limites de qualquer sistema.

Page 11: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoTiposAumentam a descrição das funcionalidades do produto por descreverem as características do produto em várias dimensões que são importantes tanto para os usuário como para os desenvolvedores.

Impõem restrições nas escolhas disponíveis para o desenvolvedor com relação ao design e construção do produto.

Page 12: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoTipo

Mais comum encontrar os requisitos definidos como Funcionais e Não Funcionais (ou de qualidade). *

• Um requisito funcional é um requisito relacionado ao resultado de algum comportamento a ser fornecido por uma função do sistema.

• Um requisito não funcional é um requisito relacionado a uma questão de qualidade não coberta por um requisito funcional.

* - Fundamentos da Engenharia de Requisitos

Page 13: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoDomínio

1. Elicitação 2. Análise

3. Especificação 4. Validação

Engenharia de Requisitos

Gerenciamento

Page 14: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoDomínio

1. Elicitação

Também conhecido como levantamento, envolve as atividades para identificar quais são os requisitos necessários para o projeto/sistema.

Nesta fase, buscamos em todas as fontes de informações disponíveis quais são os requisitos.

Para isso, são usadas diversas técnicas de levantamento, como, por exemplo: entrevistas, workshops de requisitos, JAD, questionários, brainstorm, etc.

Page 15: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoDomínio

2. Análise

Uma vez identificados os requisitos é feita uma análise, cujo objetivo é desenvolvimento da melhor solução possível para o projeto/sistema.

Os requisitos devem ser analisados a luz de uma série de fatores que influenciam na definição de uma solução.

Page 16: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoDomínio

3. Documentação

Nesta fase os requisitos são documentados para facilitar a comunicação entre os stakeholders.

Esta documentação pode ser feita usando-se formatos textuais em linguagem natural, diagramas e gráficos (tais como UML e a notação BPMN) ou mesmo canvas.

A documentação tem um importante papel ao validarmos os requisitos, pois é o principal meio de comunicação.

Aqui podemos usar casos de uso, estórias de usuário, especificações funcionais, etc. Vai depender da avaliação do que é mais adequado para cada caso.

Page 17: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoDomínio

4. Validação

Nesta fase são validados os requisitos levantados assim como a solução proposta.

Ao realizarmos a validação haverá sempre uma negociação entre os stakeholders visando a adequação aos seus objetivos.

Os itens validados são aqueles que, uma vez acordados, serão o objeto do desenvolvimento do projeto/sistema.

Page 18: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoDomínio

Gerenciamento

Todas as fases precisam de ações de gestão para que possam ser coordenadas e organizadas na busca da melhor solução.

Isto vai envolver também uma atividade crucial, que é o controle das mudanças nos requisitos. Uma vez definidos, eventualmente existe a necessidade de uma mudança nos requisitos. Esta mudança precisa ser realizada de forma controlada e gerenciável pois, dependendo da mudança, os efeitos no projeto/sistema podem ser muitos grandes.

Page 19: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoDomínio

Apesar de existir uma sequencia de execução das fases, de fato elas se interpenetram o tempo todo: ao levantar requisitos, eventualmente já surge a necessidade de negociação; ao realizarmos a análise, podemos identificar que precisamos de mais informações e retornarmos a fase de elicitação; ao validarmos podemos verificar que uma certa forma de documentar não está adequada e precisa ser ajustada ou mesmo modificada.

Page 20: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - IntroduçãoDomínio

Engenharia de requisitos é uma atividade complexa que requer não só competências técnicas como também as chamadas soft skills, ou competências relacionais. Podemos citar como exemplos: ser bom ouvinte, questionador, observador, ter boa redação, etc.

No final, estamos falando sempre de pessoas. Precisamos desenvolver habilidades psico-sociais (principalmente de comunicação) para realizar o trabalho com a maior qualidade possível.

Page 21: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - Introdução

GerenciamentoElicitaçãoAnáliseDocumentaçãoValidaçãoComunicação

Cada um destes itens é alvo de um treinamento específico que, no seu conjunto, compõem a Engenharia de Requisitos.

Page 22: Engenharia de requisitos   introdução

© Silmar de Freitas

Engenharia de Requisitos - Introdução

OBRIGADO !

Silmar de FreitasEmail: [email protected]: www.silmardefreitas.eti.brLinkedin: br.linkedin.com/in/silmardefreitas