Buscar

Análise de Sistemas Jaime Wojciechowski

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 142 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 142 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 142 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

A
N
Á
LISE D
E SISTEM
A
S
JAIME WOJCIECHOWSKI
Código Logístico
59856
Fundação Biblioteca Nacional
ISBN 978-65-582-1013-9
9 7 8 6 5 5 8 2 1 0 1 3 9
Análise de Sistemas 
Jaime Wojciechowski
IESDE BRASIL
2021
© 2021 – IESDE BRASIL S/A. 
É proibida a reprodução, mesmo parcial, por qualquer processo, sem autorização por escrito do autor e 
do detentor dos direitos autorais.
Projeto de capa: IESDE BRASIL S/A. Imagem da capa: Krasnopolski/Linas Sinkunas/Shutterstock
Todos os direitos reservados.
IESDE BRASIL S/A. 
Al. Dr. Carlos de Carvalho, 1.482. CEP: 80730-200 
Batel – Curitiba – PR 
0800 708 88 88 – www.iesde.com.br
CIP-BRASIL. CATALOGAÇÃO NA PUBLICAÇÃO 
SINDICATO NACIONAL DOS EDITORES DE LIVROS, RJ
W828a
Wojciechowski, Jaime
Análise de sistemas / Jaime Wojciechowski. - 1. ed. - Curitiba [PR] : 
IESDE, 2021.
138 p. : il.
Inclui bibliografia
ISBN 978-65-5821-013-9
1. Análise de sistemas. 2. Métodos orientados a objetos (Computação). 
3. UML (Computação). I. Título.
21-69939 CDD: 005.117
CDU: 004.415.2
Jaime Wojciechowski Doutor em Informática Aplicada em Engenharia Florestal 
pela Universidade Federal do Paraná (UFPR). Mestre 
em Informática Aplicada em Inteligência Artificial pela 
Pontifícia Universidade Católica do Paraná (PUCPR). 
Graduado em Matemática (bacharelado e licenciatura) 
pela mesma instituição. Atua, desde 1994, como 
docente no ensino superior e ingressou na UFPR no 
ano de 2006, onde é professor titular das disciplinas 
de Análise e Projetos de Sistemas no curso superior de 
Tecnologia em Análise e Desenvolvimento de Sistemas; 
Modelagem Ágil de Software no curso de Especialização 
em Desenvolvimento Ágil de Software; Aprendizado 
de Máquina e Laboratório de Inteligência Artificial 
no curso de Especialização em Inteligência Artificial 
Aplicada; Sistemas Computacionais Aplicados no curso 
de Especialização em Manejo Florestal; e é vice-diretor 
do Setor de Educação Profissional e Tecnológica. Foi 
analista de sistemas em ambiente de desenvolvimento 
de grande porte (mainframe). Trabalhou na área de 
desenvolvimento e treinamento para a formação de 
novos programadores no Banco do Estado do Paraná 
(Banestado), no Itaú, no Santander Banespa e no HSBC 
Bank Brasil.
Agora é possível acessar os vídeos do livro por 
meio de QR codes (códigos de barras) presentes 
no início de cada seção de capítulo.
Acesse os vídeos automaticamente, direcionando 
a câmera fotográ�ca de seu smartphone ou tablet 
para o QR code.
Em alguns dispositivos é necessário ter instalado 
um leitor de QR code, que pode ser adquirido 
gratuitamente em lojas de aplicativos.
Vídeos
em QR code!
SUMÁRIO
1 Introdução à análise de sistemas e Levantamento de Requisitos 9
1.1 Introdução à análise de sistemas 9
1.2 Levantamento de Requisitos 17
1.3 Análise Orientada a Objetos (UML) 29
1.4 Métodos Ágeis aplicados ao desenvolvimento de sistemas 34
2 Casos de Uso e Histórias de Usuário 41
2.1 Diagrama de Caso de Uso 41
2.2 Níveis do Diagrama de Caso de Uso 48
2.3 Prototipação de telas 53
2.4 Histórias de Usuário 56
3 Objetos e classes 67
3.1 Objetos e classes 67
3.2 Relacionamentos entre as classes 73
3.3 Diagrama de Classes 80
3.4 Diagrama de objetos 87
4 Diagrama de Sequência 91
4.1 Elementos do Diagrama de Sequência 91
4.2 Práticas do Diagrama de Sequência 100
4.3 Operadores do Diagrama de Sequência 112
5 Diagramas suplementares da UML 118
5.1 Diagrama de Transição de Estados 118
5.2 Diagrama de Atividades 125
5.3 Diagrama de Pacotes 130
 Gabarito 135
