Análise Estruturada. Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Documentos relacionados
Projeto Banco de Dados

Análise Clássica (Tradicional) X Análise Estruturada

Análise de Sistemas 2º Bimestre (material 2)

Teoria Geral dos Sistemas

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

ENGENHARIA DE SOFTWARE

MODELAGEM FUNCIONAL USANDO DIAGRAMA DE FLUXO DE DADOS. Professora: Fabíola Gonçalves.

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

GEE051 - Banco de Dados Projeto de BD Projeto Conceitual. Ilmério Reis da Silva UFU/FACOM /2

Bancos de Dados Aula #2 - Modelos Conceituais de Dados

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Modelagem de dados usando MER. Andre Noel

Introdução. Modelo de dados conceitual para o projeto de BD

Diagrama de Fluxo de Dados - DFD. Prof.ª: Érika A. Barrado

Modelo Entidade-Relacionamento

MODELAGEM DE DADOS PARTE 2

MER e DER Entidades Relacionamentos Atributos Ferramentas CASE Exemplos de DERs Exemplo de Minimundo. Banco de Dados. Aula 1.

Aula 01 Conceito de Banco de Dados e SGBD

Extração de Requisitos

Análise e Projeto Orientados a Objetos

Banco de Dados I Curso: Sistemas de Informação

01 - Quais as principais vantagens da utilização de um Sistema de Banco de Dados em relação aos sistemas tradicionais de gerenciamento de arquivos?

O MODELO ENTIDADE RELACIONAMENTO. Tiago Alves de Oliveira

Modelo Entidade-Relacionamento. Aécio Costa

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

MODELAGEM DE DADOS UNIDADE 2 Projeto de Banco de Dados. Luiz Leão

UERJ Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática

O que é modelo lógico. Tipos de modelo

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64

BCD29008 Banco de dados

BANCO DE DADOS E APLICAÇÕES EM NEGÓCIOS: Modelagem usando o Modelo Entidade Relacionamento. Evandro Eduardo Seron Ruiz, Ph.D.!

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Prof. Fabiano Taguchi

MC536. Modelo Entidade- Relacionamento

Modelagem de Dados Usando o Modelo Entidade-Relacionamento (ME-R)

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Banco de Dados. Aula 4 - Prof. Bruno Moreno 02/09/2011

Modelagem Conceitual e o Modelo Entidade-Relacionamento

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Sumário. Modelo Entidade-Associação. Modelo Entidade-Associação. Entidades. André Restivo. September 21, 2010

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

Computação Instrumental

Análise e Projeto de Sistemas

09/10/2013. Conteúdo dessa aula

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

Análise e Projeto de Sistemas

Projeto Integrador II. Princípios de Análise e Projeto de Sistemas com UML (livro de Eduardo Bezerra)

Com base nos slides vistos em sala de aula resolva os seguintes exercícios:

Modelo Relacional. Aula 02

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Prof. Rosemary Melo

BANCO DE DADOS. Engenharia da Computação Univasf. Modelo Entidade-Relacionamento. Aula 2. Conjuntos de Entidades - Representação Exemplo:

Modelo Entidade- Relacionamento

Análise e projeto de sistemas

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

Projeto de Banco de Dados

Banco de Dados Diagrama Entidade Relacionamento DER

Banco de Dados II. Prof. Fiorin

Normalização de dados

Projeto de Banco de Dados

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

Análise e Projeto de Sistemas I. Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp.

Modelo Entidade Relacionamento

Modelo Entidade- Relacionamento. Hugo Barros

Análise e Projeto de Sistemas I

PCS3413 Engenharia de Software e Banco de Dados

Banco de Dados Modelagem de Dados. Prof. Joel da Silva

Introdução às Bases de Dados

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli

Abordagem Entidade-Relacionamento. Edmilson Campos

UNIP Ciência da Computação AES Análise Essencial de Sistemas MER (Modelo Entidade Relacionamento)

Modelo Entidade- Relacionamento (MER) Adão de Melo Neto

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS MODELO ENTIDADE- RELACIONAMENTO

Modelo Relacional. Relacionamento. Processo de Projeto de. Programa. Modelo Entidade Relacionamento

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

MODELO ENTIDADE RELACIONAMENTO

PROJETO DE BANCO DE DADOS -PROJETO CONCEITUAL. Prof. Angelo Augusto Frozza, M.Sc.

Modelos. Banco de dados. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER.

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação UFJF

MODELAGEM DE DADOS PARTE 1

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Modelos de Sistemas Casos de Uso

Técnicas de Modelação de Dados

Lista de Exercícios AV1

Banco de Dados I Parte II a: Abordagem Entidade-Relacionamento

