apostila blaschek de análise de sitemas

54
Departamento de Informática Especialização em Análise, Projeto e Gerência de Sistemas Métodos de Análise de Sistemas 1ª edição – Julho de 98 Profº. José Roberto Blaschek

Upload: timaum

Post on 11-Jun-2015

1.596 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: apostila blaschek de análise de sitemas

Departamento de Informática

Especialização em Análise,

Projeto e Gerência de Sistemas

Métodos de Análise de Sistemas

1ª edição – Julho de 98

Profº. José Roberto Blaschek

Page 2: apostila blaschek de análise de sitemas
Page 3: apostila blaschek de análise de sitemas

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

COORDENAÇÃO CENTRAL DE EXTENSÃO

Page 4: apostila blaschek de análise de sitemas
Page 5: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 1

ÍNDICE

Capítulo 1

Conceitos Básicos

1.1 Introdução -----------------------------------------------------------------------------031.2 Análise de Sistemas ----------------------------------------------------------------031.3 Metodologia ---------------------------------------------------------------------------041.4 Processo de Desenvolvimento de Sistemas de Informação ---------------041.5 Modelo ---------------------------------------------------------------------------------071.6 Dimensão de um Modelo ----------------------------------------------------------071.7 Nível de Abstração de um Modelo -----------------------------------------------071.8 Modelagem de Sistemas de Informação ---------------------------------------07

1.8.1 Modelagem de Sistemas de Informação ---------------------------081.8.2 Níveis de Abstração -----------------------------------------------------08

Capítulo 2

Análise Estruturada

2.1 Introdução ---------------------------------------------------------------------------- 092.1 Características da Metodologia --------------------------------------------------092.3 Princípios Utilizados na Solução de Problemas ------------------------------092.4 Modelos da Metodologia------------------------------------------------------------102.5 Diagrama de Fluxo de Dados (DFD) --------------------------------------------10

2.5.1 Processo ------------------------------------------------------------------102.5.2 Fluxo de Dados ----------------------------------------------------------112.5.3 Depósito de Dados ------------------------------------------------------112.5.4 Entidade Externa ---------------------------------------------------------12

2.6 Organização de DFD em Níveis -------------------------------------------------122.7 Recomendações para Construção de DFD -----------------------------------132.8 Diretivas da Metodologia -----------------------------------------------------------14

Capítulo 3

Dicionário de Dados

3.1 Introdução------------------------------------------------------------------------------173.2 Organização e Simbologia --------------------------------------------------------173.3 Estruturas das Definições ---------------------------------------------------------18

3.3.1 Depósitos de Dados, Entidades e Relacionamentoscom Atributo ----------------------------------------------------------------------193.3.2 Fluxos de Dados e Estruturas de Dados --------------------------203.3.3 Elementos de Dados ---------------------------------------------------21

Capítulo 4

Português Estruturado

4.1 Introdução -----------------------------------------------------------------------------224.2 Características da Especificação ------------------------------------------------22

Page 6: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS2

4.3 Estruturas de Controle -------------------------------------------------------------234.3.1 Seqüência------------------------------------------------------------------234.3.2 Seleção --------------------------------------------------------------------234.3.3 Repetição ------------------------------------------------------------------24

4.4 Formato da Especificação ---------------------------------------------------------244.5 Exemplos de Especificação em Português Estruturado --------------------25

Capítulo 5Diagrama de Transição de Estados

5.1 Introdução------------------------------------------------------------------------------325.2 Eventos ---------------------------------------------------------------------------------325.3 Estados---------------------------------------------------------------------------------325.4 Condições------------------------------------------------------------------------------335.5 Notação Gráfica ----------------------------------------------------------------------33

Capítulo 6Análise Essencial

6.1 Introdução------------------------------------------------------------------------------346.2 Conceitos Básicos -------------------------------------------------------------------34

6.2.1 Tecnologia Perfeita ------------------------------------------------------346.2.2 Requisitos Verdadeiro e Requisito Falso ---------------------------356.2.3 Sistema Interativo --------------------------------------------------------366.2.4 Evento e Resposta-------------------------------------------------------366.2.5 Atividade Essencial ------------------------------------------------------386.2.6 Memória Essencial-------------------------------------------------------39

6.3 Acesso das Atividades de Custódia à Memória Essencial -----------------406.4 Sistema Encarnado------------------------------------------------------------------416.5 Especificação da Essência do Sistema-----------------------------------------41

ÍNDICE DE FIGURASFigura 1 - Representação Gráfica de Processo---------------------------------------------10Figura 2 - Representação Gráfica de Fluxo de Dados-------------------------------------11Figura 3 - Convergência e Divergência de Fluxo de Dados ------------------------------11Figura 4 - Representação Gráfica de Fluxo de Dados-------------------------------------12Figura 5 - Semântica dos Acessos aos Depósitos de Dados ----------------------------12Figura 6 - Representação Gráfica da Entidade Externa-----------------------------------13Figura 7 - DFD Organizado em Níveis Hierárquicos ---------------------------------------12Figura 8 - Notação para Diagrama de Transição de Estados ----------------------------33Figura 9 - Sistema Interativo ---------------------------------------------------------------------36Figura 10 - Sistema de Resposta Planejada -------------------------------------------------37Figura 11 - Atividades Essenciais -------------------------------------------------------------39Figura 12 - Modelo de Dados Genérico-------------------------------------------------------40Figura 13 - Criar ou Excluir uma Ocorrência de R1 ----------------------------------------40Figura 14 - Criar ou Excluir uma Ocorrência de R2 ----------------------------------------40

Page 7: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 3

1CONCEITOS BÁSICOS

1.1 Introdução

De uma maneira abrangente, Sistema é definido como “um conjunto deelementos, interrelacionados, que possuem características comuns e quepodem ser entendidos como um todo”.Dessa forma, podemos pensar no “Sistema Solar”, composto de várioselementos 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 peloHomem. Nos sistemas construídos pelo homem, podemos identificarclaramente o propósito para o qual o sistema foi construído. Nos sistemasnaturais, esse propósito nem sempre é muito claro.Os sistemas construídos pelo homem podem ser definidos como um conjuntode componentes relacionados entre si, que podem ser vistos como um todo,onde os componentes trabalham juntos na execução de um conjunto defunçõ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 doscomponentes fundamentais são informações. Esses sistemas, chamados“Sistemas de Informação”, provêem procedimentos para armazenar e tornardisponíveis informações, que são utilizadas em atividades relacionadas a umaorganização. Se os sistemas de informação utilizam computadores, eles sãodenominados “Sistemas de Informação Automatizados”. Esse tipo de sistema éo alvo principal de nosso curso.

1.2 Análise de SistemasÉ um processo de comunicação entre Analistas de Sistemas e Usuários doSistema, com o objetivo de definir o propósito e os requisitos de um sistema deinformação. Requisitos de um sistema é o conjunto de características que umsistema deve possuir para atingir seu propósito.A análise de um sistema é um processo de transformação de conhecimento.

Page 8: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS4

Ela envolve três etapas: o aprendizado; a estruturação e a representação dosrequisitos do sistema; e a validação dos requisitos pelos usuários.Ao longo do processo, o analista enfrenta o desafio de “lidar com acomplexidade”, isto é, situações complexas do mundo real devem serentendidas e representadas de forma simples, para facilitar a compreensão evalidação. Requer delimitar a área de estudo, subdividir o todo complexo empartes inteligíveis e de tamanho gerenciável, extrair as característicasessenciais da realidade e modelar essas características para mostrar orelacionamento entre seus componentes. Pode-se afirmar que complexidade efalta de estrutura caracterizam o ambiente da Análise de Sistemas.

1.3 MetodologiaAs Metodologias são utilizadas para orientar e ordenar o trabalho do analistade sistemas ao longo do processo de desenvolvimento de sistemas.Uma boa metodologia deve definir o processo de desenvolvimento, possuirmodelos para representar abstrações e diretivas para orientação do trabalho.

1.4 Processo de Desenvolvimento de Sistemas de InformaçãoO Processo de Desenvolvimento de Sistemas, também chamado Ciclo de Vidado Sistema, compreende todas as atividades necessárias para definir,desenvolver, testar, operar e manter um sistema.A definição de um processo de desenvolvimento tem como objetivo:- definir as atividades a serem executadas ao longo do projeto;- prover pontos de controle; e- padronizar o processo de desenvolvimento na organização.O Processo de Desenvolvimento estruturado, que tem como principalcaracterística a ausência de seqüência progressiva entre suas atividades, édividido nas seguintes etapas:

Etapa 1: Planejamento Estratégico (nível organização)Tem como propósito definir os requisitos de informação de uma organização,visando:- definir a arquitetura de informação;- identificar as aplicações a serem desenvolvidas, com as respectivas

prioridades;- identificar as interfaces entre aplicações, vistas como partes de sistemas

maiores;É importante ressaltar que as atividades de uma organização estão distribuídasem três níveis distintos: nível estratégico, nível tático e nível operacional. Osusuários de cada nível possuem necessidadesespecíficas, que devem ser atendidas pelos sistemas de informação daorganização. Um plano de sistemas bem elaborado, garante a integração dossistemas produzidos e que todos os usuários serão adequadamente atendidos,independentemente de seu nível de atuação.

Page 9: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 5

Etapa 2: Levantamentos Iniciais (início do nível aplicação)Consome cerca de 5% a 10% do tempo e dos demais recursos do projeto daaplicação. Tem como propósito compreender o problema do usuário e formularalternativas de solução. Nessa etapa são realizadas as seguintes tarefas:

a) descrição do sistema atual:Através de entrevistas com os usuários, o analista produz um texto emportuguês, descrevendo o que é feito no sistema atual, sem preocupar-se como como é feito. Essa descrição deve conter uma introdução onde éapresentada a empresa, seu ramo de atuação, localização, porte e estruturaorganizacional.A seguir, as atividades objeto do levantamento são citadas e descritas. Adescrição deve levar em consideração o fluxo normal da informação (origem,processamento e destino).

b) construção do modelo do sistema atual:O analista deve construir um modelo gráfico de alto nível do sistema atual,visando possibilitar que ele passe a raciocinar com seus próprios modelos.

