Modelagem Funcional de Sistemas de Informação Análise Essencial “Mais difícil do que definir algo, é decidir o que deve ser definido.” Fred Brooks, The Mythical Man-Month, Addison Wesley Bibliografia Indicada para o Curso • Análise Essencial S. Pompilho, Editora Ciência Moderna, RJ • Análise Estruturada Moderna Edward Yourdon, Editora Campus, RJ ANÁLISE ESSENCIAL Visão Tridimensional dos Sistemas de Informação Dados aplicações orientadas a dados e funções (exemplo: bancos) sistemas de arquivos aplicações orientadas a dados e eventos (exemplo: monitoração de pacientes em hospital) ? Funções aplicações de processos aplicações de controle Eventos aplicações orientadas a eventos e funções (exemplo: piloto automático) ANÁLISE ESSENCIAL ANÁLISE ESSENCIAL •Modelo Essencial Apresenta o sistema em um grau de abstração independente de restrições tecnológicas. Corresponde ao modelo lógico proposto da análise estruturada. •Modelo de Implementação Apresenta o sistema em um grau de abstração dependente de restrições tecnológicas, sendo derivado do modelo essencial. Corresponde ao modelo físico proposto da análise estruturada. ANÁLISE ESSENCIAL • Os eventos são a pedra fundamental dos sistemas, e a especificação de um sistema deve começar pela identificação dos eventos. • Pontos de Vista: – Abordagem =>funções dados controle – Grau de Abstração => nível essencial nível de implementação VANTAGENS DA ANÁLISE ESSENCIAL Começa pelo modelo essencial, o que corresponde ao modelo lógico proposto da análise estruturada. – Aborda as três perspectivas do problema (funções, dados e controle). – Particiona o sistema em eventos. – Permite a construção dos modelos de dados e de funções em paralelo. ANÁLISE DE EVENTOS Um sistema pode ser entendido como uma caixa preta, que a partir de certos estímulos, produz as respostas apropriadas. Estímulos Eventos Respostas Sistema ANÁLISE DE EVENTOS Evento é um acontecimento do mundo exterior, que requer resposta do sistema. – Estímulo é a conseqüência da ocorrência do evento. É o que chega ao sistema e ativa a execução de uma função. – Resposta é o resultado gerado pelo sistema, em resposta a um estímulo.Pode ser: fluxo de dado para entidade externa manutenção dos dados mantidos em dep. de dados EXEMPLO DE EVENTOS – Secretaria cadastra os cursos – Cliente entrega pedido – Vendedor efetua venda – Relatório de vendas é emitido – Gerência autoriza compra TIPOS DE ESTÍMULOS – Fluxo de dados – Fluxo de controle – Temporal Os eventos serão classificados de acordo com o tipo de estímulo que enviam ao sistema ANÁLISE ESSENCIAL Evento orientado por fluxo de dado – O estímulo é a chegada ao sistema de um fluxo de dado enviado por uma entidade externa. –Obrigatoriamente deve ser gerada uma resposta, no entanto ela pode não ser externa, ou seja, pode ser a atualização de um depósito de dados. –Sujeito + verbo transitivo (voz ativa) + complemento verbal –Exempos: Cliente paga prestação...Cliente cancela pedido ANÁLISE ESSENCIAL Evento orientado por controle – O estímulo é a chegada ao sistema de um fluxo de controle, oriundo de uma entidade externa, ou de uma função interna do sistema. – Pode ou não ser gerada uma resposta externa. –Sujeito + verbo transitivo (voz ativa) + complemento verbal –Sujeito + verbo (voz passiva) –Exempos: • Diretoria autoriza pagamento de fatura; • 8º cheque é emitido; EVENTO ORIENTADO POR TEMPO (TEMPORAL) O estímulo é a chegada ao sistema da informação de ter decorrido um determinado intervalo de tempo. – Pode ou não ser gerada uma resposta externa. –Exemplo: • Relatório contábil é emitido A LISTA DE EVENTOS Lista de Eventos sob a forma de Tabela – Uma forma bem elaborada de apresentar a lista de eventos, é sob a forma de uma tabela. – As colunas são as seguintes: Nº do evento Nome do Evento Tipo Estímulo Ação Respostas FLUXOS E PROCESSOS DE CONTROLE Um fluxo de controle pode ser originado ou de uma entidade externa ou de um processo interno ao sistema. – Um processo de controle não modifica dados. Suas entradas e saídas são fluxo de controle. –Os fluxos e processos de controle não são representados no DFD tradicional. – Para os casos em que o entendimento dos processos de controle seja fundamental para o entendimento do sistema, pode ser possível a utilização de DFD’s estendido. FLUXOS E PROCESSOS DE CONTROLE Nível de ressuprimento atingido Controlar Encomendas Produtos Emitir Encomenda Ativar emissão de Encomenda s Encomendas Encomenda Fornecedor ANÁLISE ESSENCIAL O MODELO ESSENCIAL Descreve o Sistema de maneira independente de restrições tecnológicas = > tecnologia perfeita. – Elabora o modelo ideal, descrevendo quais os requisitos que o sistema deve atender, sem se preocupar em como o sistema vai atender. – É composto de dois modelos: • Modelo Ambiental • Modelo Comportamental COMPOSIÇÃO DO MODELO ESSENCIAL - Modelo Ambiental => Voltado para fora do sistema. Mostra a interação do sistema com os elementos externos a ele. - Modelo Comportamental => Voltado para dentro do sistema. Mostra como o sistema deve reagir aos estímulos oriundos do ambiente externo. O MODELO AMBIENTAL Os componentes do Modelo Ambiental são: Diagrama de Contexto do Sistema Declaração dos Objetivos do Sistema Lista de Eventos que afetam o Sistema Normalmente, uma boa seqüência para se chegar a cada um dos componentes do modelo ambiental seria: construir a lista de eventos, desenhar o diagrama de contexto, e finalmente, elaborar a Declaração de Objetivos do Sistema. LISTA DE EVENTOS DO SISTEMA •As finalidades de um sistema são atender a determinadas necessidades, que são decorrentes de eventos que ocorrem no mundo exterior ao sistema. •A construção da Lista de Eventos está intrinsicamente ligada às finalidades de um sistema. DIAGRAMA DE CONTEXTO DO SISTEMA •O objetivo do Diagrama de Contexto é representar o sistema por um único processo e suas interações com as entidades externas. •A construção da Diagrama de Contexto é feita a partir dos DFD’s de resposta aos eventos. DIAGRAMA DE CONTEXTO Diagrama de Contexto do Sistema A construção do Diagrama de Contexto deve seguir as seguintes etapas: * Desenhar a bolha que representa o sistema, com o nome do sistema no interior. * Para cada evento, representar as entidades externas envolvidas, e os fluxos que entram e saem do sistema. * As entidades externas repetidas devem representadas apenas uma vez. ANÁLISE ESSENCIAL E1 F1 (R1) P1 EVENTO 1 F2 E2 (R3) P2 EVENTO 2 R2 E3 E3 E1 F3 (R4) P3 R6 EVENTO 3 (R5) Entidade Fluxo Processo Resposta ANÁLISE ESSENCIAL F1 F3 E1 E3 R6 F2 E2 SISTEMA R2 DECLARAÇÃO DOS OBJETIVOS •A Declaração dos Objetivos do Sistema deve ser elaborada em poucas frases, simples e precisas, em linguagem destituída de jargão técnico. •Deve concentrar-se em o que o sistema deve fazer, sem se preocupar em como será deve ser feito. •Sua construção é facilitada se forem considerados a Lista de Eventos e o Diagrama de Contexto do Sistema. MODELO COMPORTAMENTAL Os componentes do Modelo Comportamental são: DFD’s particionados por evento DFD preliminar DFD de nível zero Devemos ter em mente que o objetivo do modelo comportamental é entender o funcionamento interno do sistema. Para isso,devemos verificar quais são as bolhas primitivas, para que possamos chegar às mini-especificações dos processos primitivos. PARTICIONAMENTO POR EVENTOS DFD’s particionados por Evento • Também conhecido como DFD de resposta aos eventos. Para cada evento, representar os processos, as entidades externas, os depósitos de dados e os fluxos na forma de um DFD. • A inclusão dos depósitos de dados se faz necessária porque os eventos podem ser assíncronos, ou seja, os dados produzidos por um evento não são necessariamente utilizados no mesmo instante por outro evento. Evento2 EVENTO - FLUXO N° 2 Evento Cliente Cancela Pedido Tipo Estímulo Diretoria F Cod-pedido Ação Respostas Cancelar Pedidos I:G-pedidos-cp E: Rel-Ped-Canc Rel-Ped-Canc Cod-pedido Cliente 2 Cancelar Pedidos G-Pedidos-cp R-Pedidos-cp Gerente Comercial G-Pedidos-cp Evento 3 EVENTO TEMPORAL N° 3 Evento Tipo Matr são canceladas Matriculas G-Matriculas-cm R-matriculas-cm T Estímulo ----------- 3 Cancelar Matriculas Ação Respostas Cancelar matriculas I:G-matriculas-cm E: Rel-Mat-Canc Rel-Mat-Canc Secretaria ANÁLISE ESSENCIAL E1 F1 (R1) P1 (D1) F2 E2 (R3) P2 (D2) F3 (R4) P3 (D1) E1 EVENTO 2 R2 E3 E3 EVENTO 1 R6 (R5) (D3) EVENTO 3 D.F.D. PRELIMINAR •A Análise Estruturada preconiza uma abordagem de projeto top-down, ou seja, partindo-se do Diagrama de Contexto chega-se ao DFD de nível zero e aos DFD’s de nível mais baixo,pela explosão dos processos. •A Análise Essencial utiliza a abordagem midle-out. Parte de uma situação intermediária (o DFD preliminar), para os níveis mais baixos (abordagem top-down) e para o Diagrama de Nível Zero (abordagem botton-up) ANÁLISE ESSENCIAL DFD Preliminar •O DFD Preliminar é obtido integrando-se todos os DFD’s dos eventos em um único DFD. •Os elementos repetidos (entidades externas, depósito de dados) devem ser representados apenas uma vez. ANÁLISE ESSENCIAL E1 F1 (R1) P1 (D1) F2 E2 (R3) P2 (D2) F3 (R4) P3 (D1) E1 EVENTO 2 R2 E3 E3 EVENTO 1 R6 (R5) (D3) EVENTO 3 ANÁLISE ESSENCIAL DFD Preliminar E1 F1 P1 R6 F3 E3 E2 (R4) P3 (R5) R2 F2 (R1) (D1) (D3) (D2) P2 (R3) DFD DE NÍVEL ZERO •O DFD de nível zero representa o nível de DFD imediatamente abaixo do nível do Diagrama de Contexto. •Na abordagem Top-down, é o segundo DFD obtido, logo após o Diagrama de Contexto. •Na abordagem adotada pela AE (midle-out), como já foi visto, primeiro é obtido o DFD preliminar. Como o DFD preliminar é de um nível mais baixo, devemos grupar funções para chegarmos ao DFD de Nível Zero. D.F.D. DE NÍVEL ZERO •Um critério de agrupamento bastante razoável considera o grau de acoplamento e de coesão entre as funções. •Quanto maior a coesão entre as funções agrupadas, menor será o grau de acoplamento entre os processos obtidos. •Na prática, como as funções verificadas pertencem a eventos diferentes, uma maneira bem coerente de verificar a ligação entre eles é através dos depósitos de dados que são acessados. Fim