APRESENTAÇÃOVídeo
O desenvolvimento de software é uma das tarefas mais fascinantes e 
necessárias atualmente. Em todas as áreas do conhecimento, do trabalho 
e da produção, os softwares são imprescindíveis. Usamos algum tipo de 
software na maioria das nossas atividades diárias, no uso do celular, nos 
carros, nos estudos, no trabalho e no lazer, dentre muitas outras tarefas do 
dia a dia. É impossível gerenciar uma empresa sem o uso de softwares, e o 
funcionamento de quase todos os aspectos da vida diária é administrado 
por eles.
Esta obra busca não só apresentar as teorias de análise que fundamentam 
a construção de softwares e os procedimentos adotados nas empresas 
que os produzem, mas também mostrar as ferramentas que podem ser 
aplicadas para informatizar um determinado processo de negócio. Portanto, 
o livro tem um cunho essencialmente prático, em que você terá contato com 
o embasamento do conceito e, em seguida, será levado a realizar práticas 
com estudos de caso reais a fim de aplicar efetivamente a técnica, tal qual se 
aplicam nas empresas de desenvolvimento de software.
Serão abordados os primeiros aspectos da modelagem, desde o 
Levantamento dos Requisitos, passando pelo embasamento de Métodos 
Ágeis e partindo para a explicação detalhada dos principais diagramas da 
Análise Orientada a Objetos (UML).
Ao final do estudo, você contará com diversas ferramentas práticas de 
modelagem de sistemas e terá condições de, com base em um determinado 
problema, fazer toda a atividade de modelagem usando os diagramas da UML.
Bons estudos!
Introdução à análise de sistemas e Levantamento de Requisitos 9
1
Introdução à análise de sistemas 
e Levantamento de Requisitos
As atividades de análise de sistemas são de extrema importância no 
processo de desenvolvimento de um software. Muitas vezes as empresas 
negligenciam essas atividades por diversos motivos. É consenso que exis-
te uma grande expectativa (e pressão) por parte dos clientes em receber 
o produto final que solicitaram, ou seja, um software pronto, contemplan-
do todas as suas solicitações e, não raro, resolvendo todos os problemas 
de negócio.
Diferentemente de muitos produtos que exigem um processo com-
pleto e muito bem formalizado para se chegar ao produto final, um 
software, muitas vezes por uma visão equivocada da equipe de desen-
volvimento, aceita que algumas etapas do processo de desenvolvimento 
sejam suprimidas, e mesmo assim se chega a um software “funcionando”. 
A palavra foi colocada entre aspas para indicar que é muito questionável 
entregar um software, mesmo que “funcionando”, se etapas do processo 
forem suprimidas.
Neste capítulo serão apresentadas as bases das teorias de análise, seu 
histórico e a motivação para que as teorias evoluam. Também veremos 
o ciclo de desenvolvimento de um sistema, a visão das fases em que são 
aplicadas essas teorias e qual sua importância no processo como um 
todo. Finalmente teremos o primeiro contato com o que se chama de 
Métodos Ágeis, conjunto de práticas que vem revolucionando a indústria 
de desenvolvimento de software.
1.1 Introdução à análise de sistemas
Vídeo As atividades de análise fazem parte do ciclo de desenvolvimento de um sis-
tema e têm um papel de extrema importância na qualidade do produto final. Os 
prejuízos causados pela entrega de um software cujas etapas não foram seguidas 
da maneira correta são praticamente intangíveis. É muito difícil medir os efeitos 
negativos da falta de planejamento e de tarefas realizadas sem os devidos proce-
dimentos formais.
Como medir as perdas do negócio de uma empresa com um software que fre-
quentemente apresenta erros e muitas vezes apresenta resultados que não são 
10 Análise de Sistemas
aqueles esperados? Como medir as perdas de um software de difícil manutenção, 
seja para conserto de erros ou simplesmente para acomodar novas funcionalida-
des? O que é mais barato para uma empresa: a correção de um erro em uma hora 
ou em três dias? A demora na correção de um erro pode ocorrer devido à estrutura 
do software ter sido mal construída, aos programas terem sido codificados sem 
um padrão, sem uma estruturação dos módulos, sem planejamento nem análise, 
sem uma modelagem dos processos, ou seja, o que se diz na prática: “saíram pro-
gramando direto”.
Esse é um grande erro que as empresas cometem. Um software mal construído 
será carregado por anos (e talvez décadas), sempre commuito esforço (e dinheiro) 
para mantê-lo funcionando, sempre impactando negativamente a imagem da em-
presa e seus negócios.
Nosso objetivo na tarefa de desenvolver um sistema é fazer com que todas as 
etapas do desenvolvimento sejam realizadas de modo fluente, tranquilo e, princi-
palmente, com produtividade, baixo custo e qualidade.
1.1.1 Conceitos iniciais
Segundo Stair e Reynolds (2015), sistemas de informação são componentes 
que interagem entre si, coletando, manipulando e disseminando dados e informa-
ções, a fim de atingir um objetivo. Já Laudon e Laudon (2005) definem sistemas de 
informação como um conjunto de elementos inter-relacionados que coleta, proces-
sa, armazena e distribui informações com o intuito de apoiar a tomada de decisão, 
a coordenação e o controle de uma organização.
Já um software pode ser definido como um conjunto de instruções (programa de 
computador) que, ao ser executado por um computador, produz um determinado 
resultado desejado e adequado à finalidade para a qual foi construído (PRESSMAN; 
MAXIM, 2016). É o termo genérico usado para descrever programas executados em 
um computador que manipulam dados e produzem o resultado para o qual foram 
projetados. O termo computador pode se referir a notebook, celular, tablet, smart 
TV, console de videogame etc.
Portanto, os softwares correspondem à parte lógica do computador, consistin-
do em programas que controlam o trabalho do hardware (STAIR; REYNOLDS, 2015).
A Figura 1 caracteriza um software e representa os componentes de um sistema 
de informações (SI).
Como exemplos de software podemos citar um 
site da internet, um aplicativo de celular, um editor de 
textos, planilhas eletrônicas, o programa que controla 
uma smart TV, um navegador de páginas na internet, 
um jogo, um editor de áudio ou vídeo, um app de strea-
ming, um controlador de semáforos das ruas e muitos 
outros. Por suas áreas de atuação, podem ser sistemas 
de informação, softwares embarcados, aplicativos de 
celular, softwares científicos, aplicações web, softwa-
res de inteligência artificial, dentre outros.
Figura 1
Componentes de um SI
Dados de 
entrada
Processamento
Dados de saída
• Software
Fonte: Elaborada pelo autor.
Introdução à análise de sistemas e Levantamento de Requisitos 11
Sistemas de informação e software se confundem. Tratar um deles como sendo 
o outro não traz grandes problemas, pois o que realmente importa para os usuá-
rios é a sua utilização.
1.1.2 Histórico da análise de sistemas
Os computadores surgiram na década de 1950, porém, até o início dos anos 
1970, eram utilizados basicamente no meio científico e militar. Com a populariza-
ção do seu uso, principalmente em empresas, sistemas de informações começa-
ram a ser construídos com o objetivo de resolver ou informatizar os processos de 
negócio dessas empresas.
Inicialmente as linguagens de programação eram complexas, a produção de 
programas demandava muitas linhas de código e a forma de se passar instruções 
aos computadores era difícil e exigia muita habilidade dos programadores. Não era 
rara a produção de programas imensos, porém a maioria do corpo do programa 
se referia à maneira de se comunicar com a máquina, sendo que a resolução do 
problema do negócio propriamente dito tinha de ficar em segundo plano.
Com isso, os programadores se preocupavam muito com as questões técni-
cas dos computadores e não conseguiam focar aquilo que realmente importava, 
ou seja, resolver o problema do seu usuário. Por causa disso, muitos erros eram 
cometidos, tanto de interpretação do negócio como de resolução equivocada do 
problema. Também, nessa época, não existia nenhuma estruturação dos proces-
sos a serem programados e muito menos uma organização dos dados utilizados 
pelo sistema.
A Figura 2 exemplifica essa situação. No lado esquerdo da figura, na primeira 
coluna, temos um conjunto de programas do sistema e, no lado direito, na segunda 
coluna, um exemplo de um conjunto de dados totalmente desestruturado. Podemos 
imaginar a dificuldade de manipular esses dados sem nenhuma estruturação, bem 
como de manter atualizada a estrutura depois de inserções de novos dados.
Figura 2
Programas e dados desestruturados
Fonte: Elaborada pelo autor.
Dados
Dados x
. . .
. . .
Dados y
. . . 
. . . 
Dados z
Programa 1
Programa 2
Programa 3
Programa n
12 Análise de Sistemas
Para amenizar esse cenário, nos anos 1970 surgiram as teorias de análise. Tais teo-
rias tinham o objetivo de fazer com que os profissionais tivessem um tempo para ana-
lisar o problema e estruturar uma solução antes da efetiva codificação dos programas.
1.1.2.1 Análise Estruturada
A primeira teoria de análise que surgiu foi chamada de Análise Estruturada 
(YOURDON; CONSTANTINE, 1992). Basicamente a referida teoria procurou dar uma 
estrutura aos processos e introduziu o conceito de diagramas para demonstrar a 
solução do problema. Surgiram então os dois primeiros diagramas básicos da Aná-
lise, o Fluxograma e o Diagrama de Fluxo de Dados (DFD), que foram amplamente 
utilizados até meados dos anos 1980.
As Figuras 3 e 4 mostram um exemplo de Fluxograma e um DFD (no qual está re-
presentado o negócio de uma locadora de filmes, algo que não existe mais nos dias de 
hoje, porém o exemplo foi usado para refletir como a teoria é antiga e ultrapassada).
Figura 3
Exemplo de fluxograma
Fonte: Elaborada pelo autor.
Inserir cartão
Cliente informa a senha Sistema emite a mensagem 
“Senha inválida”
Cliente informa o valor Sistema libera o dinheiro
<<Válida>>
<<Inválida>>
Figura 4
Exemplo de DFD
Fonte: Elaborada pelo autor.
Admin. 
videolocadora
Manter clientes Locar fitas
Manter fitas Entidade externa
ClienteGerar relatórios
D1 Clientes D3 Mov. fitas
D2 Fitas
Comando
Dados fita
Dados fita
Dados fita
Dados fita
Dados fita
Doc. controle
Recibo
Relatórios
Solicitação
Dados cliente
Dados cliente
Dados Locação
Dados locaçãoDados Cliente
Carteira
Introdução à análise de sistemas e Levantamento de Requisitos 13
Porém, mesmo com a introdução dessa fase de análise no processo de desen-
volvimento do sistema, problemas e dificuldades continuavam acontecendo. A 
questão agora era a falta de estruturação dos dados que o sistema manipulava. 
Não existia uma forma definida e cada sistema organizava seus dados da maneira 
que imaginava ser a correta para a sua solução. Com isso, diversos problemas de 
manipulação dos dados ocorriam, sistemas diferentes não conseguiam se comuni-
car e o esforço para se trabalhar com esses dados era muito grande.
Surgiram então os Sistemas Gerenciadores de Banco de Dados (SGBD), am-
plamente utilizados até os dias de hoje. A proposta desses sistemas era armazenar 
e fornecer ferramentas de manipulação desses dados, fazendo com que os pro-
gramas somente fizessem solicitações aos SGBDs para consultar, atualizar, incluir 
e excluir seus dados. Porém, para a utilização desses sistemas, foi necessária a 
estruturação dos dados. Surgiram então as técnicas de organização dos dados em 
forma de tabelas, linhas e colunas e foram introduzidas técnicas de normalização e 
relacionamentos entre os dados. Com isso, surgiram os bancos de dados.
A Figura 5 mostra a estrutura da modelagem da Análise Estruturada.
Fonte: Elaborada pelo autor.
Admin.
videolocadora
Manter clientes Locar fitas
Manter fitas Entidade externa
ClienteGerar relatórios
D1 Clientes D3 Mov. fitas
D2 Fitas
Comando
Dados fita
Dados fita
Dados fita
Dados fita
Dados fita
Doc. Controle
Recibo
Relatórios
Solicitação
Dados cliente
Dados cliente
Dados locação
Dados LocaçãoDados cliente
Processos
Programa 1
Programa 2
Programa 3
Programas
Carteira
Figura 5
Análise estruturada Banco de dados
Aluno
cpf int PK
nome Text N
Matricula_numero int FK
Curso
codigo int PK
nome Text
Professor
cpf int PK
matricula int
nome text
Disciplina
codigo int PK
nome int
Curso_codigo int FK
Professor_cpf int FK
Matrícula
numero int PK
cpf_aluno int
codigo_disciplina int
Disciplina_codigoint FK
14 Análise de Sistemas
Entretanto, apesar do avanço que a Análise Estruturada trouxe, os problemas 
nos sistemas continuavam ocorrendo. Os processos estavam estruturados e os da-
dos organizados, porém a principal questão nesse modelo era que qualquer pro-
cesso tinha autorização para manipular qualquer dado do modelo. Mesmo que o 
processo não tivesse relação nenhuma com determinado dado, nada o impedia de 
acessá-lo. Isso causava muitos problemas de programadores inexperientes codifi-
carem programas que deveriam ter um objetivo, porém esses objetivos eram ne-
gligenciados, desse modo o programa começava a interferir em outros processos 
fora do seu escopo e, o mais grave, começava a manipular dados que não eram 
condizentes com o real objetivo daquele programa.
1.1.2.2 Análise Orientada a Objetos
Para amenizar essas questões, surgiu nos anos 1990 a Análise Orientada a Obje-
tos (RUMBAUGH et al., 1994). O princípio básico dessa teoria é o conceito de encap-
sulamento, segundo o qual determinados dados devem ser manipulados somente 
por suas operações num componente chamado Objeto. Assim, se identificamos um 
conjunto de dados relativos a um cliente de banco, por exemplo, devemos ter um 
conjunto de processos (ou operações ou funções) que será responsável por ma-
nipular esses dados. Em outras palavras, não existe a possibilidade de processos 
que tratam de financiamentos do banco manipularem diretamente os dados dos 
clientes. Isso é de grande importância, pois somente as operações relativas aos 
clientes conhecem as regras para se manipular seus dados e essas regras ficam 
concentradas nas operações desses dados.
Como mostra a Figura 6, esse encapsulamento de dados e operações está 
representado na forma de um círculo contendo os dados e um outro à sua vol-
ta contendo suas operações, dando a ideia de que os dados estão “protegidos” 
pelas operações, ou seja, suas operações são as únicas que têm permissão para 
manipulá-los.
É evidente que existe a possibilidade de outros processos necessitarem de da-
dos que não são de sua responsabilidade, porém, nesse caso, esse processo só 
consegue acessar o dado fazendo uma solicitação às suas operações (representado 
pelas setas na figura), e essa solicitação é chamada de mensagem entre os objetos. 
Essa união entre dados e operações será chamada de objeto.
Figura 6
Modelo de Objetos
Fonte: Elaborada pelo autor.
operações
dados
Objeto 1
operações
dados
Objeto 2
operações
dados
Objeto n
operações
dados
Objeto 3
Para conhecer melhor as 
teorias de análise mais 
antigas, leia a obra Análise 
Estruturada de Sistemas, 
que determinou as tendên-
cias do desenvolvimento 
de software na década de 
1970.
GANE, C.; SARSON, T. São Paulo: 
LTC, 1983.
Livro
Introdução à análise de sistemas e Levantamento de Requisitos 15
Como exemplo, suponha um sistema de vendas de produtos. Os objetos en-
volvidos nesse negócio poderiam ser: produtos, clientes, fornecedores e, princi-
palmente, a venda. A representação desse sistema orientado a objetos seria o que 
mostra a Figura 7.
Figura 7
Exemplo de modelo de objetos
Fonte: Elaborada pelo autor.
incluir
nome
CPF
Cliente
incluir
nome
CNPJ
Fornecedor
vender
numero
data
Venda
mostraTela
Campos da tela
TELA DE VENDAS
consultar
nome 
dimensoes
ProdutoBanco de dados
Vimos que a evolução das teorias de análise nos levou a modelos mais comple-
xos, porém os problemas passaram a ser mais controlados e a qualidade dos siste-
mas melhoraram, fazendo com que se chegasse a um padrão utilizado por todo o 
mercado de produção de sistemas.
Não só a teoria de Análise Orientada a Objetos se solidificou no mercado, mas 
uma grande área surgiu para dar as diretrizes para todo o processo complexo de 
desenvolvimento de um software e foi chamada de Engenharia de Software, sendo 
seus precursores nomes como Roger S. Pressman, Bruce R. Maxim (PRESSMAN; 
MAXIM, 2016) e Ian Sommerville (SOMMERVILLE, 2011).
1.1.3 Ciclo de desenvolvimento de um sistema
Para o completo desenvolvimento de um sistema, desde a necessidade de um 
cliente informatizar a solução de um determinado problema de negócio até a efe-
tiva utilização do sistema no ambiente real, existe um ciclo de desenvolvimento 
cobrindo diversas atividades. Muitas formas foram propostas para esses ciclos, que 
também foram evoluindo no decorrer dos anos, sempre com novos modelos capa-
zes de resolver os problemas dos modelos anteriores.
Independentemente do tipo de ciclo, quatro fases básicas no processo sempre 
são identificadas: Iniciação, Elaboração, Construção e Transição (KRUCHTEN, 2003). 
Essa nomenclatura pode ser diferente nas várias propostas existentes, mas pode-
mos focar esses termos para entendermos em qual dessas fases atua a análise de 
sistemas. As características de cada uma das fases são:
16 Análise de Sistemas
Como o nome já diz, é a fase em que se inicia a investigação acerca das 
necessidades do usuário, busca-se o entendimento do negócio e do proble-
ma a ser resolvido. São levantados os Requisitos (ou funcionalidades) que 
serão atendidos pelo sistema e é obtido um acordo (ou consenso) com as 
partes envolvidas (usuário e equipe de desenvolvimento).
Iniciação
Nessa fase é projetada uma solução que satisfaça os Requisitos. É feita a 
modelagem do sistema por meio de construção de documentos e diagramas 
que apresentem ao usuário uma ideia de como será o produto final. A equipe de 
analistas de sistemas toma como base os materiais produzidos na fase anterior. 
Elaboração
Nessa fase são codificados os programas e componentes de software que se 
transformarão no produto final, um software funcionando. A equipe de progra-
mação toma como base todo o material produzido na fase anterior para cons-
truir um software como foi especificado no projeto.
Construção
Com os componentes de software construídos, nessa fase é feito o plane-
jamento da entrega, os testes de software, bem como sua homologação pelo 
usuário e, finalmente, o software é liberado para o ambiente produtivo.
Transição
A Figura 8 mostra o detalhamento 
das atividades em cada uma das fases. 
Ela é comumente chamada de gráfico 
das baleias. Na coluna da esquerda, 
as disciplinas representam as ativida-
des que devem ser realizadas, na linha 
horizontal, aparecem as iterações. As 
“barrigas”, representadas horizontal-
mente, indicam a carga de trabalho de 
cada atividade em cada fase, quanto 
mais alta, maior a carga.
Atividades
Modelagem de Negócios
Requisitos
Análise e Design
Implementação
Teste 
Implementação
Gerenciamento de 
Configuração e Mudança
Gerenciamento de Projeto
Ambiente
Figura 8
Ciclo de Desenvolvimento
Fonte: Kruchten, 2003.
Introdução à análise de sistemas e Levantamento de Requisitos 17
Esse modelo foi amplamente utilizado pelas empresas durante anos. Suas 
desvantagens foram a formalização, o excesso de procedimentos e artefatos que 
eram construídos e, muitas vezes, não tinha utilidade por não agregar valor ao 
produto final.
Porém, a estrutura geral do modelo, como as fases e suas atividades, permane-
ceu nas metodologias mais modernas.
Existem outros ciclos de 
desenvolvimento mais antigos 
que não foram abordados por 
não serem mais utilizados. São 
exemplos: cascata, incremental e 
prototipação.
Curiosidade
1.2 Levantamento de Requisitos
Vídeo A fase de Iniciação do ciclo de desenvolvimento de um sistema começa com o 
Levantamento de Requisitos.
Essa tarefa é primordial para que o software seja desenvolvido da maneira 
correta e atenda totalmente às necessidades do cliente. Sua importância e sua 
abrangência são tão grandes que uma nova área foi criada, chamada Engenharia 
de Requisitos.
O uso sistemático de técnicas para obter, documentar e manter as informa-
ções para conseguir uma Lista de Requisitos que atendem aos objetivos do cliente 
no seu negócio é uma boa definição de Engenharia de Requisitos. Suas práticas e 
ferramentas facilitam a comunicação com o cliente a fim de identificar e entender 
suasnecessidades e obter um consenso para a solução que será entregue. Em suas 
principais práticas estão tarefas, técnicas, orientações, papéis e responsabilidades 
(VASQUEZ, 2016).
O profissional responsável por essas tarefas é o analista de requisitos (que tam-
bém pode ser o analista de sistemas). Ele realiza as atividades previstas na fase de 
Levantamento de Requisitos e no mapeamento dos processos de negócio. A docu-
mentação técnica de especificação de Requisitos de softwares fornece um vasto 
material aos analistas de sistemas para que possam trabalhar na fase de Elabora-
ção, fazendo a modelagem do sistema.
Levantar Requisitos significa entender o negócio e o problema do cliente, iden-
tificar suas necessidades de software, investigar quais são as suas expectativas 
em relação à solução informatizada que será adotada, em resumo, definir o que o 
software vai fazer.
Nesse quesito, o maior problema que pode ocorrer é a dificuldade de comuni-
cação entre o analista e o cliente.
Na fase de Levantamento de Requisitos, então, é definido o escopo do sistema 
para se ter claro a que o sistema vai atender (e também a que ele não vai atender) 
e, principalmente, são identificados os seus Requisitos.
1.2.1 Conceitos
O conceito principal nessa área é o de Requisito. Segundo Vasquez (2016, p. 18), 
“é uma condição ou capacidade do sistema, solicitada pelo usuário, para resolver um 
18 Análise de Sistemas
problema ou atingir um objetivo”. Na prática, os Requisitos são funções, objetivos, 
propriedades ou restrições que o sistema deve possuir para satisfazer usuários.
De modo geral, um Requisito é uma condição necessária para satisfazer um 
objetivo, é uma exigência, solicitação, desejo e necessidade. Para Vasquez (2016):
Um usuário necessita que o sistema resolva seu problema ou 
o ajude a alcançar seu objetivo.
Requisitos estão relacionados a necessidades
Um usuário deve possuir a condição dada pelo sistema para 
satisfazer um contrato, padrão, especificação ou outro documen-
to formalmente imposto.
Requisitos estão relacionados a propriedades
Uma representação documentada de uma condição ou capaci-
dade como nas duas primeiras definições.
Requisitos possuem uma especificação
Os Requisitos estão ligados ao atendimento do negócio do sistema. Por exem-
plo, uma das funções de um sistema de venda de jogos pela internet é ter uma ou 
mais telas capazes de realizar a venda de um determinado jogo. Esse é o objetivo 
principal do sistema. Portanto, vender jogos é um Requisito do sistema (provavel-
mente o principal).
1.2.2 Tipos de Requisitos
Na análise do problema para a elaboração da Lista de Requisitos, podemos 
identificar vários tipos. É importante conseguirmos separar os Requisitos nesses 
tipos com o objetivo de melhor atuarmos no seu detalhamento e implementação. 
Os tipos de Requisitos serão especificados a seguir.
1.2.2.1 Requisitos Funcionais
Descrevem o comportamento que o software deve ter em termos de serviços 
para o negócio do usuário. Têm como objetivo as necessidades do assunto de 
que trata o sistema do cliente.
Os Requisitos Funcionais se referem às funções relacionadas com o negócio do 
cliente, com as funções que atendam diretamente às suas necessidades. Definem 
o que o sistema fará para atender ao pedido do cliente. São os Requisitos mais im-
portantes. O quadro a seguir apresenta exemplos desse tipo de Requisito.
Introdução à análise de sistemas e Levantamento de Requisitos 19
Quadro 1
Exemplos de Requisitos Funcionais em diversos negócios
O sistema deve cadastrar médicos profissionais.
O sistema deve emitir um relatório de clientes.
O sistema deve passar um cliente da situação “em consulta” para “consultado” quando o cliente 
terminar de ser atendido (mudança de estado).
O cliente pode consultar seus dados no sistema.
Executar a baixa dos boletos de contas a receber.
Renovar contrato.
Emitir certificado de participação do aluno no curso.
Vender passagem aérea.
Fonte: Elaborado pelo autor.
Quando um Requisito Funcional estiver escrito em um nível macro, passando 
uma ideia ampla, ele é chamado de Requisito Funcional Agregador. Não é indicado 
trabalhar com esse tipo na fase de modelagem do sistema, pois invariavelmente 
ele terá de ser subdividido para sua implementação. Então, o mais indicado é fazer 
essa divisão na fase de Levantamento dos Requisitos. Exemplos: efetuar gestão dos 
cursos; gerenciar relacionamento com clientes etc.
De maneira contrária aos Requisitos Agregadores, um Requisito Funcional pode 
ser fragmentado em vários Requisitos chamados de Requisitos de Subfunção. Tam-
bém não é indicado relacionar somente os Requisitos de Subfunção, pois eles só 
têm a função de mostrar as partes de um Requisito.
Por exemplo: o Requisito Funcional Sacar dinheiro em um caixa eletrônico teria 
três subfunções:
1. validar senha;
2. verificar saldo;
3. debitar conta.
1.2.2.2 Requisitos não Funcionais
Representam limitações ou determinações impostas aos Requisitos Funcionais. 
Falam das condições do ambiente no qual o software será executado e como esse 
ambiente pode afetar ou restringir a perfeita realização dos Requisitos Funcionais. 
Descrevem como o sistema deve funcionar. Entre outros aspectos, falam sobre:
 • O ambiente – segurança, comunicação etc.
 • A organização – locais de operação, tipos de hardware etc.
 • A implementação – linguagem de programação, Banco de Dados e 
