Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Engenharia de
Requisitos de
Software
06/11/2024, 11:25 AM
Página 1 de 25
©2018 Copyright ©Católica EAD. Ensino a distância (EAD) com a qualidade da Universidade Católica de
Brasília
Apresentação 
Fonte: https://goo.gl/HbAS5T
Na aula anterior, você estudou o que representa um requisito de
software, os principais problemas encontrados para identificá-los e os
tipos de requisitos existentes.
Pôde constatar que a obtenção dos requisitos para a construção de um
sistema informatizado é muito importante, posto que uma coleta
malfeita e sem os detalhes necessários pode induzir a produção de um
sistema que não atenda plenamente às necessidades do cliente.
Nesta aula, você conhecerá as etapas que compõem a Engenharia de
Requisitos, como podem ser levantados os requisitos essenciais
relativos ao software, e as técnicas disponíveis para extrair os
conhecimentos necessários para o desenvolvimento do software.
Mãos à obra!
06/11/2024, 11:25 AM
Página 2 de 25
Vídeo 
Unidade 01 - Aula 02 - Engenharia de Requisitos (MSc. Ed…
06/11/2024, 11:25 AM
Página 3 de 25
©2018 Copyright ©Católica EAD. Ensino a distância (EAD) com a qualidade da Universidade Católica de
Brasília
Conteúdo 
Introdução à Engenharia de Software
Segundo  Pressman   (2006), o processo de engenharia de requisitos visa
garantir que o sistema gerado por esses requisitos atenda adequadamente às
necessidades e satisfaça as expectativas dos clientes. O autor afirma ainda
que:
a engenharia de requisitos fornece um mecanismo adequado para
entender o que o cliente deseja, analisar as necessidades, avaliar a
exequibilidade, negociar uma solução razoável, especificar a solução
de maneira não ambígua, validar a especificação e administrar os
requisitos à medida que eles são transformados num sistema em
operação. (PRESSMAN, 2006, p.250)
Assim, com o processo de engenharia de requisitos, espera-se que o sistema
atenda ao propósito estabelecido e atinja o objetivo esperado pelo cliente.
Perceba que este é um processo complexo que exige muita habilidade do
engenheiro de software, conhecido no mercado como analista de requisitos.
Ainda assim, esta é uma atividade que independe de paradigma. Seja qual for o
paradigma de engenharia de software adotado, a análise de requisitos deverá
ser levada em consideração e, quanto mais sólida e bem feita for essa
atividade, maiores as chances de se chegar a um projeto que tenha qualidade.
Continuando com Pressman (2006), o processo de engenharia de requisitos
pode ser descrito em cinco passos distintos, a saber: elicitação de requisitos,
análise e negociação de requisitos, especificação de requisitos, validação de
requisitos e gestão de requisitos. A seguir, você estudará cada um deles.
06/11/2024, 11:25 AM
Página 4 de 25
Mobile User
Elicitação de Requisitos
Esta etapa consiste em retirar a correta informação dos clientes. É necessário
perguntar-lhes qual será o propósito do sistema, quais as informações a serem
geradas pelo sistema e que serão necessárias para o negócio, e como será a
utilização do sistema. Apesar de parecer fácil, na prática, pode não ser assim
tão simples. Pressman (2006) aponta alguns motivos que podem gerar
dificuldades no processo de elucidação dos requisitos.
Problemas de escopo:  os limites do sistema são mal definidos. Muitas
vezes, não se sabe ao certo quais os assuntos abrangidos e até onde o
sistema deve ir. Há clientes/usuários que especificam detalhes técnicos
desnecessários, que podem confundir, no lugar de esclarecer.
Problemas de entendimento:  os clientes/usuários, muitas vezes, não
entendem completamente o domínio do problema, não sabem direito o
que é ou não necessário, têm dificuldade de comunicar as necessidades
ao analista de requisitos, omitem informações que acreditam ser
“óbvias”, especificam mal os requisitos, sendo conflitantes com os
requisitos de outros usuários, ambíguos ou mesmo impossíveis de se
testar.
Problemas de volatilidade:  um requisito pode ser visto de maneiras
diferentes por pessoas diferentes. Isso pode gerar mudanças nos
requisitos, à medida que o projeto se encontra em andamento. Da mesma
forma, os processos de negócios também evoluem e mudam com o
tempo e isso pode representar mudanças nos requisitos do sistema.
O levantamento ou elicitação de requisitos de um sistema consiste de uma
etapa muito importante no desenvolvimento de projetos. Um bom
levantamento de requisitos poderá poupar tempo e dinheiro no decorrer do
projeto. Entender aquilo que o cliente deseja (ou o que o cliente acredita que
precisa) e compreender as regras do negócio, também chamadas de
processos do negócio, consiste no cerne que move essa questão. Aliado ao
levantamento de requisitos existe o mapeamento dos processos, vital para a
melhoria dos resultados obtidos pelo levantamento de requisitos.
Levantamento de requisitos é o nome comumente usado para a atividade de
descoberta dos requisitos.
06/11/2024, 11:25 AM
Página 5 de 25
Mobile User
Pressman (2006) utiliza a expressão “elicitação de requisitos”, neologismo do
inglês  requirements elicitation, também muito vista nas várias edições do
livro Requirements Engineering de Kotonya e Ian Sommerville  (1998). Nesta
disciplina, será adotada a expressão  levantamento de requisitos, a qual é
bastante difundida na indústria de desenvolvimento de software.
Saber exatamente o que o cliente quer pode parecer uma atividade simples,
mas, infelizmente, não é. Pelo contrário, essa tarefa é bastante complexa e
difícil de ser executada. Isso ocorre por vários motivos. Pressman (2006) cita
alguns deles, a saber: o volume de informações a ser considerado pode ser
bastante extenso, pode ocorrer a má informação por parte dos
clientes/usuários, pode ocorrer a má interpretação por parte dos analistas de
requisitos, as compreensões das partes envolvidas podem estar sujeitas a
ambiguidades, entre outros.
O cliente/usuário, na grande maioria das vezes, começa a solicitação com a
expressão: “Eu só queria um sisteminha... coisa simples... basta um
cadastro...”. No entanto, quando paramos para analisar a demanda do usuário,
descobrimos que não é bem assim. Naturalmente, surgem novas demandas,
necessidades antes ignoradas são incorporadas, informações tornam-se
essenciais e passam a ser requeridas e a tendência normal do sistema é
crescer. Não é incomum você encontrar no mercado um sistema que passou
pela fase de modelagem de negócios com um determinado tamanho e dobrou,
ou até triplicou esse tamanho, quando começou a etapa de levantamento de
requisitos e/ou de construção.
Além disso, o cliente/usuário, muitas vezes, não passa a informação de
maneira correta, ou passa de maneira incompleta. Isso, na grande maioria das
vezes, não é por mal ou de propósito, simplesmente acontece, seja por não ter
uma visão do todo, ou por ter uma compreensão equivocada do domínio do
problema, ou ainda por não saber passar a informação adiante. É comum, por
exemplo, o cliente dizer uma coisa e seu interlocutor entender outra.
Porém, o contrário também pode ser verdadeiro. Muitas vezes, o usuário diz o
correto, de maneira bastante clara, mas falta o entendimento completo do
domínio do problema por parte do analista de requisitos; assim, ele entende
algo de maneira equivocada daquela que foi expressa pelo cliente/usuário.
06/11/2024, 11:25 AM
Página 6 de 25
Mobile User
As ambiguidades acontecem porque, geralmente, consultam-se várias pessoas
com visões diferentes sobre o mesmo problema. São diferentes
conhecimentos, entendimentos diversos sobre o domínio do problema,
divergências sobre o assunto a ser tratado, pretensões antagônicas dentro da
corporação e vários outros motivos.
Sommerville e Kotonya (1998) mostram quatro dimensões do processo de
levantamento de requisitos: domínio da aplicação, problema a ser resolvido,
necessidades e restrições dos stakeholders, e contexto do negócio.
Figura 1 – As Quatro Dimensões do Levantamento de Requisitos.
Fonte: Adaptado de Sommerville e Kotonya (1998, p.55)
A figura 1 representa as dimensõesdo processo de levantamento de
requisitos. Leia com atenção as explicações sobre cada uma dessas
dimensões:
06/11/2024, 11:25 AM
Página 7 de 25
Mobile User
Entendimento do domínio da aplicação –  Consiste em ter um
conhecimento geral da área onde o sistema será aplicado. Por exemplo,
para um sistema acadêmico universitário, você terá que entender como é
o funcionamento de uma universidade.
Problema a ser resolvido –  Os detalhes específicos dos problemas do
contexto em que o sistema será instalado devem ser entendidos. Durante
o entendimento do problema, você se especializa e amplia o
conhecimento do domínio geral da aplicação. Em um sistema acadêmico,
você deve saber como é o processo de matrícula, como será a escolha
das disciplinas pelos alunos, entre muitos outros conhecimentos.
Entendimento do negócio –  Os sistemas, geralmente, existem para
apoiar algum negócio. Você deverá saber como o sistema afetará o
negócio da organização, como funcionará a interação com as diversas
áreas do negócio, e como ele ajudará a atingir os objetivos do negócio.
Necessidades e restrições dos stakeholders – Stakholders são aquelas
pessoas que são afetadas, de alguma maneira, pelo sistema. Podem ser
usuários finais, gerentes de departamento da empresa na qual o sistema
será instalado, gerentes de projeto, projetistas, desenvolvedores, clientes,
patrocinador do projeto etc. Você deve entender, em detalhes, suas
necessidades, como o sistema apoia seu negócio. Você deve entender os
processos de trabalho que o sistema automatizará e os papéis existentes
no sistema nesses processos de trabalho.
Continuando com Sommerville e Kotonya (1998), vemos que um bom processo
de levantamento de requisitos deve incluir quatro atividades críticas, conforme
ilustrado na figura 2.
a) Definição de Objetivos
Neste estágio, devem ser estabelecidos os objetivos globais da organização,
metas genéricas do negócio, descrição do problema a ser resolvido, por que o
sistema pode ser necessário, restrições do sistema como orçamento,
cronograma e restrições de interoperabilidade.
b) Aquisição de Conhecimento Organizacional
Este é um estágio muito importante, em que os analistas de requisitos
recolhem e entendem informações básicas essenciais sobre o sistema. Essas
informações podem ser sobre onde o sistema será instalado, sobre o domínio
06/11/2024, 11:25 AM
Página 8 de 25
Mobile User
da aplicação, ou mesmo sobre algum sistema que porventura exista, e que
será substituído pelo que está sendo especificado.
c) Organização do Conhecimento
O conhecimento adquirido nas etapas anteriores deve ser reunido e
organizado. Deve haver a identificação dos envolvidos, seus papéis na
organização, priorização de objetivos e o descarte do conhecimento que não
contribuirá diretamente para os requisitos do sistema.
d) Coleta dos requisitos dos stakeholders
Este estágio é o que muitas pessoas acreditam ser o levantamento de
requisitos propriamente dito. Ele envolve a consulta aos envolvidos, para
descobrir seus requisitos, a derivação dos requisitos oriunda do domínio da
aplicação e a organização que está adquirindo o sistema.
Observe a figura 2, que apresenta um processo genérico de levantamento de
requisitos.
Figura 2 – Processo Genérico de Levantamento de Requisitos.
Fonte: Sommerville e Kotonya (1998, p.59)
Na figura 2, você pode observar que existem quatro caixas, com algumas
atividades que devem ser realizadas, comentadas a seguir:
Estabelecimento dos objetivos do levantamento de requisitos, em que
existe a necessidade de entendimento dos objetivos, dos problemas que
devem ser solucionados e das restrições do sistema.
Compreender a estrutura, em que é necessário verificar a estrutura da
organização, dos domínios das aplicações e quais são os sistemas
06/11/2024, 11:25 AM
Página 9 de 25
Mobile User
existentes nela.
Organização do conhecimento, identificando os stakeholders, priorizando
as metas e filtrando os domínios existentes em termos de
conhecimentos.
Coleta de requisitos, na qual são ouvidos os  stakeholders  identificados
anteriormente, entendendo o domínio de todos os requisitos coletados e
organizando-os.
Muitas vezes, um analista de requisitos se depara com uma situação parecida
com a apresentada na charge. Para coletar os requisitos do software, muitas
vezes, o próprio cliente não sabe exatamente o que quer. Em situações como
essa, o analista de requisitos deve utilizar todos os seus conhecimentos e
técnicas para entender exatamente o que precisa ser feito para atender bem o
cliente.
Técnicas de Levantamento de Requisitos
Para Refletir 
Faça uma reflexão sobre a charge apresentada na figura 3:
Figura 3 – Entendimento dos Requisitos.
Fonte: https://goo.gl/LvNhhA 
06/11/2024, 11:25 AM
Página 10 de 25
Mobile User
Podemos encontrar várias técnicas de levantamento de requisitos. A literatura
está cheia delas. Pressman (2006) cita algumas, que serão abordadas nos
tópicos a seguir.
Entrevista
Esta é uma das técnicas mais utilizadas. Pressman (2006) faz analogia com o
primeiro encontro de adolescentes, em que ninguém sabe o que dizer, o que
fazer, o que perguntar, com medo de ser mal compreendido.
Gause e Weinberg   (apud PRESSMAN, 2006) aconselham a formulação de
questões livres de contexto. O objetivo dos primeiros encontros é possuir um
entendimento básico do problema, um conhecimento genérico sobre a
organização, sobre o domínio do problema e sobre os stakeholders envolvidos.
As primeiras perguntas devem ter foco no cliente, nos objetivos globais da
organização, e nos benefícios que o sistema trará para a organização. Seguem
alguns exemplos de perguntas propostas por Pressman:
Quem é o patrocinador do projeto?
Quais serão os usuários do sistema? [não literal]
Quais serão os benefícios de ordem econômica, fornecidos pelo sistema
para a organização?
Há outra fonte para a solução que você necessita?
Existe um sistema, mesmo que não informatizado, que atende ao
processo de negócio?
Caso o sistema seja implantado, quais serão os benefícios para a
organização?
Haverá redução nos custos dos processos?
Questões desse tipo são capazes de identificar os envolvidos no projeto e,
consequentemente, os benefícios que serão alcançados com a construção do
sistema em questão.
Pressman (2006) também propõe outras questões importantes, que permitem
ao analista de requisitos compreender melhor o domínio do problema e
ambientar-se com os assuntos da organização, obrigando o cliente a verbalizar
seus pensamentos e, principalmente, dizer como ele imagina o funcionamento
da solução:
Como você caracterizaria boas saídas as quais seriam geradas por uma
06/11/2024, 11:25 AM
Página 11 de 25
Mobile User
solução bem-sucedida?
Quais os problemas que essa solução enfrentaria?
Você pode mostrar (ou descrever) o ambiente no qual a solução será
utilizada?
Tópicos especiais de desempenho ou restrições afetarão o modo pelo
qual a solução é abordada?
Gause e Weinberg (apud PRESSMAN, 2006) propõem a elaboração de uma
lista abreviada de meta-questões, capazes de conceder efetividade à reunião:
Você realmente está apto a responder essas questões?
Em relação a este assunto, você oficialmente responde pela empresa?
As questões levantadas são relevantes para o seu problema?
Você está respondendo a muitas questões?
Existe outra pessoa que pode fornecer outra informação?
Há alguma outra questão que deixei de perguntar e que gostaria de
comentar?
A técnica de entrevista ajuda a estabelecer um bom relacionamento entre a
equipe de projeto e os clientes/usuários. Ela possibilita a definição de um
escopo, completa as informações para solicitação do produto, mas, segundo
Pressman, deve ser usada apenas no início, pois depois passa a não ter a
mesma eficácia. Portanto, essa solução sozinha passa a não ser mais
suficiente.
Segundo Sommerville e Kotonya (1998), há dois tipos de entrevista:
1. Entrevista fechada, em que os clientes/usuários respondem um conjunto
fechado de perguntas.
2. Entrevista aberta, em que não existe uma agenda pré-definida. Começacom um pequeno número de questões pré-definidas, mas depois as
perguntas e respostas são abertas e há uma discussão entre analistas e
clientes, em que os usuários dizem o que eles querem do sistema.
Existem mais dois tópicos importantes que devem ser levados em
consideração ao se fazer uma entrevista:
O analista de requisitos deve possuir mente aberta e estar disposto a
ouvir o cliente/usuário, pois, caso não haja disposição por parte do
analista, fica difícil encontrar um ponto a ser explorado, deixando a
06/11/2024, 11:25 AM
Página 12 de 25
Mobile User
entrevista muito vaga e pouco aprofundada.
Os clientes/usuários devem ser o ponto de partida para a discussão.
Pode ser uma pergunta, uma proposta de requisitos, ou um sistema já
existente. Simplesmente dizer “me diga o que você quer” não trará
informações úteis. Em geral, as pessoas acham mais fácil falar quando
há um contexto bem definido do que falar em termos gerais, sem um
direcionamento.
FAST
Em muitos casos, o relacionamento entre as equipes começa a ficar
desgastado. Muitas vezes, há uma guerra não declarada entre a equipe de
projeto e os clientes/usuários. Um festival de documentos para serem
assinados, gerentes de projeto tentando fazer homologações “à força”, clientes
afirmando que pediram determinada funcionalidade e não foram atendidos,
usuários reclamando de um determinado comportamento que não funciona da
maneira esperada por ele, enfim, vários mal-entendidos entre as equipes e
também problemas de relacionamento.
A solução proposta por Pressman (2006) para o problema relatado acima é o
FAST, do Inglês: Facilitated Application Specification Techniques. Essa técnica
prega a união entre as equipes, tanto a de projeto quanto a de
clientes/usuários, com o objetivo de identificar os problemas e encontrar
soluções conjuntas. Também prega a negociação de diferentes abordagens,
para que se estabeleça um consenso e a especificação de um conjunto
preliminar de requisitos, para que assim o projeto possa andar de maneira
eficiente.
Existem duas implementações bastante difundidas do FAST, o projeto conjunto
de aplicações – JAD,  Joint Application Design  – da IBM, e o METHOD,
da Performance Resources.
Leia com atenção as diretrizes básicas para uma reunião FAST:
Reunião em lugar neutro, com analistas e clientes.
Estabelecimento de regras para preparação e participação.
A proposição de uma agenda que seja formal, capaz de cobrir os pontos
importantes e, ao mesmo tempo, informais, para encorajar o fluxo de
ideias.
06/11/2024, 11:25 AM
Página 13 de 25
Mobile User
A presença de um facilitador, podendo ser um cliente, desenvolvedor ou
uma pessoa de fora, que controla a reunião.
A utilização de um mecanismo de definição, que podem ser folhas de
rascunho, flipchart, papel autoadesivo, quadro de avisos eletrônico, salas
de conversa ou mesmo um fórum virtual.
Estabelecer como meta a identificação do problema, propor soluções,
negociar abordagens diferentes, especificar um conjunto preliminar de
requisitos da solução.
Nos dias anteriores à reunião, algumas listas devem ser solicitadas aos
participantes, tais como:
Lista de objetos que cercam o ambiente do sistema, produzidos pelo
sistema, usados pelo sistema, que permitem desempenhar suas funções.
Listas de serviços, processos ou funções, que manipulam ou interagem
com os objetos.
Lista de restrições, como, por exemplo, custo, tamanho, regras de
negócio e critérios de desempenho como velocidade e precisão.
Cabe destacar que as listas não podem ser exaustivas, mas devem refletir a
percepção de cada um sobre o contexto do sistema.
QFD (Quality Function Deployment)
Desdobramento da função de qualidade, ou  Quality Function Deployment  –
QFD (Pressman, 2006), é uma técnica japonesa de gestão da qualidade, que
tem por finalidade capturar as necessidades do cliente, para que sejam
traduzidas em requisitos técnicos do software. A técnica se concentra em
maximizar a satisfação do cliente a partir do processo de engenharia de
software. Para isso, a QFD dá ênfase ao entendimento daquilo que representa
valor para o cliente; posteriormente, esses valores são desdobrados por meio
do processo de engenharia. A técnica classifica os requisitos em três tipos:
a. Normais: são aqueles que deixam os clientes satisfeitos quando as
metas são atingidas devido à utilização desses requisitos.
b. Esperados: são os requisitos implícitos. Esses requisitos são tão
fundamentais, que os clientes nem se referem a eles de maneira explícita,
mas geram uma grande insatisfação no cliente, caso ocorra a falta de
algum deles. Como exemplo, podemos citar a facilidade na operação e na
06/11/2024, 11:25 AM
Página 14 de 25
Mobile User
instalação, confiabilidade do sistema, atender às necessidades de
maneira correta etc.
c. Excitantes: são os requisitos que superam as expectativas, que
surpreendem positivamente os clientes. Assim, costumam gerar um
resultado bastante satisfatório quando estão presentes. Exemplo de
requisito excitante pode ser um relatório sabidamente útil e prático, mas
que não havia sido solicitado.
A técnica consiste em realizar reuniões com os clientes, para que haja o
desdobramento de funções cujo enfoque é o de determinar o valor de cada
função a ser utilizada no sistema. É necessário também executar o
desdobramento da informação, cuja essência é identificar corretamente
objetos de dados e eventos que farão parte do sistema. Para finalizar,
realizamos o desdobramento de tarefas, para que o comportamento do
sistema seja examinado dentro do contexto do seu ambiente. A análise de
valor determina a prioridade de forma relativa dos requisitos determinados
durante cada um dos três desdobramentos.
A técnica QFD utiliza entrevistas com os usuários, observação, levantamento e
exames de dados históricos, muitas vezes, relatórios de problemas e dados
sem nenhum tratamento, para o levantamento de requisitos. Esses dados são
colocados em uma espécie de tabela – chamada de tabela da voz do cliente –
a qual é revisada com o cliente. Assim, é utilizado um grande número de
diagramas, matrizes e métodos de avaliação para levantar os requisitos
esperados e então tentar derivar os requisitos importantes.
Cenários
Os usuários de sistema gostam de relatar sua rotina funcional. Gostam mais
de contar sobre seu dia a dia no trabalho do que de pensar e/ou tentar
imaginar como seria sua vida, caso já estivessem usufruindo do sistema.
Assim, torna-se bem útil a utilização dos cenários, para que haja uma grande e
clara descoberta de requisitos.
Essa técnica consiste no usuário simular as suas interações com o sistema,
dizer quais são as informações relevantes que ele utilizará no sistema para
realizar as suas obrigações, além das informações de saída esperadas. É a
descrição das tarefas a serem realizadas por um usuário que executa um
determinado papel.
06/11/2024, 11:25 AM
Página 15 de 25
Mobile User
A descoberta de cenários ajuda os engenheiros de software a entender melhor
o contexto da aplicação, e com um número determinado de cenários é possível
fazer um grande número de alternativas de solução para o problema.
Os cenários são as partes-chave da utilização de métodos de análise
orientados a objetos. É por meio deles que serão descritos os casos de uso,
objeto de nosso estudo na aula reservada à Análise e Requisitos, etapa
seguinte que iremos tratar da Engenharia de Requisitos.
Os cenários podem ser escritos de diversas formas, mas, segundo
Sommerville e Kotonya (1998), devem incluir algumas informações básicas,
tais como:
descrição do estado do sistema antes do início do cenário;
fluxo normal dos eventos no cenário;
exceções ao fluxo normal dos eventos;
informações sobre outras atividades que podem acontecer de forma
simultânea;
descrição do estado do sistema depois da execução completa do
cenário.
A seguir, é apresentado o exemplo de um cenário, em que um gerente de banco
utiliza o sistema para a abertura de conta para um determinado cliente. Este
cenário contém apenas o “caminho feliz”, no qual o fluxo acontecesem erros:
O gerente seleciona a opção de abertura de conta.
O sistema disponibiliza a tela de cadastro de conta.
O gerente entra com as informações necessárias ao cadastro.
O sistema valida as informações.
O gerente solicita o cartão magnético para o cliente.
O gerente solicita o talão de cheques para o cliente.
O cenário é encerrado.
Casos de Uso
Os casos de uso se assemelham mais a uma forma de estruturar do que
propriamente levantar requisitos, embora sirvam para encontrar mais
requisitos quando são utilizados na validação das informações junto ao
usuário.
06/11/2024, 11:25 AM
Página 16 de 25
Mobile User
Os casos de uso são então uma junção de cenários, classificados em fluxo
básico e alternativo, atores, restrições, pré-condições, pós-condições,
definições e regras de negócio. Conheça cada um deles.
Fluxo básico – Consiste no caminho feliz. O cenário com o fluxo básico é
aquele que deve ou deveria acontecer na grande maioria das vezes. É o
atendimento pelo sistema à funcionalidade levantada pelo analista de
requisitos junto ao cliente/usuário. É justamente o que aquela tarefa deve
fazer, a sua finalidade principal. É a sequência básica dos
acontecimentos, a narrativa dos passos a serem seguidos no decorrer da
interação do ator com o sistema. São os passos a serem seguidos.
Fluxo alternativo  – Acontece quando há uma exceção no fluxo natural
das coisas. Por exemplo, alguma informação que deveria constar e não
está presente. Para resolver esse problema, o sistema pode pedir a
informação ausente, registrar um erro, redirecionar a execução do
sistema, entre outras opções.
Atores  – Atores são essenciais em um caso de uso. São aqueles que
interagem com a funcionalidade. Pode ser uma pessoa, que representa
um papel, ou um sistema externo, ou seja, uma entidade de fora do
sistema que é responsável por interagir com o sistema. Um papel pode
ser encarado como um conjunto de características comuns a um ator que
se relaciona com o sistema. Por exemplo, uma pessoa com papel de
funcionário pode executar tarefas reservadas a um funcionário qualquer,
como pesquisar dados do cliente, enquanto que apenas o funcionário
com papel de gerente pode conceder mais crédito no cheque especial.
Restrições – As restrições significam aquelas circunstâncias que devem
ser obedecidas pelo caso de uso. É algo que, enquanto aquela situação
não for atendida, restringe a conclusão do caso de uso. Por exemplo,
quando o usuário solicitar um cadastro qualquer, alguns campos devem
ser de preenchimento obrigatório. Enquanto esses campos não
possuírem valores, não será possível concluir a operação.
Pré e pós-condições – Pré-condição é quando um caso de uso só pode
ser iniciado se determinada situação tiver sido alcançada. Por exemplo, o
usuário só poderá interagir com determinada funcionalidade se ele
estiver logado no sistema. Pós-condição é a situação em que deve se
encontrar o sistema depois da realização daquele caso de uso.
Pré e pós-condições – Pré-condição é quando um caso de uso só pode
ser iniciado se determinada situação tiver sido alcançada. Por exemplo, o
06/11/2024, 11:25 AM
Página 17 de 25
Mobile User
usuário só poderá interagir com determinada funcionalidade se ele
estiver logado no sistema. Pós-condição é a situação em que deve se
encontrar o sistema depois da realização daquele caso de uso. Um
exemplo de pós-condição seria de um caso de uso Incluir Cliente. Nesse
sentido, uma pós-condição é que no final da execução do caso de uso
todas as informações dos clientes tenham sido validadas e o cliente
gravado no banco de dados.
Definições  – Podemos dizer que as definições fazem parte da
especificação do caso de uso. É comum que uma organização tenha uma
cultura e vocabulário próprios; mesmo assim, um termo pode ter dois ou
mais significados, a depender do departamento. Por isso, devemos
utilizar definições para que um termo utilizado no sistema seja
suficientemente claro para todos os envolvidos.
Regras de Negócio – Todo o sistema deve acontecer estando restrito a
determinadas regras de negócio. São as especificações e definições que
determinam o fluxo dos acontecimentos. As regras de negócio podem
estabelecer novas definições, condições, restrições, entre outros. Muitas
vezes, as regras de negócio estão em um documento diferente da
especificação do caso de uso, isso porque muitas regras de negócio não
são exclusivas do caso de uso. Elas pertencem a todo o sistema, por isso
são colocadas em um lugar único e o caso de uso apenas referencia essa
regra de negócio.
Você estudará mais sobre casos de uso e cenários na aula Modelagem e
Análise de Requisitos, em que serão apresentados novos termos,
nomenclatura, notação gráfica, enfim, tudo aquilo necessário para você poder
fazer uma boa modelagem ao analisar os requisitos. 
Para Refletir 
Analise o mapa mental apresentado na figura 4:
Figura 4 – Técnicas de Levantamento de Requisitos.
06/11/2024, 11:25 AM
Página 18 de 25
Mobile User
Nesta aula, você compreendeu que o processo de engenharia de
requisitos visa garantir que o sistema gerado por esses requisitos
atenda às necessidades e satisfaça as expectativas dos clientes. A
Gestão de Requisito é um conjunto de atividades que ajuda a
equipe de projeto a identificar, controlar e rastrear requisitos e
modificações de requisitos em qualquer época, à medida que o
Fonte: https://goo.gl/tV1Ggp 
Você deve ter observado que o mapa mental apresenta informações
sobre o que deve ser feito em termos de Levantamento de Requisitos e a
Técnica de Levantamento de Requisitos a ser utilizada. Essa é uma
ferramenta muito útil! Pense que você pode utilizar um software para
essa finalidade, já imaginando como será o levantamento e qual é a
melhor técnica a ser considerada. Imagine que você levantará requisitos
em uma empresa que contará com a presença de mais ou menos 10
pessoas, de departamentos e interesses diferentes. Você pode baixar o
aplicativo  FreeMind , que é um software  free,  e pode gerar como
exercício um mapa mental da situação, para facilitar o registro de ideias.
 