c) identificação dos problemas do sistema atual:São coisas que o sistema atual faz, mas que não faz bem. São exemplos deproblemas software não manutenível, tempo de resposta inadequado, custosexcessivos, problemas de confiabilidade, problemas operacionais, deficiênciasde interface com outros sistemas, falhas de informação (informaçõesdesnecessárias, incorretas, redundantes e inconsistentes).Todas as deficiências devem ser enunciadas em termos de causa e efeitoquantificado, como por exemplo: “como o cálculo do pagamento é feitomanualmente e exige consulta a três diferentes documentos, há muita demora,em média dois dias, para se efetuar o cálculo e ocorrem muitos erros, emmédia quatro por processo de cálculo”.A relação de problemas deve ser submetida ao usuário para validação. Aseguir, ela é organizada, pelo usuário, em ordem decrescente de prioridade.

Page 10: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS6

d) identificação das necessidades não atendidas pelo sistema atual:São informações que o usuário gostaria de receber, mas que não sãofornecidas pelo sistema atual. Ao enunciá-las, o analista deve citar ainformação a ser fornecida e associá-la à atividade do negócio que seráapoiada por essa informação, como por exemplo: “relação dos clientes ematraso, visando a possibilitar a cobrança por telefone”.Essa lista também deve ser validada pelo usuário e organizada em ordemdecrescente de prioridade.

e) definição dos requisitos para um novo sistema:Em linhas gerais, os requisitos para um novo sistema corresponderão ao que osistema atual faz, menos os seus problemas, mais as necessidades nãoatendidas.Os requisitos são expressos na forma de uma lista.

f) formulação de alternativas de solução:O analista deverá formular alternativas de solução para o atendimento dosrequisitos listados na tarefa anterior. As alternativas devem propor desdesoluções mais simples, mais baratas e de execução mais rápida e queatendam apenas aos requisitos mais prioritários, até a mais complexa,possivelmente cara e demorada, mas que atenda a todos os requisitos.Todas as alternativas devem apresentar, de forma detalhada, os custosquantificados (hardware, software, mão de obra e tempo) e os benefíciosesperados (informações fornecidas, redução de custos, aumento de lucro,qualidade de atendimento, etc.) que, se possível. Devem também serquantificados.De posse dessas informações, o usuário seleciona uma das alternativas, a qualpassará a ser desenvolvida na fase de análise.

g) redação do plano do projeto:O plano do projeto inclui as informações de custo e prazo da solução escolhida,define as responsabilidades da gerência e descreve as demais etapas doprocesso de desenvolvimento, os produtos de cada etapa, os requisitos dequalidade e o cronograma do projeto.

Etapa 3: AnáliseAtividade para a qual o analista deve dedicar a maior parte de seu tempo eesforço. Sua principal tarefa consiste em definir e modelar o que o sistema iráfazer, independente da tecnologia que será utilizada na implementação. É feitauma reavaliação do plano do projeto, principalmente dos custos e benefíciosquantificados na fase anterior.

Page 11: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 7

Etapa 4: ProjetoO objetivo desta etapa é definir a melhor alternativa para implementar, em umdado ambiente computacional, todas as características do sistema definidas naAná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) econfiabilidade.

Etapa 5: ImplementaçãoConsiste na codificação dos programas e criação dos arquivos de dados.

Etapa 6: TestesConsiste na definição de casos de testes e na realização dos testes deprogramas, testes de integração, teste do sistema e teste de aceitação.

Etapa 7: ImplantaçãoConsiste em implantar o sistema nas instalações do usuário. Nessa etapa sãoprontificados os manuais, os arquivos são carregados, o sistema é instalado eos usuários treinados. Um bom planejamento dessas atividades é um fatorcrítico para o sucesso do sistema.Todo o trabalho executado no sistema após a sua implantação é denominadomanutenção, a qual pode ser corretiva (corrigir erros), adaptativa (adaptar osistema 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 decaracterísticas do mundo real, que são relevantes para o propósito como qual omodelo 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.

1.6 Dimensões de um ModeloConjunto de características da realidade que são enfatizados no modelo.

1.7 Nível de Abstração de um ModeloConsiste no grau de detalhamento com que as características do sistema sãorepresentadas no modelo. Em cada nível há uma ênfase seletiva nos detalhesrepresentados.

Page 12: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS8

1.8 Modelagem de Sistemas de InformaçãoAo longo do processo de desenvolvimento, um sistema é representado atravésde vários modelos. Esses modelos representam o sistema em dimensões eníveis de abstração distintos.

1.8.1 Dimensões do Mundo RealDado – aspecto estático e estrutural do sistema;Controle – aspecto temporal e comportamental do sistema; eFunção – transformação de valores.Os modelos de dados, controle e função de um mesmo sistema, devem serconsistentes entre si.

1.8.2 Níveis de AbstraçãoConceitualCaracterísticas do sistema independentes do ambiente computacional(hardware e software) no qual será implementado o sistema. Essascaracterísticas são dependentes unicamente das necessidades do usuário.LógicoCaracterísticas dependentes de um determinado tipo de sistema computacional(não representa características de produtos específicos).FísicoCaracterísticas dependentes de um sistema computacional específico, isto é,linguagem e compilador específicos, hardware de um determinado fabricante,etc.Nas primeiras etapas do processo de desenvolvimento, o analista representa osistema através de modelos conceituais. Nas etapas seguintes, ascaracterísticas lógicas e físicas são representadas em novos modelos.

Page 13: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 9

2ANÁLISE ESTRUTURADA

2.1 IntroduçãoAs técnicas estruturadas surgiram no sentido bottom-up, isto é, daprogramação para a análise.A programação estruturada, introduzida no final da década de 60, teve comoprincipal propósito a construção de programas mais fáceis de serem lidos ecompreendidos. Isso foi conseguido com o abandono do comando “GOTO” euso, na construção dos programas, de apenas três estruturas básicas decontrole (seqüência, seleção e repetição).O projeto estruturado, introduzido em meados da década de 70, preocupou-secom a organização dos programas. As recomendações do projeto estruturadopara organizar um sistema em módulos de tamanho reduzido, cada qualexecutando uma única função específica, e sobre a maneira como os módulosdevem ser interligados, contribuíram para a manutenibilidade do sistema.No final da década de 70, a análise estruturada possibilitou especificar osrequisitos lógicos do sistema em um modelo gráfico de alto nível, capaz de sercompreendido pelos usuários e de ser mapeado para a arquitetura do projeto.O modelo gráfico introduzido pela análise estruturada representa os dadosutilizados por um sistema, os fluxos que transportam e os processos que ostransformam.

2.2 Características da MetodologiaA análise estruturada possui as seguintes características:

♦ Utiliza linguagem gráfica com suporte de texto♦ Fornece uma visão top-down e particionada do sistema♦ Possibilita eliminar redundâncias♦ Os instrumentos conseguem ser transparentes ao leitor

2.3 Princípios Utilizados na Solução de ProblemasOs seguintes princípios, quando utilizados, auxiliam o analista de sistemas alidar com suas limitações, na solução de problemas:

♦ Abstração: utilizado para separar aspectos que estão ligados a umadeterminada particularidade da realidade. Possibilita a construção demodelos genéricos e simplificados do mundo real.

♦ Rigor e Formalidade: fornece uma abordagem metódica e rigorosapara resolver um problema, ao contrário de uma abordagem ad-hoc, quenão permite o estabelecimento de controles.

Page 14: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS10

♦ Dividir-para-Conquistar: um problema grande e complexo pode serdividido em um conjunto de problemas menores e independentes, maisfáceis de serem compreendidos e resolvidos.

♦ Organização Hierárquica: os componentes da solução de um problemapodem ser organizados em uma estrutura hierárquica.

♦ Assim, a solução de um problema pode ser compreendida e construídanível a nível. A cada nível são acrescentados mais detalhes.

2.4 Modelos da MetodologiaA análise estruturada utiliza os seguintes modelos para especificar osrequisitos lógicos do sistema.

♦ Diagrama de Fluxo de Dados (DFD): representa um sistema deinformações como uma rede de processos, interligados entre si porfluxos e depósitos de dados.

♦ Dicionário de Dados (DD): contém a definição dos dados utilizados noDFD.

♦ Especificação da Lógica dos Processos: especifica a lógica dosprocessos representados no DFD.

2.5 Diagrama de Fluxo de Dados (DFD)O Diagrama de Fluxo de Dados possui os seguintes componentes:

2.5.1 ProcessoRepresenta as transformações ocorridas com os dados. Corresponde a umafunção ou atividade do sistema de informação.Uma transformação significa uma ou mais: transformação do conteúdo variávelde um dado de entrada no conteúdo variável de um dado de saída; modificaçãoou criação de dados armazenados, a partir do conteúdo (possivelmentetransformado) de dados de entrada; e transformação de dados previamentearmazenados no conteúdo variável de um dado de saída.O nome do processo deve estar relacionado com uma atividade ou função donegócio. Devem ser evitados nomes muito físicos (gravar, imprimir), muitotécnicos (deletar, becapear) ou nomes muito genéricos (processar). A figura 1mostra a representação gráfica de processo, na notação proposta por DeMarco(1978) e Gane (1979).

1VERIFICAR

PEDIDOCLIENTE

1verificarpedidocliente

Notação DeMarco Notação GaneCódigo identificador do processo

Nome do processo:=Verbo no Infinitivo + substantivo+ (qualificador)

Figura 1- Representação Gráfica do Processo

Page 15: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 11

2.5.2 Fluxo de DadosÉ utilizado para representar a movimentação de dados pelo sistema.Os dados transportados pelos fluxos são associados a um valor variável ou aum conjunto de valores variáveis, definidos em um ponto discreto no tempo.O nome do fluxo deve ser um substantivo que facilite a identificação do dadoou pacote de dados transportado. Todo fluxo de dados possui direção (origeme destino). A figura 2 mostra a representação gráfica de fluxos de dados, nanotação proposta por DeMarco (1978) e Gane (1979).

Conforme representado na figura 3, fluxos de dados podem convergir oudivergir em um DFD, representando múltiplas fontes, múltiplos destinos oucombinação/separação de conteúdo.

2.5.3 Depósito de DadosRepresenta uma coleção de dados em repouso. Pode ser considerada comouma área destinada a armazenar dados, situada entre processos que sãoexecutados em tempos diferentes.Um depósito de dados pode ser visto fisicamente como uma fita magnética,uma área em disco magnético, um caderno, um fichário, uma relação, umaficha, etc. A figura 4 ilustra a representação gráfica de depósitos de dados, nanotação proposta por DeMarco (1978) e Gane (1979).

Pedido(Fluxo de Entrada)

Notação DeMarco

Fatura(Fluxo de Saída)

Solicitação-Status-Item Status-Item(fluxo de diálogo: consulta eresposta sobre estados da memória)

Notação Gane

Fluxo deEntrada

Fluxo deDiálogo

Fluxo deSaída

Figura 2 - Representação Gráfica de Fluxo de Dados

XTodos os "X" podem ser fornecidos por uma ou outra origem

ZX

Y

Dois subconjuntos de "X" são fornecidos por duas origens

X Todos os "X" são enviados aos dois destinos

X Z

Y

Dois subconjuntos de "X" são enviados a dois destinos

Figura 3 - Convergência e Divergência de Fluxo de Dados

Page 16: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS12

A Semântica dos Acessos aos depósitos de dados é ilustrado na figura 5.

2.5.4 Entidade ExternaÉ uma fonte ou destino de dados que se comunica com o sistema,respectivamente fornecendo ou recebendo dados.As entidades externas representam as interfaces do sistema. Situam-se fora docontrole do sistema e do domínio de análise do analista. Por esta razão, o DFDnão representa fluxos de dados entre entidades externas. A figura 6 ilustra arepresentação gráfica de entidade externa, na notação proposta por DeMarco(1978) e Gane (1979).

Figura 6 – Representação Gráfica da Entidade Externa

clienteacliente

Notação DeNarco

PEDIDOS

Nome do depósito (substantivosno plural)

Notação Gane

DI PEDIDOS

Nome do depósito de dadosSubstantivo no plural)

