Você está na página 1de 22

Análise e Projeto

de Sistemas
Material Teórico
Levantamento de Dados e Análise de Requisitos

Responsável pelo Conteúdo:


Prof. Ms. Rodrigo da Rosa

Revisão Textual:
Profa. Ms. Rosemary Toffoli
Levantamento de Dados e Análise de Requisitos

• Introdução

• O que é um Sistema?

• O que são Requisitos?

• Técnicas de Levantamento de Requisitos

·· Por que a análise de requisitos é fundamental no desenvolvimento


do projeto de sistemas?
·· Como utilizar técnicas de levantamento de dados para garantir que as
necessidades de clientes e/ou parceiros sejam plenamente atingidas?
·· Como a fase de levantamento de requisitos contribui para solução
de problemas de engenharia de sistemas?

Para que os objetivos da unidade sejam alcançados, é fundamental que você leia
cuidadosamente todo o material e realize com atenção todas as atividades propostas.
Nesta unidade é importante que, durante as leituras e realização dos exercícios, você
consiga compreender a importância de levantamento de dados e análise de requisitos para
desenvolvimento de sistemas.
Sugerimos que você acesse e leia cuidadosamente o material teórico.
Após isso você poderá acompanhar a Apresentação Narrada, pois ela lhe ajudará a
compreender melhor os principais assuntos da Unidade.
Outro recurso fundamental é a atividade de sistematização, já que com ela você poderá
perceber o quanto aprendeu sobre o tema.
Realize a atividade de aprofundamento, que associa os assuntos que estudamos à atividade
profissional por meio de reflexão e produção de sua própria autoria.
Além disso tudo, você contará com textos e vídeos indicados no material complementar.

5
Unidade: Levantamento de Dados e Análise de Requisitos

Contextualização

O processo de desenvolvimento de sistemas não é tarefa fácil. Quando o assunto é sistema


relacionado com software, a complexidade pode ser ainda maior. Muitos podem até imaginar que
basta ter uma ideia qualquer e conhecer programação para que os resultados sejam satisfatórios
aos interesses de usuários e/ou clientes.
Contudo, para o desenvolvimento de softwares, algumas etapas devem, fundamentalmente,
ser obedecidas para que suas funcionalidades estejam de acordo com as necessidades da
empresa e para que problemas futuros sejam evitados.
A primeira fase no desenvolvimento de um projeto como este é o levantamento de dados
e análise de requisitos. A figura do analista é de grande importância, pois a ele compete o
trabalho de captar todas as informações possíveis e detalhadas dos usuários que precisam deste
sistema e transmitir de maneira clara aos desenvolvedores para que as etapas seguintes sejam
plenamente atendidas. O analista não pode, em hipótese alguma, ter entendimento errado do
que se pretende, pois este fato trará consequências prejudiciais ao projeto. Para que isto seja
evitado, muitas são as técnicas de levantamento de dados projetadas na tentativa de reduzir ao
máximo o risco de iniciar o projeto com defeito de análise.
O contato direto e indireto com os clientes é fator decisivo, e analisar as características da empresa,
comparando com as expectativas expostas são critérios que um bom analista deve estabelecer.
Esta unidade irá descrever as ideias principais no que diz respeito a levantamento e análise
de requisitos, bem como apresentar algumas técnicas mais utilizadas para este fim.

6
Introdução

Entende-se que a etapa mais complicada no desenvolvimento de sistemas de software é a de


análise de requisitos, pois ela servirá como fundamento para todas as outras fases posteriores
do projeto. Além disso, é nela que o usuário recebe especial atenção, já que as informações
por ele apresentadas é que darão suporte para a elaboração do projeto. Ideais humanos são
estabelecidos; questões organizacionais e políticas são inseridas; suas preferências, objetivos e
metas são imaginados; cenários e metodologias são projetados. Todas estas situações contribuem
para especificação do que se pretende com o sistema.

Nesta unidade, abordaremos sobre a importância da análise de requisitos de


