SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
Pós Graduação em Desenvolvimento de
Software
Módulo: Engenharia de Requisitos
Aula 1: Requisitos
Professor: Licardino Siqueira Pires
O desafio da análise
• São quatro os desafios da análise:
• Compreensão do domínio do problema
• Comunicação interpessoal
• Evolução contínua
• reutilização
Domínio do Problema e Responsabilidade
• Estudo do domínio do problema e a identificação das suas
características;
• Significados:
• Problema: [Jogar para frente, empurrar para frente (Grego)]; Uma
questão proposta para solução ou consideração;
• Domínio: [Direito de propriedade, posse (Grego)]; A esfera ou
campo de atividade ou influência; como por exemplo o domínio
da arte ou política.
• Assim: Domínio do Problema. Um campo sob estudo
ou consideração.
• Exemplo: controle do espaço aéreo, a aviônica, as
finanças e as leis.
Domínio do Problema e Responsabilidade
• Significados:
• Sistema: [reunir (Grego)];Um conjunto ou arranjo de elementos
relacionados ou interligados de modo a formar uma unidade ou
um todo orgânico, por exemplo sistema solar e sistema de
irrigação;
• Responsabilidade: [que precisa de uma resposta (Grego)]; A
condição, qualidade, fato ou ocorrência de ser responsável,
exigível, cobrável ou imputável; aplica-se a pessoas, mandados,
ofícios ou dívidas.
• Assim: Responsabilidade do sistema. Uma
organização de elementos relacionados de modo a
formar um todo.
Domínio do Problema e Responsabilidade
• Um analista precisa especificar requisitos, reunidos
concisamente de forma que as pessoas possam ler e
entender o que o analista acredita que são estes
requisitos.
• Mas o crucial é entender o domínio do problema.
Comunicação
• Todo o trabalho de análise precisa de comunicação;
• Retornar ao cliente o que foi sintetizado para validação;
• Negociar com cliente requisitos que não possam ser
atendidos, devido ao cronograma e custo;
• Engenharia de software baseada fortemente em pessoas;
• Os processos de software são efetivos somente até o
ponto em que ajudam as pessoas a se comunicarem;
Comunicação
Mudança Contínua
• Requisitos sempre mudam;
• “Temos que aceitar a instabilidade dos requisitos como
um fato da vida, e não condená-la como o resultado de um
raciocínio mal conduzido” afirma Gerard Fischer;
• Agrupar os requisitos estáveis
• Tratar com diferenciação os instáveis
Reutilização
• Reutilizar é o ato de incorporar resultados de análise
anteriores na análise atual;
Tarefas da Engenharia de Requisitos
• O processo é composto de sete funções distintas:
concepção, levantamento, elaboração, negociação,
especificação, validação e gestão.
Concepção
• Como um projeto de software é iniciado?
•Existe um evento único que torna catalisador de um novo
sistema, ou a necessidade evolui com o tempo?
Levantamento
•Parece simples?
• Questione o cliente, o usuário quais os objetivos do
sistema. Pode ser difícil.
Limite mal
definido
Requisitos
mudam
Elaboração
•Refinamento das informações obtidas do cliente durante a
concepção e levantamento;
•Modelo técnico refinado das funções, características e
restrições de software;
•O resultado final da elaboração define
• Domínio do problema informacional, funcional e
comportamental.
Elaboração
Considere por um momento que lhe foi solicitado especificar todos os requisitos para a
construção de uma cozinha gourmet.
A fim de especificar totalmente o que deve ser construído, você poderia listar todos os
gabinetes e seus eletrodomésticos. Você então poderia especificar o revestimento dos
balcões, peças de encanamento e pavimentação. Essas listas poderiam fornecer uma
especificação útil, mas não fornecem um modelo completo do que você quer.
Para completar o modelo, você poderia criar uma apresentação tridimensional que
mostrasse a posição dos gabinetes, dos eletrodomésticos e relacionamento entre eles.
Construímos modelos de análise por motivos muito semelhantes àqueles pelos quais
desenvolveríamos uma planta ou uma apresentação 3D da cozinha. É importante avaliar
os componentes do sistema em relação uns com os outros, para determinar como os
requisitos se encaixam nesse quadro e avaliar a estética do sistema tal como concebida.
Negociação
•Usuários pedem mais do que pode ser conseguido
•Usuários diferentes possuem requisitos de acordo com seus
interesses.
•O Engenheiro de requisitos deve negociar.
•Não deve haver ganhador e nem perdedor em uma
negociação efetiva.
Especificação
•Pode ser:
• Cenários de uso
• Documento escrito
• Modelo gráfico
•Último produto do engenheiro de requisitos
•Serve como subsídio das atividades subsequentes;
•Descreve a função e o desempenho de um sistema de
computador e as restrições que governarão seu
desenvolvimento.
Validação
•Os produtos de trabalho são avaliados quanto a qualidade
Check list da Validação
• Os requisitos foram claramente
estabelecidos? Eles podem ser mal
interpretados?
• A fonte do requisito foi identificada?
• O requisito está limitado em termos
quantitativos?
• Que outros requisitos se relacionam a
este requisito? Eles foram claramente
anotados em uma matriz de referência
cruzada?
• O requisito viola alguma restrição de
domínio?
• O requisito pode ser testado? Em caso
positivo, podemos exercitar os testes
para exercitar o requisito?
• Pode-se relacionar o requisito a qualquer
modelo de sistema que tenha sido criado?
• O requisito está relacionado aos objetivos
globais do sistema/produto?
• A especificação do sistema está
estruturada de modo que leve a fácil
entendimento, fácil referenciação e fácil
tradução em produtos de trabalho mais
técnicos?
• Foi criado um índice para a especificação?
• Os requisitos relacionados ao
desempenho, ao comportamento e às
características operacionais do sistema
foram claramente declarados? Que
requisitos podem estar implícitos?
Gestão de Requisitos
•A cada requisito é atribuída uma identificação;
•Tabelas de rastreamento são desenvolvidas
Requisitos
• Requisitos tem papel central no processo de software,
sendo considerados um fator determinante para o sucesso
ou fracasso de um projeto de software;
•O processo de levantar, gerenciar e controlar a qualidade
dos requisitos é chamado Engenharia de Requisitos;
Definições
• Requisitos de um sistema são descrições dos serviços
que devem ser fornecidos por esse sistema e as suas
restrições operacionais(SOMMERVILLE, 2007).
• Um requisito de um sistema é uma característica do
sistema ou a descrição de algo que o sistema é capaz de
realizar para atingir seus objetivos (PFLEEGER, 2004).
• Um requisito é alguma coisa que o produto tem de fazer ou
uma qualidade que ele precisa apresentar (ROBERTSON;
ROBERTSON, 2006).
Tipos de Requisitos
• Requisitos Funcionais:
• são declarações de serviços que o sistema deve
prover, descrevendo o que o sistema deve fazer
(SOMMERVILLE, 2007).
• Um requisito funcional descreve uma interação entre o
sistema e o seu ambiente (PFLEEGER, 2004), podendo
descrever, ainda, como o sistema deve reagir a
entradas específicas, como o sistema deve se
comportar em situações específicas e o que o sistema
não deve fazer (SOMMERVILLE, 2007).
Tipos de Requisitos
• Requisitos não Funcionais:
• descrevem restrições sobre os serviços ou funções
oferecidos pelo sistema (SOMMERVILLE, 2007), as
quais limitam as opções para criar uma solução para o
problema (PFLEEGER, 2004).
• Neste sentido, os requisitos não funcionais são muito
importantes para a fase de projeto (design), servindo
como base para a tomada de decisões nessa fase.
Requisitos
Organização de Requisitos
• Requisitos Funcionais
• Evidentes são efetuados com conhecimento do
usuário
• Ocultos são efetuados pelo sistema sem o
conhecimento explícito do usuário.
• Transitórios: podem ser mudados por legislações e
normas, por exemplo. (parametrização)
• Exemplo: Registrar empréstimo.
• Requisitos não-funcionais:
• Obrigatórios
• Desejáveis
• Exemplo: O tempo de registro de cada DVD deve ser
inferior a um segundo.
Exemplo
• Registrar o empréstimo de uma fita é um requisito funcional.
• Estabelecer que o tempo de empréstimo da fita não pode ser
superior a 48 horas é uma restrição, ou requisito não
funcional.
Classificação de requisitos não
funcionais
• Sommerville (2007), por exemplo, classifica-os em:
• Requisitos de produto: especificam o comportamento do
produto (sistema). Referem-se a atributos de qualidade .
• Requisitos organizacionais: são derivados de metas,
políticas e procedimentos das organizações do cliente e
do desenvolvedor.
• Requisitos externos: referem-se a todos os requisitos
derivados de fatores externos ao sistema e seu processo
de desenvolvimento.
Níveis de descrição de requisitos
• Requisitos de Usuário: são declarações em linguagem
natural acompanhadas de diagramas intuitivos de quais
serviços são esperados do sistema e das restrições sob as
quais ele deve operar.
• Requisitos organizacionais: definem detalhadamente as
funções, serviços e restrições do sistema.
Documento de Especificação de
Requisitos
1. Introdução
1. Propósito do documento de requisitos
2. Escopo do produto
3. Definições, escopo e abreviaturas
4. Referências
5. Visão geral do restante do documento
2. Descrição Geral
1. Perspectiva do produto
2. Funções do produto
3. Características dos usuários
4. Restrições gerais
5. Suposições e dependências
3. Requisitos específicos
4. Apêndices
5. Índice
Entendendo as necessidades dos usuários
• Identificar as fontes de requisitos dos Envolvidos
• Definir lista de requisitos do sistema
• Pode-se utilizar técnicas de brainstorming para
levantamento dos requisitos junto aos envolvidos.
• Os requisitos podem ser classificados em duas grandes
categorias:
• Requisitos Funcionais que correspondem a listagem
de tudo que o sistema deve fazer.
• Requisitos não-funcionais que são restrições
colocadas sobre como o sistema deve realizar seus
requisitos funcionais.
Quais são as fontes dos requisitos?
Analistas
Parceiros
Usuários
Cliente
Domínio do
Problema
Requisitos Iniciais
Relatórios de Problemas
Solicitações de Mudanças
Visitas no site
Informações dos concorrentes
Legislações
Sistemas legados
Especificações de requisitos
Modelos de negócios
Planos de negócios
Objetivos pessoais
Quais problemas podem ser encontrados
• Envolvidos
• Possuem uma ideia pré-concebida da solução
• Não sabem o que eles realmente desejam
• São inabilitados em articular o que eles desejam
• Pensam que sabem o que eles Desejam, mas não os
reconhecem quando eles são entregues
• Analistas
• Pensam que eles entendem os problemas do usuário
melhor do que o usuário.
• Os outros
• Todo mundo enxerga as coisas do seu próprio ponto
de vista
• Acredita que tudo é motivado politicamente (a equipe
comercial deseja a implementação de requisitos que
atraem mais clientes e a financeira requisitos que
tornem os gastos menores)
Técnicas para elicitação de requisitos
•Revisar as especificações de requisitos dos clientes
•Entrevista
•Leitura de Documentos
•Questionário
•Participação ativa dos usuários
•Brainstorming
•Workshop de requisitos
•Protótipos
•Observações e análises sociais
Técnicas para elicitação de requisitos
Workshop de requisitos
• Criar consenso no escopo, riscos e características
chaves do sistema de software.
• São direcionados por um facilitador
• Duração: 3 a 5 dias
• Artefatos produzidos, como:
• Declaração do problema
• Requisitos dos envolvidos
• Características chaves
• Diagrama de caso de uso
• Lista de risco priorizada
Técnicas para elicitação de requisitos
Benefícios do Workshop de requisitos
• Provê um framework para aplicar outras técnicas de
elicitação
• Workshop de caso de uso, brainstorming
• Acelera o processo de elicitação
• Reuni todos os envolvidos para uma discussão intensa e
focado no problema
• Promove a participação de todos
• Resultados avaliados imediatamente
Técnicas para elicitação de requisitos
Workshop: Planejar e Executar
Pré-workshop Sessão Produção Acompanhamento
Motivar o workshop
Estabelecer equipe
Organizá-lo
Enviar materiais
Preparar agenda
Facilitar
Rastreamento
Registrar
descobertas
Resumir as
conclusões
Sintetizar
descobertas
Condensar info
Apresentar ao
cliente
Planejar próximos
passos
Reunião de Coleta de Requisitos
• Jamie Lazar, Vinod e Ed, membro da
equipe de software; Doug, gerente de
engenharia de software; membros de
marketing; facilitador
• Facilitador (apontando para um quadro):
Então, esta é a lista de objetos e serviços
para a função de segurança residencial.
• Pessoa de Marketing: Isso praticamente
cobre tudo do nosso ponto de vista.
• Vinod: Alguém não mencionou que queria
toda a funcionalidade do CasaSegura
acessível via internet? Isso, incluiria a
função de segurança residencial, não?
• Pessoa de Marketing: É, está certo ...
Vamos ter de acrescentar essa
funcionalidade e os objetos adequados.
• Facilitador: Isso também acrescenta
alguma restrição?
• Jamie: Sim, tanto técnicos quanto legais
• Representante da Produção: O que
significa?
• Jamie: Precisamos estar certos de que uma
pessoa de fora não pode invadir o sistema,
desarmá-lo e roubar o lugar ou pior.
Pesada responsabilidade de nossa parte.
• Doug: Muito Certo
• Marketing: Mas nós ainda precisamos de
conectividade via internet ... Basta nos
certificarmos de impedir a invasão de uma
pessoa de fora.
• Ed: Isso é mais fácil de falar do que fazer...
• Facilitador (interrompendo): Eu não quero
discutir esse ponto agora. Vamos anotá-lo
com um item de ação e prosseguir.
• Facilitador: Estou sentindo que existe
ainda mais a considerar.
Técnicas para elicitação de requisitos
Entrevistas
• O engenheiro de requisitos ou analista discute o sistema
com diferentes stakeholders e obtêm um entendimento
dos requisitos.
• Vantagens: contato direto com o usuário e validação
imediata
• Desvantagens: conhecimento tácito e diferenças de
cultura
Técnicas para elicitação de requisitos
Entrevistas: tipos
• Entrevistas fechadas. O engenheiro de requisitos busca
respostas para um conjunto de questões pré-definidas
• Entrevistas abertas. Não há uma agenda pré-definida e o
engenheiro de requisitos discute, de forma aberta, o que
o stakeholders quer do sistema.
Técnicas para elicitação de requisitos
Entrevistas
• Entrevistadores devem estar de “cabeça aberta” e não
fazer a entrevista com noções pré-concebidas sobre o
que é necessário
• Informar aos stakeholders o ponto inicial da discussão.
Isto pode ser uma questão, uma proposta de requisitos
ou um sistema existente
• Entrevistadores devem estar cientes da política
organizacional - muitos requisitos reais podem não ser
discutidos devido as implicações políticas
Técnicas para elicitação de requisitos
Questionário
• Quando existe conhecimento sobre o problema e grande
número de clientes
• Dão idéia definida sobre como certos aspectos universo
de informação/software são percebidos
• Possibilitam análises estatísticas
• Vantagens: padronização das perguntas e tratamento
estatístico das respostas
• Desvantagens: limitação do universo de respostas e
pouca iteração
Técnicas para elicitação de requisitos
Modos de comunicação