Código do depósito de dados

Indica que o depósito de dados é desenhadomais de uma vez no diagrama

Figura 4 - Representação Gráfica de Depósito de Dados

PEDIDOS

Leitura não destrutivado conteúdo dodepósito de dados

PEDIDOS

Inclusão, exclusão oualteração do conteúdodo depósito de dados

PEDIDOS

Leitura e modificaçãodo conteúdo dodepósito de dados

Figura 5 - Semântica dos Acessos aos Depósitos de Dados

Notação DeMarco Notação Gane

código da entidadeexterna

Indica que a entidade externaé desenhada mais de uma vezno diagrama

nome da entidade externa

nome da entidade externa

Page 17: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 13

2.6 Organização de DFD em NíveisPara evitar DFDs complexos, com um número muito elevado de processos –mais do que 7 + 2 – e permitir uma visão top-down e particionada do sistema,os diagramas são organizados em níveis hierárquicos, onde os diagramas denível inferior detalham processos de diagramas do nível superior.O diagrama de mais alto nível hierárquico é denominado Diagrama deContexto, o qual representa o sistema como um único processo e suasinterações com o ambiente (o sistema, entidades externas e fluxos de entradae saída).O diagrama imediatamente subordinado ao Diagrama de Contexto édenominado Diagrama Zero, que representa as principais funções do sistema eas interfaces entre elas. Os processos nesse diagrama recebem os números 1,2, 3, etc.A seguir, os diagramas são nomeados com o número e nome do processo queestá sendo detalhado no diagrama. Nesses diagramas os processos sãonumerados com o número do processo que está sendo detalhado e um númeroseqüencial, separados por um ponto. A figura 7 ilustra a organização do DFDem níveis hierárquicos.

Diagrama de Contexto

Diagrama Zero

21

Diagrama 1

1.11.2

Processo1.1

______________

Especificaçãoda lógica dosprocessos

Processo1.2

____________

2.1

2.2

Processo2.1

_______________

Processo2.2

_____________

Diagrama 2

Figura 7 - DFD Organizado em Níveis Hierárquicos

Page 18: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS14

2.7 Recomendações para Construção de DFDa) escolha nomes significativos para todos os objetivos do DFD. Utilize nomes

do próprio ambiente do usuário;b) os processos devem ser numerados de acordo com o diagrama ao qual

pertencem;c) evite desenhar DFDs complexos;d) cuidado com as bolhas sem entrada ou sem saída;e) cuidado com os processos e fluxos não nomeados;f) cuidado com os depósitos de dados que só possuem fluxos de entrada ou

de saída;g) fique atento ao princípio da conservação dos dados;h) os fluxos que entram e saem em um nível devem entrar e sair no nível

inferior;i) mostre um depósito de dados no nível mais alto em que ele faz interface

entre dois ou mais processos. Passe a representá-lo em todos os níveisinferiores que detalham os processos da interface;

j) não perca tempo procurando um bom nome para um processo que só podechamar-se “processar dados”. Livre-se dele;

k) só represente fluxos de rejeição nos diagramas de mais baixo nível;l) não represente no DFD fluxos de controle ou de material; em) só especifique a lógica dos processos primitivos, ou seja, dos processos

não explodidos em outros diagramas.

2.8 Diretivas da Metodologiaa) identificar as entidades externas envolvidas;b) preparar uma lista com as entradas e saídas necessárias para que o

sistemas atinja o seu propósito. Assinale as entradas e saídas que estãoassociadas a situações de erros ou execução;

c) identificar as consultas e os pedidos de informação ao sistemas quepossam surgir;

d) desenhar, a partir do canto esquerdo de uma folha de papel, as entidadesexternas que fornecem dados ao sistema, os processos necessários paratransformar os dados de entrada nos dados de saída e os depósitos dedados para manter dados em repouso. Termine com as entidades externasque recebem informações do sistema.

e) Nesse primeiro diagrama não represente fluxos associados a erros ouexceções;

f) Verificar se todas as entradas e saídas da lista forma incluídas no diagrama;g) Produzir diagramas de nível inferior para detalhar os processos do primeiro

diagrama. Nesses novos diagramas, incluir os fluxos associados a erros ouexceções.

Page 19: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 15

ESTUDO DE CASO 1

LIVRARIA ABC

Descrição do Mini-Mundo

A Livraria ABC atua no mercado de livros há mais de 20 anos. Sua estratégiade atuação não prevê a manutenção de livros em estoque.Todos os livros solicitados por seus clientes são, semanalmente,encomendados às editoras. As editoras e os livros oferecidos são selecionadospela Direção da Livraria. Atualmente, a Livraria possui 1.200 clientescadastrados, fornece 170 livros e atende a uma média de 150 pedidos porsemana.Os clientes enviam seus pedidos pelo correio. O pedido é aceito se o cliente eos livros estiverem previamente cadastrados. Caso contrário, o pedido érejeitado e devolvido ao cliente.Ao final da semana, a livraria emite requisições para as editoras, com base nospedidos recebidos.Quando os livros são fornecidos, a livraria confere as notas fiscais das editorascom as requisições, devolve as que contiverem erros e atende os pedidos dosclientes, emitindo as respectivas faturas, que acompanham os livros. Umacópia da fatura é encaminhada à Tesouraria, onde é feito o controle depagamentos.

Page 20: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS16

ESTUDO DE CASO 2

ASSINATURA DE REVISTAS

A editora Fofoca pública atualmente 6 revistas de distribuição nacional. Devidoao número crescente de assinantes e a publicação em breve de novas revistas,a direção da editora decidiu contratar os serviços de uma empresa deinformática para o desenvolvimento de um sistema, capaz de agilizar asvendas de assinaturas.Para se tornar assinante, as pessoas interessadas enviam um cupom contendoo nome, CPF, endereço para entrega e o prazo da assinatura (6, 12 ou 24meses).O Departamento de Assinantes envia aos novos assinantes recibos parapagamento da assinatura. O prazo para o pagamento é de 30 dias, a partir dadata da emissão do cupom.O assinante paga sua assinatura em qualquer dos bancos autorizados.Periodicamente, os bancos enviam à editora a Segunda via do recibo depagamento, devidamente quitado.Após quinze dias de atraso no pagamento da assinatura, deverá ser enviadauma carta ao assinante solicitando pagamento. Após trinta dias de atraso, aassinatura deve ser automaticamente cancelada. O gerente do Departamentode Assinantes deve ser informado de todos os cancelamentos.Os assinantes podem alterar o endereço para entrega das revistas,simplesmente informando ao Departamento de Assinantes o novo endereço.Um mês antes do término do prazo da assinatura, deverão serautomaticamente enviados aos assinantes novos cupons, para renovação daassinatura. É prática da Editora conceder descontos para os assinantes porocasião da renovação de suas assinaturas. Mensalmente, a direção da editoradefine os preços das assinaturas de cada revista.No dia quinze de cada mês, devem ser emitidas as etiquetas deendereçamento, para serem afixadas nos exemplares dos assinantes.Sempre que solicitado, o sistema deverá ser capaz de informar o total deassinantes de cada revista.

Page 21: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 17

3DICIONÁRIO DE DADOS

3.1 IntroduçãoO Dicionário de Dados é um modelo em texto utilizado para definir os dados dosistema. Na fase de análise, o Dicionário de dados conterá os dadosrepresentados 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.

3.2 Organização e SimbologiaNo dicionário de dados, todas as definições dos dados estarão organizadas emuma mesma e única lista, sem que haja qualquer separação entre os tipos dedados.Na definição dos dados são utilizados os seguintes símbolos:

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 onú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 oumais repetições.

** delimitador de comentário@ ou ________ chave primária de depósito de dados

Page 22: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS18

A seguir são apresentados alguns exemplos de utilização destes símbolos:

a) o registro do depósito de dados de clientes é composto, obrigatoriamente,de código-cliente e nome-cliente e endereço-cliente e, opcionalmente, detelefone-cliente, sendo código-cliente a chave do registro.

Cliente = *cliente da livraria*código-cliente + nome cliente + endereço-cliente + (telefone-cliente)

b) o cliente pode não possuir telefone ou possuir mais de um telefone (onegrito será utilizado para chamar a atenção sobre os detalhes, nãofazendo parte do padrão).

Cliente = *cliente da livraria*código-cliente + nome cliente + endereço-cliente + {telefone-cliente}

c) o cliente possui no mínimo um telefone, e no máximo três.Cliente = *cliente da livraria*

código-cliente + nome cliente + endereço-cliente + 1{telefone-cliente} 3

d) o cliente pode não possuir telefone ou possuir no máximo três.Cliente = *cliente da livraria*

código-cliente + nome cliente + endereço-cliente + {telefone-cliente} 3

e) o cliente possui no mínimo um telefone, podendo possuir vários outros.Cliente = *cliente da livraria*

código-cliente + nome cliente + endereço-cliente + 1 {telefone-cliente}

f) o cliente deve possuir um telefone, podendo ser comercial ou residencial.Cliente = *cliente da livraria*

código-cliente + nome cliente + endereço-cliente + [telefone-comercial| telefone-residencial]

