4 eng requisitos

Post on 25-Jun-2015

304 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

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

top related