usuários em projetos que envolvem o desenvolvimento de sistemas computacionais.
Compreenderemos que existem técnicas de levantamento de dados que visam estruturar
as etapas de análise de requisitos de forma a tentar satisfazer as necessidades gerenciais
exigidas por clientes e/ou parceiros.

O que é um Sistema?

Você já deve ter ouvido a palavra sistema em diferentes contextos: sistema de transporte,
sistema digestivo, sistema solar, sistema de informação, etc. Na era digital este termo tem sido
utilizado frequentemente.

Diálogo com o Autor

De maneira mais sucinta, podemos definir sistema como o conjunto de elementos interdependentes, ou um
todo organizado, ou partes que interagem formando um todo unitário e complexo (BATISTA, 2004, 13).

Assim, o sistema de transporte urbano é constituído por um conjunto de veículos (ônibus,


trens, metrô) com a função de transportar cargas ou as pessoas para locais diferentes; o
sistema digestivo é composto por um conjunto de órgãos que tem por objetivo proporcionar
a digestão dos alimentos.

7
Unidade: Levantamento de Dados e Análise de Requisitos

Atenção

Quando tratamos do assunto “sistema” com uma abordagem computacional, podemos definir a
palavra como um conjunto de objetos ou elementos que estão organizados com o propósito de pro-
cessar dados de entrada para se obter informações de interesse.

Na figura 1, você poderá identificar os elementos, geralmente mais utilizados em um sistema de software:

Figura 1: Elementos em um sistema de software

• Procedimentos são as etapas que definem a função de cada elemento do sistema;


• Hardware é um conjunto de componentes eletrônicos associados ao computador, como
por exemplo, a CPU, periféricos, memória, placas e monitor;

Você Sabia ?
CPU é o nome dado à Unidade Central de Processamento (Central
Processing Unit) em um computador. É um componente conhecido
também como Processador, responsável por executar as instruções dos
programas e fornecer resultados para os usuários. Em comparação
com o corpo humano, a CPU seria o cérebro do computador.

Clique no link abaixo para ampliar seus conhecimentos


sobre o assunto:
• https://www.youtube.com/watch?v=Nmvxk1yuoPE

8
• Software é o conjunto sequencial de instruções que definem um programa de computador;

• Pessoas, no contexto de sistemas de software, são aqueles usuários e manipuladores dos


componentes de hardware e de software;

• Banco de dados é um conjunto de dados relacionados entre si que podem ser acessados por
softwares específicos para gerência, manipulação e acesso às informações ali armazenadas;

• Documentos são o conjunto de manuais, formulários, relatórios e outros meios capazes


de representar o funcionamento do sistema como um todo.

Um conjunto de atividades/etapas que seguem determinada ordem é chamado de processo.


Construir uma casa exige que sejam feitos os fundamentos, sejam colocadas as ferragens, os
tijolos, o cimento, as colunas, o concreto, etc. Ninguém pode alterar a ordem, caso contrário o
projeto ficará comprometido.

Quando falamos em sistema como um software, chamamos de ciclo de vida do software


o processo de desenvolvimento dele, que vai desde a análise de requisitos até a entrega total
deste ao cliente/usuário.

Diálogo com o Autor

Segundo Pfleeger (2004, p. 38), todo processo de desenvolvimento de software tem como
entrada os requisitos do sistema e como saída um produto fornecido. Muitos modelos foram
propostos ao longo dos anos.

A seguir serão apresentados alguns dos modelos que o autor comenta:

• Modelo de Ciclo de Vida em Cascata: existe uma sequência simples de cumprimento


das etapas, conforme figura 2. É um modelo que transmite confiabilidade e que ajuda
os desenvolvedores a explicarem certos detalhes do projeto de software, porém há
deficiência no que diz respeito a correções em fases anteriores, já que o início de uma
etapa acontece ao término da anterior.

9
Unidade: Levantamento de Dados e Análise de Requisitos

Figura 2: Modelo em cascata