g) o cliente pode possuir telefone comercial, residencial ou ambos.Cliente = *cliente da livraria*

código-cliente + nome cliente + endereço-cliente + [telefone-comercial| telefone-residencial / telefone-comercial + telefone-residencial]

3.3 Estrutura das DefiniçõesTodas as definições do Dicionário de Dados contém o nome do dado, umcomentário sucinto sobre o significado do dado, sua composição - no caso dedados compostos, ou suas características - no caso de dados elementares.

Page 23: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 19

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 nolugar da especificação do significado.

Exemplo :

Sexo = **

A seguir são apresentados as convenções utilizadas nas definições de cadatipo de dado:

3.3.1 Depósitos de Dados, Entidades e Relacionamentos com AtributoA definição de um depósito de dados deve conter o significado do depósito,volume inicial de dados armazenados, taxa de crescimento e o nome doregistro, o qual corresponderá a uma entidade ou a um relacionamento comatributo do ERA. Os nomes dos depósitos de dados serão sempre escritos noplural e com letras maiúsculas.Exemplo:

As chaves primárias dos depósitos de dados são assinaladas na definição doregistro do depósito.Exemplo:

O Dicionário de Dados pode ser utilizado para descrever a composição dosDepósitos de Dados que correspondem às generalizações e especializaçõesdo ERA.

Indica que o significado do dado não será especificado

LIVROS =

nome do depósito de dados

*Cadastro de Livros da Livraria* significado

*volume inicial: 300 ocorrências**taxa de crescimento: 5 ocorrências por mês*(livro)Informações sobre

volume e taxa decrescimento

Registro do Depósito de Dados

livro = *livro comercializado pela Livraria* @código-livro + nome-livro + edição-livro

chave primária do depósito de dados LIVROS

Cliente = *cliente da livraria* @nome-cliente + data-nascimento + endereço + telefone

chave primária (composta) do depósito dedados CLIENTES

Page 24: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS20

Exemplo:

3.3.2 Fluxos de Dados e Estruturas de DadosA definição de um fluxo de dados ou de uma estrutura de dados contém osignificado e a composição do dado. No dicionário de dados, os nomes dessesdados são escritos com letras minúsculas.Exemplo:

Para que a composição dos fluxos e estruturas de dados sejam apresentadosde maneira top-down, o que facilita o seu entendimento, deve-se procuraragrupar os elementos de dados em estruturas intermediárias.Exemplo:

pedido-livro = *pedido de livro dos clientes da livraria*

Nome-cliente + endereço-cliente + (telefone-cliente) + 1{nome-item + quantidade-item}

Pedido-livro = *pedido de livro dos clientes da livraria*Cliente-pedido + 1{item-pedido}

• Cod-leitor 0 Nome-leitor

LEITOR

ALUNO PROFESSOR

0 Endereço 0 Sala

aluno = *aluno da universidade* leitor + endereçoLEITORES = *leitor cadastrado na Biblioteca* {[leitor | aluno | professor]}leitor = *leitor da Biblioteca* cod-leitor + nome leitor

professor = *professor da universidade* leitor + sala

cliente-pedido = *cliente que encaminhou o pedido* estrutura de dados nome-cliente + [endereço-cliente | telefone-cliente]

item-pedido = *item do pedido de um cliente* estrutura de dados nome-item + quantidade-item

pedido-livro = *pedido de livros dos clientes da livraria* fluxo de dados cliente-pedido + 1 {item-pedido}

Composição do fluxo especificada sem estruturasintermediárias (especificação ruim)

Composição do fluxo especificada com estruturasintermediárias (boa especificação)

Page 25: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 21

Quando dois ou mais dados possuírem a mesma composição, suas definiçõespodem ser feitas por meio de referências cruzadas.Exemplo:

endereço = ** rua + complemento + bairro + cep +cidade + estado

endereço-cliente = **endereço

endereço-fornecedor = ** endereço

As mensagens transportadas pelos fluxos de dados, quando definidas nodicionário de dados, devem ser escritas entre aspas.Exemplos:pedido-inválido = *pedido rejeitado pela livraria*

“cliente sem crédito”situação-aluno = *aproveitamento do aluno na disciplina*

[nota-aluno / “aluno reprovado”]livro-indisponível = *livro indisponível para empréstimo*

nome-livro + [“livro emprestado”] / “livro reservado”]

3.3.3 Elementos de DadosA definição de um elemento de dados contém, além do significado do dado,informações sobre o tipo de dado, tamanho, formato, número de casasdecimais, unidade de medida, domínio de valores, significado dos valores dodomínio e sinônimos.Exemplos: código-departamento = **

*domínio de valores: [10 | 20 | 30] *significado dos valores: 10 - Administração

20 - Industrial 30 - Vendas*

preço-item = *preço de venda do livro**unidade de medida: CR$**tipo: numérico**tamanho: 10 posições**número de casas decimais: 2**sinônimo: preço-venda*

Dados que possuem as mesmas características, ou que sejam sinônimos (ummesmo dado que é conhecido e tratado por mais de um nome), podem serdefinidos utilizando-se referências cruzadas.Exemplos:

data =** *formato: dd/mm/aa*

data-fatura: *data de emissão de uma fatura*data

data-pedido = *data de emissão de um pedido* data

Endereço,endereço-cliente eendereço-fornecedorsão compostos dosmesmos dados

Data, data-fatura e data-pedidopossuem as mesmas características

Page 26: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS22

4PORTUGUÊS ESTRUTURADO

4.1 IntroduçãoO Português Estruturado é um subconjunto do Português, cujas sentenças sãoorganizadas segundo as três estruturas de controle, introduzidas pelaProgramação Estruturada (seqüência, seleção e repetição).A Análise Estruturada e a Análise Essencial utilizam o Português Estruturadopara especificar a lógica dos processos primitivos do DFD, isto é, dosprocessos que não são detalhados em diagramas de nível inferior.

4.2 Características da EspecificaçãoUma especificação em Português Estruturado deve especificar apenas “o que oprocesso deve fazer” e nunca “como o processo deve fazer”.O exemplo abaixo caracteriza essa diferença:

Para registrar a matrícula de um aluno, o processo “Matricular Aluno” deveatribuir um valor numérico e seqüencial para “código-matrícula”. No item“a”, abaixo, está sendo especificado como o processo obtém o valor paracódigo-matrícula (como fazer). Já no item “b”, está sendo especificadoapenas o que o processo deve fazer.

a) especificação incorreta“obter novo-alunolocalizar último registro de aluno em ALUNOSler matrícula-aluno do registro localizadoacrescente 1 a matrícula-alunoarmazene novo registro em ALUNOS com matrícula-aluno, nome-aluno eendereço-aluno”

b) especificação correta“obter novo-alunoatribuir valor numérico seqüencial a matrícula-alunoarmazenar matrícula-aluno, nome-aluno e endereço-aluno em ALUNOS”

Uma especificação, em Português Estruturado, deve possuir as seguintescaracterísticas gerais:♦ deve ser clara, concisa, completa e livre de ambigüidades;♦ todos os dados citados na especificação e que estejam definidos no

dicionário de dados devem ser sublinhados;♦ os dados definidos localmente não são sublinhados;♦ os depósitos de dados, além de serem sublinhados, devem ser escritos com

letras maiúsculas e no plural;♦ as palavras reservadas para as estruturas de controle são escritascom letras maiúsculas; e• suas estruturas devem estar identadas.

Page 27: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 23

4.3 Estruturas de ControleUma especificação em Português Estruturado deve utilizar apenas asseguintes estruturas de controle:

4.3.1 Seqüênciasentença – 1sentença – 2sentença – nExemplo: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çãoa) estrutura “SE” “ENTÃO

SE condição sentençaFIM-SE

b) estrutura “SE” “ENTÃO” “SENÃO”SE condição sentençaSENÃO sentençaFIM-SE

c) estrutura “FAÇA-CASO”FAÇA-CASO CASO variável = valor 1sentença CASO variável = valor 2sentença

CASO variável = valor nsentença SENÃO sentença FIM-FAÇA-CASO

Exemplo:localizar matrícula-aluno em ALUNOSSe achou ler nome-aluno em ALUNOS com matrícula-aluno de solicitação-nota ler nota-aluno associada a matrícula-aluno em NOTAS acrescentar mensagem nome-aluno e nota-aluno em nota-solicitadaSENÃO acrescentar mensagem “aluno não matriculado” em nota-solicitadaFIM-SE

Page 28: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS24

4.3.3 Repetiçãoa) estrutura “FAÇA ENQUANTO”

FAÇA ENQUANTO condição sentençaFIM-ENQUANTO

b) estrutura “REPITA ATÉ”REPITA sentençaATÉ condição

c) estrutura “PARA CADA” “FAÇA”PARA CADA objeto FAÇA sentençaFIM-PARA-CADA

Exemplo:FAÇA ENQUANTO existir aluno em ALUNOS ordenado por nome-

alunoler próximo alunoacrescentar matrícula-aluno e endereço-aluno em relação-aluno

FIM-ENQUANTO

4.4 Formato da EspecificaçãoAs especificações em Português Estruturado terão o seguinte formato:

Processo 1.1: Emitir Previsão de Receita com Matrícula * Ocorre ao final de cada semana*

INÍCIO

FAÇA ENQUANTO existir alunos em ALUNOS obter próximo aluno *calcular taxa de matrícula* SE data-base <31/12/53 ___taxa = 20 SENÃO ___taxa = 30 FIMSEFIM

nome e código do processo primitivo

início do corpo da especificação

comentário,normalmenteespecificando oestímulo, quandoeste for um fluxode controle

corpo da especificação, contendoas sentenças do PortuguêsEstruturado. Os comentários, senecessários, são escritos entreasteriscos

final da especificação

Page 29: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 25

4.5 Exemplos de Especificações em Português Estruturadoa) especificar a lógica do processo 1.1 abaixo

Processo 1.1: Emitir Relação Faturas Vencidas*Ocorre quando existir fatura vencida *INÍCIO

FAÇA ENQUANTO existir faturas com data-vencimento anteriorA data-atual e não relacionada a fatura-paga em FATURAS-PAGASler próxima fatura com a condição acimaacrescentar uma linha em relação-faturas-vencidas com fatura

FIM ENQUANTOenviar relação-faturas-vencidas

FIMb) especificar a lógica do processo 1.2 abaixo

Processo 1.2: Fornecer Detalhes do LivroINÍCIO

