Você está na página 1de 44

Engenharia de Software

Anlise Essencial

Evoluo dos mtodos de anlise de sistemas


Mtodos Anlise Tradicional Anlise Estruturada Abordagens Funcional Funcional Dados Ferramentas
Textos fluxuogramas Diagrama de Fluxo de Dados (DFD) Diagrama de Estrutura de Dados Miniespecificaes Normalizao Dicionrio de Dados Tabela de Eventos DFD, Diagrama Entidade-Relacionamento (DER) Diagrama de Estrutura de Dados Diagrama de Transio de Estados (DTE) Normalizao Miniespecificaes Dicionrio de Dados
2

Anlise Essencial

Funcional Dados Controle

ANLISE ESSENCIAL
Anlise Essencial: recomenda que a especificao do sistema seja apresentada em trs perspectivas que se complementam: modelo de processos ou funcional, modelo de dados e modelo de controle. Modelo funcional: mostra a perspectiva dos processos de transformao dos dados. Modelo de dados: mostra a perspectiva que representa os dados que precisam ser armazenados para atender a todas as necessidades de informaes do sistema; Modelo de controle: representa a perspectiva dos controles. Tem um papel relevante no caso de sistemas em tempo real.
3

ANLISE ESSENCIAL
COMO ESPECIFICAR O SISTEMA? A Anlise Essencial considera dois nveis: o nvel essencial e o de implementao. Cada um desses representado por um modelo. Modelo Essencial:
apresenta o sistema num nvel de abstrao completamente independente de restries tecnolgicas; necessrio conhecer a verdadeira essncia do sistema;

Modelo de Implementao:
apresenta o sistema num nvel de abstrao completamente dependente de restries tecnolgicas; derivado do modelo essencial; diz respeito implementao do sistema.

ANLISE ESSENCIAL - MODELO ESSENCIAL


Premissa bsica: descrever o sistema de maneira independente de
restries tecnolgicas; encontrar o conjunto de requisitos verdadeiros de um sistema requisistos essenciais (a essncia do sistema) => deve-se considerar a existncia da tecnologia perfeita;

Tecnologia Perfeita (McMenamim & Palmer): deve ser entendida


como uma abstrao em que se supe uma tecnologia ideal, sem limitaes, onde:
os custos, consumo e desgaste dos equipamentos so zero; a capacidade de armazenamento de dados do sistema infinita; a velocidade dos processadores infinita; o tempo de acesso aos dados instantneo; zero erros (no ocorrem falhas).

Principais componentes da Essncia do Sistema


Estmulo Resposta Memria Atividade Custodial Atividade Fundamental Resposta Estmulo

Atividade Fundamental (essencial): executa uma tarefa que parte


da finalidade declarada do sistema. ex: emisso de contra-cheque
nome + endereo salrios dedues Pagar trabalhadores horistas horas_trabalhadas contra-cheque

Principais componentes da Essncia do Sistema


Estmulo Resposta Memria Atividade Custodial Atividade Fundamental Resposta Estmulo

Memria Essencial: consiste em dados produzidos pelo sistema ou


capturados do mundo exterior, que so utilizados pelas atividades fundamentais do sistema.
ex: emisso de contra-cheque necessrio a identidade do empregado, o seu salrio, faixa de desconto do imposto, tempo que trabalhou, etc.

Principais componentes da Essncia do Sistema


Estmulo Resposta Memria Atividade Custodial Atividade Fundamental Resposta Estmulo

Atividade Custodial: estabelece e mantm a memria essencial do


sistema pela obteno e armazenamento das informaes necessrias s atividades fundamentais.
ex: sistema folha de pagto Manter salrios Manter empregados Manter dedues
8

Principais componentes da Essncia do Sistema (cont.)


EVENTO Estmulo Sistema Resposta

ESTMULO: um ativador de uma funo. a chegada do estmulo


que indica que um evento ocorreu, e isto faz com que o sistema ative uma funo pr-determinada para produzir a resposta esperada.

EVENTO: um acontecimento do mundo exterior que requer do sistema


uma resposta.

RESPOSTA: o resultado gerado pelo sistema devido ocorrncia de


um evento o resultado da execuo de alguma funo. a resposta ao estmulo pode ser interna ou externa.
9

MODELO ESSENCIAL Modelo Ambiental

MODELO AMBIENTAL
definido do ponto de vista externo; So definidos:
a interface do sistema com o mundo exterior; quais suas entradas e de onde elas vm; quais so suas sadas e para onde vo; quais as finalidades que o sistema deve atender; a quais estmulos ele deve reagir.