Unidade 4 Projeto de Banco de Dados

Material Disciplina Tópicos em Engenharia de Software Parte 1 (Introdução aos Conceitos Engenharia de Software) Prof. Wagner Santos C.

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Técnicas de Modelação de Dados

Modelagem semântica permite aproximar o modelo obtido do mundo real Exemplo de modelos:

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

Transcrição:

Análise Estruturada Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso com os modelos orientados a objetos Entretanto... Existe documentação em sistemas legados Conceitos da análise orientada a objetos evoluem a partir da análise estruturada 1

Ferramentas principais Diagrama de Fluxo de Dados (DFD) Dicionário de dados Linguagem estruturada Tabelas de Decisão Diagrama Entidade-Relacionamento (DER) Diagrama de Transição de Estados (DTE) Diagrama de Fluxo de Dados Modelo lógico do software Independente de hardware, software, estrutura de dados... Pode ser particionado em diversos níveis de abstração (Contexto; nnível 0, nível 1,...) 4 elementos básicos Entidade externa (origem/destino) Processo Depósito de dados Fluxo de dados 2

Entidade Externa Define a origem ou o destino dos dados Normalmente é uma pessoa ou grupo de pessoas, uma organização, ou parte dela, um hardware ou software Produz e recebe informação Processo Transforma dados Pode representar um software, vários softwares, um módulo,... Geralmente provoca mudança de estado, estrutura ou conteúdo A numeração não indica sequência de ações Geralmente são verbos na especificação De Marco e Yourdon Gane e Sarson 3

Depósito de dados Pode ser um arquivo, uma tabela, ou parte de um banco de dados Independente de unidade de armazenamento Pode receber o nome do fluxo de dados Normalmente está no plural De Marco e Yourdon Gane e Sarson Fluxo de Dados Insere e retira dados de processos, depósitos de dados e entidades externas Deve ter um nome único Deve ser descrito no dicionário de dados Não podem ser entre uma entidade externa e um depósito de dados 4

DFD - Elaboração A criação de um DFD envolve os seguintes processos: Escolha de nomes significativos para os seus elementos: processos, fluxos, depósitos e entidades externas Numerar os processos Criar o diagrama e ajustá-lo visando uma boa estética e comunicação adequada Evitar DFD muito complexos Caso necessário utilizar o particionamento em níveis Certificar que o DFD é consistente internamente e com os demais DFD relacionados 153 Criação de DFD s a partir de especificações Verbos geralmente originam processos Substantivos são entidades externas, dados ou depósitos de dados O refinamento deve seguir até o processo realizar uma única função 5

DFD de Contexto DFD de nível mais alto (DFD de nível 0) Apresenta a visão das principais funções do sistema Contém um processo, entidades externas e fluxos de dados Normalmente um processo é utilizado representando o sistema Níveis de DFD Seguem DFD's de nível 1, 2,... A quantidade de níveis depende da complexidade do software Quantos níveis são necessários? O suficiente :) Experiência dos desenvolvedores Numerações: 1 -> 1.1 -> 1.1.1 ->... 6

DFD Nível 0 Imediatamente abaixo do diagrama de contexto Representa a visão de mais alto nível das principais funções do sistema bem como as principais interfaces entre essas funções. Criado a partir do detalhamento do diagrama de contexto e apresenta um maior detalhamento do sistema. 157 Exemplo Nível 0 158 7

Exemplo Nível 1 159 Explosão de DFD s Uma vez identificadas as funções principais, pode-se explodir cada função para níveis mais detalhados A explosão é uma decomposição hierárquica 7+-2 processos por nível 8

Análise Estruturada 161 Dicionário de dados Descrição de dados do software Ajuda a melhorar a comunicação usuário/analista Usado na base de dados Significado de fluxos e depósitos de dados Composição de dados agregados (endereço, identificação,...) 9

Dicionário de Dados Esquema de Documentação = é composto de + Concatenação {}n repetição [ ] escolha de alternativas () opcional Ex.: nome = [Sr. Sra. Srta.] + família + nome Dicionário de Dados Exemplos N_telefone = ( indicativo_internacional + indicativo_país ) + ( indicativo_zona ) + Nº_assinante *Dados o telefone de um Cliente* indicativo_internacional = {dígito} indicativo_país = {dígito} indicativo_zona = {dígito} Nº_assinante = {dígito} Dígito = [ 0 1 2 3 4 5 6 7 8 9 ] 164 10

