Análise e Projeto de Sistema I
Engenharia de Requisitos
Prof. Carlo Castor
O que são Funcionalidades de
um sistema?
O que é uma restrição?
Engenharia de Requisitos
●
É o processo de descobrir, analisar,
documentar e verificar as funções e
restrições dos requisitos.
Requisitos
●
São descrições das funções e das restrições
– Função:
●
Abertura de conta corrente.
– Restrições:
●
Maior de 18 anos;
●
Ter no mínimo R$ 50,00 iniciais;
●
Apresentar documentos:
●
Comprovante de residência;
●
Comprovante de renda;
●
Possuir CPF.
Tipos de Requisitos
●
Tipos de Requisitos
– Requisitos de Usuário
– Requisitos de Sistema
Requisitos de Usuário
●
Linguagem Natural;
●
Diagramas sobre as
funções (Diagrama de
Atividades);
Requisitos de Sistema
●
Detalhamento das
funções e restrições
do sistema;
●
Documento de
requisitos preciso e
completo;
●
Pode servir como
contrato (Escopo).
Requisitos podem ser
●
Requisitos
Funcionais
●
Requisitos não
funcionais
Requisitos Funcionais
●
Funções que o sistema deve fornecer;
●
Como o sistema deve reagir;
●
As entradas específicas;
●
Comportamento em diversas situações;
●
Pode também declarar o que o sistema não
pode fazer;
●
A especificação deve ser completa e
consistente.
Requisitos Não Funcionais
●
Não dizem respeito diretamente com as
funções específicas do sistema;
●
Relacionados a propriedade do sistema;
●
Uma falha em um requisito não funcional
pode degradar o sistema como um todo. Por
exemplo, um sistema de aviação não
atender o requisito de confiabilidade;
Requisitos Não Funcionais
●
Tempo de resposta;
●
Espaço em disco;
●
Restrições de orçamentos;
●
Necessidade de comunicação com outros
sistemas de software.
Tipos de Especificação
●
Especificação
em Linguagem
Natural
●
Especificação
em linguagem
estruturada
Especificação em Linguagem
Natural
●
Tem sido usada para escrever os requisitos
para o software, desde o início de
engenharia de software;
●
É expressiva, intuitiva e universal;
●
Porém é vaga, ambígua e sua interpretação
depende do leitor;
Especificação em Linguagem
Natural
●
Solicitar extrato da conta bancária
– Esta função é responsável por descrever como o
sistema irá se comportar no momento no qual o
usuário solicita o extrato da sua conta.
– O sistema deverá solicitar a senha para o usuário;
– O usuário deverá informar a senha composta por
quatro dígitos;
Especificação em Linguagem
Natural
– O sistema deverá mostrar as opções disponíveis
para o usuário conectado ao sistema;
– O usuário informa a conta na qual será realizada a
ação e clica na opção extrato;
– O sistema imprime todas as operações bancárias
dos últimos sete dias e finaliza a operação.
Especificação em linguagem
estruturada
●
É uma forma “restrita” da linguagem natural
que se destina a escrever requisitos de
sistemas;
●
Utiliza-se templates (modelos) para
especificar requisitos de sistema;
●
Informações que devem ser incluídas no
formulário padrão;
Especificação em linguagem
estruturada
●
Uma descrição de suas entradas e de onde
elas se originam;
●
Uma descrição de suas saídas;
●
A descrição da ação a ser realizada.
Especificação em linguagem
estruturada
●
Determinar pré e pós-condições;
●
Uma descrição dos efeitos colaterais;
Engenharia de Requisitos
Engenharia de Requisitos
Prof. Carlo Castor.
Aula 02
Elicitação e Análise de
Requisitos
Elicitação e Análise de
Requisitos
Elicitar: Fazer com que vá para fora; fazer
sair; expulsar.
[Link]
Elicitação e Análise de
Requisitos
É o processo de reunir informações sobre o
sistema requerido e os sistemas existentes.
Elicitação e Análise de
Requisitos
Stakeholder – são
as pessoas que
possuem alguma
influência sobre os
requisitos do
sistema;
Elicitação e Análise de
Requisitos
●
Dificuldade de elicitar e compreender os requisitos:
Elicitação e Análise de
Requisitos
●
Dificuldade de elicitar e compreender os
requisitos:
– Costumam não saber o que querem;
– Expressam requisitos em seus próprios termos e
com o conhecimento implícito de seu próprio
trabalho;
– Diferentes Stakeholders tem requisitos diferentes;
Elicitação e Análise de
Requisitos
●
Dificuldade de elicitar e compreender os
requisitos:
– Fatores políticos podem influenciar os requisitos
de um sistema;
– O ambiente econômico e empresarial no qual a
análise ocorre é dinâmico.
Elicitação e Análise de
Requisitos
●
Fontes de informações:
Elicitação e Análise de
Requisitos
●
Fontes de informações:
– Documentação;
– Stakeholders do sistema;
– Especificações de sistemas similares.
Elicitação e Análise de
Requisitos
●
O que é usado para compreensão do
sistema:
– Entrevistas
– Cenários;
– Protótipos;
– Casos de uso;
– Etnografia.
Entrevistas
Entrevistas
●
Questionar sobre:
– Sistemas que já usaram ou conhecem;
– Sistemas que usam no momento;
– Sistema que será desenvolvido.
Entrevistas
●
Tipo de entrevistas:
– Fechadas:
●
Stakeholders respondem a um conjunto predefinido de
perguntas.
– Abertas:
●
Não existe uma agenda predefinida
Entrevistador Eficaz???
Entrevistas
●
Entrevistadores eficazes:
– Estão abertos a novas ideias;
– Evitam ideias preconcebidas sobre os requisitos;
– Estão dispostos a ouvir os stakeholders;
– Se o stakeholders apresentar requisitos surpresa,
eles estão dispostos a mudar de ideia sobre o
sistema.
Entrevistas
●
Entrevistadores eficazes:
– Estimulam o entrevistado a participar da
discussão com:
●
Questão trampolim;
●
Uma proposta de requisitos;
●
Trabalhando em conjunto em um protótipo do sistema.
Cenários
Cenários
●
É mais fácil se relacionar com exemplos da
vida real do que com descrições abstratas.
Cenários
●
Um cenário pode incluir:
– Uma descrição do que o sistema e os usuários
esperam quando o cenário se iniciar;
– Uma descrição do fluxo normal de eventos no
cenário;
– Uma descrição do que pode dar errado e com isso
é tratado;
Cenários
●
Um cenário pode incluir:
– Uma descrição do estado do sistema quando o
cenário acaba.
Protótipos
Protótipos
●
É uma representação limitada das telas do
sistema:
– Esboço de uma tela em papel;
– Uma fotografia eletrônica;
– Uma simulação em vídeo de uma tarefa;
– Um conjunto de telas vinculadas por hiperlinks.
Casos de Uso
Casos de Uso
●
São técnicas de descobertas de requisitos
que já se tornaram uma característica
fundamental da linguagem UML (Unified
Modeling Language);
●
Identifica os atores;
●
Suplementada por informações adicionais
que descrevem a interação com o sistema;
Casos de Uso
●
São documentado por diagrama de casos de
uso de alto nível;
●
Neste documento, atores, que podem ser
pessoas ou outros sistemas, são
representados como figuras 'palitos';
●
Cada classe de interação é representada por
uma elipse;
●
Linhas fazem a ligação entre atores e a
interação.
Etnografia
Etnografia
●
O que é Etnografia?
●
É o termo que os antropólogos dão às
monografias descritivo-interpretativas sobre
as formas de vida de povos primitivos, seus
usos, costumes, valores e mitos.
●
As abordagens etnográficas exploram o que
não é notado e não é examinado pelos
participantes.
Etnografia p/ Requisitos
●
É uma técnica de observação;
●
Pode ser usada para compreender os
processos operacionais;
●
Ajuda a extrair requisitos de apoio para esse
processos;
Etnografia
A etnografia é eficaz para descobrir:
– Requisitos derivados da maneira como as
pessoas realmente trabalham e não da forma
como as definições dos processos dizem como
deveriam trabalhar:
– Requisitos derivados da cooperação e
conhecimento das atividades de outras pessoas;
Engenharia de Requisitos
Engenharia de Requisitos
Validação e Gerenciamento de Requisitos
Prof. Carlo Castor.
Aula 03
Validação de Requisitos
●
É o processo pelo qual se verifica se os
requisitos definem o sistema que o cliente
realmente quer;
●
Erros em um documento de requisitos
podem gerar altos custos de retrabalho
quando descoberto durante o
desenvolvimento ou após o sistema já está
em produção.
Validação de Requisitos
●
Tipo de Validação:
– Verificação de Validade;
– Verificações de consistências;
– Verificações de completude;
– Verificação de Realismo;
Validação de Requisitos
●
Verificação de Validade
– Maior reflexão e análise aprofundada podem
identificar funções necessárias, adicionais ou
diferentes.
●
Verificações de consistências
– Não devem ter restrições contraditórias ou
descrição diferente da mesma função.
Validação de Requisitos
●
Verificações de completude
– O documento de requisitos deve incluir requisitos
que definam todas as funções e restrições do
sistema.
●
Verificação de Realismo
– Os requisitos devem ser verificados para
assegurar que realmente podem ser
implementados;
– Deve considerar o orçamento e o cronograma.
Técnicas de Validação de
Requisitos
●
Revisões de requisitos
– Os requisitos são analisados por uma equipe de
revisores que verifica erros e incosistências.
●
Prototipação
– O usuário pode experimentar o modelo para
verificar se ele atende as suas reais
necessidades.
●
Geração de casos de teste
– Os requisitos devem ser testáveis.
Gerenciamento de Requisitos
Planejamento de
Gerenciamento de Requisitos
●
É o primeiro estágio essencial no processo
de gerenciamento de requisitos.
Gerenciamento de Requisitos
●
Após a instalação e a utilização do sistema
no dia a dia, novos requisitos surgirão
naturalmente;
●
Evolução dos requisitos;
●
É necessário um gerenciamento para a
atualização dos requisitos.
Mudança é Inevitável?
Razões pela quais a mudança é
inevitável
●
Após a instalação, o ambiente técnico e de
negócios do sistema sempre muda
– Um novo hardware pode ser introduzido;
– Nova interface com outros sistemas;
– Podem ser introduzidas novas legislações e
regulamentos.
Planejamento de
Gerenciamento de Requisitos
●
Você deve decidir sobre:
– Identificação de requisitos
●
Cada requisito deve ser identificado unicamente.
– Processo de gerenciamento de mudanças
●
Avaliar o custo e impacto da mudança.
– Politicas de rastreabilidade
●
Definem os relacionamentos entre cada requisito
– Ferramentas de Apoio
●
Definir quais ferramentas podem ser usadas
Gerenciamento de Mudanças de
requisitos
●
Estágios em um processo de gerenciamento
de mudanças
– Análise do problema e especificação de
mudanças
– Análise de mudança e custo
– Implementação de mudanças
Gerenciamento de Mudanças de
requisitos
●
Estágios em um processo de gerenciamento
de mudanças
– Análise do problema e especificação de
mudanças
●
Inicia com um problema de requisito identificado ou
com uma proposta específica de mudança;
●
Análise da mudança para verificar a sua validade.
Gerenciamento de Mudanças de
requisitos
●
Estágios em um processo de gerenciamento
de mudanças
– Análise de mudanças e custos
●
O efeito da mudança é feito por meio de rastreabilidade
e conhecimentos gerais dos requisitos do sistema
●
O custo é estimado (requisitos, projeto e
implementação)
●
Análise concluída, decidir se prossegue ou não com a
implementação.
Gerenciamento de Mudanças de
requisitos
●
Estágios em um processo de gerenciamento
de mudanças
– Implementação de mudanças
●
O documento de requisitos e, quando necessário, o
projeto e implementação do sistemas são
modificados.