arquitetura.
 • A qualidade – tempo de resposta, facilidade de uso, eficiência e facilidade de 
manutenção.
20 Análise de Sistemas
O quadro a seguir apresenta exemplos desse tipo de Requisito.
Quadro 2
Exemplos de Requisitos não Funcionais
Requisito Descrição
RNF1 – Tempo de resposta on-line
Todas as solicitações on-line feitas no sistema devem ter a 
resposta num tempo inferior a 15 segundos.
RNF2 – Disponibilidade do sistema
O sistema deve estar disponível ao usuário 24 horas/dia per-
mitindo paradas de até 5 minutos nos dias úteis e 1 hora em 
dias não úteis.
RNF3 – Autenticação dos usuários
Todos os usuários devem ser autenticados ao ingressar no 
sistema e suas senhas devem estar criptografadas.
Fonte: Elaborado pelo autor.
A prioridade de tratamento deve ser para os Requisitos Funcionais. Os Requi-
sitos não Funcionais podem ser tratados em um momento secundário do projeto.
1.2.3 Elicitação de Requisitos
Elicitação de Requisitos é a ação de aplicar as técnicas para o Levantamento dos 
Requisitos (VASQUEZ, 2016). Existe um longo caminho desde os primeiros contatos 
com o cliente a fim de conhecer suas necessidades até chegar a uma Lista de Re-
quisitos. Reuniões, análise de documentos e planilhas existentes, conhecimento de 
sistemas legados, dentre outras, são atividades que devem ser realizadas para se 
chegar ao objetivo.
É importante saber aplicar as técnicas corretas para que todos os detalhes e pe-
culiaridades do sistema fiquem esclarecidos e não ocorram entendimentos confli-
tantes ou insuficientes que acarretem um sistema que não coincide com os anseios 
do cliente.
A seguir veremos algumas técnicas e como aplicá-las para levantar os Requisitos.
1.2.3.1 Entrevistas e reuniões
Uma entrevista ou reunião, no âmbito do Levantamento de Requisitos, consiste 
no processo de ouvir e registrar as necessidades e os desejos dos clientes. O obje-
tivo é deixar o cliente descrever seu problema, apontar possíveis soluções e, princi-
palmente, demonstrar o funcionamento e as regras do seu negócio. O analista de 
requisitos busca respostas sobre os Requisitos, problemas e desafios da área de ne-
gócios, então é muito importante que o escopo da entrevista ou reunião fique res-
trito ao seu objetivo e que nenhum detalhe deixe de ser tratado (VASQUEZ, 2016).
Primeiramente uma entrevista ou reunião deve ser guiada por uma pauta de 
perguntas muito bem elaboradas pelo analista de requisitos. Novas questões po-
dem ser inseridas no decorrer do encontro dependendo do caminho que o assunto 
percorra e, também, para um maior detalhamento das questões levantadas.Para o bom andamento do encontro, algumas atitudes devem ser evitadas:
Introdução à análise de sistemas e Levantamento de Requisitos 21
11
Julgar/criticar as informações emitidas pelo outro
O cliente deve se sentir à vontade para passar as informações sem que seja julgado sobre a assertividade dos 
procedimentos que realiza. A informatização do processo por meio do sistema visa justamente à criação de um novo 
processo por meio do sistema que atenda perfeitamente à sua vontade.
22
Completar frases ou cortar a fala
É comum o analista de requisitos ter um entendimento prévio sobre o negócio do usuário e ter a ansiedade de colocar 
a sua opinião acerca dos procedimentos que estão sendo descritos pelo cliente. Essa discussão é benéfica, porém 
nunca se deve perder de vista que é o cliente quem tem a última palavra e que é a sua vontade que deve ser atendida. 
Então, o analista deve se conter e não interromper ou substituir as falas do cliente com a intenção de que a conversa vá 
em alguma direção de seu interesse.
33
Ser arrogante ou deixar a impressão de que sabe mais do que o outro
Na mesma linha do tópico anterior, o analista deve ter uma postura humilde perante o cliente. Jamais usar termos ou 
ter uma postura que denote superioridade ou que diminua a figura do cliente. O cliente deve se sentir à vontade para 
expressar suas opiniões e ter a ciência de que está no controle da situação.
55
Dar a solução antes de ouvir o problema
Oficialmente é o cliente quem detém o conhecimento do assunto que está sendo levantado. Então, a solução do 
problema deve vir dele. Mesmo que o analista conheça o problema e possíveis soluções, deve se comportar como um 
colaborador e deixar com que o cliente faça sua explanação completa antes de opinar sobre a solução.
66
Falta de cortesia, pontualidade e simpatia ou visual inapropriado
Na mesma linha do tópico anterior, o analista deve ter uma postura humilde perante o cliente. Jamais usar termos ou 
ter uma postura que denote superioridade ou que diminua a figura do cliente. O cliente deve se sentir à vontade para 
expressar suas opiniões e ter a ciência de que está no controle da situação.
77
Local, hora ou duração inadequada
O local do encontro deve ser preparado, organizado, tranquilo e sem interrupções. Deve-se definir um horário para iniciar 
(e esse horário deve ser seguido, salvo atraso do cliente) e, principalmente, a duração deve ser respeitada (salvo também 
se o cliente deseja que seja estendida).
44
Corrigir, seja informação técnica ou gramática
As correções devem ser feitas no sentido de enriquecer a fala do cliente, não constrangê-lo. Se o analista entender que 
alguma informação técnica está incorreta, deve se colocar na postura de que não compreendeu direito a informação 
e necessita de mais esclarecimentos. Deve deixar que o cliente chegue à conclusão de que a informação não está 
totalmente esclarecida ou correta. Ao final da fala, pode-se até resumir, em outras palavras, a informação recebida para 
validar o entendimento entre as partes. Já os erros gramaticais e de natureza semelhante devem ser relevados e não 
devem ser corrigidos abertamente, salvo se comprometer o entendimento da informação e, mesmo assim, seguindo a 
estratégia já descrita.
22 Análise de Sistemas
88 Vocabulário impróprio
O vocabulário deve ser formal e apropriado para o assunto, evitando piadas e linguagem vulgar.
99
Demonstrar despreparo sobre o assunto
O analista precisa se preparar para a entrevista, deve estudar o assunto, ter as perguntas organizadas e ter um 
mecanismo simples e ágil para registrar as respostas.
Uma entrevista ou reunião pode ter questões abertas e/ou fechadas, dependen-
do da necessidade de entendimento do assunto:
Nesse tipo de questão, é possível investigar 
os detalhes, as opiniões e as preferências 
do cliente. Numa resposta textual, a 
tendência é que o cliente consiga explicar 
melhor o assunto. 
Nesse tipo de questão, é possível investigar 
os detalhes, as opiniões e as preferências 
do cliente. Numa resposta textual, a 
tendência é que o cliente consiga explicar 
melhor o assunto. 
Essas questões têm a vantagem de deixar o 
cliente mais à vontade para discorrer sobre 
o assunto, permitem que o analista se 
adapte ou conheça o vocabulário do cliente 
e fornecem uma riqueza maior de detalhes.
Como desvantagens, podem permitir que 
o cliente explique detalhes desnecessários 
que não são do escopo do problema e 
fazer com que o foco seja desviado. Isso 
consumirá mais tempo e poderá dificultar a 
interpretação das respostas obtidas.
Questões abertas
Nesse tipo de questão, é possível investigar 
os detalhes, as opiniões e as preferências 
do cliente. Numa resposta textual, a 
tendência é que o cliente consiga explicar 
melhor o assunto. 
Essas questões têm um conjunto de 
respostas predefinidas. Ele serve para 
delimitar o assunto em questão e restringir 
aquilo que se tem interesse em descobrir. 
A criação dessas questões deve ser muito 
bem estudada e organizada. 
As vantagens dessas questões são que 
economizam tempo, pois requerem a 
escolha de uma opção delimitada por parte 
do cliente. Pode-se fazer uma interpretação 
mais simples das respostas e facilitam o 
controle do encontro por parte do analista.
Como desvantagens, as questões 
fechadas podem dar a sensação de 
restrição para o cliente e dar a conotação 
de que outras questões que ele acha 
importante não podem ser abordadas. 
Perde-se a riqueza de detalhes que muitas 
vezes são de grande importância.
Questões fechadas
Uma boa entrevista ou reunião deve então balancear questões abertas e fecha-
das, sempre com um estudo prévio de qual tipo será mais vantajoso e apropriado 
para cada tema que se deseja levantar.
As questões de uma entrevista ou reunião (abertas ou fechadas) podem ter as 
seguintes estruturas:
Nessa estrutura, inicia-se o encontro com questões fechadas e, dependendo das respostas, 
questões abertas podem ser inseridas para o detalhamento dessas respostas. É uma estrutura 
que permite o foco em subtópicos e facilita a organização do analista.
Pirâmide
Ao contrário da anterior, inicia-se o encontro com questões abertas, e as fechadas são 
inseridas para tentar organizar ou detalhar as respostas das questões abertas.
(Continua)
Funil
Introdução à análise de sistemas e Levantamento de Requisitos 23
É uma combinação das anteriores. Inicia-se com questões fechadas e, em seguida, são 
inseridas questões abertas, podendo-se voltar às fechadas. Essa estrutura é mais dinâmica, 
porém a tendência é que o encontro fique mais longo.
Diamante
Uma entrevista ou reunião deve ser muito bem preparada. Para isso, as seguin-
tes diretrizes devem ser seguidas:
 • Defina claramente o objetivo do encontro e de quais informações você precisa.
 • Identifique as pessoas adequadas que podem participar.
 • Descubra quem é o dono do processo.
 • Avalie conversar com pessoas em vários níveis organizacionais que serão afe-