Componentes do modelo ambiental:


Lista dos eventos que afetam o sistema Diagrama de Contexto do Sistema Declarao dos objetivos do sistema

11

Lista de Eventos
Identificar a quais eventos do mundo exterior o sistema deve responder => ajuda a delimitar as fronteiras do problema que est sendo tratado. finalidades do sistema: atender a determinadas necessidades que so decorrentes de eventos que acontecem no mundo exterior ao sistema => a construo da lista de eventos est relacionada s finalidades do sistema; Observao:
No confundir evento com o estmulo por ele provocado => o evento representado por uma frase que expressa um acontecimento;
12

Classificao de Eventos
Os eventos podem ser classificados pelo tipo de estmulo que eles provocam no sistema: a) Evento orientado por fluxo de dados (f.d.): aquele em que o estmulo a chegada ao sistema de um fluxo de dados enviado por uma entidade externa, que vai ativar uma funo.
Nem todo fluxo de dados que chega ao sistema serve de estmulo relativo a um evento => pode ser apenas uma informao complementar para a execuo de alguma funo; O sistema pode ou no produzir resposta externa a um evento orientado por fluxo de dados;

13

Classificao de Eventos
b) Evento orientado por controle (f.c.): aquele em que o estmulo a chegada ao sistema de um fluxo de controle.
fluxo de controle: pode ser considerado como sendo um fluxo de dados binrio, s tem dois valores: ligado ou desligado. podem haver fluxos de dados complementares associados ao evento orientado por controle; o sistema pode ou no produzir resposta externa a um evento orientado por controle; o fluxo de controle pode ser enviado por uma entidade externa ou gerado por uma funo interna ao sistema;

14

Classificao de Eventos

c) Evento orientado por tempo (f.t): aquele em que o estmulo a chegada ao sistema da informao de haver passado um determinado intervalo de tempo ou de ser atingida determinada hora.
podem haver fluxos de dados complementares associados ao evento temporal; o sistema pode ou no produzir resposta externa a um evento orientado temporal;

15

Diagrama de Contexto do Sistema


Representa o sistema por um nico processo e suas interligaes com as entidades externas, mostrando apenas as interfaces do sistema com o ambiente em que ele est inserido; Entidade Externa 1 Sistema
Fluxos de sada

Entidade Externa 1
Fluxos de entrada

Entidade Externa 2

Entidade Externa 2 Entidade Externa 3


16

Declarao dos objetivos do sistema

Deve ser elaborada em poucas frases, simples e precisas, em linguagem destituda do jargo tcnico, de modo a ser entendida pelos usurios do sistema e pela administrao da empresa, em geral. no deve fornecer detalhes sobre como o sistema dever operar, e sim, concentrar no o qu o sistema dever fazer;

17

Estudo de Caso

Sistema Hotel

Documento de Requisitos (parcial)


1. O sistema deve permitir a incluso, alterao e remoo de hspedes do hotel, contendo os seguintes atributos: nome, endereo, cidade onde mora, estado, pas, telefone, email, documento de identificao (RG ou CPF para brasileiros e passaporte para estrangeiros), data de nascimento e nome dos pais. 7. O sistema deve permitir a reserva de acomodao. Cada reserva possui os seguintes atributos: data e hora de chegada do hspede, data e hora de sada do hspede, identificao do hspede principal (previamente cadastrado), tipo de acomodao desejada, nomes e idades dos acompanhantes, valor da diria, taxa de multa a ser cobrada em caso de desistncia de ltima hora (a menos de 12 horas do incio previsto de entrada), os dados do carto de crdito do hspede e desconto concedido (opcional). A reserva somente deve ser concretizada se houver vagas suficientes para atend-la. Caso contrrio dever ser mostrada uma mensagem alertando que no h disponibilidade de acomodaes para o perodo indicado. A remoo de reserva somente permitida sem maiores encargos at 12 horas antes do incio previsto para estadia no hotel. Aps esse perodo, a remoo da reserva deve alertar o funcionrio do hotel de que deve ser cobrada a taxa de multa estabelecida durante a reserva.

19

Modelo Ambiental Lista de Eventos

Nr 1

Evento Cliente registrase no hotel Cliente reserva acomodao Cliente cancela reserva

Tipo (f.d.)

Estimulo dados_cliente

Aes Registrar hospedagem de Cliente Reservar Acomodao Cancelar Reserva

Respostas Externas cliente_rejeitado ou cliente_registrado quarto_reservado ou quarto_indisponvel

2 3

(f.d.) (f.d)

