• Nenhum resultado encontrado

Aula05-Análise de Requisitos

N/A
N/A
Protected

Academic year: 2021

Share "Aula05-Análise de Requisitos"

Copied!
24
0
0

Texto

(1)

Engenharia de

Software

Juliana Paschoal Bueno

e-mail:

julianapb@gmail.com

site:

https://sites.google.com/site/engsoft2012/

(2)

Tópicos

• Requisitos • Análise de Requisitos • Analista de Requisitos • Especificação de Requisitos • Validação de Requisitos • Gerência de Requisitos

Requisitos

• Requisitos são descrições dos serviços fornecidos pelo sistema.

• Requisitos devem refletir as necessidades do cliente.

• Exemplos:

• Consultar funcionários. • Fechar um pedido de venda.

(3)

Requisitos

• Requisitos podem ser divididos em dois tipos: • Funcionais.

• Não Funcionais.

• Qual a diferença entre os dois tipos de

requisitos?

Requisitos Funcionais

• Descrevem os serviços que o sistema deve oferecer.

• Como o sistema deve reagir em resposta a uma determinada entrada.

• Como o sistema deve comportar-se em determinadas situações.

(4)

• O requisito funcional deve ser COMPLETO e

CONSISTENTE.

• COMPLETO: deve incluir descrições de todas as funções requeridas pelo usuário/cliente.

• CONSISTENTE: não podem haver definições contraditórias.

Requisitos Funcionais

Requisitos Funcionais

• Exemplo de requisitos para uma livraria: 1.O sistema deve permitir a consulta de livros

pelo nome, editora ou ano de publicação. 2.O sistema deve permitir o cadastro de livros. 3.O sistema deve permitir a remoção de livros

cadastrados através do nome do mesmo.

4.O sistema deve permitir a alteração de dados dos livros cadastrados através do nome do mesmo.

(5)

Requisitos Não Funcionais

• Definem propriedades do sistema.

• Exemplo: confiabilidade, tempo de resposta. • Descrevem restrições do sistema.

• Exemplo: capacidade dos dispositivos de entrada e saída, apresentação dos dados na interface.

Requisitos Não Funcionais

• Requisitos não funcionais podem ser divididos em três grupos:

• Requisitos de produto. • Requisitos organizacionais. • Requisitos externos.

(6)

Requisitos Não Funcionais

• Requisitos de produto: especificam como o produto deve se comportar.

• Confiabilidade, segurança, usabilidade.

• Exemplo: O sistema só poderá ser acessado através da validação de usuário e login.

Requisitos Não Funcionais

• Requisitos organizacionais: requisitos da política e dos procedimentos organizacionais. • Padrões de processos utilizados.

• Exemplo: O processo de desenvolvimento do sistema e dos documentos a serem entregues devem estar em conformidade com o processo padrão de desenvolvimento da empresa.

(7)

Requisitos Não Funcionais

• Requisitos externos: surgem a partir de

fatores externos ao sistema.

• Requisitos legislativos ou requisitos éticos. • Exemplo: O endereço e telefone dos

funionários não podem ser divulgados na intranet.

Análise de Requisitos

• Um programa pode ser muito bem projetado e muito bem codificado, se ele for mal analisado e mal especificado não irá satisfazer o cliente. • O que engloba a tarefa de análise de

requisitos?

• Resposta: descoberta, refinamento, modelagem e especificação.

• Atividade que reúne cliente e analista de requisitos.

(8)

Análise de Requisitos

• O analista age como indagador e o cliente tenta passar os conceitos de funções e desempenho do software que ele necessita.

• Problemas da atividade de levantamento de requisitos:

• Muito conteúdo.

• Interpretação errônea. • Ambiguidade

Análise de Requisitos

• A atividade de análise de requisitos permite que o engenheiro de software especifique:

• Funcionalidades do software. • Desempenho do software.

• Interface do software com outros elementos do sistema.

(9)

Análise de Requisitos

• O resultado da atividade de análise de requisitos permite ao projetista criar projetos de software. • O resultado da análise de requisitos também

permite que o cliente avalie o software depois de construído.

Análise de Requisitos

• A atividade de análise de requisitos pode ser dividida em 5 áreas: • Verificação do problema. • Avaliação e síntese. • Modelagem. • Especificação. • Revisão.

(10)

Análise de Requisitos

• O primeiro passo do analista de requisitos é estudar o problema e seu contexto.

• O segundo passo é estabelecer contato com a administração da organização e com os

usuários/clientes do software que será desenvolvido.

• Depois da comunicação com o cliente, o analista deve definir todas as funções do software.

Análise de Requisitos

• O analista também deve estabelecer as restrições do software.