obter título-livroler editora em Livros com título-livroacrescentar títula-livro e editora em detalhes-livroFAÇA ENQUANTO existir autor em AUTORES relacionado com título-

livro ler próximo autor com a condição acima acrescentar autor em detalhes-livroFIM ENQUANTO enviar detalhes-livroFIM

FATURAS 1.1EMITIR RELAÇÃO

FATURASVENCIDAS

relação-faturas vencidas

AUTORES

LIVROS

1.2FORNECER

DETALHES DELIVRO

título-livro

Detalhes-livro = título-livro +1{autor} +editora

Page 30: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS26

c) especificar a do processo 1.3 abaixo

Processo 1.3: Informar Vendas do Dia*Ocorre ao final de cada dia*INÍCIO FAÇA ENQUANTO existir pedido em PEDIDOS com data-pedido = data-atual

ler número-pedidoler nome-cliente em CLIENTES relacionado com o número-pedidoacrescentar número-pedido e nome-cliente em relaçãs-vendas-do-diaFAÇA ENQUANTO existir item-pedido em ITENS PEDIDOS relacionado

com número-pedido ler próxima quantidade ler valor-item relacionado com quantidade em ITENSFIM-ENQUANTOacrescentar valor-pedido em relações-vendas-do-diatotal-dia = total-dia valor-pedidoFIM-ENQUANTOacrescentar total-dia em relações-vendas-do-diaenviar relação-vendas-do-diaFIM

d) especificara lógica do processo 1.4 abaixo

ITENS PEDIDOS

1.3INFORMAR

VENDASDO DIA

relação-vendas-do-dia = { número-pedido + nome-cliente + valor-pedido} + total-dia

item-pedido = quantidade-pedida pedido = númer-pedido = data-pedido

item = nome-item + valor-item

cliente = nome-cliente + endereço-clientePEDIDOS ITENS CLIENTES

dado local (não definidono dicionário de dados)

VENDEDORES

1.4EMITIR RELAÇÃO

MENSAL DECOMISSÃO DE

VENDAS

PEDIDOS

relação-comissão = {nome-vendedor + {número-pedido + comissão} + comissão-total-vendedor}

vendedor = nome-vendedor + taxa-comissão

pedido = número-pedido + data-pedido + valor-pedido

Page 31: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 27

Processo 1.4: Emitir Relação Mensal de Comissão de Vendas*Ocorre no final do mês *INÍCIO

FAÇA ENQUANTO existir vendedor em VENDEDORESler próximo nome-vendedor e taxa-comissãoacrescentar nome-vendedor em relação-comissãoFAÇA ENQUANTO existir pedido em PEDIDOS relacionado a nome-

vendedor e data-pedido deste mêsao próximo número-pedido e valor-pedido com a condição acima

Comissão = taxa-comissão valor-pedidoacrescentar número-pedido e comissão em relação-comissãoacumular comissão em comissão-total-vendedorFIM ENQUANTOacrescentar comissão-total-vendedor em relação-comissãoFIM ENQUANTOenviar relação-comissãoFIM

e) especificar a lógica do processo 1.5 abaixo

Processo 1.5: Selecionar Candidato Aprovado*Selecionar candidatos aprovados no concurso, para uma determinada filial daempresa, em função do número de vagas fixadas para a filial, pela Diretoria*

INÍCIOobter vagas-filialacrescentar uma linha em rel-candidatos-selecionados com nome-filial e

número-de-vagas-filial devagas-filialFAÇA ENQUANTO candidatos-selecionados =<número-de-vagas-filial

de vagas-filialler próximo-candidato em CANDIDATOS que possua a maior média

aritmética das notas relacionada a candidato e armazenadas emREALIZAÇÕ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-nascimentoFIM-SE

Vagas-filial =nome-filial +número-vagas-filial

1.5SELECIONARCANDIDATOAPROVADO

CANDIDATOS REALIZAÇÕES

Rel-candidatos-selecionados = nome-filial +número-vagas-filial + {num-inscrição-candidato +nome-candidato + endereço-candidato}

Page 32: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS28

acrescentar uma linha em rel-candidatos-selecionados com num-inscrição-candidato, nome-candidato,

endereço-candidato e média aritmética das notas armazenadas emREALIZAÇÕES e relacionadas a candidato

acrescentar 1 a candidatos-selecionadosFIM-ENQUANTOenviar rel-candidatos-selecionados

FIM

f) utilizando o ERA abaixo, especificar a lógica dos seguintes processos

f.1)

Processo 1.6: Cadastrar Pedido LivroINÍCIO

obter pedido-livroarmazenar num-pedido e data-pedido de pedido-livro em PEDIDOSassociar num-pedido de PEDIDOS com código-cliente de pedido-livro

em CLIENTESPARA CADA nome-livro e quantidade em pedido-livro FAÇA armazenar

quantidade em ITENS-PEDIDOS

dado definido localmente(não sublinhado)

CLIENTEELABORA

PEDIDO

O endereço-cliente O nome-cliente

• código-cliente ITEMPEDIDO

O quantidadeO data-pedido

• num-pedido

LIVRO

• nome-livro

pedido-livro = num-pedido+ data-pedido + código-cliente + {nome-livro + quantidade}

pedido-livro

ITENS-PEDIDO

CLIENTES

1.6CADASTRAR

PEDIDOLIVRO

LIVROS

PEDIDOS

Page 33: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 29

associar quantidade de ITENS-PEDIDOS com num-pedido de pedido-livro emPEDIDOS e com Nome-livro de pedido-livro em LIVROS

FIM-PARA-CADAFIMf.2)

Processo 1.7: Gerar Relação PedidosINÍCIO

FAÇA ENQUANTO existir pedido em PEDIDOS ordenado por data-pedido

Ler próximo pedidoLer codigo-cliente em CLIENTES associado a num-pedidoAcrescentar num-pedido, data-pedido e código-cliente em relação-

pedidoFAÇA ENQUANTO existir quantidade em ITENS-PEDIDOS associada a

num-pedidoLer próxima quantidadeLer nome-livro em LIVROS associada a quantidadeAcrescentar nome-livro e quantidade em relação-pedidoFIM-ENQUANTO

FIM-ENQUANTOEnviar relação-pedidoFIMf.3)

Processo 1.8: Alterar Quantidade Item PedidoINÍCIO

obter alteração-itemlocalizar quantidade em ITENS-PEDIDOS a num-pedido de alteração-item em PEDIDOS e com nome-livro de alteração-item em LIVROS

PEDIDOS

CLIENTESLIVROS

1.7GERAR

RELAÇÃOPEDIDOS

ITENS-PEDIDOS

relação-pedido = {num-pedido +data-pedido +

código-cliente + {nome-livro +

quantidade}}

alteração-item = num-pedido + nome-livro+ quantidade 1.8

ALTERARQUANTIDADEITEM PEDIDO

ITENS-PEDIDOS

Page 34: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS30

substituir quantidade de ITENS-PEDIDOS por quantidade de alteração-itemFIM

f.4)

Processo 1.9: Cancelar Pedido LivroINÍCIO

Obter pedido-canceladoLocalizar num-pedido de pedido-cancelado em PEDIDOSFAÇA ENQUANTO existir quantidade em ITENS-PEDIDOS associada a

num-pedido Localizar próxima quantidade Excluir quantidade de ITENS-PEDIDOSFIM-ENQUANTOExcluir num-pedido e data-padido de PEDIDOS

FIM

g)os exemplos a seguir utilizaram o ERA abaixo, ondei)E1, E2, E3, E4 e E5 representam entidades genéricas;ii) R1, R2, R3, R4 e R5 representam relacionamentos genéricos;iii)A1e A2 representam agregações genéricas;iv) “s” representa um atributo genérico do relacionamento R4;v) ocorrências de E1, E2, E3 E4 e E5, são respectivamente denominadas e1,e2, e3 e4 e e5;vi) r1, r2, r3, r4 e r5 representam respectivamente ocorrências de R1, R2, R3,R4 e R5.

A1 A2

O s

pedido-cancelado = num-pedido 1.9CANCELAR

PEDIDOLIVRO

CLIENTELIVROS

PEDIDOS

ITENS-PEDIDOS

E1

R4

E4

R1E2

R 2E3

R5R3

E5

Page 35: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 31

g.1) para recuperar uma ocorrência de E1 relacionada a E3, não é necessárionavegar por todas as entidades e relacionamentos que se encontram entre E1e E3. É suficiente especificar como abaixo:

obter e3 emE3 associada a e1

g.2) em alguns casos, pode haver mais de um caminho entre as duasentidades. Nesse caso, basta citar uma entidade ou relacionamento quepertença exclusivamente ao caminho desejado:

obter e5 em E5 associado a e1 por R1.

g.3) criar uma ocorrência da entidade E5 e relacioná-la com as agregações A1e A2 (notar que R4, por possuir atributo, será um depósito de dados do DFD,ao passo que R2 não)

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.

Page 36: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS32

5

DIAGRAMA DE TRANSIÇÃO DE ESTADOS

5.1 Introdução

O Diagrama de transição de Estados (DTE) é utilizado para modelar adimensão do controle, ou seja, a seqüência de operações em um sistema, queocorrem em resposta a estímulos externos. É um diagrama de grande utilidadepara a análise das mudanças ocorridas com as entidades e relacionamentos dosistema, com o passar do tempo.O DTE representa os eventos (estímulo externos) e estados (valores dasentidades e relacionamentos).É importante ressaltar que o DTE representa a seqüência de operações dosistema, que ocorre em resposta a estímulos externos, sem considerar, noentanto, o que as operações fazem ou sobre que entidades elas atuam (essesdois aspectos são representados no DFD).

5.2 EventosUm evento é um acontecimento que provoca reação do sistema. Quando umevento 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, sendorelevante representar a sua estrutura. A ação, por outro lado, é uma operaçãoinstantâ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 é relevantepara o propósito do sistema.

b) ”Apagar Sinal” pode ser considerada uma ação, por ser uma ação queconsome 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 pelaatividade, 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 EstadosUm estado representa uma propriedade de uma entidade, associada a umconjunto de valores de atributos e de relacionamentos da entidade. Amodificação de um estado para outro, provocada por um evento, é denominadatransição.

Page 37: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 33

Exemplo: Quando o cliente efetua o pagamento de uma duplicata (evento), aduplicata (entidade) muda do estado “duplicata a pagar” para o estado“duplicata paga” (transição).Um estado especifica a reação de uma entidade à ocorrência de um evento.