tados pelo projeto.
 • Estude bem o assunto, analise a documentação, converse com pessoas que 
conhecem o assunto.
 • Familiarize-se com o vocabulário da área de negócio.
 • Comunique claramente os participantes para que eles também se prepara-
rem para o encontro.
 • Use a técnica conhecida como 5W+2H no preparo das questões:
 • What - o que será feito?
 • Why - por que será feito?
 • Where - onde será feito?
 • When - quando será feito?
 • Who - quem fará?
 • How - como será feito?
 • How much - quanto custará?
A técnica de Elicitação de Requisitos, conhecida como entrevista ou reunião, é 
uma das técnicas mais utilizadas na tarefa de Levantamento de Requisitos e am-
plamente difundida na área de desenvolvimento de software. A imensa maioria 
dos sistemas desenvolvidos têm no seu início de desenvolvimento um conjunto de 
entrevistas e reuniões.
1.2.3.2 Análise de documentos
É uma forma de elicitar Requisitos pelo estudo da documentação disponível so-
bre uma solução existente, com o objetivo de identificarinformações relevantes 
para o desenvolvimento de uma nova solução.
A análise de documentos é parte fundamental da Elicitação de Requisitos. Nem 
sempre as partes envolvidas estarão disponíveis ou cooperarão com o projeto, en-
tão o analista de requisitos deve focar a documentação sobre o negócio que está 
disponível na corporação.
Essa análise permite obter conteúdo sobre o contexto abordado ou aumentar o 
nível de domínio sobre o problema, além de possíveis soluções a serem adotadas. 
24 Análise de Sistemas
Sempre há algo documentado previamente que deverá ser analisado para depois 
partir para outras técnicas de elicitação.
Os documentos podem trazer informações sobre o domínio do problema, ne-
cessidades do negócio (oportunidades, problemas e objetivos), partes interessadas 
e impactadas.
São exemplos de documentos a serem analisados:
 • planos de negócio, marketing e contratos;
 • pedidos de proposta e fluxos de processos atuais;
 • modelos de dados lógicos e regras de negócio;
 • guias, websites e manuais;
 • relatórios, manuais, memorandos e documentação de software.
