Escolar Documentos
Profissional Documentos
Cultura Documentos
Apresentação
É inquestionável que a parte mais importante para o cliente de um projeto de software é receber o
produto de que ele necessita e que ele tinha em mente quando o projeto começou. Nada importa
mais para ele do que poder usufruir dos serviços providos pelo software da forma como ele
imaginou, mesmo que ele não tivesse muita certeza sobre o que isso significava no início. O que ele
deseja é uma boa experiência de utilização.
Cabe ao analista de requisitos providenciar que não haja diferença entre aquilo que o cliente
imaginava e aquilo que ele está recebendo. Para isso, ambos têm à disposição as diversas
ferramentas da engenharia de software, mais especificamente as ferramentas da engenharia de
requisitos. E uma delas é o diagrama de casos de uso.
Nesta Unidade de Aprendizagem, você vai aprender a identificar a intenção dos atores que fazem
parte de um cenário de negócios e como extrair, a partir daí, os requisitos funcionais. Além disso,
vai aprender a projetar o diagrama de casos, uma importante ferramenta de comunicação entre os
usuários e a equipe de desenvolvimento.
Bons estudos.
A empresa onde você trabalha foi contratada por uma universidade para desenvolver diversos
aplicativos para apoio às suas novas demandas. Você foi alocado para ser o analista de requisitos
do primeiro aplicativo: um software de apoio para os estudantes intercambistas estrangeiros que
chegam para estudar na universidade.
Aponte a câmera para o
código e acesse o link do
conteúdo ou clique no
código para acessar.
O analista de requisitos anterior elaborou o diagrama de casos de uso apresentado a seguir:
Seu gerente lhe pediu para verificar se esse diagrama está correto. Seu desafio é analisá-lo e emitir
um parecer sobre ele. Além disso, se não estiver correto, você deve indicar quais ajustes precisam
ser realizados.
Infográfico
O diagrama de casos de uso é um dos diagramas mais simples da UML e justamente por isso possui
um grande poder de comunicação com o usuário. É fácil compreender os seus elementos e o que
eles significam.
Se for adotado o diagrama de casos de uso combinado com o mapeamento de personas e com o
Canvas da proposta de valor, é possível ter resultados bem mais eficientes para identificar os
requisitos funcionais de um produto de software.
Confira, no Infográfico a seguir, as dicas para desenvolver um bom diagrama de casos de uso
integrando essas ferramentas.
Aponte a câmera para o
código e acesse o link do
conteúdo ou clique no
código para acessar.
Conteúdo do livro
É frustrante para o usuário quando ele recebe um produto que não satisfaz as suas necessidades.
Reconhecer as necessidades dos usuários não é uma tarefa trivial. Muitas vezes são discutidas
funcionalidades que o sistema deve conter, mas não se discute por que elas devem estar lá, ou seja,
quais dores do usuário serão tratadas com o software que está sendo desenvolvido. Muitas vezes se
explora o espaço da solução e se deixa de lado o espaço do problema.
Abordagens centradas no usuário têm sido a forma que as empresas vêm utilizando para aproximar
o mundo da tecnologia do mundo do usuário. Não adianta utilizar a tecnologia mais moderna se o
que está implementado não atende aos anseios de quem vai utilizar. O diagrama de casos de uso é
uma das formas de buscar o entendimento comum entre o mundo do cliente e o mundo da
tecnologia, apoiando a elicitação dos requisitos funcionais do projeto.
No capítulo Aplicação do diagrama de casos de uso, da obra Engenharia de requisitos, você vai
aprender a identificar as intenções dos atores que interagem com o sistema, utilizando para isso o
Canvas de proposta de valor. Também vai discutir os requisitos funcionais e aprender a projetar um
diagrama de casos de uso.
Boa leitura.
ENGENHARIA
DE REQUISITOS
Sheila Reinehr
Aplicação do diagrama
de casos de uso
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
Introdução
Quando nos aproximamos de uma roda de desenvolvedores na hora do
café, é comum que as conversas girem em torno da última tecnologia
lançada, das tendências em frameworks e das ferramentas de desenvol-
vimento, se esta ou aquela linguagem de programação vai continuar
fazendo sucesso, se é melhor usar este ou aquele padrão e assim por
diante. Tecnologia é o que motiva o desenvolvedor!
No entanto, embora a tecnologia seja um aspecto muito relevante, se
a equipe de desenvolvimento não conseguir capturar adequadamente
as necessidades e os desejos do usuário, não importa o quão proficiente
e experiente ela seja com a tecnologia, o sucesso do projeto estará com-
prometido. Compreender o que deve ser entregue sempre foi, e continua
sendo, um grande desafio. Identificar requisitos de software não é uma
atividade trivial. Elicitar requisitos exige um conjunto de habilidades téc-
nicas e interpessoais que transcendem as habilidades com a tecnologia.
Diversos são os motivos pelos quais essa tarefa é tão desafiadora. Um
deles é que não existe uma receita mágica que funcione em todas as
situações. A quantidade de variáveis envolvidas é muito grande, como, por
exemplo: tipo do software que está sendo desenvolvido, complexidade
do software, experiência da equipe de desenvolvimento com a área de
negócio, grau de inovação do produto ou serviço, perenidade da solução
e habilidades interpessoais (os chamados soft skills) da equipe.
2 Aplicação do diagrama de casos de uso
Essa dificuldade pode ser ainda maior quando o usuário já teve uma
experiência ruim com um produto anterior ou, pior ainda, com o produto
que está sendo desenvolvido ou modificado. Quando as suas expectativas
já foram frustradas anteriormente, pode ser um desafio adicional para a
equipe reverter a situação e curar as feridas.
Abordagens centradas no usuário têm sido a forma pela qual as or-
ganizações de tecnologia da informação (TI) têm buscado resolver essa
questão. Entende-se por abordagem centrada no usuário aquela que
coloca o usuário no centro do processo de desenvolvimento e foca na
busca de valor agregado para ele. Este é um dos princípios das metodo-
logias ágeis: entrega rápida de valor ao cliente.
Uma das primeiras abordagens desse tipo na área de TI, foi a utilização
dos diagramas de casos de uso propostos por Ivar Jacobson. Por meio
de elementos gráficos simples, o diagrama apoia a comunicação entre
a equipe de desenvolvimento e o usuário na descoberta dos requisitos
funcionais.
Mais recentemente, ferramentas desenvolvidas pela área de design
têm sido também incorporadas como forma de apoiar o projeto de pro-
dutos e serviços que têm o usuário no centro do processo. Entre elas está
o mapeamento da jornada do usuário, que busca identificar, não apenas
as atividades que esse usuário realiza no processo, mas a forma como ele
pensa e se sente ao realizar essas atividades, facilitando a identificação
de elementos imprescindíveis no projeto de uma nova solução.
Neste capítulo você vai trabalhar com a aplicação do diagrama de
casos de uso. Para isso vai ver como identificar as intenções dos atores ao
utilizar o produto de software que está sendo desenvolvido, identificar
os requisitos funcionais e por fim, projetar o diagrama de casos de uso.
Também vai rever os conceitos envolvidos no diagrama de casos de uso
e utilizar o mapeamento de personas e o canvas da proposta de valor
para apoiar a sua construção.
Usar a nova solução proposta deve trazer mais satisfação ao usuário do que
a solução que ele tem atualmente. Isso vale para qualquer situação, seja quando
estamos desenvolvendo um produto para substituição de um produto existente,
seja para uma solução inovadora e que irá prover um serviço ainda inexistente.
Naturalmente, nenhuma equipe de desenvolvimento tem o objetivo de
criar uma solução que cause desapontamento e frustração ao cliente. Quando
isso ocorre, não foi causado por uma ação deliberada ou premeditada pela
equipe. Ninguém deseja entregar uma solução que não atenda ao cliente. Isso
acontece porque um ou mais processos da equipe de desenvolvimento estão
desalinhados. Frequentemente, esse processo é o de elicitação de requisitos.
Kalbach (2016) ressalta que os desalinhamentos, em um sentido mais amplo,
impactam toda a organização: as equipes não têm um propósito comum; as
soluções são construídas desconectadas da realidade; o foco maior está na
tecnologia em vez de na experiência; e as estratégias são desenvolvidas com
uma visão muito curta. Em contraste, organizações alinhadas têm um modelo
mental compartilhado que aponta para onde querem chegar e são obcecadas
pela entrega de experiências extraordinárias para os seus clientes.
Colocar o usuário no centro do processo é uma das formas de evitar o desgaste
de entregas insatisfatórias. Compreender as intenções das classes de usuários e
mapeá-las como intenções dos atores que irão interagir com o software é uma
das formas de reduzir a distância entre as expectativas e as entregas.
Fique atento ao que Jim Kalbach (2016) sugere sobre os pontos imperativos para que
o alinhamento possa ocorrer:
foque as suas ofertas de fora para dentro em vez de dentro para fora — todos
devem ter empatia com aqueles e quem servem; os indivíduos da organização
devem se importar profundamente com os clientes e suas experiências, devem
internalizar os desejos e as motivações das pessoas e devem ser defensores dos
interesses delas em todas as suas atividades.
alinhe todas as funções internas em todos os níveis — os processos internos
da organização estão tão relacionados com a experiência do usuário quanto os
pontos visíveis da interação. Organizações alinhadas não focam em partes da
experiência, mas sim na experiência como um todo.
crie visualizações como visão compartilhada — artefatos visuais ajudam a
criar uma visão compartilhada. Eles não garantem o alinhamento, mas provocam
discussões que promovem o alinhamento. Representações visuais são o must have
(precisa ter) do alinhamento estratégico.
Aplicação do diagrama de casos de uso 5
Conforto para
Infra de TI assistir séries
robusta para e filmes
não travar Custo mais Segurança de
baixo do que não precisar
ir ao cinema sair de casa
Serviços de Criadores de ganhos Longas esperas
streaming on Pacotes com Maior Ganhos em aeroporto
demand preços integração
acessíveis da família
Filmes com
Tarefas
Produtos e propaganda do cliente
serviços Assistir em Filmes sem na TV a cabo Lazer em casa
propaganda com a família
qualquer lugar
no meio Catálogo Ter horário
e hora
desatualizado destinado na
Catálogo Aliviadores de dor na TV a cabo Dores TV a cabo
sempre Pacotes com Caro ir no
atualizado preços cinema com a
acessíveis família toda
Para elaborar o canvas de modelo de negócios, acesse o link a seguir e utilize a cartilha
elaborada pelo SEBRAE especialmente para explicar o uso dessa ferramenta.
https://qrgo.page.link/pWvX1
entrevista;
reunião tradicional;
reunião no formato de JAD ( joint application design);
brainstorming;
questionário;
observação;
análise de sistemas anteriores;
análise de leis e regulamentações.
Nível de abstração
Uma das primeiras dúvidas que surgem quando se começa a trabalhar com
casos de uso é sobre o nível de abstração de um caso de uso. Até que nível
se deve chegar no detalhamento de um caso de uso? E a resposta é: depende!
À medida que você for usando essa ferramenta, vai sentir se detalhou de
menos ou demais, e vai promovendo os ajustes para os próximos projetos ou
as próximas sprints.
Para começar, você pode se basear na dica de um dos precursores dos
métodos ágeis, Alistair Cockburn (2005). Ele considera três níveis de abstração
para os objetivos de uma tarefa, utilizando uma metáfora da altitude, conforme
ilustrado na Figura 3.
Um objetivo está no nível do mar quando se refere a uma tarefa que você vai
realizar sem interrupção, ou seja, aquela que você “realiza em uma sentada”.
Por exemplo, comprar um produto pela internet. Patton (2014) exemplifica
dizendo que é o equivalente a uma tarefa do tipo tomar banho: você não para
no meio do banho para tomar um cafezinho e voltar depois. Então essa é
uma tarefa que está no nível do mar, ou seja, uma tarefa no nível do usuário.
Cockburn (2005) diz que esse é um objetivo azul (blue goal), chama essas
tarefas de tarefas em nível funcional e as representa como uma onda do mar.
Todo o restante ou está acima ou abaixo do nível do mar.
12 Aplicação do diagrama de casos de uso
Ele ainda divide esse nível em dois tipos: super sumário (nível bem abs-
trato) e sumário (nível abstrato). O primeiro é representado por uma nuvem e
considerado como super branco (very white goal). O segundo é representado
por uma pipa e considerado como branco (white goal).
Por fim, Cockburn (2005) considera que os objetivos que estão abaixo no
nível do mar são as subfunções (indigo goals). Geralmente não precisamos
listá-los, a menos que seja absolutamente necessário em termos de clareza e
compreensão do escopo. A esses objetivos ele atribui a cor índigo e os compara
com peixes. Ele brinca que existem casos de uso que são tão detalhados que
estão no fundo do mar, como mariscos ou ostras, e são da cor preta (black
goals). Estes não deveriam nem existir.
Aplicação do diagrama de casos de uso 13
Figura 5. Diagrama de casos de uso do aplicativo Livros On-line com Cliente VIP.
Como se pode observar pela Figura 5, o Cliente VIP pode fazer tudo o que
o Cliente faz. Ele herda todos os relacionamentos do Cliente normal e pode
realizar um caso de uso adicional, que só ele pode realizar, que é Receber
Benefícios. Essa é uma das formas de se representar este tipo de situação.
Esta situação aqui foi implementada no diagrama criando um novo tipo de
ator, o Cliente VIP e um novo caso de uso, Receber Benefícios. Outra forma
de fazer esta representação seria não inserir o ator adicional Cliente VIP, mas
adicionar o caso de uso Receber Benefícios como um extend de outro caso de
uso, em que o benefício fosse ser associado. Por exemplo, se ele tem direito a
baixar alguns livros gratuitamente, esse caso de uso poderia estar relacionado
com o caso de uso Pagar Livro.
Aplicação do diagrama de casos de uso 17
Leitura recomendada
SEBRAE. Cartilha O quadro de modelo de negócios: um caminho para criar, recriar e inovar
em modelos de negócios. Brasília, DF: SEBRAE, 2013. Disponível em: www.sebrae.com.br/
Sebrae/Portal%20Sebrae/UFs/ES/Anexos/ES_QUADROMODELODENEGOCIOS_16_PDF.
pdf. Acesso em: 02 mar. 2020.
Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun-
cionamento foi comprovado no momento da publicação do material. No entanto, a
rede é extremamente dinâmica; suas páginas estão constantemente mudando de
local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade
sobre qualidade, precisão ou integralidade das informações referidas em tais links.
Dica do professor
O diagrama de casos de uso apresenta as funcionalidades que serão desenvolvidas para atender às
necessidades dos stakeholders. Ele é um diagrama de comportamento da UML que se baseia em
três elementos principais: ator, caso de uso e relacionamentos.
Embora seus elementos sejam simples, eles são ricos em semântica, ou seja, em significado. Por isso
é importante prestar atenção aos detalhes de sua construção, para que você consiga efetivamente
se comunicar de forma precisa.
Nesta Dica do Professor, você vai ver o exemplo de um aplicativo para uma seguradora e como os
elementos do diagrama de caso de uso foram utilizados.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Exercícios
1) O diagrama de casos de uso representa funcionalidades do sistema com foco nas interações dos
atores com os casos de uso. Considere o diagrama a seguir e analise as alternativas.
I – O ator A herda todos os casos de uso do ator B por meio do relacionamento de generalização,
portanto ele pode executar todos os casos de uso do diagrama.
II – Toda vez que o caso de uso 5 for executado, o caso de uso 1 também será executado.
III – O ator A pode executar o caso de uso 4, que por sua vez chama o caso de uso 1 se uma
determinada condição for satisfeita.
Com base no diagrama de casos de uso e nas afirmativas acima, é correto afirmar que:
II – Quando um passageiro comprar uma passagem, ele pode ou não reservar um assento.
III – Quando um passageiro reservar um assento, ele deverá pagar uma tarifa adicional se
não for passageiro VIP.
3) Em um diagrama de casos de uso, os relacionamentos são representados por linhas que têm
formatos e significados específicos, servindo de base para a interpretação semântica da relação.
O cliente pediu que o aluno possa entrar com um pedido de revisão de notas para o professor, via
sistema, sempre que ele não concordar com a nota atribuída a uma avaliação.
Analise o diagrama a seguir e selecione a melhor forma de modelar essa nova situação:
A) Inserir um novo caso de uso Pedir revisão de notas e ligá-lo ao caso de uso Consultar notas
usando um relacionamento de <<include>>.
B) Inserir um novo caso de uso Pedir revisão de notas e ligá-lo ao caso de uso Consultar notas
por meio de um relacionamento de <<extend>>.
C) Inserir um relacionamento de <<extend>> entre o caso de uso Consultar notas e caso de uso
Revisar notas.
D) Inserir um novo caso de uso Pedir revisão de notas e ligá-lo ao ator Aluno usando uma
associação.
E) Inserir um caso de uso Pedir revisão de notas e ligá-lo ao ator Aluno e ao ator Professor
usando associação.
4) Diversas ferramentas podem ser utilizadas para apoiar a modelagem do diagrama de casos
de uso. Sobre essas ferramentas, analise as afirmações a seguir:
I. Para mapear as intenções dos atores de um sistema, pode-se utilizar o Canvas da proposta
de valor.
B) I e II estão corretas.
D) I e IV estão corretas.
E) I, II e IV estão corretas.
O diagrama de casos de uso é uma ferramenta de fácil utilização para a comunicação entre a equipe
de desenvolvimento e os clientes/usuários, na busca pela definição adequada dos requisitos. Ele é
um dos diagramas de comportamento da UML e foi concebido utilizando elementos gráficos
simples e de fácil compreensão e aplicação. Para apoiar a identificação dos atores envolvidos e suas
dores, o Canvas da proposta de valor é outra ferramenta que pode ajudar a identificar o que agrega
efetivamente valor sob a ótica do cliente.
Judy é uma analista de requisitos que irá atuar no desenvolvimento de um sistema de venda e
entrega de material escolar. A missão dela é reverter a imagem ruim que o cliente tem da empresa.
Para isso, ela precisa começar entendendo as intenções dos atores para, então, fazer o diagrama de
casos de uso.
Acompanhe, Na Prática, os desafios de Judy e como ela organizou o seu trabalho desde o início
para concluí-lo com sucesso.
Personas
Este vídeo apresenta de forma prática e rápida o mapeamento de personas, o primeiro passo para
identificar as intenções dos usuários. A ideia é criar empatia com os diversos tipos de perfis que
utilizarão o sistema. Aproveite as ideias do vídeo e tente imaginar as personas envolvidas em um
aplicativo como o Uber ou o 99Taxi.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.