especificação de requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · a...

24
Especificação de Requisitos Prof. Pedro Ramires Prof. Nilton Cesar

Upload: buitram

Post on 15-Dec-2018

241 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Especificação de Requisitos

Prof. Pedro Ramires

Prof. Nilton Cesar

Page 2: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Especificação de Requisitos

A principal tarefa do Analista de Sistemas e: descobrir o

que um sistema devera fazer.

A essas necessidades que devem ser atendidas chama-se

REQUISITOS;

Page 3: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

A especificação de requisitos tem como objetivo

obter produtos de software de melhor qualidade

que satisfaçam às reais necessidades dos clientes

dentro de prazo e orçamento adequados.

Especificação de Requisitos

Page 4: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Podemos entender requisito como uma função ou

restrição que deve ser fornecida, encontrada ou

atendida para satisfazer às necessidades do

usuário do sistema. (Descreve um serviço ou uma

limitação).

Especificação de Requisitos

Page 5: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Especificação de Requisitos

A especificação de requisitos é a tarefa mais

importante na fase de análise de um sistema.

Requisitos mal especificados produzem dor de

cabeça, retrabalho e atrasos no projeto.

Page 6: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor
Page 7: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Definição de Requisitos

E o 1º passo no modelo do processo. O que devo fazer e não a forma como será implementado. Serve como contrato entre desenvolvedor e comprador.

E o processo de aquisição, refinamento e verificação das necessidades do sistema.

O objetivo e sistematizar o processo de definição dos requisitos, obtendo uma especificação correta e completa do mesmo para elaboração do Documento de Requisitos.

Page 8: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Regras Básicas dos Requisitos • Não ambíguo: tem apenas uma interpretação. É muito importante prestar atenção

na linguagem utilizada para não causar duplo entendimento.

• Verificável: não é vago nem genérico e deve ser quantificado para permitir a

verificação de uma das seguintes formas: inspeção, análise, demonstração ou teste.

• Conciso: para não gerar confusão, cada requisito define, de maneira clara e

simples, apenas uma única exigência a ser desenvolvida. Para ser conciso, o

requisito não inclui explicações, motivações, definições ou descrições do seu uso.

Tais detalhes podem estar em outros documentos.

• Alcançável: é realizável a um custo definido.

• Completo: não precisa ser explicado ou aumentado, garantindo capacidade

suficiente do sistema.

• Consistente: não contradiz nem mesmo duplica outro requisito e utiliza os termos

na mesma forma que a adotada nos outros requisitos.

• Ordenável: tem uma ordem por estabilidade, importância ou ambos.

• Aceito: acolhido pelos usuários e desenvolvedores

Page 9: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Tradicionalmente, os requisitos de software são

separados em 2 categorias:

• requisitos funcionais;

• não-funcionais.

Especificação de Requisitos

Page 10: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Área do conhecimento no qual

o sistema será desenvolvido.

Levantamento de Requisitos

Page 11: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

• Descrevem as funcionalidades do sistema desejadas pelos clientes ou seja O QUE se espera que o software faça.

• E uma interação entre o sistema e o seu ambiente.

• Algumas vezes, os requisitos funcionais podem também explicitamente declarar o que o sistema não deve fazer.

• A especificação deve ser completa e consistente.

Requisitos Funcionais

Page 12: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Requisitos Funcionais

Exemplo:

• O sistema deve possibilitar o cadastramento dos

dados pessoais dos clientes;

• O sistema deve emitir relatórios gerenciais;

• O sistema deve permitir a baixa automática do

estoque quando da venda de um produto;

Page 13: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Requisitos Não-Funcionais

Os requisitos não funcionais são aqueles que

expressam como deve ser feito (não confundir

requisitos não funcionais com design). Em geral

se relacionam com padrões de qualidade como

confiabilidade, performance, robustez, etc.

Page 14: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Exemplos de requisitos não-funcionais:

• O tempo de resposta do sistema não deve

ultrapassar 10 segundos;

• O software deve ser operacionalizado no

sistema Windows;

• O banco de dados usado deverá ser o Oracle;

• O sistema deve ser implementado na linguagem

C++.

Page 15: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Como distingui-los e separa-los ?

Exemplo:

O sistema deve prover um grid na tela, que

permitirá a visualização de imagens. Esse grid

poderá ser ativado ou desativado através do

clique em um botão. O grid terá uma régua, cuja

escala poderá estar tanto em centímetros como

em polegadas, que ajudará no

redimensionamento das imagens.

Page 16: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Os requisitos não foram especificados da maneira correta

no exemplo anterior. É o que chamamos de aglutinação de

requisitos. Temos então que separar requisitos funcionais,

não funcionais e de interface. No nosso caso, o maneira

correta seria:

• Funcional: O sistema deve prover um grid para a

visualização de imagens. Este grid poderia ser ativado ou

desativado.

• Não funcional: A escala do grid poderá estar tanto

em centímetros como em polegadas.

• Interface: Deve haver um botão responsável por

habilitar e desabilitar o grid.

Page 17: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Requisitos Não-Funcionais

Obs: "Os requisitos não-funcionais são críticos

para o sucesso de sistemas de software e estão

diretamente relacionados com a satisfação dos

usuários. Devido a essa importância, alguns

requisitos funcionais podem ser sacrificados para

atender às restrições impostas pelos requisitos

não-funcionais"

Page 18: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Tipos de Requisitos

Seja qual for o sistema, há várias formas de

atendê-lo. Dependendo das necessidades que se

apresentam existem vários tipos de requisito:

• De Usuário;

• De Sistema;

• De Software;

Page 19: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Requisitos de Usuários

É a característica ou o comportamento que o

usuário deseja para o software ou para o sistema

como um todo. São descritos pelo próprio usuário

ou por um analista de sistemas, a partir de um

levantamento de dados com o cliente..

Page 20: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Requisitos de Sistema

Comportamento ou característica que se

exige do sistema como um todo, incluindo

hardware e software. São normalmente

levantados por engenheiros de software ou

analistas de sistemas, que devem refinar os

requisitos dos usuários, transformando-os

em termos de engenharia de software.

Page 21: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Requisitos de Software

Comportamento ou característica exigido do

software. São normalmente levantados por

analistas de sistemas com o objetivo de comparar

todos os requisitos com aqueles que possuem

real relevância.

Page 22: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

O documento de requisitos de sistema - DRS - pode ser

entendido como a descrição formal e oficial onde é descrita e

comunicada os requisitos a todos os envolvidos no processo de

desenvolvimento de software. Ele é basicamente composto de:

• serviços e funções que o sistema deve prover;

• limitações sobre as quais o sistema deve operar;

• definições de outros sistemas com os quais o sistema deve

integrar;

• limitações no processo usado para desenvolver o sistema;

• descrições sobre o hardware no qual o sistema irá executar;

Page 23: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

Exercicio Classifique os requisitos conforme o tipo: (F) Funcionais (NF) Não-Funcionais.

( ) o software deve possibilitar o cálculo dos gastos diários, semanais, mensais e anuais com pessoal.

( ) a base de dados deve ser protegida para acesso apenas de usuários autorizados.

( ) o software deve emitir relatórios de compras a cada quinze dias.

Page 24: Especificação de Requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · A especificação de requisitos tem como objetivo obter produtos de software de melhor

( )"o tempo de resposta do sistema não deve ultrapassar 30 segundo".

( )"os usuários devem poder obter o número de aprovações, reprovações e trancamentos em todas as disciplinas por um determinado período de tempo.

( )"o software deve ser operacionalizado no sistema Linux”

( )"o tempo de desenvolvimento não deve ultrapassar seis meses".