Escolar Documentos
Profissional Documentos
Cultura Documentos
Requisitos de Software
Prof. MSc. Jonathan Bandeira - jonathan.bandeira@ulife.com.br
Resolução – Exercício Aula 1 (Questão 2)
2. Admita que você foi contratado(a) para desenvolver um software para hospital
com o objetivo de gerenciar as marcações de consultas e histórico de pacientes
do empreendimento. Enumere quais atividades seriam realizadas em cada
etapa do desenvolvimento e o que seria produzido em cada uma delas (quais
artefatos), considerando o modelo escolhido na questão anterior.
3
Resolução – Exercício Aula 1 (Questão 2)
• Requisitos de Software
• Definição
• Engenharia de Requisitos
• Principais Atividades da Engenharia de Requisitos
• Tipos de Requisitos: Funcionais e Não-Funcionais
• Regras de Negócio
• Documento de Requisitos
• Problemas da Etapa de Requisitos
• Exercícios
• Bibliografia
6
Por onde Começar o Desenvolvimento do
Software?
• Planejamento, análise e
validação de requisitos.
7
O que é Requisito ?
• “Condição que se deve satisfazer para alcançar um objetivo”.
8
O que é Requisito ?
• “Exigência que deve ser cumprida para atingir um objetivo”.
9
O que é Engenharia de Requisitos (ER) ?
• É a ciência que estuda como realizar a criação, construção, análise, desenvolvimento e
manutenção dos requisitos que devem ser cumpridos por um sistema.
• Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais
tal sistema operará e será desenvolvido.
• Tais serviços e restrições são chamados de requisitos.
10
Engenharia de Requisitos (ER)
• Objetivos:
• Conhecer os requisitos pertinentes, alcançar um consenso entre os stakeholders sobre esses
requisitos, documentando-os de acordo com as normas dadas e gerenciando-as sistematicamente.
• Compreender e documentar os desejos e necessidades dos stakeholders, que especifica o
gerenciamento de requisitos para minimizar o risco de entregar um sistema que não atende os
desejos das partes interessadas.
11
O que é Stakeholder ?
12
As Quatro Principais Atividades da ER
13
As Quatro Principais Atividades da ER
(Elicitação)
• Para a etapa de identificação, levantamento e
detalhamento de requisitos, podem ser
utilizadas diversas técnicas, como:
• Entrevista
• Estudo do Negócio da Organização
• Brainstorming
• Outros...
15
As Quatro Principais Atividades da ER
(Validação e Negociação)
• Para negociar e validar requisitos, é
importante ter a avaliação de um especialista,
de modo que possa ser verificado se o que foi
levantado condiz com o que foi solicitado.
• Deve ser garantida a qualidade dos requisitos,
validando se estão corretos, Para isso é
importante negociar com o cliente o que
realmente é necessário para o produto.
16
As Quatro Principais Atividades da ER
(Gerenciamento)
• Gerenciar consiste em manter os dados
consistentes com qualidade, garantindo que
eles possam ser implementados.
• Compreende todas as medidas que são
necessárias as exigências de estrutura para
que as outras três etapas da ER possa ocorrer.
17
Benefícios da Engenharia de Requisitos
• Entendimento comum entre desenvolvedores, clientes e
usuários sobre o trabalho a ser feito.
• Uma fonte confiável para estimativa de custos, pessoal,
prazos e etc.
• Melhoria na qualidade do software a ser desenvolvido.
• Objetivo traçado gerando assim uma menor manutenção
e customização do software futuramente.
18
Características de uma boa Especificação de
Requisitos
• Clara e não ambígua
• Completa
• Correta
• Consistente
• Concisa
• Confiável
19
Requisitos de Software
20
Requisitos Funcionais e Não-Funcionais
• Requisitos Funcionais:
• Descrevem os serviços que se espera que o sistema deve fornecer.
• Especificam as funcionalidades do sistema.
• Como o sistema deve reagir a entradas específicas.
• Como o sistema deve se comportar em determinadas situações.
21
Requisitos - Como Especificar ?
• Casos de Uso:
• Linguagem Natural:
• Um modelo de casos de uso é utilizado
• Os requisitos funcionais podem para representar as funcionalidades do
ser descritos em linguagem sistema de forma detalhada.
natural em nível macro. • Um modelo de casos de uso identifica
quem ou o que interage com o sistema e
o que o sistema deve fazer.
• Casos de uso são técnicas baseadas em
cenários onde são identificados atores e
sua interação com o sistema.
22
Requisitos Funcionais
23
Requisitos Não-Funcionais
24
Requisitos Não-Funcionais
• Requisitos do Produto
• São os requisitos que especificam o comportamento do produto.
• Exemplo: requisitos de desempenho, que especificam com que rapidez o sistema
deve operar.
• Requisitos Organizacionais
• São procedentes de políticas e procedimentos nas organizações do cliente e do
desenvolvedor.
• Entre os exemplos estão os padrões de processos que devem ser utilizados; os
requisitos de implementação, como a linguagem de programação; ou a metodologia
de processo de desenvolvimento.
• Requisitos Externos
• Abrange todos os requisitos procedentes de fatores externos ao sistema e ao seu
processo de desenvolvimento.
• Exemplo: requisitos de interoperabilidade, requisitos legais, requisitos éticos, etc.
25
Exemplos - Requisitos Funcionais
• SISTEMA DE GERENCIAMENTO DE PROJETOS:
26
Exemplos - Requisitos Não-Funcionais
• SISTEMA DE GERENCIAMENTO DE PROJETOS:
27
28
Regras de Negócio
• Regras de Negócio:
• São premissas e/ou restrições aplicadas a uma operação comercial de uma
empresa.
• Por exemplo, de forma que atenda ao negócio e funcione da maneira
esperada, ou seja, conforme as regras estabelecidas.
29
Exemplos
• Requisito Funcional RF01: Efetuar login;
• Regra de Negócio RN01: Ao clicar no campo de senha, animar coruja;
• Requisito Não-Funcional RNF01: Requisitos de portabilidade: o sistema deverá rodar em
qualquer plataforma.
30
Documento de Requisitos de Sistema
• O documento de requisitos de sistema - DRS - pode ser entendido
como a descrição formal e oficial onde é descrita e comunicada os
requisitos a todos os envolvidos no processo de desenvolvimento de
software (stakeholders). Ele é basicamente composto de:
31
Principais Problemas na Etapa de Requisitos
Erros mais comuns cometidos no desenvolvimento:
• Ignorar um cliente ou grupo de clientes
• Omitir um grupo de requisitos
• Permitir inconsistências entre grupos de requisitos
• Aceitar requisito inadequado
• Aceitar requisito incorreto, indefinido, ou impreciso
• Aceitar um requisito ambíguo e inconsistente
32
Exercício 01
Considere o seguinte sistema descrito:
“Um sistema automático de emissão de passagens vende passagens de trem. A partir de
uma lista de possíveis destinos, os usuários escolhem seu destino e apresentam um cartão
de crédito e um número de identificação pessoal. Os destinos possíveis devem ser
organizados de modo a facilitar a escolha. Após a escolha do destino, o sistema deve
responder prontamente se há espaço disponível no trem. A passagem é emitida e o custo
dessa passagem é incluído em sua conta do cartão de crédito. Quando o usuário pressiona
o botão para iniciar, uma tela de menu com os possíveis destinos é ativada, juntamente
com uma mensagem para que o usuário selecione um destino. Uma vez selecionado um
destino, pede-se que os usuários insiram seu cartão de crédito. A validade do cartão é
checada e o usuário então deve fornecer um número de identificação pessoal. Quando a
transação de crédito é validada, a passagem é emitida. O formato do bilhete de passagem
deve seguir ao padrão definido pelo Sistema Nacional de Tráfego Ferroviário”.
• Para o sistema em questão:
• 1- Identifique os requisitos funcionais e não funcionais.
• 2- Aponte possíveis incertezas nessa descrição.
33
Exercício 02
Considere o seguinte sistema:
a) Produto para gestão de escola
• O produto deve dar apoio à gestão de cursos oferecidos por uma escola. Cada curso é
composto por um conjunto de disciplinas. Disciplinas têm carga horária, pré-requisitos e
programas. Uma disciplina pode ser ofertada várias vezes por ano, podendo haver turmas
simultâneas da mesma disciplina. Cada instrutor tem um conjunto de disciplinas que pode
oferecer, devendo a alocação de encargos didáticos obedecer a um máximo de horas por
semana. A matrícula dos alunos também deve obedecer a uma carga horária máxima.
35
Exercício 02
Considere o seguintes sistema:
c) Produto para gestão de clínica médica
• O produto deve dar suporte à gestão de clínica onde trabalha uma equipe de médicos. Será
usado pelos recepcionistas para marcação de consultas e também pelos médicos, para
registro do histórico dos pacientes. Deve ser controlada a recepção de resultados de
exames que sejam enviados diretamente dos laboratórios para os médicos; por opção do
médico, estes resultados podem ser entregues aos pacientes, ou guardados na clínica para
consulta posterior.
37
Bibliografia
COMPLEMENTAR
• 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&fil
tro=todos&from=busca&page=_14§ion=0#/legacy/276
• 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&fil
tro=todos&from=busca#/legacy/476
• 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
• 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.
• https://integrada.minhabiblioteca.com.br/#/books/9788577804528/cfi/0!/4/4@0.00:38.0
38
Modelagem de Software
Requisitos de Software
Prof. MSc. Jonathan Bandeira - jonathan.bandeira@ulife.com.br