Leitura - Requisitos
Leitura - Requisitos
ENGENHARIA DE REQUISITOS
Prìscila Làbamca
ENGENHARIA DE REQUISITOS
1ª edição
Londrina
Editora e Distribuidora Educacional S.A.
2020
2
© 2020 por Editora e Distribuidora Educacional S.A.
Todos os direitos reservados. Nenhuma parte desta publicação poderá ser
reproduzida ou transmitida de qualquer modo ou por qualquer outro meio,
eletrônico ou mecânico, incluindo fotocópia, gravação ou qualquer outro tipo de
sistema de armazenamento e transmissão de informação, sem prévia autorização,
por escrito, da Editora e Distribuidora Educacional S.A.
Presidente
Rodrigo Galindo
Conselho Acadêmico
Carlos Roberto Pagani Junior
Camila Braga de Oliveira Higa
Carolina Yaly
Giani Vendramel de Oliveira
Henrique Salustiano Silva
Juliana Caramigo Gennarini
Mariana Gerardi Mello
Nirse Ruscheinsky Breternitz
Priscila Pereira Silva
Tayra Carolina Nascimento Aleixo
Coordenador
Henrique Salustiano Silva
Revisor
Douglas Fabiano Lourenço
Editorial
Alessandra Cristina Fahl
Beatriz Meloni Montefusco
Gilvânia Honório dos Santos
Mariana de Campos Barroso
Paola Andressa Machado Leal
ISBN 978-65-87806-39-6
CDD 620
____________________________________________________________________________________________
Raquel Torres – CRB 6/2786
2020
Editora e Distribuidora Educacional S.A.
Avenida Paris, 675 – Parque Residencial João Piza
CEP: 86041-100 — Londrina — PR
e-mail: [email protected]
Homepage: http://www.kroton.com.br/
3
ENGENHARIA DE REQUISITOS
SUMÁRIO
Fundamentos da Engenharia de Requisitos__________________________ 05
4
Fundamentos da Engenharia
de Requisitos
Autoria: Prìscila Làbamca
Leitura crítica: Douglas Fabiano Lourenço
Objetivos
• Revisar os conceitos sobre o ciclo de
desenvolvimento de software.
5
1. O ciclo de desenvolvimento de software e o
Analista de Requisitos
O cliente descreve as
O proprietário descreve a visão
Ideia necessidades que o sistema
da casa para o projetista.
deve sanar.
6
Construção do software
Construção da casa
propriamente dito. É a
propriamente dita. É a
Implementação tradução da linguagem de
materialização das exigências
modelagem técnica numa
realizadas pelo cliente.
linguagem de programação.
O software é construído
A casa é construída de acordo de acordo com a
com o croqui e desenhos linguagem de modelagem.
esquemáticos. Frequentemente Frequentemente, há
Mudanças
há algumas alterações e algumas alterações e
tomadas de decisão pelo cliente tomadas de decisão pelo
enquanto a casa é construída. cliente enquanto o software
é construído.
7
das fases de execução para a tradução que inicia com as anotações
feitas, utilizando as Técnicas de Levantamento de Requisitos (“língua do
cliente”), seguidas das atividades de leitura, identificação e classificação
do discurso em requisitos (“língua do cliente”), finalizando com a
tradução para uma linguagem técnica (nas literaturas as “traduções” são
conhecidas como Níveis de Abstração).
2. O analista de requisitos
8
das funções do cargo de analista de sistemas, pois ele é responsável
pelo levantamento, identificação, análise e modelagem dos requisitos
que comporão o software. Logo, essa é uma função de grande
responsabilidade, pois este profissional deve compreender bem os
objetivos e necessidades do cliente, desenvolver ideias e sugestões,
modelar e documentar o novo sistema, além de manter sempre a
documentação atualizada em caso de mudanças no transcorrer do
projeto. Ele também é a ligação entre o cliente e o restante da equipe de
projetos.
9
língua, saber traduzi-la para uma linguagem técnica de maneira
correta, faz do profissional uma pessoa diferenciada.
e. Dominar o idioma: saber muito bem ler, escrever e interpretar.
Um texto mal escrito, por exemplo, dá a impressão de relaxo e
falta de comprometimento com o projeto. Gírias, ambiguidades
são muito malquistas tanto na escrita quanto na fala. Portanto,
o analista de requisitos não precisa ter um vocabulário
sofisticado, mas um vocabulário que seja simples, claro, coeso e
objetivo é o ideal. Se o cliente fala gíria, o problema é dele e não
do analista, o analista precisa ser profissional.
10
No entanto, concatenando as duas palavras (engenharia e requisito)
é possível definir da seguinte maneira a Engenharia de Requisitos:
uma disciplina como o estudo e a aplicação de técnicas, desenhos
e modelos a fim de resolver e satisfazer determinadas condições
necessárias para alcançar determinado objetivo. Neste caso, o nosso
objetivo é materializar uma solução computacional para resolver/
sanar necessidades dos clientes que podem ser de várias áreas do
conhecimento, como a área da saúde (por exemplo, sistema para
acompanhar a curva de progressão de doenças neurais, sistemas
para controles epidêmicos etc.), área financeira (por exemplo,
sistemas para bolsa de valores, sistemas de tesouraria de uma
determinada instituição financeira etc.). Além disso, outras definições
são muito valiosas, como é o caso da definição de Sommerville
(2011, p. 71), que afirma esse “é o processo de entender e definir
quais serviços são necessários do sistema e identificar as restrições
na operação e desenvolvimento do sistema.” Por sua vez, Thayer e
Dorfman (2016 apud PRESSMAN, 2016, p. 284) afirmam que:
11
4. O Processo de Engenharia de Requisitos
12
dos requisitos coletados no Passo 2 e tem como dinâmica a identificação
de incompletudes, omissões, redundâncias e distinguir entre
requisitos desejados e requisitos necessários. Por requisitos desejados
compreende-se os requisitos que o cliente gostaria que o sistema
tivesse, na prática, em 99% das vezes não são adequados/necessários
ao sistema. Aqui o cliente de maneira inocente não consegue distinguir
aquilo que é necessário daquilo que não é necessário ou, até mesmo,
redundante. Já o segundo tempo é destinada a criar um documento
denominado Documento de Especificação de Requisitos.
13
Passo 6 – Gerenciamento dos Requisitos: em boa parte da dinâmica
diária do Analista de Requisitos, ele se depara com algumas surpresas.
Essas surpresas, geralmente, consistem em contratos do cliente
informando que “estava pensando melhor e acha que o sistema deve
conter mais uma coisinha” (você se lembra da construção da casa no
tópico 1?). Por mais que o Passo 4 tenha sido executado com sucesso,
não adianta: o cliente deseja “mais uma coisinha”; dependendo da
“coisinha”, isso pode ou não gerar impactos no fluxo de desenvolvimento
do sistema. Portanto, neste Passo, cabe ao analista de requisitos
observar novamente o Documento de Especificação de Requisitos
e verificar se a “coisinha” está aderente/se atende aos objetivos do
software que está sendo desenvolvido.
14
Na Figura 1 é possível visualizar que os Passos 2, 3 e 4 são cíclicos; em
termos práticos, isso significa que enquanto estes três passos não forem
bem definidos, não é possível avançar para os demais passos, onde é
possível verificar um efeito dominó, ou seja, se uma peça não estiver
em pé e firme, todas as peças correm o risco de caírem uma sobre as
outras, em outras palavras, as consequências são perdas de tempo com
o retrabalho e prejuízos. Observe que a atividade desempenhada pelo
analista de requisitos é de extrema importância e crítica. Tudo gira em
torno de requisitos!
15
é composto por 12 (doze) princípios que regem o documento, que
podem ser encontrados no website http://agilemanifesto.org (acesso
em: 14 jul. 2020), sendo idealizado para redefinir continuamente as
propriedades contidas em um projeto de desenvolvimento de software,
ou seja, revisar processos, ferramentas e documentos de maneira rápida
e objetiva; seu foco principal é nas pessoas que compõem a equipe
de projetos. O Quadro 2 ilustra algumas vantagens de se utilizar as
Metodologias Ágeis se comparadas às metodologias tradicionais.
1 – Levantamento de requisitos
1–Levantamento de todos os – as mudanças são realizadas
requisitos – poucas mudanças apenas se o requisito agrega
de requisitos admitidas valor ao negócio do cliente.
Adaptabilidade (“engessada”).
2 – Entregas são realizadas
2 – Entrega realizada no final do por etapas, dando
projeto. melhor compreensão da
funcionalidade do sistema.
16
1 – Planejamento: conforme
1 – Planejamento: “engessado”.
entregas.
17
Quadro 3 – As principais metodologias ágeis e a atuação
do analista de requisitos
como o diagramas
Breve definição metodologia de
Metodologia analista de utilizados
da Metodologia desenvolvimento
Ágil requisitos é pelo analista
Ágil do projeto
conhecido de requisitos
Metodologia Diagrama de
para pequenas e Casos de Uso,
XP médias equipes, Diagrama
desenvolvendo Redator de Classes, Modelo Interativo –
(SOMMERVILLE, software com técnico. Diagrama de incremental.
2018) requisitos vagos Sequência ou
e em constante Diagrama de
mudança. Atividades.
Framework usado
SCRUM Diagrama de
para gerenciar o
Scrum Casos de Uso
desenvolvimento Modelo Interativo.
(SOMMERVILLE, Master. e Diagrama de
de produtos
2018) Classes.
complexos.
Modelo de
desenvolvimento Diagrama de
Adaptative
de padrões Casos de Uso,
Software
de projeto. Os Engenheiro Diagrama
Development Modelo Interativo.
requisitos são de Requisitos. de Classes e
(ASD) (KEITH,
levantados Diagrama de
2002)
através de Atividades.
histórias.
18
Método
alternativo
do método
cascata, fornece
Assume
informações
Feature Driven um ou dois
precisas e
Development papéis Diagrama
significativas
(FDD) dependendo de Classes,
acerca do
(SCHILLER, do projeto: Diagrama de Modelo Interativo.
progresso do
2008) Especialista Sequência
desenvolvimento
do domínio (opcional).
do sistema,
e Arquiteto
com o mínimo
chefe.
de sobrecarga
e interrupções
da equipe de
desenvolvimento.
É uma família de
Assume um
metodologias
ou dois ou os
comum “código”
três papéis
genético comum,
“Família” dependendo
que tem ênfase
Crystal do projeto: Diagrama de Modelo Interativo-
na entrega
(MARQUES, Analista de Casos de Uso. incremental.
frequente,
2012) Negócios,
comunicação
Designer/
próxima e
Projetista e
melhoria
Redator.
recíproca.
Estrutura Diagrama
voltada para o de Estados e
Dynamic gerenciamento protótipos:
Systems de projetos negócio,
Analista de Modelo de Iteração
Development ágeis, ajudando usabilidade,
Negócios. Funcional.
Method (DSDM) a entregar desempenho/
(VOIGT, 2004) resultados de capacidade,
forma rápida e capacidade/
eficaz. técnica.
19
Existem mais Metodologias Ágeis além das mostradas no Quadro 3;
porém elas não são tão utilizadas, devido à falta de divulgação.
Referências Bibliográficas
CONCEITO de engenharia. 2010. Disponível em: https://conceito.de/engenharia.
Acesso em: 31 mar. 2020.
CUNNINGHAM, W. (org.). Manifesto for agile software development. 2001.
Disponível em: http://agilemanifesto.org/. Acesso em: 2 abr. 2020.
KEITH, E. R. Agile software development process: a different approch to
software design. Nova Iorque: Universidade de Nova Iorque, 2002. Disponível
em: https://cs.nyu.edu/courses/spring03/V22.0474-001/lectures/agile/
AgileDevelopmentDifferentApproach.pdf. Acesso em: 31 mar. 2020.
MAGALHÃES, F. Dicionário português-latim. 13. ed. Rio de Janeiro: Edições Lep,
1960. (Lep Bolso). Disponível em: https://docero.com.br/doc/nc181c. Acesso em: 31
mar. 2020.
MARQUES, A. N. Metodologias ágeis de desenvolvimento: processos e
comparações. 2012. Monografia (Tecnólogo em Processamento de Dados)–
Faculdade de Tecnologia de São Paulo, São Paulo, 2012. Disponível em: www.
fatecsp.br/dti/tcc/tcc00064.pdf. Acesso em: 31 fev. 2020.
MICHAELIS. Dicionário Online Michaelis. Disponível em: https://michaelis.uol.com.
br/. Acesso em: 31 mar. 2020.
PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. Tradução
de João Eduardo Nóbrega Tortello. 8. ed. Porto Alegre: AMGH, 2016.
SCHILLER, J. Agile techniques for project management and software
engineering. Munique: Universidade Técnica de Munique, 2008. Disponível em:
http://csis.pace.edu/~marchese/CS616/Agile/FDD/fdd.pdf. Acesso em: 31 fev. 2020.
SOMMERVILLE, I. Engenharia de software. Tradução de Luiz Cláudio Queiroz. 10.
ed. São Paulo: Pearson Education do Brasil, 2018.
VOIGT, B. J. Dynamic system development method. Zurique: Universidade de
Zurique, 2004. Disponível em: https://files.ifi.uzh.ch/rerg/arvo/courses/seminar_
ws03/14_Voigt_DSMD_Ausarbeitung.pdf. Acesso em: 31 mar. 2020.
20
Tipos e classificação dos requisitos
Autoria: Prìscila Làbamca
Leitura crítica: Douglas Fabiano Lourenço
Objetivos
• Compreender os conceitos e os tipos de requisitos
de software.
21
1. Os requisitos
A palavra requisito vem do latim virtus dis que, segundo Michaelis (2020,
[s.p.]) significa: “condição básica e necessária para se obter alguma coisa
ou para alcançar determinado propósito”. Em outras palavras, tudo o
que é preciso para que o software funcione.
Por este motivo, tenha em mente que existem apenas 3 (três) tipos
de requisitos, sendo eles: os requisitos funcionais, os requisitos
não funcionais e requisitos de negócio/organizacionais. Os demais
requisitos apresentados na literatura, são na verdade, uma espécie
de facilitador, ou seja, servem apenas para você diferenciar quais são
as ações humanas das ações do sistema e só isso. Esses requisitos
estão “embutidos” nas especificações dos três tipos de requisitos e,
se analisados friamente, na verdade, eles não passam de regras de
validação.
22
Nos próximos tópicos, apresentaremos os tipos de requisitos e
realizadas as devidas considerações, respectivamente.
2. Os tipos de requisitos
23
Figura 1 – Tipos de requisitos e a sua analogia
Fonte: kovacevicmiro/iStock.com.
24
Requisitos de negócio/organizacionais
Fonte: nythzl/iStrock.com.
25
uma classificação, cada qual trata de algum ponto específico e está
intimamente conectado aos requisitos organizacionais/negócio.
26
- O sistema deve ser capaz de ser
executado em qualquer tipo de
Trata dos ambientes dispositivos portáteis.
Operacional físico e técnico no qual o
sistema será instalado. - O sistema deve ser capaz
de integrar com o sistema de
almoxarifado existente.
Requisitos funcionais
27
Figura 4 – Exemplo de requisitos funcionais
Fonte: vector_s/iStock.com.
28
Quadro 2 – Alguns exemplos de classificação
dos requisitos funcionais
- O sistema deve
permitir que os clientes
registrados revejam o
histórico de pedidos
nos últimos três anos.
Requisitos São aqueles que tratam de
orientados a processos que o software deve - O sistema deve
processos executar. permitir que os alunos
vejam a programação
de um curso
quando estiverem
se matriculando nas
disciplinas.
29
- O sistema deve
conservar o histórico
dos pedidos dos
clientes por três anos.
Requisitos
São as informações que o sistema - O sistema deve
orientados por
deve conter. manter um cadastro
informações
de clientes para que
as faturas/boletos
de pagamento sejam
enviadas através dos
Correios.
30
1. A obtenção dos requisitos tem por objetivo descobrir e entender
problemas, pois a solução será dada na atividade de modelagem.
Você só é capaz de realmente entender os problemas do cliente
quando demonstrar que conhece esses requisitos, logo, procure
extrair o máximo de conhecimento dele, utilizando técnicas
adequadas e não “na orelhada”. Quanto mais você praticar sua
atenção, senso crítico e interpretação de discurso melhor será a
obtenção dos requisitos e, consequentemente, maiores chances
de sucesso na modelagem e posteriormente na “tradução” para
uma linguagem de programação.
2. Os clientes costumam confundir aquilo de que precisam com o
que desejam (acredite, eles não fazem isso de propósito). Durante
a fase de aquisição de requisitos (ou levantamento dos requisitos
ou ainda elicitação de requisitos), por meio de questionamentos e
entendimento, será possível separar o necessário do desejável.
3. Sempre documente os problemas e as necessidades do cliente
e peça para validar a sua precisão e completude. Esse é o meio
de demonstrar que você entende as necessidades do cliente (e
também demonstra profissionalismo).
4. Analise cuidadosamente os requisitos para que não haja conflito
entre eles. Uma sugestão é elaborar mapas de requisitos, em
que a estrutura pode ser semelhante ao Quadro 3. Para utilizar o
mapa de requisitos, você precisa da lista de requisitos que obteve
durante as reuniões com o cliente. Primeiramente, você cria a
lista de requisitos, na frente de cada um deles, você pode dar um
“apelido”, por exemplo: REQ1, REQ2…. Após isso, você completa o
mapa de requisitos. Este mapa, além de auxiliar na identificação
de conflitos entre requisitos, dá a oportunidade de visualizar
melhor os relacionamentos entre eles (os requisitos). Assim, você
também pode utilizar ferramentas apropriadas para isso, existem
algumas muito boas oferecidas comercialmente, ou simplesmente
abrir um arquivo em planilha eletrônica. Normalmente, o mapa
de requisitos é utilizado apenas para requisitos funcionais, porém
31
nada impede que o analista de requisitos elabore um mapa para
cada um dos demais tipos de requisitos.
Não depende
REQ1 –0– Depende de Depende de
de
Não depende
REQ2 Depende de –0– Depende de
de
32
avaliação do impacto e custo da alteração. Não queira levar o
mundo em suas costas! Todos fazem parte do desenvolvimento do
software e existem certos momentos que devemos deixar que o
gerente de projeto decida e não o analista de requisitos, certo?
8. Para executar as atividades de coleta e documentação dos
requisitos, procure pessoas que trabalham diretamente com
o cliente e as convide para ajudar a identificar os requisitos.
Verifique se estas pessoas sabem “escutar, falar e escrever” bem,
elas não precisam ser doutores em letras, mas precisam saber
se expressar bem. Isso facilitará o trabalho de compreensão e
melhorará ainda mais a execução das próximas fases que você
deve atingir dentro do modelo de processos de requisitos.
9. Procure trabalhar com requisitos que julga serem “bons o
suficiente”. A busca pela perfeição pode aumentar riscos e
ocasionar impactos.
10. Se você assumir um projeto que está em andamento ou numa
fase avançada, é interessante não confiar cegamente nos
conhecimentos passado pela equipe de projetos. Por mais que
eles estejam engajados no projeto, muitas vezes, deixam-se
passar alguns detalhes que podem ser muito importantes para a
realização do trabalho. Outro motivo para não confiar cegamente
é que ninguém sabe em maiores detalhes sobre o projeto
do que o cliente. Neste caso, não custa nada convidá-lo para
algumas reuniões e sanar o máximo de dúvidas possível. Com
esta atitude, você ganhará a confiança do cliente e do superior
imediato (gerente de projeto) e, ainda, garantirá a qualidade no
desenvolvimento do projeto.
33
Nesse sentido, somente se alcança a excelência praticando
massivamente estes conceitos e dicas. Lembre-se que o sucesso não
vem na mesma velocidade que uma mensagem de WhatsApp, o sucesso
é planejado e atingido paulatinamente (por que você acha que os
japoneses, chineses, indianos são tão bons no que fazem? É porque eles
treinam, estudam, se dedicam; eles não são gênios, eles são pessoas
como você).
Referências Bibliográficas
FAULK, S. R. Software requirements: a tutorial. Naval Research Laboratory,
Washington, p. 1-36, 14 nov. 1995. Disponível em: https://www.researchgate.net/
publication/235192346_Software_Requirements_A_Tutorial. Acesso em: 6 abr. 2020.
MAGALHÃES, F. Dicionário Português-Latim. 13. ed. Rio de Janeiro: Edições Lep,
1960. (Lep Bolso). Disponível em: https://docero.com.br/doc/nc181c. Acesso em: 31
mar. 2020.
MICHAELIS. Dicionário Online Michaelis. Disponível em: https://michaelis.uol.com.
br/. Acesso em: 31 mar. 2020.
PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. Tradução
de João Eduardo Nóbrega Tortello. 8. ed. Porto Alegre: AMGH, 2016.
SOMMERVILLE, I. Engenharia de software. Tradução de Luiz Cláudio Queiroz. 10.
ed. São Paulo: Pearson Education do Brasil, 2018.
34
Levantamento de requisitos
Autoria: Prìscila Làbamca
Leitura crítica: Douglas Fabiano Lourenço
Objetivos
• Adquirir noções sobre o processo de comunicação.
35
1. O levantamento de requisitos
36
Quadro 1 – Classificação das técnicas de reunião
Classificação Descritivo
Técnicas de elicitação de
São técnicas que envolvem grupos de pessoas.
grupo
Técnicas contextuais
São técnicas que analisam a etnografia e a análise
social.
37
Esta classificação está inserida num processo denominado como processo
de levantamento de requisitos, que pode ser dividida em dois momentos:
38
que a dinâmica de trabalho (metodologia) seja ágil, então o analista de
requisitos deverá eleger melhor os requisitos/grupo de requisitos para que
seja executada a metodologia ágil de maneira adequada).
Nome da
Definição Classificação
técnica
39
Conjunto de categorias de perguntas que
ajudam na extração de requisitos.
I→ informações e dados.
Técnicas
PIECES E→ economia (questões de demanda).
contextuais.
C→ controle (acesso).
E→ eficiência (custo-benefício).
Neste ponto, pode ser que você esteja um pouco confuso, afinal, temos
o processo de engenharia de requisitos, a fase de aquisição, o processo
de elicitação (levantamento de requisitos) e tantas outras coisas.
Acompanhe as Figuras de 1 a 4 e as respectivas considerações, você se
sentirá mais seguro.
40
Figura 1 – Modelo macro
Modelo de
Processo de
Requisitos
Fase de
Fase de
Especificação
Aquisição de
de
Requisitos
Requisitos
41
ou não resulta numa lista de requisitos que ainda não foram
classificados. Eles serão classificados após o término da reunião (esta
tarefa é somente do analista de requisitos fazer, pois o cliente não tem
a mínima ideia de que existe classificação de requisitos e muito menos o
que são requisitos). Após a identificação e classificação de requisitos, são
executadas as atividades já descritas em parágrafos anteriores.
Fase de Fase de
Elicitação de Validação de
Requisitos Requisitos
42
Figura 4 – Modelo micro
JAD Processo de
Elicitação
de Requisitos
43
Quadro 3 – Etapas da metodologia JAD
a) Revisar o Documento
de Escopo do Projeto.
b) Verificar as áreas
envolvidas (cliente e a
equipe de TI).
- A descrição do
processo que acomoda
os dados de entrada e
saída.
44
3 Preparação do Elaborar o material - Esboçar de acordo
material para para ser levado à com o Documento de
a reunião (ou reunião. Escopo do Projeto,
workshop). algumas telas para
facilitar a comunicação.
- Obter material de
apoio (caneta, blocos
de anotações, fita,
flowchats, canetas para
flowcharts).
- Elaborar agenda de
convocação, relatório
de avaliação, plano de
sessão, carta (e-mail)
de convocação.
- Definir a técnica de
elicitação de requisitos.
- Iniciar efetivamente
a reunião (aplicar as
técnicas de elicitação
de requisitos).
45
5 Eleição das pessoas Verificar quem são as - Quem deve participar
que deverão pessoas que devem e da reunião: cliente e
comparecer à as pessoas que podem sua equipe ou algum
reunião (workshop). participar da reunião. representante de sua
equipe, Analista de
Requisitos (geralmente
faz o papel de
mediador e escrita,
mas se houver a
possibilidade de ter um
escriba, melhor).
46
2. A especificação dos requisitos
VERBO OU
SUJEITO LOCUÇÃO COMPLEMENTO
VERBAL
47
Requisitos Funcionais (RF):
48
Quadro 6–Tipo de RNF: desempenho
49
Quadro 9–Exemplo de RO: sobre câmbio
Referências Bibliográficas
DAVID, L. Técnicas para reuniões de JAD (Joint Application Design). 2002.
Disponível em: https://slideplayer.com.br/slide/14019/. Acesso em: 13 abr. 2020.
MAGALHÃES, F. Dicionário português-latim. 13. ed. Rio de Janeiro: Edições Lep,
1960. (Lep Bolso). Disponível em: https://docero.com.br/doc/nc181c. Acesso em: 31
mar. 2020
MICHAELIS. Dicionário Online Michaelis. Disponível em: https://michaelis.uol.com.
br/. Acesso em: 31 mar. 2020.
MUSHTAQ, J. Different requirements gathering techniques and issues.
International Journal Of Scientific & Engineering Research, EUA, p. 835-840, set.
2016. Disponível em: https://www.ijser.org/researchpaper/Different-Requirements-
Gathering-Techniques-and-Issues.pdf. Acesso em: 13 abr. 2020.
PALUDO, M. O desenvolvimento de software aplicando a técnica joint
application design. 2004. Disponível em: https://www.academia.edu/1317486/O_
Desenvolvimento_de_Software_Aplicando_a_T%C3%A9cnica_Joint_Application_
Design. Acesso em: 13 abr. 2020.
PIMENTEL, A. Vygotsky: uma abordagem histórico-cultural da educação infantil. In:
OLIVEIRA-FORMOSINHO, J.; KISHIMOTO, T. M.; PINAZZA, M. A. (orgs.) Pedagogia(s)
50
da infância: dialogando com o passado, construindo o futuro. Porto Alegre:
Artmed, 2007. Cap. 9.
PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. Tradução
de João Eduardo Nóbrega Tortello. 8. ed. Porto Alegre: AMGH, 2016.
ROTTMANN, D. Joint Application Development (JAD). 2001. Disponível em: https://
www.umsl.edu/~sauterv/analysis/488_f01_papers/rottman.htm. Acesso em: 13 abr.
2020.
51
Análise, validação, mudança
e gerência de requisitos
Autoria: Prìscila Làbamca
Leitura crítica: Douglas Fabiano Lourenço
Objetivos
• Aprender a analisar e formatar os requisitos.
52
1. A análise de requisitos
Além disso, há vários tipos de análise, cada qual com suas características
e dinâmicas. O tipo de análise que será apresentado é o tipo análise
53
orientado a objetos, pois este é o tipo mais comum. Basicamente, este
tipo de análise consiste em organizar e classificar os requisitos em
grupos; a reunião destes grupos representa o problema a ser resolvido.
Após a organização e classificação, eles são verificados como estes
grupos se relacionam e interagem uns com os outros.
Dica: faça uma analogia com a teoria dos conjuntos da matemática, isto
é, reunir elementos que possuem características comuns, por exemplo,
o grupo das frutas, o grupo das árvores etc. Por exemplo, suponha que
um dos requisitos é realizar o cadastro de fornecedores (este cadastro
sofrerá de tempos em tempos atualizações, certo? Que tal chamar
este grupo de manter fornecedor?). Então, neste caso, observando os
requisitos funcionais elencados no documento de requisitos, e o mapa
de requisitos, chegamos a seguinte conclusão:
54
tem como saída os nomes e os detalhes de cadastro de todos os
fornecedores).
55
(grupos) para um sistema de caixa eletrônico: realizar saque, obter saldo
e realizar transferência de valores. Você notou que tanto os grupos
quanto as ações foram representadas de maneira gráfica? Todo aquele
trabalho que o analista de requisitos realizou na atividade de análise
de requisitos, foi representado de maneira visual. Este esquema pode
ser facilmente apresentado ao cliente e, com isso, realizar as devidas
validações e obter mais detalhes, antes de finalizar a modelagem e sua
respectiva especificação e entregar para a equipe de programadores.
As demais ações de cada grupo ficarão como exercício para você (use a
sua imaginação).
56
de um sistema segundo uma perspectiva externa, descrevendo
um conjunto de sequências de ações realizadas pelo sistema. Ele
possui apenas 3 (três) elementos: um elemento denominado ator
(um “bonequinho” que pode representar: uma pessoa, ou grupo de
pessoas, ou um sistema ou ainda, um componente de sistema. É aquele
que efetivamente utilizará o sistema), o outro denominado caso de
uso (elipse) e o último elemento é um traço seccionado denominado
associação. Já o segundo diagrama é denominado diagrama de
classes (basicamente as regras são idênticas ao diagrama entidade-
relacionamento da disciplina de banco de dados).
57
Uma observação: as cores de ambos os diagramas (Figuras 1 e 2) são
apenas para facilitar a visualização. Não há cores nos diagramas.
58
A estrutura de um Documento de Especificação de Caso de Uso
59
Capítulo 2 – Precondições (o que é preciso para que este caso de uso
seja executado? Pode ser outro caso de uso – mas é preciso mencionar
qual; ou ainda outros dados relevantes).
3.1 Fluxo básico: é possível dar um nome para ele, mas deve deixar bem
claro de que este é o fluxo principal. Em linguagem de programação,
este fluxo pode ser entendido como o programa chamado, o int main().
3.2 Fluxos alternativos: aqui é obrigatório o nome para ele, afinal, são
vários fluxos alternativos. Em linguagem de programação, este fluxo
pode ser entendido como o programa chamado de métodos/funções
que o programa principal chama. Para facilitar a escrita, já que serão
muitos os Fluxos alternativos, geralmente, seu nome é composto por
uma sigla e o nome; por exemplo, FA01 – Selecionar opção Retornar ao
Menu Principal.
60
2. A validação dos requisitos
61
pois isso frustra – de alguma maneira — a comunicação entre o cliente e
o analista de requisitos.
3. A mudança de requisitos
62
identificar todos os documentos elaborados em todas as fases do
ciclo. Assim, é possível garantir e ter maior dimensão dos impactos da
solicitação de mudança no projeto de construção do sistema.
63
• Requisitos Consequentes: são aqueles que podem modificar
os processos e procedimentos na execução de tarefas diárias da
empresa do cliente.
64
Perceba que a gestão dos requisitos possui forte relacionamento com a
atividade de mudança (seção 3).
Referências Bibliográficas
DORFMAN, M.; THAYER, R. Software engineering. Los Alamitos, CA: IEEE Computer
Society Press, 1997.
PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. Tradução
de João Eduardo Nóbrega Tortello. 8. ed. Porto Alegre: AMGH, 2016.
SOMMERVILLE, I. Engenharia de software. Tradução de Luiz Cláudio Queiroz. 10.
ed. São Paulo: Pearson Education do Brasil, 2018.
65
BONS ESTUDOS!
66