Você está na página 1de 50

Anlise estruturada (1)

uma bordagem sistemtica para fazer a anlise de um sistema de modo a produzir a uma especificao funcional.

A especificao funcional define as funes e estruturas de dados que constituem o sistema.


Usa uma abordagem descendente. Usa tcnicas: grficas simples modulares complementares
Anlise de sistemas 73

Anlise estruturada (2)


fundamental que o analista: use mtodos, tcnicas e ferramentas que lhe garantam o rigor dos resultados; seja capaz de comunicar com os clientes, ou com os utilizadores, e com os membros da equipa de modo a garantir a clareza de ideias e o rigor da especificao.

Anlise de sistemas

74

Anlise estruturada clssica (1)


As grandes etapas da fase de anlise: Anlise do sistema fsico existente. Lista de problemas e requisitos. Passagem do sistema fsico existente para o sistema lgico actual. Proposta de solues para o sistema em estudo. Escolha de uma soluo por parte do cliente ou utilizador. Completao da soluo escolhida e passagem do sistema lgico escolhido para um sistema fsico. O sistema lgico diz o que e define-se para ambientes ideais. O sistema lgico diz o que e define-se para ambientes ideais. O sistema fsico diz como e define-se para ambientes reais. O sistema fsico diz como e define-se para ambientes reais.
Anlise de sistemas 75

Anlise estruturada clssica (2)


modelo fsico actual

modelo lgico actual

modelo lgico proposto

modelo fsico proposto Baseia-se: Baseia-se: no desconhecimento do sistema existente; no desconhecimento do sistema existente; na dificuldade de abstraco do utilizador; na dificuldade de abstraco do utilizador; na estabilidade dos requisitos. na estabilidade dos requisitos. Anlise de sistemas 76

modelo fsico actual

Anlise essencial

modelo lgico actual

modelo essencial modelo lgico proposto modelo implementao modelo fsico proposto Baseia-se nas premissas: Baseia-se nas premissas: boa tecnologia para a construo do modelo essencial; boa tecnologia para a construo do modelo essencial; um sistema deve existir para dar resposta aos eventos que um sistema deve existir para dar resposta aos eventos que acontecem no ambiente externo. acontecem no ambiente externo. Anlise de sistemas 77

Modelos da anlise essencial


Modelo essencial do sistema Modelo essencial do sistema Indica o que o sistema deve fazer e que dados Indica o que o sistema deve fazer e que dados necessita para satisfazer os requisitos do utilizador, necessita para satisfazer os requisitos do utilizador, mencionando o mnimo possvel (de preferncia mencionando o mnimo possvel (de preferncia nada) sobre como o sistema ser implementado. nada) sobre como o sistema ser implementado. Define o sistema num ambiente ideal. Define o sistema num ambiente ideal. Modelo de implementao Modelo de implementao Apresenta a soluo de implementao do sistema Apresenta a soluo de implementao do sistema ideal, definindo os limites de automatizao, as ideal, definindo os limites de automatizao, as interfaces do utilizador com o sistema e algumas interfaces do utilizador com o sistema e algumas caractersticas operacionais relevantes. Define o caractersticas operacionais relevantes. Define o sistema num ambiente real. sistema num ambiente real.
Anlise de sistemas 78

Vantagens do modelo essencial


Ganhar tempo devido construo de menos modelos. Dar uma viso dinmica integrada de todo o sistema. Facilitar a identificao das funes que compem o sistema. Facilitar a construo de uma soluo ideal (modelo essencial). Derivar uma soluo a partir de uma soluo ideal (modelo de implementao).
Anlise de sistemas 79

Componentes do modelo essencial


Modelo ambiental Modelo ambiental Define a interface do sistema com o resto do mundo, Define a interface do sistema com o resto do mundo, os eventos aos quais o sistema deve responder e o os eventos aos quais o sistema deve responder e o objectivo do sistema. objectivo do sistema. Modelo comportamental Modelo comportamental Descreve o comportamento interno do sistema. Descreve o comportamento interno do sistema. Esta descrio inclui as caractersticas funcionais, Esta descrio inclui as caractersticas funcionais, dos dados e temporais do sistema. dos dados e temporais do sistema.
modelo ambiental modelo essencial modelo comportamental