• E por fim estabelecer as interfaces de entrada e saída.

• Depois de avaliar o problema e as informações de entrada e saída o analista trabalha em uma ou mais soluções.

(11)

• O correto é que o processo de levantamento, avaliação e especificação dure até cliente e desenvolvedor sentirem confiança no resultado final.

• O objetivo do analista é descobrir “o que” e não “como”.

• Quais dados o sistema produz, quais dados o sistema consome, quais funções o sistema deve executar e quais funções o sistema não deve executar.

Análise de Requisitos

Analista de Requisitos

• Pode possuir muitos títulos: engenheiro de sistemas, projetista de sistemas, programador, etc.

• O importante é possuir as seguintes características:

• Capacidade de absorver fatos pertinentes de fontes conflitantes ou confusas.

• Capacidade de entender o ambiente do usuário/cliente.

(12)

Analista de Requisitos

• O importante é possuir as seguintes

características:

• Capacidade de se comunicar bem na forma verbal e escrita.

• Capacidade de compreender conceitos abstratos e enxergar soluções.

Analista de Requisitos

• O analista se comunica com o cliente/usuário para levantar os requisitos do sistema.

• O analista se reúne com a equipe de

desenvolvimento para especificar os requisitos e identificar as soluções possíveis.

• O analista é a ponte entre cliente/usuário e equipe de desenvolvimento do software.

(13)

Especificação de Requisitos

• Uma boa especificação de requisitos permite um bom projeto de software.

Especificação de Requisitos

• Especificação é uma descrição daquilo que é

desejado.

• Especificação não deve representar “como” é realizado.

• As vezes é necessário descrever o ambiente que o software irá residir.

(14)

Especificação de Requisitos

• A especificação deve descrever o sistema da

forma como ele é percebido pelos usuários/clientes.

• A especificação deve ser completa e formal para permitir a validação de testes arbitrários.

Especificação de Requisitos

• Um documento de requisitos pode conter:

• Justificativa sobre a necessidade do software. • Descrição do escopo do problema.

• Requisitos e suas restrições.

• Condições de desempenho, segurança, etc. • Casos de uso.

(15)

Especificação de Requisitos

• Representação de um documento de requisitos: • Deve utilizar tópicos.

• Deve utilizar níveis de detalhamento.

• O conteúdo de uma especificação pode mudar muitas vezes, por isso é importante utilizar uma ferramenta CASE para especificação.

Especificação de Requisitos

• Muitas organizações propõe formatos para

documentação de requisitos, mas nenhum padrão único até hoje foi adotado.

• Padrão da disciplina:

• Breve descrição do problema. • Breve descrição da solução.

• Requisitos numerados (podem ser separados por assunto).

(16)

Especificação de Requisitos

• Padrão da disciplina:

• Requisitos funcionais iniciados por:

RF<numeração>.

• Requisitos não funcionais iniciados por:

RNF<numeração>.

• Exemplos:

• RF10 O sistema deve permitir ao aluno consultar as notas mensais e bimestrais de cada disciplina.

• RNF01 O tempo de resposta máximo do sistema deve ser de 30 segundos.

Validação de Requisitos

• Fase onde a especificação de requisitos é

revisada.

• O documento de requisitos deve ser revisado pelos analistas e clientes.

• Os participantes da validação devem garantir que os requisitos especificados sejam completos, consistentes e precisos.

(17)

Validação de Requisitos

• Exemplos de questões que devem ser consideradas:

• Foram descritas interfaces para todos os

elementos do sistema? • Os diagramas estão claros?

• As funções importantes permanecem dentro

do escopo e cada uma foi adequadamente descrita?

• As restrições de projeto são reais?

Validação de Requisitos

• Exemplos de questões que devem ser consideradas:

• Critérios de validação (do sistema) foram

declarados detalhadamente?

• Existem redundâncias ou omissões?

(18)

Validação de Requisitos

• O analista ainda deve prestar atenção nas características descritas abaixo e questioná-las:

• Uso de termos vagos “frequentemente”, “usualmente”, “as vezes”, “na maior parte”, etc.

• Uso de listas que não estejam completas

“etc”, “assim por diante”, “tal como”, “daí para frente”.

• Não permitir aberturas “… os códigos podem variar de 0 a 100…” Inteiros? Reais?

Validação de Requisitos

• O analista ainda deve prestar atenção nas características descritas abaixo e questioná-las:

• Declarações de certeza devem ser provadas

“nunca”, “nenhum”, “sempre”, “todos”. • Desenvolva dois exemplos pelo menos para

(19)

Validação de Requisitos

