Analise Essencial 2

download Analise Essencial 2

of 33

Transcript of Analise Essencial 2

ENGENHARIA DE SOFTWARE MDULO II ANLISE ESSENCIAL

Curso de Anlise Essencial

Pgina 1 de 33

I - INTRODUO Anlise essencial, tambm conhecida como anlise estruturada moderna, surgiu na dcada de 80 com objetivo de resolver alguns problemas, de modelagem de sistemas, que existiam na anlise estruturada surgida nos anos 70. Nesta dcada, mais precisamente no ano de 1975, Douglas T. Ross e Kennety E. Shoman Jr., publicaram o primeiro trabalho de suas tcnicas de projeto de anlise estruturada, mais conhecida pela sigla em ingls SADT. A SADT (Structured Analisys Development Techniques) foi um grande avano em termos de conseguir uma definio clara dos objetivos de um sistema representado atravs de ferramentas grficas. A principal ferramenta utilizada na metodologia do SADT foi o diagrama de atividade, que veio a contribuir mais tarde na definio da ferramenta diagrama de fluxo de dados utilizada por Edward Yourdon e Larry Constantine entre outros. O diagrama de atividade representou uma melhoria, em relao ao texto narrativo utilizado na poca que o antecedeu. O maior problema com a metodologia SADT, que Ross e Schoman no disseram muito sobre o processo de desenvolver um sistema a partir de uma especificao de requerimentos. O grau de sucesso dos usurios (analistas) do SADT, continuava a depender muito das suas aptides. Em 1977, Chris Gane e Trish Sarson atravs de seu livro Structured System Analisys : Tool & Techniques, melhoraram a SADT oferecendo uma estratgia rudimentar para construir um modelo de sistemas baseado em dados, a partir das especificaes dos requerimentos. Eles propuseram tambm a utilizao especfica do diagrama de fluxo de dados em combinao com o dicionrio de dados e descrio do processo. Em 1978, Tom de Marco e Vitor Weinberg publicaram livros defendendo a mesma estrutura de modelagem proposta por Gane e Sarson, com algumas pequenas mudanas na terminologia. Naquela poca, j havia uma preocupao em distinguir os aspectos lgicos dos aspectos fsicos dos sistemas, porm havia ainda alguma confuso nesta diferenciao, misturando-se no decorrer do desenvolvimento de um sistema, o modelo lgico com o modelo fsico. A anlise essencial ou estruturada moderna veio, dentre outras coisas importantes, consolidar decisivamente este conceito de modelo lgico e modelo fsico, separando-os conceitualmente na forma adequada, como pode ser visto nos textos que seguem descritos.

Curso de Anlise Essencial

Pgina 2 de 33

II - CONCEITOS GERAIS Requerimentos verdadeiros - a especificao de um sistema deve conter apenas requerimentos verdadeiros. Requerimentos falsos - so classificados em duas categorias principais: os tecnolgicos e os arbitrrios. requerimentos tecnolgicos falsos : so criados porque os analistas incluem especificaes tecnolgicas durante as especificaes dos requerimentos. requerimentos arbitrrios falsos : so criados quando os analistas descrevem o requerimento de um sistema de forma indevida, acima das necessidades reais do sistema ou atravs da utilizao inadequada das ferramentas de modelagem, provocando uma no conformidade na organizao das atividades dos sistemas.

Podem ser exemplificados os seguintes requerimentos falsos : Se o sistema for capaz de cumprir sua finalidade sem a necessidade de implementar tal requerimento. Especificao de uma atividade realmente necessria ao sistema mas descrita por meio da tecnologia utilizada para sua execuo. Um requerimento que deve ser executado apenas para acomodar uma tecnologia utilizada para sua execuo. Tecnologia perfeita - com a tecnologia perfeita, um sistema teria um processador e um meio de armazenagem de informaes perfeito. Um processador perfeito aquele capaz de fazer qualquer coisa instantaneamente; isto teria todas as aptides e uma capacidade de trabalho infinita.

Meio de armazenagem de informaes perfeito seria capaz de conter uma quantidade infinita de dados e permitir a recuperao dos mesmos de forma adequada por qualquer processador.

Atividades essenciais - so todas as atividades do sistema independente da tecnologia utilizada. Pode-se definir tambm como todas as atividades necessrias ao funcionamento do sistema que o leve a atender os requisitos definidos na especificao do mesmo.

Curso de Anlise Essencial

Pgina 3 de 33