modelo implementao Anlise de sistemas 80

Modelos do sistema
Os modelos do sistema: do nfase s caractersticas relevantes do sistema, deixando de lado as caractersticas menos importantes; permitem discutir, com baixo custo e mnimo risco, modificaes e correces nos requisitos do utilizador; ajudam a compreender o sistema (sem ambiguidades). Alguns sistemas exigem mltiplos modelos. Alguns sistemas exigem mltiplos modelos. Estes devem ser coerentes entre si. Estes devem ser coerentes entre si.
Um sistema pode ter caractersticas funcionais, estticas e temporais complexas. Cada modelo foca um Anlise de sistemas aspecto do sistema.

81

Modelo ambiental
O modelo ambiental descreve o ambiente no qual o sistema se insere. As entidades externas que comunicam com o sistema. Os eventos que determinam estas comunicaes. A informao trocada durante a comunicao. Componentes do modelo ambiental: Descrio dos objectivos Descrio dos objectivos Lista de eventos Lista de eventos Diagrama de contexto Diagrama de contexto
82

Anlise de sistemas

Descrio dos objectivos


Descrio concisa dos objectivos do sistema, dirigida aos utilizadores e a pessoas no envolvidas directamente no desenvolvimento do sistema.

Objectivos O objectivo do sistema de gesto de stocks garantir que a quantidade dos produtos em armazm est sempre entre os valores mnimo e mximo.

Anlise de sistemas

83

Lista de eventos (1)


A lista de eventos mostra todos os estmulos que ocorrem e aos quais o sistema deve responder. Tipos de eventos: internos: correspondem a momentos peridicos ou verificao de condies internas que levam o sistema a realizar uma aco especfica; externos: correspondem a estmulos provocados por entidades externas que levam o sistema a realizar uma aco especfica controlo: geralmente so sinais externos usados para controlar sistemas de tempo real. Os eventos so assncronos.
Anlise de sistemas 84

Lista de eventos (2)


Os eventos classificam-se em: eventos por fluxo, quando transportam dados; eventos temporais, quando acontecem periodicamente; como se o sistema tivesse um relgio interno. eventos de controlo, quando h sinais de controlo (interrupes, por exemplo). A lista de eventos pode ser construda antes ou depois do diagrama de contexto. melhor que seja construda antes.
Anlise de sistemas 85

Diagrama de contexto
As componentes dum diagrama de contexto so: 1. um processo que representa todo o sistema; 2. entidades externas ao sistema; 3. depsitos de dados partilhados entre o sistema e as entidades externas; 4. fluxos de dados, que representam a interface entre o sistema e as entidades externas. As entidades externas comunicam com o sistema atravs do As entidades externas comunicam com o sistema atravs do envio ou recepo de fluxos de dados ou atravs de envio ou recepo de fluxos de dados ou atravs de consulta ou actualizao de depsitos de dados partilhados. consulta ou actualizao de depsitos de dados partilhados.
Anlise de sistemas 86

Conceitos do diagrama de contexto


Processo Fluxo de dados
nome sistema

nome

Depsito de dados

nome

Entidade externa

nome

Anlise de sistemas

87

Coerncia entre lista de eventos e o diagrama de contexto


1. Eventos por fluxo originam pelo menos um fluxo de entrada no sistema; podem ou no originar fluxos de sada. 2. Eventos temporais no originam fluxos de entrada; podem ou no originar fluxos de sada. 3. Eventos de controlo no originam fluxos (de dados) de entrada (s fluxos de controlo); podem ou no originar fluxos de sada.

Podem no estar explcitos no diagrama de contexto.

Qualquer um destes tipos de eventos pode produzir actualizaes em depsitos de dados. 88

