analise estrurada

Embed Size (px)

Citation preview

  • 8/3/2019 analise estrurada

    1/22

    Anlise Estruturada 21

    Processo de anlise estruturada - Abordagem clssica

    Desenvolvermodelo lgico

    actual

    Modelo fsico actual

    Desenvolvermodelo fsico

    actual

    Desenvolvermodelo lgico

    novo

    Modelo lgico actual

    Desenvolvermodelo fsico

    novo

    Modelo lgico novo

    Modelo fsico novo

    Modelos a desenvolvertendo em conta a

    abordagem clssica

    Modelo fsico (Actualmente) Modelo de implementao

    Modelo do sistema que o utilizador usa no momento. Pode ser um sistema

    manual, automatizado ou uma mistura de ambos.

    Aspectos mais comuns de detalhes de implementao:

    Sequenciao de actividades: Dados temporrios, redundantes ou derivveis;

    Validaes de dados e processos

    Modelo lgico (Actualmente) Modelo essencial

    Modelo dos requisitos puros ou essenciais do sistema, ou seja, sem detalhes

    de implementao.

  • 8/3/2019 analise estrurada

    2/22

    Anlise Estruturada 22

    A abordagem clssica baseia-se nos seguintes pressupostos:

    O analista de sistemas pode no conhecer aspectos da rea da aplicao,

    sendo a elaborao dos modelos, fsico e lgico, do sistema actual um meio

    de aprendizagem;

    O utilizador tem dificuldade em analisar o modelo abstracto do sistema,

    servindo a modelao do sistema fsico actual, simultaneamente, como um

    mecanismo de introduo do processo de anlise estruturada e como uma

    garantia, para o utilizador, de que analista est a modelar o sistema

    correctamente;

    A transformao do modelo lgico actual no novo modelo lgico, no requer

    grande esforo, nem trabalho desperdiado, quando o utilizador s quer

    acrescentar novas funes ou dados, a um sistema que j existe,

    permanecendo a maior parte do sistema intacto.

    Motivos de insucesso da abordagem clssica

    Os pressupostos da abordagem clssica podem ser correctos em alguns casos,

    mas, na maior parte dos casos representam:

    grande dispndio de tempo e esforo quando analista especifica todos os

    aspectos;

    desperdcio de tempo e esforo pois grande percentagem do modelo fsico

    ser deixado de lado na sua transio para modelo lgico actual, devido a

    redundncia, e aspectos relacionados com validaes que no fazem parte do

    modelo lgico;

    uma influncia negativa quando diminui a tendncia de colocar em causa

    determinados procedimentos, possivelmente, menos adequados ou

    desactualizados.

  • 8/3/2019 analise estrurada

    3/22

    Anlise Estruturada 23

    Processo de anlise estruturada - Modelo essencial

    O modelo essencial o modelo do que o sistema tem de fazer, de forma a

    satisfazer os requisitos do utilizador, com o mnimo possvel de informao

    sobre como o sistema deve ser implementado.

    O modelo essencial descreve:

    Poltica essencial ou lgica das actividades que tm de ser executadas;

    Contedo essencial dos dados armazenados e que circulam pelo sistema;

    Comportamento dependente do tempo essencial que o sistema possui para

    tratar sinais e interrupes do ambiente.

    O modelo essencial constitudo por:

    Modelo ambiental

    Modelo comportamental

    Modelos Ferramentas utilizadas

    Ambiental Declarao de propsito

    Diagrama de Contexto (DC)

    Lista de Eventos

    Comportamental Diagrama Entidade Relacionamento (DER)Diagrama de Fluxo de Dados (DFD)

    Diagrama de transio de estados (DTE)

    Dicionrio de dados (DD)

    Especificao de Processos

  • 8/3/2019 analise estrurada

    4/22

    Anlise Estruturada 24

    Modelo ambiental

    O modelo ambiental define:

    Limites essenciais do sistema

    Determinao do que faz parte do sistema, definindo fronteiras entre o

    sistema e o ambiente.

    Interfaces entre o sistema e o ambiente

    Determinao da informao proveniente do exterior e da informao que

    o sistema tem de produzir e enviar para exterior.

    Eventos externos

    Identificao dos eventos, ou estmulos, que ocorrem no ambiente, aos

    quais, o sistema tem de responder.

    Exemplo considerado

    Pretende-se uma aplicao para automatizar os servios prestados por uma

    biblioteca, tendo em conta os seguintes aspectos:

    Um utente, no acto de inscrio, preenche uma ficha de leitor, que

    obrigatoriamente contm o nome, morada, BI, telefone e profisso.

    O leitor escolhe os livros que pretende consultar, podendo lev-los por um prazo

    a definir pela administrao da biblioteca, mediante o registo do respectivo

    emprstimo. Caso o livro no seja entregue no prazo devido, o utente ser

    sancionado com uma multa. Um emprstimo no concedido se o leitor possui

    multas por pagar ou livros que excederam o prazo de entrega.

    Devem ser implementadas pesquisas de ttulos, autores e de disponibilidade de

    um livro.

    A deciso de aquisio de livros baseia-se num relatrio, produzido

    mensalmente, dos emprstimos concedidos aos utentes. Os livros adquiridos so

    registados depois de catalogados.

  • 8/3/2019 analise estrurada

    5/22

    Anlise Estruturada 25

    Declarao de propsito do sistema

    Consiste numa descrio textual breve da razo de ser do sistema. uma

    primeira tentativa de diferenciao entre o que est dentro e o que est fora do

    sistema.

    Caractersticas de uma declarao de propsito:

    deve ser curta, de preferncia uma nica frase longa;

    deve fornecer uma viso muito geral do sistema, permanecendo aomesmo tempo to especfica quanto possvel (no deve incluir

    generalizaes verdadeiras para todos os sistemas);

    deve ser completa;

    alguns analistas consideram que deve apresentar o resumo dos benefcios

    quantificveis visados com o novo sistema. Em projectos de elevada

    dimenso ser prefervel apresentar uma anlise de custos benefciosseparadamente.

    Exemplos de declarao de propsito:

    O propsito do sistema GB manter e disponibilizar informao sobre

    livros e leitores, controlar emprstimos e produzir relatrios de

    emprstimos. O propsito da GSP manter a informao necessria para a gesto de um

    stock de produtos, o que inclu controlo de stocks, processamento de

    encomendas e registo de movimentos.

  • 8/3/2019 analise estrurada

    6/22

    Anlise Estruturada 26

    Diagrama de contexto

    Os principais aspectos que este diagrama especifica so:

    As pessoas, organizaes, ou sistemas com os quais o sistema comunica

    (terminadores);

    Os dados que o sistema recebe do ambiente e que tm de ser processados

    (fluxos de dados de entrada)

    Os dados produzidos pelo sistema e enviados para o ambiente (fluxos de

    dados de sada);

    As fronteiras entre o sistema e o resto do universo.

    Um diagrama de contexto constitudo por terminadores, fluxos de dados, um

    s processo que representa todo o sistema, podendo ainda conter, fluxos de

    controlo e depsitos de dados externos.

    Exemplo: Gesto de bibliotecas (simplificado)

    ADMINISTRAO

    Ficha_leitor

    Dilogo_pesquisa_autor

    UTENTEPagamento_multa

    Dilogo_pesquisa_disp

    Dilogo_pesquisa_ttulo

    Dilogo_emprstimo

    Livros_a_entregar

    EDITORA

    Lista_livros_adquiridosRelatrio

    Gesto de Bibliotecas

    Multa

  • 8/3/2019 analise estrurada

    7/22

    Anlise Estruturada 27

    Lista de eventos

    Consiste na lista narrativa dos estmulos que ocorrem no exterior, aos quais o

    sistema tem de responder. Esta lista determina o propsito para o

    comportamento do sistema e d uma perspectiva do sistema diferente da do

    diagrama de contexto. Os eventos devem ser descritos sob o ponto de vista do

    ambiente, ou seja, por exemplo, prefervel usar Cliente envia pedido em vez

    de Chegada de pedido do cliente.

    Os eventos podem ser classificados da seguinte forma:

    Evento orientado por fluxo (F);

    Evento temporal (T);

    Evento de controlo (C).

    Evento orientado por fluxo (F) um evento associado a um fluxo de dados. O sistema notificado da

    ocorrncia do evento pela chegada de um conjunto de dados. Um evento

    orientado por fluxo corresponde a uma das entradas do diagrama de contexto.

    Contudo, nem todos os fluxos de dados de um diagrama de contexto

    correspondem a eventos, pois existem fluxos que so requeridos pelo sistema

    para que este possa processar um evento.

    Exemplos:

    Cliente efectua encomenda (F)

    Cliente cancela encomenda (F)

  • 8/3/2019 analise estrurada

    8/22

    Anlise Estruturada 28

    Eventos temporais(T)

    Os eventos temporais so desencadeados pela passagem do tempo por um dado

    instante. No existem fluxos associados a este tipo de evento. Supe-se que o

    sistema possui um relgio interno que determina passagem do tempo. Apesar

    destes eventos no terem fluxos associados, podem desencadear um pedido de

    informao a terminadores, pedidos estes que no representam eventos.

    Exemplos:

    Administrao requer relatrio de vendas(T)

    Clientes recebem facturas (T)

    Eventos de Controlo(C)

    Podem ser considerados como casos especiais de eventos temporais que

    ocorrem num ponto do tempo imprevisvel. Um evento deste tipo no pode ser

    antecipado pela passagem do tempo, nem detectado pela chegada de

    informao. Este tipo de evento pode ser considerado como um fluxo de dados

    binrio e est associado a um fluxo de controlo. Conforme j foi referido, os

    fluxos de controlo so uma extenso utilizada na modelao de sistemas em

    tempo real.

    Exemplo:

    Temperatura de frigorifico sobe para X (C)

    Componentes adicionais de um modelo ambiental

    A natureza e complexidade de um sistema pode ditar a utilizao adicional de:

    Dicionrio de dados inicial que descreve fluxos e depsitos externos;

    Diagrama de entidade relacionamento dos depsitos de dados externos.

  • 8/3/2019 analise estrurada

    9/22

    Anlise Estruturada 29

    Elaborar diagrama de contexto antes ou depois da lista de

    eventos?

    A primeira verso do diagrama de contexto no pr-requisito para construir a

    lista de eventos e pode ser desenhada numa etapa separada ou medida que se

    identificam os eventos.

    Na maior parte dos casos, mais fcil elaborar primeiro o diagrama de contexto,

    tendo em conta a descrio do utilizador das respostas que espera do sistema e

    das entradas que tm de ser fornecidas para produzir as respostas.Contudo, pode no ser fcil identificar terminadores e fluxos de entrada e sada

    do sistema. Neste caso, o ponto de partida poder consistir na elaborao do

    DER, que mostra objectos e seus relacionamentos. A partir da observao das

    actividades ou operaes que causam criao ou remoo de instncias ento

    possvel identificar eventos candidatos. A criao da lista de eventos permite

    assim levar ao desenvolvimento do diagrama de contexto.

    Aspectos a ter em conta na elaborao da lista de eventos:

    Cada fluxo do diagrama de contexto necessrio para que sistema detecte a

    ocorrncia do evento, ou, corresponde a uma necessidade de informao do

    sistema;

    Cada fluxo de sada deve ser uma resposta a um evento; Cada evento no temporal deve corresponder a uma entrada, a partir da qual o

    sistema detecta a sua ocorrncia;

    Cada evento deve produzir uma actividade imediata de resposta, ou deve

    gerar armazenamento de informao a utilizar posteriormente, ou deve causar

    uma alterao de estado do sistema;

  • 8/3/2019 analise estrurada

    10/22

    Anlise Estruturada 30

    Quando se identifica uma resposta em vez de um evento, necessrio

    retroceder para determinar qual o evento que causa a resposta. Um candidato

    a evento detectado pelo facto de o sistema no ter de responder.

    Exemplo:

    Candidato a evento = Calcular valor da aco

    Evento real = Accionista requer uma posio de conta

    A lista de eventos, que causam a reaco do sistema, mais fcil de obter se

    tambm se consideram as respectivas respostas.

    Exemplo lista de eventos para exemplo de gesto de stocks:

    Produo envia requisio de produtos (F)

    Fornecedor envia guia de remessa de produtos (F)

    Produo envia dados de novos produtos (F)

    Fornecedores recebem (mensalmente) encomendas (T)

    Exemplo de lista de eventos para exemplo de gesto de bibliotecas:

    Utente inscreve-se como leitor (F)

    Utente solicita emprstimo de livros (F)

    Utente entrega livros (F)

    Utente paga multas (F)

    Utente pede informao por autor de livros (F)

    Utente pede informao por ttulo de livros (F)

    Utente pede informao de disponibilidade de livro (F)

    Administrao requer relatrio (mensal) de emprstimos (T)

    Editora envia livros novos (F)

  • 8/3/2019 analise estrurada

    11/22

    Anlise Estruturada 31

    Modelo comportamental

    Consiste na modelao do comportamento interno do sistema, de forma a que

    este responda com sucesso ao ambiente. O desenvolvimento deste modelo

    contempla a elaborao do DFD, DER, DTE, DD, e especificao de processos.

    Abordagem clssica

    Consiste numa abordagem top-down, sendo constituda pelas seguintes etapas:

    1. Construo do diagrama de contexto;

    2. Construo de um DFD de nvel elevado, denominado por Diagrama 0,

    que envolve:

    identificao das principais componentes do sistema;

    elaborao do diagrama 0 onde os processos representam os principais

    subsistemas;

    3. Elaborao de DFDs de nvel inferior, que contempla:

    decomposio sucessiva de cada processo num diagrama de nvel

    inferior, at se obter processos atmicos que no requerem mais

    divises;

    4. Elaborao do DD e especificao de processos.

    Dificuldades encontradas na utilizao desta abordagem:

    Paralisia na anlise

    Na maior parte dos sistemas complexos, no existe nenhuma indicao que

    guie o analista no desenho de um diagrama 0 apropriado, a partir do

    diagrama de contexto. Assim sendo, a construo do diagrama 0 tem um

    arranque demorado e este diagrama alterado, vrias vezes, ao longo do

    processo.

  • 8/3/2019 analise estrurada

    12/22

    Anlise Estruturada 32

    Dificuldade na diviso de trabalho

    O desenvolvimento de sistemas complexos , normalmente, elaborado por

    equipas com vrios analistas. A necessidade de diviso do trabalho pelos

    vrios analistas pode gerar parties foradas do sistema.

    Partio fsica arbitrria

    Em muitos casos um sistema baseia-se noutro sistema j existente, ou na

    informatizao de partes de uma organizao. A estrutura do sistema

    existente, ou da organizao, usada frequentemente como um critrio de

    determinao dos subsistemas do novo sistema. Contudo, essa partio

    pode no ser a melhor partio do ponto de vista funcional.

    Abordagem Middle-Out

    A abordagem proposta no uma abordagem top-down pura, nem uma

    abordagem bottom-up pura. Esta abordagem parte de um DFD inicial

    intermdio e estabelece que necessrio agrupar processos num nvel superior e

    decompor processos em nveis de detalhe inferiores. Na abordagem middle-out

    o desenvolvimento do modelo comportamental efectua-se em duas etapas:

    Desenvolvimento de modelo comportamental preliminar

    Envolve o desenvolvimento do DFD e do DER preliminares e a elaborao

    inicial das entradas no DD.

    Finalizao do modelo comportamental

    Organizao e refinamento do modelo comportamental preliminar com

    vista obteno do modelo comportamental final.

    Envolve a criao de DFD com vrios nveis de detalhe, finalizao do

    DER, finalizao do DD, finalizao do DTE e especificao de processos.

  • 8/3/2019 analise estrurada

    13/22

    Anlise Estruturada 33

    Construo de modelo comportamental preliminar

    Estratgia para desenvolver a verso inicial de modelo comportamental, com

    o objectivo de criar uma verso inicial que sirva como base na construo da

    verso final do modelo comportamental.

    Identificar respostas do sistema a eventos:

    criar um processo para cada evento da lista;

    numerar os processos utilizando a numerao da lista de eventos;

    dar um nome ao processo que descreva a resposta que o sistema deve

    produzir na reaco ao evento;

    ligar fluxos de entrada, necessrios para que sistema possa produzir a

    resposta, e fluxos de sada que o sistema gera; As sadas e entradas podem

    consistir em fluxos para terminadores, ou em fluxos para depsitos de

    dados;

    desenhar depsitos a que o sistema tem de aceder e que permitem a

    comunicao entre processos;

    verificar se o DFD preliminar est completo e consistente, em relao ao

    diagrama de contexto e lista de eventos. Verificar, ainda, se cada entrada

    do DC est associada a uma entrada de um processo no DFD e verificar se

    cada sada produzida por um processo enviada para depsitos de dados

    ou uma das sadas existentes no DC.

  • 8/3/2019 analise estrurada

    14/22

    Anlise Estruturada 34

    Casos especiais:

    um evento que causa mltiplas respostas

    Cada resposta modelada por um processo e o fluxo, que representa o

    evento, diverge para cada um dos processos. Isto apropriado se todas as

    respostas usam o mesmo fluxo de entrada e somente se todas as respostas

    forem independentes, ou seja, nenhuma parte de uma das respostas

    necessria como entrada para produzir outra resposta.

    mltiplos eventos que causam a mesma resposta

    criar um s processo se a resposta idntica para os vrios eventos e se os

    dados de entrada e de sada forem idnticos para as vrios respostas aos

    eventos.

    Ligao entre respostas de eventos

    Os processos comunicam atravs de depsitos, pois os processos criados so

    respostas a eventos e os eventos so assncronos.

    Desenvolvimento do modelo de dados inicial

    Criar a verso inicial de DER, a partir dos depsitos definidos no DFD

    preliminar. Actualizar DFD preliminar em funo de DER.

    Alternativamente, esta etapa pode decorrer antes ou mesmo em paralelo como desenvolvimento do DFD.

  • 8/3/2019 analise estrurada

    15/22

    Anlise Estruturada 35

    DFD preliminar do exemplo de gesto de bibliotecas

    Evento 1 - Utente inscreve-se como leitor (F)

    1Registardados de

    leitor

    Utente

    Leitor

    Ficha_leitor

    Evento 2 - Utente solicita emprstimo de livros (F)

    Emprstimo

    2Verificar

    e registaremprstimo

    LeitorDilogo_emprstimo

    Multa

    Utente

    Livro

    Evento 3 - Utente entrega livros (F)

    3Registar

    entrega deemprstimo

    Emprstimo

    Livro

    Livros_a_entregar

    Multa

    UtenteMulta

  • 8/3/2019 analise estrurada

    16/22

    Anlise Estruturada 36

    Evento 4 - Utente paga multas (F)

    4Registar

    pagamentode multas

    Utente MultaPagamento_multa

    Evento 5 - Utente pede informao por autor de livros (F)

    Autor_livro

    5PesquisarLivros por

    autor

    Dilogo_pesquisa_autor

    Autor

    Utente

    Livro

    Evento 6 - Utente pede informao por ttulo de livros (F)

    Autor_livro

    6PesquisarLivros por

    ttulo

    Dilogo_pesquisa_ttulo

    Autor

    Utente

    Livro

  • 8/3/2019 analise estrurada

    17/22

    Anlise Estruturada 37

    Evento 7 - Utente pede informao de disponibilidade de livro (F)

    7Pesquisardisponibilidade

    de livro

    Dilogo_pesquisa_dispUtente

    LivroEmprstimo

    Evento 8 - Administrao requer relatrio (mensal) de emprstimos (T)

    Emprstimo

    8Emitir

    relatrio deemprstimos

    Relatrio_emprstimosAdministrao

    Livro

    Evento 9 - Editora envia livros (F)

    Autor_livro

    9

    Registarlivros

    adquiridos

    Lista_livros_adquiridos

    Autor

    Editora

    Livro

  • 8/3/2019 analise estrurada

    18/22

    Anlise Estruturada 38

    Finalizar modelo comportamental

    A finalizao do modelo comportamental engloba:

    Estruturao do DFD em vrios nveis de detalhe (superiores e inferiores); Finalizao do DER; Finalizao do DD; Finalizao do DTE; Especificao de processos.

    Estruturar DFD em vrios nveis

    O DFD construdo possui um s nvel e muitos processos. Para organizar o

    DFD, necessrio agrupar processos relacionados num processo de um

    diagrama de nvel superior.

    1

    3

    2

    4

    1|3

    5

    4

    2|5

    Os processos 1 e 3 foram agrupados no processo 1|3, e os processos

    2 e 5 foram agrupados no processos 2|5

  • 8/3/2019 analise estrurada

    19/22

    Anlise Estruturada 39

    Critrios de agrupamento de processos

    Os critrios a ter em conta no processo de agrupamento de processos so os

    seguintes:

    Cada agrupamento de processos deve envolver respostas relacionadas.Isto normalmente significa que os processos manipulam dados

    relacionados.

    Procurar oportunidades de esconder depsitos de dados que aparecemem nveis inferiores. Se existe um grupo de processos que acedem umdepsito comum, e mais nenhum processo acede esse depsito, ento

    deve criar-se um processo de nvel superior que esconda o depsito de

    dados.

    Criar agrupamentos que possuam 7 +/- objectos.

    O processo de estruturao de um DFD, em vrios de DFDs, decorre

    sucessivamente at se obter um DFD de nvel superior com +/- 7 objectos.

    Contudo, a restrio de no ter um DFD com +/- 7 objectos no deve ser o nico

    aspecto a ter em conta. Se existem oportunidades de agrupar processos devido a

    partilha de dados relacionados, ou devido existncia de depsitos locais, o

    processo de agrupamento deve prosseguir.

    Exemplo: Agrupamento de processos do sistema de gesto de bibliotecas

    Processos agrupados Depsitos escondidos Detalhe

    1, 2, 3 e 4 multa e leitor Diagrama 1

    5, 6, 7 e 9 Autor e Autor_livro Diagrama 2

    8 - -

  • 8/3/2019 analise estrurada

    20/22

    Anlise Estruturada 40

    Diagrama 1 - Gerir emprstimos

    1.1Registardados de

    leitor

    Leitor

    Ficha_leitor

    1.2

    Verificare registaremprstimo

    Dilogo_emprstimo

    Utente

    1.4

    Registarentrega deemprstimo

    Emprstimo

    Livro

    Livros_a_entregar

    Multa

    1.3Registar

    pagamentode multas

    Pagamento_multa

    Multa

    Diagrama 2 - Gerir livros

    2.3Registarlivros

    adquiridosLista_livros_adquiridos Editora

    Emprstimo

    2.2Pesquisar

    Livros porautor

    Dilogo_pesquisa_autor

    Autor

    Utente

    2.1PesquisarLivros por

    ttulo

    Dilogo_pesquisa_ttulo

    2.4Pesquisar

    disponibilidadede livro

    Dilogo_pesquisa_disp

    Autor_livro

    Autor_livro

    Livro

    Livro

  • 8/3/2019 analise estrurada

    21/22

    Anlise Estruturada 41

    Diagrama 0

    ADMINISTRAO

    Ficha_leitor

    Dilogo_pesquisa_autor

    UTENTEPagamento_multa

    Dilogo_pesquisa_disp

    Dilogo_pesquisa_ttulo

    Dilogo_emprstimo

    Livros_a_entregar

    EDITORA

    Lista_livros_adquiridosRelatrio_emprstimos

    1Gerir

    emprstimos

    3Emitir

    relatrio deemprstimos

    2Gerirlivros

    Livro

    Emprstimo Emprstimo

    Multa

  • 8/3/2019 analise estrurada

    22/22

    Anlise Estruturada 42

    Decomposio de processos no primitivos

    Normalmente, tambm necessrio criar nveis inferiores de detalhe se os

    processos existentes no DFD preliminar no forem primitivos. Esta necessidade

    surge quando os processos responsveis pela produo de respostas a eventos

    so demasiadamente complexos para descrever numa pgina.

    A deteco desta necessidade de decomposio por vezes evidente. Nos

    restantes casos a necessidade de decomposio s detectada quando se inicia a

    especificao de processos.

    1. 2.

    3.

    3.1.

    3.3.

    3.2.

    Critrios de decomposio de processos

    Os critrios a ter em conta na decomposio de processos so os seguintes:

    Na maior parte dos casos a abordagem de decomposio funcional apropriada. Se existe um processo funcionalmente complexo, identificam-se

    subfunes e para cada cria-se um processo de nvel inferior;

    Nos restantes casos os fluxos de entrada e de sada proporcionam o melhormecanismo para determinar a melhor diviso do processo em processos do

    nvel inferior.