Buscar

Aula04_20230428204105

Prévia do material em texto

MODELAGEM DE SOFTWARE
Aula 02
Fundamentos de requisitos
Aula 03
E Visão geral de técnicas para e licitação de 
requisitos.
Prof. Luis Ybarra
Entendendo os requisitos
Entender os requisitos de um problema está entre as tarefas mais 
difíceis enfrentadas por um engenheiro de software. 
Quando você pensa nisso pela primeira vez, entender claramente 
a engenharia de requisitos não parece assim tão difícil. 
Afinal, o cliente não sabe o que é necessário? 
Os usuários não deveriam ter um bom entendimento das 
características e funções de que precisam? 
Surpreendentemente, em muitos casos, a resposta a essas 
perguntas é “não”. 
E mesmo que os clientes e usuários soubessem explicitar as suas 
necessidades, estas mudariam ao longo do projeto.
Eu preciso de uma cadeira para 
trabalhar ! 
(Araujo, 2023)
Não deve ser de couro sintético, 
deve ter braços com regulagem 3D, 
deve ter apoio para lombar 
regulável, deve ser a inclinação do 
encosto reclinável, etc..
$$
Decoração do ambiente
Preciso desmontar ...
clarosnão ambíguosespecíficosverificáveis
7
pessoas
necessidades 
expectativas
projetos
REQUISITOS
claros
não ambíguos específicos
verificáveis
8
pessoas
necessidades 
expectativas
projetos REQUISITOS
(Araujo, 2023)
NECESSIDADES
EXPECTATIVAS
PROCESSOS DA MINHA AREA
RESTRIÇÕES
OBJETIVOS
LINGUAGENS DE PROGRAMAÇÃO
BANCOS DE DADOS
ESTRUTURAS DE DADOS
ARQUITETURA DE SISTEMAS
FRAMEWORKS
ETC..
NECESSIDADES
EXPECTATIVAS
PROCESSOS DA MINHA AREA
RESTRIÇÕES
OBJETIVOS
LINGUAGENS DE PROGRAMAÇÃO
BANCOS DE DADOS
ESTRUTURAS DE DADOS
ARQUITETURA DE SISTEMAS
FRAMEWORKS
ETC..
DIFERENTES
Entender os requisitos de um problema está entre as tarefas
mais difíceis enfrentadas por um engenheiro de software.
Quando você pensa nisso pela primeira vez, entender claramente
a engenharia de requisitos não parece assim tão difícil.
Afinal, o cliente não sabe o que e ́ necessário?
Os usuários não deveriam ter um bom entendimento das
características e funções que serão vantajosas
Surpreendentemente, em muitos casos a resposta a essas
perguntas é “não”. E mesmo se os clientes e usuários
fossem explícitos quanto às suas necessidades, elas
mudariam ao longo do projeto.
Sei que você acredita que 
entendeu o que acha que 
eu disse, mas não estou 
certo de que você percebe 
que aquilo que você ouviu 
não é o que eu pretendia 
dizer !
(Araujo, 2023)
A Engenharia de 
Requisitos
Trata-se de um espectro de tarefas e técnicas que levam a um 
entendimento dos requisitos;
–Atua como uma ponte entre o projeto e a construção em si
(Araujo, 2023)
Definição:
• Condição ou potencialidade de que um usuário necessita para 
resolver um problema ou atingir um objetivo.
• Condição ou potencialidade que um sistema, componente ou 
produto deve possuir para que seja aceito (isto é, satisfaça a um 
contrato, padrão, especificação ou outro documento formalmente 
imposto).
• Expressão documentada dessa característica. 
Localização no projeto 
• Os requisitos devem ser levantados pela equipe do projeto, em conjunto com 
representantes do cliente, usuários e, possivelmente, especialistas da área de 
aplicação. 
• O conjunto de técnicas empregadas para levantar, detalhar, documentar e 
validar os requisitos de um produto forma a disciplina de Engenharia de 
Requisitos, geralmente chamada de Requisitos, de forma abreviada. 
Etapas da Engenharia de Requisitos
Estudo de viabilidade:
O estudo de viabilidade consiste num estudo preliminar de 
requisitos de negócios, no qual é decidido se vale a pena 
desenvolver o sistema proposto.
Elicitação e análise de requisitos: Etapa focada no entendimento do domínio da aplicação a ser 
desenvolvida;
Especificação de requisitos:
Padronização e formatação dos requisitos elencados na etapa 
anterior. Vários formatos de organização podem ser utilizados, 
desde descrições textuais até modelos gráficos formais;
Validação de requisitos: 
Etapa em que os requisitos são avaliados e validados 
pelos stakeholders, sendo refinados até que os requisitos 
descrevam a solução desejada e idealizada.
(Araujo, 2023)
O Processo da Engenharia 
de Requisitos
Estudo de 
viabilidade
Elicitação de 
requisitos e 
análise
Relatório de 
viabilidade
Especificação 
de requisitos
Requisitos do 
usuário e do 
sistema
Validação de 
requisitos
Modelos do 
sistema Documento de 
requisitos
Gerenciamento de requisitos
G
e
re
n
c
ia
m
e
n
to
 d
