Escolar Documentos
Profissional Documentos
Cultura Documentos
Anlise Estruturada
O que a Anlise?
A Anlise o estudo de um problema, antes da tomada de qualquer aco. No domnio especfico do desenvolvimento de sistemas de computadores, corresponde ao estudo de determinada rea de negcio ou aplicao, usualmente levando especificao de um novo sistema. A Aco que ser tomada posteriormente ser a implementao do novo sistema.
Elaborao de documentao detalhada de como atingir o objectivo de modo a permitir avaliar a subsequente implementao; Elaborao de previses fiveis dos mais importantes parmetros associados com o objectivo; Receber feed- back de todos os intervenientes dos itens acima.
1 Joo Bastos
Informtica de Gesto
Anlise Estruturada
Especificao
O analista o intermedirio entre o utilizador, que decide o que deve ser feito, e a equipe de desenvolvimento que faz o trabalho. Ele serve de interlocutor e utiliza o documento final de especificao como ponte entre o utilizador e a equipe de desenvolvimento. O sucesso da fase de especificao depende do produto, que neste caso o documento final de especificao, o qual deve ser capaz de servir de modelo para o novo sistema. Documento final de especificao dever ajudar visualizao do novo sistema, dai que o documento final de especificao o modelo do novo sistema.
Joo Bastos
Informtica de Gesto
Anlise Estruturada
Problemas da Anlise
A principal preocupao da Anlise: no atingir o sucesso, mas sim evitar o fracasso A Anlise essencialmente uma tcnica de negocio defensiva. O facto da maioria dos projectos consumirem elevados recursos na manuteno uma indicao que as equipes de desenvolvimento esto falhando na sua tarefa. Problemas de comunicao uma natural dificuldade em descrever procedimentos; A natureza evolutiva dos requisitos os alvos atingir tendem a se alterar com o passar do tempo. A falta de metodologias apropriadas para ajudar na especificao dos sistemas. Problemas de manuteno do Documento de Especificao grandes projectos, envolvem enormes processos de especificao.
3 Joo Bastos
Informtica de Gesto
Anlise Estruturada
O que a Anlise Estruturada? Novos objectivos:
Os produtos da Anlise tm de ser de fcil manuteno, especialmente o Documento de Especificao. Os problemas de tamanho devem ser lidados com uma metodologia efectiva de particionamento. Tem que existir uma separao entre consideraes lgicas e fsicas, dividindo a responsabilidade da especificao entre o utilizador o analista. necessrio construir o modelo do sistema lgica de tal modo que o utilizador pode ganhar familiaridade com as caractersticas do sistema antes da sua implementao.
Joo Bastos
Informtica de Gesto
Anlise Estruturada
O que a Anlise Estruturada? Que ferramentas?
Para ajudar a particionar os requisitos Diagrama de fluxos de Dados Rede de processos interrelacionados. Para lidar com a enorme quantidade de detalhes Dicionrio de Dados Novas ferramentas para descrever procedimento e lgica superiores ao texto narrativo Portugus estruturado Tabelas de Deciso rvores de Deciso
Joo Bastos
Informtica de Gesto
Anlise Estruturada
Fase de Anlise Clssica
Requisitos do Utilizador Oramento e Plano Survey Documento de Executabilidade Anlise
Requisitos Fsicos
Requisitos do Utilizador
Estudo do Hardware
Design Preliminar
Configurao Final
Especificao do Sistema
Design Detalhado
Especificao do Programa
Joo Bastos
Informtica de Gesto
Anlise Estruturada
Fase de Anlise em Anlise Estruturada - 1
Requisitos do Utilizador 1 Survey Documento de Executabilidade 2 Anlise Oramento e Plano Requisitos Fisicos
Requisitos do Utilizador
4 Estudo do Hardware
3 Design Estruturado
Design da Pacckage
Plano de Teste
5 Implementap Descendente
Sistema
Joo Bastos
Informtica de Gesto
Anlise Estruturada
Fase de Anlise em Anlise Estruturada - 2
3.2 Derivar Grfico da Estrutura Diagrama de Fluxo de Dados Especificao Funcional 3.1 Codificao da Especificao Funcional Diagrama de Fluxo de Dados Grfico de Estrutura Transforma Descrio
Grfico de Estrutura
Dicionrio de Dados
3.3 Design dos Mdulos Plano de Teste 3.4 Design da Package Design da Package
Descrio do Mdulo
Dados de Configurao
Joo Bastos
Informtica de Gesto
Anlise Estruturada
Exerccio 1
Definir o Diagrama de Fluxo de Dados para um sistema de controlo de uma mquina de bebidas com pagamento em moedas.
1. Sem a opo de troco 2. Com a opo de troco em moedas
Joo Bastos
Informtica de Gesto
Anlise Estruturada
Caractersticas da Especificao Estruturada
Resultado Final consiste de: Diagramas de Fluxos de Dados mostrando a decomposio das principais funes e todas as interfaces dos vrios mdulos. Dicionrio de Dados documentando cada um dos fluxos de interface e depsitos de dados em qualquer DFD. Descrio de Transformaes, descrio documentada de cada um dos processos dos DFDs num modo rigoroso (Portugus Estruturado, Tabelas de Deciso ou rvores de Deciso)
10 Joo Bastos
Informtica de Gesto
Anlise Estruturada
A Especificao Estruturada dever ter as seguintes qualidades:
Ter uma representao grfica conceptualmente fcil de entender Ser particionada particionada de cima para baixo com progresso suave do mais abstracto para o mais detalhado. Rigorosa um rigorosa especificao do processo. De fcil manuteno a redundncia minimizada e o processo de alterao controlado. Iterativa interaco permanente com o utilizador. Lgica e no fsica no dependente de hardware ou de plataforma de desenvolvimento.
11
Joo Bastos
Informtica de Gesto
Anlise Estruturada
Exemplo de DFD
Transao 1. Edita e encaminha Inscrio 2. Inscrio Ficheiro de Pagamentos Ficheiro de Pessoas Ficheiro de Seminrios
Pagamento
Cancelamento
Consulta
3. Registo de pagamento
I-Data
6. Emisso de Factura
Factura Dados do pagamento Dados do cancelamento 5. Cancelamento 4. Consulta 8. Produz Resposta 7. Emisso de confirmao Confirmao
Dados da Consulta
Ficheiro de Pessoas
Ficheiro de Seminrios
Ficheiro de Pagamentos
12
Joo Bastos
Informtica de Gesto
Anlise Estruturada
Exemplo de Dicionrio de Dados Dados_do_Pagamento = Nome_Cliente + Endereo_cliente + Nmero_factura + Total_pagamento Nmero_factura = Nmero_conta_cliente + ID_vendedor + Contagem_factura_sequencial
13
Joo Bastos
Informtica de Gesto
Anlise Estruturada
Exemplo de Portugus Estruturado
Poltica de Processamento das Facturas Se montante da factura excede 5000$00 Se conta_cliente tem factura com mais de 60 dias em pagamento, suspende confirmao at pagamento de factura. Seno (conta ok) emite confirmao e factura. Seno (factura menor ou igual a 5000$00) Se conta_cliente tem factura com mais de 60 dias em pagamento, emite confirmao, factura e escreve mensagem para cobrana. Seno (conta ok) emite confirmao e factura.
14
Joo Bastos
Informtica de Gesto
Anlise Estruturada
Tabela de Deciso
REGRAS
1 S S
2 N S
3 S N
4 N N
ACES
N S Y Y
1.Emite Confirmao
N S Y Y
2.Emite Factura
N S N N
15
Joo Bastos
Informtica de Gesto
Anlise Estruturada
rvore de deciso
Facturas c/ + 60dias Factura > 5000$ Poltica Vendas Factura <= 5000$ Suspende emisso factura e confirmao
Facturas ok
16
Joo Bastos
Informtica de Gesto
Exemplo
P1
P1
17
Joo Bastos
Informtica de Gesto
Cliente
Creditar facturas
cheque
Ordem_encomenda_ urgente
Controlo Stocks
relatrio_stocks
18
Aquisio
Joo Bastos
Informtica de Gesto
A B
Joo Bastos
nmero_conta
Verificar conta
rejeio
19
relatrio_ problemas
Informtica de Gesto
carto
Editar carto
Um fluxo de dados no um activador de um processo.
registo empregados pagamento rejeitados
folha_tempos dia_semana
20
Verificar conta
Joo Bastos
Informtica de Gesto
palavras
correco gramatical
palavras_correctas
palavras_ incorrectas
21 Joo Bastos
Informtica de Gesto
registo_novo_item
relatrio_chegadas
Registo Itens
22 Joo Bastos
Informtica de Gesto
Informtica de Gesto
(b
4ac 2a
24
Joo Bastos
Informtica de Gesto
25
Joo Bastos
Informtica de Gesto
26
Joo Bastos
Informtica de Gesto
Informtica de Gesto
28
Joo Bastos
Informtica de Gesto
Informtica de Gesto
Extenso da decomposio Qual limite razovel de processos a representar num diagrama? Normalmente so 7.
30 Joo Bastos
Informtica de Gesto
Anlise Estruturada
Exerccio
Pretende-se especificar um sistema de controlo de tempos em Anlise Estruturada. Neste sistema deve ser possvel introduzir:
operaes realizadas; paragens das mquinas; paragens dos operadores; desvios tempo operao; desvios data-fim
31
Joo Bastos
Informtica de Gesto
32
Joo Bastos
Informtica de Gesto
33
Joo Bastos
Informtica de Gesto
Informtica de Gesto
Significa que, quando assim no acontece, falta uma interface, necessrio retroceder e corrigir o diagrama. Outro cenrio ocorre quando sucede o oposto. Fluxos que no tem utilidade dentro do processo, morrem dentre do mesmo. Neste caso necessrio analisar o fluxo e comprovar a sua inutilidade, eliminando-o posteriormente.
35
Joo Bastos
Informtica de Gesto
36
Joo Bastos
Informtica de Gesto
37
Joo Bastos
Informtica de Gesto
38
Joo Bastos
Informtica de Gesto
Dicionrio de Dados
O Dicionrio de Dados (DD) um repositrio de dados sobre dados, contm as definies rigorosas de todos os elementos que compem o DFD. o conjunto do DFD com o DD que compe a especificao do sistema em estudo. O DD contm as definies dos:
Fluxos de dados; Componentes de fluxos de dados; Ficheiros; Processos.
Qualquer que seja o mtodo utilizado na sua implementao, o DD deve satisfazer os seguintes requisitos:
As definies devem ser de acesso imediato pelo nome; No deve ocorrer qualquer tipo de redundncia; Deve ser de actualizao simples; Deve existir uma e uma s maneira de definir cada termo.
39 Joo Bastos
Informtica de Gesto
Dicionrio de Dados
Caractersticas de uma Definio
Uma definio uma descrio que estabelece uma classe que contm o termo a definir e o conjunto de diferenas que o distingue de todos os outros membros da classe . Para alm das classes consideradas, Fluxos de Dados, Ficheiros e Processos existe uma quarta classe a considerar no DD, que so os Elementos de Dados. O Elemento de Dado um caso particular de um fluxo de dado, que no decomponvel. Isto so dados primitivos que no necessitam que qualquer decomposio suplementar. Exemplos de Elementos de dados so os caracteres e os dgitos
40
Joo Bastos
Informtica de Gesto
Dicionrio de Dados
Decomposio Top-Down dos Dados
Na representao dos dados tambm se segue o princpio da agregao e detalhe. Isto significa que os fluxos de dados complexos so compostos de subcomponentes, os quais tambm podem ser decomponveis at se atingir o Elemento de Dado. No que diz respeito aos ficheiros, a situao a mesma. Podemos partir de uma base de dados composta de vrias tabelas, e cada uma delas composta por vrios campos (dados) e estes por elementos de dados. Um processo pode igualmente ser decomponvel em vrios subprocessos. Por exemplo: A=B+C; B=B1+B2+B3; C=C1+C2; donde A=B1+B2+B3+C1+C2
41
Joo Bastos
Informtica de Gesto
Dicionrio de Dados
Operadores Relacionais
Resulta pois que as definies dos elementos do DD so representveis por formulas que declaram o objecto a definir, sendo este constitudo por conjuntos de componentes relacionados. As relaes entre os componentes so expressas pelos seguintes operadores:
OPERADOR Equivalente a E OU Iterao de Opcional Representao pela notao = + [ ] ou | {} ()
Informtica de Gesto
Dicionrio de Dados
Outras Regras
No podem existir especificaes redundantes. Para se evitar redundncias obrigatrio tornar clara a que parte da especificao pertence cada elemento a definir. Ou seja: A informao relativa composio de dados seus componentes e como esto relacionados descrita no DD. A informao relativa ao contedo e processamento dos dados descrita na Descrio dos Processos. A informao relativa circulao dos dados descrita nos DFDs.
43
Joo Bastos
Informtica de Gesto
Dicionrio de Dados
Terminologia
Termos Auto-definveis Muitas vezes os termos tm significado inteiramente compreensvel, sem qualquer ambiguidade. Exemplo: DESCRIO_OPERRIO = LTIMO_NOME_OPERRIO + NMERO_OPERRIO + IDADE A idade talvez pudesse ser representada por uma iterao de dois dgitos: IDADE = 2{DGITO}2. Este seria um procedimento excessivo que no acrescentava valor, pois todos sabem o que a idade. Este tipo de classes de Auto-Definio aceite no DD, mas o nico tipo de Auto-Definio consentida, ou seja para termos cuja compreenso universal. Existem no entanto dois tipos de termos de Auto-Definio que so incorrectos: Definio circular: a definio inclu o termo a definir. Definio circular indirecta: para A encontramos A=B e para B, encontramos B=A.
44 Joo Bastos
Informtica de Gesto
Dicionrio de Dados
Exemplos de Entradas para Definies por Classes
FLUXO DE DADOS: SINNIMOS: COMPOSIO: OBSERVAES: MATERIAL_ATENDIDO COD_MATERIAL + QUANT + OF_DESTINO + DATA REGISTO PELO FIEL DE ARMAZM NO ATENDIMENTO ESTADO_OF PROGRESSO_OF 0 : PLANEADA 1 : FIRME 2 : EM CURSO 3 : TERMINADA
OBSERVAES
45 Joo Bastos
Informtica de Gesto
Dicionrio de Dados
Exemplos de Entradas para Definies por Classes
ORDENS_FABRICO {NUM_OF + DESCRIO + PRAZO + DATA_CRIAO + COD_ARTIGO + QUANTIDADE_PLANEADA + QUANTIDADE_ENTREGUE + ESTADO_OF} ORGANIZAO: INDEXADO POR NUM_OF *chave 1* INDEXADO POR COD_ARTIGO *chave 2* OBSERVAES: FICHEIRO: SINNIMOS: COMPOSIO:
46
Joo Bastos
Informtica de Gesto
Dicionrio de Dados
Exemplos de Entradas para Definies por Classes
PROCESSO: NMERO: DESCRIO: OBTER_SUGESTES_COMPRA 7.3.2.
OBTER_ARTIGO(ARTIGOS) ENQUANTO (NO FIM) (ARTIGOS) FAZER SE (ARTIGO = ARTIGO_COMPRA) ENTO CALCULAR DISPONVEL_TERICO; SE DISPONVEL_TERICO < PONTO_ENCOMENDA ENTO OBTER FORNECEDOR_PRINCIPAL(FORNECEDORES); INSERIR ARTIGO(SUGESTO_COMPRAS) OBTER_ARTIGOS(ARTIGOS); LISTAR(SUGESTO_COMPRAS) POR FORNECEDOR + ARTIGO
OBSERVAES:
47
Joo Bastos
Informtica de Gesto
Especificao do Processo
Cada processo deve incorporar uma mini-especificao que satisfaa as seguintes regras:
Deve existir uma mini-especificao por cada processo primitivo que figure nos conjuntos de DFDs produzidos; Cada mini-especificao deve descrever as regras que governam a transformao dos fluxos de dados no processo nos fluxos de sada; Cada mini-especificao deve descrever a poltica a usar no processo, mas no um mtodo para a sua implementao; As mini-especificaes devem estabelecer a poltica de transformao sem introduzir qualquer redundncia na especificao. Devem usar uma sintaxe clara e estruturada.
Informtica de Gesto
Especificao do Processo
Sintaxe de definio da mini-especificao
Uma sequncia de declaraes composta por uma ou mais sentenas imperativas. Uma sentena imperativa consiste num verbo transitivo simples em conjunto com os objectos directos e indirectos sobre que actua. Uma estrutura de deciso implementada pelo estabelecimento duma condio, seguida das aces correspondentes respectivamente verificao da condio e sua no verificao, podendo esta ser omitida se no tiver lugar aco correspondente. Se <condio> ento <aco> *correspondente verificao da condio* Seno <aco> *correspondente no verificao da condio*
49 Joo Bastos
Informtica de Gesto
Especificao do Processo
Sintaxe de definio da mini-especificao
A estrutura de deciso tambm pode ser implementada por regra de seleco quando vrias aces possveis dependem dos valores duma varivel de deciso. Caso <varivel> <valor 1> : <aco 1>; <valor 2> : <aco 2>; <valor n> : <aco n>. Uma estrutura repetitiva implementada pelo estabelecimento duma condio que controla a repetio duma aco. Enquanto <condio> fazer <aco> Ou Repetir <aco> At <condio>
50
Joo Bastos