Вы находитесь на странице: 1из 26

Métodos de Construção de Software: Análise Estruturada

de C on st ru ção de Software: Análise Es t ruturada Graduação em Informática (2009)

Graduação em Informática (2009)

Profª Itana Gimenes itana@din.uem.br

Profª Thelma Elita Colanzi Lopes thelma@din.uem.br

Análise Estruturada
Análise Estruturada

Paradigma estruturado

Sistemas são vistos como processos que transformam dados

Objetivos do modelo de análise:

Descrever o que o usuário requer Criar as bases para o projeto do software Definir um conjunto de requisitos que pode ser validado quando o sistema estiver construído

Análise Estruturada
Análise Estruturada

Princípios

Modelagem dos dados Modelagem dos processos que transformam os dados Particionamento do sistema Representação gráfica

Análise Estruturada
Análise Estruturada

Métodos

Tom DeMarco introduziu as idéias iniciais Page_Jones Gane e Sarson Introdução de conceitos de sistemas de controle e tempo real

Ward e Mellor Hatley e Pirbhai

Diagramas Descrição dos Dados
Diagramas
Descrição
dos Dados
Diagrama de Entidade Relacionamento (DER) Diagrama de Fluxo de Dados (DFD) Dicionário de Dados Diagrama
Diagrama de
Entidade
Relacionamento
(DER)
Diagrama de
Fluxo de
Dados
(DFD)
Dicionário de
Dados
Diagrama de
Transição de
Estados
(DTS)
Especificações

de Controle

Especificação dos Processos

Modelagem de Dados
Modelagem de Dados

A modelagem de dados responde as seguintes questões:

Quais são os dados primários a serem processados? Qual a composição dos dados? Quais os atributos que descrevem os dados? Quais os relacionamentos entre os dados? Aonde os dados residem atualmente? Qual a relação entre os dados e os processos que o transformam?

Modelagem de Dados
Modelagem de Dados

Modelo de Dados

Objetos de dado – representação de informações compostas (ex. Largura e Dimensão) que devem ser entendidas pelo software.

Ex. carro, pessoa, conta-corrente. Um objeto de dado contém apenas dados e não referências às operações que os manipulam.

Atributos – definem as propriedades do objeto de dado. Pode ser nomes, descrição ou referência. Relacionamentos – os objetos de dados são conectados uns aos outros para representar a relação entre os objetos que permitem que o software armazene e responda as questões importantes para um sistema. Ex. Quantos empregados têm mais que 40 anos na Empresa X?

Modelagem de Dados: exemplo
Modelagem de Dados: exemplo
Modelagem de Dados: exemplo Vários Possui Nome Endereço Idade Número da Carteira de Motorista CPF Marca
Vários
Vários
Modelagem de Dados: exemplo Vários Possui Nome Endereço Idade Número da Carteira de Motorista CPF Marca

Possui

Nome Endereço Idade Número da Carteira de Motorista CPF

Marca
Marca

Modelo

Placa

Cor

Modelagem de Dados
Modelagem de Dados

Relacionamentos

CARDINALIDADECARDINALIDADE: é a especificação do número de ocorrências de um objeto que pode ser relacionado com o número de ocorrências de outro objeto; um-para-um (1:1) => ”um marido pode ter somente uma esposa e vice-versa”; um-para-muitos (1:N) => ”uma mãe pode ter muitos filhos, mas um filho tem apenas uma mãe”; muitos-para-muitos (M:N) => ”um tio pode ter vários sobrinhos, enquanto que um sobrinho pode ter vários tios”.

Modelagem de Dados
Modelagem de Dados

RelacionamentosRelacionamentos

MODALIDADEMODALIDADE: indica se um objeto precisa ou não participar em um relacionamento; modalidade de um relacionamento = 0 (não é necessária a ocorrência do relacionamento, ele é opcional); modalidade de um relacionamento = 1 (uma ocorrência do relacionamento é obrigatória);

Modelagem de Dados
Modelagem de Dados

Diagrama E-R (relacionamento entre carro e fabricante)

Fabricante

 

Carro

ID

1

constrói

1

n

ID

Nome

 

Modelo

Endereço

Motor

Cor

Modelagem de Dados: exemplo de DER
Modelagem de Dados: exemplo de DER

1

n

Concessionária

constrói

0

licencia

n

armazena

1

1

1

n

Fabricante

n 1

Carro

1

1

n

transporta

0

n

contrata

n 0

Transporta-

dora

Modelagem de Dados: exemplo de DER - Hierarquias

Modelagem de Dados: exemplo de DER - Hierarquias Carro Europeu Nacional Asiático Francês/ Alemão Sueco Alemão

Carro

Modelagem de Dados: exemplo de DER - Hierarquias Carro Europeu Nacional Asiático Francês/ Alemão Sueco Alemão
Europeu Nacional Asiático Francês/ Alemão Sueco Alemão Japonês Coreano Inglês
Europeu
Nacional
Asiático
Francês/
Alemão
Sueco
Alemão
Japonês
Coreano
Inglês

Modelagem de Dados: exemplo de DER - Associações

Modelagem de Dados: exemplo de DER - Associações eletrônica motor chassis interior direção Carro Objetos de
eletrônica motor chassis interior direção
eletrônica
motor
chassis
interior
direção
eletrônica motor chassis interior direção Carro Objetos de dados que modelam subsistemas individuais

Carro

Objetos de dados que modelam subsistemas individuais associados ao objeto Carro

Exercício Biblioteca: modelo de dados Um sistema de biblioteca possui usuários que podem ser alunos

Exercício Biblioteca: modelo de dados

Um sistema de biblioteca possui usuários que podem ser alunos ou professores. Os usuários podem emprestar livros ou periódicos.