Anlise de sistemas

Diagrama de contexto: exemplo


pagamento

Seco de contabilidade

recibo

pedido de entrada

Cliente

recibo

No se representa
a comunicao entre entidades externas.

Sistema de gesto de um parque estacionamento

comprovativo estacionamento tempo estacionamento

cliente

Sistema gesto de clientes Anlise de sistemas

novo cliente

Clientes 89

O sistema de gesto de transportes para mudanas tem as seguintes funes: Tratar os pedidos de servio (mudanas) feitos pelos clientes. Controlar as sadas e entradas dos camies. Gerir o trabalho e os dados dos motoristas. Controlar o pagamento do servio. Tratar o pagamento dos motoristas.
Nota: j existe um sistema automatizado para o controlo da reparao dos camies que: contm um depsito de dados com a informao sobre o camio e a data estimada do fim da reparao;

Exerccio: construo do modelo ambiental (1)

avisa o sistema de gesto de transportes para mudanas quando um camio necessita de reparao e sempre que uma reparao termina. 90 Anlise de sistemas

Exemplo: construo do modelo ambiental (2)


Lista de eventos: 1. Lista diria de servio (temporal) 2. D. C. regista novo veculo (fluxo) 3. Seguradora informa aplice (fluxo) 4. Cliente pede servio (fluxo) 5. Condutor informa fim de servio (fluxo) 6. Condutor d descrio de acidente (fluxo)
Crticas e comentrios... Anlise de sistemas 91

Exemplo: construo do modelo ambiental (3) plano dirio trabalho


Motorista entrada camio pagamento fim servio mapa acidentes novo condutor condutores data estimada Reparaes Sistema reparao de controlo de manuteno Anlise de sistemas pedido seguro Verifique se este diagrama de contexto est coerente com lista de eventos anterior. Sistema gesto transportes mudanas novo veculo aplice Seguradora Departamento de compras pedido servio/ resposta factura Cliente pedido satisfeito

Departamento de pessoal

92

Exerccio 1 (1)
Uma empresa de transportes, cujo servio transportar mercadorias no pas, pretende automatizar a sua rea de gesto de veculos. O director da empresa descreve o sistema da forma que se segue. Sempre que se compra um veculo regista-se no sistema (as suas caractersticas so dadas ao sistema pelo departamento de compras). O veculo s entra em servio quando chega uma notificao de seguro da companhia seguradora. Esta notificao contm o nmero de aplice, tipo de seguro com a sua sua descrio, a identificao da seguradora (cdigo, nome, morada e telefone), e ainda os dados referentes ao veculo. Toda esta informao deve ser inderida no sistema. Para fazer os trajectos a empresa tem um conjunto de condutores que podem conduzir qualquer veculo da empresa. Os dados dos condutores (nome, morada e telefone) esto guardados num depsito de dados partilhado com o departamento de pessoal. Sempre que um cliente pede um servio, preenche uma notificao de servio onde indica os seus dados pessoais e o trajecto que deseja (origem e destino). Mais tarde o sistema dever ser capaz de distribuir os servios pelos condutores e veculos.

Anlise de sistemas

93

Exerccio 1 (2)
Sempre que um condutor termina uma entrega, faz uma notificao de fim de servio e informa se ocorreu algum acidente. Em caso de acidente, o condutor faz uma descrio do ocorrido. S depois do regresso do condutor e caso no haja acidente que o veculo fica disponvel para outro servio. Para um melhor atendimento ao cliente, sempre que no se pode realizar um servio, por falta de veculo ou por falta de condutor, coloca-se o pedido em lista de espera. Logo que seja possvel dar resposta a este servio, envia-se um aviso ao cliente. No final do ano, o sistema deve emitir um resumo dos acidentes por veculo onde, para alm dos dados do veculo e do seguro, deve constar cada um dos trajectos feitos pelo veculo com o respectivo condutor e os acidentes registados nesse trajecto.

Anlise de sistemas

94