5.4 CondiçõesÉ uma função booleana de valores da entidade. As transições ocorremsomente se uma determinada condição for verdadeira. Os estados podem serdefinidos em termos de uma condição.Exemplo: quando chegar a data do vencimento (evento) e o pagamento nãotiver sido efetuada (condição), a duplicata está em atraso (estadosubsequente).

5.5 Notação Gráfica

O DTE é um grafo onde os estados são nós e os arcos direcionados sãotransições rotuladas com o nome do evento.Será constituído um DTE para cada entidade do sistema que possuircomportamento significativo. A figura 8 representa a notação utilizada peloDTE.

Início Estado 1faça: atividade

evento (atributos)[condição] / ação

Estado 2

Fim

Figura 8: Notação para Diagrama de Transição de Estados

Page 38: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS34

6

ANÁLISE ESSENCIAL

6.1 IntroduçãoOs conceitos introduzidos pela Análise Essencial endereçaram inicialmente asduas principais dificuldades que os analistas enfrentavam com a duplicação daAnálise Estruturada: a distinção entre requisitos lógicos e físicos e a ausênciade uma abordagem para particicionar o sistema em partes tão independentesquanto possível, de modo a facilitar o processo de análise.Outra característica importante que diferencia as duas metodologias é que aAnálise Essencial constrói modelos distintos para representar as trêsdimensões do mundo real: função, dado e controle.Apesar de introduzir novos conceitos e novas abordagens, a Análise Essencialpreservou todos os métodos da Análise Estruturada – o Diagrama de Fluxo deDados, o Dicionário de dados e a Especificação da Lógica dos Processos.

Embora diferentes, a melhor maneira de abordar a Análise Essencial é encará-la como uma evolução da Análise Estruturada.

6.2 Conceitos Básicos

6.2.1 Tecnologia Perfeita

A tecnologia utilizada na implementação de um sistema possui doiscomponentes básicos: processadores, que executam atividades, e “containers”que armazenam e transportam dados para os processadores. Esses doiscomponentes da tecnologia necessitam ser projetados pelo analista (ou maisespecificamente pelo projetista), mas somente na fase de projeto. Durante afase de análise, o analista deve abstrair-se da tecnologia que deverá serutilizada na implementação do sistema.

Para orientar essa abstração, a Análise Estruturada recomenda que o analista,durante a fase de análise, concentre-se apenas nos aspectos lógicos dosistema, evitando pensar nos aspectos físicos. O problema dessa abordagem éque a diferença entre o que é lógico e físico não é clara.

A tecnologia perfeita, por ser uma tecnologia de implementação, possuitambém dois componentes: processador perfeito e “container” perfeito. Noentanto, diferente de qualquer tecnologia de implementação real, a tecnologiaperfeita não possui limitações.

Page 39: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 35

O processador perfeito é capaz de executar qualquer custo, sem consumirenergia., sem ocupar espaço, sem gerar calor, sem jamais cometer erros ouparar de funcionar.O “container” perfeito não possui qualquer custo, sendo capaz de armazenarquantidades infinitas de dados e ser acessado instantaneamente por qualquerprocessador e da forma que lhe for mais conveniente, isto é, os dados estarãosempre organizados da maneira que for mais conveniente ao processador.Naturalmente, não existe uma tecnologia de implementação com taiscaracterísticas. Qual é então a utilidade dessa abstração?Quando o analista pensa em aspectos físicos, ele na verdade está tentandoidentificar – e resolver – as limitações de uma determinada tecnologia.Pensamentos típicos do gênero são: o quanto de espaço em disco vouprecisar? Qual o melhor método de acesso a esses dados, considerando essasfunções? Que capacidade de processamento devo necessitar? Na verdade,nenhuma dessas preocupações são próprias da fase de análise.Considerando agora que a tecnologia que será utilizada na implementação dosistema é perfeita, todas as perguntas anteriores deixariam de ter importância ,isto é, não preocupam mais o analista.Assim sendo, para distinguir um requisito lógico de um requisito físico,utilizando a abstração de tecnologia perfeita, formule a seguinte pergunta aoidentificar um requisito qualquer: “para atender ao seu propósito, o meusistema necessitará possuir essa capacidade ou essa característica, mesmoconsiderando que ele será implementado em uma tecnologia perfeita?”Se a resposta for sim, esses requisito é verdadeiro e deve ser representado noDFD. Caso contrário, ele é falso e não deve ser representado no DFD.

6.2.2 Requisito Verdadeiro e Requisito Falso

Um requisito verdadeiro é definido como sendo uma capacidade oucaracterística que o sistema deve possuir para atender ao seu propósito,mesmo considerando que ele está implementado em uma tecnologia perfeita.O conjunto dos requisitos verdadeiros forma a Essência do Sistema.Um requisito falso, por outro lado, é uma capacidade ou uma característica queo sistema não precisa possuir para atender ao seu propósito, caso eledisponha de uma tecnologia de implementação perfeita.Note que um requisito pode ser falso por duas razões. A primeira está ligada aopropósito do sistema – requisito arbitrário – e a Segunda à abstração detecnologia perfeita – requisito tecnológico.Um requisito é falso, do tipo arbitrário, se ele não necessita ser implementadopara que o sistema atenda ao seu propósito ou se ele corresponde a umaorganização das atividades do sistema, influenciada pelas ferramentas demodelagem.

Um requisito é tecnológico quando o sistema não necessita possuir essacapacidade ou característica, considerando que ele será implementado emuma tecnologia perfeita. Embora importantes, os requisitos tecnológicos sóserão especificados na fase de projeto.

Page 40: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS36

6.2.3 Sistema InterativoÉ uma classe de sistemas construídos pelo homem, cuja característica maisimportante é a de serem interativos, isto é, agem sobre as coisas externas aosistema, as quais estão fora de seu controle, e essas coisas externas agemsobre eles. Os sistemas construídos pelos analistas de sistemas são dessaclasse.

6.2.4 Eventos e RespostaSão nomes genéricos de interações entre o ambiente externo e o sistema. Umevento é alguma mudança que ocorre no ambiente externo, à qual o sistemadeve responder para atender ao seu propósito. Uma resposta é o conjunto deações executadas pelo sistema quando um certo evento ocorre. Podemosentão dizer que um sistema interativo é um mecanismo evento-resposta.Quando o sistema tem que “inventar” uma resposta para um evento, após asua ocorrência, dizemos que o sistema produz uma resposta “ad-hoc”.Respostas desse tipo são produzidas pelo componente “ad-hoc” do sistemainterativo.Quando as ações do sistema, executadas em resposta a um evento, foramdeterminadas antes da ocorrência do evento, então dizemos que o sistemaproduz uma resposta planejada. Essas respostas são produzidas pelocomponente de resposta planejada. Essas respostas são produzidas pelocomponente de resposta planejada do sistema interativo. Passaremos achamar o conjunto desses componentes de um sistema interativo de Sistemade Resposta Planejada.Uma outra característica dos sistemas interativos decorre do fato doscomponentes “ad-hoc” interagirem com os componentes de respostasplanejadas, para que determinadas respostas sejam produzidas. A figura 9representa os componentes do sistema interativo.

componentede respostaplanejada

componentead-hoc

ambiente dosistema

interativo

resposta

estímulo

Figura 9 - Sistema Interativo

Page 41: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 37

Apesar dos analistas desenvolverem sistemas que produzem tanto respostas“ad-hoc” quanto respostas planejadas, a metodologia Análise Essencialdestina-se apenas ao desenvolvimento de Sistemas de Respostas Planejadas.Isto significa que os componentes “ad-hoc” do sistema interativo estarão forado domínio de análise do analista, os quais farão parte do ambiente externoque interage com o sistema de resposta planejada.Podemos então concluir que um sistema de resposta planejada responde a umconjunto de eventos predefinidos, que podem ser iniciados pelo componente“ad-hoc” ou pelo ambiente externo do sistema interativo. A figura 10 representaos componentes de resposta planejada. Note que o ambiente externo com oqual o sistema de resposta planejada interage é composto do ambiente externodo sistema interativo, acrescido de seu componente “ad-hoc”.

As interações entre o sistema de resposta planejada e o ambiente podemassim ser generalizadas: Quando um evento ocorre, é produzido um estímulopara o sistema.. Ao receber o estímulo, o sistema inicia a execução do conjuntode ações predefinidas, necessárias para responder ao evento. É importantenotar que nesse modelo de interação, toda ação que o sistema executa é umaresposta a eventos, os quais são ocorrências externas e fora do controle dosistema.Os eventos são classificados em quatro tipos diferentes, dependendo damaneira como ocorrem e da natureza do estímulo que produzem:

♦Evento Externo – é provocado por uma entidade externa, a qual envia dadospara o sistema. O estímulo produzido por esse tipo de evento é um fluxo dedados. Os eventos externos são nomeados da seguinte forma:Entidade externa que provocou o evento + ação + estímulo

♦Evento Externo de Solicitação – também é provocado por uma entidadeexterna. No entanto, o estímulo produzido por esse tipo de evento é um fluxode controle, o qual apenas notifica o sistema da ocorrência do evento, semtransmitir-lhe dados. Os eventos externos são nomeados da seguinte maneira:

Componentede respostaplanejada

resposta

estímulo

estímulo

resposta

ambiente dosistema

interativo

componentead-hoc dosistemainterativo

Figura 10 - Sistema de Resposta Planejada

Ambiente doSistema deRespostaPlanejada

Page 42: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS38

Entidade externa que provocou o evento + ação + respostaExemplo: “Gerente solicita relação de clientes”Note que o sistema para produzir uma relação dos clientes, ele não necessitareceber nenhuma informação do ambiente pois todas as informaçõesnecessárias à resposta encontram-se armazenadas no próprio sistema. Assimsendo, tudo o que o sistema precisa é conhecer o instante em que a respostadeve ser produzida, o que lhe é sinalizado pelo estímulo (fluxo de controle).

♦Evento Temporal Fixo – ocorre única e exclusivamente em função dapassagem do tempo e em intervalos fixos de tempo. Esses eventos estimulamas ações que o sistema tem que executar em datas previamente conhecidas,isto é, diariamente, mensalmente, anualmente etc. (o tempo passa e chega omomento do sistema fazer alguma coisa). Os eventos temporais fixos sãonomeados como abaixo:É hora de + ação + respostaExemplo : “É hora de emitir contra-cheque”