1.2.3.3 Conhecimento dos sistemas legados
Um sistema legado é aquele que o cliente já utiliza para resolver o problema 
relacionado ao assunto e que deseja substituir pelo novo sistema. É possível e 
aconselhável levantar as informações do negócio e, consequentemente, levantar e 
compreender os Requisitos conhecendo esse sistema já existente. Esse estudo tan-
to permite que se conheça o funcionamento do sistema como as regras do negócio, 
as dificuldades existentes (já que o cliente deseja que o sistema seja substituído) e 
as facilidades (que podem ser incorporadas no novo sistema).
É importante se envolver com a equipe de usuários do sistema legado, com a 
equipe de desenvolvimento que mantém o sistema funcionando e, se possível, 
ter acesso ao sistema no papel de usuário para testar todas as suas funcionalida-
des. Com isso, é possível ter uma boa noção daquilo que o sistema atende para 
propor uma abordagem mais moderna e funcional, cobrindo todas as necessida-
des do cliente com maior dinamismo e eficiência. Também é possível analisar os 
programas desse sistema e extrair dali as regras de negócio e o funcionamento 
do processo.
1.2.4 Especificação de Requisitos
Se a tarefa de Elicitação de Requisitos descobre as peças do quebra-cabeça, 
então a análise e Especificação de Requisitos procura montá-lo (VASQUEZ, 2016).
Durante a aplicação das técnicas para levantar quais são os Requisitos, na me-
dida do possível, o analista deve procurar escrever uma Lista de Requisitos. Esse é 
o objetivo final do trabalho de levantamento.
Porém, não é uma tarefa fácil. Normalmente o cliente tem sua forma própria de 
registrar as informações e processos e nem sempre de uma maneira estruturada. 
Para ilustrar, vejamos a situação colocada na Figura 9.
Introdução à análise de sistemas e Levantamento de Requisitos 25
Ve
ct
or
_V
isi
on
/S
hu
tte
rs
to
ck
O que o senhor espera 
desse sistema?
Eu tenho uma loja de peças. Gostaria que o meu PV 
fosse interligado com o meu estoque e eu pudesse 
a qualquer momento alterar valores dos FPs. Posso 
oferecer descontos a alguns tipos de clientes, mas 
preciso autorizar essa operação.
No fim do mês, quero um relatório dos produtos que 
mais venderam. Preciso também saber a estatística 
de vendas por forma de pagamento.
De tempos em tempos deve aparecer na tela do 
sistema uma promoção relâmpago que dê um brinde 
ao cliente.
Preciso que o sistema controle os pedidos também.
Figura 9
Diálogo entre usuário e analista
Fonte: Adaptado de Melo, 2011.
Podemos perceber nesse diálogo a dificuldade que existe em entender os ter-
mos usados pelo usuário, bem como a falta de informações em alguns pontos:
Quadro 3
Diálogo entre usuário e analista – dúvidas
O que é PV e FP?
Que tipos de clientes podem receber descontos?
Como seria feita a autorização de desconto e por quem?
Quais quantidades de produtos devem aparecer no relatório dos que mais venderam?
Quanto tempo significa “de tempos em tempos”?
Fonte: Adaptado de Melo, 2011.
O processo de Levantamento dos Requisitos envolve então muitas conversas, 
reuniões, entrevistas, estudo dos sistemas legados, entre outros, em um trabalho 
criterioso de Elicitação dos Requisitos, no qual o maior desafio é chegar a um con-
senso de entendimento daquilo que o usuário deseja e principalmente extrair as 
regras e o funcionamento do seu negócio.
Como exemplo, poderíamos ter o seguinte cenário na fase de Levantamento 
dos Requisitos, conforme mostra a Figura 10.
26 Análise de Sistemas
M
on
ke
y B
us
in
es
s 
Im
ag
es
/S
hu
tte
rs
to
ck
Fonte: Elaborada pelo autor.
Figura 10
Ilustração do processo de montagem da Lista de Requisitos
Blá blá blá bli bli bli piripipi piripipi poropopó poropopó bli bli bli blá 
blá blá poropopó John Snow piripipi piripipi Dynaris Targeryan blá blá 
blá Blá blá blá bli bli bli piripipi piripipi poropopó poropopó bli bli bli 
blá blá blá poropopó John Snow piripipi piripipi Dynaris Targeryan blá 
blá blá blá blá blá bli bli bli piripipi piripipi poropopó poropopó bli bli 
bli blá blá blá poropopó John Snow piripipi piripipi Dynaris Targeryan 
blá blá blá
Nessa figura, as pessoas sentadas em uma mesa conversando simbolizam uma 
reunião na qual o problema está sendo discutido e o cliente está repassando suas 
necessidades. A tabela em forma de planilha simboliza os sistemas legados que já 
existem e que devem ser substituídos. Após o trabalho de elicitação, o objetivo final 
é chegar a uma Lista de Requisitos.
Os Requisitos devem ser especificados segundo algumas regras, com o objetivo 
de colocá-los em uma estrutura que facilite sua modelagem e implementação nas 
fases seguintes do processo de desenvolvimento. As seguintes regras são sugeri-
das (VASQUEZ, 2016):
 • Expressar um e somente um Requisito por vez.
 • Evitar cláusulas condicionais complexas.
 • Usar uma terminologia clara e consistente.
 • Expressar Requisitos em uma sentença com verbo e em voz ativa.
 • Indicar claramente o que ou quem é responsável pela ação realizada pelo 
Requisito.
O exemplo a seguir, extraído de Vasquez (2016), mostra a forma errônea de 
se escrever um Requisito. A referida escrita expressa vários Requisitos em um só 
e inclui cláusulas condicionais, além de não incluir o verbo que caracteriza a ação 
principal realizada.
Quadro 4
Exemplo de Lista de Requisitos – forma equivocada de escrita
Requisito Descrição
R1 – 
Controle de portaria
Para realizar o controle de entrada e saída da portaria, deve ser realizado o 
cadastro do visitante com os seguintes atributos: nome, RG e foto. Caso a visita 
tenha sido liberada pelo condomínio, então podem ser registradas a data e a 
hora em que o visitante acessou a portaria. Ao sair do condomínio, devem ser 
registradas a data e a hora em que o visitante saiu, mas isso só deve ser permi-
tido para visitante com registro de entrada e sem registro de saída.
Fonte: Adaptado de Vasquez, 2016.
Introdução à análise de sistemas e Levantamento de Requisitos 27
Os mesmos Requisitos deveriam ser reestruturados conforme mostra o quadro 
a seguir.
Quadro 5
Exemplo de Lista de Requisitos – forma correta de escrita
Requisito Descrição
R1 – Manter cadastro do visitante
O porteiro realiza o cadastro do visitante com os seguintes 
atributos: nome, RG e foto.
R2 – Liberar acesso ao visitante
O porteiro cadastra a liberação do acesso selecionando um 
visitante já cadastrado e indica a data e hora de início da visita.
R3 – Registrar saída do visitante O porteiro registra a data e hora do fim da visita.
Fonte: Adaptado de Vasquez, 2016.
Por exemplo, considere o seguinte estudo de caso com as especificações de um 
determinado problema e, em seguida, qual seria a lista de todos os Requisitos que 
o sistema deve atender.
Suponha uma Escola de Natação que deseja informatizar o processo de controle dos alunos e 
suas aulas. A escola oferece aulas de natação e hidroginásticaem diversas turmas com dias e 
horários definidos. Os professores podem atuar em várias turmas e nas duas modalidades. O 
aluno, ao se matricular, deve poder escolher uma modalidade e qual turma deseja. No decorrer 
das aulas, os professores devem registrar a presença dos alunos.
É normal que o próprio cliente já faça suas solicitações na forma de Requisitos. É comum ouvir 
solicitações do tipo:
• Desejo ter um cadastro de todos os meus alunos.
• Preciso de um relatório com todas as mensalidades pagas no mês.
• Tenho de ter uma tela (palavras do cliente) para fazer a matrícula dos alunos.
• Quero que os professores controlem a frequência dos alunos nas aulas.
Para esse problema, teríamos os seguintes Requisitos:
Quadro 6
Lista de Requisitos da Escola de Natação
Requisito Descrição
R1 - Manter cadastro dos alunos
Permitir o cadastro completo dos alunos (pes-
quisar, incluir, alterar, excluir e consultar).
R2 - Manter cadastro dos professores
Permitir o cadastro completo dos professores 
(pesquisar, incluir, alterar, excluir e consultar).
R3 - Manter cadastro das turmas
Permitir o cadastro completo das turmas, sua 
modalidade (natação ou hidroginástica), seus 
dias/horários e qual professor responsável.
R4 – Matricular alunos Matricular os alunos nas turmas.
R5 - Registrar frequência
Registrar frequência no diário de classes de 
cada aula.
Fonte: Elaborado pelo autor.
Estudo de caso
Para cada Requisito, devemos entender quais são as regras de negócio que cada 
um deve seguir. Por exemplo, no R4 – Matricular alunos, pode ser que o dono da es-
cola coloque algumas restrições do tipo: “pessoas com mais de 80 anos só podem se 
matricular na modalidade hidroginástica”. Esse é um exemplo de regra de negócio.
As regras de negócio impõem restrições de negócio ao Requisito, impedindo 
que informações inconsistentes sejam registradas no sistema do ponto de vista do 
negócio. Alguns aspectos sobre as regras de negócio são:
28 Análise de Sistemas
As regras que dizem respeito aos Requisitos funcionais são leis que regem o ne-
gócio e são definidas pelo especialista do assunto.
Mostram como os Requisitos devem ser feitos.
Descrevem de modo complementar o funcionamento do Requisito.
Descrevem políticas corporativas, legislação pertinente, regulamenta-
ções governamentais, padrões de mercado. 
Não são ligadas à solução (de software), mas ao domínio do problema.
Existem independentemente do software e de o processo estar automatizado 
ou não. 
Não devem ser confundidas com Requisitos não Funcionais.
Alguns exemplos de regras de negócio são:
 • Somente alunos com mais de 75% de frequência podem ser aprovados na 
disciplina.
 • Somente clientes com mais de 18 anos podem abrir conta corrente.
 • Compras acima de R$ 500,00 podem ser parceladas.
 • Crianças de até 23 meses transportadas no colo do responsável não pagam 
