1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

40
1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Transcript of 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Page 1: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

1

A importância da Análise de Requisitos

Profa.MS. Sandra R. Costa Fantinato

19 de agosto de 2010.

Page 2: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Fatores de sucesso no desenvolvimento de software:

• Envolvimento do usuário no projeto

• Suporte da alta direção

• Definição clara dos requisitos2

Page 3: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

3

Page 4: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

4

Princípios da Análise de Sistemas:

• O domínio do problema deve ser compreendido.

• O domínio da informação deve ser bem definido.

• O escopo do sistema deve ser definido levando-se em conta possíveis restrições.

Usuário AnalistaRegras do negócio

Page 5: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Importância da análise de sistemas

• Estudo do problema e de suas possibilidades de solução

• Interação com o usuário final para adequação do sistema as suas necessidades

• Especificação da solução mais indicada

• Avaliação prévia do custo-benefício

• Análise da viabilidade de implantação

• Flexibilidade para desvios de rota sem grandes prejuízos

• Documentação de todo o processo

5

Page 6: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Pessoas envolvidas na Análise• Usuários: pessoas para quem o sistema está sendo construído

– operadores– supervisores– executivos

• Analistas de Sistemas: pessoas responsáveis pela especificação do sistema

• Programadores: pessoas responsáveis pela implementação, em uma

linguagem de programação específica, da especificação gerada pelos

Analistas de Sistemas

• Administradores de Dados: Responsáveis pela gestão dos dados da

aplicação

6

Page 7: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

O Analista de Sistemas• Participa do processo de Desenvolvimento de Software

• Interage diretamente com o usuário, levantando as suas necessidades

• Especifica O QUE DEVE ser feito

• Deve estudar e entender o negócio e a missão da empresa

• Capacidade de absorver fatos pertinentes a partir de fontes conflitantes ou confusas

• Capacidade de se comunicar bem de forma escrita e verbal

• Capacidade de "ver a floresta ao invés das árvores”

• É o responsável pelo desenvolvimento de uma Especificação de Requisitos de Software e participa de todas as revisões

• Estuda a viabilidade do sistema

– Técnica, Financeira, Prazos (Viabilidade Técnica, Viabilidade Econômica, Definição de Cronograma, Alternativas)

7

Page 8: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Perfil do analista

8

Page 9: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Conhecimentos Técnicos do Analista

• Metodologias de Análise

• Modelagem de Dados

• Planejamento e Gerência de Projetos

• Engenharia de Software

• Administração

• Tecnologias Emergentes9

Page 10: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

10

Princípios da Análise de Sistemas• Modelos que descrevam a informação, função e

comportamento do sistema devem ser produzidos.

• Os modelos devem ser divididos em partições.

Controlar Vendas

Registrar produtos

Registrar cliente

Atualizar estoque

Emitir Nota Fiscal

Registrarvenda

Page 11: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

11

Princípios da Análise de Sistemas• Objetivo dos modelos: ajudam o analista a

compreender o sistema; facilitam a determinação da inteireza e consistência da especificação; base para o projeto.

• O processo de análise deve mover-se da informação essencial para os detalhes de implementação (projeto).

• Métodos de análise => métodos de modelagem.

Page 12: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

12

Métodos de Análise de Requisitos: A Análise Estruturada

• Principais Desenvolvedores: Tom de Marco 1979, Chris Gane 1982;

• Princípios: problemas devem ser particionados; gráficos devem ser utilizados; requisitos lógicos (essenciais) devem ser diferenciados dos físicos (implementação); ferramentas para descrever a lógica e os procedimentos.

• Base: modelos de fluxo de informação; representar dados e os processos que os transformam.

Page 13: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

13

A Análise Estruturada: Notação• Notação básica utilizada no DFD:

EntidadeExterna

Envia ou recebe informações do sistema. Fora dos limites do sistema

Processo Transformador de informações interno aos limites do sistema.

Fluxo de dado Depósito de Dados

Armazenamento de dados no sistema.

Page 14: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

14

A Análise Estruturada• Ferramentas de modelagem:

• DFD - Diagrama de Fluxo de Dados: representa fluxo de informação e transformações.

• Ferramentas de apoio: dicionário de dados e descrição de processos (português estruturado, árvores ou tabela de decisão). Matricular

AlunoAluno

dados_matrícula

Matrículascomprovante

Cursos

Page 15: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