♦Evento Temporal Relativo – também ocorre única e exclusivamente emfunção da passagem do , tempo, mas a sua freqüência de execução não éconhecida. Esse tipo de evento estimula as ações que o sistema tem queexecutar quando uma determinada condição é satisfeita com o passar dotempo. É importante frisar que a condição que determina a ocorrência doevento temporal relativo é satisfeita única e exclusivamente com o passar dotempo. Esses tipo de evento é nomeado com a própria condição que determinaa ocorrência do evento, ou da mesma forma que um evento temporal fixo.Exemplo: “Empréstimo em atraso “ou” é hora de emitir relação de empréstimosem atraso”Nesse exemplo, a condição que determina a ocorrência do evento é aexistência de algum empréstimo em atraso (o empréstimo entra em atraso emfunção da passagem do tempo).Os estímulos produzidos pelos eventos temporais são sempre fluxos decontrole, isto é, eles apenas sinalizam que o sistema tem que executar algumaação.

6.2.5 Atividade EssencialAs atividades essenciais correspondem ao conjunto de ações executadas pelosistema, quando um certo evento ocorre, isto é, são todas as tarefas que osistema deve executar para atender completamente ao seu propósito, mesmoconsiderando que ele será implementado em uma tecnologia perfeita.As respostas produzidas pelas atividades essenciais são denominadasrespostas externas quando elas são fornecidas ao ambiente externo, queinterage com o sistema, e respostas internas quando elas são fornecidas aointerior do próprio sistema, para criar ou atualizar a sua memória.Toda atividade essencial é iniciada por um estímulo, produzido quando daocorrência de um evento. As circunstâncias em que a atividade é executadadepende da definição do estímulo.

Page 43: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 39

Uma atividade essencial deve executar todo o conjunto de ações necessáriaspara responder completamente e somente um evento. As atividades essenciaissubdividem-se em atividades fundamentais e atividades de custódia.Uma atividade é fundamental quando ela produz uma informação que é partedo propósito declarado do sistema. Isso significa dizer que o propósito dosistema é atendido pelas atividades fundamentais, as quais produzem asrespostas externas do sistema.A atividade de custódia cria e mantém a memória necessária à execução dasatividades fundamentais, adquirindo dados do ambiente externo ao sistema eos armazenando nos depósitos de dados. As respostas internas sãoproduzidas pelas atividades de custódia do sistema.Quando uma atividade executa tarefas dos dois tipos, ela é denominadaatividade composta. As atividades compostas produzem respostas internas erespostas externas.Os diferentes tipos de atividade essencial estão representados na figura 11

Como as atividades essenciais só produzem respostas externas ou internas erespondem completamente a um e somente um evento, a comunicação entreelas será feita sempre via memória e nunca diretamente. Essa característica dacomunicação entre atividades essenciais torna o particionamento por eventosuma abordagem adequada para dividir o problema em partes independentes.

6.2.6 Memória EssencialConsiste no conjunto mínimo de dados que deve ser armazenado pelo sistema,para atender ao seu propósito, considerando que ele será implementado emuma tecnologia perfeita. No DFD, a memória essencial é representada pelosdepósitos de dados.Para que a memória essencial possa atender às suas finalidades, é necessárioconhecer como o sistema adquire os dados que devem ser armazenados ecomo ele garante que os dados estão suficientemente atualizados para serviràs atividades fundamentais. Essas duas tarefas – adquirir e atualizar os dados– são executadas pelas atividades de custódia.Um dos modelos utilizados para modelar a memória essencial é o DiagramaEntidade-Relacionamento-Atributo (ERA). Para derivar os depósitos de dadosdo DFDa partir do ERA, utilize a seguinte correspondência: cada entidade erelacionamento com atributo do ERA será um depósito de dados do DFD.A essência do sistema pode ser também definida como sendo o conjunto dasatividades essenciais e da memória essencial.

estímulo

AtividadeFundamental

Memória

respostaexterna

estímulo

Atividadede Custódia

Memória

respostainterna

estímulo

AtividadeComposta

Memória

respostaexterna

respostainterna

Figura 11 - Atividades Essenciais

Page 44: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS40

6.3 Acesso das Atividades de Custódia à Memória EssencialPara manter a abstração de tecnologia perfeita consistentes, os depósitos dedados não armazenam chaves estrangeiras para representar o relacionamentoentre objetos, pois essa é uma característica específica dos bancos de dadosrelacionais – lembre-se que na fase de análise a tecnologia de implementaçãoainda não foi selecionada.Para indicar que o relacionamento entre objetos existe, sem no entanto definircomo ele será implementado, a representação dos acessos das atividades decustódia à memória essencial devem obedecer à seguinte regra geral: ao criarou excluir uma ocorrência de um objeto que participa de relacionamento,mostre acesso aos depósitos de dados que correspondem ao relacionamento eàs entidades que participam do relacionamento.As figuras 12 a 14 mostram a representação gráfica desses acessos.

E1 R1 E2

0 s

R2

Figura 12 - Modelo de Dados Genérico

AtividadeEssencial

E1 R1 E2

Figura 13 - Criar ou excluir umaocorrência de R1

AtividadeEssencial

E1 E2

Figura 14 - Criar ou Excluir umaocorrência de R2

Page 45: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 41

6.4 Sistema EncarnadoUm sistema é dito encarnado quando ele se encontra implementado em umadeterminada tecnologia.Quando analisamos o sistema atual, na fase de levantamentos iniciais,estamos analisando um sistema encarnado em uma determinada tecnologia,que pode ser manual, computadorizada, equipamento de grande porte, microetc.Toda tecnologia possui características e limitações que influenciam na suaseleção – custo, capacidade, tolerância a falhas etc. Dessa forma, aoanalisarmos um sistema encarnado, deparamos com características que sãoimportantes para que o sistema atenda ao seu propósito e com característicasque foram “introduzidas” para que o sistema pudesse superar as limitações datecnologia na qual ele foi implementado. Alguns exemplos de característicasque existem nos sistemas encarnados para atender a limitações da tecnologiasão:

♦Fragmentação: partes diferentes de uma atividade essencial são executadaspor processadores diferentes.

♦Redundância: dados redundantes armazenados na memória do sistema ouuma mesma atividade sendo executada por mais de um processador.Extrinsecalidade: atividades e dados cuja finalidade é tratar as limitações datecnologia.

♦Conglomeração: ocorre quando fragmentos de várias atividades essenciaissão alocados a um mesmo processador ou quando elementos nãorelacionados da memória essencial são alocados no “container”.É importante que o analista seja capaz de reconhecer essas características, asquais, por não pertencerem à essência do sistema atual, não devem influenciara essência e implementação do novo sistema.

6.5 Especificação da Essência do SistemaA especificação da essência do sistema, produto da fase de análise, écomposta dos seguintes modelos:

♦Modelo Ambiental - representa o que sistema deve fazer para atender aoambiente. É composto dos seguintes modelos:

Propósito do Sistema – enuncia, tanto de forma genérica quanto deforma específica, qual a finalidade do sistema. Normalmente, um únicoparágrafo é suficiente para enuncia o propósito genérico. O propósitoespecífico corresponde a uma lista das informações que devem serproduzidas pelo sistema.

Page 46: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS42

Exemplo:Propósito Genérico: o sistema tem com propósito tornar mais eficienteo atendimento dos pedidos dos clientes da livraria e a emissão dasrequisiçõ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 clientesetc.

Lista de Eventos – lista de eventos aos quais o sistema deve responder. Deveconter o nome do evento, o estímulo e a resposta externa do sistema.Exemplo:

Evento Estímulo Fluxo de Dados RespostaExterna

1- Cliente envia pedido Pedido -2 - É hora de emitor requisição - Requisição3 - Editora envia nota fiscal Nota Fiscal Fatura

Para identificar os eventos, formule uma ou mais das seguintes perguntas,após Ter identificado um evento qualquer:a) existem variações significativas nesse evento?b) o “oposto’ ou o ‘negativo” desse evento é importante para o sistema?c) Há eventos que devam anteceder a esse evento?d) Há eventos que devam se seguir a esse evento?

Diagrama de Contextorepresenta o sistema com um único processo e suas interações com oambiente

♦Modelo Comportamental- representa o que o interior do sistema deve fazer para atender ao ambiente. Écomposto de:

Diagrama de Entidade – relacionamento – Atributo (ERA)- representa a estrutura estática dos dados do sistema. Modela a memóriaessencial do sistema, isto é, a memória mínima necessária para que o sistemaatinja seu propósito, considerando que ele será implementado em umatecnologia perfeita.

Diagrama de Fluxo de Dados Particionado por Eventos- diagrama em que cada processo representa uma atividade essencial. Comopara cada evento será construído um diagrama contendo uma atividadeessencial, a quantidade de diagramas do DFD particionado por eventos éequivalente ao número de eventos da lista de eventos.

Page 47: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 43

Diagrama de Transição de Estados (DTE)- representa o comportamento dos objetos do sistema em função da passagemdo tempo. Será construído um DTE para cada entidade ou relacionamento comatributo do ERA que possuir comportamento significativo, isto é, possuir maisde um estado ao longo de seu ciclo de vida.

Diagrama de Fluxo de Dados Organizado em Níveis Hierárquicos- representa os processos em níveis hierárquicos, a partir do diagrama zero. Osprocesso do diagrama zero são obtidos através da agregação das atividadesessenciais do DFD particionado por eventos. Para agregar atividadesessenciais as seguintes heurísticas podem ser utilizadas, em conjunto ou emseparado:a) procurar agregar em único processo todas as atividades essenciais que

acessam um determinado depósito de dados. Verificar se o processoresultante dessa agregação é adequado para representar uma das funçõesdo sistema.

b) agregar todas as atividades de custódia que acessam exclusivamente umúnico depósito de dados.

c) procurar identificar uma função do sistema agregando atividades essenciaisque interagem com uma mesma entidade externa

d) representar no DFD um processo para cada uma das funções do negócio,as quais, muitas das vezes, correspondem a setores da própria estruturaorganizacional. Agregar as atividades essenciais aos processos para osquais as suas ações mais contribuam.Observe que as três primeiras heurísticas seguem uma abordagem bottom-up, enquanto a Quarta segue uma abordagem top-down.

Dicionário de Dados

- descreve os dados representados no ERA, no DFD e no DTE.

Especificação da Lógica dos Processos

- descreve a lógica dos processos do DFD que não foram detalhados emdiagramas de nível inferior (lógica dos processos primitivos).

Page 48: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS44

ESTUDO DE CASO 3