As atividades essenciais so divididas em : Atividades fundamentais - so as atividades que contribuem para justificar a existncia do sistema, ou seja, so as atividades que executam as tarefas declaradas nos requerimentos do sistema. Atividades custodiais - so as atividades que estabelecem e mantm a memria essencial do sistema, com a obteno e armazenamento das informaes necessrias s atividades fundamentais. Memria essencial - so as informaes necessrias para atender s atividades essenciais (fundamentais) do sistema. Entidade externa - so as entidades que estimulam e recebem respostas do sistema. ela pode ser qualquer coisa: uma pessoa, um almoxarifado, um veculo, um sistema. para identificar de forma adequada uma entidade externa, deve-se ter uma independncia total do meio pelo qual o fluxo de informao veiculado. por exemplo num sistema de pessoal, que normalmente informa os dados cadastrais dos empregados, um funcionrio da gerncia de recursos humanos fornecer informaes ao sistema sobre os funcionrios da empresa, mas, a entidade externa que estimular o sistema sero os funcionrios. Entidade - o objeto concreto ou abstrato onde sero armazenadas as informaes necessrias para amparar a funcionalidade do sistema. No Diagrama de Fluxo de Dados (DFD) do modelo lgico denominada depsito de dados e no modelo fsico denominada arquivo ou Entidade/Objeto de Dados . Tem ainda autores que denominam entidade como objeto de dados. Ser utilizado, para simplificar o entendimento de todos, a terminologia Entidade em todas as etapas do Sistema. Processo - so os responsveis por toda lgica comportamental do sistema, para responder as funes desempenhadas pelo sistema. Modelo essencial - a modelagem global do sistema para atender as suas funes independentemente da tecnologia. Modelo ambiental - a modelagem do sistema que tem como objetivo representar quais informaes o sistema recebe do meio externo e envia para o mesmo ou simplesmente as registra. Nesta modelagem, obtido o que o sistema faz. Modelo comportamental - a modelagem do sistema que tem como objetivo definir quais informaes o sistema deve conter nos seus depsitos de dados, e quais processos devem manipular estes dados para atender as perguntas e respostas identificadas atravs do modelo ambiental. Nesta modelagem obtido como o sistema faz. Modelo de implementao - a modelagem do sistema que tem como objetivo definir em que ambiente e como o sistema ser desenvolvido.

Curso de Anlise Essencial

Pgina 4 de 33

Contexto - tem como objetivo mostrar de forma grfica o ambiente de funcionamento do sistema, apresentando os fluxos de informao entre o sistema e as entidades externas ao mesmo. Lista de Eventos - tem como objetivo modelar a comunicao entre o sistema e as entidades externas sob a forma de eventos. Estes eventos podem ser: externos - quando existe um estmulo atravs de um fluxo de dados oriundo da entidade externa em direo ao sistema, sendo que o sistema poder ou no responder a este estmulo atravs de outro fluxo em sentido contrrio, ou at mesmo em direo a uma outra entidade externa qualquer.

temporais - quando no existe um estmulo atravs de um fluxo de dados oriundo da entidade externa em direo ao sistema, sendo que o sistema apenas emitir um fluxo de dados oriundo no mesmo, com destino uma entidade externa qualquer.

Mapeamento dos Eventos - tem como objetivo modelar os eventos, atravs do dos Diagramas de Resposta a Eventos (DRE) obtendo-se como produto final os depsitos de dados e seus atributos e a especificao do processo que atendero ao evento. Diagrama de Entidades e Relacionamentos (DER) - tem como objetivo modelar as entidades, obtidos atravs do diagrama de respostas a eventos, elaborando um diagrama que os relacione entre si. Normalizao dos dados - tem como objetivo normalizar as entidades existentes no DER, ajustando-os de tal forma que atenda s regras estabelecidas pelos bancos de dados relacionais.

Curso de Anlise Essencial

Pgina 5 de 33

III - BENEFCIOS DA ANLISE ESSENCIAL A tcnica de anlise essencial permite, ordenar, padronizar, consistir e aumentar a produtividade e qualidade das equipes de desenvolvimento de sistemas. A partir de leituras de diversos livros de anlise essencial e modelagem de dados, dentre os quais : anlise essencial de sistemas (Sthephen M. McMenamim e John F. Palmer), anlise estruturada moderna (Edward Yourdon) e abordagem entidaderelacionamento para projeto lgico (Chen), engenharia de software (Roger Pressman), engenharia da informao (Feliciano, Furlan e Higa) e de experincias prprias, foi elaborado um roteiro prtico de aplicao da anlise essencial que certamente agregar um ganho de produtividade e qualidade ao ambiente de desenvolvimento da mesma. Este roteiro est descrito de forma simples e prtica, com estudo de caso, a seguir.

Curso de Anlise Essencial

Pgina 6 de 33

V - FASE DE ANLISE - MODELO LGICO O Modelo Lgico do Sistema tem como objetivo, a partir do memorial descritivo obtido na fase de anlise de requisitos, modelar o funcionamento do sistema independente da tecnologia e do ambiente no qual o mesmo ser implementado. Ele composto do modelo ambiental e modelo comportamental. Modelagem ambiental Tem como objetivo, a partir do memorial descritivo, modelar o ambiente do Sistema. Esta modelagem define todos os eventos que as entidades externas enviam ao sistema, quais respostas a estes eventos que o sistema emite para as entidades externas e que informaes (respostas) so enviados espontaneamente (sem estmulo) do sistema para as entidades externas. O produto final ser : O QUE o sistema faz. Os instrumentos para executar esta modelagem so os seguintes: O Contexto representado pelo Diagrama de Contexto Lista de Eventos externos e temporais Diagrama de Contexto

