es capítulo 4 - engenharia de requisitos
DESCRIPTION
Engenharia de SoftwareTRANSCRIPT
Universidade Federal da Paraíba - UFPBPrograma de Pós Graduação em Informática- PPGIEngenharia de SoftwareMestrado – UFPB
Mestranda
Stephany Vitório
Capítulo 04 do livro de Sommerville Ed. 9
Engenharia de Requisitos
Roteiro
O que é Requisito, Engenharia de Requisitos e Stakeholder?
Importância da Engenharia de Requisitos
Atividades principais da ER
Requisitos Tipos de Requisitos
Requisitos de Qualidade
Características Importantes
O que é requisito?
Uma descrição do que o sistema tem que fazer.
“Condição que se deve satisfazer para alcançar um objetivo”
O que é requisito?
Condição para satisfazer um contrato, um padrão, especificação ou outro documento formalmente imposto.
“Exigência que deve ser cumprida para atingir um objetivo”
O que é Engenharia de Requisitos?
“É o processo pelo qual os requisitos de um produto de software são coletados, analisados, documentados e gerenciados ao longo de todo o ciclo de vida do software.”
“É 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.”
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.
O que é Stakeholder?
“É uma pessoa ou uma organização que tem algum impacto direto ou indireto sobre os requisitos do sistema.”
Interessados Envolvidos
Importância da Engenharia de Requisitos
“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.” Frederick P. Brooks
Problemas com requisitos levam a: Clientes insatisfeitos; Altos custos; Perda de reputação; Compreensão do “problema incorreto”; Efeito cascata nas demais fases de desenvolvimento de software.
Importância da Engenharia de Requisitos
Problemas de Comunicação
Problemas de Comunicação
Quando conversar com um colega de trabalho ou um cliente, lembre-se de que a comunicação transcende as palavras .” Mari Geuer
Omissão de Requisitos
Sintomas e Causas de uma ER inadequada
Pressão do cliente para uma construção rápida do sistema
“Temos que nos acostumar com a pressão. Mais além, toda vez que sentirmos pressão, mentalizar que isso nos ajuda a alcançar nossos objetivos. Dá-nos mais gás para agir em direção à nossa meta.” Lauro Valente
Requisitos Incorretos
Sintomas e Causas de uma ER inadequada
Suposição incorreta, por parte dos stakeholders, de que muito do assunto é evidente
“Geralmente as pessoas falham em serem bons ouvintes. Elas simplesmente presumem que sabem o que a outra pessoa esta dizendo ou simplesmente porque elas já ouviram isso antes adotam a ideia de que aquela pessoa é igual a outra “
Requisitos Ambíguos
4 atividades principais da ER
Elicitação Documentação
Validação
Gerenciamento de Requisitos
Elicitação
Para a etapa de identificação, levantamento e detalhamento de requisitos, podem ser utilizadas diversas técnicas, como, entrevista, estudo arqueológico, JAD, brainstorming, dentre outros.
O engenheiro de requisitos precisa extrair, sugar todas as informações possíveis dos stakeholders e identificar requisitos através de pesquisas.
Documentação
Para documentar requisitos podem ser utilizadas a linguagem natural e modelos formais, utilizando UML, como por exemplo, diagrama de estado, sequência, casos de uso e especificações de casos de uso.
É importante registrar as informações coletadas e identificadas na etapa de levantamento de requisitos de forma adequada.
Validação e Negociação
Para negociar e validar os 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.
Gerenciamento
Gerenciar consiste em manter os dados consistentes, com qualidade garantindo que eles possam ser implementados. É uma etapa ortogonal as outras 3 visto que trabalha garantindo a execução destas.
Compreende todas as medidas que são necessárias às exigências de estrutura para que as outras 3 etapas da ER possa ocorrer.
Tipos de Requisitos de Sistema
Requisitos Funcionais Descrevem os serviços que se espera que o sistema deve oferecer. Especificam as funcionalidades do sistema.
Requisitos Não Funcionais Descrevem aspectos de qualidade que o software deverá apresentar, ou as
restrições a serem atendidas. Os requisitos não funcionais referem-se às condições nas quais deve
funcionar o sistema. Podem estar relacionados a propriedades do sistema, tais como,
confiabilidade, desempenho, etc.
Como especificar requisitos funcionais?
Linguagem Natural Os requisitos funcionais
podem ser descritos em linguagem natural em nível macro.
Casos de uso Um modelo de casos de uso
é utilizado para representar as funcionalidades do sistema de forma
detalhada.
Um modelo de casos de uso identifica quem ou o que interage com o sistema e o que 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.
Requisitos Não Funcionais
TIPOS DE REQUISITOS NÃO FUNCIONAIS (Sommerville)
Requisitos de produtos
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.
Desafios da Análise de Requisitos
Como descobrir os requisitos;
Como comunicar os requisitos para as outras fases ou equipes do projeto;
Como lembrar dos requisitos durante o desenvolvimento e verificar se foram todos atendidos
Como gerenciar a mudança
Conclusão
Um processo de engenharia de requisitos eficiente evita uma compreensão incorreta dos requisitos.
Universidade Federal da Paraíba - UFPBPrograma de Pós Graduação em Informática- PPGIEngenharia de SoftwareMestrado – UFPB
Mestranda
Stephany Vitório
Capítulo 04 do livro de Sommerville Ed. 9
Engenharia de Requisitos