Buscar

Engenharia de Software - Aula 7 - Requisitos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Processo de Engenharia de Requisitos
Deve lidar com diferentes pontos de vista, 
métodos, ferramentas e pessoas
Requisito 
Processo
Requisito 
Produto
Requisito 
Usuário
Requisito 
Funcional
Req não 
funcional
Requisito de 
domínio
Requisito de 
Sistema
Funcional funcional
Produto
Organizacional
Externo
domínio
Requisitos de Produto X Processo
• Requisito de produto
• É uma necessidade ou restrição do software a ser desenvolvido
• Ex: O sistema deve permitir que a secretária faça matrícula de 
aluno com os seguintes dados: cpf, nome, endereço, email, 
telefone. Não deve ser permitido o cadastro duplicado de 
alunos
• Requisito de processo
• É uma restrição no projeto de desenvolvimento do software
• Ex: o software deve ser desenvolvido usando o método ágil 
SCRUM
Categorias de Requisitos
• Requisitos de Usuários
• Requisitos de Sistemas
Requisito 
Processo
Requisito 
Produto
Requisito 
Usuário
Requisito 
Funcional
Req não 
funcional
Requisito de 
domínio
Requisito de 
Sistema
Funcional funcional
Produto
Organizacional
Externo
domínio
Requisitos de Usuário
• Declarações em linguagem natural associadas com 
diagramas de quais serviços o sistema deve fornecer e 
suas restrições operacionais
• Leitores de requisitos de usuários• Leitores de requisitos de usuários
Requisitos de Sistema
• Descrições detalhadas das funções e restrições 
operacionais do sistema 
• Define o que deve ser implementado e assim, pode ser 
parte de um contrato entre cliente e desenvolvedorparte de um contrato entre cliente e desenvolvedor
• Contrato é o DOCUMENTO DE ESPECIFICAÇÃO DE 
REQUISITOS ou de especificação FUNCIONAL
•Leitores de requisitos de sistema
Exemplo: Sistema LIBSYS
• Um sistema de BIBLIOTECA DIGITAL que fornece uma 
interface única para uma série de banco de dados de 
artigos em bibliotecas diferentes
•Os usuários podem pesquisar, baixar e imprimir cópias 
de artigos publicados para estudo pessoal a partir de 
revistas, jornais e periódicos científicos, respeitando as 
cláusulas de direitos autorais, quando houver
Requisitos de Usuário X Sistema
Sistema de Sistema de 
BibliotecaBiblioteca
Nível de detalhes
diferenciado!!!
BibliotecaBiblioteca
LIBSYSLIBSYS
Classificação de Requisitos
• Requisitos Funcionais
• Requisitos Não Funcionais
• Requisitos de Domínio• Requisitos de Domínio
Requisito 
Processo
Requisito 
Produto
Requisito 
Usuário
Requisito 
Funcional
Req não 
funcional
Requisito de 
domínio
Requisito de 
Sistema
Funcional funcional
Produto
Organizacional
Externo
domínio
Classificação de Requisitos
• Funcionais
• Declarações de quais serviços o sistema deve fornecer, como 
o sistema deve reagir a entradas específicas e como o sistema 
deve se comportar em determinadas situações
•Não funcionais•Não funcionais
• Restrições sobre serviços ou funções oferecidos pelo sistema 
tais como restrições de timing, restrições sobre o processo de 
desenvolvimento, padrões, etc
•De Domínio
• Requisitos que vêm do domínio de aplicação do sistema e que 
refletem as características desse domínio
Requisitos Funcionais
• Descrevem a funcionalidade ou serviços de sistema
•Dependem do tipo de software, dos usuários esperados 
e do tipo de sistema onde o software é usadoe do tipo de sistema onde o software é usado
•Requisitos funcionais de usuário são as declarações de 
alto nível do que o sistema deve fazer, MAS os requisitos 
funcionais de sistema devem descrever os serviços de 
sistema em detalhes
Sistema LIBSYS: Requisitos Funcionais
• Diferentes graus de detalhamento são permitidos em 
documentos de especificação de requisitos, desde que 
estejam acordados
[R1] O usuário deve ser capaz de pesquisar em todo o conjunto 
inicial de banco de dados ou selecionar um subconjunto a inicial de banco de dados ou selecionar um subconjunto a 
partir dele
[R2] O sistema deve fornecer telas apropriadas para o usuário ler 
os documentos no repositório de documentos
[R3] Para todo pedido, deve ser alocado um identificador único 
que o usuário deve ser capaz de copiar para a área de 
armazenamento permanente da sua conta
Imprecisão de Requisitos
• Problemas surgem quando os requisitos não são 
precisamente definidos
• Requisitos ambíguos podem ser interpretados de 
maneiras diferentes pelos desenvolvedores e usuáriosmaneiras diferentes pelos desenvolvedores e usuários
• Considere o termo ‘telas apropriadas’ (requisito R2)
• Intenção do usuário – tela de propósito especial para cada tipo 
diferente de documento
• Interpretação do desenvolvedor – fornece uma tela de texto que 
mostra o conteúdo do documento
• Foco na Comunicação (vide seção 5.2, Roger Pressman)
Requisitos Não Funcionais
• NÃO diretamente relacionados às funções do sistema
• Definem propriedades e restrições de sistema
• Confiabilidade, tempo de resposta, armazenamento
• Capacidade de dispositivos de E/S, representações de dados • Capacidade de dispositivos de E/S, representações de dados 
na interface com o usuário, etc.
• Imposição de uma linguagem de programação ou uma 
especificação de padrão de qualidade em particular
• Podem ser mais críticos do que os requisitos funcionais
• Se não forem atendidos, o sistema é inútil
• Espaçonave (confiabilidade), jogo 3D (desempenho)
• Devem ser “testáveis” – métricas devem ser definidas
Classificação de Requisitos Não 
Funcionais
• De Produto
• Especificam que o produto entregue deve se comportar de uma 
maneira particular, por exemplo, velocidade de execução, 
confiabilidade, etc.
• Organizacionais• Organizacionais
• São uma consequência de políticas e procedimentos da organização, 
por exemplo, padrões de processo usados, requisitos de 
implementação, etc.
•Externos
• Surgem a partir de fatores externos ao sistema e seu processo de 
desenvolvimento, por exemplo, requisitos de interoperabilidade, 
legislação, etc.
Requisitos De Domínio
• Derivados do domínio de aplicação e descrevem 
características de sistema que refletem o domínio
• Podem restringir os requisitos funcionais existentes, OU • Podem restringir os requisitos funcionais existentes, OU 
estabelecer como cálculos específicos devem ser 
realizados
• Se os requisitos de domínio não forem satisfeitos, o 
sistema pode não funcionar
Sistema LIBSYS: Requisitos De Domínio
• Deve existir uma interface com o usuário de todas as 
bases de dados baseada no padrão Z39.50
• Dadas as restrições de direitos autorais, alguns • Dadas as restrições de direitos autorais, alguns 
documentos serão impressos localmente no servidor de 
sistema para serem encaminhados manualmente para o 
usuário ou direcionados para uma impressora de rede
Problemas de Requisitos De Domínio
• Facilidade de entendimento 
• Requisitos são expressos na linguagem do domínio de 
aplicação (ex:, Z39.50, DICOM 3.0, etc.)
• Isso não é, frequentemente, compreendido pelos engenheiros • Isso não é, frequentemente, compreendido pelos engenheiros 
de software que estão desenvolvendo o sistema
•Problema do conhecimento implícito (tácito)
• Especialistas em domínio compreendem a área tão bem que 
não pensam em tornar os requisitos de domínio explícitos
Descrição de Requisitos de Usuários
• Deve descrever requisitos funcionais e não funcionais, 
de tal modo que sejam compreensíveis pelos usuários de 
sistema que NÃO têm conhecimento técnico detalhado
•Requisitos de usuário são definidos usando uma 
linguagem simples, tabelas e diagramas quando estes 
podem ser compreendidos por todos os usuários
Descrição de Requisitos de Sistema
•Especificações mais detalhadas das funções do sistema, dos 
serviços e das restrições do que requisitosde usuário
•Eles pretendem ser uma base para o desenvolvimento do 
projeto de sistemaprojeto de sistema
•Eles podem ser incorporados no contrato de sistema
•Também sofre dos problemas de especificação em linguagem 
natural, como a ambiguidade
•Requisitos de sistema podem ser definidos ou ilustrados 
usando modelos (MODELAGEM) discutidos em próximas 
aulas
Problemas com Linguagem Natural
•Falta de clareza
• É difícil atingir uma precisão sem tornar o documento 
difícil de ler
•Confusão de requisitos•Confusão de requisitos
• Requisitos funcionais e não funcionais tendem a estar 
misturados
•Fusão de requisitos
• Vários requisitos diferentes podem ser expressos juntos
Exemplo do LIBSYS
• Mistura de requisitos com informação conceitual e • Mistura de requisitos com informação conceitual e 
informação muito detalhada
• Requisito acima descreve o conceito de um sistema de 
contabilidade financeira que deve ser incluído no LIBSYS
• Contudo, também inclui o detalhe com os quais os 
gerentes podem configurar esse sistema – isso é 
desnecessário neste nível
Software de Edição de Modelos Gráficos
•Requisito de grade de editor de diagrama mistura três tipos
diferentes de requisitos
• Requisito funcional conceitual (necessidade de uma grade)
• Requisito não funcional (unidades de grade)
• Requisito não funcional de interface com usuário (chaveamento
de grade)
Boas práticas para escrita de RF
• Deve possuir um identificador único que o identifique 
durante todo o processo de construção do software
• [RF1]; 001; F1; etc...
• Deve ser escrito da forma:• Deve ser escrito da forma:
• “O sistema deve permitir que os ATORES façam ALGUMA 
COISA quando ALGO ACONTECER”
• Todo requisito deve ser priorizado
• Obrigatório, desejado, 
• Alto, médio e baixo grau de prioridade 
Exemplos de Requisitos Funcionais
[RF01] O sistema deve permitir que o administrador cadastre 
funcionários com os seguintes dados: CPF, nome, email e 
telefone. O cadastro de funcionário não deve se repetir.
[RF02] O sistema deve permitir que o administrador atribua um 
cargo a um funcionário. cargo a um funcionário. 
[RF03] O sistema deve permitir que o administrador exclua um 
funcionário. Para ser excluído, o funcionário não pode ter 
nenhum cargo atribuído a ele.
Proposta de uma Estrutura Genérica: 
Padrão IEEE 830-1998
1. INTRODUÇÃO
1.1 Propósito do documento de requisitos
1.2 Escopo do produto
1.3 Definições, acrônimos e abreviações
1.4 Referências
3. REQUISITOS ESPECÍFICOS
-- FuncionaisFuncionais
- Não-funcionais
- De interface
OBS: requisitos podem documentar 1.4 Referências
1.5 Visão geral do restante do documento
2. DESCRIÇÃO GERAL
2.1 Funções do produto
2.2 Características do usuário
OBS: requisitos podem documentar 
interfaces externas, descrever funcionalidade 
e desempenho do sistema, especificar 
requisitos lógicos de banco de dados, 
restrições de projeto, propriedades 
emergentes do sistema e caracterísiticas de 
qualidade
4. APÊNDICES
5. ÍNDICE
Trabalho em Grupo
– Requisitos Funcionais
– Requisitos Não Funcionais
Leitura Recomendada
– Capítulo 5 do livro texto: Pressman, Roger. 
Engenharia de Software, 7ed. McGrawHill, 
Porto Alegre, RS, 2011.
– Capítulo 4 do livro texto: Sommerville, Ian. – Capítulo 4 do livro texto: Sommerville, Ian. 
Engenharia de Software, 9ed. Prentice Hall, 
São Paulo, SP, 2011.

Continue navegando