Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Especialização em Análise,
Projeto e Gerência de Sistemas
MÉTODOS DE
ANÁLISE DE SISTEMAS
2ª edição – Maio de 95
Prof. José Roberto Blaschek
ÍNDICE
Capítulo 1
Conceitos Básicos
1.1 Introdução -----------------------------------------------------------------------------03
1.2 Análise de Sistemas ----------------------------------------------------------------03
1.3 Metodologia ---------------------------------------------------------------------------04
1.4 Processo de Desenvolvimento de Sistemas de Informação ---------------04
1.5 Modelo ---------------------------------------------------------------------------------07
1.6 Dimensão de um Modelo ----------------------------------------------------------07
1.7 Nível de Abstração de um Modelo -----------------------------------------------07
1.8 Modelagem de Sistemas de Informação ---------------------------------------07
1.8.1 Modelagem de Sistemas de Informação ---------------------------08
1.8.2 Níveis de Abstração -----------------------------------------------------08
Capítulo 2
Análise Estruturada
2.1 Introdução ---------------------------------------------------------------------------- 09
2.1 Características da Metodologia --------------------------------------------------09
2.3 Princípios Utilizados na Solução de Problemas ------------------------------09
2.4 Modelos da Metodologia------------------------------------------------------------10
2.5 Diagrama de Fluxo de Dados (DFD) --------------------------------------------10
2.5.1 Processo ------------------------------------------------------------------10
2.5.2 Fluxo de Dados ----------------------------------------------------------11
2.5.3 Depósito de Dados ------------------------------------------------------11
2.5.4 Entidade Externa ---------------------------------------------------------12
2.6 Organização de DFD em Níveis -------------------------------------------------12
2.7 Recomendações para Construção de DFD -----------------------------------13
2.8 Diretivas da Metodologia -----------------------------------------------------------14
Capítulo 3
Dicionário de Dados
3.1 Introdução------------------------------------------------------------------------------17
3.2 Organização e Simbologia --------------------------------------------------------17
3.3 Estruturas das Definições ---------------------------------------------------------18
3.3.1 Depósitos de Dados, Entidades e Relacionamentos
com Atributo ----------------------------------------------------------------------19
3.3.2 Fluxos de Dados e Estruturas de Dados --------------------------20
3.3.3 Elementos de Dados ---------------------------------------------------21
Capítulo 4
Português Estruturado
4.1 Introdução -----------------------------------------------------------------------------22
4.2 Características da Especificação ------------------------------------------------22
2 MÉTODOS DE ANÁLISE DE SISTEMAS
Capítulo 5
Diagrama de Transição de Estados
5.1 Introdução------------------------------------------------------------------------------32
5.2 Eventos ---------------------------------------------------------------------------------32
5.3 Estados ---------------------------------------------------------------------------------32
5.4 Condições------------------------------------------------------------------------------33
5.5 Notação Gráfica ----------------------------------------------------------------------33
Capítulo 6
Análise Essencial
6.1 Introdução------------------------------------------------------------------------------34
6.2 Conceitos Básicos -------------------------------------------------------------------34
6.2.1 Tecnologia Perfeita ------------------------------------------------------34
6.2.2 Requisitos Verdadeiro e Requisito Falso ---------------------------35
6.2.3 Sistema Interativo --------------------------------------------------------36
6.2.4 Evento e Resposta-------------------------------------------------------36
6.2.5 Atividade Essencial ------------------------------------------------------38
6.2.6 Memória Essencial-------------------------------------------------------39
6.3 Acesso das Atividades de Custódia à Memória Essencial -----------------40
6.4 Sistema Encarnado------------------------------------------------------------------41
6.5 Especificação da Essência do Sistema-----------------------------------------41
ÍNDICE DE FIGURAS
Figura 1 - Representação Gráfica de Processo---------------------------------------------10
Figura 2 - Representação Gráfica de Fluxo de Dados -------------------------------------11
Figura 3 - Convergência e Divergência de Fluxo de Dados ------------------------------11
Figura 4 - Representação Gráfica de Fluxo de Dados -------------------------------------12
Figura 5 - Semântica dos Acessos aos Depósitos de Dados ----------------------------12
Figura 6 - Representação Gráfica da Entidade Externa -----------------------------------13
Figura 7 - DFD Organizado em Níveis Hierárquicos ---------------------------------------12
Figura 8 - Notação para Diagrama de Transição de Estados ----------------------------33
Figura 9 - Sistema Interativo ---------------------------------------------------------------------36
Figura 10 - Sistema de Resposta Planejada -------------------------------------------------37
Figura 11 - Atividades Essenciais -------------------------------------------------------------39
Figura 12 - Modelo de Dados Genérico -------------------------------------------------------40
Figura 13 - Criar ou Excluir uma Ocorrência de R1 ----------------------------------------40
Figura 14 - Criar ou Excluir uma Ocorrência de R2 ----------------------------------------40
MÉTODOS DE ANÁLISE DE SISTEMAS 3
1
CONCEITOS BÁSICOS
1.1 Introdução
De uma maneira abrangente, Sistema é definido como “um conjunto de
elementos, interrelacionados, que possuem características comuns e que
podem ser entendidos como um todo”.
Dessa forma, podemos pensar no “Sistema Solar”, composto de vários
elementos como o Sol, os planetas, a força gravitacional, as órbitas, etc.
Podemos pensar também em um “Sistema Político” ou um “Sistema Digestivo”.
Os sistemas se dividem em Sistemas Naturais e Sistemas Construídos pelo
Homem. Nos sistemas construídos pelo homem, podemos identificar
claramente o propósito para o qual o sistema foi construído. Nos sistemas
naturais, esse propósito nem sempre é muito claro.
Os sistemas construídos pelo homem podem ser definidos como um conjunto
de componentes relacionados entre si, que podem ser vistos como um todo,
onde os componentes trabalham juntos na execução de um conjunto de
funções para alcançar um propósito. Assim, um sistema tem:
♦ componentes: partes básicas ou elementos que compõem o sistema;
♦ estrutura: maneira como os componentes estão organizados;
♦ comportamento: modificação dos componentes e da estrutura com o passar
do tempo;
♦ funções: transformações que o sistema executa; e
♦ propósito: objetivo que o sistema deve alcançar.
Dentre os sistemas construídos pelo homem, existem aqueles onde um dos
componentes fundamentais são informações. Esses sistemas, chamados
“Sistemas de Informação”, provêem procedimentos para armazenar e tornar
disponíveis informações, que são utilizadas em atividades relacionadas a uma
organização. Se os sistemas de informação utilizam computadores, eles são
denominados “Sistemas de Informação Automatizados”. Esse tipo de sistema é
o alvo principal de nosso curso.
1.3 Metodologia
As Metodologias são utilizadas para orientar e ordenar o trabalho do analista
de sistemas ao longo do processo de desenvolvimento de sistemas.
Uma boa metodologia deve definir o processo de desenvolvimento, possuir
modelos para representar abstrações e diretivas para orientação do trabalho.
Etapa 3: Análise
Atividade para a qual o analista deve dedicar a maior parte de seu tempo e
esforço. Sua principal tarefa consiste em definir e modelar o que o sistema irá
fazer, independente da tecnologia que será utilizada na implementação. É feita
uma reavaliação do plano do projeto, principalmente dos custos e benefícios
quantificados na fase anterior.
MÉTODOS DE ANÁLISE DE SISTEMAS 7
Etapa 4: Projeto
O objetivo desta etapa é definir a melhor alternativa para implementar, em um
dado ambiente computacional, todas as características do sistema definidas na
Análise. Os critérios utilizados na escolha das alternativas são: performance,
interatibilidade (facilidade de uso), manutenibilidade (facilidade de alteração),
segurança (contra acessos indevidos e perdas acidentais de dados) e
confiabilidade.
Etapa 5: Implementação
Consiste na codificação dos programas e criação dos arquivos de dados.
Etapa 6: Testes
Consiste na definição de casos de testes e na realização dos testes de
programas, testes de integração, teste do sistema e teste de aceitação.
Etapa 7: Implantação
Consiste em implantar o sistema nas instalações do usuário. Nessa etapa são
prontificados os manuais, os arquivos são carregados, o sistema é instalado e
os usuários treinados. Um bom planejamento dessas atividades é um fator
crítico para o sucesso do sistema.
Todo o trabalho executado no sistema após a sua implantação é denominado
manutenção, a qual pode ser corretiva (corrigir erros), adaptativa (adaptar o
sistema a um novo ambiente ou ao mesmo ambiente modificado) ou evolutiva
(dotar o sistema de novas capacidades).
1.5 Modelo
É uma representação de um sistema (ou de um objeto qualquer). Um modelo é
uma abstração da realidade, ou seja, representa uma seleção de
características do mundo real, que são relevantes para o propósito como qual o
modelo foi construído.
Razões para Modelar um Sistema:
- possibilitar o estudo do comportamento do sistema;
- possibilitar a discussão de correções e modificações com o usuário, a baixo
custo, minimizando o risco de não aceitação do produto final;
- facilitar a comunicação entre os componentes da equipe de
desenvolvimento; e
- formar uma documentação do sistema.
2
ANÁLISE ESTRUTURADA
2.1 Introdução
As técnicas estruturadas surgiram no sentido bottom-up, isto é, da
programação para a análise.
A programação estruturada, introduzida no final da década de 60, teve como
principal propósito a construção de programas mais fáceis de serem lidos e
compreendidos. Isso foi conseguido com o abandono do comando “GOTO” e
uso, na construção dos programas, de apenas três estruturas básicas de
controle (seqüência, seleção e repetição).
O projeto estruturado, introduzido em meados da década de 70, preocupou-se
com a organização dos programas. As recomendações do projeto estruturado
para organizar um sistema em módulos de tamanho reduzido, cada qual
executando uma única função específica, e sobre a maneira como os módulos
devem ser interligados, contribuíram para a manutenibilidade do sistema.
No final da década de 70, a análise estruturada possibilitou especificar os
requisitos lógicos do sistema em um modelo gráfico de alto nível, capaz de ser
compreendido pelos usuários e de ser mapeado para a arquitetura do projeto.
O modelo gráfico introduzido pela análise estruturada representa os dados
utilizados por um sistema, os fluxos que transportam e os processos que os
transformam.
2.5.1 Processo
Representa as transformações ocorridas com os dados. Corresponde a uma
função ou atividade do sistema de informação.
Uma transformação significa uma ou mais: transformação do conteúdo variável
de um dado de entrada no conteúdo variável de um dado de saída; modificação
ou criação de dados armazenados, a partir do conteúdo (possivelmente
transformado) de dados de entrada; e transformação de dados previamente
armazenados no conteúdo variável de um dado de saída.
O nome do processo deve estar relacionado com uma atividade ou função do
negócio. Devem ser evitados nomes muito físicos (gravar, imprimir), muito
técnicos (deletar, becapear) ou nomes muito genéricos (processar). A figura 1
mostra a representação gráfica de processo, na notação proposta por DeMarco
(1978) e Gane (1979).
Notação DeMarco Notação Gane
Código identificador do processo
1
1 verificar
VERIFICAR pedido
PEDIDO cliente
CLIENTE
Nome do processo:=Verbo no Infinitivo + substantivo
+ (qualificador)
Pedido
(Fluxo de Entrada) Fatura
(Fluxo de Saída)
Fluxo de
Saída
Fluxo de
Entrada
Solicitação-Status-Item Status-Item Fluxo de
(fluxo de diálogo: consulta e Diálogo
resposta sobre estados da memória)
Z
X Dois subconjuntos de "X" são fornecidos por duas origens
X Z
Dois subconjuntos de "X" são enviados a dois destinos
Y
Figura 3 - Convergência e Divergência de Fluxo de Dados
PEDIDOS DI PEDIDOS
PEDIDOS PEDIDOS
Leitura não destrutiva Inclusão, exclusão ou
do conteúdo do alteração do conteúdo
depósito de dados do depósito de dados
PEDIDOS
Leitura e modificação
do conteúdo do
depósito de dados
Figura 5 - Semântica dos Acessos aos Depósitos de Dados
a código da entidade
externa
cliente cliente
Diagrama Zero
1
2
Diagrama 1 Diagrama 2
1.2 2.2
1.1
2.1
ESTUDO DE CASO 1
LIVRARIA ABC
Descrição do Mini-Mundo
ESTUDO DE CASO 2
ASSINATURA DE REVISTAS
3
DICIONÁRIO DE DADOS
3.1 Introdução
O Dicionário de Dados é um modelo em texto utilizado para definir os dados do
sistema. Na fase de análise, o Dicionário de dados conterá os dados
representados no Diagrama Entidade-Relacionamento-Atributo (ERA),
Diagrama de Transição de Estados (DTE) e no Diagrama de Fluxo de Dados
(DFD). É organizado em uma única lista, a qual contém, em ordem alfabética,
as seguintes definições:
♦ depósitos de dados;
♦ entidades e relacionamentos com atributos (correspondem aos registros
dos depósitos de dados);
♦ fluxos de dados;
♦ estruturas de dados que compõem os registros dos depósitos de dados,
fluxos de dados ou uma outra estrutura de dados; e
♦ elementos de dados que compõem os registros dos depósitos de dados,
fluxos de dados e as estruturas de dados.
SÍMBOLO SIGNIFICADO
= é composto de
+ e
() dado ou estrutura opcional
[|] dados ou estruturas alternativas (ou exclusivo)
n{}m repetição de dados ou estruturas, onde n representa o
número mínimo de repetições e m o número máximo.
Quando n e/ou m não são especificados, significa zero ou
mais repetições.
** delimitador de comentário
@ ou ________ chave primária de depósito de dados
18 MÉTODOS DE ANÁLISE DE SISTEMAS
Quando o nome do dado for suficiente para indicar que a descrição está
completa e que não houve esquecimento, mantêm-se apenas os asteriscos no
lugar da especificação do significado.
Exemplo : Indica que o significado do dado não será especificado
Sexo = **
Exemplo:
• Cod-leitor
0 Nome-leitor
4
PORTUGUÊS ESTRUTURADO
4.1 Introdução
O Português Estruturado é um subconjunto do Português, cujas sentenças são
organizadas segundo as três estruturas de controle, introduzidas pela
Programação Estruturada (seqüência, seleção e repetição).
A Análise Estruturada e a Análise Essencial utilizam o Português Estruturado
para especificar a lógica dos processos primitivos do DFD, isto é, dos
processos que não são detalhados em diagramas de nível inferior.
4.3.1 Seqüência
sentença – 1
sentença – 2
sentença – n
Exemplo:
ler nome-aluno em ALUNOS com matrícula-aluno de solicitação-nota ler nota-
aluno associada a matrícula-aluno em NOTAS acrescentar nome-aluno e nota-
aluno em nota-solicitada
4.3.2 Seleção
a) estrutura “SE” “ENTÃO
SE condição
sentença
FIM-SE
4.3.3 Repetição
a) estrutura “FAÇA ENQUANTO”
FAÇA ENQUANTO condição
sentença
FIM-ENQUANTO
FATURAS 1.1
EMITIR RELAÇÃO
FATURAS
VENCIDAS
relação-faturas vencidas
AUTORES
título-livro
1.2
FORNECER
DETALHES DE
LIVRO
ler número-pedido
ler nome-cliente em CLIENTES relacionado com o número-pedido
acrescentar número-pedido e nome-cliente em relaçãs-vendas-do-dia
FAÇA ENQUANTO existir item-pedido em ITENS PEDIDOS relacionado
com número-pedido
ler próxima quantidade
ler valor-item relacionado com quantidade em ITENS
FIM-ENQUANTO
acrescentar valor-pedido em relações-vendas-do-dia
total-dia = total-dia valor-pedido
FIM-ENQUANTO
acrescentar total-dia em relações-vendas-do-dia
enviar relação-vendas-do-dia
FIM
1.4
EMITIR RELAÇÃO
MENSAL DE
COMISSÃO DE
VENDAS
CANDIDATOS REALIZAÇÕES
INÍCIO
obter vagas-filial
acrescentar uma linha em rel-candidatos-selecionados com nome-filial e
número-de-vagas-filial de
vagas-filial
FAÇA ENQUANTO candidatos-selecionados =<número-de-vagas-filial
de vagas-filial
ler próximo-candidato em CANDIDATOS que possua a maior média
aritmética das notas relacionada a candidato e armazenadas em
REALIZAÇÕES e que não possua nenhuma nota relacionada <5,0
Se houver empate de média aritmética
ler primeiro candidato com maior-data-nascimento
FIM-SE
28 MÉTODOS DE ANÁLISE DE SISTEMAS
ELABORA
CLIENTE PEDIDO
O endereço-cliente
O quantidade
O nome-cliente O data-pedido
• código-cliente ITEM • num-pedido
PEDIDO
• nome-livro
LIVRO
CLIENTES LIVROS
ITENS-PEDIDOS
CLIENTES
LIVROS
ITENS-PEDIDOS
f.4)
pedido-cancelado = num-pedido 1.9
CANCELAR
PEDIDO ITENS-PEDIDOS
LIVRO
PEDIDOS
CLIENTE
LIVROS
A1 A2
E1 E2 E3
R1 R2
Os
R4
R3
R5
E4
E5
MÉTODOS DE ANÁLISE DE SISTEMAS 31
g.3.1) armazenar e5 em E5
relacionar e5 com r4 em R4 associado a e1 em E1 e a e4 em E4
g.3.2) armazenar e5 em E5
associar e5 com e2 em E2 e com e3 em E3.
32 MÉTODOS DE ANÁLISE DE SISTEMAS
5
DIAGRAMA DE TRANSIÇÃO DE ESTADOS
5.1 Introdução
5.2 Eventos
Um evento é um acontecimento que provoca reação do sistema. Quando um
evento ocorre, é produzido um estímulo para o sistema. Ao receber o estímulo,
o sistema reage executando alguma atividade ou ação.
Uma atividade é uma operação que consome tempo para ser executada, sendo
relevante representar a sua estrutura. A ação, por outro lado, é uma operação
instantânea – ou que consome um tempo insignificante para ser completada,
cuja estrutura não é relevante para o propósito do sistema.
Exemplo:
a) ”Emitir Requisição” é uma atividade, uma vez que consome tempo para ser
executada, e que o fluxo do controle durante a sua execução é relevante
para o propósito do sistema.
b) ”Apagar Sinal” pode ser considerada uma ação, por ser uma ação que
consome um tempo insignificante para ser completada e cuja estrutura não
é relevante para o propósito do sistema.
O estímulo pode transportar informações (atributos), que serão utilizados pela
atividade, ou por um simples “sinal”, indicando a ocorrência do evento.
As mudanças de estado das entidades são provocadas por eventos.
5.3 Estados
Um estado representa uma propriedade de uma entidade, associada a um
conjunto de valores de atributos e de relacionamentos da entidade. A
modificação de um estado para outro, provocada por um evento, é denominada
transição.
MÉTODOS DE ANÁLISE DE SISTEMAS 33
5.4 Condições
É uma função booleana de valores da entidade. As transições ocorrem
somente se uma determinada condição for verdadeira. Os estados podem ser
definidos em termos de uma condição.
Exemplo: quando chegar a data do vencimento (evento) e o pagamento não
tiver sido efetuada (condição), a duplicata está em atraso (estado
subsequente).
Início Estado 1
faça: atividade
evento (atributos)
[condição] / ação
Estado 2
Fim
ANÁLISE ESSENCIAL
6.1 Introdução
Os conceitos introduzidos pela Análise Essencial endereçaram inicialmente as
duas principais dificuldades que os analistas enfrentavam com a duplicação da
Análise Estruturada: a distinção entre requisitos lógicos e físicos e a ausência
de uma abordagem para particicionar o sistema em partes tão independentes
quanto possível, de modo a facilitar o processo de análise.
Outra característica importante que diferencia as duas metodologias é que a
Análise Essencial constrói modelos distintos para representar as três
dimensões do mundo real: função, dado e controle.
Apesar de introduzir novos conceitos e novas abordagens, a Análise Essencial
preservou todos os métodos da Análise Estruturada – o Diagrama de Fluxo de
Dados, o Dicionário de dados e a Especificação da Lógica dos Processos.
resposta
componente ambiente do
de resposta componente sistema
ad-hoc
planejada interativo
estímulo
ambiente do
resposta
sistema
interativo
Componente estímulo Ambiente do
de resposta Sistema de
planejada Resposta
estímulo componente
Planejada
ad-hoc do
sistema
interativo
resposta
♦Evento Externo – é provocado por uma entidade externa, a qual envia dados
para o sistema. O estímulo produzido por esse tipo de evento é um fluxo de
dados. Os eventos externos são nomeados da seguinte forma:
Entidade externa que provocou o evento + ação + estímulo
resposta
externa resposta
Atividade Atividade Atividade externa
Fundamental de Custódia Composta
resposta resposta
interna interna
Memória Memória Memória
E1 R1 E2
R2
Atividade Atividade
Essencial Essencial
E1 R1 E2 E1 E2
Exemplo:
Propósito Genérico: o sistema tem com propósito tornar mais eficiente
o atendimento dos pedidos dos clientes da livraria e a emissão das
requisições de livros às editoras.
Propósitos Específicos: a) Emitir requisições de livros para as editoras
b) Emitir fatura de cobrança para os clientes
etc.
Lista de Eventos – lista de eventos aos quais o sistema deve responder. Deve
conter o nome do evento, o estímulo e a resposta externa do sistema.
Exemplo:
Diagrama de Contexto
representa o sistema com um único processo e suas interações com o
ambiente
♦Modelo Comportamental
- representa o que o interior do sistema deve fazer para atender ao ambiente. É
composto de:
Dicionário de Dados
ESTUDO DE CASO 3
•Cod
o Nome
matricula • Nome
o End
(0,N)
Aluno Disciplina
possui
(0,N)
(0,2)
(0,N)
o Valor
(1,1) o Sala
(0,N)
nota Avaliação locação
(0,N)
o Data
• Número Horário
• Hora
• Dia
ESTUDO DE CASO 4
BIBLIOTECA ESCOLA
Descrição do Mini-Mundo:
Quando um professor adota uma obra como livro texto de uma disciplina, ele
pode efetuar um bloqueio de livro. Para cadastrar um professor, a direção da
Biblioteca informa à secretaria seu nome, sala e telefone. Cada professor pode
bloquear até 7 obras. Enquanto durar o bloqueio, os livros não poderão ser
emprestados e os alunos somente poderão consultá-los na própria Biblioteca.
Para bloquear um livro, o professor envia à secretaria um formulário de
bloqueio, que permanece arquivado na pasta de bloqueio.
Cada aluno cadastrado pode retirar, por empréstimo, até 5 livros desde que
não estejam bloqueados por nenhum professor e que o aluno não esteja com
a devolução de nenhum livro em atraso.
ESTUDO DE CASO 5
COOPERATIVA DE ALIMENTOS
Descrição do Mini-Mundo:
ESTUDO DE CASO 6
ACADEMIA DE GINÁSTICA
Descrição do Mini-Mundo
REFERÊNCIAS BIBLIOGRÁFICAS