15

Paciente

Diagrama de Contexto

marcação-consulta

dados_pessoais

Paciente

nota_consultas

info_pagto

Médicodados_médico

escala

valor_consulta

ficha_paciente

Sistema de Controle

de Atendimento Médico

Page 16: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

16

Controlar Consultas

1

Paciente

Figura 0 - Controle de Atendimento Médico

marcação-consulta

Consultas

Pacientesnome

dados_pessoais

GerenciarMédicos

3

Controlar Pagamentos

2

Paciente

nota_consultas

info_pagto

Consultastotal_paciente

pagto

Médicodados_médico

escala

valor_consulta

ficha_pacientevalor

Médicos

especialidade

horário_semana

disponibilidade

horários

Page 17: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

17

A Análise Estruturada: Diagrama de Contexto

• Representação Inicial: a função global do sistema é representada como uma única transformação de informação.

Sistema de ControleEscolar

A

B

C

Diagrama de Contexto -Figura de Nível 0

Page 18: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

18

A Análise Estruturada

• A partir do Diagrama de Contexto, novas figuras são produzidas, representando “explosões” (refinamentos) das figuras de nível anterior.

• O DFD é organizado por níveis.

• Os processos mais primitivos, do último nível da explosão, devem ser descritos. É gerada então a especificação de processos.

Page 19: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

19

A Análise Estruturada:Especificação de Processos

• A especificação de processos representa o algoritmo de transformação do processos.

• Deve ser gerada para os processos do último nível de refinamento do DFD. Primeiro passo para o projeto: especificação de programas.

• Podem ser usadas ferramentas textuais (texto narrativo, português estruturado) ou gráficas (tabelas de decisão, árvores de decisão).

Page 20: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

20

A Análise Estruturada:Dicionário de Dados

• Análise do domínio da informação.

• Cada fluxo de dados representa um ou mais itens de informação.

• Cada depósito de dados é uma coleção de de itens de dados individuais.

• Descreve: fluxos de dados, depósitos de dados, estruturas de dados e elementos de dados.

Page 21: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

21

Métodos de Análise: A Análise Essencial

• Principais Desenvolvedores: McMenamim e Palmer, 1984.

• Princípios: especificação de requisitos funcionais através da essência do sistema; introduz o conceito de eventos e atividades essenciais.

• Ferramentas: diagramas de eventos (declaração de eventos + DFD), diagrama de contexto, DFD expandido, memória essencial (DER).

Page 22: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

22

A Análise Essencial• Eventos:

Aluno solicita matrícula.

MatricularAluno

Alunodados_matrícula

Matrículascomprovante

Cursos

Page 23: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

23

A Análise Essencial• Eventos:

É hora de gerar a Folha de Pagamentos.

EmitirFolha de

Pagamento

RecursosHumanos

Descontos

folha_pagto Funcionários

Abonos

Page 24: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

24

A Análise Essencial• Memória Essencial do Sistema:

DER - Diagrama de Entidades e Relacionamentos

Aluno cursa

Disciplina

Curso(1,1) (1,N)

envolve

(1,N)(0,N)

Page 25: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

25

Métodos de Análise: A Análise Orientada a Objetos

• Principais Desenvolvedores: Coad e Yourdon, 1990; Rumbaugh, Booch e Jacobson - UML - 1997.

• Princípios: utilização do mesmo formalismo, conceito de objeto e classe, ao longo de todo o ciclo de vida de desenvolvimento; unifica dados e funções em uma única entidade de modelagem.

Page 26: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

26

A Análise Orientada a Objetos

• A Classe:

ALUNO

matrículanomeendereço

matricular();alterarEndereço();trancarMatrícula();

Atributos

Operações/Métodos

Page 27: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

27

A Análise Orientada a Objetos

• Principal Linguagem: UML - The Unified Modeling Language

• Principais ferramentas de modelagem: Diagramas de Classe, Diagramas de Casos de Uso e Diagramas de Interação (operações).

Page 28: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

28

Diagrama de Classe

• Mais importante diagrama da UML.

• Reflete a Estrutura Estática do sistema.

• Elemento principal: a Classe.

nome: stringdtNascimento:date

Pessoa

mostrarIdade()verificarPrimNome()

Empresa

CGC: stringendereço: string

obterCGC()atualizarEndereço()

1..* *

Page 29: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

29

Diagrama de Use Case

