especificação de requisitosprofessorpedro.com.br/uploads/1/0/8/9/108963787/aula_04_-_e... · a...
TRANSCRIPT
Especificação de Requisitos
Prof. Pedro Ramires
Prof. Nilton Cesar
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;
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
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
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.
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.
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
Tradicionalmente, os requisitos de software são
separados em 2 categorias:
• requisitos funcionais;
• não-funcionais.
Especificação de Requisitos
Área do conhecimento no qual
o sistema será desenvolvido.
Levantamento de Requisitos
• 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
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;
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.
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++.
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.
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.
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"
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;
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..
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.
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.
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;
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.
( )"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".