Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Mdulo 01 - Introduo
Introduo
Neste curso, voc vai conhecer os conceitos, metodologias e tcnicas para elaborar uma Anlise
estruturada de sistemas.
Inicialmente vamos abordar o conceito da Anlise funcional, uma tcnica utilizada para
especificar um sistema.
Objetivos:
O objetivo deste curso lhe proporcionar conhecimentos, competncias e habilidades no
desenvolvimento da Anlise estruturada de sistemas.
Os exerccios propostos iro facilitar a assimilao dos conceitos, fazendo voc construir, a seu
tempo, o conhecimento necessrio para desenvolver o uso dessa tcnica de anlise.
ANLISE FUNCIONAL
Introduo
Vamos abordar a tcnica da Anlise funcional, conhecendo seus conceitos e suas
funcionalidades.
Objetivos
Conhecer os conceitos bsicos deste tipo de anlise, onde e para que ela pode ser utilizada.
Ela se baseia nos princpios da tcnica de anlise estruturada, introduzida na dcada de 70 por
diversos metodologistas, principalmente, por Trish Sarson, Chris Gane e Tom DeMarco.
Posteriormente, esta tcnica foi aprimorada, com a incluso de novos conceitos pela chamada
anlise essencial, introduzida por Palmer e McMenamin.
Quando se aplica?
A anlise funcional serve principalmente para:
Objetivos
??????????????????????
SISTEMA
A anlise funcional uma tcnica de especificao de sistemas.
O Sistema um conceito til, que ajuda a analisar diversos fenmenos segundo um ngulo novo.
A origem deste conceito a biologia, mas ele se aplica de forma semelhante nas cincias sociais,
na administrao de empresas, na engenharia etc.
Esta definio indica que um sistema:
Tem um objetivo.
formado por componentes ou subsistemas.
Mostra um forte relacionamento entre os componentes.
Recebe destes componentes uma contribuio direta ou indireta para atingir seu objetivo.
Exemplo de sistema
Um bom exemplo de sistema o corpo humano. Ele um conjunto de partes que se inter-
relacionam para um objetivo comum: preservar a vida de uma pessoa.
O conceito de sistema nos faz ver as coisas de forma diferente. Por exemplo, a decomposio
de um corpo humano em cabea, tronco e membros inadequada porque no fica claro como
as partes se relacionam e como contribuem para o objetivo comum.
Subsistema
Um exemplo de decomposio como o sistema corpo humano pode ser dividido em
subsistemas: digestivo, circulatrio, nervoso, reprodutor etc.
Dividindo o corpo humano desta forma, fica mais claro entender como cada componente
(subsistema) contribui para o objetivo comum do sistema.
A recepo da matria-prima
O estoque
A produo
O controle de qualidade
A expedio
O sistema de segurana
A administrao
Sistema de Informaes
O sistema de informaes de uma organizao um dos componentes do sistema global. Existe
um paralelo entre os componentes de um sistema de informaes e o sistema de produo de
uma organizao.
A entrada dos dados (matria-prima) para o sistema, que devem ser recebidos e codificados
para uma forma que o sistema possa entender e processar.
Decomposio sucessiva
Para entender o funcionamento de um sistema, usamos uma estratgia denominada
"decomposio sucessiva". Um sistema composto de partes e cada parte tambm um
sistema. Cada subsistema, por sua vez, pode ser dividido em partes e assim por diante.
Elementos Bsicos
A anlise funcional utiliza um conjunto de quatro elementos bsicos para descrever um sistema.
Estes elementos so adequados para representar uma viso lgica do sistema, que no se
preocupa com detalhes de implementao.
Uma funo representa o componente do sistema que determina o que feito com o dado,
e no como o dado processado.
O depsito de dados um local para armazenagem de dados e pode ser: um HD, um CD,
uma tabela do Access, etc.
As entidades externas representam a origem e o destino dos dados processados pelo
sistema.
Da mesma forma, o fluxo de dados (representado no diagrama pelas setas) representa os
dados em movimento, no importando atravs de qual meio.
Antes de qualquer coisa, importante obter um consenso junto aos usurios sobre o que est
dentro e o que est fora do escopo daquilo que ser realizado. O instrumento que registra o
resultado deste primeiro passo o modelo de contexto.
Modelar as funes
Este passo constitui o elemento central do processo de especificao, pois nele so:
Dicionrio de dados
Para completar a especificao do sistema, cada um dos elementos identificados que constam
dos modelos produzidos nos passos anteriores, so individualmente descritos, criando-se um
conjunto de descries conhecido como dicionrio de dados.
Objetivos
??????????
O que ?
o instrumento da anlise funcional que serve para:
Como desenvolvido?
O modelo de contexto deve ser desenvolvido em conjunto com os usurios. Se no for possvel,
ele pode ser desenvolvido pelos analistas e submetido aprovao dos usurios.
Objetivos
Simular um Sistema de Cobrana, de modo a entender como o mesmo funciona, buscando
conhecer alguns exemplos de diagrama de contexto e tambm alguns limites do Sistema.
Exemplo de aplicao Sistema de Cobrana
Considere um sistema de cobrana de uma organizao. Suponha que este sistema seja bastante
simples.
O cliente e o Departamento
Jurdico so as entidades
externas, origem e destino
das informaes que o
sistema recebe ou emite.
Pagamento um fluxo de
dados recebido pelo
sistema. Ns chamamos
este tipo de fluxo de dados
de "fluxo de entrada" ou de
"estmulo".
Recibo, extrato e relao de inadimplentes so fluxos de dados emitidos pelo sistema. So
"fluxos de sada" ou "respostas" do sistema.
Ambiente Externo
O cliente e o Departamento Jurdico no fazem parte do sistema, mas interagem com ele,
fornecendo ou recebendo dados. Constituem o que se denomina o "ambiente externo" do
sistema.
Se quisermos, podemos considerar que o Departamento Jurdico parte integrante do sistema
de cobrana. Sendo assim, ele deixa de fazer parte do ambiente externo e no aparece mais no
diagrama de contexto como entidade externa.
Limites do Sistema
Como podemos ver, a incluso ou no de uma entidade externa e os fluxos de dados
correspondentes podem aumentar ou diminuir a abrangncia de um sistema.
Neste exemplo, o que est em discusso se o Departamento Jurdico e as funes por ele
executadas fazem parte ou no do sistema. Analista e cliente devem chegar a um consenso a
respeito disto e o diagrama de contexto refletir o resultado da discusso.
Objetivos
Desenhar um diagrama de contexto para um sistema.
Entidade Externa
Uma entidade externa um elemento do ambiente externo ao sistema que:
Fluxos de dados
Fluxos de dados so dados em movimento. Podem ser:
Objetivos
Preparar uma lista de eventos.
Eventos
Eventos so fatos que ocorrem fora do sistema e tm o poder de fazer com que ele reaja e
produza respostas.
Imagine o sistema como um ser que fique o tempo todo dormindo e s acordado quando
alguma coisa acontece.
Eventos externos
Eventos temporais
Eventos Externos
Eventos externos so fatos que ocorrem fora do sistema e que fazem o sistema reagir.
Por exemplo:
Cliente paga conta
Um evento externo:
Eventos Temporais
Eventos temporais no esto relacionados a fatos externos. Esto relacionados passagem do
tempo.
Exemplo:
Nomeando Eventos
Os eventos externos so nomeados com uma frase que indica a ao que est sendo executada
fora do sistema.
Por exemplo:
hora de ...
Lista de Eventos
A lista de eventos a relao de eventos externos e temporais:
MDULO 7 LIMITES DO SISTEMA
Introduo
Vamos aprender a completar a lista de eventos, preenchendo as colunas referentes aos
estmulos e s respostas. Com a lista de eventos completa, voc ter definido de forma clara e
objetiva os limites do sistema.
Objetivos
Conhecer os conceitos de estmulo e resposta e como eles se relacionam com os eventos e
elaborar uma lista de eventos, a partir do diagrama de contexto.
Estmulos
Estmulos so os fluxos de dados que
entram no sistema. Estes fluxos de dados
informam ao sistema que um evento
externo ocorreu.
Este fluxo de dados contm todos os dados relativos ao pagamento efetuado e habilita o sistema
a dar a resposta adequada ao evento ocorrido. No caso, a resposta do sistema ao estmulo
recebido a emisso do recibo correspondente.
Lista de Eventos
A lista de eventos uma tabela de trs
colunas, conforme ilustrado ao lado:
Emisso de Recibos
Emisso de Extratos Peridicos
Emisso de Lista de Inadimplentes
Para descobrir os estmulos (fluxos de dados de entrada) fazemos as perguntas: Que fato ou
acontecimento externo gera este estmulo? e O que a entidade externa faz que gera este
estmulo?.
Identifique os eventos temporais que geram as demais respostas que ainda no foram inseridas
na tabela.
As respostas a estas perguntas podem indicar eventos que provocam resposta do sistema e que
tambm devem constar da lista de eventos.
Objetivos
Aprender a avaliar se a lista de eventos est completa e, se necessrio, complement-la, bem
como o diagrama de contexto.
No ocorrncia de eventos
Considere a lista de eventos do sistema de cobrana:
Eventos anteriores
Outra pergunta:
Eventos posteriores
Mais uma pergunta:
Neste exemplo, descobrimos trs novas respostas, que precisam constar do diagrama de
contexto.
MDULO 9 FUNES ESSENCIAIS DO SISTEMA
Introduo
O modelo funcional define as funes que o sistema vai executar. Aqui, ainda usamos a viso
lgica, isto , damos nfase ao que o sistema vai fazer, independentemente de como. Por isso,
chamamos as funes identificadas de funes essenciais do sistema. O modelo funcional ser
composto pela lista de funes essenciais e por uma srie de diagramas, cada um mostrando
como a informao flui entre as funes do sistema e as entidades externas.
Objetivos
Conhecer o modelo funcional e seus componentes.
Componentes do Modelo
Funcional
O modelo funcional possui dois
componentes:
Uma funo essencial um componente do sistema de informao que fornece uma resposta
completa a um evento. Haver uma funo essencial para cada evento da lista de eventos.
Objetivos
Aprender a identificar corretamente as funes essenciais de um sistema e a elaborar a lista de
funes essenciais.
Funes Essenciais
Uma funo essencial um componente do sistema de informao que fornece resposta
completa a um estmulo recebido de um evento ocorrido no seu ambiente externo.
Isto significa que, quando um evento acontecer e o sistema "acordar", uma srie de aes ser
executada, at que nada mais seja possvel ou necessrio fazer e, ento, o sistema voltar a
"dormir".
Tecnologia perfeita
As funes essenciais no levam em conta as caractersticas e imposies do ambiente
tecnolgico em que sero executadas.
Em vez disto, devemos imaginar um ambiente de tecnologia perfeita, de modo a nos abstrair
das restries que nos so impostas por ela e que acabam influenciando a soluo.
Para cada item constante da lista de eventos devemos fazer a seguinte pergunta: Quando
este evento acontece, o que o sistema deve fazer?.
A resposta a esta pergunta o nome da funo essencial correspondente.
O nome de uma funo essencial sempre comea com um verbo no infinitivo.
Exemplos:
Registrar pagamentos
Emitir extrato
A lista de funes essenciais pode ser ento preenchida:
Objetivos
Identificar os depsitos de dados de um sistema.
Depsito de Dados
Depsitos de dados so locais nos quais os dados so armazenados. Estes dados so atualizados
e recuperados pelas funes do sistema.
Eles representam conjuntos de informaes relacionadas que precisam ser armazenadas pelo
sistema durante o intervalo entre a ocorrncia dos eventos.
1. Pergunte:
Quando esta funo executada, que dados so armazenados? Quando a funo Processar
pagamento executada, que dados so armazenados?
3. Para cada funo essencial, pergunte:
Que dados obtidos e armazenados por outras funes so necessrios para esta funo
executar?
Para isto, vamos tomar como base as listas de funes essenciais e de depsitos de dados que
elaboramos nos mdulos anteriores.
Objetivos
Elaborar o diagrama de fluxo de dados das funes essenciais.
Objetivos
Elaborar modelos funcionais de sistemas que apresentam mais de nove funes essenciais e
aprender a usar funes macro para agrupar funes essenciais.
Funes Macro
Uma funo macro uma funo que representa um agrupamento de funes essenciais.
????????
Exemplos
Exemplo 1
Controlar contratos
Exemplo 2
Processar pagamento
Emitir cartas de cobrana
Desligar linha por no pagamento
Numerando as funes
As funes macro e as respectivas funes 2.3. Desligar linha por no pagamento
essenciais podem ser identificadas com um Outras funes macro podem ser:
nmero, conforme o exemplo abaixo:
3. Controlar corretores
1. Controlar contratos 3.1. Admitir corretor
1.1. Registrar assinatura de contrato 3.2. Pagar comisso aos corretores
1.2. Cancelar contrato 4. Controlar linhas
1.3. Terminar contrato 4.1. Cadastrar linha
2. Cobrar mensalidades 4.2. Processar solicitao de linha
2.1. Processar pagamento 4.3. Retirar linha
2.2. Emitir cartas de cobrana 4.4. Atualizar tabela de preos
Depsitos de Dados
Da mesma forma, a relao entre as funes macro e os depsitos de dados um resumo das
relaes das funes essenciais que as compem com esses depsitos.
Diagrama de fluxos de dados das funes macro
Quando o nmero de funes essenciais maior do que dez, em vez de fazer um DFD com todas
as funes essenciais, podemos fazer um DFD com as funes macro.
O diagrama de contexto
O diagrama de funes macro
O diagrama de funes essenciais de cada funo macro
Cada nvel mostra uma decomposio do nvel anterior. O DFD de decomposio representa um
quarto nvel de decomposio.
Objetivos
Conhecer o DFD de decomposio, elaborar o diagrama de decomposio das funes essenciais
e realimentar os diagramas de nveis superiores.
1) Diagrama de contexto
Funo 1:
Funo 2:
Funo 3: Funo 4:
Recebe e verifica a validade dos dados da solicitao de linha recebida do locatrio. Se os dados
recebidos estiverem invlidos, uma mensagem de Solicitao invlida ser enviada ao locatrio.
Se a solicitao de linha for vlida, o depsito de dados das linhas consultado para ver se a linha
existe e est disponvel. Se no, uma mensagem de Linha no disponvel deve ser enviada ao locatrio.
A linha deve ser marcada como reservada. Um aviso deve ser emitido e enviado ao proprietrio, para
que ele saiba que um contrato est sendo negociado.
Decompondo a funo
Vamos repetir passo a passo:
Solicitao invlida;
Linha no disponvel;
Aviso de contrato em
negociao.
Caractersticas diferentes
Os fluxos de dados novos que aparecem durante a decomposio tm caractersticas diferentes:
Solicitao invlida
Linha no disponvel
Outros so fluxos novos, esquecidos ou no descobertos durante a anlise inicial, como por exemplo:
Assim, o fluxo Aviso de contrato em negociao, que no representa um erro ou uma exceo, deve
ser includo nos nveis superiores no diagrama da funo macro.
MDULO 15 DIAGRAMAS
Introduo
Neste mdulo vamos conhecer uma srie de perguntas que devemos fazer em relao aos nossos
modelos. Estas perguntas constituem uma lista de verificaes. Se os modelos passarem por estas
questes, podemos dizer que eles tm a qualidade mnima necessria.
Objetivos
Discutir alguns critrios de qualidade para os modelos de contexto e funcional. Mostrar como podemos
verificar a qualidade destes modelos.
Diagrama de contexto
Para verificar a qualidade de um diagrama de contexto, faa as seguintes perguntas:
1) As entidades externas representam realmente a origem e o destino dos dados recebidos e gerados
pelo sistema?
Se alguma entidade externa for uma mera repassadora dos dados, substitua-a pela verdadeira
origem ou destino destes dados.
2) Existem fluxos de dados entre entidades externas?
Caso existam, elimine-os.
Fluxo de dados
1) Os nomes dos fluxos de dados representam claramente o seu contedo?
Se for o caso, d novos nomes a eles.
Lista de eventos
Para verificar a qualidade da lista de eventos, pergunte:
6) Todos os estmulos e todas as respostas aparecem no diagrama de contexto como fluxos de dados?
Compatibilize a lista de eventos com o diagrama de contexto.
Portanto, as perguntas relativas lista de eventos tambm se aplicam lista das funes essenciais.
Depsitos de dados
Para verificar a lista de depsitos de dados, pergunte:
1) Cada depsito de dados representa um conjunto de informaes que devem ser armazenadas
entre a execuo de funes essenciais?
Procure nomes que representam conjuntos de informaes afins.
2) Os nomes dos depsitos so substantivos que indicam a natureza dos dados armazenados?
Somente os nomes das funes iniciam por verbos.
4) Os depsitos de dados esto vinculados s funes que fazem uso dos dados neles contidos?
Verifique e complete.
5) Cada depsito de dados tem pelo menos uma funo que armazena dados nele?
Deve existir pelo menos uma funo que armazena dados em cada depsito.
6) Cada depsito de dados tem pelo menos uma funo que usa os dados nele armazenados?
Para que serve um depsito de dados se nenhuma funo faz uso dos dados nele contidos?
Agrupamento de funes
A lista de funes a seguir pode ser usada para verificar o agrupamento das funes essenciais em
funes macro.
2) As funes agrupadas em uma mesma funo macro lidam com os mesmos conjuntos de dados?
Se for o caso, reveja o agrupamento.
3) Os nomes das funes macro obedecem ao padro de iniciar por um verbo no infinitivo?
Reveja o nome da funo.
Diagrama de decomposio
Finalmente, para verificar os diagramas de decomposio, pergunte:
1) Foram includas funes que validam e verificam os dados de entrada, eventualmente gerando
respostas que indicam a ocorrncia de um erro?
Os diagramas de decomposio devem incluir funes de verificao e validao dos dados.
4) Todos os depsitos de dados acessados pela funo essencial que est sendo decomposta
constam do diagrama de decomposio correspondente?
Se necessrio, inclua os depsitos e as funes necessrias para atualiz-los ou obter dados
deles.