pedido_reserva pedido_cancelamento_reserva

20

Modelo Ambiental - Diagrama de Contexto

pedido_reserva

Cliente

pedido_cancelamento _reserva dados_cliente

Cliente Sistema de Hotelaria


cliente_rejeitado / cliente_registrado

quarto_reservado / quarto_indisponvel

21

MODELO ESSENCIAL Modelo Comportamental

MODELO COMPORTAMENTAL
definido do ponto de vista interno; descreve de que maneira o sistema reage, internamente, aos estmulos vindos do exterior; mostra quais as aes que o sistema deve executar para responder, adequadamente, aos eventos previstos no modelo ambiental; Componentes do modelo comportamental:
Um conjunto completo de Diagramas de Fluxo de Dados (DFDs) em nveis Dicionrio de Dados, incluindo um conjunto de especificaes de processos primitivos Diagrama Entidade-Relacionamento (DER)

23

Diagrama de Fluxo de Dados

Diagrama de Bolhas - representa o modelo funcional ou modelo de processo de um sistema. Ferramenta grfica que produz uma indicao de como os dados so transformados e como se movimentam atravs do sistema, ou seja, descreve o fluxo de informao e as transformaes que so aplicadas medida que os dados se movimentam da entrada para a sada.

24

Componentes do DFD
Entidade Externa ou Terminal: um produtor ou um consumidor de informaes que reside fora dos limites do sistema a ser modelado.
refere-se fonte ou destino dos fluxos de dados que chegam e saem do sistema; representada por substantivos no singular. Exemplos: Cliente, Sistema de Crdito, Fornecedor, Diretoria, Aluno, Professor;

Notao:

podem ser representadas mais de uma vez para evitar o cruzamento de linhas de fluxos de dados;

Aluno Professor

Professor Aluno Diretoria


25

Componentes do DFD
Depsito de Dados: repositrio de dados.
representado por substantivos no plural. Exemplos: Produtos, Clientes, Contas_a_receber, Fornecedores; o nome do depsito de dados deve sugerir o seu contedo da forma mais sucinta possvel;

Notao:

podem ser representados mais de uma vez para evitar o cruzamento de linhas de fluxos de dados; empregados empregados produtos clientes empregados clientes
26

Componentes do DFD
Fluxo de Dados: um item de dado ou coleo de itens de dados.
a seta indica a direo do fluxo de dados; representado por substantivos; Exemplos: relatrio_de_vendas, pedido_do_cliente; cada fluxo de dados ser indicado por um nome, que dever sugerir o teor da informao em deslocamento;

ilcita a existncia de fluxos de dados entre:


duas entidades externas; dois depsitos de dados; uma entidade externa e um depsito de dados.

Notao:
27

Componentes do DFD
Processo ou bolha ou funo: um transformador de informao que reside dentro dos limites do sistema a ser modelado.
o nome da funo deve esclarecer o que ser feito, de forma objetiva: verbo + objeto; identificador de processo: n (n=1, 2, 3,...); identificador de processos filhos: n.m (m=1, 2, 3,...); o identificador de processo no mostra ordem de execuo;

Notao: 1

P1

< responsvel >

Evitar: verbos muito fsicos, genricos e tcnicos, como: imprimir, gravar, digitar; processar, avaliar, analisar; deletar, computar.

28

Diretrizes para a Elaborao do DFD (Yourdon)


1) Escolher nomes significativos para os processos, fluxos de dados, depsitos de dados e entidades externas
rotular o processo identificando o papel e no a pessoa; utilizar um verbo que represente a ao e um objeto; os nomes escolhidos devem provir de um vocabulrio conhecido pelo usurio; o analista deve ter conhecimento mnimo sobre o domnio;

2) Numerar processos
um modo prtico de referenciar os processos de um DFD numer-los; isso no corresponde uma seqncia de execuo; a numerao dos processos auxilia na identificao de processos de nveis inferiores;

29

Diretrizes para a Elaborao do DFD (Yourdon)


3) Evitar DFDs complexos demais
o propsito do DFD modelar corretamente as funes que o sistema deve executar e as interaes entre elas; modelar o DFD em uma srie de nveis => DFDs de nvel inferior oferecem detalhes dos processos de nvel imediatamente superior (cada nvel deve ter at 6 funes; para outros autores de 5 a 9 funes); o refinamento de DFDs ocorre at que sejam alcanadas as funes primitivas;

30

Modelo Comportamental DFD


dados_reserva pedido_reserva

Cliente

* 1. Reservar acomodao
q_reservado

reservas

pedido_cancelamento_ reserva