• Modelo de Ciclo de Vida em Cascata com Realimentação: semelhante ao modelo em


cascata, busca sanar a dificuldade de ajustes em etapas anteriores prevendo a possibilidade
de realimentação de correções.

Figura 3: Modelo em cascata com realimentação.

• Modelo de Ciclo de Vida em Espiral: o desenvolvimento baseia-se em um processo


iterativo. Ele permite que os usuários acompanhem as etapas que desejarem e definam
requisitos enquanto se projeta o software.

10
Figura 4: Modelo em espiral.

Explore

Além destes existem ainda outros modelos de ciclo de vida de software. Leia as páginas 92 a 97 do
livro Engenharia de Software: fundamentos, métodos e padrões, de Wilson de Pádua disponível na
Biblioteca Virtual da UNICSUL.

Como vimos, a primeira etapa no desenvolvimento de software é a entrada de requisitos, ou


seja, o levantamento e análise daquilo que o usuário pretende com a criação do sistema.
Compete ao analista de sistemas fazer o levantamento de dados a respeito de uma situação
objeto de estudo, utilizando os elementos acima apresentados, com o objetivo de melhor atender
às necessidades de empresas e/ou clientes; estudar a economia obtida com a implementação do
sistema; definir funções para pessoal, hardware, software e banco de dados; determinar limites
de datas e de custos.
Para que isto seja possível o analista deve possuir algumas características fundamentais,
como por exemplo: ser capaz de entender o ambiente do cliente através da observação e escuta
e leitura; possuir habilidade em se expressar escrita e verbalmente; ser capaz de decidir a melhor
maneira de sanar um problema em situações de conflito; ter criatividade para organizar ideias a
partir de conceitos reais e abstratos e propor soluções.
Este profissional deverá ter ação de supervisão das tarefas que envolvem à análise de
requisitos de software, sendo aquele intermediador que procura obter conhecimento das
características gerais do ambiente tal como se encontra (requisitos de usuário) e prepara a
equipe de desenvolvimento para estabelecimento das características do sistema.

11
Unidade: Levantamento de Dados e Análise de Requisitos

Figura 5: Funções de um analista de requisitos (PRESSMAN, 1995, p.236).

A seguir vamos estudar as etapas de requisitos de usuário e de sistema e suas implicações na


definição dos sistemas.

O que são Requisitos?

A mãe de um garoto diz para ele: você deve comer toda a refeição para ganhar o doce. O pai
diz ao filho: quando você completar dezoito anos você poderá dirigir meu carro. Ainda o padrão
diz: você deverá concluir a pós-graduação para receber promoção.
Perceba que em todos os casos existe algum critério que se deve obter para conseguir algo.

Atenção
Requisito se refere à condição que se deve satisfazer para atingir um
determinado propósito.

A análise de requisitos de sistemas se preocupa em organizar os dados colhidos através de


certas técnicas para que se obtenham informações essenciais úteis no desenvolvimento de um
sistema. Assim que as condições forem estabelecidas o projeto poderá ser elaborado de maneira
a suprir às necessidades de uma organização.
Os requisitos para projeto de sistemas podem ser classificados como requisitos de usuário e
requisitos de sistema.
Requisitos de usuário: são requisitos que descrevem os elementos necessários para que os
usuários do sistema possam compreender com facilidade, já que não possuem detalhes técnicos
envolvidos. A linguagem deve ser simples e estruturada, geralmente, de forma ilustrativa com
tabelas, imagens, gráficos, diagramas, dentre outros.

12
Os requisitos de usuário por sua vez são descritos de, basicamente, duas maneiras:
• Requisitos funcionais de usuários: definem as funcionalidades do sistema sob a ótica dos
usuários, ou seja, o que eles precisam ou desejam que o sistema realize.

Atenção

Exemplos de requisito funcional de usuário: O sistema de controle de estoque de um restaurante


deve armazenar registros de todos os itens perecíveis e não perecíveis localizados na cozinha. Deve
ainda fornecer relatórios sobre os produtos de menor e de maior consumo. Deve permitir a inclusão
de novos produtos de estoque de forma intuitiva.