06/11/2024, 11:25 AM
Página 19 de 25
projeto prossegue. Também foi abordada a Elicitação de
Requisitos, entendendo os detalhes do sistema de que o cliente
necessita e as técnicas que podem ser utilizadas para obtenção e
consolidação dos requisitos iniciais do sistema.
Na próxima aula, será abordada a Análise dos Requisitos de
Software, dando continuidade ao tratamento dos requisitos
levantados na Elicitação de Software.
Bons estudos!
06/11/2024, 11:25 AM
Página 20 de 25
©2018 Copyright ©Católica EAD. Ensino a distância (EAD) com a qualidade da Universidade Católica de
Brasília
Na Prática 
"Prezado(a) estudante,
Esta seção é composta por atividades que objetivam
consolidar a sua aprendizagem quanto aos conteúdos
estudados e discutidos. Caso alguma dessas
atividades seja avaliativa, seu (sua) professor (a)
indicará no Plano de Ensino e lhe orientará quanto aos
critérios e formas de apresentação e de envio."
Bom Trabalho!
Algumas das atividades propostas nesta aula são interdependentes
e complementares, com o intuito de possibilitar uma visão geral das
diversas etapas que compõem a Engenharia de Requisitos, indo
desde as informações iniciais coletadas junto ao cliente, até o
momento em que a documentação necessária ao desenvolvimento
do sistema esteja pronta para a próxima etapa do Processo de
Desenvolvimento do ciclo de vida de desenvolvimento de software, a
Análise e Projeto de Software.
Segue a relação das atividades que são interdependentes e
complementares:
Unidade I
Aula 1 – Atividade 3
06/11/2024, 11:25 AM
Página 21 de 25
Aula 1 – Atividade 3
Aula 3 – Atividade 2
Aula 3 – Atividade 3
Aula 3 – Atividade 4
Aula 4 – Atividade 3
Aula 4 – Atividade 4
Começamos a entender o que representa a Engenharia de Requisitos e qual é
a sua real utilidade no desenvolvimento de sistemas informatizados. Foram
apresentados alguns problemas na Elicitação de Requisitos, que é a primeira
etapa da Engenharia de Requisitos. Elaboreuma tabela com quatro colunas,
a saber:
Coluna 1: Problemas com Elicitação de Requisitos,
Coluna 2: Descrição do problema,
Coluna 3: Exemplo de Problema e
Coluna 4: Impacto no desenvolvimento, classificando esse problema
como CRÍTICO, NORMAL ou IMPARCIAL. Quando um problema for
CRÍTICO, indica que o impacto é muito grande em todo o projeto.
Quando é NORMAL, indica que o impacto no projeto é moderado e
quando for IMPARCIAL, indica que não há impacto no projeto, não
afetando o custo, nem o cronograma de desenvolvimento.
Sommerville e Kotonya  (1998) mostram quatro dimensões do processo de
levantamento de requisitos: domínio da aplicação, problema a ser resolvido,
necessidades e restrições dos  stakeholders  e contexto do negócio. Com
base no que você aprendeu, preencha a tabela a seguir, com a descrição das
dimensões e exemplos práticos.
Dimensão  Descrição  Exemplo Prático 
Atividade 1 - Problemas com Elicitação de Requisitos 