Modelo comportamental
O modelo comportamental descreve as aces que o sistema deve levar a cabo para responder adequadamente aos eventos previstos no modelo ambiental. Composio do modelo comportamental: Diagrama de Fluxos de Dados (DFD) Diagrama de Fluxos de Dados (DFD) Dicionrio de Dados (DD) Dicionrio de Dados (DD) Diagrama de Entidades e Associaes (DEA) Diagrama de Entidades e Associaes (DEA) Especificao de Processos (EP) Especificao de Processos (EP)
95

Diagrama de Transio de Estados (DTE) Diagrama de Transio de Estados (DTE)


Anlise de sistemas

Ferramentas de modelao
As ferramentas de modelao devem: ser grficas, com adequado texto de apoio; permitir uma visualizao hierrquica do sistema (abordagem descendente); garantir redundncia mnima; ser fceis de compreender e usar.

Anlise de sistemas

96

Diagrama de fluxo de dados (DFD)


Um DFD um modelo que permite representar o sistema como uma rede de processos, dando nfase s funes que precisam ser implementadas e s estruturas de dados manipuladas por estas funes. Um DFD identifica: Processos (funcionais); Dados necessrios para os processos; Circulao da informao; Entidades externas com que o sistema interage. O DFD d uma perspectiva dinmica do sistema.
Anlise de sistemas 97

DFD
O DFD construdo com base em processos, depsitos de dados, fluxos de dados e entidades externas.
entidade externa ou terminador processo

depsito de dados fluxos de dados Anlise de sistemas 98

DFD: processos
Processo (funo, transformao): centro de transformao de dados de entrada em novos dados de sada. Cada processo tem um nome que : verbo + substantivo Exemplos:
n Registar aluguer Yourdon/DeMarco Anlise de sistemas 3.1 Registar aluno Chris Gane &T.Sarson Eliminar facturas SADT Ross/Schoman 99

DFD: fluxos de dados (1)


Fluxo de dados: contentor de informao em movimento. Cada fluxo de dados tem um nome que descreve o significado e o contedo da informao que por l passa: substantivo ou substantivo adjectivado Exemplo:
dados scio Criar scio novo scio carto scio

Os fluxos podem representar dados ou materiais. Usamos smbolos diferentes para ambos os casos.
cdigo scio Anlise de sistemas filme 100

DFD: fluxos de dados (2)


A seta dos fluxos de dados indica o sentido para onde os dados ou materiais se destinam. fluxo de dados de entrada
data-hora entrada Calcular pagamento

fluxo de dados de sada


Calcular pagamento montante

fluxo de dados de entrada/sada (ou de dilogo)


Anlise de sistemas

Inscrever scio

inscrio resposta inscrio 101

DFD: fluxos de dados (3)


Para um melhor controlo semntico

Fluxos de dados sinnimos


So aqueles nos quais o contedo o mesmo mas os seus nomes so diferentes. scio vlido cdigo de scio Verificar scio

scio invlido 102

Anlise de sistemas

DFD: depsitos de dados (1)


Depsitos de dados: local permanente ou temporrio onde se armazena informao. Cada depsito de dados tem um nome que representa a informao guardada. substantivo no plural Exemplos:
Scios Fornecedores D4 Pedidos

Scios Anlise de sistemas

*
Indica que este depsito de dados aparece repetido 103

DFD: depsitos de dados (2)


Os fluxos de dados que entram ou saem dos depsitos de dados s podem conter dados que estes mantm: Fluxos de entrada representam actualizaes no depsito de dados: criao, modificao e eliminao de uma ou mais ocorrncias dos elementos guardados.
nova data emisso Filmes novo filme

Fluxos de sada representam consultas ao depsito de dados: leitura de uma ou mais ocorrncias dos elementos guardados.
n de scio Scios Anlise de sistemas scio 104

DFD: entidades externas


Entidades externas: entidades fora do mbito do problema em estudo, mas que de algum modo comunicam com o sistema. Cada entidade externa tem um nome que representa uma pessoa, grupo de pessoas, organizao ou um sistema automatizado.