Note que a forma como o texto está escrito permite que os usuários tenham ideia
clara dos requisitos do sistema sem mesmo ter conhecimento técnico de como o sistema
irá processar estas tarefas.
Aos requisitos funcionais pode-se acrescentar a ideia de armazenamento de dados (armazenar
dados dos alimentos); transformação de dados em informação (emitir relatório de prazos de
validade dos produtos); recuperação de dados (consultar os dados dos alimentos que são
classificados como vegetais).
• Requisitos não-funcionais de usuários: são requisitos que descrevem características
qualitativas do sistema, como por exemplo confiabilidade, performance, espaço de
armazenamento, segurança, portabilidade, custos, manutenção, etc.

Atenção

Exemplos de requisito não-funcional de usuário: O tempo resposta do sistema não deve ultrapassar
15 segundos. Somente usuários autorizados poderão realizar consultas na base de dados do sistema.
O sistema deverá ser implementado em sistema operacional da plataforma Linux.

No que diz respeito à confiabilidade, o sistema deve garantir que eventos inesperados possam
ser tratados e resolvidos. Mas o que podemos chamar de eventos inesperados?
Suponha que o usuário esteja cadastrando um cliente no sistema e através de um formulário
e após inserir todos os dados, porém antes de armazenar, há uma queda de energia elétrica
e as informações são perdidas. O sistema deve ser capaz de restaurar os registros digitados
anteriormente para que o usuário não tenha que digitar tudo novamente.
Performance, também chamada de tempo de resposta ou desempenho, é o tempo calculado
entre a solicitação do usuário (por exemplo o clique em um botão gravar) até a resposta desejada
por ele (por exemplo a mensagem indicando que a operação foi realizada com sucesso). Nenhum
sistema deverá ser lento, pois este fato causa desconforto para os usuários.

13
Unidade: Levantamento de Dados e Análise de Requisitos

Para atender com o requisito espaço de armazenamento o sistema deverá ser projetado de
forma a garantir que terá espaço suficiente para armazenamento de dados e de arquivos. Falhas
neste item pode comprometer bastante a performance e confiabilidade do sistema.
Em um ambiente corporativo muitas pessoas têm acesso ao sistema, porém nem todas elas
necessitam ter permissões para acessar o sistema como um todo. Segurança do sistema visa a
identificação dos privilégios que cada um dos usuários terão para manipular os dados do sistema.
Um funcionário que trabalha no setor de estoque precisa acessar o sistema para visualizar se um
produto encontra-se disponível ou se está em falta. Ele não precisa (e não pode) ter acesso às
informações do setor de RH, como folha de pagamento dos funcionários. Restrições de acesso
fazem parte do item segurança, assim como formas de acesso aos dados como, por exemplo, a
utilização de criptografia em senhas.
A portabilidade se refere à capacidade do sistema em operar em diversas plataformas ou
arquiteturas, como por exemplo em sistemas operacionais Linux ou Windows.
A figura a seguir apresenta uma visão mais detalhada dos tipos de requisitos não-funcionais de usuários:

Figura 6: Tipos de requisitos não-funcionais (SOMMERVILLE, 2007, 82)

A análise de requisitos não-funcionais deverá receber especial atenção, já que falhas neste
processo poderá comprometer o sistema por inteiro.
Requisitos de sistema: são uma extensão dos requisitos de usuários, já que neste modelo
são adicionados detalhes técnicos que serão projetados pela equipe de engenharia de sistemas.

Você Sabia ?
Engenheiro de sistemas é o profissional responsável por projetar
soluções de software e/ou de sistemas. Ele precisa ter conhecimento
amplo das fases que envolvem a análise de requisitos, pois contará
com uma equipe que desenvolverá o sistema com base nos dados
coletados e analisados.