Weitere ähnliche Inhalte

Was ist angesagt?

Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoDaniel Brandão
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfMarcelo Silva
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareÁlvaro Farias Pinheiro
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvcleopp
 
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsJoeldson Costa Damasceno
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoHelder Lopes
 
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasAula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasDaniel Brandão
 
Análise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e JavaAnálise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e Javaarmeniocardoso
 
REA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UMLREA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UMLIFFar - SVS
 

Was ist angesagt? (20)

Banco De Dados
Banco De DadosBanco De Dados
Banco De Dados
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
Aula4 levantamento requisitos
Aula4 levantamento requisitosAula4 levantamento requisitos
Aula4 levantamento requisitos
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdf
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de Software
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Sistemas de Informação
Sistemas de InformaçãoSistemas de Informação
Sistemas de Informação
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvc
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional Windows
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de Informação
 
Uml
UmlUml
Uml
 
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasAula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
 
Fundamentos da Engenharia de Software
Fundamentos da Engenharia de SoftwareFundamentos da Engenharia de Software
Fundamentos da Engenharia de Software
 
Análise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e JavaAnálise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e Java
 
REA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UMLREA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UML
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 

Andere mochten auch

Fundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de RequisitosFundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de RequisitosBarbara Lima
 
Bdm aula 4 - modelagem de dados com modelo er
Bdm   aula 4 - modelagem de dados com modelo erBdm   aula 4 - modelagem de dados com modelo er
Bdm aula 4 - modelagem de dados com modelo erTicianne Darin
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosTamires Guedes
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de softwareTiago Pinhão
 