As entidades externas ao sistema e o fluxo de informao entre elas e o sistema so identificadas a partir da descrio do sistema. De acordo com o memorial descritivo do sistema de recursos humanos apresentado, foram identificadas as seguintes entidades externas e fluxo de informaes : Entidades Externas Cliente Fluxo de Informaes Incluso, alterao e excluso de Clientes Solicitao de Pedidos Cancelamento de Pedidos Confirmao dos Pedidos Nota Fiscal Fatura Matrcula e senha dos empregados Arquivo ICMS

Sistema de segurana Secretaria da Fazenda

Curso de Anlise Essencial

Pgina 7 de 33

Em seguida elaborado o Diagrama de Contexto, que representado atravs do relacionamento entre as entidades externas e o sistema, da seguinte maneira :

Incluso (EV1) Alterao (EV2) Excluso (EV3) Pedido (EV4) Usurio (EV8) Permisso de acesso

SISTEMA DE SEGURANA

Resposta permisso SISTEMA DE VENDAS ICMS

CLIENTE

Cancela Pedido (EV5) Confirma Pedido (EV6)

Nota Fiscal (R6) Fatura (R6)

Informaes do ICMS (EV7)

SEFAZ

Como mostrado neste exemplo uma entidade externa pode ser qualquer coisa, inclusive outros sistemas, e a comunicao das entidades externas com o sistema pode ser feita atravs fluxo de dados ou de arquivos.

Curso de Anlise Essencial

Pgina 8 de 33

Lista de Eventos representada por eventos que podem ou no ser emitidos pelas entidades externas ao sistema. Podem tambm emitir respostas s entidades externas ou no. A lista de eventos pode ser feita aps, antes, ou em paralelo com o diagrama de contexto, no entanto a lista de eventos tem que estar consistente com o diagrama de contexto e vice-versa. A lista de eventos deve ser feita de tal forma, que os mesmos no se tornem nem macro (muito genricos) e nem micro (muito pulverizados). A seguinte lista de eventos foi elaborada conforme o contexto do exemplo apresentado: EXTERNOS : Cliente solicita incluso - EV1 Cliente solicita alterao - EV2 Cliente solicita excluso - EV3 Cliente faz pedido - EV4 Cliente cancela pedido - EV5 Cliente confirma pedido - EV6 Sistema de Segurana informa usurio - EV8 TEMPORAIS :

Sistema gera arquivos do ICMS - EV7

importante notar que, nem todos os fluxos de informaes que aparecem no diagrama de contexto aparecem na lista de eventos do sistema. Pode-se, por exemplo, ter fluxos oriundos de outros sistemas ou fluxos que so respostas de algum evento que esteja no contexto. No exemplo apresentado o fluxo de notas fiscais e faturas, para a entidade externa cliente, que resposta do evento confirmar pedido e o fluxo de informaes entre o sistema e o sistema de segurana, permisso de acesso e acesso concedido, ser uma troca de informaes entre os eventos modelados no sistema de vendas e o sistema de segurana, no havendo necessidades de model-los no sistema de vendas. OBS : Nesta fase ainda no foram identificadas todas as entidades externas e eventos. Ao elaborar o modelo comportamental possivelmente, o analista retornar esta etapa para identificar novas entidades externas, desenhar um novo contexto e descobrir novos eventos. Este tipo de ocorrncia normal quando se utiliza a anlise essencial como tcnica de anlise.

Curso de Anlise Essencial

Pgina 9 de 33

Modelagem Comportamental Tem como objetivo a partir da lista de eventos modelar o comportamento do sistema, definindo os processos (que viro a ser os programas) e as Entidades (que viro a ser as Entidade/Objeto de Dados) que comporo o sistema.. O produto ser : COMO o Sistema faz. Para analisar como o sistema conseguir responder de forma adequada aos eventos enviados pelas Entidades Externas ou emitidos espontaneamente pelo Sistema, as seguintes atividades devem ser desenvolvidas : Mapeamento dos Eventos, com o objetivo de identificar os fluxos de dados, as entidades (objeto de dados) e o processo envolvidos na execuo do evento. Mapeamento das relaes existentes entre as entidades (objetos de dados). Mapeamento das mudanas de estado no sistema. Elaborao do DFD Diagrama de Fluxo de Dados nvel 0 (mais elevado) Os instrumentos para executar esta Modelagem so :

Diagrama de Resposta a Eventos ( DRE ) Diagrama de Transio de Estado ( DTE ) Diagrama Entidade e Relacionamento ( DER ) Dicionrio de Dados ( DD )

