Buscar

Aula 3 Engenharia de Software

Prévia do material em texto

Profª. M.Sc. Larissa Luz Gomes 
lariluz@yahoo.com.br 
 
 Aula 3 – Requisitos de Sistemas 
Engenharia de Software 
Agenda 
• Requisitos 
• Níveis de Requisitos 
• Engenharia de Requisitos 
• Tipos de Requisitos 
• Determinação de Requisitos 
• Técnicas de Coleta de Requisitos 
• Entrevista 
• JAD 
• Questionário 
• Análise de Documentos 
• Observação 
 
Requisitos 
Requisitos 
A linha divisória entre a fase de Análise e de 
Projeto é muito tênue, pois os documentos 
gerados na fase de análise são a primeira etapa 
no projeto do novo sistema; 
 A etapa de Determinação de Requisitos é a etapa 
mais crítica de todo SDLC, pois é onde os 
elementos principais do sistema começam a surgir. 
Durante a determinação de requisitos é fácil alterar 
o sistema porque pouco trabalho ainda foi feito. 
Requisitos 
A finalidade da etapa de Determinação de 
Requisitos é converter a explicação de alto nível 
desses requisitos, relatados na Solicitação do 
Sistema, em uma lista mais precisa que possa ser 
usada como informação para o restante da fase 
de análise; 
Isso pode ser feito através da criação de casos de 
uso, construção dos modelos de processos e um 
modelo de dados que mais tarde se expande com 
base nos requisitos e, depois, conduz ao projeto. 
Requisitos 
Requisitos segundo o IEEE: 
1)Uma condição ou uma capacidade de que o usuário necessita, 
para solucionar um problema ou alcançar um objetivo. 
2)Uma condição ou uma capacidade que deve ser alcançada ou 
possuída por um sistema ou componente do sistema, para 
satisfazer um contrato, um padrão, uma especificação ou 
outros documentos impostos formalmente. 
3) Uma representação documentada de uma condição ou 
capacidade, conforme os itens (1) e (2). 
O que é um Requisito? 
O que é um Requisito? 
Um requisito é simplesmente uma declaração do que o 
sistema deve ser ou quais características ele precisa 
possuir; 
Na fase de análise os requisitos são escritos sob a 
perspectiva do pessoal da empresa e eles enfocam “o 
que” o sistema faz: requisitos da empresa ou do 
usuário; 
Os requisitos evoluem de declarações detalhadas dos 
recursos para declarações detalhadas da forma técnica 
em que os recursos serão implementados: requisitos do 
sistema; 
Níveis de Requisitos 
Níveis de Requisitos 
Requisitos do usuário: 
Se destinam às pessoas envolvidas no uso e na 
aquisição do sistema; 
Devem ser escritos usando linguagem natural, tabelas 
e diagramas de modo que sejam compreensíveis. 
 Exemplo:o software deve oferecer um meio de 
representar e acessar arquivos externos criados 
por outras ferramentas 
Níveis de Requisitos 
Requisitos do sistema: 
Se destinam a comunicar, de modo preciso as funções 
que o sistema tem de fornecer. 
Podem ser escritos: 
em linguagem estruturada, 
formulário estruturado de linguagem natural, 
linguagem com base em alguma linguagem de 
programação 
linguagem especial para especificação de requisitos 
Exemplo: para o requisito do usuário definido no 
item anterior, pode-se ter: 
 1.1. O usuário deve dispor de recursos para definir 
o tipo dos arquivos externos; 
 1.2 Cada tipo de arquivo pode ter uma ferramenta 
associada a ele; 
 1.3 Cada tipo de arquivo externo pode ser 
representado como um ícone específico na tela 
Níveis de Requisito 
Engenharia de Requisito 
Engenharia de Requisito 
A Engenharia de Requisito está relacionada com a 
identificação de metas a serem atingidas pelo sistema a ser 
desenvolvido; 
Está relacionada com a operacionalização de tais metas em 
serviços e restrições (princípios, técnicas, linguagens e 
ferramentas) ; 
Está interessada com o relacionamento desses fatores para fazer 
uma especificação do comportamento do software e de sua 
evolução ao longo do tempo. 
É uma área ampla e multidisciplinar: aspectos sociais e 
humanos são importantes 
Tipos de Requisitos 
Tipos de Requisitos 
Por natureza, os requisitos podem ser 
Funcionais ou Não-funcionais: 
Funcional: se relaciona diretamente a um processo 
que o sistema tem de executar ou às informações que 
ele precisa conter; 
Não-funcional: se referem a propriedades 
comportamentais que o sistema deve possuir, como 
desempenho ou usabilidade. 
Requisitos funcionais: 
 dizem respeito à definição das funções que um sistema ou um 