Indica que a entidade externa aparece repetida

Fornecedor

Direco

Nota: a comunicao entre entidades externas no faz parte do sistema e portanto no se representa.
Anlise de sistemas 105

Clientes pedidos invlidos pedidos

DFD: exemplo
detalhes de pedidos Pedidos detalhes remessas Depsito

1. Receber pedidos

nome cliente, endereo cliente

livros 2. Remeter livros livros

informaes de cobranas Facturas nome do cliente, detalhes de facturas Anlise de sistemas

Clientes nome cliente, endereo cliente 3. Tratar pagamentos facturas, declaraes pagamentos, consultas

Clientes 106

Construir diagramas de fluxo de dados (1)


Passos para construir o DFD preliminar: 1. Desenhar um processo para cada evento da lista de eventos. 2. Nomear o processo de acordo com a resposta que o sistema deve dar ao evento. 3. Completar com fluxos de dados de entrada e sada, de modo a que o processo seja capaz de emitir a reposta adequada. Usar os depsitos de dados necessrios para guardar a informao que ser depois usada por outros processos. 4. Verificar a coerncia entre este DFD e o diagrama de contexto j construdo. 5. Garantir completao.
Anlise de sistemas Nota: os depsitos de dados devem conter a informao relativa a um s tipo de objectos. 107

Construir diagramas de fluxo de dados (2)


Observaes:
Um evento pode Um evento pode causar vrias causar vrias respostas. respostas. Criar um processo por Criar um processo por cada resposta, se estas cada resposta, se estas forem independentes. forem independentes.

Exemplo:
pedido de cliente Produzir factura factura

Emitir confirmao pedido Anlise de sistemas

pedido confirmado

108

Construir diagramas de fluxo de dados (3)


Observaes:
Vrios eventos Vrios eventos podem causar a podem causar a mesma resposta. mesma resposta. Criar um s processo. Criar um s processo.

Exemplo:
pedido / carto de crdito Produzir guia de remessa guia de remessa

pedido/ dinheiro Anlise de sistemas

109

Construir diagramas de fluxo de dados (4)


1. Construir DFD preliminar. 2. Agrupar, usando a abordagem ascendente, os processos do DFD preliminar, formando nveis de maior abstraco. Critrios: cada agrupamento de processos deve envolver respostas (processos) relacionadas. Isto significa que tais processos se relacionam por funo ou pelos mesmos dados; ocultar depsitos de dados, sempre que seja razovel; cada agrupamento de processos deve seguir a regra de Miller, ou seja, ser composto por 7 2 processos.
Anlise de sistemas 110

Construir diagramas de fluxo de dados (5)


local aos processos 1,2 e 3

A B 1.1 D1 Y 1.3 D2 1.2

D E

A C B

D 1 Y D2 E

Anlise de sistemas

111

Nivelao dos DFDs (1)


Um DFD pode ser construdo em vrios nveis de abstraco, de modo a facilitar a compreensibilidade.
Para entender o modelo do sistema, Para entender o modelo do sistema, representado com o DFD, representado com o DFD, importante que no hajam muitos importante que no hajam muitos processos. processos. Um sistema pode ter, e Um sistema pode ter, e em geral tem, muitos em geral tem, muitos processos. processos.

Agrupamos os processos usando a Regra de Miller: Em cada nvel do DFD no devem existir mais de Em cada nvel do DFD no devem existir mais de 7 2 processos. 7 2 processos.
Anlise de sistemas 112

Nivelao dos DFDs (2)


Para gerir a complexidade do sistema organizamos os DFDs em nveis. O DFD de nvel de abstraco mais alto denominado diagrama de contexto: Um diagrama de contexto representa a fronteira entre o Um diagrama de contexto representa a fronteira entre o sistema e as suas entidades externas. sistema e as suas entidades externas.
g a E1 b d D1 Anlise de sistemas e c E3 Sistema h f E2