passagem.
O Quadro 7 mostra algumas estruturas de regras de negócio com exemplos.
Quadro 7
Estruturas de regras de negócio
Tipo de estrutura Estrutura Exemplo
Regra para obrigar
“(Sujeito da frase) 
deve...”
Um pedido de empréstimo acima de R$ 1.000,00 
deve ter dois avalistas.
Regra para restringir
“(Sujeito da frase) pode 
... somente se...”
Um saque pode ser feito somente se a conta es-
tiver ativa e o saldo for suficiente.
Regra para proibir
“(Sujeito da frase) não 
pode...”
Um cliente não pode fazer um empréstimo se ti-
ver restritivos.
Fonte: Elaborado pelo autor.
Finalmente, o resultado final da fase de Levantamento de Requisitos deve ser 
uma Lista de Requisitos no formato do Quadro 8.
Introdução à análise de sistemas e Levantamento de Requisitos 29
Quadro 8
Lista de Requisitos da Escola de Natação completa
Requisito Descrição Regras de negócio
R1 - Manter cadastro dos 
alunos
Permitir o cadastro completo dos alu-
nos.
Permitir pesquisar, incluir, alterar e consultar.
Não permitir a exclusão de um aluno, somente 
marcar como inativo.
R2 - Manter cadastro dos 
professores
Permitir o cadastro completo dos pro-
fessores.
Permitir pesquisar, incluir, alterar, excluir e 
consultar.
R3 - Manter cadastro das 
turmas
Permitir o cadastro completo das 
turmas, sua modalidade (natação ou 
hidroginástica), seus dias/horários e 
qual professor responsável.
Não permitir o cadastro de duas turmas da mes-
ma modalidade no mesmo horário.
R4 – Matricular alunos Matricular os alunos nas turmas.
Pessoas com mais de 80 anos só podem se ma-
tricular na modalidade hidroginástica.
R5 - Registrar frequência
Registrar frequência no diário de clas-
ses de cada aula.
Fonte: Elaborado pelo autor.
No ciclo de desenvolvimento do sistema, essa atividade corresponde à fase de 
Iniciação. A próxima fase, de Elaboração, consiste em informar como o sistema será 
modelado e como a solução será proposta e organizada. Os artefatos que serão 
construídos terão como base essa Lista de Requisitos.
1.3 Análise Orientada a Objetos (UML)
Vídeo No ciclo de desenvolvimento, a fase de Elaboração é a responsá-
vel pelo projeto de solução do sistema. Nela são produzidos artefatos 
(documentos e diagramas) que irão balizar a construção do software.
É nessa fase que são aplicadas as técnicas de análise vistas ante-
riormente. Inicialmente figurava a Análise Estruturada, em seguida a 
Análise Estruturada Moderna (ou Análise Essencial) e, atualmente, o 
padrão de mercado é a Análise Orientada a Objetos (UML).
1.3.1 Conceitos
O termo Unified Modeling Language ou linguagem de modelagem 
unificada (UML) surgiu da necessidade de se padronizar a linguagem 
de modelagem da Análise Orientada a Objetos e possibilitou a uni-
ficação da escrita dos diversos diagramas previstos na técnica. Com 
o tempo, esse termo passou a ser quase um sinônimo da Análise 
Orientada a Objetos (BOOCH; RUMBAUGH; JACOBSON, 2012).
A versão inicial da UML foi apresentada em 1996 por Grady Booch, 
James Rumbaugh e Ivar Jacobson como consequência da junção das 
melhores características de cada um dos métodos de representação 
do processo de software que cada um desses autores desenvolveu.
A UML tornou-se então a linguagem padrão de modelagem adota-
da pelas empresas de desenvolvimento de software (GUEDES, 2018).
30 Análise de Sistemas
O conceito básico nessa teoria é o de Objeto, no qual os componentes de software 
foram considerados como objetos (do mundo real) com suas características e funções.
Um dos grandes problemas das teorias anteriores era a grande interferência 
que um determinado componente (programa ou dado) poderia ter sobre outro, 
ou seja, não havia nenhuma restrição que um determinado programa manipulas-
se dados ou interagisse com programas que não estavam relacionados com sua 
função, que não eram de sua responsabilidade. Com isso, era comum ocorrerem 
muitos erros de programadores que, de maneira inadvertida, alteravam funções 
ou dados, os quais acabavam impactando erros em partes do sistema que diziam 
respeito a outro assunto.
Um Objeto tem encapsulado seus dados e operações responsáveis por mani-
pular esses dados. Uma operação de um determinado Objeto não tem autorização 
(ou acesso) para manipular dados de outro Objeto se não pela solicitação ao Objeto 
responsável por esse dado. Com isso, os acessos não autorizados ficavam inviabili-
zados e, em tese, cada Objeto cuidava somente de suas funções.
Podemos exemplificar esse mecanismo de encapsulamento de um Objeto na 
Figura 11.
Figura 11
Encapsulamento de um Objeto
Fonte: Elaborada pelo autor.
incluir
nome
CPF
Cliente
vender
alterarDados
pedido 
data
Venda
Nesse exemplo, digamos que é necessária uma alteração no atributo data que 
se encontra no objeto venda. A única operação que tem autorização (e conhece as 
regras de negócio para esse procedimento) é a operação alterarDados desse Objeto. 
Seria impossível a operação incluir do Objeto cliente fazer uma alteração nesse atri-
buto data. Caso o Objeto cliente realmente necessite dessa alteração, a única forma 
possível seria fazer uma solicitação à operação alterarDados do Objetovenda.
Com esse mecanismo, evita-se o acesso descontrolado aos dados do sistema, 
impõe-se um conjunto de regras que somente os responsáveis pelos dados conhe-
cem e aplicam. Assim, o sistema tem maior integridade dos seus dados.
1.3.2 Artefatos da UML
Para a modelagem do sistema e representação da solução informatizada, a UML 
dispõe de diversos diagramas. Dentre os principais, pode-se citar os apresentados 
na sequência.
1.3.2.1 Digrama de caso de uso
Apresenta graficamente todos os Requisitos do sistema, bem como a interação 
com as entidades externas. A Figura 12 apresenta um exemplo desse diagrama.
Na tese de doutorado do autor 
deste livro, foi desenvolvido um 
software totalmente orientado a 
Objetos, o JCarbon, cujo objetivo 
é estimar o carbono em florestas 
usando técnicas de inteligência 
artificial. O software pode ser 
acessado em: www.jcarbon.ufpr.
br. Acesso em: 17 mar. 2021.
Curiosidade
http://www.jcarbon.ufpr.br
http://www.jcarbon.ufpr.br
Introdução à análise de sistemas e Levantamento de Requisitos 31
Figura 12
Exemplo de Diagrama de Caso de Uso de uma Escola de Natação
Fonte: Elaborada pelo autor.
Manter 
modalidade
Pesquisar 
modalidade
Pesquisar 
turma
Registrar 
presença do 
aluno
Pesquisar 
professor
Manter 
turma
Manter aluno
Pesquisar 
aluno
<<extend>>
<<extend>>
<<include>>
<<include>>
<<include>>
<<extend>>
Ator atendente
Ator professor
<<extend>>
Manter 
professor
Matricular 
aluno
1.3.2.2 Diagrama de Classes
É utilizado para modelar as classes de objetos, seus atributos, suas operações e 
relacionamento com outras classes. Ele fornece uma visão estrutural do sistema. A 
Figura 13 mostra um exemplo desse diagrama.
- cpf : int
- nome : String
Pessoa


Aluno
Matricula Turma
Diario
- dataAdmissao : Date 
Professor
- descricao : int
- data : Date - descricao : String
- data : int
Modalidade
Figura 13
 Exemplo de Diagrama de Classes de uma Escola de Natação 
Fonte: Elaborada pelo autor.
* *
*
*
32 Análise de Sistemas
1.3.2.3 Diagrama de Sequência
Determina a sequência de mensagens que devem ser trocadas entre os objetos 
do sistema para que um caso de uso realize completamente sua função. A Figura 
14 mostra um exemplo desse diagrama.
 