Uma Introdução a Engenharia de Software
Uma Introdução a Engenharia de SoftwareUma Introdução a Engenharia de Software
Uma Introdução a Engenharia de SoftwareVinicius Garcia
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Ricardo Terra
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareRonney Moreira de Castro
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de SistemasGuilherme
 
Eng.ª do Software - 3. Processos da engenharia de requisitos
Eng.ª do Software - 3. Processos da engenharia de requisitosEng.ª do Software - 3. Processos da engenharia de requisitos
Eng.ª do Software - 3. Processos da engenharia de requisitosManuel Menezes de Sequeira
 

Andere mochten auch (17)

Fundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de RequisitosFundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de Requisitos
 
Crise de software2
Crise de software2Crise de software2
Crise de software2
 
Bdm aula 4 - modelagem de dados com modelo er
Bdm   aula 4 - modelagem de dados com modelo erBdm   aula 4 - modelagem de dados com modelo er
Bdm aula 4 - modelagem de dados com modelo er
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Aula 3 - Sistemas e Modelos de Dados
Aula 3 - Sistemas e Modelos de DadosAula 3 - Sistemas e Modelos de Dados
Aula 3 - Sistemas e Modelos de Dados
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Uma Introdução a Engenharia de Software
Uma Introdução a Engenharia de SoftwareUma Introdução a Engenharia de Software
Uma Introdução a Engenharia de Software
 