2. Cancelar reserva

acomodaes
quarto_disponvel reserva_cancelada quartos_disponveis

3. Cancelar no comparecimento

reservas_canceladas

31

DFD complexo
32

A V f1 W f3 X Y f2 Y X

B f6 Z1 f5 Z3 Z2 f7 B

f4

f41 X1 f42

f43 f44

X2 Y2

f45 Z

Y1

Refinamentos de DFD
33

Diretrizes para a Elaborao do DFD (Yourdon)


4) Refazer os DFDs tantas vezes quantas forem necessrias at se obter uma boa esttica, um DFD tecnicamente correto e aceitvel pelo cliente; 5) Certificar-se de que o DFD seja logicamente consistente
Evitar poos sem fundos (buracos negros) => processos que tm entradas mas no tm sadas; Evitar processos com gerao espontnea => processos que tm sadas mas no tm entradas;

a Funo z b

a Funo z d b

d
34

Diretrizes para a Elaborao do DFD (Yourdon)


5) Certificar-se de que o DFD seja logicamente consistente (cont.)
Cuidado com fluxos e processos sem nome; Cuidado com depsitos de apenas leitura ou apenas escrita => um depsito tpico deve ter entradas e sadas; A continuidade do fluxo de informao deve ser mantida, ou seja, a entrada e a sada em cada refinamento devem permanecer a mesma; conveniente que, em cada nvel de abstrao, as funes estejam em um grau de detalhamento prximo;

35

DICIONRIO DE DADOS

Repositrio de informaes sobre os componentes do modelo de sistemas: fluxos de dados, depsitos de dados e processos; Define:
O significado (apresentado por comentrios) dos fluxos e depsitos do DFD; A composio de pacotes de dados que se movimentam pelos fluxos; A composio dos pacotes de dados nos depsitos; Os valores e unidades relevantes de partes elementares dos fluxos e depsitos de dados;

36

Notao (Yourdon)
Smbolo Significado = + () {} [] | ** @ composto de e opcional iterao escolha de opes alternativas separa opes alternativas na construo [ ] comentrio identificador (campo chave) de um depsito
37

Exemplos
Opcional
endereo_cliente=(endereo_de_remessa) + (endereo_de_cobrana)
poderia ser somente o de remessas, somente o de cobrana, os dois, ou nenhum dos dois;

endereo_cliente = endereo_de_remessa + (endereo_de_cobrana)


endereo de remessa obrigatrio; endereo de cobrana opcional;

Escolha de Alternativas
sexo = [M | F] tipo_de_cliente = [Governo | Indstria | Universidade | Outro]

38

Exemplos
Iterao
pedido = nome_do_cliente + endereo_de_remessa + {item} zero ou mais ocorrncias de um item pode-se desejar especificar os limites superior e inferior da iterao;
exemplo: um pedido sem itens no faz sentido.

pedido = nome_do_cliente + endereo_de_remessa + 1 {item} 10 limite inferior superior

39

Modelo Comportamental DFD

dados_reserva

Cliente

pedido_reserva

1. Reservar acomodao
acomodao_reservada

reservas

pedido_cancelamento_ reserva

2. Cancelar reserva

acomodaes
acomodao_disponvel reserva_cancelada

40

Dicionrio de Dados (Fluxos de Dados)

pedido_reserva = nome + telefone + periodo dados_reserva = nome + tipo+ telefone + situao_reserva acomodao_indisponvel = * mensagem quando no h acomodao
disponvel *

acomodao_reservada = * mensagem quando foi efetivada a reserva de acomodao em determinado(s) perodo(s)*

41

Dicionrio de Dados (Depsitos de Dados)

Reservas = nome + telefone+ tipo + perodo + situao_reserva

42

Dicionrio de Dados (Estruturas e Elementos de Dados)


nome = ** telefone = ** tipo = * tipo de acomodao* perodo = incio_hosp + fim_hosp situao_reserva = [efetivada | cancelada | reservada | quitada] incio_hosp = * data do incio da reserva* fim_hosp = * data do fim da reserva*

43

Dicionrio de Dados - Processos

2 - Cancelar Reserva incio Obter pedido_cancelamento_reserva Procurar a(s) reserva(s) a ser(em) cancelada(s) no depsito reservas Atribuir cancelada situao_reserva e Gravar reserva_cancelada no depsito reservas Procurar acomodao correspondente ao cancelamento no depsito acomodaes e Atribuir disponvel situao_acomodao e Gravar acomodao_disponvel no depsito acomodaes fim

44

Você também pode gostar