Figura 14
Exemplo de Diagrama de Sequência do Caso de Uso de realizar matrícula de uma Escola de Natação
: Matricula: Aluno: Turma: ModalidadeTela
sd DS – Realizar Matrícula – Resolvido
: Ator Atendente 
1 : Entrada ()
1.1 : buscar ()
1.1.1 : buscar ()
2.1 : buscar ()
3.1 : buscar ()
4.1 : salvar ()
2 : CPF ()
3 : Modalidade ()
4 : Efetivar ()
Fonte: Elaborada pelo autor.
1.3.2.4 Diagrama de Atividades
Permite demonstrar os fluxos de um processo. Pode ser usado para mostrar 
vários tipos de processos: um simples algoritmo, um caso de uso, um conjunto de 
casos de uso ou para mapeamento de processos. A Figura 15 mostra um exemplo 
desse diagrama.
Introdução à análise de sistemas e Levantamento de Requisitos 33
Figura 15
Exemplo de Diagrama de Atividades da solicitação de um extrato bancário
Fonte: Elaborada pelo autor.
Solicitar 
conta
Verificar 
conta
Apresentar extrato
Solicitar 
período
Validar 
período
Apresentar 
mensagem 
Senha inválida
Apresentar 
mensagem 
Período inválido
Solicitar 
senha
<<Inválida>>
<<Senha inválida>> <<Período inválido>>
<<Senha válida>>
1.3.2.5 Diagrama de Transição de Estado
Permite demonstrar a mudança dos possíveis estados de um Objeto e as condi-
ções para que isso ocorra. A Figura 16 mostra um exemplo desse diagrama.
Figura 16
Exemplo de Diagrama de Transição de Estados da situação de uma bagagem em um aeroporto
Fonte: Elaborada pelo autor.
Despachando Checando
Enviando para PF
Aguardando embarque
Transportando ao avião
Embarcando
Voando
DesembarcandoTransportando do aviãoEntrando na esteira
Transportando para 
Reclamações
Retirando
Aguardando retirada
Irregular
Passageiro não retirouPassageiro 
retirou
34 Análise de Sistemas
1.3.2.6 Diagrama de Pacotes
Permite a visualização dos pacotes de classes ou funções. A Figura 17 mostra 
um exemplo desse Diagrama com Pacotes de classes, e a Figura 18 mostra pacotes 
de funções.
Figura 17
Exemplo de Diagrama de Pacotes com Classes
Prova
Recurso
Prova Discursiva Prova Objetiva
Avaliação
Vagas
Cargo
Localidade
Fonte: Elaborada pelo autor.
Figura 18
Exemplo de Diagrama de Pacotes de Funções
Fonte: Elaborada pelo autor.
view controller
daomodel
A UML possui outros diagramas suplementares que não serão vistos aqui.
1.4 Métodos Ágeis aplicados ao 
desenvolvimento de sistemasVídeo
Os métodos de desenvolvimento ágil de software surgiram no início de 2000. 
Seu foco central era que os processos de produção de software deveriam se con-
centrar em indivíduos e interações sobre os processos e, principalmente, no produ-
to final, ou seja, no software funcionando (COHN, 2011).
O vídeo Google Systems 
Design Interview With An 
Ex-Googler (Entrevista de 
design de sistemas do 
Google com um ex-goo-
gler), publicado pelo 
canal Clément Mihailescu, 
mostra uma entrevista de 
um ex-analista da Google e 
explica, em termos gerais, 
como é o processo de 
desenvolvimento das fun-
cionalidades das aplicações 
Google usando Análise 
Orientada a Objetos.
Disponível em: https://www.youtube.
com/watch?v=q0KGYwNbf-0. Acesso 
em: 17 mar. 2021.
Vídeo
https://www.youtube.com/watch?v=q0KGYwNbf-0
https://www.youtube.com/watch?v=q0KGYwNbf-0
Introdução à análise de sistemas e Levantamento de Requisitos 35
1.4.1 Motivações para a criação dos Métodos Ágeis
A indústria de produção de software tornou-se extremamente burocrática e um 
grande esforço era dedicado à produção de documentos, diagramas e artefatos de 
modelagem que, em tese, deveriam ser úteis para melhorar a qualidade do produ-
to final.
Porém, nem sempre isso ocorria. O processo era engessado em normas e pa-
drões e as equipes eram obrigadas a segui-los. O resultado, quase sempre, era o 
atraso na entrega do sistema, um alto custo e a equipe insatisfeita com a metodo-
logia de trabalho.
Segundo Prikladnicki, Willi e Milani (2014, p. XIV), “a única constante no desen-
volvimento de software é a mudança, portanto criar mecanismos para adaptar-se a 
ela é mais eficaz do que tentar combatê-la”.
O mercado não aceitava mais o desperdício de tempo e dinheiro para produ-
zir artefatos que não tinham nenhuma utilidade. Como exemplo, imagine dezenas 
de documentos e diagramas escritos e desenhados com a proposta de solução 
e arquitetura do sistema, mas que, no momento de se fazer a programação dos 
componentes de software, nenhum era visto, nada do que foi escrito servia de base 
para a construção do software e todo o esforço gasto na sua produção era inútil.
No mínimo, esse modelo era muito custoso, pois horas tinham sido gastas na 
escrita de documentos que não seriam mais usados. Era como se o mais impor-
tante do processo fosse a produção de documentos, e não a produção efetiva do 
sistema (VALENTE, 2020).
Os Métodos Ágeis surgiram então com o objetivo de adotar práticas eficientes 
em todo o processo de desenvolvimento. Nesses métodos, só se produz aquilo que 
é útil e ajuda no desenvolvimento, os artefatos são construídos na medida exata da 
necessidade, sem perda de tempo e sem uso indevido de recursos.
Considerando que a prioridade é o cliente, os Métodos Ágeis surgiram também 
com o objetivo de enxugar o processo de desenvolvimento e dar mais agilidade às 
etapas, a fim de atender aos Requisitos.
Segundo Cohn (2011), os Métodos Ágeis se justificam por algumas razões:
 • maior produtividade e menores custos;
 • maior engajamento e satisfação no trabalho por parte da equipe de 
desenvolvimento;
 • atendimento rápido às demandas do mercado;
 • maior qualidade;
 • e, principalmente, maior satisfação do cliente.
1.4.2 Princípios e valores do Manifesto Ágil
Os Métodos Ágeis surgiram então como uma filosofia de trabalho, uma forma 
de se estruturar equipes, uma nova maneira de se realizar as atividades.Essa filo-
sofia foi materializada no que foi chamado de Manifesto Ágil (BECK et al., 2001), um 
Lean Inception – Como 
alinhar pessoas e construir 
o produto certo (que 
em tradução livre seria 
pensamento enxuto) traz 
excelentes reflexões sobre 
o uso de Métodos Ágeis 
no desenvolvimento de 
software com uma lingua-
gem simples e divertida.
CAROLI, P. São Paulo: Caroli, 2018.
Livro
36 Análise de Sistemas
documento que serviu de base para as organizações implantarem essa filosofia nas 
suas equipes de trabalho. Os quatro valores do Manifesto Ágil, assim como apare-
cem em Beck et al. (2001), são:
11
33
22
44
Indivíduos e interações mais 
importantes que processos e 
ferramentas.
Colaboração com o cliente mais 
que negociação de contrato.
Software funcionando mais que 
documentação abrangente.
Responder a mudanças mais que 
seguir um plano.
A seguir são apresentados os 12 princípios do Manifesto (BECK et al., 2001):
1. A maior prioridade é satisfazer o cliente por meio da entrega contínua e 
adiantada de software com valor agregado.
2. Mudanças nos Requisitos são bem-vindas, mesmo tardiamente no 
desenvolvimento. Processos ágeis tiram vantagem das mudanças visando à 
vantagem competitiva para o cliente.
3. Software deve ser entregue funcionando frequentemente, de poucas 
semanas a poucos meses, com preferência com menor escala de tempo.
4. Pessoas de negócio e desenvolvedores devem trabalhar diariamente em 
conjunto durante todo o projeto.
5. Projetos devem ser construídos em torno de indivíduos motivados. Eles 
devem ter o ambiente e o suporte necessário e receber confiança para 
fazerem o trabalho.
6. O método mais eficiente e eficaz de transmitir informações para e entre uma 
equipe de desenvolvimento é a conversa face a face.
7. Software funcionando é a medida primária de progresso.
8. Os processos ágeis promovem desenvolvimento sustentável. Os 
patrocinadores, desenvolvedores e usuários devem ser capazes de manter 
um ritmo constante indefinidamente.
9. Contínua atenção à excelência técnica e bom design aumentam a agilidade.
10. Simplicidade: a arte de maximizar a quantidade de trabalho não realizado é 
essencial.
11. As melhores arquiteturas, Requisitos e designs emergem de equipes 
auto-organizáveis.
12. Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e, 
então, refina e ajusta seu comportamento.
Os valores e princípios desse Manifesto se aplicam a todas as etapas do desen-
volvimento de um software, desde a fase de Iniciação e Elaboração até as fases de 
construção e transição. Então, temos a tarefa de utilizar e construir os artefatos 
dessas fases seguindo esses princípios. Como o nome já diz, os Métodos Ágeis têm 
seu foco na agilidade de realizar as tarefas e isso significa que devemos otimizar 
Introdução à análise de sistemas e Levantamento de Requisitos 37
as atividades e construir os artefatos que necessariamente serão úteis, no nível de 
detalhamento que ajude os desenvolvedores nas fases seguintes.
Desse modo, a construção dos diagramas previstos na UML será ensinada mi-
nuciosamente, mas o detalhamento e a profundidade de sua utilização na prática 
devem ser avaliados. Não devemos esquecer que esses diagramas servirão de base 
aos programadores para a construção do software e alguns fatores devem ser leva-
dos em conta nessa avaliação:
A atribuição de tarefas para a equipe de programação deve levar em conta sua experiência. 
Se o conhecimento na tecnologia e no negócio do sistema é baixo, deve-se detalhar melhor os 
artefatos da UML. Caso contrário, pode-se pular algumas etapas, suprimir alguns artefatos ou 
escrevê-los de modo mais geral e sem muitos detalhes.
Experiência da equipe
Muitas vezes existe uma escassez de recursos, poucos profissionais à disposição e não existe 
a possibilidade de se realizar completamente as etapas. Nesse caso, a única alternativa é 
suprimir etapas.
Recursos
Muitas vezes a entrega tem data definida. Como o foco nos Métodos Ágeis é a entrega de 
um produto final, por vezes pode não existir tempo hábil para se realizar as tarefas de modo 
completo. Por conta disso, e com a ciência de toda a equipe e do cliente, pode-se suprimir 
etapas e diminuir o detalhamento.
Prazo
Todos esses aspectos devem ser medidos e avaliados no desenvolvimento 
e seguindo os princípios de agilidade e aplicação correta das técnicas. O “soft-
ware funcionando”, um dos principais valores do Manifesto, será entregue ao 
final do processo.
1.4.3 Introdução ao Scrum
Os Métodos Ágeis, personificados no Manifesto Ágil, trouxeram para a área de 
desenvolvimento de software uma nova filosofia de trabalho, uma nova aborda-
gem de como encarar os projetos, as equipes e, principalmente, o cliente. Porém, 
os profissionais em um determinado momento se perguntaram: e daí? O que eu 
faço agora? Gostei, mas como trabalho com isso? Concordo com todos os valores e 
princípios, mas na prática como aplico tudo isso?
Foi necessário então criar uma metodologia capaz de dotar as equipes com fer-
ramentas que transformassem uma filosofia de trabalho em algo palpável, que pu-
desse ser aplicado na prática e os resultados esperados fossem atingidos.
Nesse sentido, o Scrum é uma ferramenta (comumente chamada de framework) 
usada para implementar o desenvolvimento ágil (COHN, 2011). O conceito básico 
do Scrum é a Sprint (nome dado para os ciclos do projeto). Para entendermos esse 
conceito, temos de conhecer os termos incremental e iterativo.
Nas páginas 5 a 15 do livro 
Métodos ágeis para desen-
volvimento de software, você 
encontra, de maneira deta-
lhada, comentada e muito 
bem fundamentada, todos 
os valores e princípios do 
Manifesto Ágil, bem como 
quem são seus autores.
PRIKLADNICKI, R.; WILLI, R.; MILANI, F. 
Porto Alegre: Bookman, 2014.
Livro
38 Análise de Sistemas
O desenvolvimento de um software de maneira incremental envolve a constru-
ção “pedaço por pedaço”: primeiro uma parte é desenvolvida, depois a próxima 
parte e assim por diante. Por exemplo, um site de vendas de produtos incremental 
pode envolver primeiro o desenvolvimento do cadastro dos produtos, em seguida 
o cadastro dos clientes e, finalmente, a funcionalidade de venda dos produtos.
Por outro lado, o desenvolvimento iterativo aceita a possibilidade de retrabalho, 
de construir novamente aquilo que já foi feito, porém com um incremento de qua-
lidade nessa nova construção. Voltando ao exemplo do site de vendas de produtos, 
podemos primeiro desenvolver uma versão preliminar do site inteiro, com poucos 
detalhes, com as telas com pouca qualidade, com alguns recursos não informa-
tizados. O site é lançado para uso e recebe feedbacks do cliente e usuários; em 
seguida, passa-se para uma segunda versão, aprimorando a primeira e corrigindo 
as falhas.
Uma Sprint do Scrum, então, combina as melhores características das duas 
abordagens, incremental e iterativa. Com isso, o cliente recebe entregas rápidas do 
produto e vai contribuindo para a sua melhoria.
Os benefícios de se trabalhar com Sprints são:
 • O software funcionando encoraja o feedback do cliente.
 • O software funcionando ajuda a equipe a avaliar seu progresso.
 • O software funcionando permite que o produto seja entregue antes do 