Aula 6 - Cardinalidade
Aula 6 - CardinalidadeAula 6 - Cardinalidade
Aula 6 - Cardinalidade
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de Sistemas
 
Eng.ª do Software - 3. Processos da engenharia de requisitos
Eng.ª do Software - 3. Processos da engenharia de requisitosEng.ª do Software - 3. Processos da engenharia de requisitos
Eng.ª do Software - 3. Processos da engenharia de requisitos
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 

Ähnlich wie Aula 1 requisitos

Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane FidelixAula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane FidelixCris Fidelix
 
Os aspectos mais relevantes da Engenharia de Requisitos
Os aspectos mais relevantes da Engenharia de RequisitosOs aspectos mais relevantes da Engenharia de Requisitos
Os aspectos mais relevantes da Engenharia de RequisitosJosé Vieira
 
Modelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdfModelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdfIvanFontainha
 
ASPECTOS DA ENGENHARIA DE REQUISITOS
ASPECTOS DA ENGENHARIA DE REQUISITOSASPECTOS DA ENGENHARIA DE REQUISITOS
ASPECTOS DA ENGENHARIA DE REQUISITOSJaffer Veronezi
 
04 - Reqxxxxxxxxxxxxxxxxxxxxxxxuisitos.ppt
04 - Reqxxxxxxxxxxxxxxxxxxxxxxxuisitos.ppt04 - Reqxxxxxxxxxxxxxxxxxxxxxxxuisitos.ppt
04 - Reqxxxxxxxxxxxxxxxxxxxxxxxuisitos.pptIedaRosanaKollingWie
 