Mapeamento dos eventos Tem como objetivo modelar os processos e os dados que sero necessrios para atender aos eventos que chegam ao sistema e que exigem uma resposta do mesmo, os que chegam ao sistema e que o sistema apenas registra as informaes trazidas pelo mesmos e os eventos produzidos de forma expontnea, pelo sistema sem nenhum estmulo. A modelagem dos eventos conter as seguintes informaes : o fluxo de dados entre a entidade externa e o processo, o processo, as entidades e a especificao do processo. Para representar a parte grfica do mapeamento ser utilizado o DRE. Como produto final so obtidos todas as Entidades (que viro a ser os arquivos ou tabelas no modelo fsico), sem normalizar e todos os processos do sistema necessrios para atender os eventos. Durante a elaborao dos eventos, podero surgir necessidade de novos eventos e novas entidades que no foram previstos inicialmente Em seguida ser apresentado o mapeamento dos eventos :

Curso de Anlise Essencial

Pgina 10 de 33

EVENTO 1 : Cliente solicita incluso

DIAGRAMA RESPOSTA AO EVENTO

CLIENTE

FLINCCLIENTE

Incluir Cliente

CLIENTE

FLUXO DE DADOS FLINCCLIENTE nome + endereo + data de nascimento + data de cadastro + CPF + nmero da identidade.

ESPECIFICAO Solicitar ao sistema de segurana atravs de mensagem, se o usurio tem autorizao para utilizar esta funo. Se a resposta for negativa emitir mensagem este usurio no est autorizado a utilizar esta funo e encerrar. Se a resposta for positiva continuar.

Verificar se o cliente existe, se existir mensagem cliente j cadastrado e encerrar. Verificar se todos os dados do cliente foram informados e de forma correta : nome e endereo diferente de brancos; data de cadastro e data de nascimento vlidas; CPF numrico, maior que zeros e dgito verificador vlido; e nmero da identidade numrico e maior que zeros. Se houver algum erro nesta verificao mensagem dados de cliente invlidos e encerrar. Se tudo estiver correto atribuir um cdigo ao cliente e inclu-lo.

Curso de Anlise Essencial

Pgina 11 de 33

EVENTO 2 : Cliente solicita alterao

DIAGRAMA RESPOSTA AO EVENTO

CLIENTE

FLALTCLIENTE

Alterar Cliente

CLIENTE

FLUXO DE DADOS FLALTCLIENTE nome + endereo + data de nascimento + data de cadastro + CPF + nmero da identidade.

ESPECIFICAO Solicitar ao sistema de segurana atravs de mensagem, se o usurio tem autorizao para utilizar esta funo. Se a resposta for negativa emitir mensagem este usurio no est autorizado a utilizar esta funo e encerrar. Se a resposta for positiva continuar. Verificar se o cliente existe , se no existir mensagem cliente no existente e encerrar. Verificar se todos os dados do cliente a serem alterados, foram informados e de forma correta : nome e endereo diferente de brancos; data de cadastro e data de nascimento vlidas; CPF numrico, maior que zeros e digito verificador vlido; e nmero da identidade numrico e maior que zeros. Se houver algum erro nesta verificao mensagem dados de cliente invlidos e encerrar. Se tudo estiver correto efetuar as alteraes solicitadas.

Curso de Anlise Essencial

Pgina 12 de 33

EVENTO 3 : Cliente solicita excluso

DIAGRAMA RESPOSTA AO EVENTO

PEDIDO

CLIENTE

FLEXCCLIENTE

Excluir Cliente

CLIENTE

FLUXO DE DADOS FLEXCCLIENTE CPF do Cliente

ESPECIFICAO Solicitar ao sistema de segurana atravs de mensagem, se o usurio tem autorizao para utilizar esta funo. Se a resposta for negativa emitir mensagem este usurio no est autorizado a utilizar esta funo e encerrar. Se a resposta for positiva continuar. Verificar se o cliente existe , se no existir mensagem cliente no existente e encerrar. Verificar se o cliente tem algum pedido pendente, se tiver mensagem cliente com pedido pendente e encerrar. Eliminar cliente e encerrar.

Curso de Anlise Essencial

Pgina 13 de 33

EVENTO 4 : Cliente faz pedido

DIAGRAMA RESPOSTA AO EVENTOCLIENTE

CLIENTE

FLPEDIDO

Cadastrar Pedido

FLCODPEDIDO

PEDIDO

FLUXO DE DADOS

FLPEDIDO : cdigo do cliente + nmero de faturas + data do pedido + [(cdigo do produto + nome do produto + quantidade) + (cdigo do produto + nome do produto + quantidade) + (cdigo do produto + nome do produto + quantidade) (etc.) ]. FLCODPEDIDO : cdigo do pedido Analisando o DRE e pelo FLUXO DE DADOS, tem-se a necessidade de verificar se o produto vlido e deve-se evitar informar o nome do produto, informando apenas o cdigo. O novo DRE, ento, ficar da seguinte maneira :

CLIENTE

CLIENTE

FLPEDIDO

Cadastrar Pedido

PEDIDO

FLCODPEDIDO PRODUTO

Curso de Anlise Essencial

Pgina 14 de 33