desejado.
É consenso na área de desenvolvimento de software que uma Sprint não deve 
demorar mais do que duas semanas (apesar de se admitir Sprints de até 30 dias). 
Esse tempo é suficiente para se planejar um incremento no software e garantir que 
o cliente receba “novidades” em um curto espaço de tempo.
A Figura 19 ilustra a aplicação das Sprints no processo de entregas. O ciclo de 
14 dias representa uma Sprint, e o ciclo de 24 horas representa a avaliação diária 
do andamento da Sprint por parte da equipe de desenvolvimento.
Figura 19
Ciclo de entregas das Sprints
Fonte: Adaptada de De Paula, 2016.
SprintsRequisitos
14 dias
24 h
Incremento no 
software
Além do conceito de Sprint, o Scrum define algumas práticas para serem segui-
das (COHN,2011; SUTHERLAND, 2019):
 • Reuniões diárias, rápidas e objetivas de apenas 15 minutos com a equipe de 
desenvolvimento.
 • Mostrar o trabalho visualmente usando o quadro (conhecido como Kanban).
A equipe de desenvol-
vimento do Spotify é 
totalmente voltada aos 
Métodos Ágeis. Nela são 
aplicados praticamente to-
dos os valores e princípios 
do Manifesto Ágil. O vídeo 
Spotify Engineering Culture - 
Partes 1 e 2, produzido por 
eles, mostra a dinâmica da 
equipe de desenvolvimen-
to, bem como suas carac-
terísticas. A forma como 
trabalham é impressionan-
te, vale a pena conferir.
Disponível em: https://www.youtube.
com/watch?v=NoGhC1LaaAE. Acesso 
em: 17 mar. 2021.
Vídeo
https://www.youtube.com/watch?v=NoGhC1LaaAE
https://www.youtube.com/watch?v=NoGhC1LaaAE
Introdução à análise de sistemas e Levantamento de Requisitos 39
 • Ter equipes enxutas com até dez pessoas.
 • Nada de títulos de função: estudos demonstram que quando não são criados 
títulos para as pessoas que possam limitar o entendimento de seu papel den-
tro de uma equipe, elas trabalham melhor.
 • Priorização: quando várias coisas são prioridade, nada é uma prioridade. En-
tão, para que algo realmente seja feito, a metodologia Scrum propõe que as 
atividades devem ser priorizadas.
Essa foi uma breve introdução sobre o Scrum. Existem outros conceitos, papéis 
e práticas envolvidos que não serão trabalhados aqui.
CONSIDERAÇÕES FINAIS
Este capítulo trouxe um panorama geral das teorias de análise, como ocorreu 
sua evolução e por quais motivos. Com o objetivo de situar o leitor em qual ciclo as 
atividades se encaixam, mostrou como é o ciclo completo de desenvolvimento de 
um sistema.
Fizemos um detalhamento da primeira atividade da fase de Iniciação, cujo produto 
final, a Lista de Requisitos, será a base para a construção de todos os artefatos da UML.
Trouxemos, ainda, os aspectos gerais sobre a Análise Orientada a Objetos, os Mé-
todos Ágeis e o framework Scrum, que são os padrões da área de desenvolvimento de 
software na atualidade.
ATIVIDADES
1. A Análise Estruturada foi um avanço no processo de modelagem de um sistema, 
com a introdução de diagramas como Fluxograma, DFD e Modelo de Dados. Esses 
diagramas ajudavam o analista no entendimento e mapeamento da solução dos 
problemas de negócio. Porém, essa estrutura não evitava completamente os 
problemas nos softwares produzidos. Explique o principal problema dessa teoria 
no funcionamento dos softwares.
2. Explique qual é o propósito dos Diagramas de Caso de Uso, de Classes e de 
Sequência da UML.
3. Quais foram as motivações para que os Métodos Ágeis se tornassem padrão da 
indústria de desenvolvimento de software?
REFERÊNCIAS
BECK, K. et al. Manifesto for Agile Software development. 2001. Disponível em: http://www.agilemanifesto.
org/. Acesso em: 17 mar. 2021.
BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML: guia do usuário. 12. ed. Rio de Janeiro: Elsevier, 2012.
COHN, M. Desenvolvimento de Software com Scrum. Porto Alegre: Bookman, 2011.
DE PAULA, G. B. Tudo sobre Metodologia Scrum: o que é e como essa ferramenta pode te ajudar a poupar 
tempo e gerir melhor seus projetos. Treasy, 14 fev. 2016. Disponível em: https://www.treasy.com.br/blog/
scrum/. Acesso em: 17 mar. 2021.
GUEDES, G. T. A. UML: uma abordagem prática. 3. ed. São Paulo: Novatec, 2018.
KRUCHTEN, P. Introdução ao RUP - Rational Unified Process. Rio de Janeiro: Ciência Moderna, 2003.
LAUDON, K. C.; LAUDON, J. P. Gerenciamento de sistemas de informação. 3. ed. Rio de Janeiro: LTC, 2005.
MELO, A. C. Desenvolvendo aplicações com UML 2.2. Rio de Janeiro: Brasport, 2011.
http://www.agilemanifesto.org/
http://www.agilemanifesto.org/
https://www.treasy.com.br/blog/scrum/
https://www.treasy.com.br/blog/scrum/
40 Análise de Sistemas
PRESSMAN, R. S., MAXIM, B. R. Engenharia de Software: uma abordagem profissional. 8. ed. Porto Alegre: 
Bookman, 2016.
PRIKLADNICKI, R.; WILLI, R.; MILANI, F. Métodos ágeis para desenvolvimento de software. Porto Alegre: 
Bookman, 2014.
RUMBAUGH, J. et al. Modelagem e projetos baseados em objetos. São Paulo: Campus, 1994.
SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson, 2011.
STAIR, R. M.; REYNOLDS G. W. Princípios de Sistemas de Informações: uma abordagem gerencial. São Paulo: 
LTC, 2015.
SUTHERLAND, J. SCRUM: a arte de fazer o dobro do trabalho na metade do tempo. Rio de Janeiro: Sextante, 
2019.
VALENTE, M. T. Engenharia de software moderna. Princípios e práticas para desenvolvimento de software 
com produtividade. Leanpub, 2020. [e-book]
VAZQUEZ, C. E. Engenharia de Requisitos: software orientado ao negócio. São Paulo: Brasport, 2016.
YOURDON, E.; CONSTANTINE, L. L. Projeto estruturado de sistemas. São Paulo: Campus, 1992.
Casos de Uso e Histórias de Usuário 41
2
Casos de Uso e Histórias 
de Usuário
A fase de Elaboração, no ciclo de desenvolvimento de um sistema, 
corresponde ao momento de aplicação das teorias de análise de siste-
mas para que o ciclo seja modelado na forma de artefatos (documentos 
e diagramas) que demonstrem qual será a solução informatizada para o 
problema do cliente. Esses artefatos também irão delinear a arquitetura 
do software e como ele deve ser programado na fase de Construção.
Para a confecção desses artefatos, o analista de sistemas responsável 
por essa fase irá se basear em todas as informações coletadas na fase de 
Iniciação, por meio das atividades de Levantamento dos Requisitos.
Vimos que, na fase de Iniciação, o produto final foi uma Lista de 
Requisitos com especificações e regras de negócio. Neste capítulo, 
iremos construir os primeiros artefatos previstos na UML, o Diagrama 
de Caso de Uso, as Prototipações das telas (esboços) e a escrita das 
Histórias de Usuário.
Tais artefatos têm como objetivo dar uma visão funcional do sistema, 
detalhar seus processos e mostrar como será a solução informatizada em 
termos da organização dos seus Requisitos.
2.1 Diagrama de Caso de Uso
Vídeo O Diagrama de Caso de Uso tem como objetivo apresentar uma visão geral das 
funcionalidades do sistema, demostrando as entidades externas que terão acesso 
ao sistema e com quais funcionalidades cada entidade irá interagir (GUEDES, 2018; 
MELO, 2011).
Segundo Booch, Rumbaugh e Jacobson (2012, p. 263), “os diagramas de caso de 
uso são importantes para visualizar, especificar e documentar o comportamento 
de um sistema”.
Sua principal característica é a simplicidade em demonstrar graficamente tais 
funcionalidades, o que permite que seja compartilhado com o cliente para que se 
tenha uma visão do escopo do sistema e permita uma discussão em termos dos 
Requisitos que foram solicitados.
42 Análise de Sistemas
Por isso, esse diagrama pode e deve ser apresentado em reuniões com os clien-
tes, pois permite que sejam identificadas possíveis falhas na elaboração da Lista de 
Requisitos, percebidos Requisitos que não tenham sido identificados e, também, 
para deixar claro aquilo que o sistema não irá abordar (GUEDES, 2018).
2.1.1 Conceitos
Um Diagrama de Caso de Uso é composto de três elementos básicos: ator, caso 
de uso e relacionamento.
2.1.1.1 Ator
Os atores representam entidades externas ao sistema e que interagem com ele 
(DEBONI, 2003). Os atores fornecem e/ou recebem informações do sistema. Eles 
irão interagir com o sistema para satisfazer suas necessidades. Existem três tipos 
de atores:
São os atores mais fáceis de serem identificados. São as pessoas que irão 
manipular as telas, receber relatórios e fazer consultas aos dados.
Pessoas 
Em uma organização (empresa, indústria, loja, escritório, clube, dentre 
outros), um determinado órgão pode ser considerado um ator quando todas 
as pessoas desse órgão interagirem com o sistema. Por exemplo, em uma 
clínica médica, a Secretária, que atende aos pacientes que chegam para rea-
lizar consultas, exames e procedimentos, poderia ser considerada um ator 
perante o sistema de controle de consultas médicas da clínica. Note que, 
nesse exemplo, o paciente, os médicos

Mais conteúdos dessa disciplina