1 anÁlise de requisitos anÁlise de requisitos professora: aline vasconcelos
TRANSCRIPT
1
ANÁLISE DE REQUISITOSANÁLISE DE REQUISITOS
Professora: Aline VasconcelosProfessora: Aline Vasconcelos
2
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.
Fluxo da informação =entrada + transformações =>saída
Conteúdo da informação
Estrutura da informação
Usuário Analista
Regras do negócio
3
Princípios da Análise de Sistemas (2):• 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
4
Princípios da Análise de Sistemas (3):• 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.
5
Importância da Especificação de Requisitos:
• Quanto mais tarde um erro é detectado, maior é o custo de sua correção:
• Fase Custo relativoRequisitos 0.1Projeto 0.2Codificação 1Testes de Unidades 2Testes de Aceitação 5Manutenção 20
6
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.
7
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
8
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.
9
A Análise Estruturada: Top-Down
• Abordagem top-down:
Explosãode Processo
10
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
11
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
12
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
13
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.
14
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).
15
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.
16
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).
17
A Análise Essencial• Eventos:
Aluno solicita matrícula.
MatricularAluno
Alunodados_matrícula
Matrículascomprovante
Cursos
18
A Análise Essencial• Eventos:
É hora de gerar a Folha de Pagamentos.
EmitirFolha de
Pagamento
RecursosHumanos
Descontos
folha_pagto Funcionários
Abonos
19
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)
20
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.
21
A Análise Orientada a Objetos
• A Classe:
ALUNO
matrículanomeendereço
matricular();alterarEndereço();trancarMatrícula();
Atributos
Operações/Métodos
22
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).
23
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..* *
24
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
25
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.
26
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.