Você está na página 1de 14

Universidade Federal do ABC

Curso de Tecnologia e Sistemas de Informação

Aula 2 – Atividade 1
Análise de Requisitos

Prof. Raphael Y. de Camargo


Introdução
O levantamento e análise dos requisitos de um sistema é a
primeira etapa no processo de desenvolvimento de um
sistema computacional
Os requisitos de um sistema compreendem:
As funcionalidades que o sistema deve ter
As restrições de funcionamento
Engenharia de Requisitos
Processo de descobrir, analisar, documentar e verificar
os requisitos de um sistema
Requisitos de Usuário e de Sistema
Uma maneira de classificar os requisitos é dividindo-os em
requisitos de usuário e requisitos de sistema
Requisitos de usuário
São requisitos abstratos e de alto-nível, normalmente
descritos em linguagem natural e com diagramas
Requisitos de sistema
São uma descrição mais detalhada das funcionalidades do
sistema. Ela normalmente define exatamente quais
serviços serão implementados e quais suas restrições
Requisitos Funcionais e Não-funcionais
Os requisitos são normalmente classificados como:
Funcionais:
- Descrevem o que o sistema deve fazer. Isto é, são os
serviços e funcionalidades que o sistema deve fornecer
Não funcionais:
- Correspondem às restrições sobre os serviços e
funcionalidades, como o desempenho.
Requisitos Funcionais
Descrevem o que o sistema deve fazer. Isto é, são os
serviços e funcionalidades que o sistema deve fornecer
Exemplo: Loja Virtual de Eletrônicos
Requisitos Funcionais:
- O usuário deve ser capaz de realizar buscas pelo nome
e pelo tipo de produto
- Para cada produto, devem ser mostradas suas
especificações técnicas
- Os usuários devem ser capazes de opinar sobre os
produtos e de ler as opiniões de outros usuários
- Os usuários poderão fazer o pagamento com o uso de
boleto bancário ou cartão de crédito, etc;
Requisitos Funcionais
Notem que as especificações apresentadas são de alto-
nível e genéricas, apresentando ambiguidades para os
desenvolvedores
No caso da busca, o usuário deve fornecer o nome completo
e exato do produto ou basta uma palavra-chave?
O ideal neste caso é fornecer a maior quantidade possível
de informação para que o cliente e desenvolvedores
saibam exatamente o que deve ser implementado.
Requisitos Não-Funcionais
São os requisitos associados às propriedades do sistema
como um todo.
Exemplo: Loja Virtual de eletrônicos
- Deve estar disponível durante 99,99% do tempo
- Capacidade de atender 1000 usuários simultâneos
- O tempo de resposta às requisições dos usuários dever
de no máximo 1s.
- A comunicação com o usuário deve ser criptografada
Normalmente são mais importantes que funcionalidades
individuais. Por exemplo, se o site de uma loja virtual não
for seguro, o site será inútil, pois não poderá se usado.
Requisitos Não-Funcionais
Os requisitos funcionais podem ser de 3 tipos:
1) Requisitos do produto: Definem o comportamento do
produto, como desempenho, confiabilidade, segurança e
uso de recursos computacionais;
2) Requisitos organizacionais: Estão relacionados às
políticas organizacionais internas do cliente e do
desenvolvedor. Como exemplo, podemos citar o processo
de desenvolvimento, as linguagens de programação, as
formas de disponibilização da documentação, etc.
3) Requisitos externos: São os requisitos externos ao
sistema, como requisitos legais e éticos e de interopera-
bilidade com sistemas de outras empresas
Requisitos de Usuário
São requisitos abstratos e de alto-nível, direcionados aos
usuários do sistema.
Especificam apenas o comportamento externo do sistema,
evitando descrever detalhes do projeto interno
Descritos em linguagem natural e com diagramas
Englobam tanto as características funcionais como não
funcionais do projeto
Requisitos de Usuário
Exemplo: Na loja virtual de eletrônicos, poderíamos ter o
seguinte requisito de usuário:

Para comprar um produto, o cliente deve clicar em


um botão Comprar. Neste caso, o produto é
inserido no carrinho do cliente, junto com outros
produtos que o cliente já tenha adquirido

Notem que esta descrição não cita detalhes internos, sobre


como a lista de itens do carrinho será armazenada ou
quais módulos do sistema são responsáveis por qual função
Requisitos de Sistema
São uma descrição mais detalhada das funcionalidades do
sistema descritas nos requisitos do usuário.
Eles normalmente define exatamente quais serviços serão
implementados e quais suas restrições
Normalmente se utiliza linguagem natural nestas
especificações, mas deve-se tomar cuidado com as
ambiguidades inerentes da linguagem, como em:
“Uma professora de arte francesa”, onde francesa pode
se referir à professora ou à arte
Requisitos de Sistema
Exemplo: Na loja virtual de eletrônicos, poderíamos ter o
seguinte requisito de sistema:

Módulo Carrinho de Compras: armazena a lista de


itens (identificador e quantidade) que um usuário
selecionou para comprar. Sua interface permite a
adição de um novo item, a exclusão de um item
inserido anteriormente e a listagens dos items

Notem que esta descrição cita detalhes internos sobre o


módulo que gerencia os itens do carrinho de compras
Documento de Requisitos
A lista de requisitos levantados para um sistema de
software dá origem a um documento de requisitos, ou
SRS (Software Requirements Specification)

Este documento contém o que os desenvolvedores devem


implementar e inclui os requisitos de usuário e de sistema,
tanto os funcionais quanto os não-funcionais.

Normalmente é um documento formal, que é utilizado como


parte do contrato de desenvolvimento da empresa com o
cliente.
Referências
A principal referência para esta atividade são os capítulos
6 e 7 do livro Engenharia de Software, Ian Sommerville,
8a edição.
Recomendamos sua leitura aos que quiserem aprender
mais sobre análise de requisitos.

Você também pode gostar