Neste novo DRE surgiu um nova Entidade PRODUTO. Deve-se portanto acrescer na Lista de Eventos, um evento que permita cadastr-lo, surgindo ento o novo evento : Gerncia cadastra produto. Neste novo evento aparece uma nova entidade externa com o nome de Gerncia. Ser necessrio alterar o Diagrama de Contexto para inclu-la. Adiante ser elaborada a Lista de Eventos e o Diagrama de Contexto definitivos. O novo Fluxo de Dados FLPEDIDO ficar da seguinte maneira : FLUXO DE DADOS

FLPEDIDO : : cdigo do cliente + nmero de faturas + data do pedido + [(cdigo do produto + quantidade) + (cdigo do produto + quantidade) + (cdigo do produto + quantidade) (etc.) ]. FLCODPEDIDO : cdigo do pedido Analisando o FLPEDIDO pode-se verificar que h uma repetio de (cdigo de produto + quantidade) n vezes. O depsito PEDIDO, que ser o responsvel por armazenar esta informao, ter que faze-la prevendo o repetio de (cdigo do produto + quantidade) n vezes. Se a implementao do depsito de dados for em Banco de Dados Relacional, deve-se aplicar a 1FN neste depsito. Esta normalizao ser feita adiante quando for elaborado o DER. ESPECIFICAO

Solicitar ao sistema de segurana atravs de mensagem, se o usurio tem autorizao para utilizar esta funo. Se a resposta for negativa emitir mensagem este usurio no est autorizado a utilizar esta funo e encerrar. Se a resposta for positiva continuar. Para cada incluso de pedido: Verificar se o cliente existe, se no existir mensagem cliente inexistente e encerrar. Verificar se o produto existe, se no existir mensagem produto inexistente e encerrar. Verificar se a quantidade de cada produto foi informada diferente de ZERO, se informada de forma correta criar e informar um nmero para o pedido, colocar status = A e incluir o pedido, caso contrrio mensagem quantidade de produto invlida e encerrar.

Curso de Anlise Essencial

Pgina 15 de 33

EVENTO 5 : Cliente cancela pedido

DIAGRAMA RESPOSTA AO EVENTO

PEDIDO

CLIENTE

FLCANPEDIDO

Cancelar Pedido

PRODUTO_PEDIDO

FLUXO DE DADOS

FLCANPEDIDO : cdigo do pedido ESPECIFICAO

Solicitar ao sistema de segurana atravs de mensagem, se o usurio tem autorizao para utilizar esta funo. Se a resposta for negativa emitir mensagem este usurio no est autorizado a utilizar esta funo e encerrar. Se a resposta for positiva continuar. Para cada cancelamento: Verificar se o pedido existe, se no existir mensagem pedido no existente e encerrar. Caso exista: se o pedido j foi atendido (verificar se status = A), mensagem "pedido j atendido" e eliminando todos os registros do Pedido em Produto_Pedido e colocar status = C no pedido. se o pedido estiver com status = C, emitir mensagem "pedido j foi cancelado" e encerrar. . se o pedido j foi confirmado (verificar se status = X), mensagem "pedido j foi confirmado, no pode ser cancelado" encerrar.Curso de Anlise Essencial Pgina 16 de 33

EVENTO 6 : Cliente confirma pedido

DIAGRAMA RESPOSTA AO EVENTO

FLNOTA FISCAL

CLIENTE

PEDIDO

NOTA_FISCAL CLIENTE FLCONFPEDIDO Confirmar Pedido FATURA

PRODUTO FLFATURA

FLUXO DE DADOS