Dicionário de Dados Exemplos Ficha_leitor = *Dados pessoais do leitor fornecidos para a sua inscrição ou alteração de informação* (N_leitor) + Nome + Morada + BI + Telefone + Profissão Leitor = {Leitor_i} Leitor_i = *Informação mantida sobre cada leitor da biblioteca* @N_leitor + Nome + Morada + BI + Telefone + Profissão + Data_admissão Morada = *Morada do leitor* N_leitor = *Número de identificação de leitor da Biblioteca* {dígito} 165 Linguagem Estruturada Notação algorítmica para especificar o comportamento dos processos Sequência: fazer, calcular, ler, gravar,... Decisão: se então se então senão Repetição: repetir até enquanto faça 11

Diagrama Entidade-Relacionamento Modela os dados identificados, juntamente com seus atributos e relacionamentos Modelo possui Entidades Atributos associados à essas Entidades Relacionamento (entre Entidades) Foco da disciplina Banco de Dados Projeto Conceitual Modelo de Entidades e Relacionamentos (ER) Atributo Propriedade ou característica que descreve a entidade Relacionado com o domínio do problema Possui um conjunto de valores possíveis associados (Inteiro, Float, String) Exemplos: Name, SSN, Address, Sex, BirthDate 168 12

Tipos de Atributos Simples (Exemplo: Lname) Composto (Exemplo: Name) Multivalorado Conjunto fixo e pré-definido de valores Exemplo: Sex Derivado Não é armazenado, mas derivado de outro atributo Exemplo: Age Chave Descreve a entidade de maneira única em um conjunto Pode ser simples ou composto e deve ser mínimo Exemplo: Ssn 169 Atributos Chave Compostos Exemplo 170 13

Relacionamentos Relaciona duas ou mais entidades Exemplo: EMPREGADO João TRABALHA na EMPRESA Acme (instância de um relacionamento) Relacionamento de um mesmo tipo são agrupados Exemplo: EMPREGADO TRABALHA na EMPRESA (relacionamento generalizado) Grau do Relacionamento Indica do número de entidades participantes Exemplo acima: Relacionamento binário (duas entidades) 171 Grau do Relacionamento Relacionamento Ternário Exemplo 172 14

Papéis no relacionamento Cada entidade participante executa um papel no relacionamento Papel da entidade permite um melhor entendimento do relacionamento Nos relacionamentos recursivos o papel da entidade facilita o entendimento 173 Restrições em relacionamentos Razão de Cardinalidade Expressa o número de entidades que uma outra pode se associar através de um relacionamento Relações binárias há quatro possibilidades: 1:1; 1:N; N:1; N:M Restrições de Participação Indicam se uma entidade em um conjunto deve ser relacionada com outra entidade Restrição Total (Dependência de Existência) Entidade existe apenas se fizer parte de uma relação Todas entidades do conjunto precisam participar da relação Exemplo: Todo Empregado é associado a um departamento Restrição Parcial Apenas algumas entidades de um conjunto devem participar de uma relação Exemplo: Empregado Gerencia Departamento Dependências de existência são representadas por uma linha dupla do diagrama ER 174 15

Entidade Fraca Deve participar de um relacionamento com outra entidade Seu atributo chave depende do relacionamento Chave Contém atributos específicos da entidade Contém o identificador da outra entidade existente no relacionamento Exemplo A entidade DEPENDENTE é identificada com seu primeiro nome, data de nascimento e o id do EMPREGADO associado àquele dependente. Na relação DEPENDENTE_DE entre EMPREGADO e DEPENDENTE este é uma entidade fraca 175 Entidade Fraca Representação Diagrama 176 16

Exemplo 177 Exemplo de Especificação O gerente de um hotel deseja um sistema para gerenciar as reservas. Quando um cliente potencial, acessando através da web, deseja fazer uma reserva, o sistema verifica se existem quartos disponíveis no período, e em caso positivo, o sistema solicitará os dados do cliente (nome, email, endereço, telefone). Os quartos que estivem disponíveis deverão aparecer com cor verde, e os que estivem já reservados deverão aparecer em vermelho. O sistema também deve armazenar dados sobre a reserva, como a data prevista para entrada, a data prevista para saída, e o número de quartos. Cada quarto possui um preço e uma descrição. Os serviços de quarto e o frigobar estão associados a cada reserva, uma vez que a reserva pode ter mais de um quarto. As reservas são garantidas através do pagamento de uma diária por cartão de crédito. Caso o cliente não efetue este pagamento até três dias antes da data prevista de entrada, a reserva é cancelada pelo sistema. São gerados relatórios diários de reservas canceladas, com o objetivo de liberar quartos disponíveis, além de relatórios de reservas não pagas e o relatório sobre as reservas a serem efetivadas no dia. O gerente também deseja que o sistema imprima um relatório de reservas dado um determinado período. 17