Ap i unidade 3 - levantamento de requisitos
Ap i   unidade 3 - levantamento de requisitosAp i   unidade 3 - levantamento de requisitos
Ap i unidade 3 - levantamento de requisitosGlauber Aquino
 
Analise de requisitos estudo para prova
Analise de requisitos estudo para provaAnalise de requisitos estudo para prova
Analise de requisitos estudo para provaLeonardo Almeida
 
Es capítulo 4 - engenharia de requisitos
Es   capítulo 4  - engenharia de requisitosEs   capítulo 4  - engenharia de requisitos
Es capítulo 4 - engenharia de requisitosFelipe Oliveira
 
Aula 1 introducao
Aula 1   introducaoAula 1   introducao
Aula 1 introducaolicardino
 
Princípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de RequisitosPrincípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de Requisitoselliando dias
 
UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25Hélio Medeiros
 
Engenharia de requisitos introdução
Engenharia de requisitos   introduçãoEngenharia de requisitos   introdução
Engenharia de requisitos introduçãoSilmar De Freitas
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trataRoni Reis
 

Ähnlich wie Aula 1 requisitos (20)

Definição e classificação dos requisitos
Definição e classificação dos requisitosDefinição e classificação dos requisitos
Definição e classificação dos requisitos
 
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane FidelixAula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
 
Os aspectos mais relevantes da Engenharia de Requisitos
Os aspectos mais relevantes da Engenharia de RequisitosOs aspectos mais relevantes da Engenharia de Requisitos
Os aspectos mais relevantes da Engenharia de Requisitos
 
06 Requisitos
06 Requisitos06 Requisitos
06 Requisitos
 
Modelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdfModelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdf
 
ASPECTOS DA ENGENHARIA DE REQUISITOS
ASPECTOS DA ENGENHARIA DE REQUISITOSASPECTOS DA ENGENHARIA DE REQUISITOS
ASPECTOS DA ENGENHARIA DE REQUISITOS
 
Análise de Sistemas Orientado a Objetos - 02
Análise de Sistemas Orientado a Objetos - 02Análise de Sistemas Orientado a Objetos - 02
Análise de Sistemas Orientado a Objetos - 02
 
04 - Reqxxxxxxxxxxxxxxxxxxxxxxxuisitos.ppt
04 - Reqxxxxxxxxxxxxxxxxxxxxxxxuisitos.ppt04 - Reqxxxxxxxxxxxxxxxxxxxxxxxuisitos.ppt
04 - Reqxxxxxxxxxxxxxxxxxxxxxxxuisitos.ppt
 
Ap i unidade 3 - levantamento de requisitos
Ap i   unidade 3 - levantamento de requisitosAp i   unidade 3 - levantamento de requisitos
Ap i unidade 3 - levantamento de requisitos
 
Análise de Sistemas Orientado a Objetos - 01
Análise de Sistemas Orientado a Objetos - 01Análise de Sistemas Orientado a Objetos - 01
Análise de Sistemas Orientado a Objetos - 01
 
Analise de requisitos estudo para prova
Analise de requisitos estudo para provaAnalise de requisitos estudo para prova
Analise de requisitos estudo para prova
 
Es capítulo 4 - engenharia de requisitos
Es   capítulo 4  - engenharia de requisitosEs   capítulo 4  - engenharia de requisitos
Es capítulo 4 - engenharia de requisitos
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Aula 1 introducao
Aula 1   introducaoAula 1   introducao
Aula 1 introducao
 
Analise sistemas 04
Analise sistemas 04Analise sistemas 04
Analise sistemas 04
 
Princípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de RequisitosPrincípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de Requisitos
 
UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25
 
Engenharia de requisitos introdução
Engenharia de requisitos   introduçãoEngenharia de requisitos   introdução
Engenharia de requisitos introdução
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
Análise de requisitos
Análise de requisitosAnálise de requisitos
Análise de requisitos
 