Modelagem de Processos
Modelagem de Processos

Diagramas de Fluxo de Dados (DFD)

Entidades externas: produtor ou consumidor de informações que reside fora do sistema modelado. Processos: transformadores de informações (funções) que residem dentro do sistema. Objetos de dados: dados que fluem no sistema Repositório de dados: contém dados armazenados.

Modelagem de Processos: DFD
Modelagem de Processos: DFD

Entidades Externas

informação de

Entidades Externas

Entidades Externas

Entidades Externas
Entidades Externas
Entidades Externas
Entidades Externas

entrada

saída saída Sistema Computacional
saída
saída
Sistema
Computacional
Externas entrada saída saída Sistema Computacional informação de saída informação de informação de

informação de

saída

informação de

informação de

Entidades Externas

Entidades Externas
Entidades Externas

Entidades Externas

Entidades Externas
Entidades Externas
Entidades Externas

informação de

Entidades Externas

entrada

- sinais de sensores

- dígitos/caracteres digitados por pessoas

- pacotes de informações transmitidas em uma rede

- arquivos de dados

- display de um medidor

- relatório

- contra-cheques

- saldos bancários

Exemplo DFD Sensor 1 Sensor 2
Exemplo
DFD
Sensor 1
Sensor 2
Processo do Processo do Sensor 1 Sensor 2 Processo de Comparação Processo da Processo da
Processo do
Processo do
Sensor 1
Sensor 2
Processo de
Comparação
Processo da
Processo da
Válvula 1
Válvula 2
Válvula 1
Válvula 2
Exemplo DFD
Exemplo DFD

Pedidos

Transformação das informações
Transformação
das informações

dados de cliente

Processar

Pedido de

Livros

dados de cliente Processar Pedido de Livros Clientes Cliente Faturas com pedidos Depositando
dados de cliente Processar Pedido de Livros Clientes Cliente Faturas com pedidos Depositando
dados de cliente Processar Pedido de Livros Clientes Cliente Faturas com pedidos Depositando

Clientes

Cliente

Faturas com pedidos

Depositando informações Dados do pedido
Depositando
informações
Dados do pedido
Dados dos livros Consultando informações Livros
Dados dos livros
Consultando
informações
Livros

Pedidos

Exemplo DFD do livro do Yourdon:

distribuidora de livros
distribuidora de livros

Pedidos

Depósito detalhes de remessas livros 2. Remeter Livros Clientes nome do cliente, endereço do cliente
Depósito
detalhes de remessas
livros
2. Remeter
Livros
Clientes
nome do cliente,
endereço do cliente
livros
faturas, declarações
endereço do cliente livros faturas, declarações pagamentos Cliente Cliente pedidos inválidos pedidos
pagamentos Cliente
pagamentos Cliente
pagamentos Cliente

pagamentos

pagamentos Cliente

Cliente

pagamentos Cliente
pagamentos Cliente
Cliente pedidos inválidos pedidos 1. Receber Pedidos informações de cobrança
Cliente
pedidos inválidos
pedidos
1. Receber
Pedidos
informações
de cobrança

Faturas

1. Receber Pedidos informações de cobrança Faturas Nome do cliente, detalhes de faturas d e t

Nome do cliente,

detalhes de faturas

de cobrança Faturas Nome do cliente, detalhes de faturas d e t a l h e

detalhes dos

pedidos

nome do cliente, endereço do cliente

s d o s pedidos nome do cliente, endereço do cliente nome do cliente, endereço do

nome do cliente, endereço do cliente

3. Coletar Pagamentos
3. Coletar
Pagamentos
Exercício biblioteca: DFD
Exercício biblioteca: DFD

Faça o DFD do sistema de biblioteca

Modelagem de Comportamento
Modelagem de Comportamento

Diagramas de Transição de Estados (DTE)

Representa o comportamento do sistema mostrando os estados e os eventos que fazem o sistema mudar de estado. O DTE indica que ações que são iniciadas como conseqüência de eventos. Um estado é qualquer modo de comportamento observável. Ex. Ligado ou Desligado.

Exemplo:DTE ociosa
Exemplo:DTE
ociosa
cheio e início Lendo Comandos cópias feitas cheia faça: ler comandos Recarregando papel Fazendo Cópias
cheio e início
Lendo Comandos
cópias feitas
cheia
faça: ler
comandos
Recarregando papel
Fazendo Cópias
vazia
Faça: recarregar papel
faça: gerenciar cópias
congestionada
Diagnosticando Problemas
não congestionada
Faça: fazer diagnóstico

Exemplo DTE: controle de pedidos da distribuidora de livros

Exemplo DTE: controle de pedidos da distribuidora de livros Pedido validado faça: status_pedido validação=ok :=
Pedido validado faça: status_pedido validação=ok := pendente Pedido entregue faça: status_pedido:=pendente,
Pedido validado
faça:
status_pedido
validação=ok
:= pendente
Pedido entregue
faça:
status_pedido:=pendente,
emitir fatura
Pedido
submetido
faça: exibir
“Refazer
pedido”

remessa entregue

validação pendente

Pagamento Pedido pago faça: status_pedido := pago
Pagamento
Pedido pago
faça:
status_pedido
:= pago
“Refazer pedido” remessa entregue validação pendente Pagamento Pedido pago faça: status_pedido := pago 24
Exercício biblioteca: diagrama de estados
Exercício biblioteca: diagrama de estados

Faça um diagrama de estados para ilustrar o comportamento de uma parte do sistema de biblioteca

Conclusões
Conclusões

Análise estruturada ainda é utilizada mas tem perdido espaço principalmente para orientação a objetos.