Para cada situação descrita a seguir, identificar os eventos (Nome, Tipo,Estímulo e Respostas) e construir o DFD Particionado por Eventos. Na soluçãodo problema, utilizar o seguinte ERA simplificado:

a) trimestralmente a secretária informa ao sistema o horário e a saída de cadadisciplina.

b) os alunos são cadastrados quando a secretária informa o resultado doprocesso de seleção.

c) os alunos efetuam suas matrículas preenchendo o formulário paramatrículas

d) os professores informam as notas de seus alunos até quinze dias após adata de realização de cada prova

e) os alunos que possuem disciplinas com média (parcial ou final) inferior a 5.0(cinco) devem ser notificados

f) os alunos podem solicitar o cancelamento de matrículas até quinze diasapós a data de início do curso.

g) após a revisão de prova, os professores informam as alterações de notas.

matricula•Cod o Nome o End

Aluno

nota

(0,N)o Valor

possui

Avaliação(0,N)

(1,1)

o Data• Número

Disciplina

• Nome

(0,N)

(0,N)

locação

o Sala

(0,2)

Horário

• Hora

• Dia

(0,N)

Page 49: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 45

ESTUDO DE CASO 4

BIBLIOTECA ESCOLA

Descrição do Mini-Mundo:

A direção da Biblioteca do Departamento de Informática deseja desenvolver umsistema para automatizar o controle de empréstimos de livros aos alunos.

A Biblioteca só empresta livros a alunos previamente cadastrados. Ocadastramento é feito mediante a apresentação da ficha de matrícula nasecretaria da Biblioteca e o preenchimento do formulário para cadastramentode aluno, contendo nome, endereço e telefone. De posse desse formulário, aSecretária preenche o cartão de usuário, que é imediatamente entregue aoaluno. O formulário preenchido é arquivado no cadastro de alunos, paraatender a consultas futuras. A Biblioteca possui atualmente cerca de 200alunos cadastrados.

Sempre que um fornecedor entrega os livros, a Secretária confere a nota fiscale preenche as fichas de livro e uma ficha de empréstimo, que fica armazenadana contra capa do livro. A cada semestre são adquiridos cerca de 40 novostítulos.

Quando um professor adota uma obra como livro texto de uma disciplina, elepode efetuar um bloqueio de livro. Para cadastrar um professor, a direção daBiblioteca informa à secretaria seu nome, sala e telefone. Cada professor podebloquear até 7 obras. Enquanto durar o bloqueio, os livros não poderão seremprestados e os alunos somente poderão consultá-los na própria Biblioteca.Para bloquear um livro, o professor envia à secretaria um formulário debloqueio, que permanece arquivado na pasta de bloqueio.

No final de cada semestre, a secretaria envia a cada professor, a relação deseus bloqueios. Com base nessa relação, os professores informam à secretariaos bloqueios que devem permanecer, sem o que são automaticamentecancelados. Os professores também podem cancelar um bloqueio a qualquermomento, simplesmente informando o fato à secretaria. O número de obrasbloqueadas é, em média, igual a 20 por semestre.

Quando a direção da Biblioteca informa a exclusão de um professor do corpodocente, seus bloqueios são automaticamente cancelados.

Page 50: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS46

Cada aluno cadastrado pode retirar, por empréstimo, até 5 livros desde quenão estejam bloqueados por nenhum professor e que o aluno não esteja coma devolução de nenhum livro em atraso.

Ao emprestar um livro, a Secretária confere o cartão de usuário do aluno,verifica a situação do livro na pasta de bloqueio e a situação do aluno narelação de livros em atraso. Se o empréstimo for possível, ela preenche a fichade empréstimo, que é então arquivada no fichário de livros emprestados. Essaficha possui o código do livro , o código do aluno, a data de empréstimo, a dataprevista para a devolução e a data em que ela ocorreu. Quando o alunodevolve o livro, a Secretária lança a data de devolução na ficha de empréstimo,que retorna à contra capa do livro. São emprestadas, em média, 50 obras pormês.

O prazo máximo de empréstimo de um livro é de uma semana. Toda Sexta-feira, a Secretária pesquisa a pasta de empréstimos e envia para a direção daBiblioteca a relação de livros em atraso. Esse procedimento só é executadouma vez por semana, por ser muito demorado e trabalhoso.

As exclusões de alunos e livros são informadas pela Direção da Biblioteca.

Page 51: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 47

ESTUDO DE CASO 5

COOPERATIVA DE ALIMENTOS

Descrição do Mini-Mundo:

A Cooperativa de Alimentos Amizade é uma organização que fornece aos seusassociados alimentos a preços reduzidos. Para conseguir isso, a cooperativaadquire alimentos, em grandes quantidades, de fazendeiros e atacadistas daregião. A diretoria da cooperativa está considerando a possibilidade deautomatizar alguns processos administrativos, especialmente os que sereferem à compra e distribuição de alimentos e ao controle de pagamentos erecebimentos relativos às operações.A cooperativa funciona em ciclos semanais. Os associados podem enviar (ouentregar pessoalmente), de Segunda a Quinta-feira, lista de compras,utilizando o formulário pré-impresso distribuído pela cooperativa.Toda Sexta-feira, a diretoria recebe uma relação contendo a demanda total decada item. De posse dessas demandas, ela negocia, junto aos fornecedorescadastrados, as condições de compra mais econômicas. Selecionados osfornecedores, são feitas as encomendas, inicialmente pelo telefone eposteriormente formalizadas através do envio de um pedido ao fornecedor.Dependendo do volume de itens a ser adquirido, mais de um fornecedor podefornecer um mesmo item. Esse fato faz com que o item possa ter mais de umpreço. A Diretoria nem sempre consegue adquirir todos os itens selecionados.As encomendas são entregues à cooperativa no Domingo pela manhã, quandoentão os pedidos são conferidos com a nota fiscal de cada fornecedor. Após aconferência, as notas fiscais são certificadas e as duplicatas permanecemarquivadas, aguardando pagamento, nos prazos anteriormente negociadospela Diretoria.Ainda no Domingo, em hora determinada pela diretoria, tem início a montagemdas cestas de cada associado, com base nas listas de compras e nas notasfiscais. A prioridade de cada associado é definida pela ordem de chegada desua lista. As cestas são entregues na própria cooperativa, acompanhadas dasNotas de Entrega.Os associados podem, desde que estejam com todos os seus pagamentos emdia, inclusive a mensalidade, efetuar pedidos de compra para pagamento nofinal do mês,. Infelizmente, como alguns associados não saldaram seusdébitos, a diretoria se viu forçada a estabelecer, como condição básica paraaceitação de uma lista de compras, a quitação de todos os débitos anteriores.

Exemplos de Possíveis Problemas do Sistema Atual

1- Muita demora, em média 5 horas por semana, para consolidar o pedido detodos os associados, tendo em vista que o processamento é manual e exigeconsulta a todos os pedidos da semana;

Page 52: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS48

2- Cerca de 15 mensalidades deixam de ser cobradas a cada mês, em virtudedo cadastro de associados não estar devidamente atualizado; e

3- Há muita demora, em média 3 horas por semana, e ocorrem muitos erros,em média 5 por semana, no processo de cálculo do preço final a sercobrado dos associados, em virtude do cálculo ser manual e exigir arealização de várias operações aritméticas.

Exemplos de Possíveis Necessidades não Atendidas pelo Sistema Atual

1- Informações históricas dos preços cobrados pelos fornecedores, visando aorientar as negociações, nas compras semanais da Cooperativa;

2- Informações históricas sobre encomendas não atendidas por cadafornecedor, visando a identificação dos fornecedores mais confiáveis; e

3- Informação mensal sobre o volume de compras de cada associado, visandoa orientar a adoção de uma política de incentivo ao uso da Cooperativa.

Page 53: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS 49

ESTUDO DE CASO 6

ACADEMIA DE GINÁSTICA

Descrição do Mini-Mundo

Uma academia de ginástica oferece atividades esportivas (natação, ginásticaaeróbica, dança, musculação etc.) em várias filiais.As atividades oferecidas em cada filial, bem como o horário e o número devagas, são definidos pela Coordenação Esportiva.O valor das mensalidades é fixado mensalmente pela CoordenaçãoAdministrativa, em função do tipo de atividade, época do ano, índicesinflacionários, valores cobrados pelos concorrentes e localização da filial.A contratação de professores é feita pela Coordenação Esportiva. Aremuneração dos professores corresponde a 30% do valor das mensalidadesefetivamente pagas pelos seus alunos. O valor a paga a cada professor écalculado no dia 5 de cada mês, com base nos valores efetivamente pagospelos alunos no mês anterior (inclusive multa).As mensalidades vencem sempre no dia 20. Todo dia 10 devem ser emitidosavisos de cobrança para os alunos, os quais são remetidos pelo correio. Asmensalidades são pagas na própria filial.A taxa de matrícula corresponde à mensalidade do mês corrente, a qual écobrada no ato da matrícula.Alunos com mensalidade em atraso são impedidos de participar da atividade,até a regularização do débito. O valor de uma mensalidade em atraso écalculado com base no valor da mensalidade vigente no dia do pagamento,acrescido de multa de 20%.Alunos com 15 dias de atraso no pagamento de uma mensalidade devemreceber uma solicitação de regularização de débito. Com 30 dias de atraso, oaluno tem sua matrícula cancelada, sendo notificado do fato.No final do dia, a Coordenação Administrativa deve receber um relatório,organizado por filial, contendo matrículas efetuadas no dia, matrículascanceladas no dia e o número de vagas ainda disponíveis em cada atividade.Ao final do mês deve ser gerado um relatório consolidando o movimentomensal de matrículas de cada filial. Esses relatórios são utilizados para avaliara performance do gerente da filial.

Page 54: apostila blaschek de análise de sitemas

MÉTODOS DE ANÁLISE DE SISTEMAS50

REFERÊNCIAS BIBLIOGRÁFICAS

DeMarco,T; “Análise Estruturada e Especificação de Sistemas”; Rio de Janeiro;Campus, 1978.

Grane, C, & Sarson, T; “Análise Estruturada de Sistemas’; Rio de Janeiro; LTC,1979.

McMenamim, S. M. & Palmer; J. F.; “Análise Essencial de Sistemas”, SãoPaulo; McGraw-Hill, 1984.

Ward,P. T; “Desenvolvendo Sistemas sem Complicação”; Rio de Janeiro; LTC;1987.

Yourdon, E. “Modern Structured Analysis”!; New Jersey; Prentice Hall, 1989.