Atividade 2 - Dimensões do Levantamento de Requisitos 

06/11/2024, 11:25 AM
Página 22 de 25
     
     
     
     
     
Você estudou a Engenharia de Requisitos e as suas cinco etapas. Foi
apresentada a Elicitação de Requisitos e eventuais problemas que ocorrem
com a identificação dos requisitos que compõem um sistema
computadorizado.
Para solucionar alguns problemas, existem a Técnicas de Elicitação de
Requisitos. Foram apresentadas apenas algumas técnicas, mas existem
outras.
Faça uma pesquisa, procurando conhecer as Técnicas de Elicitação de
Requisitos Brainstorm e JAD – Joint Application Development.
Após levantar as informações por meio da pesquisa, organize uma tabela
com o nome da técnica, sua descrição e suas principais características.
Atividade 3 - Técnicas de Elicitação de Requisitos 

06/11/2024, 11:25 AM
Página 23 de 25
©2018 Copyright ©Católica EAD. Ensino a distância (EAD) com a qualidade da Universidade Católica de
Brasília
Saiba Mais 
Para ampliar seu conhecimento a respeito desse assunto, veja abaixo a(s)
sugestão(ões) do professor:
Assista ao vídeo “Problemas Processo Desenvolvimento de
Software ”, da ISD Brasil, para obter mais detalhes sobre o
processo.
Leia o artigo “ENGENHARIA DE REQUISITOS: uma análise das
técnicas de levantamento de requisitos ”, de Samuel Fabiano
Barbosa Silva.
06/11/2024, 11:25 AM
Página 24 de 25
©2018 Copyright ©Católica EAD. Ensino a distância (EAD) com a qualidade da Universidade Católica de
Brasília
Referências 
DAVIS, A. M. Software Requirements: objects, functions and states.
Englewood Cliffs, New Jersey: Prentice Hall. 1993.
KOTONYA, G.; SOMMERVILLE, I.  Requirements
Engineering:processes and techniques (worldwide series in
computer science). Wiley, 1998.
PFLEEGER, Shari Lawrence. Engenharia de software: teoria e prática.
2. ed. São Paulo: Pearson Education do Brasil, 2007.
PRESSMAN, Roger S. PENTEADO, Rosângela Delloso
(Trad.).  Engenharia de software. 6. ed. Rio de Janeiro: McGrawHill,
2006.
PRESSMAN, Roger S.  Engenharia de software:  Uma abordagem
Profissional. 7. ed. São Paulo: McGraw-Hill, 2011.
SOMMERVILLE, Ian.  Engenharia de software.  9. ed. São Paulo:
Pearson Addison Wesley, 2011.
06/11/2024, 11:25 AM
Página 25 de 25

Mais conteúdos dessa disciplina