Escolar Documentos
Profissional Documentos
Cultura Documentos
1
Descrição dos Procedimentos................................................................................................................. 26
Conversão das Bases de Dados .............................................................................................................. 26
Instalação ............................................................................................................................................... 26
5.6. ABORDAGEM RADICAL VERSUS CONSERVADORA .......................................................................... 26
5.7. CICLO DE VIDA DA PROTOTIPAGEM ............................................................................................... 27
6. MODIFICAÇÕES NA ANÁLISE DE SISTEMAS............................................................................ 29
6.1. A PASSAGEM PARA A ANÁLISE ESTRUTURADA .............................................................................. 29
6.2. MODIFICAÇÕES NA ANÁLISE ESTRUTURADA ................................................................................. 30
6.3. SURGIMENTO DAS FERRAMENTAS AUTOMATIZADAS DE ANÁLISE ................................................. 31
6.4. USO DA PROTOTIPAGEM ................................................................................................................. 31
7. DIAGRAMA DE FLUXO DE DADOS............................................................................................... 32
7.1. COMPONENTES DE UM DFD ........................................................................................................... 32
Processos ................................................................................................................................................ 32
Fluxos de Dados ..................................................................................................................................... 32
Depósitos de Dados ................................................................................................................................ 33
Entidades Externas ................................................................................................................................. 34
7.2. DIRECTRIZES PARA ELABORAÇÃO DE DFD .................................................................................... 35
Escolher Nomes Significativos................................................................................................................ 35
Devem-se numerar os Processos ............................................................................................................ 35
Evitar DFD Complexos........................................................................................................................... 35
Refazer tantas vezes quantas forem necessárias..................................................................................... 35
Criar diagramas esteticamente agradáveis ............................................................................................ 36
Certificar-se de que o DFD seja logicamente consistente ...................................................................... 36
Posição dos elementos ............................................................................................................................ 36
Duplicação de elementos ........................................................................................................................ 36
7.3. DFD COM NÍVEIS ........................................................................................................................... 37
Diagrama de Contexto............................................................................................................................ 37
Diagrama Nível 0.................................................................................................................................... 37
Diagrama de Níveis Intermédios ............................................................................................................ 38
8. DICIONÁRIO DE DADOS.................................................................................................................. 39
8.1. NOTAÇÃO ....................................................................................................................................... 39
8.2. DEFINIÇÕES .................................................................................................................................... 40
8.3. ELEMENTOS OPCIONAIS .................................................................................................................. 40
8.4. ITERAÇÃO ...................................................................................................................................... 40
8.5. SELECÇÃO ...................................................................................................................................... 41
8.6. SINÓNIMO ...................................................................................................................................... 41
8.7. DEFINIÇÃO DE DEPÓSITOS.............................................................................................................. 41
9. DIAGRAMA DE ENTIDADES-RELACIONAMENTOS ................................................................ 42
9.1. ENTIDADES .................................................................................................................................... 42
9.2. RELACIONAMENTOS ....................................................................................................................... 42
Tipos de Relacionamentos ...................................................................................................................... 42
Classificações adicionais........................................................................................................................ 43
Cardinalidade ......................................................................................................................................... 43
Casos especiais de relacionamentos....................................................................................................... 43
10. DIAGRAMA DE TRANSIÇÕES DE ESTADO............................................................................ 44
10.1. NOTAÇÃO ....................................................................................................................................... 44
Estado ..................................................................................................................................................... 44
Mudanças de Estado ............................................................................................................................... 44
Condições e Acções ................................................................................................................................ 45
10.2. DIAGRAMAS SUBDIVIDIDOS............................................................................................................ 46
2
10.3. CONSTRUINDO UM DTE ................................................................................................................. 47
11. ESPECIFICAÇÕES DE PROCESSOS.......................................................................................... 48
11.1. LINGUAGEM ESTRUTURADA .......................................................................................................... 48
11.2. PRÉ/PÓS ......................................................................................................................................... 52
Pré-Condições ........................................................................................................................................ 52
Pós-Condições ........................................................................................................................................ 53
11.3. TABELA DE DECISÃO...................................................................................................................... 54
Estrutura de uma Tabela de Decisão...................................................................................................... 54
Criar uma Tabela de Decisão................................................................................................................. 54
11.4. ÁRVORE DE DECISÃO ..................................................................................................................... 55
Criar uma Árvore de Decisão................................................................................................................. 55
12. O MODELO ESSENCIAL.............................................................................................................. 56
12.1. A ABORDAGEM CLÁSSICA .............................................................................................................. 56
Os quatro modelos .................................................................................................................................. 56
Porque a abordagem clássica não funcionava ....................................................................................... 56
12.2. O QUE É O MODELO ESSENCIAL ..................................................................................................... 56
12.3. DIFICULDADES NA CONSTRUÇÃO DO MODELO ESSENCIAL............................................................. 57
12.4. COMPONENTES DO MODELO ESSENCIAL ........................................................................................ 57
12.5. O MODELO AMBIENTAL ................................................................................................................. 58
12.6. O MODELO COMPORTAMENTAL PRELIMINAR ................................................................................ 58
A Abordagem Clássica (Top-Down) ....................................................................................................... 58
Particionamento por eventos .................................................................................................................. 58
12.7. O MODELO COMPORTAMENTAL FINAL .......................................................................................... 59
Nivelamento ............................................................................................................................................ 59
Complementar Dicionário de Dados ...................................................................................................... 59
Complementar as Especificações de Processos...................................................................................... 59
Complementar o Modelo de Dados ........................................................................................................ 59
3
1. Introdução
4
2. A natureza dos Sistemas
Muitos dos sistemas baseados em computador são substituições ou implementacções de
sistemas não-computadorizados.
Exemplos:
• Sistema gravitacional
• Sistema digestivo
• Sistema rodoviário
• Sistema bancário
• Sistemas Naturais
• Sistemas Físicos
• Sistemas Vivos
5
• Animais
• Vegetais
• Espécie humana
• Custo
• Conforto
• Segurança
• Manutenibilidade
• Política
Dados:
São sequências ordenadas de símbolos dos quais se pode extrair informação. Porém, não
contêm nenhum significado quando analisados isoladamente.
Informação:
6
Componentes de um Sistema de informação:
• Hardware
• Software
• Pessoas
• Dados
• Procedimentos
7
2.6. Classificação quanto ao nível organizacional
• Nível operacional
• Regista transacções
• Frequência: periódica
8
Sistemas de Planeamento e Controlo Operacional
• Frequência: periódica
9
Sistemas de Planeamento Estratégico
• Quanto maior for um sistema, maior é o número dos seus recursos que serão destinados
à manutenção diária.
• Os sistemas fazem sempre parte de sistemas maiores e podem sempre ser divididos em
sistemas menores.
• Os sistemas crescem.
10
3. Participantes no Desenvolvimento de Sistemas
Cada projecto possui um elenco diferente de pessoas envolvidas. Um analista de sistemas
precisa ter aptidões interpessoais (além do conhecimento da tecnologia e,
preferencialmente, também do negócio), ou seja, deve falar com outras pessoas usando uma
“linguagem” diferente.
3.1. Utilizadores
É a pessoa ou grupo de pessoas para quem o sistema é construído. Para que o
desenvolvimento do sistema seja bem sucedido, é necessário que o analista estabeleça um
contacto directo com o utilizador.
• Operativos
• Supervisores
• Executivos
11
• Possuem uma visão global
• Amador
• Novato arrogante
• Experiente
12
Alguns problemas que devem ser considerados:
• Normalmente não se envolvem no projecto até que ele tenha sido concluído. Neste
ponto, modificar o sistema é muito mais difícil
• Habilidade em tecnologia
13
O projectista deve fornecer informações suficientes para que o analista possa dizer se os
requisitos dos utilizadores podem ser completamente atendidos ou devem ser modificados.
3.6. Programador
Responsável por codificar e testar (usando uma linguagem de programação) os módulos do
sistemas modelados pelos projectistas.
Num cenário ideal, o programador não deveria ter contacto com o analista já que se baseia
apenas no trabalho feito pelo projectista.
3.7. Operador
Pessoa encarregada de operar os computadores, da rede, da segurança do hardware e das
bases de dados, da execução dos programas e da saída das impressoras.
14
4. Principais Problemas no Desenvolvimento de Sistemas
Para desenvolver sistemas úteis, de alta qualidade e que realmente satisfaçam as
necessidades dos utilizadores, é necessário considerar os seguintes aspectos:
• Produtividade;
• Confiabilidade;
• Manutenibilidade.
4.1. Produtividade
Os dois aspectos mais importantes deste problema são:
Visível:
• Solicitados oficialmente pelos utilizadores e que foram aceites e tiveram suas verbas
aproveitadas pela gestão.
• Ainda não foram iniciados por falta de recursos humanos (analistas, programadores,
etc.)
Invisível:
• Sistemas que os utilizadores sabem que precisam, mas não se dão ao trabalho de
solicitar oficialmente porque ainda estão a aguardar outros projectos
Desconhecido:
• Sistemas que os utilizadores ainda não sabem que precisam mas que emergirão logo
que sejam concluídos outros sistemas dos backlogs visível e invisível.
Num estudo realizado em 1982, descobriu-se que a demanda do backlog invisível era 5,35
vezes maior que o visível.
Tempo de desenvolvimento
Há uma preocupação não apenas com o backlog global mas com a perda de oportunidades
de negócios devido à incapacidade de desenvolver os sistemas de apoio necessários.
15
Muitos projectos nem são terminados. Dentre os principais motivos, pode-se citar:
• Problemas técnicos
• Problemas de gestão
• Inexperiência da equipa
O tempo necessário para criar um sistema pode ser reduzido através de algumas técnicas:
16
4.2. Confiabilidade
Os erros em sistemas podem passar despercebidos (uma impressão de um número não
formatada correctamente) ou causar graves acidentes (problema em sistema de tráfego
aéreo).
17
• O número de erros volta a crescer devido a correcções ou modificações que introduzem
novos erros (após T3).
4.3. Manutenibilidade
A correcção de erros é apenas um dos aspectos da manutenção de sistemas. A manutenção
também está vinculada a factores como:
• Modificações no hardware
• Novos dispositivos
4.4. Qualidade
A qualidade de um sistema pode ser mensurada considerando a eficácia e a eficiência
obtidas:
• São ineficientes;
18
• Têm manutenção constante, difícil e onerosa.
4.5. Portabilidade
Consiste em escrever sistemas que podem ser transferidos para outras plataformas.
Apesar de não ser um problema da alçada do analista, ele deve especificar que há essa
necessidade.
4.6. Segurança
À medida que os sistemas de informação crescem em número e importância, o risco de
violações aumenta.
19
5. Ciclo de Vida do Projecto de Desenvolvimento
Um ciclo de vida de projecto bem definido oferece mecanismos para planejar e acompanhar
actividades de forma mais precisa, possibilitando a detecção de problemas de forma mais
rápida.
Outras organizações adoptam um ciclo de vida existente (criado por outra organização) e
adaptam às suas necessidades.
5.2. Objectivos
• Participantes têm uma visão do que estão a fazer no projecto e qual a importância.
Pontos de divergência que normalmente existem nas organizações mas que não
descaracterizam o ciclo de vida clássico:
• Pode não haver o Estudo de Hardware se o sistema não deve causar sérios impactos e
há disponibilidade;
21
• Projecto preliminar e Projecto detalhado são reunidos numa única fase (Projecto);
• As fases de teste podem ser reunidas e até feitas junto com a codificação.
• Implementação Bottom-Up
• Os erros triviais são encontrados no início do período de teste e os erros mais sérios
são encontrados no final.
• A depuração tende a ser extremamente difícil durante os estádios finais dos testes
do sistema;
• Progressão Sequencial
• Apesar de ser uma tendência humana (terminar uma fase para começar a seguinte),
não representa a realidade dos projectos por várias razões:
• Os requisitos mudam;
22
5.4. Ciclo de Vida Semi-Estruturado
• Dicionário de Dados
• Diagramas de Entidades-Relacionamentos
• Especificações de Processos.
23
5.5. Ciclo de Vida Estruturado
• Principais objectivos:
• Diagrama de Contexto
24
• Identificar as actuais deficiências no ambiente do utilizador.
• Preparar uma previsão do projecto que será usada para conduzir o restante do projecto
Análise
• Diagramas de Entidades-Relacionamentos(DER).
25
Geração de Testes de Aceitação
• Desenvolver programas para converter os dados existentes para a nova base de dados.
Instalação
26
• Para cada projecto, uma abordagem diferente pode ser usada, baseada nos seguintes
factores:
• Gerador de ecrãs.
• O sistema está previsto para ser on-line (a maioria das ferramentas de apoio são
orientadas para a abordagem on-line).
• A abordagem da prototipagem pode ser combinada com a análise estruturada como uma
forma de auxiliar a descoberta/especificação dos requisitos.
• Recuperação de erros.
• Auditoria.
• Backup/Recuperação.
• Documentação do utilizador.
• Procedimento de conversão.
• O projecto pode terminar (quando o protótipo for substituído pelo sistema) sem que
tenha sido produzida qualquer documentação formal, que deveria ser mantida ao
longo da vida do sistema.
28
6. Modificações na Análise de Sistemas
• É necessário estar ciente das técnicas actuais e das modificações ocorridas com o passar
do tempo.
• Mudar de emprego
• Sugerir a evolução
• Novas técnicas
• Até o final da década de 70, os requisitos dos utilizadores eram documentados através
de uma narrativa no idioma adequado.
• Monolíticos: Era necessário ler todo o documento para entender. Isso dificultava a
compreensão se fosse necessário estudar apenas uma parte.
• Como consequência, não se tem ideia do que muitos sistemas desenvolvidos nas
décadas de 60 e 70 fazem porque os analistas e programadores que os desenvolveram
não estão mais presentes.
29
• Apesar das técnicas de Programação Estruturada e Projecto Estruturado terem sido
adoptadas, era necessário que houvesse uma evolução na forma de especificar os
Requisitos do Utilizador.
• Gráfica
• Particionada
• Sem redundância
• Alguns anos de experiência prática indicaram que eram necessárias algumas alterações,
cujas principais são:
• Politicamente perigosa (muito tempo gasto com algo que vai ser descontinuado)
30
6.3. Surgimento das Ferramentas Automatizadas de Análise
• Não havia verificação automática de consistência nos diagramas (era necessário fazer
inspecções visuais)
31
7. Diagrama de Fluxo de Dados
• Principal técnica de modelação funcional
• Modela o sistema como uma rede de processos funcionais, interligados por dutos e
tanques de armazenamento
Fluxos de Dados
• Processo ⇔ Processo
• Tipos de fluxos
• Nomenclatura:
• Nomenclatura:
33
Entidades Externas
• Nomenclatura:
34
7.2. Directrizes para elaboração de DFD
• Existem algumas directrizes que auxiliam a criar DFD's com sucesso, ou seja, evitam a
criação de:
• Evitar nomes para processos como: Fazer serviço, Manipular entrada, Cuidar dos
clientes e Processar dados
Devem-se numerar os Processos
• Facilita a identificação, a partir dos diagramas mais detalhados, do processo que foi
explodido
• A numeração não indica sequência pois o DFD é uma rede de processos assíncronos
que se intercomunicam
Evitar DFD Complexos
35
Criar diagramas esteticamente agradáveis
• Evitar processos com geração espontânea (processos que não recebem entrada mas
produzem saídas)
• Um mesmo fluxo de dados pode aparecer mais de uma vez no mesmo DFD
36
7.3. DFD com Níveis
• Para evitar que tudo seja definido num único diagrama (difícil de ser entendido e
mantido), criam-se DFD's que detalham um processo de um nível mais alto
Diagrama de Contexto
Diagrama Nível 0
37
Diagrama de Níveis Intermédios
38
8. Dicionário de Dados
• É necessário descrever a composição dos dados de alguma forma.
8.1. Notação
= É composto de
+ E (concatenação)
( ) Opcional
{ } Iteração
* Delimitador de comentário
39
Exemplo: definição de um nome (estrutura de dados)
nome = * Nome completo do cliente *
título-cortesia + primeiro-nome + (nome-intermédio) +
último-nome
título-cortesia = [Sr.|Srta.|Sra.|Sras.|Dr.|Professor]
primeiro-nome = {carácter-válido}
nome-intermédio = {carácter-válido}
último-nome = {carácter-válido}
carácter-válido = [A-Z|a-z|0-9|'| ]
8.2. Definições
• Uma definição de um item de dados é apresentada com o símbolo "=", que deve ser lido
como "é definido como", ou "é composto de", ou simplesmente "significa"
8.4. Iteração
40
Pedido = Nome-do-Cliente + Endereço-Remessa + 1{Item}
Exemplo 4: um pedido que é composto de um nome do cliente, um endereço de remessa e
no máximo 10 itens
Pedido = Nome-do-Cliente + Endereço-Remessa + {Item}10
8.5. Selecção
8.6. Sinónimo
Exemplo:
Número-do-Item = 1{Dígito}5
Número-da-Peça = * Sinónimo de Número do Item *
Dígito = [0 | 1 | 2 | 3]
41
9. Diagrama de Entidades-Relacionamentos
• O DER serve para modelar os dados de um sistema
9.1. Entidades
9.2. Relacionamentos
42
Classificações adicionais
• Podem ser 1:1 (um para um), 1:N (um para N) e M:N (M para N)
Casos especiais de relacionamentos
• Auto-Relacionamento
• Racionamento em paralelo
43
10. Diagrama de Transições de Estado
• Modela o comportamento dependente do tempo
10.1. Notação
• Um estado é uma situação em que o sistema se encontra e que pode durar por um
determinado período de tempo
44
Condições e Acções
• Num DTE também é possível incluir as condições que causam uma mudança de estado
e as acções que o sistema empreende quando muda de estado
• São exibidas junto à seta que indica a mudança de estado (a condição acima e a acção
abaixo, separadas por uma linha)
45
10.2. Diagramas subdivididos
• Em sistemas complexos é difícil (ou até impossível) representar todos os estados num
único DTE.
• É permitido criar um DTE de alto nível e detalhar cada estado num outro DTE (mais
detalhado)
• Exemplo:
46
10.3. Construindo um DTE
• Abordagem 1:
• Abordagem 2:
• Após elaborar o DTE, verifica-se a sua consistência através dos seguintes testes:
47
11. Especificações de Processos
• Tem como propósito definir o que deve ser feito para transformar as entradas de um
processo em saídas.
• Linguagem Estruturada
• Condições Pré/Pós
• Tabela de Decisão
• Árvore de Decisão
• Seja expressa de uma forma que possa ser verificada pelo utilizador e pelo analista.
• O analista deve conhecer as técnicas para que possa seleccionar a mais apropriada para
cada situação
48
• O vocabulário da Linguagem Estruturada consiste em:
• Verbos no imperativo:
• RECEBER (fluxo)
• ENVIAR (fluxo)
• MOVIMENTAR (dados)
• Termos locais
• Estruturas de controlo
• Selecção: SE e FAÇA-CASO
49
• Sintaxe e exemplo do comando de selecção FAÇA-CASO
FAÇA-CASO
CASO <condição>
Sentença A
CASO <condição>
Sentença B
...
CASO-CONTRÁRIO
Sentença X
FIM-CASO
--------------------------
FAÇA-CASO
CASO situacao = 1
risco = 'Pequeno'
CASO situacao = 2
risco = 'Moderado'
CASO situacao = 3
risco = 'Alto'
CASO-CONTRÁRIO
Risco = 'Indefinido'
FIM-CASO
50
• Sintaxe e exemplo do comando de repetição REPITA
REPITA
Acção A
ATÉ-QUE <condição>
-------------------------------------------
total = 0
REPITA
LER próximo pedido de PEDIDOS
total = preço-unitário * quantidade-item
ATÉ-QUE não haja mais pedidos
EXIBIR total
• Algumas sugestões
51
11.2. Pré/Pós
• São um modo prático de descrever um processo, sem que seja necessário detalhar o
algoritmo que será utilizado.
• O analista está seguro de que existem muitos algoritmos que podem ser usados
• Que entradas devem estar disponíveis para que o processo seja activado
52
Pós-Condições
• Exemplo:
Pré-Condição 1
- O Cliente apresenta-se com um número-de-conta coincidente com um número
de conta em Contas, cujo código-de-status está ajustado em "válido"
Pós-Condição 1
- A factura é emitida contendo número-de-conta e valor-da-venda
Pré-Condição 2
- A pré-condição falha por algum motivo (o número-de-conta não é
encontrado em Contas ou código-de-estados não é igual a válido
Pós-Condição 2
- É emitida uma mensagem de erro
53
11.3. Tabela de Decisão
• É uma técnica não-procedural que permite especificar processos que produzem uma
saída ou acção dependendo da avaliação de condições complexas
Condições 1 2 3 4
Idade > 21 S S N N
Sexo M F M F
Acções
Exame prático X
Exame psicológico X
54
• Calcular o número de combinações possíveis
• Identificar as acções
• Por ser uma técnica gráfica, torna mais fácil compreender e discutir
Criar uma Árvore de Decisão
• Identificar as condições
• Identificar as acções
55
12. O Modelo Essencial
• O analista precisava entender o sistema actual. Para isso, utilizava o modelo físico
actual
• O utilizador talvez não queira ou não pode trabalhar como o novo modelo lógico no
início do projecto
• A transformação do modelo lógico actual num novo modelo lógico não exige muito
trabalho nem desperdício de trabalho
• Indica o que o sistema deve fazer, mencionando o mínimo possível sobre como será
implementado
• Tecnologia perfeita
56
12.3. Dificuldades na construção do Modelo Essencial
• Processamento em batch
• Backup/Recuperação
• Desempenho
• O Modelo Ambiental
• Composto por:
• Declaração de Objectivos
• Diagrama de Contexto
• Lista de Eventos
• O Modelo Comportamental
57
12.5. O Modelo Ambiental
• Declaração de Objectivos
• Diagrama de Contexto
• Lista de Eventos
• Eventos Temporais
• Exemplos:
• Modelar o comportamento interno para que o sistema possa interagir com o ambiente
• DFD
• DER
• Itens Iniciais do DD
A Abordagem Clássica (Top-Down)
• Envolve 4 etapas:
• Dar um nome ao processo de acordo com a resposta que o sistema deve dar ao
evento
58
• Desenhar entradas, saídas e depósitos
• Directrizes:
• Quando o processo do DFD preliminar não puder ser especificado numa página
• Directrizes:
• Decomposição funcional
59