FLCONFPEDIDO : cdigo do pedido FLNOTAFISCAL : cdigo do cliente + nome do cliente + endereo do cliente + cdigo da nota + valor da nota + valor do ICMS + data de emisso + [(cdigo do produto + quantidade do produto + valor unitrio) + [(cdigo do produto + quantidade do produto + valor unitrio) + [(cdigo do produto + quantidade do produto + valor unitrio) etc...] FLFATURA vencimento : cdigo da nota + cdigo da fatura + valor da fatura + data do

ESPECIFICAO

Solicitar ao sistema de segurana atravs de mensagem, se o usurio tem autorizao para utilizar esta funo. Se a resposta for negativa emitir mensagem este usurio no est autorizado a utilizar esta funo e encerrar. Se a resposta for positiva continuar. Para cada confirmao: Verificar se o pedido existe, se no existir mensagem pedido no existente e encerrar. Caso exista atualizar a confirmao do pedido, emitir e criar a Nota Fiscal e as suas respectivas Faturas com datas de vencimento conforme instrues contidas no pedido do cliente.Curso de Anlise Essencial Pgina 17 de 33

EVENTO 7 : Sistema gera arquivos do ICMS

DIAGRAMA RESPOSTA AO EVENTOFLICMS

ICMS

SEFAZ

Gerar ICMS

NOTA_FISCAL

FLUXO DE DADOS

FLICMS : ano + ms + valor do ICMS ESPECIFICAO

Solicitar ao sistema de segurana atravs de mensagem, se o usurio tem autorizao para utilizar esta funo. Se a resposta for negativa emitir mensagem este usurio no est autorizado a utilizar esta funo e encerrar. Se a resposta for positiva continuar. Para todas as Notas Fiscais do ms/ano, validar o ms/ano e se forem invlidos emitir mensagem ano/ms invlidos e encerrar. Se tudo correto, somar o valor do ICMS contido na Nota e criar o arquivo mensal do ICMS.

Curso de Anlise Essencial

Pgina 18 de 33

EVENTO 8 : Sistema de Segurana informa usurio

DIAGRAMA RESPOSTA AO EVENTO

SISTEMA DE SEGURANA

FLUSUARIO

GUARDAR USURIO

FLUXO DE DADOS

FLUSUARIO : Cdigo do Usurio ESPECIFICAO

Aps receber a identificao do usurio, guard-la em memria para utilizao por outros eventos do sistema.

Curso de Anlise Essencial

Pgina 19 de 33

Mudanas de estado Tem como objetivo enfatizar o comportamento do tempo - dependente do sistema. Estes estados se modificam, a partir de eventos que chegam ao sistema. A sua representao importante, principalmente em sistemas on line e real time, quando o controle de mudanas de estado do sistema fundamental para o funcionamento adequado do mesmo Como ferramenta para esta modelagem ser utilizado o DTE (Diagrama de Transio de Estado). Em seguida ser apresentado um exemplo de um DTE para um controle situao de pedidos. sistema de

PEDIDO SOLICITADO Cancelamento do Pedido Confirmao do Pedido

PEDIDO CANCELADO

PEDIDO CONFIRMADO

Curso de Anlise Essencial

Pgina 20 de 33

Mapeamento das relaes existente entre as entidades O E-R constitui um mecanismo que representa a associatividade entre as Entidades. Tem como objetivo modelar o relacionamento entre as Entidades do sistema que foram identificadas nos DREs. Como ferramenta para esta modelagem ser utilizado DER (Diagrama Entidade e Relacionamento). Para modelar o relacionamento entre as Entidades os seguintes passos devem ser seguidos : 1)Identificar as Entidades nos DREs. CLIENTE, PEDIDO, PRODUTO, NOTA_FISCAL, FATURA e ICMS 2)Relacionar as Entidades identificadas obtendo o DER no normalizado

PRODUTO

FATURA

Tem

Pertence

Tem Pertence Faz gerada Gera

Gera

CLIENTE

PEDIDO

NOTA_FISCAL

Compoem

resultado

ICMS

DER SEM NORMALIZAR

Curso de Anlise Essencial

Pgina 21 de 33

3)Aplicar as regras de normalizao ( 1FN, 2FN e 3FN) definidas no capitulo Modelagem de Dados/Objetos deste Volume do ADS e obter o DER normalizado. No caso do exemplo apresentado, ser aplicada a 1 FN na relao PRODUTO x PEDIDO, criando a Entidade associativa PRODUTO_PEDIDO eliminando repetio de campos.

PRODUTO

FATURA

Tem

Pertence

Pertence

Gera

CLIENTE

Faz

PRODUTO_PEDIDO

gerada

NOTA_FISCAL

Pertence

Compoem

Tem

resultado

Pertence

PEDIDO

Gera

ICMS

DER NORMALIZADO

4)Aps obter o DER normalizado, analis-lo em conjunto com os DREs obtidos podese ter alterao no Diagrama de Contexto e nos DREs obtido. No exemplo estas alteraes ocorreram alterando a Lista de Eventos, o Diagrama de Contexto e o os DREs, conforme segue descrito em seguida.

Curso de Anlise Essencial

Pgina 22 de 33

Diagrama de Contexto Definitivo

Incluso (EV1) Alterao (EV2) Excluso (EV3) Pedido (EV4) Usurio (EV8) Permisso de acesso

SISTEMA DE SEGURANA

Resposta permisso SISTEMA DE VENDAS ICMS

CLIENTE

Cancela Pedido (EV5) Confirma Pedido (EV6)

Nota Fiscal (R6) Fatura (R6) Cadastrar Produto (EV9)

Informaes do ICMS (EV7)

GERNCIA

SEFAZ

Contexto alterado aps incluso da Entidade Externa GERENCIA Lista de Eventos definitiva

EXTERNOS : Cliente solicita incluso - EV1 Cliente solicita alterao - EV2 Cliente solicita excluso - EV3 Cliente faz pedido - EV4 Cliente cancela pedido - EV5 Cliente confirma pedido - EV6 Sistema de Segurana informa usurio - EV8 Gerencia cadastra produto (evento novo) - EV9 TEMPORAIS : Sistema gera arquivos do ICMS - EV7

Curso de Anlise Essencial

Pgina 23 de 33

