aula 05 - engenharia de requisitos
TRANSCRIPT
-
8/17/2019 Aula 05 - Engenharia de Requisitos
1/30
-
8/17/2019 Aula 05 - Engenharia de Requisitos
2/30
-
8/17/2019 Aula 05 - Engenharia de Requisitos
3/30
Engenharia de Software
"A aplicação de uma abordagem sistem
disciplinada e quantificável no desenvolv
operação e manutenção do software".
-
8/17/2019 Aula 05 - Engenharia de Requisitos
4/30
Engenharia de Software
-
8/17/2019 Aula 05 - Engenharia de Requisitos
5/30
Engenharia de Software
-
8/17/2019 Aula 05 - Engenharia de Requisitos
6/30
Engenharia de Software
-
8/17/2019 Aula 05 - Engenharia de Requisitos
7/30
Engenharia de Software
Fatores Críticos %
1. Requisitos incompletos 13.1%
2. Falta de envolvimento dos usuários 12.4%
3. Falta de recursos 10.6%
4. Expectativas irreais 9.9%
5. Falta de apoio executivo 9.3%
6. Mudança de requisitos e especificações 8.7%
7. Falta de Planejamento 8.1%
8. Sistema não mais necessário 7.5%
-
8/17/2019 Aula 05 - Engenharia de Requisitos
8/30
O que são Requisitos??
-
8/17/2019 Aula 05 - Engenharia de Requisitos
9/30
O que são Requisitos?
-
8/17/2019 Aula 05 - Engenharia de Requisitos
10/30
• Um requisito é uma característica do sistema ou a
descrição de algo que o sistema é capaz de realiza
atingir os seus objetivos;
• As descrições das funções e restrições são os req
sistema;
• Um requisito é uma propriedade que o software d
para resolver algum problema no mundo real ;
O que são Requisitos?
-
8/17/2019 Aula 05 - Engenharia de Requisitos
11/30
● Requisitos de usuário
○ Declarações de alto nível escritas em linguagem
○ Escritos para os clientes
● Requisitos de sistema
○ Um documento estruturado estabelecendo descr
detalhadas das funções, serviços e restrições op
do sistema
○ Define o que deve ser implementado e pode até
de um contrato entre o cliente e o desenvolvedo
Tipos de Requisitos?
-
8/17/2019 Aula 05 - Engenharia de Requisitos
12/30
Requisitos de Sistema
-
8/17/2019 Aula 05 - Engenharia de Requisitos
13/30
“O sistema deve rodar em microcomputadores da linha PC qu
microprocessador Pentium ou superior”
“A interface do sistema deve ser gráfica, de acordo com um p
interface dirigida a menu”
“Alternativamente, o sistema deve possibilitar o seu uso atrav
de comando, para usuários avançados”
“O gerente da padaria deve consultar quanto vendeu em um d
Exemplos de Requisitos de Sistema
-
8/17/2019 Aula 05 - Engenharia de Requisitos
14/30
● Requisitos funcionais
○ Serviços que o sistema deve fornecer
○ Como o sistema deve reagir a entradas específicas○ Como o sistema deve se comportar em determinadas
○
● Exemplos:
○ O software deve permitir o cadastro de clientes.
○ O software deve permitir a geração de relatórios sobr
desempenho de vendas no semestre.
○ O software deve permitir o pagamento das compras a
cartão de crédito.
Requisitos de Sistema: Funcionais e Não-f
-
8/17/2019 Aula 05 - Engenharia de Requisitos
15/30
● Requisitos não-funcionais ou de qualidade
○ Restrições sobre serviços ou funções oferecidos pelo
como restrições de tempo de resposta, restrições sob
processo de desenvolvimento, padrões, etc.
○ Exemplos:
• O software deve ser compatível com os browsers IE
ou superior) e Firefox (1.0 ou superior);
• O software deve garantir que o tempo de retorno da
não seja maior do que 5 segundos.
Requisitos de Sistema: Funcionais e Não-f
-
8/17/2019 Aula 05 - Engenharia de Requisitos
16/30
● Problemas surgem quando os requisitos não são precisam
definidos
● Requisitos ambíguos podem ser interpretados de maneira
pelos desenvolvedores e usuários
● Considere o termo ‘telas apropriadas’
○ Intenção do usuário – tela de propósito especial para
diferente de documento○ Interpretação do desenvolvedor – fornece uma tela de
mostra o conteúdo do documento
Imprecisão de Requisitos
-
8/17/2019 Aula 05 - Engenharia de Requisitos
17/30
● Em princípio, requisitos devem ser completos e consisten
● Completude
○ Eles devem incluir descrições de todos os recursos re
● Consistência
○ Não deve haver conflitos ou contradições nas descriç
recursos de sistema
○ Na prática, é impossível produzir um documento de r
completo e consistente
Requisitos completos e consistentes
-
8/17/2019 Aula 05 - Engenharia de Requisitos
18/30
Requisitos completos e consistentes
-
8/17/2019 Aula 05 - Engenharia de Requisitos
19/30
Requisitos completos e consistentes
-
8/17/2019 Aula 05 - Engenharia de Requisitos
20/30
Requisitos completos e consistentes
l b d
-
8/17/2019 Aula 05 - Engenharia de Requisitos
21/30
●
Diretrizes para a elaboração de Requisito
Di i l b ã d R i i
-
8/17/2019 Aula 05 - Engenharia de Requisitos
22/30
●
Diretrizes para a elaboração de Requisito
C ifi i it ?
-
8/17/2019 Aula 05 - Engenharia de Requisitos
23/30
Linguagem natural estruturada:
● A abordagem estruturada emprega templates para registr
gerenciar requisitos
● Nesta abordagem é preciso definir um ou mais formulário
templates para expressar os requisitos.
● Vantagens
○ Uniformidade○ Possibilidade de agrupar requisitos
○ Possibilidade de rastrear os requisitos
Como especificar requisitos?
C ifi i it ?
-
8/17/2019 Aula 05 - Engenharia de Requisitos
24/30
Itens importantes de um template:
● Descrição da necessidade atendida pelo requisito
● Descrição da função ou entidade que está sendo especifi
● Descrição de suas entradas e de onde elas se originam;
● Descrição de suas saídas e para onde elas prosseguirão
● Indicação de quais outras entidades são utilizadas
● Pré-Condição○ Condição que deve ser verdadeira para que seja exe
● Pós-Condição:
○ O estado resultante do sistema
Como especificar requisitos?
C ifi i it ?
-
8/17/2019 Aula 05 - Engenharia de Requisitos
25/30
Itens importantes de um template:
● Pré-condições:
○ definem o que deve ser verdadeiro na estrutura da in
armazenada para que a operação ou consulta possa
executada algum mecanismo externo deverá garantir
validade antes de habilitar a execução da operação o
ao sistema● Pós-condições:
○ estabelecem o que uma operação de sistema muda n
da informação armazenada estabelece a resposta ge
sistema quando a operação é executada
Como especificar requisitos?
V it !
-
8/17/2019 Aula 05 - Engenharia de Requisitos
26/30
Abordagem estruturada - Exemplo 1:
● Requisitos:
○ um novo cliente deve ser cadastrado em uma Video L
○ O cadastro do cliente contém nome, endereço e telef
● Pré-condição:
○ Não existe nenhum cliente com o nome informado
● Pós-condição:○ O cliente foi adicionado ao cadastro
○ Os dados informados sobre o cliente são atua
atributos do cliente
○ O cliente é criado com o débito zerado
Vamos exercitar!
Vamos exercitar!
-
8/17/2019 Aula 05 - Engenharia de Requisitos
27/30
Exemplo 2: Copiar/Colar
● Descrição da necessidade:
○ O usuário necessita acrescentar um trecho em um documento que é cópi
existente
● Descrição da função ou entidade:
○ Função Copiar/Colar: copiar uma parte de um documento em um editor de t
● Descrição de entradas e origem:
○ O usuário seleciona o trecho a copiar e posiciona o cursor no documento n
cópia do trecho será inserida
● Descrição de saídas e destino
○ Texto duplicado na posição do cursor
● Entidades envolvidas:
○ Documento, Usuário
● Pré-Condição:
○ O documento está aberto para edição
● Pós-Condição:○ O documento é alterado recebendo o trecho marcado ara có ia na osi ão
Vamos exercitar!
Vamos exercitar!
-
8/17/2019 Aula 05 - Engenharia de Requisitos
28/30
Exemplo 2: Copiar/Colar
● Descrição da necessidade:
○ O usuário necessita acrescentar um trecho em um documento que é cópi
existente
● Descrição da função ou entidade:
○ Função Copiar/Colar: copiar uma parte de um documento em um editor de t
● Descrição de entradas e origem:
○ O usuário seleciona o trecho a copiar e posiciona o cursor no documento n
cópia do trecho será inserida
● Descrição de saídas e destino
○ Texto duplicado na posição do cursor
● Entidades envolvidas:
○ Documento, Usuário
● Pré-Condição:
○ O documento está aberto para edição
● Pós-Condição:○ O documento é alterado recebendo o trecho marcado ara có ia na osi ão
Vamos exercitar!
Vamos exercitar?
-
8/17/2019 Aula 05 - Engenharia de Requisitos
29/30
Analise o seguinte cenário de um sistema de emissão de
de trem.
● Um sistema automático de emissão de passagens vende passaOs usuários escolhem seu destino e apresentam um cartão de
número de identificação pessoal. A passagem é emitida e o
passagem é incluído em sua conta do cartão de crédito. Qua
pressiona o botão para iniciar, uma tela de menu com os possív
ativada, juntamente com uma mensagem para que o usuário
destino. Uma vez selecionado um destino pede-se que os us
seu cartão de crédito. A validade do cartão é checada e o u
deve fornecer um número de identificação pessoal. Quando a
crédito é validada, a passagem é emitida.
Vamos exercitar?
Vamos exercitar?
-
8/17/2019 Aula 05 - Engenharia de Requisitos
30/30
● Exercício 1: Verifique as ambiguidades ou omissões do sistema
● Exercício 2: Reescreva a descrição anterior usando a
estruturada.
○ Descrição da necessidade
○ Descrição da função ou entidade○ Descrição de entradas e origem
○ Descrição de saídas e destino
○ Entidades envolvidas
○ Pré-Condição
○ Pós-Condição
Vamos exercitar?