14
Uma forma padronizada de se escrever os requisitos de sistema é a chamada linguagem
estruturada natural, que faz uso de modelos gráficos ou formulários estruturados dos requisitos
para este fim. A linguagem natural é simples para a compreensão dos modelos por parte do
público interessado, porém é necessário que ela se apresente de maneira padronizada, ou
estruturada, para garantir certa uniformidade nas especificações.

Leia a página 88 do livro Engenharia de Software


de Ian Sommerville, referente às especificações em
linguagem estruturada.

Técnicas de Levantamento de Requisitos

Como vimos, o levantamento de requisitos é fundamental para o desenvolvimento de


sistemas bem estruturados e que apresentem soluções para os problemas dos usuários. Nem
sempre os usuários sabem exatamente o que precisarão de um sistema, pois normalmente
sentem a necessidade de um a partir de alguma dificuldade que enfrenta no dia-a-dia. Sendo
assim, algumas técnicas para tal propósito são utilizadas na tentativa de captar ao máximo as
informações sobre o ambiente atual e o que se pretende fazer.

Abaixo são apresentadas e descritas algumas das principais técnicas para levantamento de
requisitos. Não existe a obrigatoriedade de utilização de todas elas e nem mesmo de utilização
de apenas uma. Cada projeto deverá se valer daquela ou daquelas que forem úteis e necessárias.

• Entrevista: este item é muito comum em


levantamento de requisitos e produz bons
resultados. Aqui o público interessado (ou
parte interessada) responde perguntas que
podem ser previamente elaboradas ou não
pela equipe de engenharia de requisitos
sobre o sistema atualmente utilizado e
também sobre o sistema que esperam que
seja desenvolvido. Muitas respostas podem
sugerir novos questionamentos e, por isso,
nem sempre seguir um roteiro é a melhor
Fonte: Thinkstock.com
maneira de obter qualidade na entrevista.
Entretanto manter um foco é sempre indicado
como forma de controle desta atividade.

15
Unidade: Levantamento de Dados e Análise de Requisitos

Você Sabia ?
Engenheiro de sistemas é o profissional responsável por projetar
soluções de software e/ou de sistemas. Ele precisa ter conhecimento
amplo das fases que envolvem a análise de requisitos, pois contará
com uma equipe que desenvolverá o sistema com base nos dados
coletados e analisados.

É importante que o entrevistado fique a vontade para expressar sua ideias em um tempo
adequado para o processo todo. A entrevista não deve ter um caráter persuasivo, ou seja, as
perguntas não podem ser direcionadas para uma resposta a que se pretende chegar, mas a parte
interessada deverá ser levada a refletir naquilo que tem e no que se deseja em relação ao sistema.
• Questionário: normalmente apresentado em
forma de formulário entregue ao público
interessado que poderá ou não responder ser
recolhido em horário estipulado ou, simplesmente,
poderá ser recolhido posteriormente para análise
das informações desejadas. É importante que os
formulários contenham as mesmas questões e
que estejam em uma mesma disposição, caso
sejam distribuídos para mais de uma pessoa. Este
meio apresenta, de modo geral, algumas Fonte: Thinkstock.com
vantagens por ser mais simples sua aplicação;
pela agilidade no processo; pela possibilidade de uma reflexão mais apurada na resposta;
pela oportunidade de ser aplicado à grande quantidade de pessoas, etc. Entretanto
algumas desvantagens também precisam ser apontadas, como por exemplo, a possibilidade
de manipulação das respostas antes de serem recolhidos os questionários; o baixo
envolvimento com aqueles que respondem; a impossibilidade de tirar dúvidas imediatas
sobre repostas fornecidas. Os questionários poderão também formar a base para uma
entrevista. As questões poderão iniciar com: O que você acha...? Como você tem
percebido...? Qual a motivação para...?
• Prototipagem: no momento em que diversas
informações já foram colhidas e analisadas é
possível a criação de um protótipo do sistema que
se pretende desenvolver, demonstrando apenas
certas funcionalidades ainda pouco definidas.
Deste modo, ao ser apresentado este modelo
inicial de sistema, o público de interesse poderá
ter uma breve visão de como o projeto deverá
ser estruturado e, a partir disso, será possível sua
interação apontando melhorias ou identificando
possíveis falhas. Embora seja uma técnica que
traz excelentes resultados, projetar um protótipo
envolve custos que poderão se elevar dependendo
da complexidade do sistema. Este fato muitas vezes
impede a aceitação por parte dos usuários.