e
 
re
q
u
is
it
o
s Elicitação dos requisitos em 
si
Levantamento dos requisitos e busca por guiar 
os clientes nesse processo;
Problemas comuns são observados nessa 
etapa como problemas de escopo, 
entendimento, conflitos e volatilidade dos 
requisitos;
Análise do que foi elicitado
Processo de análise e refinamento dos 
requisitos elicitados
Nesta etapa é comum a criação de versões 
iniciais de diagramas de classes e casos de uso;
Elicitação de Requisitos
• Também denominada de descoberta de requisitos ou 
levantamento de requisitos
• Envolve pessoal objetivando descobrir o domínio de 
aplicação, serviços que devem ser fornecidos bem 
como restrições de um software;
• Deve envolver usuários finais, gerentes, pessoal envolvido na 
manutenção, especialistas no domínio, etc. (Stakeholders).
(Araujo, 2023)
Elicitação: Maximizar 
a satisfação do cliente!
REQUISITO 
NORMAL
O cliente lembra de falar
O cliente ficará satisfeito se esse requisito estiver no sistema
REQUISITO 
ESPERADO
Requisito implícito
O cliente não lembra de falar
O cliente ficará insatisfeito se esse requisito não estiver 
no sistema
REQUISITO 
EXCITANTE
O cliente não lembra de falar
O cliente não espera encontrar esse requisito no sistema
O cliente ficará satisfeito se esse requisito estiver no sistema
Nem sempre o cliente é o usuário 
final
Cliente
Quem contrata 
e paga pelo 
serviço
Ex.: 
Administrador 
de um hospital
Usuário 
final
Quem usa o 
software no 
dia a dia
Ex.: Médicos 
e 
enfermeiros
Nunca deixe de elicitar requisitos com os usuários finais pois sem a colaboração deles, o 
software pode não ser usado
(Araujo, 2023)
Pontos a serem considerados
• Clientes e usuários não são experts em tecnologia 
e computação;
• Identifique bem os stakeholders (qualquer pessoa que se 
beneficie direta ou indiretamente do sistema);
• Existem vários pontos de vista diferentes para os requisitos 
de um mesmo software.
• É necessário lidar com as inconsistências e visões diferentes;
Características a serem investigadas 
FUNCIONALIDADE O que o produto deverá fazer?
INTERFACES 
EXTERNAS
Como o produto interage com as pessoas, com o hardware do sistema, 
com outros sistemas e com outros produtos?
DESEMPENHO Qual a velocidade de processamento, o tempo de resposta e outros 
parâmetros de desempenho requeridos pela natureza da aplicação?
OUTROS 
ATRIBUTOS
Quais as considerações sobre portabilidade, manutenibilidade e 
confiabilidade que devem ser observadas?
RESTRIÇÕES 
IMPOSTAS PELA 
APLICAÇÃO 
Existem padrões e outros limites a serem obedecidos, como linguagem 
de implementação, ambientes de operação, limites de recursos etc. 
Coleta de Requisitos
Coleta de Requisitos
• Coletar os requisitos é o processo de definir e documentar as
necessidades das partes interessadas para atingir os
objetivos dos projetos.
• Os requisitos devem ser obtidos, analisados e registrados em
detalhes suficientes para serem medidos durante a execução
do projeto.
• o processo de Elicitação e Análise de Requisitos é um
processo iterativo, onde diversas "rodadas" de elicitação e
análise são feitas até que se possa seguir o fluxo para a fase
de especificação desses requisitos
(Araujo, 2023)
Ferramentas para a Coletas de 
Requisitos
Entrevistas JAD Oficinas 
facilitadas 
(Workshop)
Questionários e 
pesquisas
Observações
Protótipos Benchmarking Brainstorm Análise dos 
documentos
Etnografia
2022-2
Estudo de Viabilidade
Estudo de Viabilidade
• O que é um estudo de viabilidade?
• O que estudare concluir?
• Quais os benefícios e custos?
• Análise de custo/benefício.
• Alternativas de comparação.
(Araujo, 2023)
Estudo de Viabilidade
• Estudo que indica se o esforço em desenvolver a ideia vale a 
pena;
§ Visa tanto auxiliar a tomada de decisão;
§ Como a sugestão de possíveis alternativas de solução;
Estudo de Viabilidade
• Deve oferecer informações para ajudar na decisão de:
§ Se o projeto pode ou não ser feito;
§ Se o produto final irá ou não beneficiar os usuários interessados;
§ Escolha das alternativas entre as possíveis soluções;
§ Há uma melhor alternativa?
Estudo de Viabilidade
•O que estudar?
§Sistema organizacional apresentado
۰Usuários, políticas, funções, objetivos, etc.
§Problemas com o sistema apresentado
۰ Inconsistências, funcionalidades 
inadequadas, performance, etc.
§Objetivos e outros requisitos para o novo sistema
۰O que precisa mudar?
Estudo de Viabilidade
•O que estudar?
§Restrições
۰ Incluindo requisitos não-funcionais do 
sistema Alternativas possíveis
۰Sistema atual é geralmente uma das alternativas
§Vantagens e desvantagens das alternativas
Testes de Viabilidade 
• Operacional
§ Medida do grau de adequação da solução para a organização
۰ Avaliação de como as pessoas se sentem sobre o sistema/projeto
• Técnica
§ Avaliação da praticidade de uma solução técnica específica e 
a disponibilidade dos recursos técnicos e dos especialistas
• Cronograma
▪ Avaliação de quão razoável está o cronograma do projeto
• Econômica
▪ Avaliação de custo-eficiência de um projeto ou solução
۰ Conhecida como análise de custo/benefício
Viabilidade Operacional
• Avalia a urgência do problema ou a aceitação da solução
• Há dois aspectos da viabilidade operacional a serem 
considerados
§O problema vale a pena ser resolvido ou a solução 
proposta para o problema funcionará?
§Como o usuário final e a gerência sentem-se sobre o 
problema (e sobre a solução)?
Viabilidade Técnica
• Avalia os aspectos técnicos envolvidos para a criação da 
solução. Algumas questões devem ser respondidas:
§ A solução ou a tecnologia proposta é prática?
§ Já possuímos a tecnologia necessária?
§ Já possuímos o conhecimento técnico necessário?
(Araujo, 2023)
Viabilidade de Cronograma
• Avalia os prazos para a construção da solução;
§ Dado nosso conhecimento técnico e tamanho do projeto, os prazos 
dos projetos são razoáveis?
§Alguns projetos são iniciados com prazos específicos
۰ Você precisa determinar se os prazos são obrigatórios ou 
desejáveis;
۰ Se são mais desejáveis que obrigatórios, o analista pode propor 
outros cronogramas;
Viabilidade Econômica
• Talvez a mais crítica de todas:
§Durante as fases iniciais do projeto, a análise da 
viabilidade econômica consiste em julgar se os possíveis 
benefícios de solucionar o problema são ou não 
vantajosos;
§Tão logo os requisitos específicos e soluções sejam 
identificados, o analista pode levar em consideração os 
custos e benefícios de cada alternativa;
۰ Isso é chamado de análise de custo-benefício;
Tipos de Custos
• Muitas vezes, erroneamente existe a ideia de que os custos de 
produção de software são relativos apenas à mão de obra 
(programadores);
§ Custos de desenvolvimento de sistemas
۰ Desenvolvimento e aquisição de ferramentas
۰ Custos de instalação e de conversão
§ Custos operacionais (contínuo)
۰ Manutenção de infraestrutura
۰ Mão de obra
۰ Capacitação
(Araujo, 2023)
Relatório de Viabilidade
• Após o esforço inicial, discutido anteriormente, deve-se 
elaborar um relatório de viabilidade;
§ Para cada aspecto apresentado, deve haver seção de avaliação;
§Deve haver uma seção conclusiva sobre a melhor alternativa ou que 
o sistema não é viável;
(Araujo, 2023)
Referências 
• SOMMERVILLE, Ian. Engenharia de software. 9. ed. São Paulo: 
Pearson, 2011
• VALENTE, Marco Tulio. Engenharia de Software Moderna. 
Editora Independente, 2022. Capítulo 3. Disponível em: 
https://engsoftmoderna.info/cap3.html
https://engsoftmoderna.info/cap3.html
MODELAGEM DE SOFTWARE
Aula 03
Visão geral de técnicas para e licitação de 
requisitos.
Prof. Luis Ybarra
Engenharia de Requisitos
REQUISITO DE SOFTWARE
Uma condição ou capacidade necessária para um 
usuário RESOLVER um problema ou alcançar um 
objetivo
44
Especificação
Quais funções são requeridas pelo sistema e quais as 
restrições para a sua operação.
Também conhecida como Engenharia de Requisitos
Estágio (fase) importante do processo de software, 
uma vez que erros nesse estágio inevitavelmente 
produzem problemas posteriores no projeto e na 
implementação do sistema.
Engenharia de Software
Engenharia de Requisitos
É o amplo conjunto de TAREFAS e técnicas que levam a um 
entendimento dos requisitos
Fornece o mecanismo apropriado para entender aquilo que o 
CLIENTE deseja
(Pressman)
Durante TODO o ciclo de vida do produto
Quando se preocupar com Requisitos de Software?
O Processo de Engenharia de Requisitos
Sommerville
Engenharia de Requisitos
Estudo de Viabilidade
É feita uma estimativa para verificar se as necessidades dos usuários 
que foram identificadas podem ser satisfeitas com a utilização das 
atuais tecnologias de software e hardware. 
✓O Sistema proposto é viável do ponto de vista comercial??? (Business 
Case)
✓Pode ser desenvolvido dentro das restrições orçamentárias???
O resultado deve informar se a decisão é a de prosseguir com a 
análise mais detalhada! (Go/No Go)
Sommerville
Engenharia de Requisitos
O Processo de Engenharia de Requisitos
Sommerville
Engenharia de Requisitos
Engenharia de Requisitos
Levantamento e Análise de Requisitos
Este é o processo de obter requisitos do sistema pela 
observação de sistemas existentes, pela conversa com usuários e 
compradores em potencial e/ou pela análise de tarefas. Pode envolver o 
desenvolvimento de um ou mais diferentes modelos e protótipos de 
sistemas.
✓ Isso ajuda o analista a compreender o sistema a ser 
especificado.
Sommerville
Coletar de Requisitos
Processo de determinar, documentar e gerenciar as 
necessidades e requisitos das Partes Interessadas a fim 
de atender aos objetivos do projeto
(PMBOK 5ª Edição)
Segurança na construção civil
Norma ABNT NBR 15575/2013
(Conselho de Arquitetura e 
Urbanismo do Brasil)
Engenharia de Requisitos
O Processo de Engenharia de Requisitos
Sommerville
Engenharia de Requisitos
Especificação de Requisitos
É a atividade de traduzir as informações coletadas durante a 
atividade de análise em um documento que defina um conjunto 
de requisitos. Podem ser abstratas (Requisitos dos usuários) ou 
especificações detalhadas ( Requisitos do Sistema).
Sommerville
Requisitos
Funcionais Não Funcionais
– Permitir cadastramento de novos clientes
– Cada NF pode ter, no máximo, 15 itens
– O sistema deverá emitir relatório diário dos 
indicadores de vendas
Testabilidade Confiabilidade
Segurança Manutenibilidade
Desempenho Escalabilidade
Elicitação de Requisitos
TÉCNICAS PARA COLETA DE INFORMAÇÕES
→ Entrevistas
→ Focus Groups (discussões em grupo)
→ Questionários
→ Shadowing (aprendizagem por observação)
→ Instrução dos Usuários
→ Prototipação
FONTES DE REQUISITOS:
→ Stakeholders
→ Documentos
→ Sistemas em Operação
FATORES DE SATISFAÇÃO
→ Básicos
→ Esperados
→ Inesperados
Engenharia de Requisitos
Uma ENTREVISTA é uma reunião individual entre um membro da equipe 
do projeto e um usuário ou um stakeholder
FOCUS GROUP é uma discussão objetiva, conduzida ou moderada que 
introduz um tópico a um grupo de respondentes e direciona sua 
discussão sobre o tema, de uma maneira não-estruturada e natural
QUESTIONÁRIOS consistem em conjuntos de perguntas que são 
criados para reunir informações
INSTRUÇÃO DOS USUÁRIOS: Quando você usar a técnica de instrução dos 
usuários, essas pessoas realmente irão treiná-lo nas tarefas que realizam
Um PROTÓTIPO é uma versão inicial, em geral parcial, de um produto
(ou parte do produto) do projeto
SHADOWING é uma técnicaem que você observa um usuário realizar as 
tarefas no seu ambiente de trabalho, e pergunta ao usuário qualquer 
questão relativa às tarefas
Engenharia de Requisitos
O Processo de Engenharia de Requisitos
Sommerville
Engenharia de Requisitos
PRESSMAN, Roger; MAXIM, Bruce. Engenharia de Software. Uma abordagem profissional. 8a. Ed. Bookman, 
2016. https://integrada.minhabiblioteca.com.br/#/books/9788580555349/cfi/3!/4/2@100:0.00
MEDEIROS, Ernani. Desenvolvendo Software com UML 2.0. São Paulo: Pearson Education, 2004. 
https://bv4.digitalpages.com.br/?term=uml&searchpage=1&filtro=todos&from=busca&page=-
20&section=0#/legacy/2921
ELMASRI, Ramez. Sistemas de banco de dados. 6. ed. São Paulo: Pearson, 2011. Disponível em: 
http://unibh.bv3.digitalpages.com.br/users/publications/9788579360855
BIBLIOGRAFIA - Básica
SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson Prentice Hall, 2011. 
https://bv4.digitalpages.com.br/?term=engenharia%2520de%2520software&searchpage=1&filtro=todo
s&from=busca&page=_14&section=0#/legacy/276
•VALENTE, Marco Tulio. Engenharia de Software Moderna. Editora Independente, 2022. Capítulo 3. 
Disponível em: https://engsoftmoderna.info/cap3.html
ARAUJO, Raissa Arruda de. Levantamento de Requisitos. Material de aula. SP. 2023.
https://bv4.digitalpages.com.br/?term=engenharia%2520de%2520software&searchpage=1&filtro=todos&from=busca&page=_14&section=0#/legacy/276
https://bv4.digitalpages.com.br/?term=engenharia%2520de%2520software&searchpage=1&filtro=todos&from=busca&page=_14&section=0#/legacy/276
https://engsoftmoderna.info/cap3.html
LARMAN, Craig. Utilizando UML e padrões: uma introdução à análise e ao projeto orientados a objetos e 
desenvolvimento iterativo.3.ed Porto Alegre: Bookman, 2007 
https://integrada.minhabiblioteca.com.br/#/books/9788577800476/cfi/0!/4/2@100:0.00
PFLEEGER, Shari Lawrence. Engenharia de software: teoria e prática. 2. ed. São Paulo: Prentice Hall, 2004. 
https://bv4.digitalpages.com.br/?term=engenharia%2520de%2520software&searchpage=1&filtro=todos&from=b
usca#/legacy/476
FOWLER, Martin; SCOTT, Kendall. UML essencial: um breve guia para a linguagem-padrão de modelagem de 
objetos. 3ª. ed. Porto Alegre: Bookman, 2004. 
https://integrada.minhabiblioteca.com.br/#/books/9788560031382/cfi/6/2!/4/2@0:0.131
HEUSER, Carlos Alberto. Projeto de banco de dados. 6. ed. Porto Alegre: Bookman, 2011. E-book. Disponível em: 
https://integrada.minhabiblioteca.com.br/books/9788577804528
Morais, Izabelly Soares de. Engenharia de software [recurso eletrônico] / Izabelly Soares de Morais, Aline Zanin ; 
revisão técnica : Jeferson Faleiro Leon. – Porto Alegre : SAGAH, 2017.
BIBLIOGRAFIA - Complementar
https://integrada.minhabiblioteca.com.br/books/9788577804528
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9: PROBLEMA-CHAVE
	Slide 10: CONHECIMENTOS
	Slide 11
	Slide 12
	Slide 13
	Slide 14: A Engenharia de Requisitos
	Slide 15: Definição:
	Slide 16: Localização no projeto 
	Slide 17: Etapas da Engenharia de Requisitos
	Slide 18: O Processo da Engenharia de Requisitos
	Slide 19: Gerenciamento de requisitos
	Slide 20: Elicitação de Requisitos
	Slide 21: Elicitação: Maximizar a satisfação do cliente!
	Slide 22: Nem sempre o cliente é o usuário final 
	Slide 23: Pontos a serem considerados
	Slide 24: Características a serem investigadas 
	Slide 25: Coleta de Requisitos
	Slide 26: Coleta de Requisitos
	Slide 27: Ferramentas para a Coletas de Requisitos
	Slide 28: Estudo de Viabilidade
	Slide 29: Estudo de Viabilidade
	Slide 30: Estudo de Viabilidade
	Slide 31: Estudo de Viabilidade
	Slide 32: Estudo de Viabilidade
	Slide 33: Estudo de Viabilidade
	Slide 34: Testes de Viabilidade 
	Slide 35: Viabilidade Operacional
	Slide 36: Viabilidade Técnica
	Slide 37: Viabilidade de Cronograma
	Slide 38: Viabilidade Econômica
	Slide 39: Tipos de Custos
	Slide 40: Relatório de Viabilidade
	Slide 41: Referências 
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49
	Slide 50
	Slide 51
	Slide 52
	Slide 53
	Slide 54
	Slide 55
	Slide 56
	Slide 57
	Slide 58
	Slide 59

Mais conteúdos dessa disciplina