EVENTO 1 : sem alterao EVENTO 2 : sem alterao EVENTO 3 : sem alterao EVENTO 4 : Cliente faz pedido (alterado em funo na normalizao para incluir PRODUTO_PEDIDO)

CLIENTE

PEDIDO CLIENTE FLPEDIDO Cadastrar PedidoPRODUTO_PEDIDO

FLCODPEDIDO

PRODUTO

Neste novo DRE percebe-se que surgiu, um nova Entidade, PRODUTO_PEDIDO. A especificao do evento deve ser alterada para atender a existncia desta nova entidade. FLUXO DE DADOS FLPEDIDO : : cdigo do cliente + nmero de faturas + data do pedido + [(cdigo do produto + quantidade) + (cdigo do produto + quantidade) + (cdigo do produto + quantidade) (etc.) ]. FLCODPEDIDO : cdigo do pedido ESPECIFICAOPgina 24 de 33

Curso de Anlise Essencial

Solicitar ao sistema de segurana atravs de mensagem, se o usurio tem autorizao para utilizar esta funo. Se a resposta for negativa emitir mensagem este usurio no est autorizado a utilizar esta funo e encerrar. Se a resposta for positiva continuar. Para cada incluso de pedido: Verificar se o cliente existe, se no existir mensagem cliente inexistente e encerrar. Verificar se o produto existe, se no existir mensagem produto inexistente e encerrar. Verificar se a quantidade de cada produto foi informada >= ZERO. Se informado de forma correta criar e informar um nmero para o pedido, e incluir o pedido e produto_pedido, caso contrrio mensagem quantidade de produto invlida e encerrar. EVENTO 5 : Cliente cancela pedido (sem alterao)

Curso de Anlise Essencial

Pgina 25 de 33

