Author
patricia-dinis
View
53
Download
10
Embed Size (px)
TGBD -12º ano Unidade I
Noções de Análise Estruturada de Sistemas
Patrícia Dinis
Tópicos
� Conceito de Sistema � Definição de análise de sistemas � Sistemas de Informação (SI) � Desenvolvimento de Aplicações � Metodologias de Análise � Método de análise estruturada
2 Patrícia Dinis – [email protected]
Sistema
Patrícia Dinis – [email protected] 3
� Um SISTEMA pode ser caracterizado pela presença de um conjunto de elementos, num determinado ambiente, com vista em alcançar um objectivo comum.
Conceito de Sistema
Pode ser visto como: � Um conjunto de procedimentos, ideias ou princípios,
logicamente ordenados com o objectivo de explicar o funcionamento de um todo
� Um conjunto de procedimentos organizados de forma a classificar ou esquematizar algo
Tipos de Sistemas
Patrícia Dinis – [email protected] 4
Aberto Existe interacção entre o sistema e o seu meio ambiente, existindo troca de informação. Reage com os agentes externos do seu meio ambiente
Fechado Não existe interacção entre o sistema e o seu meio ambiente. É considerado um sistema isolado.
Conceito de Sistema
Modelo geral de um sistema
Patrícia Dinis – [email protected] 5
Todos os sistemas possuem características, que os permitem representar e criar modelos dos mesmos:
• Identificam a finalidade de cada sistema Objectivos
• Fornecem recursos ao sistema Entradas
• Geram as saídas dos sistemas pela transformação das entradas através dos seus componentes internos
Processos de Transformação
• Fornecem bens ou serviços Saídas
• Define os limites do sistema Fronteira
• Influencia o funcionamento do sistema através de agentes externos Meio Ambiente
• Desenvolvidas entre os agentes externos e componentes internos Relações e Restrições
Conceito de Sistema
SISTEMA
Modelo geral de um sistema
Patrícia Dinis – [email protected] 6
Representação esquemática de um sistema:
Meio Ambiente
Entradas Saídas
Fronteira
Conceito de Sistema
O que é a Análise de Sistemas?
Patrícia Dinis – [email protected] 7
� Analisar um sistema implica realizar um estudo profundo de forma a compreender como ele funciona e verificar se é necessário introduzir melhorias.
Definição De Análise De Sistemas
O Papel do Analista de Sistemas
Patrícia Dinis – [email protected] 8
� Identificar objectivos � Conhecer os resultados que se
pretende alcançar � Fazer o levantamento dos
requisitos do sistema � Encontrar soluções alternativas
para alcançar os objectivos � Detectar restrições às soluções
propostas como por exemplo, limitações à implementação
� Criar modelos que representam o sistema, para facilitar a análise do mesmo
� Definir critérios de avaliação
Definição De Análise De Sistemas
O que é a Análise de Sistemas?
Patrícia Dinis – [email protected] 9
Analisar um Sistema consiste em:
Conhecer os seus objectivos
Decompor o sistema em componentes
Conhecer cada um dos seus componentes e como se relacionam
Diagnosticar problemas
Juntar as partes para determinar o seu funcionamento global
Definição De Análise De Sistemas
O que é um Sistma de Informação?
� Um sistema de informação bem sucedido é aquele que: ◦ É produzido dentro dos prazos ◦ É produzido com o custo estimado ◦ É fiável ◦ Pode ser mantido facilmente com baixos custos ◦ Responde adequadamente aos requisitos definidos ◦ Satisfaz os utilizadores
Patrícia Dinis – [email protected] 10
Sistema de Informação é um conjunto integrado de recursos (humanos e tecnológicos) com o objectivo de satisfazer adequadamente a totalidade das necessidades de informação de uma organização
Sistemas de Informação
Componentes de um SI
� Os recursos humanos incluem os utilizadores finais e especialistas em SI
� Os recursos de hardware consistem em máquinas e componentes de multimédia
� Os recursos de software incluem programas e procedimentos, os recursos de dados podem incluir bases de dados e bases de conhecimento
� Os recursos de rede incluem redes de comunicações
� Os recursos de dados são transformados por actividades de processamento de informação uma diversidade de produtos de informação para os utilizadores finais
Patrícia Dinis – [email protected] 11
Sistemas de Informação
SI
Pessoas
Hardware
Software Dados
Redes
Os SI nas Organizações
Patrícia Dinis – [email protected] 12
Sistemas de Informação
Permitem: � Satisfação dos requisitos de informação dos
utilizadores � Melhoria dos serviços prestados aos clientes � Melhoria e automatização com parceiros de negócio � Melhoria de desempenho de pessoas e máquinas Estas vantagens têm impacto nas organizações na: � Gestão de processos (reduz custos) � Gestão de Recursos (potencia investimentos) � Crescimento (melhorar e aumentar serviços e
produtos) � Reengenharia da organização (melhorar a eficácia das
decisões)
Os SI nas Organizações
Patrícia Dinis – [email protected] 13
Sistemas de Informação
Tipos de sistemas: Operacionais
• Facturação • Controlo de encomendas • Contabilidade • Salários
Tácticos • Análise de vendas • Gestão de Inventário • Análise de qualidade
Estratégicos • Previsão de vendas • Planeamento de recursos humanos • Previsão de receitas
Fases desenvolvimento de um SI
Patrícia Dinis – [email protected] 14
Sistemas de Informação
Avaliação e Manutenção
Instalação e testes
Implementação
Desenho do Sistema
Análise
Definição de Requisitos Especificação do Sistema
Planeamento estratégico
Planeamento estratégico
Patrícia Dinis – [email protected] 15
Sistemas de Informação
Devemos ter uma visão GLOBAL sobre o âmbito do trabalho a realizar
� Compreender a missão da organização � Identificar e envolver todos os interessados e
afectados pelo sistema � Identificar as necessidades � Identificar e seleccionar alternativas � Identificar restrições, problemas e riscos � Apresentar resultados e recomendações � Definir o plano de trabalho
Definição de Requisitos
Patrícia Dinis – [email protected] 16
Sistemas de Informação
Um Requisito é uma afirmação sobre uma funcionalidade ou condição que o sistema deverá possuir
� Perceber detalhadamente o que o sistema deverá fazer
� Encontrar a melhor solução � Determinar não as funcionalidades actuais mas
também as situações futuras a atingir
Especificação do Sistema
Patrícia Dinis – [email protected] 17
Sistemas de Informação
Expressar sem ambiguidade o que o sistema deve fazer e não como deve fazer!
� Utilizar técnicas de modelação de processos � Definir conceitos � Definir representações do comportamento do
sistema
Desenho do Sistema
Patrícia Dinis – [email protected] 18
Sistemas de Informação
Definir a solução com base nos resultados produzidos pela análise.
� Definir sem ambiguidades as linguagens a utilizar no desenvolvimento do sistema
� Definir os componentes aplicacionais (módulos, programas), tecnológicos (redes, máquinas) e de dados (estrutura de ficheiros e/ou base de dados, e servidores a utilizar)
� Ter em conta factores de desempenho e segurança.
Desenho do Sistema
Patrícia Dinis – [email protected] 19
Sistemas de Informação
Definir a solução com base nos resultados produzidos pela análise.
� Definir sem ambiguidades as linguagens a utilizar no desenvolvimento do sistema
� Definir os componentes aplicacionais (módulos, programas), tecnológicos (redes, máquinas) e de dados (estrutura de ficheiros e/ou base de dados, e servidores a utilizar)
� Ter em conta factores de desempenho e segurança.
Implementação
Patrícia Dinis – [email protected] 20
Sistemas de Informação
São as actividades de desenvolvimento do sistema propriamente dito.
� Codificar os componentes aplicacionais � Testar estes componentes de forma isolada � Integrar todos os componentes
Testes
Patrícia Dinis – [email protected] 21
Sistemas de Informação
� Testar o funcionamento do sistema e de todos os componentes como um todo
� Deve ser feito em condições idênticas à da organização
• Analisar o tempo de resposta
Desempenho
• Avaliar o comportamento em situações de utilização intensivas
Carga
• Analisar a facilidade de utilização e de aprendizagem
Usabilidade
• Determinar a correcção das funcionalidades
Funcionais
Instalação
Patrícia Dinis – [email protected] 22
Sistemas de Informação
� Disponibilizar as funcionalidades concebidas aos utilizadores
� Parametrizar e configurar os valores utilizados pela organização
� Instalação de componentes adicionais � Definições de perfis de utilizadores e níveis de
segurança � Formação de utilizadores � Definição de políticas de segurança (criação de
backups) � Se já existir um sistema em funcionamento,
migrar os dados para o novo sistema
Avaliação e Manutenção
Patrícia Dinis – [email protected] 23
Sistemas de Informação
� Durante a vida útil de qualquer SI são detectados problemas.
� Podem aparecer pedidos de alteração dos requisitos
� Podem surgir problemas relacionados com questões de desempenho que apenas se tornam perceptíveis com a crescente utilização
Novos Requisitos
60% Erros 18%
Melhorias Técnicas
18%
Outros 4%
Problemas nos SI
Patrícia Dinis – [email protected] 24
� Falta de empenhamento dos órgãos de topo das organizações. � Falta de comprometimento e empenhamento dos utilizadores. � Incompreensão do valor dos sistemas de informação. � Falta de entendimento e de sintonia entre informáticos e
clientes utilizadores do sistema, no âmbito e requisitos do mesmo.
� Deficiências várias no processo de desenvolvimento. � Falhas na coordenação do projecto, nomeadamente ao nível
dos objectivos, prioridades, estimativas. � Falta de qualidade e inadequação dos recursos envolvidos. � Mudanças frequentes dos requisitos do negócio e incapacidade
de lidar com esta situação. � Dificuldades na integração de componentes. � Qualidade e desempenho do software deficiente, muito
relacionados com problemas ao nível do controle de qualidade.
� Incapacidade de identificar e controlar os riscos do projecto.
Desenvolvimento de aplicações Informáticas
Problemas nos SI
Patrícia Dinis – [email protected] 25
� Casos Clássicos...
◦ Durante a guerra do Golfo, uma falha no software dos mísseis Patriot que os Estados Unidos enviaram para a zona da guerra não foi atempadamente detectada, e a correcção só chegou um dia após um ataque iraquiano com mísseis ter causado a morte a cerca de trinta soldados americanos.
◦ Devido a um erro no software de controle de um equipamento médico, pelo menos dois doentes morreram entre 1985 e 1987 em consequência de terem recebido doses exageradas de radiação.
◦ Problemas diversos no software de controle da distribuição e encaminhamento de bagagem do aeroporto de Denver, nos Estados Unidos, provocaram custos de 1 milhão USD por dia.
Desenvolvimento de aplicações Informáticas
Engenharia de Software
Patrícia Dinis – [email protected] 26
� É a aplicação de um processo sistemático, disciplinado, e quantificado ao desenvolvimento, operação e manutenção de software.
� É a aplicação de técnicas de engenharia ao software.
� Inclui todas as actividades que vão desde o planeamento inicial do projecto até à instalação do sistema em produção, e posterior suporte.
� A motivação apareceu da constatação de que existem diversos produtos construídos pelo homem que apresentam problemas.
Desenvolvimento de aplicações Informáticas
Processos de desenvolvimento de Software
� Abordagens
Patrícia Dinis – [email protected] 27
Desenvolvimento de aplicações Informáticas
Cascata Iteractiva e Incremental
Cascata
Patrícia Dinis – [email protected] 28
� As actividades a executar são agrupadas em tarefas, executadas sequencialmente, de forma que uma tarefa só tem início quando a tarefa anterior tiver terminado
Desenvolvimento de aplicações Informáticas
PLANEAMENTO
ANÁLISE
DESENHO
DESENVOLVIMENTO
TESTES
MANUTENÇÃO � Apresenta limitações! � Não pode ser sujeito a posteriores
alterações
Cascata � Vantagens ◦ só se avança para a tarefa seguinte quando o cliente valida e
aceita os produtos finais (documentos, modelos, programas) da tarefa actual – uma garantia “formal” para o fornecedor que fica mais “descansado”... ◦ pressuposto que o cliente participa activamente no projecto e
que sabe muito bem o que quer
� Desvantagens ◦ promove a compartimentação dos esforços ao longo das
diferentes tarefas e consequentemente desencoraja a comunicação e partilha de visões entre todos os intervenientes do projecto, por exemplo, entre os analistas, os responsáveis pelo desenho, os programadores, e os utilizadores.
Patrícia Dinis – [email protected] 29
Desenvolvimento de aplicações Informáticas
Cascata revista
Patrícia Dinis – [email protected] 30
� As actividades a executar são agrupadas em tarefas, executadas sequencialmente, de forma que uma tarefa só tem início quando a tarefa anterior tiver terminado
Desenvolvimento de aplicações Informáticas
PLANEAMENTO
ANÁLISE
DESENHO
DESENVOLVIMENTO
TESTES
MANUTENÇÃO � Apresenta limitações! � Não pode ser sujeito a posteriores
alterações
Cascata revista � Vantagens ◦ prevê a possibilidade de a partir de qualquer tarefa do ciclo se
poder regressar a uma tarefa anterior de forma a contemplar alterações funcionais e/ou técnicas que entretanto tenham surgido, em virtude de um maior conhecimento que se tenha obtido.
� Desvantagens ◦ risco desta aproximação é que, na ausência de um processo de
gestão do projecto e de controle das alterações bem definido, podemos passar o tempo num ciclo sem fim, sem nunca se atingir o objectivo final que é disponibilizar um sistema a funcionar.
Patrícia Dinis – [email protected] 31
Desenvolvimento de aplicações Informáticas
Iterativa e Incremental Iterativo � Refinar pouco-a-pouco. � O âmbito do sistema não é alterados mas o
detalhe vai aumentando nas sucessivas iterações Incremental � Aumentar pouco-a-pouco o âmbito do sistema
Patrícia Dinis – [email protected] 32
Desenvolvimento de aplicações Informáticas
Iterativa e Incremental � Baseia-se no princípio que a equipa envolvida
possa refinar e alargar pouco-a-pouco a qualidade, detalhe e âmbito do sistema envolvido
� A principal consequência da aproximação iterativa é que os produtos finais de todo o processo vão sendo amadurecidos e completados ao longo do tempo, mas cada iteração produz sempre um conjunto de produtos finais
Patrícia Dinis – [email protected] 33
Desenvolvimento de aplicações Informáticas
Iterativa e Incremental
Patrícia Dinis – [email protected]
34
Desenvolvimento de aplicações Informáticas
PLANEAMENTO
ANÁLISE
DESENHO
DESENVOLVIMENTO
TESTES
MANUTENÇÃO
ANÁLISE
DESENHO
DESENVOLVIMENTO
TESTES
1ª VERSÃO
2ª VERSÃO
Espiral
� Variante do modelo iterativo e incremental. � Foi proposto por Barry Boehm [Boehm88] como
resposta às criticas que os processos existentes na altura não favoreciam a utilização de prototipagem e reutilização de software.
� Para além das tarefas e actividades previstas pelos outros processos, propõe logo de seguida à tarefa de planeamento a realização de uma tarefa de prototipagem e de análise do risco, como forma de eliminar os principais problemas e identificar os requisitos do sistema
Patrícia Dinis – [email protected] 35
Desenvolvimento de aplicações Informáticas
Espiral
Patrícia Dinis – [email protected] 36
Desenvolvimento de aplicações Informáticas
I II
III IV
Espiral � Primeiro quadrante (I): determina e identifica os objectivos do
projecto, alternativas e restrições do projecto. Semelhante à fase de concepção do sistema no modelo em cascata, aqui estão determinados objectivos de identificar eventuais obstáculos e abordagens alternativas de ponderação.
� Segundo Quadrante (II): determina as diferentes alternativas de análise de risco do projecto e avalia a sua tarefa com cada alternativa eventualmente resolvê-los. alternativas prováveis são inspeccionados e os riscos conexos são reconhecidos. Resoluções dos riscos do projecto são avaliados, e prototipagem é usado sempre que necessário.
� Terceiro quadrante (III): desenvolve o sistema e este quadrante corresponde ao modelo em cascata com determinados requisitos detalhados para o projecto.
� Quarto quadrante (IV): planos do processo de desenvolvimento próxima fase, proporcionando oportunidade de analisar os resultados e feedback
No final de cada fase é feito um PROTÓTIPO
Patrícia Dinis – [email protected] 37
Desenvolvimento de aplicações Informáticas
Prototipagem � Um protótipo pode ser considerado uma
implementação concreta, embora parcial, de um programa.
� Os protótipos podem ser criados para explorar múltiplas questões durante o desenvolvimento do software. Por exemplo, um protótipo de uma interface com o utilizador tem como principal funcionalidade conseguir captar as necessidades efectivas e concretas do utilizador
Patrícia Dinis – [email protected] 38
Desenvolvimento de aplicações Informáticas
Modelos
• Abordagem funcional, virada para os processos do sistema Convencional
• Usa modelos e técnicas gráficas que possibilitam uma visão clara do sistema Estruturada
• Usa mais modelos que a anterior. Utiliza uma abordagem aos controlos, interagindo os processos e os dados.
• Regista o comportamento do sistema em relação aos seus diferentes estados
Estruturada Moderna
• Utiliza o conceito de objecto que encapsula a perspectiva funcional e a de dados
Orientada a Objectos
Patrícia Dinis – [email protected] 39
Método da análise estruturada
Análise Essencial
Patrícia Dinis – [email protected] 40
Método da análise estruturada
� É uma evolução da análise estruturada
Análise Essencial
Modelo Essencial
(Modelo lógico)
Modelo Ambiental
Modelo Comportamental
Modelo de Implementação (Modelo físico)
Análise Essencial
Patrícia Dinis – [email protected] 41
Método da análise estruturada
Modelo Essencial � Indica o que o sistema deve fazer e que dados
necessita para satisfazer os seus requisitos
Modelo de Implementação � Implementa o sistema ideal, derivado do modelo
essencial. � Define um conjunto de características
operacionais relevantes
Modelo Essencial
Patrícia Dinis – [email protected] 42
Método da análise estruturada
Ambiental � Conhecidos os objectivos e requisitos do sistema
(dados, função e comportamento), define-se a fronteira entre o sistema e o meio ambiente
� Identificam-se os acontecimentos (eventos) exteriores que activam o sistema e que respostas o sistema devolve ao meio
� Mostra uma perspectiva externa do sistema.
Comportamental � São especificados os processos que compõem o
sistema e o modelo utilizado no armazenamento dos dados por ele manipulados
� Explora as características internas do sistema e o comportamento destas quando interagem com o exterior
Modelo Essencial - Ferramentas
Patrícia Dinis – [email protected] 43
Método da análise estruturada
Modelo Essencial
Composto por Técnicas Utilizadas
Mod
elo
Am
bie
nta
l Descrição de objectivos
_____
Lista de eventos _____ Diagrama de contexto • Diagrama de fluxo de dados
Mod
elo
Com
por
tam
enta
l Modelo Funcional • Diagrama de fluxo de dados • Especificação de Processos • Dicionário de dados
Modelo de Dados • Diagrama de Entidade Associação ou relacionamento • Dicionário de dados
Modelo de comportamento
• Diagrama de transição de estado
Modelo Ambiental
Patrícia Dinis – [email protected] 44
Método da análise estruturada
Fornece a perspectiva exterior do sistema � Descreve os objectivos � Descreve a fronteira entre o sistema e o meio
ambiente, define as entidades externas � Descreve os eventos do ambiente externo, aos quais
deve responder
� Definição de objectivos: descreve a finalidade do sistema
� Lista de eventos: enumera os acontecimentos que ocorrem no exterior interagindo com o sistema
� Diagrama de contexto: representa o sistema como um único processo e as suas interacções com o meio ambiente
Definição dos Objectivos
Patrícia Dinis – [email protected] 45
Método da análise estruturada
� Consiste numa afirmação exacta, sucinta e breve dos objectivos do sistema
� Ex: ◦ O objectivo de um sistema de vídeo chamada é permitir
que duas ou mais pessoas comuniquem com imagem e voz em simultâneo em tempo real.
Lista de Eventos
Patrícia Dinis – [email protected] 46
Método da análise estruturada
� Mostra os acontecimentos que ocorrem no exterior interagindo com o sistema
� Para identificar um evento deve-se saber responder à questão 5w2h (who, when, where, what, why, how, how much)
� Ex: Nº Evento Descrição Estímulo Acção Resposta
1 Aluno efectua a matrícula
O aluno acede à internet e efectua a sua matrícula na escola
Dados_aluno
Aceitar matrícula
Comprovativo_matricula
Como elaborar a Lista de Eventos?
Nome do Evento: Nome + Verbo + Complemento Ex: Aluno+ Efetua + Matrícula Descrição do Evento: Como acontece o evento? Item facultativo (porém se não constar na lista de eventos, deverá constar no DFD Particionado por Eventos) Estímulo: É o fluxo de dados Ex: Dados_aluno
Como elaborar a Lista de Eventos?
Ação do Processo: Qual a atividade principal que será executada pelo sistema? Usar o verbo no infinitivo Ex: Efetuar Matricula Resposta: Qual a resposta que será enviada a entidade externa? São relatórios, emails, ... Ex: Comprovativo_Matricula Obs: não servem como resposta mensagens “Reserva efetuada com sucesso!”
Diagrama de Contexto
Patrícia Dinis – [email protected] 49
Método da análise estruturada
� Deve mostrar as relações estabelecidas entre sistemas e o meio ambiente
� O sistema é um único processo � Pode ser considerado um caso especial de um
diagrama de fluxo de dados � Deve representar: ◦ Um processo: O sistema ◦ As entidades externas com quais o sistema se relaciona ◦ Os dados trocados entre o sistema e o exterior ◦ Os fluxos de dados gerados ◦ A interface entre o sistema e o ambiente
Diagrama de Contexto - Simbologia
Patrícia Dinis – [email protected] 50
Método da análise estruturada
Símbolo Descrição
Entidade externa ao sistema (origem ou destino dos dados)
Fluxo de dados
Processo, acção ou função que transforma os dados
Exemplo
Patrícia Dinis – [email protected] 51
Método da análise estruturada
� Imagine um sistema informático que regista as matrículas dos alunos numa escola ◦ O aluno inscrevem-se na escola registando os seus
dados pessoais ◦ Após o registo é entregue ao aluno um comprovativo da
sua matrícula
Exemplo - Resolução
Patrícia Dinis – [email protected] 52
Método da análise estruturada
� Objectivo ◦ Registar as matrículas dos alunos numa escola
� Sistema
� Entidades Externas
Matricular alunos
Aluno
Exemplo - Resolução
Patrícia Dinis – [email protected] 53
Método da análise estruturada
� Lista de eventos
� Diagrama de Contexto
Nº Evento Descrição Estímulo Acção Resposta
1 O aluno efectua a sua matrícula
O aluno acede à internet e efectua a sua matrícula na escola
Dados Aluno
Aceitar matrícula
Enviar dados comprovativos da matrícula
Matricular alunos
Aluno
Dados do aluno
Comprovativo de matrícula
Modelo Comportamental
Patrícia Dinis – [email protected] 54
Método da análise estruturada
Descreve o comportamento dos elementos internos reagindo e interagindo aos estímulos do exterior
Utilizam-se: � Diagramas de fluxos de dados � Diagramas de Entidade Associação � Dicionário de dados � Especificação de Processos
Diagrama de Fluxo de Dados (DFD)
Patrícia Dinis – [email protected] 55
Método da análise estruturada
Símbolo Descrição
Fluxo de dados
Representa os dados que fluem entre os processos Têm um nome que descreve a informação que passa (ex: dados_aluno)
Processo Transforma fluxos de dados de entrada em fluxos de dados de saída É descrita por um nº e uma frase simples iniciada por um verbo (ex: 1. Calcular Valor a Pagar)
Arquivo de dados Local de armazenamento permanente ou temporário de dados estáticos. Os fluxos de dados que entram ou saem num arquivo só podem conter dados que estes mantêm. Os fluxos de entrada permitem criar, eliminar ou alterar uma ou mais ocorrência dos dados guardados. Os fluxos de saída permitem ler uma ou mais ocorrência dos dados guardados. (ex: Alunos)
Entidade externa Funciona como origem ou destino dos dados. Pode ser uma pessoa, um grupo de pessoas, uma organização ou até outro sistema (ex: aluno)
Diagrama de Fluxo de Dados (DFD)
Patrícia Dinis – [email protected] 56
Método da análise estruturada
� O DFD do exemplo anterior poderia ser:
DFD – Regras de Construção
Patrícia Dinis – [email protected] 57
Método da análise estruturada
� Escolher nomes significativos para todos os componentes do DFD
� Numerar todos os processos � Evitar desenhar DFD complexos � Dados que saem de um arquivo devem ser
previamente lá armazenados � Dados que saem de um processo devem ser gerados
por este processo � No detalhe de um DFD de nível superior os fluxos
que entram e saem devem também entrar e sair no de nível inferior
� Um arquivo de dados que exista entre dois ou mais processos devem ser representados em todos os DFD de nível inferior que envolvam esses processos
� Não se representam fluxos de controlo nos DFD
DFD – Regras de Construção
Patrícia Dinis – [email protected] 58
Método da análise estruturada
� Um DFD lê-se de cima para baixo, da esquerda para a direita
� Nunca estabelecer uma relação directa entre entidade-entidade ou arquivo-arquivo
� Podem-se duplicar as entidades externas para maior legibilidade do DFD
� ARQUIVO: ◦ Posicionar no centro do desenho ◦ Recebe dados de um processo à esquerda ou acima ◦ Fornece dados para um processo à direita ou abaixo ◦ Deve ter sempre fluxos de entrada e de saída ◦ Pode haver necessidade de duplicar um arquivo
DFD – Regras de Construção
Patrícia Dinis – [email protected] 59
Método da análise estruturada
� Processo: ◦ O processo origem deve estar acima ou à esquerda do
processo destino ◦ Podem estar ligados por fluxos de dados, directamente
entre si ou através de um arquivo de dados ◦ Deve ter sempre fluxo de dados de entrada e de saída ◦ Os dados de saída resultam dos dados de entrada ◦ Não se duplica processos ◦ Deve ser sempre numerado ◦ Ao dividir um processo, todos os fluxos de dados,
arquivos e entidades externas ligados a um nível superior têm de aparecer no nível imediatamente inferior
DFD – Regras de Construção
Patrícia Dinis – [email protected] 60
Método da análise estruturada
� Fluxo de dados: ◦ Todos os fluxos de entrada ou de saída têm sempre
como destino ou origem um processo ◦ Todos os fluxos dos níveis superiores devem aparecer
nos níveis inferiores.
DFD – Construção
Patrícia Dinis – [email protected] 61
Método da análise estruturada
� O 1º DFD deve representar apenas os principais processos, fluxos de dados e arquivos
� Partir da lista de eventos e do diagrama de contexto seguindo a abordagem top-down
� Desenhar um processo para cada evento da lista de eventos
� Desenhar os fluxos de dados de entrada e de saída de forma a que o processo emita a resposta adequada a cada evento
� Desenhar os arquivos necessários para armazenar os dados que serão usados por outros processos
� Pode-se decompor cada processo, utilizando a abordagem top-down criando processos mais simples até serem indivisíveis (chamados primitivos)
Exercícios 1- Imagine o seguinte cenário: ◦ Um aluno ao registar-se numa escola tem de escolher o
curso pretendido. ◦ Após a matricula recebe um comprovativo da mesma ◦ A equipa de horários verifica os alunos por curso e
elabora as turmas e os horários ◦ Após a elaboração das turmas e horários é entregue aos
alunos o seu horário e ao professor a lista dos alunos por turma que ele irá leccionar.
� Elabore a lista de Eventos � Elabore o Diagrama de contexto � Elabore o DFD
Patrícia Dinis – [email protected] 62
Método da análise estruturada
Lista de eventos Nº Eventos Estímulo Ação Resposta Descrição
1 O Aluno efetua a matricula
Dados do aluno Curso pretendido Lista das disciplinas
Matricular Aluno
Comprovativo de Matricula
2 A equipa de matriculas divide os alunos por turmas
Alunos e disciplinas Elaborar as turmas
Lista de Turmas
3 Equipa de Horários faz o horário de cada turma
Disciplinas da turma Salas
Criar os horários
Lista de horários
Patrícia Dinis – [email protected] 63
Diagrama de Contexto
Patrícia Dinis – [email protected] 64
Sistema de Matriculas e Horários
Alunos
Professores
Dados Aluno
Curso
Disciplinas
Comprovativo de Matricula
Horário
Turmas e lista de alunos
Exercícios 2- Imagine o seguinte cenário: ◦ Todos os meses, o centro médico recebe uma lista das
empresas farmacêuticas dos seus medicamentos disponíveis para venda. ◦ Cada lista é acoplada a um catálogo geral de
medicamentos, que por sua vez, é entregue uma cópia do catálogo a cada médico.
� Elabore a lista de Eventos � Elabore o Diagrama de contexto � Elabore o DFD
Patrícia Dinis – [email protected] 66
Método da análise estruturada
Exercícios 3- Imagine o seguinte cenário: ◦ Num clube de natação, as inscrições dos praticantes são
recolhidas no início da temporada. ◦ É verificada a idade do futuro aluno e feita a sua integração
numa turma com base no número de pessoas já inscritas na mesma. ◦ Com base nesta informação, é depois feita uma lista de
presenças para o professor poder controlar as faltas e o aluno e informado da turma em que foi inserido, da data e da hora em que pode frequentar as aulas. ◦ Os alunos podem desistir a qualquer momento, tendo de
comunicar com alguma antecedência.
� Elabore a lista de Eventos � Elabore o Diagrama de contexto � Elabore o DFD
Patrícia Dinis – [email protected] 67
Método da análise estruturada
Exercícios 4- Imagine o seguinte cenário: ◦ Na Empresa VetAnimais trabalham 2 veterinários e uma
recepcionista. Ambos os veterinários mantêm registos das suas sessões de tratamento. Além disso, mantêm registos detalhados dos animais à espera na recepção. Quando um dono chega com um animal, a recepcionista insere os dados do animal na base de dados, caso seja um novo paciente. A recepcionista também lembra os donos dos animais se as suas contas têm de ser pagas, recebe os pagamentos e regista os detalhes dos pagamentos. Os donos podem enviar pagamentos por cheque pelo correio ou pagar na recepção com numerário ou cheque. Os pagamentos são depositados no banco diariamente. Uma vez por semana a recepcionista envia lembretes aos donos com dívidas avultadas. Uma vez por ano, uma lista dos tratamentos efectuados é preparada por cada veterinário e enviada para o Departamento de Saúde Animal.
� Elabore a lista de Eventos � Elabore o Diagrama de contexto � Elabore o DFD
Patrícia Dinis – [email protected] 68
Método da análise estruturada
Exercícios 5- Imagine o seguinte cenário: ◦ O clube de vídeo ABC tem 1500 sócios. Cada vez que um
sócio quer requisitar um filme, após escolher, deve dirigir-se ao balcão indicando o número de sócio e o(s) nome(s) do(s) filme(s). O empregado verifica se existem os filmes disponíveis e em caso afirmativo as entrega juntamente com uma cópia da requisição. O original fica guardada no clube. De acordo com o número de filmes o cliente paga a quantia respectiva. Quando o filme for devolvido verifica-se o prazo de entrega, pagando uma multa quando for excedido
� Elabore a lista de Eventos � Elabore o Diagrama de contexto � Elabore o DFD
Patrícia Dinis – [email protected] 69
Método da análise estruturada
Exercícios 6- Imagine o seguinte cenário: ◦ Uma empresa seguradora pretende dar um novo dinamismo
ao sector de angariação de apólices. Os vários angariadores da empresa contactam directamente os potenciais clientes. Todas as propostas são enviadas pelos angariadores para a secção de novos seguros. Após a entrada nesta secção, elabora-se a apólice e envia-se para o sector de contabilidade para emitir o 1º recibo de pagamento. ◦ Quando há indemnizações o segurado entra em contacto
com o sector de indemnizações e este entra em contacto com a contabilidade para efectuar o pagamento ao segurado.
� Elabore o Diagrama de contexto � Elabore o DFD
Patrícia Dinis – [email protected] 70
Método da análise estruturada
Exercícios 7- Imagine o seguinte cenário: ◦ Uma reprografia oferece serviços de fotocópias e
pretende gerir administrativamente os seus serviços. A sua operação baseia-se em: ◦ Recebe os pedidos dos clientes ao qual emite um talão
numerado com o valor a pagar e a data prevista de entrega das fotocópias. O cliente quando vai levantar entrega o talão de levantamento. O funcionário entrega as fotocópias e recebe o pagamento ao qual emite uma factura que entrega ao cliente.
� Elabore o Diagrama de contexto � Elabore o DFD
Patrícia Dinis – [email protected] 71
Método da análise estruturada
Dicionário de Dados
Patrícia Dinis – [email protected] 72
Método da análise estruturada
� É uma ferramenta de texto de suporte à análise que contém informação sobre os dados.
� Permite descrever: ◦ Os fluxos de dados ◦ Os arquivos de dados ◦ Os elementos de dados
� Descreve com rigor, de forma formal e estruturada os detalhes lógicos dos componentes dos sistema
Dicionário de Dados
Patrícia Dinis – [email protected] 73
Método da análise estruturada
� Os elementos mais complexos são definidos em termos de elementos de dados mais simples e estes em unidades e valores.
Fluxos de dados (dados em
movimento)
Arquivo de dados (dados estáticos)
Estrutura de dados
Elemento de dados (unidades e
valores)
Dicionário de Dados - Linguagem
Patrícia Dinis – [email protected] 74
Método da análise estruturada
Símbolo Significado = É composto por + E () Dado opcional
n{}m Várias ocorrências de … n(mínimo) m(máximo) [] Alternativas. Apenas um entre | OU
/ / Nome de um grupo repetitivo “ “ Valores possíveis * * Comentário @ Chave primária do arquivo
Dicionário de Dados - Exemplo
Patrícia Dinis – [email protected] 75
Método da análise estruturada
� No exemplo da matrícula anterior podemos definir o termo dados_aluno:
dados_aluno = primeiro_nome + {outros_nomes} + ultimo_nome + data_nascimento + sexo + morada + 1{telefone}3 + fotografia
data_nascimento = dia + mês + ano morada = [Rua|Av.|Beco|Estrada|Travessa] +
nome_rua + num_porta + (andar) + (letra_andar) + cod_postal
cod_postal = codigo + localidade
Diagrama de Entidade-Relacionamento (DER)
Patrícia Dinis – [email protected] 76
Método da análise estruturada
� Tem como objectivo modelar de forma lógica a estrutura de armazenamento de dados: ◦ As entidades do sistema a quem pertencem os dados ◦ As relações entre os dados ◦ Os atributos dos dados ou das relações
� Tem 3 elementos principais: ◦ Entidade – objectos sobre os quais se armazenam dados
(Usar nome no singular. Deve estar descrita no DD) ◦ Atributos - características que descrevem as entidades.
(Devem estar descritos no DD) ◦ Relacionamentos – representam as associações entre
entidades (Designado por um verbo. Devem estar descritos no DD)
DER - Simbologia
Patrícia Dinis – [email protected] 77
Método da análise estruturada
Aluno Matriculado Curso
Aluno
BI Nome
Data de Nascimento
Entidade
Relacionamento
Atributos
DER – Tipos de Relações
� Unária
� Binária
� Ternária
Patrícia Dinis – [email protected] 78
Método da análise estruturada
Aluno Chefia
Trabalhador Trabalha Departamento
Filme
Tem
Actor
Actor
DER – Tipos de Relações quanto ao número de participantes � 1 - 1
� 1 – M ou M -1
� M –M
Patrícia Dinis – [email protected] 79
Método da análise estruturada
Aluno Possui Cacifo
Aluno Matriculado Curso
Aluno Inscreve-se Disciplina
Exercícios
Patrícia Dinis – [email protected] 80
Método da análise estruturada
� Desenhe o modelo EA e derive as tabelas de acordo com o modelo relacional.
� Uma loja vende computadores com designações comerciais (macro-626, flatscreen-xp, etc.). Cada computador tem um código interno, um preço e uma data de lançamento. O computador tem um conjunto de componentes (desde o monitor à placa de rede e motherboard), que varia de modelo para modelo (um computador pode ter placa gráfica e outro não precisar, outro computador pode incluir no preço a impressora).
� Os componentes têm também um código interno (uma referência) e informações relativas ao fabricante.
� Quando necessário, a loja realiza durante um certo período uma campanha relativa a um computador, onde faz um desconto no preço (10%, 20%, etc.) e oferece um componente. Por vezes, para escoar um computador é necessária mais do que uma campanha.
Exercícios
Patrícia Dinis – [email protected] 81
Método da análise estruturada
� Desenhe o modelo EA e derive as tabelas de acordo com o modelo relacional.
� Uma transportadora aérea pretende implementar uma base de dados com a seguinte informação:
� A transportadora tem vários aviões. Cada avião tem, para além da matrícula, um nome, a marca do avião, o número de lugares, e indicação da sua autonomia.
� Na transportadora trabalham vários pilotos. � Cada avião faz vários voos. Cada voo deve ter,
pelo menos, a indicação da data e hora em que se efectua, dos locais de partida e de destino.
� Cada voo de um dado avião é pilotado por um piloto
Exercícios
Patrícia Dinis – [email protected] 82
Método da análise estruturada
� Desenhe o modelo EA e derive as tabelas de acordo com o modelo relacional.
� Uma fábrica pretende implementar uma base de dados para gerir os "stocks" dos seus armazéns, as encomendas, e as vendas. Para tornar o problema menos extenso, não vamos aqui considerar a parte relativa às vendas. Há assim que ter em conta que:
� A empresa comercializa vários produtos, cada um dos quais com um código, um nome, e um preço. Em cada momento a empresa deve ainda saber qual a quantidade existente no armazém de cada um dos produtos.
� Uma encomenda, que deve ter um número de encomenda e a data em que foi feita, pode ter vários produtos, mas diz respeito apenas a um fornecedor.
� De cada fornecedor a empresa deseja guardar a informação do seu nome, número de contribuinte, morada, forma de pagamento, prazo de pagamento, e um código interno de tipo de fornecedor.
Exercícios
Patrícia Dinis – [email protected] 83
Método da análise estruturada
� Desenhe o modelo EA e derive as tabelas de acordo com o modelo relacional.
� Um grupo de docentes pretende organizar uma conferência e, para guardar toda a informação relevante, vai ter que criar uma base de dados.
� Na conferência são apresentados vários artigos, cada um dos quais com um título e um número. Cada artigo tem um ou mais autores. De cada autor, pretende armazenar-se para além do nome, o endereço de email, e o nome e morada da instituição a que estão associados.
� Há ainda a informação relativa aos participantes na conferência. De cada a participante deverá ser retida a informação do seu nome, morada e endereço de email. Além disso, distingue-se entre os participantes que são estudantes e os que não são. Cada participante não estudante tem de pagar antecipadamente a inscrição por transferência bancária, pelo que é necessário guardar o número da transação. Para não pagar, o estudante tem de enviar antecipadamente um certificado e na base de dados deve ser armazenado o nome da universidade que o passou.
Exercícios
Patrícia Dinis – [email protected] 84
Método da análise estruturada
� Desenhe o modelo EA e derive as tabelas de acordo com o modelo relacional.
� Uma clínica médica pretende informatizar os seus serviços. Para já querem começar por informatizar os dados referentes a médicos, a clientes (ou pacientes) e a consultas.
� Na clínica trabalham vários médicos, de várias especialidades diferentes. De cada médico, identificado internamente por um número de empregado, a clínica pretende armazenar o nome, especialidade, morada e telefone.
� Como é usual, os médicos dão consultas a clientes. A clínica pretende ter sempre disponível a informação dos nomes e moradas dos seus clientes.
� A cada consulta está associado um só médico e um só cliente. Actualmente as consultas são numeradas para cada um dos médicos, ou seja para cada médico há uma consulta 1, uma consulta 2, etc. Para a clínica é importante manter este sistema de identificação das consultas, por forma a poderem ser introduzidos dados relativos ao tempo em que a clínica ainda não estava informatizada. Da consulta pretende armazenar-se a data em que ocorreu, bem como os vários fármacos que foram receitados pelo médico na consulta.
Exercícios
Patrícia Dinis – [email protected] 85
Método da análise estruturada
� Desenhe o modelo EA e derive as tabelas de acordo com o modelo relacional.
� Uma empresa de compra e venda de imóveis pretende informatizar os seus serviços.
� A empresa tem vários casas para venda, cada uma das quais pertencente a um cliente da empresa. De cada casa a empresa quer ter disponível a zona de localização, o número de assoalhadas, o preço e o ano de construção. Dos clientes deve ser armazenado o seu nome, morada e nº de telefone. Um mesmo cliente pode ter várias casas para venda na empresa. Claro está que, nesses casos, não se quer repetir a informação da morada e nº de telefone do cliente.
� Há ainda os clientes da empresa que, em vez de quererem vender casas, querem comprar. Desses deve ser armazenado, para além da informação que se guarda dos outros clientes, a informação acerca dos interesses do cliente. Dos interesses fazem parte o nº de assoalhadas e zona de localização da casa que pretendem comprar. Um cliente pode ter interesse por vários tipos de casas diferentes.
� De cada casa que esteja para venda na empresa, deve ainda ser armazenada a informação de que clientes já a visitaram, e quando.
Exercícios
Patrícia Dinis – [email protected] 86
Método da análise estruturada
� Desenhe o modelo EA e derive as tabelas de acordo com o modelo relacional.
� Pretende-se desenvolver uma base de dados para armazenar informação duma biblioteca. Tal base de dados deverá conter pelo menos informação referente a:
� todos os títulos existentes na biblioteca incluindo,de cada um deles, o ISBN (que é um código atribuido a nível internacional e que identifica univocamente um livro), o nome, o ou os autores, a editora, os descritores do livro, a sua classificação;
� as localizações (e.g. o nº da prateleira) onde se devem encontram os vários livros (ou exemplares) de cada um dos títulos;
� as informação relevantes sobre as editoras (como nome, telefone, morada, fax, etc);
� os leitores da biblioteca, cada um dos quais com um nº de leitor. Dos leitores, a biblioteca pretende ainda ter mais alguma informação disponível, como o nome, morada, etc;
� a biblioteca pretende, como é natural, ter disponível a informação de que leitores têm que livros requisitados.
� Quando um sócio requisita para empréstimo um livro do qual não existe de momento nenhum exemplar disponível é feita uma reserva que posteriormente será satisfeita. Reservas para o mesmo livro são satisfeitas por ordem de chegada.
Exercícios
Patrícia Dinis – [email protected] 87
Método da análise estruturada
� Desenhe o modelo EA e derive as tabelas de acordo com o modelo relacional.
� Um avião de uma determinada companhia aérea, de um determinado tipo (por ex. 727,747, etc.), capacidade de passageiros, ano de fabricação e identificado por um único ID, é escalado para um vôo. Essa escala pode ser diferente a cada dia. Por exemplo, um vôo que parte às segundas e quartas, pode utilizar aviões diferentes.
� Aviões possuem um conjunto de assentos numerados. Estes ficam posicionados num dos corredores do avião, conforme a numeração;
� Um determinado vôo só pode ser utilizado uma vez no dia. Ele é identificado pelo seu número, além de ter também o lugar de origem e de destino. Por exemplo, um vôo BR102 pode fazer Rio-Recife às segundas e mudar para Rio-P. Alegre às quartas.
� Um passageiro é identificado pelo seus dados pessoais: cpf, nome, endereço, data_nasc, cartão de crédito. Alguns deles são passageiros freqüentes, possuem n0 de cartão Smiles e acumulam milhas, que são computadas a cada viagem. Passageiros efetuam reservas numa determinada data. Essa reserva já inclui o vôo e logicamente o avião com o assento já pré-determinado.
� Vôos são designados a um portão que é localizado em um terminal. Um portão é identificado por um número, por um tipo (nacional ou internacional) e pelo número do terminal. Um portão atende a muitos vôos diferentes a cada dia.
Exercícios
Patrícia Dinis – [email protected] 88
Método da análise estruturada
� Desenhe o modelo EA e derive as tabelas de acordo com o modelo relacional.
� Os STCP pretendem construir uma base de dados sobre os percursos dos seus autocarros. A base de dados deve guardar informação relativa aos autocarros, como sejam a matrícula, a data de entrada em serviço, o número de quilómetros, a data da próxima revisão e o tipo (marca/modelo) de autocarro. Cada tipo de autocarro tem uma marca,
� um modelo, um número de lugares sentados e um número de lugares de pé. � - A base de dados deve guardar também informação relativa aos percursos. Um percurso é
identificado por um número (e.g. 78, 35) e tem uma distância total em quilómetros. Os percursos percorrem paragens. As paragens têm um número identificador, um nome, e uma localização decomposta em local, rua e número.
� - Existem limitações aos percursos que um determinado tipo de autocarro pode fazer, inerentes às suas dimensões. Estas limitações devem ficar registadas na base de dados.
� - Existe um percurso especial para quando um autocarro mais o respectivo condutor são alugados. Este percurso não percorre paragens. É necessário guardar o nome da empresa que efectuou o aluguer.
� - Deve ser guardada também informação relativa aos condutores, como sejam o número de BI, o nome, a morada, a data de entrada em serviço e os percursos que cada condutor está habilitado a fazer (um condutor pode estar habilitado a fazer vários percursos).
� - Na base de dados deve ficar registada também informação operacional diária, correspondente ao registo de saídas.
� Existem três turnos de saída, 6h, 14h e 22h. Um autocarro e um condutor fazem no máximo uma saída por dia, podendo não fazer nenhuma. A informação do registo de saída inclui a data, o turno, o condutor, o autocarro e o percurso atribuído.
Exercícios
Patrícia Dinis – [email protected] 89
Método da análise estruturada
� Desenhe o modelo EA e derive as tabelas de acordo com o modelo relacional.
� Uma empresa de importação efectua as suas compras através de contratos. Cada contrato (identificado por um número) é firmado com um dado fornecedor e diz respeito a várias mercadorias (identificadas por um código e com um nome). Do contrato consta também a data da assinatura, o prazo de validade, a moeda e o valor. É fixado no contrato o preço unitário de compra de cada mercadoria, a quantidade comprada especificada numa unidade de medida que é sempre a mesma para cada mercadoria independentemente do contrato. É necessário manter informação sobre os fornecedores (nome, endereço, telefone e fax) que são identificados por um código. As mercadorias envolvidas num contrato são todas enviadas num único transporte (identificado por um número). Para cada transporte é necessário conhecer o tipo de transporte, a data de partida e a data de chegada. O registo de saída inclui a data, o turno, o condutor, o autocarro e o percurso atribuído.
Exercícios
Patrícia Dinis – [email protected] 90
Método da análise estruturada
� Desenhe o modelo EA e derive as tabelas de acordo com o modelo relacional.
� Suponha o seguinte sistema bancário: � Cada balcão depende de uma única zona, podendo cada
zona aglutinar um número variável de balcões. Uma zona tem um código, uma designação e um nome. Um balcão tem um número de balcão, uma designação, um nome e um endereço.
� As contas encontram-se sediadas ao nível do balcão, o qual é responsável pela atribuição de um número sequencial único a cada nova conta. Cada conta tem um tipo, um saldo e um limite de crédito.
� A cada cliente do banco é atribuído um código que o permite distinguir dos restantes (a nível nacional). Um cliente tem um nome, um tipo e um endereço.
� Um cliente poderá ser titular de várias contas e reciprocamente uma conta poderá ter vários titulares.
Bibliografia � Aplicações Informáticas 11º ano – Porto Editora � UML – Metodologias e Ferramentas CASE – Centro Atlântico
Patrícia Dinis – [email protected] 91