componente de sistema deve fazer. 
 descrevem as transformações a serem realizadas nas entradas de 
um sistema ou em um de seus componentes, a fim de que se 
produzam saídas. 
 devem ser consistentes e completos 
 
 Exemplo: o sistema fornecerá telas apropriadas para o usuário 
ler documentos no repositório de documentos. 
Tipos de Requisitos 
Requisitos não funcionais: 
 dizem respeito às: 
 restrições, 
 aspectos de desempenho, 
 interfaces com o usuário, 
 confiabilidade, 
 segurança, 
manutenibilidade, 
 portabilidade, 
Padrões. 
Os erros nestes tipos de requisitos se constituem os mais caros e 
difíceis de corrigir, uma vez que um sistema tenha sido 
implementado. 
Tipos de Requisitos 
Requisitos Não-Funcionais 
Exemplo Prático 
Exercício – Identificando Requisitos 
1. Você recebeu uma lista de requisitos para um sistema de vendas, onde o 
sistema deve: 
 Ser acessível a usuários da Web 
 Restringir o acesso às informações de rentabilidade 
 Incluir informações sobre custo real e orçado 
 Fornecer relatórios de gerenciamento 
 Possuir um tempo de resposta máximo de 2s 
 Incluir informações de todas as subsidiárias da empresa 
 Fornecer classificação mensal de desempenho do pessoal de vendas 
 
Quais são os requisitos funcionais e não-funcionais? Forneça dois exemplos 
adicionais de cada. 
 
Determinação de Requisitos 
Determinação de Requisitos 
Determinar requisitos para a definição dos 
mesmos é uma tarefa tanto da empresa quanto 
da área de TI. 
Sistemas falharam por acharem que apenas os 
analistas estavam em melhor posição para 
definir como um sistema de computador devia 
funcionar. 
Determinação de Requisitos 
A abordagem mais eficiente é ter tanto o pessoal 
da empresa quanto os analistas trabalhando 
juntos para determinar os requisitos; 
Porém, às vezes, os usuários não sabem 
exatamente o que desejam, e os analistas 
precisam ajudá-los, três técnicas têm se 
popularizado para ajudar os analistas a fazerem 
isso. 
Exercício 
Gerenciamento de Requisitos 
Gerenciamento de Requisitos 
A definição de requisitos evolui com o tempo conforme 
novos requisitos são identificados; 
Cuidado: a evolução da definição de requisitos deve ser 
gerenciada cuidadosamente ou o sistema continuará 
crescendo, e nunca será concluído; 
A equipe do projeto identifica os requisitos e avalia quais 
deles se encaixa no escopo do sistema, quando um requisito 
reflete real necessidade mas esta fora do escopo, ele é 
adicionado a uma lista de requisitos futuros. 
Técnicas de Coleta de 
Requisitos 
Técnicas de Coleta de 
Requisitos 
O processo básico de análise é dividido em 3 
etapas: 
Compreender o sistema no estado; 
Identificar melhorias; 
Desenvolver requisitos para o sistema futuro. 
Devemos observar que as técnicas de análise de 
requisitos e as de coleta de requisitos caminham 
juntas. 
 
Um analista precisa de sólidas habilidades de 
análise crítica. É a habilidade de reconhecer 
vantagens e desvantagens e reformular uma 
idéia de uma forma melhorada; 
Esta habilidade é necessária para examinar 
satisfatoriamente os resultados da coleta de 
requisitos, identificar requisitos da empresa e 
traduziresses requisitos em um conceito para o 
novo sistema. 
Técnicas de Coleta de 
Requisitos 
Um analista é como um detetive, ele sabe que há 
um problema a ser resolvido, e portanto, deve 
procurar pistas que descubram a solução. 
 