EVENTO 6 : Cliente confirma pedido (alterado em funo na normalizao para incluir PRODUTO_PEDIDO.

DIAGRAMA RESPOSTA AO EVENTO

CLIENTE

FLNOT AFISCAL

PEDIDO

NOTA_FISCAL CLIENTE FLCONFPEDIDO Confirmar Pedido FATURA FLFATURA PRODUTO

PRODUTO_PEDIDO

Neste novo DRE percebe-se que surgiu, um nova Entidade, PRODUTO_PEDIDO. A especificao do evento deve ser alterada para atender a existncia desta nova entidade. FLUXO DE DADOS

FLCONFPEDIDO : cdigo do pedido FLNOTAFISCAL : cdigo da nota + valor da nota + valor do ICMS + data de emisso + [(cdigo do produto + quantidade do produto + valor unitrio) + [(cdigo do produto + quantidade do produto + valor unitrio) + [(cdigo do produto + quantidade do produto + valor unitrio) etc.] + CGC da transportadora + nome da transportadora FLFATURA vencimento : cdigo da nota + cdigo da fatura + valor da fatura + data do

Curso de Anlise Essencial

Pgina 26 de 33

ESPECIFICAO

Solicitar ao sistema de segurana atravs de mensagem, se o usurio tem autorizao para utilizar esta funo. Se a resposta for negativa emitir mensagem este usurio no est autorizado a utilizar esta funo e encerrar. Se a resposta for positiva continuar. Para cada confirmao: Verificar se o pedido existe, se no existir mensagem pedido no existente e encerrar. Caso exista atualizar a confirmao do pedido, emitir e criar a Nota Fiscal e as suas respectivas Faturas com datas de vencimento conforme instrues/informaes contidas na entidade pedido e as informaes contidas nas entidades produto e produto_pedido. EVENTO 7 : Sistema gera arquivos do ICMS (sem alterao) EVENTO 8 : Sistema de Segurana informa usurio (sem alterao) EVENTO 9 : Gerncia cadastra produto (novo evento)

DIAGRAMA RESPOSTA AO EVENTO

GERENCIA

FLPRODUTO

Cadastrar Produto

PRODUTO

FLUXO DE DADOS

FLPRODUTO : cdigo do produto + nome do produto ESPECIFICAO

Solicitar ao sistema de segurana atravs de mensagem, se o usurio tem autorizao para utilizar esta funo. Se a resposta for negativa emitir mensagem este usurio no est autorizado a utilizar esta funo e encerrar. Se a resposta for positiva continuar. Para cada cadastramento: Verificar se o produto existe comparando o nome do produto com um j cadastrado. Se existir mensagem produto existente e encerrar. Caso no exista incluir o produto.

Curso de Anlise Essencial

Pgina 27 de 33

Elaborao do DFD nvel 0 Tem como objetivo mostrar uma viso integrada e global do sistema. Quando o sistema tem muitos eventos, haver uma certa dificuldade em represent-lo. Nestes casos pode-se reunir um conjunto de eventos, desde que altere a lgica global do sistema, em um nico evento para facilitar a representao deste DFD. Em seguida apresentaremos duas verses de DFD, para o exemplo que estamos apresentando at agora. Uma com todos os eventos e outra com reunio de alguns eventos .

Curso de Anlise Essencial

Pgina 28 de 33

1-

DFD com todos os eventos

dados do cliente

dados do produto incluir cliente incluir produto dados do produto

dados do produto

alterar produto dados do cliente CLIENTE alterar cliente

excluir produto

PRODUT O dados do cliente excluir cliente cadastrar pedido cancelar pedido dados de pedido dados de pedido dados de pedido confirmar pedido PEDIDO

NOTA FISCAL

gerar icms FATURA ICMS

Curso de Anlise Essencial

Pgina 29 de 33

2-

DFD com eventos agrupados

dados do cliente

cadastrar cliente

cadastra produto

dados do produto

CLIENTE

PRODUT O

dados de pedido confirmar pedido

dados de pedido

dados de pedido cancelar pedido

cadastrar pedido

NOTA FISCAL PEDIDO

FATURA gerar icms

ICMS

Curso de Anlise Essencial

Pgina 30 de 33

Dicionrio de Dados uma ferramenta de modelagem utilizada durante todo o desenvolvimento do sistema, de forma evolutiva. Durante a FASE DE ANLISE MODELO LGICO, tem como objetivo descrever de forma clara, ordenada e padronizada os fluxos de dados entre as entidade externas e o sistema e vice-versa e as entidade externas do sistema. Existem vrias notaes para se descrever um dicionrio de dados, nesta primeira Fase de implantao do ADS a descrio ser de forma livre, mas de acordo com o padro da ferramenta CASE do ambiente.

Curso de Anlise Essencial

Pgina 31 de 33

Entidades Externas CLIENTE : Representa os clientes da empresa GERNCIA : Representa a gerncia da empresa SEFAZ : Representa a Secretria da Fazenda do Estado SISTEMA DE SEGURANCA : Representa o sistema de segurana, que ser o responsvel pelo controle de acesso ao sistema e s funes do mesmo. Entidades CLIENTE : Contm as informaes sobre os clientes da empresa PRODUTO : Contm informaes sobre os produtos comercializados pela empresa PEDIDO : Contm informaes sobre os pedidos dos cliente na empresa PRODUTO_PEDIDO : Contm informaes sobre os produtos de um pedido ICMS : Contm informaes sobre o ICMS calculado na Notas Fiscais NOTA_FISCAL :Contm informaes sobre as Notas Fiscais emitidas nas vendas. FATURA : Contm informaes sobre as faturas oriundas da Notas Fiscais emitidas Fluxos de Dados FLINCCLIENTE :Contm as informaes sobre os clientes durante o evento incluir cliente. FLALTCLIENTE :Contm as informaes sobre os clientes durante o evento alterar cliente. FLEXCCLIENTE :Contm as informaes sobre os clientes durante o evento excluir cliente. FLPEDIDO : Contm informaes sobre os pedidos dos cliente durante o evento fazer pedido. FLCODPEDIDO :Contm informaes sobre nmero atribudo ao cliente, oriundo da resposta do evento fazer pedido. FLCANPEDIDO :Contm informaes sobre cancelamento dos pedidos durante o evento, cancelar pedido. FLCONPEDIDO : Contm informaes sobre a confirmao dos pedidos dos cliente, durante o evento confirmar pedido. FNOTAFISCAL : Contm informaes sobre as Notas Fiscais emitidas nas vendas. FLFATURA : Contm informaes sobre as faturas oriundas da Notas Fiscais emitidas. FLICMS : Contm as informaes sobre o ICMS para ser enviado SEFAZ. FLUSUARIO : Contm as informaes o usurio que est acessando o sistema.

Curso de Anlise Essencial

Pgina 32 de 33

ROTEIROS PARA A FASE DE ANLISE MODELO LGICO Roteiro 1 - principal Passo 1 : Levantamento de informaes nos usurios/clientes, objetivando o entendimento do sistema e elaborao do memorial descritivo. Passo 2 : Elaborao da modelagem ambiental produzindo o contexto do sistema, a lista de eventos. Passo 3 : A partir da lista de eventos, elaborao dos diagramas de resposta a eventos, buscando definir os processos e os dados que faro parte do sistema. Passo 4 : Elaborao do DER (Diagrama de Entidade e Relacionamentos) e a normalizao do mesmo. Passo 5 : Reviso do Diagrama de Contexto e dos Diagramas de Resposta a Eventos Passo 6 : Dicionrio de Dados Roteiro 2 - alternativo Passo 1 : Levantamento de informaes nos usurios/clientes, objetivando o entendimento do sistema e elaborao do memorial descritivo. Passo 2 : Elaborao da modelagem ambiental produzindo o contexto do sistema, a lista de eventos. Passo 3 : Elaborao do DER (Diagrama de Entidade e Relacionamentos), a normalizao do mesmo. Passo 4 : A partir da lista de eventos e do DER normalizado, ajustar a lista de eventos e diagrama de contexto, elaborar os diagramas de resposta a eventos. Passo 5: Dicionrio de Dados 5:

Curso de Anlise Essencial

Pgina 33 de 33