4 eng requisitos
TRANSCRIPT
Engenharia de Software
Engenharia de Requisitos
Prof. Marcelo de Barros
Um dos maiores problemas enfrentados no desenvolvimento de sistemas grandes e complexos são os requisitos
O desenvolvimento de Sistemas tem início com a identificação da necessidade
Identificar a necessidade é o ponto de partida na evolução de um sistema baseado em computador
Introdução
É papel do analista ou engenheiro identificar as necessidades iniciais, e logo em seguida, as metas globais. E desta forma, dar início ao desenvolvimento
◦ Função e desempenho desejados?
◦ Questões de confiabilidade e qualidade?
◦ Metas globais do sistema?
◦ Requisitos de Produção?
◦ Mercados e concorrência?
◦ Tecnologia disponível?
◦ Extensões futuras?
Introdução
“Condição que se deve satisfazer para alcançar um objetivo”
O que são Requisitos?
“Condição que se deve satisfazer para alcançar um objetivo”
“Exigência que deve ser cumprida para atingir um objetivo”
O que são Requisitos?
É a ciência que estuda a criação, construção, análise, desenvolvimento e manutenção dos requisitos que devem
ser cumpridos por um sistema.
Deve descobrir, analisar, documentar e verificar requisitos.
Segundo IEEE, engenharia de requisitos é:
O que é Engenharia de Requisitos ?
Engenharia de Requisitos é uma abordagem sistemática e disciplinada para a especificação e gerenciamento de requisitos com os seguintes 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
Objetivos
“Pessoa ou uma organização que tem algum impacto direto ou indireto sobre os requisitos do sistema”
O que é Stakeholder?
Interessados Envolvidos
Frederick P. Brooks
“A parte mais árdua na construção de um software consiste exatamente em identificar o que construir. Nenhuma outra fase compromete tanto o resultado do trabalho se elaborada de forma incorreta.Nenhuma outra parte dificulta tanto as correções posteriores”
Importância da Engenharia de Requisitos
Três principais causas de requisitos incorretos
Sintomas e Causas de uma Engenharia de Requisitos Inadequada
Pressão do cliente para uma construção rápida do sistema
Sintomas e Causas de uma Engenharia de Requisitos Inadequada
Problemas de Comunicação
Sintomas e Causas de uma Engenharia de Requisitos Inadequada
Suposição incorreta, por parte dos stakeholders, de que muito do assunto é evidente
Sintomas e Causas de uma Engenharia de Requisitos Inadequada
Principais atividades da Engenharia de Requisitos
O engenheiro de requisitos precisa extrair, sugar todas as informações possíveis dos stakeholders e identificar requisitos através de pesquisas
Para a etapa de identificação, levantamento e detalhamento de requisitos, podem ser utilizadas diversas técnicas◦ Entrevista, estudo em local de uso, brainstorming, dentre
outros.
Elicitação de Requisitos
É importante registrar as informações coletadas e identificadas na etapa de levantamento de requisitos de forma adequada
Para documentar requisitos podem ser utilizadas a linguagem natural e modelos formais, utilizando por exemplo UML◦ Diagrama de estado, sequência, casos de uso, especificações de casos
de uso, etc.
Documentação
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.
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
Validação e Negociação
Compreende todas as medidas que são necessárias às exigências de estrutura para que as outras 3 etapas da ER possam ocorrer
Gerenciar consiste em manter os dados consistentes, com qualidade, garantindo que eles possam ser implementados.
É uma etapa paralela as outras 3 visto que trabalha garantindo a execução destas
Gerenciamento
Existem dois níveis de descrição para Requisitos:◦ Declaração abstrata de alto nível
Serviço que o sistema deve fornecer ou uma restrição do sistema
◦ Definição formal e detalhada de uma função do sistema
Estas definições originaram dois novos conceitos:◦ Requisitos de usuário◦ Requisitos de sistema
Requisitos
Leitores de diferentes tipos de especificação:
Requisitos
Descrevem as atividades que os usuários deverão ser capazes de executar com a utilização do sistema
Descrevem os requisitos funcionais e não funcionais, de modo que eles sejam compreensíveis pelos usuários do sistema que não possuem conhecimento técnico detalhado
Devem:◦ Especificar apenas o comportamento externo do sistema◦ Evitar características de projeto do sistema
Requisitos de Usuário
Não deve usar:◦ Jargões de software◦ Notações estruturadas◦ Notações formais◦ Descrever os requisitos por meio da implementação do sistema
Deve escrever:◦ Em linguagem simples◦ Com tabelas e formulários simples◦ Diagramas Intuitivos
Requisitos de Usuário
Problemas que podem surgir:◦ Falta de clareza◦ Confusão de requisitos◦ Fusão de requisitos
Este requisito deve incluir informações conceituais e detalhadas
Sempre que possível, deve-se associar uma justificativa lógica a cada requisito do usuário
Requisitos de Usuário
O que fazer para minimizar os mal-entendidos ao redigir os requisitos do usuário:
1. Padronização do formato para as definições de requisitos
2. Usar a linguagem de forma consistente
3. Utilizar destaque no texto para ressaltar as partes principais do requisito
4. Evitar, sempre que possível, o uso de jargões de informática
Requisitos de Usuário
Versões expandidas dos requisitos de usuário usados como ponto de partida para o projeto do sistema
Adicionam detalhes e explicam como os requisitos de usuário devem ser fornecidos pelo sistema
Requisitos do Sistema
Os requisitos podem ser escritos utilizando notações especializadas:◦ Linguagem natural estruturada e estilizada◦ Modelos gráficos dos requisitos
Forma de escrever os requisitos do sistema◦ Liberdade para elaborar os requisitos é limitada◦ Todos os requisitos são redigidos de maneira padronizada
Garante que algum grau de uniformidade seja imposto nas especificações
Requisitos do Sistema: Especificaçõesem Linguagem Estruturada
Requisitos de sistema são classificados como:◦ Requisitos funcionais:
Declarações de serviços que o sistema deve fazer, como o sistema deve reagir e como o sistema deve se comportar
◦ Requisitos não funcionais: Restrições sobre os serviços ou as funções oferecidos pelo sistema
Requisitos do Sistema
Descrevem o que o sistema deve fazer Dependem:◦ Do tipo do software que está sendo desenvolvido◦ Usuário a que o software se destina
A especificação de requisitos funcionais deve ser completa e consistente◦ Tarefa difícil de ser atingida, pois diferentes stakeholders tem diferentes
necessidades
Exemplo:◦ O sistema deve possibilitar o cadastramento dos dados pessoais dos
clientes◦ O sistema deve emitir relatórios estatísticos gerenciais a cada quinze
dias
Requisitos Funcionais
Não estão diretamente relacionais às funções específicas fornecidas pelo sistema
Podem estar relacionados com às propriedades do sistema◦ Confiabilidade◦ Tempo de resposta◦ Espaço de armazenamento
Podem especificar desempenho, proteção, disponibilidade e outras propriedades emergentes do sistema
Requisitos Não Funcionais
Exemplos:◦ O tempo de resposta do sistema não deve ultrapassar 10 segundos◦ Software deve ser operado no sistema Windows◦ O banco de dados usado deverá ser o SQL Server 2005◦ O banco de dados deve ser protegida para acesso apenas de usuários
autorizados
Problema comum é que eles podem ser difíceis de verificar◦ Usuário ou clientes definem eles como metas gerais (usabilidade,
capacidade do sistema de se recuperar de falhas ou resposta rápida ao usuário)
Requisitos Não Funcionais
Tipos de Requisitos:◦ Requisitos de usuário◦ Requisitos de sistema
Classificação dos Requisitos de sistema:◦ Requisitos funcionais◦ Requisitos não funcionais
Revisando
Listar Requisitos Funcionais e Não Funcionais para os sistemas:◦ Sistema para Biblioteca◦ Sistema Acadêmico para Universidades◦ Media Player para Facebook
Grupos de 4 pessoas
Entregar até o final da aula
Exercício