Técnicas de Coleta de 
Requisitos 
Existem diversas técnicas, mas trataremos 5 
técnicas: 
1. Entrevistas 
2. Desenvolvimento de aplicações conjuntas (JAD) 
3. Questionários 
4. Análise de documentos 
5. Observação. 
Técnicas de Coleta de 
Requisitos 
Entrevista: é normalmente a técnica de coleta de 
requisitos mais usada. Há 5 etapas básicas: 
1. Seleção do entrevistado: criar uma agenda de entrevistas 
que liste todas as pessoas que serão entrevistadas, quando e 
para que finalidade. 
Técnicas de Coleta de 
Requisitos 
Exemplo de Agenda de 
Entrevista 
Exemplo e Pergunta 
Suponha que você é o gerente do projeto. Crie uma agenda de 
entrevistas para o sistema em questão. 
Entrevista: é normalmente a técnica de coleta de 
requisitos mais usada. Há 5 etapas básicas: 
1. Seleção do entrevistado: criar uma agenda de entrevistas 
que liste todas as pessoas que serão entrevistadas, quando e 
para que finalidade. 
2. Planejamento das perguntas da entrevista: há 3 tipos de 
perguntas na entrevistas: abetas fechadas e analíticas. 
 
Técnicas de Coleta de 
Requisitos 
Tipos de Perguntas 
Entrevista: é normalmente a técnica de coleta de 
requisitos mais usada. Há 5 etapas básicas: 
1. Seleção do entrevistado: criar uma agenda de entrevistas 
que liste todas as pessoas que serão entrevistadas, quando e 
para que finalidade. 
2. Planejamento das perguntas da entrevista: há 3 tipos de 
perguntas na entrevistas: abetas fechadas e analíticas. 
3. Preparação para a entrevista: é necessário preparar-se 
para a entrevista como para uma apresentação, antecipe 
possíveis respostas e como fará o acompanhamento das 
mesmas. 
Técnicas de Coleta de 
Requisitos 
 Entrevista: é normalmente a técnica de coleta de requisitos mais 
usada. Há 5 etapas básicas: 
1. Seleção do entrevistado: criar uma agenda de entrevistas que liste 
todas as pessoas que serão entrevistadas, quando e para que finalidade. 
2. Planejamento das perguntas da entrevista: há 3 tipos de perguntas na 
entrevistas: abetas fechadas e analíticas. 
3. Preparação para a entrevista: é necessário preparar-se para a 
entrevista como para uma apresentação, antecipe possíveis respostas e 
como fará o acompanhamento das mesmas. 
4. Condução da Entrevista 
5. Acompanhamento após a Entrevista: preparo de um relatório de 
entrevista que descreva as informações da mesma. 
Técnicas de Coleta de 
Requisitos 
Desenvolvimento de aplicações conjuntas 
(JAD – join application development): é uma 
técnica de coleta de informações que permite 
que a equipe de projeto, usuários e os gerentes 
trabalhem juntos para identificar requisitos para 
o sistema. 
Técnicas de Coleta de 
Requisitos 
JAD 
 Questionários: série de perguntas escritas para obter informação de um 
usuário. Assim como na entrevista e as seções JAD é necessário 
selecionar os indivíduos para quem vai passar o questionário. 
 Bom esquema de Questionário: 
 Comece com perguntas inofensivas 
 Agrupe os itens em seções que sejam logicamente corretas 
 Não coloque itens importantes muito no final do questionário 
 Não amontoe uma página com muitos itens 
 Evite abreviações 
 Evite itens ou termos tendenciosos ou sugestivos 
 Numere as perguntas para evitar confusão 
 Teste antecipadamente o questionário para identificar perguntas confusas 
 Ofereça anonimato aos entrevistados. 
Técnicas de Coleta de 
Requisitos 
Análise de Documentos: a equipe de projeto que 
desenvolveu o sistema anteriormente produziu a 
documentação que será atualizada em todos os projetos 
subseqüentes. 
Técnicas de Coleta de 
Requisitos 
Análise 
De 
Documento 
Análise de Documentos: a equipe de projeto que 
desenvolveu o sistema anteriormente produziu a 
documentação que será atualizada em todos os projetos 
subseqüentes. 
Observação: ato de examinar atentamente processos 
em execução para reunir informações sobre o sistema 
no estado permitindo que o analista veja a realidade da 
situação, ao invés de escutar pessoas nas entrevistas ou 
seções de JAD. 
Técnicas de Coleta de 
Requisitos 
Dúvidas e Perguntas 
Próxima Aula 
• Metodologias de Desenvolvimento de Software

Continue navegando