113

Nivelao dos DFDs (3)


O DFD de nvel imediatamente inferior ao diagrama de contexto o DFD de nvel zero.
a b 1 t D2 x d 3 h y w v D3 z 4 e 114 g 2 f

Anlise de sistemas

Nivelao dos DFDs (4)


Se um processo necessita de maior detalhe, porque um agrupamento de processos ou porque uma resposta a um evento complexo, fazemos um DFD que o represente.
d w 3.2 D3 * D2 D3 * y 3.3 h Anlise de sistemas Este um DFD de nvel um. 115

3.1

Construir DFDs
1. Construir o DFD preliminar. 2. Agrupar os processos do DFD preliminar. 3. Detalhar, usando a abordagem top-down, os processos do DFD preliminar mais complexos. Deste modo criam-se os nveis de menor abstrao. 4. Verificar a coerncia com o diagrama de contexto (componente do modelo ambiental).

Anlise de sistemas

116

Regras para construir DFDs (1)


Escolher nomes significativos para os processos, fluxos de dados, depsitos de dados e entidades externas. Numerar os processos. Refazer o DFD tantas vezes quantas necessrias at nos sentirmos satisfeitos com o resultado. Evitar DFDs demasiado complexos. A excepo o diagrama de contexto.

Anlise de sistemas

117

Regras para construir DFDs (2)


Garantir a coerncia entre DFDs de nveis diferentes.
O DFD de nvel inferior deve ter o mesmo nmero de fluxos de entrada e de sada do processo de nvel superior.

Garantir a coerncia interna de um DFD.


Evitar processos s com fluxos de entrada (buracos negros). Evitar processos s com sadas (exemplo plausvel: gerador de nmeros aleatrios). Cuidado com depsitos de dados s com leituras, ou s com escritas. Cuidado com fluxos e processos sem nome.

Anlise de sistemas

118

Nivelao dos DFDs: sumrio (1)


Regras gerais: 1. Quantos nveis deve ter um DFD?
Tomar em conta a regra de Miller.

2 necessrio que cada parte do sistema tenha o mesmo nmero de nveis?


NO, nem todas as partes do sistema tm a mesma complexidade.

3. Como garantir coerncia entre nveis?


Qualquer fluxo de dados de entrada ou sada de um processo deve constar no DFD que detalha este processo.

4. Como mostrar os depstitos de dados nos diferentes nveis?


Um depsito de dados aparece num nvel quando partilhado por dois ou mais processos nesse nvel, ou quando local a um processo que no vai ser mais detalhado (processo primitivo). Os depsitos de dados locais utilizados num DFD de nvel inferior mostram-se apenas nesse DFD. Anlise de sistemas 119

Nivelao dos DFDs: sumrio (2)


5. Como construir os DFDs de vrios nveis?
Abordagem top-down; Abordagem bottom-up; Abordagem mista (proposta por Yourdon).

A abordagem mista a mais aconselhvel.


Primeiro temos uma viso geral do problema (dada pelo DFD preliminar). S depois nos preocupamos em agrupar (bottom-up) e detalhar (top-down) os processos do sistema.

A abordagem mista ajuda-nos a fazer uma melhor diviso do sistema em subsistemas, evitando que sejamos influenciados pela diviso do sistema fsico.

Anlise de sistemas

120

Limites de um DFD
Os DFDs mostram: fronteiras com o mundo exterior processos (funes/procedimentos) modo de comunicao base de informao (simples) Mas no mostram: estruturas de dados necessidades de acesso decises, ciclos clculos volumes
Anlise de sistemas 121

Dicionrio de dados
O dicionrio de dados uma ferramenta que permite descrever, com algum rigor, os elementos de dados do sistema. O dicionrio de dados uma ferrramenta textual de apoio anlise. Por agora vamos us-lo para definir: o contedo dos depsitos de dados e fluxos de dados. o significado dos depsitos de dados e fluxos de dados.

Anlise de sistemas

122