• Mostra atores externos ao sistema e funcionalidades requeridas pelos mesmos representadas através de casos de uso.

Solicita Extrato

Consulta Saldo

Caixa Eletrônico

Cliente

Page 30: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

30

Ferramentas CASE • CASE - Computer Aided Software Engineering

(Engenharia de Software auxiliada por computador)

• Ferramentas de engenharia de software voltadas para apoiar os desenvolvedores (analistas/projetistas) nas atividades de modelagem e construção.

• Automatiza as atividades manuais e aumenta a qualidade da informação.

Page 31: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

31

Ferramentas CASE Exemplos de funções de uma ferramenta CASE

(System Architect - versão 3.0):

• Diagrama, modela, especifica informações e dados dos sistemas;

• Verifica a exatidão e integridade dos diagramas;

• Automatiza e padroniza a documentação dos sistemas.

Page 32: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Requisito• Algo que se deseja ou precisa

• Uma característica que o usuário necessita para resolver um problema ou atingir um objetivo

• Uma característica que o sistema deve possuir ou atingir para satisfazer um contrato padrão ou outro documento formal

• Sua especificação é feita através de um documento contendo uma descrição completa do que o sistema deverá fazer sem conter informações de como será feito.

• Análise do negócio

• O QUE X COMO

32

Page 33: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Análise de Requisitos

33

Processo de descobrir, analisar, documentar

e verificar serviços requeridos para um

sistema e suas restrições operacionais.

Page 34: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Tipos de requisitos

• Requisitos de usuário – Declarações em linguagem natural mais diagramas

de serviços que o sistema fornece e suas restrições operacionais. Escritos para os usuários.

• Requisitos de sistema – Um documento estruturado estabelecendo

descrições detalhadas das funções, serviços e restrições operacionais do sistema. Define o que deve ser implementado e assim, pode ser parte de um contrato entre o cliente e o desenvolvedor.

34

Page 35: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Requisitos funcionais e não funcionais

• Requisitos funcionais– Declarações de serviços que o sistema deve fornecer,

como o sistema deve reagir a entradas específicas e como o sistema deve se comportar em determinadas situações.

• Requisitos não funcionais– Restrições sobre serviços ou funções oferecidos pelo

sistema tais como restrições de timing, restrições sobre o processo de desenvolvimento, padrões, etc.

35

Page 36: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Requisitos funcionais• Descrevem a funcionalidade ou serviços de sistema.

• Dependem do tipo de software, dos usuários esperados e o tipo de sistema onde o software é usado.

• Requisitos funcionais de usuário podem ser declarações de alto nível do que o sistema deve fazer mas os requisitos funcionais de sistema devem descrever os serviços de sistema em detalhe.

36

Page 37: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Exemplos de requisitos funcionais

• O usuário deve ser capaz de pesquisar em todo o conjunto inicial de banco de dados ou selecionar um subconjunto a partir dele.

• O sistema deve fornecer telas apropriadas para o usuário ler os documentos no repositório de documentos.

• Para todo pedido deve ser alocado um identificador único (ORDER_ID) no qual o usuário deve ser capaz de copiar para a área de armazenamento permanente da sua conta.

37

Page 38: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Mais Exemplos de Requisitos Funcionais

• O sistema deve ser capaz de armazenar todas as informações sobre seus clientes(RG, CPF, Nome, data de nascimento e endereço) no banco de dados.

• O sistema deverá atribuir um identificador único (código) para cada pedido de produtos.

• O sistema deverá cancelar automaticamente um orçamento que tenha sido feito há mais de 30 dias e não tenha sido transformado em venda.

38

Page 39: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Requisitos não funcionais

• Estes definem propriedades e restrições de sistema, por exemplo, confiabilidade, tempo de resposta e requisitos de armazenamento. Restrições são capacidade de dispositivos de E/S, representações de sistema, etc.

• Podem ainda estar relacionados a portabilidade, de SO, de BD, etc.

• Requisitos de processo podem também ser especificados impondo uma ferramenta CASE particular, linguagem de programação ou método de desenvolvimento.

• Requisitos não funcionais podem ser mais críticos do que os requisitos funcionais. Se estes não forem atendidos, o sistema é inútil.

39

Page 40: 1 A importância da Análise de Requisitos Profa.MS. Sandra R. Costa Fantinato 19 de agosto de 2010.

Exemplos de requisitos não funcionais

40