Buscar

aula05

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

5ºAula
ANÁLISE DE REQUISITOS
Objetivos de aprendizagem
Ao término desta aula, vocês serão capazes de: 
• saber o que é a definição de requisitos;
• entender o que é o processo de levantamento de requisitos.
Olá pessoal, como estão?
Agora, vamos para a quinta aula da nossa disciplina. Nesta 
aula, vamos ver os aspectos de uma atividade muito importante 
no desenvolvimento de software: a análise de requisitos. É 
por meio dela que vamos saber o que o sistema irá fazer para 
satisfazer um cliente. 
Lembre-se de ler atentamente esta aula. Se tiver qualquer 
dúvida, nos avise por meio das ferramentas da área do aluno.
Bons estudos!
97
Introdução a Engenharia de Software 34
1. 
Seções de estudo
 Definição de requisitos
2. Especificação de software ou engenharia de requisitos
3. Processos de comunicação e documentação
1
 Até agora, já pudemos perceber que o desenvolvimento lida com o processo de se transformar um desejo em um produto 
que satisfaça tais desejos. Para isso, precisamos ouvir aqueles que vão usar o sistema. Parece complexo? Vejam a imagem:
Figura 1 – As diferentes maneiras de ser entendido um problema.
Fonte: ROCHA, 2013.
A imagem traz à tona diferentes modos de se compreender 
um produto a ser desenvolvido. O que muda, certamente, é 
de quem é o olhar diante do produto. Porém, uma coisa é 
tantos problemas, concorda?
de software, chegamos a um ponto que pode decidir o 
sucesso do projeto. Independentemente de qual software 
vai ser projetado, caso a análise de requisitos não seja feita 
adequadamente, não teremos um bom resultado.
No contato com o cliente, precisamos tentar chegar a 
para termos uma função e um desempenho adequado em 
relação ao produto a ser desenvolvido. Sommerville ressalta 
isso:
Alguns dos problemas que surgem durante o 
processo de engenharia de requisitos são as 
falhas em não fazer uma clara separação entre 
esses diferentes níveis de descrição. Faço uma 
distinção entre eles usando o termo ‘requisitos 
para expressar a descrição detalhada do que 
o sistema deve fazer. Requisitos de usuário 
como segue:
1. Requisitos de usuário são declarações, em 
uma linguagem natural com diagramas, de 
quais serviços o sistema deverá fornecer a seus 
usuários e as restrições com as quais este deve 
operar.
98
35
2. Requisitos de sistema são descrições mais 
detalhadas das funções, serviços e restrições 
operacionais do sistema de software. O 
documento de requisitos do sistema (às vezes, 
exatamente o que deve ser implementado. 
Pode ser parte do contrato entre o comprador 
do sistema e os desenvolvedores de software 
(SOMMERVILLE, 2013. p. 58).
Perceberam a diferença entre requisitos de usuário e 
de sistema? O primeiro diz respeito às declarações menos 
sistematizadas e o segundo está relacionado às declarações 
Sommerville (2013): 
Os requisitos de um sistema são as descrições 
do que o sistema deve fazer, os serviços que 
oferece e as restrições a seu funcionamento. 
clientes para um sistema que serve a uma 
dispositivo, colocar um pedido ou encontrar 
informações. O processo de descobrir, 
restrições é chamado engenharia de requisitos 
(RE, do inglês requirements engineering) 
(SOMMERVILLE, 2013. p. 58).
de requisitos.
Fonte: SOMMERVILLE, 2011, p. 59.
Requisito funcional e Requisito não funcional. O 
primeiro diz respeito às declarações de serviços que o sistema 
deve fornecer; de que modo o sistema deve reagir a entradas 
serviços ou funções ofertados pelo sistema, como restrições 
de timing, no processo de desenvolvimento e as impostas pelas 
normas (SOMMERVILLE, 2013).
respeitar as normas impostas pela Receita Federal, portanto, o 
requisito não funcional seria “a necessidade do conhecimento 
relativo as normas”. Caso as normas não fossem seguidas, 
poderia gerar uma inconsistência dos dados ou até a não 
Para tanto, é fundamental entender quais são as etapas 
da análise de requisitos. Esse será o assunto de nossa próxima 
seção.
2
engenharia de requisitos
de escrita dos requisitos de usuário e de sistema em um 
documento, chamado de documento de requisitos. Ele deve 
ser claro, com uma linguagem simples, sem contradições, 
mas consistente e completo. Esse paralelo é difícil de ser 
alcançado, tendo em vista que os stakeholders entende os 
tange aos requisitos.
No que diz respeito aos requisitos de usuário, eles devem 
descrever os requisitos funcionais e não funcionais de modo 
que sejam acessíveis aos usuários do sistema, mesmo que estes 
não tenham um conhecimento teórico e técnico a respeito do 
assunto:
Os requisitos de sistema são versões 
expandidas dos requisitos de usuário, usados 
por engenheiros de software como ponto 
de partida para o projeto do sistema. Eles 
acrescentam detalhes e explicam como os 
requisitos de usuário devem ser atendidos pelo 
sistema. Eles podem ser usados como parte 
do contrato para a implementação do sistema 
completa e detalhada de todo o sistema.
Os requisitos do sistema devem descrever 
apenas o comportamento externo do sistema 
e suas restrições operacionais. Eles não devem 
se preocupar com a forma como o sistema 
deve ser projetado ou implementado. No 
entanto, para atingir o nível de detalhamento 
sistema de software complexo, é praticamente 
impossível eliminar todas as informações de 
projeto (SOMMERVILLE, 2013, p. 66). 
serviços que são requisitados do sistema. Na sequência, esses 
operação, bem como ao desenvolvimento do sistema. Quando 
estágio bastante crítico e importante do processo de software: 
caso sejam cometidos erros nessa fase, ocorrerão problemas 
no sistema no que tange ao projeto e à implementação. O 
um sistema que satisfaça os requisitos dos stakeholders. Há dois 
níveis por meio dos quais devem ser apresentados: os usuários 
alto nível; já os desenvolvedores de sistemas recebem uma 
há quatro atividades principais do processo de engenharia de 
requisitos. Vejamos:
99
Introdução a Engenharia de Software 36
1. Estudo de viabilidade. É feita uma 
estimativa acerca da possibilidade de se 
satisfazerem as necessidades do usuário 
atuais de software e hardware. O estudo 
considera se o sistema proposto será 
rentável a partir de um ponto de vista de 
negócio e se ele pode ser desenvolvido no 
âmbito das atuais restrições orçamentais. 
Um estudo de viabilidade deve ser 
relativamente barato e rápido. O resultado 
deve informar a decisão de avançar ou 
não, com uma análise mais detalhada.
2. Elicitação e análise de requisitos. Esse é 
o processo de derivação dos requisitos 
do sistema por meio da observação 
dos sistemas existentes, além de 
discussões com os potenciais usuários 
e compradores, análise de tarefas, entre 
outras etapas. Essa parte do processo 
pode envolver o desenvolvimento de um 
ou mais modelos de sistemas e protótipos, 
os quais nos ajudam a entender o sistema 
3. 
de traduzir as informações obtidas durante 
a atividade de análise em um documento 
Dois tipos de requisitos podem ser 
incluídos nesse documento. Requisitos 
do usuário são declarações abstratas 
dos requisitos do sistema para o cliente 
sistema são uma descrição mais detalhada 
da funcionalidade a ser provida.
4. A validação de requisitos. Essa 
a realismo, consistência e completude 
(SOMMERVILLE, 2013, p. 24-25).
Ao serem seguidas cada uma dessas etapas, todos os 
realizar as atividades no processo de requisitos, até mesmo 
porque, durante a análise de requisitos, novos requisitos 
extreme programming, os requisitos são desenvolvidos de forma 
incremental, de acordo com as prioridades do usuário, e a 
elicitação de requisitos é feita pelos usuários que integram a 
equipe de desenvolvimento” (SOMMERVILLE, 2013, p. 25).
3 - Processos de comunicação e 
documentação
entender de que forma se dá a criação de um software. 
Nesse caminho, é importante entender que, por mais que 
um software seja desenvolvido para atender às necessidades 
expressas por um determinado cliente, nem sempre esse 
cliente irá utilizar tal software, que será destinado, na verdade,Nessa perspectiva, pensando na questão da comunicação 
nos processos de desenvolvimento de software, temos três 
partes principais envolvidas: o cliente, o desenvolvedor 
expressos pelo cliente sejam compatíveis com as possíveis 
necessidades dos usuários do sistema. Certamente, é preciso 
muita atenção por parte do desenvolvedor, tendo em vista 
• 
relativos aos softwares, ou ao processo de 
desenvolvimento de um programa.
• O desenvolvedor, certas vezes, não conhece o 
sistema que o software irá executar. Para tanto, 
destaca-se a importância dos documentos no que 
diz respeito à comunicação com o cliente acerca das 
possíveis problemáticas.
Figura 3 – Usuários de um documento de engenharia de 
requisitos.
Fonte: SOMMERVILLE, 2011, p. 64.
de sistemas críticos, é necessário haver requisitos detalhados. 
Em caso de sistemas desenvolvidos por uma companhia 
precisas. Já quando o processo interno tem desenvolvimento 
interativo, não são necessários tantos detalhes.
Sommerville mostra um exemplo de Documento de 
100
37
Requisitos. Vejamos no quadro a seguir:
O Documento de Requisitos, na visão de Sommerville
O documento de requisitos de software, às vezes chamado 
desenvolvedores do sistema devem implementar. Deve incluir tanto 
detalhada dos requisitos de sistema. Em alguns casos, os requisitos 
de usuário e de sistema são integrados em uma única descrição. Em 
número de requisitos, os requisitos detalhados de sistema podem 
ser apresentados em um documento separado.
Documentos de requisitos são essenciais quando um contratante 
externo está desenvolvendo o sistema de software. Entretanto, os 
métodos ágeis de desenvolvimento argumentam que os requisitos 
mudam tão rapidamente que um documento de requisitos já está 
ultrapassado assim que termina de ser escrito. Portanto, o esforço 
é, em grande parte, desperdiçado. Em vez de um documento formal, 
os requisitos de usuário de forma incremental e escrevem-nos 
em cartões como estórias de usuário. O usuário então prioriza os 
requisitos para implementação no próximo incremento do sistema.
[...]
O nível de detalhes que você deve incluir em um documento de 
requisitos depende do tipo de sistema em desenvolvimento e 
o processo usado. Os sistemas críticos precisam ter requisitos 
detalhados, porque a segurança e a proteção devem ser analisadas 
em detalhes. Quando o sistema está sendo desenvolvido por uma 
processo interno de desenvolvimento iterativo é usado, o documento 
de requisitos pode ser muito menos detalhado e quaisquer 
ambiguidades podem ser resolvidas durante o desenvolvimento do 
sistema.
organização de um documento de requisitos baseada em uma 
caso, eu estendi a norma para incluir informações sobre a evolução 
prevista do sistema. Essa informação ajuda os engenheiros de 
manutenção de sistema e permite que os projetistas incluam suporte 
para futuros recursos do sistema.
Naturalmente, a informação incluída em um documento de requisitos 
depende do tipo de software a ser desenvolvido e da abordagem de 
desenvolvimento que está em uso. Se uma abordagem evolutiva é 
de requisitos deixará de fora muitos dos capítulos detalhados 
os requisitos não funcionais de alto nível de sistema. Nesse caso, os 
projetistas e programadores usam seu julgamento para decidir como 
atender aos requisitos gerais de usuário para o sistema.
No entanto, quando o software é parte de um projeto de um sistema 
de grande porte que inclui interações entre sistemas de hardware 
requisitos podem ser muito longos e devem incluir a maioria ou todos 
os capítulos mostrados na Tabela [...]. É particularmente importante 
incluir uma tabela completa, abrangendo conteúdo e índice de 
documentos, para que os leitores possam encontrar as informações 
de que necessitam.
Fonte: SOMMERVILLE, 2011, p. 65.
101
Introdução a Engenharia de Software 38
Sommerville (2011) deixa claro que a informação 
incluída em um documento de requisitos dependerá de qual 
tipo de software será desenvolvido. Também dependerá 
da abordagem de desenvolvimento em uso. Em caso de 
abordagens evolutivas, o documento de requisitos excluirá 
muitos capítulos detalhados, e o enfoque se dará sobre 
não funcionais de alto nível de sistema. Nesse caso, são os 
projetistas e programadores que decidirão como atender aos 
requisitos gerais de usuário para o sistema.
Maiores detalhes a respeito desta matéria serão abordados 
na disciplina de Engenharia de Requisitos. E com isso, 
Retomando a aula
então, recordar?
Na primeira seção, estudamos o conceito de requisitos de 
um sistema. Vimos que eles são as descrições do que o sistema 
deve fazer, os serviços a serem oferecidos e as restrições para 
seus funcionamentos.
Entendemos que ela diz respeito ao processo de compreensão 
refere às restrições relativas à operação, bem como ao 
desenvolvimento do sistema.
de comunicação permite entender de que forma se dá a criação 
de um software. Nesse caminho, é importante entender que, 
por mais que um software seja desenvolvido para atender 
às necessidades expressas por um determinado cliente, nem 
sempre esse cliente irá utilizar tal software, que será destinado, 
CANTÚ, Márcia Regina Simm. Artigo Engenharia de 
Software 24 - A Comunicação no Processo de Software. 
DevMedia, 2010. Disponível em: < https://www.devmedia.
com.br/artigo-engenharia-de-software-24-a-comunicacao-
no-processo-de-software/16807>. Acesso em: 28 nov. 
2018.
ROCHA, Fabio Gomes. Engenharia de Requisitos: 
em: <https://www.devmedia.com.br/engenharia-de-
. Acesso em: 
28 nov. 2018.
Vale a pena acessar
Vale a pena
ENGHOLM JR., Hélio. Engenharia de software na 
prática. São Paulo: Novatec, 2015.
PAULA FILHO, Wilson de Pádua. Engenharia de 
software: fundamentos, métodos e padrões. 3. ed. Rio de 
Janeiro: LTC, 2012.
PEDRYCZ, Witold; PETERS, James F.; GARCIA, 
Ana Patrícia Machado de Pinho. Engenharia de software: 
teoria e prática. Rio de Janeiro: Campus, 2001.
PRESSMAN, Roger S.; FECCHIO, Mário Moro; 
GRIESI, Ariovaldo. et al. Engenharia de software: uma 
Porto Alegre: Bookman; Santana: AMGH Editora, 2016.
SOMMERVILLE, Ian. Engenharia de software. 9. ed. 
São Paulo: Pearson Addison Wesley, 2011.
Vale a pena ler
Minhas anotações
102

Continue navegando