• Terminada a validação, a especificação de requisitos torna-se um contrato entre desenvolvimento e cliente.

• Modificações solicitadas pelo cliente devem ser avaliadas e vão causar aumento do prazo e do custo.

Gerência de Requisitos

• Requisitos de softwares complexos estão sempre sofrendo mudanças.

• Os requisitos podem sofrer alterações devido aos seguintes fatores:

• Sistemas grandes possuem muitos usuários. Pessoas diferentes possuem necessidades diferentes. Em um primeiro momento chega-se a um equilílibrio. Com o tempo percebe-chega-se que isso precisa ser mudado.

(20)

Gerência de Requisitos

• Os requisitos podem sofrer alterações devido aos seguintes fatores:

• Quem paga pelo software não é quem irá usá-lo. O cliente impõe restrições de

orçamento e isso pode dar conflito com as necessidades do usuário.

• A empresa e o ambiente técnico sofrem mudanças e o software deve refletir essas mudanças: novo hardware, novos sistemas, novas legislações, etc.

Gerência de Requisitos

• A gerência de requisitos é a atividade de

permitir e controlar mudanças nos requisitos do sistema.

• Ela deve ser feita em paralelo com a elicitação e especificação de requisitos.

(21)

Gerência de Requisitos

• Esta atividade deve considerar os seguintes aspectos em seu planejamento:

• Identificação dos requisitos Cada requisito deve ser identificado de maneira única.

• Gerenciamento de mudanças Esforço para avaliar o impacto e o custo das

mudanças.

Gerência de Requisitos

• Esta atividade deve considerar os seguintes aspectos em seu planejamento:

• Políticas de facilidade de rastreamento políticas para definição de relações entre requisitos e projeto.

• Suporte a ferramentas CASE

ferramentas para auxiliar o gerenciamento de requisitos.

(22)

Gerência de Requisitos

• Existem 3 tipos de rastreamento de requisitos que podem ser feitos:

• Requisito x Origem vincula o requisito a quem fez a proposta do mesmo.

• Requisito x Requisito vários requisitos são dependentes de outros requisitos.

• Requisito x Projeto vincular os requisitos aos módulos do projeto.

Gerência de Requisitos

• Para realizar os 3 tipos de mapeamentos podemos utilizar matrizes de rastreabilidade. • Para um mapeamento de requisito x requisito

em uma matriz as colunas e as linhas

representarão requisitos e a intersecção linha-coluna a dependência.

(23)

Gerência de Requisitos

• Com um ‘X’ marcamos as dependências entre os requisitos. • Exemplo: RF01 RF02 RF03 RF04 RF01 X X RF02 RF03 RF04 X

Gerência de Requisitos

• O gerenciamento de requisitos deve contemplar 3 fases:

• Análise e especificação da mudança

analisar o problema ou a mudança solicitada e especificar uma alteração.

• Análise e custo da mudança efeito da mudança é avaliado utilizando uma matriz. Custo é estimado no documento de requisitos, no projeto e na implementação.

• Implementação da mudança documento de requisitos, projeto e implementação são

(24)

Bibliografia

• “Engenharia de Software”

Autor: Roger S. Pressman

Editora: Pearson – Makron Books

• “Engenharia de Software”

Autor: Ian Sommerville

Editora: Pearson – Addison Wesley

• “Engenharia de Software – Os Paradigmas

Clássico e Orientado a Objetos” Autor: Stephen R. Schach

Editora: Mc Graw Hill

Bibliografia

• “Introdução ao RUP: Rational Unified Process”

Autor: Phillippe Kruchten

Referências

Documentos relacionados

Através do depoimento das enfermeiras, nota-se que a abordagem das questões espirituais ainda sofrem interferências, não acontecendo de forma integral, valorizando-se

Os resultados evidenciam a elevada eficiência do TiO 2 , comprovada também em vários trabalhos na literatura; também indicam, porém, que é possível obter um

Os maiores coeficientes da razão área/perímetro são das edificações Kanimbambo (12,75) e Barão do Rio Branco (10,22) ou seja possuem uma maior área por unidade de

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

A proposta desse trabalho foi a criação de um método de avaliação para apoiar usuários de sistemas computacionais a avaliarem a interação de sistemas, pois

Além de serem gravados no cartão, os dados são transmitidos através de um módulo de rádio frequência transmissor para um receptor do modelo, onde há um outro PIC capaz de

São muitos os problemas ambientais causados pelo crescimento urbano, o poder público não acompanha esse crescimento com investimentos em obras de infraestrutura, são ocupados

Este artigo de revisão bibliográfica objetivou discutir o percurso histórico da loucura e do crime para entender como se deu o processo de constituição da unidade de saúde