Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

ENGENHARIA DE SOFTWARE
Prof. Me. Jadir Custódio Mendonça Jr.
Engenharia de 
Requisitos
3
Engenharia de Requisitos
Engenharia de Requisitos
✓ Os requisitos de um sistema são as descrições do que o
sistema deve fazer, os serviços que oferecem e as
restrições a seu funcionamento.
✓ Refletem as necessidades dos clientes para um sistema
que serve a uma finalidade determinada.
✓ O processo de descobrir, analisar, documentar e
verificar esses serviços e restrições é chamado de
Engenharia de Requisitos.
(SOMMERVILLE, 2011, p. 57)
✓ A engenharia de requisitos constrói uma ponte para
o projeto e para a construção. (PRESSMAN, 2011, p. 127)
4
✓A Engenharia de Requisitos nos diz o que
deve ser feito e como deve funcionar.
✓Enquanto a Engenharia de Software nos
diz como construir o software, com
qualidade.
5
Engenharia de Requisitos
OBJETIVO
✓Sistematizar o processo de definição
de requisitos, obtendo uma
especificação correta e completa dos
requisitos.
6
Engenharia de Requisitos
PROCESSO DE ENGENHARIA DE 
REQUISITOS
7
Engenharia de Requisitos
PROCESSO DE ENGENHARIA DE 
REQUISITOS
Fatores que influenciam:
✓Maturidade técnica
✓ Envolvimento disciplinado
✓Cultura organizacional
8
Engenharia de Requisitos
PROBLEMAS MAIS COMUNS NO PROCESSO
DE ER
✓ Pouco envolvimento dos representantes dos usuários
✓ Falta ou falha no Gerenciamento de Requisitos
✓ Falta ou falha na definição das responsabilidades
✓ Problemas de comunicação entre os representantes dos 
usuários
✓ Não são consideradas as necessidades do negócio
9
Engenharia de Requisitos
✓ Alguns dos problemas que surgem durante o processo
de engenharia de requisitos são as falhas em não fazer
uma clara separação entre esses diferentes níveis de
descrição.
✓ (SOMMERVILLE, 2011)
✓ A engenharia de requisitos fornece o mecanismo
apropriado para entender aquilo que o cliente deseja,
analisando as necessidades, avaliando a viabilidade,
negociando uma solução razoável, especificando a
solução sem ambiguidades, validando a especificação e
gerenciando as necessidades à medida que são
transformadas em um sistema funcional.
✓ (PRESSMAN, 2011, p. 127)
10
Engenharia de Requisitos
✓Resumindo, um Requisito consiste da definição
documentada de uma propriedade ou
comportamento que um produto ou serviço
particular deve atender.
✓Conjuntos de requisitos são tipicamente utilizados
como informações fundamentais para a fase de
projeto de um produto ou serviço, especificando as
propriedades e funções necessárias (ou desejáveis)
a serem consideradas no desenvolvimento do
projeto em questão. (WIKIPEDIA, 2008)
11
Engenharia de Requisitos
✓Sommerville (2011, p. 58) faz uma distinção entre os níveis:
❖Requisito de usuário: expressa os requisitos abstratos de
alto nível. São declarações, em linguagem natural ou
diagramas de quais serviços o sistema deverá fornecer a
seus usuários e as restrições as quais devem operar.
❖Requisito de sistema: expressa a descrição detalhada do
que o sistema deve fazer. São descrições mais detalhadas
das funções, serviços e restrições operacionais do sistema
de software. Este documento deve definir exatamente o
que deve ser implementado.
12
Engenharia de Requisitos
✓Diferentes níveis de requisitos são úteis, pois eles
comunicam informações sobre o sistema para diferentes
tipos de leitor.
13
Engenharia de Requisitos
Requisitos de usuário e de sistema
14
Sistema de Gerenciamento
da Saúde Mental de Pacientes (MHC-PMS)
✓Os requisitos de software são
frequentemente classificados como:
❖Requisitos Funcionais
❖Requisitos Não Funcionais
15
Engenharia de Requisitos
Requisitos Funcionais
✓Expressam condições que o software deve atender ou
qualidades específicas que o software deve ter.
(AVILA; SPÍNOLA, 2008).
✓São restrições aos serviços ou funções oferecidos pelo
sistema. Incluem restrições de timing, restrições no processo
de desenvolvimento e restrições impostas pelas normas.
✓Declarações do que o sistema não deve fazer.
✓Declarações de como o sistema deve se comportar em
determinadas situações.
16
Engenharia de Requisitos
Requisitos Funcionais
✓Variam de requisitos gerais, que abrangem o que o sistema
deve fazer, até requisitos muito específicos, que refletem os
sistemas e as formas de trabalho em uma organização.
✓Definem os recursos específicos a serem fornecidos pelo
sistema. (SOMMERVILLE, 2011, p. 60)
✓Os requisitos funcionais podem ser cálculos, detalhes
técnicos, manipulação de dados e de processamento e
outras funcionalidades específicas que definem o que um
sistema, idealmente, será capaz de realizar. (WIKIPEDIA, 2012)
17
Engenharia de Requisitos
Requisitos Funcionais (constatações)
✓A imprecisão na especificação de requisitos é a causa de
muitos problemas da engenharia de software.
✓A imprecisão de requisitos faz com que um desenvolvedor
de sistemas interprete um requisito ambíguo(outro sentido)
de uma maneira que simplifique sua implementação. Nem
sempre tal implementação é a preferência do cliente, isto
gera novos requisitos e alterações no sistema. Gera atrasos
de entrega e aumenta os custos.
18
Engenharia de Requisitos
Requisitos Funcionais
✓ Exemplos – sistema de vendas:
❖ O CPF/CNPJ deve ser chave de pesquisa junto ao cadastro de
clientes
❖ O software deve permitir o cadastro de clientes em primeira
compra;
❖ O software deve permitir a geração de relatórios sobre o
desempenho de vendas no semestre;
❖ O software deve permitir o pagamento das compras através de
cartão de crédito.
19
Engenharia de Requisitos
20
Engenharia de Requisitos
Motivação para 
Engenharia de 
Requisitos
O problema da pedra
✓Clientes normalmente nos dão a missão que
pode ser descrita como:
“Traga-me uma pedra”.
22
Engenharia de Requisitos
O problema da pedra
✓Quando você lhe entrega uma pedra, ...
✓... o cliente diz: “Sim, mas..., na verdade..., o que eu
queria era uma pequena pedra azul”.
23
Engenharia de Requisitos
O problema da pedra
✓Quando você lhe entrega uma pequena pedra azul, ...
✓ ... o cliente diz: “Sim, mas..., na verdade..., o que eu
realmente queria era uma pequena pedra esférica e
azul”.
24
Engenharia de Requisitos
O problema da pedra
✓Quando você lhe entrega uma pequena pedra esférica e
azul, ...
✓ ... o cliente diz: “Sim, mas..., na verdade..., o que eu
realmente queria era uma pequena pedra esférica de
mármore azul”.
25
Engenharia de Requisitos
O problema da pedra
✓Quando você lhe entrega uma pequena pedra esférica
de mármore azul, ...
✓ ... o cliente finalmente diz: “Finalmente! Era isso que eu
queria!”.
26
Engenharia de Requisitos
O problema da pedra
✓O que será que aconteceu entre a entrega da primeira e
a última pedra?
27
1 2 3 4 
t
Engenharia de Requisitos
O problema da pedra
✓Talvez o cliente tenha mudado o seu desejo sobre o que
queria.
✓Certamente o desenvolvedor ficou frustrado.
✓Afinal, foi ele que carregou as pedras!
✓O cliente também ficou frustrado:
❖ Embora possa ter encontrado dificuldades para dizer
o que queria, ele está convencido de que expressou
seus desejos claramente.
❖ Foi o desenvolvedor que não entendeu!
28
Engenharia de Requisitos
Elicitação e análise de requisitos
✓Engenheiros de software trabalham com os
clientes e usuários finais do sistema para obter
informações sobre o domínio da aplicação, os
serviços que o sistema deve oferecer,
desempenho do sistema, restrições de hardware
e demais informações pertinentes ao sistema.
29
Engenharia de Requisitos
Elicitação e análise de requisitos
Desafios:
✓ Clientes/usuários costumam não saber o que querem no sistema a
ser desenvolvido;
✓ Muitas vezes é difícil para o usuário articular o que quer que o
sistema faça;
✓ O usuário pode fazer exigências inviáveis;
✓ Usuários usam termos próprios e conhecimento implícito que
engenheiros de requisitos, sem experiência no domínio, podem nãoentender;
✓ Diferentes clientes expressam mesmos requisitos de forma
diferentes;
30
Engenharia de Requisitos
Elicitação e análise de requisitos
Desafios (continuação):
✓ Fatores políticos podem influenciar os requisitos de um sistema;
✓ Os gerentes podem exigir requisitos específicos que lhes permitirão
aumentar sua influência na organização;
✓ O ambiente econômico e empresarial no qual a análise é realizada é
dinâmico;
✓ É comum que ocorram mudanças durante o processo de análise. A
importância dos requisitos podem mudar. Novos requisitos podem
surgir caso novos usuários forem consultados.
31
Engenharia de Requisitos
Requisitos Não Funcionais
✓Estão ligados diretamente a funcionalidade do software (AVILA;
SPÍNOLA, 2008).
✓São os requisitos relacionados ao uso da aplicação em
termos de desempenho, usabilidade, confiabilidade,
segurança, disponibilidade, manutenção e tecnologias
envolvidas. (WIKIPEDIA, 2008b)
✓São restrições aos serviços ou funções oferecidos pelo
sistema. (SOMMERVILLE, 2011, p. 59)
32
Engenharia de Requisitos
Requisitos Não Funcionais
✓São requisitos que não estão diretamente relacionados com
os serviços específicos oferecidos pelo sistema a seus
usuários.
✓São frequentemente mais críticos que requisitos funcionais
individuais.
✓Embora muitas vezes seja possível identificar quais
componentes do sistema implementam requisitos funcionais
específicos, é frequentemente mais difícil relacionar os
componentes com os requisitos não funcionais.
✓A implementação desses requisitos pode ser difundida em
todo o sistema.
(SOMMERVILLE, 2011, p. 60)
33
Engenharia de Requisitos
Requisitos Não Funcionais
✓Requisitos não funcionais podem afetar a arquitetura geral
de um sistema em vez de apenas componentes individuais.
❖ Por exemplo, para assegurar que sejam cumpridos os
requisitos de desempenho, será necessário organizar o
sistema para minimizar a comunicação entre os
componentes.
✓Exemplo:
▪ Cálculo Automático da Escala de Trabalho: Software livre vs
Software comercial.
34
Engenharia de Requisitos
Requisitos Não Funcionais
✓Um único requisito não funcional, tal como um
requisito de proteção, pode gerar uma série de
requisitos funcionais relacionados que definam os
serviços necessários no novo sistema.
(SOMMERVILLE, 2011, p. 60)
35
Engenharia de Requisitos
Requisitos Não Funcionais
✓ Os requisitos não funcionais surgem por meio das necessidades dos
usuários, devido:
❖ Restrições de orçamento,
❖ Políticas organizacionais,
❖ Necessidade de interoperabilidade com outros sistemas de software
ou hardware,
❖ A partir de fatores externos, como regulamentos de segurança ou
legislações de privacidade (LGPD).
(SOMMERVILLE, 2011, p. 61)
36
Engenharia de Requisitos
Requisitos Não Funcionais
✓Requisitos de produto
❖ Especificam ou restringem o comportamento do software.
❖ Exemplos incluem os requisitos de desempenho ou
requisitos de confiabilidade (suscetibilidade a falhas).
▪ Exemplo: Limitações impostas por Plano Selecionado e
pelo Software de Programação Linear (Qtde de variáveis:
32000).
(SOMMERVILLE, 2011, p. 61)
37
Engenharia de Requisitos
Requisitos Não Funcionais
✓Requisitos organizacionais
❖ São derivados das políticas e procedimentos da organização do cliente
e do desenvolvedor.
❖ Exemplos incluem os requisitos do processo operacional (como o
sistema será usado), os requisitos do processo de desenvolvimento que
especificam a linguagem de programação, o ambiente de
desenvolvimento ou normas de processo a serem usadas, bem como
os requisitos ambientais que especificam o ambiente operacional do
sistema.
▪ Exemplo: Tipo do Cálculo da Escala – Individual, Misto ou Integrado.
(SOMMERVILLE, 2011, p. 61)
38
Engenharia de Requisitos
Requisitos Não Funcionais
✓Requisitos externos
❖ São os requisitos que derivam de fatores externos ao sistema e seu
processo de desenvolvimento.
❖ Podem incluir requisitos reguladores, que definem o que deve ser feito
para que o sistema seja aprovado para uso, por um regulador, tal como
um banco central; requisitos legais, que devem ser seguidos para
garantir que o sistema opere dentro da lei; e requisitos éticos, que
asseguram que o sistema será aceitável para seus usuários e o público
em geral.
▪ Exemplo: NBR ISO 9241-171 de 09/2018: as orientações sobre
acessibilidade de software.
(SOMMERVILLE, 2011, p. 61)
39
Engenharia de Requisitos
Requisitos Não Funcionais
✓Exemplos
❖O software deve ser compatível com os browsers
Chrome (versão 79 ou superior) e Firefox (72 ou
superior);
❖O software deve garantir que o tempo de retorno
das consultas não seja maior do que 5 segundos.
(ÁVILA; SPÍNOLA, 2008)
40
Engenharia de Requisitos

Mais conteúdos dessa disciplina