Aula 1 requisitos

  • 1. Pós Graduação em Desenvolvimento de Software Módulo: Engenharia de Requisitos Aula 1: Requisitos Professor: Licardino Siqueira Pires
  • 2. O desafio da análise • São quatro os desafios da análise: • Compreensão do domínio do problema • Comunicação interpessoal • Evolução contínua • reutilização
  • 3. Domínio do Problema e Responsabilidade • Estudo do domínio do problema e a identificação das suas características; • Significados: • Problema: [Jogar para frente, empurrar para frente (Grego)]; Uma questão proposta para solução ou consideração; • Domínio: [Direito de propriedade, posse (Grego)]; A esfera ou campo de atividade ou influência; como por exemplo o domínio da arte ou política. • Assim: Domínio do Problema. Um campo sob estudo ou consideração. • Exemplo: controle do espaço aéreo, a aviônica, as finanças e as leis.
  • 4. Domínio do Problema e Responsabilidade • Significados: • Sistema: [reunir (Grego)];Um conjunto ou arranjo de elementos relacionados ou interligados de modo a formar uma unidade ou um todo orgânico, por exemplo sistema solar e sistema de irrigação; • Responsabilidade: [que precisa de uma resposta (Grego)]; A condição, qualidade, fato ou ocorrência de ser responsável, exigível, cobrável ou imputável; aplica-se a pessoas, mandados, ofícios ou dívidas. • Assim: Responsabilidade do sistema. Uma organização de elementos relacionados de modo a formar um todo.
  • 5. Domínio do Problema e Responsabilidade • Um analista precisa especificar requisitos, reunidos concisamente de forma que as pessoas possam ler e entender o que o analista acredita que são estes requisitos. • Mas o crucial é entender o domínio do problema.
  • 6. Comunicação • Todo o trabalho de análise precisa de comunicação; • Retornar ao cliente o que foi sintetizado para validação; • Negociar com cliente requisitos que não possam ser atendidos, devido ao cronograma e custo; • Engenharia de software baseada fortemente em pessoas; • Os processos de software são efetivos somente até o ponto em que ajudam as pessoas a se comunicarem;
  • 8. Mudança Contínua • Requisitos sempre mudam; • “Temos que aceitar a instabilidade dos requisitos como um fato da vida, e não condená-la como o resultado de um raciocínio mal conduzido” afirma Gerard Fischer; • Agrupar os requisitos estáveis • Tratar com diferenciação os instáveis
  • 9. Reutilização • Reutilizar é o ato de incorporar resultados de análise anteriores na análise atual;
  • 10. Tarefas da Engenharia de Requisitos • O processo é composto de sete funções distintas: concepção, levantamento, elaboração, negociação, especificação, validação e gestão.
  • 11. Concepção • Como um projeto de software é iniciado? •Existe um evento único que torna catalisador de um novo sistema, ou a necessidade evolui com o tempo?
  • 12. Levantamento •Parece simples? • Questione o cliente, o usuário quais os objetivos do sistema. Pode ser difícil. Limite mal definido Requisitos mudam
  • 13. Elaboração •Refinamento das informações obtidas do cliente durante a concepção e levantamento; •Modelo técnico refinado das funções, características e restrições de software; •O resultado final da elaboração define • Domínio do problema informacional, funcional e comportamental.
  • 14. Elaboração Considere por um momento que lhe foi solicitado especificar todos os requisitos para a construção de uma cozinha gourmet. A fim de especificar totalmente o que deve ser construído, você poderia listar todos os gabinetes e seus eletrodomésticos. Você então poderia especificar o revestimento dos balcões, peças de encanamento e pavimentação. Essas listas poderiam fornecer uma especificação útil, mas não fornecem um modelo completo do que você quer. Para completar o modelo, você poderia criar uma apresentação tridimensional que mostrasse a posição dos gabinetes, dos eletrodomésticos e relacionamento entre eles. Construímos modelos de análise por motivos muito semelhantes àqueles pelos quais desenvolveríamos uma planta ou uma apresentação 3D da cozinha. É importante avaliar os componentes do sistema em relação uns com os outros, para determinar como os requisitos se encaixam nesse quadro e avaliar a estética do sistema tal como concebida.
  • 15. Negociação •Usuários pedem mais do que pode ser conseguido •Usuários diferentes possuem requisitos de acordo com seus interesses. •O Engenheiro de requisitos deve negociar. •Não deve haver ganhador e nem perdedor em uma negociação efetiva.
  • 16. Especificação •Pode ser: • Cenários de uso • Documento escrito • Modelo gráfico •Último produto do engenheiro de requisitos •Serve como subsídio das atividades subsequentes; •Descreve a função e o desempenho de um sistema de computador e as restrições que governarão seu desenvolvimento.
  • 17. Validação •Os produtos de trabalho são avaliados quanto a qualidade
  • 18. Check list da Validação • Os requisitos foram claramente estabelecidos? Eles podem ser mal interpretados? • A fonte do requisito foi identificada? • O requisito está limitado em termos quantitativos? • Que outros requisitos se relacionam a este requisito? Eles foram claramente anotados em uma matriz de referência cruzada? • O requisito viola alguma restrição de domínio? • O requisito pode ser testado? Em caso positivo, podemos exercitar os testes para exercitar o requisito? • Pode-se relacionar o requisito a qualquer modelo de sistema que tenha sido criado? • O requisito está relacionado aos objetivos globais do sistema/produto? • A especificação do sistema está estruturada de modo que leve a fácil entendimento, fácil referenciação e fácil tradução em produtos de trabalho mais técnicos? • Foi criado um índice para a especificação? • Os requisitos relacionados ao desempenho, ao comportamento e às características operacionais do sistema foram claramente declarados? Que requisitos podem estar implícitos?
  • 19. Gestão de Requisitos •A cada requisito é atribuída uma identificação; •Tabelas de rastreamento são desenvolvidas
  • 20. Requisitos • Requisitos tem papel central no processo de software, sendo considerados um fator determinante para o sucesso ou fracasso de um projeto de software; •O processo de levantar, gerenciar e controlar a qualidade dos requisitos é chamado Engenharia de Requisitos;
  • 21. Definições • Requisitos de um sistema são descrições dos serviços que devem ser fornecidos por esse sistema e as suas restrições operacionais(SOMMERVILLE, 2007). • Um requisito de um sistema é uma característica do sistema ou a descrição de algo que o sistema é capaz de realizar para atingir seus objetivos (PFLEEGER, 2004). • Um requisito é alguma coisa que o produto tem de fazer ou uma qualidade que ele precisa apresentar (ROBERTSON; ROBERTSON, 2006).
  • 22. Tipos de Requisitos • Requisitos Funcionais: • são declarações de serviços que o sistema deve prover, descrevendo o que o sistema deve fazer (SOMMERVILLE, 2007). • Um requisito funcional descreve uma interação entre o sistema e o seu ambiente (PFLEEGER, 2004), podendo descrever, ainda, como o sistema deve reagir a entradas específicas, como o sistema deve se comportar em situações específicas e o que o sistema não deve fazer (SOMMERVILLE, 2007).
  • 23. Tipos de Requisitos • Requisitos não Funcionais: • descrevem restrições sobre os serviços ou funções oferecidos pelo sistema (SOMMERVILLE, 2007), as quais limitam as opções para criar uma solução para o problema (PFLEEGER, 2004). • Neste sentido, os requisitos não funcionais são muito importantes para a fase de projeto (design), servindo como base para a tomada de decisões nessa fase.
  • 24. Requisitos Organização de Requisitos • Requisitos Funcionais • Evidentes são efetuados com conhecimento do usuário • Ocultos são efetuados pelo sistema sem o conhecimento explícito do usuário. • Transitórios: podem ser mudados por legislações e normas, por exemplo. (parametrização) • Exemplo: Registrar empréstimo. • Requisitos não-funcionais: • Obrigatórios • Desejáveis • Exemplo: O tempo de registro de cada DVD deve ser inferior a um segundo.
  • 25. Exemplo • Registrar o empréstimo de uma fita é um requisito funcional. • Estabelecer que o tempo de empréstimo da fita não pode ser superior a 48 horas é uma restrição, ou requisito não funcional.
  • 26. Classificação de requisitos não funcionais • Sommerville (2007), por exemplo, classifica-os em: • Requisitos de produto: especificam o comportamento do produto (sistema). Referem-se a atributos de qualidade . • Requisitos organizacionais: são derivados de metas, políticas e procedimentos das organizações do cliente e do desenvolvedor. • Requisitos externos: referem-se a todos os requisitos derivados de fatores externos ao sistema e seu processo de desenvolvimento.
  • 27. Níveis de descrição de requisitos • Requisitos de Usuário: são declarações em linguagem natural acompanhadas de diagramas intuitivos de quais serviços são esperados do sistema e das restrições sob as quais ele deve operar. • Requisitos organizacionais: definem detalhadamente as funções, serviços e restrições do sistema.
  • 28. Documento de Especificação de Requisitos 1. Introdução 1. Propósito do documento de requisitos 2. Escopo do produto 3. Definições, escopo e abreviaturas 4. Referências 5. Visão geral do restante do documento 2. Descrição Geral 1. Perspectiva do produto 2. Funções do produto 3. Características dos usuários 4. Restrições gerais 5. Suposições e dependências 3. Requisitos específicos 4. Apêndices 5. Índice
  • 29. Entendendo as necessidades dos usuários • Identificar as fontes de requisitos dos Envolvidos • Definir lista de requisitos do sistema • Pode-se utilizar técnicas de brainstorming para levantamento dos requisitos junto aos envolvidos. • Os requisitos podem ser classificados em duas grandes categorias: • Requisitos Funcionais que correspondem a listagem de tudo que o sistema deve fazer. • Requisitos não-funcionais que são restrições colocadas sobre como o sistema deve realizar seus requisitos funcionais.
  • 30. Quais são as fontes dos requisitos? Analistas Parceiros Usuários Cliente Domínio do Problema Requisitos Iniciais Relatórios de Problemas Solicitações de Mudanças Visitas no site Informações dos concorrentes Legislações Sistemas legados Especificações de requisitos Modelos de negócios Planos de negócios Objetivos pessoais
  • 31. Quais problemas podem ser encontrados • Envolvidos • Possuem uma ideia pré-concebida da solução • Não sabem o que eles realmente desejam • São inabilitados em articular o que eles desejam • Pensam que sabem o que eles Desejam, mas não os reconhecem quando eles são entregues • Analistas • Pensam que eles entendem os problemas do usuário melhor do que o usuário. • Os outros • Todo mundo enxerga as coisas do seu próprio ponto de vista • Acredita que tudo é motivado politicamente (a equipe comercial deseja a implementação de requisitos que atraem mais clientes e a financeira requisitos que tornem os gastos menores)
  • 32. Técnicas para elicitação de requisitos •Revisar as especificações de requisitos dos clientes •Entrevista •Leitura de Documentos •Questionário •Participação ativa dos usuários •Brainstorming •Workshop de requisitos •Protótipos •Observações e análises sociais
  • 33. Técnicas para elicitação de requisitos Workshop de requisitos • Criar consenso no escopo, riscos e características chaves do sistema de software. • São direcionados por um facilitador • Duração: 3 a 5 dias • Artefatos produzidos, como: • Declaração do problema • Requisitos dos envolvidos • Características chaves • Diagrama de caso de uso • Lista de risco priorizada
  • 34. Técnicas para elicitação de requisitos Benefícios do Workshop de requisitos • Provê um framework para aplicar outras técnicas de elicitação • Workshop de caso de uso, brainstorming • Acelera o processo de elicitação • Reuni todos os envolvidos para uma discussão intensa e focado no problema • Promove a participação de todos • Resultados avaliados imediatamente
  • 35. Técnicas para elicitação de requisitos Workshop: Planejar e Executar Pré-workshop Sessão Produção Acompanhamento Motivar o workshop Estabelecer equipe Organizá-lo Enviar materiais Preparar agenda Facilitar Rastreamento Registrar descobertas Resumir as conclusões Sintetizar descobertas Condensar info Apresentar ao cliente Planejar próximos passos
  • 36. Reunião de Coleta de Requisitos • Jamie Lazar, Vinod e Ed, membro da equipe de software; Doug, gerente de engenharia de software; membros de marketing; facilitador • Facilitador (apontando para um quadro): Então, esta é a lista de objetos e serviços para a função de segurança residencial. • Pessoa de Marketing: Isso praticamente cobre tudo do nosso ponto de vista. • Vinod: Alguém não mencionou que queria toda a funcionalidade do CasaSegura acessível via internet? Isso, incluiria a função de segurança residencial, não? • Pessoa de Marketing: É, está certo ... Vamos ter de acrescentar essa funcionalidade e os objetos adequados. • Facilitador: Isso também acrescenta alguma restrição? • Jamie: Sim, tanto técnicos quanto legais • Representante da Produção: O que significa? • Jamie: Precisamos estar certos de que uma pessoa de fora não pode invadir o sistema, desarmá-lo e roubar o lugar ou pior. Pesada responsabilidade de nossa parte. • Doug: Muito Certo • Marketing: Mas nós ainda precisamos de conectividade via internet ... Basta nos certificarmos de impedir a invasão de uma pessoa de fora. • Ed: Isso é mais fácil de falar do que fazer... • Facilitador (interrompendo): Eu não quero discutir esse ponto agora. Vamos anotá-lo com um item de ação e prosseguir. • Facilitador: Estou sentindo que existe ainda mais a considerar.
  • 37. Técnicas para elicitação de requisitos Entrevistas • O engenheiro de requisitos ou analista discute o sistema com diferentes stakeholders e obtêm um entendimento dos requisitos. • Vantagens: contato direto com o usuário e validação imediata • Desvantagens: conhecimento tácito e diferenças de cultura
  • 38. Técnicas para elicitação de requisitos Entrevistas: tipos • Entrevistas fechadas. O engenheiro de requisitos busca respostas para um conjunto de questões pré-definidas • Entrevistas abertas. Não há uma agenda pré-definida e o engenheiro de requisitos discute, de forma aberta, o que o stakeholders quer do sistema.
  • 39. Técnicas para elicitação de requisitos Entrevistas • Entrevistadores devem estar de “cabeça aberta” e não fazer a entrevista com noções pré-concebidas sobre o que é necessário • Informar aos stakeholders o ponto inicial da discussão. Isto pode ser uma questão, uma proposta de requisitos ou um sistema existente • Entrevistadores devem estar cientes da política organizacional - muitos requisitos reais podem não ser discutidos devido as implicações políticas
  • 40. Técnicas para elicitação de requisitos Questionário • Quando existe conhecimento sobre o problema e grande número de clientes • Dão idéia definida sobre como certos aspectos universo de informação/software são percebidos • Possibilitam análises estatísticas • Vantagens: padronização das perguntas e tratamento estatístico das respostas • Desvantagens: limitação do universo de respostas e pouca iteração
  • 41. Técnicas para elicitação de requisitos Modos de comunicação