Upload
breno-nascimento
View
171
Download
0
Embed Size (px)
Citation preview
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