16
• Verificação de documentos: trata-se de
uma importante investigação de situações
que estão registradas em documentos como
formulários, relatórios, manuais, fichas, dentre
outros. Deste modo o analista poderá ter uma
visão ampla de quais são as informações que
recebem tratamento especial, além de poder
detectar como a organização está politicamente
estruturada e quais são as metas que se
procuram estrategicamente alcançar. Fonte: Thinkstock.com

• Análise Etnográfica: envolve o trabalho de


fazer anotações a partir dos processos
rotineiros desempenhados pelas pessoas que
trabalham na organização.

Você Sabia ?
Etnografia é uma palavra derivada de outras duas:
etno significa nação ou povo e grafia significa escrita
Fonte: Thinkstock.com

O analista se dirige até o ambiente de trabalho onde o sistema será implementado e acompanha
o dia-a-dia das pessoas envolvidas no processo. Esta técnica é bastante útil para levantamento
de requisitos, pois diversas informações poderão ser captadas somente desta maneira, uma vez
que grandes detalhes são, normalmente, esquecidos ou ocultados pelos usuários em momentos
como entrevistas e/ou aplicação de questionários.

Diálogo com o Autor

Etnografia é uma técnica de observação que pode ser usada para compreender os requisitos sociais e orga-
nizacionais (SOMMERVILLE, 2007, 104).

Outro ponto importante é o fato de que a análise etnográfica permite que o analista tenha
conhecimento da realidade do ambiente de trabalho tal como ela é e não como se espera que
fosse. Por exemplo, dispositivos periféricos como teclado, mouse e monitor são sensíveis, ao
ponto de precisarem ficar longe de produtos líquidos. Entretanto o analista percebe que muitos
dos funcionários trabalham com uma garrafa com água próxima a estes componentes, para
evitar a sua locomoção até o refeitório.
A escolha da melhor técnica ou das melhores técnicas deve ser pautada na situação de cada sistema
a ser desenvolvido. Aquela que serve melhor para uma talvez seja pouco proveitosa para outra. Estar
atento em cada detalhe da produção do software é responsabilidade fundamental do analista.

17
Unidade: Levantamento de Dados e Análise de Requisitos

Material Complementar

Para mais conhecimento sobre o conteúdo desta unidade, acesse:


–– http://www.portalarquiteto.com.br, portal da Internet com notícias e artigos sobre o
assunto Arquitetura de Softwrare.
–– PAULA FILHO, W. P.. Engenharia de Software: fundamentos, métodos e padrões.
Rio de Janeiro. LTC, 2009, disponível na biblioteca virtual da Unicsul.
–– PRESSMAN, R. S.. Engenharia de Software. São Paulo. Pearson, 2011, disponível na
biblioteca virtual da Unicsul.

18
Referências

BATISTA, Emerson de O.. Sistemas de Informação: o uso consciente da tecnologia


para o gerenciamento. São Paulo. Saraiva, 2004.

PFLEEGER, S. L.. Engenharia de Software: teoria e prática. São Paulo. Prentice Hall, 2004.

PRESSMAN, R. S. Engenharia de Software. São Paulo.Pearson Makron Books, 1995.

SOMMERVILLE, Ian. Engenharia de Software. São Paulo. Pearson Addilson-Wesley, 2007.

19
Unidade: Levantamento de Dados e Análise de Requisitos

Anotações

20
www.cruzeirodosulvirtual.com.br
Campus Liberdade
Rua Galvão Bueno, 868
CEP 01506-000
São Paulo SP Brasil
Tel: (55 11) 3385-3000

Você também pode gostar